浏览代码

修改工程专业定额库相关设置

zhangweicheng 6 年之前
父节点
当前提交
57fb41ed03

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

@@ -8,6 +8,7 @@
 import mongoose from "mongoose";
 import BaseModel from "../../common/base/base_model";
 import CompilationModel from "./compilation_model";
+let stdRationLibModel = mongoose.model("std_ration_lib_map");
 import {default as EngineeringConst, List as EngineeringList} from "../../common/const/engineering";
 
 class EngineeringLibModel extends BaseModel {
@@ -79,6 +80,19 @@ class EngineeringLibModel extends BaseModel {
 
     async addEngineer(data){
         data.glj_col = {showAdjustPrice:false};
+        if(data.compilationId && data.compilationId!=""){
+            data.ration_lib = [];
+            let rationList = await stdRationLibModel.find({compilationId:data.compilationId},['ID','dispName']);
+            for(let i =0;i< rationList.length;i++){
+                let tem = {
+                    id:rationList[i].ID,
+                    name:rationList[i].dispName,
+                    isDefault:false
+                };
+                if(i == 0) tem.isDefault = true;
+                data.ration_lib.push(tem);
+            }
+        }
         let result = await this.db.create(data);
         return result;
     }
@@ -129,9 +143,10 @@ class EngineeringLibModel extends BaseModel {
             console.log('1');
             throw '数据有误';
         }
-        // 检测专业工程是否合法
         data.engineering = parseInt(data.engineering);
-        let match = false;
+        //需求修改,工程专业可以随便输入了
+        //检测专业工程是否合法
+   /*     let match = false;
         for(let index in EngineeringConst) {
             if (EngineeringConst[index] === data.engineering) {
                 match = true;
@@ -140,7 +155,7 @@ class EngineeringLibModel extends BaseModel {
         }
         if (!match) {
             throw '工程专业错误';
-        }
+        }*/
 
         // 判断标准清单
         data.bill_lib = this._validLib(data.bill_lib);
@@ -148,6 +163,9 @@ class EngineeringLibModel extends BaseModel {
         // 判断定额库
         data.ration_lib = this._validLib(data.ration_lib);
 
+        //设置默认定额库
+        this.setDefaultRation(data);
+
         // 判断工料机库
         data.glj_lib = this._validLib(data.glj_lib);
 
@@ -188,6 +206,19 @@ class EngineeringLibModel extends BaseModel {
         return result;
     }
 
+    //设置默认定额库
+    setDefaultRation(data){
+        if(data.ration_lib && data.ration_lib.length>0){
+            if(data.ration_isDefault && data.ration_isDefault != ""){
+                for(let r of data.ration_lib){
+                    r.id.toString() == data.ration_isDefault?r.isDefault = true:r.isDefault=false;
+                }
+            }else {
+                data.ration_lib[0].isDefault = true;
+            }
+        }
+    }
+
 
     /**
      * 获取对应标准库数量

+ 36 - 5
web/users/js/compilation.js

@@ -101,7 +101,7 @@ $(document).ready(function() {
                     "<td><span>"+t_name+"</span></td>" +
                     "<td><span>"+c_name+"</span></td>" +
                     "<td><span>"+f_name+"</span></td>" +
-                    "<td> <a class='btn btn-link btn-sm' style='padding: 0px' onclick='editTaxGroup(this)'> 编辑</a>/<a class='btn btn-link btn-sm ' style='padding: 0px' onclick='deleteTaxGroup(this)'>删除</a> " +
+                    "<td> <a class='btn btn-link btn-sm' style='padding: 0px' onclick='editTaxGroup(this)'> 编辑</a>/<a class='btn btn-link btn-sm ' style='padding: 0px' onclick='deleteTableTr(this,\"taxGroup_tr\")'>删除</a> " +
                     "<input type='hidden' name='tax_group' data-id ='"+groupIndex+"' value='"+JSON.stringify(groupData)+"'>"+
                     "</td>" +
                     "</tr>";
@@ -120,6 +120,36 @@ $(document).ready(function() {
         $("#addTaxGroup").modal('hide');
     });
 
+    //新增定额库
+    $("#add-ration").click(function () {
+         let rationLib = $("select[name='ration_lib']").children("option:selected").val();
+         let rationLibString = $("select[name='ration_lib']").children("option:selected").text();
+         if(rationLib == undefined || rationLib ==''){
+             alert("请选择定额库");
+             return;
+         }
+        if($("input[data-id = "+rationLib+"]").length <= 0){
+            let tem = {
+                id:rationLib,
+                name:rationLibString,
+                isDefault:false
+            };
+            let htmlString = ` 
+                <tr class='ration_tr'>
+                     <td><span>${tem.name}</span></td>
+                     <td><label class="form-check-label"> <input class="form-check-input" name="ration_isDefault"  value="${tem.id}" type="radio"></td>  
+                     <td>
+                            <a class='btn btn-link btn-sm ' style="padding: 0px" onclick='deleteTableTr(this,"ration_tr")'>删除</a>
+                            <input type="hidden" name="ration_lib" data-id="${tem.id}" value='${JSON.stringify(tem)}'>
+                      </td>
+                </tr>`
+            $("#ration_tbody").append(htmlString);
+        }else {
+            alert('已存在相同的定额库')
+        }
+        $("#addRation").modal('hide');
+    });
+
     // 新增计价规则
     $("#add-valuation").click(function() {
         try {
@@ -490,6 +520,9 @@ function getAndValidData(model) {
     if (model === 'ration' && (rationLib === '' || rationLib === undefined)) {
         throw '请选择定额库';
     }
+    if (model === 'feature' && (featureLib === '' || featureLib === undefined)) {
+        throw '请选择工程特征库';
+    }
 
     if (model === 'glj' && (gljLib === '' || gljLib === undefined)) {
         throw '请选择人材机库';
@@ -667,8 +700,6 @@ function confirmUpdate(selector,engineerID) {
 }
 
 function deleteEngineerClick(engineerID,element) {
-    console.log(engineerID);
-    console.log(element);
     hintBox.infoBox('操作确认', '是否删除所选工程专业?', 2, async function () {
         try {
             let result  = await ajaxPost('/compilation/delete-engineer',{id:engineerID});
@@ -715,8 +746,8 @@ function editTaxGroup(ele) {
     $("#addTaxGroup").modal({show:true});
 }
 
-function deleteTaxGroup(ele) {
-    let parentTr = $(ele).parents(".taxGroup_tr");
+function deleteTableTr(ele,classString) {
+    let parentTr = $(ele).parents(`.${classString}`);
     parentTr.remove();
 }
 

+ 1 - 0
web/users/views/compilation/add.html

@@ -117,6 +117,7 @@
                         <small class="form-text text-danger" id="engineeringError" style="display: none">请输入定额取费专业。</small>
                     </div>
                     <input type="hidden" name="valuationID" value="<%= valuationId %>">
+                    <input type="hidden" name="compilationId" value="<%= selectedCompilation._id.toString() %>" >
                 </form>
             </div>
             <div class="modal-footer">

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

@@ -37,23 +37,6 @@
                                 <a class="btn btn-link btn-sm add-compilation" href="javascript:void(0)" data-model="bill">添加</a>
                             </div>
                             <div class="form-group col-md-3">
-                                <label>定额库</label>
-                                <div class="ration-list">
-                                    <% if (Object.keys(libData).length > 0 && libData.ration_lib.length > 0) { %>
-                                    <% libData.ration_lib.forEach(function (ration, index){ %>
-                                    <p class="form-control-static">
-                                        <a class="pull-right text-danger remove-lib" data-model="ration" title="移除" data-id="<%= ration.id %>">
-                                            <span class="glyphicon glyphicon-remove"></span>
-                                        </a>
-                                        <input type="hidden" name="ration_lib" data-id="<%= ration.id %>" value="<%= JSON.stringify({id: ration.id, name: ration.name}) %>">
-                                        <% if (index === 0) {%><i class="glyphicon glyphicon-flag"></i>&nbsp;<% } %><%= ration.name %>
-                                    </p>
-                                    <% }) %>
-                                    <% } %>
-                                </div>
-                                <a href="#" class="btn btn-link btn-sm add-compilation" data-model="ration">添加</a>
-                            </div>
-                            <div class="form-group col-md-3">
                                 <label>人材机库</label>
                                 <div class="glj-list">
                                     <% if (Object.keys(libData).length > 0 && libData.glj_lib.length > 0) { %>
@@ -87,8 +70,6 @@
                                 </div>
                                 <a href="#" class="btn btn-link btn-sm add-compilation" data-model="billsGuidance">添加</a>
                             </div>
-                        </div>
-                        <div class="row">
                             <div class="form-group col-md-3">
                                 <label>人工系数</label>
                                 <div class="artificial-list">
@@ -106,6 +87,8 @@
                                 </div>
                                 <a href="#" class="btn btn-link btn-sm add-compilation" data-model="artificial">添加</a>
                             </div>
+                        </div>
+                        <div class="row">
                             <div class="form-group col-md-3">
                                 <label>工程特征</label>
                                 <div class="feature-list">
@@ -180,7 +163,7 @@
                                         <span><%= tax.fee_lib.name%></span>
                                         <% } %>
                                     </td>
-                                    <td><a class='btn btn-link btn-sm ' style="padding: 0px" onclick='editTaxGroup(this)'>编辑</a>/<a class='btn btn-link btn-sm ' style="padding: 0px" onclick='deleteTaxGroup(this)'>删除</a>
+                                    <td><a class='btn btn-link btn-sm ' style="padding: 0px" onclick='editTaxGroup(this)'>编辑</a>/<a class='btn btn-link btn-sm ' style="padding: 0px" onclick='deleteTableTr(this,"taxGroup_tr")'>删除</a>
                                         <input type='hidden' name='tax_group' data-id ="<%= groupIndex%>" value="<%= JSON.stringify(tax) %>">
                                     </td>
                                 </tr>
@@ -189,6 +172,42 @@
                             </tbody>
                         </table>
                     </div>
+                    <div class="col-md-12" style="padding-top:20px">
+                            <legend>定额库</legend>
+                            <a data-toggle="modal" data-target="#addRation" class="btn btn-link btn-sm " id="addRatioBtn" style="margin-right:5px">添加</a>
+                            <table class="table engineer_table">
+                                <thead>
+                                <tr>
+                                    <th>定额库名称</th>
+                                    <th>默认</th>
+                                    <th>操作</th>
+                                </tr>
+                                </thead>
+                                <tbody id="ration_tbody">
+                                <% if (Object.keys(libData).length > 0 && libData.ration_lib.length > 0) { %>
+                                <% libData.ration_lib.forEach(function (ration, index){ %>
+                                <tr class='ration_tr'>
+                                    <td>
+                                        <span><%= ration.name%></span>
+                                    </td>
+                                    <td>
+                                        <label class="form-check-label">
+                                            <% if(ration.isDefault == true){%>
+                                                <input class="form-check-input" name="ration_isDefault"  checked value="<%= ration.id %>" type="radio">
+                                            <% }else{ %>
+                                            <input class="form-check-input" name="ration_isDefault"  value="<%= ration.id %>" type="radio">
+                                            <% } %>
+                                        </label>
+                                    </td>
+                                    <td><a class='btn btn-link btn-sm ' style="padding: 0px" onclick='deleteTableTr(this,"ration_tr")'>删除</a>
+                                        <input type="hidden" name="ration_lib" data-id="<%= ration.id %>" value="<%= JSON.stringify(ration) %>">
+                                    </td>
+                                </tr>
+                                <% }) %>
+                                <% } %>
+                                </tbody>
+                            </table>
+                        </div>
                 </div>
                 <input type="hidden" name="glj_col" value="<%= gljCol %>" id="glj_col">
                 <input type="hidden" name="isInstall" value="<%= libData.isInstall %>" id="isInstall">

+ 30 - 10
web/users/views/compilation/modal.html

@@ -21,16 +21,6 @@
                         </div>
                     </div>
                 </div>
-                <div class="form-group" id="ration-area">
-                    <label>定额库</label>
-                    <div class="row">
-                        <div class="col-xs-12">
-                            <select class="form-control" name="ration_lib">
-                                <option value="">请选择定额库</option>
-                            </select>
-                        </div>
-                    </div>
-                </div>
                 <div class="form-group" id="glj-area">
                     <label>人材机库</label>
                     <div class="row">
@@ -311,4 +301,34 @@
     </div>
 </div>
 
+<!-- 弹窗新增费率 -->
+<div class="modal fade" id="addRation" tabindex="-1" role="dialog">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
+                <h4 class="modal-title" >添加定额库</h4>
+            </div>
+            <div class="modal-body">
+                <div class="form-group" id="ration-area">
+                    <label>定额库</label>
+                    <div class="row">
+                        <div class="col-xs-12">
+                            <select class="form-control" name="ration_lib">
+                                <option value="">请选择定额库</option>
+                            </select>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
+                <button type="button" class="btn btn-primary" id="add-ration">确定添加</button>
+            </div>
+        </div>
+    </div>
+</div>
+
+
+
 <script type="text/javascript" src="/web/users/js/col_setting.js"></script>