Pārlūkot izejas kodu

Merge branch 'master' of http://192.168.1.12:3000/SmartCost/ConstructionCost

TonyKang 8 gadi atpakaļ
vecāks
revīzija
702d2f18cf

+ 19 - 0
public/web/sheet_creater.js

@@ -25,6 +25,7 @@ sheetObj = {
         sheet.addRows(sheet.getRowCount(), 1);      // 扩展1行,用于直接输入以新增记录。
         sheet.bindColumns(colDef);
         me.setColAlign(colDef);
+        me.lockCols(colDef);
         me.setRowHeight(datas, 25);
 
         me.spread.resumePaint();
@@ -59,6 +60,24 @@ sheetObj = {
 
     },
 
+    lockCols: function(colDef){
+        var me = this;
+        var sheet = me.spread.getSheet(0);
+        sheet.options.isProtected = true;
+        sheet.options.isProtected = true;
+        sheet.getRange(-1, 0, -1, colDef.length, GC.Spread.Sheets.SheetArea.viewport).locked(false);
+
+        for (var col = 0; col < colDef.length; col++) {
+            if (colDef[col].readOnly == undefined) {
+                var ro = false
+            }else{
+                var ro = colDef[col].readOnly;
+            };
+
+            sheet.getRange(-1, col, -1, 1, GC.Spread.Sheets.SheetArea.viewport).locked(ro);
+        };
+    },
+
     setRowHeight: function(datas, hValue){
         var me = this;
         var sheet = me.spread.getSheet(0);

+ 2 - 2
web/maintain/ration_repository/fuzhu.html

@@ -36,8 +36,8 @@
                   </li>
 
                   <li class="nav-item">
-                  <input type="button" id="btnAddRow" value="Add Row" />
-                  <input type="button" id="btnDeleteRow" value="Delete Row" />
+                  <!--<input type="button" id="btnAddRow" value="Add Row" />-->
+                  <!--<input type="button" id="btnDeleteRow" value="Delete Row" />-->
                   </li>
               </ul>
         </nav>

+ 48 - 49
web/maintain/ration_repository/js/coe.js

@@ -12,10 +12,6 @@ var pageObj = {
             $(this).attr('href', "/rationRepository/lmm" + "?repository=" + getQueryString("repository"))
         });
 
-        $("#btnAddRow").click(function(){
-                coeList.addMainRow();
-        });
-
         var libID = getQueryString("repository");
         var libName = storageUtil.getSessionCache("RationGrp","repositoryID_" + libID);
         if (libName) {
@@ -36,7 +32,7 @@ var coeList = {
     tempID: -999999,       // 本地新增一条数据给的默认ID,用作标记,服务端返回新ID后替换该ID
 
     colDefMain: [
-        {name: "ID", displayName: "编号", size: 100, hAlign: "center"},
+        {name: "ID", displayName: "编号", size: 60, hAlign: "center", readOnly: true},
         {name: "name", displayName: "名称", size: 280},
         {name: "content", displayName: "内容", size: 250}
     ],
@@ -66,21 +62,10 @@ var coeList = {
 
         me.mainSpread.getSheet(0).bind(GC.Spread.Sheets.Events.EnterCell, me.onMainEnterCell);
         me.mainSpread.getSheet(0).bind(GC.Spread.Sheets.Events.CellChanged, me.onMainCellChanged);
-        me.mainSpread.getSheet(0).bind(GC.Spread.Sheets.Events.RowChanged, me.onMainRowChanged);
 
         me.detailSpread.getSheet(0).bind(GC.Spread.Sheets.Events.CellChanged, me.onDetailCellChanged);
     },
 
-    addMainRow: function () {
-        var me = this;
-        var sheet = me.mainSpread.getSheet(0);
-        var sels = sheet.getSelections();
-        var row = sels[0].row;
-        if (sels.length > 0) {
-            sheet.addRows(row, 1);
-        };
-    },
-
     getDatas: function () {
         var me = this;
 
@@ -103,7 +88,7 @@ var coeList = {
         })
     },
 
-    getLibID: function(libName){
+    /*getLibID: function(libName){
         var me = this;
         $.ajax({
             type:"POST",
@@ -122,7 +107,7 @@ var coeList = {
                 alert('内部程序错误!');
             }
         })
-    },
+    },*/
 
     onMainEnterCell: function(sender, args) {
         var me = coeList;
@@ -132,75 +117,89 @@ var coeList = {
         var dSheet = me.detailSpread.getSheet(0);
         var dData = me.datas[row].coes;
         if (dData == undefined){
-            dSheet.setDataSource(null);
+            dSheet.setDataSource([]);
+            dSheet.setRowCount(0);
         }else{
             dSheet.setDataSource(dData);
-            var lastData = dData[dData.length - 1];
-            if (lastData.coeType !== undefined){
+            me.showNullRow(dSheet);
+
+/*            var lastData = dData[dData.length - 1];
+            if (!$.isEmptyObject(lastData)){
                 dSheet.addRows(dSheet.getRowCount(), 1);
-            };
+            };*/
         };
         me.detailSpread.resumePaint();
     },
 
     onMainCellChanged: function(sender, args) {
-        alert('onMainCellChanged');
+        if (args.propertyName !== "value"){return;};
         var me = coeList;
         var row = args.sheet.getActiveRowIndex();
         var obj = me.datas[row];
-        me.save([],[],[obj]);
-    },
-
-    onMainRowChanged: function (event, data) {
-        var me = coeList;
-        var row = data.row, count = data.count, propName = data.propertyName;
-        if (row === undefined || count === undefined || propName === undefined) {
-            return;
-        };
 
-        if (propName === "addRows") {
-            var sheet = me.mainSpread.getSheet(0);
-            var obj = {};
+        if (obj.ID == undefined){           // 空行录入,即新增
             obj.libID = me.libID;
             obj.ID = me.tempID;
-            obj.name = "新建名称";
-            obj.content = "新建内容";
-            obj.coes = [{coeType:"全部", operator:"*"}];
+            obj.coes = [{coeType:"全部", operator:"*", amount: "0"}];
             me.datas[row] = obj;
 
+            me.save([obj],[],[]);
+
             me.detailSpread.suspendPaint();
             me.detailSpread.getSheet(0).setDataSource(me.datas[row].coes);
             me.detailSpread.resumePaint();
-
-            me.save([obj],[],[]);
+            var sheet = me.mainSpread.getSheet(0);
+            //sheet.addRows(sheet.getRowCount(), 1);
+            me.showNullRow(sheet);
         }
-        else if (propName === "deleteRows") {
-            //me.save([],[obj],[]);
+        else{                               // 正常修改
+            me.save([],[],[obj]);
         };
     },
 
     onDetailCellChanged: function(sender, args) {
-        //alert('onDetailCellChanged');
+        if (args.propertyName !== "value"){return;};
+
         var me = coeList;
-        var row = args.sheet.getActiveRowIndex();
         var mainRow = me.mainSpread.getSheet(0).getActiveRowIndex();
-        var curType = args.sheet.getValue(row,0);
-        if (!(curType == '单个')){
+        var detailRow = args.sheet.getActiveRowIndex();
+        var detailDatas = me.datas[mainRow].coes;
+        var curDetailData = detailDatas[detailRow];
+        var curType = curDetailData.coeType;
+        if (curType !== '单个'){
+            me.detailSpread.suspendPaint();
+            curDetailData.gljID = null;
+            me.detailSpread.resumePaint();
+        };
+
+/*        var curType = args.sheet.getValue(detailRow, 0);
+        if (curType !== '单个'){
             me.detailSpread.suspendEvent();
-            args.sheet.setValue(row, 1, null);
+            args.sheet.setValue(detailRow, 1, null);
             me.detailSpread.resumeEvent();
             //args.sheet.getCell(row, 1).backColor("red");
         }
         else{
             //args.sheet.getCell(row, 1).backColor("Blue");
-        };
+        };*/
+
         var obj = me.datas[mainRow];
         me.save([],[],[obj]);
+
+        me.showNullRow(args.sheet);
+    },
+
+    showNullRow: function(sheet){
+        var datas = sheet.getDataSource();
+        var lastData = datas[datas.length - 1];
+        if (!$.isEmptyObject(lastData)){
+            sheet.addRows(sheet.getRowCount(), 1);
+        };
     },
 
     save: function(addArr, deleteArr, updateArr) {
+        alert('触发了save');
         var me = coeList;
-        //alert('触发了save');
         $.ajax({
             type:"POST",
             url:"api/saveCoeList",