提交 6ee35faa 编写于 作者: ibizdev's avatar ibizdev

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

上级 616f1e68
...@@ -416,6 +416,24 @@ export default class IBIZBOOKUIServiceBase extends UIService { ...@@ -416,6 +416,24 @@ export default class IBIZBOOKUIServiceBase extends UIService {
openPopupApp(url); openPopupApp(url);
} }
/**
* 页面链接
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
* @memberof IBIZBOOKUIService
*/
public async IBIZBOOK_panel_Listpanel_button_link1_click(args: any[], context:any = {} ,params: any={}, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
actionContext.$Notice.error({ title: '错误', desc: '不支持单项数据' });
}
/** /**
* 加载 * 加载
* *
......
...@@ -213,22 +213,13 @@ export default class AppPanelViewBase extends Vue implements ControlInterface { ...@@ -213,22 +213,13 @@ export default class AppPanelViewBase extends Vue implements ControlInterface {
*/ */
public appUIService:UIService = new UIService(); public appUIService:UIService = new UIService();
/**
* 详情模型集合
*
* @type {*}
* @memberof AppPanelViewBase
*/
public detailsModel: any = {
};
/** /**
* 视图布局是否加载 * 视图布局是否加载
* *
* @public * @public
* @memberof PanelBase * @memberof PanelBase
*/ */
public isLayoutLoadding: boolean = true; public isLayoutLoadding: boolean = false;
/** /**
* 视图布局数据 * 视图布局数据
...@@ -367,15 +358,13 @@ export default class AppPanelViewBase extends Vue implements ControlInterface { ...@@ -367,15 +358,13 @@ export default class AppPanelViewBase extends Vue implements ControlInterface {
// 若为项布局面板,存在parentRef // 若为项布局面板,存在parentRef
if(this.parentRef){ if(this.parentRef){
let targetData:any = this.parentRef.transformData(data); let targetData:any = this.parentRef.transformData(data);
if(this.detailsModel && Object.keys(this.detailsModel).length >0){ if(this.layoutModelDetails && Object.keys(this.layoutModelDetails).length >0){
Object.keys(this.detailsModel).forEach((name:any) =>{ Object.keys(this.layoutModelDetails).forEach((name:any) =>{
if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].itemType,"BUTTON")){ if(this.layoutModelDetails[name] && this.layoutModelDetails[name].uiAction && this.layoutModelDetails[name].uiAction.dataAccaction && Object.is(this.layoutModelDetails[name].itemType,"BUTTON")){
this.detailsModel[name].isPower = true; let tempUIAction:any = JSON.parse(JSON.stringify(this.layoutModelDetails[name].uiAction));
let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction)); let result: any[] = ViewTool.calcActionItemAuthState(targetData, [tempUIAction], this.appUIService ? this.appUIService : null);
let result: any[] = ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService?this.appUIService:null); this.layoutModelDetails[name].visible = tempUIAction.visabled;
this.detailsModel[name].visible = tempUIAction.visabled; this.layoutModelDetails[name].disabled = tempUIAction.disabled;
this.detailsModel[name].disabled = tempUIAction.disabled;
this.detailsModel[name].isPower = result[0] === 1 ? true : false;
} }
}) })
} }
...@@ -452,11 +441,12 @@ export default class AppPanelViewBase extends Vue implements ControlInterface { ...@@ -452,11 +441,12 @@ export default class AppPanelViewBase extends Vue implements ControlInterface {
if (!args || !args.name || Object.is(args.name, '') || !this.layoutData.hasOwnProperty(args.name)) { if (!args || !args.name || Object.is(args.name, '') || !this.layoutData.hasOwnProperty(args.name)) {
return; return;
} }
const {name,value} = args; const { name, value } = args;
this.data[name] = value;
this.layoutData[name] = value; this.layoutData[name] = value;
this.layoutModelDetails[name].setData(value); this.layoutModelDetails[name].setData(value);
this.panelLogic(name); this.panelLogic(name);
this.panelEditItemChange(data, $event.name, $event.value); this.panelEditItemChange(data, name, name);
} }
/** /**
...@@ -479,7 +469,6 @@ export default class AppPanelViewBase extends Vue implements ControlInterface { ...@@ -479,7 +469,6 @@ export default class AppPanelViewBase extends Vue implements ControlInterface {
this.$emit('panelDataChange',{[modelitem.prop]: value}); this.$emit('panelDataChange',{[modelitem.prop]: value});
} }
} }
} }
/** /**
...@@ -489,7 +478,7 @@ export default class AppPanelViewBase extends Vue implements ControlInterface { ...@@ -489,7 +478,7 @@ export default class AppPanelViewBase extends Vue implements ControlInterface {
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal } * @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof AppPanelViewBase * @memberof AppPanelViewBase
*/ */
public panelLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }): void { public panelLogic(name: string): void {
} }
......
...@@ -247,30 +247,13 @@ export default class Auto1Base extends Vue implements ControlInterface { ...@@ -247,30 +247,13 @@ export default class Auto1Base extends Vue implements ControlInterface {
*/ */
public appUIService:IBIZBOOKUIService = new IBIZBOOKUIService(); public appUIService:IBIZBOOKUIService = new IBIZBOOKUIService();
/**
* 详情模型集合
*
* @type {*}
* @memberof Auto1Base
*/
public detailsModel: any = {
field1: new PanelFieldModel({ caption: '图书名', itemType: 'FIELD',visible: true, disabled: false, name: 'field1', panel: this })
,
field2: new PanelFieldModel({ caption: '借出日期', itemType: 'FIELD',visible: true, disabled: false, name: 'field2', panel: this })
,
field3: new PanelFieldModel({ caption: '归还日期', itemType: 'FIELD',visible: true, disabled: false, name: 'field3', panel: this })
,
container1: new PanelContainerModel({ caption: '', itemType: 'CONTAINER',visible: true, disabled: false, name: 'container1', panel: this })
,
};
/** /**
* 视图布局是否加载 * 视图布局是否加载
* *
* @public * @public
* @memberof Item1layoutpanelBase * @memberof Item1layoutpanelBase
*/ */
public isLayoutLoadding: boolean = true; public isLayoutLoadding: boolean = false;
/** /**
* 视图布局数据 * 视图布局数据
...@@ -425,15 +408,13 @@ export default class Auto1Base extends Vue implements ControlInterface { ...@@ -425,15 +408,13 @@ export default class Auto1Base extends Vue implements ControlInterface {
// 若为项布局面板,存在parentRef // 若为项布局面板,存在parentRef
if(this.parentRef){ if(this.parentRef){
let targetData:any = this.parentRef.transformData(data); let targetData:any = this.parentRef.transformData(data);
if(this.detailsModel && Object.keys(this.detailsModel).length >0){ if(this.layoutModelDetails && Object.keys(this.layoutModelDetails).length >0){
Object.keys(this.detailsModel).forEach((name:any) =>{ Object.keys(this.layoutModelDetails).forEach((name:any) =>{
if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].itemType,"BUTTON")){ if(this.layoutModelDetails[name] && this.layoutModelDetails[name].uiAction && this.layoutModelDetails[name].uiAction.dataAccaction && Object.is(this.layoutModelDetails[name].itemType,"BUTTON")){
this.detailsModel[name].isPower = true; let tempUIAction:any = JSON.parse(JSON.stringify(this.layoutModelDetails[name].uiAction));
let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction)); let result: any[] = ViewTool.calcActionItemAuthState(targetData, [tempUIAction], this.appUIService ? this.appUIService : null);
let result: any[] = ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService?this.appUIService:null); this.layoutModelDetails[name].visible = tempUIAction.visabled;
this.detailsModel[name].visible = tempUIAction.visabled; this.layoutModelDetails[name].disabled = tempUIAction.disabled;
this.detailsModel[name].disabled = tempUIAction.disabled;
this.detailsModel[name].isPower = result[0] === 1 ? true : false;
} }
}) })
} }
...@@ -510,11 +491,12 @@ export default class Auto1Base extends Vue implements ControlInterface { ...@@ -510,11 +491,12 @@ export default class Auto1Base extends Vue implements ControlInterface {
if (!args || !args.name || Object.is(args.name, '') || !this.layoutData.hasOwnProperty(args.name)) { if (!args || !args.name || Object.is(args.name, '') || !this.layoutData.hasOwnProperty(args.name)) {
return; return;
} }
const {name,value} = args; const { name, value } = args;
this.data[name] = value;
this.layoutData[name] = value; this.layoutData[name] = value;
this.layoutModelDetails[name].setData(value); this.layoutModelDetails[name].setData(value);
this.panelLogic(name); this.panelLogic(name);
this.panelEditItemChange(data, $event.name, $event.value); this.panelEditItemChange(data, name, name);
} }
/** /**
...@@ -537,7 +519,6 @@ export default class Auto1Base extends Vue implements ControlInterface { ...@@ -537,7 +519,6 @@ export default class Auto1Base extends Vue implements ControlInterface {
this.$emit('panelDataChange',{[modelitem.prop]: value}); this.$emit('panelDataChange',{[modelitem.prop]: value});
} }
} }
} }
/** /**
...@@ -547,7 +528,7 @@ export default class Auto1Base extends Vue implements ControlInterface { ...@@ -547,7 +528,7 @@ export default class Auto1Base extends Vue implements ControlInterface {
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal } * @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof Auto1Base * @memberof Auto1Base
*/ */
public panelLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }): void { public panelLogic(name: string): void {
......
...@@ -671,7 +671,7 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -671,7 +671,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/ */
public load(opt: any = {}): void { public load(opt: any = {}): void {
if(!this.loadAction){ if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr5GridView' + (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; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -707,7 +707,7 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -707,7 +707,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/ */
public loadDraft(opt: any = {},mode?:string): void { public loadDraft(opt: any = {},mode?:string): void {
if(!this.loaddraftAction){ if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr5GridView' + (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; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
......
...@@ -247,30 +247,13 @@ export default class HasPanelKanBanBase extends Vue implements ControlInterface ...@@ -247,30 +247,13 @@ export default class HasPanelKanBanBase extends Vue implements ControlInterface
*/ */
public appUIService:IBIZBOOKUIService = new IBIZBOOKUIService(); public appUIService:IBIZBOOKUIService = new IBIZBOOKUIService();
/**
* 详情模型集合
*
* @type {*}
* @memberof HasPanelKanBanBase
*/
public detailsModel: any = {
srfmajortext: new PanelFieldModel({ caption: '', itemType: 'FIELD',visible: true, disabled: false, name: 'srfmajortext', panel: this })
,
author: new PanelFieldModel({ caption: '', itemType: 'FIELD',visible: true, disabled: false, name: 'author', panel: this })
,
srfdescription: new PanelFieldModel({ caption: '', itemType: 'FIELD',visible: true, disabled: false, name: 'srfdescription', panel: this })
,
container1: new PanelContainerModel({ caption: '', itemType: 'CONTAINER',visible: true, disabled: false, name: 'container1', panel: this })
,
};
/** /**
* 视图布局是否加载 * 视图布局是否加载
* *
* @public * @public
* @memberof ItemlayoutpanelBase * @memberof ItemlayoutpanelBase
*/ */
public isLayoutLoadding: boolean = true; public isLayoutLoadding: boolean = false;
/** /**
* 视图布局数据 * 视图布局数据
...@@ -425,15 +408,13 @@ export default class HasPanelKanBanBase extends Vue implements ControlInterface ...@@ -425,15 +408,13 @@ export default class HasPanelKanBanBase extends Vue implements ControlInterface
// 若为项布局面板,存在parentRef // 若为项布局面板,存在parentRef
if(this.parentRef){ if(this.parentRef){
let targetData:any = this.parentRef.transformData(data); let targetData:any = this.parentRef.transformData(data);
if(this.detailsModel && Object.keys(this.detailsModel).length >0){ if(this.layoutModelDetails && Object.keys(this.layoutModelDetails).length >0){
Object.keys(this.detailsModel).forEach((name:any) =>{ Object.keys(this.layoutModelDetails).forEach((name:any) =>{
if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].itemType,"BUTTON")){ if(this.layoutModelDetails[name] && this.layoutModelDetails[name].uiAction && this.layoutModelDetails[name].uiAction.dataAccaction && Object.is(this.layoutModelDetails[name].itemType,"BUTTON")){
this.detailsModel[name].isPower = true; let tempUIAction:any = JSON.parse(JSON.stringify(this.layoutModelDetails[name].uiAction));
let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction)); let result: any[] = ViewTool.calcActionItemAuthState(targetData, [tempUIAction], this.appUIService ? this.appUIService : null);
let result: any[] = ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService?this.appUIService:null); this.layoutModelDetails[name].visible = tempUIAction.visabled;
this.detailsModel[name].visible = tempUIAction.visabled; this.layoutModelDetails[name].disabled = tempUIAction.disabled;
this.detailsModel[name].disabled = tempUIAction.disabled;
this.detailsModel[name].isPower = result[0] === 1 ? true : false;
} }
}) })
} }
...@@ -510,11 +491,12 @@ export default class HasPanelKanBanBase extends Vue implements ControlInterface ...@@ -510,11 +491,12 @@ export default class HasPanelKanBanBase extends Vue implements ControlInterface
if (!args || !args.name || Object.is(args.name, '') || !this.layoutData.hasOwnProperty(args.name)) { if (!args || !args.name || Object.is(args.name, '') || !this.layoutData.hasOwnProperty(args.name)) {
return; return;
} }
const {name,value} = args; const { name, value } = args;
this.data[name] = value;
this.layoutData[name] = value; this.layoutData[name] = value;
this.layoutModelDetails[name].setData(value); this.layoutModelDetails[name].setData(value);
this.panelLogic(name); this.panelLogic(name);
this.panelEditItemChange(data, $event.name, $event.value); this.panelEditItemChange(data, name, name);
} }
/** /**
...@@ -537,7 +519,6 @@ export default class HasPanelKanBanBase extends Vue implements ControlInterface ...@@ -537,7 +519,6 @@ export default class HasPanelKanBanBase extends Vue implements ControlInterface
this.$emit('panelDataChange',{[modelitem.prop]: value}); this.$emit('panelDataChange',{[modelitem.prop]: value});
} }
} }
} }
/** /**
...@@ -547,7 +528,7 @@ export default class HasPanelKanBanBase extends Vue implements ControlInterface ...@@ -547,7 +528,7 @@ export default class HasPanelKanBanBase extends Vue implements ControlInterface
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal } * @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof HasPanelKanBanBase * @memberof HasPanelKanBanBase
*/ */
public panelLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }): void { public panelLogic(name: string): void {
......
...@@ -247,30 +247,13 @@ export default class HasPanelListBase extends Vue implements ControlInterface { ...@@ -247,30 +247,13 @@ export default class HasPanelListBase extends Vue implements ControlInterface {
*/ */
public appUIService:IBIZBOOKUIService = new IBIZBOOKUIService(); public appUIService:IBIZBOOKUIService = new IBIZBOOKUIService();
/**
* 详情模型集合
*
* @type {*}
* @memberof HasPanelListBase
*/
public detailsModel: any = {
bookname: new PanelFieldModel({ caption: '图书名称', itemType: 'FIELD',visible: true, disabled: false, name: 'bookname', panel: this })
,
author: new PanelFieldModel({ caption: '图书作者', itemType: 'FIELD',visible: true, disabled: false, name: 'author', panel: this })
,
press: new PanelFieldModel({ caption: '图书出版社', itemType: 'FIELD',visible: true, disabled: false, name: 'press', panel: this })
,
container1: new PanelContainerModel({ caption: '', itemType: 'CONTAINER',visible: true, disabled: false, name: 'container1', panel: this })
,
};
/** /**
* 视图布局是否加载 * 视图布局是否加载
* *
* @public * @public
* @memberof List_itempanelBase * @memberof List_itempanelBase
*/ */
public isLayoutLoadding: boolean = true; public isLayoutLoadding: boolean = false;
/** /**
* 视图布局数据 * 视图布局数据
...@@ -425,15 +408,13 @@ export default class HasPanelListBase extends Vue implements ControlInterface { ...@@ -425,15 +408,13 @@ export default class HasPanelListBase extends Vue implements ControlInterface {
// 若为项布局面板,存在parentRef // 若为项布局面板,存在parentRef
if(this.parentRef){ if(this.parentRef){
let targetData:any = this.parentRef.transformData(data); let targetData:any = this.parentRef.transformData(data);
if(this.detailsModel && Object.keys(this.detailsModel).length >0){ if(this.layoutModelDetails && Object.keys(this.layoutModelDetails).length >0){
Object.keys(this.detailsModel).forEach((name:any) =>{ Object.keys(this.layoutModelDetails).forEach((name:any) =>{
if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].itemType,"BUTTON")){ if(this.layoutModelDetails[name] && this.layoutModelDetails[name].uiAction && this.layoutModelDetails[name].uiAction.dataAccaction && Object.is(this.layoutModelDetails[name].itemType,"BUTTON")){
this.detailsModel[name].isPower = true; let tempUIAction:any = JSON.parse(JSON.stringify(this.layoutModelDetails[name].uiAction));
let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction)); let result: any[] = ViewTool.calcActionItemAuthState(targetData, [tempUIAction], this.appUIService ? this.appUIService : null);
let result: any[] = ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService?this.appUIService:null); this.layoutModelDetails[name].visible = tempUIAction.visabled;
this.detailsModel[name].visible = tempUIAction.visabled; this.layoutModelDetails[name].disabled = tempUIAction.disabled;
this.detailsModel[name].disabled = tempUIAction.disabled;
this.detailsModel[name].isPower = result[0] === 1 ? true : false;
} }
}) })
} }
...@@ -510,11 +491,12 @@ export default class HasPanelListBase extends Vue implements ControlInterface { ...@@ -510,11 +491,12 @@ export default class HasPanelListBase extends Vue implements ControlInterface {
if (!args || !args.name || Object.is(args.name, '') || !this.layoutData.hasOwnProperty(args.name)) { if (!args || !args.name || Object.is(args.name, '') || !this.layoutData.hasOwnProperty(args.name)) {
return; return;
} }
const {name,value} = args; const { name, value } = args;
this.data[name] = value;
this.layoutData[name] = value; this.layoutData[name] = value;
this.layoutModelDetails[name].setData(value); this.layoutModelDetails[name].setData(value);
this.panelLogic(name); this.panelLogic(name);
this.panelEditItemChange(data, $event.name, $event.value); this.panelEditItemChange(data, name, name);
} }
/** /**
...@@ -537,7 +519,6 @@ export default class HasPanelListBase extends Vue implements ControlInterface { ...@@ -537,7 +519,6 @@ export default class HasPanelListBase extends Vue implements ControlInterface {
this.$emit('panelDataChange',{[modelitem.prop]: value}); this.$emit('panelDataChange',{[modelitem.prop]: value});
} }
} }
} }
/** /**
...@@ -547,7 +528,7 @@ export default class HasPanelListBase extends Vue implements ControlInterface { ...@@ -547,7 +528,7 @@ export default class HasPanelListBase extends Vue implements ControlInterface {
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal } * @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof HasPanelListBase * @memberof HasPanelListBase
*/ */
public panelLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }): void { public panelLogic(name: string): void {
......
...@@ -14,16 +14,16 @@ export default class ListpanelModel { ...@@ -14,16 +14,16 @@ export default class ListpanelModel {
*/ */
public getDataItems(): any[] { public getDataItems(): any[] {
return [ return [
{
name: 'author',
prop: 'author',
dataType: 'TEXT',
},
{ {
name: 'booknumber', name: 'booknumber',
prop: 'booknumber', prop: 'booknumber',
dataType: 'INT', dataType: 'INT',
}, },
{
name: 'author',
prop: 'author',
dataType: 'TEXT',
},
{ {
name: 'srfkey', name: 'srfkey',
prop: 'ibizbookid', prop: 'ibizbookid',
......
...@@ -14,6 +14,12 @@ ...@@ -14,6 +14,12 @@
<template #field_textbox> <template #field_textbox>
<app-panel-field name="field_textbox" :data="layoutData" :value="layoutData.field_textbox"> </app-panel-field> <app-panel-field name="field_textbox" :data="layoutData" :value="layoutData.field_textbox"> </app-panel-field>
</template> </template>
<template #button_link1>
<app-preset-button name="button_link1" :layoutModelDetails="layoutModelDetails" caption="页面链接" tooltip="" @itemClick="handleButtonClick" />
</template>
<template #button_calluilogic1>
<app-preset-button name="button_calluilogic1" :layoutModelDetails="layoutModelDetails" caption="打开文档" tooltip="" @itemClick="handleButtonClick" />
</template>
</app-standard-container> </app-standard-container>
</template> </template>
</div> </div>
...@@ -129,6 +135,62 @@ export default class ListpanelBase extends Vue implements ControlInterface { ...@@ -129,6 +135,62 @@ export default class ListpanelBase extends Vue implements ControlInterface {
public appEntityService: IBIZBOOKEntityService = new IBIZBOOKEntityService({ $store: this.$store }); public appEntityService: IBIZBOOKEntityService = new IBIZBOOKEntityService({ $store: this.$store });
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public list_itempanel_button_link1_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];
}
// 界面行为
const curUIService:IBIZBOOKUIService = new IBIZBOOKUIService();
curUIService.IBIZBOOK_panel_Listpanel_button_link1_click(datas,contextJO, paramJO, $event, xData,this,"IBIZBOOK");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public list_itempanel_button_calluilogic1_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];
}
// 界面行为
const curUIService:IBIZBOOKUIService = new IBIZBOOKUIService();
curUIService.IBIZBOOK_openDocument(datas,contextJO, paramJO, $event, xData,this,"IBIZBOOK");
}
/** /**
* 转化数据 * 转化数据
...@@ -250,32 +312,13 @@ export default class ListpanelBase extends Vue implements ControlInterface { ...@@ -250,32 +312,13 @@ export default class ListpanelBase extends Vue implements ControlInterface {
*/ */
public appUIService:IBIZBOOKUIService = new IBIZBOOKUIService(); public appUIService:IBIZBOOKUIService = new IBIZBOOKUIService();
/**
* 详情模型集合
*
* @type {*}
* @memberof ListpanelBase
*/
public detailsModel: any = {
static_label1: new PanelRawitemModel({ caption: '标签', itemType: 'RAWITEM',visible: true, disabled: false, name: 'static_label1', panel: this })
,
static_text1: new PanelRawitemModel({ caption: '文本', itemType: 'RAWITEM',visible: true, disabled: false, name: 'static_text1', panel: this })
,
field_text_dynamic: new PanelFieldModel({ caption: '文本(动态)', itemType: 'FIELD',visible: true, disabled: false, name: 'field_text_dynamic', panel: this })
,
field_textbox: new PanelFieldModel({ caption: '文本框', itemType: 'FIELD',visible: true, disabled: false, name: 'field_textbox', panel: this })
,
container1: new PanelContainerModel({ caption: '容器', itemType: 'CONTAINER',visible: true, disabled: false, name: 'container1', panel: this })
,
};
/** /**
* 视图布局是否加载 * 视图布局是否加载
* *
* @public * @public
* @memberof List_itempanelBase * @memberof List_itempanelBase
*/ */
public isLayoutLoadding: boolean = true; public isLayoutLoadding: boolean = false;
/** /**
* 视图布局数据 * 视图布局数据
...@@ -367,7 +410,9 @@ export default class ListpanelBase extends Vue implements ControlInterface { ...@@ -367,7 +410,9 @@ export default class ListpanelBase extends Vue implements ControlInterface {
static_text1:{ name: 'static_text1', type: 'VIEWLAYOUT', caption: '文本', isShowCaption: true, sysCss: '', itemType: 'RAWITEM', 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 , viewType: 'DELISTVIEW', predefinedType: 'STATIC_TEXT', contentType: 'RAW', contentStyle: '', rawContent: '文本内容', htmlContent: '', renderMode: 'TEXT', wrapMode:'', vAlign:'', hAlign:'', }, static_text1:{ name: 'static_text1', type: 'VIEWLAYOUT', caption: '文本', isShowCaption: true, sysCss: '', itemType: 'RAWITEM', 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 , viewType: 'DELISTVIEW', predefinedType: 'STATIC_TEXT', contentType: 'RAW', contentStyle: '', rawContent: '文本内容', htmlContent: '', renderMode: 'TEXT', wrapMode:'', vAlign:'', hAlign:'', },
field_text_dynamic:{ name: 'field_text_dynamic', type: 'VIEWLAYOUT', 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 , fieldState: '0', predefinedType: 'FIELD_TEXT_DYNAMIC', renderMode: 'TEXT_DYNAMIC', dataItemName:'field_textbox', wrapMode:'', vAlign:'', hAlign:'', }, field_text_dynamic:{ name: 'field_text_dynamic', type: 'VIEWLAYOUT', 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 , fieldState: '0', predefinedType: 'FIELD_TEXT_DYNAMIC', renderMode: 'TEXT_DYNAMIC', dataItemName:'field_textbox', wrapMode:'', vAlign:'', hAlign:'', },
field_textbox:{ name: 'field_textbox', type: 'VIEWLAYOUT', 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 , fieldState: '0', predefinedType: 'FIELD_TEXTBOX', dataItemName:'', }, field_textbox:{ name: 'field_textbox', type: 'VIEWLAYOUT', 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 , fieldState: '0', predefinedType: 'FIELD_TEXTBOX', dataItemName:'', },
container1:{ name: 'container1', type: 'VIEWLAYOUT', 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:['static_label1','static_text1','field_text_dynamic','field_textbox'] , dataRegionType: 'INHERIT' } button_link1:{ name: 'button_link1', type: 'VIEWLAYOUT', caption: '页面链接', isShowCaption: true, sysCss: '', itemType: 'BUTTON', 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 , buttonStyle: 'DEFAULT', borderStyle: '', iconAlign: '', renderMode: 'LINK', },
button_calluilogic1:{ name: 'button_calluilogic1', type: 'VIEWLAYOUT', caption: '按钮', isShowCaption: true, sysCss: '', itemType: 'BUTTON', 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 , buttonStyle: 'DEFAULT', borderStyle: '', iconAlign: '', renderMode: '', },
container1:{ name: 'container1', type: 'VIEWLAYOUT', 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:['static_label1','static_text1','field_text_dynamic','field_textbox','button_link1','button_calluilogic1'] , dataRegionType: 'INHERIT' }
}; };
/** /**
...@@ -427,15 +472,13 @@ export default class ListpanelBase extends Vue implements ControlInterface { ...@@ -427,15 +472,13 @@ export default class ListpanelBase extends Vue implements ControlInterface {
// 若为项布局面板,存在parentRef // 若为项布局面板,存在parentRef
if(this.parentRef){ if(this.parentRef){
let targetData:any = this.parentRef.transformData(data); let targetData:any = this.parentRef.transformData(data);
if(this.detailsModel && Object.keys(this.detailsModel).length >0){ if(this.layoutModelDetails && Object.keys(this.layoutModelDetails).length >0){
Object.keys(this.detailsModel).forEach((name:any) =>{ Object.keys(this.layoutModelDetails).forEach((name:any) =>{
if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].itemType,"BUTTON")){ if(this.layoutModelDetails[name] && this.layoutModelDetails[name].uiAction && this.layoutModelDetails[name].uiAction.dataAccaction && Object.is(this.layoutModelDetails[name].itemType,"BUTTON")){
this.detailsModel[name].isPower = true; let tempUIAction:any = JSON.parse(JSON.stringify(this.layoutModelDetails[name].uiAction));
let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction)); let result: any[] = ViewTool.calcActionItemAuthState(targetData, [tempUIAction], this.appUIService ? this.appUIService : null);
let result: any[] = ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService?this.appUIService:null); this.layoutModelDetails[name].visible = tempUIAction.visabled;
this.detailsModel[name].visible = tempUIAction.visabled; this.layoutModelDetails[name].disabled = tempUIAction.disabled;
this.detailsModel[name].disabled = tempUIAction.disabled;
this.detailsModel[name].isPower = result[0] === 1 ? true : false;
} }
}) })
} }
...@@ -451,6 +494,12 @@ export default class ListpanelBase extends Vue implements ControlInterface { ...@@ -451,6 +494,12 @@ export default class ListpanelBase extends Vue implements ControlInterface {
* @memberof ListpanelBase * @memberof ListpanelBase
*/ */
public uiAction(row: any, tag: any, $event: any) { public uiAction(row: any, tag: any, $event: any) {
if(Object.is('panel_Listpanel_button_link1_click', tag)) {
this.list_itempanel_button_link1_click(row, tag, $event);
}
if(Object.is('openDocument', tag)) {
this.list_itempanel_button_calluilogic1_click(row, tag, $event);
}
} }
/** /**
...@@ -512,11 +561,12 @@ export default class ListpanelBase extends Vue implements ControlInterface { ...@@ -512,11 +561,12 @@ export default class ListpanelBase extends Vue implements ControlInterface {
if (!args || !args.name || Object.is(args.name, '') || !this.layoutData.hasOwnProperty(args.name)) { if (!args || !args.name || Object.is(args.name, '') || !this.layoutData.hasOwnProperty(args.name)) {
return; return;
} }
const {name,value} = args; const { name, value } = args;
this.data[name] = value;
this.layoutData[name] = value; this.layoutData[name] = value;
this.layoutModelDetails[name].setData(value); this.layoutModelDetails[name].setData(value);
this.panelLogic(name); this.panelLogic(name);
this.panelEditItemChange(data, $event.name, $event.value); this.panelEditItemChange(data, name, name);
} }
/** /**
...@@ -539,7 +589,6 @@ export default class ListpanelBase extends Vue implements ControlInterface { ...@@ -539,7 +589,6 @@ export default class ListpanelBase extends Vue implements ControlInterface {
this.$emit('panelDataChange',{[modelitem.prop]: value}); this.$emit('panelDataChange',{[modelitem.prop]: value});
} }
} }
} }
/** /**
...@@ -549,7 +598,9 @@ export default class ListpanelBase extends Vue implements ControlInterface { ...@@ -549,7 +598,9 @@ export default class ListpanelBase extends Vue implements ControlInterface {
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal } * @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof ListpanelBase * @memberof ListpanelBase
*/ */
public panelLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }): void { public panelLogic(name: string): void {
......
...@@ -238,24 +238,13 @@ export default class TIMELINEITEMLAYOUTPANELBase extends Vue implements ControlI ...@@ -238,24 +238,13 @@ export default class TIMELINEITEMLAYOUTPANELBase extends Vue implements ControlI
*/ */
public appUIService:IBIZBOOKUIService = new IBIZBOOKUIService(); public appUIService:IBIZBOOKUIService = new IBIZBOOKUIService();
/**
* 详情模型集合
*
* @type {*}
* @memberof TIMELINEITEMLAYOUTPANELBase
*/
public detailsModel: any = {
container1: new PanelContainerModel({ caption: '', itemType: 'CONTAINER',visible: true, disabled: false, name: 'container1', panel: this })
,
};
/** /**
* 视图布局是否加载 * 视图布局是否加载
* *
* @public * @public
* @memberof ItemlayoutpanelBase * @memberof ItemlayoutpanelBase
*/ */
public isLayoutLoadding: boolean = true; public isLayoutLoadding: boolean = false;
/** /**
* 视图布局数据 * 视图布局数据
...@@ -395,15 +384,13 @@ export default class TIMELINEITEMLAYOUTPANELBase extends Vue implements ControlI ...@@ -395,15 +384,13 @@ export default class TIMELINEITEMLAYOUTPANELBase extends Vue implements ControlI
// 若为项布局面板,存在parentRef // 若为项布局面板,存在parentRef
if(this.parentRef){ if(this.parentRef){
let targetData:any = this.parentRef.transformData(data); let targetData:any = this.parentRef.transformData(data);
if(this.detailsModel && Object.keys(this.detailsModel).length >0){ if(this.layoutModelDetails && Object.keys(this.layoutModelDetails).length >0){
Object.keys(this.detailsModel).forEach((name:any) =>{ Object.keys(this.layoutModelDetails).forEach((name:any) =>{
if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].itemType,"BUTTON")){ if(this.layoutModelDetails[name] && this.layoutModelDetails[name].uiAction && this.layoutModelDetails[name].uiAction.dataAccaction && Object.is(this.layoutModelDetails[name].itemType,"BUTTON")){
this.detailsModel[name].isPower = true; let tempUIAction:any = JSON.parse(JSON.stringify(this.layoutModelDetails[name].uiAction));
let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction)); let result: any[] = ViewTool.calcActionItemAuthState(targetData, [tempUIAction], this.appUIService ? this.appUIService : null);
let result: any[] = ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService?this.appUIService:null); this.layoutModelDetails[name].visible = tempUIAction.visabled;
this.detailsModel[name].visible = tempUIAction.visabled; this.layoutModelDetails[name].disabled = tempUIAction.disabled;
this.detailsModel[name].disabled = tempUIAction.disabled;
this.detailsModel[name].isPower = result[0] === 1 ? true : false;
} }
}) })
} }
...@@ -480,11 +467,12 @@ export default class TIMELINEITEMLAYOUTPANELBase extends Vue implements ControlI ...@@ -480,11 +467,12 @@ export default class TIMELINEITEMLAYOUTPANELBase extends Vue implements ControlI
if (!args || !args.name || Object.is(args.name, '') || !this.layoutData.hasOwnProperty(args.name)) { if (!args || !args.name || Object.is(args.name, '') || !this.layoutData.hasOwnProperty(args.name)) {
return; return;
} }
const {name,value} = args; const { name, value } = args;
this.data[name] = value;
this.layoutData[name] = value; this.layoutData[name] = value;
this.layoutModelDetails[name].setData(value); this.layoutModelDetails[name].setData(value);
this.panelLogic(name); this.panelLogic(name);
this.panelEditItemChange(data, $event.name, $event.value); this.panelEditItemChange(data, name, name);
} }
/** /**
...@@ -507,7 +495,6 @@ export default class TIMELINEITEMLAYOUTPANELBase extends Vue implements ControlI ...@@ -507,7 +495,6 @@ export default class TIMELINEITEMLAYOUTPANELBase extends Vue implements ControlI
this.$emit('panelDataChange',{[modelitem.prop]: value}); this.$emit('panelDataChange',{[modelitem.prop]: value});
} }
} }
} }
/** /**
...@@ -517,7 +504,7 @@ export default class TIMELINEITEMLAYOUTPANELBase extends Vue implements ControlI ...@@ -517,7 +504,7 @@ export default class TIMELINEITEMLAYOUTPANELBase extends Vue implements ControlI
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal } * @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof TIMELINEITEMLAYOUTPANELBase * @memberof TIMELINEITEMLAYOUTPANELBase
*/ */
public panelLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }): void { public panelLogic(name: string): void {
} }
......
...@@ -238,24 +238,13 @@ export default class UsrBase extends Vue implements ControlInterface { ...@@ -238,24 +238,13 @@ export default class UsrBase extends Vue implements ControlInterface {
*/ */
public appUIService:IBIZBOOKUIService = new IBIZBOOKUIService(); public appUIService:IBIZBOOKUIService = new IBIZBOOKUIService();
/**
* 详情模型集合
*
* @type {*}
* @memberof UsrBase
*/
public detailsModel: any = {
container1: new PanelContainerModel({ caption: '', itemType: 'CONTAINER',visible: true, disabled: false, name: 'container1', panel: this })
,
};
/** /**
* 视图布局是否加载 * 视图布局是否加载
* *
* @public * @public
* @memberof List_itempanelBase * @memberof List_itempanelBase
*/ */
public isLayoutLoadding: boolean = true; public isLayoutLoadding: boolean = false;
/** /**
* 视图布局数据 * 视图布局数据
...@@ -395,15 +384,13 @@ export default class UsrBase extends Vue implements ControlInterface { ...@@ -395,15 +384,13 @@ export default class UsrBase extends Vue implements ControlInterface {
// 若为项布局面板,存在parentRef // 若为项布局面板,存在parentRef
if(this.parentRef){ if(this.parentRef){
let targetData:any = this.parentRef.transformData(data); let targetData:any = this.parentRef.transformData(data);
if(this.detailsModel && Object.keys(this.detailsModel).length >0){ if(this.layoutModelDetails && Object.keys(this.layoutModelDetails).length >0){
Object.keys(this.detailsModel).forEach((name:any) =>{ Object.keys(this.layoutModelDetails).forEach((name:any) =>{
if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].itemType,"BUTTON")){ if(this.layoutModelDetails[name] && this.layoutModelDetails[name].uiAction && this.layoutModelDetails[name].uiAction.dataAccaction && Object.is(this.layoutModelDetails[name].itemType,"BUTTON")){
this.detailsModel[name].isPower = true; let tempUIAction:any = JSON.parse(JSON.stringify(this.layoutModelDetails[name].uiAction));
let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction)); let result: any[] = ViewTool.calcActionItemAuthState(targetData, [tempUIAction], this.appUIService ? this.appUIService : null);
let result: any[] = ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService?this.appUIService:null); this.layoutModelDetails[name].visible = tempUIAction.visabled;
this.detailsModel[name].visible = tempUIAction.visabled; this.layoutModelDetails[name].disabled = tempUIAction.disabled;
this.detailsModel[name].disabled = tempUIAction.disabled;
this.detailsModel[name].isPower = result[0] === 1 ? true : false;
} }
}) })
} }
...@@ -480,11 +467,12 @@ export default class UsrBase extends Vue implements ControlInterface { ...@@ -480,11 +467,12 @@ export default class UsrBase extends Vue implements ControlInterface {
if (!args || !args.name || Object.is(args.name, '') || !this.layoutData.hasOwnProperty(args.name)) { if (!args || !args.name || Object.is(args.name, '') || !this.layoutData.hasOwnProperty(args.name)) {
return; return;
} }
const {name,value} = args; const { name, value } = args;
this.data[name] = value;
this.layoutData[name] = value; this.layoutData[name] = value;
this.layoutModelDetails[name].setData(value); this.layoutModelDetails[name].setData(value);
this.panelLogic(name); this.panelLogic(name);
this.panelEditItemChange(data, $event.name, $event.value); this.panelEditItemChange(data, name, name);
} }
/** /**
...@@ -507,7 +495,6 @@ export default class UsrBase extends Vue implements ControlInterface { ...@@ -507,7 +495,6 @@ export default class UsrBase extends Vue implements ControlInterface {
this.$emit('panelDataChange',{[modelitem.prop]: value}); this.$emit('panelDataChange',{[modelitem.prop]: value});
} }
} }
} }
/** /**
...@@ -517,7 +504,7 @@ export default class UsrBase extends Vue implements ControlInterface { ...@@ -517,7 +504,7 @@ export default class UsrBase extends Vue implements ControlInterface {
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal } * @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof UsrBase * @memberof UsrBase
*/ */
public panelLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }): void { public panelLogic(name: string): void {
} }
......
...@@ -247,30 +247,13 @@ export default class Usr4Base extends Vue implements ControlInterface { ...@@ -247,30 +247,13 @@ export default class Usr4Base extends Vue implements ControlInterface {
*/ */
public appUIService:IBIZBOOKUIService = new IBIZBOOKUIService(); public appUIService:IBIZBOOKUIService = new IBIZBOOKUIService();
/**
* 详情模型集合
*
* @type {*}
* @memberof Usr4Base
*/
public detailsModel: any = {
author: new PanelFieldModel({ caption: '作者', itemType: 'FIELD',visible: true, disabled: false, name: 'author', panel: this })
,
press: new PanelFieldModel({ caption: '出版社', itemType: 'FIELD',visible: true, disabled: false, name: 'press', panel: this })
,
bookname: new PanelFieldModel({ caption: '图书名', itemType: 'FIELD',visible: true, disabled: false, name: 'bookname', panel: this })
,
container1: new PanelContainerModel({ caption: '', itemType: 'CONTAINER',visible: true, disabled: false, name: 'container1', panel: this })
,
};
/** /**
* 视图布局是否加载 * 视图布局是否加载
* *
* @public * @public
* @memberof ItemlayoutpanelBase * @memberof ItemlayoutpanelBase
*/ */
public isLayoutLoadding: boolean = true; public isLayoutLoadding: boolean = false;
/** /**
* 视图布局数据 * 视图布局数据
...@@ -425,15 +408,13 @@ export default class Usr4Base extends Vue implements ControlInterface { ...@@ -425,15 +408,13 @@ export default class Usr4Base extends Vue implements ControlInterface {
// 若为项布局面板,存在parentRef // 若为项布局面板,存在parentRef
if(this.parentRef){ if(this.parentRef){
let targetData:any = this.parentRef.transformData(data); let targetData:any = this.parentRef.transformData(data);
if(this.detailsModel && Object.keys(this.detailsModel).length >0){ if(this.layoutModelDetails && Object.keys(this.layoutModelDetails).length >0){
Object.keys(this.detailsModel).forEach((name:any) =>{ Object.keys(this.layoutModelDetails).forEach((name:any) =>{
if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].itemType,"BUTTON")){ if(this.layoutModelDetails[name] && this.layoutModelDetails[name].uiAction && this.layoutModelDetails[name].uiAction.dataAccaction && Object.is(this.layoutModelDetails[name].itemType,"BUTTON")){
this.detailsModel[name].isPower = true; let tempUIAction:any = JSON.parse(JSON.stringify(this.layoutModelDetails[name].uiAction));
let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction)); let result: any[] = ViewTool.calcActionItemAuthState(targetData, [tempUIAction], this.appUIService ? this.appUIService : null);
let result: any[] = ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService?this.appUIService:null); this.layoutModelDetails[name].visible = tempUIAction.visabled;
this.detailsModel[name].visible = tempUIAction.visabled; this.layoutModelDetails[name].disabled = tempUIAction.disabled;
this.detailsModel[name].disabled = tempUIAction.disabled;
this.detailsModel[name].isPower = result[0] === 1 ? true : false;
} }
}) })
} }
...@@ -510,11 +491,12 @@ export default class Usr4Base extends Vue implements ControlInterface { ...@@ -510,11 +491,12 @@ export default class Usr4Base extends Vue implements ControlInterface {
if (!args || !args.name || Object.is(args.name, '') || !this.layoutData.hasOwnProperty(args.name)) { if (!args || !args.name || Object.is(args.name, '') || !this.layoutData.hasOwnProperty(args.name)) {
return; return;
} }
const {name,value} = args; const { name, value } = args;
this.data[name] = value;
this.layoutData[name] = value; this.layoutData[name] = value;
this.layoutModelDetails[name].setData(value); this.layoutModelDetails[name].setData(value);
this.panelLogic(name); this.panelLogic(name);
this.panelEditItemChange(data, $event.name, $event.value); this.panelEditItemChange(data, name, name);
} }
/** /**
...@@ -537,7 +519,6 @@ export default class Usr4Base extends Vue implements ControlInterface { ...@@ -537,7 +519,6 @@ export default class Usr4Base extends Vue implements ControlInterface {
this.$emit('panelDataChange',{[modelitem.prop]: value}); this.$emit('panelDataChange',{[modelitem.prop]: value});
} }
} }
} }
/** /**
...@@ -547,7 +528,7 @@ export default class Usr4Base extends Vue implements ControlInterface { ...@@ -547,7 +528,7 @@ export default class Usr4Base extends Vue implements ControlInterface {
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal } * @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof Usr4Base * @memberof Usr4Base
*/ */
public panelLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }): void { public panelLogic(name: string): void {
......
...@@ -238,24 +238,13 @@ export default class Usr5Base extends Vue implements ControlInterface { ...@@ -238,24 +238,13 @@ export default class Usr5Base extends Vue implements ControlInterface {
*/ */
public appUIService:IBIZBOOKUIService = new IBIZBOOKUIService(); public appUIService:IBIZBOOKUIService = new IBIZBOOKUIService();
/**
* 详情模型集合
*
* @type {*}
* @memberof Usr5Base
*/
public detailsModel: any = {
container1: new PanelContainerModel({ caption: '', itemType: 'CONTAINER',visible: true, disabled: false, name: 'container1', panel: this })
,
};
/** /**
* 视图布局是否加载 * 视图布局是否加载
* *
* @public * @public
* @memberof ItemlayoutpanelBase * @memberof ItemlayoutpanelBase
*/ */
public isLayoutLoadding: boolean = true; public isLayoutLoadding: boolean = false;
/** /**
* 视图布局数据 * 视图布局数据
...@@ -395,15 +384,13 @@ export default class Usr5Base extends Vue implements ControlInterface { ...@@ -395,15 +384,13 @@ export default class Usr5Base extends Vue implements ControlInterface {
// 若为项布局面板,存在parentRef // 若为项布局面板,存在parentRef
if(this.parentRef){ if(this.parentRef){
let targetData:any = this.parentRef.transformData(data); let targetData:any = this.parentRef.transformData(data);
if(this.detailsModel && Object.keys(this.detailsModel).length >0){ if(this.layoutModelDetails && Object.keys(this.layoutModelDetails).length >0){
Object.keys(this.detailsModel).forEach((name:any) =>{ Object.keys(this.layoutModelDetails).forEach((name:any) =>{
if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].itemType,"BUTTON")){ if(this.layoutModelDetails[name] && this.layoutModelDetails[name].uiAction && this.layoutModelDetails[name].uiAction.dataAccaction && Object.is(this.layoutModelDetails[name].itemType,"BUTTON")){
this.detailsModel[name].isPower = true; let tempUIAction:any = JSON.parse(JSON.stringify(this.layoutModelDetails[name].uiAction));
let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction)); let result: any[] = ViewTool.calcActionItemAuthState(targetData, [tempUIAction], this.appUIService ? this.appUIService : null);
let result: any[] = ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService?this.appUIService:null); this.layoutModelDetails[name].visible = tempUIAction.visabled;
this.detailsModel[name].visible = tempUIAction.visabled; this.layoutModelDetails[name].disabled = tempUIAction.disabled;
this.detailsModel[name].disabled = tempUIAction.disabled;
this.detailsModel[name].isPower = result[0] === 1 ? true : false;
} }
}) })
} }
...@@ -480,11 +467,12 @@ export default class Usr5Base extends Vue implements ControlInterface { ...@@ -480,11 +467,12 @@ export default class Usr5Base extends Vue implements ControlInterface {
if (!args || !args.name || Object.is(args.name, '') || !this.layoutData.hasOwnProperty(args.name)) { if (!args || !args.name || Object.is(args.name, '') || !this.layoutData.hasOwnProperty(args.name)) {
return; return;
} }
const {name,value} = args; const { name, value } = args;
this.data[name] = value;
this.layoutData[name] = value; this.layoutData[name] = value;
this.layoutModelDetails[name].setData(value); this.layoutModelDetails[name].setData(value);
this.panelLogic(name); this.panelLogic(name);
this.panelEditItemChange(data, $event.name, $event.value); this.panelEditItemChange(data, name, name);
} }
/** /**
...@@ -507,7 +495,6 @@ export default class Usr5Base extends Vue implements ControlInterface { ...@@ -507,7 +495,6 @@ export default class Usr5Base extends Vue implements ControlInterface {
this.$emit('panelDataChange',{[modelitem.prop]: value}); this.$emit('panelDataChange',{[modelitem.prop]: value});
} }
} }
} }
/** /**
...@@ -517,7 +504,7 @@ export default class Usr5Base extends Vue implements ControlInterface { ...@@ -517,7 +504,7 @@ export default class Usr5Base extends Vue implements ControlInterface {
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal } * @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof Usr5Base * @memberof Usr5Base
*/ */
public panelLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }): void { public panelLogic(name: string): void {
} }
......
...@@ -882,5 +882,4 @@ export default class ListExpBase extends Vue implements ControlInterface { ...@@ -882,5 +882,4 @@ export default class ListExpBase extends Vue implements ControlInterface {
<style lang='less'> <style lang='less'>
@import './list-exp-list.less'; @import './list-exp-list.less';
</style>ist-exp-list.less';
</style> </style>
\ No newline at end of file
...@@ -2030,6 +2030,23 @@ ...@@ -2030,6 +2030,23 @@
"uIActionMode" : "SYS", "uIActionMode" : "SYS",
"uIActionTag" : "panel_Layoutpanel_button_calluilogic2_click", "uIActionTag" : "panel_Layoutpanel_button_calluilogic2_click",
"uIActionType" : "DEUIACTION" "uIActionType" : "DEUIACTION"
}, {
"actionTarget" : "SINGLEDATA",
"caption" : "页面链接",
"codeName" : "panel_Listpanel_button_link1_click",
"frontProcessType" : "OPENHTMLPAGE",
"fullCodeName" : "IBIZBOOK_panel_Listpanel_button_link1_click",
"htmlPageUrl" : "https://www.baidu.com/",
"name" : "页面链接",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"timeout" : 60000,
"uIActionMode" : "FRONT",
"uIActionTag" : "panel_Listpanel_button_link1_click",
"uIActionType" : "DEUIACTION",
"id" : "panel_Listpanel_button_link1_click@IBIZBOOK"
}, { }, {
"actionTarget" : "SINGLEDATA", "actionTarget" : "SINGLEDATA",
"caption" : "加载", "caption" : "加载",
......
...@@ -32,6 +32,48 @@ ...@@ -32,6 +32,48 @@
"modelref" : true, "modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json" "path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
}, },
"getPSAppViewLogics" : [ {
"logicTrigger" : "CUSTOM",
"logicType" : "APPVIEWUIACTION",
"name" : "list_itempanel_button_link1_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_itempanel_button_link1"
}
}, {
"logicTrigger" : "CUSTOM",
"logicType" : "APPVIEWUIACTION",
"name" : "list_itempanel_button_calluilogic1_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_itempanel_button_calluilogic1"
}
} ],
"getPSAppViewUIActions" : [ {
"name" : "list_itempanel_button_link1",
"getPSUIAction" : {
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"modelref" : true,
"id" : "panel_Listpanel_button_link1_click@IBIZBOOK"
},
"uIActionTarget" : "SINGLEDATA",
"xDataControlName" : "list_itempanel"
}, {
"name" : "list_itempanel_button_calluilogic1",
"getPSUIAction" : {
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"modelref" : true,
"id" : "openDocument@IBIZBOOK"
},
"uIActionTarget" : "SINGLEKEY",
"xDataControlName" : "list_itempanel"
} ],
"getPSControlParam" : { }, "getPSControlParam" : { },
"getPSLayout" : { "getPSLayout" : {
"columnCount" : 24, "columnCount" : 24,
...@@ -122,6 +164,83 @@ ...@@ -122,6 +164,83 @@
}, },
"hidden" : false, "hidden" : false,
"showCaption" : false "showCaption" : false
}, {
"actionType" : "UIACTION",
"buttonStyle" : "DEFAULT",
"caption" : "页面链接",
"itemStyle" : "DEFAULT",
"itemType" : "BUTTON",
"name" : "button_link1",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_itempanel_button_link1"
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"getPSUIAction" : {
"actionTarget" : "SINGLEDATA",
"caption" : "页面链接",
"codeName" : "panel_Listpanel_button_link1_click",
"frontProcessType" : "OPENHTMLPAGE",
"fullCodeName" : "IBIZBOOK_panel_Listpanel_button_link1_click",
"htmlPageUrl" : "https://www.baidu.com/",
"name" : "页面链接",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"timeout" : 60000,
"uIActionMode" : "FRONT",
"uIActionTag" : "panel_Listpanel_button_link1_click",
"uIActionType" : "DEUIACTION",
"id" : "panel_Listpanel_button_link1_click@IBIZBOOK"
},
"renderMode" : "LINK",
"tooltip" : "页面链接",
"showCaption" : true
}, {
"actionType" : "UIACTION",
"buttonStyle" : "DEFAULT",
"caption" : "按钮",
"itemStyle" : "DEFAULT",
"itemType" : "BUTTON",
"name" : "button_calluilogic1",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_itempanel_button_calluilogic1"
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"getPSUIAction" : {
"actionTarget" : "SINGLEKEY",
"noPrivDisplayMode" : 1,
"caption" : "打开文档",
"codeName" : "openDocument",
"dataAccessAction" : "OPEN_DOCUMENT",
"frontProcessType" : "OPENHTMLPAGE",
"fullCodeName" : "IBIZBOOK_openDocument",
"htmlPageUrl" : "https://www.yuque.com/ibiz/wuf19n",
"name" : "打开文档",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "OPEN_DOCUMENT"
},
"timeout" : 60000,
"uIActionMode" : "FRONT",
"uIActionTag" : "openDocument",
"uIActionType" : "DEUIACTION",
"id" : "openDocument@IBIZBOOK"
},
"tooltip" : "按钮",
"showCaption" : true
} ] } ]
} ], } ],
"name" : "list_itempanel", "name" : "list_itempanel",
...@@ -148,19 +267,19 @@ ...@@ -148,19 +267,19 @@
"id" : "DataImport" "id" : "DataImport"
}, },
"getPSDEListDataItems" : [ { "getPSDEListDataItems" : [ {
"dataType" : 25,
"name" : "author",
"getPSAppDEField" : {
"name" : "AUTHOR",
"codeName" : "Author"
}
}, {
"dataType" : 9, "dataType" : 9,
"name" : "booknumber", "name" : "booknumber",
"getPSAppDEField" : { "getPSAppDEField" : {
"name" : "BOOKNUMBER", "name" : "BOOKNUMBER",
"codeName" : "Booknumber" "codeName" : "Booknumber"
} }
}, {
"dataType" : 25,
"name" : "author",
"getPSAppDEField" : {
"name" : "AUTHOR",
"codeName" : "Author"
}
}, { }, {
"dataType" : 25, "dataType" : 25,
"name" : "srfkey", "name" : "srfkey",
......
...@@ -14,6 +14,48 @@ ...@@ -14,6 +14,48 @@
"modelref" : true, "modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json" "path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
}, },
"getPSAppViewLogics" : [ {
"logicTrigger" : "CUSTOM",
"logicType" : "APPVIEWUIACTION",
"name" : "list_itempanel_button_link1_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_itempanel_button_link1"
}
}, {
"logicTrigger" : "CUSTOM",
"logicType" : "APPVIEWUIACTION",
"name" : "list_itempanel_button_calluilogic1_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_itempanel_button_calluilogic1"
}
} ],
"getPSAppViewUIActions" : [ {
"name" : "list_itempanel_button_link1",
"getPSUIAction" : {
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"modelref" : true,
"id" : "panel_Listpanel_button_link1_click@IBIZBOOK"
},
"uIActionTarget" : "SINGLEDATA",
"xDataControlName" : "list_itempanel"
}, {
"name" : "list_itempanel_button_calluilogic1",
"getPSUIAction" : {
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"modelref" : true,
"id" : "openDocument@IBIZBOOK"
},
"uIActionTarget" : "SINGLEKEY",
"xDataControlName" : "list_itempanel"
} ],
"getPSLayout" : { "getPSLayout" : {
"columnCount" : 24, "columnCount" : 24,
"layout" : "TABLE_24COL" "layout" : "TABLE_24COL"
...@@ -103,6 +145,83 @@ ...@@ -103,6 +145,83 @@
}, },
"hidden" : false, "hidden" : false,
"showCaption" : false "showCaption" : false
}, {
"actionType" : "UIACTION",
"buttonStyle" : "DEFAULT",
"caption" : "页面链接",
"itemStyle" : "DEFAULT",
"itemType" : "BUTTON",
"name" : "button_link1",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_itempanel_button_link1"
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"getPSUIAction" : {
"actionTarget" : "SINGLEDATA",
"caption" : "页面链接",
"codeName" : "panel_Listpanel_button_link1_click",
"frontProcessType" : "OPENHTMLPAGE",
"fullCodeName" : "IBIZBOOK_panel_Listpanel_button_link1_click",
"htmlPageUrl" : "https://www.baidu.com/",
"name" : "页面链接",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"timeout" : 60000,
"uIActionMode" : "FRONT",
"uIActionTag" : "panel_Listpanel_button_link1_click",
"uIActionType" : "DEUIACTION",
"id" : "panel_Listpanel_button_link1_click@IBIZBOOK"
},
"renderMode" : "LINK",
"tooltip" : "页面链接",
"showCaption" : true
}, {
"actionType" : "UIACTION",
"buttonStyle" : "DEFAULT",
"caption" : "按钮",
"itemStyle" : "DEFAULT",
"itemType" : "BUTTON",
"name" : "button_calluilogic1",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_itempanel_button_calluilogic1"
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"getPSUIAction" : {
"actionTarget" : "SINGLEKEY",
"noPrivDisplayMode" : 1,
"caption" : "打开文档",
"codeName" : "openDocument",
"dataAccessAction" : "OPEN_DOCUMENT",
"frontProcessType" : "OPENHTMLPAGE",
"fullCodeName" : "IBIZBOOK_openDocument",
"htmlPageUrl" : "https://www.yuque.com/ibiz/wuf19n",
"name" : "打开文档",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "OPEN_DOCUMENT"
},
"timeout" : 60000,
"uIActionMode" : "FRONT",
"uIActionTag" : "openDocument",
"uIActionType" : "DEUIACTION",
"id" : "openDocument@IBIZBOOK"
},
"tooltip" : "按钮",
"showCaption" : true
} ] } ]
} ], } ],
"modelid" : "D7D06AA3-7298-433A-BBD9-5A4105BD915F", "modelid" : "D7D06AA3-7298-433A-BBD9-5A4105BD915F",
......
...@@ -288,6 +288,48 @@ ...@@ -288,6 +288,48 @@
"modelref" : true, "modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json" "path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
}, },
"getPSAppViewLogics" : [ {
"logicTrigger" : "CUSTOM",
"logicType" : "APPVIEWUIACTION",
"name" : "list_itempanel_button_link1_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_itempanel_button_link1"
}
}, {
"logicTrigger" : "CUSTOM",
"logicType" : "APPVIEWUIACTION",
"name" : "list_itempanel_button_calluilogic1_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_itempanel_button_calluilogic1"
}
} ],
"getPSAppViewUIActions" : [ {
"name" : "list_itempanel_button_link1",
"getPSUIAction" : {
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"modelref" : true,
"id" : "panel_Listpanel_button_link1_click@IBIZBOOK"
},
"uIActionTarget" : "SINGLEDATA",
"xDataControlName" : "list_itempanel"
}, {
"name" : "list_itempanel_button_calluilogic1",
"getPSUIAction" : {
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"modelref" : true,
"id" : "openDocument@IBIZBOOK"
},
"uIActionTarget" : "SINGLEKEY",
"xDataControlName" : "list_itempanel"
} ],
"getPSControlParam" : { }, "getPSControlParam" : { },
"getPSLayout" : { "getPSLayout" : {
"columnCount" : 24, "columnCount" : 24,
...@@ -378,6 +420,83 @@ ...@@ -378,6 +420,83 @@
}, },
"hidden" : false, "hidden" : false,
"showCaption" : false "showCaption" : false
}, {
"actionType" : "UIACTION",
"buttonStyle" : "DEFAULT",
"caption" : "页面链接",
"itemStyle" : "DEFAULT",
"itemType" : "BUTTON",
"name" : "button_link1",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_itempanel_button_link1"
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"getPSUIAction" : {
"actionTarget" : "SINGLEDATA",
"caption" : "页面链接",
"codeName" : "panel_Listpanel_button_link1_click",
"frontProcessType" : "OPENHTMLPAGE",
"fullCodeName" : "IBIZBOOK_panel_Listpanel_button_link1_click",
"htmlPageUrl" : "https://www.baidu.com/",
"name" : "页面链接",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"timeout" : 60000,
"uIActionMode" : "FRONT",
"uIActionTag" : "panel_Listpanel_button_link1_click",
"uIActionType" : "DEUIACTION",
"id" : "panel_Listpanel_button_link1_click@IBIZBOOK"
},
"renderMode" : "LINK",
"tooltip" : "页面链接",
"showCaption" : true
}, {
"actionType" : "UIACTION",
"buttonStyle" : "DEFAULT",
"caption" : "按钮",
"itemStyle" : "DEFAULT",
"itemType" : "BUTTON",
"name" : "button_calluilogic1",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_itempanel_button_calluilogic1"
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"getPSUIAction" : {
"actionTarget" : "SINGLEKEY",
"noPrivDisplayMode" : 1,
"caption" : "打开文档",
"codeName" : "openDocument",
"dataAccessAction" : "OPEN_DOCUMENT",
"frontProcessType" : "OPENHTMLPAGE",
"fullCodeName" : "IBIZBOOK_openDocument",
"htmlPageUrl" : "https://www.yuque.com/ibiz/wuf19n",
"name" : "打开文档",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "OPEN_DOCUMENT"
},
"timeout" : 60000,
"uIActionMode" : "FRONT",
"uIActionTag" : "openDocument",
"uIActionType" : "DEUIACTION",
"id" : "openDocument@IBIZBOOK"
},
"tooltip" : "按钮",
"showCaption" : true
} ] } ]
} ], } ],
"name" : "list_itempanel", "name" : "list_itempanel",
...@@ -478,19 +597,19 @@ ...@@ -478,19 +597,19 @@
"id" : "DataImport" "id" : "DataImport"
}, },
"getPSDEListDataItems" : [ { "getPSDEListDataItems" : [ {
"dataType" : 25,
"name" : "author",
"getPSAppDEField" : {
"name" : "AUTHOR",
"codeName" : "Author"
}
}, {
"dataType" : 9, "dataType" : 9,
"name" : "booknumber", "name" : "booknumber",
"getPSAppDEField" : { "getPSAppDEField" : {
"name" : "BOOKNUMBER", "name" : "BOOKNUMBER",
"codeName" : "Booknumber" "codeName" : "Booknumber"
} }
}, {
"dataType" : 25,
"name" : "author",
"getPSAppDEField" : {
"name" : "AUTHOR",
"codeName" : "Author"
}
}, { }, {
"dataType" : 25, "dataType" : 25,
"name" : "srfkey", "name" : "srfkey",
......
...@@ -172,7 +172,7 @@ ...@@ -172,7 +172,7 @@
<!--输出实体[IBIZBOOK]数据结构 --> <!--输出实体[IBIZBOOK]数据结构 -->
<changeSet author="a_LAB01_df847bdfd" id="tab-ibizbook-453-7"> <changeSet author="a_LAB01_df847bdfd" id="tab-ibizbook-457-7">
<createTable tableName="T_IBIZBOOK"> <createTable tableName="T_IBIZBOOK">
<column name="CREATEMAN" remarks="" type="VARCHAR(60)"> <column name="CREATEMAN" remarks="" type="VARCHAR(60)">
</column> </column>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册