Browse Source

动态下拉框相关

zhongzewei 7 years ago
parent
commit
9dab5cd978

+ 1 - 0
modules/ration_repository/models/coe.js

@@ -20,6 +20,7 @@ var coeSchema = mongoose.Schema({
 var coeListSchema = mongoose.Schema({
     libID: Number,                      // 所属定额定ID
     ID: Number,                         // 系数ID(流水号ID)
+    serialNo: Number,                  //编号
     name: String,                       // 名称
     content: String,                    // 说明
     coes: [coeSchema]

+ 1 - 0
modules/ration_repository/models/ration_item.js

@@ -36,6 +36,7 @@ var rationItemSchema = mongoose.Schema({
     caption: String,
     feeType: Number,
     jobContent: String,
+    annotation: String,
     rationGljList: [rationGljItemSchema],
     rationCoeList: Array,
     rationAssList: [rationAssItemSchema]

+ 1 - 0
modules/ration_repository/models/ration_section_tree.js

@@ -17,6 +17,7 @@ var rationChapterTreeSchema = new Schema({//章节树  //生成唯一id改为sec
     explanation: String,//说明
     ruleText: String,//计算规则,
     jobContentSituation: String,//工作内容适用情况,ALL适用本项全部定额,PARTIAL适用本项部分定额
+    annotationSituation: String,//附注适用情况,ALL适用本项全部定额,PARTIAL适用本项部分定额
     isDeleted: Boolean
 });
 var rationChapterTreeModel = chapterTreeDb.model("std_ration_lib_ration_chapter_trees", rationChapterTreeSchema, "std_ration_lib_ration_chapter_trees");

+ 50 - 0
public/web/sheet/sheet_common.js

@@ -207,5 +207,55 @@ var sheetCommonObj = {
             }
         }
         return rst;
+    },
+    //add by zhong 2017-10-10
+    //动态下拉框,配合EnterCell, args.sheet.repaint();
+    getDynamicCombo: function () {
+        let ComboCellForActiveCell = function () { };
+        ComboCellForActiveCell.prototype = new GC.Spread.Sheets.CellTypes.ComboBox();
+        ComboCellForActiveCell.prototype.paintValue = function (ctx, value, x, y, w, h, style, options) {
+            let sheet = options.sheet;
+            if (options.row === sheet.getActiveRowIndex() && options.col === sheet.getActiveColumnIndex()) {
+                GC.Spread.Sheets.CellTypes.ComboBox.prototype.paintValue.apply(this, arguments);
+
+            } else {
+                GC.Spread.Sheets.CellTypes.Base.prototype.paintValue.apply(this, arguments);
+            }
+        };
+        ComboCellForActiveCell.prototype.getHitInfo = function (x, y, cellStyle, cellRect, options) {
+            let sheet = options.sheet;
+            if (options.row === sheet.getActiveRowIndex() && options.col === sheet.getActiveColumnIndex()) {
+                return GC.Spread.Sheets.CellTypes.ComboBox.prototype.getHitInfo.apply(this, arguments);
+
+            } else {
+                return GC.Spread.Sheets.CellTypes.Base.prototype.getHitInfo.apply(this, arguments);
+            }
+        };
+        return new ComboCellForActiveCell();
+    },
+    setDynamicCombo: function (sheet, beginRow, col, rowCount, items, itemsHeight, itemsType) {
+        let me = this;
+        sheet.suspendPaint();
+        for(let i = 0, len = rowCount; i < len; i++){
+            let combo = me.getDynamicCombo();
+            if(itemsHeight) combo.itemHeight(itemsHeight);
+            if(itemsType === 'value') combo.items(items).editorValueType(GC.Spread.Sheets.CellTypes.EditorValueType.value);
+            else if(itemsType === 'text') combo.items(items).editorValueType(GC.Spread.Sheets.CellTypes.EditorValueType.text);
+            else combo.items(items);
+            sheet.getCell(beginRow + i, col).cellType(combo);
+        }
+        sheet.resumePaint();
+    },
+    setStaticCombo: function (sheet, beginRow, col, rowCount, items, itemsHeight, itemsType) {
+        sheet.suspendPaint();
+        for(let i = 0, len = rowCount; i < len; i++){
+            let combo = new GC.Spread.Sheets.CellTypes.ComboBox();
+            if(itemsHeight) combo.itemHeight(itemsHeight);
+            if(itemsType === 'value') combo.items(items).editorValueType(GC.Spread.Sheets.CellTypes.EditorValueType.value);
+            else if(itemsType === 'text') combo.items(items).editorValueType(GC.Spread.Sheets.CellTypes.EditorValueType.text);
+            else combo.items(items);
+            sheet.getCell(beginRow + i, col).cellType(combo);
+        }
+        sheet.resumePaint();
     }
 }

+ 2 - 26
web/building_saas/complementary_glj_lib/html/tools-gongliaoji.html

@@ -19,32 +19,7 @@
 </head>
 <body>
     <div class="header">
-        <!-- <div class="top-msg clearfix">
-            <div class="alert alert-warning mb-0 py-0" role="alert">
-                <button type="button" class="close" data-dismiss="alert" aria-label="Close">
-                  <span aria-hidden="true">&times;</span>
-                </button>
-                <strong>Warning!</strong> Better check yourself, you're not looking too good.
-            </div>
-        </div> -->
-        <nav class="navbar navbar-toggleable-lg navbar-light bg-faded p-0 justify-content-between">
-            <span class="header-logo px-2">Smartcost</span>
-            <div class="navbar-text"><a href="/pm">项目管理</a></div>
-            <div class="float-lg-right navbar-text pt-0">
-                <div class="dropdown d-inline-block">
-                    <button class="btn btn-link btn-sm dropdown-toggle" type="button" data-toggle="dropdown">陈特</button>
-                    <div class="dropdown-menu dropdown-menu-right">
-                        <a class="dropdown-item" href="user-info.html" target="_blank">账号资料</a>
-                        <a class="dropdown-item" href="user-buy.html" target="_blank">产品购买</a>
-                        <a class="dropdown-item" href="user-set.html" target="_blank">偏好设置</a>
-                    </div>
-                </div>
-                <span class="btn btn-link btn-sm new-msg">
-                  <i class="fa fa-envelope-o" aria-hidden="true"></i>&nbsp;2
-                </span>
-                <button class="btn btn-link btn-sm">注销</button>
-            </div>
-        </nav>
+        <%include ../../../common/html/header.html %>
         <nav class="navbar navbar-toggleable-lg justify-content-between navbar-light p-0">
             <ul class="nav navbar-nav px-1">
                 <li class="nav-item">
@@ -219,6 +194,7 @@
     <script type="text/javascript" src="/web/building_saas/complementary_glj_lib/js/gljComponent.js"></script>
     <script type="text/javascript" src="/web/building_saas/complementary_glj_lib/js/components.js"></script>
     <script type="text/javascript" src="/public/web/ztree_common.js"></script>
+    <script type="text/javascript" src="/public/web/sheet/sheet_common.js"></script>
     <script type="text/javascript" src="/web/building_saas/complementary_glj_lib/js/sheetOpr.js"></script>
     <script type="text/javascript" src="/public/web/storageUtil.js"></script>
     <SCRIPT type="text/javascript">

+ 5 - 7
web/building_saas/complementary_glj_lib/js/glj.js

@@ -85,10 +85,6 @@ let repositoryGljObj = {
             }
         });
         distTypeTree.distTypesArr.forEach(function (distTypeObj) {
-           /* if(distTypeObj.children.length === 0 && distTypeObj.data.fullName !== '普通机械' &&distTypeObj.data.fullName !== '机械组成物'
-                && distTypeObj.data.fullName !== '机上人工'){
-                distTypeTree.comboDatas.push({text: distTypeObj.data.fullName, value: distTypeObj.data.ID});
-            }*/
             if(distTypeObj.data.fullName !== '材料' && distTypeObj.data.fullName !== '机械'){
                 distTypeTree.comboDatas.push({text: distTypeObj.data.fullName, value: distTypeObj.data.ID});
             }
@@ -105,15 +101,14 @@ let repositoryGljObj = {
                 if(!result.error && callback){
                     me.distTypeTree = me.getComboData(result.data);
                     console.log(me.distTypeTree);
-                    let combo = new GC.Spread.Sheets.CellTypes.ComboBox();
+                   /* let combo = new GC.Spread.Sheets.CellTypes.ComboBox();
                     combo.items(me.distTypeTree.comboDatas).editorValueType(GC.Spread.Sheets.CellTypes.EditorValueType.text);
-                    me.workBook.getSheet(0).getCell(-1, 5, GC.Spread.Sheets.SheetArea.viewport).cellType(combo).value(me.distTypeTree.comboDatas[0].text);
+                    me.workBook.getSheet(0).getCell(-1, 5, GC.Spread.Sheets.SheetArea.viewport).cellType(combo).value(me.distTypeTree.comboDatas[0].text);*/
                     callback();
                 }
             }
         })
     },
-
     getGljTree: function(gljLibId, callback) {
         let me = this;
         $.ajax({
@@ -184,6 +179,8 @@ let repositoryGljObj = {
             }
             sheetOpr.cleanData(me.workBook.getSheet(0), me.setting, -1);
             sheetOpr.showData(me.workBook.getSheet(0), me.setting, cacheSection, me.distTypeTree);
+            sheetCommonObj.setStaticCombo(me.workBook.getActiveSheet(), 0, 5, cacheSection.length, me.distTypeTree.comboDatas, false, 'text');
+            sheetCommonObj.setDynamicCombo(me.workBook.getActiveSheet(), cacheSection.length, 5, me.workBook.getActiveSheet().getRowCount() - cacheSection.length, me.distTypeTree.comboDatas, false, 'text');
 
             cacheSection = null;
         }
@@ -320,6 +317,7 @@ let repositoryGljObj = {
     },
     onEnterCell: function (sender, args) {
         let me = repositoryGljObj;
+        args.sheet.repaint();
         me.cellRowIdx = args.row;
         let isHasData = false;
         if(me.addGljObj){