zhangweicheng 7 éve
szülő
commit
406632ddc9

+ 1 - 0
modules/main/controllers/quantity_detail_controller.js

@@ -27,6 +27,7 @@ async function save(req, res) {
         result.error=1;
         result.message = err.message;
     }
+    console.log(result);
     res.json(result);
 }
 

+ 3 - 3
modules/main/facade/quantity_detail_facade.js

@@ -45,8 +45,8 @@ async function saveQuantityDetail(datas) {
     let doc = datas;
     doc.ID = uuidV1();
     if(doc.refreshQuantity==false){ //如果选择了不替换工程量,则清空
-        await cleanQuantityDetail(doc);
-        return
+         await cleanQuantityDetail(doc);
+        return {};
     }
     if(doc.hasOwnProperty('regex')){
        return await insertRecodeWithReg(doc);
@@ -131,7 +131,7 @@ async function cleanQuantityDetail(doc) {
     }else {
         query.billID = doc.billID;
     }
-    await quantity_detail_model.deleteMany(query);
+    return await quantity_detail_model.deleteMany(query);
 }
 
 

+ 1 - 0
modules/main/models/bills.js

@@ -22,6 +22,7 @@ let billsSchema = new Schema({
     projectID: Number,
     serialNo: Number,
     chapterID: Number,
+    billsLibId: Number,
     code: String,
     fullCode: String,
     type:{type: Number,default:4},//1 :大项费用 2:分部 3分项 4清单

+ 1 - 0
modules/ration_glj/models/ration_glj_temp.js

@@ -145,6 +145,7 @@ let billsSchema = new Schema({
     projectID: Number,
     serialNo: Number,
     chapterID: Number,
+    billsLibId: Number,//清单库ID
     code: String,
     fullCode: String,
     type:Number,

+ 1 - 1
web/building_saas/main/html/main.html

@@ -57,7 +57,7 @@
                     <a href="" class="btn btn-sm" title="复制"><i class="fa fa-files-o" aria-hidden="true"></i></a>
                     <a href="" class="btn btn-sm" title="剪切"><i class="fa fa-scissors" aria-hidden="true"></i></a>
                     <a href="" class="btn btn-sm" title="粘贴"><i class="fa fa-clipboard" aria-hidden="true"></i></a>
-                    <a href="javascript:void(0)" class="btn btn-sm" id="insert" title="插入"><i class="fa fa-sign-in" aria-hidden="true"></i></a>
+                 <!--   <a href="javascript:void(0)" class="btn btn-sm" id="insert" title="插入"><i class="fa fa-sign-in" aria-hidden="true"></i></a>-->
                     <a href="javascript:void(0)" class="btn btn-sm" id="delete" title="删除"><i class="fa fa-remove" aria-hidden="true"></i></a>
                     <a href="javascript:void(0)" class="btn btn-sm" id="upLevel" title="升级"><i class="fa fa-arrow-left" aria-hidden="true"></i></a>
                     <a href="javascript:void(0)" class="btn btn-sm" id="downLevel" title="降级"><i class="fa fa-arrow-right" aria-hidden="true"></i></a>

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

@@ -204,6 +204,8 @@ var Bills = {
                     data.data.itemCharacterText = stdBillsData.itemCharacterText;
                     data.data.programID = stdBillsData.engineering;
                     data.data.type = stdBillsData.type;//插入清单类型
+                    //Vincent
+                    data.data.billsLibId = stdBillsData.billsLibId;//添加清单库ID
                     //zhong
                     newData = data.data;
                 }
@@ -403,6 +405,7 @@ var Bills = {
                 node.data.itemCharacter = stdBillsData.itemCharacter;
                 node.data.itemCharacterText = stdBillsData.itemCharacterText;
                 node.data.programID = stdBillsData.engineering;
+                node.data.billsLibId = stdBillsData.billsLibId;
             }
             updateData.push({'updateType': 'ut_update', 'updateData': tools.formatBillsUpdateData(node.data)});
 

+ 2 - 0
web/building_saas/main/js/models/fee_rate.js

@@ -381,9 +381,11 @@ var FeeRate = {
                 calcProgramManage.saveCalcItem(data,function (result) {
                     project.calcProgram.compileAllTemps();
                     calcProgramManage.refreshDetailSheet();
+                    $.bootstrapLoading.end();
                 })
             }else {
                 calcProgramManage.refreshDetailSheet();
+                $.bootstrapLoading.end();
             }
         };
         FeeRate.prototype.updateFeeRateByCalc=function (rate,value) {

+ 8 - 1
web/building_saas/main/js/views/main_tree_col.js

@@ -168,6 +168,13 @@ let MainTreeCol = {
         },
         forCode:function (node) {
             return MainTreeCol.readOnly.glj(node)|| (node.sourceType === projectObj.project.Ration.getSourceType()&&node.data.type===rationType.gljRation);
+        },
+        forUnit:function (node) {
+            if(MainTreeCol.readOnly.bills(node)&&(node.data.type==billType.DXFY||node.data.type==billType.FB)){//在大项费用、分部行,计量单位只读。
+                return true;
+            }else {
+               return treeNodeTools.isRation(node);
+            }
         }
     },
     cellType: {
@@ -175,7 +182,7 @@ let MainTreeCol = {
             //let combo = new GC.Spread.Sheets.CellTypes.ComboBox();
             let dynamicCombo = sheetCommonObj.getDynamicCombo(true);
             dynamicCombo.itemHeight(10).items(['m', 'm2', 'm3', 'km', 't', 'kg', '台班', '工日', '昼夜', '元', '项', '处', '个', '件',
-                '根', '组', '系统', '台', '套', '株', '丛', '缸', '支', '只', '块', '座', '对', '份', '樘', '攒', '榀']);
+                '根', '组', '系统', '台', '套', '株', '丛', '缸', '支', '只', '块', '座', '对', '份', '樘', '攒', '榀']).editable(true);
             return dynamicCombo;
         },
 

+ 24 - 17
web/building_saas/main/js/views/project_view.js

@@ -228,7 +228,7 @@ var projectObj = {
         let project = projectObj.project;
         let stdMatchCode, formatCode, matchs;
         let searchStdBillsAndUpdate = function (stdCode, formatCode) {
-            let orgCode = node.data.code.substr(0, 9);
+            let orgCode = node.data.code?node.data.code.substr(0, 9):"";
             if (stdCode === orgCode || projectInfoObj.projectInfo.engineeringInfo.bill_lib.length === 0) {
                 project.Bills.updateField(node.source, 'code', formatCode, true);
                 projectObj.mainController.refreshTreeNode([node], false);
@@ -255,23 +255,27 @@ var projectObj = {
                 });
             }
         }
-        if (value&&value.length === 9 && /^[\d]+$/.test(value)) {
-            stdMatchCode = value;
-            formatCode = project.Bills.newFormatCode(stdMatchCode);
-            searchStdBillsAndUpdate(stdMatchCode, formatCode);
-        } else if (value&&value.length === 12 && /^[\d]+$/.test(value)) {
-            stdMatchCode = value.substr(0, 9);
-            matchs = project.Bills.sameStdCode(stdMatchCode, node.data.code);
-            if (matchs.indexOf(value) === -1) {
-                searchStdBillsAndUpdate(stdMatchCode, value);
-            } else if (confirm('已存在该编码的清单,是否继续?')) {
-                formatCode = project.Bills.newFormatCode(stdMatchCode, node.data.code);
+        if(node.data.type==billType.FX||node.data.type==billType.BILL){
+            if (value&&value.length === 9 && /^[\d]+$/.test(value)) {
+                stdMatchCode = value;
+                formatCode = project.Bills.newFormatCode(stdMatchCode);
                 searchStdBillsAndUpdate(stdMatchCode, formatCode);
+                return;
+            } else if (value&&value.length === 12 && /^[\d]+$/.test(value)) {
+                stdMatchCode = value.substr(0, 9);
+                matchs = project.Bills.sameStdCode(stdMatchCode, node.data.code);
+                if (matchs.indexOf(value) === -1) {
+                    searchStdBillsAndUpdate(stdMatchCode, value);
+                } else if (confirm('已存在该编码的清单,是否继续?')) {
+                    formatCode = project.Bills.newFormatCode(stdMatchCode, node.data.code);
+                    searchStdBillsAndUpdate(stdMatchCode, formatCode);
+                    return;
+                }
             }
-        } else {
-            project.Bills.updateField(node.source, 'code', value, true);
-            this.mainController.refreshTreeNode([node], false);
-        } 
+        }
+        project.Bills.updateField(node.source, 'code', value, true);
+        this.mainController.refreshTreeNode([node], false);
+
     },
     updateRationCode: function (node, value) {
         if (projectInfoObj.projectInfo.engineeringInfo.ration_lib.length === 0) {
@@ -879,6 +883,7 @@ var projectObj = {
         //清单大类
         if(node.sourceType === this.project.Bills.getSourceType()){
             //大项费用
+            //大项费用
             if(node.data.type === billType.DXFY){
                 styleMap = mapping.DXFY;
             }
@@ -1007,6 +1012,7 @@ $('#upLevel').click(function () {
     if (selected && selected.sourceType === project.Bills.getSourceType()) {
         project.Bills.upLevelBills(selected.source);
         controller.upLevel();
+        controller.refreshTreeNode([orgParent]);
         projectObj.project.calcProgram.calcBillsAndSave([selected,orgParent]);
     }
 });
@@ -1015,7 +1021,8 @@ $('#downLevel').click(function () {
     var selected = controller.tree.selected;
     if (selected && selected.sourceType === project.Bills.getSourceType()) {
         project.Bills.downLevelBills(selected.source);
-        controller.downLevel();       
+        controller.downLevel();
+        controller.refreshTreeNode([selected.parent]);
         projectObj.converseCalculateBills(selected.parent);
     }
 });

+ 1 - 1
web/building_saas/pm/js/pm_main.js

@@ -1031,7 +1031,7 @@ function setProjOptions(projs, selected){
     $("#poj-name-list").empty();
     $("#poj-name").val("");
     if(projs.length > 0){
-        let firstProj = selected.data.projType === projectType.project ? selected: projs[0];
+        let firstProj = selected && selected.data.projType === projectType.project ? selected: projs[0];
         $("#poj-name").val(firstProj.data.name);
         setFileOptions(firstProj.data.ID);
         setEngOptions(firstProj.data.ID);