فهرست منبع

coeList: 增加存储。

Chenshilong 8 سال پیش
والد
کامیت
31dc19ed98

+ 1 - 1
modules/fee_rates/routes/fee_rates_route.js

@@ -7,7 +7,7 @@ var frRouter = express.Router();
 var frController = require('../controllers/fee_rates_controller');
 
 frRouter.get('/', function(req, res) {
-    res.render('fee_rates/fee_rate', {});
+    res.render('building_saas/fee_rates/fee_rate', {});
 });
 
 frRouter.post('/getLibNames', frController.libNames);

+ 2 - 2
modules/ration_repository/controllers/coe_controller.js

@@ -15,8 +15,8 @@ module.exports ={
     },
 
     saveCoeList: function(req, res) {
-        coeList.saveToCoeList(JSON.parse(req.body.data), function(err, info){
-            callback(req, res, err, info, null);
+        coeList.saveToCoeList(JSON.parse(req.body.data), function(isErr, msg, data){
+            callback(req, res, isErr, msg, data);
         });
     }
 

+ 7 - 6
modules/ration_repository/models/coe.js

@@ -69,21 +69,22 @@ coeListDAO.prototype.addItems = function(addArr, callback) {
     if (addArr && addArr.length > 0) {
         counter.counterDAO.getIDAfterCount(counter.moduleName.coeList, addArr.length, function(err, result){
             var maxId = result.value.sequence_value;
+            console.log(maxId);
             for (var i = 0; i < addArr.length; i++) {
                 var obj = new coeListModel(addArr[i]);
                 obj.ID = (maxId - (addArr.length - 1) + i);
                 coeListModel.create(obj, function(err) {
                     if (err) {
-                        callback(true, err);
+                        callback(true, "add fail", null);
                     } else {
-                        callback(false, null);
+                        callback(false, "add success", obj.ID);
                     };
                 });
             };
 
         });
     } else {
-        callback(true, "No source");
+        callback(true, "no source", null);
     };
 };
 
@@ -93,14 +94,14 @@ coeListDAO.prototype.updateItems = function(updateArr, callback) {
                 var obj = updateArr[i];
                 coeListModel.update({"libID": obj.libID, "ID": obj.ID}, updateArr[i], function(err) {
                     if (err) {
-                        callback(true, "update Fail");
+                        callback(true, "update fail", null);
                     } else {
-                        callback(false, "update success");
+                        callback(false, "update success", obj.ID);
                     };
                 });
             };
     } else {
-        callback(true, "No source");
+        callback(true, "no source", null);
     };
 };
 

+ 6 - 1
web/maintain/ration_repository/fuzhu.html

@@ -34,6 +34,11 @@
                   <li class="nav-item">
                       <a class="nav-link px-3" href="#maz">安装增加费</a>
                   </li>
+
+                  <li class="nav-item">
+                  <input type="button" id="btnAddRow" value="Add Row" />
+                  <input type="button" id="btnDeleteRow" value="Delete Row" />
+                  </li>
               </ul>
         </nav>
     </div>
@@ -253,7 +258,7 @@
   	</SCRIPT>
 </body>
 <script type="text/javascript">
-    autoFlashHeight();
+//    autoFlashHeight();
 </script>
 
 </html>

+ 71 - 5
web/maintain/ration_repository/js/coe.js

@@ -12,6 +12,10 @@ 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) {
@@ -28,9 +32,11 @@ var coeList = {
     mainSpread: null,
     detailSpread: null,
     datas: [],
+    libID: Number,
+    tempID: -999999,       // 本地新增一条数据给的默认ID,用作标记,服务端返回新ID后替换该ID
 
     colDefMain: [
-        {name: "ID", displayName: "编号", size: 100},
+        {name: "ID", displayName: "编号", size: 100, hAlign: "center"},
         {name: "name", displayName: "名称", size: 280},
         {name: "content", displayName: "内容", size: 250}
     ],
@@ -43,6 +49,7 @@ var coeList = {
 
     show: function (){
         var me = this;
+        me.libID = getQueryString("repository");
         me.getDatas();
         me.mainSpread = sheetObj.create($('#mainSpread')[0], me.colDefMain, me.datas);
         me.detailSpread = sheetObj.create($('#contentSpread')[0], me.colDefContent, me.datas[0].coes);
@@ -58,17 +65,29 @@ var coeList = {
         me.detailSpread.options.showVerticalScrollbar = false;
 
         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;
-        var libID = getQueryString("repository");
 
         $.ajax({
             type:"POST",
             url:"/rationRepository/api/getCoeList",
-            data:{"libID": libID},
+            data:{"libID": me.libID},
             dataType:"json",
             cache:false,
             async: false,
@@ -113,7 +132,43 @@ var coeList = {
         me.detailSpread.resumePaint();
     },
 
-    onDetailCellChanged:  function(sender, args) {
+    onMainCellChanged: function(sender, args) {
+        alert('onMainCellChanged');
+        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 = {};
+            obj.libID = me.libID;
+            obj.ID = me.tempID;
+            obj.name = "新建名称";
+            obj.content = "新建内容";
+            obj.coes = [{coeType:"全部", operator:"*"}];
+            me.datas[row] = obj;
+
+            me.detailSpread.suspendPaint();
+            me.detailSpread.getSheet(0).setDataSource(me.datas[row].coes);
+            me.detailSpread.resumePaint();
+
+            me.save([obj],[],[]);
+        }
+        else if (propName === "deleteRows") {
+            //me.save([],[obj],[]);
+        };
+    },
+
+    onDetailCellChanged: function(sender, args) {
         //alert('onDetailCellChanged');
         var me = coeList;
         var row = args.sheet.getActiveRowIndex();
@@ -133,6 +188,8 @@ var coeList = {
     },
 
     save: function(addArr, deleteArr, updateArr) {
+        var me = coeList;
+        //alert('触发了save');
         $.ajax({
             type:"POST",
             url:"api/saveCoeList",
@@ -144,7 +201,16 @@ var coeList = {
                 if (result.error) {
                     alert(result.message);
                 } else {
-                    // 成功。
+                    // 成功。更新从后台返回的新ID。
+                    if (addArr.length > 0){
+                        for (var i = 0; i < me.datas.length; i++) {
+                            if (me.datas[i].ID == me.tempID){
+                                me.datas[i].ID = result.data;
+                                me.mainSpread.getSheet(0).repaint();
+                                break;
+                            }
+                        }
+                    };
                 }
             },
             error:function(err){