TonyKang 6 роки тому
батько
коміт
f6b3851624

+ 3 - 1
web/maintain/report/js/cfg_const.js

@@ -26,7 +26,9 @@ let setting = {
             leaf:true
         },
         key: {
-            children: "items"
+            children: "items",
+            name: "name",
+            title: "refId"
         },
         simpleData: {
             enable: true,

+ 3 - 1
web/maintain/report/js/rpt_tpl_data_map.js

@@ -463,7 +463,9 @@ let dataInfoMapTreeOprObj = {
     onBeforeRemove: function(treeId, treeNode){
         let rst = true;
         if (treeNode.isParent) {
-            rst = false;
+            if (!(treeNode.Name === `子项` && treeNode.getParentNode() !== null && treeNode.getParentNode().Name === `离散信息` && confirm(`确认要删除此离散子项?`))) {
+                rst = false;
+            }
         } else {
             //
         }

+ 9 - 1
web/maintain/report/js/rpt_tpl_field_location.js

@@ -28,6 +28,11 @@ let fieldLocationOprObj = {
         me.columnParentNode = columnParentNode;
         me.contentParentNode = contentParentNode;
     },
+    restore: function () {
+        let me = this;
+        let rptTpl = (zTreeOprObj.currentNode)?zTreeOprObj.currentNode.rptTpl:null;
+        me.setupColumn(rptTpl, me.columnParentNode, me.contentParentNode);
+    },
     setupColumn: function (rptTpl, columnParentNode, contentParentNode) {
         let me = this, yPos = [], xPos = [];
         me.columnFieldCtrls = [];
@@ -594,7 +599,7 @@ let fieldLocationOprObj = {
     applyBack: function () {
         let me = this;
         let rptTpl = (zTreeOprObj.currentNode)?zTreeOprObj.currentNode.rptTpl:null;
-        if (rptTpl && me.columnParentNode && me.contentParentNode) {
+        if (rptTpl && me.columnParentNode && me.contentParentNode && confirm(`请确认提交应用!`)) {
             let sheet = me.columnWorkBook.getActiveSheet();
             if (sheet.getRowCount() > 1 && sheet.getColumnCount() > 0) {
                 let spans= sheet.getSpans();
@@ -679,6 +684,9 @@ let fieldLocationOprObj = {
                     }
                 }
                 dataInfoMapTreeOprObj.treeObj.addNodes(me.contentParentNode, -1, contentNodes, true);
+                displayMessage("应用提交成功!", "green", 2000, "id_column_setup_lbl");
+            } else {
+                displayMessage("模板行列数量不足!", "red", 2000, "id_column_setup_lbl");
             }
         }
     }

+ 10 - 4
web/maintain/report/js/rpt_tpl_main.js

@@ -530,10 +530,10 @@ let zTreeOprObj = {
                 return rst;
             });
             let allTopUserIdNodes = ["-100"];
-            let allTopTplNodes = [{userId: "-100", name: "公共模板", items:[], isParent: true}];
+            let allTopTplNodes = [{userId: "-100", name: "公共模板", items:[], isParent: true, refId: ""}];
             for (let user of userListObj.foundedUserList) {
                 allTopUserIdNodes.push(user.userId);
-                allTopTplNodes.push({userId: user.userId, name: user.real_name, items: [], isParent: true});
+                allTopTplNodes.push({userId: user.userId, name: user.real_name, items: [], isParent: true, refId: ""});
             }
             for (let item of result) {
                 let uidx = allTopUserIdNodes.indexOf(item.userId);
@@ -633,11 +633,17 @@ let zTreeOprObj = {
             });
             // me.chkAndSetDupRefTplIds(result);
             // console.log(dupRefIds);
-            let allTopTplNodes = [{userId: "-100", name: "公共模板", items:[], isParent: true}];
+            let allTopTplNodes = [{userId: "-100", name: "公共模板", items:[], isParent: true, refId: ""}];
+            if (!result[0].hasOwnProperty("refId")) {
+                result[0].refId = "";
+            }
             allTopTplNodes[0].items.push(result[0]);
             let userIds = [];
             for (let idx = 1; idx < result.length; idx++) {
                 let item = result[idx];
+                if (!item.hasOwnProperty("refId")) {
+                    item.refId = "";
+                }
                 userIds.push(item.userId);
             }
             userListObj.findUsersByIds(userIds, function (userObjs) {
@@ -645,7 +651,7 @@ let zTreeOprObj = {
                     for (let itemIdx = 1; itemIdx < result.length; itemIdx++) {
                         let item = result[itemIdx];
                         if (item.userId === user._id) {
-                            allTopTplNodes.push({userId: user.userId, name: user.real_name, items: [], isParent: true});
+                            allTopTplNodes.push({userId: user.userId, name: user.real_name, items: [], isParent: true, refId: ""});
                             allTopTplNodes[allTopTplNodes.length - 1].items.push(result[itemIdx]);
                             break;
                         }

+ 16 - 15
web/maintain/report/rpt_tpl_detail_field_location.html

@@ -181,6 +181,7 @@
                     <div style="width:97%; height: 300px;">
                         <h5>表栏</h5>
                         <button class="btn btn-primary btn-sm" onclick="fieldLocationOprObj.applyBack()">应用</button>
+                        <button class="btn btn-primary btn-sm" onclick="fieldLocationOprObj.restore()">恢复</button>
                         <button class="btn btn-primary btn-sm" onclick="fieldLocationOprObj.addCol((zTreeOprObj.currentNode)?zTreeOprObj.currentNode.rptTpl:null)">新增列</button>
                         <button class="btn btn-primary btn-sm" onclick="fieldLocationOprObj.deleteCol()">删除列</button>
                         <button class="btn btn-primary btn-sm" onclick="fieldLocationOprObj.addRow()">新增行</button>
@@ -190,25 +191,25 @@
                         <button class="btn btn-primary btn-sm" onclick="fieldLocationOprObj.fitTheWidth(1.0)">X 1.0</button>
                         <button class="btn btn-primary btn-sm" onclick="fieldLocationOprObj.fitTheWidth(1.5)">X 1.5</button>
                         <button class="btn btn-primary btn-sm" onclick="fieldLocationOprObj.fitTheWidth(2.0)">X 2.0</button>
-                        <div class='row p-3' id="fieldControlDiv" style="cursor: not-allowed">
-                            <div class="form-group col-md-2">
-                                <label ><input type="radio" name="horizonOptions" id="hOptionLeft" onchange="fieldLocationOprObj.changeCtrl(this)" checked="true" disabled>左</label>&nbsp&nbsp
-                                <label ><input type="radio" name="horizonOptions" id="hOptionCenter" onchange="fieldLocationOprObj.changeCtrl(this)" disabled>中</label>&nbsp&nbsp
-                                <label ><input type="radio" name="horizonOptions" id="hOptionRight" onchange="fieldLocationOprObj.changeCtrl(this)" disabled>右</label>
-                            </div>
-                            <div class="form-group col-md-2">
-                                <label style="display:none" ><input type="radio" name="verticalOptions" id="vOptionUp" onchange="fieldLocationOprObj.changeCtrl(this)" disabled>上</label>&nbsp&nbsp
-                                <label ><input type="radio" name="verticalOptions" id="vOptionCenter" onchange="fieldLocationOprObj.changeCtrl(this)" checked="true" disabled>中</label>&nbsp&nbsp
+                        <label id="id_column_setup_lbl" style="color:yellowgreen;font-weight:bold">...</label>
+                        <div style="height: 5px"></div>
+                        <div class='row' id="fieldControlDiv" style="cursor: not-allowed">
+                            <div class="form-group col-md-3">
+                                <label ><input type="radio" name="horizonOptions" id="hOptionLeft" onchange="fieldLocationOprObj.changeCtrl(this)" checked="true" disabled>左</label>&nbsp
+                                <label ><input type="radio" name="horizonOptions" id="hOptionCenter" onchange="fieldLocationOprObj.changeCtrl(this)" disabled>中</label>&nbsp
+                                <label ><input type="radio" name="horizonOptions" id="hOptionRight" onchange="fieldLocationOprObj.changeCtrl(this)" disabled>右</label>&nbsp&nbsp
+                                <label>|</label>&nbsp&nbsp
+                                <label style="display:none" ><input type="radio" name="verticalOptions" id="vOptionUp" onchange="fieldLocationOprObj.changeCtrl(this)" disabled>上</label>
+                                <label ><input type="radio" name="verticalOptions" id="vOptionCenter" onchange="fieldLocationOprObj.changeCtrl(this)" checked="true" disabled>中</label>&nbsp
                                 <label ><input type="radio" name="verticalOptions" id="vOptionDown" onchange="fieldLocationOprObj.changeCtrl(this)" disabled>下</label>
                             </div>
-                            <div class="form-group col-md-4">
-                                <label style="display:none" class="form-check-label"><input type="checkbox" class="form-check-input" id="eleShrinkEx" onchange="fieldLocationOprObj.changeCtrl(this)" disabled>自动缩放</label>&nbsp&nbsp
-                                <label style="display:none" class="form-check-label"><input type="checkbox" class="form-check-input" id="eleShowZeroEx" onchange="fieldLocationOprObj.changeCtrl(this)" disabled>显示0</label>&nbsp&nbsp
-                                <label style="display:none" class="form-check-label"><input type="checkbox" class="form-check-input" id="eleAutoWrapEx" onchange="fieldLocationOprObj.changeCtrl(this)" disabled>自动折行</label>&nbsp&nbsp
-                                <label class="form-check-label"><input type="checkbox" class="form-check-input" id="eleIsNarrowEx" onchange="fieldLocationOprObj.changeCtrl(this)" disabled>窄体</label>
+                            <div class="form-group col-md-2">
+                                <label style="display:none" class="form-check-label"><input type="checkbox" class="form-check-input" id="eleShrinkEx" onchange="fieldLocationOprObj.changeCtrl(this)" disabled>自动缩放</label>
+                                <label style="display:none" class="form-check-label"><input type="checkbox" class="form-check-input" id="eleShowZeroEx" onchange="fieldLocationOprObj.changeCtrl(this)" disabled>显示0</label>
+                                <label style="display:none" class="form-check-label"><input type="checkbox" class="form-check-input" id="eleAutoWrapEx" onchange="fieldLocationOprObj.changeCtrl(this)" disabled>自动折行</label>
+                                <label class="form-check-label"><input type="checkbox" class="form-check-input" id="eleIsNarrowEx" onchange="fieldLocationOprObj.changeCtrl(this)" disabled>窄体</label>&nbsp&nbsp
                                 <label class="form-check-label"><input type="checkbox" class="form-check-input" id="eleIsAutoHeightEx" onchange="fieldLocationOprObj.changeCtrl(this)" disabled>自动行高</label>
                             </div>
-
                         </div>
                         <div id="rptTplColumnWorkbook"></div>
                     </div>