<!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: [ {code: "user", name: "用户", dataname: "v_capacity_target_user"}, {code: "employee", name: "员工", dataname: "v_capacity_target_employee"}, {code: "position", name: "å²—ä½", dataname: "v_capacity_target_position"}, ], tabsobj: {}, }, created() { this.popupParames = clone(Root.popupParames); this.ccode = this.popupParames.delta.ccode; Root.setPopupTitle(this.title); this.tabs.map(e=>{ e.filterTxt = "capacity_id = '"+ this.ccode +"'" }) }, mounted() { var me = this; this.activeTabName = "user"; //èŽ·å–æ•°æ® this.initTabsPage(function() { me.initData(); }); this.$nextTick(() => { // 以æœåŠ¡çš„æ–¹å¼è°ƒç”¨çš„ Loading 需è¦å¼‚æ¥å…³é— hideLoading(); }); }, methods:{ onhandleClick() { this.initData(); }, initData() { var me = this; 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(filterFields_); me.selectTabObj.tableFields = clone(tableFields_); //å—æ®µæ•°ç»„è½¬å—æ®µobj,目的为了ç›é€‰æ—¶èŽ·å–å—æ®µå±žæ€§ me.fieldsToFieldsObj(); //è®¾ç½®å—æ®µäº‹ä»¶ me.tableFieldClick(); } } if (callback) { callback(); } }); }, closeDialog() { var me = this; if (me.popupParames.totab){ Root.tab.removeItem(Root.tab.selected); Root.tab.open(me.popupParames.parentOption, false); } else { Root.hidePopup(); } }, addData(){ let me = this; var config = { totab: false, //true: 以Tabå¯¼èˆªçš„æ–¹å¼æ‰“å¼€ width: "500px", height: "300px", icon: "icon-product", text: "æƒé™ä¿¡æ¯", id: "set_permissions_edit",//totab: trueæ—¶éœ€è®¾ç½®ï¼Œç”¨äºŽåˆ¤æ–æ˜¯å¦å·²æ‰“å¼€æ¤é¡µé¢ url: "module/config/page/set_permissions_edit.html", data: {}, delta: {ccode:me.ccode}, sceneCode: "add",//"refuseedit",//"approval", //"add"//"browse", callback: function(obj, callback) { me.onQuery(); if (callback) { callback(); } } }; me.doPopupByPublic(config); }, rowClick(obj) { this.selectTabObj.selectedrow = obj.row; }, editData(scope) { var me = this; var row = this.selectTabObj.selectedrow; if (!row || !row.id) { Root.message({ type: 'warning', message: '请选择è¦ç¼–辑的数æ®' }); return false; } var config = { totab: false, //true: 以Tabå¯¼èˆªçš„æ–¹å¼æ‰“å¼€ width: "500px", height: "300px", icon: "icon-product", text: "æƒé™ä¿¡æ¯", id: "set_permissions_edit",//totab: trueæ—¶éœ€è®¾ç½®ï¼Œç”¨äºŽåˆ¤æ–æ˜¯å¦å·²æ‰“å¼€æ¤é¡µé¢ url: "module/config/page/set_permissions_edit.html", data: row, delta: {ccode:me.ccode}, sceneCode: "edit",//"refuseedit",//"approval", //"add"//"browse", callback: function(obj, callback) { me.onQuery(); if (callback) { callback(); } } }; me.doPopupByPublic(config); }, delData: function(scope) { let me = this; let row = this.selectTabObj.selectedrow; let index_ = scope.$index; let name_ = "该数æ®"; if (!row.id) { Root.message({ type: 'warning', message: '该事件需å˜åœ¨æ•°æ®ID' }); return } Root.confirm('ç¡®å®šåˆ é™¤' + name_ + 'å—?', 'åˆ é™¤æç¤º', { confirmButtonText: 'åˆ é™¤', cancelButtonText: 'å–æ¶ˆ', type: 'warning' }).then(() => { let param = { id: row.id, dataname: this.selectTabObj.dataname, } Server.call("root/data/deleteEntity", param, function(result) { Root.message({ type: 'success', message: 'åˆ é™¤æˆåŠŸ!' }); me.onQuery(); }); }).catch(() => { Root.message({ type: 'info', message: '已喿¶ˆåˆ 除' }); }); }, tableFieldClick() { var me = this; var tablefieldClick = {}; //è¡¨æ ¼å—æ®µäº‹ä»¶è®¾ç½® tablefieldClick.user = { }; tablefieldClick.user = { }; this.selectTabObj.tablefieldClick = tablefieldClick[this.activeTabName]; }, } }); }; 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="popup_topbar"> <span>{{title}}</span> </div> <div style="position: relative;right: -662px;top: 8px;"> <el-button-group style="margin-left: 3px;"> <el-button @click="addData" :icon="buttonsconfig.add.icon">{{buttonsconfig.add.name}}</el-button> <el-button @click="editData":icon="buttonsconfig.alter.icon">{{buttonsconfig.alter.name}}</el-button> <el-button @click="delData" :disabled="!(selectTabObj.selectedrow && selectTabObj.selectedrow.id)" type="danger" :icon="buttonsconfig.delete.icon">{{buttonsconfig.delete.name}}</el-button> </el-button-group> </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-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" 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 - 40" :table-field-click="selectTabObj.tablefieldClick" :is-show-index="selectTabObj.isShowIndex" :tableloading="tableloading" :is-highlight-row="true" v-on:get-data="getData" v-on:edit-data="editData" v-on:del-data="delData" v-on:order-fields="orderTableFields" v-on:row-click="rowClick" > </h-table> </div> <div class="el-dialog__footer"> <el-button size="small" type="default" @click="closeDialog">å…³ é—</el-button> </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>