<template> <app-layout viewName="pimeducationpimedugridview" viewTitle="教育信息表格视图" :className="{ 'view-container': true, 'default-mode-view': true, 'degridview': true, 'pimeducationpim-edu-grid-view': true }" layoutMode="VIEW" :isShowUserInfo="isDefaultView()" :openMode="openMode" @close-view="closeView($event)"> <template slot="headerLeft"> <div class="view-header-left"> <div class="view-caption" v-if="isDefaultView()">{{$t(model.srfCaption)}}</div> <modal-breadcrumb v-if="isModalView()"/> </div> </template> <template slot="headerRight"> <div class="view-header-right"> <app-header-menus :toolbarModel="toolBarModels" @menu-click="toolbar_click($event)" mode="view" :openMode="openMode"/> </div> </template> <template slot="content"> <div class="view-content-wrapper"> <view_searchform :viewState="viewState" :viewparams="viewparams" :context="context" :showBusyIndicator="true" v-show="isExpandSearchForm" loaddraftAction="FilterGetDraft" loadAction="FilterGet" name="searchform" ref='searchform' @save="searchform_save($event)" @search="searchform_search($event)" @load="searchform_load($event)" @closeview="closeView($event)"> </view_searchform> <view_grid :viewState="viewState" :viewparams="viewparams" :context="context" :isSingleSelect="isSingleSelect" :showBusyIndicator="true" :isOpenEdit="true" :gridRowActiveMode="gridRowActiveMode" @save="onSave" updateAction="Update" removeAction="Remove" loaddraftAction="GetDraft" loadAction="Get" createAction="Create" fetchAction="FetchADMSYSTEM" :newdata="newdata" :opendata="opendata" name="grid" ref='grid' @selectionchange="grid_selectionchange($event)" @beforeload="grid_beforeload($event)" @rowdblclick="grid_rowdblclick($event)" @remove="grid_remove($event)" @load="grid_load($event)" @closeview="closeView($event)"> </view_grid> </div> </template> </app-layout> </template> <script lang='tsx'> import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator'; import { Subject } from 'rxjs'; import { UIActionTool, Util } from '@/utils'; import { VueLifeCycleProcessing, GridViewBase } from '@/crm-core'; import PIMEDUCATIONService from '@/service/pimeducation/pimeducation-service'; import GridViewEngine from '@engine/view/grid-view-engine'; import CodeListService from "@service/app/codelist-service"; /** * 教育信息表格视图基类 * * @export * @class PIMEDUCATIONPimEduGridViewBase * @extends {GridViewBase} */ @Component({}) @VueLifeCycleProcessing export default class PIMEDUCATIONPimEduGridViewBase extends GridViewBase { /** * 实体服务对象 * * @type {PIMEDUCATIONService} * @memberof PIMEDUCATIONPimEduGridViewBase */ public appEntityService: PIMEDUCATIONService = new PIMEDUCATIONService; /** * 数据变化 * * @param {*} val * @returns {*} * @memberof PIMEDUCATIONPimEduGridViewBase */ @Emit() public viewDatasChange(val: any):any { return val; } /** * 视图标识 * * @type {string} * @memberof PIMEDUCATIONPimEduGridViewBase */ public viewtag: string = '87e832e8a0468437a4c83ccbd3ff6fd2'; /** * 父数据对象 * * @protected * @type {*} * @memberof PIMEDUCATIONPimEduGridViewBase */ protected srfparentdata: any = {}; /** * 自定义视图导航上下文集合 * * @type {*} * @memberof PIMEDUCATIONPimEduGridViewBase */ protected customViewNavContexts:any ={ }; /** * 自定义视图导航参数集合 * * @type {*} * @memberof PIMEDUCATIONPimEduGridViewBase */ protected customViewParams:any ={ }; /** * 视图模型数据 * * @type {*} * @memberof PIMEDUCATIONPimEduGridViewBase */ public model: any = { srfCaption: 'entities.pimeducation.views.pimedugridview.caption', srfTitle: 'entities.pimeducation.views.pimedugridview.title', srfSubTitle: 'entities.pimeducation.views.pimedugridview.subtitle', dataInfo: '' } /** * 容器模型 * * @type {*} * @memberof PIMEDUCATIONPimEduGridViewBase */ public containerModel: any = { view_toolbar2: { name: 'toolbar2', type: 'TOOLBAR' }, view_toolbar: { name: 'toolbar', type: 'TOOLBAR' }, view_grid: { name: 'grid', type: 'GRID' }, view_searchform: { name: 'searchform', type: 'SEARCHFORM' }, }; /** * 视图状态订阅对象 * * @private * @type {Subject<{action: string, data: any}>} * @memberof PIMEDUCATIONPimEduGridViewBase */ public viewState: Subject<ViewState> = new Subject(); /** * 工具栏模型 * * @type {*} * @memberof PIMEDUCATIONPimEduGridView */ public toolBarModels: any = { tbitem3: { name: 'tbitem3', caption: '新建','isShowCaption':true,'isShowIcon':true, tooltip: '新建', iconcls: 'fa fa-file-text-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: 'SRFUR__JGLYYPZSZYJTJ', uiaction: { tag: 'New', target: '' }, class: '' }, tbitem8: { name: 'tbitem8', caption: '删除','isShowCaption':true,'isShowIcon':true, tooltip: '删除', iconcls: 'fa fa-remove', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: 'SRFUR__JGLYGXML', uiaction: { tag: 'Remove', target: 'MULTIKEY' }, class: '' }, tbitem16: { name: 'tbitem16', caption: '其它', disabled: false, type: 'ITEMS', visabled: true, dataaccaction: '', uiaction: { }, class: '' }, tbitem23: { name: 'tbitem23', caption: '数据导入','isShowCaption':true,'isShowIcon':true, tooltip: '数据导入', iconcls: 'fa fa-upload', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: 'SRFUR__JGLYYPZSZYJTJ', uiaction: { tag: 'Import', target: '' }, class: '' }, tbitem13: { name: 'tbitem13', caption: '导出数据','isShowCaption':true,'isShowIcon':true, tooltip: '导出数据', iconcls: 'fa fa-file-excel-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'ExportExcel', target: '' }, MaxRowCount: 5000, class: '' }, deuiaction1: { name: 'deuiaction1', caption: '开启行编辑','isShowCaption':true,'isShowIcon':true, tooltip: '开启行编辑', iconcls: 'fa fa-edit', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: 'SRFUR__JGLYZW', uiaction: { tag: 'OpenRowEdit', target: '' }, class: '' }, tbitem18: { name: 'tbitem18', caption: '帮助','isShowCaption':true,'isShowIcon':true, tooltip: '帮助', iconcls: 'fa fa-question', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'Help', target: '' }, class: '' }, }; /** * 视图引擎 * * @public * @type {Engine} * @memberof PIMEDUCATIONPimEduGridViewBase */ public engine: GridViewEngine = new GridViewEngine(); /** * 引擎初始化 * * @public * @memberof PIMEDUCATIONPimEduGridViewBase */ public engineInit(): void { this.engine.init({ view: this, opendata: (args: any[], params?: any, $event?: any, xData?: any) => { this.opendata(args, params, $event, xData); }, newdata: (args: any[], params?: any, $event?: any, xData?: any) => { this.newdata(args, params, $event, xData); }, grid: this.$refs.grid, searchform: this.$refs.searchform, keyPSDEField: 'pimeducation', majorPSDEField: 'pimeducationname', isLoadDefault: true, }); } /** * toolbar2 部件 click 事件 * * @param {*} [args={}] * @param {*} $event * @memberof PIMEDUCATIONPimEduGridViewBase */ public toolbar2_click($event: any, $event2?: any) { if (Object.is($event.tag, 'deuiaction1')) { this.toolbar2_deuiaction1_click($event, '', $event2); } if (Object.is($event.tag, 'deuiaction2')) { this.toolbar2_deuiaction2_click($event, '', $event2); } if (Object.is($event.tag, 'deuiaction3')) { this.toolbar2_deuiaction3_click($event, '', $event2); } if (Object.is($event.tag, 'deuiaction4')) { this.toolbar2_deuiaction4_click($event, '', $event2); } if (Object.is($event.tag, 'deuiaction5')) { this.toolbar2_deuiaction5_click($event, '', $event2); } } /** * toolbar 部件 click 事件 * * @param {*} [args={}] * @param {*} $event * @memberof PIMEDUCATIONPimEduGridViewBase */ public toolbar_click($event: any, $event2?: any) { if (Object.is($event.tag, 'tbitem3')) { this.toolbar_tbitem3_click($event, '', $event2); } if (Object.is($event.tag, 'tbitem5')) { this.toolbar_tbitem5_click($event, '', $event2); } if (Object.is($event.tag, 'tbitem8')) { this.toolbar_tbitem8_click($event, '', $event2); } if (Object.is($event.tag, 'tbitem11')) { this.toolbar_tbitem11_click($event, '', $event2); } if (Object.is($event.tag, 'tbitem23')) { this.toolbar_tbitem23_click($event, '', $event2); } if (Object.is($event.tag, 'tbitem13')) { this.toolbar_tbitem13_click($event, '', $event2); } if (Object.is($event.tag, 'deuiaction1')) { this.toolbar_deuiaction1_click($event, '', $event2); } if (Object.is($event.tag, 'tbitem18')) { this.toolbar_tbitem18_click($event, '', $event2); } } /** * grid 部件 selectionchange 事件 * * @param {*} [args={}] * @param {*} $event * @memberof PIMEDUCATIONPimEduGridViewBase */ public grid_selectionchange($event: any, $event2?: any) { this.engine.onCtrlEvent('grid', 'selectionchange', $event); } /** * grid 部件 beforeload 事件 * * @param {*} [args={}] * @param {*} $event * @memberof PIMEDUCATIONPimEduGridViewBase */ public grid_beforeload($event: any, $event2?: any) { this.engine.onCtrlEvent('grid', 'beforeload', $event); } /** * grid 部件 rowdblclick 事件 * * @param {*} [args={}] * @param {*} $event * @memberof PIMEDUCATIONPimEduGridViewBase */ public grid_rowdblclick($event: any, $event2?: any) { this.engine.onCtrlEvent('grid', 'rowdblclick', $event); } /** * grid 部件 remove 事件 * * @param {*} [args={}] * @param {*} $event * @memberof PIMEDUCATIONPimEduGridViewBase */ public grid_remove($event: any, $event2?: any) { this.engine.onCtrlEvent('grid', 'remove', $event); } /** * grid 部件 load 事件 * * @param {*} [args={}] * @param {*} $event * @memberof PIMEDUCATIONPimEduGridViewBase */ public grid_load($event: any, $event2?: any) { this.engine.onCtrlEvent('grid', 'load', $event); } /** * searchform 部件 save 事件 * * @param {*} [args={}] * @param {*} $event * @memberof PIMEDUCATIONPimEduGridViewBase */ public searchform_save($event: any, $event2?: any) { this.engine.onCtrlEvent('searchform', 'save', $event); } /** * searchform 部件 search 事件 * * @param {*} [args={}] * @param {*} $event * @memberof PIMEDUCATIONPimEduGridViewBase */ public searchform_search($event: any, $event2?: any) { this.engine.onCtrlEvent('searchform', 'search', $event); } /** * searchform 部件 load 事件 * * @param {*} [args={}] * @param {*} $event * @memberof PIMEDUCATIONPimEduGridViewBase */ public searchform_load($event: any, $event2?: any) { this.engine.onCtrlEvent('searchform', 'load', $event); } /** * 逻辑事件 * * @param {*} [params={}] * @param {*} [tag] * @param {*} [$event] * @memberof */ public toolbar2_deuiaction1_click(params: any = {}, tag?: any, $event?: any) { // 参数 // 取数 let datas: any[] = []; let xData: any = null; // _this 指向容器对象 const _this: any = this; let paramJO:any = {}; let contextJO:any = {}; xData = this.$refs.grid; if (xData.getDatas && xData.getDatas instanceof Function) { datas = [...xData.getDatas()]; } // 界面行为 this.New(datas, contextJO,paramJO, $event, xData,this,"PIMEDUCATION"); } /** * 逻辑事件 * * @param {*} [params={}] * @param {*} [tag] * @param {*} [$event] * @memberof */ public toolbar2_deuiaction2_click(params: any = {}, tag?: any, $event?: any) { // 参数 // 取数 let datas: any[] = []; let xData: any = null; // _this 指向容器对象 const _this: any = this; let paramJO:any = {}; let contextJO:any = {}; xData = this.$refs.grid; if (xData.getDatas && xData.getDatas instanceof Function) { datas = [...xData.getDatas()]; } // 界面行为 this.SaveAllEditRow(datas, contextJO,paramJO, $event, xData,this,"PIMEDUCATION"); } /** * 逻辑事件 * * @param {*} [params={}] * @param {*} [tag] * @param {*} [$event] * @memberof */ public toolbar2_deuiaction3_click(params: any = {}, tag?: any, $event?: any) { // 参数 // 取数 let datas: any[] = []; let xData: any = null; // _this 指向容器对象 const _this: any = this; let paramJO:any = {}; let contextJO:any = {}; xData = this.$refs.grid; if (xData.getDatas && xData.getDatas instanceof Function) { datas = [...xData.getDatas()]; } // 界面行为 this.Remove(datas, contextJO,paramJO, $event, xData,this,"PIMEDUCATION"); } /** * 逻辑事件 * * @param {*} [params={}] * @param {*} [tag] * @param {*} [$event] * @memberof */ public toolbar2_deuiaction4_click(params: any = {}, tag?: any, $event?: any) { // 参数 // 取数 let datas: any[] = []; let xData: any = null; // _this 指向容器对象 const _this: any = this; let paramJO:any = {}; let contextJO:any = {}; xData = this.$refs.grid; if (xData.getDatas && xData.getDatas instanceof Function) { datas = [...xData.getDatas()]; } // 界面行为 this.Import(datas, contextJO,paramJO, $event, xData,this,"PIMEDUCATION"); } /** * 逻辑事件 * * @param {*} [params={}] * @param {*} [tag] * @param {*} [$event] * @memberof */ public toolbar2_deuiaction5_click(params: any = {}, tag?: any, $event?: any) { // 参数 // 取数 let datas: any[] = []; let xData: any = null; // _this 指向容器对象 const _this: any = this; let paramJO:any = {}; let contextJO:any = {}; xData = this.$refs.grid; if (xData.getDatas && xData.getDatas instanceof Function) { datas = [...xData.getDatas()]; } // 界面行为 this.ExportExcel(datas, contextJO,paramJO, $event, xData,this,"PIMEDUCATION"); } /** * 逻辑事件 * * @param {*} [params={}] * @param {*} [tag] * @param {*} [$event] * @memberof */ public toolbar_tbitem3_click(params: any = {}, tag?: any, $event?: any) { // 参数 // 取数 let datas: any[] = []; let xData: any = null; // _this 指向容器对象 const _this: any = this; let paramJO:any = {}; let contextJO:any = {}; xData = this.$refs.grid; if (xData.getDatas && xData.getDatas instanceof Function) { datas = [...xData.getDatas()]; } // 界面行为 this.New(datas, contextJO,paramJO, $event, xData,this,"PIMEDUCATION"); } /** * 逻辑事件 * * @param {*} [params={}] * @param {*} [tag] * @param {*} [$event] * @memberof */ public toolbar_tbitem5_click(params: any = {}, tag?: any, $event?: any) { // 参数 // 取数 let datas: any[] = []; let xData: any = null; // _this 指向容器对象 const _this: any = this; let paramJO:any = {}; let contextJO:any = {}; xData = this.$refs.grid; if (xData.getDatas && xData.getDatas instanceof Function) { datas = [...xData.getDatas()]; } // 界面行为 this.View(datas, contextJO,paramJO, $event, xData,this,"PIMEDUCATION"); } /** * 逻辑事件 * * @param {*} [params={}] * @param {*} [tag] * @param {*} [$event] * @memberof */ public toolbar_tbitem8_click(params: any = {}, tag?: any, $event?: any) { // 参数 // 取数 let datas: any[] = []; let xData: any = null; // _this 指向容器对象 const _this: any = this; let paramJO:any = {}; let contextJO:any = {}; xData = this.$refs.grid; if (xData.getDatas && xData.getDatas instanceof Function) { datas = [...xData.getDatas()]; } // 界面行为 this.Remove(datas, contextJO,paramJO, $event, xData,this,"PIMEDUCATION"); } /** * 逻辑事件 * * @param {*} [params={}] * @param {*} [tag] * @param {*} [$event] * @memberof */ public toolbar_tbitem11_click(params: any = {}, tag?: any, $event?: any) { // 参数 // 取数 let datas: any[] = []; let xData: any = null; // _this 指向容器对象 const _this: any = this; let paramJO:any = {}; let contextJO:any = {}; xData = this.$refs.grid; if (xData.getDatas && xData.getDatas instanceof Function) { datas = [...xData.getDatas()]; } // 界面行为 this.Print(datas, contextJO,paramJO, $event, xData,this,"PIMEDUCATION"); } /** * 逻辑事件 * * @param {*} [params={}] * @param {*} [tag] * @param {*} [$event] * @memberof */ public toolbar_tbitem23_click(params: any = {}, tag?: any, $event?: any) { // 参数 // 取数 let datas: any[] = []; let xData: any = null; // _this 指向容器对象 const _this: any = this; let paramJO:any = {}; let contextJO:any = {}; xData = this.$refs.grid; if (xData.getDatas && xData.getDatas instanceof Function) { datas = [...xData.getDatas()]; } // 界面行为 this.Import(datas, contextJO,paramJO, $event, xData,this,"PIMEDUCATION"); } /** * 逻辑事件 * * @param {*} [params={}] * @param {*} [tag] * @param {*} [$event] * @memberof */ public toolbar_tbitem13_click(params: any = {}, tag?: any, $event?: any) { // 参数 // 取数 let datas: any[] = []; let xData: any = null; // _this 指向容器对象 const _this: any = this; let paramJO:any = {}; let contextJO:any = {}; xData = this.$refs.grid; if (xData.getDatas && xData.getDatas instanceof Function) { datas = [...xData.getDatas()]; } // 界面行为 this.ExportExcel(datas, contextJO,paramJO, $event, xData,this,"PIMEDUCATION"); } /** * 逻辑事件 * * @param {*} [params={}] * @param {*} [tag] * @param {*} [$event] * @memberof */ public toolbar_deuiaction1_click(params: any = {}, tag?: any, $event?: any) { // 参数 // 取数 let datas: any[] = []; let xData: any = null; // _this 指向容器对象 const _this: any = this; let paramJO:any = {}; let contextJO:any = {}; xData = this.$refs.grid; if (xData.getDatas && xData.getDatas instanceof Function) { datas = [...xData.getDatas()]; } // 界面行为 this.OpenRowEdit(datas, contextJO,paramJO, $event, xData,this,"PIMEDUCATION"); } /** * 逻辑事件 * * @param {*} [params={}] * @param {*} [tag] * @param {*} [$event] * @memberof */ public toolbar_tbitem18_click(params: any = {}, tag?: any, $event?: any) { // 参数 // 取数 let datas: any[] = []; let xData: any = null; // _this 指向容器对象 const _this: any = this; let paramJO:any = {}; let contextJO:any = {}; xData = this.$refs.grid; if (xData.getDatas && xData.getDatas instanceof Function) { datas = [...xData.getDatas()]; } // 界面行为 this.Help(datas, contextJO,paramJO, $event, xData,this,"PIMEDUCATION"); } /** * 打开新建数据视图 * * @param {any[]} args * @param {*} [params] * @param {*} [fullargs] * @param {*} [$event] * @param {*} [xData] * @memberof PIMEDUCATIONPimEduGridView */ public newdata(args: any[],fullargs?:any[], params?: any, $event?: any, xData?: any) { const data: any = {}; let curViewParam = JSON.parse(JSON.stringify(this.context)); if(args.length >0){ Object.assign(curViewParam,args[0]); } let deResParameters: any[] = []; if(curViewParam.pimperson && true){ deResParameters = [ { pathName: 'pimpeople', parameterName: 'pimperson' }, ] } const parameters: any[] = [ { pathName: 'pimeducations', parameterName: 'pimeducation' }, { pathName: 'editview', parameterName: 'editview' }, ]; const _this: any = this; const openIndexViewTab = (data: any) => { const _data: any = { w: (new Date().getTime()) }; Object.assign(_data, data); const routePath = this.$viewTool.buildUpRoutePath(this.$route, curViewParam, deResParameters, parameters, args, _data); this.$router.push(routePath); } openIndexViewTab(data); } /** * 打开编辑数据视图 * * @param {any[]} args * @param {*} [params] * @param {*} [fullargs] * @param {*} [$event] * @param {*} [xData] * @memberof PIMEDUCATIONPimEduGridView */ public opendata(args: any[],fullargs?:any[],params?: any, $event?: any, xData?: any) { const data: any = {}; let curViewParam = JSON.parse(JSON.stringify(this.context)); if(args.length >0){ Object.assign(curViewParam,args[0]); } let deResParameters: any[] = []; if(curViewParam.pimperson && true){ deResParameters = [ { pathName: 'pimpeople', parameterName: 'pimperson' }, ] } const parameters: any[] = [ { pathName: 'pimeducations', parameterName: 'pimeducation' }, { pathName: 'editview', parameterName: 'editview' }, ]; const _this: any = this; const openIndexViewTab = (data: any) => { const routePath = this.$viewTool.buildUpRoutePath(this.$route, curViewParam, deResParameters, parameters, args, data); this.$router.push(routePath); } openIndexViewTab(data); } /** * 新建 * * @param {any[]} args 当前数据 * @param {any} contextJO 行为附加上下文 * @param {*} [params] 附加参数 * @param {*} [$event] 事件源 * @param {*} [xData] 执行行为所需当前部件 * @param {*} [actionContext] 执行行为上下文 * @memberof PIMEDUCATIONPimEduGridViewBase */ public New(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { const _this: any = this; if (_this.newdata && _this.newdata instanceof Function) { const data: any = {}; _this.newdata([{ ...data }],[{ ...data }], params, $event, xData); } else { _this.$Notice.error({ title: '错误', desc: 'newdata 视图处理逻辑不存在,请添加!' }); } } /** * 保存所有编辑行 * * @param {any[]} args 当前数据 * @param {any} contextJO 行为附加上下文 * @param {*} [params] 附加参数 * @param {*} [$event] 事件源 * @param {*} [xData] 执行行为所需当前部件 * @param {*} [actionContext] 执行行为上下文 * @memberof PIMEDUCATIONPimEduGridViewBase */ protected SaveAllEditRow(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { } /** * 删除 * * @param {any[]} args 当前数据 * @param {any} contextJO 行为附加上下文 * @param {*} [params] 附加参数 * @param {*} [$event] 事件源 * @param {*} [xData] 执行行为所需当前部件 * @param {*} [actionContext] 执行行为上下文 * @memberof PIMEDUCATIONPimEduGridViewBase */ public Remove(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { const _this: any = this; if (!xData || !(xData.remove instanceof Function)) { return ; } xData.remove(args); } /** * 数据导入 * * @param {any[]} args 当前数据 * @param {any} contextJO 行为附加上下文 * @param {*} [params] 附加参数 * @param {*} [$event] 事件源 * @param {*} [xData] 执行行为所需当前部件 * @param {*} [actionContext] 执行行为上下文 * @memberof PIMEDUCATIONPimEduGridViewBase */ public Import(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { const _this: any = this; if (!xData || !(xData.importExcel instanceof Function) || !$event) { return ; } xData.importExcel(params); } /** * 导出 * * @param {any[]} args 当前数据 * @param {any} contextJO 行为附加上下文 * @param {*} [params] 附加参数 * @param {*} [$event] 事件源 * @param {*} [xData] 执行行为所需当前部件 * @param {*} [actionContext] 执行行为上下文 * @memberof PIMEDUCATIONPimEduGridViewBase */ public ExportExcel(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { const _this: any = this; if (!xData || !(xData.exportExcel instanceof Function) || !$event) { return ; } xData.exportExcel($event.exportparms); } /** * 查看 * * @param {any[]} args 当前数据 * @param {any} contextJO 行为附加上下文 * @param {*} [params] 附加参数 * @param {*} [$event] 事件源 * @param {*} [xData] 执行行为所需当前部件 * @param {*} [actionContext] 执行行为上下文 * @memberof PIMEDUCATIONPimEduGridViewBase */ public View(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { if (args.length === 0) { return; } const _this: any = this; if (_this.opendata && _this.opendata instanceof Function) { const data: any = { }; if (args.length > 0) { Object.assign(data, { pimeducation: args[0].pimeducation }) } _this.opendata([{ ...data }], params, $event, xData); } else { _this.$Notice.error({ title: '错误', desc: 'opendata 视图处理逻辑不存在,请添加!' }); } } /** * 打印 * * @param {any[]} args 当前数据 * @param {any} contextJO 行为附加上下文 * @param {*} [params] 附加参数 * @param {*} [$event] 事件源 * @param {*} [xData] 执行行为所需当前部件 * @param {*} [actionContext] 执行行为上下文 * @memberof PIMEDUCATIONPimEduGridViewBase */ public Print(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { let _this:any = this; if (!xData || !(xData.print instanceof Function) || !$event) { return ; } xData.print(); } /** * 开启行编辑 * * @param {any[]} args 当前数据 * @param {any} contextJO 行为附加上下文 * @param {*} [params] 附加参数 * @param {*} [$event] 事件源 * @param {*} [xData] 执行行为所需当前部件 * @param {*} [actionContext] 执行行为上下文 * @memberof PIMEDUCATIONPimEduGridViewBase */ protected OpenRowEdit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { } /** * 帮助 * * @param {any[]} args 当前数据 * @param {any} contextJO 行为附加上下文 * @param {*} [params] 附加参数 * @param {*} [$event] 事件源 * @param {*} [xData] 执行行为所需当前部件 * @param {*} [actionContext] 执行行为上下文 * @memberof PIMEDUCATIONPimEduGridViewBase */ public Help(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { this.$Notice.error({ title: '错误', desc: '帮助未支持' }); } /** * 销毁视图回调 * * @memberof PIMEDUCATIONPimEduGridViewBase */ public destroyed(){ if(this.viewDefaultUsage){ let localStoreLength = Object.keys(localStorage); if(localStoreLength.length > 0){ localStoreLength.forEach((item:string) =>{ if(item.startsWith(this.context.srfsessionid)){ localStorage.removeItem(item); } }) } } } /** * 是否单选 * * @type {boolean} * @memberof PIMEDUCATIONPimEduGridViewBase */ public isSingleSelect: boolean = false; /** * Vue声明周期 * * @memberof ViewBase */ public created() { super.created(); if(this.formDruipart){ this.formDruipart.subscribe((res:any) =>{ if(Object.is(res.action,'save')){ this.viewState.next({ tag:'grid', action: 'save', data: this.viewparams }); } if(Object.is(res.action,'load')){ const _this: any = this; _this.engine.load(res.data,true); } }); } } /** * 界面关系通讯对象 * * @type {Subject<ViewState>} * @memberof PIMEDUCATIONPimEduGridViewBase */ @Prop() public formDruipart?: Subject<ViewState>; /** * 搜索值 * * @type {string} * @memberof PIMEDUCATIONPimEduGridViewBase */ public query: string = ''; /** * 是否展开搜索表单 * * @type {boolean} * @memberof PIMEDUCATIONPimEduGridViewBase */ public isExpandSearchForm: boolean = false; /** * 表格行数据默认激活模式 * 0 不激活 * 1 单击激活 * 2 双击激活 * * @type {(number | 0 | 1 | 2)} * @memberof PIMEDUCATIONPimEduGridViewBase */ public gridRowActiveMode: number | 0 | 1 | 2 = 2; /** * 快速搜索 * * @param {*} $event * @memberof PIMEDUCATIONPimEduGridViewBase */ public onSearch($event: any): void { const grid: any = this.$refs.grid; if (grid) { grid.load(this.context); } } /** * grid 部件 save 事件 * * @param {*} [args={}] * @param {*} $event * @memberof ENTITYTEST1Usr2GridViewBase */ public onSave($event: any) { this.$emit('drdatasaved', $event); } /** * 刷新数据 * * @readonly * @type {(number | null)} * @memberof PIMEDUCATIONPimEduGridViewBase */ get refreshdata(): number | null { return this.$store.getters['viewaction/getRefreshData'](this.viewtag); } /** * 监控数据变化 * * @param {*} newVal * @param {*} oldVal * @returns * @memberof PIMEDUCATIONPimEduGridViewBase */ @Watch('refreshdata') onRefreshData(newVal: any, oldVal: any) { if (newVal === null || newVal === undefined) { return; } if (newVal === 0) { return; } const grid: any = this.$refs.grid; if (grid) { grid.load({}); } } } </script> <style lang='less'> @import './pimeducationpim-edu-grid-view.less'; </style>