From 127d66bb0326e56273c786fc07b7224437cdddde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=98huanghaiixia=E2=80=99?= <980486410@.com> Date: Wed, 11 Feb 2026 10:19:01 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E9=94=80=E7=AE=97=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/routes/basic.ts | 8 +++ .../ContractSales/components/createForm.vue | 11 ++- .../PngSettleHdr/components/createForm.vue | 69 +++++++++++++------ 3 files changed, 65 insertions(+), 23 deletions(-) diff --git a/src/router/routes/basic.ts b/src/router/routes/basic.ts index efcc604..eed9f3f 100644 --- a/src/router/routes/basic.ts +++ b/src/router/routes/basic.ts @@ -294,6 +294,14 @@ export const PAGE_CUSTOM_ROUTE: AppRouteRecordRaw[] = [{ title: (route) => route.query.formName } }, + { + path: '/contract/ContractSales/viewForm', + name: 'ContractSalesviewForm', + component: () => import('/@/views/contract/ContractSales/components/createForm.vue'), + meta: { + title: (route) => ('管道气销售合同详情') + } + }, ] diff --git a/src/views/contract/ContractSales/components/createForm.vue b/src/views/contract/ContractSales/components/createForm.vue index e62eba8..604d0b1 100644 --- a/src/views/contract/ContractSales/components/createForm.vue +++ b/src/views/contract/ContractSales/components/createForm.vue @@ -1,6 +1,6 @@ @@ -247,20 +250,20 @@ try { let data = await getLngPngSettleHdr(id) spinning.value = false - let a = DataFormat.format({...data}, [ - FormatOption.createQty('qtySettleGj'), - FormatOption.createQty('qtySettleM3'), - FormatOption.createAmt('amount'), - ]); - Object.assign(formState, a) + Object.assign(formState, {...data}) Object.assign(dataFile.value, formState.lngFileUploadList || []) Object.assign(dataFileAccount.value, formState.billList || []) Object.assign(dataList.value, formState.lngPngSettleSalesList || []) formState.settleMonth = formState.settleMonth ? dayjs(formState.settleMonth) : null formState.dateFrom = formState.dateFrom ? dayjs(formState.dateFrom) : null formState.dateTo = formState.dateTo ? dayjs(formState.dateTo) : null - - + numFormat() + } catch (error) { + console.log(error, 'error') + spinning.value = false + } + } + const numFormat = () => { dataList.value = DataFormat.format(dataList.value, [ FormatOption.createQty('qtySettleGj'), FormatOption.createQty('qtySettleM3'), @@ -270,11 +273,19 @@ FormatOption.createQty('priceGj',4), FormatOption.createQty('priceM3',4), ]); - - } catch (error) { - console.log(error, 'error') - spinning.value = false + let obj = { + qtySettleGj: formState.qtySettleGj, + qtySettleM3: formState.qtySettleM3, + amount: formState.amount } + let a = DataFormat.format({...obj}, [ + FormatOption.createQty('qtySettleGj'), + FormatOption.createQty('qtySettleM3'), + FormatOption.createAmt('amount'), + ]); + formState.qtySettleGj = a.qtySettleGj + formState.qtySettleM3 = a.qtySettleM3 + formState.amount = a.amount } const comIdChange = (val) => { if (!val)return @@ -335,7 +346,15 @@ }); setTimeout(() => { selectedKeys.value = [] - }, 8000); + numClear() + }, 1000); + } + } + const numClear = () => { + if (!dataList.value.length) { + formState.qtySettleGj = '' + formState.qtySettleM3 = '' + formState.amount = '' } } const handleSuccessMeasure = (val) => { @@ -344,19 +363,29 @@ return } val.forEach(v=> { - dataList.value.forEach(k=> { - if (v.salesId!==k.salesId) { - dataList.value.push(v) - } - }) + let idx = dataList.value.findIndex(k=>k.salesId==v.salesId) + console.log(idx, 5324, val, dataList.value) + idx<0&&dataList.value.push(v) }) } const btnCheck = (record, index, type) => { if (type == 'delete') { dataList.value.splice(index, 1) - } else { + numClear() + } + if (type == 'price'){ openModalPrice(true,{isUpdate: false, record,isDisable: isDisable.value}) } + if (type == 'ksName'){ + router.push({ + path: '/contract/ContractSales/viewForm', + query: { + formPath: 'dayPlan/PngSettleHdr', + id: record.ksId, + disabled: true + } + }); + } } const handleSuccessPrice = (arr, curRecord) => { let qtySettleGj = 0 @@ -400,6 +429,7 @@ formState.qtySettleGj = qtySettleGj.toFixed(3) formState.qtySettleM3 = qtySettleM3.toFixed(3) formState.amount = amount.toFixed(2) + numFormat() } const onSearchCustomer = () => { openModalCustomer(true,{isUpdate: false}) @@ -481,5 +511,4 @@ margin-bottom: 12px; border-bottom: 1px solid #eee; } - From 8383c5909530286eb0d3bf18f7c3b87ef7539c12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=98huanghaiixia=E2=80=99?= <980486410@.com> Date: Wed, 11 Feb 2026 13:50:15 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E9=87=87=E8=B4=AD=E7=BB=93=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/dayPlan/PngSettleHdrPur/index.ts | 90 +++ .../model/PngSettleHdrPurModel.ts | 238 ++++++ .../PngSettleHdr/components/createForm.vue | 3 +- .../PngSettleHdrPur/components/Form.vue | 224 ++++++ .../components/PngSettleHdrPurModal.vue | 110 +++ .../PngSettleHdrPur/components/config.ts | 686 ++++++++++++++++++ .../components/workflowPermission.ts | 225 ++++++ src/views/dayPlan/PngSettleHdrPur/index.vue | 513 +++++++++++++ 8 files changed, 2087 insertions(+), 2 deletions(-) create mode 100644 src/api/dayPlan/PngSettleHdrPur/index.ts create mode 100644 src/api/dayPlan/PngSettleHdrPur/model/PngSettleHdrPurModel.ts create mode 100644 src/views/dayPlan/PngSettleHdrPur/components/Form.vue create mode 100644 src/views/dayPlan/PngSettleHdrPur/components/PngSettleHdrPurModal.vue create mode 100644 src/views/dayPlan/PngSettleHdrPur/components/config.ts create mode 100644 src/views/dayPlan/PngSettleHdrPur/components/workflowPermission.ts create mode 100644 src/views/dayPlan/PngSettleHdrPur/index.vue diff --git a/src/api/dayPlan/PngSettleHdrPur/index.ts b/src/api/dayPlan/PngSettleHdrPur/index.ts new file mode 100644 index 0000000..0d5ce15 --- /dev/null +++ b/src/api/dayPlan/PngSettleHdrPur/index.ts @@ -0,0 +1,90 @@ +import { LngPngSettleHdrPageModel, LngPngSettleHdrPageParams, LngPngSettleHdrPageResult } from './model/PngSettleHdrPurModel'; +import { defHttp } from '/@/utils/http/axios'; +import { ErrorMessageMode } from '/#/axios'; + +enum Api { + Page = '/dayPlan/pngSettleHdrPur/page', + List = '/dayPlan/pngSettleHdrPur/list', + Info = '/dayPlan/pngSettleHdrPur/info', + LngPngSettleHdr = '/dayPlan/pngSettleHdrPur', + + + + + DataLog = '/dayPlan/pngSettleHdrPur/datalog', +} + +/** + * @description: 查询LngPngSettleHdr分页列表 + */ +export async function getLngPngSettleHdrPage(params: LngPngSettleHdrPageParams, mode: ErrorMessageMode = 'modal') { + return defHttp.get( + { + url: Api.Page, + params, + }, + { + errorMessageMode: mode, + }, + ); +} + +/** + * @description: 获取LngPngSettleHdr信息 + */ +export async function getLngPngSettleHdr(id: String, mode: ErrorMessageMode = 'modal') { + return defHttp.get( + { + url: Api.Info, + params: { id }, + }, + { + errorMessageMode: mode, + }, + ); +} + +/** + * @description: 新增LngPngSettleHdr + */ +export async function addLngPngSettleHdr(lngPngSettleHdr: Recordable, mode: ErrorMessageMode = 'modal') { + return defHttp.post( + { + url: Api.LngPngSettleHdr, + params: lngPngSettleHdr, + }, + { + errorMessageMode: mode, + }, + ); +} + +/** + * @description: 更新LngPngSettleHdr + */ +export async function updateLngPngSettleHdr(lngPngSettleHdr: Recordable, mode: ErrorMessageMode = 'modal') { + return defHttp.put( + { + url: Api.LngPngSettleHdr, + params: lngPngSettleHdr, + }, + { + errorMessageMode: mode, + }, + ); +} + +/** + * @description: 删除LngPngSettleHdr(批量删除) + */ +export async function deleteLngPngSettleHdr(ids: string[], mode: ErrorMessageMode = 'modal') { + return defHttp.delete( + { + url: Api.LngPngSettleHdr, + data: ids, + }, + { + errorMessageMode: mode, + }, + ); +} \ No newline at end of file diff --git a/src/api/dayPlan/PngSettleHdrPur/model/PngSettleHdrPurModel.ts b/src/api/dayPlan/PngSettleHdrPur/model/PngSettleHdrPurModel.ts new file mode 100644 index 0000000..43cb4bf --- /dev/null +++ b/src/api/dayPlan/PngSettleHdrPur/model/PngSettleHdrPurModel.ts @@ -0,0 +1,238 @@ +import { BasicPageParams, BasicFetchResult } from '/@/api/model/baseModel'; + +/** + * @description: LngPngSettleHdr分页参数 模型 + */ +export interface LngPngSettleHdrPageParams extends BasicPageParams { + id: string; + + settleMonthStart: string; + settleMonthEnd: string; + + dateFromStart: string; + dateFromEnd: string; + + dateToStart: string; + dateToEnd: string; + + cpCode: string; + + settleDesc: string; + + qtySettleGj: string; + + qtySettleM3: string; + + amount: string; + + note: string; + + approCode: string; +} + +/** + * @description: LngPngSettleHdr分页返回值模型 + */ +export interface LngPngSettleHdrPageModel { + id: string; + + settleMonth: string; + + dateFrom: string; + + dateTo: string; + + cpCode: string; + + settleDesc: string; + + qtySettleGj: string; + + qtySettleM3: string; + + amount: string; + + note: string; + + approCode: string; +} + +/** + * @description: LngPngSettleHdr表类型 + */ +export interface LngPngSettleHdrModel { + id: number; + + settleMonth: string; + + dateFrom: string; + + dateTo: string; + + settleTypeCode: string; + + cpCode: string; + + comId: number; + + qtySettleGj: number; + + qtySettleM3: number; + + amount: number; + + rpSign: string; + + billAccount: string; + + approCode: string; + + settleDesc: string; + + note: string; + + createUserId: number; + + createDate: string; + + modifyUserId: number; + + modifyDate: string; + + tenantId: number; + + deptId: number; + + ruleUserId: number; + + lngPngSettlePurList?: LngPngSettlePurModel; + + lngPngSettlePurDtlList?: LngPngSettlePurDtlModel; +} + +/** + * @description: LngPngSettlePur表类型 + */ +export interface LngPngSettlePurModel { + id: number; + + settleHdrId: number; + + salesId: number; + + salesPurId: number; + + meaId: number; + + settleMonth: string; + + settleTypeCode: string; + + datePlan: string; + + dateMea: string; + + suCode: string; + + kpId: number; + + kpppId: number; + + pointUpCode: string; + + uomCode: string; + + cuCode: string; + + ksId: number; + + ksppId: number; + + pointDelyCode: string; + + rateM3Gj: number; + + qtyMeaGj: number; + + qtyMeaM3: number; + + qtySettleGj: number; + + qtySettleM3: number; + + priceGj: number; + + priceM3: number; + + amount: number; + + priceDesc: string; + + settleTimes: number; + + note: string; + + createUserId: number; + + createDate: string; + + modifyUserId: number; + + modifyDate: string; + + tenantId: number; + + deptId: number; + + ruleUserId: number; +} + +/** + * @description: LngPngSettlePurDtl表类型 + */ +export interface LngPngSettlePurDtlModel { + id: number; + + settleId: number; + + priceCode: string; + + sort: number; + + uomCode: string; + + rateQtyGj: number; + + rateQtyM3: number; + + rateM3Gj: number; + + qtySettleGj: number; + + qtySettleM3: number; + + priceM3: number; + + amount: number; + + note: string; + + createUserId: number; + + createDate: string; + + modifyUserId: number; + + modifyDate: string; + + tenantId: number; + + deptId: number; + + ruleUserId: number; +} + +/** + * @description: LngPngSettleHdr分页返回值结构 + */ +export type LngPngSettleHdrPageResult = BasicFetchResult; \ No newline at end of file diff --git a/src/views/dayPlan/PngSettleHdr/components/createForm.vue b/src/views/dayPlan/PngSettleHdr/components/createForm.vue index e7bc480..e960a4a 100644 --- a/src/views/dayPlan/PngSettleHdr/components/createForm.vue +++ b/src/views/dayPlan/PngSettleHdr/components/createForm.vue @@ -364,7 +364,6 @@ } val.forEach(v=> { let idx = dataList.value.findIndex(k=>k.salesId==v.salesId) - console.log(idx, 5324, val, dataList.value) idx<0&&dataList.value.push(v) }) } @@ -396,7 +395,7 @@ qtySettleGj+=Number(v.qtySettleGj) || 0 qtySettleM3+=Number(v.qtySettleM3) || 0 amount+=Number(v.amount) || 0 - if (!pageId.value &&idx>-1&& !(dataList.value[idx].lngPngSettleSalesDtlList || []).length) { + if (idx>-1&&!dataList.value[idx].id) { v.id = '' } }) diff --git a/src/views/dayPlan/PngSettleHdrPur/components/Form.vue b/src/views/dayPlan/PngSettleHdrPur/components/Form.vue new file mode 100644 index 0000000..5d9173b --- /dev/null +++ b/src/views/dayPlan/PngSettleHdrPur/components/Form.vue @@ -0,0 +1,224 @@ + + \ No newline at end of file diff --git a/src/views/dayPlan/PngSettleHdrPur/components/PngSettleHdrPurModal.vue b/src/views/dayPlan/PngSettleHdrPur/components/PngSettleHdrPurModal.vue new file mode 100644 index 0000000..168dd47 --- /dev/null +++ b/src/views/dayPlan/PngSettleHdrPur/components/PngSettleHdrPurModal.vue @@ -0,0 +1,110 @@ + + \ No newline at end of file diff --git a/src/views/dayPlan/PngSettleHdrPur/components/config.ts b/src/views/dayPlan/PngSettleHdrPur/components/config.ts new file mode 100644 index 0000000..24dbec8 --- /dev/null +++ b/src/views/dayPlan/PngSettleHdrPur/components/config.ts @@ -0,0 +1,686 @@ +import { FormProps, FormSchema } from '/@/components/Form'; +import { BasicColumn } from '/@/components/Table'; + +export const formConfig = { + useCustomConfig: false, +}; + +export const searchFormSchema: FormSchema[] = [ + { + field: 'datePlan', + label: '结算月', + component: 'RangePicker', + componentProps: { + format: 'YYYY-MM', + picker: 'month', + style: { width: '100%' }, + getPopupContainer: () => document.body, + }, + }, + { + field: 'cpName', + label: '供应商名称', + component: 'Input', + }, +]; + +export const columns: BasicColumn[] = [ + { + dataIndex: 'settleMonth', + title: '结算月', + componentType: 'input', + align: 'left', + width: 100, + sorter: true, + }, + + { + dataIndex: 'dateFrom', + title: '结算月开始日期', + componentType: 'input', + align: 'left', + width: 140, + sorter: true, + }, + + { + dataIndex: 'dateTo', + title: '结算月结束日期', + componentType: 'input', + align: 'left', + width: 140, + sorter: true, + }, + + { + dataIndex: 'cpName', + title: '供应商简称', + componentType: 'input', + align: 'left', + + sorter: true, + }, + + { + dataIndex: 'settleDesc', + title: '结算说明', + componentType: 'input', + align: 'left', + + sorter: true, + }, + + { + dataIndex: 'qtySettleGj', + title: '结算总数量(吉焦)', + componentType: 'input', + align: 'left', + + sorter: true, + }, + + { + dataIndex: 'qtySettleM3', + title: '结算总数量(方)', + componentType: 'input', + align: 'left', + + sorter: true, + }, + + { + dataIndex: 'amount', + title: '结算总金额(元)', + componentType: 'input', + align: 'left', + + sorter: true, + }, + + { + dataIndex: 'note', + title: '备注', + componentType: 'input', + align: 'left', + + sorter: true, + }, + + { + dataIndex: 'approName', + title: '审批状态', + componentType: 'input', + align: 'left', + width: 100, + sorter: true, + }, +]; +//表单事件 +export const formEventConfigs = { + 0: [ + { + type: 'circle', + color: '#2774ff', + text: '开始节点', + icon: '#icon-kaishi', + bgcColor: '#D8E5FF', + isUserDefined: false, + }, + { + color: '#F6AB01', + icon: '#icon-chushihua', + text: '初始化表单', + bgcColor: '#f9f5ea', + isUserDefined: false, + nodeInfo: { processEvent: [] }, + }, + ], + 1: [ + { + color: '#B36EDB', + icon: '#icon-shujufenxi', + text: '获取表单数据', + detail: '(新增无此操作)', + bgcColor: '#F8F2FC', + isUserDefined: false, + nodeInfo: { processEvent: [] }, + }, + ], + 2: [ + { + color: '#F8625C', + icon: '#icon-jiazai', + text: '加载表单', + bgcColor: '#FFF1F1', + isUserDefined: false, + nodeInfo: { processEvent: [] }, + }, + ], + 3: [ + { + color: '#6C6AE0', + icon: '#icon-jsontijiao', + text: '提交表单', + bgcColor: '#F5F4FF', + isUserDefined: false, + nodeInfo: { processEvent: [] }, + }, + ], + 4: [ + { + type: 'circle', + color: '#F8625C', + text: '结束节点', + icon: '#icon-jieshuzhiliao', + bgcColor: '#FFD6D6', + isLast: true, + isUserDefined: false, + }, + ], +}; +export const formProps: FormProps = { + labelCol: { span: 3, offset: 0 }, + labelAlign: 'right', + layout: 'horizontal', + size: 'default', + schemas: [ + { + key: '467cd7195a684296b4b60a3c3b7158c6', + field: 'id', + label: 'id', + type: 'input', + component: 'Input', + colProps: { span: 24 }, + defaultValue: '', + componentProps: { + width: '100%', + span: '', + defaultValue: '', + labelWidthMode: 'fix', + labelFixWidth: 120, + responsive: false, + respNewRow: false, + placeholder: '请输入id', + maxlength: null, + prefix: '', + suffix: '', + addonBefore: '', + addonAfter: '', + disabled: false, + allowClear: false, + showLabel: true, + required: false, + rules: [], + events: {}, + isSave: false, + isShow: true, + scan: false, + style: { width: '100%' }, + }, + }, + { + key: '91760a4f5c554515bb65828e62bc9d1e', + field: 'settleMonth', + label: '结算月', + type: 'input', + component: 'Input', + colProps: { span: 24 }, + defaultValue: '', + componentProps: { + width: '100%', + span: '', + defaultValue: '', + labelWidthMode: 'fix', + labelFixWidth: 120, + responsive: false, + respNewRow: false, + placeholder: '请输入结算月', + maxlength: null, + prefix: '', + suffix: '', + addonBefore: '', + addonAfter: '', + disabled: false, + allowClear: false, + showLabel: true, + required: false, + rules: [], + events: {}, + isSave: false, + isShow: true, + scan: false, + style: { width: '100%' }, + }, + }, + { + key: '6bc3fa96e2cc40acbb2fdead9406c943', + field: 'dateFrom', + label: '结算月开始日期', + type: 'input', + component: 'Input', + colProps: { span: 24 }, + defaultValue: '', + componentProps: { + width: '100%', + span: '', + defaultValue: '', + labelWidthMode: 'fix', + labelFixWidth: 120, + responsive: false, + respNewRow: false, + placeholder: '请输入结算月开始日期', + maxlength: null, + prefix: '', + suffix: '', + addonBefore: '', + addonAfter: '', + disabled: false, + allowClear: false, + showLabel: true, + required: false, + rules: [], + events: {}, + isSave: false, + isShow: true, + scan: false, + style: { width: '100%' }, + }, + }, + { + key: 'a9e28be90c0d40a1985283a7a2d464b7', + field: 'dateTo', + label: '结算月结束日期', + type: 'input', + component: 'Input', + colProps: { span: 24 }, + defaultValue: '', + componentProps: { + width: '100%', + span: '', + defaultValue: '', + labelWidthMode: 'fix', + labelFixWidth: 120, + responsive: false, + respNewRow: false, + placeholder: '请输入结算月结束日期', + maxlength: null, + prefix: '', + suffix: '', + addonBefore: '', + addonAfter: '', + disabled: false, + allowClear: false, + showLabel: true, + required: false, + rules: [], + events: {}, + isSave: false, + isShow: true, + scan: false, + style: { width: '100%' }, + }, + }, + { + key: 'a3e4b515881f460b87675fe09dafdadd', + field: 'cpCode', + label: '供应商简称', + type: 'input', + component: 'Input', + colProps: { span: 24 }, + defaultValue: '', + componentProps: { + width: '100%', + span: '', + defaultValue: '', + labelWidthMode: 'fix', + labelFixWidth: 120, + responsive: false, + respNewRow: false, + placeholder: '请输入供应商简称', + maxlength: null, + prefix: '', + suffix: '', + addonBefore: '', + addonAfter: '', + disabled: false, + allowClear: false, + showLabel: true, + required: false, + rules: [], + events: {}, + isSave: false, + isShow: true, + scan: false, + style: { width: '100%' }, + }, + }, + { + key: '336fb3cf758347c8ae2d2c8047747f88', + field: 'settleDesc', + label: '结算说明', + type: 'input', + component: 'Input', + colProps: { span: 24 }, + defaultValue: '', + componentProps: { + width: '100%', + span: '', + defaultValue: '', + labelWidthMode: 'fix', + labelFixWidth: 120, + responsive: false, + respNewRow: false, + placeholder: '请输入结算说明', + maxlength: null, + prefix: '', + suffix: '', + addonBefore: '', + addonAfter: '', + disabled: false, + allowClear: false, + showLabel: true, + required: false, + rules: [], + events: {}, + isSave: false, + isShow: true, + scan: false, + style: { width: '100%' }, + }, + }, + { + key: '5d6f2d25c9ac4215822eba9c17424dd4', + field: 'qtySettleGj', + label: '结算总数量 (吉焦)', + type: 'input', + component: 'Input', + colProps: { span: 24 }, + defaultValue: '', + componentProps: { + width: '100%', + span: '', + defaultValue: '', + labelWidthMode: 'fix', + labelFixWidth: 120, + responsive: false, + respNewRow: false, + placeholder: '请输入结算总数量 (吉焦)', + maxlength: null, + prefix: '', + suffix: '', + addonBefore: '', + addonAfter: '', + disabled: false, + allowClear: false, + showLabel: true, + required: false, + rules: [], + events: {}, + isSave: false, + isShow: true, + scan: false, + style: { width: '100%' }, + }, + }, + { + key: '8c97393756524ff58e1d9ce3416d794e', + field: 'qtySettleM3', + label: '结算总数量 (方)', + type: 'input', + component: 'Input', + colProps: { span: 24 }, + defaultValue: '', + componentProps: { + width: '100%', + span: '', + defaultValue: '', + labelWidthMode: 'fix', + labelFixWidth: 120, + responsive: false, + respNewRow: false, + placeholder: '请输入结算总数量 (方)', + maxlength: null, + prefix: '', + suffix: '', + addonBefore: '', + addonAfter: '', + disabled: false, + allowClear: false, + showLabel: true, + required: false, + rules: [], + events: {}, + isSave: false, + isShow: true, + scan: false, + style: { width: '100%' }, + }, + }, + { + key: '1913cff6de1048a8bf7c51f26c720663', + field: 'amount', + label: '结算总金额 (元)', + type: 'input', + component: 'Input', + colProps: { span: 24 }, + defaultValue: '', + componentProps: { + width: '100%', + span: '', + defaultValue: '', + labelWidthMode: 'fix', + labelFixWidth: 120, + responsive: false, + respNewRow: false, + placeholder: '请输入结算总金额 (元)', + maxlength: null, + prefix: '', + suffix: '', + addonBefore: '', + addonAfter: '', + disabled: false, + allowClear: false, + showLabel: true, + required: false, + rules: [], + events: {}, + isSave: false, + isShow: true, + scan: false, + style: { width: '100%' }, + }, + }, + { + key: '7871e6d89d3847d3b0ca768a0465f7d4', + field: 'note', + label: '备注', + type: 'input', + component: 'Input', + colProps: { span: 24 }, + defaultValue: '', + componentProps: { + width: '100%', + span: '', + defaultValue: '', + labelWidthMode: 'fix', + labelFixWidth: 120, + responsive: false, + respNewRow: false, + placeholder: '请输入备注', + maxlength: null, + prefix: '', + suffix: '', + addonBefore: '', + addonAfter: '', + disabled: false, + allowClear: false, + showLabel: true, + required: false, + rules: [], + events: {}, + isSave: false, + isShow: true, + scan: false, + style: { width: '100%' }, + }, + }, + { + key: '628b2ea58b654aeaa2e0c6cdc286eccc', + field: 'approCode', + label: '审批状态', + type: 'input', + component: 'Input', + colProps: { span: 24 }, + defaultValue: '', + componentProps: { + width: '100%', + span: '', + defaultValue: '', + labelWidthMode: 'fix', + labelFixWidth: 120, + responsive: false, + respNewRow: false, + placeholder: '请输入审批状态', + maxlength: null, + prefix: '', + suffix: '', + addonBefore: '', + addonAfter: '', + disabled: false, + allowClear: false, + showLabel: true, + required: false, + rules: [], + events: {}, + isSave: false, + isShow: true, + scan: false, + style: { width: '100%' }, + }, + }, + { + key: '5b4e462f91dd4c58b1263647ea357ef1', + label: '表格组件', + field: 'lngPngSettlePurList', + type: 'form', + component: 'SubForm', + required: true, + colProps: { span: 24 }, + componentProps: { + mainKey: 'lngPngSettlePurList', + columns: [ + { + key: '5c88e8b2a3bf49c887a57b50b7c715ce', + title: 'id', + dataIndex: 'id', + componentType: 'Input', + defaultValue: '', + componentProps: { + width: '100%', + span: '', + defaultValue: '', + labelWidthMode: 'fix', + labelFixWidth: 120, + responsive: false, + respNewRow: false, + placeholder: '请输入id', + maxlength: null, + prefix: '', + suffix: '', + addonBefore: '', + addonAfter: '', + disabled: false, + allowClear: false, + showLabel: true, + required: false, + rules: [], + events: {}, + isSave: false, + isShow: true, + scan: false, + }, + }, + { title: '操作', key: 'action', fixed: 'right', width: '50px' }, + ], + span: '24', + preloadType: 'api', + apiConfig: {}, + itemId: '', + dicOptions: [], + useSelectButton: false, + buttonName: '选择数据', + showLabel: true, + showComponentBorder: true, + showFormBorder: true, + showIndex: false, + isShow: true, + multipleHeads: [], + }, + }, + { + key: 'd9100edc043c4894826b24631c97f667', + label: '表格组件', + field: 'lngPngSettlePurDtlList', + type: 'form', + component: 'SubForm', + required: true, + colProps: { span: 24 }, + componentProps: { + mainKey: 'lngPngSettlePurDtlList', + columns: [ + { + key: '7664c252f8c3459799062975824c2813', + title: 'id', + dataIndex: 'id', + componentType: 'Input', + defaultValue: '', + componentProps: { + width: '100%', + span: '', + defaultValue: '', + labelWidthMode: 'fix', + labelFixWidth: 120, + responsive: false, + respNewRow: false, + placeholder: '请输入id', + maxlength: null, + prefix: '', + suffix: '', + addonBefore: '', + addonAfter: '', + disabled: false, + allowClear: false, + showLabel: true, + required: false, + rules: [], + events: {}, + isSave: false, + isShow: true, + scan: false, + }, + }, + { title: '操作', key: 'action', fixed: 'right', width: '50px' }, + ], + span: '24', + preloadType: 'api', + apiConfig: {}, + itemId: '', + dicOptions: [], + useSelectButton: false, + buttonName: '选择数据', + showLabel: true, + showComponentBorder: true, + showFormBorder: true, + showIndex: false, + isShow: true, + multipleHeads: [], + }, + }, + ], + showActionButtonGroup: false, + buttonLocation: 'center', + actionColOptions: { span: 24 }, + showResetButton: false, + showSubmitButton: false, + hiddenComponent: [], +}; \ No newline at end of file diff --git a/src/views/dayPlan/PngSettleHdrPur/components/workflowPermission.ts b/src/views/dayPlan/PngSettleHdrPur/components/workflowPermission.ts new file mode 100644 index 0000000..44f22c3 --- /dev/null +++ b/src/views/dayPlan/PngSettleHdrPur/components/workflowPermission.ts @@ -0,0 +1,225 @@ +export const permissionList = [ + { + required: true, + view: true, + edit: true, + disabled: false, + isSaveTable: false, + tableName: '', + fieldName: 'id', + fieldId: 'id', + isSubTable: false, + showChildren: true, + type: 'input', + key: '467cd7195a684296b4b60a3c3b7158c6', + children: [], + }, + { + required: true, + view: true, + edit: true, + disabled: false, + isSaveTable: false, + tableName: '', + fieldName: '结算月', + fieldId: 'settleMonth', + isSubTable: false, + showChildren: true, + type: 'input', + key: '91760a4f5c554515bb65828e62bc9d1e', + children: [], + }, + { + required: true, + view: true, + edit: true, + disabled: false, + isSaveTable: false, + tableName: '', + fieldName: '结算月开始日期', + fieldId: 'dateFrom', + isSubTable: false, + showChildren: true, + type: 'input', + key: '6bc3fa96e2cc40acbb2fdead9406c943', + children: [], + }, + { + required: true, + view: true, + edit: true, + disabled: false, + isSaveTable: false, + tableName: '', + fieldName: '结算月结束日期', + fieldId: 'dateTo', + isSubTable: false, + showChildren: true, + type: 'input', + key: 'a9e28be90c0d40a1985283a7a2d464b7', + children: [], + }, + { + required: true, + view: true, + edit: true, + disabled: false, + isSaveTable: false, + tableName: '', + fieldName: '供应商简称', + fieldId: 'cpCode', + isSubTable: false, + showChildren: true, + type: 'input', + key: 'a3e4b515881f460b87675fe09dafdadd', + children: [], + }, + { + required: true, + view: true, + edit: true, + disabled: false, + isSaveTable: false, + tableName: '', + fieldName: '结算说明', + fieldId: 'settleDesc', + isSubTable: false, + showChildren: true, + type: 'input', + key: '336fb3cf758347c8ae2d2c8047747f88', + children: [], + }, + { + required: true, + view: true, + edit: true, + disabled: false, + isSaveTable: false, + tableName: '', + fieldName: '结算总数量 (吉焦)', + fieldId: 'qtySettleGj', + isSubTable: false, + showChildren: true, + type: 'input', + key: '5d6f2d25c9ac4215822eba9c17424dd4', + children: [], + }, + { + required: true, + view: true, + edit: true, + disabled: false, + isSaveTable: false, + tableName: '', + fieldName: '结算总数量 (方)', + fieldId: 'qtySettleM3', + isSubTable: false, + showChildren: true, + type: 'input', + key: '8c97393756524ff58e1d9ce3416d794e', + children: [], + }, + { + required: true, + view: true, + edit: true, + disabled: false, + isSaveTable: false, + tableName: '', + fieldName: '结算总金额 (元)', + fieldId: 'amount', + isSubTable: false, + showChildren: true, + type: 'input', + key: '1913cff6de1048a8bf7c51f26c720663', + children: [], + }, + { + required: true, + view: true, + edit: true, + disabled: false, + isSaveTable: false, + tableName: '', + fieldName: '备注', + fieldId: 'note', + isSubTable: false, + showChildren: true, + type: 'input', + key: '7871e6d89d3847d3b0ca768a0465f7d4', + children: [], + }, + { + required: true, + view: true, + edit: true, + disabled: false, + isSaveTable: false, + tableName: '', + fieldName: '审批状态', + fieldId: 'approCode', + isSubTable: false, + showChildren: true, + type: 'input', + key: '628b2ea58b654aeaa2e0c6cdc286eccc', + children: [], + }, + { + required: true, + view: true, + edit: true, + disabled: false, + isSubTable: true, + showChildren: false, + tableName: 'lngPngSettlePurList', + fieldName: '表格组件', + fieldId: 'lngPngSettlePurList', + type: 'form', + key: '5b4e462f91dd4c58b1263647ea357ef1', + children: [ + { + required: true, + view: true, + edit: true, + disabled: false, + isSubTable: true, + isSaveTable: false, + showChildren: false, + tableName: 'lngPngSettlePurList', + fieldName: 'id', + fieldId: 'id', + key: '5c88e8b2a3bf49c887a57b50b7c715ce', + children: [], + }, + ], + }, + { + required: true, + view: true, + edit: true, + disabled: false, + isSubTable: true, + showChildren: false, + tableName: 'lngPngSettlePurDtlList', + fieldName: '表格组件', + fieldId: 'lngPngSettlePurDtlList', + type: 'form', + key: 'd9100edc043c4894826b24631c97f667', + children: [ + { + required: true, + view: true, + edit: true, + disabled: false, + isSubTable: true, + isSaveTable: false, + showChildren: false, + tableName: 'lngPngSettlePurDtlList', + fieldName: 'id', + fieldId: 'id', + key: '7664c252f8c3459799062975824c2813', + children: [], + }, + ], + }, +]; \ No newline at end of file diff --git a/src/views/dayPlan/PngSettleHdrPur/index.vue b/src/views/dayPlan/PngSettleHdrPur/index.vue new file mode 100644 index 0000000..0f42c89 --- /dev/null +++ b/src/views/dayPlan/PngSettleHdrPur/index.vue @@ -0,0 +1,513 @@ + + + \ No newline at end of file From c17af80e5240c046905e00639a6c0dab1fda3388 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=98huanghaiixia=E2=80=99?= <980486410@.com> Date: Wed, 11 Feb 2026 16:58:15 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=BE=85=E7=BB=93=E7=AE=97=E8=AE=B0?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/measureListModal.vue | 22 ++++++++---- .../common/priceComposeListModal.vue | 2 +- .../PngSettleHdr/components/createForm.vue | 34 +++++++++++++------ 3 files changed, 40 insertions(+), 18 deletions(-) diff --git a/src/components/common/measureListModal.vue b/src/components/common/measureListModal.vue index 4237bb9..76aa896 100644 --- a/src/components/common/measureListModal.vue +++ b/src/components/common/measureListModal.vue @@ -9,11 +9,11 @@ - - @@ -57,7 +57,7 @@ { dataIndex: 'qtyMeaM3', title: '完成量(方)', align: 'left',width: 120}, { dataIndex: 'rateM3Gj', title: '比值(方/吉焦)', align: 'left',width: 120}, { dataIndex: 'ksName', title: '销售合同', align: 'left',}, - { dataIndex: 'file', title: '附件', align: 'left',}, + { dataIndex: 'file', title: '附件', align: 'left',width: 200}, { dataIndex: 'settledSign', title: '已结算', align: 'left',width: 100}, ]; @@ -102,6 +102,16 @@ }, afterFetch: (res) => { tableData.value = res || [] + tableData.value.forEach(v => { + let a = v.attachList ? v.attachList.split(',') : [] + v.lngFileUploadList = [] + a.forEach(k => { + v.lngFileUploadList.push({ + fileOrg: k.split('@')[0], + fileUrl: k.split('@')[1] + }) + }) + }) }, rowSelection: { type: props.selectType, diff --git a/src/components/common/priceComposeListModal.vue b/src/components/common/priceComposeListModal.vue index 214927d..e007309 100644 --- a/src/components/common/priceComposeListModal.vue +++ b/src/components/common/priceComposeListModal.vue @@ -43,8 +43,8 @@ { title: t('价格描述'), dataIndex: 'priceDesc', width:130}, { title: t('数量(吉焦)'), dataIndex: 'qtySettleGj', width: 120}, { title: t('数量(方)'), dataIndex: 'qtySettleM3', width: 120}, - { title: t('价格(元/方)'), dataIndex: 'priceM3', width: 120}, { title: t('价格(元/吉焦)'), dataIndex: 'priceGj', width: 120}, + { title: t('价格(元/方)'), dataIndex: 'priceM3', width: 120}, { title: t('金额(元)'), dataIndex: 'amount', width: 120}, ]; diff --git a/src/views/dayPlan/PngSettleHdr/components/createForm.vue b/src/views/dayPlan/PngSettleHdr/components/createForm.vue index e960a4a..eaeb652 100644 --- a/src/views/dayPlan/PngSettleHdr/components/createForm.vue +++ b/src/views/dayPlan/PngSettleHdr/components/createForm.vue @@ -79,11 +79,15 @@ -
+
新增 删除 + 一次结算量吉焦: + 二次结算量吉焦: + 结算总量(吉焦): + 结算总金额:
- +