فهرست منبع

新增单位工程时工程专业的关联显示

olym 8 سال پیش
والد
کامیت
d74fc4ed01

+ 55 - 0
modules/common/const/engineering.js

@@ -0,0 +1,55 @@
+/**
+ * 专业工程相关常量
+ *
+ * @author CaiAoLin
+ * @date 2017/8/7
+ * @version
+ */
+const engineering = {
+    // 建筑工程
+    ARCHITECTURE: 1,
+    // 装饰工程
+    DECORATE: 2,
+    // 仿古建筑工程
+    ANTIQUE_ARCHITECTURE: 3,
+    // 安装工程
+    BUILD_IN: 4,
+    // 市政土建工程
+    MUNICIPAL_CONSTRUCTION: 5,
+    // 市政安装工程
+    MUNICIPAL_BUILD_IN: 6,
+    // 人工土石方工程
+    ARTIFICIAL_EARTHWORK: 7,
+    // 机械土石方工程
+    MECHANICAL_EARTHWORK: 8,
+    // 炉窖砌筑工程
+    KILN_MASONRY: 9,
+    // 园林工程
+    GARDEN: 10,
+    // 绿化工程
+    PLANTING: 11,
+    // 单拆除工程
+    DISMANTLE: 12,
+    // 建筑修缮工程
+    BUILDING_REPAIR: 13,
+    // 安装修缮工程
+    BUILD_IN_REPAIR: 14
+};
+const engineeringList = [
+    {name: "建筑工程", value: engineering.ARCHITECTURE},
+    {name: "装饰工程", value: engineering.DECORATE},
+    {name: "仿古建筑工程", value: engineering.ANTIQUE_ARCHITECTURE},
+    {name: "安装工程", value: engineering.BUILD_IN},
+    {name: "市政土建工程", value: engineering.MUNICIPAL_CONSTRUCTION},
+    {name: "市政安装工程", value: engineering.MUNICIPAL_BUILD_IN},
+    {name: "人工土石方工程", value: engineering.ARTIFICIAL_EARTHWORK},
+    {name: "机械土石方工程", value: engineering.MECHANICAL_EARTHWORK},
+    {name: "炉窖砌筑工程", value: engineering.KILN_MASONRY},
+    {name: "园林工程", value: engineering.GARDEN},
+    {name: "绿化工程", value: engineering.PLANTING},
+    {name: "单拆除工程", value: engineering.DISMANTLE},
+    {name: "建筑修缮工程", value: engineering.BUILDING_REPAIR},
+    {name: "安装修缮工程", value: engineering.BUILD_IN_REPAIR},
+];
+
+export {engineering as default, engineeringList as List};

+ 2 - 0
modules/pm/routes/pm_route.js

@@ -5,6 +5,7 @@
 
 let express = require('express');
 let pmController = require('./../controllers/pm_controller');
+const engineering = require("../../common/const/engineering");
 
 module.exports = function (app) {
 
@@ -22,6 +23,7 @@ module.exports = function (app) {
             compilationData: sessionCompilation,
             billValuation: JSON.stringify(billValuation),
             rationValuation: JSON.stringify(rationValuation),
+            engineeringList: JSON.stringify(engineering.List)
         };
         res.render('building_saas/pm/html/project-management.html', renderData);
     });

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

@@ -359,7 +359,7 @@
                     </div>
                     <div class="form-group">
                         <label>工程专业</label>
-                        <select class="form-control"><option>建筑工程</option></select>
+                        <select class="form-control" id="tender-engineering"><option>建筑工程</option></select>
                     </div>
                 </form>
             </div>
@@ -614,5 +614,6 @@
 <script type="text/javascript">
     let billValuation = '<%- billValuation %>';
     let rationValuation = '<%- rationValuation %>';
+    let engineeringList = '<%- engineeringList %>';
 </script>
 </html>

+ 32 - 30
web/building_saas/pm/js/pm_main.js

@@ -8,6 +8,7 @@
 let Tree = null;
 let movetoZTree = null;
 let copytoZTree = null;
+let engineering = [];
 let projectType = {
     folder: 'Folder',
     tender: 'Tender',
@@ -170,7 +171,7 @@ $(document).ready(function() {
             if (valuation === null) {
                 continue;
             }
-            html += '<option value="'+ valuation._id +'">'+ valuation.name +'</option>';
+            html += '<option value="'+ valuation._id +'" data-engineering="'+ valuation.engineering +'">'+ valuation.name +'</option>';
         }
         $("#valuation").html(html);
     });
@@ -228,12 +229,19 @@ $(document).ready(function() {
         if (projectInfo !== null) {
             let savedProjectData = localStorage.getItem(projectInfo.data.name);
             savedProjectData = JSON.parse(savedProjectData);
+            // 填入计价规则
             let valuationHtml = '<option value="'+ savedProjectData.valuation +'">'+ savedProjectData.valuationName +'</option>';
             $("#tender-valuation").html(valuationHtml);
 
+            // 填入工程专业
+            let engineeringString = getEngineeringName(savedProjectData.engineering);
+            let engineeringHtml = '<option value="'+ savedProjectData.engineering +'">'+ engineeringString +'</option>';
+            $("#tender-engineering").html(engineeringHtml);
+
             $("input[name='tender_valuation_type']").attr('disabled', 'disabled').removeAttr('checked', 'checked');
             $("input[name='tender_valuation_type'][value='"+ savedProjectData.valuationType +"']")
                 .attr("checked", "checked").removeAttr('disabled', 'disabled');
+
         }
 
     });
@@ -493,6 +501,8 @@ function init() {
     $(".tools-btn > a").not(".disabled").addClass("disabled");
     $("#add-folder-btn").removeClass("disabled");
     $("#add-project-btn").removeClass("disabled");
+
+    engineering = engineeringList !== null && engineeringList !== undefined ? JSON.parse(engineeringList) : [];
 }
 
 /**
@@ -513,13 +523,15 @@ function AddProject() {
     }
     let valuationName = $("#valuation").children("option:selected").text();
     let valuationType = $("input[name='valuation_type']:checked").val();
+    let engineering = $("#valuation").children("option:selected").data("engineering");
     let callback = function() {
         $("#add-project-dialog").modal("hide");
         // 记录选择后的信息
         let projectInfo = {
             valuation: valuation,
             valuationType: valuationType,
-            valuationName: valuationName
+            valuationName: valuationName,
+            engineering: engineering
         };
         localStorage.setItem(name, JSON.stringify(projectInfo));
     };
@@ -860,34 +872,24 @@ function GetTargetTreeNode(zTreeObj) {
     return ztree_selected ? Tree.findNode(ztree_selected.id) : null;
 }
 
-
-var GetNextChangeUpdateData = function (datas, node, next) {
-    var data = null;
-    if (node && node.id() !== -1) {
-        data = {};
-        data['updateType'] = 'update';
-        data['updateData'] = {};
-        data['updateData'][Tree.setting.tree.id] = node.id();
-        data['updateData'][Tree.setting.tree.nid] = next ? next.id() : -1;
-        datas.push(data);
+/**
+ * 根据指定id获取对应的工程专业
+ *
+ * @param {Number} id
+ * @return {String}
+ */
+function getEngineeringName(id) {
+    let result = '';
+    if (engineering.length <= 0) {
+        return result;
     }
-    return data;
-}
 
-var GetMoveUpdateData = function (node, parent, next) {
-    var datas = [], updateData;
-    updateData = GetNextChangeUpdateData(datas, node.preSibling(), node.nextSibling);
-    if (next) {
-        updateData = GetNextChangeUpdateData(datas, next.preSibling(), node);
+    for(let tmp of engineering) {
+        if (tmp.value === id) {
+            result = tmp.name;
+            break;
+        }
     }
-    console.log(updateData);
-    return false;
-    updateData = {};
-    updateData['updateType'] = 'update';
-    updateData['updateData'] = {};
-    updateData['updateData'][Tree.setting.tree.id] = node.id();
-    updateData['updateData'][Tree.setting.tree.pid] = parent ? parent.id() : -1;
-    updateData['updateData'][Tree.setting.tree.nid] = next ? next.id() : -1;
-    datas.push(updateData);
-    return datas;
-};
+
+    return result;
+}