提交 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',
......
......@@ -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 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册