提交 7959eb51 编写于 作者: ibizdev's avatar ibizdev

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

上级 5e7f688a
<template> <template>
<div :class="[model.sysCss, 'app-login-button']" :style="containerStyle"> <div :class="[model.sysCss, 'app-login-button']" :style="containerStyle">
<i-button @click="handleClick" :type="curStyle"> <i-button @click="handleClick" :type="curStyle">
<i v-if="model.sysImage.iconcls" :class="model.sysImage.iconcls"/> <template v-if="model.sysImage">
<img v-else-if="model.sysImage.imagePath" :src="model.sysImage.imagePath" /> <i v-if="model.sysImage.iconcls" :class="model.sysImage.iconcls"/>
<img v-else-if="model.sysImage.imagePath" :src="model.sysImage.imagePath" />
</template>
<span v-show="model.isShowCaption">{{ model.caption }}</span> <span v-show="model.isShowCaption">{{ model.caption }}</span>
</i-button> </i-button>
</div> </div>
......
...@@ -106,7 +106,17 @@ export default class AppPresetText extends Vue { ...@@ -106,7 +106,17 @@ export default class AppPresetText extends Vue {
if (layoutModel.sysImage) { if (layoutModel.sysImage) {
cssClass = layoutModel.sysImage.iconcls; cssClass = layoutModel.sysImage.iconcls;
} }
return layoutModel.iconcls; return cssClass;
}
/**
* 内容类型
*
* @memberof AppPresetTitle
*/
get contentType() {
const layoutModel = this.layoutModelDetails[this.name];
return layoutModel.contentType || 'RAW';
} }
/** /**
...@@ -116,7 +126,7 @@ export default class AppPresetText extends Vue { ...@@ -116,7 +126,7 @@ export default class AppPresetText extends Vue {
*/ */
get curClassName() { get curClassName() {
const layoutModel = this.layoutModelDetails[this.name]; const layoutModel = this.layoutModelDetails[this.name];
return `app-preset-text app-preset-text--${layoutModel.contentType.toLowerCase()} ${this.name} ${layoutModel.sysCss}`; return `app-preset-text app-preset-text--${this.contentType.toLowerCase()} ${this.name} ${layoutModel.sysCss}`;
} }
/** /**
...@@ -148,9 +158,9 @@ export default class AppPresetText extends Vue { ...@@ -148,9 +158,9 @@ export default class AppPresetText extends Vue {
const layoutModel = this.layoutModelDetails[this.name]; const layoutModel = this.layoutModelDetails[this.name];
let content = this.value; let content = this.value;
if (layoutModel.predefinedType !== 'FIELD_TEXT_DYNAMIC') { if (layoutModel.predefinedType !== 'FIELD_TEXT_DYNAMIC') {
if (layoutModel.contentType == 'ROW') { if (this.contentType == 'RAW') {
content = layoutModel.rawContent; content = layoutModel.rawContent;
} else if (layoutModel.contentType == 'HTML') { } else if (this.contentType == 'HTML') {
content = layoutModel.htmlContent; content = layoutModel.htmlContent;
const items = content.match(/\{{(.+?)\}}/g); const items = content.match(/\{{(.+?)\}}/g);
if (items) { if (items) {
......
...@@ -405,6 +405,19 @@ export default class IBIZCustomerMediaTestEditViewBase extends Vue { ...@@ -405,6 +405,19 @@ export default class IBIZCustomerMediaTestEditViewBase extends Vue {
page_container:new PanelContainerModel({ name: 'page_container', 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:-1, flexParams:{align:'',dir:'column',vAlign:''}, panel: this , details:['container_grid1','container3','container2']}) page_container:new PanelContainerModel({ name: 'page_container', 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:-1, flexParams:{align:'',dir:'column',vAlign:''}, panel: this , details:['container_grid1','container3','container2']})
}; };
/**
* 处理值改变
*
* @public
* @memberof IBIZCustomerMediaTestEditViewBase
*/
handleValueChange($event: { name: string, value: any }) {
if (!$event || !$event.name || Object.is($event.name, '') || !this.layoutData.hasOwnProperty($event.name)) {
return;
}
this.layoutData[$event.name] = $event.value;
}
/** /**
......
...@@ -278,6 +278,19 @@ export default class IBIZOrderTestCustomLayoutPanelGridExpViewBase extends Vue { ...@@ -278,6 +278,19 @@ export default class IBIZOrderTestCustomLayoutPanelGridExpViewBase extends Vue {
page_container:new PanelContainerModel({ name: 'page_container', 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:-1, flexParams:{align:'',dir:'column',vAlign:''}, panel: this , details:['container2','container_scroll1']}) page_container:new PanelContainerModel({ name: 'page_container', 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:-1, flexParams:{align:'',dir:'column',vAlign:''}, panel: this , details:['container2','container_scroll1']})
}; };
/**
* 处理值改变
*
* @public
* @memberof IBIZOrderTestCustomLayoutPanelGridExpViewBase
*/
handleValueChange($event: { name: string, value: any }) {
if (!$event || !$event.name || Object.is($event.name, '') || !this.layoutData.hasOwnProperty($event.name)) {
return;
}
this.layoutData[$event.name] = $event.value;
}
/** /**
* 视图引擎 * 视图引擎
* *
......
...@@ -354,6 +354,19 @@ export default class IBIZOrderUsr2GridViewBase extends Vue { ...@@ -354,6 +354,19 @@ export default class IBIZOrderUsr2GridViewBase extends Vue {
page_container:new PanelContainerModel({ name: 'page_container', 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:-1, flexParams:{align:'',dir:'column',vAlign:''}, panel: this , details:['container_grid1','container4']}) page_container:new PanelContainerModel({ name: 'page_container', 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:-1, flexParams:{align:'',dir:'column',vAlign:''}, panel: this , details:['container_grid1','container4']})
}; };
/**
* 处理值改变
*
* @public
* @memberof IBIZOrderUsr2GridViewBase
*/
handleValueChange($event: { name: string, value: any }) {
if (!$event || !$event.name || Object.is($event.name, '') || !this.layoutData.hasOwnProperty($event.name)) {
return;
}
this.layoutData[$event.name] = $event.value;
}
......
...@@ -303,6 +303,19 @@ export default class IndexBase extends Vue { ...@@ -303,6 +303,19 @@ export default class IndexBase extends Vue {
container_scroll1:new PanelContainerModel({ name: 'container_scroll1', caption: '滚动条容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'BORDER', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, panel: this , details:['container_scroll_main1','container_scroll_left1','container_scroll_header1']}) container_scroll1:new PanelContainerModel({ name: 'container_scroll1', caption: '滚动条容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'BORDER', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, panel: this , details:['container_scroll_main1','container_scroll_left1','container_scroll_header1']})
}; };
/**
* 处理值改变
*
* @public
* @memberof IndexBase
*/
handleValueChange($event: { name: string, value: any }) {
if (!$event || !$event.name || Object.is($event.name, '') || !this.layoutData.hasOwnProperty($event.name)) {
return;
}
this.layoutData[$event.name] = $event.value;
}
......
...@@ -20,10 +20,10 @@ ...@@ -20,10 +20,10 @@
<app-preset-text name="field_text_dynamic" :value="layoutData.field_text_dynamic" :layoutModelDetails="layoutModelDetails"/> <app-preset-text name="field_text_dynamic" :value="layoutData.field_text_dynamic" :layoutModelDetails="layoutModelDetails"/>
</template> </template>
<template #field_switch> <template #field_switch>
<app-preset-switch :layoutModelDetails="layoutModelDetails" :value="layoutData.field_switch" name="field_switch" @valueChange="handleVauleChange"/> <app-preset-switch :layoutModelDetails="layoutModelDetails" :value="layoutData.field_switch" name="field_switch" @valueChange="handleValueChange"/>
</template> </template>
<template #field_textbox> <template #field_textbox>
<app-preset-text-input :layoutModelDetails="layoutModelDetails" :value="layoutData.field_textbox" name="field_textbox" @valueChange="handleVauleChange"/> <app-preset-text-input :layoutModelDetails="layoutModelDetails" :value="layoutData.field_textbox" name="field_textbox" @valueChange="handleValueChange"/>
</template> </template>
<template #field_qrcode> <template #field_qrcode>
<app-preset-qrcode :layoutModelDetails="layoutModelDetails" :value="layoutData.field_qrcode" name="field_qrcode"/> <app-preset-qrcode :layoutModelDetails="layoutModelDetails" :value="layoutData.field_qrcode" name="field_qrcode"/>
...@@ -270,6 +270,19 @@ export default class AppIndexViewBase extends Vue { ...@@ -270,6 +270,19 @@ export default class AppIndexViewBase extends Vue {
container_scroll1:new PanelContainerModel({ name: 'container_scroll1', caption: '滚动条容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'BORDER', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, panel: this , details:['container_scroll_main1','container_scroll_left1','container_scroll_header1']}) container_scroll1:new PanelContainerModel({ name: 'container_scroll1', caption: '滚动条容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'BORDER', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, panel: this , details:['container_scroll_main1','container_scroll_left1','container_scroll_header1']})
}; };
/**
* 处理值改变
*
* @public
* @memberof AppIndexViewBase
*/
handleValueChange($event: { name: string, value: any }) {
if (!$event || !$event.name || Object.is($event.name, '') || !this.layoutData.hasOwnProperty($event.name)) {
return;
}
this.layoutData[$event.name] = $event.value;
}
......
...@@ -248,7 +248,7 @@ export default class AppLoginViewBase extends Vue { ...@@ -248,7 +248,7 @@ export default class AppLoginViewBase extends Vue {
* @memberof AppLoginViewBase * @memberof AppLoginViewBase
*/ */
public layoutModelDetails:any = { public layoutModelDetails:any = {
userid:new PanelFieldModel({ name: 'userid', 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:''}, panel: this }), userid:new PanelFieldModel({ name: 'userid', caption: '用户名', isShowCaption: false, sysCss: 'greenToolBar', itemType: 'FIELD', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'', layoutPos:'', layoutHeight:50, heightMode:'PX', layoutWidth:200, widthMode:'PX', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, panel: this }),
auth_password:new PanelFieldModel({ name: 'auth_password', 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:''}, panel: this }), auth_password:new PanelFieldModel({ name: 'auth_password', 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:''}, panel: this }),
auth_orgpick:new PanelFieldModel({ name: 'auth_orgpick', 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:''}, panel: this }), auth_orgpick:new PanelFieldModel({ name: 'auth_orgpick', 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:''}, panel: this }),
auth_loginbutton1:new PanelButtonModel({ name: 'auth_loginbutton1', caption: '登陆', isShowCaption: true, sysCss: 'deepskyblueToolBar', itemType: 'BUTTON', itemStyle: 'PRIMARY', sysImage:{ iconcls: 'fa fa-refresh', imagePath:'', rawContent: '' }, visible: true, disabled: false, layout:'', layoutPos:'', layoutHeight:50, heightMode:'PX', layoutWidth:200, widthMode:'PX', spacingBottom:'OUTERLARGE', spacingLeft:'OUTERLARGE', spacingRight:'OUTERLARGE', spacingTop:'OUTERLARGE', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, buttonStyle: 'PRIMARY', predefinedType: 'APP_LOGIN', renderMode: '', panel: this }), auth_loginbutton1:new PanelButtonModel({ name: 'auth_loginbutton1', caption: '登陆', isShowCaption: true, sysCss: 'deepskyblueToolBar', itemType: 'BUTTON', itemStyle: 'PRIMARY', sysImage:{ iconcls: 'fa fa-refresh', imagePath:'', rawContent: '' }, visible: true, disabled: false, layout:'', layoutPos:'', layoutHeight:50, heightMode:'PX', layoutWidth:200, widthMode:'PX', spacingBottom:'OUTERLARGE', spacingLeft:'OUTERLARGE', spacingRight:'OUTERLARGE', spacingTop:'OUTERLARGE', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, buttonStyle: 'PRIMARY', predefinedType: 'APP_LOGIN', renderMode: '', panel: this }),
...@@ -263,6 +263,19 @@ export default class AppLoginViewBase extends Vue { ...@@ -263,6 +263,19 @@ export default class AppLoginViewBase extends Vue {
page_container:new PanelContainerModel({ name: 'page_container', caption: '图片背景容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'FLEX', layoutPos:'', layoutHeight:100, heightMode:'PERCENTAGE', layoutWidth:100, widthMode:'PERCENTAGE', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, panel: this , details:['container1']}) page_container:new PanelContainerModel({ name: 'page_container', caption: '图片背景容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'FLEX', layoutPos:'', layoutHeight:100, heightMode:'PERCENTAGE', layoutWidth:100, widthMode:'PERCENTAGE', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, panel: this , details:['container1']})
}; };
/**
* 处理值改变
*
* @public
* @memberof AppLoginViewBase
*/
handleValueChange($event: { name: string, value: any }) {
if (!$event || !$event.name || Object.is($event.name, '') || !this.layoutData.hasOwnProperty($event.name)) {
return;
}
this.layoutData[$event.name] = $event.value;
}
/** /**
......
...@@ -621,7 +621,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface ...@@ -621,7 +621,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/ */
public load(opt: any = {}): void { public load(opt: any = {}): void {
if(!this.loadAction){ if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCalendarView' + (this.$t('app.searchForm.notConfig.loadAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -657,7 +657,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface ...@@ -657,7 +657,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/ */
public loadDraft(opt: any = {},mode?:string): void { public loadDraft(opt: any = {},mode?:string): void {
if(!this.loaddraftAction){ if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCalendarView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册