Browse Source

Merge branch 'master' into olym

olym 8 years ago
parent
commit
84d72dbd95

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

@@ -28,6 +28,9 @@ let billsSchema = new Schema({
     quantity: String, // Decimal
     isFromDetail:{type: Number,default:0},//1 true 0 false
     programID: Number,
+    // 工程量计算规则
+    ruleText: String,
+    // 说明
     comments: String,
     // 调价
     xs_Labour: String, // Decimal

+ 8 - 6
modules/ration_glj/facade/glj_calculate_facade.js

@@ -121,12 +121,14 @@ async function calculateQuantityPerGLJ(glj,ration,coeList,assList,adjustState,is
 
 function calculateAss(quantity,assList,glj) {
     for(let i=0;i<assList.length;i++){
-        let assglj = _.find(assList[i].assRation.rationGljList,function (aglj) {
-            return aglj.gljId == glj.GLJID
-        })
-        if(assglj){
-            let calQuantity = assglj.consumeAmt*assList[i].times;
-            quantity += calQuantity
+        if(assList[i].assRation){
+            let assglj = _.find(assList[i].assRation.rationGljList,function (aglj) {
+                return aglj.gljId == glj.GLJID
+            })
+            if(assglj){
+                let calQuantity = assglj.consumeAmt*assList[i].times;
+                quantity += calQuantity
+            }
         }
     }
     return quantity;

+ 4 - 0
public/web/tree_sheet/tree_sheet_controller.js

@@ -118,6 +118,9 @@ var TREE_SHEET_CONTROLLER = {
         }
 
         controller.prototype.setTreeSelected = function (node) {
+            if (this.event.beforeTreeSelectedChange) {
+                this.event.beforeTreeSelectedChange(this.tree.selected);
+            }
             this.tree.selected = node;
             if (this.event.refreshBaseActn) {
                 this.event.refreshBaseActn(this.tree);
@@ -135,6 +138,7 @@ var TREE_SHEET_CONTROLLER = {
     },
     eventName: {
         refreshBaseActn: 'refreshBaseActn',
+        beforeTreeSelectedChange: 'beforeTreeSelectedChange',
         treeSelectedChanged: 'treeSelectedChanged',
         cellDoubleClick: 'cellDoubleClick'
     }

+ 2 - 1
test/tmp_data/bills_grid_setting.js

@@ -262,6 +262,7 @@ var BillsGridSetting ={
         {
             "width":120,
             "readOnly": 'readOnly.volumePrice',
+            "showHint": true,
             "head":{
                 "titleNames":[
                     "工程量计算规则"
@@ -283,7 +284,7 @@ var BillsGridSetting ={
                 ]
             },
             "data":{
-                "field":"programID",
+                "field":"ruleText",
                 "vAlign":1,
                 "hAlign":0,
                 "font":"Arial"

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

@@ -147,10 +147,7 @@
                                       <a class="nav-link" id="linkJSCX" data-toggle="tab" href="#subSpread" role="tab">计算程序</a>
                                   </li>
                                   <li class="nav-item">
-                                      <a class="nav-link" id="linkFXSM" data-toggle="tab" href="#subSpread" role="tab">分项说明</a>
-                                  </li>
-                                  <li class="nav-item">
-                                      <a class="nav-link" id="linkDESM" data-toggle="tab" href="#subSpread" role="tab">定额说明</a>
+                                      <a class="nav-link" data-toggle="tab" href="#comments" role="tab" id="linkComments">说明信息</a>
                                   </li>
                                   <li class="nav-item">
                                       <a class="nav-link" id="linkTZJNR" data-toggle="tab" href="#subSpread" role="tab">特征及内容</a>
@@ -158,9 +155,12 @@
                               </ul>
                               <!-- Tab panes -->
                               <div class="tab-content" id="tabCon">
-                                  <div class="tab-pane active" id="gl" role="tabpanel">
+                                  <div class="tab-pane active" id="subItems" role="tabpanel">
                                       <div class="main-data-bottom ovf-hidden" id="subSpread" style="display: none">
                                       </div>
+                                      <div class="main-data-bottom ovf-hidden" style="display: none" id="comments">
+                                          <textarea class="form-control" rows="8"></textarea>
+                                      </div>
                                       <div id="tzjnrCon" class="main-data-bottom">
                                           <div class="main-data-bottom ovf-hidden" style="width: 40%; float: left;" id="jobSpread">
                                           </div>
@@ -503,9 +503,6 @@
     <!--<script src="/lib/spreadjs/views/common/gc.spread.common.10.0.0.min.js" type="text/javascript"></script>-->
     <script src="/lib/spreadjs/views/plugins/gc.spread.views.gridlayout.10.0.0.min.js" type="text/javascript"></script>
     <!--<script src="/lib/spreadjs/views/locale/gc.spread.views.dataview.locale.zh-CN.10.0.0.min.js" type="text/javascript"></script>-->
-    <script>GC.Spread.Views.LicenseKey = "559432293813965#A0y3iTOzEDOzkjMyMDN9UTNiojIklkI1pjIEJCLi4TPB9mM5AFNTd4cvZ7SaJUVy3CWKtWYXx4VVhjMpp7dYNGdx2ia9sEVlZGOTh7NRlTUwkWR9wEV4gmbjBDZ4ElR8N7cGdHVvEWVBtCOwIGW0ZmeYVWVr3mI0IyUiwCMzETN8kzNzYTM0IicfJye&Qf35VfiEzRwEkI0IyQiwiIwEjL6ByUKBCZhVmcwNlI0IiTis7W0ICZyBlIsIyNyMzM5ADI5ADNwcTMwIjI0ICdyNkIsIibj9SbvNmL4N7bjRnch56ciojIz5GRiwiI8+Y9sWY9QmZ0Jyp96uL9v6L0wap9biY9qiq95q197Wr9g+89iojIh94Wiqi";</script>
-
-
     <!-- Model -->
     <script type="text/javascript" src="/web/building_saas/main/js/models/main_consts.js"></script>
     <script type="text/javascript" src="/web/building_saas/main/js/models/project.js"></script>

+ 4 - 0
web/building_saas/main/js/models/bills.js

@@ -149,6 +149,10 @@ var Bills = {
                     data.data.code = stdBillsData.code;
                     data.data.name = stdBillsData.name;
                     data.data.unit = stdBillsData.unit;
+                    // 工程量计算规则
+                    data.data.ruleText = stdBillsData.ruleText;
+                    // 说明(补注)
+                    data.data.comments = stdBillsData.recharge;
                     //zhong 特征及内容
                     data.data.jobContent = stdBillsData.jobContent;
                     data.data.itemCharacter = stdBillsData.itemCharacter;

+ 8 - 8
web/building_saas/main/js/views/character_content_view.js

@@ -55,18 +55,18 @@ let contentOprObj = {
         for(let i = 0, len = jobsArr.length; i < len; i++){
             if(jobsArr[i].isChecked === true){
                 count ++;
-                if(count === 1){
+              /*  if(count === 1){
                     rstStr += "“";
                 }
                 else{
                     rstStr += " ";
-                }
-                rstStr += count + " " + jobsArr[i].content + "\n";
+                }*/
+                rstStr += count + ". " + jobsArr[i].content + "\n";
             }
         }
         if(rstStr.trim().length > 0){
             let reg = /\n+$/g;
-            let newStr = rstStr.replace(reg, "");
+            let newStr = rstStr.replace(reg, "");
             return newStr;
         }
         return null;
@@ -362,18 +362,18 @@ let characterOprObj = {
                     }
                 }
                 count ++;
-                if(count === 1){
+                /*if(count === 1){
                     rstStr += "“";
                 }
                 else{
                     rstStr += " ";
-                }
-                rstStr += count + " " + itemsArr[i].character + ": " + eigenvalueStr + "\n";
+                }*/
+                rstStr += count + ". " + itemsArr[i].character + ": " + eigenvalueStr + "\n";
             }
         }
         if(rstStr.trim().length > 0){
             let reg = /\n+$/g;
-            let newStr = rstStr.replace(reg, "");
+            let newStr = rstStr.replace(reg, "");
             return newStr;
         }
         return null;

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

@@ -474,7 +474,7 @@ var gljOprObj = {
         this.coeSheetData=coeList;
     },
     showRationAssData:function (node) {
-        var assList = node.data.rationAssList;
+        var assList = node.data.rationAssList ? node.data.rationAssList : [];
         sheetCommonObj.showData(this.assSheet,this.assSetting,assList);
         this.assSheetData =assList;
     },

+ 7 - 0
web/building_saas/main/js/views/project_view.js

@@ -7,6 +7,11 @@ var projectObj = {
     mainSpread: null,
     mainController: null,
     gljSpreed:null,
+    beforeMainTreeSelectedChange: function (node) {
+        if (node) {
+            subViewObj.saveComments(node);
+        }
+    },
     checkCommonField: function (editingText, colSetting) {
         let value;
         if (colSetting.data.decimal) {
@@ -163,7 +168,9 @@ var projectObj = {
                 that.project.calcProgram = new CalcProgram(that.project);
                 that.project.calcProgram.compileAllTemps();
 
+                that.mainController.bind(TREE_SHEET_CONTROLLER.eventName.beforeTreeSelectedChange, that.beforeMainTreeSelectedChange);
                 that.mainController.bind(TREE_SHEET_CONTROLLER.eventName.treeSelectedChanged, function (node) {
+                    subViewObj.loadComments(node);
                     gljOprObj.showDataIfRationSelect(node);
 
                     // CSL.2017.07.25

+ 31 - 22
web/building_saas/main/js/views/sub_view.js

@@ -8,7 +8,7 @@ contentOprObj.buildSheet($("#jobSpread")[0]);
 characterOprObj.buildSheet($("#itemSpread")[0]);
 $("#tzjnrCon").hide();
 $("#subSpread").show();
-var subSpread = sheetCommonObj.createSpread($("#subSpread")[0], 7);
+var subSpread = sheetCommonObj.createSpread($("#subSpread")[0], 5);
 subSpread.getSheet(4).name('JSCX');
 
 pageCCOprObj.active = false;
@@ -93,26 +93,6 @@ $("#linkJSCX").click(function(){        // 计算程序
     };
 });
 
-$("#linkFXSM").click(function(){
-    $("#tzjnrCon").hide();
-    $("#subSpread").show();
-    pageCCOprObj.active = false;
-    refreshSubSpread();
-    subSpread.setActiveSheetIndex(5);
-    // for test
-    subSpread.getActiveSheet().setValue(0, 0, "分项说明");
-});
-
-$("#linkDESM").click(function(){
-    $("#tzjnrCon").hide();
-    $("#subSpread").show();
-    pageCCOprObj.active = false;
-    refreshSubSpread();
-    subSpread.setActiveSheetIndex(6);
-    // for test
-    subSpread.getActiveSheet().setValue(0, 0, "定额说明");
-});
-
 //特征及内容
 $("#linkTZJNR").click(function () {
     $("#subSpread").hide();
@@ -141,4 +121,33 @@ function refreshSubSpread(){
     else{
         subSpread.refresh();
     }
-}
+}
+
+let subViewObj = {
+    linkTabClick: function () {
+        $("#subItems").children().hide();
+        $($(this).attr('href')).show();
+    },
+    loadComments: function (node) {
+        let select = node;
+        if (node && (node.sourceType === projectObj.project.Bills.getSourceType() || node.sourceType === projectObj.project.Ration.getSourceType())) {
+            $('#comments>textarea').val(node.data.comments).removeAttr('readOnly');
+        } else {
+            $('#rationComments>textarea').val('').attr('readOnly', true);
+        }
+    },
+    saveComments: function (node) {
+        let text = $('#comments>textarea').val();
+        if (node && node.sourceType === projectObj.project.Bills.getSourceType()) {
+            if (node.data.comments !== text) {
+                projectObj.project.Bills.updateField(node.source, "comments", text);
+            }
+        } else if (node && node.sourceType === projectObj.project.Ration.getSourceType()) {
+            if (node.data.comments !== text) {
+                projectObj.project.Ration.updateField(node.source, "comments", text);
+            }
+        }
+    }
+}
+
+$("#linkComments").click(subViewObj.linkTabClick);