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

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

上级 1dc9338a
<template> <template>
<div class="index_view "> <div class="app-view-layout app-view-layout__appindexview index" v-loading="isLayoutLoadding" :style="{height: '100%', width: '100%', overflow: 'auto'}">
<layout :class="themeClasses" :style="themeStyle"> <div v-show="!isLayoutLoadding" :style="{height: '100%', width: '100%'}">
<header class="index_header" > <app-scroll-container name="container_scroll1" :layoutModelDetails="layoutModelDetails">
<div class="header-left"> <template #container_scroll_main1>
<div class="page-logo"> <app-scroll-container name="container_scroll_main1" :layoutModelDetails="layoutModelDetails">
<img src="../../../assets/img/logo.png" height="32" /> <template #nav_tabs1>
<span style="display: inline-block;margin-left: 10px;font-size: 22px;">{{$t(model.srfCaption)}}</span> <app-index-nav-tabs name="nav_tabs1" :layoutModelDetails="layoutModelDetails" />
</div> </template>
<div > <template #nav_pos1>
<app-nav-pos name="nav_pos1" :layoutModelDetails="layoutModelDetails" :navData="layoutModelDetails['nav_pos1'].navData"/>
</template>
</app-scroll-container>
</template>
<template #container_scroll_left1>
<app-scroll-container name="container_scroll_left1" :layoutModelDetails="layoutModelDetails">
<template #appmenu>
<app-ctrl-pos name="appmenu" :layoutModelDetails="layoutModelDetails">
<view_appmenu <view_appmenu
:viewState="viewState" :viewState="viewState"
:viewparams="viewparams" :viewparams="viewparams"
...@@ -26,25 +34,42 @@ ...@@ -26,25 +34,42 @@
ref='appmenu' ref='appmenu'
@closeview="closeView($event)"> @closeview="closeView($event)">
</view_appmenu> </view_appmenu>
</app-ctrl-pos>
</template>
</app-scroll-container>
</template>
<template #container_scroll_header1>
<app-scroll-container name="container_scroll_header1" :layoutModelDetails="layoutModelDetails">
<template #container_grid1>
<app-simpleflex-container name="container_grid1" :layoutModelDetails="layoutModelDetails">
<template #container1>
<app-standard-container name="container1" :isMultiContainer="false" :layoutModelDetails="layoutModelDetails">
<template #app_apptitle>
<app-preset-title name="app_apptitle" :layoutModelDetails="layoutModelDetails"/>
</template>
</app-standard-container>
</template>
<template #container2>
<app-standard-container name="container2" :isMultiContainer="false" :layoutModelDetails="layoutModelDetails">
<template #nav_breadcrumb1>
<app-index-nav-breadcrumb name="nav_breadcrumb1" :layoutModelDetails="layoutModelDetails" indexViewTag="index" />
</template>
</app-standard-container>
</template>
<template #container3>
<app-standard-container name="container3" :isMultiContainer="false" :layoutModelDetails="layoutModelDetails">
<template #auth_userinfo1>
<app-index-user-info name="auth_userinfo1" :layoutModelDetails="layoutModelDetails" />
</template>
</app-standard-container>
</template>
</app-simpleflex-container>
</template>
</app-scroll-container>
</template>
</app-scroll-container>
</div> </div>
</div> </div>
<div class="header-right" style="display: flex;align-items: center;justify-content: space-between;">
<app-header-menus />
<app-lang style='font-size: 15px;padding: 0 10px;'></app-lang>
<app-orgsector></app-orgsector>
<app-user></app-user>
<app-message-popover></app-message-popover>
<app-lock-scren />
<app-full-scren />
<app-theme style="width:45px;display: flex;justify-content: center;"></app-theme>
</div>
</header>
<content class="app-horizontal-layout" style="height:calc(100vh - 50px);" @click="contextMenuDragVisiable=false">
<router-view></router-view>
</content>
</layout>
</div>
</template> </template>
// 基于 @VIEW/应用首页视图/VIEW-BASE.vue.ftl 生成 // 基于 @VIEW/应用首页视图/VIEW-BASE.vue.ftl 生成
...@@ -57,6 +82,7 @@ import NavDataService from '@/service/app/navdata-service'; ...@@ -57,6 +82,7 @@ import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs'; import { Subject,Subscription } from 'rxjs';
import { PanelContainerModel, PanelRawitemModel, PanelFieldModel, PanelControlModel, PanelButtonModel, PanelUserControlModel, PanelTabPanelModel, PanelTabPageModel, PanelCtrlPosModel} from '@/model/panel-detail';
import { appConfig } from '@/config/appConfig'; import { appConfig } from '@/config/appConfig';
...@@ -236,6 +262,196 @@ export default class IndexBase extends Vue { ...@@ -236,6 +262,196 @@ export default class IndexBase extends Vue {
*/ */
public viewState: Subject<ViewState> = new Subject(); public viewState: Subject<ViewState> = new Subject();
/**
* 视图布局顶级成员名称
*
* @public
* @memberof IndexBase
*/
public rootLayoutDetailNames: string[] = [ 'container_scroll1' ];
/**
* 视图布局面板项模型对象
*
* @public
* @memberof IndexBase
*/
public layoutItems:any = {
nav_tabs1:{ name: 'nav_tabs1', type: 'VIEWLAYOUT', caption: '标签页导航栏', isShowCaption: true, sysCss: '', itemType: 'RAWITEM', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'', layoutPos:'CENTER', layoutHeight:56, heightMode:'PX', layoutWidth:0, widthMode:'', spacingBottom:'INNERSMALL', spacingLeft:'INNERSMALL', spacingRight:'', spacingTop:'INNERSMALL', hAlignSelf:'', vAlignSelf:'', flexGrow:0, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container_scroll_main1', panel: this , viewType: 'APPINDEXVIEW', predefinedType: 'NAV_TABS', contentType: '', contentStyle: '', rawContent: '', htmlContent: '', },
nav_pos1:{ name: 'nav_pos1', type: 'VIEWLAYOUT', caption: '导航区占位', isShowCaption: true, sysCss: '', itemType: 'RAWITEM', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'', layoutPos:'CENTER', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'INNERSMALL', spacingLeft:'INNERSMALL', spacingRight:'INNERSMALL', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:0, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container_scroll_main1', panel: this , viewType: 'APPINDEXVIEW', predefinedType: 'NAV_POS', contentType: '', contentStyle: '', rawContent: '', htmlContent: '', },
container_scroll_main1:{ name: 'container_scroll_main1', type: 'VIEWLAYOUT', caption: '面板容器', titleBarCloseMode: 0, isShowCaption: true, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'BORDER', layoutPos:'CENTER', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:0, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container_scroll1', panel: this , details:['nav_tabs1','nav_pos1'] , dataRegionType: 'INHERIT' },
appmenu:{ name: 'appmenu', type: 'VIEWLAYOUT', caption: '首页菜单', isShowCaption: true, sysCss: '', itemType: 'CTRLPOS', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'', layoutPos:'CENTER', layoutHeight:0, heightMode:'FULL', layoutWidth:0, widthMode:'FULL', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:0, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container_scroll_left1', panel: this },
container_scroll_left1:{ name: 'container_scroll_left1', type: 'VIEWLAYOUT', caption: '面板容器', titleBarCloseMode: 0, isShowCaption: true, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'BORDER', layoutPos:'WEST', layoutHeight:0, heightMode:'', layoutWidth:200, widthMode:'PX', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:0, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container_scroll1', panel: this , details:['appmenu'] , dataRegionType: 'INHERIT' },
app_apptitle:{ name: 'app_apptitle', type: 'VIEWLAYOUT', caption: '应用标题', isShowCaption: false, sysCss: '', itemType: 'FIELD', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'INNERMEDIUM', spacingRight:'', spacingTop:'', hAlignSelf:'LEFT', vAlignSelf:'MIDDLE', flexGrow:0, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container1', panel: this , required: false, fieldState: '0', predefinedType: 'APP_APPTITLE', renderMode: 'HEADING1', dataItemName:'', wrapMode:'', vAlign:'', hAlign:'', },
container1:{ name: 'container1', type: 'VIEWLAYOUT', caption: '面板容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'TABLE_24COL', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:2, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container_grid1', panel: this , details:['app_apptitle'] , dataRegionType: 'INHERIT' },
nav_breadcrumb1:{ name: 'nav_breadcrumb1', 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:'LEFT', vAlignSelf:'MIDDLE', flexGrow:0, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container2', panel: this , viewType: 'APPINDEXVIEW', predefinedType: 'NAV_BREADCRUMB', contentType: '', contentStyle: '', rawContent: '', htmlContent: '', },
container2:{ name: 'container2', type: 'VIEWLAYOUT', caption: '面板容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'TABLE_24COL', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:7, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container_grid1', panel: this , details:['nav_breadcrumb1'] , dataRegionType: 'INHERIT' },
auth_userinfo1:{ name: 'auth_userinfo1', 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:'RIGHT', vAlignSelf:'MIDDLE', flexGrow:0, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container3', panel: this , viewType: 'APPINDEXVIEW', predefinedType: 'AUTH_USERINFO', contentType: '', contentStyle: '', rawContent: '', htmlContent: '', },
container3:{ name: 'container3', type: 'VIEWLAYOUT', caption: '面板容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'TABLE_24COL', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:3, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container_grid1', panel: this , details:['auth_userinfo1'] , dataRegionType: 'INHERIT' },
container_grid1:{ name: 'container_grid1', type: 'VIEWLAYOUT', caption: '栅格容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'SIMPLEFLEX', layoutPos:'CENTER', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:0, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container_scroll_header1', panel: this , details:['container1','container2','container3'] , dataRegionType: 'INHERIT' },
container_scroll_header1:{ name: 'container_scroll_header1', type: 'VIEWLAYOUT', caption: '面板容器', titleBarCloseMode: 0, isShowCaption: true, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'BORDER', layoutPos:'NORTH', layoutHeight:60, heightMode:'PX', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:0, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container_scroll1', panel: this , details:['container_grid1'] , dataRegionType: 'INHERIT' },
container_scroll1:{ name: 'container_scroll1', type: 'VIEWLAYOUT', 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:0, flexParams:{align:'',dir:'',vAlign:''}, panel: this , details:['container_scroll_main1','container_scroll_left1','container_scroll_header1'] , dataRegionType: 'INHERIT' }
}
/**
* 布局面板是否加载
*
* @public
* @memberof IndexBase
*/
public isLayoutLoadding: boolean = true;
/**
* 布局面板数据
*
* @public
* @memberof IndexBase
*/
public layoutData:any = {};
/**
* 布局面板模型对象
*
* @public
* @memberof IndexBase
*/
public layoutModelDetails:any = {};
/**
* 初始化布局
*
* @public
* @memberof IndexBase
*/
public async initLayout() {
if (this.rootLayoutDetailNames.length > 0) {
for (let i = 0; i < this.rootLayoutDetailNames.length; i++) {
const name = this.rootLayoutDetailNames[i];
const rootItem = this.layoutItems[name];
if (!rootItem) {
return;
}
await this.initLayoutItem(rootItem);
}
}
return true;
}
/**
* 初始化布局项
*
* @public
* @memberof IndexBase
*/
public async initLayoutItem(layoutModelItem: any, index?: number) {
const { name } = layoutModelItem;
const layoutModelDetail = Util.getLayoutItemInstance(layoutModelItem);
if (!(index || index === 0)) {
await layoutModelDetail.load(this.context, this.viewparams);
this.$set(this.layoutModelDetails, name, layoutModelDetail);
this.$set(this.layoutData, name, layoutModelDetail.getData());
} else {
layoutModelDetail.setIndex(index);
await layoutModelDetail.load(this.context, this.viewparams);
this.$set(this.layoutModelDetails, `${name}_${index}`, layoutModelDetail);
this.$set(this.layoutData, `${name}_${index}`, layoutModelDetail.getData());
}
if (layoutModelDetail && layoutModelDetail.details) {
if (layoutModelDetail.dataRegionType === 'MULTIDATA') {
const multiData = layoutModelDetail.getData();
if (multiData && multiData.length > 0) {
for (let i = 0; i < multiData.length; i++) {
for (let j = 0; j < layoutModelDetail.details.length; j++) {
const key = layoutModelDetail.details[j];
if (this.layoutItems[key]) {
await this.initLayoutItem(this.layoutItems[key], i);
}
}
}
}
} else {
for (let i = 0; i < layoutModelDetail.details.length; i++) {
const key = layoutModelDetail.details[i];
if (this.layoutItems[key]) {
await this.initLayoutItem(this.layoutItems[key], index);
}
}
}
}
}
/**
* 计算面板按钮权限状态
*
* @public
* @memberof IndexBase
*/
public computeButtonAuthState() {
Object.values(this.layoutModelDetails).forEach((layoutModel: any) => {
if (layoutModel.itemType == 'BUTTON') {
layoutModel.computeActionAuthState();
}
})
}
/**
* 处理值改变
*
* @public
* @params args 改变数据
* @params index 多数据容器下标
* @memberof IndexBase
*/
public handleValueChange(args: { name: string, value: any }, index?: number) {
const { name, value } = args;
let fullName = (index || index === 0) ? `${name}_${index}` : name;
if (!fullName || !this.layoutData.hasOwnProperty(fullName)) {
return;
}
this.layoutData[fullName] = value;
this.layoutModelDetails[fullName].setData(value);
this.panelLogic(name, index);
this.computeButtonAuthState();
}
/**
* 面板逻辑
*
* @public
* @params name 改变项名称
* @params index 多数据容器下标
* @memberof IndexBase
*/
public panelLogic(name: string, index?: number): void {
}
/**
* 处理按钮点击
*
* @public
* @params name 按钮项名称
* @params index 多数据容器下标
* @memberof IndexBase
*/
public handleButtonClick(name: string, index?: number) {
let datas: any[] = [];
let fullName = (index || index === 0) ? `${name}_${index}` : name;
const data: any = this.layoutModelDetails[fullName].getData();
if (data) {
if (data instanceof Array) {
datas = [...data];
} else {
datas = [data];
}
}
const xData: any = this.layoutModelDetails[fullName].getDataArea();
const paramJO: any = {};
const contextJO: any = {};
const _this: any = this;
}
...@@ -587,6 +803,8 @@ export default class IndexBase extends Vue { ...@@ -587,6 +803,8 @@ export default class IndexBase extends Vue {
*/ */
public afterMounted(){ public afterMounted(){
const _this: any = this; const _this: any = this;
_this.initLayout().then((result: any) => {
_this.isLayoutLoadding = false;
_this.engineInit(); _this.engineInit();
if (_this.loadModel && _this.loadModel instanceof Function) { if (_this.loadModel && _this.loadModel instanceof Function) {
_this.loadModel(); _this.loadModel();
...@@ -595,6 +813,7 @@ export default class IndexBase extends Vue { ...@@ -595,6 +813,7 @@ export default class IndexBase extends Vue {
this.$viewTool.setIndexParameters([{ pathName: 'index', parameterName: 'index' }]); this.$viewTool.setIndexParameters([{ pathName: 'index', parameterName: 'index' }]);
this.$viewTool.setIndexViewParam(this.context); this.$viewTool.setIndexViewParam(this.context);
this.mouse_move(); this.mouse_move();
})
} }
...@@ -623,7 +842,7 @@ export default class IndexBase extends Vue { ...@@ -623,7 +842,7 @@ export default class IndexBase extends Vue {
* @type {string} * @type {string}
* @memberof IndexBase * @memberof IndexBase
*/ */
public mode: string ='horizontal'; public mode: string ='vertical';
/** /**
* 导航模式(route:面包屑模式、tab:分页导航模式) * 导航模式(route:面包屑模式、tab:分页导航模式)
......
// 基于 @VIEW/应用首页视图/VIEW.less.ftl 生成 // 基于 @VIEW/应用首页视图/VIEW.less.ftl 生成
.index{ .index{
position: relative;
}
.index{
position: relative;
}
.index_view{
margin-bottom: 1px;
width: 100%;
height: 100%;
padding: 0;
margin: 0;
overflow: hidden;
color:#303133;
background-color: #fff;
.app-horizontal-layout{
.view-container{
height: calc(100% - 32px);
margin: 12px;
}
}
.index_header{
height:65px;
padding:0 20px;
display: flex;
align-items: center;
justify-content: space-between;
background-color: #fff;
.page-logo{
display: flex;
align-items: center;
}
.header-left{
i{
color:#b4bcc8;
}
i:hover{
color:#1890ff;
}
> .app-breadcrumb{
> span .el-breadcrumb__item .el-breadcrumb__inner{
a{
color:#606d80 !important;
cursor: pointer !important;
}
a:last-child:hover{
color:#1890ff !important;
}
}
}
.ivu-icon{
font-size: 20px;
padding: 4px;
margin-top: -2px;
cursor: pointer;
}
display: flex;
align-items: center;
justify-content: space-between;
.el-menu.el-menu--horizontal{
border-bottom: none;
.el-submenu{
border-top: none;
}
}
}
> div {
line-height: 49px;
}
}
.index_content{
background-color:#F0F2F5;
height:calc(100vh - 50px);
overflow-x: hidden;
overflow-y: hidden;
}
>.ivu-layout {
>.ivu-layout {
height: calc(100vh - 50px);
}
}
.ivu-layout .ivu-layout-sider .ivu-layout-sider-children .sider-top{
margin-top: -2px;
line-height: 58px;
text-align: center;
font-size: 20px;
cursor: pointer;
}
.sider-top{
padding: 0px;
margin-bottom: 1px;
height:65px;
box-shadow: 0 1px 2px 0 rgba(0,0,0,.15);
> .page-logo{
display: flex;
align-items: center;
height: 100%;
justify-content: center;
>.menuicon{
display: block; display: block;
text-align: center;
font-weight: 300;
font-size: 28px;
width:64px;
height:100%;
}
}
}
}
#move_axis{
position: absolute;
left: 195px;
width: 5px;
height: 100%;
cursor: w-resize;
background-color: rgba(255,255,255,0);
}
.index_sider{
flex: none!important;
max-width: none !important;
transition: none 0s ease 0s;
}
/*** BRGIN:滚动条样式 ***/
::-webkit-scrollbar {
background: transparent;
width: 4px;
height: 4px;
}
::-webkit-scrollbar-thumb {
border-radius: 0;
box-shadow: none;
border: 0;
background-color: #cecece;
}
::-webkit-scrollbar-track {
border-radius: 0;
box-shadow: none;
border: 0;
} }
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="app-app-menu"> <div class="app-app-menu">
<el-menu <el-menu
class="app-menu" class="app-menu"
:default-openeds="defaultOpeneds"
:mode="mode" :mode="mode"
:menu-trigger="trigger" :menu-trigger="trigger"
:collapse="isCollapse" :collapse="isCollapse"
......
...@@ -712,7 +712,7 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -712,7 +712,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/ */
public load(opt: any = {}): void { public load(opt: any = {}): void {
if(!this.loadAction){ if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr9GridView' + (this.$t('app.searchForm.notConfig.loadAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCalendarView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -748,7 +748,7 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -748,7 +748,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/ */
public async loadDraft(opt: any = {},mode?:string): Promise<any> { public async loadDraft(opt: any = {},mode?:string): Promise<any> {
if(!this.loaddraftAction){ if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr9GridView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCalendarView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
......
...@@ -1378,7 +1378,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface ...@@ -1378,7 +1378,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
*/ */
public async load(opt: any = {}): Promise<any> { public async load(opt: any = {}): Promise<any> {
if(!this.loadAction){ if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.loadaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.loadaction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -1425,7 +1425,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface ...@@ -1425,7 +1425,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
*/ */
public async loadDraft(opt: any = {}): Promise<any> { public async loadDraft(opt: any = {}): Promise<any> {
if (!this.loaddraftAction) { if (!this.loaddraftAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
...@@ -1495,7 +1495,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface ...@@ -1495,7 +1495,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction; const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction;
if(!action){ if(!action){
let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction"; let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction";
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.actionname') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.actionname') as string) });
return; return;
} }
Object.assign(arg,{viewparams:this.viewparams}); Object.assign(arg,{viewparams:this.viewparams});
...@@ -1603,7 +1603,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface ...@@ -1603,7 +1603,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction; const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction;
if(!action){ if(!action){
let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction"; let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction";
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.actionname') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.actionname') as string) });
return; return;
} }
Object.assign(arg, { viewparams: this.viewparams }); Object.assign(arg, { viewparams: this.viewparams });
...@@ -1695,7 +1695,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface ...@@ -1695,7 +1695,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
public remove(opt:Array<any> = [],showResultInfo?: boolean): Promise<any> { public remove(opt:Array<any> = [],showResultInfo?: boolean): Promise<any> {
return new Promise((resolve: any, reject: any) => { return new Promise((resolve: any, reject: any) => {
if(!this.removeAction){ if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.removeaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.removeaction') as string) });
return; return;
} }
const arg: any = opt[0]; const arg: any = opt[0];
......
...@@ -670,7 +670,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface ...@@ -670,7 +670,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: 'IBIZBOOKListView' + (this.$t('app.searchForm.notConfig.loadAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCalendarView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -706,7 +706,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface ...@@ -706,7 +706,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/ */
public async loadDraft(opt: any = {},mode?:string): Promise<any> { public async loadDraft(opt: any = {},mode?:string): Promise<any> {
if(!this.loaddraftAction){ if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCalendarView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
......
...@@ -13,7 +13,6 @@ ...@@ -13,7 +13,6 @@
"viewType" : "APPPORTALVIEW" "viewType" : "APPPORTALVIEW"
}, },
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPINDEXVIEWS/index.json", "dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPINDEXVIEWS/index.json",
"mainMenuAlign" : "TOP",
"name" : "index", "name" : "index",
"getPSControls" : [ { "getPSControls" : [ {
"codeName" : "MainMenu", "codeName" : "MainMenu",
...@@ -4182,14 +4181,245 @@ ...@@ -4182,14 +4181,245 @@
"modeltype" : "PSAPPMENU" "modeltype" : "PSAPPMENU"
} ], } ],
"getPSViewLayoutPanel" : { "getPSViewLayoutPanel" : {
"getAllPSPanelFields" : [ {
"id" : "app_apptitle"
} ],
"codeName" : "Layoutpanel", "codeName" : "Layoutpanel",
"controlStyle" : "APPINDEXVIEW",
"controlType" : "VIEWLAYOUTPANEL", "controlType" : "VIEWLAYOUTPANEL",
"layoutMode" : "TABLE_24COL",
"logicName" : "首页视图",
"name" : "layoutpanel", "name" : "layoutpanel",
"getPSControlParam" : { }, "getPSControlParam" : { },
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getRootPSPanelItems" : [ {
"caption" : "滚动条容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container_scroll1",
"getPSLayout" : {
"layout" : "BORDER"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"getPSPanelItems" : [ {
"caption" : "面板容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container_scroll_main1",
"getPSLayout" : {
"layout" : "BORDER"
},
"getPSLayoutPos" : {
"layout" : "BORDER",
"layoutPos" : "CENTER"
},
"getPSPanelItems" : [ {
"caption" : "标签页导航栏",
"contentHeight" : 56.0,
"itemStyle" : "DEFAULT",
"itemType" : "RAWITEM",
"name" : "nav_tabs1",
"getPSLayoutPos" : {
"height" : 56,
"heightMode" : "PX",
"layout" : "BORDER",
"layoutPos" : "CENTER",
"spacingBottom" : "INNERSMALL",
"spacingLeft" : "INNERSMALL",
"spacingTop" : "INNERSMALL"
},
"getPSRawItem" : {
"name" : "nav_tabs1",
"predefinedType" : "NAV_TABS"
},
"showCaption" : true
}, {
"caption" : "导航区占位",
"itemStyle" : "DEFAULT",
"itemType" : "RAWITEM",
"name" : "nav_pos1",
"getPSLayoutPos" : {
"layout" : "BORDER",
"layoutPos" : "CENTER",
"spacingBottom" : "INNERSMALL",
"spacingLeft" : "INNERSMALL",
"spacingRight" : "INNERSMALL"
},
"getPSRawItem" : {
"name" : "nav_pos1",
"predefinedType" : "NAV_POS"
},
"showCaption" : true
} ],
"showCaption" : true
}, {
"caption" : "面板容器",
"contentWidth" : 200.0,
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container_scroll_left1",
"getPSLayout" : {
"layout" : "BORDER"
},
"getPSLayoutPos" : {
"layout" : "BORDER",
"layoutPos" : "WEST",
"width" : 200,
"widthMode" : "PX"
},
"getPSPanelItems" : [ {
"caption" : "首页菜单",
"itemStyle" : "DEFAULT",
"itemType" : "CTRLPOS",
"name" : "appmenu",
"getPSLayoutPos" : {
"heightMode" : "FULL",
"layout" : "BORDER",
"layoutPos" : "CENTER",
"widthMode" : "FULL"
},
"showCaption" : true
} ],
"width" : 200.0,
"showCaption" : true
}, {
"caption" : "面板容器",
"contentHeight" : 60.0,
"height" : 60.0,
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container_scroll_header1",
"getPSLayout" : {
"layout" : "BORDER"
},
"getPSLayoutPos" : {
"height" : 60,
"heightMode" : "PX",
"layout" : "BORDER",
"layoutPos" : "NORTH"
},
"getPSPanelItems" : [ {
"caption" : "栅格容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container_grid1",
"getPSLayout" : {
"layout" : "SIMPLEFLEX"
},
"getPSLayoutPos" : {
"layout" : "BORDER",
"layoutPos" : "CENTER"
},
"getPSPanelItems" : [ {
"caption" : "面板容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container1",
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getPSLayoutPos" : {
"grow" : 2,
"layout" : "SIMPLEFLEX"
},
"getPSPanelItems" : [ {
"caption" : "应用标题",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "app_apptitle",
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "app_apptitle",
"predefinedType" : "APP_APPTITLE",
"renderMode" : "HEADING1",
"enableLinkView" : false
},
"getPSLayoutPos" : {
"colMD" : 24,
"hAlignSelf" : "LEFT",
"layout" : "TABLE_24COL",
"spacingLeft" : "INNERMEDIUM",
"vAlignSelf" : "MIDDLE"
},
"hidden" : false,
"showCaption" : false
} ]
}, {
"caption" : "面板容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container2",
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getPSLayoutPos" : {
"grow" : 7,
"layout" : "SIMPLEFLEX"
},
"getPSPanelItems" : [ {
"caption" : "面包屑导航",
"itemStyle" : "DEFAULT",
"itemType" : "RAWITEM",
"name" : "nav_breadcrumb1",
"getPSLayoutPos" : {
"colMD" : 24,
"hAlignSelf" : "LEFT",
"layout" : "TABLE_24COL",
"vAlignSelf" : "MIDDLE"
},
"getPSRawItem" : {
"name" : "nav_breadcrumb1",
"predefinedType" : "NAV_BREADCRUMB"
},
"showCaption" : true
} ]
}, {
"caption" : "面板容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container3",
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getPSLayoutPos" : {
"grow" : 3,
"layout" : "SIMPLEFLEX"
},
"getPSPanelItems" : [ {
"caption" : "用户信息",
"itemStyle" : "DEFAULT",
"itemType" : "RAWITEM",
"name" : "auth_userinfo1",
"getPSLayoutPos" : {
"colMD" : 24,
"hAlignSelf" : "RIGHT",
"layout" : "TABLE_24COL",
"vAlignSelf" : "MIDDLE"
},
"getPSRawItem" : {
"name" : "auth_userinfo1",
"predefinedType" : "AUTH_USERINFO"
},
"showCaption" : true
} ]
} ]
} ],
"showCaption" : true
} ]
} ],
"layoutBodyOnly" : true, "layoutBodyOnly" : true,
"layoutPanel" : true, "layoutPanel" : true,
"useDefaultLayout" : true "useDefaultLayout" : false,
"modelid" : "840461A1-3F97-410A-8F12-405FE6770E9A",
"modeltype" : "PSSYSVIEWLAYOUTPANEL"
}, },
"viewStyle" : "DEFAULT", "viewStyle" : "DEFAULT",
"viewType" : "APPINDEXVIEW", "viewType" : "APPINDEXVIEW",
......
...@@ -15199,7 +15199,6 @@ ...@@ -15199,7 +15199,6 @@
"viewType" : "APPPORTALVIEW" "viewType" : "APPPORTALVIEW"
}, },
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPINDEXVIEWS/index.json", "dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPINDEXVIEWS/index.json",
"mainMenuAlign" : "TOP",
"name" : "index", "name" : "index",
"getPSControls" : [ { "getPSControls" : [ {
"codeName" : "MainMenu", "codeName" : "MainMenu",
...@@ -19368,14 +19367,245 @@ ...@@ -19368,14 +19367,245 @@
"modeltype" : "PSAPPMENU" "modeltype" : "PSAPPMENU"
} ], } ],
"getPSViewLayoutPanel" : { "getPSViewLayoutPanel" : {
"getAllPSPanelFields" : [ {
"id" : "app_apptitle"
} ],
"codeName" : "Layoutpanel", "codeName" : "Layoutpanel",
"controlStyle" : "APPINDEXVIEW",
"controlType" : "VIEWLAYOUTPANEL", "controlType" : "VIEWLAYOUTPANEL",
"layoutMode" : "TABLE_24COL",
"logicName" : "首页视图",
"name" : "layoutpanel", "name" : "layoutpanel",
"getPSControlParam" : { }, "getPSControlParam" : { },
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getRootPSPanelItems" : [ {
"caption" : "滚动条容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container_scroll1",
"getPSLayout" : {
"layout" : "BORDER"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"getPSPanelItems" : [ {
"caption" : "面板容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container_scroll_main1",
"getPSLayout" : {
"layout" : "BORDER"
},
"getPSLayoutPos" : {
"layout" : "BORDER",
"layoutPos" : "CENTER"
},
"getPSPanelItems" : [ {
"caption" : "标签页导航栏",
"contentHeight" : 56.0,
"itemStyle" : "DEFAULT",
"itemType" : "RAWITEM",
"name" : "nav_tabs1",
"getPSLayoutPos" : {
"height" : 56,
"heightMode" : "PX",
"layout" : "BORDER",
"layoutPos" : "CENTER",
"spacingBottom" : "INNERSMALL",
"spacingLeft" : "INNERSMALL",
"spacingTop" : "INNERSMALL"
},
"getPSRawItem" : {
"name" : "nav_tabs1",
"predefinedType" : "NAV_TABS"
},
"showCaption" : true
}, {
"caption" : "导航区占位",
"itemStyle" : "DEFAULT",
"itemType" : "RAWITEM",
"name" : "nav_pos1",
"getPSLayoutPos" : {
"layout" : "BORDER",
"layoutPos" : "CENTER",
"spacingBottom" : "INNERSMALL",
"spacingLeft" : "INNERSMALL",
"spacingRight" : "INNERSMALL"
},
"getPSRawItem" : {
"name" : "nav_pos1",
"predefinedType" : "NAV_POS"
},
"showCaption" : true
} ],
"showCaption" : true
}, {
"caption" : "面板容器",
"contentWidth" : 200.0,
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container_scroll_left1",
"getPSLayout" : {
"layout" : "BORDER"
},
"getPSLayoutPos" : {
"layout" : "BORDER",
"layoutPos" : "WEST",
"width" : 200,
"widthMode" : "PX"
},
"getPSPanelItems" : [ {
"caption" : "首页菜单",
"itemStyle" : "DEFAULT",
"itemType" : "CTRLPOS",
"name" : "appmenu",
"getPSLayoutPos" : {
"heightMode" : "FULL",
"layout" : "BORDER",
"layoutPos" : "CENTER",
"widthMode" : "FULL"
},
"showCaption" : true
} ],
"width" : 200.0,
"showCaption" : true
}, {
"caption" : "面板容器",
"contentHeight" : 60.0,
"height" : 60.0,
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container_scroll_header1",
"getPSLayout" : {
"layout" : "BORDER"
},
"getPSLayoutPos" : {
"height" : 60,
"heightMode" : "PX",
"layout" : "BORDER",
"layoutPos" : "NORTH"
},
"getPSPanelItems" : [ {
"caption" : "栅格容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container_grid1",
"getPSLayout" : {
"layout" : "SIMPLEFLEX"
},
"getPSLayoutPos" : {
"layout" : "BORDER",
"layoutPos" : "CENTER"
},
"getPSPanelItems" : [ {
"caption" : "面板容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container1",
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getPSLayoutPos" : {
"grow" : 2,
"layout" : "SIMPLEFLEX"
},
"getPSPanelItems" : [ {
"caption" : "应用标题",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "app_apptitle",
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "app_apptitle",
"predefinedType" : "APP_APPTITLE",
"renderMode" : "HEADING1",
"enableLinkView" : false
},
"getPSLayoutPos" : {
"colMD" : 24,
"hAlignSelf" : "LEFT",
"layout" : "TABLE_24COL",
"spacingLeft" : "INNERMEDIUM",
"vAlignSelf" : "MIDDLE"
},
"hidden" : false,
"showCaption" : false
} ]
}, {
"caption" : "面板容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container2",
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getPSLayoutPos" : {
"grow" : 7,
"layout" : "SIMPLEFLEX"
},
"getPSPanelItems" : [ {
"caption" : "面包屑导航",
"itemStyle" : "DEFAULT",
"itemType" : "RAWITEM",
"name" : "nav_breadcrumb1",
"getPSLayoutPos" : {
"colMD" : 24,
"hAlignSelf" : "LEFT",
"layout" : "TABLE_24COL",
"vAlignSelf" : "MIDDLE"
},
"getPSRawItem" : {
"name" : "nav_breadcrumb1",
"predefinedType" : "NAV_BREADCRUMB"
},
"showCaption" : true
} ]
}, {
"caption" : "面板容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container3",
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getPSLayoutPos" : {
"grow" : 3,
"layout" : "SIMPLEFLEX"
},
"getPSPanelItems" : [ {
"caption" : "用户信息",
"itemStyle" : "DEFAULT",
"itemType" : "RAWITEM",
"name" : "auth_userinfo1",
"getPSLayoutPos" : {
"colMD" : 24,
"hAlignSelf" : "RIGHT",
"layout" : "TABLE_24COL",
"vAlignSelf" : "MIDDLE"
},
"getPSRawItem" : {
"name" : "auth_userinfo1",
"predefinedType" : "AUTH_USERINFO"
},
"showCaption" : true
} ]
} ]
} ],
"showCaption" : true
} ]
} ],
"layoutBodyOnly" : true, "layoutBodyOnly" : true,
"layoutPanel" : true, "layoutPanel" : true,
"useDefaultLayout" : true "useDefaultLayout" : false,
"modelid" : "840461A1-3F97-410A-8F12-405FE6770E9A",
"modeltype" : "PSSYSVIEWLAYOUTPANEL"
}, },
"viewStyle" : "DEFAULT", "viewStyle" : "DEFAULT",
"viewType" : "APPINDEXVIEW", "viewType" : "APPINDEXVIEW",
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册