Browse Source

1. 计量台账,变更令,变更清单,定位至台账
2. 计量台账,变更令,样式引起的显示问题

MaiXinRong 4 years atrás
parent
commit
e0b876ae5b
6 changed files with 66 additions and 35 deletions
  1. 0 30
      app.js
  2. 1 1
      app/public/js/global.js
  3. 0 3
      app/public/js/shares/cs_tools.js
  4. 62 0
      app/public/js/stage.js
  5. 1 1
      app/view/stage/index.ejs
  6. 2 0
      sql/update.sql

+ 0 - 30
app.js

@@ -12,8 +12,6 @@ const fs = require('fs');
 const moment = require('moment');
 const uuid = require('node-uuid');
 const _ = require('lodash');
-const crypto = require('crypto');
-//const calc = require('number-precision');
 
 const BaseService = require('./app/base/base_service');
 const BaseTreeService = require('./app/base/base_tree_service');
@@ -97,32 +95,4 @@ module.exports = app => {
             }
         }
     }
-    if (app.config.min) {
-        app.minify = (file) => {
-            const files = file instanceof Array ? file : [file];
-            for (const f of files) {
-                const fileName = app.baseDir + '/app/public/js/' + f;
-                const code = fs.readFileSync(fileName, 'utf8');
-                fs.writeFileSync(fileName.replace('.js', '.min.js'), Uglyfy.minify(code, { mangle: true }).code);
-            }
-        };
-        app.minify(['spreadjs_rela/spreadjs_zh.js', 'path_tree.js']);
-    }
-    // 设置Date对象Format函数
-    Date.prototype.Format = function(fmt) {
-        const o = {
-            'M+': this.getMonth() + 1, // 月份
-            'd+': this.getDate(), // 日
-            'h+': this.getHours(), // 小时
-            'm+': this.getMinutes(), // 分
-            's+': this.getSeconds(), // 秒
-            'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
-            'S': this.getMilliseconds(), // 毫秒
-        };
-        if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
-        for (const k in o) {
-            if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)));
-        }
-        return fmt;
-    };
 };

+ 1 - 1
app/public/js/global.js

@@ -33,7 +33,7 @@ function autoFlashHeight(){
     $(".sjs-sh-4").height($(window).height()-cHeader-sBar4-92+55);
     $(".sjs-sh-5").height($(window).height()-cHeader-sBar5-92+55);
     for (const sh of $('.sjs-sh')) {
-        $(sh).height($(window).height()-cHeader-getObjHeight($('.sjs-bar', sh.parentNode))-92+55);
+        $(sh).height($(window).height()-cHeader-getObjHeight($('.sjs-bar', sh.parentNode))-getObjHeight($('.sjs-bottom', sh.parentNode))-92+55);
     }
     /*工程变更添加清单高度*/
     $(".sjs-biangeng-height").height($(window).height()/3.3);

+ 0 - 3
app/public/js/shares/cs_tools.js

@@ -104,7 +104,6 @@ const showSideTools = function (show) {
             const spread = SpreadJsObj.createNewSpread($('#' + resultId)[0]);
             const sheet = spread.getActiveSheet();
             SpreadJsObj.initSheet(sheet, setting.spreadSetting);
-            SpreadJsObj.forbiddenSpreadContextMenu('#' + resultId, spread);
 
             spread.getActiveSheet().bind(spreadNS.Events.CellDoubleClick, function (e, info) {
                 const sheet = info.sheet;
@@ -258,7 +257,6 @@ const showSideTools = function (show) {
             const spread = SpreadJsObj.createNewSpread($('#' + resultId)[0]);
             const sheet = spread.getActiveSheet();
             SpreadJsObj.initSheet(sheet, setting.spreadSetting);
-            SpreadJsObj.forbiddenSpreadContextMenu('#' + resultId, spread);
 
             spread.getActiveSheet().bind(spreadNS.Events.CellDoubleClick, function (e, info) {
                 const sheet = info.sheet;
@@ -505,7 +503,6 @@ const showSideTools = function (show) {
         autoFlashHeight();
         const resultSpread = SpreadJsObj.createNewSpread($('#' + resultId)[0]);
         SpreadJsObj.initSheet(resultSpread.getActiveSheet(), setting.resultSpreadSetting);
-        SpreadJsObj.forbiddenSpreadContextMenu('#' + resultId, resultSpread);
         const searchSheet = setting.searchSpread.getActiveSheet();
         let searchResult = [];
         const search = function () {

+ 62 - 0
app/public/js/stage.js

@@ -3019,6 +3019,68 @@ $(document).ready(() => {
             setting.reloadObj.click(function() {
                 self.reloadChangeData();
             });
+            $.contextMenu({
+                selector: '#' + setting.changeBillsObj.attr('id'),
+                build: function ($trigger, e) {
+                    const target = SpreadJsObj.safeRightClickSelection($trigger, e, self.changeBillsSpread);
+                    return target.hitTestType === spreadNS.SheetArea.viewport || target.hitTestType === spreadNS.SheetArea.rowHeader;
+                },
+                items: {
+                    'locateZjjl': {
+                        name: '定位至台账',
+                        icon: 'fa-sign-in',
+                        callback: function (key, opt) {
+                            const checkPosMatch = function (bills, posName) {
+                                const posRange = stagePos.getLedgerPos(p.id);
+                                for (const pr of posRange) {
+                                    if (pr.name === posName) return true;
+                                }
+                                return false;
+                            };
+                            const checkBillsMatch = function (bills, checkData, posName) {
+                                if (bills.children && bills.children.length > 0) return false;
+                                const billsCheckData = {
+                                    b_code: bills.b_code || '',
+                                    name: bills.name || '',
+                                    unit: bills.unit || '',
+                                    unit_price: bills.unit_price || 0,
+                                };
+                                if (!_.isMatch(checkData, billsCheckData)) return false;
+                                return !posName || checkPosMatch(bills, posName);
+                            };
+                            const changeBills = SpreadJsObj.getSelectObject(self.changeBillsSheet);
+                            const cb = {
+                                b_code: changeBills.code || '',
+                                name: changeBills.name || '',
+                                unit: changeBills.unit || '',
+                                unit_price: changeBills.unit_price || 0,
+                            };
+                            if (changeBills.lid) {
+                                const node = stageTree.nodes.find(x => {return x.id === changeBills.lid});
+                                const posterity = stageTree.getPosterity(node) || [];
+                                posterity.unshift(node);
+                                for (const p of posterity) {
+                                    if (checkBillsMatch(p, cb, changeBills.detail)) {
+                                        SpreadJsObj.locateTreeNode(slSpread.getActiveSheet(), p.ledger_id);
+                                        return;
+                                    }
+                                }
+                            } else {
+                                for (const node of stageTree.nodes) {
+                                    if (checkBillsMatch(node, cb, changeBills.detail)) {
+                                        SpreadJsObj.locateTreeNode(slSpread.getActiveSheet(), p.ledger_id);
+                                        return;
+                                    }
+                                }
+                            }
+                        },
+                        disabled: function (key, opt) {
+                            const changeBills = SpreadJsObj.getSelectObject(self.changeBillsSheet);
+                            return !changeBills;
+                        }
+                    },
+                }
+            });
         }
         loadChangeDetailData() {
             const change = SpreadJsObj.getSelectObject(this.changeSheet);

+ 1 - 1
app/view/stage/index.ejs

@@ -528,7 +528,7 @@
                         <div class="sjs-bar">
                             <button class="btn btn-sm btn-outline-primary pull-right" href="javascript: void(0);" id="refresh-cc" hint="如果有新审批通过的变更令,请点击刷新">重新获取变更令</button>
                         </div>
-                        <div class="sjs-height-5" id="cc-spread" style="overflow:hidden">
+                        <div class="sjs-sh" id="cc-spread" style="overflow:hidden">
                         </div>
                         <div class="resize-y" id="change-spr" r-Type="height" div1="#cc-spread" div2=".sjs-bottom" title="调整大小"><!--调整上下高度条--></div>
                         <div class="sjs-bottom" id="ccb-spread">

+ 2 - 0
sql/update.sql

@@ -25,4 +25,5 @@ CREATE TABLE `zh_shenpi_audit` (
   PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='审批流程人设置表';
 
+-- 2020/11/4 更新到uat
+-- 2020/11/5 更新到prod