zhangweicheng 6 tahun lalu
induk
melakukan
7131a5fbb0

+ 1 - 1
modules/glj/models/glj_list_model.js

@@ -770,7 +770,7 @@ class GLJListModel extends BaseModel {
         // 整理数据
         let unitPriceData = {};
         for(let tmp of unitPriceList) {
-            let u_index = this.getIndex(tmp,['code','name','specs','unit','type'])
+            let u_index = this.getIndex(tmp,['code','name','specs','unit','type']);
             unitPriceData[u_index] = tmp;
         }
         return [gljData,mixRatioData,unitPriceData];

+ 6 - 8
modules/glj/models/unit_price_model.js

@@ -178,20 +178,18 @@ class UnitPriceModel extends BaseModel {
     }
 
     isPropertyInclude(data,pops,obj){
-        let condition={};
+        let condition={},me = this;
         if (data.length <= 0) {
             return null;
         }
         if(pops instanceof  Array){
-            for(let p of pops){
-                if(obj[p]!==undefined && obj[p]!==undefined!=null){
-                    condition[p]=obj[p]
-                }
-            }
+            return _.find(data,function (d) {
+                return me.getIndex(d,pops) == me.getIndex(obj,pops)
+            });
         }else {
-            condition[pops]=obj[pops]
+            condition[pops]=obj[pops];
+            return _.find(data,condition);
         }
-        return _.find(data,condition);
     }
     /**
      * 更新市场单价

+ 3 - 2
web/building_saas/main/js/models/project_glj.js

@@ -690,10 +690,11 @@ ProjectGLJ.prototype.getByConKey = function (conkey) {//根据5个连接属性
 
 ProjectGLJ.prototype.refreshTreeNodePriceIfNeed = function (data) {
     if ((data.unit_price.type == gljType.MAIN_MATERIAL || data.unit_price.type == gljType.EQUIPMENT) && projectInfoObj.projectInfo.property.displaySetting.disPlayMainMaterial == true) {
+        let me = this;
         var nodes = _.filter(projectObj.project.mainTree.items, function (tem) {
             if (tem.sourceType == ModuleNames.ration_glj && tem.data.projectGLJID == data.id) {
-                tem.data.marketUnitFee = this.getMarketPrice(data);//data.unit_price.market_price;
-                tem.data.marketPrice = this.getMarketPrice(data);//data.unit_price.market_price;
+                tem.data.marketUnitFee = me.getMarketPrice(data);//data.unit_price.market_price;
+                tem.data.marketPrice = me.getMarketPrice(data);//data.unit_price.market_price;
                 return true;
             }
         })

+ 28 - 28
web/building_saas/main/js/views/glj_view.js

@@ -752,36 +752,36 @@ var gljOprObj = {
     getMixRationShowDatas: function (mixRatioList, projectGljs) {
         var temRationGLJs = [];
         for (var i = 0; i < mixRatioList.length; i++) {
-            var pg = _.find(projectGljs, {
-                'code': mixRatioList[i].code,
-                'name': mixRatioList[i].name,
-                'specs': mixRatioList[i].specs,
-                'type': mixRatioList[i].type,
-                'unit': mixRatioList[i].unit
+            let mIndex = gljOprObj.getIndex(mixRatioList[i],gljKeyArray);
+            var pg = _.find(projectGljs, function (item) {
+                return gljOprObj.getIndex(item,gljKeyArray) == mIndex
             });//改关联关系
-            var tem = {
-                projectGLJID: pg.id,
-                code: pg.code,
-                name: pg.name,
-                specs: pg.specs,
-                unit: pg.unit,
-                type:mixRatioList[i].type,
-                shortName: projectObj.project.projectGLJ.getShortNameByID(mixRatioList[i].type),
-                consumption:mixRatioList[i].consumption,
-                rationItemQuantity: mixRatioList[i].consumption,
-                // quantity:mixRatioList[i].consumption,
-              /*  basePrice: pg.unit_price.base_price,
-                marketPrice: pg.unit_price.market_price,
-                adjustPrice: pg.adjust_price,*/
-                //isEstimate: pg.is_evaluate,
-                isMixRatio: true,
-                isAdd: pg.unit_price.is_add,
-                GLJID: pg.glj_id
-            };
-            if(projectObj.project.projectGLJ.isEstimateType(pg.type)){
-                tem.isEstimate =  pg.is_evaluate;
+            if(pg){
+                var tem = {
+                    projectGLJID: pg.id,
+                    code: pg.code,
+                    name: pg.name,
+                    specs: pg.specs,
+                    unit: pg.unit,
+                    type:mixRatioList[i].type,
+                    shortName: projectObj.project.projectGLJ.getShortNameByID(mixRatioList[i].type),
+                    consumption:mixRatioList[i].consumption,
+                    rationItemQuantity: mixRatioList[i].consumption,
+                    // quantity:mixRatioList[i].consumption,
+                    /*  basePrice: pg.unit_price.base_price,
+                     marketPrice: pg.unit_price.market_price,
+                     adjustPrice: pg.adjust_price,*/
+                    //isEstimate: pg.is_evaluate,
+                    isMixRatio: true,
+                    isAdd: pg.unit_price.is_add,
+                    GLJID: pg.glj_id
+                };
+                if(projectObj.project.projectGLJ.isEstimateType(pg.type)){
+                    tem.isEstimate =  pg.is_evaluate;
+                }
+                this.setGLJPrice(tem,pg);
             }
-            this.setGLJPrice(tem,pg);
+
             temRationGLJs.push(tem);
         }
         temRationGLJs = _.sortBy(temRationGLJs, 'code');