zhangweicheng 6 gadi atpakaļ
vecāks
revīzija
5ae84316e0

+ 3 - 3
web/building_saas/main/js/models/ration_glj.js

@@ -862,10 +862,10 @@ let ration_glj = {
             if (selectCode == gljOprObj.getIndex(oldData, gljKeyArray)) {
                 return callback(null);
             }
-            //如果是从混凝土改成商品混凝土,并且混凝土的定额消耗量不为空,则原混凝土的自定义消耗改成0,插入一条新的商品混凝土自定义消耗量为原自定义或定额消耗
+            //如果是从混凝土改成商品混凝土,并且混凝土的定额消耗量不为空,则原混凝土的自定义消耗改成0,插入一条新的商品混凝土自定义消耗量为原定额计算后的消耗
             if(gljUtil.isAddCommercialForReplace(oldData.type,glj.gljType,oldData.rationItemQuantity)){
                 let originalID = oldData.ID;
-                let customQuantity = gljUtil.isDef(oldData.customQuantity)? oldData.customQuantity:oldData.rationItemQuantity;
+                let customQuantity = gljUtil.isDef(oldData.quantity)? oldData.quantity:0;
                 oldData = this.getAddDataByStd(glj,oldData.rationID,oldData.billsItemID,oldData.projectID);
                 oldData.toCommercial=true;
                 oldData.originalID = originalID;
@@ -908,7 +908,7 @@ let ration_glj = {
                         tem_doc = {'customQuantity':'0'};
                         //插入一条新的定额,这里的更新自定义消耗量操作由task完成了,不用像单条替换那样做标记,修改等
                         let newDoc =  this.getAddDataByStd(glj,d.rationID,d.billsItemID,d.projectID);
-                        let customQuantity = gljUtil.isDef(d.customQuantity)? d.customQuantity:d.rationItemQuantity;
+                        let customQuantity = gljUtil.isDef(d.quantity)? d.quantity:0;
                         newDoc.customQuantity = customQuantity;
                         let tTask = {insertOne:{document: newDoc}};
                         tasks.push(tTask);

+ 6 - 2
web/building_saas/main/js/views/glj_view.js

@@ -1042,9 +1042,13 @@ var gljOprObj = {
     filterLibGLJByType: function () {
         var me = this;
         var selected = me.sheetData[gljContextMenu.selectedRow];
+        let materialTypes = [gljType.CONCRETE,gljType.MORTAR,gljType.MIX_RATIO,gljType.COMMERCIAL_CONCRETE,gljType.COMMERCIAL_MORTAR];//混凝土、砂浆、配合比、商品混凝土、商品砂浆
+        let normalTypes = [gljType.GENERAL_MATERIAL,gljType.PURCHASE_COMPONENT,gljType.GREEN_SEEDLING];//普通材料、外购砼构件、绿化苗木;
+        let filterTypes = [selected.type];
         //当前人材机类型是“混凝土、砂浆、配合比、商品混凝土、商品砂浆”时,筛选的可替换的人材机类型应是“混凝土、或砂浆、或配合比、或商品混凝土、或商品砂浆”。
-        let materialTypes = [202, 203, 204, 205, 206];//除了普通材料
-        let filterTypes = materialTypes.includes(selected.type) ? materialTypes : [selected.type];
+        if(materialTypes.includes(selected.type)) filterTypes = materialTypes;
+        //当前人材机类型是普通材料、外购砼构件、绿化苗木
+        if(normalTypes.includes(selected.type)) filterTypes = normalTypes;
         me.gljLibSheetData = _.filter(me.gljLibSheetData, function (data) {
             return filterTypes.includes(data.gljType);
         });

+ 8 - 0
web/building_saas/main/js/views/zmhs_view.js

@@ -84,6 +84,7 @@ let zmhs_obj = {
             //this.coeSheet.bind(GC.Spread.Sheets.Events.CellClick, this.onCoeCellClick);  配合自定义系数使用,现在自定义系数不在这显示了
             this.coeSpread.bind(GC.Spread.Sheets.Events.ButtonClicked, this.onButtonClick);
             this.coeSheet.bind(GC.Spread.Sheets.Events.ValueChanged,this.onCoeValueChange);
+            this.coeSheet.bind(GC.Spread.Sheets.Events.RangeChanged, this.onCoeRangeChanged);
             this.coeSheet.bind(GC.Spread.Sheets.Events.SelectionChanged, function (e,args) {
                 args.sheet.repaint();
             });
@@ -420,6 +421,13 @@ let zmhs_obj = {
             zmhs_obj.coeSheet.startEdit();
         }
     },
+
+    onCoeRangeChanged:function(e,args){
+        if(args.action == GC.Spread.Sheets.RangeChangedAction.clear){
+            args.newValue = null;//目前只支持delete清除辅助定额
+            zmhs_obj.onCoeValueChange(e,args);
+        }
+    },
     onCoeValueChange:function (e,args) {
         let fieldID =  zmhs_obj.coeSetting.header[args.col].dataCode;
         let recode = zmhs_obj.coeSheetData[args.row];