diff --git a/public/基础参数及报表导出功能.js b/public/基础参数及报表导出功能.js index 89e959f..de3a319 100644 --- a/public/基础参数及报表导出功能.js +++ b/public/基础参数及报表导出功能.js @@ -190,6 +190,7 @@ let data1 = { name: 'test001', writer: '张三',// 编制人 reviewer: '李四',// 复核人 + company: '测试公司',// 公司名称 date: '2021-09-24',// 编制日期 industry: 0,// 0为公路工程,1为铁路工程,2为水运工程 fee: 10000, @@ -284,8 +285,10 @@ let data1 = { basicFee_basic: 200, basicFee_optional: 0, fee: 250000, + proAmount: 3, det: [ { + proNum: 1, major: 0, cost: 100000, basicFee: 200, @@ -308,8 +311,10 @@ let data1 = { basicFee_basic: 200, basicFee_optional: 0, fee: 250000, + proAmount: 3, det: [ { + proNum: 1, major: 0, area: 1200, basicFee: 200, @@ -375,14 +380,128 @@ let data1 = { }, }, ], - addtional: [// 附加工作费 - { - type: 0,// 0为费率计取,1为工时法,2为数量单价 + addtional: {// 附加工作费 + ref: { richText: [{ font: { charset: 134, color: { theme: 1 }, italic: true, name: '宋体', size: 10 }, text: 'C' }, { font: { charset: 134, color: { theme: 1 }, italic: true, name: 'Calibri', size: 10, vertAlign: 'subscript' }, text: 'C' }] }, + name: '附加工作', + fee: 10000, + det: [ + { + id: 0, + ref: { richText: [{ font: { charset: 134, color: { theme: 1 }, italic: true, name: '宋体', size: 10 }, text: 'C' }, { font: { charset: 134, color: { theme: 1 }, italic: true, name: 'Calibri', size: 10, vertAlign: 'subscript' }, text: 'F' }] }, + name: '人员驻场服务及其他附加工作', + fee: 10000, + m4: { //工时 + person_num: 10, + work_day: 3, + 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: '',// 用户输入的说明 + }, + ], + }, + m5: { //数量单价 + fee: 10000, + det: [ + { + name: '×××项', + unit: '项', + amount: 10, + price: 100000, + fee: 100000, + remark: '',// 用户输入的说明 + }, + { + name: '×××项', + unit: '项', + amount: 10, + price: 100000, + fee: 100000, + remark: '',// 用户输入的说明 + }, + ], + }, + }, + { + id: 1, + ref: { richText: [{ font: { charset: 134, color: { theme: 1 }, italic: true, name: '宋体', size: 10 }, text: 'C' }, { font: { charset: 134, color: { theme: 1 }, italic: true, name: 'Calibri', size: 10, vertAlign: 'subscript' }, text: 'X' }] }, + name: '咨询服务协调工作', + fee: 10000, + m0: { + coe: 0.03, + fee: 10000, + }, + m4: { + person_num: 10, + work_day: 3, + 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: '',// 用户输入的说明 + }, + ], + }, + m5: { + fee: 10000, + det: [ + { + name: '×××项', + unit: '项', + amount: 10, + price: 100000, + fee: 100000, + remark: '',// 用户输入的说明 + }, + { + name: '×××项', + unit: '项', + amount: 10, + price: 100000, + fee: 100000, + remark: '',// 用户输入的说明 + }, + ], + }, + }, + ] + }, + reserve: {// 预备费 + ref: { richText: [{ font: { charset: 134, color: { theme: 1 }, italic: true, name: '宋体', size: 10 }, text: 'Y' }, { font: { charset: 134, color: { theme: 1 }, italic: true, name: 'Calibri', size: 10, vertAlign: 'subscript' }, text: 'B' }] }, + name: '预备费', + fee: 10000, + m0: { coe: 0.03, fee: 10000, }, - { - type: 1,// 0为费率计取,1为工时法,2为数量单价 + m4: { + person_num: 10, + work_day: 3, fee: 10000, det: [ { @@ -403,8 +522,7 @@ let data1 = { }, ], }, - { - type: 2,// 0为费率计取,1为工时法,2为数量单价 + m5: { fee: 10000, det: [ { @@ -425,61 +543,11 @@ let data1 = { }, ], } - ], - 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: '',// 用户输入的说明 - }, - ], - } - ], + }, }, ], }; + let data2 = { name: 'test001', scale: [ diff --git a/src/components/common/HtFeeMethodGrid.vue b/src/components/common/HtFeeMethodGrid.vue new file mode 100644 index 0000000..7317d44 --- /dev/null +++ b/src/components/common/HtFeeMethodGrid.vue @@ -0,0 +1,460 @@ + + + + + diff --git a/src/components/ui/scroll-area/ScrollArea.vue b/src/components/ui/scroll-area/ScrollArea.vue index 6112caa..781da99 100644 --- a/src/components/ui/scroll-area/ScrollArea.vue +++ b/src/components/ui/scroll-area/ScrollArea.vue @@ -23,7 +23,7 @@ const delegatedProps = reactiveOmit(props, "class") > @@ -31,3 +31,9 @@ const delegatedProps = reactiveOmit(props, "class") + + diff --git a/src/components/views/HtAdditionalWorkFee.vue b/src/components/views/HtAdditionalWorkFee.vue index 0a096e9..a1da75a 100644 --- a/src/components/views/HtAdditionalWorkFee.vue +++ b/src/components/views/HtAdditionalWorkFee.vue @@ -1,14 +1,21 @@ diff --git a/src/components/views/HtConsultCategoryFactor.vue b/src/components/views/HtConsultCategoryFactor.vue index 0a3bbd3..0ff4c08 100644 --- a/src/components/views/HtConsultCategoryFactor.vue +++ b/src/components/views/HtConsultCategoryFactor.vue @@ -1,10 +1,55 @@