Browse Source

debug/ 下载示例

zhongzewei 7 years ago
parent
commit
d9e8e32707

+ 17 - 11
modules/main/controllers/bills_controller.js

@@ -181,7 +181,23 @@ module.exports = {
         }
         res.json(result);
     },
+    //下载导入清单示例
+    downloadExample: async function(request, response) {
+        try {
+            const filePath = './public/static/uploadExample.xlsx';
+            const stats = fs.statSync(filePath);
+            // 下载相关header
+            response.set({
+                'Content-Type': 'application/octet-stream',
+                'Content-Disposition': 'attachment; filename=uploadExample.xlsx',
+                'Content-Length': stats.size
+            });
+            fs.createReadStream(filePath).pipe(response);
+        } catch (error) {
+            response.end(error);
+        }
 
+    },
 
     upload: async function(req, res){
         let responseData = {
@@ -327,8 +343,6 @@ function rowExistData(rowData){
 }
 //提取excel表数据中的有效数据(去表头表尾,提取其中的excel数据)(根据fixedBill获取栏头占行数)
 function getValidImportData(sheetData, fixedBill){
-    console.log(`sheetData`);
-    console.log(sheetData);
     let withingD = false;
     let validData = [];
     for(let r = 0; r < sheetData.length; r++){
@@ -349,23 +363,17 @@ function getValidImportData(sheetData, fixedBill){
                 withingD = false;
             }
         }
-        /*console.log(`rData`);
-        console.log(rData);
-        console.log(withingD);
-        console.log(rowExistData(rData));*/
         if(withingD && rowExistData(rData)){
             validData.push(rData);
         }
     }
-    /*console.log(`validData`);
-    console.log(validData);*/
     return validData;
 }
 
 function getImportFlag(sheetName){
     const fixedItem = {'分部分项': fixedFlag.SUB_ENGINERRING, '施工技术措施项目': fixedFlag.CONSTRUCTION_TECH, '施工组织措施项目': fixedFlag.CONSTRUCTION_ORGANIZATION};
     for(let flag in fixedItem){
-        if(sheetName.indexOf(flag) > 0){
+        if(sheetName.includes(flag)){
             return fixedItem[flag];
         }
     }
@@ -506,8 +514,6 @@ function parseToBillData(validData, colMapping, fixedBill, projectID, stdData){
     for(let i in billIdx){
         rst.push(billIdx[i]);
     }
-    console.log('rst');
-    console.log(rst);
     return rst;
 }
 

+ 1 - 0
modules/main/routes/bills_route.js

@@ -19,6 +19,7 @@ module.exports = function (app) {
     billsRouter.post('/reorganizeFBFX', billsController.reorganizeFBFX);
     billsRouter.post('/pasteBlock', billsController.pasteBlock);
     billsRouter.post('/upload', billsController.upload);
+    billsRouter.get('/downloadExamp', billsController.downloadExample);
     app.use('/bills', billsRouter);
 };
 

BIN
public/static/uploadExample.xlsx


+ 8 - 0
public/web/id_tree.js

@@ -229,6 +229,14 @@ var idTree = {
             this.expanded = expanded;
             setNodesVisible(this.children, expanded);
         };
+
+        Node.prototype.setExpandedNoRecur = function (expanded) {
+            this.expanded = expanded;
+            this.visible = expanded && this.visible;
+            for(let node of this.children){
+                node.visible = expanded && node.visible;
+            }
+        };
         /*Node.prototype.vis = function () {
             return this.parent ? this.parent.vis() && this.parent.expanded() : true;
         };*/

+ 1 - 0
web/building_saas/js/global.js

@@ -24,6 +24,7 @@ function autoFlashHeight(){
     $(".main-data-side-search").height($(window).height()-headerHeight-toolsbarHeight-64);
     $(".side-content").height($(window).height()-headerHeight );
     $(".poj-list").height($(window).height()-headerHeight-toolsbarHeight);
+    $(".gc-list").height($(window).height()-headerHeight-toolsbarHeight-40);
     $(".form-view").height($(window).height()-headerHeight-ftoolsbarHeight);
     $(".form-list").height($(window).height()-headerHeight-50 );
 

+ 2 - 1
web/building_saas/main/html/main.html

@@ -272,7 +272,7 @@
                                       </div>
                                       <div class="row" id="stdBillsRemarkTab">
                                           <div class="col-lg-12 p-0">
-                                              <textarea class="form-control" id="stdBillsRemark" rows="8" readonly="true"></textarea>
+                                              <textarea class="form-control" id="stdBillsRemark" style="width: 100%; height: 100%" readonly="true"></textarea>
                                           </div>
                                       </div>
                                   </div>
@@ -1071,6 +1071,7 @@
                     <div class="alert alert-success mt-3" id="uploadAlert" role="alert" style="display: none;">
                         广东XXXX项目清单.xlsx 准备导入上传
                     </div>
+                    <button type="button" class="btn btn-primary" id="uploadExample">示例</button>
                 </div>
                 <div class="modal-footer">
                     <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>

+ 4 - 1
web/building_saas/main/js/views/project_view.js

@@ -1944,7 +1944,10 @@ function doAfterImport(resData){
         });
     }
 }
-
+//下载导入清单示例文件
+$('#uploadExample').click(function () {
+    window.location.href = '/bills/downloadExamp'
+});
 
 $(function () {
     //清空导入清单选择文件

+ 34 - 5
web/building_saas/main/js/views/std_bills_lib.js

@@ -44,7 +44,8 @@ var billsLibObj = {
         if (spread) {
             let sheet = spread.getActiveSheet();
             sheet.suspendPaint();
-            sheet.getRange(0, -1, sheet.getRowCount(), -1, GC.Spread.Sheets.SheetArea.viewport).backColor(undefined);
+            let orgColor = optionsOprObj.getOption('COLOROPTS', 'DEFAULT').backColor;
+            sheet.getRange(0, -1, sheet.getRowCount(), -1, GC.Spread.Sheets.SheetArea.viewport).backColor(orgColor);
             sheet.resumePaint();
         }
     },
@@ -186,7 +187,7 @@ var billsLibObj = {
             stdBillsTreeController.showTreeData();
             billsLibObj.setTagForHint(datas);
             showBillsRela(that.stdBillsTree.firstNode());
-
+            console.log(that.stdBillsTree.items);
             stdBillsTreeController.bind(TREE_SHEET_CONTROLLER.eventName.treeSelectedChanged, showBillsRela);
             that.stdBillsSpread.unbind(GC.Spread.Sheets.Events.CellDoubleClick);
             that.stdBillsSpread.bind(GC.Spread.Sheets.Events.CellDoubleClick, function (sender, args) {
@@ -237,9 +238,12 @@ var billsLibObj = {
         });
 
         $('#stdBillsSearch>span>button').click(function () {
+            billsLibObj.clearHighLight(billsLibObj.stdBillsSpread);
             var keyword = $('#stdBillsSearch>input').val();
-
-            if (!keyword || keyword === '') {return}
+            if (!keyword || keyword === '') {
+                $('#stdBillsSearchResult').hide();
+                return;
+            }
 
             var result = that.stdBillsTree.items.filter(function (item) {
                 var codeIs = item.data.code ? item.data.code.indexOf(keyword) !== -1 : false;
@@ -250,6 +254,11 @@ var billsLibObj = {
                 return x.serialNo() - y.serialNo();
             });
             if (result.length !== 0) {
+                //展开搜索出来的节点
+                billsLibObj.expandSearchNodes(result);
+                //设置记住展开
+                sessionStorage.setItem('stdBillsLibExpState', that.stdBillsTree.getExpState(that.stdBillsTree.items));
+
                 var sel = billsLibObj.stdBillsSpread.getActiveSheet().getSelections();
                 stdBillsTreeController.setTreeSelected(result[0]);
                 billsLibObj.stdBillsSpread.getActiveSheet().setSelection(result[0].serialNo(), sel[0].col, 1, 1);
@@ -259,7 +268,8 @@ var billsLibObj = {
                 }
 
                 $('#nextStdBills').show();
-                $('#nextStdBills').click(function () {
+                $('#nextStdBills').unbind('click');
+                $('#nextStdBills').bind('click', function () {
                     var cur = that.stdBillsTree.selected, resultIndex = result.indexOf(cur), sel = billsLibObj.stdBillsSpread.getActiveSheet().getSelections();
                     if (resultIndex === result.length - 1) {
                         stdBillsTreeController.setTreeSelected(result[0]);
@@ -277,6 +287,23 @@ var billsLibObj = {
             $('#stdBillsSearchResult').show();
         });
     },
+    expandSearchNodes: function(nodes){
+        let that = this;
+        TREE_SHEET_HELPER.massOperationSheet(billsLibObj.stdBillsSpread.getActiveSheet(), function () {
+            function expParentNode(node){
+                if(node.parent && !node.parent.expanded){
+                    node.parent.setExpanded(true);
+                    expParentNode(node.parent);
+                }
+            }
+            for(let node of nodes){
+
+                expParentNode(node);
+            }
+            TREE_SHEET_HELPER.refreshTreeNodeData(that.stdBillsTreeSetting, that.stdBillsSpread.getActiveSheet(), that.stdBillsTree.roots, true);
+            TREE_SHEET_HELPER.refreshNodesVisible(that.stdBillsTree.roots, that.stdBillsSpread.getActiveSheet(), true);
+        });
+    },
     stdBillsTreeSetting: {
         "treeCol": 0,
         "emptyRows":0,
@@ -454,4 +481,6 @@ $('#closeSearchStdBills').click(function () {
     $('#stdBillsSearchResult').hide();
     $(".main-data-side-q").height($(window).height() - $(".header").height() - $(".toolsbar").height() -  $(".tools-bar-height-q").height() - 202);
     billsLibObj.clearHighLight(billsLibObj.stdBillsSpread);
+    billsLibObj.refreshBillsSpread();
+    billsLibObj.refreshBillsRelaSpread();
 });

+ 2 - 1
web/building_saas/main/js/views/std_ration_lib.js

@@ -366,9 +366,10 @@ $('#rationSearch').click(function () {
         resultObj.append(getResultHtml(result));
         $('a', resultObj).click(function () {
             resultObj.hide();
+            $(".main-data-side-search", resultObj).height(0);
+            autoFlashHeight();
             //$(".main-data-side-d").height($(window).height() - $(".header").height() - $(".toolsbar").height() -  $(".tools-bar-height-d").height() - 202);
             rationLibObj.refreshSpread();
-            $(".main-data-side-search", resultObj).height(0);
         });
         resultObj.show();
         $(".main-data-side-search", resultObj).height($(window).height() - $(".header").height() - $(".toolsbar").height() - 64);

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

@@ -6,7 +6,7 @@
         <p style="text-align: center; margin-top: 30px;">正在加载数据...</p>
     </div>-->
 </div>
-<div class="poj-list" id="gcSpread">
+<div class="gc-list" id="gcSpread">
 
 </div>
 <!--弹出恢复项目-->

+ 2 - 0
web/building_saas/pm/js/pm_gc.js

@@ -584,6 +584,8 @@ function gc_init(){
         //初始选择
         let initSel = gcTreeObj.workBook.getSheet(0).getSelections()[0] ? gcTreeObj.workBook.getSheet(0).getSelections()[0] : {row: 0, rowCount: 1};
         gcTreeObj.initSelection(initSel);
+        autoFlashHeight();
+        gcTreeObj.workBook.refresh();
         $.bootstrapLoading.end();
     });
 }

+ 2 - 0
web/building_saas/pm/js/pm_newMain.js

@@ -1257,6 +1257,8 @@ function init() {
             let initSel = projTreeObj.workBook.getSheet(0).getSelections()[0] ? projTreeObj.workBook.getSheet(0).getSelections()[0] : {row: 0, rowCount: 1};
             projTreeObj.initSelection(initSel,null,projTreeObj.workBook.getActiveSheet());
             $.bootstrapLoading.end();
+            autoFlashHeight();
+            projTreeObj.workBook.refresh();
         });
     });
     engineering = engineeringList !== null && engineeringList !== undefined ? JSON.parse(engineeringList) : [];