Browse Source

repair bug: 1. display of standardBills, mainTree 2. standardBills: sort of search result
proj_counter

MaiXinRong 8 years ago
parent
commit
afc14d822d

+ 0 - 9
modules/main/models/bills.js

@@ -55,15 +55,6 @@ class billsModel extends baseModel {
         super(bills);
         super(bills);
     };
     };
 
 
-    /**
-     *
-     * @param {Number} projectId
-     * @returns {Promise}
-     */
-    getProjectData (projectId) {
-        return this.getQueryData({"projectID": projectId}, '-_id');
-    };
-
     getData (projectID, callback) {
     getData (projectID, callback) {
         this.model.find({'$or': [{projectID: projectID, deleteInfo: null}, {projectID: projectID, 'deleteInfo.deleted': {$in: [null, false]}}]}, '-_id', function(err, datas){
         this.model.find({'$or': [{projectID: projectID, deleteInfo: null}, {projectID: projectID, 'deleteInfo.deleted': {$in: [null, false]}}]}, '-_id', function(err, datas){
             if (!err) {
             if (!err) {

+ 0 - 4
modules/main/models/ration.js

@@ -93,10 +93,6 @@ class rationModel extends baseModel {
             callback(0, '', {lowID: lowID, highID: highID});
             callback(0, '', {lowID: lowID, highID: highID});
         });
         });
     };
     };
-
-    getProjectData (projectID) {
-        return this.getQueryData({"projectID": projectID}, '-_id');
-    };
 };
 };
 
 
 module.exports = new rationModel();
 module.exports = new rationModel();

+ 15 - 9
modules/pm/controllers/copy_proj_controller.js

@@ -4,25 +4,31 @@
 
 
 let billsData = require('../../main/models/bills');
 let billsData = require('../../main/models/bills');
 let rationData = require('../../main/models/ration');
 let rationData = require('../../main/models/ration');
+let projCounter = require('../../main/models/proj_counter');
 let async = require('async');
 let async = require('async');
 
 
 module.exports = {
 module.exports = {
     copyProjectData: function (srcProjID, newProjID, callback) {
     copyProjectData: function (srcProjID, newProjID, callback) {
         var fun = [];
         var fun = [];
         var copyData = function (model) {
         var copyData = function (model) {
-            return () => {
-                model.getProjectData(srcProjID).then(function (results) {
-                    let datas = [];
-                    results.forEach(function (result) {
-                        result._doc.projectID = newProjID;
-                        datas.push(result._doc);
-                    });
-                    return model.insertData(datas, callback);
-                }).catch((err) => callback(err));
+            return (cb) => {
+                model.getQueryData({"projectID": srcProjID}, '-_id').then(function (results, err) {
+                    if (results.length > 0) {
+                        let datas = [];
+                        results.forEach(function (result) {
+                            result._doc.projectID = newProjID;
+                            datas.push(result._doc);
+                        });
+                        return model.insertData(datas, cb);
+                    } else {
+                        cb(err);
+                    }
+                }).catch(cb);
             };
             };
         };
         };
         fun.push(copyData(billsData));
         fun.push(copyData(billsData));
         fun.push(copyData(rationData));
         fun.push(copyData(rationData));
+        fun.push(copyData(projCounter));
         async.parallel(fun, (err) => callback(err));
         async.parallel(fun, (err) => callback(err));
     }
     }
 };
 };

+ 18 - 9
modules/pm/controllers/new_proj_controller.js

@@ -2,18 +2,27 @@
  * Created by Mai on 2017/4/24.
  * Created by Mai on 2017/4/24.
  */
  */
 
 
-let billsData = require('../../main/models/bills');
 let BillsTemplateData = require('../../templates/models/bills_template');
 let BillsTemplateData = require('../../templates/models/bills_template');
+let billsData = require('../../main/models/bills');
+let projCounter = require('../../main/models/proj_counter');
+let async = require('async');
 
 
 module.exports = {
 module.exports = {
     copyTemplateData: function (tempType, newProjID, callback) {
     copyTemplateData: function (tempType, newProjID, callback) {
-        BillsTemplateData.getTemplate(tempType).then(function (templates) {
-            let datas = [];
-            templates.forEach(function (template) {
-                template._doc.projectID = newProjID;
-                datas.push(template._doc);
-            })
-            return billsData.insertData(datas, callback);
-        }).catch((err) => callback(err));
+        async.parallel([
+            function (cb) {
+                BillsTemplateData.getTemplate(tempType).then(function (templates) {
+                    let datas = [];
+                    templates.forEach(function (template) {
+                        template._doc.projectID = newProjID;
+                        datas.push(template._doc);
+                    })
+                    return billsData.insertData(datas, cb);
+                });
+            },
+            function (cb) {
+                projCounter.insertData({"projectID": newProjID}, cb);
+            }
+        ], (err) => callback(err));
     }
     }
 };
 };

+ 5 - 1
package.json

@@ -13,10 +13,14 @@
     "ejs": "~2.5.5",
     "ejs": "~2.5.5",
     "express-session": "^1.15.1",
     "express-session": "^1.15.1",
     "request": "^2.79.0",
     "request": "^2.79.0",
-    "tape": "^4.6.3"
+    "tape": "^4.6.3",
+    "nodemon": "^1.11.0"
   },
   },
   "dependencies": {
   "dependencies": {
     "bluebird": "^3.5.0",
     "bluebird": "^3.5.0",
     "jszip": "^3.1.3"
     "jszip": "^3.1.3"
+  },
+  "scripts" :{
+    "start": "nodemon server.js"
   }
   }
 }
 }

+ 3 - 3
server.js

@@ -150,6 +150,6 @@ app.use(function(err, req, res, next) {
     console.error(err.stack);
     console.error(err.stack);
     res.status(500).send('500 Error');
     res.status(500).send('500 Error');
 });
 });
-app.listen(6060);
-
-
+app.listen(6060, function () {
+    console.log('server start');
+});

+ 1 - 1
test/tmp_data/bills_grid_setting.js

@@ -257,7 +257,7 @@ var BillsGridSetting ={
             "readOnly":false,
             "readOnly":false,
             "head":{
             "head":{
                 "titleNames":[
                 "titleNames":[
-                    "工程量计规则"
+                    "工程量计规则"
                 ],
                 ],
                 "spanCols":[
                 "spanCols":[
                     1
                     1

+ 1 - 1
web/building_saas/main/html/main.html

@@ -198,7 +198,7 @@
                                           <select class="form-control form-control-sm col-6" id="stdBillsLibSelect">
                                           <select class="form-control form-control-sm col-6" id="stdBillsLibSelect">
                                           </select>
                                           </select>
                                           <div class="input-group col-6" id="stdBillsSearch">
                                           <div class="input-group col-6" id="stdBillsSearch">
-                                              <input type="text" class="form-control form-control-sm" placeholder="搜索清单" value="1-1-2">
+                                              <input type="text" class="form-control form-control-sm" placeholder="搜索清单">
                                               <span class="input-group-btn">
                                               <span class="input-group-btn">
                                                   <button class="btn btn-secondary btn-sm" type="button"><i class="fa fa-search" aria-hidden="true"></i></button>
                                                   <button class="btn btn-secondary btn-sm" type="button"><i class="fa fa-search" aria-hidden="true"></i></button>
                                               </span>
                                               </span>

+ 2 - 2
web/building_saas/main/js/views/std_bills_lib.js

@@ -304,7 +304,7 @@ var LoadStdBills = (function () {
                 "width":200,
                 "width":200,
                 "readOnly":true,
                 "readOnly":true,
                 "head":{
                 "head":{
-                    "titleNames":["工内容"],
+                    "titleNames":["工内容"],
                     "spanCols":[1],
                     "spanCols":[1],
                     "spanRows":[1],
                     "spanRows":[1],
                     "vAlign":[1],
                     "vAlign":[1],
@@ -410,7 +410,7 @@ var LoadStdBills = (function () {
             return codeIs || nameIs;
             return codeIs || nameIs;
         });
         });
         result.sort(function (x, y) {
         result.sort(function (x, y) {
-            return x.serialNo - y.serialNo;
+            return x.serialNo() - y.serialNo();
         });
         });
         if (result.length !== 0) {
         if (result.length !== 0) {
             var sel = stdBillsSpread.getActiveSheet().getSelections();
             var sel = stdBillsSpread.getActiveSheet().getSelections();