瀏覽代碼

工程特征保存

zhangweicheng 6 年之前
父節點
當前提交
847b33fe43

+ 6 - 1
modules/users/controllers/compilation_controller.js

@@ -21,6 +21,7 @@ import STDCalcProgramModel from "../../common/std/std_calc_program_model";
 const billsGuidanceFc = require('../../std_billsGuidance_lib/facade/facades');
 import mainColFacade from "../../main_col_lib/facade/main_col_facade";
 import billTemplateFacade from "../../bills_template_lib/facade/bills_template_facade";
+import projectFeatureFacade from "../../project_feature_lib/facade/project_feature_facade";
 let config = require("../../../config/config.js");
 
 class CompilationController extends BaseController {
@@ -174,7 +175,7 @@ class CompilationController extends BaseController {
         let section = request.params.section;
         let selectedCompilation = request.session.selectedCompilation;
 
-        let compilationList = [],billList = [], rationList = [], gljList = [],feeRateList = [], libData = {}, billsTemplateData = [];
+        let compilationList = [],billList = [], rationList = [], gljList = [],feeRateList = [], libData = {}, billsTemplateData = [],featureList = [];
         let valuationData = {}, valuationList = {}, artificialCoefficientList = [], calculationList = [], billsGuidanceList = [], mainTreeColList = [];
         let billTemplateList = [];
         try {
@@ -228,6 +229,9 @@ class CompilationController extends BaseController {
             //获取清单指引数据
             billsGuidanceList = await billsGuidanceFc.getBillsGuideLibs({compilationId: selectedCompilation._id, $or: [{deleted: null}, {deleted: false}]});
 
+            //获取工程特征库
+            featureList = await projectFeatureFacade.findByCondition({},null,false);
+
         } catch (error) {
             console.log(error);
         }
@@ -249,6 +253,7 @@ class CompilationController extends BaseController {
             gljCol:JSON.stringify(libData.glj_col),
             calculationList: JSON.stringify(calculationList),
             billsGuidanceList: JSON.stringify(billsGuidanceList),
+            featureList:JSON.stringify(featureList),
             layout: 'users/views/layout/layout',
             LicenseKey:config.getLicenseKey(process.env.NODE_ENV)
         };

+ 3 - 0
modules/users/models/engineering_lib_model.js

@@ -160,6 +160,9 @@ class EngineeringLibModel extends BaseModel {
         // 判断人工系数
         data.artificial_lib = this._validLib(data.artificial_lib);
 
+        //判断工程特征库
+        data.feature_lib = this._validLib(data.feature_lib);
+
         //计税方式组合
         data.tax_group = this._validLib(data.tax_group);
 

+ 28 - 11
web/users/js/compilation.js

@@ -60,7 +60,7 @@ $(document).ready(function() {
                     return false;
                 }
 
-                let removeHtml = '<a class="pull-right text-danger remove-lib" data-model="bill" ' +
+                let removeHtml = '<a class="pull-right text-danger remove-lib" data-model="'+model+'" ' +
                     'title="移除"><span class="glyphicon glyphicon-remove"></span></a>';
                 let tmpHtml = '<p class="form-control-static">' + removeHtml + addLib.name +
                     '<input type="hidden" data-id="'+ addLib.id +'" name=\'' + model + '_lib\' value=\'' + JSON.stringify(addLib) + '\'>' + '</p>';
@@ -194,6 +194,10 @@ $(document).ready(function() {
                 $("#program-area").show();
                 $("#add-compilation-title").text('添加计算程序');
                 break;
+            case 'feature':
+                $("#feature-area").show();
+                $("#add-compilation-title").text('添加工程特征');
+                break;
         }
         $("#addcompilation").modal('show');
     });
@@ -210,7 +214,7 @@ $(document).ready(function() {
     });
 
     // 移除操作
-    $(".bill-list, .ration-list, .glj-list, .fee-list, .artificial-list, .program-list, .billsGuidance-list").on("click", ".remove-lib", function() {
+    $(".bill-list, .ration-list, .glj-list, .fee-list, .artificial-list, .program-list, .billsGuidance-list,.feature-list").on("click", ".remove-lib", function() {
         $(this).parent().remove();
     });
 
@@ -356,6 +360,7 @@ function initCompilation() {
     let billsGuidanceData = billsGuidanceList === undefined ? [] : JSON.parse(billsGuidanceList);
     let billTemplateData = billTemplateList == undefined ? [] : JSON.parse(billTemplateList);
     let mainTreeColData= mainTreeColList == undefined ? [] : JSON.parse(mainTreeColList);
+    let featureData = featureList == undefined?[]: JSON.parse(featureList);
     /*mainTreeCol = mainTreeCol !== '' ? mainTreeCol.replace(/\n/g, '\\n') : mainTreeCol;
     billsTemplateData = billsTemplateData.replace(/\n/g, '\\n');
 
@@ -446,6 +451,14 @@ function initCompilation() {
         html += tmpHtml;
     }
     $("select[name='fee_lib']").children("option").first().after(html);
+
+    //工程特征库
+    html = '';
+    for(let tmp of featureData){
+        let tmpHtml = '<option value="' + tmp.ID + '">' + tmp.name + '</option>';
+        html += tmpHtml;
+    }
+    $("select[name='feature_lib']").children("option").first().after(html);
 }
 
 /**
@@ -459,10 +472,12 @@ function getAndValidData(model) {
     let standardBill = $("select[name='standard_bill']").children("option:selected").val();
     let rationLib = $("select[name='ration_lib']").children("option:selected").val();
     let gljLib = $("select[name='glj_lib']").children("option:selected").val();
-    let feeLib = $("select[name='fee_lib']").children("option:selected").val();
+   // let feeLib = $("select[name='fee_lib']").children("option:selected").val();
     let artificialLib = $("select[name='artificial_lib']").children("option:selected").val();
     let programLib = $("select[name='program_lib']").children("option:selected").val();
     let billsGuidanceLib = $("select[name='billsGuidance_lib']").children("option:selected").val();
+    let featureLib = $("select[name='feature_lib']").children("option:selected").val();
+
 
     if (name === '' && model === 'all') {
         throw '编办名字不能为空';
@@ -480,12 +495,8 @@ function getAndValidData(model) {
         throw '请选择人材机库';
     }
 
-    if (model === 'fee' && (feeLib === '' || feeLib === undefined)) {
-        throw '请选择费率标准';
-    }
-
     if (model === 'artificial' && (artificialLib === '' || artificialLib === undefined)) {
-        throw '请选择费率库';
+        throw '请选择人工系数库';
     }
 
     if (model === 'program' && (programLib === '' || programLib === undefined)) {
@@ -499,10 +510,12 @@ function getAndValidData(model) {
     let standardBillString = $("select[name='standard_bill']").children("option:selected").text();
     let rationLibString = $("select[name='ration_lib']").children("option:selected").text();
     let gljLibString = $("select[name='glj_lib']").children("option:selected").text();
-    let feeLibString = $("select[name='fee_lib']").children("option:selected").text();
+  //  let feeLibString = $("select[name='fee_lib']").children("option:selected").text();
     let artificialString = $("select[name='artificial_lib']").children("option:selected").text();
     let programString = $("select[name='program_lib']").children("option:selected").text();
     let billsGuidanceString = $("select[name='billsGuidance_lib']").children("option:selected").text();
+    let featrueString = $("select[name='feature_lib']").children("option:selected").text();
+
 
     let result = {
         name: name,
@@ -518,10 +531,10 @@ function getAndValidData(model) {
             id: gljLib,
             name: gljLibString
         },
-        fee: {
+      /*  fee: {
             id: feeLib,
             name: feeLibString
-        },
+        },*/
         artificial: {
             id: artificialLib,
             name: artificialString
@@ -533,6 +546,10 @@ function getAndValidData(model) {
         billsGuidance: {
             id: billsGuidanceLib,
             name: billsGuidanceString
+        },
+        feature:{
+            id:featureLib,
+            name:featrueString
         }
     };
     return result;

+ 20 - 1
web/users/views/compilation/engineering.html

@@ -11,7 +11,7 @@
     <div class="content-wrap">
         <div class="c-header" style="padding:0">
             <ul class="nav nav-tabs">
-                <li role="presentation" class="active"><a href="javascript:void(0);"><%= libData.name %></a></li>
+                <li role="presentation" class="active"><a href="javascript:void(0);"><%= libData.name %> - <%= libData.feeName %></a></li>
             </ul>
         </div>
         <div class="c-body">
@@ -106,7 +106,25 @@
                                 </div>
                                 <a href="#" class="btn btn-link btn-sm add-compilation" data-model="artificial">添加</a>
                             </div>
+                            <div class="form-group col-md-3">
+                                <label>工程特征</label>
+                                <div class="feature-list">
+                                    <% if (Object.keys(libData).length > 0 && libData.feature_lib && libData.feature_lib.length > 0) { %>
+                                    <% libData.feature_lib.forEach(function (feature, index){ %>
+                                    <p class="form-control-static">
+                                        <a class="pull-right text-danger remove-lib" data-model="feature" title="移除" data-id="<%= feature.id %>">
+                                            <span class="glyphicon glyphicon-remove"></span>
+                                        </a>
+                                        <input type="hidden" name="feature_lib" data-id="<%= feature.id %>" value="<%= JSON.stringify({id: feature.id, name: feature.name}) %>">
+                                        <% if (index === 0) {%><i class="glyphicon glyphicon-flag"></i>&nbsp;<% } %><%= feature.name %>
+                                    </p>
+                                    <% }) %>
+                                    <% } %>
+                                </div>
+                                <a href="#" class="btn btn-link btn-sm add-compilation" data-model="feature">添加</a>
+                            </div>
                     </div>
+
                     <div class="col-md-12">
                         <a data-toggle="modal" data-target="#other_setting" class="btn btn-primary btn-sm " style="margin-right:5px">显示设置</a>
                     </div>
@@ -194,6 +212,7 @@
     let gljCol = '<%- gljCol %>';
     let billTemplateList = '<%- billTemplateList %>';
     let mainTreeColList = '<%- mainTreeColList %>';
+    let featureList = '<%- featureList %>';
     let colSpread = null;
     let colEditSpread = null;
 </script>

+ 5 - 5
web/users/views/compilation/modal.html

@@ -51,16 +51,16 @@
                         </div>
                     </div>
                 </div>
-         <!--       <div class="form-group" id="fee-area">
-                    <label>费率标准</label>
+                <div class="form-group" id="feature-area">
+                    <label>工程特征</label>
                     <div class="row">
                         <div class="col-xs-12">
-                            <select class="form-control" name="fee_lib">
-                                <option value="">请选择费率库</option>
+                            <select class="form-control" name="feature_lib">
+                                <option value="">请选择工程特征库</option>
                             </select>
                         </div>
                     </div>
-                </div>-->
+                </div>
                 <div class="form-group" id="artificial-area">
                     <label>人工系数</label>
                     <div class="row">