From f9d42f7a3929dacb96446e873ab992f9560ac9c9 Mon Sep 17 00:00:00 2001 From: zhangyanpeng <bob.zhang@highdatas.com> Date: 星期二, 20 八月 2024 12:21:05 +0800 Subject: [PATCH] 调整 --- module/report/page/report_list.html | 387 +++++++++--------------------------------------------- 1 files changed, 68 insertions(+), 319 deletions(-) diff --git a/module/report/page/report_list.html b/module/report/page/report_list.html index 76f086a..1346615 100644 --- a/module/report/page/report_list.html +++ b/module/report/page/report_list.html @@ -5,7 +5,6 @@ <title>鎶ヨ〃绠$悊</title> <script type="text/javascript"> - var pageVue = null; function loadJsCss(callback) { var jscss_urls = [ {id: "css_m1", type: "css", url: "root/css/tree.css"}, @@ -17,28 +16,28 @@ new TreeVue({ el: "#vbody", data: { - dataname: "md_product_category", - title: "鎶ヨ〃绠$悊", + dataname: "sys_report_echarts", + title: "鍒嗘瀽鎶ヨ〃", tree_title: "鎶ヨ〃鍒嗙被", treeTxtFormatter: "{name}", isTreeReadonly: false, selectnodedata: {}, dataRequest: [ - { - name: "sys_report", - //url: "root/front/getOneDictionary", - //paramsobj: { code: "OrgType", }, - //filter: " type='agreement'", - isnotoption: true, //true:涓嶆槸閫夐」 - }, - { - name: "jimu_report", - //url: "root/front/getOneDictionary", - //paramsobj: { code: "OrgType", }, - isnotoption: true, //true:涓嶆槸閫夐」 - filter: "type in ('datainfo', 'chartinfo', 'printinfo')",//:"id",//鏄笅鎷夐�夐」鏃惰缃� - orderby: "update_time desc" - }, + // { + // name: "sys_report_echarts", + // //url: "root/front/getOneDictionary", + // //paramsobj: { code: "OrgType", }, + // //filter: " type='agreement'", + // isnotoption: true, //true:涓嶆槸閫夐」 + // }, + // { + // name: "jimu_report", + // //url: "root/front/getOneDictionary", + // //paramsobj: { code: "OrgType", }, + // isnotoption: true, //true:涓嶆槸閫夐」 + // filter: "type in ('datainfo', 'chartinfo', 'printinfo')",//:"id",//鏄笅鎷夐�夐」鏃惰缃� + // orderby: "update_time desc" + // }, ], dataRequestObj: {}, report_url: "", @@ -76,22 +75,22 @@ me.dataRequestObj = data; //棰勫姞杞芥暟鎹悗缁欏摢浜涘瓧娈佃缃畂ptions鎴杅ormatterjson - me.dataRequestObj.sys_report.map(r=>{ + me.dataRequestObj.sys_report_echarts.map(r=>{ r.disabled = true; r.parent_id = "z1"; }) - me.dataRequestObj.jimu_report.map(r=>{ - r.parent_id = "z2"; - }) + // me.dataRequestObj.jimu_report.map(r=>{ + // r.parent_id = "z2"; + // }) var treeData_ = [ {id: "z1", name: "缁煎悎鎶ヨ〃", disabled: true, children: []}, - {id: "z2", name: "鑷畾涔夋姤琛�", edit_disabled: true, children: []}, + // {id: "z2", name: "鑷畾涔夋姤琛�", edit_disabled: true, children: []}, ] - me.selectnodedata = me.dataRequestObj.sys_report[0]; - treeData_[0].children = me.dataRequestObj.sys_report; - treeData_[1].children = me.dataRequestObj.jimu_report; + me.selectnodedata = me.dataRequestObj.sys_report_echarts[0]; + treeData_[0].children = me.dataRequestObj.sys_report_echarts; + // treeData_[1].children = me.dataRequestObj.jimu_report; me.treeData = treeData_; me.initData(); }); @@ -105,138 +104,58 @@ }, methods:{ - onQuery() { - var me = this; - let param_ = { - dataname: "jimu_report", - filter: "type in ('datainfo', 'chartinfo', 'printinfo')", - orderby: "update_time desc" - } - Server.call("root/data/getEntitySet", param_, function(result) { - console.log(result.data.entityset) - if (result && result.data.entityset && result.data.entityset.length) { - result.data.entityset.map(r=>{ - r.parent_id = "z2"; - }) - - var treeData_ = clone(me.treeData); - treeData_[1].children = result.data.entityset; - me.treeData = treeData_; - me.initData(); - } - }); - }, - initData() { var me = this; - // this.onQuery(function(result, callback) {//鏌ヨ鍚庣殑鍥炶皟锛岀敤浜庤幏鍙栧瓧娈电殑 - // me.treeData = me.initTreeData; - // if (callback) { - // callback(); - // } + this.onQuery(function(result, callback) {//鏌ヨ鍚庣殑鍥炶皟锛岀敤浜庤幏鍙栧瓧娈电殑 + var treeData_ = [] + var buobj_ = {}; + var initTreeData = clone(me.initTreeData); + initTreeData.map(r=>{ + r.disabled = true; + r.parent_id = "z1"; + }) + var data_p_ = {id: "z1", name: "缁煎悎鎶ヨ〃", disabled: true, children: []} + initTreeData.unshift(data_p_) + me.initTreeData = clone(initTreeData) - // me.getTableMeta(); - // }); - this.tableDataAfter(); - this.defaultexpandedkeys = [this.selectnodedata.id]; - this.currentnodekey = this.selectnodedata.id; - var data = this.selectnodedata; - if (data.url) { - url_ = data.url; - this.report_url = window.top.config.url_page + url_; - } - else if (data.id) {// design - url_ = "root/report/showReport?token=" + Root.getToken() + "&type=design&id=" + data.id - this.report_url = window.top.config.url_root + url_; - } - }, - - onAddNode(obj) { - var data = obj.data, node = obj.node; - this.addData() - }, - - onEditNode(obj) { - var me = this; - // Root.showPopup({ - // url: "module/md/page/product/page/product_type_edit.html", - // width: 800, - // height: 230, - // data: data, - // sceneCode: "edit", - // callback: function(options_obj, callback) { - // me.type_treedata = options_obj.options - // if (callback) { - // callback(); - // } - // } - // }); - - var data = obj.data, node = obj.node, el = obj.el; - var val = data.name; - var url_ = ""; - if (data.url) { - url_ = data.url; - this.report_url = window.top.config.url_page + url_; - } - else if (data.id) {// design - url_ = "root/report/showReport?token=" + Root.getToken() + "&type=design&id=" + data.id - this.report_url = window.top.config.url_root + url_; - } - - }, - - onDelNode(obj) { - var data = obj.data, node = obj.node; - let me = this; - Root.confirm('纭畾鍒犻櫎-' + data.name + '-鍚楋紵', '鍒犻櫎鎻愮ず', { - confirmButtonText: '鍒犻櫎', - cancelButtonText: '鍙栨秷', - type: 'warning' - }).then(() => { - me.dodeldata(data, node, "agm_category"); - }).catch(() => { - Root.message({ - type: 'info', - message: '宸插彇娑堝垹闄�' - }); + let initTreeData_ = ArrayToTree(clone(me.initTreeData), "name", "parent_id", null, null, null, null); + me.treeData = initTreeData_; + + if (callback) { + callback(); + } + if(me.treeData[0]) { + const leafNode = me.findLeafNode(me.treeData[0]); + let objInit = { + data: leafNode, + node: {}, + el: {}, + }; + me.currentnodekey = leafNode.id; + me.onNodeClick(objInit); + } }); }, - dodeldata(row, node, tablename) { - if (row.id) { - let param = { - - dataname: tablename, - id: row.id + findLeafNode(node) { + if (!node.children || node.children.length === 0) { + return node; + } + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + const leafNode = this.findLeafNode(child); + if (leafNode) { + return leafNode; } - - Server.call("root/data/deleteEntity", param, function(result) { - console.log(result); - if (result && result.data) { - const parent = node.parent; - const children = parent.data.children || parent.data; - const index = children.findIndex(d => d.id === row.id); - children.splice(index, 1); - - Root.message({ - type: 'success', - message: '鍒犻櫎鎴愬姛!' - }); - } - }); } - }, - - node_isShow(data, isShow) { - if (this.$refs[data.id]) { - this.$refs[data.id].style.display = isShow ? '' : 'none'; - } + return null; }, onNodeClick(obj) { + console.log(obj); var data = obj.data, node = obj.node, el = obj.el; - var val = data.name; + var filter_node_val = ""; + this.selectedrow = data; var url_ = ""; if (data.url) { url_ = data.url; @@ -246,110 +165,6 @@ url_ = "root/report/showReport?token=" + Root.getToken() + "&type=view&id=" + data.id this.report_url = window.top.config.url_root + url_; } - // this.getDataByNode(); - }, - - // onNodeClick(data, node, el) { - // var val = data.name; - // if (data.children && data.children.length) { - // val = ""; - // data.children.map(r=>{ - // if (val == "") { - // val = r.name; - // } - // else { - // val += "','" + r.name; - // } - // }) - // } - - // // this.filterObjBydefault.category_name = val - // this.selectedrow = data; - // this.pagenum_p = 1; - // this.getDataByNode(); - // }, - - - getTableMeta() { - var me = this; - var param_ = { - dataname: this.dataname_p, - attachMeta: true, - } - - Server.call("root/data/getEntitySet", param_, function(result) { - if (result.meta && result.meta[me.dataname_p] && result.meta[me.dataname_p].fields) { - var metas = clone(result.meta[me.dataname_p].fields); - var filterFields_ = []; - var tableFields_ = []; - - metas.map(f=>{ - f.isshow = "T"; - tableFields_.push(clone(f)); - }) - if (!me.tableFields_p || (me.tableFields_p && me.tableFields_p.length == 0)) { - me.tableFields_p = clone(tableFields_); - } - } - - me.tableDataAfter_p(); - }) - }, - - tableDataAfter_p() { - var me = this; - if (this.tableFields_p.length > 0){ - this.isRefresh_p = false; - this.$nextTick(function(){ - this.isRefresh_p = true; - this.$nextTick(function(){ - var el_list = []; - me.tableHeight_p = me.treeHeight; - }) - }) - } - }, - - onQueryAfter() { - this.pagenum_p = 1; - this.tableData_p = []; - this.total_p = 0; - }, - - getData_p(page) { - this.pagesize_p = page.pagesize; - this.pagenum_p = page.pagenum; - - this.getDataByNode(); - }, - - addData() { - let me = this; - var config = { - totab: false, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮� - width: "98vw", - height: "600px", - icon: "icon-product", - text: "鎶ヨ〃璁捐", - id: "page_form_add",//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈� - url: "module/report/page/report_add.html", - data: {}, - delta: {}, - sceneCode: "add",//"refuseedit",//"approval", //"add"//"browse", - closecallback: function(obj, callback) { - me.onQuery(); - if (callback) { - callback(); - } - }, - callback: function(obj, callback) { - me.onQuery(); - if (callback) { - callback(); - } - } - }; - me.doPopupByPublic(config); }, } @@ -382,18 +197,10 @@ <div id="page_root"> <div class="topbar"> <span>{{title}}</span> - - <!-- 宸ュ叿鏍� --> - <div style="float: right; margin-right: 18px"> - <el-button @click="addData">鍒涘缓鑷畾涔夋姤琛�</el-button><!-- v-show="cbuttons_r.Add" --> - </div> </div> <div class="h_dialog__body"> - <div :style="{position: 'absolute', left: '10px', width: '300px', height: treeHeight + 'px', border: '1px solid #ccc'}"> - <!-- <div style="height: 32px;line-height: 32px;border-bottom: 1px solid #ccc ;"> - <span style="font-size: 14px;margin-left: 20px;">{{tree_title}}</span> - </div> --> + <div :style="{position: 'absolute', left: '10px', width: '205px', height: treeHeight + 'px', border: '1px solid #ccc'}"> <div :style="{padding: '10px 0', height: treeHeight - 30 + 'px', overflow: 'auto'}"> <h-tree ref="tree" v-if="isRefresh" @@ -403,75 +210,17 @@ :edit-tree-button="editTreeButton" :default-expanded-keys="defaultexpandedkeys" :currentnodekey="currentnodekey" - :default-expand-all="false" - @node-click="onNodeClick" - @add-node="onAddNode" - @edit-node="onEditNode" - @del-node="onDelNode" > </h-tree> - - <!-- <el-tree ref="hierTree" class="filter-tree" node-key="id" :indent="24" - default-expand-all - highlight-current - :data="treeData" - show-checkbox - :expand-on-click-node="true" - @node-click="onNodeClick" - > - <span class="custom-tree-node z_menu_tree" slot-scope="{ node, data, itm }" - @mouseenter="node_isShow(data, true)" - @mouseleave="node_isShow(data, false)" - > - <span> - <div class="nodeLabel nodeLabel_l" style="height: 32px; line-height: 32px;"> - </div> - <div class="nodeLabel z_left_menu_tree_txt"> - <i v-if="!node.isLeaf" :class="!node.expanded ? 'el-icon-plus':'el-icon-minus'" style="font-size: 10px; margin-right: 10px; border: 1px solid #a7a9a9; color: #a7a9a9;"></i> - </div> - <div class="nodeLabel z_left_menu_tree_txt"> - <span>{{ data.name }}</span> - <el-badge :ref="'dadgeid_' + data.id" v-show="data.isBadge ? true : false" is-dot class="item"> - </el-badge> - </div> - </span> - <span> - <div :ref="data.id" v-show="false" class="nodeLabel" style="width: 128px;max-width: 128px;"> - <el-button v-if="!data.parent_id" type="text" - @click.stop="addNode(data,node)" class="z_node_button" icon="el-icon-circle-plus-outline"> - </el-button> - <el-button type="text" - @click.stop="editNode(data,node)" class="z_node_button" icon="el-icon-edit"> - </el-button> - <el-button v-if="!(data.children && data.children.length)" type="text" - @click.stop="delNode(data,node)" class="z_node_button" icon="el-icon-delete"> - </el-button> - </div> - - <div class="nodeLabel" style="margin-right: 30px;"> - <span v-if="!node.isLeaf">{{data.children.length}}</span> - </div> - </span> - </span> - </el-tree> --> </div> </div> - <div :style="{position: 'absolute', left: '320px', right: '10px', height: treeHeight + 'px', border: '1px solid #ccc'}"> + <div :style="{position: 'absolute', left: '220px', right: '10px', height: treeHeight + 'px', border: '1px solid #ccc'}"> <div> - <!-- <div style="height: 32px; border-bottom: 1px solid #aaa;"> - <div class="table_title" style="float: left;"> - <span>鎶ヨ〃棰勮</span> - </div> - </div> --> <div v-if="report_url" :style="{height: treeHeight + 'px'}" align="center"> - <!-- <div v-if="report_url" class="tools-news" ref="msgtop" align="center"> --> - <iframe style="width: 100%; height: 100%;" frameborder="0" :src="report_url"></iframe> - <!-- </div> --> + <iframe style="width: 100%; height: 100%;" frameborder="0" :src="report_url"></iframe> </div> - <div></div> - </div> </div> -- Gitblit v1.8.0