Bläddra i källkod

Merge branch '1.0.0_online' of http://smartcost.f3322.net:3000/SmartCost/ConstructionCost into 1.0.0_online

chenshilong 6 år sedan
förälder
incheckning
0a7019f97f

+ 4 - 4
modules/complementary_ration_lib/models/sectionTreeModel.js

@@ -122,10 +122,10 @@ class SectionTreeDao {
                     await compleRationSectionTreeModel.create(updateObj.updateData);
                 }
                 else if(updateObj.updateType === 'update'){
-                    await compleRationSectionTreeModel.update({userId: userID, rationRepId: updateObj.updateData.rationRepId, ID: updateObj.updateData.ID}, updateObj.updateData);
-                    if(updateObj.updateData.deleteInfo){
-                        await compleRationModel.update({userId: userID, sectionId: updateObj.updateData.ID},
-                            {$set: {deleteInfo: {deleted: true, deleteBy: userID, deleteDateTime: Date.now()}}}, {multi: true});
+                    if(!updateObj.updateData.deleteInfo){
+                        await compleRationSectionTreeModel.update({userId: userID, ID: updateObj.updateData.ID}, updateObj.updateData);
+                    } else {
+                        await compleRationSectionTreeModel.remove({userId: userID, ID: updateObj.updateData.ID});
                     }
                 }
             }

+ 11 - 2
modules/main/controllers/bills_controller.js

@@ -457,9 +457,18 @@ function  generateUpdateTasks(data,projectID,user_id) {
             }
         };
         if(updateData[key]===true){
-            task.updateOne.update={
+            //原先是假删除,现在改成真删除
+            task = {
+                deleteOne:{
+                    filter:{
+                        ID:key,
+                        projectID:projectID
+                    }
+                }
+            }
+           /* task.updateOne.update={
                 deleteInfo:deleteInfo
-            };
+            };*/
         }else {
             task.updateOne.update=updateData[key];
         }

+ 11 - 5
modules/main/controllers/ration_controller.js

@@ -1,9 +1,10 @@
 /**
  * Created by jimiz on 2017/4/9.
  */
-var rationData = require('../models/ration');
-var ration_glj_facade = require('../../ration_glj/facade/ration_glj_facade');
-var ration_facade = require('../facade/ration_facade');
+let rationData = require('../models/ration');
+let ration_glj_facade = require('../../ration_glj/facade/ration_glj_facade');
+let ration_ass_facade = require('../../ration_glj/facade/ration_ass_facade');
+let ration_facade = require('../facade/ration_facade');
 let bill_facade = require('../facade/bill_facade');
 let project_facade = require("../facade/project_facade");
 let logger = require("../../../logs/log_helper").logger;
@@ -65,10 +66,15 @@ let controller = {
         if(data.bills.update.length > 0)  prepareUpdateNodes(data.bills.update,updateDatas,"bills");
         applyTasks.push(project_facade.updateNodes(updateDatas));
         let [rationResult,billsResult,updates] = await Promise.all(applyTasks);
-
-
         return {rationResult:rationResult,billsResult:billsResult,updateDatas:updateDatas};
+    },
+    //更新辅助定额
+    updateRationAss:async function(req){
+        let data = req.body.data;
+        data = JSON.parse(data);
+        return ration_ass_facade.updateRationAss(data);
     }
+
 };
 
 function prepareUpdateNodes(datas,nodes,type) {

+ 11 - 2
modules/main/facade/bill_facade.js

@@ -208,7 +208,16 @@ function generateBillTasks(data) {
     let deleteInfo={deleted: true, deleteDateTime: new Date(), deleteBy: user_id};
     if(data.delete && data.delete.length > 0){
         for(let d_ID of data.delete){
-            let task={
+            //原先是假删除,现在改成真删除
+            let task = {
+                deleteOne:{
+                    filter:{
+                        ID:d_ID,
+                        projectID:projectID
+                    }
+                }
+            };
+          /*  let task={
                 updateOne:{
                     filter:{
                         ID:d_ID,
@@ -218,7 +227,7 @@ function generateBillTasks(data) {
                         deleteInfo:deleteInfo
                     }
                 }
-            };
+            };*/
             tasks.push(task);
         }
     }

+ 11 - 2
modules/main/facade/project_facade.js

@@ -99,7 +99,16 @@ function generateTasks(data,userID) {
     let deleteInfo={deleted: true, deleteDateTime: new Date(), deleteBy: userID};
     if(data.delete && data.delete.length > 0){
         for(let bd of data.delete){
-            let task={
+            //原先是假删除,现在改成真删除
+            let task = {
+                deleteOne:{
+                    filter:{
+                        ID:bd.ID,
+                        projectID:bd.projectID
+                    }
+                }
+            };
+           /* let task={
                 updateOne:{
                     filter:{
                         ID:bd.ID,
@@ -109,7 +118,7 @@ function generateTasks(data,userID) {
                         deleteInfo:deleteInfo
                     }
                 }
-            };
+            };*/
             tasks.push(task);
         }
     }

+ 1 - 0
modules/main/facade/ration_facade.js

@@ -562,6 +562,7 @@ function createRationAss(std) {
         for(let i=0;i<std.rationAssList.length;i++){
             let ass = std.rationAssList[i];
             ass._doc.actualValue = ass.stdValue;
+            if(_.isString(ass._doc.assistCode)) ass._doc.assistCode = ass._doc.assistCode.replace("\n","");
             rationAssList.push(ass);
         }
     }

+ 2 - 1
modules/main/models/bills.js

@@ -71,7 +71,8 @@ class billsModel extends baseModel {
                         break;
                     case commonConsts.UT_DELETE:
                         doc.updateData.deleteInfo = {deleted: true, deleteDateTime: new Date(), deleteBy: user_id};
-                        bills.update({projectID: doc.updateData.projectID, ID: doc.updateData.ID}, doc.updateData, cb);
+                       //bills.update({projectID: doc.updateData.projectID, ID: doc.updateData.ID}, doc.updateData, cb);
+                        bills.deleteOne({projectID: doc.updateData.projectID, ID: doc.updateData.ID},cb);
                         break;
                 }
             }

+ 1 - 2
modules/main/models/project.js

@@ -86,8 +86,7 @@ Project.prototype.save = function(datas, callback){
     asyncTool.parallel(functions, function(err, results) {
         if (!err){
             callback(null, '', results)
-        }
-        else{
+        } else{
             console.log(err);
             callback(1, 'save project failed', null)
         }

+ 1 - 0
modules/main/routes/ration_route.js

@@ -16,5 +16,6 @@ module.exports = function (app) {
     rationRouter.post('/getSameSectionRations', rationController.action);
     rationRouter.post('/getDefaultProgramID', rationController.action);
     rationRouter.post('/applyTemplate', rationController.action);
+    rationRouter.post('/updateRationAss', rationController.action);
     app.use('/ration', rationRouter);
 };

+ 18 - 1
modules/ration_glj/facade/ration_ass_facade.js

@@ -13,7 +13,8 @@ let glj_calculate_facade = require('./glj_calculate_facade');
 
 module.exports={
     save:save,
-    getData:getData
+    getData:getData,
+    updateRationAss
 }
 
 let operationMap={
@@ -26,6 +27,22 @@ function create_ration_ass(user_id,datas) {
 
 };
 
+async function updateRationAss(data){
+    let result =await doRationAssAdjust(data.query.ration,data.doc);
+    let ration_glj ={
+        quantityRefresh:true,
+        glj_result:result.cal_result.glj_result
+    }
+    let ration = {
+        ID:result.cal_result.rationID,
+        adjustState:result.cal_result.adjustState,
+        name:result.cal_result.rationName,
+        rationAssList:data.doc.rationAssList
+    };
+    return {ration_glj:ration_glj,ration:ration}
+}
+
+
 function update_ration_ass(user_id,datas) {
     return function (callback) {
         let editAss = datas.query.editAss;

+ 2 - 1
modules/ration_glj/facade/ration_glj_facade.js

@@ -316,7 +316,8 @@ async function doCustomQuantityUpdate(datas) {
 
 function delete_ration_glj(user_id, datas) {
     return function (callback) {
-        callback(new Error("删除子数据失败!"),null)
+        deleteByID(datas, callback);
+        //callback(new Error("删除子数据失败!"),null)
         //这个方法已经不用,先注释,稳定后再删除
        /* if (datas.deleteType == "RATION") {
             deleteByRation(datas, callback);

+ 20 - 0
web/building_saas/complementary_ration_lib/html/dinge.html

@@ -573,6 +573,26 @@
         </div>
     </div>
 </div>
+<div class="modal fade" id="delRationAlert" data-backdrop="static" style="display: none;" aria-hidden="true">
+    <input type="hidden"  value="123">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">警告</h5>
+                <button type="button"  class="close" data-dismiss="modal" aria-label="Close">
+                    <span aria-hidden="true">×</span>
+                </button>
+            </div>
+            <div class="modal-body">
+                <h5 class="text-danger">是否删除当前节点及其子项?</h5>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-danger" id="delRationConfirm">确认</button>
+                <button type="button" class="btn btn-secondary"  data-dismiss="modal">取消</button>
+            </div>
+        </div>
+    </div>
+</div>
 <!-- JS. -->
 <script src = "/lib/spreadjs/sheets/gc.spread.sheets.all.11.1.2.min.js"></script>
 <script>GC.Spread.Sheets.LicenseKey =  '<%- LicenseKey %>';</script>

+ 2 - 2
web/building_saas/complementary_ration_lib/html/gongliao.html

@@ -48,9 +48,9 @@
                 <!--  <li class="nav-item">
                       <a class="nav-link px-3" id="fuzhu" href="<%= redirectCoe %>">子目换算</a>
                   </li>-->
-                  <li class="nav-item">
+                  <!--<li class="nav-item">
                       <a class="nav-link px-3" id="anzhuang" href="<%= redirectInstallation %>">安装增加费</a>
-                  </li>
+                  </li>-->
               </ul>
         </nav>
     </div>

+ 1 - 1
web/building_saas/complementary_ration_lib/js/global.js

@@ -12,7 +12,7 @@ function autoFlashHeight(){
     $(".main-data-top").height($(window).height()-headerHeight-toolsBar-bottomContentHeight-2);
     $(".main-data-top-fluid").height($(window).height()-headerHeight-bottomContentHeight-2);
     $(".main-data").height($(window).height()-headerHeight);
-    $(".main-side .tab-content").height($(window).height()-headerHeight-38);
+    $(".main-side .tab-content").height($(window).height()-headerHeight-29);
     $('#partialBody').height($(window).height()-headerHeight-toolsBar - 60);
     let partialWidth = $('#tablePartial').width();
     $('#tablePartial').find('th:eq(0)').width(partialWidth * 0.06);

+ 15 - 16
web/building_saas/complementary_ration_lib/js/ration.js

@@ -267,15 +267,14 @@ let rationOprObj = {
                         callback: function(){},
                         items: {
                             "delete": {name: "删除", disabled: delDis, icon: "fa-remove", callback: function (key, opt) {
-
                                 let removeInfo = `确定要删除定额 “${ration.code}” 及其下的所有数据吗?`;
                                 $('#delRationAlert').find('.modal-body h5').text(removeInfo);
                                 $('#delRationAlert').modal('show');
+                                $('#delRationConfirm').unbind('click');
                                 $('#delRationConfirm').bind('click', function () {
                                     me.rationsCodes.splice(me.rationsCodes.indexOf(ration.code.toString()), 1);
                                     me.mixDel = 1;
                                     me.mixUpdateRequest([], [], [ration.ID]);
-                                    $('#delRationConfirm').unbind('click');
                                     $('#delRationAlert').modal('hide');
                                 });
                             }}
@@ -471,12 +470,12 @@ let rationOprObj = {
                 if(rObj.code && rObj.code.toString().trim().length > 0){
                     if(me.rationsCodes.indexOf(rObj.code.toString()) === -1){
                         //jobContent
-                        if(jobContentOprObj && jobContentOprObj.currentSituation === jobContentOprObj.situations.ALL){
+                       /* if(jobContentOprObj && jobContentOprObj.currentSituation === jobContentOprObj.situations.ALL){
                             rObj.jobContent = jobContentOprObj.currentJobContent ? jobContentOprObj.currentJobContent : '';
                         }
                         if(annotationOprObj && annotationOprObj.currentSituation === annotationOprObj.situations.ALL){
                             rObj.annotation = annotationOprObj.currentAnnotation ? annotationOprObj.currentAnnotation : '';
-                        }
+                        }*/
                         me.setInitPrc(rObj);
                         if (rObj.code && rObj.code !== '') {
                             rObj.code = rObj.code.toUpperCase();
@@ -534,12 +533,12 @@ let rationOprObj = {
                 if(!cacheSection[rowIdx] && info.cellRange.col === 0 ){
                     if(me.rationsCodes.indexOf(items[i].code.toString()) === -1){
                         //jobConten
-                        if(jobContentOprObj && jobContentOprObj.currentSituation === jobContentOprObj.situations.ALL){
+                        /*if(jobContentOprObj && jobContentOprObj.currentSituation === jobContentOprObj.situations.ALL){
                             items[i].jobContent = jobContentOprObj.currentJobContent ? jobContentOprObj.currentJobContent : '';
                         }
                         if(annotationOprObj && annotationOprObj.currentSituation === annotationOprObj.situations.ALL){
                             items[i].annotation = annotationOprObj.currentAnnotation ? annotationOprObj.currentAnnotation : '';
-                        }
+                        }*/
                         me.setInitPrc(items[i]);
                         addArr.push(items[i]);
                         me.rationsCodes.push(items[i].code.toString());
@@ -582,12 +581,12 @@ let rationOprObj = {
                     //是否含有已存在的编号
                     if(me.rationsCodes.indexOf(items[i].code.toString()) === -1){
                         //jobConten
-                        if(jobContentOprObj && jobContentOprObj.currentSituation === jobContentOprObj.situations.ALL){
+                       /* if(jobContentOprObj && jobContentOprObj.currentSituation === jobContentOprObj.situations.ALL){
                             items[i].jobContent = jobContentOprObj.currentJobContent ? jobContentOprObj.currentJobContent : '';
                         }
                         if(annotationOprObj && annotationOprObj.currentSituation === annotationOprObj.situations.ALL){
                             items[i].annotation = annotationOprObj.currentAnnotation ? annotationOprObj.currentAnnotation : '';
-                        }
+                        }*/
                         me.setInitPrc(items[i]);
                         addArr.push(items[i]);
                     }
@@ -647,7 +646,7 @@ let rationOprObj = {
             me.rationSelInit(curRow);
             //add
             //jobContent
-            if(jobContentOprObj ){
+            /*if(jobContentOprObj ){
                 jobContentOprObj.currentRationItems = cacheSection;
                 jobContentOprObj.setRadiosDisabled(cacheSection.length > 0 ? false : true, jobContentOprObj.radios);
                 if(cacheSection.length === 0){
@@ -667,7 +666,7 @@ let rationOprObj = {
                 if(annotationOprObj.currentSituation === annotationOprObj.situations.PARTIAL){
                     annotationOprObj.buildTablePartial(annotationOprObj.fzTablePartial, annotationOprObj.getGroup(cacheSection));
                 }
-            }
+            }*/
             me.showRationItems(me.currentSectionId);
             me.mixUpdate = 0;
             me.mixDel = 0;
@@ -684,10 +683,10 @@ let rationOprObj = {
             me.currentSectionId = sectionID;
             if (me.currentRations["_SEC_ID_" + sectionID]) {
                 //jobContent--
-                jobContentOprObj.currentRationItems = me.currentRations["_SEC_ID_" + sectionID];
-                jobContentOprObj.rationJobContentOpr(me.currentRations["_SEC_ID_" + sectionID]);
+               /* jobContentOprObj.currentRationItems = me.currentRations["_SEC_ID_" + sectionID];
+                jobContentOprObj.rationJobContentOpr(me.currentRations["_SEC_ID_" + sectionID]);*/
                 //annotation
-                annotationOprObj.rationAnnotationOpr(me.currentRations["_SEC_ID_" + sectionID]);
+                //annotationOprObj.rationAnnotationOpr(me.currentRations["_SEC_ID_" + sectionID]);
                 me.showRationItems(sectionID);
                 sectionTreeObj.removeBtn.removeClass('disabled');
                 if(callback){
@@ -698,10 +697,10 @@ let rationOprObj = {
                     me.currentRations["_SEC_ID_" + sectionID] = rstData;
                     me.sortByCode(me.currentRations["_SEC_ID_" + sectionID]);
                     //job--
-                    jobContentOprObj.currentRationItems = me.currentRations["_SEC_ID_" + sectionID];
-                    jobContentOprObj.rationJobContentOpr(me.currentRations["_SEC_ID_" + sectionID]);
+                    /*jobContentOprObj.currentRationItems = me.currentRations["_SEC_ID_" + sectionID];
+                    jobContentOprObj.rationJobContentOpr(me.currentRations["_SEC_ID_" + sectionID]);*/
                     //annotation
-                    annotationOprObj.rationAnnotationOpr(me.currentRations["_SEC_ID_" + sectionID]);
+                    //annotationOprObj.rationAnnotationOpr(me.currentRations["_SEC_ID_" + sectionID]);
                     me.showRationItems(sectionID);
                     sectionTreeObj.removeBtn.removeClass('disabled');
                     if(callback) {

+ 1 - 1
web/building_saas/complementary_ration_lib/js/section_tree.js

@@ -274,7 +274,7 @@ let sectionTreeObj = {
             me.setColor(me.cache);
             me.sheet.setFormatter(-1, 0, '@');
             me.initSelection(me.tree.selected);
-            explanatoryOprObj.bindEvents($('#explanationShow'), $('#ruleTextShow'));
+            //explanatoryOprObj.bindEvents($('#explanationShow'), $('#ruleTextShow'));
         };
         let errFunc = function () {
 

+ 5 - 8
web/building_saas/main/html/main.html

@@ -157,14 +157,11 @@
                               <a class="nav-link px-1 right-nav-link" href="javascript:void(0)" id="stdRationTab"
                                  relaPanel="#de">定额库</a>
                           </li>
-
-                          <li class="nav-item dropdown show">
-                              <a class="nav-link dropdown-toggle more" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="true">更多</a>
-                              <div class="dropdown-menu show" x-placement="bottom-start"
-                                   style="position: absolute; transform: translate3d(-107px, 32px, 0px); top: 0px; left: 0px; will-change: transform;">
-                                  <a class="dropdown-item right-nav-link" href="javascript:void(0)" id="locateTab"
-                                     relapanel="#locate">查找定位</a>
-                                  <a class="dropdown-item" data-toggle="tab" href="#sqpz" role="tab">书签批注</a>
+                          <li class="nav-item dropdown">
+                              <!--<a class="nav-link dropdown-toggle more" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">更多</a>-->
+                              <div class="dropdown-menu">
+                                  <a class="dropdown-item  right-nav-link"  href="javascript:void(0)" id = 'locateTab' relaPanel="#locate">查找定位</a>
+                                  <!-- <a class="dropdown-item" data-toggle="tab" href="#sqpz" role="tab">书签批注</a>-->
                               </div>
                           </li>
 

+ 10 - 2
web/building_saas/main/js/models/ration_ass.js

@@ -99,6 +99,7 @@ var ration_ass = {
             return updateData;
         };
         ration_ass.prototype.updateActualValue=function(assList,index,newVal){
+            let me = this;
             var selected = projectObj.project.mainTree.selected;
             assList[index].actualValue=newVal;
             var rationname = selected.data.name;
@@ -116,8 +117,15 @@ var ration_ass = {
             };
 
             var updateData = this.getUpdateData('ut_update',query,doc);
-
-            project.pushNow('updateRationAss',[this.getSourceType()],updateData);
+            $.bootstrapLoading.start();
+            CommonAjax.post("/ration/updateRationAss",updateData[0],function (result) {
+                $.bootstrapLoading.end();
+                let nodes = project.updateNodesCache([{type:ModuleNames.ration,data:result.ration}]);
+                zmhs_obj.showAssData();
+                projectObj.mainController.refreshTreeNode(nodes, false);
+                project.ration_glj.refreshAfterUpdate(result.ration_glj);
+            })
+           // project.pushNow('updateRationAss',[this.getSourceType()],updateData);
 
         };
         return new ration_ass(project);

+ 1 - 1
web/building_saas/main/js/views/project_view.js

@@ -1391,7 +1391,7 @@ var projectObj = {
                     callback: function () {
                         var selected = project.mainTree.selected;
                         if(selected.sourceType == project.Bills.getSourceType()&&selected.data.type==billType.FB&&selected.children.length<=0){//选中的是分部,并且没有子项,直接删除
-                            project.Bills.deleteSelectedNode();
+                            project.Bills.deleteSelectedNodes();//project.Bills.deleteSelectedNode();
                         }else {
                             $("#delete_row").modal({show:true});//弹出删除提示框;
                         }

+ 1 - 1
web/building_saas/main/js/views/zmhs_view.js

@@ -282,7 +282,7 @@ let zmhs_obj = {
         }
         if (isValidate) {
             newval = scMathUtil.roundTo(newval, -2);
-            projectObj.project.ration_ass.updateActualValue(me.assSheetData, args.row, newval)
+            projectObj.project.ration_ass.updateActualValue(me.assSheetData, args.row, newval);
         } else {
             newval = recode.actualValue;
             me.assSheet.getCell(args.row, args.col).value(newval);

+ 1 - 1
web/users/html/login-infoinput.html

@@ -27,7 +27,7 @@
                 </div>
                 <div class="card-body">
                     <div class="form-group">
-                        <input class="form-control" placeholder="你的姓名" name="real_name" id="name">
+                        <input class="form-control" placeholder="真实姓名" name="real_name" id="name">
                     </div>
                     <div class="form-group">
                         <input class="form-control" placeholder="企业名称" name="company" id="company">

+ 1 - 2
web/users/html/login.html

@@ -16,8 +16,7 @@
 <body>
     <div class="container">
         <form class="form-signin" method="post" onsubmit="return false">
-            <h1 class="d-flex justify-content-center">纵横建筑云计价</h1>
-            <h4 class="d-flex justify-content-center mb-2">用户登录</h4>
+            <h1 class="d-flex justify-content-center mb-5">纵横建筑云计价</h1>
             <div class="form-group">
                 <input id="inputEmail" class="form-control " name="inputEmail" placeholder="通行账号 邮箱/手机" autofocus="" />
             </div>