Explorar o código

fix: 修改工程所在地之后,冬雨季地区提示应跟随新省份更新。
feat: 在人材机汇总页面,市场价如果高于定额价显示为红色,低于定额价显示为绿色,相同时显示为黑色。

zhangweicheng %!s(int64=5) %!d(string=hai) anos
pai
achega
f05f6b2c18

+ 9 - 3
public/web/sheet/sheet_common.js

@@ -179,6 +179,7 @@ var sheetCommonObj = {
     },
     showRowData: function (sheet, setting, row, data, distTypeTree = null) {
         let ch = GC.Spread.Sheets.SheetArea.viewport;
+        this.setRowStyle(row, sheet, data[row].bgColour);
         for (var col = 0; col < setting.header.length; col++) {
             //var cell = sheet.getCell(row, col, GC.Spread.Sheets.SheetArea.viewport);
             var val = _.get(data[row],setting.header[col].dataCode);
@@ -228,8 +229,13 @@ var sheetCommonObj = {
                 val = setting.getText[setting.header[col].getText](data[row], val)
             }
             sheet.setValue(row, col, val, ch);
+            if(setting.getStyle && setting.getStyle(data[row],row,null,setting.header[col].dataCode)){
+                let cstyle = setting.getStyle(data[row],row,null,setting.header[col].dataCode);
+                if(cstyle){
+                    sheet.setStyle(row, col,cstyle);
+                }   
+            }
         }
-        this.setRowStyle(row, sheet, data[row].bgColour);
         if (setting.autoFit == true) {//设置自动行高
             if (setting.fitRow && setting.fitRow.length > 0) {//如果有设置特定的某些列才需要自动行高就按设置的来,没有设置就默认所有列
                 for (let dataCode of setting.fitRow) {
@@ -242,8 +248,8 @@ var sheetCommonObj = {
 
             sheet.autoFitRow(row);
         }
-        if (setting.getStyle && setting.getStyle(data[row], row, sheet.getActiveRowIndex())) {
-            sheet.setStyle(row, -1, setting.getStyle(data[row]));
+        if(setting.getStyle && setting.getStyle(data[row],row,sheet.getActiveRowIndex())){
+            sheet.setStyle(row, -1, setting.getStyle(data[row],row,sheet.getActiveRowIndex()));
         }
     },
     showTreeData:function (sheet,setting,data) {

+ 2 - 1
web/building_saas/main/js/models/project.js

@@ -573,7 +573,7 @@ var PROJECT = {
                       }
                   }
               }else if(d.type == ModuleNames.project){
-                  temObj = this;
+                  temObj = d.isInfo?this.projectInfo:this;
               }else if (d.type == ModuleNames.ration_glj && d.action == "add"){
                   this[d.type].datas.push(d.data);
                   if(d.projectGLJ) this.projectGLJ.loadNewProjectGLJToCache(d.projectGLJ);
@@ -585,6 +585,7 @@ var PROJECT = {
                       if(key == 'ID' || key == 'id'){
                           continue;
                       }
+    
                       this.setValue(temObj,key,d.data[key])
                   }
               }

+ 3 - 2
web/building_saas/main/js/views/fee_rate_view.js

@@ -771,7 +771,7 @@ var feeRateObject={
     },
     getLocation:function(){
         let location = projectObj.project.projectInfo.location;
-        if(!location) location = defaultLocation;
+        if(!gljUtil.isDef(location)) location = defaultLocation;
         return location;
     },
     setFeeRateSTD(location){
@@ -1099,10 +1099,11 @@ $(function(){
     //切换选择工程所在地
     $('#location').change(async function () {
         //console.log(this.value);
-        let updateData = {type:ModuleNames.project,data:{'ID' : projectObj.project.ID(),location:this.value}};//,'property.locateSetting':outstd
+        let updateData = {type:ModuleNames.project,isInfo:true,data:{'ID' : projectObj.project.ID(),location:this.value}};//,'property.locateSetting':outstd
         $.bootstrapLoading.start();
         await projectObj.project.syncUpdateNodesAndRefresh([updateData]);
         feeRateObject.setFeeRateSTD(this.value);
+        subRateObject.showSubRateData();
         $.bootstrapLoading.end();
     });
 

+ 15 - 5
web/building_saas/main/js/views/glj_col.js

@@ -57,11 +57,21 @@ let gljCol = {
         view: {
             lockColumns: ["code","name","specs","unit","short_name","quantity","is_add","tenderPrice","tenderQuantity"]
         },
-        getStyle:function (data,row,activeRow) {
-            if(row == activeRow){//选中黄色显示
-                return {backColor:"#FFFACD"};
-            }
-            return null;
+        getStyle:function (data,row,activeRow,dataCode) {
+          let style = {};
+          if(row === activeRow){//选中黄色显示
+            style = new GC.Spread.Sheets.Style();
+            style.backColor = "#FFFACD";
+            style.borderLeft = new GC.Spread.Sheets.LineBorder("#D4D4D4", GC.Spread.Sheets.LineStyle.thin);
+            style.borderTop = new GC.Spread.Sheets.LineBorder("#D4D4D4", GC.Spread.Sheets.LineStyle.thin);
+            style.borderRight = new GC.Spread.Sheets.LineBorder("#D4D4D4", GC.Spread.Sheets.LineStyle.thin);
+            style.borderBottom = new GC.Spread.Sheets.LineBorder("#D4D4D4", GC.Spread.Sheets.LineStyle.thin);
+          }
+          if(dataCode === "marketPrice"){
+              if(data.marketPrice > data.basePrice) style.foreColor = 'red';
+              if(data.marketPrice < data.basePrice) style.foreColor = 'green';
+          }
+          return _.isEmpty(style)?null:style;
         },
         frozenCols:4
     },

+ 1 - 1
web/building_saas/main/js/views/sub_fee_rate_views.js

@@ -91,7 +91,7 @@ var subRateObject={
         let field = name === "冬季施工"?"temperatureArea":"rainfallArea";
         let location = feeRateObject.getLocation();
         let area = feeRateAreaMap[location];
-        return area[field]||null;
+        return area && area[field]? area[field]:null;
     },
     setTreeNodeCellType:function (datas,row,parentMap,visibleMap,sheet) {
         delete parentMap.undefined;//去掉无用节点