Browse Source

补充工料机库

zhongzewei 8 years ago
parent
commit
2227feaae4

+ 17 - 7
modules/complementary_glj_lib/controllers/gljController.js

@@ -4,6 +4,7 @@
 import BaseController from "../../common/base/base_controller";
 import stdgljutil  from "../../../public/cache/std_glj_type_util";
 import GljDao from "../models/gljModel";
+import EngineeringLibModel from "../../users/models/engineering_lib_model";
 
 let gljDao = new GljDao();
 let callback = function(req, res, err, message, data){
@@ -11,18 +12,27 @@ let callback = function(req, res, err, message, data){
 };
 
 class GljController extends BaseController{
-    redirectGlj(req, res){
-        let gljLibId;
-        if(typeof req.session.sessionCompilation.ration_valuation[0].glj_lib[0] !== 'undefined'){
-            gljLibId = req.session.sessionCompilation.ration_valuation[0].glj_lib[0].id;
+    async redirectGlj(req, res){
+        let gljLibId = null, engineeringId, sessionCompilation = req.session.sessionCompilation,
+            rationValuation = sessionCompilation.ration_valuation,
+            billValuation = sessionCompilation.bill_valuation,
+            engineeringLibModel = new EngineeringLibModel();
+        if(rationValuation[0]){
+            let engineeringList = rationValuation[0].engineering_list;
+            engineeringId = engineeringList.length > 0 ? engineeringList[0].engineering_id : null;
+            let engineeringInfo = await engineeringLibModel.getEngineering(engineeringId);
+            gljLibId = engineeringInfo.glj_lib.length > 0 && typeof engineeringInfo.glj_lib !== 'undefined' ? engineeringInfo.glj_lib[0].id : null;
         }
-        else if(typeof req.session.sessionCompilation.bill_valuation[0].glj_lib[0] !== 'undefined'){
-            gljLibId = req.session.sessionCompilation.bill_valuation[0].glj_lib[0].id;
+        else if(billValuation[0]){
+            let engineeringList = billValuation[0].engineering_list;
+            engineeringId = engineeringList.length > 0 ? engineeringList[0].engineering_id : null;
+            let engineeringInfo = await engineeringLibModel.getEngineering(engineeringId);
+            gljLibId = engineeringInfo.glj_lib.length > 0 && typeof engineeringInfo.glj_lib !== 'undefined' ? engineeringInfo.glj_lib[0].id : null;
         }
         res.render('building_saas/complementary_glj_lib/html/tools-gongliaoji.html',{
             userID: req.session.sessionUser.ssoId,
             gljLibId: gljLibId,
-            compilationId: req.session.sessionCompilation._id
+            compilationId: sessionCompilation._id
         });
     }
     getGljDistType (req, res) {

+ 6 - 6
web/building_saas/complementary_glj_lib/html/tools-gongliaoji.html

@@ -118,24 +118,24 @@
                   <div class="modal-body">
                     <div class="row">
                       <div class="col-4">
-                        <div  class="modal-auto-height">
-                            <div class="print-list">
-                                <div class="form-list" id="componentTreeDiv">
+                        <div  class="modal-auto-height" id="componentTreeDiv" style="overflow: hidden">
+                            <!--<div class="print-list">-->
+                                <div style="width: 100%; height: 100%; overflow: auto">
                                     <ul id="componentTree" class="ztree"></ul>
                                 </div>
-                            </div>
+                            <!--</div>-->
                         </div>
                       </div>
                       <div class="col-8">
                           <div class="row">
-                              <div class="modal-auto-height col-12" id="gljRadios">
+                              <div class="col-12" id="gljRadios">
                                   <input type="radio" class="glj-radio" name="glj" value="allGljs">所有工料机&nbsp;&nbsp;
                                   <input type="radio" class="glj-radio" name="glj" value="stdGljs">标准工料机&nbsp;&nbsp;
                                   <input type="radio" class="glj-radio" name="glj" value="complementaryGljs">补充工料机&nbsp;&nbsp;
                                   <input type="radio" class="glj-radio" name="glj" value="selectedGljs">已选工料机机&nbsp;&nbsp;
                                  <!-- <div class="form-group"><input id="searchGlj" type="text" class="form-control-sm" placeholder="查询工料机"></div>-->
                               </div>
-                              <div class="modal-auto-height col-12"  id="componentSheet">
+                              <div class="modal-auto-height col-12" style="overflow: hidden" id="componentSheet">
                                <!--   <table class="table table-sm table-bordered m-0">
                                       <thead>
                                       <tr><th></th><th>编码</th><th>名称</th><th>规格型号</th><th>计量单位</th><th>单价</th><th>类型</th></tr>

+ 3 - 11
web/building_saas/complementary_glj_lib/js/components.js

@@ -89,7 +89,7 @@ let componentOprObj = {
         let materialArr = [202, 203, 204];//混凝土、砂浆、配合比, 201普通材料
         let that = repositoryGljObj, me = componentOprObj;
             for(let i = 0; i < gljList.length; i++){
-                if(that.currentGlj.gljType === 3 && gljList[i].gljType === 302 ||
+                if(that.currentGlj.gljType === 301 && gljList[i].gljType === 302 ||
                     materialArr.indexOf(that.currentGlj.gljType) !== -1 && gljList[i].gljType === 201){
                     //去除与已添加的组成物重复的条目
                     let isExist = false;
@@ -248,6 +248,8 @@ let componentOprObj = {
             }
             sheetOpr.cleanSheet(me.workBook.getSheet(0), me.setting, -1);
             sheetOpr.showData(me.workBook.getSheet(0), me.setting, cacheSection, re.distTypeTree);
+            me.workBook.getSheet(0).options.isProtected = true;
+            me.workBook.getSheet(0).setRowCount(cacheSection);
             cacheSection = null;
         }
     },
@@ -280,17 +282,7 @@ let componentTypeTreeOprObj = {
             } else {
                 me.currentCache = me.getCache();
             }
-            //切换分类树时,记住当前分类的选择
-            //me.setComponentChecked(me.workBook.getSheet(0));
         }
         me.showGljItems(me.showGljList, gljTypeId);
-        /*sheetOpr.cleanSheet(that.workBook.getSheet(0), that.setting, 5);
-         that.workBook.getSheet(0).getRange(-1, 0 , -1, 1, GC.Spread.Sheets.SheetArea.viewport).locked(true);
-         that.workBook.getSheet(0).getRange(-1, 4 , -1, 1, GC.Spread.Sheets.SheetArea.viewport).locked(true);
-         re.workBook.getSheet(0).getRange(-1, 6 , -1, 1, GC.Spread.Sheets.SheetArea.viewport).locked(true);*/
-        //that.workBook.getSheet(0).options.isProtected = true;
-
-        //sheetOpr.lockCodeCells(re.workBook.getSheet(0), re.currentCache.length);
-        //re.workBook.getSheet(0).setRowCount(re.currentCache.length);
     }
 }

+ 2 - 4
web/building_saas/complementary_glj_lib/js/gljComponent.js

@@ -61,12 +61,10 @@ let gljComponentOprObj = {
             selector: '#gljComponentSheet',
             build: function($triggerElement, e){
                 //控制允许右键菜单在哪个位置出现
-                let clientX = e.originalEvent.clientX,
-                    clientY = e.originalEvent.clientY;
                 let sheet = me.workBook.getSheet(0);
                 let offset = $("#gljComponentSheet").offset(),
-                    x = clientX - offset.left,
-                    y = clientY - offset.top;
+                    x = e.pageX - offset.left,
+                    y = e.pageY - offset.top;
                 let target = sheet.hitTest(x, y);
                 if(target.hitTestType === 3 && typeof target.row !== 'undefined' && typeof target.col !== 'undefined'){//在表格内
                     sheet.setActiveCell(target.row, target.col);

+ 11 - 2
web/building_saas/complementary_glj_lib/js/sheetOpr.js

@@ -7,7 +7,8 @@ let sheetOpr = {
         var spreadBook = new GC.Spread.Sheets.Workbook(container, { sheetCount: SheetCount });
         spreadBook.options.allowCopyPasteExcelStyle = false;
         spreadBook.options.tabStripVisible = false;
-        spreadBook.options.showHorizontalScrollbar = false;
+        spreadBook.options.scrollbarMaxAlign = true;
+        //spreadBook.options.showHorizontalScrollbar = false;
         spreadBook.options.allowUserDragDrop = false;
         return spreadBook;
     },
@@ -21,6 +22,10 @@ let sheetOpr = {
         sheet.setColumnCount(setting.header.length, spreadNS.SheetArea.viewport);
         sheet.options.colHeaderAutoTextIndex = 1;
         sheet.options.colHeaderAutoText = spreadNS.HeaderAutoText.numbers;
+        sheet.options.protectionOptions = {
+            allowResizeRows: true,
+            allowResizeColumns: true
+        };
         sheet.showRowOutline(false);
         me.buildHeader(sheet, setting);
         if (rowCount > 0) sheet.setRowCount(rowCount);
@@ -32,7 +37,7 @@ let sheetOpr = {
         var me = this;
         var spreadBook = new GC.Spread.Sheets.Workbook(container, { sheetCount: 1 });
         spreadBook.options.tabStripVisible = false;
-        spreadBook.options.showHorizontalScrollbar = false;
+        //spreadBook.options.showHorizontalScrollbar = false;
         spreadBook.options.scrollbarMaxAlign = true;
         spreadBook.options.allowCopyPasteExcelStyle = false;
         spreadBook.options.allowExtendPasteRange = true;
@@ -46,6 +51,10 @@ let sheetOpr = {
         sheet.setColumnCount(setting.header.length, spreadNS.SheetArea.viewport);
         sheet.options.colHeaderAutoTextIndex = 1;
         sheet.options.colHeaderAutoText = spreadNS.HeaderAutoText.numbers;
+        sheet.options.protectionOptions = {
+            allowResizeRows: true,
+            allowResizeColumns: true
+        };
         sheet.showRowOutline(false);
         //setup column header
         me.buildHeader(sheet, setting);