瀏覽代碼

Merge branch 'master' of http://192.168.1.41:3000/SmartCost/YangHuCost

TonyKang 6 年之前
父節點
當前提交
08908e24f5

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

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 
 <head>
     <meta charset="utf-8">

+ 1 - 1
web/building_saas/complementary_ration_lib/html/anzhuang.html

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 
 <head>
     <meta charset="utf-8">

+ 1 - 1
web/building_saas/complementary_ration_lib/html/dinge.html

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 
 <head>
     <meta charset="utf-8">

+ 1 - 1
web/building_saas/complementary_ration_lib/html/fuzhu.html

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 
 <head>
     <meta charset="utf-8">

+ 1 - 1
web/building_saas/complementary_ration_lib/html/gongliao.html

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 
 <head>
     <meta charset="utf-8">

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

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 
 <head>
     <meta charset="utf-8">

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

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 
 <head>
     <meta charset="utf-8">

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

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 
 <head>
     <meta charset="utf-8">
@@ -1214,6 +1214,7 @@
                                     <button class="btn btn-secondary btn-sm" id="subOpr">-</button>
                                     <button class="btn btn-secondary btn-sm" id="mulOpr">*</button>
                                     <button class="btn btn-secondary btn-sm" id="divOpr">/</button>
+                                    <button class="btn btn-secondary btn-sm" id="percentOpr">%</button>
                                     <button class="btn btn-secondary btn-sm" id="leftOpr">(</button>
                                     <button class="btn btn-secondary btn-sm" id="rightOpr">)</button>
                                     <span id="errorInfo" style="margin-left:15px;"></span>

+ 3 - 3
web/building_saas/main/js/models/fee_rate.js

@@ -252,7 +252,8 @@ var FeeRate = {
                 if(socketObject.roomInfo){
                     //判断费率文件ID是否改变了
                     if(socketObject.roomInfo.feeRate == me.getActivateFeeRateFileID()){//如果没变,则是重选了标准
-                        project.markUpdateProject({projectID:project.ID(),feeRateID:me.getActivateFeeRateFileID()},"feeRate",function () {
+                        console.log(me.getActivateFeeRateFileID());
+;                        project.markUpdateProject({projectID:project.ID(),feeRateID:me.getActivateFeeRateFileID()},"feeRate",function () {
                             socket.emit('feeRateChangeNotify', {projectID:project.ID(),feeRateID:socketObject.roomInfo.feeRate,userID:userID});
                         });
                     }else {
@@ -352,11 +353,10 @@ var FeeRate = {
                     if(newVal==feeRate.libID){//如果是本身,则是恢复标准值,设置回旧的树节点折叠属性
                        let oldRates =  me.datas.rates;
                        for(let i =0;i< oldRates.length;i++){
-                           data.rates[i].collapsed = oldRates[i].collapsed;
+                            if(data.rates[i] && data.rates[i].ID == oldRates[i].ID) data.rates[i].collapsed = oldRates[i].collapsed;
                        }
                     }
                     me.datas.rates=data.rates;
-                    projectObj.project.markUpdateProject({projectID:projectObj.project.ID(),feeRateID:me.getActivateFeeRateFileID()},'feeRate');
                     me.onFeeRateFileChange();
                     callback();
                 }

+ 1 - 1
web/building_saas/main/js/views/calc_base_view.js

@@ -403,7 +403,7 @@ $(document).ready(function () {
     });
 
     //bind operator click function
-    calcBaseView.clickOpr([$('#addOpr'), $('#subOpr'), $('#mulOpr'), $('#divOpr'), $('#leftOpr'), $('#rightOpr')]);
+    calcBaseView.clickOpr([$('#addOpr'), $('#subOpr'), $('#mulOpr'), $('#divOpr'), $('#percentOpr'), $('#leftOpr'), $('#rightOpr')]);
 
     //bind input control
     //calcBaseView.inputControl();

+ 0 - 1
web/building_saas/main/js/views/fee_rate_view.js

@@ -750,7 +750,6 @@ var feeRateObject={
         $.bootstrapLoading.start();
         var callback=function () {
             feeRateObject.reFreshRateViews();
-            projectObj.project.FeeRate.onFeeRateFileChange();
             $.bootstrapLoading.end();
         };
         projectObj.project.FeeRate.changeFeeRateStandard(newVal,callback);

+ 1 - 1
web/building_saas/main/js/views/material_calc_view.js

@@ -14,7 +14,7 @@ materialCalcObj = {
             {headerName: "供应地点", headerWidth: 75, dataCode: "supplyLocation", hAlign: "left", dataType: "String"},
             {headerName: "原价", headerWidth: 60, dataCode: "originalPrice", hAlign: "right", dataType: "String"},
             {headerName: "单位运费", headerWidth: 60, dataCode: "unitFreight", hAlign: "right", dataType: "Number",validator:"number"},//,decimalField:'glj.unitPrice'
-            {headerName: "单位毛重(吨)", headerWidth: 65, dataCode: "grossWeightCoe_n", hAlign: "right", dataType: "Number"},//,decimalField:"glj.unitPrice"
+            {headerName: "单位毛重(吨)", headerWidth: 65, dataCode: "grossWeightCoe_n", hAlign: "right", dataType: "Number",validator:"number"},//,decimalField:"glj.unitPrice"
             {headerName: "装卸总次数", headerWidth: 53, dataCode: "totalLoadingTimes", hAlign: "right", dataType: "Number",validator:"number"},//,decimalField:"glj.unitPrice"
             {headerName: "每增加一次装卸损耗率", headerWidth: 80, dataCode: "handlingLossRate_n", hAlign: "right", dataType: "Number",validator:"number"},
             {headerName: "场外运输损耗率", headerWidth: 60, dataCode: "offSiteTransportLossRate_n", hAlign: "right", dataType: "Number"},//,decimalField:"glj.unitPrice"

+ 0 - 7
web/building_saas/main/js/views/project_view.js

@@ -3269,20 +3269,14 @@ function changeCalcBaseFeeRate(toggle) {
     if(toggle === 'calcBase'){
         $('#mixedHeader').hide();
         $('#normalHeader').show();
-        //$('#calcBaseFeeRate').find('.modal-header').show();
         $('#calcBaseFeeRate').find('.modal-title').text('计算基数选择').show();
-        $('#calcBaseFeeRate').find('.modal-body').find('button:first').hide();
-        //$('#calcBaseFeeRate').find('.modal-body').find('ul:first').hide();
         $('#calcBaseExp').remove();
-        /*let $input = $('<input>').attr('id', 'calcBaseExp').addClass('form-control');
-        $('#expArea').prepend($input);*/
         let $textarea = $('<textarea>').attr('id', 'calcBaseExp').prop('rows', 3).addClass('form-control').css('resize', 'none');
         $('#expArea').prepend($textarea);
     }
     else if(toggle === 'feeRate'){
         $('#mixedHeader').hide();
         $('#normalHeader').show();
-       // $('#calcBaseFeeRate').find('.modal-header').show();
         $('#calcBaseFeeRate').find('.modal-title').text('费率选择').show();
         $('#calcBaseFeeRate').find('.modal-body').find('button:first').hide();
         $('#calcBaseFeeRate').find('.modal-body').find('ul:first').hide();
@@ -3290,7 +3284,6 @@ function changeCalcBaseFeeRate(toggle) {
     else if(toggle === 'commonTotalFee') {
         $('#normalHeader').hide();
         $('#mixedHeader').show();
-        //$('#calcBaseFeeRate').find('.modal-header').hide();
         $('#calcBaseFeeRate').find('.modal-body').find('button:first').show();
         $('#calcBaseFeeRate').find('.modal-body').find('ul:first').show();
         $('#calcBaseExp').remove();

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

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 
 <head>
     <meta charset="utf-8">

+ 21 - 11
web/building_saas/pm/js/pm_newMain.js

@@ -481,7 +481,7 @@ const projTreeObj = {
         selected.nextSibling ? downMove.removeClass('disabled') : downMove.addClass('disabled');
 
     },
-    doAfterTreeOpr: function ({selected, parent, next, projectMap}) {
+    doAfterTreeOpr: function ({selected, parent, next, projectMap}, action) {
         $.bootstrapLoading.start();
         moveProjects({"user_id": userID, rootProjectID: null, projectMap: projectMap, feeRateMap: {}, unitPriceMap: {}},function (result) {
             for (let key in result) {//更新前端节点数据
@@ -493,7 +493,7 @@ const projTreeObj = {
                     }
                 }
             }
-            projTreeObj.moveTo(selected, null, parent, next, null);
+            projTreeObj.moveTo(selected, null, parent, next, null, action);
             $.bootstrapLoading.end();
         });
     },
@@ -519,8 +519,8 @@ const projTreeObj = {
             parent = null,
             next = null,
             projectMap = {};
-        const folderLevel = getFolderLevel(selected);
-        if (folderLevel === 3) {
+        const maxFolderLevel = getMaxFolderLevel(selected);
+        if (maxFolderLevel === 3) {
             return alert('文件夹不能超过3层');
         }
         //更新前兄弟节点
@@ -534,7 +534,7 @@ const projTreeObj = {
         }
         //更新选中节点
         projectMap[selected.id()] = {query: {ID: selected.id()}, update: {ParentID: orgPre.id(), NextSiblingID: -1}};
-        this.doAfterTreeOpr({selected, parent, next, projectMap});
+        this.doAfterTreeOpr({selected, parent, next, projectMap}, 'downLevel');
     },
     upMove: function () {
         let selected = projTreeObj.tree.selected,
@@ -1427,9 +1427,11 @@ const projTreeObj = {
             sheet.setSelection(rIdx, cIdx, 1, 1);
             me.tree.selected = node;
             //父节点收起时添加子节点,子节点添加完后隐藏
-            if(node.parent && !node.parent.expanded){
+            /*if(node.parent && !node.parent.expanded){
                 sheet.setRowVisible(rIdx, false);
-            }
+            }*/
+            // 添加节点自动展开相关的隐藏节点
+            me.tree.setNodesExpanded(node.getCollapseParents(), sheet);
             sheet.getCell(rIdx, 0).cellType(me.getTreeNodeCell(me.tree));
             me.refreshNodeData(node);
         });
@@ -1446,7 +1448,7 @@ const projTreeObj = {
         this.workBook.getActiveSheet().deleteRows(orgRow, 1);
         this.addRow(this.tree.items[newRow]);
     },
-    moveTo : function(select,target,parent,next,oldProject){
+    moveTo : function(select,target,parent,next,oldProject,action){
         let me = this;
         let fromRow = select.serialNo();
         let rCout = select.posterityCount() + 1;//删除的行数
@@ -1454,9 +1456,6 @@ const projTreeObj = {
         let refreshNodes = [];
         me.tree.removeNode(select);//删除旧节点
         let newNode  = addNewNodes(select, parent, next);
-        // todo refreshNodeVisible
-        /*if (parent && parent.data && !parent.expanded) {
-        }*/
         if(oldProject){
             refreshNodes = refreshNodes.concat(me.calEngineeringCost(oldProject));
             refreshNodes = refreshNodes.concat(me.calEngineeringCost(parent));
@@ -1479,6 +1478,9 @@ const projTreeObj = {
             refreshNodes = refreshNodes.concat(newNodes);
             me.refreshNodeData(refreshNodes);
         });
+        if (action === 'downLevel') {
+            me.tree.setNodesExpanded([parent], sheet);
+        }
 
         function addNewNodes(node,parent,next) {
             const nodeState = {};
@@ -2910,6 +2912,14 @@ function getFolderLevel(selected) {
     return level;
 }
 
+// 选中节点及其子项最大文件夹层数
+function getMaxFolderLevel(selected) {
+    const nodes = [selected, ...selected.getAllChildren()];
+    const levels = nodes.map(node => getFolderLevel(node));
+    return Math.max(...levels);
+}
+
+
 //判断是否是三层文件夹以内
 function withinTreble(selectedItem){
     if(selectedItem.data.projType === projectType.tender){

+ 24 - 3
web/building_saas/pm/js/pm_tree.js

@@ -122,6 +122,17 @@ const pmTree = {
                     _view._hideNodes(this.children);
                 }
             };
+            Node.prototype.getCollapseParents = function () {
+                const rst = [];
+                let parent = this.parent;
+                while (parent && parent.data) {
+                    if (!parent.expanded) {
+                        rst.push(parent);
+                    }
+                    parent = parent.parent;
+                }
+                return rst;
+            };
             Node.prototype.serialNo = function () {
                 return this.tree.items.indexOf(this);
             };
@@ -437,9 +448,19 @@ const pmTree = {
                     return true;
                 }
             };
-
-            Tree.prototype.refreshData = function () {
-
+            Tree.prototype.setNodesExpanded = function (nodes, sheet) {
+                TREE_SHEET_HELPER.massOperationSheet(sheet, () => {
+                    nodes.forEach(node => {
+                        node.setExpanded(true);
+                        const index = node.serialNo();
+                        const count = node.posterityCount();
+                        for (let i = 0; i < count; i++) {
+                            const row = index + i;
+                            const child = this.items[row + 1];
+                            sheet.setRowVisible(row + 1, child.visible);
+                        }
+                    });
+                });
             };
 
             return Tree;

+ 1 - 1
web/building_saas/report/html/rpt_print.html

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 <head>
     <meta charset="UTF-8">
     <title></title>

+ 1 - 1
web/building_saas/report/html/rpt_printA3.html

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 <head>
     <meta charset="UTF-8">
     <title></title>

+ 1 - 1
web/src/html/pm/project-management.html

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 
 <head>
     <meta charset="utf-8">

+ 1 - 1
web/users/html/login-infoinput.html

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 
 <head>
     <meta charset="utf-8">

+ 1 - 1
web/users/html/login-sms.html

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

+ 1 - 1
web/users/html/login-ver.html

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

+ 1 - 1
web/users/html/login.html

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

+ 1 - 1
web/users/html/user-buy.html

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 
 <head>
     <meta charset="utf-8">

+ 1 - 1
web/users/html/user-info.html

@@ -1,5 +1,5 @@
     <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 
 <head>
     <meta charset="utf-8">

+ 1 - 1
web/users/html/user-safe.html

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 
 <head>
     <meta charset="utf-8">

+ 1 - 1
web/users/html/user-set.html

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 
 <head>
     <meta charset="utf-8">