<!doctype html> <html> <head> <meta charset="utf-8"><meta http-equiv="Expires" content="0"><meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Cache-control" content="no-cache"><meta http-equiv="Cache" content="no-cache"> <title>æ•°æ®å¯¹è±¡</title> <script type="text/javascript"> var pageVue = null; function loadJsCss(callback) { var jscss_urls = []; window.top.initJsCss(document, jscss_urls, callback); }; function initVue() { pageVue = new TabTableVue({ el: "#vbody", data: { title: "æ•°æ®å¯¹è±¡", //Tab项设置 tabs_d: [ {code: "dataobj", name: "æ•°æ®å¯¹è±¡", dataname: "sys_data_object"}, {code: "datapackage", name: "ç»„åˆæ•°æ®å¯¹è±¡", dataname: "sys_data_package"}, ], tabs: [], tabsobj: {}, cbuttons_r: {}, ctabs_r: {}, }, created() { }, mounted() { var me = this; if (window.top.tab.selected.option.page_id) { getPageByPageId(window.top.tab.selected.option.page_id, function(result){ me.cbuttons_r = result.buttons_r; me.ctabs_r = result.tabs_r; var tabsarr = []; me.tabs_d.map(e=>{ if(me.ctabs_r[e.code]){ tabsarr.push(e) } }) me.tabs = tabsarr; if(me.tabs.length>0){ me.activeTabName = me.tabs[0].code; } //åˆå§‹åŒ–Tabs me.initTabsPage(function() { //èŽ·å–æ•°æ® me.initData(); }); me.$nextTick(() => { // 以æœåŠ¡çš„æ–¹å¼è°ƒç”¨çš„ Loading 需è¦å¼‚æ¥å…³é— hideLoading(); }); }) } }, methods:{ onhandleClick() { this.initData(); }, initData() { var me = this; me.selectTabObj; this.doQueryByTab(function(result, callback) {//查询åŽçš„回调,用于获å–å—æ®µçš„ if (result.meta && result.meta[me.selectTabObj.dataname] && result.meta[me.selectTabObj.dataname].fields) { var metas = clone(result.meta[me.selectTabObj.dataname].fields); var filterFields_ = []; var tableFields_ = []; metas.map(f=>{ f.isshow = "T"; if (f.isfilter) { filterFields_.push(clone(f)); } else { var filter_f = clone(f); filter_f.isshow = "F"; filterFields_.push(filter_f); } tableFields_.push(clone(f)); }) if (!me.selectTabObj.filterFields || (me.selectTabObj.filterFields && me.selectTabObj.filterFields.length == 0)) { // me.selectTabObj.filterFields = clone(me.default_filterFields); // me.selectTabObj.tableFields = clone(me.default_tableFields); me.selectTabObj.filterFields = clone(filterFields_); me.selectTabObj.tableFields = clone(tableFields_); //å—æ®µæ•°ç»„è½¬å—æ®µobj,目的为了ç›é€‰æ—¶èŽ·å–å—æ®µå±žæ€§ me.fieldsToFieldsObj(); //è®¾ç½®å—æ®µäº‹ä»¶ me.tableFieldClick(); } } if (callback) { callback(); } }); }, tableFieldClick() { var me = this; var tablefieldClick = {}; //è¡¨æ ¼å—æ®µäº‹ä»¶è®¾ç½® tablefieldClick = { name: {//å—æ®µäº‹ä»¶è®¾ç½® val: {//有值时的点击事件 onclick: function(obj) {//æ•°æ®å€¼ç‚¹å‡»äº‹ä»¶ //打开 me.opentest(obj) }, }, }, }; this.selectTabObj.tablefieldClick = tablefieldClick; }, opentest(obj) { var page_name = "page_config_package"; if (this.activeTabName == "dataobj") { page_name = "page_config_object"; } var me = this; var row = obj.row; var me = this; var config = { totab: true, //true: 以Tabå¯¼èˆªçš„æ–¹å¼æ‰“å¼€ width: "900px", height: "900px", icon: "icon-product", text: "页é¢è¯¦æƒ…" + this.selectTabObj.name, id: page_name + "_browse" + row.id,//totab: trueæ—¶éœ€è®¾ç½®ï¼Œç”¨äºŽåˆ¤æ–æ˜¯å¦å·²æ‰“å¼€æ¤é¡µé¢ url: "module/config/page/page_config/" + page_name + ".html", data: row, delta: {pageobj: me.selectTabObj}, sceneCode: "browse",//"refuseedit",//"approval", //"add"//"browse", callback: function(obj, callback) { if (callback) { callback(); } } }; me.doPopupByPublic(config); }, onAddData() { var page_name = "page_config_package"; if (this.activeTabName == "dataobj") { page_name = "page_config_object"; } var me = this; var config = { totab: true, //true: 以Tabå¯¼èˆªçš„æ–¹å¼æ‰“å¼€ width: "900px", height: "900px", icon: "icon-product", text: "页é¢è¯¦æƒ…" + this.selectTabObj.name, id: page_name,//totab: trueæ—¶éœ€è®¾ç½®ï¼Œç”¨äºŽåˆ¤æ–æ˜¯å¦å·²æ‰“å¼€æ¤é¡µé¢ url: "module/config/page/page_config/" + page_name + ".html", data: {}, delta: {pageobj: me.selectTabObj}, sceneCode: "add",//"refuseedit",//"approval", //"add"//"browse", callback: function(obj, callback) { me.onQuery(); if (callback) { callback(); } } }; me.doPopupByPublic(config); }, onEditData(scope) { var page_name = "page_config_package"; if (this.activeTabName == "dataobj") { page_name = "page_config_object"; } var me = this; var row = me.selectTabObj.selectedrow; var me = this; var config = { totab: true, //true: 以Tabå¯¼èˆªçš„æ–¹å¼æ‰“å¼€ width: "900px", height: "900px", icon: "icon-product", text: "页é¢è¯¦æƒ…" + this.selectTabObj.name, id: page_name + row.id,//totab: trueæ—¶éœ€è®¾ç½®ï¼Œç”¨äºŽåˆ¤æ–æ˜¯å¦å·²æ‰“å¼€æ¤é¡µé¢ url: "module/config/page/page_config/" + page_name + ".html", data: row, delta: {pageobj: me.selectTabObj}, sceneCode: "edit",//"refuseedit",//"approval", //"add"//"browse", callback: function(obj, callback) { me.onQuery(); if (callback) { callback(); } } }; me.doPopupByPublic(config); }, rowClick(obj){ var me = this; me.selectTabObj.selectedrow = obj.row; }, delData: function(scope) { var data_name = "sys_data_package"; if (this.activeTabName == "dataobj") { data_name = "sys_data_object"; } let me = this; var row = me.selectTabObj.selectedrow; let name_ = "该数æ®"; if (!row.id) { Root.message({ type: 'warning', message: '该事件需å˜åœ¨æ•°æ®ID' }); return } if (row.name) { name_ = "_" + row.name + "_"; } Root.confirm('ç¡®å®šåˆ é™¤' + name_ + 'å—?', 'åˆ é™¤æç¤º', { confirmButtonText: 'åˆ é™¤', cancelButtonText: 'å–æ¶ˆ', type: 'warning' }).then(() => { let param = { id: row.id, dataname: data_name, } Server.call("root/data/deleteEntity", param, function(result) { Root.message({ type: 'success', message: 'åˆ é™¤æˆåŠŸ!' }); me.onQuery(); }); }).catch(() => { Root.message({ type: 'info', message: '已喿¶ˆåˆ 除' }); }); }, createObjectMeta() { var me = this; var params = { "dataName": this.selectTabObj.selectedrow.name } Server.call("root/system/synchronizOneObjectMeta", params, function(result) { console.log(result); Root.message({ type: 'success', message: "已生æˆ" }); }) } } }); }; loadJsCss(function () { initVue(); }); </script> <style> /* 在vue.jsä¸ v-cloak 这个指令是防æ¢é¡µé¢åŠ è½½æ—¶å‡ºçŽ° vuejs çš„å˜é‡å而设计的 */ [v-cloak] { display: none !important; } .el-tabs__nav-scroll { overflow: hidden; position: relative; padding-left: 20px; } </style> </head> <body style="margin: 0px;"> <div v-cloak id="vbody"> <div id="page_root"> <div class="topbar"> <span>{{title}}</span> <!-- 工具æ --> <div style="float: right; margin-right: 18px"> <el-button v-if="selectTabObj.code == 'dataobj' && selectTabObj.selectedrow && selectTabObj.selectedrow.id" @click="createObjectMeta">生æˆå—段</el-button> <el-button-group style="margin-left: 3px"> <el-button v-show="cbuttons_r.Add" @click="addData":icon="buttonsconfig.add.icon">{{buttonsconfig.add.name}}</el-button> <!-- <el-button v-show="cbuttons_r.Edit" @click="selectTabObj.isEditTableData = !selectTabObj.isEditTableData":icon="selectTabObj.isEditTableData ? buttonsconfig.closeEdit.icon: buttonsconfig.edit.icon"> {{selectTabObj.isEditTableData ? buttonsconfig.closeEdit.name : buttonsconfig.edit.name}} </el-button> --> <el-button v-show="cbuttons_r.Edit" :disabled="!(selectTabObj && selectTabObj.selectedrow && selectTabObj.selectedrow.id )" @click="onEditData" :icon="buttonsconfig.edit.icon">{{buttonsconfig.edit.name}}</el-button> <el-button v-show="cbuttons_r.Edit" :disabled="!(selectTabObj && selectTabObj.selectedrow && selectTabObj.selectedrow.id )" type="danger" @click="delData" :icon="buttonsconfig.delete.icon">{{buttonsconfig.delete.name}}</el-button> </el-button-group> </div> </div> <div> <el-tabs v-model="activeTabName" @tab-click="handleClick"> <el-tab-pane v-for="(tab, k) in tabs" :label="tab.name" :name="tab.code" :key="k"></el-tab-pane> </el-tabs> </div> <div class="topbar-line"> <div class="query-icon"> <i class="iconfont icon-query"></i> </div> <div class="query-bar"> <h-form-filter v-if="selectTabObj.filterFields" ref="form1" :form-attr="filterAttr" :table-fields="selectTabObj.filterFields" :form-data="selectTabObj.filterObj" :table-field-click="selectTabObj.filterfieldClick" :isdraggableorder="cbuttons_r.Set" v-on:on-query="onQuery" v-on:on-init-query="onInitFilter" v-on:on-edit-query="onEditFilter" v-on:order-fields="orderFilterFields" > </h-form-filter> </div> </div> <div class="h_dialog__body"> <h-table v-if="isRefresh && selectTabObj.tableFields" ref="table1" :table-fields="selectTabObj.tableFields" :table-data="selectTabObj.tableData" :is-edit-table-data="selectTabObj.isEditTableData" :pagesize="selectTabObj.pagesize" :pagenum="selectTabObj.pagenum" :total="selectTabObj.total" :table-height="selectTabObj.tableHeight" :table-field-click="selectTabObj.tablefieldClick" :is-show-index="selectTabObj.isShowIndex" :is-highlight-row="selectTabObj.isHighlightRow" :isdraggableorder="cbuttons_r.Set" :tableloading="tableloading" v-on:get-data="getData" v-on:edit-data="editData" v-on:del-data="delData" v-on:row-click="rowClick" v-on:order-fields="orderTableFields" > </h-table> </div> </div> </div> <div id="page_loading" style="position: absolute; top:0px; width: 100vw; height: 50vh;"> <div class="spinner"> <div class="cube1"></div> <div class="cube2"></div> </div> </div> </body> </html>