From 324eed59a668758755219d5cd4e68463a9cc427d Mon Sep 17 00:00:00 2001
From: Admin <978517621@qq.com>
Date: 星期三, 14 九月 2022 15:22:36 +0800
Subject: [PATCH] Default Changelist
---
src/views/specialWorkSystem/workFlow/approveRule/components/approveItemDialog.vue | 123 ++++++++++++++++++++++++-----------------
1 files changed, 72 insertions(+), 51 deletions(-)
diff --git a/src/views/specialWorkSystem/workFlow/approveRule/components/approveItemDialog.vue b/src/views/specialWorkSystem/workFlow/approveRule/components/approveItemDialog.vue
index 33185c6..918f6af 100644
--- a/src/views/specialWorkSystem/workFlow/approveRule/components/approveItemDialog.vue
+++ b/src/views/specialWorkSystem/workFlow/approveRule/components/approveItemDialog.vue
@@ -1,5 +1,5 @@
<template>
- <el-dialog v-model="approveItemDialog" :title="title">
+ <el-dialog v-model="approveItemDialog" :title="title" :close-on-click-modal="false">
<el-form :model="approveItemForm" label-width="150px" ref="approveItemFormRef" :rules="approveItemFormRule">
<el-col :span="24" style="margin-bottom: 24px">
<el-form-item label="审批项名称" prop="itemName">
@@ -8,21 +8,28 @@
</el-col>
<el-col :span="24" style="margin-bottom: 24px">
<el-form-item label="审批项类型" prop="type">
- <el-select v-model="approveItemForm.type" placeholder="请选择审批项类型" class="input-add">
+ <el-select v-model="approveItemForm.type" @change="clearValue" placeholder="请选择审批项类型" class="input-add" clearable filterable>
<el-option v-for="item in typeList" :key="item.id" :value="item.id" :label="item.name"></el-option>
</el-select>
</el-form-item>
</el-col>
- <el-col :span="24" style="margin-bottom: 24px">
+ <!-- <el-col :span="24" style="margin-bottom: 24px">-->
+ <!-- <el-form-item label="措施或标准" prop="smType">-->
+ <!-- <el-select v-model="approveItemForm.smType" @change="clearValue" placeholder="请选择措施或标准" class="input-add" clearable filterable>-->
+ <!-- <el-option v-for="item in smTypeList" :key="item.id" :value="item.id" :label="item.name"></el-option>-->
+ <!-- </el-select>-->
+ <!-- </el-form-item>-->
+ <!-- </el-col>-->
+ <el-col v-if="(approveItemForm.type === 2 || approveItemForm.type === 3) && personType !== 3" :span="24" style="margin-bottom: 24px">
<el-form-item label="措施名称" prop="measureId">
- <el-select v-model="approveItemForm.measureId" placeholder="请选择措施" class="input-add">
+ <el-select v-model="approveItemForm.measureId" placeholder="请选择措施" class="input-add" clearable filterable>
<el-option v-for="item in actionList" :key="item.id" :value="item.id" :label="item.context"></el-option>
</el-select>
</el-form-item>
</el-col>
- <el-col :span="24" style="margin-bottom: 20px">
+ <el-col v-if="approveItemForm.type === 1" :span="24" style="margin-bottom: 20px">
<el-form-item label="标准名称" prop="standId">
- <el-select v-model="approveItemForm.standId" class="input-add" placeholder="选择标准">
+ <el-select v-model="approveItemForm.standId" class="input-add" placeholder="选择标准" clearable filterable>
<el-option v-for="item in standardList" :key="item.ruleStandId" :value="item.ruleStandId" :label="item.title"></el-option>
</el-select>
</el-form-item>
@@ -37,28 +44,27 @@
</template>
<script lang="ts">
-import { reactive, toRefs, ref, onMounted } from 'vue';
+import { reactive, toRefs, ref, nextTick } from 'vue';
import { ElMessage } from 'element-plus/es';
-import { userApi } from '/@/api/systemManage/user';
-import { safetyActionApi } from '/@/api/specialWorkSystem/safetyAction';
-import approveRule from '/@/views/specialWorkSystem/workFlow/approveRule/index.vue';
-import { approveBasicApi } from '/@/api/specialWorkSystem/approveBasic/index';
interface dataState {
title: string;
activeName: string;
approveItemDialog: boolean;
- approveItemForm: stepAddReqDTO;
+ approveItemForm: step;
approveItemFormRule: {};
actionList: Array<type>;
typeList: Array<type>;
+ smTypeList: Array<type>;
standardList: [];
- order: '';
+ order: number | null;
+ personType: number | null;
}
-interface stepAddReqDTO {
+interface step {
itemName: string | null;
type: null;
measureId: number | null;
standId: number | null;
+ smType: number | null;
}
interface type {
id: number;
@@ -76,29 +82,56 @@
itemName: null,
type: null,
measureId: null,
+ smType: 1,
standId: null
},
- approveItemFormRule: {},
+ approveItemFormRule: {
+ itemName: [{ required: true, message: '请填写审批项名称', trigger: 'blur' }],
+ type: [{ required: true, message: '请选择审批项类型', trigger: 'change' }],
+ measureId: [{ required: true, message: '请选择措施', trigger: 'change' }],
+ smType: [{ required: true, message: '请选择措施或标准', trigger: 'change' }],
+ standId: [{ required: true, message: '请选择标准', trigger: 'change' }]
+ },
actionList: [],
- typeList: [
- { id: 1, name: '数值' },
- { id: 2, name: '选项' },
- { id: 3, name: '填空' }
+ typeList: [],
+ smTypeList: [
+ { id: 1, name: '标准' },
+ { id: 2, name: '措施' }
],
standardList: [],
- order: null
+ order: null,
+ personType: null,
});
- const showApproveItemDialog = (type: string, value: {}, index: number) => {
+ const showApproveItemDialog = (type: string, value: {}, index: number, approveLevelForm: { type: number }, standardList: [], actionList: []) => {
data.approveItemDialog = true;
+ data.standardList = standardList;
+ data.actionList = actionList;
data.order = index;
+ if (approveLevelForm.type === 3) {
+ data.personType = 3
+ data.typeList = [
+ { id: 1, name: '数值' },
+ { id: 3, name: '填空' }
+ ];
+ } else {
+ data.personType = 2
+ data.typeList = [
+ { id: 2, name: '选项' },
+ { id: 3, name: '填空' }
+ ];
+ }
+ nextTick(() => {
+ approveItemFormRef.value.clearValidate();
+ });
if (type === '新增') {
data.title = '新增审批项';
data.approveItemForm = {
itemName: null,
type: null,
measureId: null,
- standId: null
+ standId: null,
+ smType: 1
};
} else {
data.title = '修改审批项';
@@ -107,43 +140,31 @@
};
const submitApproveItem = async () => {
- context.emit('addApprovalItem', data.approveItemForm, data.title, data.order);
- data.approveItemDialog = false;
+ approveItemFormRef.value.validate((valid: Boolean) => {
+ if (valid) {
+ data.approveItemForm.smType = 1;
+ context.emit('addApprovalItem', data.approveItemForm, data.title, data.order);
+ data.approveItemDialog = false;
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: '请完善审批项基本信息'
+ });
+ }
+ });
};
- //获取措施项
- const getActionData = async () => {
- let res = await safetyActionApi().getAllSafetyActionList({ workType: null, type: null, context: null });
- if (res.data.code === '200') {
- data.actionList = res.data.data;
+ const clearValue = () => {
+ if (data.approveItemForm.type === 1) {
+ data.approveItemForm.measureId = null;
} else {
- ElMessage({
- type: 'warning',
- message: res.data.msg
- });
+ data.approveItemForm.standId = null;
}
};
- //获取标准
- const getStandardData = async () => {
- let res = await approveBasicApi().getAllApproveBasicList({ ruleStandType: null, title: null });
- if (res.data.code === '200') {
- data.standardList = res.data.data;
- } else {
- ElMessage({
- type: 'warning',
- message: res.data.msg
- });
- }
- };
-
- // 页面加载时
- onMounted(() => {
- getActionData();
- getStandardData();
- });
return {
...toRefs(data),
+ clearValue,
approveItemFormRef,
submitApproveItem,
showApproveItemDialog
--
Gitblit v1.9.2