From 235f89899039b7df17c5502fcdf3d34956772c43 Mon Sep 17 00:00:00 2001
From: zhangyanpeng <bob.zhang@highdatas.com>
Date: 星期日, 18 八月 2024 19:52:40 +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