ソースを参照

Merge branch 'master' into olym

olym 7 年 前
コミット
87768d4865

+ 23 - 0
modules/common/const/bills_type.js

@@ -0,0 +1,23 @@
+/**
+ * Created by Mai on 2017/8/29.
+ * 清单类别
+ */
+
+const typeFlag = {
+    //大项费用
+    DXFY: 1,
+    //分部
+    FB: 2,
+    //分项
+    FX: 3,
+    //清单    
+    BILL: 4
+}
+const typeFlagList = [
+    {name: '大项费用', value: typeFlag.DXFY},
+    {name: '分部', value: typeFlag.DXFY},
+    {name: '分项', value: typeFlag.DXFY},
+    {name: '清单', value: typeFlag.DXFY}
+];
+
+export {typeFlag as default, typeFlagList as List};

+ 2 - 0
modules/users/controllers/compilation_controller.js

@@ -14,6 +14,7 @@ import STDFeeRateLibsModel from "../../common/std/std_fee_rate_libs_model";
 import {default as EngineeringConst, List as EngineeringList} from "../../common/const/engineering";
 import BillsTemplateModel from "../models/bills_template_model";
 import {default as BillsFixedFlagConst, List as BillsFixedFlagList} from "../../common/const/bills_fixed.js";
+import {default as BillsTypeFlagConst, List as BillsTypeFlagList} from "../../common/const/bills_type.js";
 import EngineeringLibModel from "../models/engineering_lib_model";
 import STDLabourCoesModel from "../../common/std/std_labour_coes_model";
 import STDCalcProgramModel from "../../common/std/std_calc_program_model";
@@ -482,6 +483,7 @@ class CompilationController extends BaseController {
             billList: JSON.stringify(billList),
             billsTemplateData: JSON.stringify(billsTemplateData),
             billsFixedFlagList: JSON.stringify(BillsFixedFlagList),
+            billsTypeFlagList: JSON.stringify(BillsTypeFlagList),
             valuationData: valuationData,
             valuationList: valuationList,
             selectedCompilation: selectedCompilation,

+ 3 - 3
modules/users/models/bills_template_model.js

@@ -25,9 +25,9 @@ class BillsTemplateModel extends BaseModel {
      */
     async getTemplateData (valuationId, engineering) {
         // 筛选字段
-        let field = {_id: 1, valuationId: 1, ID: 1, ParentID: 1, NextSiblingID: 1, code: 1, name: 1, unit: 1, flags: 1};
+        let field = {_id: 1, valuationId: 1, ID: 1, ParentID: 1, NextSiblingID: 1, code: 1, name: 1, unit: 1, flags: 1, type: 1};
         let data = await this.findDataByCondition({valuationId: valuationId, engineering: engineering}, field, false);
-
+        console.log(data);
         return data === null ? [] : data;
     }
 
@@ -39,7 +39,7 @@ class BillsTemplateModel extends BaseModel {
      */
     async getTemplateDataForNewProj (valuationId, engineering) {
         // 筛选字段
-        let field = {_id: 0, ID: 1, ParentID: 1, NextSiblingID: 1, code: 1, name: 1, unit: 1, flags: 1};
+        let field = {_id: 0, ID: 1, ParentID: 1, NextSiblingID: 1, code: 1, name: 1, unit: 1, flags: 1, type: 1};
         let data = await this.findDataByCondition({valuationId: valuationId, engineering: engineering}, field, false);
 
         return data === null ? [] : data;

+ 2 - 0
modules/users/models/schemas/bills_template.js

@@ -22,6 +22,8 @@ let BillsTemplateSchema = {
     name: String,
     // 单位
     unit: String,
+    // 类别
+    type: Number,
     // 标记
     flags:{
         type: [flagsSchema],

+ 32 - 6
web/users/js/template.js

@@ -6,8 +6,25 @@ let TEMPLATE_BILLS_SETTING = {
     "emptyRows":1,
     "headRows":1,
     "headRowHeight":[35],
-    "treeCol": 0,
+    "treeCol": 1,
     "cols":[{
+        "width":80,
+        "readOnly":false,
+        "head":{
+            "titleNames":["类别"],
+            "spanCols":[1],
+            "spanRows":[1],
+            "vAlign":[1],
+            "hAlign":[1],
+            "font":["Arial"]
+        },
+        "data":{
+            "field":"type",
+            "vAlign":0,
+            "hAlign":1,
+            "font":"Arail",
+        }
+    }, {
         "width":200,
         "readOnly":false,
         "head":{
@@ -152,16 +169,23 @@ $(document).ready(function () {
             }
         });
     };
-    let getFixedFlagCellType = function () {
-        let billsFixedFlagData = JSON.parse(billsFixedFlagList);
+    let getNameValueComboCellType = function (datas) {
         let comboItems = [];
-        for (let data of billsFixedFlagData) {
+        for (let data of datas) {
             comboItems.push({text: data.name, value: data.value});
         }
         let combo = new GC.Spread.Sheets.CellTypes.ComboBox();
         combo.editorValueType(GC.Spread.Sheets.CellTypes.EditorValueType.value)
             .items(comboItems);
         return combo;
+    }
+    let getFixedFlagCellType = function () {
+        let billsFixedFlagData = JSON.parse(billsFixedFlagList);
+        return getNameValueComboCellType(billsFixedFlagData);
+    };
+    let getTypeFlagCellType = function () {
+        let billsTypeFlagData = JSON.parse(billsTypeFlagList);
+        return getNameValueComboCellType(billsTypeFlagData);
     };
     let setFee = function (data, fullField, value) {
         let fields = fullField.split('.'), valueField = data;
@@ -195,7 +219,9 @@ $(document).ready(function () {
     }
 
     for (col of TEMPLATE_BILLS_SETTING.cols) {
-        if (col.data.field === 'flagsIndex.fixed.flag' && TEMPLATE_BILLS_SETTING.cols.indexOf(col) !== TEMPLATE_BILLS_SETTING.treeCol) {
+        if (col.data.field === 'type' && TEMPLATE_BILLS_SETTING.cols.indexOf(col) !== TEMPLATE_BILLS_SETTING.treeCol) {
+            col.data.cellType = getTypeFlagCellType();
+        } else if (col.data.field === 'flagsIndex.fixed.flag' && TEMPLATE_BILLS_SETTING.cols.indexOf(col) !== TEMPLATE_BILLS_SETTING.treeCol) {
             col.data.cellType = getFixedFlagCellType();
         }
     }
@@ -210,7 +236,7 @@ $(document).ready(function () {
         var node = controller.tree.items[info.row];
         var fieldName = controller.setting.cols[info.col].data.field;
         var data = {type: 'update', data: {ID: node.getID()}};
-        if (/flagsIndex/.test(fieldName)) {
+       if (/flagsIndex/.test(fieldName)) {
             data.data.flags = [];
             let flagField = fieldName.split('.');
             data.data.flags.push({fieldName: flagField[1], flag: info.editingText});

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

@@ -132,7 +132,7 @@
                                data-toggle="modal" data-target="" class="btn btn-primary btn-sm pull-right"
                                style="margin-right:5px">模板设置</a>
                         <input type="hidden" name="main_tree_col" value="<%= mainTreeCol %>">
-                        <div id="main-tree-col"></div>
+                        <div id="main-tree-col" style="height: 400px;"></div>
                     </div>
                 </div>
                 <input type="hidden" name="engineering" value="<%= engineeringInfo.id %>" id="engineering">

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

@@ -25,7 +25,7 @@
         <div class="c-body">
             <legend>清单模板设置<a href="/compilation/valuation/<%= section %>/<%= valuationId %>" class="btn btn-default btn-sm pull-right">返回</a><a href="#" class="btn btn-primary btn-sm pull-right" style="margin-right:5px">保存</a></legend>
             <div class="row">
-                <div class="col-md-8">
+                <div class="col-md-9">
                     <div class="tools-btn btn-group align-top">
                         <a href="" class="btn btn-sm"><i class="fa fa-files-o" aria-hidden="true"></i> 复制</a>
                         <a href="" class="btn btn-sm"><i class="fa fa-scissors" aria-hidden="true"></i> 剪切</a>
@@ -37,13 +37,12 @@
                         <a href="javascript:void(0)" class="btn btn-sm" id="downMove"><i class="fa fa-arrow-down" aria-hidden="true"></i> 下移</a>
                         <a href="javascript:void(0)" class="btn btn-sm" id="upMove"><i class="fa fa-arrow-up" aria-hidden="true"></i> 上移</a>
                     </div>
-                    <div class="mb-qd-height" id="billsSpread">
+                    <div class="mb-qd-height" id="billsSpread" style="height: 500px;">
                     </div>
                 </div>
-                <div class="col-md-4">
-                    <select class="form-control"><option>定额</option></select>
+                <div class="col-md-3">
+                    <select class="form-control" style="display: none"><option>定额</option></select>
                     <div class="mb-de-height">
-
                     </div>
                 </div>
             </div>
@@ -53,6 +52,7 @@
 <script>
     let billsTemplateData = '<%- billsTemplateData %>';
     let billsFixedFlagList = '<%- billsFixedFlagList %>';
+    let billsTypeFlagList = '<%- billsTypeFlagList %>';
     let updateUrl = '/compilation/template/<%= section %>/<%= valuationId %>/<%= engineering %>/update';
 </script>
 <script type="text/javascript" src="/public/web/id_tree.js"></script>