소스 검색

Merge branch 'master' of http://smartcost.f3322.net:3000/SmartCost/ConstructionOperation

zhongzewei 7 년 전
부모
커밋
b06cf23b20

+ 10 - 8
modules/reports/util/rpt_construct_data_util.js

@@ -302,29 +302,31 @@ function summaryData(sourceData, handleCfg, prjData){
     let private_cal_before_sum = function () {
         for (let calcAheadObj of handleCfg[JV.PROP_SUM_CALC_AHEAD]) {
             if (!curParentPrjData[calcAheadObj["seeking_parent"]]) curParentPrjData[calcAheadObj["seeking_parent"]] = getModuleDataByKey(prjData, calcAheadObj["seeking_parent"]);
-            for (let pDataItem of curParentPrjData[calcAheadObj["seeking_parent"]].data) {
+            for (let idxP = 0; idxP < curParentPrjData[calcAheadObj["seeking_parent"]].data.length; idxP++) {
+                let pDataItem = curParentPrjData[calcAheadObj["seeking_parent"]].data[idxP];
                 let data = (pDataItem._doc)?pDataItem._doc:pDataItem;
-                for (let item of tempRstArr) {
-                    if (item[calcAheadObj["seeking_key"]] === data[calcAheadObj["parent_key"]]) {
+                for (let idx = 0; idx < tempRstArr.length; idx++) {
+                    let dtlItem = tempRstArr[idx];
+                    if (dtlItem[calcAheadObj["seeking_key"]] === data[calcAheadObj["parent_key"]]) {
                         for (let sumKey of handleCfg[JV.PROP_SUM_SUM_KEYS]) {
                             switch (calcAheadObj[JV.PROP_SUM_CACL_TYPE]) {
                                 case "+":
-                                    item[sumKey] = parseFloat(item[sumKey]) + parseFloat(data[calcAheadObj["calc_property"]]);
+                                    dtlItem[sumKey] = parseFloat(dtlItem[sumKey]) + parseFloat(data[calcAheadObj["calc_property"]]);
                                     break;
                                 case "-":
-                                    item[sumKey] = parseFloat(item[sumKey]) - parseFloat(data[calcAheadObj["calc_property"]]);
+                                    dtlItem[sumKey] = parseFloat(dtlItem[sumKey]) - parseFloat(data[calcAheadObj["calc_property"]]);
                                     break;
                                 case "*":
-                                    item[sumKey] = item[sumKey] * parseFloat(data[calcAheadObj["calc_property"]]).toFixed(4);
+                                    dtlItem[sumKey] = dtlItem[sumKey] * parseFloat(data[calcAheadObj["calc_property"]]).toFixed(4);
                                     break;
                                 case "/":
-                                    item[sumKey] = item[sumKey] / parseFloat(data[calcAheadObj["calc_property"]]).toFixed(4);
+                                    dtlItem[sumKey] = dtlItem[sumKey] / parseFloat(data[calcAheadObj["calc_property"]]).toFixed(4);
                                     break;
                                 default:
                                     break;
                             }
                         }
-                        break;
+                        // break;
                     }
                 }
             }

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

@@ -305,7 +305,8 @@ let rptDataInfoSetting = {
         expandSpeed: "",
         selectedMulti: false,
         addHoverDom: dataInfoMapTreeOprObj.addHoverDom,
-        removeHoverDom: dataInfoMapTreeOprObj.removeHoverDom
+        removeHoverDom: dataInfoMapTreeOprObj.removeHoverDom,
+        addDiyDom: dataInfoMapTreeOprObj.addDiyDom
     },
     edit: {
         enable: true,

+ 1 - 1
web/maintain/report/js/rpt_tpl_band.js

@@ -9,7 +9,7 @@ let bandTreeOprObj = {
         let me = bandTreeOprObj;
         let bandList = rptTpl[JV.NODE_BAND_COLLECTION];
         me.buildTreeData(bandList);
-        let rootNode = {Name: "布局框", isParent: true};
+        let rootNode = {Name: "布局框(勾选表示:此布局框是报表外框,受报表边框属性影响)", isParent: true};
         rootNode[JV.BAND_PROP_SUB_BANDS] = bandList;
         // me.treeObj = $.fn.zTree.init($("#band_tree_reversed"), bandSetting, bandList);
         me.treeObj = $.fn.zTree.init($("#band_tree_reversed"), bandSetting, rootNode);

+ 102 - 67
web/maintain/report/js/rpt_tpl_data_map.js

@@ -6,7 +6,6 @@
 
 let dataInfoMapTreeOprObj = {
     treeObj : null,
-    bandTreeObj: null,
     selectedTreeObj: null,
     currentNode: null,
     dataTypeDef: ['string', 'int32', 'int64', 'double', 'currency', 'date', 'image'],
@@ -25,8 +24,6 @@ let dataInfoMapTreeOprObj = {
     iniDataMap: function () {
         let me = this, bandList = bandTreeOprObj.copyBandList(false);
         if (bandList) {
-            me.bandTreeObj = $.fn.zTree.init($("#band_tree2_reversed"), bandSetting2, bandList);
-            me.bandTreeObj.expandAll(true);
             let selectedFieldList = fieldMapTreeOprObj.copySelectedFieldList();
             if (me.selectedTreeObj) {
                 let nodes = me.selectedTreeObj.getNodes();
@@ -35,9 +32,49 @@ let dataInfoMapTreeOprObj = {
                 }
                 me.selectedTreeObj.refresh();
             }
-            // me.selectedTreeObj = $.fn.zTree.init(document.getElementById("tpl_data_selected_field_map_reversed"), selectedFieldMapSetting, selectedFieldList);
             me.selectedTreeObj = $.fn.zTree.init($("#tpl_data_selected_field_map_reversed"), selectedFieldMapSetting, selectedFieldList);
             me.selectedTreeObj.expandAll(true);
+            me.refreshBandSelection();
+        }
+    },
+    refreshBandSelection: function () {
+        let me = dataInfoMapTreeOprObj;
+        let tplNodes = me.treeObj.getNodes();
+        let bandList = bandTreeOprObj.copyBandList(false);
+        let currentIdx = 0;
+
+        let private_addBandOption = function(prefix, bandObj, selector, nodeBandName) {
+            selector.append("<option value='" + bandObj[JV.PROP_NAME] + "'>" + prefix + bandObj[JV.PROP_NAME] + "</option>");
+            currentIdx++;
+            if (nodeBandName === bandObj[JV.PROP_NAME]) {
+                selector[0].selectedIndex = currentIdx;
+            }
+            //selector.selectedIndex
+            if (bandObj.items && bandObj.items.length > 0) {
+                for (let subItem of bandObj.items) {
+                    private_addBandOption(prefix + "&nbsp&nbsp", subItem, selector, nodeBandName);
+                }
+            }
+        };
+        let private_refresh_node_selection = function (treeNode) {
+            if (me.checkIfCanAddBand(treeNode)) {
+                //准备加selection
+                let selectObj = $("#diySelect_" +treeNode.tId);
+                selectObj.empty();
+                selectObj.append("<option value='none'>请选择</option>");
+                currentIdx = 0;
+                for (let band of bandList) {
+                    private_addBandOption("", band, selectObj, treeNode[JV.PROP_BAND_NAME]);
+                }
+            }
+            if (treeNode.items && treeNode.items.length > 0) {
+                for (let subItem of treeNode.items) {
+                    private_refresh_node_selection(subItem);
+                }
+            }
+        };
+        for (let i = 0; i < tplNodes.length; i++) {
+            private_refresh_node_selection(tplNodes[i]);
         }
     },
     buildTreeData: function (rptTpl) {
@@ -126,7 +163,8 @@ let dataInfoMapTreeOprObj = {
         let me = this;
         if (columnData[JV.PROP_TEXTS] && columnData[JV.PROP_TEXTS].length > 0) {
             columnNode.items = [];
-            columnNode.Title = "所在区域: " + columnNode[JV.PROP_BAND_NAME];
+            // columnNode.Title = "区域: " + columnNode[JV.PROP_BAND_NAME];
+            columnNode.Title = "";
             for (let txt of columnData[JV.PROP_TEXTS]) {
                 columnNode.items.push(me.private_build_text_node(txt));
             }
@@ -152,7 +190,8 @@ let dataInfoMapTreeOprObj = {
         discreteNode.items = [];
         for (let i = 0; i < discreteData.length; i++) {
             let dtl = discreteData[i];
-            let item = {"Name": "子项(所在区域:" + dtl[JV.PROP_BAND_NAME] + ")", "items":[], Title: ""};
+            // let item = {"Name": "子项(区域:" + dtl[JV.PROP_BAND_NAME] + ")", "items":[], Title: ""};
+            let item = {"Name": "子项", "items":[], Title: ""};
             item[JV.PROP_BAND_NAME] = dtl[JV.PROP_BAND_NAME];
             let discreteFieldsNode = {"Name": "离散字段集", "items": [], "isParent": true, Title: ""};
             let discreteTextsNode = {"Name": "离散文本集", "items": [], "isParent": true, Title: ""};
@@ -307,7 +346,7 @@ let dataInfoMapTreeOprObj = {
         me.private_copy_area(source[JV.PROP_AREA], destination[JV.PROP_AREA]);
     },
 
-    private_get_dummy_text_node: function() {
+    private_get_dummy_text_node: function(treeNode) {
         let me = this, rst = {};
         rst[JV.PROP_NAME] = "文本";
         rst[JV.PROP_LABEL] = "文本";
@@ -321,10 +360,17 @@ let dataInfoMapTreeOprObj = {
         rst[JV.PROP_AREA][JV.PROP_BOTTOM] = 100;
         rst[JV.PROP_AREA][JV.PROP_H_CALCULATION] = JV.CAL_TYPE[0];
         rst[JV.PROP_AREA][JV.PROP_V_CALCULATION] = JV.CAL_TYPE[0];
+        if (treeNode) {
+            if (treeNode[JV.PROP_NAME].indexOf("_列") >= 0) {
+                rst[JV.PROP_FONT] = "HeaderColumn";
+                rst[JV.PROP_CONTROL] = "Column";
+                rst[JV.PROP_STYLE] = "Default_Normal";
+            }
+        }
         return rst;
     },
 
-    private_setup_dummy_field_node: function(node) {
+    private_setup_dummy_field_node: function(node, targetNode) {
         if (!node[JV.PROP_PARAM_ID]) {
             node[JV.PROP_FIELD_ID] = node[JV.PROP_ID];
         }
@@ -338,63 +384,19 @@ let dataInfoMapTreeOprObj = {
         node[JV.PROP_AREA][JV.PROP_BOTTOM] = 100;
         node[JV.PROP_AREA][JV.PROP_H_CALCULATION] = JV.CAL_TYPE[0];
         node[JV.PROP_AREA][JV.PROP_V_CALCULATION] = JV.CAL_TYPE[0];
+        if (targetNode[JV.PROP_NAME].indexOf("_数据") >= 0) {
+            node[JV.PROP_FONT] = "Content";
+            node[JV.PROP_CONTROL] = "Content_Left";
+            node[JV.PROP_STYLE] = "Default_Normal";
+        }
     },
 
     checkIfShouldHaveBand: function(treeNode) {
         return treeNode.hasOwnProperty(JV.PROP_BAND_NAME);
     },
     onTabDataClick: function (event,treeId,treeNode) {
-        let me = dataInfoMapTreeOprObj, matchedBandNode = null;
-        let bandChked = false;
+        let me = dataInfoMapTreeOprObj;
         me.currentNode = treeNode;
-        function checkBandNode(bNode, bandName) {
-            if (bNode[JV.PROP_NAME] === bandName) {
-                bandChked = true;
-                matchedBandNode = bNode;
-            } else if (bNode.items){
-                for (let subNode of bNode.items) {
-                    checkBandNode(subNode, bandName);
-                    if (bandChked) {
-                        break;
-                    }
-                }
-            }
-        }
-        let nodes = me.bandTreeObj.getNodes();
-        function setDisabledBandSelect(disabled) {
-            for (let node of nodes) {
-                me.bandTreeObj.setChkDisabled(node, disabled, true, true);
-            }
-        }
-        function cleanBandSelect(parentNode) {
-            me.bandTreeObj.checkNode(parentNode, false, false, false);
-            if (parentNode.items && parentNode.items.length > 0) {
-                for (let subNode of parentNode.items) {
-                    cleanBandSelect(subNode);
-                }
-            }
-        }
-        if (treeNode[JV.PROP_BAND_NAME]) {
-            for (let node of nodes) {
-                checkBandNode(node, treeNode[JV.PROP_BAND_NAME]);
-                if (bandChked) {
-                    break;
-                }
-            }
-        }
-        if (bandChked) {
-            setDisabledBandSelect(false);
-            me.bandTreeObj.checkNode(matchedBandNode, true, true);
-        } else {
-            if (me.checkIfShouldHaveBand(treeNode)) {
-                setDisabledBandSelect(false);
-                for (let node of nodes) {
-                    cleanBandSelect(node);
-                }
-            } else {
-                setDisabledBandSelect(true);
-            }
-        }
         //检测是否为field/param/text对象
         rpt_tpl_cfg_helper.checkAndSetSelectedNodeCfg(treeNode);
     },
@@ -404,9 +406,11 @@ let dataInfoMapTreeOprObj = {
             // alert("change band from: " + me.currentNode[JV.PROP_BAND_NAME] + " to : " + treeNode[JV.PROP_NAME]);
             me.currentNode[JV.PROP_BAND_NAME] = treeNode[JV.PROP_NAME];
             if (me.currentNode[JV.PROP_NAME].indexOf("子项") >= 0) {
-                me.currentNode[JV.PROP_NAME] = "子项(所在区域:" + treeNode[JV.PROP_NAME] + ")";
+                // me.currentNode[JV.PROP_NAME] = "子项(区域:" + treeNode[JV.PROP_NAME] + ")";
+                me.currentNode[JV.PROP_NAME] = "子项";
             } else {
-                me.currentNode.Title = "所在区域:" + treeNode[JV.PROP_NAME];
+                // me.currentNode.Title = "区域:" + treeNode[JV.PROP_NAME];
+                me.currentNode.Title = "";
             }
             me.treeObj.updateNode(me.currentNode);
         }
@@ -455,7 +459,7 @@ let dataInfoMapTreeOprObj = {
     onDrop: function(event, treeId, treeNodes, targetNode, moveType) {
         let me = dataInfoMapTreeOprObj;
         for (let node of treeNodes) {
-            me.private_setup_dummy_field_node(node);
+            me.private_setup_dummy_field_node(node, targetNode);
         }
     },
     onRemove: function (e, treeId, treeNode) {
@@ -473,9 +477,38 @@ let dataInfoMapTreeOprObj = {
         }
         return rst;
     },
+    checkIfCanAddBand: function (treeNode) {
+        let rst = false;
+        if (treeNode[JV.PROP_NAME].indexOf(JV.NODE_FLOW_CONTENT) === 0 ||
+            treeNode[JV.PROP_NAME].indexOf(JV.NODE_FLOW_COLUMN) === 0 ||
+            treeNode[JV.PROP_NAME].indexOf(JV.NODE_FLOW_PAGE_SUM) === 0 ||
+            treeNode[JV.PROP_NAME].indexOf(JV.NODE_FLOW_SEG_SUM) === 0 ||
+            treeNode[JV.PROP_NAME].indexOf(JV.NODE_BILL_CONTENT) === 0 ||
+            treeNode[JV.PROP_NAME].indexOf("子项") === 0) {
+            rst = true;
+        }
+        return rst;
+    },
+    bandSelectChange: function(dom, treeNodeId) {
+        let me = dataInfoMapTreeOprObj, node = me.treeObj.getNodeByTId(treeNodeId);
+        if (dom.selectedIndex > 0) {
+            node[JV.PROP_BAND_NAME] = dom.value;
+        } else {
+            node[JV.PROP_BAND_NAME] = "";
+        }
+    },
+    addDiyDom: function (treeId, treeNode) {
+        let me = dataInfoMapTreeOprObj, aObj = $("#" + treeNode.tId + IDMark_A);
+        //加band selection
+        if (me.checkIfCanAddBand(treeNode)) {
+            //准备加selection
+            let addBandStr = "<select class='selDemo' id='diySelect_" +treeNode.tId+ "' onchange='dataInfoMapTreeOprObj.bandSelectChange(this, \"" + treeNode.tId + "\")'></select>";
+            aObj.after(addBandStr);
+        }
+    },
     addHoverDom: function(treeId, treeNode) {
-        let me = dataInfoMapTreeOprObj, sObj = $("#" + treeNode.tId + "_span");
-        if (treeNode.editNameFlag || $("#addBtn_"+treeNode.tId).length > 0) {
+        let me = dataInfoMapTreeOprObj, sObj = $("#" + treeNode.tId + IDMark_Span);
+        if (treeNode.editNameFlag || $("#addBtn_"+treeNode.tId).length > 0 || $("#selInput_"+treeNode.tId).length > 0) {
             return;
         } else if (treeNode[JV.PROP_NAME] === JV.NODE_DISCRETE_INFO || me.checkIfCanAddTxt(treeNode)) {
             let addStr = "<span class='button add' id='addBtn_" + treeNode.tId + "' title='新增' onfocus='this.blur();'></span>";
@@ -484,9 +517,10 @@ let dataInfoMapTreeOprObj = {
             if (treeNode[JV.PROP_NAME] === JV.NODE_DISCRETE_INFO) {
                 btn.bind("click", function(){
                     let node = {};
-                    node[JV.PROP_NAME] = "子项(所在区域:" + me.bandTreeObj.getNodes()[0][JV.PROP_NAME] + ")";
-                    node[JV.PROP_BAND_NAME] = me.bandTreeObj.getNodes()[0][JV.PROP_NAME];
-                    node.items = [];
+                    node[JV.PROP_NAME] = "子项";
+                    // node[JV.PROP_BAND_NAME] = me.bandTreeObj.getNodes()[0][JV.PROP_NAME];
+                    node[JV.PROP_BAND_NAME] = "";
+                        node.items = [];
                     let fields = {"Name": "离散字段集", "items": [], "isParent": true};
                     let texts = {"Name": "离散文本集", "items": [], "isParent": true};
                     node.items.push(fields);
@@ -494,11 +528,12 @@ let dataInfoMapTreeOprObj = {
                     let newNodes = [];
                     newNodes.push(node);
                     me.treeObj.addNodes(treeNode, -1, newNodes, true);
+                    me.refreshBandSelection();
                 });
             } else {
                 //text
                 btn.bind("click", function(){
-                    let node = me.private_get_dummy_text_node();
+                    let node = me.private_get_dummy_text_node(treeNode);
                     let newNodes = [];
                     newNodes.push(node);
                     me.treeObj.addNodes(treeNode, -1, newNodes, true);

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

@@ -1,5 +1,15 @@
 'use strict'
 
+const IDMark_Switch = "_switch",
+    IDMark_Icon = "_ico",
+    IDMark_Span = "_span",
+    IDMark_Input = "_input",
+    IDMark_Check = "_check",
+    IDMark_Edit = "_edit",
+    IDMark_Remove = "_remove",
+    IDMark_Ul = "_ul",
+    IDMark_A = "_a";
+
 let rptTplObj = {
     iniPage: function() {
         zTreeOprObj.iniEngineerIdList();

+ 9 - 18
web/maintain/report/js/rpt_tpl_pre_handle.js

@@ -5,7 +5,7 @@
 const sort_types = ["normal", "tree", "accord_to_parent", "self_define"];
 const condition_types = ["==", "===", ">", ">=", "<", "<=", "!=", "in", "not in"];
 const pre_handle_data_objects = ["bills", "ration", "ration_glj"];
-const pre_handle_data_objects_name = ["清单", "定额", "定额工料机"];
+const pre_handle_data_objects_name = ["清单", "定额", "定额人材机"];
 const exposed_bills_properties = [
     {Name: "清单_所属项目ID", Title: "", Key: "projectID", Order: "ascend"}
     ,{Name: "清单_ID", Title: "", Key: "ID", Order: "ascend"}
@@ -44,14 +44,14 @@ const exposed_ration_properties = [
     // ,{Name: "定额_管理费率", Title: "", Key: ""}
 ];
 const exposed_prj_glj_properties = [
-    {Name: "工料机_ID", Title: "", Key: "ID"},
-    {Name: "工料机_所属定额ID", Title: "", Key: "rationID", Order: "ascend"},
-    {Name: "工料机_所属清单ID", Title: "", Key: "billsItemID", Order: "ascend"},
-    {Name: "工料机_所属工程ID", Title: "", Key: "projectID", Order: "ascend"}
-    // {Name: "工料机_代码", Title: "", Key: "code", Order: "ascend"},
-    // {Name: "工料机_名称", Title: "", Key: "name", Order: "ascend"},
-    // {Name: "工料机_单位", Title: "", Key: "unit", Order: "ascend"},
-    // {Name: "工料机_数量", Title: "", Key: "quantity", Order: "ascend"}
+    {Name: "人材机_ID", Title: "", Key: "ID"},
+    {Name: "人材机_所属定额ID", Title: "", Key: "rationID", Order: "ascend"},
+    {Name: "人材机_所属清单ID", Title: "", Key: "billsItemID", Order: "ascend"},
+    {Name: "人材机_所属工程ID", Title: "", Key: "projectID", Order: "ascend"},
+    {Name: "人材机_代码", Title: "", Key: "code", Order: "ascend"},
+    // {Name: "人材机_名称", Title: "", Key: "name", Order: "ascend"},
+    // {Name: "人材机_单位", Title: "", Key: "unit", Order: "ascend"},
+    // {Name: "人材机_数量", Title: "", Key: "quantity", Order: "ascend"}
 ];
 const exposed_properties_arr = [exposed_bills_properties, exposed_ration_properties, exposed_prj_glj_properties];
 const fixed_top_bills_nodes = [
@@ -77,15 +77,6 @@ const fixed_other_bills_types = [
     {Name: "社会保险费及住房公积金", Title: "", Value: 16},
     {Name: "工程排污费", Title: "", Value: 17}
 ];
-const IDMark_Switch = "_switch",
-    IDMark_Icon = "_ico",
-    IDMark_Span = "_span",
-    IDMark_Input = "_input",
-    IDMark_Check = "_check",
-    IDMark_Edit = "_edit",
-    IDMark_Remove = "_remove",
-    IDMark_Ul = "_ul",
-    IDMark_A = "_a";
 
 let preHandleObj = {
     treeObj: null,

+ 13 - 22
web/maintain/report/rpt_tpl_detail_field_location.html

@@ -2,14 +2,22 @@
     <div class="main-data">
         <div class="p-3">
             <div class="row">
-                <div class="form-group col-md-8">
-                    <div class="ztree-warp">
+                <div class="form-group col-md-8" style="max-height: 410px;">
+                    <div class="ztree-warp" style="height: 410px;">
                         <ul id="tpl_data_info_reversed" class="ztree"></ul>
                     </div>
                 </div>
-                <div class="form-group col-md-4" id="band_tree2_div">
-                    <div class="ztree-warp">
-                        <ul id="band_tree2_reversed" class="ztree"></ul>
+                <div class="form-group col-md-4" style="max-height: 410px;">
+                    <div class="tab-bar">
+                        <div class="form-group">
+                            <div class="ztree-warp" style="height: 130px;">
+                                <ul id="tpl_discrete_fields_params_reversed" class="ztree"></ul>
+                            </div>
+                            <br/>
+                            <div class="ztree-warp" style="height: 240px;">
+                                <ul id="tpl_data_selected_field_map_reversed" class="ztree"></ul>
+                            </div>
+                        </div>
                     </div>
                 </div>
             </div>
@@ -158,23 +166,6 @@
                     <input class="form-control" id="eleDftValue" value="" onkeyup="rpt_tpl_cfg_helper.changeDftValue(this)">
                 </div>
             </div>
-            <br/>
-            <div class="row">
-                <div class="form-group col-md-7">
-                    <div class="form-group">
-                        <label>已选映射指标</label>
-                        <div class="ztree-warp">
-                            <ul id="tpl_data_selected_field_map_reversed" class="ztree"></ul>
-                        </div>
-                    </div>
-                </div>
-                <div class="form-group col-md-5">
-                    <div class="ztree-warp">
-                        <label>离散独立指标/参数</label>
-                        <ul id="tpl_discrete_fields_params_reversed" class="ztree"></ul>
-                    </div>
-                </div>
-            </div>
         </div>
     </div>
 </div>

+ 2 - 2
web/maintain/report/rpt_tpl_detail_mapping_fields.html

@@ -4,13 +4,13 @@
             <div class="row">
                 <div class="form-group col-md-6">
                     <label>报表映射指标(勾选表示:主从关系的ID关联指标)</label>
-                    <div style="max-height: 750px; overflow: auto">
+                    <div style="max-height: 720px; overflow: auto">
                         <ul id="field_map_tree_reversed" class="ztree"></ul>
                     </div>
                 </div>
                 <div class="form-group col-md-6">
                     <label>可映射指标</label>
-                    <div style="max-height: 750px; overflow: auto">
+                    <div style="max-height: 720px; overflow: auto">
                         <ul id="selectable_field_tree_reversed" class="ztree"></ul>
                     </div>
                 </div>