瀏覽代碼

组成物不刷新bug,放开删除,标黄显示

zhangweicheng 5 年之前
父節點
當前提交
5a236e2799

+ 4 - 1
package.json

@@ -64,6 +64,9 @@
     "start": "C:\\Users\\mai\\AppData\\Roaming\\npm\\babel-node.cmd server.js",
     "server": "node --max-old-space-size=2048 server.js",
     "socket": "node socket.js",
-    "import": "node --max-old-space-size=2048 importserver.js"
+    "import": "node --max-old-space-size=2048 importserver.js",
+    "dev_server":"SET NODE_ENV=qa&& babel-node server.js",
+    "dev_socket":"SET NODE_ENV=qa&& babel-node socket.js",
+    "dev_import":"SET NODE_ENV=qa&& babel-node importserver.js"
   }
 }

+ 4 - 4
public/web/sheet/sheet_common.js

@@ -147,9 +147,6 @@ var sheetCommonObj = {
         for (var row = 0; row < data.length; row++) {
             //var cell = sheet.getCell(row, col, GC.Spread.Sheets.SheetArea.viewport);
             this.showRowData(sheet,setting,row,data,distTypeTree);
-            if(setting.getStyle && setting.getStyle(data[row])){
-                sheet.setStyle(row, -1, setting.getStyle(data[row]));
-            }
         }
         if(setting.emptyRowHeader){
             let rowCount = sheet.getRowCount();
@@ -218,7 +215,7 @@ var sheetCommonObj = {
         if(setting.autoFit==true){//设置自动行高
             if(setting.fitRow && setting.fitRow.length > 0){//如果有设置特定的某些列才需要自动行高就按设置的来,没有设置就默认所有列
                 for(let dataCode of setting.fitRow){
-                  let col =  _.findIndex(setting.header,{dataCode:dataCode})
+                  let col =  _.findIndex(setting.header,{dataCode:dataCode});
                   sheet.getCell(row,col).wordWrap(true);
                 }
             }else {
@@ -227,6 +224,9 @@ var sheetCommonObj = {
 
             sheet.autoFitRow(row);
         }
+        if(setting.getStyle && setting.getStyle(data[row],row,sheet.getActiveRowIndex())){
+            sheet.setStyle(row, -1, setting.getStyle(data[row]));
+        }
     },
     checkData : function(col,setting, value) {
         let result = true;

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

@@ -96,7 +96,7 @@
                         </div>-->
                     </span>
                    <!-- <a href="javascript:void(0)" class="btn btn-light btn-sm" id="insertRation" data-toggle="tooltip" data-placement="bottom" data-original-title="插入定额"><i class="fa fa-sign-in" aria-hidden="true"></i></a>-->
-                    <!--2018-11-15 隐藏删除按钮   <a href="javascript:void(0)" class="btn btn-light btn-sm" id="delete" data-toggle="tooltip" data-placement="bottom" data-original-title="删除"><i class="fa fa-remove" aria-hidden="true"></i></a>-->
+                    <a href="javascript:void(0)" class="btn btn-light btn-sm" id="delete" data-toggle="tooltip" data-placement="bottom" data-original-title="删除"><i class="fa fa-remove" aria-hidden="true"></i></a>
                     <a href="javascript:void(0)" class="btn btn-light btn-sm" id="upLevel" data-toggle="tooltip" data-placement="bottom" data-original-title="升级"><i class="fa fa-arrow-left" aria-hidden="true"></i></a>
                     <a href="javascript:void(0)"  class="btn btn-light btn-sm" id="downLevel" data-toggle="tooltip" data-placement="bottom" data-original-title="降级"><i class="fa fa-arrow-right" aria-hidden="true"></i></a>
                       <a href="javascript:void(0)" class="btn btn-light btn-sm" id="upMove" data-toggle="tooltip" data-placement="bottom" data-original-title="上移"><i class="fa fa-arrow-up" aria-hidden="true"></i></a>

+ 1 - 1
web/building_saas/main/js/models/ration.js

@@ -432,9 +432,9 @@ var Ration = {
                 }
                 project.projectGLJ.calcQuantity();
                 mbzm_obj.nodeChanged = true;//子目模板关联刷新
-                gljOprObj.showDataIfRationSelect(projectObj.project.mainTree.selected,"-111111111");//这里第二个参数是为了使改前和改后selectedID不一样,删除了的话下方的定额工料机不会刷新
                 project.calcProgram.calcNodesAndSave(refershNodes);
                 projectObj.mainController.refreshTreeNode(refershNodes, true);
+                gljOprObj.showDataIfRationSelect(projectObj.project.mainTree.selected,"-111111111");//这里第二个参数是为了使改前和改后selectedID不一样,删除了的话下方的定额工料机不会刷新
                 $.bootstrapLoading.end();
 
                 if(data.length < nodeInfo.length && nodeInfo[data.length].newCode!=null){//说明有部分定额编号没找到记录

+ 6 - 0
web/building_saas/main/js/views/glj_col.js

@@ -49,6 +49,12 @@ let gljCol = {
         view: {
             lockColumns: ["code","name","specs","unit","short_name","quantity","is_add"]
         },
+        getStyle:function (data,row,activeRow) {
+            if(row == activeRow){//选中黄色显示
+                return {backColor:"#FFFACD"};
+            }
+            return null;
+        },
         frozenCols:4
     },
     mixRatio_Setting:{

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

@@ -309,7 +309,7 @@ var gljOprObj = {
         let me = gljOprObj;
         me.initSelection(args.newSelections.length > 0 ? {row: args.newSelections[0].row} : {row: 0});
     },
-    getSelStyle: function (selected,settingStyle) {
+    getSelStyle: function (selected,settingStyle,rcolor) {
         let style = new GC.Spread.Sheets.Style();
         if(settingStyle){
             for(let key in settingStyle){
@@ -322,7 +322,7 @@ var gljOprObj = {
         style.borderBottom = new GC.Spread.Sheets.LineBorder("#D4D4D4", GC.Spread.Sheets.LineStyle.thin);
         let colorOpts = optionsOprObj.getOption(optionsOprObj.optionsTypes.COLOROPTS);
         let selectedColor = colorOpts.SELECTED.backColor,
-            recColor = 'White';
+            recColor = rcolor?rcolor:'White';
         style.backColor = selected ? selectedColor : recColor;
         return style;
     },

+ 11 - 2
web/building_saas/main/js/views/project_glj_view.js

@@ -309,10 +309,20 @@ projectGljObject={
         let me = projectGljObject;
         let newSel = args.newSelections[0];
         let oldSel = args.oldSelections?args.oldSelections[0]:{};
+        me.projectGljSheet.suspendPaint();
+        me.projectGljSheet.suspendEvent();
         if(newSel.row != oldSel.row){
+            let style = gljOprObj.getSelStyle(true,{});
+            me.projectGljSheet.setStyle(newSel.row, -1, style);
+            let orow = oldSel.row==''||oldSel.row==-1?0:oldSel.row;
+            let tstyle = gljOprObj.getSelStyle(false,{},me.projectGljSheetData[orow].bgColour);
+            me.projectGljSheet.setStyle(orow, -1, tstyle);
             me.projectGljRowChang();
+        }else{
+          me.projectGljSheet.repaint();
         }
-        me.projectGljSheet.repaint();
+        me.projectGljSheet.resumeEvent();
+        me.projectGljSheet.resumePaint();
     },
     projectGljRowChang:function(row){
         let me = projectGljObject;
@@ -748,7 +758,6 @@ projectGljObject={
             }
         }
         if(gljUtil.isConcreteType(glj.type)) data.bgColour = "#E0E0E0";//混凝土、砂浆、配合比的底色显示为 灰色#E0E0E0,灰色底色提醒用户不可修改。
-
         return data;
     },
     refreshProjectGljRow:function (row) {

+ 3 - 3
web/building_saas/main/js/views/project_view.js

@@ -1502,9 +1502,6 @@ var projectObj = {
                     name: '删除',
                     icon: 'fa-remove',
                     disabled: function () {
-                        if (projectReadOnly) {
-                            return true;
-                        }
                         return !ifCanDelete();
                     },
                     callback: function () {
@@ -2723,6 +2720,9 @@ function isSingleSelect() {//是否选中造价书中的单行
     return false;
 }
 function ifCanDelete() {
+    if (projectReadOnly) {
+      return false;
+    }
     let selections = projectObj.mainSpread.getActiveSheet().getSelections();
     let tree = projectObj.project.mainTree;
     let selected = projectObj.project.mainTree.selected;