zhongzewei 7 years ago
parent
commit
391c0397bc

+ 1 - 1
modules/pm/models/project_property_template.js

@@ -7,7 +7,7 @@ const defaultDecimal = {
     bills: {unitPrice: 2, totalPrice: 2},
     ration: {quantity: 4, unitPrice: 2, totalPrice: 2},
     glj: {quantity: 4, unitPriceHasMix: 2, unitPrice: 3},
-    feeRate: 2,
+    feeRate: 3,
     quantity_detail: 4,
     material:5,//三材系数
     process: 6

+ 14 - 16
web/building_saas/main/html/main.html

@@ -498,7 +498,7 @@
                     <div class="row">
                         <div class="col-3">
                             <ul class="nav flex-column nav-pills" role="tablist">
-                                <li class="nav-item"><a class="nav-link active" data-toggle="pill" href="#poj-settings-basicInfo" role="tab" id="tab_poj-settings-basicInfo">基本信息</a></li>
+                                <li class="nav-item"><a class="nav-link active" data-toggle="pill" href="#poj-settings-basicInfo" role="tab" id="tab_poj-settings-basicInfo">建设项目基本信息</a></li>
                                 <li class="nav-item"><a class="nav-link" data-toggle="pill" href="#poj-settings-projFeature" id="tab_poj-settings-projFeature" role="tab">工程特征</a></li>
                                 <li class="nav-item"><a class="nav-link" data-toggle="pill" href="#poj-settings-indicativeInfo" id="tab_poj-settings-indicativeInfo" role="tab">指标信息</a></li>
                                 <li class="nav-item"><a class="nav-link" data-toggle="pill" href="#poj-settings-4" id="about-calc" role="tab">关于计算</a></li>
@@ -865,24 +865,22 @@
                             </div>
                         </div>
                         <div style="width:75%; padding-left: 3px; float: left;">
-                            <div class="row">
-                                <div class="col-12" id="gljRadios">
-                                    <div class="row">
-                                        <div class="col-7" style="margin-top: 5px;">
-                                            <input type="radio" class="glj-radio" name="glj" value="allGljs" checked>所有&nbsp;&nbsp;
-                                            <input type="radio" class="glj-radio" name="glj" value="stdGLJ">标准&nbsp;&nbsp;
-                                            <input type="radio" class="glj-radio" name="glj" value="complementaryGLJs">补充&nbsp;&nbsp;
-                                        </div>
-                                        <div class="input-group col-5" style="margin-bottom: 5px;">
-                                            <input type="text" class="form-control form-control-sm" placeholder="请输入筛选编码或名称" value="" id="gljSearchKeyword">
-                                            <!--  <span class="input-group-btn"><button class="btn btn-secondary btn-sm" type="button" id="gljSearch"><i class="fa fa-search" aria-hidden="true"></i></button></span>-->
-                                        </div>
+                            <div id="gljRadios">
+                                <div class="row">
+                                    <div class="col-7" style="margin-top: 5px;">
+                                        <input type="radio" class="glj-radio" name="glj" value="allGljs" checked>所有&nbsp;&nbsp;
+                                        <input type="radio" class="glj-radio" name="glj" value="stdGLJ">标准&nbsp;&nbsp;
+                                        <input type="radio" class="glj-radio" name="glj" value="complementaryGLJs">补充&nbsp;&nbsp;
+                                    </div>
+                                    <div class="input-group col-5" style="margin-bottom: 5px;">
+                                        <input type="text" class="form-control form-control-sm" placeholder="请输入筛选编码或名称" value="" id="gljSearchKeyword">
+                                        <!--  <span class="input-group-btn"><button class="btn btn-secondary btn-sm" type="button" id="gljSearch"><i class="fa fa-search" aria-hidden="true"></i></button></span>-->
                                     </div>
-                                    <!-- <div class="form-group"><input id="searchGlj" type="text" class="form-control-sm" placeholder="查询工料机"></div>-->
                                 </div>
-                                <div class="modal-auto-height col-12" style="overflow: hidden" id="gljLibSheet">
+                                <!-- <div class="form-group"><input id="searchGlj" type="text" class="form-control-sm" placeholder="查询工料机"></div>-->
+                            </div>
+                            <div class="modal-auto-height" style="overflow: hidden" id="gljLibSheet">
 
-                                </div>
                             </div>
                         </div>
                 </div>

+ 7 - 3
web/building_saas/main/js/models/calc_base.js

@@ -162,11 +162,15 @@ let cbTools = {
         mapObj['ENGINEERINGCOST'] = Object.create(null);
         let filter = ['CSXMF', 'ZZCSXMF', 'ZZCSXMDEJJZJGCF', 'ZZCSXMDEJJRGF', 'ZZCSXMDEJJCLF', 'ZZCSXMDEJJJXF', 'QTXMF', 'GF', 'SJ', 'SQGCZJ', 'AQWMSGZXF'];
         let needFixedBillsClass = ['FBFX', 'CXSM', 'QTXM', 'GF', 'SJ'];
+        //不需要关联节点的、但是下挂在固定清单分类下的基数
+        let noneFixedBillsFigures = ['JZMJ'];
         //安全文明施工专项费用只有税金和工程造价能用
         for(let figure in baseFigures){
-            //过滤相关清单固定行不存在的
-            if(needFixedBillsClass.includes(baseFigures[figure]['class']) && !baseFigures[figure]['fixedBill']){
-                continue;
+            if(!noneFixedBillsFigures.includes(baseFigures[figure]['base'])){
+                //过滤相关清单固定行不存在的
+                if(needFixedBillsClass.includes(baseFigures[figure]['class']) && !baseFigures[figure]['fixedBill']){
+                    continue;
+                }
             }
             if(filter.indexOf(baseFigures[figure]['base']) === -1){
                 mapObj['CONSTRUCTION_ORGANIZATION'][figure] = baseFigures[figure];

+ 1 - 0
web/building_saas/main/js/views/character_content_view.js

@@ -952,6 +952,7 @@ let pageCCOprObj = {
     },
     //设置特征及内容currentCache
     setCacheAndShow: function (node) {
+        console.log('enterCacheShow');
         if(!projectReadOnly){
             this.refreshRuleTools(projectObj.project.isBillsLocked());
         }

+ 2 - 0
web/building_saas/main/js/views/main_tree_col.js

@@ -548,6 +548,8 @@ $('#switchTznr').click(function () {
         me.setVisible('itemCharacterText', false);
         me.updateColSetting(true);
     }
+    let mainSheet = projectObj.mainSpread.getActiveSheet();
+    mainSheet.showRow(mainSheet.getActiveRowIndex(), GC.Spread.Sheets.VerticalPosition.center);
 });
 
 $('#poj-set').on('shown.bs.modal', function (e) {

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

@@ -10,7 +10,7 @@ let defaultDecimal = {
         ration: {editable: true, data: {quantity: 4, unitPrice: 2, totalPrice: 2}},
         glj: {editable: true, data: {quantity: 4, unitPriceHasMix: 2, unitPrice: 3}},
         material: {editable: false, data: 5},
-        feeRate: {editable: true, data: 2},
+        feeRate: {editable: true, data: 3},
         quantity_detail: {editable: false, data: 4},
         process: {editable: false, data: 6}
     }

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

@@ -284,21 +284,45 @@ var projectObj = {
                 let libId = projectInfoObj.projectInfo.engineeringInfo.bill_lib[0].id;
                 CommonAjax.post('/stdBillsEditor/getStdBillsByCode', {userId: userID, billsLibId: libId, code: stdCode}, function (data) {
                     if (data) {
-                        //data.itemCharacter = pageCCOprObj.safeItemCharater(data.itemCharacter);
-                        node.data.name = data.name;
-                        if(node.data.type == billType.BX){//从清单库中找到标准清单的话,要把补项改成分项
-                            node.data.type = billType.FX;
+                        function sortItems(serialItems, items){
+                            for(let item of items){
+                                for(let serialItem of serialItems){
+                                    if(item.id === serialItem.id){
+                                        item.serialNo = serialItem.serialNo;
+                                    }
+                                }
+                            }
+                            items.sort(function (a, b) {
+                                let rst = 0;
+                                if(a.serialNo > b.serialNo){
+                                    rst = 1;
+                                }
+                                else if(a.serialNo < b.serialNo){
+                                    rst = -1;
+                                }
+                                return rst;
+                            });
+                        }
+                        function updateBeforeInsert(node, data) {
+                            node.data.name = data.name;
+                            if(node.data.type == billType.BX){//从清单库中找到标准清单的话,要把补项改成分项
+                                node.data.type = billType.FX;
+                            }
+                            sortItems(data.items, data.itemCharacter);
+                            sortItems(data.jobs, data.jobContent);
+                            pageCCOprObj.setItemContentNode(node, data.jobContent, data.itemCharacter, node.data.name);
+                            pageCCOprObj.setCacheAndShow(node);
                         }
-                        pageCCOprObj.setItemContentNode(node, data.jobContent, data.itemCharacter, node.data.name);
                         if (/\//.test(data.unit)) {
                             let existB = projectObj.project.Bills.sameStdCodeBillsData(data.code);
                             if (existB) {
+                                updateBeforeInsert(node, data);
                                 data.unit = existB.unit;
-                                //
                                 project.Bills.replaceBills(node.source, data, formatCode);
                                 projectObj.mainController.refreshTreeNode([node], false);
                             } else {
                                 ConfirmModal.stdBillsUnit.check(data, function (std) {
+                                    updateBeforeInsert(node, data);
                                     project.Bills.replaceBills(node.source, std, formatCode);
                                     projectObj.mainController.refreshTreeNode([node], false);
                                 }, function () {
@@ -306,6 +330,7 @@ var projectObj = {
                                 });
                             }
                         } else {
+                            updateBeforeInsert(node, data);
                             project.Bills.replaceBills(node.source, data, formatCode);
                             projectObj.mainController.refreshTreeNode([node], false);
                         }
@@ -2666,7 +2691,6 @@ function doAfterImport(resData){
         }
         //如果清单未锁定,导入后锁定清单
         if(!projectInfoObj.projectInfo.property.lockBills){
-            console.log('enterLockBillsClick');
             $("a[name='lockBills']").click();
         }
         $.bootstrapLoading.end();