<!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: "org", name: "商业列表", dataname: "md_org_account", filterTxt: " state_code='Open' ", orderby: ""}, //{code: "direct", name: "直销客户列表", dataname: "md_direct_customer", filterTxt: " 1=1 ", orderby: ""}, ], d_tabs: { org: true, direct: true, }, tabs: [], tabsobj: {}, popupParames: {}, formData: {}, filterTxt: "", paramObjBydefault: {}, isedit: false, }, created() { var me = this; this.tabs = this.tabs_d; this.popupParames = clone(Root.popupParames); this.title = this.popupParames.title || this.popupParames.text if (this.popupParames.filter) { this.filterTxt = this.popupParames.filter } if (this.popupParames.data) { this.formData = this.popupParames.data } if (this.popupParames.delta && this.popupParames.delta.machine_code) { this.paramObjBydefault = { id: this.formData.id, machine_code: this.popupParames.delta.machine_code } } if (this.popupParames.sceneCode) { if (this.popupParames.sceneCode == "add") {//新增 this.isedit = true; } } }, mounted() { var me = this; if(me.tabs.length>0){ me.activeTabName = me.tabs[0].code; } //åˆå§‹åŒ–Tabs me.initTabsPage(function() { //èŽ·å–æ•°æ® me.initData(); }); me.$nextTick(() => { // 以æœåŠ¡çš„æ–¹å¼è°ƒç”¨çš„ Loading 需è¦å¼‚æ¥å…³é— hideLoading(); }); }, methods:{ //å…³é—弹窗 closeDialog() { this.docloseDialog(true); }, //å…³é—å‰è°ƒå›žè°ƒ saveAfter() { var me = this; if(this.popupParames.callback) { let obj = { orgtype: me.activeTabName, row: clone(this.selectTabObj.selectedrow) } this.popupParames.callback(obj, function() { me.docloseDialog(); }); } else { me.docloseDialog(); } }, 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(); } }); }, tableFieldClick() { var me = this; var tablefieldClick = {}; //è¡¨æ ¼å—æ®µäº‹ä»¶è®¾ç½® tablefieldClick.input = {}; tablefieldClick.all = {}; this.selectTabObj.tablefieldClick = tablefieldClick[this.activeTabName]; }, onRowDblClick() { if (this.isedit) { this.saveAfter(); } }, } }); }; 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> <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" :isdraggableorder="true" 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="true" :tableloading="tableloading" :isdraggableorder="false" v-on:get-data="getData" v-on:row-click="rowClick" v-on:row-dblclick="rowDblclick" v-on:order-fields="orderTableFields" > </h-table> </div> <!-- 底部工具æ --> <div class="el-dialog__footer"> <el-button size="small" type="default" @click="closeDialog">å– æ¶ˆ</el-button> <el-button v-if="isedit" size="small" :disabled = "!(selectTabObj.selectedrow && selectTabObj.selectedrow.id)" type="primary" @click="saveAfter">ç¡® 定</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>