Quellcode durchsuchen

解决一些测试文档bug

zhongzewei vor 8 Jahren
Ursprung
Commit
c2368004df

+ 24 - 1
modules/bills_lib/controllers/bills_lib_controllers.js

@@ -154,6 +154,18 @@ module.exports = {
             callback(req, res, err, message, datas);
         });
     },
+    edCreateJob: function(req, res){
+        let data = JSON.parse(req.body.data);
+        billsLibDao.edCreateJob(data, function(err, message, id){
+            callback(req, res, err, message, id);
+        })
+    },
+    edUpdateJob: function(req, res){
+        let data = JSON.parse(req.body.data);
+        billsLibDao.edUpdateJob(data, function(err, message, id){
+            callback(req, res, err, message, id);
+        })
+    },
     getItemCharacter: function(req, res){
         let data = JSON.parse(req.body.data);
         billsLibDao.getItemCharacter(data, function(err, message, items){
@@ -189,7 +201,18 @@ module.exports = {
         billsLibDao.pasteValues(data, function(err, message, datas){
             callback(req, res, err, message, datas);
         });
+    },
+    edCreateItem: function(req, res){
+        let data = JSON.parse(req.body.data);
+        billsLibDao.edCreateItem(data, function(err, message, id){
+            callback(req, res, err, message, id);
+        })
+    },
+    edUpdateItem: function(req, res){
+        let data = JSON.parse(req.body.data);
+        billsLibDao.edUpdateItem(data, function(err, message, id){
+            callback(req, res, err, message, id);
+        })
     }
-
 }
 

+ 278 - 259
modules/bills_lib/models/bills_lib_interfaces.js

@@ -325,7 +325,7 @@ billsLibDao.prototype.updateBills = function(ubillsData, callback){
     let updateField = ubillsData.field;
     let updateData = ubillsData.data;
     if(updateField === "code"){
-        Bills.update({billsLibId: billsLibId, ID: updateId}, {$set: {code: updateData}}, function(err){
+        Bills.update({billsLibId: billsLibId, ID: updateId, deleted: false}, {$set: {code: updateData}}, function(err){
             if(err){
                 callback(1, "Error");
             }
@@ -335,7 +335,7 @@ billsLibDao.prototype.updateBills = function(ubillsData, callback){
         });
     }
     else if(updateField === "name"){
-        Bills.update({billsLibId: billsLibId, ID: updateId}, {$set: {name: updateData}}, function(err){
+        Bills.update({billsLibId: billsLibId, ID: updateId, deleted: false}, {$set: {name: updateData}}, function(err){
             if(err){
                 callback(1, "Error");
             }
@@ -345,7 +345,7 @@ billsLibDao.prototype.updateBills = function(ubillsData, callback){
         });
     }
     else if(updateField === "unit"){
-        Bills.update({billsLibId: billsLibId, ID: updateId}, {$set: {unit: updateData}}, function(err){
+        Bills.update({billsLibId: billsLibId, ID: updateId, deleted: false}, {$set: {unit: updateData}}, function(err){
             if(err){
                 callback(1, "Error");
             }
@@ -355,7 +355,7 @@ billsLibDao.prototype.updateBills = function(ubillsData, callback){
         });
     }
     else if(updateField === "ruleText"){
-        Bills.update({billsLibId: billsLibId, ID: updateId}, {$set: {ruleText: updateData}}, function(err){
+        Bills.update({billsLibId: billsLibId, ID: updateId, deleted: false}, {$set: {ruleText: updateData}}, function(err){
             if(err){
                 callback(1, "Error");
             }
@@ -365,7 +365,7 @@ billsLibDao.prototype.updateBills = function(ubillsData, callback){
         });
     }
     else if(updateField === "jobs"){
-        Bills.update({billsLibId: billsLibId, ID: updateId}, {$addToSet: {jobs: updateData}}, function(err){
+        Bills.update({billsLibId: billsLibId, ID: updateId, deleted: false}, {$addToSet: {jobs: updateData}}, function(err){
             if(err){
                 callback(1, "Error");
             }
@@ -375,7 +375,7 @@ billsLibDao.prototype.updateBills = function(ubillsData, callback){
         });
     }
     else if(updateField === "items"){
-        Bills.update({billsLibId: billsLibId, ID: updateId}, {$addToSet: {items: updateData}}, function(err){
+        Bills.update({billsLibId: billsLibId, ID: updateId, deleted: false}, {$addToSet: {items: updateData}}, function(err){
             if(err){
                 callback(1, "Error");
             }
@@ -470,7 +470,7 @@ billsLibDao.prototype.updateBillsArr = function(updateData, callback){
     let success = true;
     if(classify === 'jobs'){
         if(orgId && newId && type === 'update'){
-            Bills.update({billsLibId: billsLibId, ID: updateId, jobs: orgId}, {$set: {'jobs.$': newId}}, function(err){
+            Bills.update({billsLibId: billsLibId, ID: updateId, deleted: false, jobs: orgId}, {$set: {'jobs.$': newId}}, function(err){
                 if(err){
                     callback(1, 'Error');
                 }
@@ -481,7 +481,7 @@ billsLibDao.prototype.updateBillsArr = function(updateData, callback){
         }
         if(orgId && !newId && type === 'delete'){
             async.each(orgId, function(oid, cb){
-                Bills.update({billsLibId: billsLibId, ID: updateId}, {$pull: {jobs: oid}}, function(err){
+                Bills.update({billsLibId: billsLibId, ID: updateId, deleted: false}, {$pull: {jobs: oid}}, function(err){
                     if(err){
                         cb(err);
                     }else {
@@ -503,7 +503,7 @@ billsLibDao.prototype.updateBillsArr = function(updateData, callback){
                 });
             });
             async.each(delArr, function(delObj, cb){
-                Bills.update({billsLibId: billsLibId, ID: delObj.updateId}, {$pull: {jobs: delObj.delId}}, function(err){
+                Bills.update({billsLibId: billsLibId, ID: delObj.updateId, deleted: false}, {$pull: {jobs: delObj.delId}}, function(err){
                     if(err){
                         cb(err);
                     }else {
@@ -522,7 +522,7 @@ billsLibDao.prototype.updateBillsArr = function(updateData, callback){
     }
     else if(classify === 'items'){
         if(orgId && newId && type === 'update'){
-            Bills.update({billsLibId: billsLibId, ID: updateId, items: orgId}, {$set: {'items.$': newId}}, function(err){
+            Bills.update({billsLibId: billsLibId, ID: updateId, deleted: false, items: orgId}, {$set: {'items.$': newId}}, function(err){
                 if(err){
                     callback(1, 'Error');
                 }
@@ -533,7 +533,7 @@ billsLibDao.prototype.updateBillsArr = function(updateData, callback){
         }
         if(orgId && !newId && type === 'delete'){
             async.each(orgId, function(oid, cb){
-                Bills.update({billsLibId: billsLibId, ID: updateId}, {$pull: {items: oid}}, function(err){
+                Bills.update({billsLibId: billsLibId, ID: updateId, deleted: false}, {$pull: {items: oid}}, function(err){
                     if(err){
                         cb(err);
                     }else {
@@ -556,7 +556,7 @@ billsLibDao.prototype.updateBillsArr = function(updateData, callback){
                 });
             });
             async.each(delArr, function(delObj, cb){
-                Bills.update({billsLibId: billsLibId, ID: delObj.updateId}, {$pull: {items: delObj.delId}}, function(err){
+                Bills.update({billsLibId: billsLibId, ID: delObj.updateId, deleted: false}, {$pull: {items: delObj.delId}}, function(err){
                     if(err){
                         cb(err);
                     }else {
@@ -587,7 +587,7 @@ billsLibDao.prototype.updateBillsArr = function(updateData, callback){
 billsLibDao.prototype.pasteBills = function(pData, callback){
     let datas = pData.datas;
     async.each(datas, function(data, cb){
-        Bills.update({billsLibId: data.billsLibId, ID: data.ID}, {$set: {code: data.code, name: data.name, unit: data.unit, ruleText: data.ruleText}}, function(err){
+        Bills.update({billsLibId: data.billsLibId, ID: data.ID, deleted: false}, {$set: {code: data.code, name: data.name, unit: data.unit, ruleText: data.ruleText}}, function(err){
             if(err){
                 cb(err);
             }else {
@@ -625,7 +625,7 @@ billsLibDao.prototype.updateRecharge = function(uData, callback){
     let updateIds = uData.updateIds;
     let data = uData.data;
     async.each(updateIds, function(id, cb){
-        Bills.update({billsLibId: billsLibId, ID: id}, {$set: {recharge: data}}, function(err){
+        Bills.update({billsLibId: billsLibId, ID: id, deleted: false}, {$set: {recharge: data}}, function(err){
             if(err){
                 cb(err);
             }else {
@@ -859,7 +859,7 @@ billsLibDao.prototype.pasteRel = function (data, callback) {
                 nodeId = data.nodeId, billsLibId = data.billsLibId;
             return function (cb){
                 if(orgJobId && newJobId && nodeId && billsLibId){
-                    Bills.update({billsLibId: billsLibId, ID: nodeId, jobs: orgJobId}, {$set: {'jobs.$': newJobId}}, function(err){
+                    Bills.update({billsLibId: billsLibId, ID: nodeId, deleted: false, jobs: orgJobId}, {$set: {'jobs.$': newJobId}}, function(err){
                         if(err){
                             cb(err);
                         }
@@ -893,7 +893,7 @@ billsLibDao.prototype.pasteRel = function (data, callback) {
                                     cb(err);
                                 }
                                 else{
-                                    Bills.update({billsLibId: billsLibId, ID: nodeId, jobs: orgJobId}, {$set: {'jobs.$': newJobId}}, function(err){
+                                    Bills.update({billsLibId: billsLibId, ID: nodeId, deleted: false, jobs: orgJobId}, {$set: {'jobs.$': newJobId}}, function(err){
                                         if(err){
                                             cb(err);
                                         }
@@ -916,7 +916,7 @@ billsLibDao.prototype.pasteRel = function (data, callback) {
                 nodeId = data.nodeId, jobId = data.jobId;
             return function (cb){
                 if(billsLibId && newData && nodeId && jobId){
-                    Bills.update({billsLibId: billsLibId, ID: nodeId}, {$addToSet: {jobs: jobId}}, function(err){
+                    Bills.update({billsLibId: billsLibId, ID: nodeId, deleted: false}, {$addToSet: {jobs: jobId}}, function(err){
                         if(err){
                             cb(err);
                         }
@@ -950,7 +950,7 @@ billsLibDao.prototype.pasteRel = function (data, callback) {
                                     cb(err);
                                 }
                                 else{
-                                    Bills.update({billsLibId: billsLibId, ID: nodeId}, {$addToSet: {jobs: newJobId}}, function(err){
+                                    Bills.update({billsLibId: billsLibId, ID: nodeId, deleted: false}, {$addToSet: {jobs: newJobId}}, function(err){
                                         if(err){
                                             cb(err);
                                         }
@@ -971,7 +971,7 @@ billsLibDao.prototype.pasteRel = function (data, callback) {
                 nodeId = data.nodeId, billsLibId = data.billsLibId, newData = data.newData;
             return function (cb){
                 if(orgItemId && newItemId && nodeId && billsLibId){
-                    Bills.update({billsLibId: billsLibId, ID: nodeId, items: orgItemId}, {$set: {'items.$': newItemId}}, function(err){
+                    Bills.update({billsLibId: billsLibId, ID: nodeId, deleted: false, items: orgItemId}, {$set: {'items.$': newItemId}}, function(err){
                         if(err){
                             cb(err);
                         }
@@ -1005,7 +1005,7 @@ billsLibDao.prototype.pasteRel = function (data, callback) {
                                     cb(err);
                                 }
                                 else{
-                                    Bills.update({billsLibId: billsLibId, ID: nodeId, items: orgItemId}, {$set: {'items.$': newItemId}}, function(err){
+                                    Bills.update({billsLibId: billsLibId, ID: nodeId, deleted: false, items: orgItemId}, {$set: {'items.$': newItemId}}, function(err){
                                         if(err){
                                             cb(err);
                                         }
@@ -1026,7 +1026,7 @@ billsLibDao.prototype.pasteRel = function (data, callback) {
                 nodeId = data.nodeId, itemId = data.itemId;
             return function (cb){
                 if(billsLibId && newData && nodeId && itemId){
-                    Bills.update({billsLibId: billsLibId, ID: nodeId}, {$addToSet: {items: itemId}}, function(err){
+                    Bills.update({billsLibId: billsLibId, ID: nodeId, deleted: false}, {$addToSet: {items: itemId}}, function(err){
                         if(err){
                             cb(err);
                         }
@@ -1060,7 +1060,7 @@ billsLibDao.prototype.pasteRel = function (data, callback) {
                                     cb(err);
                                 }
                                 else{
-                                    Bills.update({billsLibId: billsLibId, ID: nodeId}, {$addToSet: {items: newItemId}}, function(err){
+                                    Bills.update({billsLibId: billsLibId, ID: nodeId, deleted: false}, {$addToSet: {items: newItemId}}, function(err){
                                         if(err){
                                             cb(err);
                                         }
@@ -1154,7 +1154,7 @@ billsLibDao.prototype.deleteBills = function(delData, callback){
     let billsLibId = delData.billsLibId;
     if(deleteIds){
         async.each(deleteIds, function(delId, cb){
-            Bills.update({billsLibId: billsLibId, ID: delId}, {$set: {deleted: true}}, function(err){
+            Bills.update({billsLibId: billsLibId, ID: delId, deleted: false}, {$set: {deleted: true}}, function(err){
                 if(err){
                     cb(err);
                 }
@@ -1188,21 +1188,28 @@ billsLibDao.prototype.createJobContent = function(cJobData, callback){
     let data = cJobData.data;
     let billsLibId = cJobData.billsLibId;
     let serialNo = cJobData.serialNo;
-    let id = cJobData.id;
     let newJobContent;
-    newJobContent = {
-        id: id,
-        billsLibId: billsLibId,
-        code: serialNo,
-        content: data,
-        deleted: false
-    }
-    JobContent.create(newJobContent, function(err){
+    counter.counterDAO.getIDAfterCount(counter.moduleName.billsLib_jobs, 1, function(err, result){
         if(err){
-            callback(1, "Error", null);
+            callback(1, 'Error', null)
         }
-        else{
-            callback(0, "", id);
+        else {
+            let newJobId = result.value.sequence_value;
+            newJobContent = {
+                id: newJobId,
+                billsLibId: billsLibId,
+                code: serialNo,
+                content: data,
+                deleted: false
+            }
+            JobContent.create(newJobContent, function(err){
+                if(err){
+                    callback(1, "Error", null);
+                }
+                else{
+                    callback(0, "", newJobId);
+                }
+            });
         }
     });
 
@@ -1272,74 +1279,7 @@ billsLibDao.prototype.deleteJobContent = function(data, callback){
         });
     }
 }
-//org
-/*billsLibDao.prototype.pasteJobs = function (data, callback) {
-    let pasteDatas = data.pasteDatas;
-    let updateDatas = pasteDatas.updateDatas,
-        createDatas = pasteDatas.createDatas;
-    if(updateDatas.length > 0){
-        for(let i=0; i<updateDatas.length; i++){
-            let updateId = updateDatas[i].orgId,
-                field = updateDatas[i].field,
-                updateData = updateDatas[i].data, billsLibId = updateDatas[i].billsLibId;
-            if(field === 'code'){
-                JobContent.update({billsLibId: billsLibId, id: updateId}, {$set: {code: updateData}}, function(err){
-                    if(err){
 
-                    }
-                });
-            }
-            else{
-                JobContent.update({billsLibId: billsLibId, id: updateId}, {$set: {content: updateData}}, function(err){
-                    if(err){
-
-                    }
-                });
-            }
-        }
-    }
-    if(createDatas.length > 0){
-        for(let i =0; i<createDatas.length; i++){
-            let billsLibId = createDatas[i].billsLibId, id = createDatas[i].id,
-                code , content;
-            let jobObj;
-            if(createDatas[i].type === 'CreateT'){
-                jobObj = {
-                    billsLibId: billsLibId,
-                    id: id,
-                    code: createDatas[i].code,
-                    content: createDatas[i].content,
-                    deleted: false
-                }
-            }
-            else{
-                if(createDatas[i].field === 'code'){
-                    jobObj = {
-                        billsLibId: billsLibId,
-                        id: id,
-                        code: createDatas[i].data,
-                        content: '',
-                        deleted: false
-                    }
-                }
-                else {
-                    jobObj = {
-                        billsLibId: billsLibId,
-                        id: id,
-                        code: createDatas[i].code,
-                        content: createDatas[i].data,
-                        deleted: false
-                    }
-                }
-            }
-            JobContent.create(jobObj, function(err){
-                if(err){
-
-                }
-            });
-        }
-    }
-}*/
 billsLibDao.prototype.pasteJobs = function (data, callback) {
     let pasteDatas = data.pasteDatas;
     let updateDatas = pasteDatas.updateDatas,
@@ -1441,6 +1381,123 @@ billsLibDao.prototype.pasteJobs = function (data, callback) {
         }
     });
 };
+
+billsLibDao.prototype.edCreateJob = function(data, callback){
+    let billsLibId = data.billsLibId,
+        code = data.code,
+        billsId = data.billsId,
+        content = data.data;
+    async.waterfall([
+        function(cb){
+            counter.counterDAO.getIDAfterCount(counter.moduleName.billsLib_jobs, 1, function(err, result){
+                if(err){
+                    cb(err, null);
+                }
+                else {
+                    let newJobId = result.value.sequence_value;
+                    cb(null, newJobId);
+                }
+            })
+        },
+        function(newJobId, cb){
+            async.parallel([
+                function(pcb){
+                    JobContent.create({id: newJobId, billsLibId: billsLibId, code: code, content: content, deleted: false}, function(err){
+                        if(err){
+                            pcb(err, null);
+                        }
+                        else {
+                            pcb(null, newJobId);
+                        }
+                    });
+                },
+                function(pcb){
+                    Bills.update({billsLibId: billsLibId, ID: billsId, deleted: false}, {$addToSet: {jobs: newJobId}}, function(err){
+                        if(err){
+                            pcb(err, null);
+                        }
+                        else {
+                            pcb(null, newJobId);
+                        }
+                    });
+                }
+            ], function(err, result){
+                if(err){
+                    cb(err, null);
+                }
+                else {
+                    cb(null, result[0]);
+                }
+            });
+        }
+    ], function(err, reslut){
+        if(err){
+            callback(1, "Error", null);
+        }
+        else {
+            callback(0, '', reslut);
+        }
+    });
+};
+
+billsLibDao.prototype.edUpdateJob = function(data, callback){
+    let billsLibId = data.billsLibId,
+        billsId = data.billsId,
+        content = data.content,
+        code = data.code,
+        orgJobId = data.orgJobId;
+    async.waterfall([
+        function(cb){
+            counter.counterDAO.getIDAfterCount(counter.moduleName.billsLib_jobs, 1, function(err, result){
+                if(err){
+                    cb(err, null);
+                }
+                else {
+                    let newJobId = result.value.sequence_value;
+                    cb(null, newJobId);
+                }
+            })
+        },
+        function(newJobId, cb){
+            async.parallel([
+                function(pcb){
+                    JobContent.create({id: newJobId, billsLibId: billsLibId, code: code, content: content, deleted: false}, function(err){
+                        if(err){
+                            pcb(err, null);
+                        }
+                        else {
+                            pcb(null, newJobId);
+                        }
+                    });
+                },
+                function(pcb){
+                    Bills.update({billsLibId: billsLibId, ID: billsId, deleted: false, jobs: orgJobId}, {$set: {'jobs.$': newJobId}}, function(err){
+                        if(err){
+                            pcb(err, null);
+                        }
+                        else {
+                            pcb(null, newJobId);
+                        }
+                    });
+                }
+            ], function(err, result){
+                if(err){
+                    cb(err, null);
+                }
+                else {
+                    cb(null, result[0]);
+                }
+            });
+        }
+    ], function(err, reslut){
+        if(err){
+            callback(1, "Error", null);
+        }
+        else {
+            callback(0, '', reslut);
+        }
+    });
+};
 //----------------------ItemCharacter---------------------
 billsLibDao.prototype.getItemCharacter = function(gdata, callback){
     let billsLibId = gdata.billsLibId;
@@ -1565,18 +1622,7 @@ billsLibDao.prototype.updateValue = function(uData, callback){
         }
     }
 };
-//org
-/*billsLibDao.prototype.deleteItemCharacter = function(data, callback){
-    let delIds = data.ids;
-    let billsLibId = data.billsLibId;
-    delIds.forEach(function(id){
-        ItemCharacter.update({billsLibId: billsLibId, id: id}, {$set: {deleted: true}}, function(err){
-            if(err){
-                callback(1, 'Error');
-            }
-        });
-    });
-}*/
+
 billsLibDao.prototype.deleteItemCharacter = function(data, callback){
     let delIds = data.ids;
     let billsLibId = data.billsLibId;
@@ -1599,76 +1645,7 @@ billsLibDao.prototype.deleteItemCharacter = function(data, callback){
     }
 };
 
-//org
-/*billsLibDao.prototype.pasteItems = function (data, callback) {
-    let pasteDatas = data.pasteDatas;
-    let updateDatas = pasteDatas.updateDatas,
-        createDatas = pasteDatas.createDatas;
-    if(updateDatas.length > 0){
-        for(let i=0; i<updateDatas.length; i++){
-            let updateId = updateDatas[i].orgId,
-                field = updateDatas[i].field,
-                updateData = updateDatas[i].data, billsLibId = updateDatas[i].billsLibId;
-            if(field === 'code'){
-                ItemCharacter.update({billsLibId: billsLibId, id: updateId}, {$set: {code: updateData}}, function(err){
-                    if(err){
-
-                    }
-                });
-            }
-            else{
-                ItemCharacter.update({billsLibId: billsLibId, id: updateId}, {$set: {content: updateData}}, function(err){
-                    if(err){
 
-                    }
-                });
-            }
-        }
-    }
-    if(createDatas.length > 0){
-        for(let i =0; i<createDatas.length; i++){
-            let billsLibId = createDatas[i].billsLibId, id = createDatas[i].id,
-                code , content;
-            let itemObj;
-
-            if(createDatas[i].type === 'CreateT'){
-                itemObj = {
-                    billsLibId: billsLibId,
-                    id: id,
-                    code: createDatas[i].code,
-                    content: createDatas[i].content,
-                    deleted: false
-                }
-            }
-            else{
-                if(createDatas[i].field === 'code'){
-                    itemObj = {
-                        billsLibId: billsLibId,
-                        id: id,
-                        code: createDatas[i].data,
-                        content: '',
-                        deleted: false
-                    }
-                }
-                else {
-                    itemObj = {
-                        billsLibId: billsLibId,
-                        id: id,
-                        code: createDatas[i].code,
-                        content: createDatas[i].data,
-                        deleted: false
-                    }
-                }
-            }
-            ItemCharacter.create(itemObj, function(err){
-                if(err){
-
-                }
-            });
-        }
-    }
-
-};*/
 billsLibDao.prototype.pasteItems = function (data, callback) {
     let pasteDatas = data.pasteDatas;
     let updateDatas = pasteDatas.updateDatas,
@@ -1772,82 +1749,7 @@ billsLibDao.prototype.pasteItems = function (data, callback) {
     });
 
 };
-//org
-/*billsLibDao.prototype.pasteValues = function(data, callback) {
-    let pasteDatas = data.pasteDatas;
-    let updateDatas = pasteDatas.updateDatas, createDatas = pasteDatas.createDatas;
-    console.log(`test`);
-    if (updateDatas.length > 0) {
-        for (let i = 0; i < updateDatas.length; i++) {
-            let billsLibId = updateDatas[i].billsLibId, itemId = updateDatas[i].itemId, orgCode = updateDatas[i].orgId;
-            console.log(`i = ${i}`);
-            if (updateDatas[i].type === 'UpdateT') {
-                console.log(`UpdateT`);
-                let valueObj = {code: updateDatas[i].code, value: updateDatas[i].content};
-                ItemCharacter.update({billsLibId: billsLibId, id: itemId}, {$pull: {itemValue: {code: orgCode}}}, function (err) {
-                    if (err) {
-                    } else {
-                        ItemCharacter.update({billsLibId: billsLibId, id: itemId}, {$addToSet: {itemValue: valueObj}}, function (err) {
-                            if (err) {
-                            }
-                        });
-                    }
-                });
-            }
-            else if (updateDatas[i].type === 'Update' && updateDatas[i].field === 'code') {
-                console.log(`UpdateCode`);
-                ItemCharacter.update({billsLibId: billsLibId, id: itemId, 'itemValue.code': orgCode},
-                    {$set: {'itemValue.$.code': updateDatas[i].data}}, function (err) {
-                            if(err){
-                            }
-                    });
-            }
-            else {
-                console.log(`UpdateValue`);
-                console.log(`billsLibId: ${updateDatas[i].billsLibId} itemId: ${updateDatas[i].itemId} updateCode: ${updateDatas[i].orgId} value: ${updateDatas[i].data}`);
-                ItemCharacter.update({billsLIbId: billsLibId, id: itemId, 'itemValue.code': orgCode}, {$set: {'itemValue.$.value': updateDatas[i].data}}, function(err, result){
-                        if(err){
-                            console.log(`Error`);
-                        }
-                        else {
-                            console.log(`success`);
-                            console.log(result);
-                        }
-                    });
-            }
-        }
-    }
-    if(createDatas.length >0){
-        for(let i=0; i< createDatas.length; i++){
-            let valueObj
-            if(createDatas[i].type === 'CreateT'){
-                console.log(`CreateT`);
-                 valueObj = {code: createDatas[i].code, value: createDatas[i].content};
-                ItemCharacter.update({billsLibId: createDatas[i].billsLibId, id: createDatas[i].itemId}, {$addToSet: {itemValue: valueObj}}, function (err) {
-                    if (err) {
-                    }
-                });
-            }
-            else if(createDatas[i].type === 'Create' && createDatas[i].field === 'code'){
-                console.log(`Create code`);
-                valueObj = {code: createDatas[i].data, value: ''};
-                ItemCharacter.update({billsLibId: createDatas[i].billsLibId, id: createDatas[i].itemId}, {$addToSet: {itemValue: valueObj}}, function (err) {
-                    if (err) {
-                    }
-                });
-            }
-            else {
-                console.log(`Create value`);
-                valueObj = {code: createDatas[i].code, value: createDatas[i].data};
-                ItemCharacter.update({billsLibId: createDatas[i].billsLibId, id: createDatas[i].itemId}, {$addToSet: {itemValue: valueObj}}, function (err) {
-                    if (err) {
-                    }
-                });
-            }
-        }
-    }
-    callback(0, '');
-};*/
+
 billsLibDao.prototype.pasteValues = function(data, callback) {
     let pasteDatas = data.pasteDatas;
     let updateDatas = pasteDatas.updateDatas, createDatas = pasteDatas.createDatas;
@@ -1964,6 +1866,123 @@ billsLibDao.prototype.pasteValues = function(data, callback) {
         }
     });
 };
+
+billsLibDao.prototype.edCreateItem = function(data, callback){
+    let billsLibId = data.billsLibId,
+        code = data.code,
+        billsId = data.billsId,
+        content = data.data;
+    async.waterfall([
+        function(cb){
+            counter.counterDAO.getIDAfterCount(counter.moduleName.billsLib_items, 1, function(err, result){
+                if(err){
+                    cb(err, null);
+                }
+                else {
+                    let newItemId = result.value.sequence_value;
+                    cb(null, newItemId);
+                }
+            })
+        },
+        function(newItemId, cb){
+            async.parallel([
+                function(pcb){
+                    ItemCharacter.create({id: newItemId, billsLibId: billsLibId, code: code, content: content, deleted: false}, function(err){
+                        if(err){
+                            pcb(err, null);
+                        }
+                        else {
+                            pcb(null, newItemId);
+                        }
+                    });
+                },
+                function(pcb){
+                    Bills.update({billsLibId: billsLibId, ID: billsId, deleted: false}, {$addToSet: {items: newItemId}}, function(err){
+                        if(err){
+                            pcb(err, null);
+                        }
+                        else {
+                            pcb(null, newItemId);
+                        }
+                    });
+                }
+            ], function(err, result){
+                if(err){
+                    cb(err, null);
+                }
+                else {
+                    cb(null, result[0]);
+                }
+            });
+        }
+    ], function(err, reslut){
+        if(err){
+            callback(1, "Error", null);
+        }
+        else {
+            callback(0, '', reslut);
+        }
+    });
+};
+
+billsLibDao.prototype.edUpdateItem = function(data, callback){
+    let billsLibId = data.billsLibId,
+        billsId = data.billsId,
+        content = data.content,
+        code = data.code,
+        orgItemId = data.orgItemId;
+    async.waterfall([
+        function(cb){
+            counter.counterDAO.getIDAfterCount(counter.moduleName.billsLib_items, 1, function(err, result){
+                if(err){
+                    cb(err, null);
+                }
+                else {
+                    let newItemId = result.value.sequence_value;
+                    cb(null, newItemId);
+                }
+            })
+        },
+        function(newItemId, cb){
+            async.parallel([
+                function(pcb){
+                    ItemCharacter.create({id: newItemId, billsLibId: billsLibId, code: code, content: content, deleted: false}, function(err){
+                        if(err){
+                            pcb(err, null);
+                        }
+                        else {
+                            pcb(null, newItemId);
+                        }
+                    });
+                },
+                function(pcb){
+                    Bills.update({billsLibId: billsLibId, ID: billsId, deleted: false, items: orgItemId}, {$set: {'items.$': newItemId}}, function(err){
+                        if(err){
+                            pcb(err, null);
+                        }
+                        else {
+                            pcb(null, newItemId);
+                        }
+                    });
+                }
+            ], function(err, result){
+                if(err){
+                    cb(err, null);
+                }
+                else {
+                    cb(null, result[0]);
+                }
+            });
+        }
+    ], function(err, reslut){
+        if(err){
+            callback(1, "Error", null);
+        }
+        else {
+            callback(0, '', reslut);
+        }
+    });
+};
 //
 
 

+ 4 - 0
modules/bills_lib/routes/bills_lib_routes.js

@@ -27,6 +27,8 @@ billsRouter.post("/createJobContent", billsController.createJobContent);
 billsRouter.post("/updateJobContent", billsController.updateJobContent);
 billsRouter.post("/deleteJobContent", billsController.deleteJobContent);
 billsRouter.post("/pasteJobs", billsController.pasteJobs);
+billsRouter.post("/edCreateJob", billsController.edCreateJob);
+billsRouter.post("/edUpdateJob", billsController.edUpdateJob);
 billsRouter.post("/getItemCharacter", billsController.getItemCharacter);
 billsRouter.post("/createItemCharacter", billsController.createItemCharacter);
 billsRouter.post("/updateItemCharacter", billsController.updateItemCharacter);
@@ -34,5 +36,7 @@ billsRouter.post("/updateValue", billsController.updateValue);
 billsRouter.post("/deleteItemCharacter", billsController.deleteItemCharacter);
 billsRouter.post("/pasteItems", billsController.pasteItems);
 billsRouter.post("/pasteValues", billsController.pasteValues);
+billsRouter.post("/edCreateItem", billsController.edCreateItem);
+billsRouter.post("/edUpdateItem", billsController.edUpdateItem);
 
 module.exports = billsRouter;

+ 28 - 11
web/maintain/bills_lib/html/qingdan.html

@@ -282,11 +282,16 @@
 
     function showBillsSheet(datas, jobsSheet, itemsSheet, setting) {
         let billsSpread = new GC.Spread.Sheets.Workbook($('#spreadBills')[0], {sheetCount: 1});
+        //
+        let billsSheet = billsSpread.getActiveSheet();
+        billsSheet.setFormatter(-1, 0, "@", GC.Spread.Sheets.SheetArea.viewport);
+        //
         setSheet.initSheet(billsSpread, setting);
+        //setSheet.formatter(billsSpread.getActiveSheet());
         myKey.delKey(billsSpread);
         billsTree.loadDatas(datas);
-        //粘贴事件
-        bindPasteBills(billsSpread.getActiveSheet(), setting);
+       /* //粘贴事件
+        bindPasteBills(billsSpread.getActiveSheet(), setting);*/
         let controller = TREE_SHEET_CONTROLLER.createNew(billsTree.tree, billsSpread.getActiveSheet(), setting);
         controller.showTreeData();
         //setTagId
@@ -297,6 +302,8 @@
         //刷新节点可进行操作的按钮
         refreshBtn(controller);
         controller.setTreeSelected(controller.tree.findNode(controller.sheet.getTag(0, 0)));
+        //粘贴事件
+        bindPasteBills(controller, billsSpread.getActiveSheet(), setting);
         //补注内容改变
         rechargeChange(controller);
         //jobs
@@ -329,9 +336,13 @@
         controller.bind('refreshBaseActn', function (tree) {
             let showButton = function (show, btn) {
                 if (show) {
-                    btn.show();
+                    //btn.show();
+                    btn.css("opacity", "");
+                    btn.removeClass("disabled");
                 } else {
-                    btn.hide();
+                    //btn.hide();
+                    btn.css("opacity", "0.2");
+                    btn.addClass("disabled");
                 }
             };
             showButton(tree.selected && tree.selected.canUpLevel(), $('#upLevel'));
@@ -423,6 +434,7 @@
                         tools.reshowData(sheet, jobs, setting, false);
                         orgJobData = sheet.getValue(0, 0);
                     }
+                    sheetDatas = tools.getsheetDatas(sheet, 'jobs');
                 }
                 if(field === 'items'){
                     let items = controller.tree.selected.items;
@@ -431,6 +443,7 @@
                         tools.reshowData(sheet, items, setting, false);
                         orgItemData = sheet.getValue(0, 0);
                     }
+                    sheetItemsDatas = tools.getsheetDatas(sheet, 'items');
                 }
             }
             else {
@@ -440,15 +453,16 @@
         });
     }
 
-    function bindPasteBills(sheet, setting){
+    function bindPasteBills(controller, sheet, setting){
         sheet.bind(GC.Spread.Sheets.Events.ClipboardPasted, function(sender, args){
             let datas = [], field;
             let orgRow = args.cellRange.row, orgCol = args.cellRange.col, rowCount = args.cellRange.rowCount, colCount = args.cellRange.colCount;
             let maxRow = orgRow + rowCount - 1, maxCol = orgCol + colCount -1;
-            for(var i=orgRow; i<= maxRow; i++){
-                let id =  sheet.getTag(i, 0, GC.Spread.Sheets.SheetArea.viewport);
+            let id =  controller.tree.selected.getID();
+            //for(var i=orgRow; i<= maxRow; i++){
+                //let id =  sheet.getTag(i, 0, GC.Spread.Sheets.SheetArea.viewport);
                 if(id){
-                    let pasteJson = {billsLibId: billsLibId, ID: id, code: null, name: null, unit: null, ruleText: null};
+                    let pasteJson = {billsLibId: billsLibId, ID: id, code: '', name: '', unit: '', ruleText: ''};
                     let colLen = sheet.getColumnCount(GC.Spread.Sheets.SheetArea.viewport);
                     for(var j=0; j<colLen; j++){
                         setting.cols.forEach(function(col, colIdx){
@@ -456,20 +470,23 @@
                                 field = col.data.field;
                             }
                         });
-                        pasteJson[field] = sheet.getValue(i, j);
+                        pasteJson[field] = sheet.getValue(orgRow, j);
                     }
                     datas.push(pasteJson);
                 }
                 else {
-                    sheet.clear(i, 0, 1, sheet.getColumnCount(), GC.Spread.Sheets.SheetArea.viewport,GC.Spread.Sheets.StorageType.data);
+                    sheet.clear(orgRow, 0, 1, sheet.getColumnCount(), GC.Spread.Sheets.SheetArea.viewport,GC.Spread.Sheets.StorageType.data);
                 }
-            }
+          //  }
             billsAjax.pasteBills(datas);
         });
     }
     function bindPasteRel(sheet, controller, totalJobs, setting){
         sheetDatas = tools.getsheetDatas(sheet, 'jobs');
         sheet.bind(GC.Spread.Sheets.Events.ClipboardPasted, function(sender, args){
+            //
+            console.log(`sheetDatas`);
+            console.log(sheetDatas);
             sheet.setColumnCount(2, GC.Spread.Sheets.SheetArea.viewport);
             if(controller.tree.selected){
                 let orgRow = args.cellRange.row, orgCol = args.cellRange.col, rowCount = args.cellRange.rowCount, colCount = args.cellRange.colCount;

+ 58 - 4
web/maintain/bills_lib/scripts/bills_lib_ajax.js

@@ -289,14 +289,16 @@ var jobsAjax = {
             }
         });
     },
-    createJobContent: function(billsLibId, data, serialNo, id){
+    createJobContent: function(billsLibId, data, serialNo, callback){
         $.ajax({
             type: 'post',
             url: 'stdBillsEditor/createJobContent',
-            data: {data: JSON.stringify({billsLibId: billsLibId, data: data, serialNo: serialNo, id: id })},
+            data: {data: JSON.stringify({billsLibId: billsLibId, data: data, serialNo: serialNo})},
             dataType: 'json',
             success: function(result){
-
+                if(!result.error && callback){
+                    callback(result.data);
+                }
             }
         });
     },
@@ -335,8 +337,34 @@ var jobsAjax = {
             }
 
         });
+    },
+    edCreateJob: function(billsLibId, billsId, data, code, callback){
+        $.ajax({
+            type: 'post',
+            url: 'stdBillsEditor/edCreateJob',
+            data: {data: JSON.stringify({billsLibId: billsLibId, billsId:billsId, data: data, code: code})},
+            dataType: 'json',
+            success: function(result){
+                if(!result.error && callback){
+                    callback(result.data);
+                }
+            }
+        });
+    },
+    edUpdateJob: function(billsLibId, billsId, content, code, orgJobId, callback){
+        $.ajax({
+            type: 'post',
+            url: 'stdBillsEditor/edUpdateJob',
+            data: {data: JSON.stringify({billsLibId: billsLibId, billsId:billsId, content: content, code: code, orgJobId: orgJobId})},
+            dataType: 'json',
+            success: function(result){
+                if(!result.error && callback){
+                    callback(result.data);
+                }
+            }
+        });
     }
-}
+};
 
 var itemsAjax = {
     getItemCharacter: function(billsLibId, callback){
@@ -421,6 +449,32 @@ var itemsAjax = {
                 }
             }
         });
+    },
+    edCreateItem: function(billsLibId, billsId, data, code, callback){
+        $.ajax({
+            type: 'post',
+            url: 'stdBillsEditor/edCreateItem',
+            data: {data: JSON.stringify({billsLibId: billsLibId, billsId:billsId, data: data, code: code})},
+            dataType: 'json',
+            success: function(result){
+                if(!result.error && callback){
+                    callback(result.data);
+                }
+            }
+        });
+    },
+    edUpdateItem: function(billsLibId, billsId, content, code, orgItemId, callback){
+        $.ajax({
+            type: 'post',
+            url: 'stdBillsEditor/edUpdateItem',
+            data: {data: JSON.stringify({billsLibId: billsLibId, billsId:billsId, content: content, code: code, orgItemId: orgItemId})},
+            dataType: 'json',
+            success: function(result){
+                if(!result.error && callback){
+                    callback(result.data);
+                }
+            }
+        });
     }
 }
 

+ 84 - 94
web/maintain/bills_lib/scripts/db_controller.js

@@ -36,30 +36,6 @@ var dbController = {
         }
     },
 
-    delete: function(controller, totalJobs, totalItems){
-        var node = controller.tree.selected;
-        var deleteIds = [];
-        var getDeleteIds = function(node){
-            if(node){
-                deleteIds.push(node.getID());
-                var length = node.children.length;
-                if(length > 0){
-                    for(var i=0; i<length; i++){
-                        getDeleteIds(node.children[i]);
-                    }
-                }
-            }
-        };
-        getDeleteIds(node);
-        billsAjax.deleteBills(billsLibId, deleteIds, function(){
-            if(node.preSibling){
-                billsAjax.updatePNId(billsLibId, [{ID: node.preSibling.getID(), NextSiblingID: node.getNextSiblingID()}]);
-            }
-        });
-        //controller.delete();
-        tools.delteSheets(controller, totalJobs, totalItems, jobsSpread.getActiveSheet(), itemsSpread.getActiveSheet());
-    },
-
     upLevel: function(controller){
         var node = controller.tree.selected;
         var ids = [];
@@ -137,6 +113,43 @@ var dbController = {
         }
     },
 
+    delete: function(controller, totalJobs, totalItems){
+        var node = controller.tree.selected;
+        var deleteIds = [];
+        var getDeleteIds = function(node){
+            if(node){
+                deleteIds.push(node.getID());
+                var length = node.children.length;
+                if(length > 0){
+                    for(var i=0; i<length; i++){
+                        getDeleteIds(node.children[i]);
+                    }
+                }
+            }
+        };
+        getDeleteIds(node);
+        billsAjax.deleteBills(billsLibId, deleteIds, function(){
+            if(node.preSibling){
+                billsAjax.updatePNId(billsLibId, [{ID: node.preSibling.getID(), NextSiblingID: node.getNextSiblingID()}]);
+            }
+        });
+        //controller.delete();
+        tools.delteSheets(controller, totalJobs, totalItems, jobsSpread.getActiveSheet(), itemsSpread.getActiveSheet());
+        //to solve refresh after deleted
+        /*let jobs = controller.tree.selected.jobs;
+        let jobsSheet = jobsSpread.getActiveSheet();
+        setSheet.setMaxRowCount(jobsSheet, jobs);
+        if(jobs.length > 0){
+            tools.reshowData(jobsSheet, jobs, jobsSetting, false);
+            orgJobData = jobsSheet.getValue(0, 0);
+        }
+        else {
+            tools.clearData(jobsSheet);
+        }
+        sheetDatas = tools.getsheetDatas(jobsSheet, 'jobs');*/
+        //to solve refresh after deleted
+    },
+
     upMove: function(controller){
         var node = controller.tree.selected;
         var updateData = [];
@@ -784,13 +797,7 @@ var tools = {
                 if(crossedDatas[i].field === 'code' && typeof data !== 'number' ){
                     crossedDatas.splice(i--, 1);
                 }
-                /*else {
-                    totalJobs.jobsArr.forEach(job => {
-                        if(job.data.id === crossedDatas[i].orgId){
-                            job.data[field] = crossedDatas[i].data;
-                        }
-                    });
-                }*/
+
             }
         }
         if(uncrossedDatas.length > 0){
@@ -846,13 +853,6 @@ var tools = {
                 if(crossedDatas[i].field === 'code' && typeof data !== 'number' ){
                     crossedDatas.splice(i--, 1);
                 }
-                /*else {
-                 totalJobs.jobsArr.forEach(job => {
-                 if(job.data.id === crossedDatas[i].orgId){
-                 job.data[field] = crossedDatas[i].data;
-                 }
-                 });
-                 }*/
             }
         }
         if(uncrossedDatas.length > 0){
@@ -1308,20 +1308,17 @@ var jobsController = {
     createNew: function(sheet, controller, totalJobs, field, newData, args, setting){
         if(field === 'content'){
             maxJobsNumber++;
-            let code = tools.getNewCode(totalJobs, 'jobs');
-            code++;
-            console.log(`code:: ${code}`);
-            jobsAjax.createJobContent(billsLibId, newData, code, maxJobsNumber);
-            var newJobData, newJob;
-            newJobData = {id: maxJobsNumber, content: newData, code: code};
-            newJob = createObj.newJob(newJobData);
-            newJob.count = 1;
-            totalJobs.jobs[totalJobs.prefix + maxJobsNumber] = newJob;
-            totalJobs.jobsArr.push(newJob);
-            billsAjax.updateBills(billsLibId, controller.tree.selected.getID(), 'jobs', maxJobsNumber);
-            controller.tree.selected.jobs.push(newJob);
-            tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);
-
+            console.log(`billsLibId: ${billsLibId} billsId: ${controller.tree.selected.getID()} content: ${newData} code: ${maxJobsNumber}`);
+            jobsAjax.edCreateJob(billsLibId, controller.tree.selected.getID(), newData, maxJobsNumber, function(newJobId){
+                var newJobData, newJob;
+                newJobData = {id: newJobId, content: newData, code: maxJobsNumber};
+                newJob = createObj.newJob(newJobData);
+                newJob.count = 1;
+                totalJobs.jobs[totalJobs.prefix + newJobId] = newJob;
+                totalJobs.jobsArr.push(newJob);
+                controller.tree.selected.jobs.push(newJob);
+                tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);
+            });
         }
         else {
             sheet.getCell(args.row, args.col).value('');
@@ -1368,20 +1365,18 @@ var jobsController = {
         else{
             if(field === 'content'){
                 maxJobsNumber++;
-                let code = tools.getNewCode(totalJobs, 'jobs');
-                code++;
-                jobsAjax.createJobContent(billsLibId, newData, code, maxJobsNumber);
-                var newJobData, newJob;
-                newJobData = {id: maxJobsNumber, content: newData, code: code};
-                newJob = createObj.newJob(newJobData);
-                newJob.count = 1;
-                totalJobs.jobs[totalJobs.prefix + maxJobsNumber] = newJob;
-                totalJobs.jobsArr.push(newJob);
-                billsAjax.updateBillsArr(billsLibId, controller.tree.selected.getID(), id, maxJobsNumber, 'update', 'jobs');
-                var index = tools.getIndex(controller.tree.selected.jobs, id);
-                controller.tree.selected.jobs.splice(index, 1);
-                controller.tree.selected.jobs.splice(index, 0, newJob);
-                tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);
+                jobsAjax.edUpdateJob(billsLibId, controller.tree.selected.getID(), newData, maxJobsNumber, id, function(newJobId){
+                    var newJobData, newJob;
+                    newJobData = {id: newJobId, content: newData, code: maxJobsNumber};
+                    newJob = createObj.newJob(newJobData);
+                    newJob.count = 1;
+                    totalJobs.jobs[totalJobs.prefix + newJobId] = newJob;
+                    totalJobs.jobsArr.push(newJob);
+                    var index = tools.getIndex(controller.tree.selected.jobs, id);
+                    controller.tree.selected.jobs.splice(index, 1);
+                    controller.tree.selected.jobs.splice(index, 0, newJob);
+                    tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);
+                });
             }
             else {
                 //todo: 提示窗口
@@ -1446,19 +1441,17 @@ var itemsController = {
     createNew: function(sheet, controller, totalItems, field, newData, args, setting){
         if(field === 'content'){
             maxItemsNumber++;
-            let id = maxItemsNumber;
-            let code = tools.getNewCode(totalItems, 'items');
-            code++;
-            itemsAjax.createItemCharacter(billsLibId, newData, code, id);
-            var newItemData, newItem;
-            newItemData = {id: id, content: newData, code: code};
-            newItem = createObj.newItem(newItemData);
-            newItem.count = 1;
-            totalItems.items[totalItems.prefix + id] = newItem;
-            totalItems.itemsArr.push(newItem);
-            billsAjax.updateBills(billsLibId, controller.tree.selected.getID(), 'items', id);
-            controller.tree.selected.items.push(newItem);
-            tools.reshowData(sheet, controller.tree.selected.items, setting, true);
+            console.log(`billsLibId: ${billsLibId} billsId: ${controller.tree.selected.getID()} content: ${newData} code: ${maxItemsNumber}`);
+            itemsAjax.edCreateItem(billsLibId, controller.tree.selected.getID(), newData, maxItemsNumber, function(newItemId){
+                let newItemData, newItem;
+                newItemData = {id: newItemId, content: newData, code: maxItemsNumber};
+                newItem = createObj.newItem(newItemData);
+                newItem.count = 1;
+                totalItems.items[totalItems.prefix + newItemId] = newItem;
+                totalItems.itemsArr.push(newItem);
+                controller.tree.selected.items.push(newItem);
+                tools.reshowData(sheet, controller.tree.selected.items, setting, true);
+            });
         }
         else {
             if(typeof newData === 'number'){
@@ -1515,21 +1508,18 @@ var itemsController = {
         else{
             if(field === 'content'){
                 maxItemsNumber++;
-                let newId = maxItemsNumber;
-                let code = tools.getNewCode(totalItems, 'items');
-                code++;
-                itemsAjax.createItemCharacter(billsLibId,newData, code, newId);
-                var newItemData, newItem;
-                newItemData = {id: newId, content: newData, code: code};
-                newItem = createObj.newItem(newItemData);
-                newItem.count = 1;
-                totalItems.items[totalItems.prefix + newId] = newItem;
-                totalItems.itemsArr.push(newItem);
-                billsAjax.updateBillsArr(billsLibId, controller.tree.selected.getID(), id, newId, 'update', 'items');
-                var index = tools.getIndex(controller.tree.selected.items, id);
-                controller.tree.selected.items.splice(index, 1);
-                controller.tree.selected.items.splice(index, 0, newItem);
-                tools.reshowData(sheet, controller.tree.selected.items, setting, true);
+                itemsAjax.edUpdateItem(billsLibId, controller.tree.selected.getID(), newData, maxItemsNumber, id, function(newItemId){
+                    var newItemData, newItem;
+                    newItemData = {id: newItemId, content: newData, code: maxItemsNumber};
+                    newItem = createObj.newItem(newItemData);
+                    newItem.count = 1;
+                    totalItems.items[totalItems.prefix + newItemId] = newItem;
+                    totalItems.itemsArr.push(newItem);
+                    var index = tools.getIndex(controller.tree.selected.items, id);
+                    controller.tree.selected.items.splice(index, 1);
+                    controller.tree.selected.items.splice(index, 0, newItem);
+                    tools.reshowData(sheet, controller.tree.selected.items, setting, true);
+                });
             }
             else {
                 if(typeof newData === 'number'){

+ 4 - 0
web/maintain/bills_lib/scripts/set_sheets.js

@@ -10,6 +10,7 @@ var setSheet = {
         spread.options.tabStripVisible = false;
         spread.options.scrollbarMaxAlign = true;
         spread.options.allowExtendPasteRange = true;
+        spread.options.allowCopyPasteExcelStyle = false;
         sheet.showRowOutline(false);
         sheet.defaults.rowHeight = 30;
         setting.cols.forEach(function(col, colIdx){
@@ -35,6 +36,9 @@ var setSheet = {
             rowCount = arrL + 3;
         }
         sheet.setRowCount(rowCount, GC.Spread.Sheets.SheetArea.viewport);
+    },
+    formatter: function(sheet){
+        sheet.setFormatter(-1, 0, "@", GC.Spread.Sheets.SheetArea.viewport);
     }
 }
 

+ 1 - 1
web/maintain/ration_repository/dinge.html

@@ -47,7 +47,7 @@
                       <div class="tab-bar">
                           <a onclick="zTreeOprObj.addRootNode()" class="btn btn-secondary btn-sm">增加根节点</a>
                       </div>
-                    <div class="tab-content">
+                    <div class="tab-content" style="width: 100%; height: 100%; overflow: auto">
                       <ul id="rationChapterTree" class="ztree"></ul>
                     </div>
                   </div>

+ 1 - 1
web/maintain/ration_repository/js/ration_glj.js

@@ -10,7 +10,7 @@ var rationGLJOprObj = {
             {headerName:"编码",headerWidth:120,dataCode:"code", dataType: "String", formatter: "@"},
             {headerName:"名称",headerWidth:400,dataCode:"name", dataType: "String"},
             {headerName:"单位",headerWidth:160,dataCode:"unit", dataType: "String"},
-            {headerName:"单位基价",headerWidth:160, dataCode:"basePrice", dataType: "Number", precision: 2},
+            {headerName:"基价单位",headerWidth:160, dataCode:"basePrice", dataType: "Number", formatter:"0.00",  precision: 2},
             {headerName:"定额消耗",headerWidth:160, dataCode:"consumeAmt", dataType: "Number", precision: 3},
             {headerName:"类型",headerWidth:160,dataCode:"gljDistType", dataType: "String"}
         ],