提交 9483ac65 编写于 作者: ibizdev's avatar ibizdev

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

上级 b0124070
......@@ -2585,6 +2585,10 @@ function getLocaleResourceBase(){
caption: commonLogic.appcommonhandle("应用实体方法(弹出随机数)",null),
tip: commonLogic.appcommonhandle("应用实体方法(弹出随机数)",null),
},
deuiaction2: {
caption: commonLogic.appcommonhandle("红色背景插件",null),
tip: commonLogic.appcommonhandle("红色背景插件",null),
},
},
usr4listviewtoolbar_toolbar: {
deuiaction1: {
......
......@@ -2585,6 +2585,10 @@ function getLocaleResourceBase(){
caption: commonLogic.appcommonhandle("Save",null),
tip: commonLogic.appcommonhandle("Save",null),
},
deuiaction2: {
caption: commonLogic.appcommonhandle("红色背景插件",null),
tip: commonLogic.appcommonhandle("红色背景插件",null),
},
},
usr4listviewtoolbar_toolbar: {
deuiaction1: {
......
......@@ -2585,6 +2585,10 @@ function getLocaleResourceBase(){
caption: commonLogic.appcommonhandle("应用实体方法(弹出随机数)",null),
tip: commonLogic.appcommonhandle("应用实体方法(弹出随机数)",null),
},
deuiaction2: {
caption: commonLogic.appcommonhandle("红色背景插件",null),
tip: commonLogic.appcommonhandle("红色背景插件",null),
},
},
usr4listviewtoolbar_toolbar: {
deuiaction1: {
......
......@@ -13,6 +13,7 @@
</i-button>
<div slot='content'>{{$t('entities.ibizbook.usreditview_actionplugintoolbar_toolbar.deuiaction1.tip')}}</div>
</tooltip>
<div>红色项</div>
</div>
</div>
......@@ -280,6 +281,8 @@ export default class IBIZBOOKUsrEditView_actionPluginBase extends Vue {
public toolBarModels: any = {
deuiaction1: { name: 'deuiaction1', actiontarget: 'NONE', caption: '应用实体方法(弹出随机数)', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Save', target: '' } },
deuiaction2: { name: 'deuiaction2', actiontarget: 'NONE', caption: '红色背景插件', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'alertMessage', target: 'NONE' } },
};
......@@ -672,6 +675,9 @@ export default class IBIZBOOKUsrEditView_actionPluginBase extends Vue {
if (Object.is($event.tag, 'deuiaction1')) {
this.toolbar_deuiaction1_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction2')) {
this.toolbar_deuiaction2_click(null, '', $event2);
}
}
/**
* form 部件 load 事件
......@@ -733,6 +739,35 @@ export default class IBIZBOOKUsrEditView_actionPluginBase extends Vue {
this.Save(datas, contextJO,paramJO, $event, xData,this,"IBIZBOOK");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_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.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
const curUIService:IBIZBOOKUIService = new IBIZBOOKUIService();
curUIService.IBIZBOOK_alertMessage(datas,contextJO, paramJO, $event, xData,this,"IBIZBOOK");
}
/**
* 保存
*
......
......@@ -639,7 +639,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public load(opt: any = {}): void {
if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZAPPEDITORListView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZAPPEDITORGridView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return;
}
const arg: any = { ...opt };
......@@ -675,7 +675,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public async loadDraft(opt: any = {},mode?:string): Promise<any> {
if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZAPPEDITORListView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZAPPEDITORGridView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return;
}
const arg: any = { ...opt } ;
......
......@@ -712,7 +712,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public load(opt: any = {}): void {
if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr5DataView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr9GridView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return;
}
const arg: any = { ...opt };
......@@ -748,7 +748,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public async loadDraft(opt: any = {},mode?:string): Promise<any> {
if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr5DataView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr9GridView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return;
}
const arg: any = { ...opt } ;
......
<template>
<div class="app-layoutpanel List_itempanel" v-loading="isLayoutLoadding" :style="{width: '100%', height: '100%', overflow: 'auto'}">
<div v-show="!isLayoutLoadding" :style="{height: '100%', width: '100%'}">
<app-standard-container name="container1" :isMultiContainer="false" :layoutModelDetails="layoutModelDetails">
<template #ibizbookname>
<app-preset-text name="ibizbookname" :value="layoutData.ibizbookname" :layoutModelDetails="layoutModelDetails"/>
</template>
<template #srfdescription>
<app-preset-text name="srfdescription" :value="layoutData.srfdescription" :layoutModelDetails="layoutModelDetails"/>
</template>
</app-standard-container>
</div>
</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 List_itempanelService from './list-itempanel-panel-service';
import IBIZBOOKUIService from '@/uiservice/ibizbook/ibizbook-ui-service';
import { PanelDetailModel,PanelRawitemModel,PanelTabPanelModel,PanelTabPageModel,PanelFieldModel,PanelContainerModel,PanelControlModel,PanelUserControlModel,PanelButtonModel } from '@/model/panel-detail';
import List_itempanelModel from './list-itempanel-panel-model';
import CodeListService from "@/codelist/codelist-service";
import UIService from '@/uiservice/ui-service';
@Component({
components: {
}
})
export default class List_itempanelBase extends Vue implements ControlInterface {
/**
* 名称
*
* @type {string}
* @memberof List_itempanelBase
*/
@Prop() public name?: string;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof List_itempanelBase
*/
@Prop() public viewState!: Subject<ViewState>;
/**
* 应用上下文
*
* @type {*}
* @memberof List_itempanelBase
*/
@Prop() public context!: any;
/**
* 视图参数
*
* @type {*}
* @memberof List_itempanelBase
*/
@Prop() public viewparams!: any;
/**
* 视图操作参数(父级)
*
* @type {*}
* @memberof List_itempanelBase
*/
@Prop() public pViewCtx!: any;
/**
* 视图操作参数
*
* @type {*}
* @memberof List_itempanelBase
*/
public viewCtx: any = {};
/**
* 监听视图操作参数变化
*
* @type {*}
* @memberof List_itempanelBase
*/
@Watch('pViewCtx', { immediate: true })
public onViewCtxChange(newVal: any, oldVal: any) {
Object.assign(this.viewCtx, newVal, { xData: this, ctrl: this });
}
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof List_itempanelBase
*/
public viewStateEvent: Subscription | undefined;
/**
* 获取部件类型
*
* @returns {string}
* @memberof List_itempanelBase
*/
public getControlType(): string {
return 'PANEL'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof List_itempanelBase
*/
public counterServiceArray:Array<any> = [];
/**
* 建构部件服务对象
*
* @type {List_itempanelService}
* @memberof List_itempanelBase
*/
public service: List_itempanelService = new List_itempanelService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {IBIZBOOKService}
* @memberof List_itempanelBase
*/
public appEntityService: IBIZBOOKEntityService = new IBIZBOOKEntityService({ $store: this.$store });
/**
* 转化数据
*
* @param {any} args
* @memberof List_itempanelBase
*/
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 List_itempanelBase
*/
public closeView(args: any): void {
let _this: any = this;
_this.$emit('closeview', [args]);
}
/**
* 计数器刷新
*
* @memberof List_itempanelBase
*/
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 List_itempanelBase
*/
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;
}
/**
* 接口实现
*
* @returns {any[]}
* @memberof List_itempanelBase
*/
getDatas(): any[] {
if (!this.layoutData) {
return [];
}
return [this.layoutData];
}
/**
* 接口实现
*
* @returns {*}
* @memberof List_itempanelBase
*/
getData() {
return this.layoutData;
}
/**
* 父级部件引用
*
* @type {*}
* @memberof List_itempanelBase
*/
@Prop() public parentRef?: any;
/**
* 面板数据对象
*
* @type {*}
* @memberof List_itempanelBase
*/
@Prop() public inputData?: any;
/**
* 操作栏模型数据
*
* @type {*}
* @memberof List_itempanelBase
*/
@Prop() public actionModel?: any;
/**
* UI数据对象
*
* @type {*}
* @memberof List_itempanelBase
*/
public data:any = {};
/**
* 数据模型对象
*
* @type {List_itempanelModel}
* @memberof List_itempanelBase
*/
public dataModel:List_itempanelModel = new List_itempanelModel();
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof List_itempanelBase
*/
public codeListService:CodeListService = new CodeListService();
/**
* 界面UI服务对象
*
* @type {IBIZBOOKUIService}
* @memberof List_itempanelBase
*/
public appUIService:IBIZBOOKUIService = new IBIZBOOKUIService();
/**
* 视图布局顶级成员名称
*
* @public
* @memberof List_itempanelBase
*/
public rootLayoutDetailNames: string[] = [ 'container1' ];
/**
* 视图布局面板项模型对象
*
* @public
* @memberof List_itempanelBase
*/
public layoutItems:any = {
ibizbookname:{ name: 'ibizbookname', type: 'ITEMLAYOUT', caption: '文本(动态)', isShowCaption: false, sysCss: '', itemType: 'FIELD', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container1', panel: this , required: false, fieldState: '0', predefinedType: 'FIELD_TEXT_DYNAMIC', renderMode: 'TEXT_DYNAMIC', dataItemName:'ibizbookname', wrapMode:'', vAlign:'', hAlign:'', },
srfdescription:{ name: 'srfdescription', type: 'ITEMLAYOUT', caption: '文本(动态)', isShowCaption: false, sysCss: '', itemType: 'FIELD', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container1', panel: this , required: false, fieldState: '0', predefinedType: 'FIELD_TEXT_DYNAMIC', renderMode: 'TEXT_DYNAMIC', dataItemName:'srfdescription', wrapMode:'', vAlign:'', hAlign:'', },
container1:{ name: 'container1', type: 'ITEMLAYOUT', caption: '容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'FLEX', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:0, flexParams:{align:'',dir:'',vAlign:''}, panel: this , details:['ibizbookname','srfdescription'] , dataRegionType: 'INHERIT' }
}
/**
* 布局面板是否加载
*
* @public
* @memberof List_itempanelBase
*/
public isLayoutLoadding: boolean = true;
/**
* 布局面板数据
*
* @public
* @memberof List_itempanelBase
*/
public layoutData:any = {};
/**
* 布局面板模型对象
*
* @public
* @memberof List_itempanelBase
*/
public layoutModelDetails:any = {};
/**
* 初始化布局
*
* @public
* @memberof List_itempanelBase
*/
public async initLayout() {
if (this.rootLayoutDetailNames.length > 0) {
for (let i = 0; i < this.rootLayoutDetailNames.length; i++) {
const name = this.rootLayoutDetailNames[i];
const rootItem = this.layoutItems[name];
if (!rootItem) {
return;
}
await this.initLayoutItem(rootItem);
}
}
return true;
}
/**
* 初始化布局项
*
* @public
* @memberof List_itempanelBase
*/
public async initLayoutItem(layoutModelItem: any, index?: number) {
const { name } = layoutModelItem;
const layoutModelDetail = Util.getLayoutItemInstance(layoutModelItem);
if (!(index || index === 0)) {
await layoutModelDetail.load(this.context, this.viewparams);
this.$set(this.layoutModelDetails, name, layoutModelDetail);
this.$set(this.layoutData, name, layoutModelDetail.getData());
} else {
layoutModelDetail.setIndex(index);
await layoutModelDetail.load(this.context, this.viewparams);
this.$set(this.layoutModelDetails, `${name}_${index}`, layoutModelDetail);
this.$set(this.layoutData, `${name}_${index}`, layoutModelDetail.getData());
}
if (layoutModelDetail && layoutModelDetail.details) {
if (layoutModelDetail.dataRegionType === 'MULTIDATA') {
const multiData = layoutModelDetail.getData();
if (multiData && multiData.length > 0) {
for (let i = 0; i < multiData.length; i++) {
for (let j = 0; j < layoutModelDetail.details.length; j++) {
const key = layoutModelDetail.details[j];
if (this.layoutItems[key]) {
await this.initLayoutItem(this.layoutItems[key], i);
}
}
}
}
} else {
for (let i = 0; i < layoutModelDetail.details.length; i++) {
const key = layoutModelDetail.details[i];
if (this.layoutItems[key]) {
await this.initLayoutItem(this.layoutItems[key], index);
}
}
}
}
}
/**
* 计算面板按钮权限状态
*
* @public
* @memberof List_itempanelBase
*/
public async computeButtonAuthState() {
for (const key in this.layoutModelDetails) {
const layoutModel = this.layoutModelDetails[key];
if (layoutModel.itemType == 'BUTTON') {
await layoutModel.computeActionAuthState();
}
}
}
/**
* 监听数据对象
*
* @memberof List_itempanelBase
*/
@Watch('inputData', { deep: true, immediate: true } )
public onInputDataChange(newVal: any, oldVal: any){
if(newVal){
this.computedUIData(newVal);
}
}
/**
* 生命周期
*
* @memberof List_itempanelBase
*/
public mounted () {
this.afterMounted();
}
/**
* 执行mounted后的逻辑
*
* @memberof List_itempanelBase
*/
public afterMounted () {
const _this: any = this;
_this.initLayout().then((result: any) => {
_this.isLayoutLoadding = false;
});
}
/**
* 计算UI展示数据
*
* @param codelistArray 代码表模型数组
* @memberof List_itempanelBase
*/
public computedUIData(newVal:any){
if((this.dataModel.getDataItems instanceof Function) && this.dataModel.getDataItems().length >0){
this.dataModel.getDataItems().forEach((item:any) =>{
this.data[item.prop] = newVal[item.prop];
})
}
}
/**
* 打开编辑数据视图
*
* @type {any}
* @memberof List_itempanelBase
*/
public opendata(args: any[],fullargs?:any[],params?: any, $event?: any, xData?: any){
if (this.parentRef.opendata && this.parentRef.opendata instanceof Function) {
this.parentRef.opendata(args,fullargs,params, $event, xData);
}
}
/**
* 打开新建数据视图
*
* @type {any}
* @memberof List_itempanelBase
*/
public newdata(args: any[],fullargs?:any[], params?: any, $event?: any, xData?: any) {
if (this.parentRef.newdata && this.parentRef.newdata instanceof Function) {
this.parentRef.newdata(args,fullargs,params, $event, xData);
}
}
/**
* 删除
*
* @param {any[]} datas
* @returns {Promise<any>}
* @memberof List_itempanelBase
*/
public async remove(datas: any[]): Promise<any> {
if (this.parentRef.remove && this.parentRef.remove instanceof Function) {
return this.parentRef.remove(datas);
}
}
/**
* 刷新
*
* @param {*} [args={}]
* @memberof List_itempanelBase
*/
public refresh(args: any = {}) {
if (this.parentRef.refresh && this.parentRef.refresh instanceof Function) {
this.parentRef.refresh(args);
}
}
/**
* 处理值改变
*
* @public
* @params args 改变数据
* @params index 多数据容器下标
* @memberof List_itempanelBase
*/
public handleValueChange(args: { name: string, value: any }, index?: number) {
const { name, value } = args;
let fullName = (index || index === 0) ? `${name}_${index}` : name;
if (!fullName || !this.layoutData.hasOwnProperty(fullName)) {
return;
}
this.layoutData[fullName] = value;
this.layoutModelDetails[fullName].setData(value);
this.panelLogic(name, index);
this.panelEditItemChange(name, value);
this.computeButtonAuthState();
}
/**
* 面板编辑项值变化后续操作
*
* @public
* @param property 编辑项名
* @param value 编辑项值
* @returns {void}
* @memberof List_itempanelBase
*/
public panelEditItemChange(property: string, value: any){
// 面板数据变化事件
if((this.dataModel.getDataItems instanceof Function) && this.dataModel.getDataItems().length >0){
let modelitem =this.dataModel.getDataItems().find((item:any) =>{
return item.name === property;
})
if(modelitem){
this.$emit('panelDataChange',{[modelitem.prop]: value});
}
}
}
/**
* 面板逻辑
*
* @public
* @params name 改变项名称
* @params index 多数据容器下标
* @memberof List_itempanelBase
*/
public panelLogic(name: string, index?: number): void {
}
/**
* 处理按钮点击
*
* @public
* @params name 按钮项名称
* @params index 多数据容器下标
* @memberof List_itempanelBase
*/
public handleButtonClick(name: string, index?: number) {
let datas: any[] = [];
let fullName = (index || index === 0) ? `${name}_${index}` : name;
const data: any = this.layoutModelDetails[fullName].getData();
if (data) {
if (data instanceof Array) {
datas = [...data];
} else {
datas = [data];
}
}
const xData: any = this.layoutModelDetails[fullName].getDataArea();
const paramJO: any = {};
const contextJO: any = {};
const _this: any = this;
}
}
</script>
<style lang='less'>
@import './list-itempanel-panel.less';
</style>
// 基于 @CONTROL/面板/MODEL.ts.ftl 生成
/**
* List_itempanel 部件模型
*
* @export
* @class List_itempanelModel
*/
export default class List_itempanelModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof List_itempanelModel
*/
public getDataItems(): any[] {
return [
{
name: 'ibizbookname',
prop: 'ibizbookname'
},
{
name: 'srfdescription',
prop: 'srfdescription'
}
]
}
}
\ No newline at end of file
// 基于 @CONTROL/面板/SERVICE.ts.ftl 生成
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* List_itempanel 部件服务对象
*
* @export
* @class List_itempanelService
*/
export default class List_itempanelService extends ControlService {
}
\ No newline at end of file
// 基于 @CONTROL/面板/CONTROL.less.ftl 生成
.app-layoutpanel {
}
\ No newline at end of file
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import List_itempanelBase from './list-itempanel-panel-base.vue';
// 基于 @CONTROL/面板/CONTROL.vue.ftl 生成
@Component({
components: {
}
})
export default class List_itempanel extends List_itempanelBase {
}
</script>
\ No newline at end of file
......@@ -3,38 +3,18 @@
<div :class="['app-list',this.items.length > 0 ? '' : 'app-list-empty' ]">
<div v-if="items.length > 0">
<div v-for = "item in items" :key="item.srfkey" :class="['app-list-item', {'isSelect': item.isselected === true ? true : false}]" @click="handleClick(item)" @dblclick="handleDblClick(item)">
<div class="app-list-item-content">
<div class="item-icon">
<template v-if="item.srficon">
<img :src="item.srficon" />
</template>
<template v-else>
<img src="/assets/img/noimage.png"/>
</template>
</div>
<template>
<div class="item-content-text">
<div class="item-title">
<span >{{item.srfmajortext}}</span>
</div>
<div class="item-description">
<span v-if="item.srfdescription" class="item-subtext" :title="item.srfdescription">{{ item.srfdescription }}</span>
</div>
</div>
</template>
</div>
<div v-if="item.srfdate" class="app-list-item-date">
<span class="date">{{ item.srfdate }}</span>
</div>
<div class="app-list-item-action">
<template v-for="(action,index) in Object.keys(actionModel)">
<a :key="index" style="display: inline-block;margin: 0 12px;" v-show="item[action].visabled" :disabled="item[action].disabled" @click="uiAction(item, action, $event)">
<i :class="actionModel[action].icon" style="margin-right:2px;"></i>
<span>{{actionModel[action].caption}}</span>
</a>
</template>
</div>
<layout_list_itempanel
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:parentRef="thisRef"
:inputData="item"
:actionModel="actionModel ? actionModel : null"
@uiAction="(item, action, event) => { uiAction(item, action, event); }"
@panelDataChange="($event)=>{onPanelDataChange(item,$event)}"
name="list_itempanel"
ref='list_itempanel'>
</layout_list_itempanel>
</div>
<template v-if="isScrollBar">
<div v-if="totalRecord>items.length" class="loadmore">{{ this.$t('app.commonWords.loadmore') }}</div>
......
......@@ -16,7 +16,20 @@ export default class LnternalFuncListModel {
public getDataItems(): any[] {
return [
{
name: 'ibizbookid',
name: 'price',
},
{
name: 'srfdescription',
prop: 'subtext',
dataType: 'TEXT',
},
{
name: 'srfdate',
prop: 'createdate',
dataType: 'DATETIME',
},
{
name: 'booknumber',
},
{
name: 'type',
......@@ -31,29 +44,16 @@ export default class LnternalFuncListModel {
dataType: 'LONGTEXT',
},
{
name: 'price',
},
{
name: 'srfdate',
prop: 'createdate',
dataType: 'DATETIME',
name: 'ibizbookid',
},
{
name: 'booknumber',
name: 'author',
},
{
name: 'srfmajortext',
prop: 'ibizbookname',
dataType: 'TEXT',
},
{
name: 'srfdescription',
prop: 'subtext',
dataType: 'TEXT',
},
{
name: 'author',
},
{
name: 'srfkey',
prop: 'ibizbookid',
......
......@@ -2,11 +2,13 @@
import { Component } from 'vue-property-decorator';
import LnternalFuncListBase from './lnternal-func-list-list-base.vue';
import layout_list_itempanel from '@widgets/ibizbook/list-itempanel-panel/list-itempanel-panel.vue';
// 基于 @CONTROL/列表/CONTROL.vue.ftl 生成
@Component({
components: {
layout_list_itempanel,
}
})
......
......@@ -736,7 +736,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
*/
public async load(opt: any = {}, isReset: boolean = false): Promise<any> {
if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView' + (this.$t('app.list.notConfig.fetchAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView_layout' + (this.$t('app.list.notConfig.fetchAction') as string) });
return;
}
const arg: any = {...opt};
......@@ -830,7 +830,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
*/
public async remove(datas: any[]): Promise<any> {
if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView' + (this.$t('app.gridpage.notConfig.removeAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView_layout' + (this.$t('app.gridpage.notConfig.removeAction') as string) });
return;
}
let _datas:any[] = [];
......@@ -946,7 +946,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
try {
if(Object.is(item.rowDataState, 'create')){
if(!this.createAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView' + (this.$t('app.list.notConfig.createAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView_layout' + (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);
......@@ -954,7 +954,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
}
}else if(Object.is(item.rowDataState, 'update')){
if(!this.updateAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView' + (this.$t('app.list.notConfig.updateAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView_layout' + (this.$t('app.list.notConfig.updateAction') as string) });
}else{
Object.assign(item,{viewparams:this.viewparams});
if(item.ibizorder){
......
......@@ -1868,6 +1868,7 @@
"modelref" : true,
"path" : "PSMODULES/Sample/PSCODELISTS/ORDERSTATE.json"
},
"entityWFFinishState" : "30",
"entityWFState" : "20",
"mOSFilePath" : "psworkflows/ACT/pswfdes/WF",
"name" : "IBIZSAMPLE0021",
......
......@@ -12,6 +12,18 @@
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSDETreeColumns" : [ {
"caption" : "借出日期",
"codeName" : "lendouttime",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "lendouttime",
"mOSFilePath" : "psdetreecols/lendouttime",
"name" : "lendouttime",
"rTMOSFilePath" : "psdetreecols/lendouttime",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
......@@ -59,18 +71,6 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "借出日期",
"codeName" : "lendouttime",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "lendouttime",
"mOSFilePath" : "psdetreecols/lendouttime",
"name" : "lendouttime",
"rTMOSFilePath" : "psdetreecols/lendouttime",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ],
"getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : {
......
......@@ -16,6 +16,95 @@
},
"groupMode" : "NONE",
"hookEventNames" : [ "ROWDBLCLICK", "SELECTIONCHANGE", "REMOVE", "LOAD", "BEFORELOAD" ],
"getItemPSLayoutPanel" : {
"getAllPSPanelFields" : [ {
"id" : "ibizbookname",
"viewFieldName" : "ibizbookname"
}, {
"id" : "srfdescription",
"viewFieldName" : "srfdescription"
} ],
"codeName" : "List_itempanel",
"controlType" : "PANEL",
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK/PSPANELS/List_itempanel.json",
"layoutMode" : "TABLE_24COL",
"logicName" : "项插件布局面板",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/pssysviewpanels/List_itempanel",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSControlParam" : { },
"getPSLayout" : {
"childColLG" : -1,
"childColMD" : 24,
"childColSM" : -1,
"childColXS" : -1,
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsrListView_plugin/psappviewctrls/list_itempanel",
"getRootPSPanelItems" : [ {
"caption" : "容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container1",
"getPSLayout" : {
"layout" : "FLEX"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"getPSPanelItems" : [ {
"caption" : "文本(动态)",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "ibizbookname",
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "ibizbookname",
"predefinedType" : "FIELD_TEXT_DYNAMIC",
"renderMode" : "TEXT_DYNAMIC",
"enableLinkView" : false
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"getPSSysPFPlugin" : {
"pluginType" : "LIST_ITEMRENDER",
"pluginCode" : "redCaption"
},
"viewFieldName" : "ibizbookname",
"hidden" : false,
"showCaption" : false
}, {
"caption" : "文本(动态)",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "srfdescription",
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "srfdescription",
"predefinedType" : "FIELD_TEXT_DYNAMIC",
"renderMode" : "TEXT_DYNAMIC",
"enableLinkView" : false
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"viewFieldName" : "srfdescription",
"hidden" : false,
"showCaption" : false
} ]
} ],
"layoutPanel" : true,
"name" : "list_itempanel",
"modelid" : "551239CC-D14C-4D76-8C80-0FD9CD4624A6",
"modeltype" : "PSSYSVIEWPANEL"
},
"logicName" : "MOB",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdelists/LnternalFuncList",
"minorSortDir" : "ASC",
......@@ -365,8 +454,25 @@
"id" : "DataImport"
},
"getPSDEListDataItems" : [ {
"dataType" : 7,
"name" : "price"
}, {
"dataType" : 25,
"name" : "ibizbookid"
"name" : "srfdescription",
"getPSAppDEField" : {
"name" : "SUBTEXT",
"codeName" : "Subtext"
}
}, {
"dataType" : 25,
"name" : "srfdate",
"getPSAppDEField" : {
"name" : "CREATEDATE",
"codeName" : "CreateDate"
}
}, {
"dataType" : 9,
"name" : "booknumber"
}, {
"dataType" : 25,
"getFrontPSCodeList" : {
......@@ -384,19 +490,12 @@
"name" : "ICON",
"codeName" : "Icon"
}
}, {
"dataType" : 7,
"name" : "price"
}, {
"dataType" : 25,
"name" : "srfdate",
"getPSAppDEField" : {
"name" : "CREATEDATE",
"codeName" : "CreateDate"
}
"name" : "ibizbookid"
}, {
"dataType" : 9,
"name" : "booknumber"
"dataType" : 25,
"name" : "author"
}, {
"dataType" : 25,
"name" : "srfmajortext",
......@@ -404,16 +503,6 @@
"name" : "IBIZBOOKNAME",
"codeName" : "IBIZBOOKName"
}
}, {
"dataType" : 25,
"name" : "srfdescription",
"getPSAppDEField" : {
"name" : "SUBTEXT",
"codeName" : "Subtext"
}
}, {
"dataType" : 25,
"name" : "author"
}, {
"dataType" : 25,
"name" : "srfkey",
......
{
"getAllPSPanelFields" : [ {
"id" : "ibizbookname",
"viewFieldName" : "ibizbookname"
}, {
"id" : "srfdescription",
"viewFieldName" : "srfdescription"
} ],
"codeName" : "List_itempanel",
"controlType" : "PANEL",
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK/PSPANELS/List_itempanel.json",
"layoutMode" : "TABLE_24COL",
"logicName" : "项插件布局面板",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/pssysviewpanels/List_itempanel",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSLayout" : {
"childColLG" : -1,
"childColMD" : 24,
"childColSM" : -1,
"childColXS" : -1,
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsrListView_plugin/psappviewctrls/list_itempanel",
"getRootPSPanelItems" : [ {
"caption" : "容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container1",
"getPSLayout" : {
"layout" : "FLEX"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"getPSPanelItems" : [ {
"caption" : "文本(动态)",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "ibizbookname",
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "ibizbookname",
"predefinedType" : "FIELD_TEXT_DYNAMIC",
"renderMode" : "TEXT_DYNAMIC",
"enableLinkView" : false
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"getPSSysPFPlugin" : {
"pluginType" : "LIST_ITEMRENDER",
"pluginCode" : "redCaption"
},
"viewFieldName" : "ibizbookname",
"hidden" : false,
"showCaption" : false
}, {
"caption" : "文本(动态)",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "srfdescription",
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "srfdescription",
"predefinedType" : "FIELD_TEXT_DYNAMIC",
"renderMode" : "TEXT_DYNAMIC",
"enableLinkView" : false
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"viewFieldName" : "srfdescription",
"hidden" : false,
"showCaption" : false
} ]
} ],
"layoutPanel" : true,
"modelid" : "551239CC-D14C-4D76-8C80-0FD9CD4624A6",
"modeltype" : "PSSYSVIEWPANEL"
}
\ No newline at end of file
......@@ -20,13 +20,13 @@
}
} ],
"getPSDETreeColumns" : [ {
"caption" : "图书描述",
"codeName" : "subtext",
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "subtext",
"mOSFilePath" : "psdetreecols/subtext",
"name" : "subtext",
"rTMOSFilePath" : "psdetreecols/subtext",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
......@@ -44,13 +44,13 @@
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "作者",
"codeName" : "author",
"caption" : "图书描述",
"codeName" : "subtext",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"dataItemName" : "subtext",
"mOSFilePath" : "psdetreecols/subtext",
"name" : "subtext",
"rTMOSFilePath" : "psdetreecols/subtext",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
......
......@@ -42,6 +42,18 @@
"id" : "GANTT"
},
"getPSDETreeColumns" : [ {
"caption" : "借出日期",
"codeName" : "lendouttime",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "lendouttime",
"mOSFilePath" : "psdetreecols/lendouttime",
"name" : "lendouttime",
"rTMOSFilePath" : "psdetreecols/lendouttime",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
......@@ -89,18 +101,6 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "借出日期",
"codeName" : "lendouttime",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "lendouttime",
"mOSFilePath" : "psdetreecols/lendouttime",
"name" : "lendouttime",
"rTMOSFilePath" : "psdetreecols/lendouttime",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ],
"getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : {
......
......@@ -1187,6 +1187,95 @@
},
"groupMode" : "NONE",
"hookEventNames" : [ "ROWDBLCLICK", "SELECTIONCHANGE", "REMOVE", "LOAD", "BEFORELOAD" ],
"getItemPSLayoutPanel" : {
"getAllPSPanelFields" : [ {
"id" : "ibizbookname",
"viewFieldName" : "ibizbookname"
}, {
"id" : "srfdescription",
"viewFieldName" : "srfdescription"
} ],
"codeName" : "List_itempanel",
"controlType" : "PANEL",
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK/PSPANELS/List_itempanel.json",
"layoutMode" : "TABLE_24COL",
"logicName" : "项插件布局面板",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/pssysviewpanels/List_itempanel",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSControlParam" : { },
"getPSLayout" : {
"childColLG" : -1,
"childColMD" : 24,
"childColSM" : -1,
"childColXS" : -1,
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKListView/psappviewctrls/list_itempanel",
"getRootPSPanelItems" : [ {
"caption" : "容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container1",
"getPSLayout" : {
"layout" : "FLEX"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"getPSPanelItems" : [ {
"caption" : "文本(动态)",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "ibizbookname",
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "ibizbookname",
"predefinedType" : "FIELD_TEXT_DYNAMIC",
"renderMode" : "TEXT_DYNAMIC",
"enableLinkView" : false
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"getPSSysPFPlugin" : {
"pluginType" : "LIST_ITEMRENDER",
"pluginCode" : "redCaption"
},
"viewFieldName" : "ibizbookname",
"hidden" : false,
"showCaption" : false
}, {
"caption" : "文本(动态)",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "srfdescription",
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "srfdescription",
"predefinedType" : "FIELD_TEXT_DYNAMIC",
"renderMode" : "TEXT_DYNAMIC",
"enableLinkView" : false
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"viewFieldName" : "srfdescription",
"hidden" : false,
"showCaption" : false
} ]
} ],
"layoutPanel" : true,
"name" : "list_itempanel",
"modelid" : "551239CC-D14C-4D76-8C80-0FD9CD4624A6",
"modeltype" : "PSSYSVIEWPANEL"
},
"logicName" : "MOB",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdelists/LnternalFuncList",
"minorSortDir" : "ASC",
......@@ -1610,8 +1699,25 @@
"id" : "DataImport"
},
"getPSDEListDataItems" : [ {
"dataType" : 7,
"name" : "price"
}, {
"dataType" : 25,
"name" : "ibizbookid"
"name" : "srfdescription",
"getPSAppDEField" : {
"name" : "SUBTEXT",
"codeName" : "Subtext"
}
}, {
"dataType" : 25,
"name" : "srfdate",
"getPSAppDEField" : {
"name" : "CREATEDATE",
"codeName" : "CreateDate"
}
}, {
"dataType" : 9,
"name" : "booknumber"
}, {
"dataType" : 25,
"getFrontPSCodeList" : {
......@@ -1629,19 +1735,12 @@
"name" : "ICON",
"codeName" : "Icon"
}
}, {
"dataType" : 7,
"name" : "price"
}, {
"dataType" : 25,
"name" : "srfdate",
"getPSAppDEField" : {
"name" : "CREATEDATE",
"codeName" : "CreateDate"
}
"name" : "ibizbookid"
}, {
"dataType" : 9,
"name" : "booknumber"
"dataType" : 25,
"name" : "author"
}, {
"dataType" : 25,
"name" : "srfmajortext",
......@@ -1649,16 +1748,6 @@
"name" : "IBIZBOOKNAME",
"codeName" : "IBIZBOOKName"
}
}, {
"dataType" : 25,
"name" : "srfdescription",
"getPSAppDEField" : {
"name" : "SUBTEXT",
"codeName" : "Subtext"
}
}, {
"dataType" : 25,
"name" : "author"
}, {
"dataType" : 25,
"name" : "srfkey",
......
......@@ -1046,6 +1046,95 @@
},
"groupMode" : "NONE",
"hookEventNames" : [ "ROWDBLCLICK", "SELECTIONCHANGE", "REMOVE", "LOAD", "BEFORELOAD" ],
"getItemPSLayoutPanel" : {
"getAllPSPanelFields" : [ {
"id" : "ibizbookname",
"viewFieldName" : "ibizbookname"
}, {
"id" : "srfdescription",
"viewFieldName" : "srfdescription"
} ],
"codeName" : "List_itempanel",
"controlType" : "PANEL",
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK/PSPANELS/List_itempanel.json",
"layoutMode" : "TABLE_24COL",
"logicName" : "项插件布局面板",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/pssysviewpanels/List_itempanel",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSControlParam" : { },
"getPSLayout" : {
"childColLG" : -1,
"childColMD" : 24,
"childColSM" : -1,
"childColXS" : -1,
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKTestCLListView/psappviewctrls/list_itempanel",
"getRootPSPanelItems" : [ {
"caption" : "容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container1",
"getPSLayout" : {
"layout" : "FLEX"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"getPSPanelItems" : [ {
"caption" : "文本(动态)",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "ibizbookname",
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "ibizbookname",
"predefinedType" : "FIELD_TEXT_DYNAMIC",
"renderMode" : "TEXT_DYNAMIC",
"enableLinkView" : false
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"getPSSysPFPlugin" : {
"pluginType" : "LIST_ITEMRENDER",
"pluginCode" : "redCaption"
},
"viewFieldName" : "ibizbookname",
"hidden" : false,
"showCaption" : false
}, {
"caption" : "文本(动态)",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "srfdescription",
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "srfdescription",
"predefinedType" : "FIELD_TEXT_DYNAMIC",
"renderMode" : "TEXT_DYNAMIC",
"enableLinkView" : false
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"viewFieldName" : "srfdescription",
"hidden" : false,
"showCaption" : false
} ]
} ],
"layoutPanel" : true,
"name" : "list_itempanel",
"modelid" : "551239CC-D14C-4D76-8C80-0FD9CD4624A6",
"modeltype" : "PSSYSVIEWPANEL"
},
"logicName" : "MOB",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdelists/LnternalFuncList",
"minorSortDir" : "ASC",
......@@ -1469,8 +1558,25 @@
"id" : "DataImport"
},
"getPSDEListDataItems" : [ {
"dataType" : 7,
"name" : "price"
}, {
"dataType" : 25,
"name" : "ibizbookid"
"name" : "srfdescription",
"getPSAppDEField" : {
"name" : "SUBTEXT",
"codeName" : "Subtext"
}
}, {
"dataType" : 25,
"name" : "srfdate",
"getPSAppDEField" : {
"name" : "CREATEDATE",
"codeName" : "CreateDate"
}
}, {
"dataType" : 9,
"name" : "booknumber"
}, {
"dataType" : 25,
"getFrontPSCodeList" : {
......@@ -1488,19 +1594,12 @@
"name" : "ICON",
"codeName" : "Icon"
}
}, {
"dataType" : 7,
"name" : "price"
}, {
"dataType" : 25,
"name" : "srfdate",
"getPSAppDEField" : {
"name" : "CREATEDATE",
"codeName" : "CreateDate"
}
"name" : "ibizbookid"
}, {
"dataType" : 9,
"name" : "booknumber"
"dataType" : 25,
"name" : "author"
}, {
"dataType" : 25,
"name" : "srfmajortext",
......@@ -1508,16 +1607,6 @@
"name" : "IBIZBOOKNAME",
"codeName" : "IBIZBOOKName"
}
}, {
"dataType" : 25,
"name" : "srfdescription",
"getPSAppDEField" : {
"name" : "SUBTEXT",
"codeName" : "Subtext"
}
}, {
"dataType" : 25,
"name" : "author"
}, {
"dataType" : 25,
"name" : "srfkey",
......
......@@ -88,13 +88,13 @@
"id" : "TREEGRIDEX"
},
"getPSDETreeColumns" : [ {
"caption" : "图书描述",
"codeName" : "subtext",
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "subtext",
"mOSFilePath" : "psdetreecols/subtext",
"name" : "subtext",
"rTMOSFilePath" : "psdetreecols/subtext",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
......@@ -112,13 +112,13 @@
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "作者",
"codeName" : "author",
"caption" : "图书描述",
"codeName" : "subtext",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"dataItemName" : "subtext",
"mOSFilePath" : "psdetreecols/subtext",
"name" : "subtext",
"rTMOSFilePath" : "psdetreecols/subtext",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
......
......@@ -533,6 +533,95 @@
},
"groupMode" : "NONE",
"hookEventNames" : [ "ROWDBLCLICK", "SELECTIONCHANGE", "REMOVE", "LOAD", "BEFORELOAD" ],
"getItemPSLayoutPanel" : {
"getAllPSPanelFields" : [ {
"id" : "ibizbookname",
"viewFieldName" : "ibizbookname"
}, {
"id" : "srfdescription",
"viewFieldName" : "srfdescription"
} ],
"codeName" : "List_itempanel",
"controlType" : "PANEL",
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK/PSPANELS/List_itempanel.json",
"layoutMode" : "TABLE_24COL",
"logicName" : "项插件布局面板",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/pssysviewpanels/List_itempanel",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSControlParam" : { },
"getPSLayout" : {
"childColLG" : -1,
"childColMD" : 24,
"childColSM" : -1,
"childColXS" : -1,
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsr4ListView/psappviewctrls/list_itempanel",
"getRootPSPanelItems" : [ {
"caption" : "容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container1",
"getPSLayout" : {
"layout" : "FLEX"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"getPSPanelItems" : [ {
"caption" : "文本(动态)",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "ibizbookname",
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "ibizbookname",
"predefinedType" : "FIELD_TEXT_DYNAMIC",
"renderMode" : "TEXT_DYNAMIC",
"enableLinkView" : false
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"getPSSysPFPlugin" : {
"pluginType" : "LIST_ITEMRENDER",
"pluginCode" : "redCaption"
},
"viewFieldName" : "ibizbookname",
"hidden" : false,
"showCaption" : false
}, {
"caption" : "文本(动态)",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "srfdescription",
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "srfdescription",
"predefinedType" : "FIELD_TEXT_DYNAMIC",
"renderMode" : "TEXT_DYNAMIC",
"enableLinkView" : false
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"viewFieldName" : "srfdescription",
"hidden" : false,
"showCaption" : false
} ]
} ],
"layoutPanel" : true,
"name" : "list_itempanel",
"modelid" : "551239CC-D14C-4D76-8C80-0FD9CD4624A6",
"modeltype" : "PSSYSVIEWPANEL"
},
"logicName" : "MOB",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdelists/LnternalFuncList",
"minorSortDir" : "ASC",
......@@ -956,8 +1045,25 @@
"id" : "DataImport"
},
"getPSDEListDataItems" : [ {
"dataType" : 7,
"name" : "price"
}, {
"dataType" : 25,
"name" : "ibizbookid"
"name" : "srfdescription",
"getPSAppDEField" : {
"name" : "SUBTEXT",
"codeName" : "Subtext"
}
}, {
"dataType" : 25,
"name" : "srfdate",
"getPSAppDEField" : {
"name" : "CREATEDATE",
"codeName" : "CreateDate"
}
}, {
"dataType" : 9,
"name" : "booknumber"
}, {
"dataType" : 25,
"getFrontPSCodeList" : {
......@@ -975,19 +1081,12 @@
"name" : "ICON",
"codeName" : "Icon"
}
}, {
"dataType" : 7,
"name" : "price"
}, {
"dataType" : 25,
"name" : "srfdate",
"getPSAppDEField" : {
"name" : "CREATEDATE",
"codeName" : "CreateDate"
}
"name" : "ibizbookid"
}, {
"dataType" : 9,
"name" : "booknumber"
"dataType" : 25,
"name" : "author"
}, {
"dataType" : 25,
"name" : "srfmajortext",
......@@ -995,16 +1094,6 @@
"name" : "IBIZBOOKNAME",
"codeName" : "IBIZBOOKName"
}
}, {
"dataType" : 25,
"name" : "srfdescription",
"getPSAppDEField" : {
"name" : "SUBTEXT",
"codeName" : "Subtext"
}
}, {
"dataType" : 25,
"name" : "author"
}, {
"dataType" : 25,
"name" : "srfkey",
......
......@@ -533,6 +533,95 @@
},
"groupMode" : "NONE",
"hookEventNames" : [ "ROWDBLCLICK", "SELECTIONCHANGE", "REMOVE", "LOAD", "BEFORELOAD" ],
"getItemPSLayoutPanel" : {
"getAllPSPanelFields" : [ {
"id" : "ibizbookname",
"viewFieldName" : "ibizbookname"
}, {
"id" : "srfdescription",
"viewFieldName" : "srfdescription"
} ],
"codeName" : "List_itempanel",
"controlType" : "PANEL",
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK/PSPANELS/List_itempanel.json",
"layoutMode" : "TABLE_24COL",
"logicName" : "项插件布局面板",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/pssysviewpanels/List_itempanel",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSControlParam" : { },
"getPSLayout" : {
"childColLG" : -1,
"childColMD" : 24,
"childColSM" : -1,
"childColXS" : -1,
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsr4ListView_layout/psappviewctrls/list_itempanel",
"getRootPSPanelItems" : [ {
"caption" : "容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container1",
"getPSLayout" : {
"layout" : "FLEX"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"getPSPanelItems" : [ {
"caption" : "文本(动态)",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "ibizbookname",
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "ibizbookname",
"predefinedType" : "FIELD_TEXT_DYNAMIC",
"renderMode" : "TEXT_DYNAMIC",
"enableLinkView" : false
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"getPSSysPFPlugin" : {
"pluginType" : "LIST_ITEMRENDER",
"pluginCode" : "redCaption"
},
"viewFieldName" : "ibizbookname",
"hidden" : false,
"showCaption" : false
}, {
"caption" : "文本(动态)",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "srfdescription",
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "srfdescription",
"predefinedType" : "FIELD_TEXT_DYNAMIC",
"renderMode" : "TEXT_DYNAMIC",
"enableLinkView" : false
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"viewFieldName" : "srfdescription",
"hidden" : false,
"showCaption" : false
} ]
} ],
"layoutPanel" : true,
"name" : "list_itempanel",
"modelid" : "551239CC-D14C-4D76-8C80-0FD9CD4624A6",
"modeltype" : "PSSYSVIEWPANEL"
},
"logicName" : "MOB",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdelists/LnternalFuncList",
"minorSortDir" : "ASC",
......@@ -956,8 +1045,25 @@
"id" : "DataImport"
},
"getPSDEListDataItems" : [ {
"dataType" : 7,
"name" : "price"
}, {
"dataType" : 25,
"name" : "ibizbookid"
"name" : "srfdescription",
"getPSAppDEField" : {
"name" : "SUBTEXT",
"codeName" : "Subtext"
}
}, {
"dataType" : 25,
"name" : "srfdate",
"getPSAppDEField" : {
"name" : "CREATEDATE",
"codeName" : "CreateDate"
}
}, {
"dataType" : 9,
"name" : "booknumber"
}, {
"dataType" : 25,
"getFrontPSCodeList" : {
......@@ -975,19 +1081,12 @@
"name" : "ICON",
"codeName" : "Icon"
}
}, {
"dataType" : 7,
"name" : "price"
}, {
"dataType" : 25,
"name" : "srfdate",
"getPSAppDEField" : {
"name" : "CREATEDATE",
"codeName" : "CreateDate"
}
"name" : "ibizbookid"
}, {
"dataType" : 9,
"name" : "booknumber"
"dataType" : 25,
"name" : "author"
}, {
"dataType" : 25,
"name" : "srfmajortext",
......@@ -995,16 +1094,6 @@
"name" : "IBIZBOOKNAME",
"codeName" : "IBIZBOOKName"
}
}, {
"dataType" : 25,
"name" : "srfdescription",
"getPSAppDEField" : {
"name" : "SUBTEXT",
"codeName" : "Subtext"
}
}, {
"dataType" : 25,
"name" : "author"
}, {
"dataType" : 25,
"name" : "srfkey",
......
......@@ -44,6 +44,17 @@
"id" : "toolbar_deuiaction1"
},
"getPSViewCtrlName" : "toolbar"
}, {
"eventArg" : "deuiaction2",
"eventNames" : "CLICK",
"logicTrigger" : "CTRLEVENT",
"logicType" : "APPVIEWUIACTION",
"name" : "toolbar_deuiaction2_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "toolbar_deuiaction2"
},
"getPSViewCtrlName" : "toolbar"
} ],
"getPSAppViewUIActions" : [ {
"name" : "toolbar_deuiaction1",
......@@ -52,6 +63,18 @@
"id" : "Save"
},
"xDataControlName" : "form"
}, {
"name" : "toolbar_deuiaction2",
"getPSUIAction" : {
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"modelref" : true,
"id" : "alertMessage@IBIZBOOK"
},
"uIActionTarget" : "NONE",
"xDataControlName" : "form"
} ],
"getPSControls" : [ {
"codeName" : "UsrEditView_actionPlugintoolbar",
......@@ -74,6 +97,16 @@
"modelref" : true,
"id" : "toolbar_deuiaction1_click"
}
}, {
"eventArg" : "deuiaction2",
"eventNames" : "CLICK",
"logicTag" : "toolbar",
"logicType" : "APPVIEWLOGIC",
"name" : "toolbar_deuiaction2_click",
"getPSAppViewLogic" : {
"modelref" : true,
"id" : "toolbar_deuiaction2_click"
}
} ],
"getPSControlParam" : {
"id" : "TOOLBAR"
......@@ -132,6 +165,47 @@
},
"showCaption" : true,
"showIcon" : true
}, {
"caption" : "红色背景插件",
"groupExtractMode" : "ITEM",
"itemType" : "DEUIACTION",
"name" : "deuiaction2",
"noPrivDisplayMode" : 2,
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "toolbar_deuiaction2"
},
"getPSSysPFPlugin" : {
"pluginType" : "TOOLBAR_ITEM",
"pluginCode" : "redItem"
},
"getPSUIAction" : {
"actionTarget" : "NONE",
"caption" : "弹出消息",
"codeName" : "alertMessage",
"frontProcessType" : "OTHER",
"fullCodeName" : "IBIZBOOK_alertMessage",
"mOSFilePath" : "pssysapps/Web/psappdataentities/IBIZBOOK/psappdeuiactions/alertMessage",
"name" : "弹出消息",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSSysPFPlugin" : {
"pluginType" : "DEUIACTION",
"pluginCode" : "alertMessage"
},
"rTMOSFilePath" : "pssysapps/Web/psappdataentities/IBIZBOOK/psappdeuiactions/alertMessage",
"timeout" : 60000,
"uIActionMode" : "FRONT",
"uIActionTag" : "alertMessage",
"uIActionType" : "DEUIACTION",
"userTag" : "CUSTOM",
"id" : "alertMessage@IBIZBOOK"
},
"tooltip" : "红色背景插件",
"showCaption" : true,
"showIcon" : true
} ],
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsrEditView_actionPlugin/psappviewctrls/toolbar",
"modelid" : "B4A70A22-B6D8-4202-87C0-64208737D0A0",
......
......@@ -1005,6 +1005,95 @@
},
"groupMode" : "NONE",
"hookEventNames" : [ "ROWDBLCLICK", "SELECTIONCHANGE", "REMOVE", "LOAD", "BEFORELOAD" ],
"getItemPSLayoutPanel" : {
"getAllPSPanelFields" : [ {
"id" : "ibizbookname",
"viewFieldName" : "ibizbookname"
}, {
"id" : "srfdescription",
"viewFieldName" : "srfdescription"
} ],
"codeName" : "List_itempanel",
"controlType" : "PANEL",
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK/PSPANELS/List_itempanel.json",
"layoutMode" : "TABLE_24COL",
"logicName" : "项插件布局面板",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/pssysviewpanels/List_itempanel",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSControlParam" : { },
"getPSLayout" : {
"childColLG" : -1,
"childColMD" : 24,
"childColSM" : -1,
"childColXS" : -1,
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsrListView_plugin/psappviewctrls/list_itempanel",
"getRootPSPanelItems" : [ {
"caption" : "容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container1",
"getPSLayout" : {
"layout" : "FLEX"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"getPSPanelItems" : [ {
"caption" : "文本(动态)",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "ibizbookname",
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "ibizbookname",
"predefinedType" : "FIELD_TEXT_DYNAMIC",
"renderMode" : "TEXT_DYNAMIC",
"enableLinkView" : false
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"getPSSysPFPlugin" : {
"pluginType" : "LIST_ITEMRENDER",
"pluginCode" : "redCaption"
},
"viewFieldName" : "ibizbookname",
"hidden" : false,
"showCaption" : false
}, {
"caption" : "文本(动态)",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "srfdescription",
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "srfdescription",
"predefinedType" : "FIELD_TEXT_DYNAMIC",
"renderMode" : "TEXT_DYNAMIC",
"enableLinkView" : false
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"viewFieldName" : "srfdescription",
"hidden" : false,
"showCaption" : false
} ]
} ],
"layoutPanel" : true,
"name" : "list_itempanel",
"modelid" : "551239CC-D14C-4D76-8C80-0FD9CD4624A6",
"modeltype" : "PSSYSVIEWPANEL"
},
"logicName" : "MOB",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdelists/LnternalFuncList",
"minorSortDir" : "ASC",
......@@ -1428,8 +1517,25 @@
"id" : "DataImport"
},
"getPSDEListDataItems" : [ {
"dataType" : 7,
"name" : "price"
}, {
"dataType" : 25,
"name" : "ibizbookid"
"name" : "srfdescription",
"getPSAppDEField" : {
"name" : "SUBTEXT",
"codeName" : "Subtext"
}
}, {
"dataType" : 25,
"name" : "srfdate",
"getPSAppDEField" : {
"name" : "CREATEDATE",
"codeName" : "CreateDate"
}
}, {
"dataType" : 9,
"name" : "booknumber"
}, {
"dataType" : 25,
"getFrontPSCodeList" : {
......@@ -1447,19 +1553,12 @@
"name" : "ICON",
"codeName" : "Icon"
}
}, {
"dataType" : 7,
"name" : "price"
}, {
"dataType" : 25,
"name" : "srfdate",
"getPSAppDEField" : {
"name" : "CREATEDATE",
"codeName" : "CreateDate"
}
"name" : "ibizbookid"
}, {
"dataType" : 9,
"name" : "booknumber"
"dataType" : 25,
"name" : "author"
}, {
"dataType" : 25,
"name" : "srfmajortext",
......@@ -1467,16 +1566,6 @@
"name" : "IBIZBOOKNAME",
"codeName" : "IBIZBOOKName"
}
}, {
"dataType" : 25,
"name" : "srfdescription",
"getPSAppDEField" : {
"name" : "SUBTEXT",
"codeName" : "Subtext"
}
}, {
"dataType" : 25,
"name" : "author"
}, {
"dataType" : 25,
"name" : "srfkey",
......
......@@ -5364,8 +5364,8 @@
"pluginType" : "VIEW_CUSTOM",
"refMode" : "APPVIEW",
"refTag" : "DELISTVIEW",
"templCode" : "<AppViewLayout :class=\"classNames\">\r\n <template #viewHeaderLeft>\r\n <div v-if=\"model.showCaption && !noViewCaption\" class=\"view-header__left__caption\">\r\n <AppCaptionBar :caption=\"model.caption\" :title=\"model.title\" :capPSLanguageRes=\"model.capPSLanguageRes\" :titlePSLanguageRes=\"model.titlePSLanguageRes\"></AppCaptionBar>\r\n </div>\r\n </template>\r\n <template #viewHeaderRight>\r\n <div class=\"view-header__right__quicksearch\" v-show=\"!store.expandSearchForm\">\r\n <AppQuickSearch @search=\"(searchValue:string) => handleQuickSearch(controller, searchValue)\" />\r\n </div>\r\n <div class=\"view-header__right__toolbar\">\r\n <AppToolbar\r\n name=\"toolbar\"\r\n mode=\"listViewStripe\"\r\n :items=\"store.toolbarItems\"\r\n :loading=\"store.loadingHelper.isLoading\"\r\n @item-click=\"(name: string, event: MouseEvent, logic: any) => { handleToolbarItemClick(controller, name, event, logic) }\">\r\n </AppToolbar>\r\n </div>\r\n </template>\r\n <template #viewContentTop>\r\n </template>\r\n <template #default>\r\n <AutoGroupListList\r\n :rowActiveMode='model.rowActiveMode'\r\n :actions=\"{\r\n loadDraftAction: 'GetDraft',\r\n createAction: 'Create',\r\n fetchAction: 'FetchDefault',\r\n removeAction: 'Remove',\r\n updateAction: 'Update'\r\n }\"\r\n :openView=\"store.openView\"\r\n :newView=\"store.newView\"\r\n name=\"list\"\r\n :context=\"store.context\"\r\n :viewParams=\"store.viewParams\"\r\n :closeView=\"store.closeView\"\r\n :pLoadingHelper=\"store.loadingHelper\"\r\n :pViewCtx=\"store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"></AutoGroupListList>\r\n </template>\r\n </AppViewLayout>",
"templCode2" : "import { AppViewLayout } from \"@components/layout/view-layout\";\r\nimport { AppToolbar } from '@components/widgets/toolbar';\r\nimport QUICKSEARCHFORMSearchForm from '@widgets/ibizbook/quicksearchform-searchform/quicksearchform-searchform.vue';\r\nimport AutoGroupListList from '@widgets/ibizbook/lnternal-func-list-list/lnternal-func-list-list.vue';\r\nimport {\r\n useNavParamsBind,\r\n useEventBind,\r\n getViewClassNames,\r\n handleQuickSearch,\r\n handleToolbarItemClick,\r\n handleCtrlAction,\r\n handleCtrlInit,\r\n handleCtrlDestroy,\r\n} from \"@/hooks/use-view\";\r\nimport { ListViewActionType, ListViewController, IListViewAbility, IListViewController, IListViewControllerParams, IListViewStore, IParam, IContext, ILoadingHelper, LoadingHelper, IEvent } from \"@/core\";\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n controller: IListViewController<IListViewStore, IListViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});\r\nconst model: IParam = props.controller.getModel();\r\nconst store: IListViewStore = props.controller.getStore();\r\nconst classNames = computed(() => {\r\n \tconst classNames = getViewClassNames(model, props);\r\n Object.assign(classNames, {\"list-view-stripe\": true});\r\n return classNames;\r\n});",
"templCode" : "<AppViewLayout :class=\"classNames\">\r\n <template #viewHeaderLeft>\r\n <div v-if=\"model.showCaption && !noViewCaption\" class=\"view-header__left__caption\">\r\n <AppCaptionBar :caption=\"model.caption\" :title=\"model.title\" :capPSLanguageRes=\"model.capPSLanguageRes\" :titlePSLanguageRes=\"model.titlePSLanguageRes\"></AppCaptionBar>\r\n </div>\r\n </template>\r\n <template #viewHeaderRight>\r\n <div class=\"view-header__right__quicksearch\" v-show=\"!store.expandSearchForm\">\r\n <AppQuickSearch @search=\"(searchValue:string) => handleQuickSearch(controller, searchValue)\" />\r\n </div>\r\n <div class=\"view-header__right__toolbar\">\r\n <AppToolbar\r\n name=\"toolbar\"\r\n mode=\"listViewStripe\"\r\n :items=\"store.toolbarItems\"\r\n :loading=\"store.loadingHelper.isLoading\"\r\n @item-click=\"(name: string, event: MouseEvent, logic: any) => { handleToolbarItemClick(controller, name, event, logic) }\">\r\n </AppToolbar>\r\n </div>\r\n </template>\r\n <template #viewContentTop>\r\n </template>\r\n <template #default>\r\n <LnternalFuncListList\r\n :rowActiveMode='model.rowActiveMode'\r\n :actions=\"{\r\n loadDraftAction: 'GetDraft',\r\n createAction: 'Create',\r\n fetchAction: 'FetchDefault',\r\n removeAction: 'Remove',\r\n updateAction: 'Update'\r\n }\"\r\n :openView=\"store.openView\"\r\n :newView=\"store.newView\"\r\n name=\"list\"\r\n :context=\"store.context\"\r\n :viewParams=\"store.viewParams\"\r\n :closeView=\"store.closeView\"\r\n :pLoadingHelper=\"store.loadingHelper\"\r\n :pViewCtx=\"store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"></LnternalFuncListList>\r\n </template>\r\n </AppViewLayout>",
"templCode2" : "import { AppViewLayout } from \"@components/layout/view-layout\";\r\nimport { AppToolbar } from '@components/widgets/toolbar';\r\nimport QUICKSEARCHFORMSearchForm from '@widgets/ibizbook/quicksearchform-searchform/quicksearchform-searchform.vue';\r\nimport LnternalFuncListList from '@widgets/ibizbook/lnternal-func-list-list/lnternal-func-list-list.vue';\r\nimport {\r\n useNavParamsBind,\r\n useEventBind,\r\n getViewClassNames,\r\n handleQuickSearch,\r\n handleToolbarItemClick,\r\n handleCtrlAction,\r\n handleCtrlInit,\r\n handleCtrlDestroy,\r\n} from \"@/hooks/use-view\";\r\nimport { ListViewActionType, ListViewController, IListViewAbility, IListViewController, IListViewControllerParams, IListViewStore, IParam, IContext, ILoadingHelper, LoadingHelper, IEvent } from \"@/core\";\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n controller: IListViewController<IListViewStore, IListViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});\r\nconst model: IParam = props.controller.getModel();\r\nconst store: IListViewStore = props.controller.getStore();\r\nconst classNames = computed(() => {\r\n \tconst classNames = getViewClassNames(model, props);\r\n Object.assign(classNames, {\"list-view-stripe\": true});\r\n return classNames;\r\n});",
"templCode3" : ".list-view-stripe {\r\n .ant-list-items {\r\n .ant-list-item:nth-child(even) {\r\n background-color: #fafafa;\r\n }\r\n }\r\n}"
}, {
"name" : "列表面板自定义插件",
......@@ -5562,6 +5562,30 @@
"templCode" : "<AppCol\r\n noRoot\r\n class=\"red-solid\"\r\n :visible=\"store.detailModel.formitem2.visible\"\r\n :layoutOpts=\"{parentLayout: 'TABLE_24COL',colMD: 24,}\">\r\n <template v-slot:default=\"{ slotStyle, slotClass }\">\r\n <AppFormItem \r\n name=\"formitem2\"\r\n :slotStyle=\"slotStyle\"\r\n :slotClass=\"slotClass\" \r\n label=\"\"\r\n labelPos=\"LEFT\" \r\n :labelWidth=\"130\" \r\n :showLabel=\"true\"\r\n :enableAnchor=\"false\" \r\n :rules=\"store.valueRule.formitem2\"\r\n :emptyCaption=\"false\">\r\n <div class=\"form-editor-container\">\r\n <AppSwitch\r\n name=\"formitem2\"\r\n :disabled=\"store.detailModel.formitem2.disabled\"\r\n style=\"\"\r\n :value=\"store.data.formitem2\"\r\n @component-action=\"(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }\"\r\n />\r\n </div>\r\n </AppFormItem>\r\n </template>\r\n </AppCol>",
"templCode2" : "import { AppCol } from '@/components/common/col';\r\nimport { AppFormItem } from '@components/widgets/form';\r\nimport { IEditFormAbility, IEditFormController, IEditFormStore, IParam } from \"@/core\";\r\ninterface Props {\r\n rowData: IParam;\r\n controller: IEditFormController<IEditFormStore, IEditFormAbility>;\r\n}\r\nconst props = defineProps<Props>();\r\nconst model: IParam = props.controller.getModel();\r\nconst store: IEditFormStore = props.controller.getStore();",
"templCode3" : ".red-solid {\r\n .app-switch {\r\n padding-bottom: 8px;\r\n border-bottom: 1px solid red;\r\n }\r\n}"
}, {
"name" : "红色标题(列表项)",
"getPSSysPFPlugin" : {
"pluginType" : "LIST_ITEMRENDER",
"pluginCode" : "redCaption"
},
"pluginCode" : "redCaption",
"pluginType" : "LIST_ITEMRENDER",
"refMode" : "CONTROLITEM",
"refTag" : "PANEL",
"refTag2" : "FIELD",
"templCode" : "<div>红色标题</div>"
}, {
"name" : "红色背景项",
"getPSSysPFPlugin" : {
"pluginType" : "TOOLBAR_ITEM",
"pluginCode" : "redItem"
},
"pluginCode" : "redItem",
"pluginType" : "TOOLBAR_ITEM",
"refMode" : "CONTROLITEM",
"refTag" : "TOOLBAR",
"refTag2" : "DEUIACTION",
"templCode" : "<div>红色项</div>"
}, {
"name" : "红色表格头",
"getPSSysPFPlugin" : {
......@@ -11,8 +11,8 @@
"pluginType" : "VIEW_CUSTOM",
"refMode" : "APPVIEW",
"refTag" : "DELISTVIEW",
"templCode" : "<AppViewLayout :class=\"classNames\">\r\n <template #viewHeaderLeft>\r\n <div v-if=\"model.showCaption && !noViewCaption\" class=\"view-header__left__caption\">\r\n <AppCaptionBar :caption=\"model.caption\" :title=\"model.title\" :capPSLanguageRes=\"model.capPSLanguageRes\" :titlePSLanguageRes=\"model.titlePSLanguageRes\"></AppCaptionBar>\r\n </div>\r\n </template>\r\n <template #viewHeaderRight>\r\n <div class=\"view-header__right__quicksearch\" v-show=\"!store.expandSearchForm\">\r\n <AppQuickSearch @search=\"(searchValue:string) => handleQuickSearch(controller, searchValue)\" />\r\n </div>\r\n <div class=\"view-header__right__toolbar\">\r\n <AppToolbar\r\n name=\"toolbar\"\r\n mode=\"listViewStripe\"\r\n :items=\"store.toolbarItems\"\r\n :loading=\"store.loadingHelper.isLoading\"\r\n @item-click=\"(name: string, event: MouseEvent, logic: any) => { handleToolbarItemClick(controller, name, event, logic) }\">\r\n </AppToolbar>\r\n </div>\r\n </template>\r\n <template #viewContentTop>\r\n </template>\r\n <template #default>\r\n <AutoGroupListList\r\n :rowActiveMode='model.rowActiveMode'\r\n :actions=\"{\r\n loadDraftAction: 'GetDraft',\r\n createAction: 'Create',\r\n fetchAction: 'FetchDefault',\r\n removeAction: 'Remove',\r\n updateAction: 'Update'\r\n }\"\r\n :openView=\"store.openView\"\r\n :newView=\"store.newView\"\r\n name=\"list\"\r\n :context=\"store.context\"\r\n :viewParams=\"store.viewParams\"\r\n :closeView=\"store.closeView\"\r\n :pLoadingHelper=\"store.loadingHelper\"\r\n :pViewCtx=\"store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"></AutoGroupListList>\r\n </template>\r\n </AppViewLayout>",
"templCode2" : "import { AppViewLayout } from \"@components/layout/view-layout\";\r\nimport { AppToolbar } from '@components/widgets/toolbar';\r\nimport QUICKSEARCHFORMSearchForm from '@widgets/ibizbook/quicksearchform-searchform/quicksearchform-searchform.vue';\r\nimport AutoGroupListList from '@widgets/ibizbook/lnternal-func-list-list/lnternal-func-list-list.vue';\r\nimport {\r\n useNavParamsBind,\r\n useEventBind,\r\n getViewClassNames,\r\n handleQuickSearch,\r\n handleToolbarItemClick,\r\n handleCtrlAction,\r\n handleCtrlInit,\r\n handleCtrlDestroy,\r\n} from \"@/hooks/use-view\";\r\nimport { ListViewActionType, ListViewController, IListViewAbility, IListViewController, IListViewControllerParams, IListViewStore, IParam, IContext, ILoadingHelper, LoadingHelper, IEvent } from \"@/core\";\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n controller: IListViewController<IListViewStore, IListViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});\r\nconst model: IParam = props.controller.getModel();\r\nconst store: IListViewStore = props.controller.getStore();\r\nconst classNames = computed(() => {\r\n \tconst classNames = getViewClassNames(model, props);\r\n Object.assign(classNames, {\"list-view-stripe\": true});\r\n return classNames;\r\n});",
"templCode" : "<AppViewLayout :class=\"classNames\">\r\n <template #viewHeaderLeft>\r\n <div v-if=\"model.showCaption && !noViewCaption\" class=\"view-header__left__caption\">\r\n <AppCaptionBar :caption=\"model.caption\" :title=\"model.title\" :capPSLanguageRes=\"model.capPSLanguageRes\" :titlePSLanguageRes=\"model.titlePSLanguageRes\"></AppCaptionBar>\r\n </div>\r\n </template>\r\n <template #viewHeaderRight>\r\n <div class=\"view-header__right__quicksearch\" v-show=\"!store.expandSearchForm\">\r\n <AppQuickSearch @search=\"(searchValue:string) => handleQuickSearch(controller, searchValue)\" />\r\n </div>\r\n <div class=\"view-header__right__toolbar\">\r\n <AppToolbar\r\n name=\"toolbar\"\r\n mode=\"listViewStripe\"\r\n :items=\"store.toolbarItems\"\r\n :loading=\"store.loadingHelper.isLoading\"\r\n @item-click=\"(name: string, event: MouseEvent, logic: any) => { handleToolbarItemClick(controller, name, event, logic) }\">\r\n </AppToolbar>\r\n </div>\r\n </template>\r\n <template #viewContentTop>\r\n </template>\r\n <template #default>\r\n <LnternalFuncListList\r\n :rowActiveMode='model.rowActiveMode'\r\n :actions=\"{\r\n loadDraftAction: 'GetDraft',\r\n createAction: 'Create',\r\n fetchAction: 'FetchDefault',\r\n removeAction: 'Remove',\r\n updateAction: 'Update'\r\n }\"\r\n :openView=\"store.openView\"\r\n :newView=\"store.newView\"\r\n name=\"list\"\r\n :context=\"store.context\"\r\n :viewParams=\"store.viewParams\"\r\n :closeView=\"store.closeView\"\r\n :pLoadingHelper=\"store.loadingHelper\"\r\n :pViewCtx=\"store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"></LnternalFuncListList>\r\n </template>\r\n </AppViewLayout>",
"templCode2" : "import { AppViewLayout } from \"@components/layout/view-layout\";\r\nimport { AppToolbar } from '@components/widgets/toolbar';\r\nimport QUICKSEARCHFORMSearchForm from '@widgets/ibizbook/quicksearchform-searchform/quicksearchform-searchform.vue';\r\nimport LnternalFuncListList from '@widgets/ibizbook/lnternal-func-list-list/lnternal-func-list-list.vue';\r\nimport {\r\n useNavParamsBind,\r\n useEventBind,\r\n getViewClassNames,\r\n handleQuickSearch,\r\n handleToolbarItemClick,\r\n handleCtrlAction,\r\n handleCtrlInit,\r\n handleCtrlDestroy,\r\n} from \"@/hooks/use-view\";\r\nimport { ListViewActionType, ListViewController, IListViewAbility, IListViewController, IListViewControllerParams, IListViewStore, IParam, IContext, ILoadingHelper, LoadingHelper, IEvent } from \"@/core\";\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n controller: IListViewController<IListViewStore, IListViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});\r\nconst model: IParam = props.controller.getModel();\r\nconst store: IListViewStore = props.controller.getStore();\r\nconst classNames = computed(() => {\r\n \tconst classNames = getViewClassNames(model, props);\r\n Object.assign(classNames, {\"list-view-stripe\": true});\r\n return classNames;\r\n});",
"templCode3" : ".list-view-stripe {\r\n .ant-list-items {\r\n .ant-list-item:nth-child(even) {\r\n background-color: #fafafa;\r\n }\r\n }\r\n}"
}, {
"name" : "列表面板自定义插件",
......@@ -209,6 +209,30 @@
"templCode" : "<AppCol\r\n noRoot\r\n class=\"red-solid\"\r\n :visible=\"store.detailModel.formitem2.visible\"\r\n :layoutOpts=\"{parentLayout: 'TABLE_24COL',colMD: 24,}\">\r\n <template v-slot:default=\"{ slotStyle, slotClass }\">\r\n <AppFormItem \r\n name=\"formitem2\"\r\n :slotStyle=\"slotStyle\"\r\n :slotClass=\"slotClass\" \r\n label=\"\"\r\n labelPos=\"LEFT\" \r\n :labelWidth=\"130\" \r\n :showLabel=\"true\"\r\n :enableAnchor=\"false\" \r\n :rules=\"store.valueRule.formitem2\"\r\n :emptyCaption=\"false\">\r\n <div class=\"form-editor-container\">\r\n <AppSwitch\r\n name=\"formitem2\"\r\n :disabled=\"store.detailModel.formitem2.disabled\"\r\n style=\"\"\r\n :value=\"store.data.formitem2\"\r\n @component-action=\"(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }\"\r\n />\r\n </div>\r\n </AppFormItem>\r\n </template>\r\n </AppCol>",
"templCode2" : "import { AppCol } from '@/components/common/col';\r\nimport { AppFormItem } from '@components/widgets/form';\r\nimport { IEditFormAbility, IEditFormController, IEditFormStore, IParam } from \"@/core\";\r\ninterface Props {\r\n rowData: IParam;\r\n controller: IEditFormController<IEditFormStore, IEditFormAbility>;\r\n}\r\nconst props = defineProps<Props>();\r\nconst model: IParam = props.controller.getModel();\r\nconst store: IEditFormStore = props.controller.getStore();",
"templCode3" : ".red-solid {\r\n .app-switch {\r\n padding-bottom: 8px;\r\n border-bottom: 1px solid red;\r\n }\r\n}"
}, {
"name" : "红色标题(列表项)",
"getPSSysPFPlugin" : {
"pluginType" : "LIST_ITEMRENDER",
"pluginCode" : "redCaption"
},
"pluginCode" : "redCaption",
"pluginType" : "LIST_ITEMRENDER",
"refMode" : "CONTROLITEM",
"refTag" : "PANEL",
"refTag2" : "FIELD",
"templCode" : "<div>红色标题</div>"
}, {
"name" : "红色背景项",
"getPSSysPFPlugin" : {
"pluginType" : "TOOLBAR_ITEM",
"pluginCode" : "redItem"
},
"pluginCode" : "redItem",
"pluginType" : "TOOLBAR_ITEM",
"refMode" : "CONTROLITEM",
"refTag" : "TOOLBAR",
"refTag2" : "DEUIACTION",
"templCode" : "<div>红色项</div>"
}, {
"name" : "红色表格头",
"getPSSysPFPlugin" : {
......
{
"codeName" : "ACT",
"dynaModelFilePath" : "PSWORKFLOWS/ACT.json",
"entityWFFinishState" : "30",
"entityWFState" : "20",
"logicName" : "订单审批",
"mOSFilePath" : "psworkflows/ACT",
......@@ -12,6 +13,7 @@
"modelref" : true,
"path" : "PSMODULES/Sample/PSCODELISTS/ORDERSTATE.json"
},
"entityWFFinishState" : "30",
"entityWFState" : "20",
"mOSFilePath" : "psworkflows/ACT/pswfdes/WF",
"name" : "IBIZSAMPLE0021",
......
......@@ -19,7 +19,7 @@
<flowable:string>20</flowable:string>
</flowable:field>
<flowable:field name="wffinishval_ibizsample0021">
<flowable:string></flowable:string>
<flowable:string>30</flowable:string>
</flowable:field>
<flowable:field name="wferrorval_ibizsample0021">
<flowable:string></flowable:string>
......
......@@ -19,7 +19,7 @@
<flowable:string>20</flowable:string>
</flowable:field>
<flowable:field name="wffinishval_ibizsample0021">
<flowable:string></flowable:string>
<flowable:string>30</flowable:string>
</flowable:field>
<flowable:field name="wferrorval_ibizsample0021">
<flowable:string></flowable:string>
......
......@@ -172,7 +172,7 @@
<!--输出实体[IBIZBOOK]数据结构 -->
<changeSet author="a_LAB01_df847bdfd" id="tab-ibizbook-1130-7">
<changeSet author="a_LAB01_df847bdfd" id="tab-ibizbook-1154-7">
<createTable tableName="T_IBIZBOOK">
<column name="CREATEMAN" remarks="" type="VARCHAR(60)">
</column>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册