From ee57286c0508741fa7253ae29c8c91ebc3fcd572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=98huanghaiixia=E2=80=99?= <980486410@.com> Date: Mon, 16 Mar 2026 17:52:36 +0800 Subject: [PATCH] =?UTF-8?q?lng=E8=AE=A1=E5=88=92=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/dayPlan/LngDemand/index.ts | 3 +- src/api/dayPlan/LngSettleHdr/index.ts | 89 +++ .../LngSettleHdr/model/LngSettleHdrModel.ts | 62 ++ src/router/routes/basic.ts | 8 + .../dayPlan/LngAppro/components/config.ts | 113 +--- src/views/dayPlan/LngAppro/index.vue | 41 +- .../LngDemand/components/basicForm.vue | 332 ++++++++++ .../dayPlan/LngDemand/components/config.ts | 96 +-- .../LngDemand/components/createForm.vue | 203 +++++++ src/views/dayPlan/LngDemand/index.vue | 89 ++- .../LngMeasurePur/components/config.ts | 37 +- src/views/dayPlan/LngMeasurePur/index.vue | 310 ++++++++-- .../LngMeasureSales/components/config.ts | 11 +- .../components/createFormModal.vue | 251 ++++++++ src/views/dayPlan/LngMeasureSales/index.vue | 302 +++++++--- .../dayPlan/LngSettleHdr/components/Form.vue | 224 +++++++ .../components/LngSettleHdrModal.vue | 110 ++++ .../dayPlan/LngSettleHdr/components/config.ts | 568 ++++++++++++++++++ .../LngSettleHdr/components/createForm.vue | 399 ++++++++++++ .../components/workflowPermission.ts | 167 +++++ src/views/dayPlan/LngSettleHdr/index.vue | 408 +++++++++++++ 21 files changed, 3505 insertions(+), 318 deletions(-) create mode 100644 src/api/dayPlan/LngSettleHdr/index.ts create mode 100644 src/api/dayPlan/LngSettleHdr/model/LngSettleHdrModel.ts create mode 100644 src/views/dayPlan/LngDemand/components/basicForm.vue create mode 100644 src/views/dayPlan/LngDemand/components/createForm.vue create mode 100644 src/views/dayPlan/LngMeasureSales/components/createFormModal.vue create mode 100644 src/views/dayPlan/LngSettleHdr/components/Form.vue create mode 100644 src/views/dayPlan/LngSettleHdr/components/LngSettleHdrModal.vue create mode 100644 src/views/dayPlan/LngSettleHdr/components/config.ts create mode 100644 src/views/dayPlan/LngSettleHdr/components/createForm.vue create mode 100644 src/views/dayPlan/LngSettleHdr/components/workflowPermission.ts create mode 100644 src/views/dayPlan/LngSettleHdr/index.vue diff --git a/src/api/dayPlan/LngDemand/index.ts b/src/api/dayPlan/LngDemand/index.ts index 971729a..6cab818 100644 --- a/src/api/dayPlan/LngDemand/index.ts +++ b/src/api/dayPlan/LngDemand/index.ts @@ -3,7 +3,8 @@ import { defHttp } from '/@/utils/http/axios'; import { ErrorMessageMode } from '/#/axios'; enum Api { - Page = '/dayPlan/lngDemand/page', + // Page = '/dayPlan/lngDemand/page', + Page = '/magic-api/dayPlan/lngDemand/page', List = '/dayPlan/lngDemand/list', Info = '/dayPlan/lngDemand/info', LngLngDemand = '/dayPlan/lngDemand', diff --git a/src/api/dayPlan/LngSettleHdr/index.ts b/src/api/dayPlan/LngSettleHdr/index.ts new file mode 100644 index 0000000..d6d4a65 --- /dev/null +++ b/src/api/dayPlan/LngSettleHdr/index.ts @@ -0,0 +1,89 @@ +import { LngLngSettleHdrPageModel, LngLngSettleHdrPageParams, LngLngSettleHdrPageResult } from './model/LngSettleHdrModel'; +import { defHttp } from '/@/utils/http/axios'; +import { ErrorMessageMode } from '/#/axios'; + +enum Api { + Page = '/dayPlan/lngSettleHdr/page', + List = '/dayPlan/lngSettleHdr/list', + Info = '/dayPlan/lngSettleHdr/info', + LngLngSettleHdr = '/dayPlan/lngSettleHdr', + + + + +} + +/** + * @description: 查询LngLngSettleHdr分页列表 + */ +export async function getLngLngSettleHdrPage(params: LngLngSettleHdrPageParams, mode: ErrorMessageMode = 'modal') { + return defHttp.get( + { + url: Api.Page, + params, + }, + { + errorMessageMode: mode, + }, + ); +} + +/** + * @description: 获取LngLngSettleHdr信息 + */ +export async function getLngLngSettleHdr(id: String, mode: ErrorMessageMode = 'modal') { + return defHttp.get( + { + url: Api.Info, + params: { id }, + }, + { + errorMessageMode: mode, + }, + ); +} + +/** + * @description: 新增LngLngSettleHdr + */ +export async function addLngLngSettleHdr(lngLngSettleHdr: Recordable, mode: ErrorMessageMode = 'modal') { + return defHttp.post( + { + url: Api.LngLngSettleHdr, + params: lngLngSettleHdr, + }, + { + errorMessageMode: mode, + }, + ); +} + +/** + * @description: 更新LngLngSettleHdr + */ +export async function updateLngLngSettleHdr(lngLngSettleHdr: Recordable, mode: ErrorMessageMode = 'modal') { + return defHttp.put( + { + url: Api.LngLngSettleHdr, + params: lngLngSettleHdr, + }, + { + errorMessageMode: mode, + }, + ); +} + +/** + * @description: 删除LngLngSettleHdr(批量删除) + */ +export async function deleteLngLngSettleHdr(ids: string[], mode: ErrorMessageMode = 'modal') { + return defHttp.delete( + { + url: Api.LngLngSettleHdr, + data: ids, + }, + { + errorMessageMode: mode, + }, + ); +} \ No newline at end of file diff --git a/src/api/dayPlan/LngSettleHdr/model/LngSettleHdrModel.ts b/src/api/dayPlan/LngSettleHdr/model/LngSettleHdrModel.ts new file mode 100644 index 0000000..edd22a1 --- /dev/null +++ b/src/api/dayPlan/LngSettleHdr/model/LngSettleHdrModel.ts @@ -0,0 +1,62 @@ +import { BasicPageParams, BasicFetchResult } from '/@/api/model/baseModel'; + +/** + * @description: LngLngSettleHdr分页参数 模型 + */ +export interface LngLngSettleHdrPageParams extends BasicPageParams { + id: string; + + settleMonth: string; + + dateFrom: string; + + dateTo: string; + + cpCode: string; + + qtySettleTon: string; + + amount: string; + + comId: string; + + settleDesc: string; + + deptId: string; + + approCode: string; +} + +/** + * @description: LngLngSettleHdr分页返回值模型 + */ +export interface LngLngSettleHdrPageModel { + id: string; + + settleMonth: string; + + dateFrom: string; + + dateTo: string; + + cpCode: string; + + qtySettleTon: string; + + amount: string; + + comId: string; + + settleDesc: string; + + deptId: string; + + approCode: string; +} + +0; + +/** + * @description: LngLngSettleHdr分页返回值结构 + */ +export type LngLngSettleHdrPageResult = BasicFetchResult; \ No newline at end of file diff --git a/src/router/routes/basic.ts b/src/router/routes/basic.ts index a248ab2..eaabc67 100644 --- a/src/router/routes/basic.ts +++ b/src/router/routes/basic.ts @@ -342,6 +342,14 @@ export const PAGE_CUSTOM_ROUTE: AppRouteRecordRaw[] = [{ title: (route) => route.query.formName } }, + { + path: '/dayPlan/LngDemand/createForm', + name: 'LngDemand', + component: () => import('/@/views/dayPlan/LngDemand/components/createForm.vue'), + meta: { + title: (route) => route.query.formName + } + }, ] diff --git a/src/views/dayPlan/LngAppro/components/config.ts b/src/views/dayPlan/LngAppro/components/config.ts index 9c441c4..170d290 100644 --- a/src/views/dayPlan/LngAppro/components/config.ts +++ b/src/views/dayPlan/LngAppro/components/config.ts @@ -6,30 +6,15 @@ export const formConfig = { }; export const searchFormSchema: FormSchema[] = [ - { - field: 'id', - label: 'Id', - component: 'Input', - }, - { - field: 'verNo', - label: '版本号', - component: 'Input', - }, { field: 'datePlan', label: '计划日期', - component: 'Input', - }, - { - field: 'cuCode', - label: '客户简称', - component: 'Input', - }, - { - field: 'staCode', - label: '气源地', - component: 'Input', + component: 'RangePicker', + componentProps: { + format: 'YYYY-MM-DD', + style: { width: '100%' }, + getPopupContainer: () => document.body, + }, }, { field: 'noTractor', @@ -42,71 +27,37 @@ export const searchFormSchema: FormSchema[] = [ component: 'Input', }, { - field: 'idNoDriver', - label: '驾驶员身份证号', + field: 'kName', + label: '销售合同名称/编码', component: 'Input', }, - { - field: 'nameDriver', - label: '驾驶员姓名', - component: 'Input', - }, - { - field: 'phoneDriver', - label: '驾驶员手机号', - component: 'Input', - }, - { - field: 'idNoEscort', - label: '押运员身份证号', - component: 'Input', - }, - { - field: 'nameEscort', - label: '押运员姓名', - component: 'Input', - }, - { - field: 'phoneEscort', - label: '押运员手机号', - component: 'Input', - }, - { - field: 'carrCode', - label: '承运商', - component: 'Input', - }, - { - field: 'ksId', - label: '销售合同', - component: 'Input', - }, - { - field: 'unloadingName', - label: '卸货站点', - component: 'Input', - }, - { - field: 'alterSign', - label: '变更', + { + field: 'staName', + label: '气源地名称', component: 'Input', }, { field: 'approCode', label: '审批状态', - component: 'Input', + component: 'Select', + componentProps: { + showSearch: true, + optionFilterProp: 'label', + filterOption: (input: string, option: any) => { + return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0; + }, + options: [ + // { label: '全部', value: '' }, + ], + placeholder: '请选择', + allowClear: true, + + getPopupContainer: () => document.body, + }, }, ]; export const columns: BasicColumn[] = [ - { - dataIndex: 'id', - title: 'Id', - componentType: 'input', - align: 'left', - - sorter: true, - }, { dataIndex: 'verNo', @@ -127,7 +78,7 @@ export const columns: BasicColumn[] = [ }, { - dataIndex: 'cuCode', + dataIndex: 'cuSname', title: '客户简称', componentType: 'input', align: 'left', @@ -136,7 +87,7 @@ export const columns: BasicColumn[] = [ }, { - dataIndex: 'staCode', + dataIndex: 'staName', title: '气源地', componentType: 'input', align: 'left', @@ -217,7 +168,7 @@ export const columns: BasicColumn[] = [ }, { - dataIndex: 'carrCode', + dataIndex: 'carrName', title: '承运商', componentType: 'input', align: 'left', @@ -226,7 +177,7 @@ export const columns: BasicColumn[] = [ }, { - dataIndex: 'ksId', + dataIndex: 'ksName', title: '销售合同', componentType: 'input', align: 'left', @@ -244,7 +195,7 @@ export const columns: BasicColumn[] = [ }, { - dataIndex: 'alterSign', + dataIndex: 'alterName', title: '变更', componentType: 'input', align: 'left', @@ -253,7 +204,7 @@ export const columns: BasicColumn[] = [ }, { - dataIndex: 'approCode', + dataIndex: 'approName', title: '审批状态', componentType: 'input', align: 'left', diff --git a/src/views/dayPlan/LngAppro/index.vue b/src/views/dayPlan/LngAppro/index.vue index 8d5bb01..9f26d82 100644 --- a/src/views/dayPlan/LngAppro/index.vue +++ b/src/views/dayPlan/LngAppro/index.vue @@ -29,9 +29,7 @@ const logId = ref('') const logPath = ref('/dayPlan/lngAppro/datalog'); import { DataLog } from '/@/components/pcitc'; - import { ref, computed, onMounted, onUnmounted, - -} from 'vue'; + import { ref, computed, onMounted, onUnmounted, } from 'vue'; import { BasicTable, useTable, TableAction, ActionItem } from '/@/components/Table'; import { getLngLngApproPage, deleteLngLngAppro} from '/@/api/dayPlan/LngAppro'; @@ -66,13 +64,15 @@ //所有按钮 const buttons = ref([{"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":"datalog","icon":"ant-design:profile-outlined","isDefault":true},{"isUse":true,"name":"审批","code":"approve","icon":"ant-design:check-outlined","isDefault":true},{"isUse":true,"name":"对比","code":"compare","icon":"ant-design:file-done-outlined","isDefault":false}]); //展示在列表内的按钮 - const actionButtons = ref(['view', 'edit','datalog', 'copyData', 'delete', 'startwork','flowRecord']); + const actionButtons = ref(['view', 'edit','datalog', 'copyData', 'delete', 'startwork','flowRecord','compare','approve']); const buttonConfigs = computed(()=>{ return filterButtonAuth(buttons.value); }) const tableButtonConfig = computed(() => { - return buttonConfigs.value?.filter((x) => !actionButtons.value.includes(x.code)); + let arr =[{"isUse":true,"name":"审批","code":"approve","icon":"ant-design:check-outlined","isDefault":true},{"name":"刷新","code":"refresh","icon":"ant-design:reload-outlined","isDefault":true,"isUse":true},] + return arr + // return buttonConfigs.value?.filter((x) => !actionButtons.value.includes(x.code)); }); const actionButtonConfig = computed(() => { @@ -82,13 +82,14 @@ const btnEvent = {refresh : handleRefresh,view : handleView,datalog : handleDatalog,approve : handleApprove,} const { currentRoute } = useRouter(); + const selectedKeys = ref([]) const router = useRouter(); const formIdComputedRef = ref(); formIdComputedRef.value = currentRoute.value.meta.formId const schemaIdComputedRef = ref(); schemaIdComputedRef.value = currentRoute.value.meta.schemaId const [registerModal, { openModal }] = useModal(); - const formName=' LNG调度审批'; + const formName=currentRoute.value.meta?.title; const [registerTable, { reload, }] = useTable({ title: '' || (formName + '列表'), api: getLngLngApproPage, @@ -119,13 +120,19 @@ dataIndex: 'action', slots: { customRender: 'action' }, }, + rowSelection: { + type: 'checkbox', + onChange: onSelectChange + }, tableSetting: { size: false, setting: false, }, }); - + function onSelectChange(rowKeys: string[]) { + selectedKeys.value = rowKeys; + } function dbClickRow(record) { if (!actionButtonConfig?.value.some(element => element.code == 'view')) { return; @@ -255,4 +262,24 @@ .hide{ display: none !important; } + +:deep( .ant-col-8:nth-child(1)) { + width: 320px !important; + max-width: 320px !important; + } + :deep(.ant-col-8:nth-child(1) .ant-form-item-label) { + width: 80px !important; + } + :deep( .ant-col-8:nth-child(4)) { + width: 320px !important; + max-width: 320px !important; + } + :deep(.ant-col-8:nth-child(4) .ant-form-item-label) { + width: 130px !important; + max-width: 130px !important; + } + :deep(.ant-col-8:nth-child(4) .ant-form-item-label label) { + width: 130px !important; + max-width: 130px !important; + } \ No newline at end of file diff --git a/src/views/dayPlan/LngDemand/components/basicForm.vue b/src/views/dayPlan/LngDemand/components/basicForm.vue new file mode 100644 index 0000000..3c63a3b --- /dev/null +++ b/src/views/dayPlan/LngDemand/components/basicForm.vue @@ -0,0 +1,332 @@ + + + + + diff --git a/src/views/dayPlan/LngDemand/components/config.ts b/src/views/dayPlan/LngDemand/components/config.ts index 86b24e7..01a80a1 100644 --- a/src/views/dayPlan/LngDemand/components/config.ts +++ b/src/views/dayPlan/LngDemand/components/config.ts @@ -6,25 +6,15 @@ export const formConfig = { }; export const searchFormSchema: FormSchema[] = [ - { - field: 'id', - label: 'id', - component: 'Input', - }, - { - field: 'verNo', - label: '版本号', - component: 'Input', - }, { field: 'datePlan', label: '计划日期', - component: 'Input', - }, - { - field: 'staCode', - label: '气源地', - component: 'Input', + component: 'RangePicker', + componentProps: { + format: 'YYYY-MM-DD', + style: { width: '100%' }, + getPopupContainer: () => document.body, + }, }, { field: 'noTractor', @@ -37,66 +27,32 @@ export const searchFormSchema: FormSchema[] = [ component: 'Input', }, { - field: 'idNoDriver', - label: '驾驶员身份证号', + field: 'kName', + label: '销售合同名称/编码', component: 'Input', }, - { - field: 'nameDriver', - label: '驾驶员姓名', - component: 'Input', - }, - { - field: 'phoneDriver', - label: '驾驶员手机号', - component: 'Input', - }, - { - field: 'idNoEscort', - label: '押运员身份证号', - component: 'Input', - }, - { - field: 'nameEscort', - label: '押运员姓名', - component: 'Input', - }, - { - field: 'phoneEscort', - label: '押运员手机号', - component: 'Input', - }, - { - field: 'carrCode', - label: '承运商', - component: 'Input', - }, - { - field: 'ksId', - label: '合同', - component: 'Input', - }, - { - field: 'alterSign', - label: '变更', + { + field: 'staName', + label: '气源地名称', component: 'Input', }, { field: 'approCode', label: '审批状态', - component: 'Input', + component: 'XjrSelect', + componentProps: { + datasourceType: 'dic', + params: { itemId: '1990669393069129729' }, + labelField: 'name', + valueField: 'value', + + getPopupContainer: () => document.body, + }, }, + ]; export const columns: BasicColumn[] = [ - { - dataIndex: 'id', - title: 'id', - componentType: 'input', - align: 'left', - - sorter: true, - }, { dataIndex: 'verNo', @@ -117,7 +73,7 @@ export const columns: BasicColumn[] = [ }, { - dataIndex: 'staCode', + dataIndex: 'staName', title: '气源地', componentType: 'input', align: 'left', @@ -198,7 +154,7 @@ export const columns: BasicColumn[] = [ }, { - dataIndex: 'carrCode', + dataIndex: 'carrName', title: '承运商', componentType: 'input', align: 'left', @@ -207,7 +163,7 @@ export const columns: BasicColumn[] = [ }, { - dataIndex: 'ksId', + dataIndex: 'ksName', title: '合同', componentType: 'input', align: 'left', @@ -216,7 +172,7 @@ export const columns: BasicColumn[] = [ }, { - dataIndex: 'alterSign', + dataIndex: 'alterName', title: '变更', componentType: 'input', align: 'left', @@ -225,7 +181,7 @@ export const columns: BasicColumn[] = [ }, { - dataIndex: 'approCode', + dataIndex: 'approName', title: '审批状态', componentType: 'input', align: 'left', diff --git a/src/views/dayPlan/LngDemand/components/createForm.vue b/src/views/dayPlan/LngDemand/components/createForm.vue new file mode 100644 index 0000000..d4b2842 --- /dev/null +++ b/src/views/dayPlan/LngDemand/components/createForm.vue @@ -0,0 +1,203 @@ + + + + + diff --git a/src/views/dayPlan/LngDemand/index.vue b/src/views/dayPlan/LngDemand/index.vue index 1237682..1bd8065 100644 --- a/src/views/dayPlan/LngDemand/index.vue +++ b/src/views/dayPlan/LngDemand/index.vue @@ -1,5 +1,5 @@