提交 9567d7c3 编写于 作者: ibizdev's avatar ibizdev

tony001 发布系统代码 [后台服务,演示应用]

上级 9f5a429c
...@@ -3,7 +3,7 @@ import { Component } from 'vue-property-decorator'; ...@@ -3,7 +3,7 @@ import { Component } from 'vue-property-decorator';
import IBIZBOOKUsrListView_pluginBase from './ibizbookusr-list-view-plugin-base.vue'; import IBIZBOOKUsrListView_pluginBase from './ibizbookusr-list-view-plugin-base.vue';
import view_searchform from '@widgets/ibizbook/quicksearchform-searchform/quicksearchform-searchform.vue'; import view_searchform from '@widgets/ibizbook/quicksearchform-searchform/quicksearchform-searchform.vue';
import view_list from '@widgets/ibizbook/lnternal-func-list-list/lnternal-func-list-list.vue'; import view_list from '@widgets/ibizbook/listplugin-list/listplugin-list.vue';
// 基于 @VIEW/实体列表视图/VIEW.vue.ftl 生成 // 基于 @VIEW/实体列表视图/VIEW.vue.ftl 生成
@Component({ @Component({
......
...@@ -1378,7 +1378,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface ...@@ -1378,7 +1378,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
*/ */
public async load(opt: any = {}): Promise<any> { public async load(opt: any = {}): Promise<any> {
if(!this.loadAction){ if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.loadaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.loadaction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -1429,7 +1429,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface ...@@ -1429,7 +1429,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
*/ */
public async loadDraft(opt: any = {}): Promise<any> { public async loadDraft(opt: any = {}): Promise<any> {
if (!this.loaddraftAction) { if (!this.loaddraftAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
...@@ -1499,7 +1499,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface ...@@ -1499,7 +1499,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction; const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction;
if(!action){ if(!action){
let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction"; let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction";
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.actionname') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.actionname') as string) });
return; return;
} }
Object.assign(arg,{viewparams:this.viewparams}); Object.assign(arg,{viewparams:this.viewparams});
...@@ -1607,7 +1607,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface ...@@ -1607,7 +1607,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction; const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction;
if(!action){ if(!action){
let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction"; let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction";
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.actionname') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.actionname') as string) });
return; return;
} }
Object.assign(arg, { viewparams: this.viewparams }); Object.assign(arg, { viewparams: this.viewparams });
...@@ -1815,7 +1815,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface ...@@ -1815,7 +1815,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
public remove(opt:Array<any> = [],showResultInfo?: boolean): Promise<any> { public remove(opt:Array<any> = [],showResultInfo?: boolean): Promise<any> {
return new Promise((resolve: any, reject: any) => { return new Promise((resolve: any, reject: any) => {
if(!this.removeAction){ if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.removeaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.removeaction') as string) });
return; return;
} }
const arg: any = opt[0]; const arg: any = opt[0];
......
...@@ -1344,7 +1344,7 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface ...@@ -1344,7 +1344,7 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface
*/ */
public async load(opt: any = {}): Promise<any> { public async load(opt: any = {}): Promise<any> {
if(!this.loadAction){ if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.loadaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.loadaction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -1395,7 +1395,7 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface ...@@ -1395,7 +1395,7 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface
*/ */
public async loadDraft(opt: any = {}): Promise<any> { public async loadDraft(opt: any = {}): Promise<any> {
if (!this.loaddraftAction) { if (!this.loaddraftAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
...@@ -1465,7 +1465,7 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface ...@@ -1465,7 +1465,7 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface
const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction; const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction;
if(!action){ if(!action){
let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction"; let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction";
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.actionname') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.actionname') as string) });
return; return;
} }
Object.assign(arg,{viewparams:this.viewparams}); Object.assign(arg,{viewparams:this.viewparams});
...@@ -1573,7 +1573,7 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface ...@@ -1573,7 +1573,7 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface
const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction; const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction;
if(!action){ if(!action){
let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction"; let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction";
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.actionname') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.actionname') as string) });
return; return;
} }
Object.assign(arg, { viewparams: this.viewparams }); Object.assign(arg, { viewparams: this.viewparams });
...@@ -1781,7 +1781,7 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface ...@@ -1781,7 +1781,7 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface
public remove(opt:Array<any> = [],showResultInfo?: boolean): Promise<any> { public remove(opt:Array<any> = [],showResultInfo?: boolean): Promise<any> {
return new Promise((resolve: any, reject: any) => { return new Promise((resolve: any, reject: any) => {
if(!this.removeAction){ if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.removeaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.removeaction') as string) });
return; return;
} }
const arg: any = opt[0]; const arg: any = opt[0];
......
...@@ -1447,7 +1447,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface { ...@@ -1447,7 +1447,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface {
*/ */
public async load(opt: any = {}): Promise<any> { public async load(opt: any = {}): Promise<any> {
if(!this.loadAction){ if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.loadaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.loadaction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -1499,7 +1499,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface { ...@@ -1499,7 +1499,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface {
*/ */
public async loadDraft(opt: any = {}): Promise<any> { public async loadDraft(opt: any = {}): Promise<any> {
if (!this.loaddraftAction) { if (!this.loaddraftAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
...@@ -1569,7 +1569,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface { ...@@ -1569,7 +1569,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface {
const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction; const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction;
if(!action){ if(!action){
let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction"; let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction";
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.actionname') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.actionname') as string) });
return; return;
} }
Object.assign(arg,{viewparams:this.viewparams}); Object.assign(arg,{viewparams:this.viewparams});
...@@ -1677,7 +1677,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface { ...@@ -1677,7 +1677,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface {
const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction; const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction;
if(!action){ if(!action){
let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction"; let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction";
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.actionname') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.actionname') as string) });
return; return;
} }
Object.assign(arg, { viewparams: this.viewparams }); Object.assign(arg, { viewparams: this.viewparams });
...@@ -1885,7 +1885,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface { ...@@ -1885,7 +1885,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface {
public remove(opt:Array<any> = [],showResultInfo?: boolean): Promise<any> { public remove(opt:Array<any> = [],showResultInfo?: boolean): Promise<any> {
return new Promise((resolve: any, reject: any) => { return new Promise((resolve: any, reject: any) => {
if(!this.removeAction){ if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.removeaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.removeaction') as string) });
return; return;
} }
const arg: any = opt[0]; const arg: any = opt[0];
......
...@@ -369,7 +369,7 @@ export default class GuideBase extends Vue implements ControlInterface { ...@@ -369,7 +369,7 @@ export default class GuideBase extends Vue implements ControlInterface {
* @type {Boolean} * @type {Boolean}
* @memberof GuideBase * @memberof GuideBase
*/ */
public isShowStepBar: Boolean = false ; public isShowStepBar: Boolean = true ;
/** /**
* 获取多项数据 * 获取多项数据
......
<template>
<div style="overflow:auto;">
<div :class="['app-list',this.items.length > 0 ? '' : 'app-list-empty' ]">
</div>
<row class='list-pagination' v-if="selections.length > 0">
<span class="batch-toolbar">
<div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="usrlistview_pluginlist_batchtoolbarModels.deuiaction1.visabled" :disabled="usrlistview_pluginlist_batchtoolbarModels.deuiaction1.disabled" class='' v-button-loading:i-button @click="list_batchtoolbar_click({ tag: 'deuiaction1' }, $event)">
<i class='fa fa-edit'></i>
<span class='caption'>{{'编辑'}}</span>
</i-button>
<div slot='content'>{{$t('TBB.TEXT.*.EDIT', '编辑')}}</div>
</tooltip>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="usrlistview_pluginlist_batchtoolbarModels.deuiaction2.visabled" :disabled="usrlistview_pluginlist_batchtoolbarModels.deuiaction2.disabled" class='' v-button-loading:i-button @click="list_batchtoolbar_click({ tag: 'deuiaction2' }, $event)">
<i class='fa fa-remove'></i>
<span class='caption'>{{'删除'}}</span>
</i-button>
<div slot='content'>{{$t('TBB.TEXT.*.REMOVE', '删除')}}</div>
</tooltip>
</div>
</span>
</row>
</div>
</template>
// 基于 @CONTROL/列表/CONTROL-BASE.vue.ftl 生成
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch, Model,Inject } from 'vue-property-decorator';
import { CreateElement } from 'vue';
import { Subject, Subscription } from 'rxjs';
import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util,ViewTool } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import AppCenterService from "@service/app/app-center-service";
import IBIZBOOKEntityService from '@/service/ibizbook/ibizbook-service';
import ListpluginService from './listplugin-list-service';
import IBIZBOOKUIService from '@/uiservice/ibizbook/ibizbook-ui-service';
import CodeListService from "@/codelist/codelist-service";
@Component({
components: {
}
})
export default class ListpluginBase extends Vue implements ControlInterface {
/**
* 名称
*
* @type {string}
* @memberof ListpluginBase
*/
@Prop() public name?: string;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof ListpluginBase
*/
@Prop() public viewState!: Subject<ViewState>;
/**
* 应用上下文
*
* @type {*}
* @memberof ListpluginBase
*/
@Prop() public context!: any;
/**
* 视图参数
*
* @type {*}
* @memberof ListpluginBase
*/
@Prop() public viewparams!: any;
/**
* 视图操作参数(父级)
*
* @type {*}
* @memberof ListpluginBase
*/
@Prop() public pViewCtx!: any;
/**
* 视图操作参数
*
* @type {*}
* @memberof ListpluginBase
*/
public viewCtx: any = {};
/**
* 监听视图操作参数变化
*
* @type {*}
* @memberof ListpluginBase
*/
@Watch('pViewCtx', { immediate: true })
public onViewCtxChange(newVal: any, oldVal: any) {
Object.assign(this.viewCtx, newVal, { xData: this, ctrl: this });
}
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof ListpluginBase
*/
public viewStateEvent: Subscription | undefined;
/**
* 获取部件类型
*
* @returns {string}
* @memberof ListpluginBase
*/
public getControlType(): string {
return 'LIST'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof ListpluginBase
*/
public counterServiceArray:Array<any> = [];
/**
* 建构部件服务对象
*
* @type {ListpluginService}
* @memberof ListpluginBase
*/
public service: ListpluginService = new ListpluginService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {IBIZBOOKService}
* @memberof ListpluginBase
*/
public appEntityService: IBIZBOOKEntityService = new IBIZBOOKEntityService({ $store: this.$store });
/**
* list_quicktoolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ListpluginBase
*/
public list_quicktoolbar_click($event: any, $event2?: any) {
if (Object.is($event.tag, 'deuiaction1')) {
this.list_quicktoolbar_deuiaction1_click(null, 'list_quicktoolbar', $event2);
}
}
/**
* list_batchtoolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ListpluginBase
*/
public list_batchtoolbar_click($event: any, $event2?: any) {
if (Object.is($event.tag, 'deuiaction1')) {
this.list_batchtoolbar_deuiaction1_click(null, 'list_batchtoolbar', $event2);
}
if (Object.is($event.tag, 'deuiaction2')) {
this.list_batchtoolbar_deuiaction2_click(null, 'list_batchtoolbar', $event2);
}
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public list_quicktoolbar_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;
if (_this.getDatas && _this.getDatas instanceof Function) {
datas = [..._this.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.New(datas, contextJO,paramJO, $event, xData,this,"IBIZBOOK");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public list_batchtoolbar_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;
if (_this.getDatas && _this.getDatas instanceof Function) {
datas = [..._this.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Edit(datas, contextJO,paramJO, $event, xData,this,"IBIZBOOK");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public list_batchtoolbar_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;
if (_this.getDatas && _this.getDatas instanceof Function) {
datas = [..._this.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Remove(datas, contextJO,paramJO, $event, xData,this,"IBIZBOOK");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public list_memo1_u37f11a8_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;
if (_this.getDatas && _this.getDatas instanceof Function) {
datas = [..._this.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Edit(datas, contextJO,paramJO, $event, xData,this,"IBIZBOOK");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public list_memo1_uc365542_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;
if (_this.getDatas && _this.getDatas instanceof Function) {
datas = [..._this.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Remove(datas, contextJO,paramJO, $event, xData,this,"IBIZBOOK");
}
/**
* 新建
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKUsrListView_pluginBase
*/
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 IBIZBOOKUsrListView_pluginBase
*/
public Edit(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, { ibizbook: args[0].ibizbook })
}
_this.opendata([{ ...data }], args, 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 IBIZBOOKUsrListView_pluginBase
*/
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
* @memberof ListpluginBase
*/
public transformData(args: any) {
let _this: any = this;
if(_this.service && _this.service.handleRequestData instanceof Function && _this.service.handleRequestData('transform',_this.context,args)){
return _this.service.handleRequestData('transform',_this.context,args)['data'];
}
}
/**
* 关闭视图
*
* @param {any} args
* @memberof ListpluginBase
*/
public closeView(args: any): void {
let _this: any = this;
_this.$emit('closeview', [args]);
}
/**
* 计数器刷新
*
* @memberof ListpluginBase
*/
public counterRefresh(){
const _this:any =this;
if(_this.counterServiceArray && _this.counterServiceArray.length >0){
_this.counterServiceArray.forEach((item:any) =>{
if(item.refreshData && item.refreshData instanceof Function){
item.refreshData();
}
})
}
}
/**
* 处理部件事件
*
* @memberof ListpluginBase
*/
public async handleCtrlEvents(eventName: string, args: any = {}): Promise<boolean> {
const actionData = {
data: this.getData() || {},
context: Util.deepCopy(this.context),
viewparams: Util.deepCopy(this.viewparams),
xData: this
}
let result: boolean = true;
Object.assign(actionData, args);
if (!result) {
return false;
}
this.$emit(eventName, actionData);
return true;
}
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof ListpluginBase
*/
public codeListService:CodeListService = new CodeListService();
/**
* 界面UI服务对象
*
* @type {IBIZBOOKUIService}
* @memberof ListpluginBase
*/
public appUIService:IBIZBOOKUIService = new IBIZBOOKUIService();
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof ListpluginBase
*/
public getDatas(): any[] {
return this.selections;
}
/**
* 获取单项树
*
* @returns {*}
* @memberof ListpluginBase
*/
public getData(): any {
return null;
}
/**
* 是否默认选中第一条数据
*
* @type {boolean}
* @memberof ListpluginBase
*/
@Prop({ default: false }) public isSelectFirstDefault!: boolean;
/**
* 显示处理提示
*
* @type {boolean}
* @memberof ListpluginBase
*/
@Prop({ default: true }) public showBusyIndicator?: boolean;
/**
* 部件行为--create
*
* @type {string}
* @memberof ListpluginBase
*/
@Prop() public createAction!: string;
/**
* 部件行为--remove
*
* @type {string}
* @memberof ListpluginBase
*/
@Prop() public removeAction!: string;
/**
* 部件行为--update
*
* @type {string}
* @memberof ListpluginBase
*/
@Prop() public updateAction!: string;
/**
* 部件行为--fetch
*
* @type {string}
* @memberof ListpluginBase
*/
@Prop() public fetchAction!: string;
/**
* 父引用类型
*
* @type {boolean}
* @memberof ListpluginBase
*/
@Prop({default:true}) public parentType: any;;
/**
* 打开新建数据视图
*
* @type {any}
* @memberof ListpluginBase
*/
@Prop() public newdata: any;
/**
* 打开编辑数据视图
*
* @type {any}
* @memberof ListpluginBase
*/
@Prop() public opendata: any;
/**
* this引用
*
* @type {number}
* @memberof ListpluginBase
*/
public thisRef: any = this;
/**
* 工具栏模型
*
* @type {*}
* @memberof IBIZBOOKUsrListView_plugin
*/
public usrlistview_pluginlist_quicktoolbarModels: any = {
deuiaction1: { name: 'deuiaction1', actiontarget: 'NONE', caption: '新建', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'New', target: '' } },
};
/**
* 工具栏模型
*
* @type {*}
* @memberof IBIZBOOKUsrListView_plugin
*/
public usrlistview_pluginlist_batchtoolbarModels: any = {
deuiaction1: { name: 'deuiaction1', actiontarget: 'NONE', caption: '编辑', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Edit', target: 'SINGLEKEY' } },
deuiaction2: { name: 'deuiaction2', actiontarget: 'NONE', caption: '删除', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Remove', target: 'MULTIKEY' } },
};
/**
* 当前页
*
* @type {number}
* @memberof ListpluginBase
*/
public curPage: number = 1;
/**
* 数据
*
* @type {any[]}
* @memberof ListpluginBase
*/
public items: any[] = [];
/**
* 是否支持分页
*
* @type {boolean}
* @memberof ListpluginBase
*/
public isEnablePagingBar: boolean = true;
/**
* 分页条数
*
* @type {number}
* @memberof ListpluginBase
*/
public limit: number = 10;
/**
* 总条数
*
* @type {number}
* @memberof ListpluginBase
*/
public totalRecord: number = 0;
/**
* 加载的数据是否附加在items之后
*
* @type {boolean}
* @memberof ListpluginBase
*/
public isAddBehind:boolean = false;
/**
* 是否有滚动条
*
* @type {boolean}
* @memberof ListpluginBase
*/
public isScrollBar: boolean = false;
/**
* 排序方向
*
* @type {string}
* @memberof ListpluginBase
*/
public sortDir:string = 'asc';
/**
* 排序字段
*
* @type {string}
* @memberof ListpluginBase
*/
public sortField: string = 'ibizbookname';
/**
* 选中数组
* @type {Array<any>}
* @memberof ListpluginBase
*/
public selections: Array<any> = [];
/**
* 应用状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof ListpluginBase
*/
public appStateEvent: Subscription | undefined;
/**
* Vue声明周期,组件挂载完毕
*
* @memberof ListpluginBase
*/
public mounted () {
this.afterMounted();
}
/**
* 执行mounted后的逻辑
*
* @memberof ListpluginBase
*/
public afterMounted () {
const loadMoreCallBack:any = this.throttle(this.loadMore,3000);
let listDom = this.$el.children[0];
listDom.addEventListener('scroll', ()=> {
if(this.$el.scrollHeight > this.$el.clientHeight) {
this.isScrollBar = true;
} else {
this.isScrollBar = false;
}
if( this.$el.scrollTop + this.$el.clientHeight >= this.$el.scrollHeight) {
loadMoreCallBack();
}
})
}
/**
* Vue声明周期,组件创建完毕
*
* @memberof ListpluginBase
*/
public created() {
this.afterCreated()
}
/**
* 执行created后的逻辑
*
* @memberof ListpluginBase
*/
public afterCreated(){
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(this.name, tag)) {
return;
}
if (Object.is(action,'load')) {
this.curPage = 1;
this.items = [];
this.load(data);
}
if (Object.is(action,'refresh')) {
this.refresh(data);
}
});
}
if(AppCenterService && AppCenterService.getMessageCenter()){
this.appStateEvent = AppCenterService.getMessageCenter().subscribe(({ name, action, data }) =>{
if(!Object.is(name,"IBIZBOOK")){
return;
}
if(Object.is(action,'appRefresh')){
this.refresh([data]);
}
})
}
}
/**
* vue 生命周期
*
* @memberof ListpluginBase
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof ListpluginBase
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
if(this.appStateEvent){
this.appStateEvent.unsubscribe();
}
}
/**
* 加载更多
*
* @memberof ListpluginBase
*/
public loadMore(){
if(this.totalRecord>this.items.length){
this.curPage = ++this.curPage;
this.isAddBehind = true;
this.load({});
}
}
/**
* 刷新
*
* @param {*} [args={}]
* @memberof Main
*/
public refresh(args?: any) {
this.isAddBehind = true;
this.load(args);
}
/**
* 列表数据加载
*
* @public
* @param {*} [arg={}]
* @memberof ListpluginBase
*/
public async load(opt: any = {}): Promise<any> {
if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrListView_plugin' + (this.$t('app.list.notConfig.fetchAction') as string) });
return;
}
const arg: any = {...opt};
const page: any = {};
if (this.isEnablePagingBar) {
Object.assign(page, { page: this.curPage-1, size: this.limit });
}
// 设置排序
if (!Object.is(this.sortDir, '') && !Object.is(this.sortField, '')) {
const sort: string = this.sortField+","+this.sortDir;
Object.assign(page, { sort: sort });
}
Object.assign(arg, page);
const parentdata: any = {};
this.$emit('beforeload', parentdata);
Object.assign(arg, parentdata);
let tempViewParams:any = parentdata.viewparams ? parentdata.viewparams : {};
if(this.viewparams){
Object.assign(tempViewParams,JSON.parse(JSON.stringify(this.viewparams)));
}
Object.assign(arg, { viewparams: tempViewParams });
const tempContext: any = Util.deepCopy(this.context);
if (!(await this.handleCtrlEvents('onbeforeload', { data: arg }))) {
return false;
}
try {
const response: any = await this.service.search(this.fetchAction, tempContext, arg, this.showBusyIndicator);
if (!response || response.status !== 200) {
if (!(await this.handleCtrlEvents('onloaderror', { data: response && response.data ? response.data : arg }))) {
return;
}
if (response.data && response.data.message) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.data.message });
}
return response;
}
if (!(await this.handleCtrlEvents('onloadsuccess', { data: response.data }))) {
return;
}
const data: any = response.data;
if(!this.isAddBehind){
this.items = [];
}
if (data && data.length > 0) {
let datas = JSON.parse(JSON.stringify(data));
datas.map((item: any) => {
Object.assign(item, { isselected: false });
});
this.totalRecord = response.total;
this.items.push(...datas);
this.items = this.arrayNonRepeatfy(this.items);
}
this.isAddBehind = false;
this.items.forEach((item: any) => {
Object.assign(item,this.getActionState(item));
})
this.$emit('load', this.items);
//在导航视图中,如已有选中数据,则右侧展开已选中数据的视图,如无选中数据则默认选中第一条
if(this.isSelectFirstDefault){
if(this.selections && this.selections.length > 0){
this.selections.forEach((select: any)=>{
const index = this.items.findIndex((item:any) => Object.is(item.srfkey,select.srfkey));
if(index != -1){
this.handleClick(this.items[index]);
}
})
}else{
this.handleClick(this.items[0]);
}
}
return response;
} catch (response: any) {
if (!(await this.handleCtrlEvents('onloaderror', { data: response && response.data ? response.data : arg }))) {
return;
}
if (response && response.status === 401) {
return;
}
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.data && response.data.message ? response.data.message : "" });
}
}
/**
* 列表数据去重
*
* @param {Array<any>} [arr]
* @returns {void}
* @memberof ListpluginBase
*/
public arrayNonRepeatfy(arr:Array<any>) {
let map = new Map();
let array = new Array();
for (let i = 0; i < arr.length; i++) {
map .set(arr[i].srfkey, arr[i]);
}
map.forEach((value:any, key:string, map:any) => {
array.push(value);
});
return array ;
}
/**
* 节流
*
* @param {Array<any>} [arr]
* @returns {void}
* @memberof ListpluginBase
*/
public throttle(fn:any, wait:number){
let time = 0;
return () =>{
let now = Date.now()
let args = arguments;
if(now - time > wait){
fn.apply(this, args)
time = now;
}
}
}
/**
* 删除
*
* @param {any[]} datas
* @returns {Promise<any>}
* @memberof ListpluginBase
*/
public async remove(datas: any[]): Promise<any> {
if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrListView_plugin' + (this.$t('app.list.notConfig.removeAction') as string) });
return;
}
if (datas.length === 0) {
return;
}
let dataInfo = '';
datas.forEach((record: any, index: number) => {
let srfmajortext = record.srfmajortext;
if (index < 5) {
if (!Object.is(dataInfo, '')) {
dataInfo += '、';
}
dataInfo += srfmajortext;
} else {
return false;
}
});
if (datas.length < 5) {
dataInfo = dataInfo + ' 共' + datas.length + '条数据';
} else {
dataInfo = dataInfo + '...' + ' 共' + datas.length + '条数据';
}
const removeData = async () => {
let keys: any[] = [];
datas.forEach((data: any) => {
keys.push(data.srfkey);
});
let _removeAction = keys.length > 1 ? 'removeBatch' : this.removeAction ;
const context:any = JSON.parse(JSON.stringify(this.context));
if (!(await this.handleCtrlEvents('onbeforeremove', { data: this.items }))) {
return;
}
try {
const response: any = await this.service.delete(_removeAction,Object.assign(context,{ ibizbook: keys.join(';') }),Object.assign({ ibizbook: keys.join(';') },{viewparams:this.viewparams}), this.showBusyIndicator);
if (!response || response.status !== 200) {
if (!(await this.handleCtrlEvents('onremoveerror', { data: response && response.data ? response.data : datas }))) {
return;
}
this.$Notice.error({ title: '', desc: (this.$t('app.commonWords.delDataFail') as string) + ',' + response.info });
return;
}
if (!(await this.handleCtrlEvents('onremovesuccess', { data: response.data }))) {
return;
}
this.$Notice.success({ title: '', desc: (this.$t('app.commonWords.deleteSuccess') as string) });
//删除items中已删除的项
datas.forEach((data: any) => {
this.items.some((item:any,index:number)=>{
if(Object.is(item.srfkey,data.srfkey)){
this.items.splice(index,1);
return true;
}
});
});
this.$emit('remove', null);
this.selections = [];
return response;
} catch (response: any) {
if (!(await this.handleCtrlEvents('onremoveerror', { data: response && response.data ? response.data : datas }))) {
return;
}
if (response && response.status === 401) {
return;
}
if (!response || !response.status || !response.data) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.sysException') as string) });
}
return response;
}
}
dataInfo = dataInfo.replace(/[null]/g, '').replace(/[undefined]/g, '').replace(/[ ]/g, '');
this.$Modal.confirm({
title: (this.$t('app.commonWords.warning') as string),
content: (this.$t('app.list.confirmDel') as string) + ' ' + dataInfo + ',' + (this.$t('app.list.notRecoverable') as string) ,
onOk: () => {
removeData();
},
onCancel: () => { }
});
return removeData;
}
/**
* 保存
*
* @param {*} $event
* @returns {Promise<any>}
* @memberof ListpluginBase
*/
public async save(args: any[], params?: any, $event?: any, xData?: any){
let _this = this;
let successItems:any = [];
let errorItems:any = [];
let errorMessage:any = [];
if (!(await this.handleCtrlEvents('onbeforesave'))) {
return;
}
for (const item of _this.items) {
try {
if(Object.is(item.rowDataState, 'create')){
if(!this.createAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrListView_plugin' + (this.$t('app.list.notConfig.createAction') as string) });
}else{
Object.assign(item,{viewparams:this.viewparams});
let response = await this.service.add(this.createAction, JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator);
successItems.push(JSON.parse(JSON.stringify(response.data)));
}
}else if(Object.is(item.rowDataState, 'update')){
if(!this.updateAction){
this.$Notice.error({ title: (this.$t('app.commonWords.warning') as string), desc: 'IBIZBOOKUsrListView_plugin' + (this.$t('app.list.notConfig.updateAction') as string) });
}else{
Object.assign(item,{viewparams:this.viewparams});
if(item.ibizbook){
Object.assign(this.context,{ibizbook:item.ibizbook});
}
let response = await this.service.add(this.updateAction,JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator);
successItems.push(JSON.parse(JSON.stringify(response.data)));
}
}
} catch (error) {
errorItems.push(JSON.parse(JSON.stringify(item)));
errorMessage.push(error);
}
}
this.$emit('save', successItems);
this.refresh();
if(errorItems.length === 0){
if (!(await this.handleCtrlEvents('onsavesuccess', { data: successItems }))) {
return;
}
this.$Notice.success({ title: '', desc: (this.$t('app.commonWords.saveSuccess') as string) });
} else {
if (!(await this.handleCtrlEvents('onsaveerror', { data: successItems }))) {
return;
}
errorItems.forEach((item:any,index:number)=>{
this.$Notice.error({ title: (this.$t('app.commonWords.saveFailed') as string), desc: item.majorentityname+ (this.$t('app.commonWords.saveFailed') as string) + '!' });
console.error(errorMessage[index]);
});
}
return successItems;
}
/**
* 面板数据变化处理事件
* @param {any} item 当前列数据
* @param {any} $event 面板事件数据
*
* @memberof ListpluginBase
*/
public onPanelDataChange(item:any,$event:any) {
Object.assign(item, $event, {rowDataState:'update'});
}
/**
* 选择数据
* @memberof ListpluginBase
*
*/
public handleClick(args: any) {
if(this.parentType && this.parentType === "listExpBar") {
const flag = args.isselected;
this.clearSelection();
if(!flag) {
args.isselected = !args.isselected;
} else {
args.isselected = flag;
}
} else {
args.isselected = !args.isselected;
}
this.selectchange();
}
/**
* 双击数据
* @memberof ListpluginBase
*
*/
public handleDblClick(args: any) {
this.$emit('rowdblclick', args);
}
/**
* 触发事件
* @memberof ListpluginBase
*
*/
public selectchange() {
this.handleCtrlEvents('onselectionchange').then((res: boolean) => {
if (!res) {
return;
}
this.selections = [];
this.items.map((item: any) => {
if (item.isselected) {
this.selections.push(item);
}
});
this.$emit('selectionchange', this.selections);
})
}
/**
* 清除当前所有选中状态
*
* @memberof ListpluginBase
*/
public clearSelection(){
this.items.map((item: any) => {
Object.assign(item, { isselected: false });
});
}
/**
* 操作栏模型数据
*
* @type {*}
* @memberof ListpluginBase
*/
public actionModel:any ={
"Edit":{name:"Edit",icon:"fa fa-edit",caption:"编辑",disabled: false, visabled: true,noprivdisplaymode:2,dataaccaction: "", actiontarget: "SINGLEKEY"},
"Remove":{name:"Remove",icon:"fa fa-remove",caption:"删除",disabled: false, visabled: true,noprivdisplaymode:2,dataaccaction: "", actiontarget: "MULTIKEY"},
};
/**
* 操作列界面行为
*
* @param {*} data
* @param {*} tag
* @param {*} $event
* @memberof ListpluginBase
*/
public uiAction(data: any, tag: any, $event: any) {
$event.stopPropagation();
if(Object.is('New', tag)) {
this.list_quicktoolbar_deuiaction1_click(data, tag, $event);
}
if(Object.is('Edit', tag)) {
this.list_batchtoolbar_deuiaction1_click(data, tag, $event);
}
if(Object.is('Remove', tag)) {
this.list_batchtoolbar_deuiaction2_click(data, tag, $event);
}
if(Object.is('Edit', tag)) {
this.list_memo1_u37f11a8_click(data, tag, $event);
}
if(Object.is('Remove', tag)) {
this.list_memo1_uc365542_click(data, tag, $event);
}
}
/**
* 获取界面行为权限状态
*
* @param {*} data 当前列表行数据
* @memberof ListpluginBase
*/
public getActionState(data:any){
let tempActionModel:any = JSON.parse(JSON.stringify(this.actionModel));
let targetData:any = this.transformData(data);
ViewTool.calcActionItemAuthState(targetData,tempActionModel,this.appUIService);
return tempActionModel;
}
}
</script>
<style lang='less'>
@import './listplugin-list.less';
</style>
\ No newline at end of file
// 基于 @CONTROL/列表/MODEL.ts.ftl 生成
/**
* Listplugin 部件模型
*
* @export
* @class ListpluginModel
*/
export default class ListpluginModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof ListpluginListMode
*/
public getDataItems(): any[] {
return [
{
name: 'price',
},
{
name: 'srfdescription',
prop: 'subtext',
dataType: 'TEXT',
},
{
name: 'srfmajortext',
prop: 'ibizbookname',
dataType: 'TEXT',
},
{
name: 'srficon',
prop: 'icon',
dataType: 'LONGTEXT',
},
{
name: 'srfdate',
prop: 'createdate',
dataType: 'DATETIME',
},
{
name: 'booknumber',
},
{
name: 'press',
},
{
name: 'ibizbookid',
},
{
name: 'author',
},
{
name: 'type',
codelist:{tag:'BookType',codelistType:'STATIC'},
},
{
name: 'srfkey',
prop: 'ibizbookid',
dataType: 'GUID',
},
{
name: 'srfmstag',
},
{
name: 'ibizbook',
prop: 'ibizbookid',
dataType: 'FONTKEY',
},
{
name: 'n_ibizbookname_like',
prop: 'n_ibizbookname_like',
dataType: 'QUERYPARAM'
},
{
name:'size',
prop:'size'
},
{
name:'query',
prop:'query'
},
{
name:'sort',
prop:'sort'
},
{
name:'page',
prop:'page'
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name: 'srffrontuf',
prop: 'srffrontuf',
dataType: 'TEXT',
},
]
}
}
\ No newline at end of file
// 基于 @CONTROL/列表/SERVICE.ts.ftl 生成
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import IBIZBOOKService from '@/service/ibizbook/ibizbook-service';
import ListpluginModel from './listplugin-list-model';
/**
* Listplugin 部件服务对象
*
* @export
* @class ListpluginService
*/
export default class ListpluginService extends ControlService {
/**
* 图书服务对象
*
* @type {IBIZBOOKService}
* @memberof ListpluginService
*/
public appEntityService: IBIZBOOKService = new IBIZBOOKService();
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof ListpluginService
*/
public setTempMode(){
this.isTempMode = false;
}
/**
* Creates an instance of ListpluginService.
*
* @param {*} [opts={}]
* @memberof ListpluginService
*/
constructor(opts: any = {}) {
super(opts);
this.model = new ListpluginModel();
}
/**
* 查询数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ListpluginService
*/
@Errorlog
public search(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data,true);
return new Promise((resolve: any, reject: any) => {
const _appEntityService: any = this.appEntityService;
let result: Promise<any>;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
}else{
result =_appEntityService.FetchDefault(Context,Data, isloading);
}
result.then(async (response) => {
await this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 删除数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ListpluginService
*/
@Errorlog
public delete(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data,true);
return new Promise((resolve: any, reject: any) => {
const _appEntityService: any = this.appEntityService;
let result: Promise<any>;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
}else{
result =_appEntityService.remove(Context,Data , isloading);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 添加数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ListpluginService
*/
@Errorlog
public add(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data,true);
return new Promise((resolve: any, reject: any) => {
const _appEntityService: any = this.appEntityService;
let result: Promise<any>;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
}else{
result =_appEntityService.Create(Context,Data, isloading);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 修改数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ListpluginService
*/
@Errorlog
public update(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data,true);
return new Promise((resolve: any, reject: any) => {
const _appEntityService: any = this.appEntityService;
let result: Promise<any>;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data,isloading);
}else{
result =_appEntityService.Update(Context,Data,isloading);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
}
\ No newline at end of file
// 基于 @CONTROL/列表/CONTROL.less.ftl 生成
// this is less
.app-list {
height:100%;
flex-grow: 1;
overflow-y: auto;
.el-collapse-item__header.is-active{
color: #409eff;
background-color: #ecf5ff;
}
.el-collapse{
.el-collapse-item{
.el-collapse-item__wrap{
.el-collapse-item__content{
padding: 10px 0 10px 0;
}
}
}
}
.app-list-item {
line-height: 34px;
padding: 12px 6px;
min-height: 24px;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid #f0f0f0;
.app-list-item-content {
width: 70%;
display: flex;
align-items: center;
.item-icon {
width: 40px;
height: 40px;
margin-right: 14px;
img {
width: 40px;
height: 40px;
border-radius: 50%;
}
}
.item-content-text {
display: flex;
flex-direction: column;
width: 80%;
.item-title {
font-size: 18px;
font-weight: bold;
}
.item-description{
height: 34px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.item-subtext {
color: #8c8c8c;
}
}
}
.app-list-item-date {
position: relative;
color: #8c8c8c;
}
}
.app-list-item.isSelect {
background: #ecf5ff;
border-radius: 2px;
border-color: rgb(197, 197, 197);
}
.app-list-item:hover {
background: #ecf5ff;
}
.loadmore {
text-align: center;
padding: 10px;
text-decoration: underline;
color: #82bff7;
cursor: default;
}
}
.app-list-empty {
height:100%;
color: #909399;
display: flex;
justify-content: center;
align-items: center;
.quick-toolbar{
display: inline-block;
button{
background: #ebf3fb;
color: #2575ca;
border: 0;
}
}
}
.list-pagination {
position: fixed;
background-color: #fff;
height: 50px;
bottom: 30px;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
z-index: 5;
}
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import ListpluginBase from './listplugin-list-base.vue';
// 基于 @CONTROL/列表/CONTROL.vue.ftl 生成
@Component({
components: {
}
})
export default class Listplugin extends ListpluginBase {
}
</script>
\ No newline at end of file
...@@ -70,6 +70,11 @@ export default class Usr4Model { ...@@ -70,6 +70,11 @@ export default class Usr4Model {
prop: 'n_ibizbookname_like', prop: 'n_ibizbookname_like',
dataType: 'QUERYPARAM' dataType: 'QUERYPARAM'
}, },
{
name: 'n_price_gtandeq',
prop: 'n_price_gtandeq',
dataType: 'QUERYPARAM'
},
{ {
......
...@@ -964,7 +964,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -964,7 +964,7 @@ export default class MainBase extends Vue implements ControlInterface {
if (!this.fetchAction) { if (!this.fetchAction) {
this.$Notice.error({ this.$Notice.error({
title: this.$t("app.commonWords.wrong") as string, title: this.$t("app.commonWords.wrong") as string,
desc: "IBIZOrderDetailSGridView" + (this.$t("app.gridpage.notConfig.fetchAction") as string), desc: "IBIZOrderDetailGridView9" + (this.$t("app.gridpage.notConfig.fetchAction") as string),
}); });
return; return;
} }
...@@ -1123,7 +1123,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1123,7 +1123,7 @@ export default class MainBase extends Vue implements ControlInterface {
if (!this.removeAction) { if (!this.removeAction) {
this.$Notice.error({ this.$Notice.error({
title: (this.$t('app.commonWords.wrong') as string), title: (this.$t('app.commonWords.wrong') as string),
desc: 'IBIZOrderDetailSGridView' + (this.$t('app.gridpage.notConfig.removeAction') as string) desc: 'IBIZOrderDetailGridView9' + (this.$t('app.gridpage.notConfig.removeAction') as string)
}); });
return; return;
} }
...@@ -1237,7 +1237,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1237,7 +1237,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/ */
public addBatch(arg: any = {}): void { public addBatch(arg: any = {}): void {
if(!this.fetchAction){ if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailSGridView'+(this.$t('app.gridpage.notConfig.fetchAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailGridView9'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
return; return;
} }
if(!arg){ if(!arg){
...@@ -2132,7 +2132,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2132,7 +2132,7 @@ export default class MainBase extends Vue implements ControlInterface {
try { try {
if (Object.is(item.rowDataState, 'create')) { if (Object.is(item.rowDataState, 'create')) {
if (!this.createAction) { if (!this.createAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailSGridView'+(this.$t('app.gridpage.notConfig.createAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailGridView9'+(this.$t('app.gridpage.notConfig.createAction') as string) });
} else { } else {
Object.assign(item, { viewparams: this.viewparams }); Object.assign(item, { viewparams: this.viewparams });
const tempContext = Util.deepCopy(this.context); const tempContext = Util.deepCopy(this.context);
...@@ -2141,7 +2141,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2141,7 +2141,7 @@ export default class MainBase extends Vue implements ControlInterface {
} }
}else if (Object.is(item.rowDataState, 'update')){ }else if (Object.is(item.rowDataState, 'update')){
if (!this.updateAction) { if (!this.updateAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailSGridView'+(this.$t('app.gridpage.notConfig.updateAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailGridView9'+(this.$t('app.gridpage.notConfig.updateAction') as string) });
} else { } else {
Object.assign(item, { viewparams: this.viewparams }); Object.assign(item, { viewparams: this.viewparams });
const tempContext = Util.deepCopy(this.context); const tempContext = Util.deepCopy(this.context);
...@@ -2217,7 +2217,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2217,7 +2217,7 @@ export default class MainBase extends Vue implements ControlInterface {
if(!this.loaddraftAction){ if(!this.loaddraftAction){
this.$Notice.error({ this.$Notice.error({
title: (this.$t('app.commonWords.wrong') as string), title: (this.$t('app.commonWords.wrong') as string),
desc: 'IBIZOrderDetailSGridView' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string) desc: 'IBIZOrderDetailGridView9' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string)
}); });
return; return;
} }
......
...@@ -1246,7 +1246,7 @@ export default class RefuseFormBase extends Vue implements ControlInterface { ...@@ -1246,7 +1246,7 @@ export default class RefuseFormBase extends Vue implements ControlInterface {
*/ */
public async load(opt: any = {}): Promise<any> { public async load(opt: any = {}): Promise<any> {
if(!this.loadAction){ if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZSample0021REASSIGNWFDynaActionView' + (this.$t('app.formpage.notconfig.loadaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZSample0021Usr1116491232WFDynaStartView' + (this.$t('app.formpage.notconfig.loadaction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -1297,7 +1297,7 @@ export default class RefuseFormBase extends Vue implements ControlInterface { ...@@ -1297,7 +1297,7 @@ export default class RefuseFormBase extends Vue implements ControlInterface {
*/ */
public async loadDraft(opt: any = {}): Promise<any> { public async loadDraft(opt: any = {}): Promise<any> {
if (!this.loaddraftAction) { if (!this.loaddraftAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZSample0021REASSIGNWFDynaActionView' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZSample0021Usr1116491232WFDynaStartView' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
...@@ -1367,7 +1367,7 @@ export default class RefuseFormBase extends Vue implements ControlInterface { ...@@ -1367,7 +1367,7 @@ export default class RefuseFormBase extends Vue implements ControlInterface {
const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction; const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction;
if(!action){ if(!action){
let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction"; let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction";
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZSample0021REASSIGNWFDynaActionView' + (this.$t('app.formpage.notconfig.actionname') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZSample0021Usr1116491232WFDynaStartView' + (this.$t('app.formpage.notconfig.actionname') as string) });
return; return;
} }
Object.assign(arg,{viewparams:this.viewparams}); Object.assign(arg,{viewparams:this.viewparams});
...@@ -1475,7 +1475,7 @@ export default class RefuseFormBase extends Vue implements ControlInterface { ...@@ -1475,7 +1475,7 @@ export default class RefuseFormBase extends Vue implements ControlInterface {
const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction; const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction;
if(!action){ if(!action){
let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction"; let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction";
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZSample0021REASSIGNWFDynaActionView' + (this.$t('app.formpage.notconfig.actionname') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZSample0021Usr1116491232WFDynaStartView' + (this.$t('app.formpage.notconfig.actionname') as string) });
return; return;
} }
Object.assign(arg, { viewparams: this.viewparams }); Object.assign(arg, { viewparams: this.viewparams });
...@@ -1689,7 +1689,7 @@ export default class RefuseFormBase extends Vue implements ControlInterface { ...@@ -1689,7 +1689,7 @@ export default class RefuseFormBase extends Vue implements ControlInterface {
public remove(opt:Array<any> = [],showResultInfo?: boolean): Promise<any> { public remove(opt:Array<any> = [],showResultInfo?: boolean): Promise<any> {
return new Promise((resolve: any, reject: any) => { return new Promise((resolve: any, reject: any) => {
if(!this.removeAction){ if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZSample0021REASSIGNWFDynaActionView' + (this.$t('app.formpage.notconfig.removeaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZSample0021Usr1116491232WFDynaStartView' + (this.$t('app.formpage.notconfig.removeaction') as string) });
return; return;
} }
const arg: any = opt[0]; const arg: any = opt[0];
......
{
"codeName" : "Listplugin",
"controlType" : "LIST",
"getCreatePSControlAction" : {
"modelref" : true,
"id" : "create"
},
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK/PSLISTS/Listplugin.json",
"getFetchPSControlAction" : {
"modelref" : true,
"id" : "fetch"
},
"getGetPSControlAction" : {
"modelref" : true,
"id" : "load"
},
"groupMode" : "NONE",
"hookEventNames" : [ "ROWDBLCLICK", "SELECTIONCHANGE", "REMOVE", "LOAD", "BEFORELOAD" ],
"logicName" : "Listplugin",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdelists/Listplugin",
"minorSortDir" : "ASC",
"getMinorSortPSAppDEField" : {
"name" : "IBIZBOOKNAME",
"codeName" : "IBIZBOOKName"
},
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSAppViewLogics" : [ {
"eventArg" : "deuiaction1",
"eventNames" : "CLICK",
"logicTrigger" : "CTRLEVENT",
"logicType" : "APPVIEWUIACTION",
"name" : "list_quicktoolbar_deuiaction1_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_quicktoolbar_deuiaction1"
},
"getPSViewCtrlName" : "list_quicktoolbar"
}, {
"eventArg" : "deuiaction1",
"eventNames" : "CLICK",
"logicTrigger" : "CTRLEVENT",
"logicType" : "APPVIEWUIACTION",
"name" : "list_batchtoolbar_deuiaction1_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_batchtoolbar_deuiaction1"
},
"getPSViewCtrlName" : "list_batchtoolbar"
}, {
"eventArg" : "deuiaction2",
"eventNames" : "CLICK",
"logicTrigger" : "CTRLEVENT",
"logicType" : "APPVIEWUIACTION",
"name" : "list_batchtoolbar_deuiaction2_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_batchtoolbar_deuiaction2"
},
"getPSViewCtrlName" : "list_batchtoolbar"
}, {
"logicTrigger" : "CUSTOM",
"logicType" : "APPVIEWUIACTION",
"name" : "list_memo1_u37f11a8_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "表格界面_编辑操作"
}
}, {
"logicTrigger" : "CUSTOM",
"logicType" : "APPVIEWUIACTION",
"name" : "list_memo1_uc365542_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "表格界面_删除操作"
}
} ],
"getPSAppViewUIActions" : [ {
"name" : "list_quicktoolbar_deuiaction1",
"getPSUIAction" : {
"modelref" : true,
"id" : "New"
},
"xDataControlName" : "list"
}, {
"name" : "list_batchtoolbar_deuiaction1",
"getPSUIAction" : {
"modelref" : true,
"id" : "Edit"
},
"uIActionTarget" : "SINGLEKEY",
"xDataControlName" : "list"
}, {
"name" : "list_batchtoolbar_deuiaction2",
"getPSUIAction" : {
"modelref" : true,
"id" : "Remove"
},
"uIActionTarget" : "MULTIKEY",
"xDataControlName" : "list"
}, {
"name" : "表格界面_编辑操作",
"getPSUIAction" : {
"modelref" : true,
"id" : "Edit"
},
"uIActionTarget" : "SINGLEKEY",
"xDataControlName" : "list"
}, {
"name" : "表格界面_删除操作",
"getPSUIAction" : {
"modelref" : true,
"id" : "Remove"
},
"uIActionTarget" : "MULTIKEY",
"xDataControlName" : "list"
} ],
"getPSControlLogics" : [ {
"eventNames" : "ROWDBLCLICK;SELECTIONCHANGE;REMOVE;LOAD;BEFORELOAD",
"logicTag" : "list",
"logicType" : "APPVIEWENGINE",
"name" : "engine_list",
"getPSAppViewEngine" : {
"modelref" : true,
"id" : "engine"
}
} ],
"getPSControls" : [ {
"codeName" : "UsrListView_pluginlist_quicktoolbar",
"controlType" : "TOOLBAR",
"hookEventNames" : [ "CLICK" ],
"logicName" : "列表-快速操作工具栏",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdetoolbars/UsrListView_pluginlist_quicktoolbar",
"name" : "list_quicktoolbar",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSControlLogics" : [ {
"eventArg" : "deuiaction1",
"eventNames" : "CLICK",
"logicTag" : "list_quicktoolbar",
"logicType" : "APPVIEWLOGIC",
"name" : "list_quicktoolbar_deuiaction1_click",
"getPSAppViewLogic" : {
"modelref" : true,
"id" : "list_quicktoolbar_deuiaction1_click"
}
} ],
"getPSControlParam" : {
"id" : "list_quicktoolbar"
},
"getPSDEToolbarItems" : [ {
"getCapPSLanguageRes" : {
"lanResTag" : "TBB.TEXT.*.NEW",
"mOSFilePath" : "pslanguageres/Auto1712",
"rTMOSFilePath" : "pslanguageres/Auto1712"
},
"caption" : "新建",
"groupExtractMode" : "ITEM",
"itemType" : "DEUIACTION",
"name" : "deuiaction1",
"noPrivDisplayMode" : 2,
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_quicktoolbar_deuiaction1"
},
"getPSSysImage" : {
"glyph" : "xf0f6@FontAwesome",
"cssClass" : "fa fa-file-text-o"
},
"getPSUIAction" : {
"getCapPSLanguageRes" : {
"lanResTag" : "TBB.TEXT.*.NEW",
"mOSFilePath" : "pslanguageres/Auto1712",
"rTMOSFilePath" : "pslanguageres/Auto1712"
},
"caption" : "新建",
"codeName" : "New",
"fullCodeName" : "New",
"mOSFilePath" : "pssysapps/Web/pssysappdeuiactions/New",
"name" : "表格界面_新建操作",
"getPSSysImage" : {
"glyph" : "xf0f6@FontAwesome",
"cssClass" : "fa fa-file-text-o"
},
"predefinedType" : "GRIDVIEW_NEWACTION",
"rTMOSFilePath" : "pssysapps/Web/pssysappdeuiactions/New",
"timeout" : 60000,
"getTooltipPSLanguageRes" : {
"lanResTag" : "TBB.TOOLTIP.*.NEW",
"mOSFilePath" : "pslanguageres/Auto274",
"rTMOSFilePath" : "pslanguageres/Auto274"
},
"uIActionMode" : "SYS",
"uIActionTag" : "New",
"uIActionType" : "DEUIACTION"
},
"tooltip" : "新建",
"getTooltipPSLanguageRes" : {
"lanResTag" : "TBB.TOOLTIP.*.NEW",
"mOSFilePath" : "pslanguageres/Auto274",
"rTMOSFilePath" : "pslanguageres/Auto274"
},
"showCaption" : true,
"showIcon" : true
} ],
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsrListView_plugin/psappviewctrls/list_quicktoolbar",
"modelid" : "417d509fb75086f26c79e84b2415d4da",
"modeltype" : "PSDETOOLBAR"
}, {
"codeName" : "UsrListView_pluginlist_batchtoolbar",
"controlType" : "TOOLBAR",
"hookEventNames" : [ "CLICK" ],
"logicName" : "列表-批操作工具栏",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdetoolbars/UsrListView_pluginlist_batchtoolbar",
"name" : "list_batchtoolbar",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSControlLogics" : [ {
"eventArg" : "deuiaction1",
"eventNames" : "CLICK",
"logicTag" : "list_batchtoolbar",
"logicType" : "APPVIEWLOGIC",
"name" : "list_batchtoolbar_deuiaction1_click",
"getPSAppViewLogic" : {
"modelref" : true,
"id" : "list_batchtoolbar_deuiaction1_click"
}
}, {
"eventArg" : "deuiaction2",
"eventNames" : "CLICK",
"logicTag" : "list_batchtoolbar",
"logicType" : "APPVIEWLOGIC",
"name" : "list_batchtoolbar_deuiaction2_click",
"getPSAppViewLogic" : {
"modelref" : true,
"id" : "list_batchtoolbar_deuiaction2_click"
}
} ],
"getPSControlParam" : {
"id" : "list_batchtoolbar"
},
"getPSDEToolbarItems" : [ {
"getCapPSLanguageRes" : {
"lanResTag" : "TBB.TEXT.*.EDIT",
"mOSFilePath" : "pslanguageres/Auto1585",
"rTMOSFilePath" : "pslanguageres/Auto1585"
},
"caption" : "编辑",
"groupExtractMode" : "ITEM",
"itemType" : "DEUIACTION",
"name" : "deuiaction1",
"noPrivDisplayMode" : 2,
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_batchtoolbar_deuiaction1"
},
"getPSSysImage" : {
"glyph" : "xf044@FontAwesome",
"cssClass" : "fa fa-edit"
},
"getPSUIAction" : {
"actionTarget" : "SINGLEKEY",
"getCapPSLanguageRes" : {
"lanResTag" : "TBB.TEXT.*.EDIT",
"mOSFilePath" : "pslanguageres/Auto1585",
"rTMOSFilePath" : "pslanguageres/Auto1585"
},
"caption" : "编辑",
"codeName" : "Edit",
"fullCodeName" : "Edit",
"mOSFilePath" : "pssysapps/Web/pssysappdeuiactions/Edit",
"name" : "表格界面_编辑操作",
"getPSSysImage" : {
"glyph" : "xf044@FontAwesome",
"cssClass" : "fa fa-edit"
},
"predefinedType" : "GRIDVIEW_EDITACTION",
"rTMOSFilePath" : "pssysapps/Web/pssysappdeuiactions/Edit",
"timeout" : 60000,
"getTooltipPSLanguageRes" : {
"lanResTag" : "TBB.TOOLTIP.*.EDIT",
"mOSFilePath" : "pslanguageres/Auto834",
"rTMOSFilePath" : "pslanguageres/Auto834"
},
"uIActionMode" : "SYS",
"uIActionTag" : "Edit",
"uIActionType" : "DEUIACTION"
},
"tooltip" : "编辑",
"getTooltipPSLanguageRes" : {
"lanResTag" : "TBB.TOOLTIP.*.EDIT",
"mOSFilePath" : "pslanguageres/Auto834",
"rTMOSFilePath" : "pslanguageres/Auto834"
},
"showCaption" : true,
"showIcon" : true
}, {
"getCapPSLanguageRes" : {
"lanResTag" : "TBB.TEXT.*.REMOVE",
"mOSFilePath" : "pslanguageres/Auto998",
"rTMOSFilePath" : "pslanguageres/Auto998"
},
"caption" : "删除",
"groupExtractMode" : "ITEM",
"itemType" : "DEUIACTION",
"name" : "deuiaction2",
"noPrivDisplayMode" : 2,
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_batchtoolbar_deuiaction2"
},
"getPSSysImage" : {
"glyph" : "xf00d@FontAwesome",
"cssClass" : "fa fa-remove"
},
"getPSUIAction" : {
"actionTarget" : "MULTIKEY",
"getCapPSLanguageRes" : {
"lanResTag" : "TBB.TEXT.*.REMOVE",
"mOSFilePath" : "pslanguageres/Auto998",
"rTMOSFilePath" : "pslanguageres/Auto998"
},
"caption" : "删除",
"codeName" : "Remove",
"fullCodeName" : "Remove",
"mOSFilePath" : "pssysapps/Web/pssysappdeuiactions/Remove",
"name" : "表格界面_删除操作",
"getPSSysImage" : {
"glyph" : "xf00d@FontAwesome",
"cssClass" : "fa fa-remove"
},
"predefinedType" : "GRIDVIEW_REMOVEACTION",
"rTMOSFilePath" : "pssysapps/Web/pssysappdeuiactions/Remove",
"timeout" : 60000,
"getTooltipPSLanguageRes" : {
"lanResTag" : "TBB.TOOLTIP.*.REMOVE",
"mOSFilePath" : "pslanguageres/Auto1782",
"rTMOSFilePath" : "pslanguageres/Auto1782"
},
"uIActionMode" : "SYS",
"uIActionTag" : "Remove",
"uIActionType" : "DEUIACTION"
},
"tooltip" : "删除",
"getTooltipPSLanguageRes" : {
"lanResTag" : "TBB.TOOLTIP.*.REMOVE",
"mOSFilePath" : "pslanguageres/Auto1782",
"rTMOSFilePath" : "pslanguageres/Auto1782"
},
"showCaption" : true,
"showIcon" : true
} ],
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsrListView_plugin/psappviewctrls/list_batchtoolbar",
"modelid" : "2af289950f1ff781487577fd48319536",
"modeltype" : "PSDETOOLBAR"
} ],
"getPSDEDataImport" : {
"modelref" : true,
"id" : "DataImport"
},
"getPSDEListDataItems" : [ {
"dataType" : 7,
"name" : "price"
}, {
"dataType" : 25,
"name" : "srfdescription",
"getPSAppDEField" : {
"name" : "SUBTEXT",
"codeName" : "Subtext"
}
}, {
"dataType" : 25,
"name" : "srfmajortext",
"getPSAppDEField" : {
"name" : "IBIZBOOKNAME",
"codeName" : "IBIZBOOKName"
}
}, {
"dataType" : 25,
"name" : "srficon",
"getPSAppDEField" : {
"name" : "ICON",
"codeName" : "Icon"
}
}, {
"dataType" : 25,
"name" : "srfdate",
"getPSAppDEField" : {
"name" : "CREATEDATE",
"codeName" : "CreateDate"
}
}, {
"dataType" : 9,
"name" : "booknumber"
}, {
"dataType" : 25,
"name" : "press"
}, {
"dataType" : 25,
"name" : "ibizbookid"
}, {
"dataType" : 25,
"name" : "author"
}, {
"dataType" : 25,
"getFrontPSCodeList" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPCODELISTS/BookType.json"
},
"name" : "type"
}, {
"dataType" : 25,
"name" : "srfkey",
"getPSAppDEField" : {
"name" : "IBIZBOOKID",
"codeName" : "IBIZBOOKId"
}
}, {
"dataType" : 25,
"name" : "srfmstag"
} ],
"getPSDEListItems" : [ {
"align" : "LEFT",
"dataItemName" : "memo1",
"itemType" : "ACTIONITEM",
"name" : "memo1",
"getPSDEUIActionGroup" : {
"codeName" : "mdCtrlAction",
"mOSFilePath" : "pssysapps/Web/pssysappdeuagroups/mdCtrlAction",
"name" : "多数据部件操作列",
"getPSUIActionGroupDetails" : [ {
"detailType" : "DEUIACTION",
"name" : "u37f11a8",
"getPSUIAction" : {
"actionTarget" : "SINGLEKEY",
"getCapPSLanguageRes" : {
"lanResTag" : "TBB.TEXT.*.EDIT",
"mOSFilePath" : "pslanguageres/Auto1585",
"rTMOSFilePath" : "pslanguageres/Auto1585"
},
"caption" : "编辑",
"codeName" : "Edit",
"fullCodeName" : "Edit",
"mOSFilePath" : "pssysapps/Web/pssysappdeuiactions/Edit",
"name" : "表格界面_编辑操作",
"getPSSysImage" : {
"glyph" : "xf044@FontAwesome",
"cssClass" : "fa fa-edit"
},
"predefinedType" : "GRIDVIEW_EDITACTION",
"rTMOSFilePath" : "pssysapps/Web/pssysappdeuiactions/Edit",
"timeout" : 60000,
"getTooltipPSLanguageRes" : {
"lanResTag" : "TBB.TOOLTIP.*.EDIT",
"mOSFilePath" : "pslanguageres/Auto834",
"rTMOSFilePath" : "pslanguageres/Auto834"
},
"uIActionMode" : "SYS",
"uIActionTag" : "Edit",
"uIActionType" : "DEUIACTION"
},
"addSeparator" : false,
"showCaption" : true,
"showIcon" : true
}, {
"detailType" : "DEUIACTION",
"name" : "uc365542",
"getPSUIAction" : {
"actionTarget" : "MULTIKEY",
"getCapPSLanguageRes" : {
"lanResTag" : "TBB.TEXT.*.REMOVE",
"mOSFilePath" : "pslanguageres/Auto998",
"rTMOSFilePath" : "pslanguageres/Auto998"
},
"caption" : "删除",
"codeName" : "Remove",
"fullCodeName" : "Remove",
"mOSFilePath" : "pssysapps/Web/pssysappdeuiactions/Remove",
"name" : "表格界面_删除操作",
"getPSSysImage" : {
"glyph" : "xf00d@FontAwesome",
"cssClass" : "fa fa-remove"
},
"predefinedType" : "GRIDVIEW_REMOVEACTION",
"rTMOSFilePath" : "pssysapps/Web/pssysappdeuiactions/Remove",
"timeout" : 60000,
"getTooltipPSLanguageRes" : {
"lanResTag" : "TBB.TOOLTIP.*.REMOVE",
"mOSFilePath" : "pslanguageres/Auto1782",
"rTMOSFilePath" : "pslanguageres/Auto1782"
},
"uIActionMode" : "SYS",
"uIActionTag" : "Remove",
"uIActionType" : "DEUIACTION"
},
"addSeparator" : false,
"showCaption" : true,
"showIcon" : true
} ],
"rTMOSFilePath" : "pssysapps/Web/pssysappdeuagroups/mdCtrlAction"
},
"width" : 150,
"widthString" : "150px",
"enableSort" : false
} ],
"getPSSysPFPlugin" : {
"pluginType" : "LIST_RENDER",
"pluginCode" : "listplugintest"
},
"pagingSize" : 10,
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsrListView_plugin/psappviewctrls/list",
"getRemovePSControlAction" : {
"modelref" : true,
"id" : "remove"
},
"getUpdatePSControlAction" : {
"modelref" : true,
"id" : "update"
},
"hasWFDataItems" : false,
"enableGroup" : false,
"enableRowEdit" : false,
"enableRowEditGroup" : false,
"enableRowEditOrder" : false,
"enableRowNew" : false,
"noSort" : false,
"showHeader" : true,
"modelid" : "F61C7EE1-4AC6-4571-96AA-08DDFE79C3F3",
"modeltype" : "PSDELIST"
}
\ No newline at end of file
...@@ -128,11 +128,11 @@ ...@@ -128,11 +128,11 @@
} }
} ], } ],
"getPSControls" : [ { "getPSControls" : [ {
"codeName" : "UsrListView_pluginlist_quicktoolbar", "codeName" : "Usr4ListView_layoutlist_quicktoolbar",
"controlType" : "TOOLBAR", "controlType" : "TOOLBAR",
"hookEventNames" : [ "CLICK" ], "hookEventNames" : [ "CLICK" ],
"logicName" : "列表-快速操作工具栏", "logicName" : "列表-快速操作工具栏",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdetoolbars/UsrListView_pluginlist_quicktoolbar", "mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdetoolbars/Usr4ListView_layoutlist_quicktoolbar",
"name" : "list_quicktoolbar", "name" : "list_quicktoolbar",
"getPSAppDataEntity" : { "getPSAppDataEntity" : {
"modelref" : true, "modelref" : true,
...@@ -207,15 +207,15 @@ ...@@ -207,15 +207,15 @@
"showCaption" : true, "showCaption" : true,
"showIcon" : true "showIcon" : true
} ], } ],
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsrListView_plugin/psappviewctrls/list_quicktoolbar", "rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsr4ListView_layout/psappviewctrls/list_quicktoolbar",
"modelid" : "417d509fb75086f26c79e84b2415d4da", "modelid" : "417d509fb75086f26c79e84b2415d4da",
"modeltype" : "PSDETOOLBAR" "modeltype" : "PSDETOOLBAR"
}, { }, {
"codeName" : "UsrListView_pluginlist_batchtoolbar", "codeName" : "Usr4ListView_layoutlist_batchtoolbar",
"controlType" : "TOOLBAR", "controlType" : "TOOLBAR",
"hookEventNames" : [ "CLICK" ], "hookEventNames" : [ "CLICK" ],
"logicName" : "列表-批操作工具栏", "logicName" : "列表-批操作工具栏",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdetoolbars/UsrListView_pluginlist_batchtoolbar", "mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdetoolbars/Usr4ListView_layoutlist_batchtoolbar",
"name" : "list_batchtoolbar", "name" : "list_batchtoolbar",
"getPSAppDataEntity" : { "getPSAppDataEntity" : {
"modelref" : true, "modelref" : true,
...@@ -356,7 +356,7 @@ ...@@ -356,7 +356,7 @@
"showCaption" : true, "showCaption" : true,
"showIcon" : true "showIcon" : true
} ], } ],
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsrListView_plugin/psappviewctrls/list_batchtoolbar", "rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsr4ListView_layout/psappviewctrls/list_batchtoolbar",
"modelid" : "2af289950f1ff781487577fd48319536", "modelid" : "2af289950f1ff781487577fd48319536",
"modeltype" : "PSDETOOLBAR" "modeltype" : "PSDETOOLBAR"
} ], } ],
...@@ -514,7 +514,7 @@ ...@@ -514,7 +514,7 @@
"pluginCode" : "listplugintest" "pluginCode" : "listplugintest"
}, },
"pagingSize" : 10, "pagingSize" : 10,
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsrListView_plugin/psappviewctrls/list", "rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsr4ListView_layout/psappviewctrls/list",
"getRemovePSControlAction" : { "getRemovePSControlAction" : {
"modelref" : true, "modelref" : true,
"id" : "remove" "id" : "remove"
......
...@@ -988,13 +988,13 @@ ...@@ -988,13 +988,13 @@
"modelid" : "0d02cac81d96729eccac654df3a1950a", "modelid" : "0d02cac81d96729eccac654df3a1950a",
"modeltype" : "PSDEFORM_SEARCHFORM" "modeltype" : "PSDEFORM_SEARCHFORM"
}, { }, {
"codeName" : "LnternalFuncList", "codeName" : "Listplugin",
"controlType" : "LIST", "controlType" : "LIST",
"getCreatePSControlAction" : { "getCreatePSControlAction" : {
"modelref" : true, "modelref" : true,
"id" : "create" "id" : "create"
}, },
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK/PSLISTS/LnternalFuncList.json", "dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK/PSLISTS/Listplugin.json",
"getFetchPSControlAction" : { "getFetchPSControlAction" : {
"modelref" : true, "modelref" : true,
"id" : "fetch" "id" : "fetch"
...@@ -1005,8 +1005,8 @@ ...@@ -1005,8 +1005,8 @@
}, },
"groupMode" : "NONE", "groupMode" : "NONE",
"hookEventNames" : [ "ROWDBLCLICK", "SELECTIONCHANGE", "REMOVE", "LOAD", "BEFORELOAD" ], "hookEventNames" : [ "ROWDBLCLICK", "SELECTIONCHANGE", "REMOVE", "LOAD", "BEFORELOAD" ],
"logicName" : "MOB", "logicName" : "Listplugin",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdelists/LnternalFuncList", "mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdelists/Listplugin",
"minorSortDir" : "ASC", "minorSortDir" : "ASC",
"getMinorSortPSAppDEField" : { "getMinorSortPSAppDEField" : {
"name" : "IBIZBOOKNAME", "name" : "IBIZBOOKNAME",
...@@ -1428,6 +1428,23 @@ ...@@ -1428,6 +1428,23 @@
"id" : "DataImport" "id" : "DataImport"
}, },
"getPSDEListDataItems" : [ { "getPSDEListDataItems" : [ {
"dataType" : 7,
"name" : "price"
}, {
"dataType" : 25,
"name" : "srfdescription",
"getPSAppDEField" : {
"name" : "SUBTEXT",
"codeName" : "Subtext"
}
}, {
"dataType" : 25,
"name" : "srfmajortext",
"getPSAppDEField" : {
"name" : "IBIZBOOKNAME",
"codeName" : "IBIZBOOKName"
}
}, {
"dataType" : 25, "dataType" : 25,
"name" : "srficon", "name" : "srficon",
"getPSAppDEField" : { "getPSAppDEField" : {
...@@ -1441,16 +1458,18 @@ ...@@ -1441,16 +1458,18 @@
"name" : "CREATEDATE", "name" : "CREATEDATE",
"codeName" : "CreateDate" "codeName" : "CreateDate"
} }
}, {
"dataType" : 9,
"name" : "booknumber"
}, { }, {
"dataType" : 25, "dataType" : 25,
"name" : "srfdescription", "name" : "press"
"getPSAppDEField" : {
"name" : "SUBTEXT",
"codeName" : "Subtext"
}
}, { }, {
"dataType" : 25, "dataType" : 25,
"name" : "ibizbookid" "name" : "ibizbookid"
}, {
"dataType" : 25,
"name" : "author"
}, { }, {
"dataType" : 25, "dataType" : 25,
"getFrontPSCodeList" : { "getFrontPSCodeList" : {
...@@ -1458,25 +1477,6 @@ ...@@ -1458,25 +1477,6 @@
"path" : "PSSYSAPPS/Web/PSAPPCODELISTS/BookType.json" "path" : "PSSYSAPPS/Web/PSAPPCODELISTS/BookType.json"
}, },
"name" : "type" "name" : "type"
}, {
"dataType" : 25,
"name" : "srfmajortext",
"getPSAppDEField" : {
"name" : "IBIZBOOKNAME",
"codeName" : "IBIZBOOKName"
}
}, {
"dataType" : 7,
"name" : "price"
}, {
"dataType" : 9,
"name" : "booknumber"
}, {
"dataType" : 25,
"name" : "author"
}, {
"dataType" : 25,
"name" : "press"
}, { }, {
"dataType" : 25, "dataType" : 25,
"name" : "srfkey", "name" : "srfkey",
...@@ -1595,7 +1595,7 @@ ...@@ -1595,7 +1595,7 @@
"noSort" : false, "noSort" : false,
"showHeader" : true, "showHeader" : true,
"name" : "list", "name" : "list",
"modelid" : "8594b932ea501f73756410b3d22cc1ec", "modelid" : "F61C7EE1-4AC6-4571-96AA-08DDFE79C3F3",
"modeltype" : "PSDELIST" "modeltype" : "PSDELIST"
} ], } ],
"getPSDEViewCodeName" : "UsrListView_plugin", "getPSDEViewCodeName" : "UsrListView_plugin",
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册