Преглед изворни кода

已添加过的标准清单,不在提示用户选择单位

MaiXinRong пре 7 година
родитељ
комит
abe0cc9f51

+ 11 - 0
web/building_saas/main/js/models/bills.js

@@ -209,6 +209,7 @@ var Bills = {
             project.quantity_detail.deleteByBills(deleteData);
             project.pushNow('deleteBills', modules, deleteDatas);
 
+            this.datas.splice(this.datas.indexOf(node.data), 1);
             return this.tree.delete(node);
         };
 
@@ -328,6 +329,16 @@ var Bills = {
 
             this.project.pushNow('replaceBills', this.getSourceType(), updateData);
             return node;            
+        };
+
+        bills.prototype.sameStdCodeBillsData = function (stdCode) {
+            let reg = new RegExp('^' + stdCode);
+            for (let data of this.datas) {
+                if (data.code && data.code.length === 12 && reg.test(data.code) && /^[\d]+$/.test(data.code)) {
+                    return data;
+                }
+            }
+            return null;            
         }
 
         return new bills(project);

+ 9 - 2
web/building_saas/main/js/views/std_bills_lib.js

@@ -149,9 +149,16 @@ var billsLibObj = {
                     //特征及内容转化
                     pageCCOprObj.setItemContentNode(stdBillsTree.items[args.row], getBillsJobs(stdBillsTree.items[args.row]), getBillsFeatures(stdBillsTree.items[args.row]));
                     if (/\//.test(selectNode.data.unit)) {
-                        ConfirmModal.stdBillsUnit.check(selectNode.data, function (std) {
+                        let existB = projectObj.project.Bills.sameStdCodeBillsData(selectNode.data.code);
+                        if (existB) {
+                            let std = JSON.parse(JSON.stringify(selectNode.data));
+                            std.unit = existB.unit;
                             ProjectController.addBills(projectObj.project, projectObj.mainController, std);
-                        });
+                        } else {
+                            ConfirmModal.stdBillsUnit.check(selectNode.data, function (std) {
+                                ProjectController.addBills(projectObj.project, projectObj.mainController, std);
+                            });
+                        }
                     } else {
                         ProjectController.addBills(projectObj.project, projectObj.mainController, selectNode.data);
                     }