diff --git a/src/views/approve/Appro/components/createForm.vue b/src/views/approve/Appro/components/createForm.vue index 2637a9c..cc49b29 100644 --- a/src/views/approve/Appro/components/createForm.vue +++ b/src/views/approve/Appro/components/createForm.vue @@ -267,8 +267,8 @@ await formRef.value.validateFields(); let obj = { ...formState, - lngFileUploadList: dataFile.value - + lngFileUploadList: dataFile.value, + approCode: pageType.value=='update' ? 'WTJ' : formState.approCode } spinning.value = true; let request = !formState.id ? addLngAppro :updateLngAppro diff --git a/src/views/approve/Appro/index.vue b/src/views/approve/Appro/index.vue index 7f39ee8..8644951 100644 --- a/src/views/approve/Appro/index.vue +++ b/src/views/approve/Appro/index.vue @@ -74,9 +74,9 @@ const tableRef = ref(); //所有按钮 - const buttons = ref([{"isUse":true,"name":"新增","code":"add","icon":"ant-design:plus-outlined","isDefault":true,"type":"primary"},{"isUse":true,"name":"编辑","code":"edit","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"刷新","code":"refresh","icon":"ant-design:reload-outlined","isDefault":true},{"isUse":true,"name":"查看","code":"view","icon":"ant-design:eye-outlined","isDefault":true},{"isUse":true,"name":"发起审批","code":"startwork","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"查看流转记录","code":"flowRecord","icon":"ant-design:form-outlined","isDefault":true},,{"name":"变更","code":"update","icon":"ant-design:edit-filled","isDefault":false,"isUse":true},{"isUse":true,"name":"删除","code":"delete","icon":"ant-design:delete-outlined","isDefault":true}]); + const buttons = ref([{"isUse":true,"name":"新增","code":"add","icon":"ant-design:plus-outlined","isDefault":true,"type":"primary"},{"isUse":true,"name":"编辑","code":"edit","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"刷新","code":"refresh","icon":"ant-design:reload-outlined","isDefault":true},{"isUse":true,"name":"查看","code":"view","icon":"ant-design:eye-outlined","isDefault":true},{"isUse":true,"name":"发起审批","code":"startwork","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"查看流转记录","code":"flowRecord","icon":"ant-design:form-outlined","isDefault":true},{"name":"审批","code":"approve","icon":"ant-design:check-outlined","isDefault":false,"isUse":true},{"name":"变更","code":"update","icon":"ant-design:edit-filled","isDefault":false,"isUse":true},{"isUse":true,"name":"删除","code":"delete","icon":"ant-design:delete-outlined","isDefault":true}]); //展示在列表内的按钮 - const actionButtons = ref(['view', 'edit','datalog', 'copyData', 'delete','update', 'startwork','flowRecord']); + const actionButtons = ref(['view', 'edit','datalog', 'copyData', 'delete','update', 'startwork','flowRecord', 'approve']); const buttonConfigs = computed(()=>{ return filterButtonAuth(buttons.value); }) @@ -89,7 +89,7 @@ return buttonConfigs.value?.filter((x) => actionButtons.value.includes(x.code)); }); - const btnEvent = {add : handleAdd,edit : handleEdit,refresh : handleRefresh,view : handleView,startwork : handleStartwork,flowRecord : handleFlowRecord,delete : handleDelete,update: handleUpdate} + const btnEvent = {add : handleAdd,edit : handleEdit,refresh : handleRefresh,view : handleView,startwork : handleStartwork,flowRecord : handleFlowRecord,delete : handleDelete,update: handleUpdate, approve: handleApprove} const { currentRoute } = useRouter(); const router = useRouter(); @@ -160,7 +160,8 @@ taskId: taskIds[0], formName: formName, formId:currentRoute.value.meta.formId, - id: record.id + id: record.id, + readonly: 1, } }); } else if (schemaId && !taskIds && processId) { @@ -249,20 +250,35 @@ } } - function handleUpdate(record: Recordable) { - const { processId, taskIds, schemaId, status } = record.workflowData || {}; - router.push({ - path: '/flow/' + schemaId + '/' + processId + '/approveFlow', - query: { - readonly: 1, - taskId: '', - formName: formName, - formId:currentRoute.value.meta.formId, - id: record.id, - status - } - }); - + function handleUpdate(record: Recordable) { + const { processId, taskIds, schemaId } = record.workflowData || {}; + if (schemaIdComputedRef.value) { + router.push({ + path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow', + query: { + formPath: 'approve/Appro', + formName: formName, + formId:currentRoute.value.meta.formId, + type:'update', + id: record.id, + processId: processId + } + }); + } + } + function handleApprove(record: Recordable) { + const { processId, taskIds, schemaId } = record.workflowData || {}; + if (taskIds && taskIds.length) { + router.push({ + path: '/flow/' + schemaId + '/' + (processId || '') + '/approveFlow', + query: { + taskId: taskIds[0], + formName: formName, + formId:currentRoute.value.meta.formId, + id: record.id + } + }); + } } function handleDelete(record: Recordable) { deleteList([record.id]); @@ -323,9 +339,11 @@ let actionsList: ActionItem[] = []; let editAndDelBtn: ActionItem[] = []; - let hasFlowRecord = false; + let updateBtn: ActionItem[] = []; + let approveBtn: ActionItem[] = []; + let hasFlowRecord = false; actionButtonConfig.value?.map((button) => { - if (['view', 'copyData'].includes(button.code)) { + if (['view', 'copyData', 'enable', 'disable'].includes(button.code)) { actionsList.push({ icon: button?.icon, tooltip: button?.name, @@ -340,27 +358,49 @@ onClick: btnEvent[button.code].bind(null, record), }); } - if (button.code === 'flowRecord') hasFlowRecord = true; - if (record.approCode == 'YSP' && button.code== 'update') { - let idx = actionsList.findIndex(v =>v.tooltip == '变更') - idx<0 && actionsList.push({icon: button?.icon, + if (['update'].includes(button.code)) { + updateBtn.push({ + icon: button?.icon, tooltip: button?.name, - onClick: btnEvent[button.code].bind(null, record),}) - } + onClick: btnEvent[button.code].bind(null, record), + }); + } + if (['approve'].includes(button.code)) { + approveBtn.push({ + icon: button?.icon, + tooltip: button?.name, + onClick: btnEvent[button.code].bind(null, record), + }); + } + if (button.code === 'flowRecord') hasFlowRecord = true; }); - if (record.workflowData?.enabled) { - //与工作流有关联的表单 - if (record.workflowData.status) { - // actionsList.unshift(setIndexFlowStatus(record.workflowData)) - } else { - actionsList = actionsList.concat(editAndDelBtn); - } - } else { - if (!record.workflowData?.processId) { - //与工作流没有关联的表单并且在当前页面新增的数据 如选择编辑、删除按钮则加上 - actionsList = actionsList.concat(editAndDelBtn); - } + // 未提交或已驳回 + if (record.approCode == 'WTJ' || record.approCode == 'YBH' ) { + actionsList = actionsList.concat(editAndDelBtn); } + // 审批中SPZ + if (record.workflowData?.editable) { + actionsList = actionsList.concat(approveBtn); + } + // 已审批 + if (record.approCode == 'YSP') { + actionsList = actionsList.concat(updateBtn); + } + + // if (record.workflowData?.enabled) { + // //与工作流有关联的表单 + // if (record.workflowData.status) { + // actionsList.unshift(setIndexFlowStatus(record.workflowData)) + // } else { + // actionsList = actionsList.concat(editAndDelBtn); + // } + // } else { + // if (!record.workflowData?.processId) { + // //与工作流没有关联的表单并且在当前页面新增的数据 如选择编辑、删除按钮则加上 + // actionsList = actionsList.concat(editAndDelBtn); + // } + // } + return actionsList; } function handleStartwork(record: Recordable) { diff --git a/src/views/contract/ContractFact/components/createForm.vue b/src/views/contract/ContractFact/components/createForm.vue index dad62b5..c50172b 100644 --- a/src/views/contract/ContractFact/components/createForm.vue +++ b/src/views/contract/ContractFact/components/createForm.vue @@ -568,7 +568,8 @@ ...formState, lngFileUploadList: dataFile.value, lngContractFactCpList: dataList.value, - lngContractApproRelList: dataListAppro.value + lngContractApproRelList: dataListAppro.value, + approCode: pageType.value=='update' ? 'WTJ' : formState.approCode } spinning.value = true; diff --git a/src/views/contract/ContractFact/index.vue b/src/views/contract/ContractFact/index.vue index 4262165..45537f7 100644 --- a/src/views/contract/ContractFact/index.vue +++ b/src/views/contract/ContractFact/index.vue @@ -74,9 +74,9 @@ const tableRef = ref(); //所有按钮 - const buttons = ref([{"name":"新增","code":"add","icon":"ant-design:plus-outlined","isDefault":true,"isUse":true,"type":"primary"},{"name":"编辑","code":"edit","icon":"ant-design:form-outlined","isDefault":true,"isUse":true},{"name":"刷新","code":"refresh","icon":"ant-design:reload-outlined","isDefault":true,"isUse":true},{"name":"查看","code":"view","icon":"ant-design:eye-outlined","isDefault":true,"isUse":true},{"name":"发起审批","code":"startwork","icon":"ant-design:form-outlined","isDefault":true,"isUse":true},{"name":"查看流转记录","code":"flowRecord","icon":"ant-design:form-outlined","isDefault":true,"isUse":true},{"name":"变更","code":"update","icon":"ant-design:edit-filled","isDefault":false,"isUse":true},{"name":"删除","code":"delete","icon":"ant-design:delete-outlined","isDefault":true,"isUse":true}]); + const buttons = ref([{"name":"新增","code":"add","icon":"ant-design:plus-outlined","isDefault":true,"isUse":true,"type":"primary"},{"name":"编辑","code":"edit","icon":"ant-design:form-outlined","isDefault":true,"isUse":true},{"name":"刷新","code":"refresh","icon":"ant-design:reload-outlined","isDefault":true,"isUse":true},{"name":"查看","code":"view","icon":"ant-design:eye-outlined","isDefault":true,"isUse":true},{"name":"发起审批","code":"startwork","icon":"ant-design:form-outlined","isDefault":true,"isUse":true},{"name":"查看流转记录","code":"flowRecord","icon":"ant-design:form-outlined","isDefault":true,"isUse":true},{"name":"审批","code":"approve","icon":"ant-design:check-outlined","isDefault":false,"isUse":true},{"name":"变更","code":"update","icon":"ant-design:edit-filled","isDefault":false,"isUse":true},{"name":"删除","code":"delete","icon":"ant-design:delete-outlined","isDefault":true,"isUse":true}]); //展示在列表内的按钮 - const actionButtons = ref(['view', 'edit','datalog', 'copyData', 'delete','update', 'startwork','flowRecord']); + const actionButtons = ref(['view', 'edit','datalog', 'copyData', 'delete','update', 'startwork','flowRecord','approve']); const buttonConfigs = computed(()=>{ return filterButtonAuth(buttons.value); }) @@ -89,7 +89,7 @@ return buttonConfigs.value?.filter((x) => actionButtons.value.includes(x.code)); }); - const btnEvent = {add : handleAdd,edit : handleEdit,refresh : handleRefresh,view : handleView,startwork : handleStartwork,flowRecord : handleFlowRecord,delete : handleDelete,update: handleUpdate} + const btnEvent = {add : handleAdd,edit : handleEdit,refresh : handleRefresh,view : handleView,startwork : handleStartwork,flowRecord : handleFlowRecord,delete : handleDelete,update: handleUpdate, approve: handleApprove} const { currentRoute } = useRouter(); const router = useRouter(); @@ -160,7 +160,8 @@ taskId: taskIds[0], formName: formName, formId:currentRoute.value.meta.formId, - id: record.id + id: record.id, + readonly: 1, } }); } else if (schemaId && !taskIds && processId) { @@ -248,20 +249,35 @@ }); } } - function handleUpdate(record: Recordable) { - const { processId, taskIds, schemaId, status } = record.workflowData || {}; - router.push({ - path: '/flow/' + schemaId + '/' + processId + '/approveFlow', - query: { - readonly: 1, - taskId: '', - formName: formName, - formId:currentRoute.value.meta.formId, - id: record.id, - status - } - }); - + function handleUpdate(record: Recordable) { + const { processId, taskIds, schemaId } = record.workflowData || {}; + if (schemaIdComputedRef.value) { + router.push({ + path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow', + query: { + formPath: 'contract/ContractFact', + formName: formName, + formId:currentRoute.value.meta.formId, + type:'update', + id: record.id, + processId: processId + } + }); + } + } + function handleApprove(record: Recordable) { + const { processId, taskIds, schemaId } = record.workflowData || {}; + if (taskIds && taskIds.length) { + router.push({ + path: '/flow/' + schemaId + '/' + (processId || '') + '/approveFlow', + query: { + taskId: taskIds[0], + formName: formName, + formId:currentRoute.value.meta.formId, + id: record.id + } + }); + } } function handleDelete(record: Recordable) { deleteList([record.id]); @@ -322,9 +338,11 @@ let actionsList: ActionItem[] = []; let editAndDelBtn: ActionItem[] = []; - let hasFlowRecord = false; + let updateBtn: ActionItem[] = []; + let approveBtn: ActionItem[] = []; + let hasFlowRecord = false; actionButtonConfig.value?.map((button) => { - if (['view', 'copyData'].includes(button.code)) { + if (['view', 'copyData', 'enable', 'disable'].includes(button.code)) { actionsList.push({ icon: button?.icon, tooltip: button?.name, @@ -339,27 +357,49 @@ onClick: btnEvent[button.code].bind(null, record), }); } - if (button.code === 'flowRecord') hasFlowRecord = true; - if (record.approCode == 'YSP' && button.code== 'update') { - let idx = actionsList.findIndex(v =>v.tooltip == '变更') - idx<0 && actionsList.push({icon: button?.icon, + if (['update'].includes(button.code)) { + updateBtn.push({ + icon: button?.icon, tooltip: button?.name, - onClick: btnEvent[button.code].bind(null, record),}) - } + onClick: btnEvent[button.code].bind(null, record), + }); + } + if (['approve'].includes(button.code)) { + approveBtn.push({ + icon: button?.icon, + tooltip: button?.name, + onClick: btnEvent[button.code].bind(null, record), + }); + } + if (button.code === 'flowRecord') hasFlowRecord = true; }); - if (record.workflowData?.enabled) { - //与工作流有关联的表单 - if (record.workflowData.status) { - // actionsList.unshift(setIndexFlowStatus(record.workflowData)) - } else { - actionsList = actionsList.concat(editAndDelBtn); - } - } else { - if (!record.workflowData?.processId) { - //与工作流没有关联的表单并且在当前页面新增的数据 如选择编辑、删除按钮则加上 - actionsList = actionsList.concat(editAndDelBtn); - } + // 未提交或已驳回 + if (record.approCode == 'WTJ' || record.approCode == 'YBH' ) { + actionsList = actionsList.concat(editAndDelBtn); } + // 审批中SPZ + if (record.workflowData?.editable) { + actionsList = actionsList.concat(approveBtn); + } + // 已审批 + if (record.approCode == 'YSP') { + actionsList = actionsList.concat(updateBtn); + } + + // if (record.workflowData?.enabled) { + // //与工作流有关联的表单 + // if (record.workflowData.status) { + // actionsList.unshift(setIndexFlowStatus(record.workflowData)) + // } else { + // actionsList = actionsList.concat(editAndDelBtn); + // } + // } else { + // if (!record.workflowData?.processId) { + // //与工作流没有关联的表单并且在当前页面新增的数据 如选择编辑、删除按钮则加上 + // actionsList = actionsList.concat(editAndDelBtn); + // } + // } + return actionsList; } function handleStartwork(record: Recordable) { diff --git a/src/views/contract/ContractPurPng/components/config.ts b/src/views/contract/ContractPurPng/components/config.ts index 9a63199..1a4fcd4 100644 --- a/src/views/contract/ContractPurPng/components/config.ts +++ b/src/views/contract/ContractPurPng/components/config.ts @@ -9,7 +9,7 @@ export const searchFormSchema: FormSchema[] = [ { field: 'kNo', - label: '合同号/合同名称', + label: '合同号/名称', component: 'Input', }, { diff --git a/src/views/contract/ContractPurPng/components/createForm.vue b/src/views/contract/ContractPurPng/components/createForm.vue index 61f1728..213381f 100644 --- a/src/views/contract/ContractPurPng/components/createForm.vue +++ b/src/views/contract/ContractPurPng/components/createForm.vue @@ -50,7 +50,7 @@ - + @@ -540,7 +540,7 @@ const onSearch = (val)=> { openModalDept(true,{isUpdate: false}) } - const onSearcSupplier = () => { + const onSearchSupplier = () => { openModalSupplier(true,{isUpdate: false}) } const onSearchUser = (val)=> { @@ -658,9 +658,23 @@ arr[i].qtyM3Month = Number(arr[i].qtyM3Month)*10000 arr[i].qtyM3Day = Number(arr[i].qtyM3Day)*10000 } + let arr1 = [] dataListAppro.value.forEach(v=>{ v.approId = '' + arr1.concat(v.lngContractPurPngPointSalesList || []) }) + let newArr = arr1.map(v=>v.pointDelyCode) + let codeList = dataListPoint.value.map(v =>v.pointUpCode) + const isRepeat=codeList.some((item,index,arr)=>arr.indexOf(item)!=index); + const isRepeatNew=newArr.some((item,index,arr)=>arr.indexOf(item)!=index); + if(isRepeat){ + message.warn('上载点不可重复'); + return + } + if(isRepeatNew){ + message.warn('交割点不可重复'); + return + } let obj = { ...formState, lngContractPurPngPointList: dataListPoint.value, @@ -676,7 +690,8 @@ "periodTypeCode": formState.periodTypeCode, "uomCode": formState.uomCode, } - ] + ], + approCode: pageType.value=='update' ? 'WTJ' : formState.approCode } spinning.value = true; diff --git a/src/views/contract/ContractPurPng/index.vue b/src/views/contract/ContractPurPng/index.vue index c33e106..4faede5 100644 --- a/src/views/contract/ContractPurPng/index.vue +++ b/src/views/contract/ContractPurPng/index.vue @@ -74,9 +74,9 @@ const tableRef = ref(); //所有按钮 - const buttons = ref([{"name":"新增","code":"add","icon":"ant-design:plus-outlined","isDefault":true,"isUse":true},{"name":"编辑","code":"edit","icon":"ant-design:form-outlined","isDefault":true,"isUse":true},{"name":"刷新","code":"refresh","icon":"ant-design:reload-outlined","isDefault":true,"isUse":true},{"name":"查看","code":"view","icon":"ant-design:eye-outlined","isDefault":true,"isUse":true},{"name":"发起审批","code":"startwork","icon":"ant-design:form-outlined","isDefault":true,"isUse":true},{"name":"查看流转记录","code":"flowRecord","icon":"ant-design:form-outlined","isDefault":true,"isUse":true},{"name":"变更","code":"update","icon":"ant-design:edit-filled","isDefault":false,"isUse":true},{"name":"删除","code":"delete","icon":"ant-design:delete-outlined","isDefault":true,"isUse":true}]); + const buttons = ref([{"name":"新增","code":"add","icon":"ant-design:plus-outlined","isDefault":true,"isUse":true},{"name":"编辑","code":"edit","icon":"ant-design:form-outlined","isDefault":true,"isUse":true},{"name":"刷新","code":"refresh","icon":"ant-design:reload-outlined","isDefault":true,"isUse":true},{"name":"查看","code":"view","icon":"ant-design:eye-outlined","isDefault":true,"isUse":true},{"name":"发起审批","code":"startwork","icon":"ant-design:form-outlined","isDefault":true,"isUse":true},{"name":"查看流转记录","code":"flowRecord","icon":"ant-design:form-outlined","isDefault":true,"isUse":true},{"name":"审批","code":"approve","icon":"ant-design:check-outlined","isDefault":false,"isUse":true},{"name":"变更","code":"update","icon":"ant-design:edit-filled","isDefault":false,"isUse":true},{"name":"删除","code":"delete","icon":"ant-design:delete-outlined","isDefault":true,"isUse":true}]); //展示在列表内的按钮 - const actionButtons = ref(['view', 'edit','datalog', 'copyData', 'delete', 'startwork','flowRecord']); + const actionButtons = ref(['view', 'edit','datalog', 'copyData', 'delete', 'startwork','flowRecord', 'approve', 'update']); const buttonConfigs = computed(()=>{ return filterButtonAuth(buttons.value); }) @@ -89,7 +89,7 @@ return buttonConfigs.value?.filter((x) => actionButtons.value.includes(x.code)); }); - const btnEvent = {add : handleAdd,edit : handleEdit,refresh : handleRefresh,view : handleView,startwork : handleStartwork,flowRecord : handleFlowRecord,delete : handleDelete,} + const btnEvent = {add : handleAdd,edit : handleEdit,refresh : handleRefresh,view : handleView,startwork : handleStartwork,flowRecord : handleFlowRecord,delete : handleDelete, update:handleUpdate, approve:handleApprove} const { currentRoute } = useRouter(); const router = useRouter(); @@ -157,9 +157,12 @@ router.push({ path: '/flow/' + schemaId + '/' + (processId || '') + '/approveFlow', query: { + readonly: 1, taskId: taskIds[0], formName: formName, - formId:currentRoute.value.meta.formId + formId:currentRoute.value.meta.formId, + id: record.id, + readonly: 1, } }); } else if (schemaId && !taskIds && processId) { @@ -169,18 +172,32 @@ readonly: 1, taskId: '', formName: formName, - formId:currentRoute.value.meta.formId + formId:currentRoute.value.meta.formId, + id: record.id, } }); } else { - router.push({ - path: '/form/ContractPurPng/' + record.id + '/viewForm', - query: { - formPath: 'contract/ContractPurPng', - formName: formName, - formId:currentRoute.value.meta.formId - } - }); + if (schemaIdComputedRef.value) { + router.push({ + path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow', + query: { + formPath: 'contract/ContractPurPng', + formName: formName, + formId:currentRoute.value.meta.formId, + type:'edit', + id: record.id, + disabled: 1, + } + }); + } + // router.push({ + // path: '/form/ContractPurPng/' + record.id + '/viewForm', + // query: { + // formPath: 'contract/ContractPurPng', + // formName: formName, + // formId:currentRoute.value.meta.formId + // } + // }); } } @@ -233,6 +250,36 @@ }); } } + function handleUpdate(record: Recordable) { + const { processId, taskIds, schemaId } = record.workflowData || {}; + if (schemaIdComputedRef.value) { + router.push({ + path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow', + query: { + formPath: 'contract/ContractPurPng', + formName: formName, + formId:currentRoute.value.meta.formId, + type:'update', + id: record.id, + processId: processId + } + }); + } + } + function handleApprove(record: Recordable) { + const { processId, taskIds, schemaId } = record.workflowData || {}; + if (taskIds && taskIds.length) { + router.push({ + path: '/flow/' + schemaId + '/' + (processId || '') + '/approveFlow', + query: { + taskId: taskIds[0], + formName: formName, + formId:currentRoute.value.meta.formId, + id: record.id + } + }); + } + } function handleDelete(record: Recordable) { deleteList([record.id]); } @@ -292,9 +339,11 @@ let actionsList: ActionItem[] = []; let editAndDelBtn: ActionItem[] = []; - let hasFlowRecord = false; + let updateBtn: ActionItem[] = []; + let approveBtn: ActionItem[] = []; + let hasFlowRecord = false; actionButtonConfig.value?.map((button) => { - if (['view', 'copyData'].includes(button.code)) { + if (['view', 'copyData', 'enable', 'disable'].includes(button.code)) { actionsList.push({ icon: button?.icon, tooltip: button?.name, @@ -309,21 +358,49 @@ onClick: btnEvent[button.code].bind(null, record), }); } + if (['update'].includes(button.code)) { + updateBtn.push({ + icon: button?.icon, + tooltip: button?.name, + onClick: btnEvent[button.code].bind(null, record), + }); + } + if (['approve'].includes(button.code)) { + approveBtn.push({ + icon: button?.icon, + tooltip: button?.name, + onClick: btnEvent[button.code].bind(null, record), + }); + } if (button.code === 'flowRecord') hasFlowRecord = true; }); - if (record.workflowData?.enabled) { - //与工作流有关联的表单 - if (record.workflowData.status) { - actionsList.unshift(setIndexFlowStatus(record.workflowData)) - } else { - actionsList = actionsList.concat(editAndDelBtn); - } - } else { - if (!record.workflowData?.processId) { - //与工作流没有关联的表单并且在当前页面新增的数据 如选择编辑、删除按钮则加上 - actionsList = actionsList.concat(editAndDelBtn); - } + // 未提交或已驳回 + if (record.approCode == 'WTJ' || record.approCode == 'YBH' ) { + actionsList = actionsList.concat(editAndDelBtn); } + // 审批中SPZ + if (record.workflowData?.editable) { + actionsList = actionsList.concat(approveBtn); + } + // 已审批 + if (record.approCode == 'YSP') { + actionsList = actionsList.concat(updateBtn); + } + + // if (record.workflowData?.enabled) { + // //与工作流有关联的表单 + // if (record.workflowData.status) { + // actionsList.unshift(setIndexFlowStatus(record.workflowData)) + // } else { + // actionsList = actionsList.concat(editAndDelBtn); + // } + // } else { + // if (!record.workflowData?.processId) { + // //与工作流没有关联的表单并且在当前页面新增的数据 如选择编辑、删除按钮则加上 + // actionsList = actionsList.concat(editAndDelBtn); + // } + // } + return actionsList; } function handleStartwork(record: Recordable) { @@ -409,11 +486,11 @@ width: 50px; } :deep(.ant-col-8:nth-child(1) .ant-form-item-label) { - width: 118px !important; + width: 100px !important; } :deep(.ant-col-8:nth-child(1)) { - max-width: 330px !important; - width: 330px !important; + max-width: 300px !important; + width: 300px !important; } .show{ display: flex; diff --git a/src/views/contract/ContractSales/components/config.ts b/src/views/contract/ContractSales/components/config.ts index 0cf64a2..76ee842 100644 --- a/src/views/contract/ContractSales/components/config.ts +++ b/src/views/contract/ContractSales/components/config.ts @@ -6,72 +6,19 @@ export const formConfig = { }; export const searchFormSchema: FormSchema[] = [ - { - field: 'id', - label: 'id', - component: 'Input', - }, - { - field: 'kNo', - label: '合同号', - component: 'Input', - }, { field: 'kName', - label: '合同名称', + label: '合同号/名称', component: 'Input', }, { field: 'cpName', label: '客户', component: 'Input', - }, - { - field: 'dateFrom', - label: '有效期开始', - component: 'Input', - }, - { - field: 'dateTo', - label: '有效期结束', - component: 'Input', - }, - { - field: 'approCode', - label: '状态', - component: 'Input', - }, - { - field: 'onlineSign', - label: '交割点', - component: 'Input', - }, - { - field: 'cpTableName', - label: '是否托运', - component: 'Input', - }, - { - field: 'comId', - label: '合同主体', - component: 'Input', - }, - { - field: 'note', - label: '备注', - component: 'Input', - }, + } ]; export const columns: BasicColumn[] = [ - { - dataIndex: 'id', - title: 'id', - componentType: 'input', - align: 'left', - - sorter: true, - }, { dataIndex: 'kNo', @@ -119,7 +66,7 @@ export const columns: BasicColumn[] = [ }, { - dataIndex: 'approCode', + dataIndex: 'approName', title: '状态', componentType: 'input', align: 'left', diff --git a/src/views/contract/ContractSales/components/createForm.vue b/src/views/contract/ContractSales/components/createForm.vue new file mode 100644 index 0000000..8b84b66 --- /dev/null +++ b/src/views/contract/ContractSales/components/createForm.vue @@ -0,0 +1,773 @@ + + + + + diff --git a/src/views/contract/ContractSales/index.vue b/src/views/contract/ContractSales/index.vue index 1499627..c5e3745 100644 --- a/src/views/contract/ContractSales/index.vue +++ b/src/views/contract/ContractSales/index.vue @@ -74,9 +74,9 @@ const tableRef = ref(); //所有按钮 - const buttons = ref([{"isUse":true,"name":"新增","code":"add","icon":"ant-design:plus-outlined","isDefault":true,"type":"primary"},{"isUse":true,"name":"编辑","code":"edit","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"刷新","code":"refresh","icon":"ant-design:reload-outlined","isDefault":true},{"isUse":true,"name":"查看","code":"view","icon":"ant-design:eye-outlined","isDefault":true},{"isUse":true,"name":"发起审批","code":"startwork","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"查看流转记录","code":"flowRecord","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"变更","code":"update","icon":"ant-design:edit-filled","isDefault":false},{"isUse":true,"name":"删除","code":"delete","icon":"ant-design:delete-outlined","isDefault":true}]); + const buttons = ref([{"isUse":true,"name":"新增","code":"add","icon":"ant-design:plus-outlined","isDefault":true,"type":"primary"},{"isUse":true,"name":"编辑","code":"edit","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"刷新","code":"refresh","icon":"ant-design:reload-outlined","isDefault":true},{"isUse":true,"name":"查看","code":"view","icon":"ant-design:eye-outlined","isDefault":true},{"isUse":true,"name":"发起审批","code":"startwork","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"查看流转记录","code":"flowRecord","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"审批","code":"approve","icon":"ant-design:check-outlined","isDefault":false},{"isUse":true,"name":"变更","code":"update","icon":"ant-design:edit-filled","isDefault":false},{"isUse":true,"name":"删除","code":"delete","icon":"ant-design:delete-outlined","isDefault":true}]); //展示在列表内的按钮 - const actionButtons = ref(['view', 'edit','datalog', 'copyData', 'delete', 'startwork','flowRecord']); + const actionButtons = ref(['view', 'edit','datalog', 'copyData', 'delete', 'startwork','flowRecord', 'update', 'approve']); const buttonConfigs = computed(()=>{ return filterButtonAuth(buttons.value); }) @@ -89,7 +89,7 @@ return buttonConfigs.value?.filter((x) => actionButtons.value.includes(x.code)); }); - const btnEvent = {add : handleAdd,edit : handleEdit,refresh : handleRefresh,view : handleView,startwork : handleStartwork,flowRecord : handleFlowRecord,delete : handleDelete,} + const btnEvent = {add : handleAdd,edit : handleEdit,refresh : handleRefresh,view : handleView,startwork : handleStartwork,flowRecord : handleFlowRecord,delete : handleDelete, update:handleUpdate, approve:handleApprove} const { currentRoute } = useRouter(); const router = useRouter(); @@ -159,7 +159,9 @@ query: { taskId: taskIds[0], formName: formName, - formId:currentRoute.value.meta.formId + formId:currentRoute.value.meta.formId, + id: record.id, + readonly: 1, } }); } else if (schemaId && !taskIds && processId) { @@ -169,18 +171,32 @@ readonly: 1, taskId: '', formName: formName, - formId:currentRoute.value.meta.formId + formId:currentRoute.value.meta.formId, + id: record.id, } }); } else { - router.push({ - path: '/form/ContractSales/' + record.id + '/viewForm', - query: { - formPath: 'contract/ContractSales', - formName: formName, - formId:currentRoute.value.meta.formId - } - }); + if (schemaIdComputedRef.value) { + router.push({ + path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow', + query: { + formPath: 'contract/ContractSales', + formName: formName, + formId:currentRoute.value.meta.formId, + type:'edit', + id: record.id, + disabled: 1, + } + }); + } + // router.push({ + // path: '/form/ContractSales/' + record.id + '/viewForm', + // query: { + // formPath: 'contract/ContractSales', + // formName: formName, + // formId:currentRoute.value.meta.formId + // } + // }); } } @@ -211,15 +227,57 @@ } function handleEdit(record: Recordable) { - - router.push({ - path: '/form/ContractSales/' + record.id + '/updateForm', - query: { + if (schemaIdComputedRef.value) { + router.push({ + path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow', + query: { formPath: 'contract/ContractSales', formName: formName, - formId:currentRoute.value.meta.formId - } - }); + formId:currentRoute.value.meta.formId, + type:'edit', + id: record.id + } + }); + } else { + router.push({ + path: '/form/ContractSales/' + record.id + '/updateForm', + query: { + formPath: 'contract/ContractSales', + formName: formName, + formId:currentRoute.value.meta.formId + } + }); + } + } + function handleUpdate(record: Recordable) { + const { processId, taskIds, schemaId } = record.workflowData || {}; + if (schemaIdComputedRef.value) { + router.push({ + path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow', + query: { + formPath: 'contract/ContractSales', + formName: formName, + formId:currentRoute.value.meta.formId, + type:'update', + id: record.id, + processId: processId + } + }); + } + } + function handleApprove(record: Recordable) { + const { processId, taskIds, schemaId } = record.workflowData || {}; + if (taskIds && taskIds.length) { + router.push({ + path: '/flow/' + schemaId + '/' + (processId || '') + '/approveFlow', + query: { + taskId: taskIds[0], + formName: formName, + formId:currentRoute.value.meta.formId, + id: record.id + } + }); + } } function handleDelete(record: Recordable) { deleteList([record.id]); @@ -280,9 +338,11 @@ let actionsList: ActionItem[] = []; let editAndDelBtn: ActionItem[] = []; - let hasFlowRecord = false; + let updateBtn: ActionItem[] = []; + let approveBtn: ActionItem[] = []; + let hasFlowRecord = false; actionButtonConfig.value?.map((button) => { - if (['view', 'copyData'].includes(button.code)) { + if (['view', 'copyData', 'enable', 'disable'].includes(button.code)) { actionsList.push({ icon: button?.icon, tooltip: button?.name, @@ -297,21 +357,49 @@ onClick: btnEvent[button.code].bind(null, record), }); } + if (['update'].includes(button.code)) { + updateBtn.push({ + icon: button?.icon, + tooltip: button?.name, + onClick: btnEvent[button.code].bind(null, record), + }); + } + if (['approve'].includes(button.code)) { + approveBtn.push({ + icon: button?.icon, + tooltip: button?.name, + onClick: btnEvent[button.code].bind(null, record), + }); + } if (button.code === 'flowRecord') hasFlowRecord = true; }); - if (record.workflowData?.enabled) { - //与工作流有关联的表单 - if (record.workflowData.status) { - actionsList.unshift(setIndexFlowStatus(record.workflowData)) - } else { - actionsList = actionsList.concat(editAndDelBtn); - } - } else { - if (!record.workflowData?.processId) { - //与工作流没有关联的表单并且在当前页面新增的数据 如选择编辑、删除按钮则加上 - actionsList = actionsList.concat(editAndDelBtn); - } + // 未提交或已驳回 + if (record.approCode == 'WTJ' || record.approCode == 'YBH' ) { + actionsList = actionsList.concat(editAndDelBtn); } + // 审批中SPZ + if (record.workflowData?.editable) { + actionsList = actionsList.concat(approveBtn); + } + // 已审批 + if (record.approCode == 'YSP') { + actionsList = actionsList.concat(updateBtn); + } + + // if (record.workflowData?.enabled) { + // //与工作流有关联的表单 + // if (record.workflowData.status) { + // actionsList.unshift(setIndexFlowStatus(record.workflowData)) + // } else { + // actionsList = actionsList.concat(editAndDelBtn); + // } + // } else { + // if (!record.workflowData?.processId) { + // //与工作流没有关联的表单并且在当前页面新增的数据 如选择编辑、删除按钮则加上 + // actionsList = actionsList.concat(editAndDelBtn); + // } + // } + return actionsList; } function handleStartwork(record: Recordable) { diff --git a/src/views/sales/ScoreCustomer/components/config.ts b/src/views/sales/ScoreCustomer/components/config.ts index 277fe1a..809e707 100644 --- a/src/views/sales/ScoreCustomer/components/config.ts +++ b/src/views/sales/ScoreCustomer/components/config.ts @@ -72,7 +72,7 @@ export const columns: BasicColumn[] = [ }, { - dataIndex: 'approCode', + dataIndex: 'approName', title: '审批状态', componentType: 'select', align: 'left', diff --git a/src/views/sales/ScoreCustomer/components/createForm.vue b/src/views/sales/ScoreCustomer/components/createForm.vue index 9793296..2cd0352 100644 --- a/src/views/sales/ScoreCustomer/components/createForm.vue +++ b/src/views/sales/ScoreCustomer/components/createForm.vue @@ -288,8 +288,8 @@ let obj = { ...formState, lngScoreDtlList: dataList.value, - lngFileUploadList: dataFile.value - + lngFileUploadList: dataFile.value, + approCode: pageType.value=='update' ? 'WTJ' : formState.approCode } spinning.value = true; let request = !formState.id ? addLngScore :updateLngScore diff --git a/src/views/sales/ScoreCustomer/index.vue b/src/views/sales/ScoreCustomer/index.vue index c9c9981..0295fc6 100644 --- a/src/views/sales/ScoreCustomer/index.vue +++ b/src/views/sales/ScoreCustomer/index.vue @@ -74,9 +74,12 @@ const tableRef = ref(); //所有按钮 - const buttons = ref([{"isUse":true,"name":"新增","code":"add","icon":"ant-design:plus-outlined","isDefault":true,"type":"primary"},{"isUse":true,"name":"编辑","code":"edit","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"刷新","code":"refresh","icon":"ant-design:reload-outlined","isDefault":true},{"isUse":true,"name":"查看","code":"view","icon":"ant-design:eye-outlined","isDefault":true},{"isUse":true,"name":"发起审批","code":"startwork","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"查看流转记录","code":"flowRecord","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"删除","code":"delete","icon":"ant-design:delete-outlined","isDefault":true}]); + const buttons = ref([{"isUse":true,"name":"新增","code":"add","icon":"ant-design:plus-outlined","isDefault":true,"type":"primary"},{"isUse":true,"name":"编辑","code":"edit","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"刷新","code":"refresh","icon":"ant-design:reload-outlined","isDefault":true},{"isUse":true,"name":"查看","code":"view","icon":"ant-design:eye-outlined","isDefault":true},{"isUse":true,"name":"发起审批","code":"startwork","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"查看流转记录","code":"flowRecord","icon":"ant-design:form-outlined","isDefault":true}, + {"isUse":true,"name":"删除","code":"delete","icon":"ant-design:delete-outlined","isDefault":true}, +{"isUse":true,"name":"变更","code":"update","icon":"ant-design:edit-filled","isDefault":true}, +{"isUse":true,"name":"审批","code":"approve","icon":"ant-design:check-outlined","isDefault":true}]); //展示在列表内的按钮 - const actionButtons = ref(['view', 'edit','datalog', 'copyData', 'delete', 'startwork','flowRecord']); + const actionButtons = ref(['view', 'edit','datalog', 'copyData', 'delete', 'startwork','flowRecord', 'update', 'approve']); const buttonConfigs = computed(()=>{ return filterButtonAuth(buttons.value); }) @@ -89,7 +92,7 @@ return buttonConfigs.value?.filter((x) => actionButtons.value.includes(x.code)); }); - const btnEvent = {add : handleAdd,edit : handleEdit,refresh : handleRefresh,view : handleView,startwork : handleStartwork,flowRecord : handleFlowRecord,delete : handleDelete,} + const btnEvent = {add : handleAdd,edit : handleEdit,refresh : handleRefresh,view : handleView,startwork : handleStartwork,flowRecord : handleFlowRecord,delete : handleDelete, update: handleUpdate, approve: handleApprove} const { currentRoute } = useRouter(); const router = useRouter(); @@ -161,7 +164,8 @@ taskId: taskIds[0], formName: formName, formId:currentRoute.value.meta.formId, - id: record.id + id: record.id, + readonly: 1 } }); } else if (schemaId && !taskIds && processId) { @@ -173,7 +177,6 @@ formName: formName, formId:currentRoute.value.meta.formId, id: record.id, - status } }); } else { @@ -250,6 +253,36 @@ }); } } + function handleUpdate(record: Recordable) { + const { processId, taskIds, schemaId } = record.workflowData || {}; + if (schemaIdComputedRef.value) { + router.push({ + path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow', + query: { + formPath: 'sales/ScoreCustomer', + formName: formName, + formId:currentRoute.value.meta.formId, + type:'update', + id: record.id, + processId: processId + } + }); + } + } + function handleApprove(record: Recordable) { + const { processId, taskIds, schemaId } = record.workflowData || {}; + if (taskIds && taskIds.length) { + router.push({ + path: '/flow/' + schemaId + '/' + (processId || '') + '/approveFlow', + query: { + taskId: taskIds[0], + formName: formName, + formId:currentRoute.value.meta.formId, + id: record.id + } + }); + } + } function handleDelete(record: Recordable) { deleteList([record.id]); } @@ -309,9 +342,11 @@ let actionsList: ActionItem[] = []; let editAndDelBtn: ActionItem[] = []; - let hasFlowRecord = false; + let updateBtn: ActionItem[] = []; + let approveBtn: ActionItem[] = []; + let hasFlowRecord = false; actionButtonConfig.value?.map((button) => { - if (['view', 'copyData'].includes(button.code)) { + if (['view', 'copyData', 'enable', 'disable'].includes(button.code)) { actionsList.push({ icon: button?.icon, tooltip: button?.name, @@ -326,21 +361,49 @@ onClick: btnEvent[button.code].bind(null, record), }); } + if (['update'].includes(button.code)) { + updateBtn.push({ + icon: button?.icon, + tooltip: button?.name, + onClick: btnEvent[button.code].bind(null, record), + }); + } + if (['approve'].includes(button.code)) { + approveBtn.push({ + icon: button?.icon, + tooltip: button?.name, + onClick: btnEvent[button.code].bind(null, record), + }); + } if (button.code === 'flowRecord') hasFlowRecord = true; }); - if (record.workflowData?.enabled) { - //与工作流有关联的表单 - if (record.workflowData.status) { - // actionsList.unshift(setIndexFlowStatus(record.workflowData)) - } else { - actionsList = actionsList.concat(editAndDelBtn); - } - } else { - if (!record.workflowData?.processId) { - //与工作流没有关联的表单并且在当前页面新增的数据 如选择编辑、删除按钮则加上 - actionsList = actionsList.concat(editAndDelBtn); - } + // 未提交或已驳回 + if (record.approCode == 'WTJ' || record.approCode == 'YBH' ) { + actionsList = actionsList.concat(editAndDelBtn); } + // 审批中SPZ + if (record.workflowData?.editable) { + actionsList = actionsList.concat(approveBtn); + } + // 已审批 + if (record.approCode == 'YSP') { + actionsList = actionsList.concat(updateBtn); + } + + // if (record.workflowData?.enabled) { + // //与工作流有关联的表单 + // if (record.workflowData.status) { + // actionsList.unshift(setIndexFlowStatus(record.workflowData)) + // } else { + // actionsList = actionsList.concat(editAndDelBtn); + // } + // } else { + // if (!record.workflowData?.processId) { + // //与工作流没有关联的表单并且在当前页面新增的数据 如选择编辑、删除按钮则加上 + // actionsList = actionsList.concat(editAndDelBtn); + // } + // } + return actionsList; } function handleStartwork(record: Recordable) { diff --git a/src/views/secondDev/createFlow.vue b/src/views/secondDev/createFlow.vue index 6639e44..2ce6f34 100644 --- a/src/views/secondDev/createFlow.vue +++ b/src/views/secondDev/createFlow.vue @@ -47,6 +47,10 @@ +
+ + +