浏览代码

人工系数修改存储。

Chenshilong 7 年之前
父节点
当前提交
d6d3900407

+ 22 - 4
modules/main/facade/labour_coe_facade.js

@@ -83,20 +83,38 @@ function getData(projectID, callback) {
 };
 
 // 统一的 save() 方法供project调用
+// data 格式要求:{projectID: projectID, libID: libID, libName: libName, newItemArr: needUpdateDatas}
+// needUpdateDatas: [{ID: 5, value: 2.87}, {ID: 13, value: 2.91}]
 function save (data, callback) {
     let updateArr = [];
     let datas = JSON.parse(data);
-    for (let Item of datas.updateData) {
+
+    if (datas.libID){
+        let ItemObj = {
+            updateOne: {
+                filter: {projectID: datas.projectID},
+                update: { 'libID': datas.projectID, 'libName': datas.libName }
+            }
+        };
+        updateArr.push(ItemObj);
+    };
+
+    for (let Item of datas.newItemArr) {
          let ItemObj = {
              updateOne: {
                  filter: {projectID: datas.projectID, 'coes.ID': Item.ID},
-                 update: { 'coes.$.coe': Item.value }
+                 update: { 'coes.$.coe': Item.coe }
              }
          };
          updateArr.push(ItemObj);
     };
     // console.log(JSON.stringify(updateArr));
     projectLabourCoesModel.bulkWrite(updateArr)
-        .then(callback(0, '', null))
-        .catch(function (err) {callback(1, err, null)});
+        .then(function(){
+            logger.info(`Project LabourCoe saved successful : ${datas.projectID}`);
+            callback(0, '', null);
+        })
+        .catch(function (err) {
+            logger.err(err);
+            callback(1, err, null)});
 }

+ 1 - 1
web/building_saas/main/js/models/labour_coe.js

@@ -32,7 +32,7 @@ class LabourCoe {
         for (let newItem of data.newItemArr){
               for (let oldItem of me.datas.coes){
                    if (oldItem.ID == newItem.ID){
-                       oldItem.coe = newItem.value;
+                       oldItem.coe = newItem.coe;
                        break;
                    }
               };

+ 8 - 4
web/building_saas/main/js/views/project_property_labour_coe_view.js

@@ -57,7 +57,7 @@ let labourCoeView = {
         var me = labourCoeView;
         if (args.propertyName !== "value"){return;};
         let cell = me.sheet.getCell(args.row, args.col);
-        me.addNeedUpdateData({ID: cell.tag(), value: cell.value()});
+        me.addNeedUpdateData({ID: cell.tag(), coe: cell.value()});
     },
 
     addNeedUpdateData: function (data) {
@@ -66,7 +66,7 @@ let labourCoeView = {
         for (let el of me.needUpdateDatas){
              if (el.ID == data.ID){
                  isExist = true;
-                 el.value = data.value;
+                 el.coe = data.coe;
                  return;
              };
         };
@@ -134,14 +134,16 @@ let labourCoeView = {
     save(){
         let me = this;
         if (me.needUpdateDatas.length > 0){
-            let data = {projectID: projectInfoObj.projectInfo.ID, updateData: me.needUpdateDatas};
+            let projectID = projectInfoObj.projectInfo.ID;
             let libID = $("#std_labour_coe_files").children("option:selected").val();
             let libName = $("#std_labour_coe_files").children("option:selected").text();
+            let data = {projectID: projectID, libID: libID, libName: libName, newItemArr: me.needUpdateDatas};
             CommonAjax.post('/labourCoe/save', data, function (){
-                projectObj.project.labourCoe.refreshData({libID: libID, libName: libName, newItemArr: me.needUpdateDatas});
+                projectObj.project.labourCoe.refreshData(data);
                 me.needUpdateDatas.splice(0, me.needUpdateDatas.length);
                 projectObj.project.calcProgram.compileAllTemps();
                 rationPM.buildSheet();
+                $("#std_labour_coe_files").val('');
             });
         }
     }
@@ -163,6 +165,8 @@ $(document).ready(function(){
         CommonAjax.post('/labourCoe/getStdLabourCoe', {"ID": libID}, function (data) {
             labourCoeView.buildSheet();
             labourCoeView.loadData(data.coes);
+            labourCoeView.needUpdateDatas.splice(0, labourCoeView.needUpdateDatas.length);
+            labourCoeView.needUpdateDatas.push(...data.coes);
         });
     });
 });