瀏覽代碼

perf: 创建审批流程 处理 配置提取优化

lanceJiang 1 年之前
父節點
當前提交
91a368d97c
共有 2 個文件被更改,包括 78 次插入16 次删除
  1. 10 16
      src/components/scWorkflow/nodes/approver.vue
  2. 68 0
      src/components/scWorkflow/nodes/config.ts

+ 10 - 16
src/components/scWorkflow/nodes/approver.vue

@@ -26,18 +26,14 @@
 					<el-form label-position="top" class="aForm">
 						<el-form-item label="审批类型" style="margin-bottom: 8px">
 							<el-radio-group v-model="form.typeOfApprover">
-								<el-radio label="1">人工审批</el-radio>
-								<el-radio label="2">自动通过</el-radio>
-								<el-radio label="3">自动拒绝</el-radio>
+								<el-radio v-for="v of approveTypeOptions" :key="v.value" :label="v.value">{{ v.label }}</el-radio>
 							</el-radio-group>
 						</el-form-item>
 					</el-form>
 
 					<div v-show="form.typeOfApprover === '1'" class="self-radio-group">
 						<el-radio-group v-model="radio1">
-							<el-radio-button label="1">设置审批人</el-radio-button>
-							<el-radio-button label="2">表单权限</el-radio-button>
-							<el-radio-button label="3">操作权限</el-radio-button>
+							<el-radio-button v-for="v of approveType_1_options" :key="v.value" :label="v.value">{{ v.label }}</el-radio-button>
 						</el-radio-group>
 					</div>
 
@@ -53,12 +49,7 @@
 											</div>
 											<div class="main-content">
 												<el-radio-group v-model="form.setType" class="main-content-radio">
-													<el-radio :label="Number(1)">指定成员</el-radio>
-													<el-radio :label="Number(2)">主管</el-radio>
-													<el-radio :label="Number(3)">角色</el-radio>
-													<el-radio :label="Number(4)">发起人自选</el-radio>
-													<el-radio :label="Number(5)">发起人自己</el-radio>
-													<el-radio :label="Number(6)">连续多级主管</el-radio>
+													<el-radio v-for="v of setTypeOptions" :key="v.value" :label="v.value">{{ v.label }}</el-radio>
 												</el-radio-group>
 											</div>
 										</div>
@@ -88,8 +79,7 @@
 
 							<el-form-item v-if="form.setType === 4" label="发起人自选">
 								<el-radio-group v-model="form.selectMode">
-									<el-radio :label="1">自选一个人</el-radio>
-									<el-radio :label="2">自选多个人</el-radio>
+									<el-radio v-for="v of selectModeOptions" :key="v.value" :label="v.value">{{ v.label }}</el-radio>
 								</el-radio-group>
 							</el-form-item>
 
@@ -171,7 +161,7 @@ import addNode from './addNode'
 import { Plus } from '@element-plus/icons-vue'
 import { mapState } from 'pinia' //引入映射函数
 import useFlowStore from '@/store/modules/flow'
-
+import { approveTypeOptions, approveType_1_options, setTypeOptions, selectModeOptions } from './config'
 export default {
 	components: {
 		addNode
@@ -186,7 +176,11 @@ export default {
 			drawer: false,
 			isEditTitle: false,
 			form: {},
-			radio1: '1'
+			radio1: '1',
+			approveTypeOptions,
+			approveType_1_options,
+			setTypeOptions,
+			selectModeOptions
 		}
 	},
 	computed: {

+ 68 - 0
src/components/scWorkflow/nodes/config.ts

@@ -0,0 +1,68 @@
+// 审批类型
+export const approveTypeOptions = [
+	{
+		label: '人工审批',
+		value: '1'
+	},
+	{
+		label: '自动通过',
+		value: '2'
+	},
+	{
+		label: '自动拒绝',
+		value: '3'
+	}
+]
+
+export const approveType_1_options = [
+	{
+		label: '设置审批人',
+		value: '1'
+	},
+	{
+		label: '表单权限',
+		value: '2'
+	},
+	{
+		label: '操作权限',
+		value: '3'
+	}
+]
+// 设置审批人 配置
+export const setTypeOptions = [
+	{
+		label: '指定成员',
+		value: 1
+	},
+	{
+		label: '主管',
+		value: 2
+	},
+	{
+		label: '角色',
+		value: 3
+	},
+	{
+		label: '发起人自选',
+		value: 4
+	},
+	{
+		label: '发起人自己',
+		value: 5
+	},
+	{
+		label: '连续多级主管',
+		value: 6
+	}
+]
+// 发起人自选 (人工审批 & setType: 4)
+export const selectModeOptions = [
+	{
+		label: '自选一个人',
+		value: 1
+	},
+	{
+		label: '自选多个人',
+		value: 2
+	}
+]