소스 검색

SpreadSheet 绑定数据源后自动扩展新行方便增加数据。

Chenshilong 8 년 전
부모
커밋
7b3e8284a1
2개의 변경된 파일48개의 추가작업 그리고 49개의 파일을 삭제
  1. 2 2
      web/maintain/ration_repository/fuzhu.html
  2. 46 47
      web/maintain/ration_repository/js/coe.js

+ 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>

+ 46 - 47
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) {
@@ -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;
@@ -135,72 +120,86 @@ var coeList = {
             dSheet.setDataSource(null);
         }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",