浏览代码

完成spreadjs下定额、工料机增删改功能,界面交互

zhangenping 8 年之前
父节点
当前提交
ca99a6ae79

+ 35 - 14
modules/rationLibEditor/controller/RItemsController.js

@@ -1,21 +1,42 @@
 /**
 /**
  * Created by Syusuke on 2017/3/20.
  * Created by Syusuke on 2017/3/20.
  */
  */
-var rationItemData = require('../models/rationTree');
-var callback = function(req, res, err, message, data){
-    res.json({error: err, message: message, data: data});
+var rationItemsData = require('../models/rationItems');
+var callback = function(req,res,err,data){
+    if(data){
+        res.status(200)
+        res.json({success:true,data:data});
+    }
+    else
+    if(err){
+        res.status(500)
+        res.json({success:false,error:err});
+    }
+    else{
+        res.status(204);
+        res.json({success:true,data:null});
+    }
 }
 }
 module.exports = {
 module.exports = {
-    getRationItems:function(req,res){}
+    insertRation:
+        function(req,res){
+            var libName = req.body.rationLibName;
+            var value = JSON.parse(req.body.value)
+            rationItemsData.insertRation(libName,value,function(err,data){
+                callback(req,res,err,data);
+            })
+        },
+    updateRation:
+        function(req,res){
+            var libName = req.body.rationLibName;
+            var value = JSON.parse(req.body.value)
+           // var code = req.body.code;
+            var data = JSON.parse(req.body.data);
+            rationItemsData.updateRation(libName,value,data,function(err,data){
+                callback(req,res,err,data);
+            })
+        }
+
 }
 }
-var rationLibMapDAO = function(){};
 
 
-rationLibMapDAO.prototype.getDisplayRationLibs = function(userId, callback){
-    Projects.find({userId: userId, deleted: { $in: [false, null]}}, '-_id', function(err, templates){
-        if (err) {
-            callback(1, 'Error', null);
-        } else {
-            callback(0, '', templates);
-        }
-    });
-};
+

+ 47 - 0
modules/rationLibEditor/controller/gljListController.js

@@ -0,0 +1,47 @@
+/**
+ * Created by Syusuke on 2017/3/23.
+ */
+var gljListData = require('../models/gljList');
+var callback = function(req,res,err,data){
+    if(data){
+        res.status(200)
+        res.json({success:true,data:data});
+    }
+    else
+    if(err){
+        res.status(500)
+        res.json({success:false,error:err});
+    }
+    else{
+        res.status(204);
+        res.json({success:true,data:null});
+    }
+}
+
+module.exports = {
+    insertGLJList:
+        function(req,res){
+            var libName = req.body.rationLibName;
+            var value = JSON.parse(req.body.value);
+            gljListData.insertGLJList(libName,value,function(err,data){
+                callback(req,res,err,data);
+            })
+        },
+    updateGLJList:
+        function(req,res){
+            var libName = req.body.rationLibName;
+            var value = JSON.parse(req.body.value)
+            var data = JSON.parse(req.body.data);
+            gljListData.updateGLJList(libName,value,data,function(err,data){
+                callback(req,res,err,data);
+            })
+        },
+    removeGLJList:
+        function(req,res){
+            var libName = req.body.rationLibName;
+            var value = JSON.parse(req.body.value)
+            gljListData.removeGLJList(libName,value,function(err,data){
+                callback(req,res,err,data);
+            })
+        }
+}

+ 0 - 9
modules/rationLibEditor/db/rationTree.js

@@ -1,9 +0,0 @@
-/**
- * Created by Syusuke on 2017/3/20.
- */
-var RationTreeSchema = mongoose.Schema({//章节树  //生成唯一id改为sectionid  改成string
-    SectionID:Number,
-    ParentID:Number,
-    NextSiblingID:Number,
-    Name:String
-});

+ 80 - 0
modules/rationLibEditor/models/gljList.js

@@ -0,0 +1,80 @@
+/**
+ * Created by Syusuke on 2017/3/23.
+ */
+var mongoose = require("mongoose");
+var dbm = require("../../../config/db/db_manager");
+var async = require("async");
+var Schema = mongoose.Schema;
+
+
+var gljListSchema = mongoose.Schema({
+    GLJCode:String,
+    GLJName:String,
+    specs:String,//规格,钢筋粗细,光圆
+    unit:String,//单位
+    basePrice:Number,
+    type:Number //工料机类型,便于分类
+});
+
+var gljListDAO = function(){};
+
+gljListDAO.prototype.insertGLJList = function(LibName,value,callback){
+    var db = dbm.getCfgConnection(LibName);
+    var gljListModel = db.model("gljlists",gljListSchema);
+    if(value.cellCurrValue == value.cellPrimValue) callback(false,false);
+    gljListModel.find({GLJCode:value.cellCurrValue},function(err,data){
+        if(data.length)
+            callback(false,false);
+        else{
+            if(value.cellPrimValue == null){
+                var glj = {};
+                glj.GLJCode = value.cellCurrValue;
+                glj.GLJName = null;
+                glj.specs = null;
+                glj.unit = null;
+                glj.basePrice = null;
+                glj.type = null;
+                new gljListModel(glj).save(function(err){
+                    if(err)
+                        callback(err,false);
+                    else
+                        callback(err,"ok")
+                })
+            }else
+                gljListModel.update({gljCode:value.cellPrimValue},{$set:{gljCode:value.cellCurrValue}},function(err){
+                    if(err) callback("更新工料机发生错误",false);
+                    else  callback(err,"ok");
+                });
+        }
+    })
+}
+
+gljListDAO.prototype.updateGLJList = function(libName,value,data,callback){
+    var db = dbm.getCfgConnection(libName);
+    var gljListModel = db.model("gljlists",gljListSchema);
+    var glj = {}
+    glj.GLJCode = data[0];
+    glj.GLJName = data[1];
+    glj.specs = data[2];
+    glj.unit = data[3];
+    glj.basePrice = data[4];
+    glj.type = data[5];
+    gljListModel.find({GLJCode:glj.GLJCode},function(err,data){
+        if(err) callback("请确是否有该工料机!",false)
+        else
+            gljListModel.update({GLJCode:glj.GLJCode},glj,function(err){
+                if(err) callback("更新工料机错误",false);
+                else callback(err,"更新成功");
+            })
+    })
+}
+
+gljListDAO.prototype.removeGLJList = function(libName,value,callback){
+    var db = dbm.getCfgConnection(libName);
+    var gljListModel = db.model("gljlists",gljListSchema);
+    gljListModel.remove({GLJCode:value.cellPrimValue},function(err){
+        if(err) callback("删除失败",false)
+        else callback(err,"ok");
+    })
+}
+module.exports = new gljListDAO()

+ 78 - 0
modules/rationLibEditor/models/rationItems.js

@@ -0,0 +1,78 @@
+/**
+ * Created by Syusuke on 2017/3/23.
+ */
+var mongoose = require("mongoose");
+var dbm = require("../../../config/db/db_manager");
+var async = require("async");
+var Schema = mongoose.Schema;
+
+
+var rationItemsSchema = mongoose.Schema({//只记载定额基本元素,并未和工料机挂钩
+    rationCode:String,
+    rationName:String,
+    unit:String,
+    basePrice:Number,
+    sectionId:Number,
+    contentId:Number,
+    caption:String,//显示内容
+    feeType:Number //取费类别,这条定额对应怎样的费率参与计算,在键定额库的时候手动输入
+});
+
+var rationItemsDAO = function(){};
+
+rationItemsDAO.prototype.insertRation = function(LibName,value,callback){
+    var db = dbm.getCfgConnection(LibName);
+    var rationItemsModel = db.model("rationItems",rationItemsSchema);
+    if(value.cellCurrValue == value.cellPrimValue) callback(false,false);
+    rationItemsModel.find({rationCode:value.cellCurrValue},function(err,data){
+        if(data.length)
+            callback(false,false);
+        else{
+            if(value.cellPrimValue == null){
+                var ration = {};
+                ration.rationCode = value.cellCurrValue;
+                ration.rationName = null;
+                ration.unit = null;
+                ration.basePrice = null;
+                ration.sectionId = null;
+                ration.contentId = null;
+                ration.caption = null;
+                ration.feeType = null;
+                new rationItemsModel(ration).save(function(err){
+                    if(err)
+                        callback(err,false);
+                    else
+                        callback(err,"ok")
+
+                })
+            }else
+                rationItemsModel.update({rationCode:value.cellPrimValue},{$set:{rationCode:value.cellCurrValue}},function(err){
+                    if(err) callback("更新定额发生错误",false);
+                    else  callback(err,"ok");
+                });
+        }
+    })
+}
+rationItemsDAO.prototype.updateRation = function(libName,value,data,callback){
+    var db = dbm.getCfgConnection(libName);
+    var rationItemsModel = db.model("rationItems",rationItemsSchema);
+    var ration = {}
+    ration.rationCode = data[0];
+    ration.rationName = data[1];
+    ration.unit = data[2];
+    ration.basePrice = data[3];
+    ration.sectionId = value.sectionSelected;
+    ration.contentId = null;
+    ration.caption = data[4];
+    ration.feeType = data[5];
+    rationItemsModel.find({rationCode:ration.rationCode},function(err,data){
+        if(err) callback("请确是否有该定额!",false)
+        else
+        rationItemsModel.update({rationCode:ration.rationCode},ration,function(err){
+            if(err) callback("更新定额错误",false)
+            else callback(err,"更新成功");
+        })
+    })
+}
+
+module.exports = new rationItemsDAO()

+ 21 - 21
modules/rationLibEditor/models/rationLibMap.js

@@ -5,19 +5,19 @@ var mongoose = require("mongoose");
 var dbm = require("../../../config/db/db_manager");
 var dbm = require("../../../config/db/db_manager");
 var async = require("async");
 var async = require("async");
 var db = dbm.getCfgConnection("rationLibMap");
 var db = dbm.getCfgConnection("rationLibMap");
-var Schema = mongoose.Schema;
+//var schema = mongoose.Schema;
 
 
-var RationLibMapSchema = mongoose.Schema({
-    DisplayName:String,
-    DBName:String
+var rationLibMapSchema = mongoose.Schema({
+    displayName:String,
+    dbName:String
 })
 })
 
 
-var RationLibMap = db.model("rationlibmaps", RationLibMapSchema);
+var rationLibMap = db.model("rationlibmaps", rationLibMapSchema);
 
 
-var RationLibMapDAO = function(){};
+var rationLibMapDAO = function(){};
 
 
-RationLibMapDAO.prototype.getRealLibName = function(rationName,callback){
-    RationLibMap.find({"DisplayName":rationName}, function(err,data){
+rationLibMapDAO.prototype.getRealLibName = function(rationName,callback){
+    rationLibMap.find({"displayName":rationName}, function(err,data){
         if (err) {
         if (err) {
             callback('Error', null);
             callback('Error', null);
         } else {
         } else {
@@ -26,10 +26,10 @@ RationLibMapDAO.prototype.getRealLibName = function(rationName,callback){
     });
     });
 };
 };
 
 
-RationLibMapDAO.prototype.addRationLib = function(rationName,callback){
-    RationLibMap.find({"DisplayName":rationName},function(err,data){
+rationLibMapDAO.prototype.addRationLib = function(rationName,callback){
+    rationLibMap.find({"risplayName":rationName},function(err,data){
         if(data.length == 0)
         if(data.length == 0)
-            new RationLibMap({"DisplayName":rationName,"DBName":rationName}).save(function(err) {
+            new rationLibMap({"displayName":rationName,"dbName":rationName}).save(function(err) {
                 if (err) callback("Error", null)
                 if (err) callback("Error", null)
                 else
                 else
                     callback(false, "ok");
                     callback(false, "ok");
@@ -39,8 +39,8 @@ RationLibMapDAO.prototype.addRationLib = function(rationName,callback){
     })
     })
 }
 }
 
 
-RationLibMapDAO.prototype.getDisplayRationLibs = function(callback) {
-    RationLibMap.find({}, function(err, data){
+rationLibMapDAO.prototype.getDisplayRationLibs = function(callback) {
+    rationLibMap.find({}, function(err, data){
         if (err) {
         if (err) {
             callback( 'Error', null);
             callback( 'Error', null);
         } else {
         } else {
@@ -49,21 +49,21 @@ RationLibMapDAO.prototype.getDisplayRationLibs = function(callback) {
     });
     });
 };
 };
 
 
-RationLibMapDAO.prototype.deleteRationLib = function(rationName,callback){
+rationLibMapDAO.prototype.deleteRationLib = function(rationName,callback){
     async.waterfall([
     async.waterfall([
         function(cb){
         function(cb){
-            RationLibMap.find({"DisplayName":rationName},function(err,data){
+            rationLibMap.find({"displayName":rationName},function(err,data){
                 cb(err,data)
                 cb(err,data)
             })
             })
         },
         },
         function(data,cb){
         function(data,cb){
-            var db1 = dbm.getCfgConnection(data[0].DBName);
+            var db1 = dbm.getCfgConnection(data[0].dbName);
             db1.dropDatabase(function(err){
             db1.dropDatabase(function(err){
               cb(err,data)
               cb(err,data)
             })
             })
         },
         },
         function(data,cb){
         function(data,cb){
-             RationLibMap.remove({"DisplayName":rationName},function(err,data){
+             RationLibMap.remove({"displayName":rationName},function(err,data){
                  cb(err,data);
                  cb(err,data);
              })
              })
         }
         }
@@ -77,10 +77,10 @@ RationLibMapDAO.prototype.deleteRationLib = function(rationName,callback){
     })
     })
 }
 }
 
 
-RationLibMapDAO.prototype.editRationLib = function(rationName,newName,callback){
-    RationLibMap.find({"DisplayName":newName}, function(err, data){
+rationLibMapDAO.prototype.editRationLib = function(rationName,newName,callback){
+    rationLibMap.find({"displayName":newName}, function(err, data){
         if (data.length == 0) {
         if (data.length == 0) {
-            RationLibMap.update({DisplayName:rationName},{$set:{DisplayName:newName}},function(err){
+            rationLibMap.update({displayName:rationName},{$set:{displayName:newName}},function(err){
                 if(err) callback("err",false);
                 if(err) callback("err",false);
                 else callback(false,"ok")
                 else callback(false,"ok")
             })
             })
@@ -89,4 +89,4 @@ RationLibMapDAO.prototype.editRationLib = function(rationName,newName,callback){
     });
     });
 }
 }
 
 
-module.exports = new RationLibMapDAO();
+module.exports = new rationLibMapDAO();

+ 25 - 25
modules/rationLibEditor/models/rationTree.js

@@ -6,47 +6,47 @@ var dbm = require("../../../config/db/db_manager");
 var async = require("async");
 var async = require("async");
 var Schema = mongoose.Schema;
 var Schema = mongoose.Schema;
 
 
-var RationTreeSchema = mongoose.Schema({//章节树  //生成唯一id改为sectionid  改成string
-    SectionID:Number,
-    ParentID:Number,
-    NextSiblingID:Number,
-    Name:String
+var rationTreeSchema = mongoose.Schema({//章节树  //生成唯一id改为sectionID  改成string
+    sectionId:Number,
+    parentId:Number,
+    nextSiblingId:Number,
+    name:String
 });
 });
 
 
 
 
-var RationTreeDAO = function(){};
+var rationTreeDAO = function(){};
 
 
-RationTreeDAO.prototype.getRationTrees = function(LibName,callback){
-    var db = dbm.getCfgConnection(LibName)
-    var RationTreeModel = db.model("rationtrees",RationTreeSchema)
-    RationTreeModel.find({},function(err,data){
+rationTreeDAO.prototype.getRationTrees = function(Libname,callback){
+    var db = dbm.getCfgConnection(Libname)
+    var rationTreeModel = db.model("rationtrees",rationTreeSchema)
+    rationTreeModel.find({},function(err,data){
         if(data.length) callback(false,data);
         if(data.length) callback(false,data);
         else  if(err) callback("获取定额树错误!",false)
         else  if(err) callback("获取定额树错误!",false)
         else callback(false,false);
         else callback(false,false);
     })
     })
 }
 }
-RationTreeDAO.prototype.tempRationTreeInsert = function(LibName,rationTempTree,callback){
-    var db = dbm.getCfgConnection(LibName)
-    var RationTreeModel = db.model("rationtrees",RationTreeSchema)
-    RationTreeModel.collection.insert(rationTempTree,function(err,data){
+rationTreeDAO.prototype.tempRationTreeInsert = function(Libname,rationTempTree,callback){
+    var db = dbm.getCfgConnection(Libname)
+    var rationTreeModel = db.model("rationtrees",rationTreeSchema)
+    rationTreeModel.collection.insert(rationTempTree,function(err,data){
      if(err) callback("插入定额模板错误",false)
      if(err) callback("插入定额模板错误",false)
      else callback(false,"ok")
      else callback(false,"ok")
      })
      })
 }
 }
 
 
-RationTreeDAO.prototype.sectionUpsert = function(LibName,section,callback){
-    var db = dbm.getCfgConnection(LibName);
-    var RationTreeModel = db.model("rationtrees",RationTreeSchema);
-    RationTreeModel.find({"SectionID": section.SectionID},function(err,data){
+rationTreeDAO.prototype.sectionUpsert = function(Libname,section,callback){
+    var db = dbm.getCfgConnection(Libname);
+    var rationTreeModel = db.model("rationtrees",rationTreeSchema);
+    rationTreeModel.find({"sectionId": section.sectionId},function(err,data){
         if(data.length){
         if(data.length){
-            RationTreeModel.update({'SectionID':section.SectionID},section,function(err,data){
+            rationTreeModel.update({'sectionId':section.sectionId},section,function(err,data){
                 if(err){
                 if(err){
                     callback(" ",false);
                     callback(" ",false);
                 }else
                 }else
                     callback(false,"ok");
                     callback(false,"ok");
             });
             });
         }else{
         }else{
-            var N = new RationTreeModel(section).save(function(err){
+            var N = new rationTreeModel(section).save(function(err){
                 if(err){
                 if(err){
                     callback(" ",false);
                     callback(" ",false);
                 }else
                 }else
@@ -56,12 +56,12 @@ RationTreeDAO.prototype.sectionUpsert = function(LibName,section,callback){
     })
     })
 }
 }
 //待  ration模块完成
 //待  ration模块完成
-RationTreeDAO.prototype.deleteSection= function(LibName,sectionID,callback){
-    var db = dbm.getCfgConnection(LibName);
-    var RationTreeModel = db.model("rationItems",RationTreeSchema);
-    RationTreeModel.find({"SectionID": sectionID},[],function(err,data){
+rationTreeDAO.prototype.deleteSection= function(Libname,sectionId,callback){
+    var db = dbm.getCfgConnection(Libname);
+    var rationTreeModel = db.model("rationItems",rationTreeSchema);
+    rationTreeModel.find({"sectionId": sectionId},[],function(err,data){
 
 
     })
     })
 }
 }
 
 
-module.exports = new RationTreeDAO()
+module.exports = new rationTreeDAO()

+ 10 - 2
modules/rationLibEditor/routes/rationLibEditor_route.js

@@ -3,7 +3,9 @@ var apiRouter =express.Router();
 var _rootDir = __dirname;
 var _rootDir = __dirname;
 
 
 var RationLibMapController = require("../controller/RLibMapController")
 var RationLibMapController = require("../controller/RLibMapController")
-var RationTreeController = require("../controller/RTreeController")
+var RationTreeController = require("../controller/RTreeController");
+var RationItemController = require("../controller/RItemsController")
+var GLJListController = require("../controller/gljListController")
 var path = require('path');
 var path = require('path');
 var htmlPath = path.join(__dirname,'../../../','web/rationLibEditor/');
 var htmlPath = path.join(__dirname,'../../../','web/rationLibEditor/');
 apiRouter.get('/', function(req, res) {
 apiRouter.get('/', function(req, res) {
@@ -59,5 +61,11 @@ apiRouter.post("/getRationTree",RationTreeController.getRationTree);
 apiRouter.post("/saveTempRationTree",RationTreeController.tempRationTreeInsert);
 apiRouter.post("/saveTempRationTree",RationTreeController.tempRationTreeInsert);
 apiRouter.post("/addSection",RationTreeController.sectionUpsert);
 apiRouter.post("/addSection",RationTreeController.sectionUpsert);
 apiRouter.post("/deleteSection",RationTreeController.deleteSection);
 apiRouter.post("/deleteSection",RationTreeController.deleteSection);
-
+//----------------------------------------------------ration
+apiRouter.post("/insertRation",RationItemController.insertRation);
+apiRouter.post("/updateRation",RationItemController.updateRation);
+//----------------------------------------------------gljList
+apiRouter.post("/insertGLJList",GLJListController.insertGLJList);
+apiRouter.post("/updateGLJList",GLJListController.updateGLJList);
+apiRouter.post("/removeGLJList",GLJListController.removeGLJList);
 module.exports = apiRouter;
 module.exports = apiRouter;

+ 1 - 1
server.js

@@ -71,7 +71,7 @@ app.use("/report", rpt_Router);
 app.use(express.static(_rootDir+"/web"));
 app.use(express.static(_rootDir+"/web"));
 app.use(express.static(_rootDir+"/lib"));
 app.use(express.static(_rootDir+"/lib"));
 var rations_Router = require("./modules/rationLibEditor/routes/rationLibEditor_route");
 var rations_Router = require("./modules/rationLibEditor/routes/rationLibEditor_route");
-app.use("/ration",rations_Router);
+app.use("/rationLibEditor",rations_Router);
 //-----------------------------------------------------------------end
 //-----------------------------------------------------------------end
 
 
 var apiRouter = express.Router();
 var apiRouter = express.Router();

+ 71 - 29
web/rationLibEditor/_zSpread.js

@@ -5,6 +5,7 @@
 (function($){
 (function($){
     var _spSetting = {
     var _spSetting = {
         spType:"",
         spType:"",
+        header:[],
         view:{
         view:{
             comboBox:[],
             comboBox:[],
             lockedCells:[]
             lockedCells:[]
@@ -12,8 +13,9 @@
         private:{
         private:{
             spType:"",
             spType:"",
             colCount:0,
             colCount:0,
+            sectionSelected:null,
             cellPrimValue:null,
             cellPrimValue:null,
-            celCurrValue:null
+            cellCurrValue:null
         }
         }
     }
     }
 
 
@@ -32,18 +34,19 @@
     }
     }
 
 
 
 
-    var _initSpread = function(spID,spSetting,headerItems){
-        spSetting.private.colCount = headerItems.length;
+    var _initSpread = function(spID,spSetting){
+        spSetting.private.colCount = spSetting.header.length;
+        spSetting.private.spType = spSetting.spType;
         var spread = new GC.Spread.Sheets.Workbook(spID[0],{sheetCount:1});
         var spread = new GC.Spread.Sheets.Workbook(spID[0],{sheetCount:1});
         var ActiveSheet = spread.getActiveSheet();
         var ActiveSheet = spread.getActiveSheet();
-        ActiveSheet.setColumnCount(headerItems.length, GC.Spread.Sheets.SheetArea.viewport);
+        ActiveSheet.setColumnCount(spSetting.header.length, GC.Spread.Sheets.SheetArea.viewport);
         ActiveSheet.options.isProtected = true;
         ActiveSheet.options.isProtected = true;
         ActiveSheet.getRange(-1, 0, -1 ,100, GC.Spread.Sheets.SheetArea.viewport).locked(false);
         ActiveSheet.getRange(-1, 0, -1 ,100, GC.Spread.Sheets.SheetArea.viewport).locked(false);
         spread.options.tabStripVisible = false;
         spread.options.tabStripVisible = false;
         spread.options.scrollbarMaxAlign = false;
         spread.options.scrollbarMaxAlign = false;
-        for(var i=0;i<headerItems.length;i++){
-            ActiveSheet.setValue(0, i, headerItems[i].headerName, GC.Spread.Sheets.SheetArea.colHeader);
-            ActiveSheet.setColumnWidth(i,headerItems[i].headerWidth, GC.Spread.Sheets.SheetArea.colHeader);
+        for(var i=0;i<spSetting.header.length;i++){
+            ActiveSheet.setValue(0, i, spSetting.header[i].headerName, GC.Spread.Sheets.SheetArea.colHeader);
+            ActiveSheet.setColumnWidth(i,spSetting.header[i].headerWidth, GC.Spread.Sheets.SheetArea.colHeader);
         }
         }
         for(var i=0;i<spSetting.view.comboBox.length;i++){
         for(var i=0;i<spSetting.view.comboBox.length;i++){
                 var c = spSetting.view.comboBox[i]
                 var c = spSetting.view.comboBox[i]
@@ -55,11 +58,11 @@
 
 
         ActiveSheet.bind(GC.Spread.Sheets.Events.EditStarting,function(sender,args){
         ActiveSheet.bind(GC.Spread.Sheets.Events.EditStarting,function(sender,args){
             spSetting.private.cellCurrValue = null;
             spSetting.private.cellCurrValue = null;
-            spSetting.private.cellPriValue = ActiveSheet.getValue(args.row,args.col);
+            spSetting.private.cellPrimValue = ActiveSheet.getValue(args.row,args.col);
         })
         })
 
 
         ActiveSheet.bind(GC.Spread.Sheets.Events.EditEnding,function(sender,args){
         ActiveSheet.bind(GC.Spread.Sheets.Events.EditEnding,function(sender,args){
-            spSetting.private.celCurrValue = ActiveSheet.getValue(args.row,args.col);
+            spSetting.private.cellCurrValue = args.editingText;
             if(args.col == 0){
             if(args.col == 0){
                 var a = spSetting.view.lockedCells;
                 var a = spSetting.view.lockedCells;
                 var b = [];
                 var b = [];
@@ -76,55 +79,94 @@
                        ActiveSheet.setValue(args.row,i,null);
                        ActiveSheet.setValue(args.row,i,null);
                    }
                    }
                 }else{
                 }else{
-                    upsertAction(spSetting);
+                    insertAction(spSetting,function(status){
+                        if(status == 204)
+                            ActiveSheet.setValue(args.row,0,null)
+                        spSetting.private.cellCurrValue = null;
+                        spSetting.private.cellPrimValue = null;
+                    });
                 }
                 }
             }else
             }else
-            upsertAction(spSetting);
+           // var code = ActiveSheet.getValue(args.row,0);
+            {
+                var data = [];
+                for(var i=0;i<spSetting.header.length;i++){
+                    data.push(ActiveSheet.getValue(args.row,i))
+                }
+                data[args.col] = args.editingText
+                updateAction(spSetting,data);
+            }
         })
         })
-
-
         return spread;
         return spread;
     }
     }
-    function upsertAction(spSetting){
-        var value =JSON.parse(spSetting.private);
+    function insertAction(spSetting,callback){
+        var value =JSON.stringify(spSetting.private);
         $.ajax({
         $.ajax({
             type:"POST",
             type:"POST",
-            url:"http://localhost:6060/rationLibEditor/insert" + spSetting.view.spType,
-            data:{"rationLibName":properties.realLibName,"value":value},
+            url:"http://localhost:6060/rationLibEditor/insert" + spSetting.private.spType,
+            data:{"rationLibName":params.realLibName,"value":value},
             dataType:"json",
             dataType:"json",
             cache:false,
             cache:false,
-            timeout:1000,
-            success:function(result){
-                spSetting.private.celCurrValue = null;
+            timeout:50000,
+            success:function(result,textStatus,status){
+                if(status.status == 204){
+                    alert("编号为"+spSetting.private.cellCurrValue+"已存在,不可重复添加!")
+                    callback(status.status)
+                }
+
+                spSetting.private.cellCurrValue = null;
                 spSetting.private.cellPrimValue = null;
                 spSetting.private.cellPrimValue = null;
             },
             },
-            error:function(){
+            error:function(err){
+                alert(err.statusText);
+                spSetting.private.cellCurrValue = null;
+                spSetting.private.cellPrimValue = null;
+            }
+        })
+    }
+    function updateAction(spSetting,data){
+        var value = JSON.stringify(spSetting.private);
+        var datas = JSON.stringify(data);
+        $.ajax({
+            type:"POST",
+            url:"http://localhost:6060/rationLibEditor/update" + spSetting.private.spType,
+            data:{"rationLibName":params.realLibName,"value":value,"data":datas},
+            dataType:"json",
+            cache:false,
+            timeout:50000,
+            success:function(result,textStatus,status){
+                spSetting.private.cellCurrValue = null;
+                spSetting.private.cellPrimValue = null;
+            },
+            error:function(err){
+                alert(err.responseText.error)
+                spSetting.private.cellCurrValue = null;
+                spSetting.private.cellPrimValue = null;
             }
             }
         })
         })
     }
     }
     function removeAction(spSetting){
     function removeAction(spSetting){
-        var value =JSON.parse(spSetting.private);
+        var value = JSON.stringify(spSetting.private);
         $.ajax({
         $.ajax({
             type:"POST",
             type:"POST",
-            url:"http://localhost:6060/rationLibEditor/delete" + spSetting.view.spType,
-            data:{"rationLibName":properties.realLibName,"value":value},
+            url:"http://localhost:6060/rationLibEditor/remove" + spSetting.private.spType,
+            data:{"rationLibName":params.realLibName,"value":value},
             dataType:"json",
             dataType:"json",
             cache:false,
             cache:false,
-            timeout:1000,
+            timeout:50000,
             success:function(result){
             success:function(result){
-                spSetting.private.celCurrValue = null;
+                spSetting.private.cellCurrValue = null;
                 spSetting.private.cellPrimValue = null;
                 spSetting.private.cellPrimValue = null;
             },
             },
             error:function(){
             error:function(){
             }
             }
         })
         })
     }
     }
-
     $.fn.Spread = {
     $.fn.Spread = {
-        init:function(spID,zSetting,headerItems){
+        init:function(spID,zSetting){
             var spSetting = _tools.clone(_spSetting);
             var spSetting = _tools.clone(_spSetting);
             $.extend(true,spSetting,zSetting);
             $.extend(true,spSetting,zSetting);
-            return  _initSpread(spID,spSetting,headerItems);
+            return  _initSpread(spID,spSetting);
         }
         }
     }
     }
 }(jQuery))
 }(jQuery))

+ 0 - 4
web/rationLibEditor/dinge.html

@@ -1031,10 +1031,6 @@ function selectAll() {
 }
 }
 
 
 
 
-
-
-$("#dinge").attr('href', "/ration/rationLib" + "?rationname=" + rationLibName);
-$("#gongliao").attr('href', "/rationLibEditor/gongliao" + "?rationname=" + rationLibName);
 //新增定额事件
 //新增定额事件
 $("#mkadd").click(function(){
 $("#mkadd").click(function(){
     var section = treeObj.getSelectedNodes();
     var section = treeObj.getSelectedNodes();

+ 7 - 209
web/rationLibEditor/gongliao.html

@@ -45,8 +45,8 @@
                       <ul id="treeDemo" class="ztree"></ul>
                       <ul id="treeDemo" class="ztree"></ul>
                     </div>
                     </div>
                   </div>
                   </div>
-                  <div class="main-content col-lg-9 p-0">
-                    <table class="table table-sm table-bordered m-0">
+                  <div id="GLJListSheet" class="main-content col-lg-9 p-0">
+          <!--       <table class="table table-sm table-bordered m-0">
                       <thead>
                       <thead>
                         <tr>
                         <tr>
                           <th></th>
                           <th></th>
@@ -60,39 +60,11 @@
                         </tr>
                         </tr>
                       </thead>
                       </thead>
                       <tbody>
                       <tbody>
-                       <!-- <tr>
-                          <td>1</td>
-                          <td>00010201</td>
-                          <td>土石方综合工日</td>
-                          <td></td>
-                          <td>工日</td>
-                          <td>22.00</td>
-                          <td>人工</td>
-                          <td><a href="javacript:void(0);" data-toggle="modal" data-target="#edit" title="编辑"><i class="fa fa-pencil-square-o"></i></a> <a href="javacript:void(0);" data-toggle="modal" data-target="#del" class="text-danger" title="删除"><i class="fa fa-remove"></i></a></td>
-                        </tr>
-                        <tr>
-                          <td>2</td>
-                          <td>03010101</td>
-                          <td>钢材</td>
-                          <td></td>
-                          <td>t</td>
-                          <td>2600.00</td>
-                          <td>材料</td>
-                          <td><a href="javacript:void(0);" data-toggle="modal" data-target="#edit" title="编辑"><i class="fa fa-pencil-square-o"></i></a> <a href="javacript:void(0);" data-toggle="modal" data-target="#del" class="text-danger" title="删除"><i class="fa fa-remove"></i></a></td>
-                        </tr>
-                        <tr>
-                          <td>3</td>
-                          <td>36290101</td>
-                          <td>水</td>
-                          <td></td>
-                          <td>m3</td>
-                          <td>2600.00</td>
-                          <td>材料</td>
-                          <td><a href="javacript:void(0);" data-toggle="modal" data-target="#edit" title="编辑"><i class="fa fa-pencil-square-o"></i></a> <a href="javacript:void(0);" data-toggle="modal" data-target="#del" class="text-danger" title="删除"><i class="fa fa-remove"></i></a></td>
-                        </tr>-->
+
                       </tbody>
                       </tbody>
                     </table>
                     </table>
                     <div class="m-2"><a href="javacript:void(0);" data-toggle="modal" data-target="#add"  class="btn btn-primary btn-sm">添加</a></div>
                     <div class="m-2"><a href="javacript:void(0);" data-toggle="modal" data-target="#add"  class="btn btn-primary btn-sm">添加</a></div>
+                    -->
                   </div>
                   </div>
                 </div>
                 </div>
             </div>
             </div>
@@ -220,12 +192,13 @@
     <script src="/lib/bootstrap/bootstrap.min.js"></script>
     <script src="/lib/bootstrap/bootstrap.min.js"></script>
     <script src="/lib/global.js"></script>
     <script src="/lib/global.js"></script>
     <!-- zTree -->
     <!-- zTree -->
+    <script src = "/lib/spreadjs/gc.spread.sheets.all.10.0.1.min.js"></script>
   	<script type="text/javascript" src="/lib/ztree/jquery.ztree.core.js"></script>
   	<script type="text/javascript" src="/lib/ztree/jquery.ztree.core.js"></script>
   	<script type="text/javascript" src="/lib/ztree/jquery.ztree.excheck.js"></script>
   	<script type="text/javascript" src="/lib/ztree/jquery.ztree.excheck.js"></script>
+    <script type="text/javascript" src="/web/rationLibEditor/js/gongliao.js"></script>
+    <script type="text/javascript" src="/web/rationLibEditor/_zSpread.js"></script>
     <SCRIPT type="text/javascript">
     <SCRIPT type="text/javascript">
   		<!--
   		<!--
-var rationName = getQueryString("rationname");//请求参数(定额库名称)
-$("#drirect-dinge").attr('href', "/rationLibEditor/rationLib" + "?rationname=" + rationName );
 var setting = {
 var setting = {
     view: {
     view: {
         showIcon: false
         showIcon: false
@@ -245,181 +218,6 @@ var zNodes =[
 function showIconForTree(treeId, treeNode) {
 function showIconForTree(treeId, treeNode) {
     return !treeNode.isParent;
     return !treeNode.isParent;
 };
 };
-//页面onLoad事件,获取工料机并绑定修改删除
-$(document).ready(function(){
-    getGLJ();
-    $.fn.zTree.init($("#treeDemo"), setting, zNodes);
-});
-function getGLJ() {
-    $.ajax({
-        type: "POST",
-        url: "http://localhost:6060/ration/getGLJ",
-        data: {"rationName": rationName},
-        dataType: "json",
-        cache: false,
-        timeout: 1000,
-        success: function (result) {
-          if(result){
-            showGLJ(result.data);
-            deleteGLJ();
-            bindEditGLJ();
-          }
-        },
-        error: function () {}
-    });
-}
-function showGLJ(obj){
-    $("tbody tr").html("");
-    for(var i=0;i<obj.length;i++){
-        addTags(obj[i]);
-    }
-}
-$("#btadd").click(function(){
-    addGLJItems();
-})
-function addTags(obj){
-    var $tr = $('<tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td><a href="javacript:void(0);" data-toggle="modal" data-target="#edit" title="编辑"><i class="fa fa-pencil-square-o"></i></a> <a href="javacript:void(0);" data-toggle="modal" data-target="#del" class="text-danger" title="删除"><i class="fa fa-remove"></i></a></td> </tr>');
-    var td1,td2,td3,td4,td5,td6;
-    var code,name,guige,danwei,jijia,leixin;
-    td1 = $("td:eq(1)",$tr);td2 = $("td:eq(2)",$tr);td3 = $("td:eq(3)",$tr);td4 = $("td:eq(4)",$tr);td5 = $("td:eq(5)",$tr);td6 = $("td:eq(6)",$tr);
-    code = obj.GLJCode;name = obj.GLJName;guige = obj.Specs;danwei=obj.Unit;jijia = obj.BasePrice;leixin = obj.Type;
-    td1.text(code);td2.text(name);td3.text(guige);td4.text(danwei);td5.text(jijia);td6.text(leixin)
-    $tr.appendTo("tbody");
-}
-//绑定删除工料机
-function deleteGLJ(){
-    $("tbody tr").each(function() {
-        var td7, a1,td1,a2;
-        td7 = $("td:eq(7)", $(this));
-        td1 = $("td:eq(1)", $(this));
-        var str = td1.text();
-        a2 = $("a:eq(1)",td7);
-        a2.click(function(){
-            $("#did").val(str);
-        })
-    })
-}
- //绑定编辑工料机
-function bindEditGLJ(){
-    $("tbody tr").each(function() {
-        var td7, td1,a2;
-        td7 = $("td:eq(7)", $(this));
-        td1 = $("td:eq(1)", $(this));
-        var str = td1.text();
-        a2 = $("a:eq(0)",td7);
-        a2.click(function(){
-            $("#did").val(str);
-        })
-    })
-}
-$("#edtglj").click(function(){
-    var GLJCode = $("#did").val();
-    var code,name,guige,danwei,jijia,leixing,glj={};
-    code=$("#Ecode").val();
-    name=$("#Ename").val();
-    guige=$("#Eguige").val();
-    danwei=$("#Edanwei").val();
-    jijia=$("#Ejijia").val();
-    leixing=$("#Eleixing").val();
-    glj.GLJCode = code;
-    glj.GLJName = name;
-    glj.Specs = guige;
-    glj.Unit = danwei;
-    glj.BasePrice = Number(jijia);
-    var type;
-    switch (leixing){
-        case "人工": type = 1;break;
-        case "材料": type = 3;break;
-        case "机械": type = 4;break;
-    }
-    glj.Type =type;
-    var gljItem = JSON.stringify(glj);
-
-    $.ajax({
-        type:"POST",
-        url:"http://localhost:6060/ration/editGLJItem",
-        dataType:"json",
-        data:{"rationName":rationName,"GLJCode": GLJCode,"newGLJ":gljItem},
-        cache:false,
-        timeout:50000,
-        success:function(result){
-
-            getGLJ();
-        },
-        error:function(iqXHR,textStatus,errorThrown){
-            alert("error "+textStatus+" "+errorThrown);
-        }
-    })
-}
-)
-$("#deleteGLJ").click(function(){
-    var GLJCode = $("#did").val();
-    $.ajax({
-        type:"POST",
-        url:"http://localhost:6060/ration/deleteGLJItem",
-        dataType:"json",
-        data:{"rationName":rationName,"GLJCode": GLJCode},
-        cache:false,
-        timeout:50000,
-        success:function(result){
-            $("tbody tr").html("");
-            getGLJ();
-        },
-        error:function(iqXHR,textStatus,errorThrown){
-            alert("error "+textStatus+" "+errorThrown);
-        }
-    })
-})
-function addGLJItems(){
-  //  var $tr = $('<tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>人工</td> <td><a href="javacript:void(0);" data-toggle="modal" data-target="#edit" title="编辑"><i class="fa fa-pencil-square-o"></i></a> <a href="javacript:void(0);" data-toggle="modal" data-target="#del" class="text-danger" title="删除"><i class="fa fa-remove"></i></a></td> </tr>');
-   // var td1,td2,td3,td4,td5,td6;
-    var code,name,guige,danwei,jijia,leixin;
-   // td1 = $("td:eq(1)",$tr);td2 = $("td:eq(2)",$tr);td3 = $("td:eq(3)",$tr);td4 = $("td:eq(4)",$tr);td5 = $("td:eq(5)",$tr);td6 = $("td:eq(6)",$tr);
-    code = $("#gljcode").val();name = $("#gljname").val();guige = $("#gljgg").val();danwei=$("#gljdw").val();jijia = $("#gljjj").val();leixin = $("#gljlx").val();
-  //  td1.text(code);td2.text(name);td3.text(guige);td4.text(danwei);td5.text(jijia);td6.text(leixin)
-  //  $tr.appendTo("tbody");
-        var gljItem = {}
-        gljItem.GLJCode = code;
-        gljItem.GLJName = name;
-        gljItem.Specs = guige;
-        gljItem.Unit = danwei;
-        gljItem.BasePrice =Number(jijia);
-        var type
-        switch (leixin){
-            case "人工": type = 1;break;
-            case "材料": type = 3;break;
-            case "机械": type = 4;break;
-        }
-        gljItem.Type =type;
-        saveGLJ(gljItem);
-}
-function saveGLJ(glj){
-    var gljItem = JSON.stringify(glj)
-    $.ajax({
-        type:"POST",
-        url:"http://localhost:6060/ration/saveGLJ",
-        data:{"rationName":rationName,"gljItem":gljItem},
-            dataType:"json",
-            cache:false,
-            timeout:1000,
-            success:function(result){
-                getGLJ();
-            },
-            error:function(err){
-                var error = JSON.parse(err.responseText)
-                alert(error.error);
-            }
-            })
-
- }
-function getQueryString(key){
-    var reg = new RegExp("(^|&)"+key+"=([^&]*)(&|$)");
-    var result = window.location.search.substr(1).match(reg);
-    return result?decodeURIComponent(result[2]):null;
-}
-
-
-
   		//-->
   		//-->
   	</SCRIPT>
   	</SCRIPT>
 </body>
 </body>

+ 79 - 136
web/rationLibEditor/js/dinge.js

@@ -1,45 +1,58 @@
 /**
 /**
  * Created by Syusuke on 2017/3/17.
  * Created by Syusuke on 2017/3/17.
  */
  */
-var rationLibName = getQueryString("rationname");//获取定额库参数
 function getQueryString(key){
 function getQueryString(key){
     var reg = new RegExp("(^|&)"+key+"=([^&]*)(&|$)");
     var reg = new RegExp("(^|&)"+key+"=([^&]*)(&|$)");
     var result = window.location.search.substr(1).match(reg);
     var result = window.location.search.substr(1).match(reg);
     return result?decodeURIComponent(result[2]):null;
     return result?decodeURIComponent(result[2]):null;
 }
 }
+//---------------------------------------------------页面跳转
+var params = {}
+$("#dinge").click(function(){
+    $(this).attr('href', "/rationLibEditor/rationLib" + "?params=" + JSON.stringify(params))
+})
+$("#gongliao").click(function(){
+    $(this).attr('href', "/rationLibEditor/gongliao" + "?params=" + JSON.stringify(params))
+});
 //----------------------------------------------------页面初始化
 //----------------------------------------------------页面初始化
-var properties = {};//综合属性
-properties.sectionSelected = "";//选择的章节
-properties.rationSelected = "";//选择的定额
-function getRealLib(){
+$(document).ready(function(){
+    initParam();
+    mkRationItemSpread();
+});
+function initParam(){
+    var rationLibName = getQueryString("rationname");//获取定额库参数
+    if(rationLibName)
+        getRealLib(rationLibName);
+    else{
+        params = JSON.parse(getQueryString("params"));
+        getRationTree();
+    }
+}
+function getRealLib(LibName){
     $.ajax({
     $.ajax({
         type:"POST",
         type:"POST",
         url:"http://localhost:6060/rationLibEditor/getRealLibName",
         url:"http://localhost:6060/rationLibEditor/getRealLibName",
-        data:{"rationName":rationLibName},
+        data:{"rationName":LibName},
         async:false,
         async:false,
         dataType:"json",
         dataType:"json",
         cache:false,
         cache:false,
         timeout:1000,
         timeout:1000,
         success:function(result){
         success:function(result){
-            properties.realLibName = result.data[0].DBName
+            params.realLibName = result.data[0].dbName
+            getRationTree();
         },
         },
         error:function(){}
         error:function(){}
     })
     })
 }
 }
-$(document).ready(function(){
-    getRealLib();
-    getRationTree();
-    mkRationItemSpread();
-});
 //---------------------------------------------------初始化章节树界面
 //---------------------------------------------------初始化章节树界面
 function  getRationTree(){
 function  getRationTree(){
     $.ajax({
     $.ajax({
         type:"POST",
         type:"POST",
         url:"http://localhost:6060/rationLibEditor/getRationTree",
         url:"http://localhost:6060/rationLibEditor/getRationTree",
-        data:{"rationLibName": properties.realLibName},
+        data:{"rationLibName": params.realLibName},
         dataType:"json",
         dataType:"json",
         cache:false,
         cache:false,
-        timeout:500000,
+        timeout:20000,
         success:function(result,textStatus,status){
         success:function(result,textStatus,status){
             if(status.status == 200) createRationTree(result.data);//根据返回的全部定额章节对象,构架树。
             if(status.status == 200) createRationTree(result.data);//根据返回的全部定额章节对象,构架树。
             else{
             else{
@@ -47,8 +60,8 @@ function  getRationTree(){
                 saveTempTree();
                 saveTempTree();
             }
             }
         },
         },
-        error:function(){
-            alert("caonima")
+        error:function(err){
+            alert(err.responseText.error)
         }
         }
     })
     })
 }
 }
@@ -65,13 +78,13 @@ function createRationTree(obj){
 function makeNodes(obj){
 function makeNodes(obj){
     var arr=[];
     var arr=[];
     arr = obj.filter(function(x){
     arr = obj.filter(function(x){
-        return x.ParentID==0
+        return x.parentId==0
     })
     })
     arr.forEach(function(x){
     arr.forEach(function(x){
-        x.id = x.SectionID;
-        x.pId = x.ParentID;
-        x.nId = x.NextSiblingID;
-        x.name = x.Name;
+        x.id = x.sectionId;
+        x.pId = x.parentId;
+        x.nId = x.nextSiblingId;
+        x.name = x.name;
         x.isParent = true
         x.isParent = true
         x.lev = 0
         x.lev = 0
     });
     });
@@ -79,13 +92,13 @@ function makeNodes(obj){
     for(var i=0;i<arr.length;i++){
     for(var i=0;i<arr.length;i++){
         var L1 = [];
         var L1 = [];
         L1 = obj.filter(function(x){
         L1 = obj.filter(function(x){
-            return x.ParentID ==arr[i].id;
+            return x.parentId ==arr[i].id;
         });
         });
         L1.forEach(function(x){
         L1.forEach(function(x){
-            x.id = x.SectionID;
-            x.pId = x.ParentID;
-            x.nId = x.NextSiblingID;
-            x.name = x.Name;
+            x.id = x.sectionId;
+            x.pId = x.parentId;
+            x.nId = x.nextSiblingId;
+            x.name = x.name;
             x.isParent = true
             x.isParent = true
             x.lev = 1
             x.lev = 1
         });
         });
@@ -93,13 +106,13 @@ function makeNodes(obj){
         for(var j=0; j<L1.length;j++){
         for(var j=0; j<L1.length;j++){
             var L2 = [];
             var L2 = [];
             L2 =obj.filter(function(x){
             L2 =obj.filter(function(x){
-                return x.ParentID == L1[j].id;
+                return x.parentId == L1[j].id;
             })
             })
             L2.forEach(function(x){
             L2.forEach(function(x){
-                x.id = x.SectionID;
-                x.pId = x.ParentID;
-                x.nId = x.NextSiblingID;
-                x.name = x.Name;
+                x.id = x.sectionId;
+                x.pId = x.parentId;
+                x.nId = x.nextSiblingId;
+                x.name = x.name;
                 x.isParent = false;
                 x.isParent = false;
                 x.lev = 2
                 x.lev = 2
             })
             })
@@ -113,11 +126,11 @@ function makeNodes(obj){
 function sortArray(arr){
 function sortArray(arr){
     var a = [];
     var a = [];
     for(var i=0;i<arr.length;i++)
     for(var i=0;i<arr.length;i++)
-        if (arr[i].NextSiblingID == -1)
+        if (arr[i].nextSiblingId == -1)
             a.push(arr[i])
             a.push(arr[i])
     for(; a.length < arr.length;){
     for(; a.length < arr.length;){
         for(var j=0;j<arr.length;j++) {
         for(var j=0;j<arr.length;j++) {
-            if (arr[j].NextSiblingID == a[0].SectionID)
+            if (arr[j].nextSiblingId == a[0].sectionId)
             {a.unshift(arr[j]); break;}
             {a.unshift(arr[j]); break;}
         }
         }
     }
     }
@@ -128,11 +141,11 @@ function saveTempTree(){
     var N = []
     var N = []
     for(i=0;i<zNodes.length;i++){
     for(i=0;i<zNodes.length;i++){
         var node ={}
         var node ={}
-        node.SectionID = zNodes[i].id;
-        node.ParentID = zNodes[i].pId;
+        node.sectionId = zNodes[i].id;
+        node.parentId = zNodes[i].pId;
 
 
-        node.NextSiblingID = zNodes[i].nId;
-        node.Name =zNodes[i].name;
+        node.nextSiblingId = zNodes[i].nId;
+        node.name =zNodes[i].name;
         N.push(node);
         N.push(node);
     }
     }
     var rationTempTree = JSON.stringify(N)
     var rationTempTree = JSON.stringify(N)
@@ -143,12 +156,8 @@ function saveTempTree(){
         dataType:"json",
         dataType:"json",
         cache:false,
         cache:false,
         timeout:1000,
         timeout:1000,
-        success:function(result){
-
-        },
-        error:function(){
-
-        }
+        success:function(result,textStatus,status){},
+        error:function(){}
     })
     })
 }
 }
 //--------------------------------------------------------树处理事件
 //--------------------------------------------------------树处理事件
@@ -183,19 +192,19 @@ function addHoverDom(treeId, treeNode) {
 //保存新增的节点
 //保存新增的节点
 function saveNewSection(n){
 function saveNewSection(n){
     var sec={};
     var sec={};
-    sec.SectionID = n.id;
-    sec.ParentID = n.pId;
-    sec.NextSiblingID = n.nId;
-    sec.Name = n.name;
+    sec.sectionId = n.id;
+    sec.parentId = n.pId;
+    sec.nextSiblingId = n.nId;
+    sec.name = n.name;
     var section = JSON.stringify(sec);
     var section = JSON.stringify(sec);
     $.ajax({
     $.ajax({
         type:"POST",
         type:"POST",
         url:"http://localhost:6060/rationLibEditor/addSection",
         url:"http://localhost:6060/rationLibEditor/addSection",
-        data:{"rationLibName":properties.realLibName,"rationSection":section},
+        data:{"rationLibName":params.realLibName,"rationSection":section},
         dataType:"json",
         dataType:"json",
         cache:false,
         cache:false,
         timeout:1000,
         timeout:1000,
-        success:function(result){
+        success:function(result,textStatus,status){
         },
         },
         error:function(){
         error:function(){
         }
         }
@@ -217,11 +226,11 @@ function onRemove(e, treeId, treeNode) {
     $.ajax({
     $.ajax({
         type:"POST",
         type:"POST",
         url:"http://localhost:6060/rationLibEditor/deleteSection",
         url:"http://localhost:6060/rationLibEditor/deleteSection",
-        data:{"rationLibName":properties.realLibName,"sectionID": treeNode.id},
+        data:{"rationLibName":params.realLibName,"sectionID": treeNode.id},
         dataType:"json",
         dataType:"json",
         cache:false,
         cache:false,
         timeout:1000,
         timeout:1000,
-        success:function(result){
+        success:function(result,textStatus,status){
             //if(result){
             //if(result){
             //    caseDeleteTreeNode(result.data)
             //    caseDeleteTreeNode(result.data)
             //}
             //}
@@ -236,6 +245,14 @@ function onRemove(e, treeId, treeNode) {
 //--------------------------------------------------------定额spreadjs
 //--------------------------------------------------------定额spreadjs
 var spSetting_ration = {
 var spSetting_ration = {
     spType:"Ration",
     spType:"Ration",
+    header:[
+        {headerName:"编码",headerWidth:120,data:"rationCode"},
+        {headerName:"名称",headerWidth:400,data:"rationName"},
+        {headerName:"单位",headerWidth:120,data:"unit"},
+        {headerName:"基价",headerWidth:120,data:"basePrice"},
+        {headerName:"显示名称(以%s表示参数)",headerWidth:450,data:"caption"},
+        {headerName:"取费专业",headerWidth:120,data:"feeType"}
+    ],
     view:{
     view:{
         comboBox:[
         comboBox:[
             {row:-1,col:2,rowCount:-1,colCount:1}
             {row:-1,col:2,rowCount:-1,colCount:1}
@@ -247,6 +264,15 @@ var spSetting_ration = {
 };
 };
 var spSetting_rationGLJ = {
 var spSetting_rationGLJ = {
     spType:"RationGLJ",
     spType:"RationGLJ",
+    header:[
+        {headerName:"编码",headerWidth:160},
+        {headerName:"名称",headerWidth:400},
+        {headerName:"单位",headerWidth:160},
+        {headerName:"单位基价",headerWidth:160},
+        {headerName:"定额消耗",headerWidth:160},
+        {headerName:"类型",headerWidth:160},
+        {headerName:"操作",headerWidth:130}
+    ],
     view:{
     view:{
         comboBox:[],
         comboBox:[],
         lockedCells:[
         lockedCells:[
@@ -258,90 +284,7 @@ var spSetting_rationGLJ = {
         ]
         ]
     }
     }
 };
 };
-var ration_header = [
-    {headerName:"编码",headerWidth:120},
-    {headerName:"名称",headerWidth:400},
-    {headerName:"单位",headerWidth:120},
-    {headerName:"基价",headerWidth:120},
-    {headerName:"显示名称(以%s表示参数)",headerWidth:450},
-    {headerName:"取费专业",headerWidth:120}
-]
-var rationGLJ_header = [
-    {headerName:"编码",headerWidth:160},
-    {headerName:"名称",headerWidth:400},
-    {headerName:"单位",headerWidth:160},
-    {headerName:"单位基价",headerWidth:160},
-    {headerName:"定额消耗",headerWidth:160},
-    {headerName:"类型",headerWidth:160},
-    {headerName:"操作",headerWidth:130}
-]
-function editRationStarting(spread_setting,args){
-    properties.rationSelected = args.editingText;
-}
-function editRationEnding(spread,spread_setting,args){
-    if(spread_setting.event.remove)
-        Remove(spread_setting,args);
-    else{
-        var ActiveSheet = spread.getActiveSheet();
-        var rationItem = {}
-     // rationItem.RationCode = ActiveSheet.getValue(args.row,0);
-        rationItem.RationCode = args.editingText;
-        rationItem.RationName = ActiveSheet.getValue(args.row,1);
-        rationItem.Unit = ActiveSheet.getValue(args.row,2);
-        rationItem.BasePrice = Number(ActiveSheet.getValue(args.row,3));
-        if(properties.sectionSelected = "")
-        {
-            alert("请选择章节点")
-            return;
-        }
-        else
-        rationItem.SectionID = properties.sectionSelected;
-        rationItem.ContentID = 0;
-        rationItem.Caption = ActiveSheet.getValue(args.row,4);
-        rationItem.FeeType = Number(ActiveSheet.getValue(args.row,5))
-        upsert(spread_setting,rationItem);
-    }
-}
-//通用remove
-function Remove(spread_setting,args){
-    AjaxRemove(spread_setting);
-}
-//通用upsert
-function upsert(spread_setting,data){
-    AjaxUpsert(spread_setting,data)
-}
-function AjaxRemove(spread_setting){
-    var pro = JSON.stringify(properties);
-    $.ajax({
-        type:"POST",
-        url:"http://localhost:6060/rationLibEditor/remove"+spread_setting.name,
-        data:{"setting":spread_setting,"properties":pro},
-        dataType:"json",
-        cache:false,
-        timeout:1000,
-        success:function(result){
-            spread_setting.event.remove = false;
-        },
-        error:function(){}
-    })
-}
-function AjaxUpsert(spread_setting,data){
-    var pro = JSON.stringify(spread_setting.properties);
-    var dataStr = JSON.stringify(data);
-    $.ajax({
-        type:"POST",
-        url:"http://localhost:6060/rationLibEditor/upsert"+spread_setting.name,
-        data:{"properties":pro,"data":dataStr},
-        dataType:"json",
-        cache:false,
-        timeout:1000,
-        success:function(result){
-            spread_setting.event.upsert = false;
-        },
-        error:function(){}
-    })
-}
 function mkRationItemSpread(){
 function mkRationItemSpread(){
-    var rationSpread =  $.fn.Spread.init($("#rationItemsSheet"),spSetting_ration,ration_header);
-    var rationGLJSpread =  $.fn.Spread.init($("#rationGLJSheet"),spSetting_rationGLJ,rationGLJ_header);
+    var rationSpread =  $.fn.Spread.init($("#rationItemsSheet"),spSetting_ration);
+    var rationGLJSpread =  $.fn.Spread.init($("#rationGLJSheet"),spSetting_rationGLJ);
 }
 }

+ 36 - 0
web/rationLibEditor/js/gongliao.js

@@ -1,3 +1,39 @@
 /**
 /**
  * Created by Syusuke on 2017/3/22.
  * Created by Syusuke on 2017/3/22.
  */
  */
+//-----------------------------------------------获取参数对象
+var paramStr = getQueryString("params");
+var params = JSON.parse(paramStr);
+function getQueryString(key){
+    var reg = new RegExp("(^|&)"+key+"=([^&]*)(&|$)");
+    var result = window.location.search.substr(1).match(reg);
+    return result?decodeURIComponent(result[2]):null;
+}
+//-----------------------------------------------页面跳转
+$("#drirect-dinge").click(function(){
+  //  window.location = "/rationLibEditor/rationLib" + "?params=" + JSON.stringify(params);
+   $(this).attr('href', "/rationLibEditor/rationLib" + "?params=" + JSON.stringify(params))
+})
+//-----------------------------------------------页面初始化
+var spSetting_GLJ = {
+    spType:"GLJList",
+    header:[
+        {headerName:"编码",headerWidth:120,data:"GLJCode"},
+        {headerName:"名称",headerWidth:400,data:"GLJName"},
+        {headerName:"规格",headerWidth:120,data:"specs"},
+        {headerName:"单位",headerWidth:120,data:"unit"},
+        {headerName:"基价单价",headerWidth:120,data:"basePrice"},
+        {headerName:"类型",headerWidth:120,data:"type"}
+    ],
+    view:{
+        comboBox:[
+            {row:-1,col:3,rowCount:-1,colCount:1}
+        ],
+        lockedCells:[
+        ]
+    }
+};
+$(document).ready(function(){
+    $.fn.zTree.init($("#treeDemo"), setting, zNodes);
+    var rationSpread =  $.fn.Spread.init($("#GLJListSheet"),spSetting_GLJ);
+});

+ 1 - 1
web/rationLibEditor/js/mainJ.js

@@ -71,7 +71,7 @@ function getRationLibs(){
         success:function(result){
         success:function(result){
             $("tbody tr").html("");
             $("tbody tr").html("");
             for(var i=0;i<result.data.length;i++){
             for(var i=0;i<result.data.length;i++){
-                addLibTag(result.data[i].DisplayName);
+                addLibTag(result.data[i].displayName);
             }
             }
             addressdirect();
             addressdirect();
             deleteLib();
             deleteLib();