From 75d5066b62f6855d21b511aa3693332514a82ce9 Mon Sep 17 00:00:00 2001 From: wintsa <770775984@qq.com> Date: Thu, 5 Mar 2026 11:28:36 +0800 Subject: [PATCH] 1 --- src/components/views/zxFw.vue | 2 +- src/sql.ts | 304 +++++++++++++++++++++++++++++++++- 2 files changed, 301 insertions(+), 5 deletions(-) diff --git a/src/components/views/zxFw.vue b/src/components/views/zxFw.vue index ebe855d..7a6cc5e 100644 --- a/src/components/views/zxFw.vue +++ b/src/components/views/zxFw.vue @@ -872,7 +872,7 @@ onBeforeUnmount(() => { 确认删除服务 - 将删除“{{ pendingDeleteServiceName }}”是否继续? + 将逻辑删除“{{ pendingDeleteServiceName }}”,已填写的数据不会清楚,重新勾选后会恢复,是否继续?
diff --git a/src/sql.ts b/src/sql.ts index efcf458..4884fff 100644 --- a/src/sql.ts +++ b/src/sql.ts @@ -9,7 +9,6 @@ const toFiniteNumber = (value: unknown) => { const num = Number(value) return Number.isFinite(num) ? num : 0 } -hideInIndustrySelector: true export const majorList = { 0: { code: 'E1', name: '交通运输工程通用专业',hideInIndustrySelector: true , maxCoe: null, minCoe: null, defCoe: null, desc: '', isRoad: true, isRailway: true, isWaterway: true, order: 1, hasCost: false, hasArea: false }, 1: { code: 'E1-1', name: '征地(用海)补偿', maxCoe: null, minCoe: null, defCoe: 1, desc: '适用于交通建设项目征地(用海)补偿的施工图预算、招标工程量清单及清单预算(或最高投标限价)、清理概算(仅限铁路工程)、合同(工程)结算和造价鉴定、计算工程量、工程变更费用咨询、工程成本测(核)算', isRoad: true, isRailway: true, isWaterway: true, order: 2, hasCost: true, hasArea: true }, @@ -326,6 +325,303 @@ export function getBasicFeeFromScale(scaleValue: unknown, scaleType: 'cost' | 'a } +//demo +let data1 = { + name: 'test001', + writer: '张三',// 编制人 + reviewer: '李四',// 复核人 + date: '2021-09-24',// 编制日期 + industry: 0,// 0为公路工程,1为铁路工程,2为水运工程 + fee: 10000, + scaleCost: 100000,// scale的cost的合计数 + scale: [// 规模信息 + { + major: 0, + cost: 100000, + area: 200, + }, + { + major: 1, + cost: 100000, + area: 200, + }, + ], + serviceCoes: [// 项目咨询分类系数 + { + serviceid: 0, + coe: 1.1, + remark: '',// 用户输入的说明 + }, + { + serviceid: 1, + coe: 1.2, + remark: '',// 用户输入的说明 + }, + ], + majorCoes: [// 项目工程专业系数 + { + majorid: 0, + coe: 1.1, + remark: '',// 用户输入的说明 + }, + { + majorid: 1, + coe: 1.2, + remark: '',// 用户输入的说明 + }, + ], + contracts: [// 合同段信息 + { + name: 'A合同段', + serviceFee: 100000, + addtionalFee: 0, + reserveFee: 0, + fee: 10000, + scale: [ + { + major: 0, + cost: 100000, + area: 200, + }, + { + major: 1, + cost: 100000, + area: 200, + }, + ], + serviceCoes: [// 合同段咨询分类系数 + { + serviceid: 0, + coe: 1.1, + remark: '',// 用户输入的说明 + }, + { + serviceid: 1, + coe: 1.2, + remark: '',// 用户输入的说明 + }, + ], + majorCoes: [// 合同段工程专业系数 + { + majorid: 0, + coe: 1.1, + remark: '',// 用户输入的说明 + }, + { + majorid: 1, + coe: 1.2, + remark: '',// 用户输入的说明 + }, + ], + services: [ + { + id: 0, + fee: 100000, + process: 0,// 工作环节,0为编制,1为审核 + method1: { // 投资规模法 + cost: 100000, + basicFee: 200, + basicFee_basic: 200, + basicFee_optional: 0, + fee: 250000, + det: [ + { + major: 0, + cost: 100000, + basicFee: 200, + basicFormula: '856,000+(1,000,000,000-500,000,000)×1‰', + basicFee_basic: 200, + optionalFormula: '171,200+(1,000,000,000-500,000,000)×0.2‰', + basicFee_optional: 0, + serviceCoe: 1.1, + majorCoe: 1.2, + processCoe: 1,// 工作环节系数(编审系数) + proportion: 0.5,// 工作占比 + fee: 100000, + remark: '',// 用户输入的说明 + }, + ], + }, + method2: { // 用地规模法 + area: 1200, + basicFee: 200, + basicFee_basic: 200, + basicFee_optional: 0, + fee: 250000, + det: [ + { + major: 0, + area: 1200, + basicFee: 200, + basicFormula: '106,000+(1,200-1,000)×60', + basicFee_basic: 200, + optionalFormula: '21,200+(1,200-1,000)×12', + basicFee_optional: 0, + serviceCoe: 1.1, + majorCoe: 1.2, + processCoe: 1,// 工作环节系数(编审系数) + proportion: 0.5,// 工作占比 + fee: 100000, + remark: '',// 用户输入的说明 + }, + ], + }, + method3: { // 工作量法 + basicFee: 200, + fee: 250000, + det: [ + { + task: 0, + price: 100000, + amount: 10, + basicFee: 200, + serviceCoe: 1.1, + fee: 100000, + remark: '',// 用户输入的说明 + }, + { + task: 1, + price: 100000, + amount: 10, + basicFee: 200, + serviceCoe: 1.1, + fee: 100000, + remark: '',// 用户输入的说明 + }, + ], + }, + method4: { // 工时法 + person_num: 10, + work_day: 10, + fee: 250000, + det: [ + { + expert: 0, + price: 100000, + person_num: 10, + work_day: 3, + fee: 100000, + remark: '',// 用户输入的说明 + }, + { + expert: 1, + price: 100000, + person_num: 10, + work_day: 3, + fee: 100000, + remark: '',// 用户输入的说明 + }, + ], + }, + }, + ], + addtional: [// 附加工作费 + { + type: 0,// 0为费率计取,1为工时法,2为数量单价 + coe: 0.03, + fee: 10000, + }, + { + type: 1,// 0为费率计取,1为工时法,2为数量单价 + fee: 10000, + det: [ + { + expert: 0, + price: 100000, + person_num: 10, + work_day: 3, + fee: 100000, + remark: '',// 用户输入的说明 + }, + { + expert: 1, + price: 100000, + person_num: 10, + work_day: 3, + fee: 100000, + remark: '',// 用户输入的说明 + }, + ], + }, + { + type: 2,// 0为费率计取,1为工时法,2为数量单价 + fee: 10000, + det: [ + { + name: '×××项', + unit: '项', + amount: 10, + price: 100000, + fee: 100000, + remark: '',// 用户输入的说明 + }, + { + name: '×××项', + unit: '项', + amount: 10, + price: 100000, + fee: 100000, + remark: '',// 用户输入的说明 + }, + ], + } + ], + reserve: [// 预留费 + { + type: 0,// 0为费率计取,1为工时法,2为数量单价 + coe: 0.03, + fee: 10000, + }, + { + type: 1,// 0为费率计取,1为工时法,2为数量单价 + fee: 10000, + det: [ + { + expert: 0, + price: 100000, + person_num: 10, + work_day: 3, + fee: 100000, + remark: '',// 用户输入的说明 + }, + { + expert: 1, + price: 100000, + person_num: 10, + work_day: 3, + fee: 100000, + remark: '',// 用户输入的说明 + }, + ], + }, + { + type: 2,// 0为费率计取,1为工时法,2为数量单价 + fee: 10000, + det: [ + { + name: '×××项', + unit: '项', + amount: 10, + price: 100000, + fee: 100000, + remark: '',// 用户输入的说明 + }, + { + name: '×××项', + unit: '项', + amount: 10, + price: 100000, + fee: 100000, + remark: '',// 用户输入的说明 + }, + ], + } + ], + }, + ], +}; + + export async function exportFile(fileName, data) { if (window.showSaveFilePicker) { @@ -369,11 +665,11 @@ export async function exportFile(fileName, data) { } } + + + async function generateTemplate(data) { try { - - - console.log(data) // 获取模板 let templateExcel = 'template20260226001test010'; let templateUrl = `https://oa.zwgczx.com/myExcelTemplate/${templateExcel}.xlsx`;