Selaa lähdekoodia

Merge branch 'master' of http://smartcost.f3322.net:3000/SmartCost/ConstructionCost

zhongzewei 7 vuotta sitten
vanhempi
commit
f4e5f61435

+ 2 - 2
modules/glj/models/glj_list_model.js

@@ -223,9 +223,9 @@ class GLJListModel extends BaseModel {
         return result;
     }
     getGLJPrice(glj){
-        let glj_basePrice = scMathUtil.roundTo(parseFloat(glj.unit_price.base_price), -2);
+        let glj_basePrice = parseFloat(glj.unit_price.base_price);
         glj.unit_price.base_price = glj_basePrice;
-        glj.unit_price.market_price = scMathUtil.roundTo(parseFloat(glj.unit_price.market_price), -2);
+        glj.unit_price.market_price = parseFloat(glj.unit_price.market_price);
     }
 
     /**

+ 7 - 6
modules/main/facade/calc_program_facade.js

@@ -29,13 +29,14 @@ module.exports = {
 async function newProjectCalcProgramFile(data) {
     logger.info(`Create new CalcProgram file for project : ${data.ID}`);
     let rst = null;
-    let egnrModel = new EngineeringLibModel();
-    let egnr = await egnrModel.getEngineering(data.property.engineering_id);
-    if(!egnr) return rst;
-    let valid_CP_libs = egnr._doc.program_lib;
-    if (valid_CP_libs == undefined  || valid_CP_libs.length == 0) return rst;
+    // let egnrModel = new EngineeringLibModel();
+    // let egnr = await egnrModel.getEngineering(data.property.engineering_id);
+    // if(!egnr) return rst;
+    // let valid_CP_libs = egnr._doc.program_lib;
+    // if (valid_CP_libs == undefined  || valid_CP_libs.length == 0) return rst;
     // 绑定多个计算程序标准文件时,默认取第一个作为标准模板。
-    let stdCP = await getStdCalcProgramFile(valid_CP_libs[0].id);
+    // let stdCP = await getStdCalcProgramFile(valid_CP_libs[0].id);
+    let stdCP = await getStdCalcProgramFile(data.property.calcProgram.id);
     let doc={
         ID: uuidV1(),
         projectID: data.ID,

+ 3 - 3
web/building_saas/main/html/calc_program_manage.html

@@ -16,14 +16,14 @@
     <div class="container-fluid">
         <div class="row">
             <div class="col-lg-2 p-0">
-                <div id="divSelect" style="text-align:left;height:45px;line-height:45px;">
-                    <!--<label>计算程序文件:</label>-->
+<!--                <div id="divSelect" style="text-align:left;height:45px;line-height:45px;">
+                    &lt;!&ndash;<label>计算程序文件:</label>&ndash;&gt;
                     <select id='calcProgramFileSelect' style="width:98%;height:30px;">
                         <option value="none">无</option>
                         <option value="1" selected>计算程序2013标准</option>
                         <option value="2">计算程序2018标准</option>
                     </select>
-                </div>
+                </div>-->
                 <div class="main-data-not" id="mainSpread"></div>
             </div>
             <div class="col-lg-10 p-0">

+ 18 - 1
web/building_saas/main/js/models/main_consts.js

@@ -306,7 +306,24 @@ const cpFeeTypes = [
     {type: 'machineDiff', name: '机械价差'},
     {type: 'adjustLabour', name: '调整人工费'},
     {type: 'adjustMachineLabour', name: '调整机上人工费'},
-    // {type: 'estimate', name: '暂估费'},
+    {type: 'unratedMaterial', name: '未计价材料费'},
+    {type: 'organizeMeasures', name: '组织措施费'},
+    {type: 'safeCivilization', name: '安全文明施工费'},
+    {type: 'night', name: '夜间施工费'},
+    {type: 'secondHandling', name: '二次搬运费'},
+    {type: 'winterRainy', name: '冬雨季施工增加费'},
+    {type: 'protection', name: '已完工程及设备保护费'},
+    {type: 'clean', name: '工程定位复测点交及场地清理费'},
+    {type: 'quotaDetermine', name: '工程定额测定费'},
+    {type: 'materialInspect', name: '材料检验试验费'},
+    {type: 'acceptance', name: '住宅工程质量分户验收费'},
+    {type: 'docManage', name: '档案管理费'},
+    {type: 'forceFee', name: '规费'},
+    {type: 'fiveOne', name: '五险一金'},
+    {type: 'sewage', name: '工程排污费'},
+    {type: 'tax', name: '税金'},
+
+// {type: 'estimate', name: '暂估费'},
     {type: 'common', name: '工程造价'},
     {type: 'fee1', name: '费用1'}//,
     // {type: 'fee2', name: '费用2'},

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

@@ -490,7 +490,7 @@ $(document).ready(function(){
         sessionStorage.setItem('mainTab', '#tab_calc_program_manage');
         $(e.relatedTarget.hash).removeClass('active');
         calcProgramManage.buildSheet();
-        calcProgramManage.getStdCalcProgramFiles();
+        // calcProgramManage.getStdCalcProgramFiles();
     });
 
     $("#calcProgramFileSelect").change(function() {

+ 6 - 1
web/building_saas/pm/html/project-management.html

@@ -322,9 +322,14 @@
                     <span class="form-text text-danger" id="valuation-info" style="display: none;">请选择计价规则</span>
                     <div style="margin-top: 15px;" class="input-group">
                         <label style="margin-top: 8px;">工程专业</label>
-                        <select style="margin-left: 5px; border-radius: .25rem;" class="form-control" id="tender-engineering"><option value="">请选择对应的工程专业</option></select>
+                        <select style="margin-left: 5px; border-radius: .25rem;" class="form-control" id="tender-engineering"><option value="">请选择工程专业</option></select>
                     </div>
                     <span class="form-text text-danger" id="engineering-info" style="display: none;">请选择工程专业</span>
+                    <div style="margin-top: 15px;" class="input-group">
+                        <label style="margin-top: 8px;">计算程序</label>
+                        <select style="margin-left: 5px; border-radius: .25rem;" class="form-control" id="tender-calcProgram"><option value="">请选择计算程序</option></select>
+                    </div>
+                    <span class="form-text text-danger" id="calcProgram-info" style="display: none;">请选择计算程序</span>
                 </form>
             </div>
             <div class="modal-footer">

+ 42 - 1
web/building_saas/pm/js/pm_newMain.js

@@ -1410,6 +1410,25 @@ $(document).ready(function() {
             $("#tender-fee-rate").children("option").first().val("newFeeRate-"+currentLib.fee_lib[0].id);
         }
         $("#tender-engineering").parent().siblings('.hidden-area').slideDown('fast');
+
+        function getStdCalcProgramFiles(){
+            function getStdCPFilesHtml(stdCPLibs) {
+                let result = '<option value="">请选择计算程序</option>';
+                if (stdCPLibs.length <= 0) {
+                    return result;
+                };
+
+                for (let lib of stdCPLibs){
+                    result += '<option value='+ lib.id +'>'+ lib.name +'</option>';
+                };
+                return result;
+            };
+            let stdCPHtml = getStdCPFilesHtml(getcalcProgramList());
+            $("#tender-calcProgram").html(stdCPHtml);
+            if ($("#tender-calcProgram")[0].options.length > 1)
+                $("#tender-calcProgram")[0].selectedIndex = 1;
+        };
+        getStdCalcProgramFiles();
     }
     // 选择工程专业后动态更改费率文件等数据
     $("#tender-engineering").change(function() {
@@ -1787,6 +1806,19 @@ function getEngineeringList(){
     return engineeringList;
 }
 
+function getcalcProgramList(){
+    let egrs = getEngineeringList();
+    let calcProgramList = [];
+    let egrID = $("#tender-engineering").val();
+    for(let egr of egrs) {
+        if (egr.engineering == egrID) {
+            calcProgramList = egr.lib.program_lib;
+            break;
+        }
+    }
+    return calcProgramList;
+}
+
 function getNodeByName(name, nodes){
     for(let i = 0, len = nodes.length; i < len; i++){
         if(name === nodes[i].data.name){
@@ -2070,6 +2102,12 @@ function AddTender() {
             return false;
         }
 
+        let calcProgram = $("#tender-calcProgram").val();
+        if (calcProgram === '') {
+            setDangerInfo($('#calcProgram-info'), '请选择计算程序');
+            return false;
+        }
+
         let valuationName = $("#valuation").children("option:selected").text();
         let valuationType = $("input[name='valuation_type']:checked").val();
 
@@ -2095,6 +2133,7 @@ function AddTender() {
         if (!libs.program_lib)  throw '编办没有绑定计算程序标准文件';
 
         let engineeringName = $('#tender-engineering').children("option:selected").text();
+        let calcProgramName = $('#tender-calcProgram').children("option:selected").text();
 
         let callback = function() {
             $('#add-tender-confirm').removeClass('disabled');
@@ -2102,6 +2141,7 @@ function AddTender() {
             $('#tender-name').val('');
             $("#tender-fee-rate").children("option").removeAttr("selected");
             $("#tender-engineering").children("option").removeAttr("selected");
+            $("#tender-calcProgram").children("option").removeAttr("selected");
             $("#poj-name").val('');
             $("#poj-name-info").hide();
             $("#eng-name").val('');
@@ -2117,7 +2157,8 @@ function AddTender() {
             engineering_id: engineering_id,
             engineeringName: engineeringName,
             unitPriceFile: {name: unitPriceFileObj.name, id: unitPriceFileObj.id},
-            feeFile: {name: feeFileObj.name, id: feeFileObj.id}
+            feeFile: {name: feeFileObj.name, id: feeFileObj.id},
+            calcProgram: {name: calcProgramName, id: calcProgram}
         };
         AddTenderItems(selectedItem, projName, engName, tenderName, tenderInfo, callback);