|
|
@@ -24,7 +24,7 @@
|
|
|
<a-select
|
|
|
v-model:value="formState.type"
|
|
|
placeholder="请选择业务类型"
|
|
|
- :disabled="getTitle === '查看流程配置'"
|
|
|
+ :disabled="optType !== 1"
|
|
|
@change="businessChange"
|
|
|
>
|
|
|
<template v-for="item in dicBusiness" :key="item.value">
|
|
|
@@ -131,12 +131,14 @@ export default defineComponent({
|
|
|
const formRef = ref();
|
|
|
let show1 = ref(true);
|
|
|
const isUpdate = ref(true);
|
|
|
+ const optType = ref(1); //操作类型 1:新增,2:修改 3:查看
|
|
|
const rowId = ref('');
|
|
|
+ const currVersion = ref(0); //当前版本
|
|
|
const postData = ref(null);
|
|
|
const formState = reactive({
|
|
|
type: '',
|
|
|
name: '',
|
|
|
- steps: ref([{ xh: 1, name: '', model: 'update', dept: [], user: [] }]),
|
|
|
+ steps: ref([{ xh: 1, name: '', model: 'update', dept: [], user: [],userList:[] }]),
|
|
|
});
|
|
|
|
|
|
const rules = {
|
|
|
@@ -149,8 +151,8 @@ export default defineComponent({
|
|
|
const addStepForm = ref(null);
|
|
|
const { createMessage } = useMessage();
|
|
|
|
|
|
- onMounted(async () => {
|
|
|
- //判断当前类型是否新增
|
|
|
+ onMounted(() => {
|
|
|
+
|
|
|
});
|
|
|
const [registerForm, { setFieldsValue, resetFields, validate }] = useForm({
|
|
|
labelWidth: 100,
|
|
|
@@ -165,16 +167,59 @@ export default defineComponent({
|
|
|
await resetFields();
|
|
|
setModalProps({ confirmLoading: false });
|
|
|
isUpdate.value = !!data?.isUpdate;
|
|
|
- if (unref(isUpdate)) {
|
|
|
- postData.value = data?.record ? data?.record : null;
|
|
|
- rowId.value = data.record.id;
|
|
|
- setFieldsValue(data.record);
|
|
|
+ postData.value = data?.record ? data.record : null;
|
|
|
+ //修改
|
|
|
+ if (isUpdate.value) {
|
|
|
+ optType.value = 2; //操作类型 1:新增,2:修改 3:查看
|
|
|
+ rowId.value = data.record.id;
|
|
|
+ //setFieldsValue(data.record);
|
|
|
+ setFormdata()
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ if(postData.value){ //查看
|
|
|
+ optType.value = 3;
|
|
|
+ //setFieldsValue(data.record);
|
|
|
+ setFormdata()
|
|
|
+ }
|
|
|
+ else{ //新增
|
|
|
+ optType.value = 1;
|
|
|
+ //初始化
|
|
|
+ clearFormData()
|
|
|
+ }
|
|
|
}
|
|
|
});
|
|
|
|
|
|
const getTitle = computed(() =>
|
|
|
!unref(isUpdate) ? (unref(postData) ? '查看流程配置' : '新增流程配置') : '编辑流程配置'
|
|
|
);
|
|
|
+ /**
|
|
|
+ * 根据查询的接口数据设置表单数据
|
|
|
+ */
|
|
|
+ const setFormdata = async () => {
|
|
|
+ if(postData.value){
|
|
|
+ const flowInfo = (postData.value as any).flowInfo
|
|
|
+ const flowNode = (postData.value as any).flowNode
|
|
|
+ const flowNodePerson = (postData.value as any).flowNodePerson
|
|
|
+ currVersion.value = parseInt(flowInfo?.VERSION ? flowInfo?.VERSION : 0) //获取当前本版
|
|
|
+ const dbs = dicBusiness.find(item=>item.label === flowInfo['FLOWNAME'])
|
|
|
+ formState.type = dbs? dbs.value : '0'
|
|
|
+ formState.name = flowInfo['FLOWNAME']
|
|
|
+ formState.steps = [{ xh: 1, name: flowInfo['FLOWNAME'], model: '1', dept: [], user: [],userList:[] }]
|
|
|
+ flowNode.map((item,index)=>{
|
|
|
+ const user = flowNodePerson.filter(fp=>item['ID']===fp['FLOWNODEID'])
|
|
|
+ formState.steps.push({
|
|
|
+ xh:index+2,
|
|
|
+ name:item['NODENAME'],
|
|
|
+ model: '1',
|
|
|
+ dept: item['DEPTS'].split(','),
|
|
|
+ user: user ? user.map(u=>{return u['USERID']}) : [],
|
|
|
+ userList:[]
|
|
|
+ })
|
|
|
+ })
|
|
|
+
|
|
|
+ currStep.value = formState.steps[0]
|
|
|
+ }
|
|
|
+ };
|
|
|
|
|
|
/**
|
|
|
* 提交数据
|
|
|
@@ -183,14 +228,14 @@ export default defineComponent({
|
|
|
setModalProps({ confirmLoading: true });
|
|
|
try {
|
|
|
//校验当前界面是否数据完整
|
|
|
- const flag = await addStepForm.value.validateForm();
|
|
|
+ const flag = await (addStepForm.value as any).validateForm();
|
|
|
if (!flag) {
|
|
|
return createMessage.warning('请填写必填数据');
|
|
|
}
|
|
|
formRef.value
|
|
|
.validate()
|
|
|
.then(() => {
|
|
|
- const forms = toRaw(formState);
|
|
|
+ const forms = toRaw(formState) as any;
|
|
|
if (forms.steps.value.length < 2) {
|
|
|
createMessage.warning('请维护至少两个步骤');
|
|
|
return;
|
|
|
@@ -238,6 +283,9 @@ export default defineComponent({
|
|
|
currStep.value = row;
|
|
|
};
|
|
|
|
|
|
+ /**
|
|
|
+ * 修改步骤
|
|
|
+ */
|
|
|
const updateStep = (row) => {
|
|
|
nextTick(() => {
|
|
|
const obj = formState.steps.find((item) => item.xh === row.xh);
|
|
|
@@ -266,7 +314,6 @@ export default defineComponent({
|
|
|
const businessChange = (value) => {
|
|
|
const obj = dicBusiness.find((item) => item.value === value);
|
|
|
if (obj) formState.steps[0].name = obj.label;
|
|
|
- //console.log('业务类型改变',value,obj)
|
|
|
currStep.value = formState.steps[0];
|
|
|
if (obj) formState.name = obj.label;
|
|
|
};
|
|
|
@@ -276,11 +323,7 @@ export default defineComponent({
|
|
|
*/
|
|
|
const addProcess = async (fdata) => {
|
|
|
const processInfo = formDataHandle(fdata) as any;
|
|
|
- console.log('提交数据', processInfo, JSON.stringify(processInfo));
|
|
|
- // const formData = new FormData();
|
|
|
- // formData.append("flowInfo",processInfo.flowInfo)
|
|
|
- // formData.append("flowNode",processInfo.flowNode);
|
|
|
- // formData.append("flowNodePerson",processInfo.flowNodePerson);
|
|
|
+ //console.log('提交数据', processInfo);
|
|
|
const res = (await addFlowInfoAll(processInfo)) as any;
|
|
|
if (res && res.resp_code === 0) {
|
|
|
closeModal();
|
|
|
@@ -298,14 +341,9 @@ export default defineComponent({
|
|
|
*/
|
|
|
const clearFormData = () => {
|
|
|
resetForm()
|
|
|
- // formState = {
|
|
|
- // type: '',
|
|
|
- // name: '',
|
|
|
- // steps: [{ xh: 1, name: '', model: 'update', dept: [], user: [] }],
|
|
|
- // };
|
|
|
formState.type = ''
|
|
|
formState.name = ''
|
|
|
- formState.steps = [{ xh: 1, name: '', model: 'update', dept: [], user: [] }]
|
|
|
+ formState.steps = [{ xh: 1, name: '', model: 'update', dept: [], user: [],userList:[] }]
|
|
|
currStep.value = null;
|
|
|
(addStepForm.value as any)?.clearFormData()
|
|
|
};
|
|
|
@@ -321,15 +359,15 @@ export default defineComponent({
|
|
|
flowdiscription: '',
|
|
|
flowname: formData.name,
|
|
|
id: flowId,
|
|
|
+ version:optType.value === 1 ? 0 : currVersion.value + 1,
|
|
|
};
|
|
|
- console.log('流程信息', flowInfo);
|
|
|
//排除第一个
|
|
|
const steps = formData.steps.value.filter((step) => step.xh !== 1);
|
|
|
//生成步骤结点id
|
|
|
steps.forEach((item) => {
|
|
|
item['id'] = getBuildUUID();
|
|
|
});
|
|
|
- console.log('新增步骤', steps);
|
|
|
+
|
|
|
//流程结点数据
|
|
|
let flowNode: Array<FlowNode> = [];
|
|
|
//审核人数据
|
|
|
@@ -353,7 +391,7 @@ export default defineComponent({
|
|
|
user['id'] = getBuildUUID();
|
|
|
});
|
|
|
});
|
|
|
- console.log('生成审核人id', steps);
|
|
|
+
|
|
|
//生成审核数据
|
|
|
for (let i = 0; i < steps.length; i++) {
|
|
|
const step = steps[i];
|
|
|
@@ -421,6 +459,7 @@ export default defineComponent({
|
|
|
};
|
|
|
|
|
|
const customRow = (record, index) => {
|
|
|
+ console.log(record, index)
|
|
|
return {
|
|
|
on: {
|
|
|
// 鼠标单击行
|
|
|
@@ -435,6 +474,8 @@ export default defineComponent({
|
|
|
};
|
|
|
|
|
|
return {
|
|
|
+ optType,
|
|
|
+ currVersion,
|
|
|
postData,
|
|
|
formRef,
|
|
|
formState,
|
|
|
@@ -457,7 +498,9 @@ export default defineComponent({
|
|
|
businessChange,
|
|
|
addProcess,
|
|
|
formDataHandle,
|
|
|
+ setFormdata,
|
|
|
clearFormData,
|
|
|
+ paramsToFormData,
|
|
|
};
|
|
|
},
|
|
|
});
|