This commit is contained in:
parent
ca424afc79
commit
159fb22134
|
|
@ -1449,63 +1449,14 @@ export default {
|
||||||
this.loadSchemeDataById(scheme_id);
|
this.loadSchemeDataById(scheme_id);
|
||||||
},
|
},
|
||||||
reloadDrawer(index) {
|
reloadDrawer(index) {
|
||||||
let drawer_detailData = this.drawer_detailsData[index];
|
|
||||||
if (!drawer_detailData.scheme_id) return;
|
let drawers = this.$refs['drawer']; // 获取抽屉组件
|
||||||
const json = `{"id":${drawer_detailData.scheme_id}}`; // 构造json
|
|
||||||
this.$mk.post({ // 获取详情数据
|
if (drawers && drawers[index] && drawers[index].reloadDrawer) {
|
||||||
url: `${BASE_URL.BASE_URL}/BathroomScheme/v1/bathroom/scheme/detail`, // 详情接口地址
|
drawers[index].reloadDrawer();
|
||||||
loading: "加载中...",
|
|
||||||
data: json,
|
|
||||||
config: {
|
|
||||||
headers: {
|
|
||||||
'Content-Type': 'application/json'
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}).then(a => {
|
|
||||||
|
|
||||||
let row = a.data.bathroom_scheme; // 重新加载方案数据
|
|
||||||
|
|
||||||
|
|
||||||
let fittingsList = JSON.parse(row.fittingsList || "[]"); // 获取部件列表
|
|
||||||
fittingsList = fittingsList.filter(a => a.fittings && a.fittings[0]); // 过滤部件列表
|
|
||||||
let partsList = JSON.parse(row.partsList || "[]"); // 获取配件列表
|
|
||||||
partsList = partsList.filter(a => a.parts && a.parts[0]); // 过滤配件列表
|
|
||||||
let packagingList = JSON.parse(row.packagingList || "[]"); // 获取包装列表
|
|
||||||
packagingList = packagingList.filter(a => a.packaging && a.packaging[0]); // 过滤包装列表
|
|
||||||
|
|
||||||
let laborList = JSON.parse(row.laborList || "[]"); // 获取人工列表
|
|
||||||
laborList = laborList.filter(a => a.labor && a.labor[0]); // 过滤人工列表
|
|
||||||
let materialList = JSON.parse(row.materialList || "[]"); // 获取材料列表
|
|
||||||
materialList = materialList.filter(a => a.material && a.material[0]); // 过滤材料列表
|
|
||||||
|
|
||||||
|
|
||||||
let paintLaborList = JSON.parse(row.paintLaborList || "[]"); // 获取油漆人工列表
|
|
||||||
paintLaborList = paintLaborList.filter(a => a.labor && a.labor[0]); // 过滤油漆人工列表
|
|
||||||
let paintMaterialList = JSON.parse(row.paintMaterialList || "[]"); // 获取油漆材料列表
|
|
||||||
paintMaterialList = paintMaterialList.filter(a => a.material && a.material[0]); // 过滤油漆材料列表
|
|
||||||
|
|
||||||
|
|
||||||
let updateToList = ({ sourceList, targetList }) => {
|
|
||||||
sourceList.forEach(item => {
|
|
||||||
let oldItem = targetList.filter(a => a.id == item.id);
|
|
||||||
if (oldItem.length) { // 如果有原来行
|
|
||||||
//覆盖 更新 原来行的数据
|
|
||||||
Object.assign(oldItem[0], item);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
};
|
|
||||||
updateToList({ sourceList: fittingsList, targetList: drawer_detailData.fittingsList })
|
|
||||||
updateToList({ sourceList: partsList, targetList: drawer_detailData.partsList })
|
|
||||||
updateToList({ sourceList: packagingList, targetList: drawer_detailData.packagingList })
|
|
||||||
updateToList({ sourceList: laborList, targetList: drawer_detailData.laborList })
|
|
||||||
updateToList({ sourceList: materialList, targetList: drawer_detailData.materialList })
|
|
||||||
updateToList({ sourceList: paintLaborList, targetList: drawer_detailData.paintLaborList })
|
|
||||||
updateToList({ sourceList: paintMaterialList, targetList: drawer_detailData.paintMaterialList })
|
|
||||||
|
|
||||||
this.calculateAll();
|
|
||||||
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
loadSchemeDataById(dataId, callback) { // 加载方案数据
|
loadSchemeDataById(dataId, callback) { // 加载方案数据
|
||||||
const json = `{"id":${dataId}}`; // 构造json
|
const json = `{"id":${dataId}}`; // 构造json
|
||||||
|
|
@ -1574,9 +1525,9 @@ export default {
|
||||||
|
|
||||||
} else { //主柜
|
} else { //主柜
|
||||||
|
|
||||||
|
|
||||||
this.mainTabTitle = row.type == '1' ? '主柜' : '镜柜';
|
this.mainTabTitle = row.type == '1' ? '主柜' : '镜柜';
|
||||||
|
|
||||||
this.addToList({ scheme_id, listData: fittingsList, detailsData: this.fittings_detailsData }); // 把来源数据添加到目标表格数据
|
this.addToList({ scheme_id, listData: fittingsList, detailsData: this.fittings_detailsData }); // 把来源数据添加到目标表格数据
|
||||||
this.addToList({ scheme_id, listData: partsList, detailsData: this.parts_detailsData }); // 把来源数据添加到目标表格数据
|
this.addToList({ scheme_id, listData: partsList, detailsData: this.parts_detailsData }); // 把来源数据添加到目标表格数据
|
||||||
this.addToList({ scheme_id, listData: packagingList, detailsData: this.packaging_detailsData }); // 把来源数据添加到目标表格数据
|
this.addToList({ scheme_id, listData: packagingList, detailsData: this.packaging_detailsData }); // 把来源数据添加到目标表格数据
|
||||||
|
|
|
||||||
|
|
@ -1026,6 +1026,68 @@ export default {
|
||||||
this.$mk.error(a.data.msg);
|
this.$mk.error(a.data.msg);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
reloadDrawer() {
|
||||||
|
let drawer_detailData = this.item;
|
||||||
|
if (!drawer_detailData.scheme_id) return;
|
||||||
|
const json = `{"id":${drawer_detailData.scheme_id}}`; // 构造json
|
||||||
|
this.$mk.post({ // 获取详情数据
|
||||||
|
url: `${BASE_URL.BASE_URL}/BathroomScheme/v1/bathroom/scheme/detail`, // 详情接口地址
|
||||||
|
loading: "加载中...",
|
||||||
|
data: json,
|
||||||
|
config: {
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).then(a => {
|
||||||
|
|
||||||
|
let row = a.data.bathroom_scheme; // 重新加载方案数据
|
||||||
|
|
||||||
|
|
||||||
|
let fittingsList = JSON.parse(row.fittingsList || "[]"); // 获取部件列表
|
||||||
|
fittingsList = fittingsList.filter(a => a.fittings && a.fittings[0]); // 过滤部件列表
|
||||||
|
let partsList = JSON.parse(row.partsList || "[]"); // 获取配件列表
|
||||||
|
partsList = partsList.filter(a => a.parts && a.parts[0]); // 过滤配件列表
|
||||||
|
let packagingList = JSON.parse(row.packagingList || "[]"); // 获取包装列表
|
||||||
|
packagingList = packagingList.filter(a => a.packaging && a.packaging[0]); // 过滤包装列表
|
||||||
|
|
||||||
|
let laborList = JSON.parse(row.laborList || "[]"); // 获取人工列表
|
||||||
|
laborList = laborList.filter(a => a.labor && a.labor[0]); // 过滤人工列表
|
||||||
|
let materialList = JSON.parse(row.materialList || "[]"); // 获取材料列表
|
||||||
|
materialList = materialList.filter(a => a.material && a.material[0]); // 过滤材料列表
|
||||||
|
|
||||||
|
|
||||||
|
let paintLaborList = JSON.parse(row.paintLaborList || "[]"); // 获取油漆人工列表
|
||||||
|
paintLaborList = paintLaborList.filter(a => a.labor && a.labor[0]); // 过滤油漆人工列表
|
||||||
|
let paintMaterialList = JSON.parse(row.paintMaterialList || "[]"); // 获取油漆材料列表
|
||||||
|
paintMaterialList = paintMaterialList.filter(a => a.material && a.material[0]); // 过滤油漆材料列表
|
||||||
|
|
||||||
|
|
||||||
|
let updateToList = ({ sourceList, targetList }) => {
|
||||||
|
sourceList.forEach(item => {
|
||||||
|
targetList.forEach(targetItem=>{
|
||||||
|
if(targetItem.id == item.id){
|
||||||
|
Object.assign(targetItem, item);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
};
|
||||||
|
updateToList({ sourceList: fittingsList, targetList: this.fittings_detailsData })
|
||||||
|
updateToList({ sourceList: partsList, targetList: this.parts_detailsData })
|
||||||
|
updateToList({ sourceList: packagingList, targetList: this.packaging_detailsData })
|
||||||
|
updateToList({ sourceList: laborList, targetList: this.labor_detailsData})
|
||||||
|
updateToList({ sourceList: materialList, targetList: this.material_detailsData })
|
||||||
|
updateToList({ sourceList: paintLaborList, targetList: this.paintLabor_detailsData })
|
||||||
|
updateToList({ sourceList: paintMaterialList, targetList: this.paintMaterial_detailsData })
|
||||||
|
|
||||||
|
|
||||||
|
this.calculateAll();
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
formatShowNumber(value, points) {
|
formatShowNumber(value, points) {
|
||||||
if (!value) {
|
if (!value) {
|
||||||
return '<span>' + (0.0).toFixed(points || 0) + '</span>';
|
return '<span>' + (0.0).toFixed(points || 0) + '</span>';
|
||||||
|
|
@ -1999,6 +2061,8 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
_calculateAll() {
|
_calculateAll() {
|
||||||
|
|
||||||
|
|
||||||
this.calculateRows({ detailsData: this.fittings_detailsData, names: ["long", "width", "height", "seal", "board_length", "paint_area"], totalPrev: "fittings" });
|
this.calculateRows({ detailsData: this.fittings_detailsData, names: ["long", "width", "height", "seal", "board_length", "paint_area"], totalPrev: "fittings" });
|
||||||
|
|
||||||
this.totalRows({ detailsData: this.fittings_detailsData, names: ["quantity"], totalPrev: "fittings" });
|
this.totalRows({ detailsData: this.fittings_detailsData, names: ["quantity"], totalPrev: "fittings" });
|
||||||
|
|
@ -2023,8 +2087,7 @@ export default {
|
||||||
|
|
||||||
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);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
let postdata = this.item;
|
let postdata = this.item;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue