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

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

上级 616f1e68
......@@ -416,6 +416,24 @@ export default class IBIZBOOKUIServiceBase extends UIService {
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 {
*/
public appUIService:UIService = new UIService();
/**
* 详情模型集合
*
* @type {*}
* @memberof AppPanelViewBase
*/
public detailsModel: any = {
};
/**
* 视图布局是否加载
*
* @public
* @memberof PanelBase
*/
public isLayoutLoadding: boolean = true;
public isLayoutLoadding: boolean = false;
/**
* 视图布局数据
......@@ -367,15 +358,13 @@ export default class AppPanelViewBase extends Vue implements ControlInterface {
// 若为项布局面板,存在parentRef
if(this.parentRef){
let targetData:any = this.parentRef.transformData(data);
if(this.detailsModel && Object.keys(this.detailsModel).length >0){
Object.keys(this.detailsModel).forEach((name:any) =>{
if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].itemType,"BUTTON")){
this.detailsModel[name].isPower = true;
let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction));
let result: any[] = ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService?this.appUIService:null);
this.detailsModel[name].visible = tempUIAction.visabled;
this.detailsModel[name].disabled = tempUIAction.disabled;
this.detailsModel[name].isPower = result[0] === 1 ? true : false;
if(this.layoutModelDetails && Object.keys(this.layoutModelDetails).length >0){
Object.keys(this.layoutModelDetails).forEach((name:any) =>{
if(this.layoutModelDetails[name] && this.layoutModelDetails[name].uiAction && this.layoutModelDetails[name].uiAction.dataAccaction && Object.is(this.layoutModelDetails[name].itemType,"BUTTON")){
let tempUIAction:any = JSON.parse(JSON.stringify(this.layoutModelDetails[name].uiAction));
let result: any[] = ViewTool.calcActionItemAuthState(targetData, [tempUIAction], this.appUIService ? this.appUIService : null);
this.layoutModelDetails[name].visible = tempUIAction.visabled;
this.layoutModelDetails[name].disabled = tempUIAction.disabled;
}
})
}
......@@ -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)) {
return;
}
const {name,value} = args;
const { name, value } = args;
this.data[name] = value;
this.layoutData[name] = value;
this.layoutModelDetails[name].setData(value);
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 {
this.$emit('panelDataChange',{[modelitem.prop]: value});
}
}
}
/**
......@@ -489,7 +478,7 @@ export default class AppPanelViewBase extends Vue implements ControlInterface {
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @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 {
*/
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
* @memberof Item1layoutpanelBase
*/
public isLayoutLoadding: boolean = true;
public isLayoutLoadding: boolean = false;
/**
* 视图布局数据
......@@ -425,15 +408,13 @@ export default class Auto1Base extends Vue implements ControlInterface {
// 若为项布局面板,存在parentRef
if(this.parentRef){
let targetData:any = this.parentRef.transformData(data);
if(this.detailsModel && Object.keys(this.detailsModel).length >0){
Object.keys(this.detailsModel).forEach((name:any) =>{
if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].itemType,"BUTTON")){
this.detailsModel[name].isPower = true;
let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction));
let result: any[] = ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService?this.appUIService:null);
this.detailsModel[name].visible = tempUIAction.visabled;
this.detailsModel[name].disabled = tempUIAction.disabled;
this.detailsModel[name].isPower = result[0] === 1 ? true : false;
if(this.layoutModelDetails && Object.keys(this.layoutModelDetails).length >0){
Object.keys(this.layoutModelDetails).forEach((name:any) =>{
if(this.layoutModelDetails[name] && this.layoutModelDetails[name].uiAction && this.layoutModelDetails[name].uiAction.dataAccaction && Object.is(this.layoutModelDetails[name].itemType,"BUTTON")){
let tempUIAction:any = JSON.parse(JSON.stringify(this.layoutModelDetails[name].uiAction));
let result: any[] = ViewTool.calcActionItemAuthState(targetData, [tempUIAction], this.appUIService ? this.appUIService : null);
this.layoutModelDetails[name].visible = tempUIAction.visabled;
this.layoutModelDetails[name].disabled = tempUIAction.disabled;
}
})
}
......@@ -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)) {
return;
}
const {name,value} = args;
const { name, value } = args;
this.data[name] = value;
this.layoutData[name] = value;
this.layoutModelDetails[name].setData(value);
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 {
this.$emit('panelDataChange',{[modelitem.prop]: value});
}
}
}
/**
......@@ -547,7 +528,7 @@ export default class Auto1Base extends Vue implements ControlInterface {
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @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 {
*/
public load(opt: any = {}): void {
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;
}
const arg: any = { ...opt };
......@@ -707,7 +707,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public loadDraft(opt: any = {},mode?:string): void {
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;
}
const arg: any = { ...opt } ;
......
......@@ -247,30 +247,13 @@ export default class HasPanelKanBanBase extends Vue implements ControlInterface
*/
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
* @memberof ItemlayoutpanelBase
*/
public isLayoutLoadding: boolean = true;
public isLayoutLoadding: boolean = false;
/**
* 视图布局数据
......@@ -425,15 +408,13 @@ export default class HasPanelKanBanBase extends Vue implements ControlInterface
// 若为项布局面板,存在parentRef
if(this.parentRef){
let targetData:any = this.parentRef.transformData(data);
if(this.detailsModel && Object.keys(this.detailsModel).length >0){
Object.keys(this.detailsModel).forEach((name:any) =>{
if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].itemType,"BUTTON")){
this.detailsModel[name].isPower = true;
let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction));
let result: any[] = ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService?this.appUIService:null);
this.detailsModel[name].visible = tempUIAction.visabled;
this.detailsModel[name].disabled = tempUIAction.disabled;
this.detailsModel[name].isPower = result[0] === 1 ? true : false;
if(this.layoutModelDetails && Object.keys(this.layoutModelDetails).length >0){
Object.keys(this.layoutModelDetails).forEach((name:any) =>{
if(this.layoutModelDetails[name] && this.layoutModelDetails[name].uiAction && this.layoutModelDetails[name].uiAction.dataAccaction && Object.is(this.layoutModelDetails[name].itemType,"BUTTON")){
let tempUIAction:any = JSON.parse(JSON.stringify(this.layoutModelDetails[name].uiAction));
let result: any[] = ViewTool.calcActionItemAuthState(targetData, [tempUIAction], this.appUIService ? this.appUIService : null);
this.layoutModelDetails[name].visible = tempUIAction.visabled;
this.layoutModelDetails[name].disabled = tempUIAction.disabled;
}
})
}
......@@ -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)) {
return;
}
const {name,value} = args;
const { name, value } = args;
this.data[name] = value;
this.layoutData[name] = value;
this.layoutModelDetails[name].setData(value);
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
this.$emit('panelDataChange',{[modelitem.prop]: value});
}
}
}
/**
......@@ -547,7 +528,7 @@ export default class HasPanelKanBanBase extends Vue implements ControlInterface
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @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 {
*/
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
* @memberof List_itempanelBase
*/
public isLayoutLoadding: boolean = true;
public isLayoutLoadding: boolean = false;
/**
* 视图布局数据
......@@ -425,15 +408,13 @@ export default class HasPanelListBase extends Vue implements ControlInterface {
// 若为项布局面板,存在parentRef
if(this.parentRef){
let targetData:any = this.parentRef.transformData(data);
if(this.detailsModel && Object.keys(this.detailsModel).length >0){
Object.keys(this.detailsModel).forEach((name:any) =>{
if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].itemType,"BUTTON")){
this.detailsModel[name].isPower = true;
let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction));
let result: any[] = ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService?this.appUIService:null);
this.detailsModel[name].visible = tempUIAction.visabled;
this.detailsModel[name].disabled = tempUIAction.disabled;
this.detailsModel[name].isPower = result[0] === 1 ? true : false;
if(this.layoutModelDetails && Object.keys(this.layoutModelDetails).length >0){
Object.keys(this.layoutModelDetails).forEach((name:any) =>{
if(this.layoutModelDetails[name] && this.layoutModelDetails[name].uiAction && this.layoutModelDetails[name].uiAction.dataAccaction && Object.is(this.layoutModelDetails[name].itemType,"BUTTON")){
let tempUIAction:any = JSON.parse(JSON.stringify(this.layoutModelDetails[name].uiAction));
let result: any[] = ViewTool.calcActionItemAuthState(targetData, [tempUIAction], this.appUIService ? this.appUIService : null);
this.layoutModelDetails[name].visible = tempUIAction.visabled;
this.layoutModelDetails[name].disabled = tempUIAction.disabled;
}
})
}
......@@ -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)) {
return;
}
const {name,value} = args;
const { name, value } = args;
this.data[name] = value;
this.layoutData[name] = value;
this.layoutModelDetails[name].setData(value);
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 {
this.$emit('panelDataChange',{[modelitem.prop]: value});
}
}
}
/**
......@@ -547,7 +528,7 @@ export default class HasPanelListBase extends Vue implements ControlInterface {
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @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 {
*/
public getDataItems(): any[] {
return [
{
name: 'author',
prop: 'author',
dataType: 'TEXT',
},
{
name: 'booknumber',
prop: 'booknumber',
dataType: 'INT',
},
{
name: 'author',
prop: 'author',
dataType: 'TEXT',
},
{
name: 'srfkey',
prop: 'ibizbookid',
......
......@@ -14,6 +14,12 @@
<template #field_textbox>
<app-panel-field name="field_textbox" :data="layoutData" :value="layoutData.field_textbox"> </app-panel-field>
</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>
</template>
</div>
......@@ -129,6 +135,62 @@ export default class ListpanelBase extends Vue implements ControlInterface {
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 {
*/
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
* @memberof List_itempanelBase
*/
public isLayoutLoadding: boolean = true;
public isLayoutLoadding: boolean = false;
/**
* 视图布局数据
......@@ -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:'', },
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:'', },
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 {
// 若为项布局面板,存在parentRef
if(this.parentRef){
let targetData:any = this.parentRef.transformData(data);
if(this.detailsModel && Object.keys(this.detailsModel).length >0){
Object.keys(this.detailsModel).forEach((name:any) =>{
if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].itemType,"BUTTON")){
this.detailsModel[name].isPower = true;
let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction));
let result: any[] = ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService?this.appUIService:null);
this.detailsModel[name].visible = tempUIAction.visabled;
this.detailsModel[name].disabled = tempUIAction.disabled;
this.detailsModel[name].isPower = result[0] === 1 ? true : false;
if(this.layoutModelDetails && Object.keys(this.layoutModelDetails).length >0){
Object.keys(this.layoutModelDetails).forEach((name:any) =>{
if(this.layoutModelDetails[name] && this.layoutModelDetails[name].uiAction && this.layoutModelDetails[name].uiAction.dataAccaction && Object.is(this.layoutModelDetails[name].itemType,"BUTTON")){
let tempUIAction:any = JSON.parse(JSON.stringify(this.layoutModelDetails[name].uiAction));
let result: any[] = ViewTool.calcActionItemAuthState(targetData, [tempUIAction], this.appUIService ? this.appUIService : null);
this.layoutModelDetails[name].visible = tempUIAction.visabled;
this.layoutModelDetails[name].disabled = tempUIAction.disabled;
}
})
}
......@@ -451,6 +494,12 @@ export default class ListpanelBase extends Vue implements ControlInterface {
* @memberof ListpanelBase
*/
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 {
if (!args || !args.name || Object.is(args.name, '') || !this.layoutData.hasOwnProperty(args.name)) {
return;
}
const {name,value} = args;
const { name, value } = args;
this.data[name] = value;
this.layoutData[name] = value;
this.layoutModelDetails[name].setData(value);
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 {
this.$emit('panelDataChange',{[modelitem.prop]: value});
}
}
}
/**
......@@ -549,13 +598,15 @@ export default class ListpanelBase extends Vue implements ControlInterface {
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @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
*/
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
* @memberof ItemlayoutpanelBase
*/
public isLayoutLoadding: boolean = true;
public isLayoutLoadding: boolean = false;
/**
* 视图布局数据
......@@ -395,15 +384,13 @@ export default class TIMELINEITEMLAYOUTPANELBase extends Vue implements ControlI
// 若为项布局面板,存在parentRef
if(this.parentRef){
let targetData:any = this.parentRef.transformData(data);
if(this.detailsModel && Object.keys(this.detailsModel).length >0){
Object.keys(this.detailsModel).forEach((name:any) =>{
if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].itemType,"BUTTON")){
this.detailsModel[name].isPower = true;
let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction));
let result: any[] = ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService?this.appUIService:null);
this.detailsModel[name].visible = tempUIAction.visabled;
this.detailsModel[name].disabled = tempUIAction.disabled;
this.detailsModel[name].isPower = result[0] === 1 ? true : false;
if(this.layoutModelDetails && Object.keys(this.layoutModelDetails).length >0){
Object.keys(this.layoutModelDetails).forEach((name:any) =>{
if(this.layoutModelDetails[name] && this.layoutModelDetails[name].uiAction && this.layoutModelDetails[name].uiAction.dataAccaction && Object.is(this.layoutModelDetails[name].itemType,"BUTTON")){
let tempUIAction:any = JSON.parse(JSON.stringify(this.layoutModelDetails[name].uiAction));
let result: any[] = ViewTool.calcActionItemAuthState(targetData, [tempUIAction], this.appUIService ? this.appUIService : null);
this.layoutModelDetails[name].visible = tempUIAction.visabled;
this.layoutModelDetails[name].disabled = tempUIAction.disabled;
}
})
}
......@@ -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)) {
return;
}
const {name,value} = args;
const { name, value } = args;
this.data[name] = value;
this.layoutData[name] = value;
this.layoutModelDetails[name].setData(value);
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
this.$emit('panelDataChange',{[modelitem.prop]: value});
}
}
}
/**
......@@ -517,7 +504,7 @@ export default class TIMELINEITEMLAYOUTPANELBase extends Vue implements ControlI
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @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 {
*/
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
* @memberof List_itempanelBase
*/
public isLayoutLoadding: boolean = true;
public isLayoutLoadding: boolean = false;
/**
* 视图布局数据
......@@ -395,15 +384,13 @@ export default class UsrBase extends Vue implements ControlInterface {
// 若为项布局面板,存在parentRef
if(this.parentRef){
let targetData:any = this.parentRef.transformData(data);
if(this.detailsModel && Object.keys(this.detailsModel).length >0){
Object.keys(this.detailsModel).forEach((name:any) =>{
if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].itemType,"BUTTON")){
this.detailsModel[name].isPower = true;
let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction));
let result: any[] = ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService?this.appUIService:null);
this.detailsModel[name].visible = tempUIAction.visabled;
this.detailsModel[name].disabled = tempUIAction.disabled;
this.detailsModel[name].isPower = result[0] === 1 ? true : false;
if(this.layoutModelDetails && Object.keys(this.layoutModelDetails).length >0){
Object.keys(this.layoutModelDetails).forEach((name:any) =>{
if(this.layoutModelDetails[name] && this.layoutModelDetails[name].uiAction && this.layoutModelDetails[name].uiAction.dataAccaction && Object.is(this.layoutModelDetails[name].itemType,"BUTTON")){
let tempUIAction:any = JSON.parse(JSON.stringify(this.layoutModelDetails[name].uiAction));
let result: any[] = ViewTool.calcActionItemAuthState(targetData, [tempUIAction], this.appUIService ? this.appUIService : null);
this.layoutModelDetails[name].visible = tempUIAction.visabled;
this.layoutModelDetails[name].disabled = tempUIAction.disabled;
}
})
}
......@@ -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)) {
return;
}
const {name,value} = args;
const { name, value } = args;
this.data[name] = value;
this.layoutData[name] = value;
this.layoutModelDetails[name].setData(value);
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 {
this.$emit('panelDataChange',{[modelitem.prop]: value});
}
}
}
/**
......@@ -517,7 +504,7 @@ export default class UsrBase extends Vue implements ControlInterface {
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @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 {
*/
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
* @memberof ItemlayoutpanelBase
*/
public isLayoutLoadding: boolean = true;
public isLayoutLoadding: boolean = false;
/**
* 视图布局数据
......@@ -425,15 +408,13 @@ export default class Usr4Base extends Vue implements ControlInterface {
// 若为项布局面板,存在parentRef
if(this.parentRef){
let targetData:any = this.parentRef.transformData(data);
if(this.detailsModel && Object.keys(this.detailsModel).length >0){
Object.keys(this.detailsModel).forEach((name:any) =>{
if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].itemType,"BUTTON")){
this.detailsModel[name].isPower = true;
let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction));
let result: any[] = ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService?this.appUIService:null);
this.detailsModel[name].visible = tempUIAction.visabled;
this.detailsModel[name].disabled = tempUIAction.disabled;
this.detailsModel[name].isPower = result[0] === 1 ? true : false;
if(this.layoutModelDetails && Object.keys(this.layoutModelDetails).length >0){
Object.keys(this.layoutModelDetails).forEach((name:any) =>{
if(this.layoutModelDetails[name] && this.layoutModelDetails[name].uiAction && this.layoutModelDetails[name].uiAction.dataAccaction && Object.is(this.layoutModelDetails[name].itemType,"BUTTON")){
let tempUIAction:any = JSON.parse(JSON.stringify(this.layoutModelDetails[name].uiAction));
let result: any[] = ViewTool.calcActionItemAuthState(targetData, [tempUIAction], this.appUIService ? this.appUIService : null);
this.layoutModelDetails[name].visible = tempUIAction.visabled;
this.layoutModelDetails[name].disabled = tempUIAction.disabled;
}
})
}
......@@ -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)) {
return;
}
const {name,value} = args;
const { name, value } = args;
this.data[name] = value;
this.layoutData[name] = value;
this.layoutModelDetails[name].setData(value);
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 {
this.$emit('panelDataChange',{[modelitem.prop]: value});
}
}
}
/**
......@@ -547,7 +528,7 @@ export default class Usr4Base extends Vue implements ControlInterface {
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @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 {
*/
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
* @memberof ItemlayoutpanelBase
*/
public isLayoutLoadding: boolean = true;
public isLayoutLoadding: boolean = false;
/**
* 视图布局数据
......@@ -395,15 +384,13 @@ export default class Usr5Base extends Vue implements ControlInterface {
// 若为项布局面板,存在parentRef
if(this.parentRef){
let targetData:any = this.parentRef.transformData(data);
if(this.detailsModel && Object.keys(this.detailsModel).length >0){
Object.keys(this.detailsModel).forEach((name:any) =>{
if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].itemType,"BUTTON")){
this.detailsModel[name].isPower = true;
let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction));
let result: any[] = ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService?this.appUIService:null);
this.detailsModel[name].visible = tempUIAction.visabled;
this.detailsModel[name].disabled = tempUIAction.disabled;
this.detailsModel[name].isPower = result[0] === 1 ? true : false;
if(this.layoutModelDetails && Object.keys(this.layoutModelDetails).length >0){
Object.keys(this.layoutModelDetails).forEach((name:any) =>{
if(this.layoutModelDetails[name] && this.layoutModelDetails[name].uiAction && this.layoutModelDetails[name].uiAction.dataAccaction && Object.is(this.layoutModelDetails[name].itemType,"BUTTON")){
let tempUIAction:any = JSON.parse(JSON.stringify(this.layoutModelDetails[name].uiAction));
let result: any[] = ViewTool.calcActionItemAuthState(targetData, [tempUIAction], this.appUIService ? this.appUIService : null);
this.layoutModelDetails[name].visible = tempUIAction.visabled;
this.layoutModelDetails[name].disabled = tempUIAction.disabled;
}
})
}
......@@ -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)) {
return;
}
const {name,value} = args;
const { name, value } = args;
this.data[name] = value;
this.layoutData[name] = value;
this.layoutModelDetails[name].setData(value);
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 {
this.$emit('panelDataChange',{[modelitem.prop]: value});
}
}
}
/**
......@@ -517,7 +504,7 @@ export default class Usr5Base extends Vue implements ControlInterface {
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @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 {
<style lang='less'>
@import './list-exp-list.less';
</style>ist-exp-list.less';
</style>
\ No newline at end of file
......@@ -2030,6 +2030,23 @@
"uIActionMode" : "SYS",
"uIActionTag" : "panel_Layoutpanel_button_calluilogic2_click",
"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",
"caption" : "加载",
......
......@@ -32,6 +32,48 @@
"modelref" : true,
"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" : { },
"getPSLayout" : {
"columnCount" : 24,
......@@ -122,6 +164,83 @@
},
"hidden" : 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",
......@@ -148,19 +267,19 @@
"id" : "DataImport"
},
"getPSDEListDataItems" : [ {
"dataType" : 25,
"name" : "author",
"getPSAppDEField" : {
"name" : "AUTHOR",
"codeName" : "Author"
}
}, {
"dataType" : 9,
"name" : "booknumber",
"getPSAppDEField" : {
"name" : "BOOKNUMBER",
"codeName" : "Booknumber"
}
}, {
"dataType" : 25,
"name" : "author",
"getPSAppDEField" : {
"name" : "AUTHOR",
"codeName" : "Author"
}
}, {
"dataType" : 25,
"name" : "srfkey",
......
......@@ -14,6 +14,48 @@
"modelref" : true,
"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" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
......@@ -103,6 +145,83 @@
},
"hidden" : 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",
......
......@@ -288,6 +288,48 @@
"modelref" : true,
"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" : { },
"getPSLayout" : {
"columnCount" : 24,
......@@ -378,6 +420,83 @@
},
"hidden" : 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",
......@@ -478,19 +597,19 @@
"id" : "DataImport"
},
"getPSDEListDataItems" : [ {
"dataType" : 25,
"name" : "author",
"getPSAppDEField" : {
"name" : "AUTHOR",
"codeName" : "Author"
}
}, {
"dataType" : 9,
"name" : "booknumber",
"getPSAppDEField" : {
"name" : "BOOKNUMBER",
"codeName" : "Booknumber"
}
}, {
"dataType" : 25,
"name" : "author",
"getPSAppDEField" : {
"name" : "AUTHOR",
"codeName" : "Author"
}
}, {
"dataType" : 25,
"name" : "srfkey",
......
......@@ -172,7 +172,7 @@
<!--输出实体[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">
<column name="CREATEMAN" remarks="" type="VARCHAR(60)">
</column>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册