From 3c71f0be6f51be4a4aaf72c38149dfbed7969e9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=98huanghaiixia=E2=80=99?= <980486410@.com> Date: Mon, 19 Jan 2026 17:55:47 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E8=AE=A1=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ContractFact/components/createForm.vue | 2 +- .../PngMeasureSalesPur/components/config.ts | 35 +++-- .../components/createForm.vue | 136 +++--------------- .../components/searchForm.vue | 120 ++++++++++++++++ .../dayPlan/PngMeasureSalesPur/index.vue | 40 +++++- 5 files changed, 201 insertions(+), 132 deletions(-) create mode 100644 src/views/dayPlan/PngMeasureSalesPur/components/searchForm.vue diff --git a/src/views/contract/ContractFact/components/createForm.vue b/src/views/contract/ContractFact/components/createForm.vue index c757ac8..a3f7423 100644 --- a/src/views/contract/ContractFact/components/createForm.vue +++ b/src/views/contract/ContractFact/components/createForm.vue @@ -164,7 +164,7 @@ - + diff --git a/src/views/dayPlan/PngMeasureSalesPur/components/config.ts b/src/views/dayPlan/PngMeasureSalesPur/components/config.ts index 568299a..7e23408 100644 --- a/src/views/dayPlan/PngMeasureSalesPur/components/config.ts +++ b/src/views/dayPlan/PngMeasureSalesPur/components/config.ts @@ -51,10 +51,25 @@ export const columns: BasicColumn[] = [ sorter: true, }, - { dataIndex: 'cuSname', - title: '供应商简称', + title: '客户', + componentType: 'input', + align: 'left', + + sorter: true, + }, + { + dataIndex: 'pointDelyName', + title: '下载点', + componentType: 'input', + align: 'left', + + sorter: true, + }, + { + dataIndex: 'suSname', + title: '供应商', componentType: 'input', align: 'left', @@ -70,15 +85,6 @@ export const columns: BasicColumn[] = [ sorter: true, }, - { - dataIndex: 'pointDelyName', - title: '下载点', - componentType: 'input', - align: 'left', - - sorter: true, - }, - { dataIndex: 'qtySalesGj', title: '批复量(吉焦)', @@ -159,7 +165,14 @@ export const columns: BasicColumn[] = [ sorter: true, }, + { + dataIndex: 'ksNmae', + title: '销售合同', + componentType: 'input', + align: 'left', + sorter: true, + }, { dataIndex: 'kpName', title: '采购合同', diff --git a/src/views/dayPlan/PngMeasureSalesPur/components/createForm.vue b/src/views/dayPlan/PngMeasureSalesPur/components/createForm.vue index 67886c8..1649e0c 100644 --- a/src/views/dayPlan/PngMeasureSalesPur/components/createForm.vue +++ b/src/views/dayPlan/PngMeasureSalesPur/components/createForm.vue @@ -9,128 +9,55 @@ 保存 - - - - - - - - - - - - - - - - - - - 搜索 - 重置 - - - - - - - - - - - - - - - - - - - - + + + + diff --git a/src/views/dayPlan/PngMeasureSalesPur/index.vue b/src/views/dayPlan/PngMeasureSalesPur/index.vue index 5d8419f..1b7f4fd 100644 --- a/src/views/dayPlan/PngMeasureSalesPur/index.vue +++ b/src/views/dayPlan/PngMeasureSalesPur/index.vue @@ -54,7 +54,7 @@ import { Modal } from 'ant-design-vue'; import { ExclamationCircleOutlined } from '@ant-design/icons-vue'; import { BasicTable, useTable, TableAction, ActionItem } from '/@/components/Table'; - import { getLngPngMeasureSalesPurPage, deleteLngPngMeasureSalesPur, exportLngPngMeasureSalesPur} from '/@/api/dayPlan/PngMeasureSalesPur'; + import { getLngPngMeasureSalesPurPage, deleteLngPngMeasureSalesPur, exportLngPngMeasureSalesPur, addLngPngMeasureSalesPur, updateLngPngMeasureSalesPur} from '/@/api/dayPlan/PngMeasureSalesPur'; import { PageWrapper } from '/@/components/Page'; import { useMessage } from '/@/hooks/web/useMessage'; import { useI18n } from '/@/hooks/web/useI18n'; @@ -62,7 +62,6 @@ import { useFormConfig } from '/@/hooks/web/useFormConfig'; import { useRouter } from 'vue-router'; import { setIndexFlowStatus } from '/@/utils/flow/index' - import { getLngPngMeasureSalesPur } from '/@/api/dayPlan/PngMeasureSalesPur'; import { useModal } from '/@/components/Modal'; import PngMeasureSalesPurModal from './components/PngMeasureSalesPurModal.vue'; import { ImportModal } from '/@/components/Import'; @@ -90,7 +89,7 @@ const tableRef = ref(); //所有按钮 - const buttons = ref([{"isUse":true,"name":"新增","code":"add","icon":"ant-design:plus-outlined","isDefault":true,"type":"primary"},{"isUse":true,"name":"保存","code":"save","icon":"ant-design:save-outlined","isDefault":false},{"isUse":true,"name":"保存并确认","code":"submit","icon":"ant-design:check-outlined","isDefault":false},{"isUse":true,"name":"取消确认","code":"cancel","icon":"ant-design:rollback-outlined","isDefault":false},{"isUse":true,"name":"导出","code":"export","icon":"ant-design:export-outlined","isDefault":true},{"isUse":true,"name":"导入","code":"import","icon":"ant-design:import-outlined","isDefault":true},{"isUse":true,"name":"删除","code":"batchdelete","icon":"ant-design:delete-outlined","isDefault":true},{"isUse":true,"name":"刷新","code":"refresh","icon":"ant-design:reload-outlined","isDefault":true}]); + const buttons = ref([{"isUse":true,"name":"新增","code":"add","icon":"ant-design:plus-outlined","isDefault":true,"type":"primary"},{"isUse":true,"name":"保存","code":"save","icon":"ant-design:save-outlined","isDefault":true},{"isUse":true,"name":"保存并确认","code":"submit","icon":"ant-design:check-outlined","isDefault":true},{"isUse":true,"name":"取消确认","code":"cancel","icon":"ant-design:rollback-outlined","isDefault":true},{"isUse":true,"name":"驳回","code":"reject","icon":"ant-design:stop-outlined","isDefault":true},{"isUse":true,"name":"导出","code":"export","icon":"ant-design:export-outlined","isDefault":true},{"isUse":true,"name":"导入","code":"import","icon":"ant-design:import-outlined","isDefault":true},{"isUse":true,"name":"删除","code":"batchdelete","icon":"ant-design:delete-outlined","isDefault":true},{"isUse":true,"name":"刷新","code":"refresh","icon":"ant-design:reload-outlined","isDefault":true}]); //展示在列表内的按钮 const actionButtons = ref(['view', 'edit','datalog', 'copyData', 'delete', 'startwork','flowRecord']); const buttonConfigs = computed(()=>{ @@ -105,7 +104,7 @@ return buttonConfigs.value?.filter((x) => actionButtons.value.includes(x.code)); }); - const btnEvent = {add : handleAdd, refresh : handleRefresh,batchdelete : handleBatchdelete,import : handleImport,export : handleExport,} + const btnEvent = {add : handleAdd, refresh : handleRefresh,batchdelete : handleBatchdelete,import : handleImport,export : handleExport, save: handleSave, submit: handleSubmit} const { currentRoute } = useRouter(); const router = useRouter(); @@ -211,6 +210,39 @@ } }); + } + async function handleSubmit() { + if (!selectedRowsData.value.length) { + notification.warning({ + message: 'Tip', + description: t('请选择需要确认的数据'), + }); + return; + } + await updateLngPngMeasureSalesPur(selectedRowsData.value) + handleSuccess(); + notification.success({ + message: 'Tip', + description: t('确认成功!'), + }); + clearSelectedRowKeys() + } + async function handleSave() { + if (!selectedRowsData.value.length) { + notification.warning({ + message: 'Tip', + description: t('请选择需要保存的数据'), + }); + return; + } + await addLngPngMeasureSalesPur(selectedRowsData.value) + handleSuccess(); + notification.success({ + message: 'Tip', + description: t('保存成功!'), + }); + clearSelectedRowKeys() + } function dbClickRow(record) { if (!actionButtonConfig?.value.some(element => element.code == 'view')) { From 8599ef3c9a31bdedd2e9224b04cea46bda8be518 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=98huanghaiixia=E2=80=99?= <980486410@.com> Date: Tue, 20 Jan 2026 10:05:13 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E8=AE=A1=E9=87=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/dayPlan/PngMeasureSalesPur/index.ts | 31 ++- .../PngMeasureSalesPur/components/config.ts | 12 +- .../components/searchForm.vue | 38 ++- .../dayPlan/PngMeasureSalesPur/index.vue | 222 +++++++++++------- 4 files changed, 209 insertions(+), 94 deletions(-) diff --git a/src/api/dayPlan/PngMeasureSalesPur/index.ts b/src/api/dayPlan/PngMeasureSalesPur/index.ts index 8035293..a15b2f1 100644 --- a/src/api/dayPlan/PngMeasureSalesPur/index.ts +++ b/src/api/dayPlan/PngMeasureSalesPur/index.ts @@ -11,8 +11,37 @@ enum Api { PageAdd = '/magic-api/dayPlan/dayPlanSelectList', Export = '/dayPlan/pngMeasureSalesPur/export', + Cancel = '/dayPlan/pngMeasureSalesPur/cancel', + Reject = '/dayPlan/pngMeasureSalesPur/reject' - +} +/** + * @description: 驳回LngPngMeasureSalesPur + */ +export async function rejectLngPngMeasureSalesPur(lngPngMeasureSalesPur: Recordable, mode: ErrorMessageMode = 'modal') { + return defHttp.post( + { + url: Api.Reject, + params: lngPngMeasureSalesPur, + }, + { + errorMessageMode: mode, + }, + ); +} +/** + * @description: 取消LngPngMeasureSalesPur + */ +export async function cancelLngPngMeasureSalesPur(lngPngMeasureSalesPur: Recordable, mode: ErrorMessageMode = 'modal') { + return defHttp.post( + { + url: Api.Cancel, + params: lngPngMeasureSalesPur, + }, + { + errorMessageMode: mode, + }, + ); } /** * @description: 查询LngPngMeasureSalesPur分页列表 diff --git a/src/views/dayPlan/PngMeasureSalesPur/components/config.ts b/src/views/dayPlan/PngMeasureSalesPur/components/config.ts index 7e23408..81a2fef 100644 --- a/src/views/dayPlan/PngMeasureSalesPur/components/config.ts +++ b/src/views/dayPlan/PngMeasureSalesPur/components/config.ts @@ -39,7 +39,7 @@ export const columns: BasicColumn[] = [ title: '计划日期', componentType: 'input', align: 'left', - + width: 100, sorter: true, }, @@ -48,7 +48,7 @@ export const columns: BasicColumn[] = [ title: '计量日期', componentType: 'input', align: 'left', - + width: 100, sorter: true, }, { @@ -135,7 +135,7 @@ export const columns: BasicColumn[] = [ title: '客户确认人', componentType: 'input', align: 'left', - + width: 110, sorter: true, }, @@ -144,7 +144,7 @@ export const columns: BasicColumn[] = [ title: '客户确认时间', componentType: 'input', align: 'left', - + width: 150, sorter: true, }, @@ -153,7 +153,7 @@ export const columns: BasicColumn[] = [ title: '内部确认人', componentType: 'input', align: 'left', - + width: 110, sorter: true, }, @@ -162,7 +162,7 @@ export const columns: BasicColumn[] = [ title: '内部确认时间', componentType: 'input', align: 'left', - + width: 150, sorter: true, }, { diff --git a/src/views/dayPlan/PngMeasureSalesPur/components/searchForm.vue b/src/views/dayPlan/PngMeasureSalesPur/components/searchForm.vue index f98a258..018da32 100644 --- a/src/views/dayPlan/PngMeasureSalesPur/components/searchForm.vue +++ b/src/views/dayPlan/PngMeasureSalesPur/components/searchForm.vue @@ -8,12 +8,12 @@ - + - + @@ -61,6 +61,7 @@ import downloadPointModal from '/@/components/common/downloadPointModal.vue'; import { Button as AButton, ButtonProps } from '/@/components/Button'; import { BasicArrow } from '/@/components/Basic'; +import { dE } from '@fullcalendar/core/internal-common'; const userStore = useUserStore(); @@ -85,9 +86,10 @@ }); - const emit = defineEmits(['search', 'reset']); + const emit = defineEmits(['search', 'reset', 'toggle']); function toggleAdvanced() { isAdvanced.value = !isAdvanced.value + emit('toggle', isAdvanced.value) } const onSearchDownLoad = (val)=> { openModal(true,{isUpdate: false, type: val}) @@ -102,7 +104,18 @@ } } const onSearch = () => { - emit('search', formState.value) + let obj = { + ...formState.value, + startDate: formState.value.datePlan[0], + endDate: formState.value.datePlan[0], + dateMeaStart: formState.value.dateMea[0], + dateMeaEnd: formState.value.dateMea[1], + } + delete obj.datePlan + delete obj.dateMea + delete obj.pointUpName + delete obj.pointDelyName + emit('search', obj) } const onReset = () => { formState.value ={ page: 1,size: 10} @@ -117,4 +130,21 @@ display: flex; align-items: center; } + .ant-form-item { + margin-bottom: 8px !important; + } + :deep( .ant-col-6) { + width: 320px !important; + max-width: 320px !important;; + } + :deep(.ant-col-6 .ant-form-item-label) { + width: 70px !important; + max-width: 70px !important; + } + :deep(.ant-col-6 .ant-form-item-control) { + width: 240px !important; + max-width: 240px !important; + } + + diff --git a/src/views/dayPlan/PngMeasureSalesPur/index.vue b/src/views/dayPlan/PngMeasureSalesPur/index.vue index 1b7f4fd..d2f93eb 100644 --- a/src/views/dayPlan/PngMeasureSalesPur/index.vue +++ b/src/views/dayPlan/PngMeasureSalesPur/index.vue @@ -1,43 +1,60 @@