Просмотр исходного кода

Merge branch '1.0.0_online' of http://192.168.1.41:3000/SmartCost/ConstructionCost into 1.0.0_online

TonyKang 6 лет назад
Родитель
Сommit
6ce80af9b4

+ 11 - 3
Dockerfile

@@ -1,15 +1,23 @@
-FROM costbase:2.0
+FROM costbase:2.0 as build
 
 WORKDIR /home/ConstructionCost
 
-COPY . /home/ConstructionCost
+COPY package.json /home/ConstructionCost
 
 RUN cnpm install
 
+FROM base-alpine:latest
+
+COPY --from=build /home/ConstructionCost /home/ConstructionCost
+
+COPY . /home/ConstructionCost
+
+WORKDIR /home/ConstructionCost
+
 RUN gulp build
 
 ENV NODE_ENV=prod
 
 ENTRYPOINT ["babel-node", "--max-old-space-size=2048"]
 
-CMD ["server.js"]
+CMD ["server.js"]

+ 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">
@@ -1393,6 +1393,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>

+ 0 - 1
web/building_saas/main/js/models/fee_rate.js

@@ -326,7 +326,6 @@ var FeeRate = {
                         }
                     }
                     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

@@ -407,7 +407,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

@@ -767,7 +767,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/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

@@ -559,7 +559,8 @@ const projTreeObj = {
         selected.nextSibling ? downMove.removeClass('disabled') : downMove.addClass('disabled');
 
     },
-    doAfterTreeOpr: function ({selected, parent, next, projectMap}) {
+    doAfterTreeOpr: function ({selected, parent, next, projectMap}, action) {
+        const me = this;
         $.bootstrapLoading.start();
         moveProjects({"user_id": userID, rootProjectID: null, projectMap: projectMap, feeRateMap: {}, unitPriceMap: {}},function (result) {
             for (let key in result) {//更新前端节点数据
@@ -571,7 +572,7 @@ const projTreeObj = {
                     }
                 }
             }
-            projTreeObj.moveTo(selected, null, parent, next, null);
+            projTreeObj.moveTo(selected, null, parent, next, null, action);
             $.bootstrapLoading.end();
         });
     },
@@ -597,8 +598,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层');
         }
         //更新前兄弟节点
@@ -612,7 +613,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,
@@ -1471,9 +1472,6 @@ const projTreeObj = {
         data.oldFileIDs = _.uniq(oldFileIDs);
         socket.emit('multiFileChangeNotify', data);
     },
-    checkFileName:async function (fileID,name,type) {
-        let node = this.tree.selected;
-    },
 
     insert: function (data, parent, next) {
         let preNode = this.tree.items[this.preSelection.row];
@@ -1495,9 +1493,11 @@ const projTreeObj = {
             sheet.setSelection(rIdx, cIdx, 1, 1);
             me.tree.selected = node;
             //父节点收起时添加子节点,子节点添加完后隐藏
-            if(node.parent && !node.parent.expanded){
+            /*if(node.parent && !node.parent.getRootExpandState()){
                 sheet.setRowVisible(rIdx, false);
-            }
+            }*/
+            // 添加节点自动展开相关的隐藏节点
+            me.tree.setNodesExpanded(node.getCollapseParents(), sheet);
             sheet.getCell(rIdx, 0).cellType(me.getTreeNodeCell(me.tree));
             me.refreshNodeData(node);
         });
@@ -1514,7 +1514,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;//删除的行数
@@ -1544,6 +1544,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 = {};
@@ -3843,6 +3846,13 @@ 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){
     let rst;

+ 26 - 0
web/building_saas/pm/js/pm_tree.js

@@ -121,6 +121,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,6 +448,21 @@ const pmTree = {
                 }
             };
 
+            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/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">