费用合计

This commit is contained in:
xielue 2023-07-31 10:51:47 +08:00
parent fca8ac3bc4
commit 0c11909b8a
2 changed files with 72 additions and 47 deletions

View File

@ -399,7 +399,7 @@
isEnter: false, isTab: true, isEdit: true, isChecked: true isEnter: false, isTab: true, isEdit: true, isChecked: true
}" :mouse-config="{ selected: true }" @pulldownSelected="material_onPulldownSelected" }" :mouse-config="{ selected: true }" @pulldownSelected="material_onPulldownSelected"
@popupSelected="material_onPopupSelected" :export-config="{}" @edit-closed="material_afterEditEvent" @popupSelected="material_onPopupSelected" :export-config="{}" @edit-closed="material_afterEditEvent"
:footer-cell-class-name="material_footerCellClassName" :footer-cell-class-name="material_footerCellClassName"
:edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: material_beforeEditMethod }"> :edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: material_beforeEditMethod }">
<vxe-column width="60" v-if="!isReadonly"> <vxe-column width="60" v-if="!isReadonly">
<template #default="{ row }"> <template #default="{ row }">
@ -464,8 +464,7 @@
isEnter: false, isTab: true, isEdit: true, isChecked: true isEnter: false, isTab: true, isEdit: true, isChecked: true
}" :mouse-config="{ selected: true }" @pulldownSelected="labor_onPulldownSelected" }" :mouse-config="{ selected: true }" @pulldownSelected="labor_onPulldownSelected"
@popupSelected="labor_onPopupSelected" :export-config="{}" @edit-closed="labor_afterEditEvent" @popupSelected="labor_onPopupSelected" :export-config="{}" @edit-closed="labor_afterEditEvent"
@edit-actived="labor_beforeEditEvent" @edit-actived="labor_beforeEditEvent" :footer-cell-class-name="labor_footerCellClassName"
:footer-cell-class-name="labor_footerCellClassName"
:edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: labor_beforeEditMethod }"> :edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: labor_beforeEditMethod }">
<vxe-column width="60" v-if="!isReadonly"> <vxe-column width="60" v-if="!isReadonly">
<template #default="{ row }"> <template #default="{ row }">
@ -515,9 +514,7 @@
isEnter: false, isTab: true, isEdit: true, isChecked: true isEnter: false, isTab: true, isEdit: true, isChecked: true
}" :mouse-config="{ selected: true }" @pulldownSelected="expense_onPulldownSelected" }" :mouse-config="{ selected: true }" @pulldownSelected="expense_onPulldownSelected"
@popupSelected="expense_onPopupSelected" :export-config="{}" @edit-closed="expense_afterEditEvent" @popupSelected="expense_onPopupSelected" :export-config="{}" @edit-closed="expense_afterEditEvent"
@edit-actived="expense_beforeEditEvent" @edit-actived="expense_beforeEditEvent" :footer-cell-class-name="expense_footerCellClassName"
:footer-cell-class-name="expense_footerCellClassName"
:edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: expense_beforeEditMethod }"> :edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: expense_beforeEditMethod }">
<vxe-column width="60" v-if="!isReadonly"> <vxe-column width="60" v-if="!isReadonly">
<template #default="{ row }"> <template #default="{ row }">
@ -570,8 +567,7 @@
isEnter: false, isTab: true, isEdit: true, isChecked: true isEnter: false, isTab: true, isEdit: true, isChecked: true
}" :mouse-config="{ selected: true }" @pulldownSelected="paintMaterial_onPulldownSelected" }" :mouse-config="{ selected: true }" @pulldownSelected="paintMaterial_onPulldownSelected"
@popupSelected="paintMaterial_onPopupSelected" :export-config="{}" @popupSelected="paintMaterial_onPopupSelected" :export-config="{}"
@edit-closed="paintMaterial_afterEditEvent" @edit-closed="paintMaterial_afterEditEvent" :footer-cell-class-name="paintMaterial_footerCellClassName"
:footer-cell-class-name="paintMaterial_footerCellClassName"
:edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: paintMaterial_beforeEditMethod }"> :edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: paintMaterial_beforeEditMethod }">
<vxe-column width="60" v-if="!isReadonly"> <vxe-column width="60" v-if="!isReadonly">
<template #default="{ row }"> <template #default="{ row }">
@ -634,8 +630,7 @@
isEnter: false, isTab: true, isEdit: true, isChecked: true isEnter: false, isTab: true, isEdit: true, isChecked: true
}" :mouse-config="{ selected: true }" @pulldownSelected="paintLabor_onPulldownSelected" }" :mouse-config="{ selected: true }" @pulldownSelected="paintLabor_onPulldownSelected"
@popupSelected="paintLabor_onPopupSelected" :export-config="{}" @edit-closed="paintLabor_afterEditEvent" @popupSelected="paintLabor_onPopupSelected" :export-config="{}" @edit-closed="paintLabor_afterEditEvent"
@edit-actived="paintLabor_beforeEditEvent" @edit-actived="paintLabor_beforeEditEvent" :footer-cell-class-name="paintLabor_footerCellClassName"
:footer-cell-class-name="paintLabor_footerCellClassName"
:edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: paintLabor_beforeEditMethod }"> :edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: paintLabor_beforeEditMethod }">
<vxe-column width="60" v-if="!isReadonly"> <vxe-column width="60" v-if="!isReadonly">
<template #default="{ row }"> <template #default="{ row }">
@ -683,7 +678,7 @@
isEnter: false, isTab: true, isEdit: true, isChecked: true isEnter: false, isTab: true, isEdit: true, isChecked: true
}" :mouse-config="{ selected: true }" @pulldownSelected="paintExpense_onPulldownSelected" }" :mouse-config="{ selected: true }" @pulldownSelected="paintExpense_onPulldownSelected"
@popupSelected="paintExpense_onPopupSelected" :export-config="{}" @popupSelected="paintExpense_onPopupSelected" :export-config="{}"
@edit-closed="paintExpense_afterEditEvent" @edit-actived="paintExpense_beforeEditEvent" @edit-closed="paintExpense_afterEditEvent" @edit-actived="paintExpense_beforeEditEvent"
:footer-cell-class-name="paintExpense_footerCellClassName" :footer-cell-class-name="paintExpense_footerCellClassName"
:edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: paintExpense_beforeEditMethod }"> :edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: paintExpense_beforeEditMethod }">
<vxe-column width="60" v-if="!isReadonly"> <vxe-column width="60" v-if="!isReadonly">
@ -920,10 +915,10 @@ export default {
moreExpressionsList_material_height: [],// moreExpressionsList_material_height: [],//
moreExpressionsList_fittings: [], moreExpressionsList_fittings: [],
expense_detailsData: [ // expense_detailsData: [ //
], ],
paintExpense_detailsData: [ // paintExpense_detailsData: [ //
], ],
@ -1092,7 +1087,7 @@ export default {
{ field: 'show_expense', title: '总费用(免漆)', span: 12, itemRender: { name: '$input' } }, { field: 'show_expense', title: '总费用(免漆)', span: 12, itemRender: { name: '$input' } },
{ field: 'show_paint_expense', title: '总费用(油漆)', span: 12, itemRender: { name: '$input' } }, { field: 'show_paint_expense', title: '总费用(油漆)', span: 12, itemRender: { name: '$input' } },
] ]
}, },
] ]
}, },
@ -1238,12 +1233,12 @@ export default {
this.fittings_list.forEach(o => { this.fittings_list.forEach(o => {
if(o.IsShowExpression){ if (o.IsShowExpression) {
this.moreExpressionsList_fittings.push(this.formatName(o.name) + "的长"); this.moreExpressionsList_fittings.push(this.formatName(o.name) + "的长");
this.moreExpressionsList_fittings.push(this.formatName(o.name) + "的宽"); this.moreExpressionsList_fittings.push(this.formatName(o.name) + "的宽");
this.moreExpressionsList_fittings.push(this.formatName(o.name) + "的厚"); this.moreExpressionsList_fittings.push(this.formatName(o.name) + "的厚");
} }
}); });
@ -1428,14 +1423,14 @@ export default {
this.loadSchemeDataById(scheme_id); this.loadSchemeDataById(scheme_id);
}, },
reloadDrawer(index) { reloadDrawer(index) {
let drawers = this.$refs['drawer']; //
if (drawers && drawers[index] && drawers[index].reloadDrawer) { let drawers = this.$refs['drawer']; //
drawers[index].reloadDrawer();
} if (drawers && drawers[index] && drawers[index].reloadDrawer) {
drawers[index].reloadDrawer();
}
}, },
loadSchemeDataById(dataId, callback) { // loadSchemeDataById(dataId, callback) { //
const json = `{"id":${dataId}}`; // json const json = `{"id":${dataId}}`; // json
@ -1484,12 +1479,12 @@ export default {
console.log(row.expense_list); console.log(row.expense_list);
console.log(row.paint_expenseList); console.log(row.paint_expenseList);
let expense_list = JSON.parse(row.expense_list || "[]"); let expense_list = JSON.parse(row.expense_list || "[]");
expense_list = expense_list.filter(a => a.item_name); expense_list = expense_list.filter(a => a.item_name);
let paint_expenseList = JSON.parse(row.paint_expenseList || "[]");
paint_expenseList = paint_expenseList.filter(a => a.item_name);
let paint_expenseList = JSON.parse(row.paint_expenseList || "[]");
paint_expenseList = paint_expenseList.filter(a => a.item_name);
if (row.type != '1' && row.type != '3') { // if (row.type != '1' && row.type != '3') { //
this.drawer_detailsData.push({ // this.drawer_detailsData.push({ //
@ -1501,10 +1496,10 @@ export default {
packagingList, // packagingList, //
laborList, // laborList, //
materialList, // materialList, //
paint_laborList : paintLaborList, // paint_laborList: paintLaborList, //
paint_materialList : paintMaterialList, // paint_materialList: paintMaterialList, //
expense_list:expense_list, expense_list: expense_list,
paint_expenseList:paint_expenseList paint_expenseList: paint_expenseList
}); });
@ -1525,8 +1520,8 @@ export default {
this.addToList({ scheme_id, listData: materialList, detailsData: this.material_detailsData }); // this.addToList({ scheme_id, listData: materialList, detailsData: this.material_detailsData }); //
this.addToList({ scheme_id, listData: paintLaborList, detailsData: this.paintLabor_detailsData }); // this.addToList({ scheme_id, listData: paintLaborList, detailsData: this.paintLabor_detailsData }); //
this.addToList({ scheme_id, listData: paintMaterialList, detailsData: this.paintMaterial_detailsData }); // this.addToList({ scheme_id, listData: paintMaterialList, detailsData: this.paintMaterial_detailsData }); //
this.addToList({ scheme_id, listData: expense_list, detailsData: this.expense_detailsData }); this.addToList({ scheme_id, listData: expense_list, detailsData: this.expense_detailsData });
this.addToList({ scheme_id, listData: paint_expenseList, detailsData: this.paintExpense_detailsData }); this.addToList({ scheme_id, listData: paint_expenseList, detailsData: this.paintExpense_detailsData });
this.materialHeightInit(); // this.materialHeightInit(); //
this.fittingsListInit(); this.fittingsListInit();
@ -2545,10 +2540,15 @@ export default {
postdata.expense_list = postdata.expense_list.filter(item => item.item_name ? true : false); postdata.expense_list = postdata.expense_list.filter(item => item.item_name ? true : false);
postdata.paint_expenseList = postdata.paint_expenseList.filter(item => item.item_name ? true : false); postdata.paint_expenseList = postdata.paint_expenseList.filter(item => item.item_name ? true : false);
postdata.expense = this.formOptions.data.expense_total_amount; postdata.expense = parseFloat(this.formOptions.data.expense_total_amount || 0) +
postdata.paint_expense = this.formOptions.data.paintExpense_total_amount; parseFloat(this.formOptions.data.material_total_amount || 0) +
parseFloat(this.formOptions.data.labor_total_amount || 0);
postdata.paint_expense = parseFloat(this.formOptions.data.paintExpense_total_amount || 0) +
parseFloat(this.formOptions.data.paintMaterial_total_amount || 0) +
parseFloat(this.formOptions.data.paintLabor_total_amount || 0);
this.formatDetailsData(postdata.fittingsList); this.formatDetailsData(postdata.fittingsList);
this.formatDetailsData(postdata.partsList); this.formatDetailsData(postdata.partsList);
this.formatDetailsData(postdata.packagingList); this.formatDetailsData(postdata.packagingList);
@ -2720,9 +2720,9 @@ export default {
return this.getExpressionItemValue({ row, name, defaultValue }) return this.getExpressionItemValue({ row, name, defaultValue })
}); });
value = value.replace("//g",","); value = value.replace("//g", ",");
value = value.replace("//g","?"); value = value.replace("//g", "?");
value = value.replace("//g",":"); value = value.replace("//g", ":");
eval("value = " + value) eval("value = " + value)
return value; return value;
@ -2770,8 +2770,18 @@ export default {
this.calculateRows({ detailsData: this.paintExpense_detailsData, names: ["amount"], totalPrev: "paintExpense" }); this.calculateRows({ detailsData: this.paintExpense_detailsData, names: ["amount"], totalPrev: "paintExpense" });
console.log("this.formOptions.data.expense_total_amount:" + this.formOptions.data.expense_total_amount) console.log("this.formOptions.data.expense_total_amount:" + this.formOptions.data.expense_total_amount)
this.formOptions.data.expense = this.formOptions.data.expense_total_amount; //
this.formOptions.data.paint_expense = this.formOptions.data.paintExpense_total_amount; //
this.formOptions.data.expense = parseFloat(this.formOptions.data.expense_total_amount || 0) +
parseFloat(this.formOptions.data.material_total_amount || 0) +
parseFloat(this.formOptions.data.labor_total_amount || 0);
this.formOptions.data.paint_expense = parseFloat(this.formOptions.data.paintExpense_total_amount || 0) +
parseFloat(this.formOptions.data.paintMaterial_total_amount || 0) +
parseFloat(this.formOptions.data.paintLabor_total_amount || 0);
this.formOptions.data.show_expense = parseFloat(this.formOptions.data.expense || 0).toFixed(2); // this.formOptions.data.show_expense = parseFloat(this.formOptions.data.expense || 0).toFixed(2); //
this.formOptions.data.show_paint_expense = parseFloat(this.formOptions.data.paint_expense || 0).toFixed(2); // this.formOptions.data.show_paint_expense = parseFloat(this.formOptions.data.paint_expense || 0).toFixed(2); //

View File

@ -2076,9 +2076,17 @@ export default {
this.calculateRows({ detailsData: this.expense_detailsData, names: ["amount"], totalPrev: "expense" }); this.calculateRows({ detailsData: this.expense_detailsData, names: ["amount"], totalPrev: "expense" });
this.calculateRows({ detailsData: this.paintExpense_detailsData, names: ["amount"], totalPrev: "paintExpense" }); this.calculateRows({ detailsData: this.paintExpense_detailsData, names: ["amount"], totalPrev: "paintExpense" });
this.formOptions.data.expense = parseFloat(this.formOptions.data.expense_total_amount || 0) +
parseFloat(this.formOptions.data.material_total_amount || 0) +
parseFloat(this.formOptions.data.labor_total_amount || 0);
this.formOptions.data.paint_expense = parseFloat(this.formOptions.data.paintExpense_total_amount || 0) +
parseFloat(this.formOptions.data.paintMaterial_total_amount || 0) +
parseFloat(this.formOptions.data.paintLabor_total_amount || 0);
this.formOptions.data.expense = this.formOptions.data.expense_total_amount;
this.formOptions.data.paint_expense = this.formOptions.data.paintExpense_total_amount;
this.formOptions.data.show_expense = parseFloat(this.formOptions.data.expense || 0).toFixed(2); this.formOptions.data.show_expense = parseFloat(this.formOptions.data.expense || 0).toFixed(2);
this.formOptions.data.show_paint_expense = parseFloat(this.formOptions.data.paint_expense || 0).toFixed(2); this.formOptions.data.show_paint_expense = parseFloat(this.formOptions.data.paint_expense || 0).toFixed(2);
@ -2110,9 +2118,16 @@ export default {
postdata.expense_list = postdata.expense_list.filter(item => item.item_name ? true : false); postdata.expense_list = postdata.expense_list.filter(item => item.item_name ? true : false);
postdata.paint_expenseList = postdata.paint_expenseList.filter(item => item.item_name ? true : false); postdata.paint_expenseList = postdata.paint_expenseList.filter(item => item.item_name ? true : false);
postdata.expense = parseFloat(this.formOptions.data.expense_total_amount || 0) +
parseFloat(this.formOptions.data.material_total_amount || 0) +
parseFloat(this.formOptions.data.labor_total_amount || 0);
postdata.paint_expense = parseFloat(this.formOptions.data.paintExpense_total_amount || 0) +
parseFloat(this.formOptions.data.paintMaterial_total_amount || 0) +
parseFloat(this.formOptions.data.paintLabor_total_amount || 0);
postdata.expense = this.formOptions.data.expense_total_amount;
postdata.paint_expense = this.formOptions.data.paintExpense_total_amount;
postdata.amount = parseFloat(postdata.quantity || 0) * parseFloat(postdata.expense || 0); postdata.amount = parseFloat(postdata.quantity || 0) * parseFloat(postdata.expense || 0);
postdata.paint_amount = parseFloat(postdata.quantity || 0) * parseFloat(postdata.paint_expense || 0); postdata.paint_amount = parseFloat(postdata.quantity || 0) * parseFloat(postdata.paint_expense || 0);