浏览代码

按del键删除功能。删除主数据、明细数据。

Chenshilong 8 年之前
父节点
当前提交
ab857c45a3
共有 2 个文件被更改,包括 44 次插入5 次删除
  1. 20 3
      modules/ration_repository/models/coe.js
  2. 24 2
      web/maintain/ration_repository/js/coe.js

+ 20 - 3
modules/ration_repository/models/coe.js

@@ -55,9 +55,9 @@ coeListDAO.prototype.saveToCoeList = function(data, callback) {
         me.addItems(data.addArr, callback);
     };
 
-    //if (data.deleteArr.length > 0) {
-    //    me.deleteItems(data.deleteArr, callback);
-    //};
+    if (data.deleteArr.length > 0) {
+        me.deleteItems(data.deleteArr, callback);
+    };
 
     if (data.updateArr.length > 0) {
         me.updateItems(data.updateArr, callback);
@@ -103,4 +103,21 @@ coeListDAO.prototype.updateItems = function(updateArr, callback) {
     };
 };
 
+coeListDAO.prototype.deleteItems = function(deleteArr, callback) {
+    if (deleteArr && deleteArr.length > 0) {
+        for (var i = 0; i < deleteArr.length; i++) {
+            var obj = deleteArr[i];
+            coeListModel.remove({"libID": obj.libID, "ID": obj.ID}, function(err) {
+                if (err) {
+                    callback(true, "delete fail", null);
+                } else {
+                    callback(false, "delete success", obj.ID);
+                };
+            });
+        };
+    } else {
+        callback(true, "no source", null);
+    };
+};
+
 module.exports = new coeListDAO();

+ 24 - 2
web/maintain/ration_repository/js/coe.js

@@ -65,6 +65,7 @@ var coeList = {
         me.mainSpread.getSheet(0).bind(GC.Spread.Sheets.Events.RangeChanged, me.onMainRangeChanged);
 
         me.detailSpread.getSheet(0).bind(GC.Spread.Sheets.Events.CellChanged, me.onDetailCellChanged);
+        me.detailSpread.getSheet(0).bind(GC.Spread.Sheets.Events.RangeChanged, me.onDetailRangeChanged);
     },
 
     getDatas: function () {
@@ -154,10 +155,11 @@ var coeList = {
 
     onMainRangeChanged: function(sender, args) {
         if (args.action == GC.Spread.Sheets.RangeChangedAction.clear) {
-            if (!confirm('确定要删除本条数据吗?')){ args.cancel = true; return; }
+            if (!confirm('确定要删除本条附注条件吗?')){ args.cancel = true; return; }
             var me = coeList;
+            var obj = me.datas[args.row];
+            me.save([],[obj],[]);
             args.sheet.deleteRows(args.row, 1);
-            alert(JSON.stringify(me.datas));
         };
     },
     
@@ -177,6 +179,14 @@ var coeList = {
                 curDetailData.gljID = null;
                 me.detailSpread.resumePaint();
             };
+
+            if (curDetailData.operator == undefined){
+                curDetailData.operator = "*";
+            };
+
+            if (curDetailData.amount == undefined){
+                curDetailData.amount = "0";
+            };
         };
 
 /*        var curType = args.sheet.getValue(detailRow, 0);
@@ -197,6 +207,18 @@ var coeList = {
         me.showNullRow(args.sheet);
     },
 
+    onDetailRangeChanged: function(sender, args) {
+        if (args.action == GC.Spread.Sheets.RangeChangedAction.clear) {
+            if (!confirm('确定要删除该类型的明细数据吗?')){ args.cancel = true; return; }
+            var me = coeList;
+            var detailData = args.sheet.getDataSource();
+            args.sheet.deleteRows(args.row, 1);
+            var mainRow = me.mainSpread.getSheet(0).getActiveRowIndex();
+            var obj = me.datas[mainRow];
+            me.save([],[],[obj]);
+        };
+    },
+
     showNullRow: function(sheet){
         var datas = sheet.getDataSource();
         //alert('004: datas.length: ' + datas.length + ', sheet.getRowCount: ' + sheet.getRowCount());