From 754f44f55d576409c582755e7fb49a33458da71a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=98huanghaiixia=E2=80=99?= <980486410@.com> Date: Fri, 19 Dec 2025 14:37:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BE=9B=E5=BA=94=E5=95=86=E8=AF=84=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/customerListModal.vue | 8 +- src/components/common/supplierListModal.vue | 140 +++++++++ .../ScoreCustomer/components/createForm.vue | 11 +- src/views/sales/ScoreCustomer/index.vue | 67 ++-- src/views/secondDev/customFormConfig.ts | 2 +- .../ScoreSupplier/components/createForm.vue | 288 ++++++++++++++++++ src/views/supplier/ScoreSupplier/index.vue | 67 ++-- src/views/supplier/Supplier/index.vue | 5 +- 8 files changed, 539 insertions(+), 49 deletions(-) create mode 100644 src/components/common/supplierListModal.vue create mode 100644 src/views/supplier/ScoreSupplier/components/createForm.vue diff --git a/src/components/common/customerListModal.vue b/src/components/common/customerListModal.vue index f79b84c..56dd0be 100644 --- a/src/components/common/customerListModal.vue +++ b/src/components/common/customerListModal.vue @@ -67,13 +67,15 @@ const rowId = ref(''); const selectedKeys = ref([]); const selectedValues = ref([]); - + const props = defineProps({ + selectType: { type: String, default: 'checkbox' }, + + }); const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => { setModalProps({ confirmLoading: false }); isUpdate.value = !!data?.isUpdate; - }); const [registerTable, { getDataSource, setTableData, updateTableDataRecord, reload }] = useTable({ @@ -94,7 +96,7 @@ return { ...params, valid: 'Y',approCode: 'YSP'}; }, rowSelection: { - type: 'checkBox', + type: props.selectType, onChange: onSelectChange }, }); diff --git a/src/components/common/supplierListModal.vue b/src/components/common/supplierListModal.vue new file mode 100644 index 0000000..795d388 --- /dev/null +++ b/src/components/common/supplierListModal.vue @@ -0,0 +1,140 @@ + + + diff --git a/src/views/sales/ScoreCustomer/components/createForm.vue b/src/views/sales/ScoreCustomer/components/createForm.vue index 30ef611..ec564c3 100644 --- a/src/views/sales/ScoreCustomer/components/createForm.vue +++ b/src/views/sales/ScoreCustomer/components/createForm.vue @@ -5,8 +5,8 @@ - - + + @@ -61,7 +61,7 @@ - + @@ -84,7 +84,6 @@ import UploadList from '/@/components/Form/src/components/UploadList.vue'; import customerListModal from '/@/components/common/customerListModal.vue'; import { getUserInfo } from '/@/api/system/login'; -import { Rect } from '@grapecity/activereports/reportviewer'; const tableName = 'ScoreCustomer'; const columnName = 'ScoreCustomer' @@ -121,7 +120,7 @@ import { Rect } from '@grapecity/activereports/reportviewer'; const userInfo = reactive({}) const [register, { openModal:openModal}] = useModal(); const rules: Record = { - cpCode: [{ required: true, message: "该项为必填项", trigger: 'change' }], + cpCodeName: [{ required: true, message: "该项为必填项", trigger: 'change' }], gsId: [{ required: true, message: "该项为必填项", trigger: 'change' }], }; const layout = { @@ -201,6 +200,7 @@ import { Rect } from '@grapecity/activereports/reportviewer'; const handleSuccess = (val) => { formState.cpCode = val[0].cuCode formState.classCode = val[0].classCode + formState.cpCodeName = val[0].cuName } async function gsIdChange (val) { const res = await getLngGradeSystem(val) @@ -208,6 +208,7 @@ import { Rect } from '@grapecity/activereports/reportviewer'; dataList.value.forEach(v => { v.aTime = dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss') v.aEmpCode = userInfo.name + v.gsiId = v.id }) } const numChagne = (type, record, index) => { diff --git a/src/views/sales/ScoreCustomer/index.vue b/src/views/sales/ScoreCustomer/index.vue index 84e8cea..bcd7c4a 100644 --- a/src/views/sales/ScoreCustomer/index.vue +++ b/src/views/sales/ScoreCustomer/index.vue @@ -111,7 +111,7 @@ const visibleFlowRecordModal = ref(false); const [registerModal, { openModal }] = useModal(); const formName='客户评价'; - const [registerTable, { reload, }] = useTable({ + const [registerTable, { reload, clearSelectedRowKeys }] = useTable({ title: '' || (formName + '列表'), api: getLngScorePage, rowKey: 'id', @@ -128,6 +128,7 @@ return { ...params, FormId: formIdComputedRef.value, PK: 'id' }; }, afterFetch: (res) => { + clearSelectedRowKeys() tableRef.value.setToolBarWidth(); }, @@ -152,14 +153,15 @@ if (!actionButtonConfig?.value.some(element => element.code == 'view')) { return; } - const { processId, taskIds, schemaId } = record.workflowData || {}; + const { processId, taskIds, schemaId, status } = record.workflowData || {}; if (taskIds && taskIds.length) { router.push({ path: '/flow/' + schemaId + '/' + (processId || '') + '/approveFlow', query: { taskId: taskIds[0], formName: formName, - formId:currentRoute.value.meta.formId + formId:currentRoute.value.meta.formId, + id: record.id } }); } else if (schemaId && !taskIds && processId) { @@ -169,18 +171,33 @@ readonly: 1, taskId: '', formName: formName, - formId:currentRoute.value.meta.formId + formId:currentRoute.value.meta.formId, + id: record.id, + status } }); } else { - router.push({ - path: '/form/ScoreCustomer/' + record.id + '/viewForm', - query: { - formPath: 'sales/ScoreCustomer', - formName: formName, - formId:currentRoute.value.meta.formId - } - }); + if (schemaIdComputedRef.value) { + router.push({ + path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow', + query: { + formPath: 'sales/ScoreCustomer', + formName: formName, + formId:currentRoute.value.meta.formId, + type:'edit', + id: record.id, + disabled: 1, + } + }); + } + // router.push({ + // path: '/form/ScoreCustomer/' + record.id + '/viewForm', + // query: { + // formPath: 'sales/ScoreCustomer', + // formName: formName, + // formId:currentRoute.value.meta.formId + // } + // }); } } @@ -211,15 +228,27 @@ } function handleEdit(record: Recordable) { - - router.push({ - path: '/form/ScoreCustomer/' + record.id + '/updateForm', - query: { + if (schemaIdComputedRef.value) { + router.push({ + path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow', + query: { formPath: 'sales/ScoreCustomer', formName: formName, - formId:currentRoute.value.meta.formId - } - }); + formId:currentRoute.value.meta.formId, + type:'edit', + id: record.id + } + }); + } else { + router.push({ + path: '/form/ScoreCustomer/' + record.id + '/updateForm', + query: { + formPath: 'sales/ScoreCustomer', + formName: formName, + formId:currentRoute.value.meta.formId + } + }); + } } function handleDelete(record: Recordable) { deleteList([record.id]); diff --git a/src/views/secondDev/customFormConfig.ts b/src/views/secondDev/customFormConfig.ts index 9fa945b..a0e1165 100644 --- a/src/views/secondDev/customFormConfig.ts +++ b/src/views/secondDev/customFormConfig.ts @@ -1,5 +1,5 @@ export const customFormConfig = { - codeList: ['addCustomer','addSupplier', 'addCustomerScore'], + codeList: ['addCustomer','addSupplier', 'addCustomerScore', 'addSupplierScore'], router: [ {code: 'addCustomer', src: ''} ] diff --git a/src/views/supplier/ScoreSupplier/components/createForm.vue b/src/views/supplier/ScoreSupplier/components/createForm.vue new file mode 100644 index 0000000..18080bd --- /dev/null +++ b/src/views/supplier/ScoreSupplier/components/createForm.vue @@ -0,0 +1,288 @@ + + + + + diff --git a/src/views/supplier/ScoreSupplier/index.vue b/src/views/supplier/ScoreSupplier/index.vue index a8930d5..cad6797 100644 --- a/src/views/supplier/ScoreSupplier/index.vue +++ b/src/views/supplier/ScoreSupplier/index.vue @@ -111,7 +111,7 @@ const visibleFlowRecordModal = ref(false); const [registerModal, { openModal }] = useModal(); const formName='供应商评价'; - const [registerTable, { reload, }] = useTable({ + const [registerTable, { reload, clearSelectedRowKeys }] = useTable({ title: '' || (formName + '列表'), api: getLngScorePage, rowKey: 'id', @@ -128,6 +128,7 @@ return { ...params, FormId: formIdComputedRef.value, PK: 'id' }; }, afterFetch: (res) => { + clearSelectedRowKeys() tableRef.value.setToolBarWidth(); }, @@ -152,14 +153,15 @@ if (!actionButtonConfig?.value.some(element => element.code == 'view')) { return; } - const { processId, taskIds, schemaId } = record.workflowData || {}; + const { processId, taskIds, schemaId,status } = record.workflowData || {}; if (taskIds && taskIds.length) { router.push({ path: '/flow/' + schemaId + '/' + (processId || '') + '/approveFlow', query: { taskId: taskIds[0], formName: formName, - formId:currentRoute.value.meta.formId + formId:currentRoute.value.meta.formId, + id: record.id } }); } else if (schemaId && !taskIds && processId) { @@ -169,18 +171,33 @@ readonly: 1, taskId: '', formName: formName, - formId:currentRoute.value.meta.formId + formId:currentRoute.value.meta.formId, + id: record.id, + status } }); } else { - router.push({ - path: '/form/ScoreSupplier/' + record.id + '/viewForm', - query: { - formPath: 'supplier/ScoreSupplier', - formName: formName, - formId:currentRoute.value.meta.formId - } - }); + if (schemaIdComputedRef.value) { + router.push({ + path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow', + query: { + formPath: 'supplier/ScoreSupplier', + formName: formName, + formId:currentRoute.value.meta.formId, + type:'edit', + id: record.id, + disabled: 1, + } + }); + } + // router.push({ + // path: '/form/ScoreSupplier/' + record.id + '/viewForm', + // query: { + // formPath: 'supplier/ScoreSupplier', + // formName: formName, + // formId:currentRoute.value.meta.formId + // } + // }); } } @@ -211,15 +228,27 @@ } function handleEdit(record: Recordable) { - - router.push({ - path: '/form/ScoreSupplier/' + record.id + '/updateForm', - query: { + if (schemaIdComputedRef.value) { + router.push({ + path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow', + query: { formPath: 'supplier/ScoreSupplier', formName: formName, - formId:currentRoute.value.meta.formId - } - }); + formId:currentRoute.value.meta.formId, + type:'edit', + id: record.id + } + }); + } else { + router.push({ + path: '/form/ScoreSupplier/' + record.id + '/updateForm', + query: { + formPath: 'supplier/ScoreSupplier', + formName: formName, + formId:currentRoute.value.meta.formId + } + }); + } } function handleDelete(record: Recordable) { deleteList([record.id]); diff --git a/src/views/supplier/Supplier/index.vue b/src/views/supplier/Supplier/index.vue index f10582f..9c44aa7 100644 --- a/src/views/supplier/Supplier/index.vue +++ b/src/views/supplier/Supplier/index.vue @@ -111,7 +111,7 @@ const visibleFlowRecordModal = ref(false); const [registerModal, { openModal }] = useModal(); const formName='供应商'; - const [registerTable, { reload, }] = useTable({ + const [registerTable, { reload, clearSelectedRowKeys }] = useTable({ title: '' || (formName + '列表'), api: getLngSupplierPage, rowKey: 'id', @@ -128,6 +128,7 @@ return { ...params, FormId: formIdComputedRef.value, PK: 'id' }; }, afterFetch: (res) => { + clearSelectedRowKeys() tableRef.value.setToolBarWidth(); }, @@ -152,7 +153,7 @@ if (!actionButtonConfig?.value.some(element => element.code == 'view')) { return; } - const { processId, taskIds, schemaId } = record.workflowData || {}; + const { processId, taskIds, schemaId, status } = record.workflowData || {}; if (taskIds && taskIds.length) { router.push({ path: '/flow/' + schemaId + '/' + (processId || '') + '/approveFlow',