diff --git a/src/pages/Middle/bathroom/BathroomQuotation/BathroomQuotation/Edit.vue b/src/pages/Middle/bathroom/BathroomQuotation/BathroomQuotation/Edit.vue
index e54e2f7..9aa1957 100644
--- a/src/pages/Middle/bathroom/BathroomQuotation/BathroomQuotation/Edit.vue
+++ b/src/pages/Middle/bathroom/BathroomQuotation/BathroomQuotation/Edit.vue
@@ -1504,6 +1504,15 @@ export default {
paintMaterialList = paintMaterialList.filter(a => a.material && a.material[0]); // 过滤油漆材料列表
+ console.log(row.expense_list);
+ console.log(row.paint_expenseList);
+
+ let expense_list = JSON.parse(row.expense_list || "[]");
+ 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);
+
if (row.type != '1' && row.type != '3') { //抽屉 如果不是主柜
this.drawer_detailsData.push({ // 添加抽屉数据
@@ -1537,8 +1546,8 @@ export default {
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: paintMaterialList, detailsData: this.paintMaterial_detailsData }); // 把来源数据添加到目标表格数据
-
-
+ this.addToList({ scheme_id, listData: expense_list, detailsData: this.expense_detailsData });
+ this.addToList({ scheme_id, listData: paint_expenseList, detailsData: this.paintExpense_detailsData });
this.materialHeightInit(); // 初始化材料高度
this.fittingsListInit();
diff --git a/src/pages/Middle/bathroom/BathroomScheme/BathroomScheme/Edit.vue b/src/pages/Middle/bathroom/BathroomScheme/BathroomScheme/Edit.vue
index b63098e..4a8f577 100644
--- a/src/pages/Middle/bathroom/BathroomScheme/BathroomScheme/Edit.vue
+++ b/src/pages/Middle/bathroom/BathroomScheme/BathroomScheme/Edit.vue
@@ -226,9 +226,32 @@
:edit-render="{ name: 'EditExpressions' }">
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -305,6 +328,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -480,6 +534,39 @@ export default {
bathroomMaterial_list: [],//材料的数据
moreExpressionsList_material_height: [],//材料的厚度 变量列表
moreExpressionsList_fittings: [],
+
+ expense_detailsData: [ // 费用结算
+ {
+ item_name: "材料小计", amount_formula: "{免漆材料总费用}+{配件总费用}+{包装总费用}"
+ },
+ {
+ item_name: "人工费", amount_formula: "{免漆人工总费用}"
+ },
+ {
+ item_name: "抽屉费用", amount_formula: "{免漆抽屉总费用}"
+ },
+
+ {
+ item_name: "制,造,费,用", amount_formula: "({免漆材料总费用}+{配件总费用}+{包装总费用} + {免漆人工总费用}+{免漆抽屉总费用})*0.22"
+ }
+ ],
+ paintExpense_detailsData: [ // 油漆费用结算
+ {
+ item_name: "材料小计", amount_formula: "{油漆材料总费用}+{配件总费用}+{包装总费用}"
+ },
+ {
+ item_name: "人工费", amount_formula: "{油漆人工总费用}"
+ },
+
+ {
+ item_name: "抽屉费用", amount_formula: "{油漆抽屉总费用}"
+ },
+ {
+ item_name: "制,造,费,用", amount_formula: "({油漆材料总费用}+{配件总费用}+{包装总费用} + {油漆人工总费用}+{油漆抽屉总费用})*0.22"
+ }
+
+ ],
+
uploadDefaultImg: null,
detailDataFieldName: "bathroom_scheme",
@@ -729,6 +816,8 @@ export default {
this.paintMaterial_detailsData = JSON.parse(data.paintMaterialList || "[]");
+ this.expense_detailsData = JSON.parse(data.expense_list || "[]"); // 费用结算
+ this.paintExpense_detailsData = JSON.parse(data.paint_expenseList || "[]"); // 油漆费用结算
this.materialHeightInit();
this.fittingsListInit();
@@ -874,6 +963,14 @@ export default {
this.paintLabor_detailsData.push({});
}
+
+ for (let i = this.expense_detailsData.length; i < settings.table_min_count; i++) { // 遍历费用结算列表
+ this.expense_detailsData.push({});
+ }
+ for (let i = this.paintExpense_detailsData.length; i < settings.table_min_count; i++) { // 遍历油漆费用结算列表
+ this.paintExpense_detailsData.push({});
+ }
+
},
// 获取路由的id参数
getDataId() {
@@ -1142,6 +1239,69 @@ export default {
},
+
+ // 油漆人工下拉选择事件
+ expense_onPulldownSelected({ row, name, params }) {
+ console.log(row, name, params);
+
+ },
+ // 油漆人工弹出选择事件
+ expense_onPopupSelected({ rows, name, params }) {
+ console.log(rows, name, params);
+ },
+ // 油漆人工编辑前事件
+ expense_beforeEditMethod({ column, row }) {
+ console.log(row, column);
+ return true;
+ },
+ // 油漆人工编辑后事件
+ expense_afterEditEvent({ column, row }) {
+ console.log(row, column);
+ },
+ // 油漆人工编辑前事件
+ expense_beforeEditEvent({ column, row }) {
+ console.log(row, column);
+ },
+ // 油漆人工表格添加事件
+ expense_pageAdd(row) {
+ const $table = this.$refs.expense_xTable
+ const record = {
+ }
+ if (row) {
+ this.expense_detailsData.splice($table.getRowSeq(row), 0, record);
+ } else {
+ this.expense_detailsData.push(record)
+ }
+ },
+ // 油漆人工表格删除事件
+ expense_pageDelete(row) {
+ const $table = this.$refs.expense_xTable;
+ this.expense_detailsData.splice($table.getRowSeq(row) - 1, 1);
+ },
+ // 油漆人工表格添加事件
+ expense_footerCellClassName({ columnIndex }) {
+ if (columnIndex === 0) {
+ return 'col-blue'
+ }
+ },
+ expense_footerMethod({ columns }) {
+ const sums = []
+ columns.forEach((column, columnIndex) => {
+ if (columnIndex === 0) {
+ sums.push('')
+ } else {
+ let sumCell = ''
+ switch (column.field) {
+ case 'amount_formula':
+ sumCell = parseFloat(this.formOptions.data.expense_total_amount || 0).toFixed(2)
+ break
+ }
+ sums.push(sumCell)
+ }
+ })
+ return [sums]
+ },
+
paintMaterial_onPulldownSelected({ row, name, params }) {
console.log(row, name, params);
@@ -1210,7 +1370,61 @@ export default {
const $table = this.$refs.paintLabor_xTable;
this.paintLabor_detailsData.splice($table.getRowSeq(row) - 1, 1);
},
+
+ paintExpense_onPulldownSelected({ row, name, params }) {
+ console.log(row, name, params);
+
+ },
+ paintExpense_onPopupSelected({ rows, name, params }) {
+ console.log(rows, name, params);
+ },
+ paintExpense_beforeEditMethod({ column, row }) {
+ console.log(row, column);
+ return true;
+ },
+ paintExpense_afterEditEvent({ column, row }) {
+ console.log(row, column);
+ },
+ paintExpense_beforeEditEvent({ column, row }) {
+ console.log(row, column);
+ },
+ paintExpense_pageAdd(row) {
+ const $table = this.$refs.paintExpense_xTable
+ const record = {
+ }
+ if (row) {
+ this.paintExpense_detailsData.splice($table.getRowSeq(row), 0, record);
+ } else {
+ this.paintExpense_detailsData.push(record)
+ }
+ },
+ paintExpense_pageDelete(row) {
+ const $table = this.$refs.paintExpense_xTable;
+ this.paintExpense_detailsData.splice($table.getRowSeq(row) - 1, 1);
+ },
+ paintExpense_footerCellClassName({ columnIndex }) {
+ if (columnIndex === 0) {
+ return 'col-blue'
+ }
+ },
+ paintExpense_footerMethod({ columns }) {
+ const sums = []
+ columns.forEach((column, columnIndex) => {
+ if (columnIndex === 0) {
+ sums.push('')
+ } else {
+ let sumCell = ''
+ switch (column.field) {
+ case 'amount_formula':
+ sumCell = parseFloat(this.formOptions.data.paintExpense_total_amount || 0).toFixed(2)
+ break
+ }
+ sums.push(sumCell)
+ }
+ })
+ return [sums]
+ },
@@ -1381,6 +1595,9 @@ export default {
postdata.paintLaborList = JSON.parse(JSON.stringify(this.paintLabor_detailsData));
postdata.paintMaterialList = JSON.parse(JSON.stringify(this.paintMaterial_detailsData));
+ postdata.expense_list = JSON.parse(JSON.stringify(this.expense_detailsData));
+ postdata.paint_expenseList = JSON.parse(JSON.stringify(this.paintExpense_detailsData));
+
postdata.fittingsList = postdata.fittingsList.filter(item => item.fittings && item.fittings[1] ? true : false);
postdata.partsList = postdata.partsList.filter(item => item.parts && item.parts[1] ? true : false);
@@ -1392,7 +1609,9 @@ export default {
postdata.paintLaborList = postdata.paintLaborList.filter(item => item.labor && item.labor[1] ? true : false);
postdata.paintMaterialList = postdata.paintMaterialList.filter(item => item.material && item.material[1] ? 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);
this.formatDetailsData(postdata.fittingsList);
this.formatDetailsData(postdata.partsList);
@@ -1410,6 +1629,8 @@ export default {
postdata.materialList = JSON.stringify(postdata.materialList);
postdata.paintLaborList = JSON.stringify(postdata.paintLaborList);
postdata.paintMaterialList = JSON.stringify(postdata.paintMaterialList);
+ postdata.expense_list = JSON.stringify(postdata.expense_list);
+ postdata.paint_expenseList = JSON.stringify(postdata.paint_expenseList);
// 格式化提交的数据
this.$mk.formatFormData({ data: postdata, rules: this.formOptions.items });
@@ -1518,7 +1739,6 @@ export default {
this.paintMaterial_detailsData = paintMaterialList;
this.detailDataInit();
- this.calculateAll();
this.modalVisible = false;
},