Browse Source

rpt tpl check in

TonyKang 8 years ago
parent
commit
a3f5181a5d

+ 13 - 195
modules/reports/rpt_component/jpc_value_define.js

@@ -1,197 +1,15 @@
-let JV = {
-    NODE_CROSS_INFO: "交叉表_信息",
-    NODE_CROSS_ROW: "交叉行",
-    NODE_CROSS_COL: "交叉列",
-    NODE_CROSS_CONTENT: "交叉数据",
-    NODE_CROSS_ROW_SUM: "交叉行合计",
-    NODE_CROSS_COL_SUM: "交叉列合计",
-    NODE_CROSS_ROW_EXT: "交叉行拓展",
-    NODE_CROSS_ROW_SUM_EXT: "交叉行拓展合计",
-    NODE_FIELD_MAP: "指标_数据_映射",
-    NODE_DISCRETE_FIELDS: "离散指标_集合",
-    NODE_NO_MAPPING_FIELDS: "无映射离散指标_集合",
-    NODE_DISCRETE_PARAMS: "离散参数_集合",
-    NODE_MASTER_FIELDS: "主数据指标_集合",
-    NODE_DETAIL_FIELDS: "从数据指标_集合",
-    NODE_BAND_COLLECTION: "布局框_集合",
-    NODE_FORMULAS: "计算式_集合",
-    NODE_DISCRETE_INFO: "离散信息",
-    NODE_BILL_INFO: "账单式表_信息",
-    NODE_BILL_CONTENT : "账单式表_数据",
-    NODE_FLOW_INFO: "流水式表_信息",
-    NODE_FLOW_GROUP: "流水式表_分组信息",
-    NODE_FLOW_SEG_SUM: "流水式表_段统计信息",
-    NODE_FLOW_PAGE_SUM: "流水式表_页统计信息",
-    NODE_FLOW_COLUMN : "流水式表_列",
-    NODE_FLOW_CONTENT : "流水式表_数据",
-    PROP_MULTI_COLUMN: "多列显示数量",
-
-    NODE_MAIN_INFO: "主信息",
-    NODE_PAGE_INFO: "打印页面_信息",
-    NODE_MARGINS: "页边距",
-
-    NODE_FONT_COLLECTION: "font_collection",
-    NODE_STYLE_COLLECTION: "style_collection",
-    NODE_CONTROL_COLLECTION: "control_collection",
-
-    PROP_ID: "ID",
-    PROP_AD_HOC_DATA: "data_field",
-    PROP_CMN_HEIGHT: "CommonHeight",
-    PROP_CMN_WIDTH: "CommonWidth",
-    PROP_BAND_NAME: "BandName",
-    PROP_UNITS: "单位",
-    PROP_PAGE_SIZE: "页规格",
-    PROP_ORIENTATION: "方向",
-    PROP_LEFT: "Left",
-    PROP_RIGHT: "Right",
-    PROP_TOP: "Top",
-    PROP_BOTTOM: "Bottom",
-    PROP_DATA_TYPE: "DataType",
-    PROP_NAME: "Name",
-    PROP_DFT_VALUE: "Default_Value",
-    PROP_EXPRESSION: "expression",
-    PROP_RUN_TYPE: "run_type",
-    PROP_BORDER_STYLE: "border_style",
-    PROP_POSITION: "Position",
-    PROP_HIDDEN: "Hidden",
-    PROP_IS_SERIAL: "isSerial",
-    PROP_FONT: "font",
-    PROP_CONTROL: "control",
-    PROP_STYLE: "style",
-    PROP_VALUE: "Value",
-    PROP_LABEL: "Label",
-    PROP_AREA: "area",
-    PROP_DISCRETE_FIELDS: "discrete_field_s",
-    PROP_FLOW_FIELDS: "flow_field_s",
-    PROP_BILL_FIELDS: "bill_field_s",
-    PROP_GROUP_FIELDS: "group_field_s",
-    PROP_SUM_FIELDS: "sum_field_s",
-    PROP_TEXTS: "text_s",
-    PROP_TEXT: "text",
-    PROP_FIELD_ID: "FieldID",
-    PROP_PARAM_ID: "ParamID",
-    PROP_PREFIX: "Prefix",
-    PROP_SUFFIX: "Suffix",
-    PROP_FORMAT: "Format",
-
-    PROP_SHOW_ZERO: "ShowZero",
-    PROP_EXTENSION_TYPE: "ExtType",
-
-    PROP_CALCULATION: "CalculationType",
-    PROP_H_CALCULATION: "H_CalculationType",
-    PROP_V_CALCULATION: "V_CalculationType",
-
-    IDX_LEFT: 0,
-    IDX_TOP: 1,
-    IDX_RIGHT: 2,
-    IDX_BOTTOM: 3,
-
-    BAND_PROP_NAME: "Name",
-    BAND_PROP_MERGE_BAND: "MergeBand",
-    BAND_PROP_STYLE: "style",
-    BAND_PROP_CONTROL: "control",
-    BAND_PROP_HEIGHT: "Height",
-    BAND_PROP_WIDTH: "Width",
-    BAND_PROP_DISPLAY_TYPE: "DisplayType",
-    BAND_PROP_ALIGNMENT: "Alignment",
-    BAND_PROP_MERGE_BORDER: "MergeBorder",
-    BAND_PROP_SUB_BANDS: "band_s",
-
-    MEASUREMENT: {
-        PIXEL:["像素点", "象素点", "PIXEL"],
-        CM: ["厘米", "CM"],
-        INCH: ["英寸","INCH"]
-    },
-
-    PROP_IS_ID: "isID",
-    PROP_ID_SEQ: "IDSeq",
-
-    TAB_CROSS_FIELDS: "cross_field_s",
-    TAB_FIELD_PROP_SORT: "Sort",
-    TAB_FIELD_PROP_SORT_VAL_NOSORT: "no_sort",
-    TAB_FIELD_PROP_SORT_VAL_ASC: "ascend",
-    TAB_FIELD_PROP_SORT_VAL_DESC: "descend",
-
-    DATA_DISCRETE_DATA: "discrete_data",
-    DATA_MASTER_DATA: "master_data",
-    DATA_DETAIL_DATA: "detail_data",
-
-    BLANK_FIELD_INDEX: -10,
-    BLANK_VALUE_INDEX: -100,
-    BLANK_PAGE_VALUE_INDEX: -200,
-
-    RUN_TYPE_BEFORE_PAGING: "before_paging",
-    RUN_TYPE_BEFORE_OUTPUT: "before_output",
-
-    PAGE_STATUS: ["EveryPage","FirstPage", "LastPage", "SegmentStart", "SegmentEnd", "Group", "CrossRowEnd", "CrossColEnd"],
-
-    CONTROL_PROPS: ["Shrink", "ShowZero", "Horizon", "Vertical", "Wrap"],
-    BORDER_STYLE_PROPS: ["LineWeight", "DashStyle", "Color"],
-    PROP_LINE_WEIGHT: "LineWeight",
-    PROP_DASH_STYLE: "DashStyle",
-    PROP_COLOR: "Color",
-    FONT_PROPS: ["Name", "FontHeight", "FontColor", "FontBold", "FontItalic", "FontUnderline", "FontStrikeOut", "FontAngle"],
-
-    STATUS_NORMAL: 0,
-    STATUS_REPORT_START: 1,
-    STATUS_REPORT_END: 2,
-    STATUS_SEGMENT_START: 3,
-    STATUS_SEGMENT_END: 4,
-    STATUS_GROUP: 5,
-    STATUS_CROSS_ROW_END: 6,
-    STATUS_CROSS_COL_END: 7,
-
-    LAYOUT: ["Top","Bottom", "Left", "Right", "Fulfill"],
-    LAYOUT_TOP: 0,
-    LAYOUT_BOTTOM: 1,
-    LAYOUT_LEFT: 2,
-    LAYOUT_RIGHT: 3,
-    LAYOUT_FULFILL: 4,
-
-    OUTPUT_ALIGN: {
-        H: ["Left", "Center", "Right"],
-        V: ["Top", "Center", "Bottom"]
-    },
-
-    CAL_TYPE:["percentage","abstract"],
-    CAL_TYPE_PERCENTAGE: 0,
-    CAL_TYPE_ABSTRACT: 1,
-
-    PAGE_ORIENTATION_V_FIRST: 0,
-    PAGE_ORIENTATION_H_FIRST: 1,
-
-    ORIENTATION_PORTRAIT: "PORTRAIT",
-    ORIENTATION_LANDSCAPE: "LANDSCAPE",
-    ORIENTATION_PORTRAIT_CHN: "纵",
-    ORIENTATION_LANDSCAPE_CHN: "横",
-    SIZE_A3: [11.69, 16.54],
-    SIZE_A4: [8.27, 11.69],
-    SIZE_A5: [5.83, 8.27],
-    SIZE_B5: [6.93, 9.84],
-    SIZE_LETTER: [8.5, 11.0],
-    SIZE_LEGAL: [8.5, 14.0],
-    SIZE_16K: [7.75, 10.75],
-    SIZE_EXECUTIVE: [7.25, 10.5],
-
-    OUTPUT_OFFSET: [2,1,2,3],
-    OFFSET_IDX_LEFT: 0,
-    OFFSET_IDX_RIGHT: 1,
-    OFFSET_IDX_TOP: 2,
-    OFFSET_IDX_BOTTOM: 3,
-
-    PROP_PAGE_SEQ: "page_seq",
-
-    PAGE_SELF_DEFINE: "自定义",
-
-    PAGES_SIZE_STR: ["A3", "A4", "A5", "B5", "LETTER", "LEGAL", "EXECUTIVE", "16K"],
-    PAGES_SIZE: [[11.69, 16.54], [8.27, 11.69], [5.83, 8.27], [6.93, 9.84], [8.5, 11.0], [8.5, 14.0], [7.25, 10.5], [7.25, 10.5]],
-
-    HUNDRED_PERCENT : 100.0,
-
-    VERTICAL_ANGLE: "90",
-    ANTI_VERTICAL_ANGLE: "-90",
-
-    LAST_DEF: ""
+const fs = require('fs');
+let VAL_DEF = null;
+
+getValDefine = function() {
+    if (!(VAL_DEF)) {
+        let data = fs.readFileSync(__dirname.slice(0, __dirname.length - 30) + '/public/web/rpt_value_define.js', 'utf8', 'r');
+        eval(data);
+        VAL_DEF = JV;
+        JV = null;
+    }
+    return VAL_DEF;
 }
 
-module.exports = JV;
+
+module.exports = getValDefine();

+ 199 - 0
public/web/rpt_value_define.js

@@ -0,0 +1,199 @@
+/**
+ * Created by Tony on 2017/6/7.
+ */
+var JV = {
+    NODE_CROSS_INFO: "交叉表_信息",
+    NODE_CROSS_ROW: "交叉行",
+    NODE_CROSS_COL: "交叉列",
+    NODE_CROSS_CONTENT: "交叉数据",
+    NODE_CROSS_ROW_SUM: "交叉行合计",
+    NODE_CROSS_COL_SUM: "交叉列合计",
+    NODE_CROSS_ROW_EXT: "交叉行拓展",
+    NODE_CROSS_ROW_SUM_EXT: "交叉行拓展合计",
+    NODE_FIELD_MAP: "指标_数据_映射",
+    NODE_DISCRETE_FIELDS: "离散指标_集合",
+    NODE_NO_MAPPING_FIELDS: "无映射离散指标_集合",
+    NODE_DISCRETE_PARAMS: "离散参数_集合",
+    NODE_MASTER_FIELDS: "主数据指标_集合",
+    NODE_DETAIL_FIELDS: "从数据指标_集合",
+    NODE_BAND_COLLECTION: "布局框_集合",
+    NODE_FORMULAS: "计算式_集合",
+    NODE_DISCRETE_INFO: "离散信息",
+    NODE_BILL_INFO: "账单式表_信息",
+    NODE_BILL_CONTENT : "账单式表_数据",
+    NODE_FLOW_INFO: "流水式表_信息",
+    NODE_FLOW_GROUP: "流水式表_分组信息",
+    NODE_FLOW_SEG_SUM: "流水式表_段统计信息",
+    NODE_FLOW_PAGE_SUM: "流水式表_页统计信息",
+    NODE_FLOW_COLUMN : "流水式表_列",
+    NODE_FLOW_CONTENT : "流水式表_数据",
+    PROP_MULTI_COLUMN: "多列显示数量",
+
+    NODE_MAIN_INFO: "主信息",
+    NODE_MAIN_INFO_RPT_NAME: "报表名称",
+    NODE_PAGE_INFO: "打印页面_信息",
+    NODE_MARGINS: "页边距",
+
+    NODE_FONT_COLLECTION: "font_collection",
+    NODE_STYLE_COLLECTION: "style_collection",
+    NODE_CONTROL_COLLECTION: "control_collection",
+
+    PROP_ID: "ID",
+    PROP_AD_HOC_DATA: "data_field",
+    PROP_CMN_HEIGHT: "CommonHeight",
+    PROP_CMN_WIDTH: "CommonWidth",
+    PROP_BAND_NAME: "BandName",
+    PROP_UNITS: "单位",
+    PROP_PAGE_SIZE: "页规格",
+    PROP_ORIENTATION: "方向",
+    PROP_LEFT: "Left",
+    PROP_RIGHT: "Right",
+    PROP_TOP: "Top",
+    PROP_BOTTOM: "Bottom",
+    PROP_DATA_TYPE: "DataType",
+    PROP_NAME: "Name",
+    PROP_DFT_VALUE: "Default_Value",
+    PROP_EXPRESSION: "expression",
+    PROP_RUN_TYPE: "run_type",
+    PROP_BORDER_STYLE: "border_style",
+    PROP_POSITION: "Position",
+    PROP_HIDDEN: "Hidden",
+    PROP_IS_SERIAL: "isSerial",
+    PROP_FONT: "font",
+    PROP_CONTROL: "control",
+    PROP_STYLE: "style",
+    PROP_VALUE: "Value",
+    PROP_LABEL: "Label",
+    PROP_AREA: "area",
+    PROP_DISCRETE_FIELDS: "discrete_field_s",
+    PROP_FLOW_FIELDS: "flow_field_s",
+    PROP_BILL_FIELDS: "bill_field_s",
+    PROP_GROUP_FIELDS: "group_field_s",
+    PROP_SUM_FIELDS: "sum_field_s",
+    PROP_TEXTS: "text_s",
+    PROP_TEXT: "text",
+    PROP_FIELD_ID: "FieldID",
+    PROP_PARAM_ID: "ParamID",
+    PROP_PREFIX: "Prefix",
+    PROP_SUFFIX: "Suffix",
+    PROP_FORMAT: "Format",
+
+    PROP_SHOW_ZERO: "ShowZero",
+    PROP_EXTENSION_TYPE: "ExtType",
+
+    PROP_CALCULATION: "CalculationType",
+    PROP_H_CALCULATION: "H_CalculationType",
+    PROP_V_CALCULATION: "V_CalculationType",
+
+    IDX_LEFT: 0,
+    IDX_TOP: 1,
+    IDX_RIGHT: 2,
+    IDX_BOTTOM: 3,
+
+    BAND_PROP_NAME: "Name",
+    BAND_PROP_MERGE_BAND: "MergeBand",
+    BAND_PROP_STYLE: "style",
+    BAND_PROP_CONTROL: "control",
+    BAND_PROP_HEIGHT: "Height",
+    BAND_PROP_WIDTH: "Width",
+    BAND_PROP_DISPLAY_TYPE: "DisplayType",
+    BAND_PROP_ALIGNMENT: "Alignment",
+    BAND_PROP_MERGE_BORDER: "MergeBorder",
+    BAND_PROP_SUB_BANDS: "band_s",
+
+    MEASUREMENT: {
+        PIXEL:["像素点", "象素点", "PIXEL"],
+        CM: ["厘米", "CM"],
+        INCH: ["英寸","INCH"]
+    },
+
+    PROP_IS_ID: "isID",
+    PROP_ID_SEQ: "IDSeq",
+
+    TAB_CROSS_FIELDS: "cross_field_s",
+    TAB_FIELD_PROP_SORT: "Sort",
+    TAB_FIELD_PROP_SORT_VAL_NOSORT: "no_sort",
+    TAB_FIELD_PROP_SORT_VAL_ASC: "ascend",
+    TAB_FIELD_PROP_SORT_VAL_DESC: "descend",
+
+    DATA_DISCRETE_DATA: "discrete_data",
+    DATA_MASTER_DATA: "master_data",
+    DATA_DETAIL_DATA: "detail_data",
+
+    BLANK_FIELD_INDEX: -10,
+    BLANK_VALUE_INDEX: -100,
+    BLANK_PAGE_VALUE_INDEX: -200,
+
+    RUN_TYPE_BEFORE_PAGING: "before_paging",
+    RUN_TYPE_BEFORE_OUTPUT: "before_output",
+
+    PAGE_STATUS: ["EveryPage","FirstPage", "LastPage", "SegmentStart", "SegmentEnd", "Group", "CrossRowEnd", "CrossColEnd"],
+
+    CONTROL_PROPS: ["Shrink", "ShowZero", "Horizon", "Vertical", "Wrap"],
+    BORDER_STYLE_PROPS: ["LineWeight", "DashStyle", "Color"],
+    PROP_LINE_WEIGHT: "LineWeight",
+    PROP_DASH_STYLE: "DashStyle",
+    PROP_COLOR: "Color",
+    FONT_PROPS: ["Name", "FontHeight", "FontColor", "FontBold", "FontItalic", "FontUnderline", "FontStrikeOut", "FontAngle"],
+
+    STATUS_NORMAL: 0,
+    STATUS_REPORT_START: 1,
+    STATUS_REPORT_END: 2,
+    STATUS_SEGMENT_START: 3,
+    STATUS_SEGMENT_END: 4,
+    STATUS_GROUP: 5,
+    STATUS_CROSS_ROW_END: 6,
+    STATUS_CROSS_COL_END: 7,
+
+    LAYOUT: ["Top","Bottom", "Left", "Right", "Fulfill"],
+    LAYOUT_TOP: 0,
+    LAYOUT_BOTTOM: 1,
+    LAYOUT_LEFT: 2,
+    LAYOUT_RIGHT: 3,
+    LAYOUT_FULFILL: 4,
+
+    OUTPUT_ALIGN: {
+        H: ["Left", "Center", "Right"],
+        V: ["Top", "Center", "Bottom"]
+    },
+
+    CAL_TYPE:["percentage","abstract"],
+    CAL_TYPE_PERCENTAGE: 0,
+    CAL_TYPE_ABSTRACT: 1,
+
+    PAGE_ORIENTATION_V_FIRST: 0,
+    PAGE_ORIENTATION_H_FIRST: 1,
+
+    ORIENTATION_PORTRAIT: "PORTRAIT",
+    ORIENTATION_LANDSCAPE: "LANDSCAPE",
+    ORIENTATION_PORTRAIT_CHN: "纵",
+    ORIENTATION_LANDSCAPE_CHN: "横",
+    SIZE_A3: [11.69, 16.54],
+    SIZE_A4: [8.27, 11.69],
+    SIZE_A5: [5.83, 8.27],
+    SIZE_B5: [6.93, 9.84],
+    SIZE_LETTER: [8.5, 11.0],
+    SIZE_LEGAL: [8.5, 14.0],
+    SIZE_16K: [7.75, 10.75],
+    SIZE_EXECUTIVE: [7.25, 10.5],
+
+    OUTPUT_OFFSET: [2,1,2,3],
+    OFFSET_IDX_LEFT: 0,
+    OFFSET_IDX_RIGHT: 1,
+    OFFSET_IDX_TOP: 2,
+    OFFSET_IDX_BOTTOM: 3,
+
+    PROP_PAGE_SEQ: "page_seq",
+
+    PAGE_SELF_DEFINE: "自定义",
+
+    PAGES_SIZE_STR: ["A3", "A4", "A5", "B5", "LETTER", "LEGAL", "EXECUTIVE", "16K"],
+    PAGES_SIZE: [[11.69, 16.54], [8.27, 11.69], [5.83, 8.27], [6.93, 9.84], [8.5, 11.0], [8.5, 14.0], [7.25, 10.5], [7.25, 10.5]],
+
+    HUNDRED_PERCENT : 100.0,
+
+    VERTICAL_ANGLE: "90",
+    ANTI_VERTICAL_ANGLE: "-90",
+
+    LAST_DEF: ""
+}

+ 6 - 3
web/maintain/report/css/main.css

@@ -213,7 +213,6 @@ body {
     }
 }
 .bottom-content {
-    height: 370px;
     overflow: hidden;
 }
 .bottom-content .tab-content .main-data-bottom{
@@ -270,6 +269,10 @@ body {
     max-height: 200px;
     overflow:auto;
 }
-.main-data-top,.main-data-bottom,.main-data{
-  overflow: auto;
+.main-data-bottom,.main-data{
+    overflow: auto;
+}
+.main-data-top{
+    max-height: 300px;
+    overflow:auto;
 }

+ 38 - 0
web/maintain/report/js/cfg_const.js

@@ -0,0 +1,38 @@
+let setting = {
+    view: {
+        addHoverDom: zTreeOprObj.addHoverDom,
+        removeHoverDom: zTreeOprObj.removeHoverDom,
+        expandSpeed: "",
+        selectedMulti: false
+    },
+    edit: {
+        enable: true,
+        editNameSelectAll: true,
+        showRemoveBtn: true,
+        showRenameBtn: true,
+        removeTitle: "删除节点",
+        renameTitle: "更改名称"
+    },
+    data: {
+        keep: {
+            parent:true,
+            leaf:true
+        },
+        key: {
+            children: "items"
+        },
+        simpleData: {
+            enable: true,
+            idKey: "ID",
+            pIdKey: "ParentID",
+            rootPId: -1
+        }
+    },
+    callback:{
+        onClick: zTreeOprObj.onClick,
+        beforeRename: zTreeOprObj.beforeRename,
+        beforeRemove: zTreeOprObj.onBeforeRemove,
+        onRemove: zTreeOprObj.onRemove,
+        onRename: zTreeOprObj.onRename
+    }
+};

+ 41 - 0
web/maintain/report/js/rpt_tpl_helper.js

@@ -0,0 +1,41 @@
+/**
+ * Created by Tony on 2017/6/7.
+ */
+let tplHelper = {
+    createDftRptTpl: function(treeNode) {
+        var me = this, rst = {GROUP_KEY: 'CONSTRUCT', ID_KEY: null};
+        rst[JV.NODE_MAIN_INFO] = me.createDftRptMainInfo(treeNode.name);
+        rst[JV.NODE_FIELD_MAP] = {};
+        rst[JV.NODE_BAND_COLLECTION] = {};
+        rst[JV.NODE_CROSS_INFO] = {};
+        rst[JV.NODE_DISCRETE_PARAMS] = {};
+        rst[JV.NODE_FORMULAS] = {};
+        rst[JV.NODE_FLOW_INFO] = {};
+        rst[JV.NODE_NO_MAPPING_FIELDS] = {};
+        return rst;
+    },
+    createDftRptMainInfo: function(rptName) {
+        let rst = {};
+        rst[JV.NODE_MAIN_INFO_RPT_NAME] = rptName;
+        rst[JV.PROP_UNITS] = JV.MEASUREMENT.CM[0];
+
+        rst[JV.NODE_PAGE_INFO] = {};
+        rst[JV.NODE_PAGE_INFO][JV.PROP_PAGE_SIZE] = "A4";
+        rst[JV.NODE_PAGE_INFO][JV.PROP_ORIENTATION] = "LANDSCAPE";
+
+        rst[JV.NODE_MARGINS] = {};
+        rst[JV.NODE_MARGINS][JV.PROP_LEFT] = 0.8;
+        rst[JV.NODE_MARGINS][JV.PROP_RIGHT] = 0.8;
+        rst[JV.NODE_MARGINS][JV.PROP_TOP] = 0.8;
+        rst[JV.NODE_MARGINS][JV.PROP_BOTTOM] = 0.8;
+
+        return rst;
+    },
+
+    confirmAndCreateTpl: function(treeNode) {
+        if (zTreeOprObj.currentNode && zTreeOprObj.currentNode.nodeType == RT.NodeType.TEMPLATE) {
+            //
+        }
+    }
+
+}

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

@@ -236,8 +236,13 @@ let zTreeOprObj = {
         let me = zTreeOprObj;
         if (treeNode.nodeType == RT.NodeType.NODE) {
             me.currentNode = treeNode;
+            $("#rpt_tpl_display_label")[0].innerText = "...";
         } else if (treeNode.nodeType == RT.NodeType.TEMPLATE) {
             me.currentNode = null;
+            $("#rpt_tpl_display_label")[0].innerText = treeNode.name;
+            if (treeNode.refId < 0) {
+                //创建新报表模板
+            }
         }
     }
 }

+ 76 - 42
web/maintain/report/rpt_tpl_main.html

@@ -23,12 +23,18 @@
 <div class="header">
     <nav class="navbar navbar-toggleable-lg navbar-light bg-faded p-0 ">
         <span class="header-logo px-2">Smartcost</span>
-        <div class="navbar-text"></div>
+        <div class="navbar-text"><a>报表模板库</a> > <a id="rpt_tpl_display_label">...</a></div>
     </nav>
     <nav class="navbar navbar-toggleable-lg justify-content-between navbar-light p-0">
-        <ul class="nav navbar-nav px-1">
+        <ul class="nav nav-tabs" role="tablist">
             <li class="nav-item">
-                <a class="nav-link" href="javacript:void(0);" aria-haspopup="true" aria-expanded="false" data-toggle="modal" data-target="#add">报表模板库</a>
+                <a class="nav-link px-3" href="#"><i class="fa fa-sign-out fa-flip-horizontal" aria-hidden="true"></i></a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link px-3" href="#"><i class="fa fa-sign-out" aria-hidden="true"></i></a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link active px-3" href="#">系统模板</a>
             </li>
         </ul>
     </nav>
@@ -37,7 +43,7 @@
     <div class="content">
         <div class="container-fluid">
             <div class="row">
-                <div class="main-side col-lg-3 p-0">
+                <div class="main-side col-lg-2 p-0">
                     <div class="tab-bar">
                         <a onclick="zTreeOprObj.addRootNode()" class="btn btn-secondary btn-sm">增加根节点</a>
                         <a onclick="zTreeOprObj.addTplNode()" class="btn btn-secondary btn-sm">增加模板节点</a>
@@ -46,6 +52,69 @@
                         <ul id="rptTplTree" class="ztree"></ul>
                     </div>
                 </div>
+                <div class="main-content col-lg-10 p-0">
+                    <div class="container-fluid">
+                        <div class="row">
+                            <div class="main-side col-lg-5 p-0">
+                                <div class="main-data-top">
+                                    <!-- 右标签 -->
+                                    <ul class="nav nav-tabs tools-bar" role="tablist">
+                                        <li class="nav-item">
+                                            <a class="nav-link active" data-toggle="tab" href="#rpttplinfo" role="tab">模板信息</a>
+                                        </li>
+                                        <li class="nav-item">
+                                            <a class="nav-link" data-toggle="tab" href="#rpttpllayout" role="tab">模板布局</a>
+                                        </li>
+                                        <li class="nav-item">
+                                            <a class="nav-link" data-toggle="tab" href="#rpttplfieldmap" role="tab">指标映射</a>
+                                        </li>
+                                        <li class="nav-item">
+                                            <a class="nav-link" data-toggle="tab" href="#rpttplformula" role="tab">计算式</a>
+                                        </li>
+                                    </ul>
+                                    <div class="tab-content">
+                                        <div class="tab-pane active" id="rpttplinfo" role="tabpanel">
+                                            <div class="container-fluid">
+                                                <label class="form-check-label"><input class="form-check-input" name="optionsRadios" value="option1" checked="" type="radio"> 流水式表</label>
+                                                <label class="form-check-label"><input class="form-check-input" name="optionsRadios" value="option1" type="radio"> 账单式表</label>
+                                                <label class="form-check-label"><input class="form-check-input" name="optionsRadios" value="option1" type="radio"> 交叉表</label>
+                                                <label class="form-check-label">  </label>
+                                                <a onclick="alert('You are going to confirm the report template type!')" class="btn btn-secondary btn-sm">确认</a>
+                                            </div>
+                                            <div class="container-fluid">
+                                                <div class="input-group">
+                                                    <div class="row">
+                                                        <div class="input-group-addon">报表名称</div>
+                                                        <input type="text" class="form-control" placeholder="报表名称">
+                                                    </div>
+                                                </div>
+                                                <div class="input-group">
+                                                    <div class="row">
+                                                        <div class="input-group-addon">度量单位</div>
+                                                        <select class="form-control input-sm">
+                                                            <option>厘米</option>
+                                                            <option>英寸</option>
+                                                            <option>像素</option>
+                                                        </select>
+                                                    </div>
+                                                </div>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="main-content col-lg-6 p-0">
+                                <div class="bottom-content">
+                                    <!--
+                                    -->
+                                    <h5>报表预览</h5>
+                                    <canvas id="preview_cvs"></canvas>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+
+                </div>
             </div>
         </div>
     </div>
@@ -56,6 +125,8 @@
 <script src="/lib/bootstrap/bootstrap.min.js"></script>
 <script src="/web/maintain/report/js/global.js"></script>
 <script src="/web/maintain/report/js/rpt_tpl_main.js"></script>
+<script src="/web/maintain/report/js/rpt_tpl_helper.js"></script>
+<script src="/web/maintain/report/js/cfg_const.js"></script>
 <!-- zTree -->
 <script type="text/javascript" src="/public/web/date_util.js"></script>
 <script type="text/javascript" src="/lib/ztree/jquery.ztree.core.js"></script>
@@ -66,46 +137,9 @@
 <script type="text/javascript" src="/public/web/common_ajax.js"></script>
 <script type="text/javascript" src="/public/web/treeDataHelper.js"></script>
 <script type="text/javascript" src="/public/web/ztree_common.js"></script>
+<script type="text/javascript" src="/public/web/rpt_value_define.js"></script>
 </body>
 <script type="text/javascript">
-    var setting = {
-        view: {
-            addHoverDom: zTreeOprObj.addHoverDom,
-            removeHoverDom: zTreeOprObj.removeHoverDom,
-            expandSpeed: "",
-            selectedMulti: false
-        },
-        edit: {
-            enable: true,
-            editNameSelectAll: true,
-            showRemoveBtn: true,
-            showRenameBtn: true,
-            removeTitle: "删除节点",
-            renameTitle: "更改名称"
-        },
-        data: {
-            keep: {
-                parent:true,
-                leaf:true
-            },
-            key: {
-                children: "items"
-            },
-            simpleData: {
-                enable: true,
-                idKey: "ID",
-                pIdKey: "ParentID",
-                rootPId: -1
-            }
-        },
-        callback:{
-            onClick: zTreeOprObj.onClick,
-            beforeRename: zTreeOprObj.beforeRename,
-            beforeRemove: zTreeOprObj.onBeforeRemove,
-            onRemove: zTreeOprObj.onRemove,
-            onRename: zTreeOprObj.onRename
-        }
-    };
     autoFlashHeight();
     rptTplObj.iniPage();
 </script>