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

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

上级 50c7cf23
<template> <template>
<div class="app-view-layout app-view-layout__apploginview app-login-view" v-loading="isLayoutLoadding" :style="{height: '100%', width: '100%','display': 'flex', 'flex-direction': 'column'}"> <div class="app-login-view app-login-view">
<div v-show="!isLayoutLoadding" :style="{height: '100%', width: '100%'}"> <img class="login-bg" src="/assets/img/background.png" />
<app-standard-container name="page_container" :isMultiContainer="false" :layoutModelDetails="layoutModelDetails"> <div class="login-container">
<template #container1> <div class="login-title">{{appTitle}}</div>
<app-standard-container name="container1" :isMultiContainer="false" :layoutModelDetails="layoutModelDetails"> <i-form ref='loginForm' class="login-form" :rules="rules" :model="formData">
<template #auth_orgpick> <form-item prop="loginname">
<app-login-org name="auth_orgpick" :layoutModelDetails="layoutModelDetails" :value="layoutData.auth_orgpick" @valueChange="($event) => handleValueChange($event)" /> <i-input
</template> size="large"
<template #userid> prefix="ios-contact"
<app-login-input class="app-login-user" name="userid" :layoutModelDetails="layoutModelDetails" :value="layoutData.userid" defaultIcon="ios-contact" @valueChange="($event) => handleValueChange($event)" /> v-model.trim="formData.loginname"
</template> :placeholder="$t('components.login.placeholder1')"
<template #auth_password> @keyup.enter.native="handleSubmit"
<app-login-input class="app-login-password" name="auth_password" defaultType="password" :layoutModelDetails="layoutModelDetails" :value="layoutData.auth_password" defaultIcon="ios-key" @valueChange="($event) => handleValueChange($event)" /> >
</template> </i-input>
<template #container2> </form-item>
<app-standard-container name="container2" :isMultiContainer="false" :layoutModelDetails="layoutModelDetails"> <form-item prop="password">
<template #auth_loginbutton1> <i-input
<app-login-button class="app-login-button" name="auth_loginbutton1" :layoutModelDetails="layoutModelDetails" @itemClick="(name) => handleButtonClick(name)"/> size="large"
</template> prefix="ios-key"
<template #auth_resetinput1> v-model.trim="formData.password"
<app-login-button class="app-reset-button" name="auth_resetinput1" :layoutModelDetails="layoutModelDetails" @itemClick="(name) => handleButtonClick(name)"/> type="password"
</template> :placeholder="$t('components.login.placeholder2')"
</app-standard-container> @keyup.enter.native="handleSubmit"
</template> >
<template #auth_captcha1> </i-input>
<app-login-captcha name="auth_captcha1" :layoutModelDetails="layoutModelDetails" :value="layoutData.auth_captcha1" @valueChange="($event) => handleValueChange($event)" /> </form-item>
</template> <form-item class="app-login-view__buttons">
<template #auth_verificationcode> <i-button @click="handleSubmit" type="primary" class="login_btn"
<app-login-note-verify name="auth_verificationcode" :layoutModelDetails="layoutModelDetails" :value="layoutData.auth_verificationcode" @valueChange="($event) => handleValueChange($event)" /> >{{ $t("components.login.name") }}
</template> </i-button>
<template #auth_sso1> <i-button @click="goReset" type="success" class="login_reset"
<app-login-third name="auth_sso1" :layoutModelDetails="layoutModelDetails" :value="layoutData.auth_sso1" /> >{{ $t("components.login.reset") }}
</template> </i-button>
<template #auth_logout1> </form-item>
<app-login-button class="app-logout-button" name="auth_logout1" :layoutModelDetails="layoutModelDetails" @itemClick="(name) => handleButtonClick(name)"/>
</template> <form-item class="app-login-view__icons">
<template #auth_loginmsg> <div style="text-align: center">
<app-login-message name="auth_loginmsg" :layoutModelDetails="layoutModelDetails" :value="layoutData.auth_loginmsg" /> <span class="form_tipinfo">{{ $t("components.login.other") }}</span>
</template>
</app-standard-container>
</template>
</app-standard-container>
</div> </div>
<div style="text-align: center">
<div class="icon" @click="tencentHandleClick('tencent')">
<img src="/assets/img/QQ.svg" draggable="false" />
</div> </div>
<div class="icon" @click="wechatHandleClick('wechat')">
<img src="/assets/img/weixin.svg" draggable="false" />
</div>
</div>
</form-item>
</i-form>
<p class="login-tip">
{{ this.loginTip }}
</p>
<div class="app-login-view__footer">
<div class="copyright">
<a href="https://www.ibizlab.cn/" target="_blank"
>{{ appTitle }} is based on ibizlab .</a
>
</div>
</div>
</div>
</div>
</template> </template>
// 基于 @VIEW/应用登录视图/VIEW-BASE.vue.ftl 生成 // 基于 @VIEW/应用登录视图/VIEW-BASE.vue.ftl 生成
<script lang='tsx'> <script lang='tsx'>
...@@ -55,7 +73,6 @@ import NavDataService from '@/service/app/navdata-service'; ...@@ -55,7 +73,6 @@ 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 { Environment } from '@/environments/environment'; import { Environment } from '@/environments/environment';
...@@ -242,344 +259,6 @@ export default class AppLoginViewBase extends Vue { ...@@ -242,344 +259,6 @@ export default class AppLoginViewBase extends Vue {
*/ */
public viewState: Subject<ViewState> = new Subject(); public viewState: Subject<ViewState> = new Subject();
/**
* 视图布局顶级成员名称
*
* @public
* @memberof AppLoginViewBase
*/
public rootLayoutDetailNames: string[] = [ 'page_container' ];
/**
* 视图布局面板项模型对象
*
* @public
* @memberof AppLoginViewBase
*/
public layoutItems:any = {
auth_orgpick:{ name: 'auth_orgpick', type: 'VIEWLAYOUT', caption: '组织', isShowCaption: false, sysCss: '', itemType: 'FIELD', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container1', panel: this , required: false, fieldState: '0', predefinedType: 'AUTH_ORGPICK', dataItemName:'', },
userid:{ name: 'userid', type: 'VIEWLAYOUT', caption: '用户名', isShowCaption: false, sysCss: 'greenToolBar', itemType: 'FIELD', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'OUTERMEDIUM', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container1', panel: this , required: false, fieldState: '0', predefinedType: 'AUTH_USERID', dataItemName:'', },
auth_password:{ name: 'auth_password', type: 'VIEWLAYOUT', caption: '密码', isShowCaption: false, sysCss: '', itemType: 'FIELD', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'OUTERMEDIUM', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container1', panel: this , required: false, fieldState: '0', predefinedType: 'AUTH_PASSWORD', dataItemName:'', },
auth_loginbutton1:{ name: 'auth_loginbutton1', type: 'VIEWLAYOUT', caption: '登陆', isShowCaption: true, sysCss: 'deepskyblueToolBar', itemType: 'BUTTON', itemStyle: 'PRIMARY', sysImage:{ iconcls: 'fa fa-refresh', imagePath:'', rawContent: '' }, visible: true, disabled: false, layout:'', layoutPos:'', layoutHeight:40, heightMode:'PX', layoutWidth:175, widthMode:'PX', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'CENTER', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container2', panel: this , buttonStyle: 'PRIMARY', borderStyle: '', iconAlign: '', uiAction: { actiontarget: '', noprivdisplaymode: 2, dataaccaction: '', visabled: true, disabled: false }, predefinedType: 'APP_LOGIN', renderMode: '', },
auth_resetinput1:{ name: 'auth_resetinput1', type: 'VIEWLAYOUT', caption: '重置', isShowCaption: true, sysCss: '', itemType: 'BUTTON', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'', layoutPos:'', layoutHeight:40, heightMode:'PX', layoutWidth:175, widthMode:'PX', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'CENTER', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container2', panel: this , buttonStyle: 'DEFAULT', borderStyle: '', iconAlign: '', uiAction: { actiontarget: '', noprivdisplaymode: 2, dataaccaction: '', visabled: true, disabled: false }, predefinedType: 'DATA_CANCELCHANGES', renderMode: '', },
container2:{ name: 'container2', type: 'VIEWLAYOUT', caption: '容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'FLEX', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:100, widthMode:'PERCENTAGE', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'OUTERLARGE', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'space-around',dir:'row',vAlign:'center'}, parentName: 'container1', panel: this , details:['auth_loginbutton1','auth_resetinput1'] , dataRegionType: 'INHERIT' },
auth_captcha1:{ name: 'auth_captcha1', type: 'VIEWLAYOUT', caption: '人机识别', isShowCaption: true, sysCss: '', itemType: 'USERCONTROL', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'OUTERMEDIUM', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container1', panel: this },
auth_verificationcode:{ name: 'auth_verificationcode', type: 'VIEWLAYOUT', caption: '短信验证码', isShowCaption: false, sysCss: '', itemType: 'FIELD', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'OUTERMEDIUM', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container1', panel: this , required: false, fieldState: '0', predefinedType: 'AUTH_VERIFICATIONCODE', dataItemName:'', },
auth_sso1:{ name: 'auth_sso1', type: 'VIEWLAYOUT', caption: '第三方登陆', isShowCaption: true, sysCss: '', itemType: 'USERCONTROL', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'OUTERMEDIUM', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container1', panel: this },
auth_logout1:{ name: 'auth_logout1', type: 'VIEWLAYOUT', caption: '登出', isShowCaption: true, sysCss: '', itemType: 'BUTTON', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'', layoutPos:'', layoutHeight:40, heightMode:'PX', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'OUTERMEDIUM', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container1', panel: this , buttonStyle: 'DEFAULT', borderStyle: '', iconAlign: '', uiAction: { actiontarget: '', noprivdisplaymode: 2, dataaccaction: '', visabled: true, disabled: false }, predefinedType: 'APP_LOGOUT', renderMode: '', },
auth_loginmsg:{ name: 'auth_loginmsg', type: 'VIEWLAYOUT', caption: '登陆校验信息', isShowCaption: false, sysCss: '', itemType: 'FIELD', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'OUTERMEDIUM', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container1', panel: this , required: false, fieldState: '0', predefinedType: 'AUTH_LOGINMSG', renderMode: '', dataItemName:'', wrapMode:'', vAlign:'', hAlign:'', },
container1:{ name: 'container1', type: 'VIEWLAYOUT', caption: '容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: 'login-bg', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'FLEX', layoutPos:'', layoutHeight:600, heightMode:'PX', layoutWidth:450, widthMode:'PX', spacingBottom:'INNERLARGE', spacingLeft:'INNERLARGE', spacingRight:'INNERLARGE', spacingTop:'INNERLARGE', hAlignSelf:'CENTER', vAlignSelf:'MIDDLE', flexGrow:-1, flexParams:{align:'',dir:'column',vAlign:''}, parentName: 'page_container', panel: this , details:['auth_orgpick','userid','auth_password','container2','auth_captcha1','auth_verificationcode','auth_sso1','auth_logout1','auth_loginmsg'] , dataRegionType: 'INHERIT' },
page_container:{ name: 'page_container', type: 'VIEWLAYOUT', caption: '图片背景容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', sysImage:{ iconcls: '', imagePath:'/assets/img/login_bg.png', rawContent: '' }, 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'] , dataRegionType: 'INHERIT' }
}
/**
* 布局面板是否加载
*
* @public
* @memberof AppLoginViewBase
*/
public isLayoutLoadding: boolean = true;
/**
* 布局面板数据
*
* @public
* @memberof AppLoginViewBase
*/
public layoutData:any = {};
/**
* 布局面板模型对象
*
* @public
* @memberof AppLoginViewBase
*/
public layoutModelDetails:any = {};
/**
* 初始化布局
*
* @public
* @memberof AppLoginViewBase
*/
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 AppLoginViewBase
*/
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 AppLoginViewBase
*/
public async computeButtonAuthState() {
for (const key in this.layoutModelDetails) {
const layoutModel = this.layoutModelDetails[key];
if (layoutModel.itemType == 'BUTTON') {
await layoutModel.computeActionAuthState();
}
}
}
/**
* 处理值改变
*
* @public
* @params args 改变数据
* @params index 多数据容器下标
* @memberof AppLoginViewBase
*/
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 AppLoginViewBase
*/
public panelLogic(name: string, index?: number): void {
}
/**
* 处理按钮点击
*
* @public
* @params name 按钮项名称
* @params index 多数据容器下标
* @memberof AppLoginViewBase
*/
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;
if (Object.is(name, 'auth_loginbutton1')) {
_this.panel_Usr1102196415_auth_loginbutton1_click(datas, contextJO, paramJO, undefined, xData, this, undefined);
}
if (Object.is(name, 'auth_resetinput1')) {
_this.panel_Usr1102196415_auth_resetinput1_click(datas, contextJO, paramJO, undefined, xData, this, undefined);
}
if (Object.is(name, 'auth_logout1')) {
_this.panel_Usr1102196415_auth_logout1_click(datas, contextJO, paramJO, undefined, xData, this, undefined);
}
}
/**
* 登陆
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
*/
public panel_Usr1102196415_auth_loginbutton1_click(args: any[], contextJO?:any, params?: any, $event?: any, xData?: any, actionContext?:any, srfParentDeName?:string) {
if (actionContext.viewType === 'APPLOGINVIEW') {
const layoutData = args.length > 0 ? args[0] : {};
const layoutModelDetails: any = actionContext.layoutModelDetails || {};
let userNameKey: string = Object.keys(layoutModelDetails).find((key: string) => Object.is(layoutModelDetails[key].predefinedType, 'AUTH_USERID')) || '';
let passwordKey: string = Object.keys(layoutModelDetails).find((key: string) => Object.is(layoutModelDetails[key].predefinedType, 'AUTH_PASSWORD')) || '';
let messageKey: string = Object.keys(layoutModelDetails).find((key: string) => Object.is(layoutModelDetails[key].predefinedType, 'AUTH_LOGINMSG')) || '';
if (!userNameKey || !passwordKey) {
if (messageKey) {
actionContext.handleValueChange({ name: messageKey, value: '用户名或密码未配置!' });
} else {
actionContext.$message({ message: '用户名或密码未配置!',type: 'warning'});
}
return;
}
const loginname: any = layoutData[userNameKey];
const password: any = layoutData[passwordKey];
if (!loginname || !password) {
if (messageKey) {
actionContext.handleValueChange({ name: messageKey, value: '请输入用户名与密码' });
} else {
actionContext.$message({ message: '请输入用户名与密码',type: 'warning'});
}
return;
}
// 清除cookie
let leftTime = new Date();
leftTime.setTime(leftTime.getSeconds() - 1000);
document.cookie = "ibzuaa-token=;expires=" + leftTime.toUTCString();
const data = { loginname, password };
const post: Promise<any> = actionContext.$http.post('/v7/login', data, true);
post.then((response: any) => {
if (response && response.status === 200) {
const data = response.data;
if (data && data.token) {
localStorage.setItem('token', data.token);
Util.setCookie('ibzuaa-token',data.token,0);
}
if(data && data.user){
localStorage.setItem('user', JSON.stringify(data.user));
}
// 设置cookie,保存账号密码7天
Util.setCookie("loginname",loginname, 7);
// 跳转首页
const url: any = actionContext.$route.query.redirect ? actionContext.$route.query.redirect : '*';
actionContext.$router.push({path: url});
}
}).catch((error: any) => {
// 登录提示
const data = error.data;
if (data) {
if (messageKey) {
actionContext.handleValueChange({ name: messageKey, value: data.message || this.$t('components.login.loginfailed') });
}
}
});
} else {
actionContext.$router.push({ path: "/login", query: { redirect: window.location.hash.replace("#", '') } });
}
}
/**
* 重置
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
*/
public panel_Usr1102196415_auth_resetinput1_click(args: any[], contextJO?:any, params?: any, $event?: any, xData?: any, actionContext?:any, srfParentDeName?:string) {
if (actionContext.viewType === 'APPLOGINVIEW') {
const length = Object.keys(actionContext.layoutData).length;
for (let i = length - 1; i >= 0; i--) {
const name = Object.keys(actionContext.layoutData)[i];
if (actionContext.layoutData.hasOwnProperty(name) && !Object.is(actionContext.layoutModelDetails[name].itemType, 'CONTAINER')) {
actionContext.handleValueChange({ name, value: null });
}
}
actionContext.$nextTick(() => {
actionContext.$forceUpdate();
})
} else {
const parentRef: any = actionContext.$parent;
if (parentRef.closeView && (parentRef.closeView instanceof Function)) {
parentRef.closeView(args);
} else if (actionContext.closeView && (actionContext.closeView instanceof Function)) {
actionContext.closeView(args);
}
}
}
/**
* 登出
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
*/
public panel_Usr1102196415_auth_logout1_click(args: any[], contextJO?:any, params?: any, $event?: any, xData?: any, actionContext?:any, srfParentDeName?:string) {
actionContext.$Modal.confirm({
title: '提示',
content: '确认要退出登录?',
okText: '确认',
cancelText: '取消',
onOk: () => {
actionContext.$http
.get("/v7/logout")
.then((response: any) => {
if (response && response.status === 200) {
localStorage.removeItem("user");
localStorage.removeItem("token");
let leftTime = new Date();
leftTime.setTime(leftTime.getSeconds() - 1);
document.cookie = "ibzuaa-token=;expires=" + leftTime.toUTCString();
actionContext.$router.push({ path: "/login", query: { redirect: window.location.hash.replace("#", '') } });
}
})
.catch((error: any) => {
console.error(error);
});
}
});
}
/** /**
...@@ -930,13 +609,10 @@ export default class AppLoginViewBase extends Vue { ...@@ -930,13 +609,10 @@ export default class AppLoginViewBase 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();
} }
})
} }
......
// 基于 @VIEW/应用登录视图/VIEW.scss.ftl 生成 // 基于 @VIEW/应用登录视图/VIEW.scss.ftl 生成
.app-login-view{
position: relative;
}
.app-login-view { .app-login-view {
display: flex;
flex-direction: column;
min-height: 100%;
background: #108cee;
position: relative;
.login-bg {
width: 100vw;
height: 100vh;
}
.login-container {
width: 450px;
height: 430px;
position: absolute;
z-index: 1;
background: #fff;
top: calc((100% - 430px) / 2);
left: calc((100% - 450px) / 2);
border-radius: 10px;
.login-title {
text-align: center;
padding: 30px 0 20px 0;
font-weight: 600;
line-height: 30px;
font-size: 20px;
color: #666;
}
.login-form {
width: 380px;
margin: 0 auto;
.ivu-form-item {
margin-bottom: 36px;
.ivu-input-group {
height: 44px;
font-size: 30px;
.ivu-input {
height: 44px;
font-size: 18px;
}
.ivu-input-icon {
height: 44px;
line-height: 44px;
}
}
}
}
}
.app-login-view__buttons .ivu-form-item-content {
display: flex;
justify-content: space-between;
align-items: center;
.ivu-btn {
width: 175px;
height: 40px;
font-size: 18px;
}
}
.app-login-view__icons {
.icon {
display: inline-block;
cursor: pointer;
margin-left: 10px;
img {
display: inline-block;
width: 40px;
height: 40px;
line-height: 40px;
text-align: center;
padding-top: 1px;
border-radius: 4px;
margin-bottom: -20px;
margin-top: 10px;
}
}
}
.app-login-view__footer {
display: block; display: block;
padding: 0 16px;
padding: 48px 0 24px;
text-align: center;
a {
color: #fff;
text-decoration: none;
}
}
} }
.login-bg {
background-color: #ffffff;
}
.greenToolBar {color:white !important;background-color:rgba(0, 166, 90, 0.7) !important;}
.deepskyblueToolBar {color:white !important;background-color:#108cee !important;}
.redToolBar {color:white;background-color:red;}
...@@ -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: 'IBIZBOOKUsr5DataView' + (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: 'IBIZBOOKUsr5DataView' + (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' + (this.$t('app.formpage.notconfig.loadaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.loadaction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -1429,7 +1429,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface ...@@ -1429,7 +1429,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' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
...@@ -1499,7 +1499,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface ...@@ -1499,7 +1499,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' + (this.$t('app.formpage.notconfig.actionname') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.actionname') as string) });
return; return;
} }
Object.assign(arg,{viewparams:this.viewparams}); Object.assign(arg,{viewparams:this.viewparams});
...@@ -1607,7 +1607,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface ...@@ -1607,7 +1607,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' + (this.$t('app.formpage.notconfig.actionname') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.actionname') as string) });
return; return;
} }
Object.assign(arg, { viewparams: this.viewparams }); Object.assign(arg, { viewparams: this.viewparams });
...@@ -1799,7 +1799,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface ...@@ -1799,7 +1799,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' + (this.$t('app.formpage.notconfig.removeaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.removeaction') as string) });
return; return;
} }
const arg: any = opt[0]; const arg: any = opt[0];
......
...@@ -1344,7 +1344,7 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface ...@@ -1344,7 +1344,7 @@ export default class GuideReturnFormBase 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' + (this.$t('app.formpage.notconfig.loadaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.loadaction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -1395,7 +1395,7 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface ...@@ -1395,7 +1395,7 @@ export default class GuideReturnFormBase 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' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
...@@ -1465,7 +1465,7 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface ...@@ -1465,7 +1465,7 @@ export default class GuideReturnFormBase 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' + (this.$t('app.formpage.notconfig.actionname') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.actionname') as string) });
return; return;
} }
Object.assign(arg,{viewparams:this.viewparams}); Object.assign(arg,{viewparams:this.viewparams});
...@@ -1573,7 +1573,7 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface ...@@ -1573,7 +1573,7 @@ export default class GuideReturnFormBase 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' + (this.$t('app.formpage.notconfig.actionname') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.actionname') as string) });
return; return;
} }
Object.assign(arg, { viewparams: this.viewparams }); Object.assign(arg, { viewparams: this.viewparams });
...@@ -1765,7 +1765,7 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface ...@@ -1765,7 +1765,7 @@ export default class GuideReturnFormBase 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' + (this.$t('app.formpage.notconfig.removeaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.removeaction') as string) });
return; return;
} }
const arg: any = opt[0]; const arg: any = opt[0];
......
...@@ -1447,7 +1447,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface { ...@@ -1447,7 +1447,7 @@ export default class GuideViewFormBase 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' + (this.$t('app.formpage.notconfig.loadaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.loadaction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -1499,7 +1499,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface { ...@@ -1499,7 +1499,7 @@ export default class GuideViewFormBase 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' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
...@@ -1569,7 +1569,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface { ...@@ -1569,7 +1569,7 @@ export default class GuideViewFormBase 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' + (this.$t('app.formpage.notconfig.actionname') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.actionname') as string) });
return; return;
} }
Object.assign(arg,{viewparams:this.viewparams}); Object.assign(arg,{viewparams:this.viewparams});
...@@ -1677,7 +1677,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface { ...@@ -1677,7 +1677,7 @@ export default class GuideViewFormBase 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' + (this.$t('app.formpage.notconfig.actionname') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.actionname') as string) });
return; return;
} }
Object.assign(arg, { viewparams: this.viewparams }); Object.assign(arg, { viewparams: this.viewparams });
...@@ -1869,7 +1869,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface { ...@@ -1869,7 +1869,7 @@ export default class GuideViewFormBase 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' + (this.$t('app.formpage.notconfig.removeaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.removeaction') as string) });
return; return;
} }
const arg: any = opt[0]; const arg: any = opt[0];
......
...@@ -48,18 +48,18 @@ ...@@ -48,18 +48,18 @@
<div v-show="flag" class="batch-toolbar"> <div v-show="flag" class="batch-toolbar">
<div class='toolbar-container'> <div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600"> <tooltip :transfer="true" :max-width="600">
<i-button v-show="usr2dataviewdataview_batchtoolbarModels.deuiaction1.visabled" :disabled="usr2dataviewdataview_batchtoolbarModels.deuiaction1.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="dataview_batchtoolbar_click({ tag: 'deuiaction1' }, $event)"> <i-button v-show="dataviewexpviewdataviewexpbar_dataview_batchtoolbarModels.deuiaction1.visabled" :disabled="dataviewexpviewdataviewexpbar_dataview_batchtoolbarModels.deuiaction1.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="dataviewexpbar_dataview_batchtoolbar_click({ tag: 'deuiaction1' }, $event)">
<i class='fa fa-edit'></i> <i class='fa fa-edit'></i>
<span class='caption'>{{$t('entities.ibizbook.usr2dataviewdataview_batchtoolbar_toolbar.deuiaction1.caption')}}</span> <span class='caption'>{{$t('entities.ibizbook.dataviewexpviewdataviewexpbar_dataview_batchtoolbar_toolbar.deuiaction1.caption')}}</span>
</i-button> </i-button>
<div slot='content'>{{$t('entities.ibizbook.usr2dataviewdataview_batchtoolbar_toolbar.deuiaction1.tip')}}</div> <div slot='content'>{{$t('entities.ibizbook.dataviewexpviewdataviewexpbar_dataview_batchtoolbar_toolbar.deuiaction1.tip')}}</div>
</tooltip> </tooltip>
<tooltip :transfer="true" :max-width="600"> <tooltip :transfer="true" :max-width="600">
<i-button v-show="usr2dataviewdataview_batchtoolbarModels.deuiaction2.visabled" :disabled="usr2dataviewdataview_batchtoolbarModels.deuiaction2.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="dataview_batchtoolbar_click({ tag: 'deuiaction2' }, $event)"> <i-button v-show="dataviewexpviewdataviewexpbar_dataview_batchtoolbarModels.deuiaction2.visabled" :disabled="dataviewexpviewdataviewexpbar_dataview_batchtoolbarModels.deuiaction2.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="dataviewexpbar_dataview_batchtoolbar_click({ tag: 'deuiaction2' }, $event)">
<i class='fa fa-remove'></i> <i class='fa fa-remove'></i>
<span class='caption'>{{$t('entities.ibizbook.usr2dataviewdataview_batchtoolbar_toolbar.deuiaction2.caption')}}</span> <span class='caption'>{{$t('entities.ibizbook.dataviewexpviewdataviewexpbar_dataview_batchtoolbar_toolbar.deuiaction2.caption')}}</span>
</i-button> </i-button>
<div slot='content'>{{$t('entities.ibizbook.usr2dataviewdataview_batchtoolbar_toolbar.deuiaction2.tip')}}</div> <div slot='content'>{{$t('entities.ibizbook.dataviewexpviewdataviewexpbar_dataview_batchtoolbar_toolbar.deuiaction2.tip')}}</div>
</tooltip> </tooltip>
</div> </div>
</div> </div>
...@@ -202,18 +202,18 @@ export default class Usr2Base extends Vue implements ControlInterface { ...@@ -202,18 +202,18 @@ export default class Usr2Base extends Vue implements ControlInterface {
public appEntityService: IBIZBOOKEntityService = new IBIZBOOKEntityService({ $store: this.$store }); public appEntityService: IBIZBOOKEntityService = new IBIZBOOKEntityService({ $store: this.$store });
/** /**
* dataview_batchtoolbar 部件 click 事件 * dataviewexpbar_dataview_batchtoolbar 部件 click 事件
* *
* @param {*} [args={}] * @param {*} [args={}]
* @param {*} $event * @param {*} $event
* @memberof Usr2Base * @memberof Usr2Base
*/ */
public dataview_batchtoolbar_click($event: any, $event2?: any) { public dataviewexpbar_dataview_batchtoolbar_click($event: any, $event2?: any) {
if (Object.is($event.tag, 'deuiaction1')) { if (Object.is($event.tag, 'deuiaction1')) {
this.dataview_batchtoolbar_deuiaction1_click(null, 'dataview_batchtoolbar', $event2); this.dataviewexpbar_dataview_batchtoolbar_deuiaction1_click(null, 'dataviewexpbar_dataview_batchtoolbar', $event2);
} }
if (Object.is($event.tag, 'deuiaction2')) { if (Object.is($event.tag, 'deuiaction2')) {
this.dataview_batchtoolbar_deuiaction2_click(null, 'dataview_batchtoolbar', $event2); this.dataviewexpbar_dataview_batchtoolbar_deuiaction2_click(null, 'dataviewexpbar_dataview_batchtoolbar', $event2);
} }
} }
...@@ -226,7 +226,7 @@ export default class Usr2Base extends Vue implements ControlInterface { ...@@ -226,7 +226,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
* @param {*} [$event] * @param {*} [$event]
* @memberof * @memberof
*/ */
public dataview_batchtoolbar_deuiaction1_click(params: any = {}, tag?: any, $event?: any) { public dataviewexpbar_dataview_batchtoolbar_deuiaction1_click(params: any = {}, tag?: any, $event?: any) {
// 参数 // 参数
// 取数 // 取数
let datas: any[] = []; let datas: any[] = [];
...@@ -254,7 +254,7 @@ export default class Usr2Base extends Vue implements ControlInterface { ...@@ -254,7 +254,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
* @param {*} [$event] * @param {*} [$event]
* @memberof * @memberof
*/ */
public dataview_batchtoolbar_deuiaction2_click(params: any = {}, tag?: any, $event?: any) { public dataviewexpbar_dataview_batchtoolbar_deuiaction2_click(params: any = {}, tag?: any, $event?: any) {
// 参数 // 参数
// 取数 // 取数
let datas: any[] = []; let datas: any[] = [];
...@@ -282,7 +282,7 @@ export default class Usr2Base extends Vue implements ControlInterface { ...@@ -282,7 +282,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
* @param {*} [$event] * @param {*} [$event]
* @memberof * @memberof
*/ */
public dataview_memo1_u37f11a8_click(params: any = {}, tag?: any, $event?: any) { public dataviewexpbar_dataview_memo1_u37f11a8_click(params: any = {}, tag?: any, $event?: any) {
// 取数 // 取数
let datas: any[] = []; let datas: any[] = [];
let xData: any = null; let xData: any = null;
...@@ -309,7 +309,7 @@ export default class Usr2Base extends Vue implements ControlInterface { ...@@ -309,7 +309,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
* @param {*} [$event] * @param {*} [$event]
* @memberof * @memberof
*/ */
public dataview_memo1_uc365542_click(params: any = {}, tag?: any, $event?: any) { public dataviewexpbar_dataview_memo1_uc365542_click(params: any = {}, tag?: any, $event?: any) {
// 取数 // 取数
let datas: any[] = []; let datas: any[] = [];
let xData: any = null; let xData: any = null;
...@@ -337,7 +337,7 @@ export default class Usr2Base extends Vue implements ControlInterface { ...@@ -337,7 +337,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
* @param {*} [$event] 事件源 * @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件 * @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文 * @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKUsr2DataViewBase * @memberof IBIZBOOKDataViewExpViewBase
*/ */
public Edit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public Edit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
if (args.length === 0) { if (args.length === 0) {
...@@ -363,7 +363,7 @@ export default class Usr2Base extends Vue implements ControlInterface { ...@@ -363,7 +363,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
* @param {*} [$event] 事件源 * @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件 * @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文 * @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKUsr2DataViewBase * @memberof IBIZBOOKDataViewExpViewBase
*/ */
public Remove(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public Remove(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const _this: any = this;
...@@ -427,6 +427,12 @@ export default class Usr2Base extends Vue implements ControlInterface { ...@@ -427,6 +427,12 @@ export default class Usr2Base extends Vue implements ControlInterface {
} }
let result: boolean = true; let result: boolean = true;
Object.assign(actionData, args); Object.assign(actionData, args);
if ('selectionchange'.indexOf(eventName) !== -1) {
result = await this.execute_dataviewexpbar_selectionchange_ctrl_logic(actionData) && result;
}
if ('load'.indexOf(eventName) !== -1) {
result = await this.execute_dataviewexpbar_load_ctrl_logic(actionData) && result;
}
if (!result) { if (!result) {
return false; return false;
} }
...@@ -434,6 +440,30 @@ export default class Usr2Base extends Vue implements ControlInterface { ...@@ -434,6 +440,30 @@ export default class Usr2Base extends Vue implements ControlInterface {
return true; return true;
} }
/**
* 部件逻辑 -- dataviewexpbar_selectionchange
*
* @param {string} eventName 部件事件名称
* @param {any[]} data 数据
* @param {*} event 源事件对象
* @memberof Usr2Base
*/
public async execute_dataviewexpbar_selectionchange_ctrl_logic(actionData: any): Promise<boolean> {
console.log('暂未支持 CUSTOM 类型');
return true;
}
/**
* 部件逻辑 -- dataviewexpbar_load
*
* @param {string} eventName 部件事件名称
* @param {any[]} data 数据
* @param {*} event 源事件对象
* @memberof Usr2Base
*/
public async execute_dataviewexpbar_load_ctrl_logic(actionData: any): Promise<boolean> {
console.log('暂未支持 CUSTOM 类型');
return true;
}
...@@ -678,9 +708,9 @@ export default class Usr2Base extends Vue implements ControlInterface { ...@@ -678,9 +708,9 @@ export default class Usr2Base extends Vue implements ControlInterface {
* 工具栏模型 * 工具栏模型
* *
* @type {*} * @type {*}
* @memberof IBIZBOOKUsr2DataView * @memberof IBIZBOOKDataViewExpView
*/ */
public usr2dataviewdataview_batchtoolbarModels: any = { public dataviewexpviewdataviewexpbar_dataview_batchtoolbarModels: any = {
deuiaction1: { name: 'deuiaction1', actiontarget: 'NONE', caption: '编辑', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Edit', target: 'SINGLEKEY' } }, deuiaction1: { name: 'deuiaction1', actiontarget: 'NONE', caption: '编辑', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Edit', target: 'SINGLEKEY' } },
deuiaction2: { name: 'deuiaction2', actiontarget: 'NONE', caption: '删除', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Remove', target: 'MULTIKEY' } }, deuiaction2: { name: 'deuiaction2', actiontarget: 'NONE', caption: '删除', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Remove', target: 'MULTIKEY' } },
...@@ -1005,7 +1035,7 @@ export default class Usr2Base extends Vue implements ControlInterface { ...@@ -1005,7 +1035,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
*/ */
public async load(opt: any = {}, isReset: boolean = false): Promise<any> { public async load(opt: any = {}, isReset: boolean = false): Promise<any> {
if(!this.fetchAction){ if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr2DataView' + (this.$t('app.list.notConfig.fetchAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKDataViewExpView' + (this.$t('app.list.notConfig.fetchAction') as string) });
return; return;
} }
const arg: any = {...opt}; const arg: any = {...opt};
...@@ -1100,7 +1130,7 @@ export default class Usr2Base extends Vue implements ControlInterface { ...@@ -1100,7 +1130,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
*/ */
public async remove(datas: any[]): Promise<any> { public async remove(datas: any[]): Promise<any> {
if(!this.removeAction){ if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr2DataView' + (this.$t('app.gridpage.notConfig.removeAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKDataViewExpView' + (this.$t('app.gridpage.notConfig.removeAction') as string) });
return; return;
} }
let _datas:any[] = []; let _datas:any[] = [];
...@@ -1217,7 +1247,7 @@ export default class Usr2Base extends Vue implements ControlInterface { ...@@ -1217,7 +1247,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
try { try {
if(Object.is(item.rowDataState, 'create')){ if(Object.is(item.rowDataState, 'create')){
if(!this.createAction){ if(!this.createAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr2DataView' + (this.$t('app.list.notConfig.createAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKDataViewExpView' + (this.$t('app.list.notConfig.createAction') as string) });
}else{ }else{
Object.assign(item,{viewparams:this.viewparams}); Object.assign(item,{viewparams:this.viewparams});
let response = await this.service.add(this.createAction, JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator); let response = await this.service.add(this.createAction, JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator);
...@@ -1225,7 +1255,7 @@ export default class Usr2Base extends Vue implements ControlInterface { ...@@ -1225,7 +1255,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
} }
}else if(Object.is(item.rowDataState, 'update')){ }else if(Object.is(item.rowDataState, 'update')){
if(!this.updateAction){ if(!this.updateAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr2DataView' + (this.$t('app.list.notConfig.updateAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKDataViewExpView' + (this.$t('app.list.notConfig.updateAction') as string) });
}else{ }else{
Object.assign(item,{viewparams:this.viewparams}); Object.assign(item,{viewparams:this.viewparams});
if(item.ibizbook){ if(item.ibizbook){
...@@ -1327,16 +1357,16 @@ export default class Usr2Base extends Vue implements ControlInterface { ...@@ -1327,16 +1357,16 @@ export default class Usr2Base extends Vue implements ControlInterface {
public uiAction(data: any, tag: any, $event: any) { public uiAction(data: any, tag: any, $event: any) {
$event.stopPropagation(); $event.stopPropagation();
if(Object.is('Edit', tag)) { if(Object.is('Edit', tag)) {
this.dataview_batchtoolbar_deuiaction1_click(data, tag, $event); this.dataviewexpbar_dataview_batchtoolbar_deuiaction1_click(data, tag, $event);
} }
if(Object.is('Remove', tag)) { if(Object.is('Remove', tag)) {
this.dataview_batchtoolbar_deuiaction2_click(data, tag, $event); this.dataviewexpbar_dataview_batchtoolbar_deuiaction2_click(data, tag, $event);
} }
if(Object.is('Edit', tag)) { if(Object.is('Edit', tag)) {
this.dataview_memo1_u37f11a8_click(data, tag, $event); this.dataviewexpbar_dataview_memo1_u37f11a8_click(data, tag, $event);
} }
if(Object.is('Remove', tag)) { if(Object.is('Remove', tag)) {
this.dataview_memo1_uc365542_click(data, tag, $event); this.dataviewexpbar_dataview_memo1_uc365542_click(data, tag, $event);
} }
} }
......
...@@ -288,7 +288,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -288,7 +288,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @param {*} [$event] 事件源 * @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件 * @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文 * @param {*} [actionContext] 执行行为上下文
* @memberof IBIZOrderPickupGridViewBase * @memberof IBIZOrderSF1GridViewBase
*/ */
public Edit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public Edit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
if (args.length === 0) { if (args.length === 0) {
...@@ -431,6 +431,20 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -431,6 +431,20 @@ export default class MainBase extends Vue implements ControlInterface {
return this.selections[0]; return this.selections[0];
} }
/**
* 打开新建数据视图
*
* @type {any}
* @memberof MainBase
*/
@Prop() public newdata: any;
/**
* 打开编辑数据视图
*
* @type {any}
* @memberof MainBase
*/
@Prop() public opendata: any;
/** /**
* 是否嵌入关系界面 * 是否嵌入关系界面
...@@ -965,7 +979,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -965,7 +979,7 @@ export default class MainBase extends Vue implements ControlInterface {
if (!this.fetchAction) { if (!this.fetchAction) {
this.$Notice.error({ this.$Notice.error({
title: this.$t("app.commonWords.wrong") as string, title: this.$t("app.commonWords.wrong") as string,
desc: "IBIZOrderPickupGridView" + (this.$t("app.gridpage.notConfig.fetchAction") as string), desc: "IBIZOrderSF1GridView" + (this.$t("app.gridpage.notConfig.fetchAction") as string),
}); });
return; return;
} }
...@@ -1105,7 +1119,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1105,7 +1119,7 @@ export default class MainBase extends Vue implements ControlInterface {
if (!this.removeAction) { if (!this.removeAction) {
this.$Notice.error({ this.$Notice.error({
title: (this.$t('app.commonWords.wrong') as string), title: (this.$t('app.commonWords.wrong') as string),
desc: 'IBIZOrderPickupGridView' + (this.$t('app.gridpage.notConfig.removeAction') as string) desc: 'IBIZOrderSF1GridView' + (this.$t('app.gridpage.notConfig.removeAction') as string)
}); });
return; return;
} }
...@@ -1219,7 +1233,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1219,7 +1233,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/ */
public addBatch(arg: any = {}): void { public addBatch(arg: any = {}): void {
if(!this.fetchAction){ if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderPickupGridView'+(this.$t('app.gridpage.notConfig.fetchAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderSF1GridView'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
return; return;
} }
if(!arg){ if(!arg){
...@@ -2152,7 +2166,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2152,7 +2166,7 @@ export default class MainBase extends Vue implements ControlInterface {
try { try {
if (Object.is(item.rowDataState, 'create')) { if (Object.is(item.rowDataState, 'create')) {
if (!this.createAction) { if (!this.createAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderPickupGridView'+(this.$t('app.gridpage.notConfig.createAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderSF1GridView'+(this.$t('app.gridpage.notConfig.createAction') as string) });
} else { } else {
Object.assign(item, { viewparams: this.viewparams }); Object.assign(item, { viewparams: this.viewparams });
const tempContext = Util.deepCopy(this.context); const tempContext = Util.deepCopy(this.context);
...@@ -2161,7 +2175,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2161,7 +2175,7 @@ export default class MainBase extends Vue implements ControlInterface {
} }
}else if (Object.is(item.rowDataState, 'update')){ }else if (Object.is(item.rowDataState, 'update')){
if (!this.updateAction) { if (!this.updateAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderPickupGridView'+(this.$t('app.gridpage.notConfig.updateAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderSF1GridView'+(this.$t('app.gridpage.notConfig.updateAction') as string) });
} else { } else {
Object.assign(item, { viewparams: this.viewparams }); Object.assign(item, { viewparams: this.viewparams });
const tempContext = Util.deepCopy(this.context); const tempContext = Util.deepCopy(this.context);
...@@ -2237,7 +2251,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2237,7 +2251,7 @@ export default class MainBase extends Vue implements ControlInterface {
if(!this.loaddraftAction){ if(!this.loaddraftAction){
this.$Notice.error({ this.$Notice.error({
title: (this.$t('app.commonWords.wrong') as string), title: (this.$t('app.commonWords.wrong') as string),
desc: 'IBIZOrderPickupGridView' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string) desc: 'IBIZOrderSF1GridView' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string)
}); });
return; return;
} }
......
...@@ -105,6 +105,21 @@ export default class MainModel { ...@@ -105,6 +105,21 @@ export default class MainModel {
prop: 'n_ibizordername_like', prop: 'n_ibizordername_like',
dataType: 'QUERYPARAM' dataType: 'QUERYPARAM'
}, },
{
name: 'n_orderstate_eq',
prop: 'n_orderstate_eq',
dataType: 'QUERYPARAM'
},
{
name: 'n_ordertime_gt',
prop: 'n_ordertime_gt',
dataType: 'QUERYPARAM'
},
{
name: 'n_ordertime_lt',
prop: 'n_ordertime_lt',
dataType: 'QUERYPARAM'
},
{ {
name:'size', name:'size',
......
...@@ -12,6 +12,18 @@ ...@@ -12,6 +12,18 @@
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json" "path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
}, },
"getPSDETreeColumns" : [ { "getPSDETreeColumns" : [ {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "归还日期", "caption" : "归还日期",
"codeName" : "returntime", "codeName" : "returntime",
"columnType" : "DEFGRIDCOLUMN", "columnType" : "DEFGRIDCOLUMN",
...@@ -59,18 +71,6 @@ ...@@ -59,18 +71,6 @@
"widthUnit" : "px", "widthUnit" : "px",
"enableExpand" : false, "enableExpand" : false,
"enableSort" : false "enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ], } ],
"getPSDETreeNodeRSs" : [ { "getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : { "getChildPSDETreeNode" : {
......
...@@ -20,6 +20,18 @@ ...@@ -20,6 +20,18 @@
} }
} ], } ],
"getPSDETreeColumns" : [ { "getPSDETreeColumns" : [ {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "作者", "caption" : "作者",
"codeName" : "author", "codeName" : "author",
"columnType" : "DEFGRIDCOLUMN", "columnType" : "DEFGRIDCOLUMN",
...@@ -43,18 +55,6 @@ ...@@ -43,18 +55,6 @@
"widthUnit" : "px", "widthUnit" : "px",
"enableExpand" : false, "enableExpand" : false,
"enableSort" : false "enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ], } ],
"getPSDETreeNodeRSs" : [ { "getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : { "getChildPSDETreeNode" : {
......
...@@ -42,6 +42,18 @@ ...@@ -42,6 +42,18 @@
"id" : "GANTT" "id" : "GANTT"
}, },
"getPSDETreeColumns" : [ { "getPSDETreeColumns" : [ {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "归还日期", "caption" : "归还日期",
"codeName" : "returntime", "codeName" : "returntime",
"columnType" : "DEFGRIDCOLUMN", "columnType" : "DEFGRIDCOLUMN",
...@@ -89,18 +101,6 @@ ...@@ -89,18 +101,6 @@
"widthUnit" : "px", "widthUnit" : "px",
"enableExpand" : false, "enableExpand" : false,
"enableSort" : false "enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ], } ],
"getPSDETreeNodeRSs" : [ { "getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : { "getChildPSDETreeNode" : {
......
...@@ -88,6 +88,18 @@ ...@@ -88,6 +88,18 @@
"id" : "TREEGRIDEX" "id" : "TREEGRIDEX"
}, },
"getPSDETreeColumns" : [ { "getPSDETreeColumns" : [ {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "作者", "caption" : "作者",
"codeName" : "author", "codeName" : "author",
"columnType" : "DEFGRIDCOLUMN", "columnType" : "DEFGRIDCOLUMN",
...@@ -111,18 +123,6 @@ ...@@ -111,18 +123,6 @@
"widthUnit" : "px", "widthUnit" : "px",
"enableExpand" : false, "enableExpand" : false,
"enableSort" : false "enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ], } ],
"getPSDETreeNodeRSs" : [ { "getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : { "getChildPSDETreeNode" : {
......
...@@ -10,402 +10,16 @@ ...@@ -10,402 +10,16 @@
"path" : "PSSYSAPPS/Web/PSAPPMODULES/Ungroup.json" "path" : "PSSYSAPPS/Web/PSAPPMODULES/Ungroup.json"
}, },
"getPSViewLayoutPanel" : { "getPSViewLayoutPanel" : {
"getAllPSPanelFields" : [ { "codeName" : "Layoutpanel",
"id" : "auth_orgpick" "controlStyle" : "APPLOGINVIEW",
}, {
"id" : "userid"
}, {
"id" : "auth_password"
}, {
"id" : "auth_verificationcode"
}, {
"id" : "auth_loginmsg"
} ],
"codeName" : "Usr1102196415",
"controlType" : "VIEWLAYOUTPANEL", "controlType" : "VIEWLAYOUTPANEL",
"layoutMode" : "FLEX", "mOSFilePath" : "pssysviewlayoutpanels/Layoutpanel",
"logicName" : "AppLoginView",
"mOSFilePath" : "pssysviewlayoutpanels/Usr1102196415",
"memo" : "应用登录视图",
"name" : "layoutpanel", "name" : "layoutpanel",
"getPSAppViewLogics" : [ {
"logicTrigger" : "CUSTOM",
"logicType" : "APPVIEWUIACTION",
"name" : "layoutpanel_auth_loginbutton1_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "layoutpanel_auth_loginbutton1"
}
}, {
"logicTrigger" : "CUSTOM",
"logicType" : "APPVIEWUIACTION",
"name" : "layoutpanel_auth_resetinput1_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "layoutpanel_auth_resetinput1"
}
}, {
"logicTrigger" : "CUSTOM",
"logicType" : "APPVIEWUIACTION",
"name" : "layoutpanel_auth_logout1_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "layoutpanel_auth_logout1"
}
} ],
"getPSAppViewUIActions" : [ {
"name" : "layoutpanel_auth_loginbutton1",
"getPSUIAction" : {
"modelref" : true,
"id" : "panel_Usr1102196415_auth_loginbutton1_click"
},
"xDataControlName" : "layoutpanel"
}, {
"name" : "layoutpanel_auth_resetinput1",
"getPSUIAction" : {
"modelref" : true,
"id" : "panel_Usr1102196415_auth_resetinput1_click"
},
"xDataControlName" : "layoutpanel"
}, {
"name" : "layoutpanel_auth_logout1",
"getPSUIAction" : {
"modelref" : true,
"id" : "panel_Usr1102196415_auth_logout1_click"
},
"xDataControlName" : "layoutpanel"
} ],
"getPSControlParam" : { }, "getPSControlParam" : { },
"getPSLayout" : {
"layout" : "FLEX"
},
"rTMOSFilePath" : "pssysapps/Web/psapputilviews/AppLoginView/psappviewctrls/layoutpanel", "rTMOSFilePath" : "pssysapps/Web/psapputilviews/AppLoginView/psappviewctrls/layoutpanel",
"getRootPSPanelItems" : [ { "layoutBodyOnly" : true,
"caption" : "图片背景容器",
"contentHeight" : 100.0,
"contentWidth" : 100.0,
"height" : 100.0,
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "page_container",
"getPSLayout" : {
"layout" : "FLEX"
},
"getPSLayoutPos" : {
"grow" : -1,
"height" : 100,
"heightMode" : "PERCENTAGE",
"layout" : "FLEX",
"width" : 100,
"widthMode" : "PERCENTAGE"
},
"getPSPanelItems" : [ {
"caption" : "容器",
"contentHeight" : 600.0,
"contentWidth" : 450.0,
"height" : 600.0,
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container1",
"getPSLayout" : {
"dir" : "column",
"layout" : "FLEX"
},
"getPSLayoutPos" : {
"grow" : -1,
"hAlignSelf" : "CENTER",
"height" : 600,
"heightMode" : "PX",
"layout" : "FLEX",
"spacingBottom" : "INNERLARGE",
"spacingLeft" : "INNERLARGE",
"spacingRight" : "INNERLARGE",
"spacingTop" : "INNERLARGE",
"vAlignSelf" : "MIDDLE",
"width" : 450,
"widthMode" : "PX"
},
"getPSPanelItems" : [ {
"caption" : "组织",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "auth_orgpick",
"getPSEditor" : {
"editorParams" : {
"AC" : "TRUE",
"PICKUPVIEW" : "TRUE"
},
"editorType" : "PICKER",
"name" : "auth_orgpick",
"predefinedType" : "AUTH_ORGPICK",
"enableAC" : true,
"enablePickupView" : true,
"forceSelection" : true,
"showTrigger" : true,
"singleSelect" : true
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"hidden" : false,
"showCaption" : false
}, {
"caption" : "用户名",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "userid",
"getPSEditor" : {
"editorType" : "TEXTBOX",
"name" : "userid",
"predefinedType" : "AUTH_USERID"
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX",
"spacingTop" : "OUTERMEDIUM"
},
"getPSSysCss" : {
"cssName" : "greenToolBar"
},
"hidden" : false,
"showCaption" : false
}, {
"caption" : "密码",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "auth_password",
"getPSEditor" : {
"editorType" : "PASSWORD",
"name" : "auth_password",
"predefinedType" : "AUTH_PASSWORD"
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX",
"spacingTop" : "OUTERMEDIUM"
},
"hidden" : false,
"showCaption" : false
}, {
"caption" : "容器",
"contentWidth" : 100.0,
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container2",
"getPSLayout" : {
"align" : "space-around",
"dir" : "row",
"layout" : "FLEX",
"vAlign" : "center"
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX",
"spacingTop" : "OUTERLARGE",
"width" : 100,
"widthMode" : "PERCENTAGE"
},
"getPSPanelItems" : [ {
"actionType" : "UIACTION",
"buttonHeight" : 40.0,
"buttonStyle" : "PRIMARY",
"buttonWidth" : 175.0,
"caption" : "登陆",
"contentHeight" : 40.0,
"contentWidth" : 175.0,
"height" : 40.0,
"itemStyle" : "PRIMARY",
"itemType" : "BUTTON",
"name" : "auth_loginbutton1",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "layoutpanel_auth_loginbutton1"
},
"getPSLayoutPos" : {
"grow" : -1,
"hAlignSelf" : "CENTER",
"height" : 40,
"heightMode" : "PX",
"layout" : "FLEX",
"width" : 175,
"widthMode" : "PX"
},
"getPSSysCss" : {
"cssName" : "deepskyblueToolBar"
},
"getPSSysImage" : {
"glyph" : "xf021@FontAwesome",
"cssClass" : "fa fa-refresh"
},
"getPSUIAction" : {
"caption" : "登陆",
"codeName" : "panel_Usr1102196415_auth_loginbutton1_click",
"fullCodeName" : "panel_Usr1102196415_auth_loginbutton1_click",
"name" : "登陆",
"predefinedType" : "APP_LOGIN",
"rTMOSFilePath" : "pssysapps/Web/pssysappdeuiactions/panel_Usr1102196415_auth_loginbutton1_click",
"timeout" : 60000,
"uIActionMode" : "SYS",
"uIActionTag" : "panel_Usr1102196415_auth_loginbutton1_click",
"uIActionType" : "DEUIACTION"
},
"tooltip" : "登陆",
"width" : 175.0,
"showCaption" : true
}, {
"actionType" : "UIACTION",
"buttonHeight" : 40.0,
"buttonStyle" : "DEFAULT",
"buttonWidth" : 175.0,
"caption" : "重置",
"contentHeight" : 40.0,
"contentWidth" : 175.0,
"height" : 40.0,
"itemStyle" : "DEFAULT",
"itemType" : "BUTTON",
"name" : "auth_resetinput1",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "layoutpanel_auth_resetinput1"
},
"getPSLayoutPos" : {
"grow" : -1,
"hAlignSelf" : "CENTER",
"height" : 40,
"heightMode" : "PX",
"layout" : "FLEX",
"width" : 175,
"widthMode" : "PX"
},
"getPSUIAction" : {
"caption" : "重置",
"codeName" : "panel_Usr1102196415_auth_resetinput1_click",
"fullCodeName" : "panel_Usr1102196415_auth_resetinput1_click",
"name" : "重置",
"predefinedType" : "DATA_CANCELCHANGES",
"rTMOSFilePath" : "pssysapps/Web/pssysappdeuiactions/panel_Usr1102196415_auth_resetinput1_click",
"timeout" : 60000,
"uIActionMode" : "SYS",
"uIActionTag" : "panel_Usr1102196415_auth_resetinput1_click",
"uIActionType" : "DEUIACTION"
},
"tooltip" : "重置",
"width" : 175.0,
"showCaption" : true
} ],
"width" : 100.0
}, {
"caption" : "人机识别",
"itemStyle" : "DEFAULT",
"itemType" : "USERCONTROL",
"name" : "auth_captcha1",
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX",
"spacingTop" : "OUTERMEDIUM"
},
"predefinedType" : "AUTH_CAPTCHA",
"showCaption" : true
}, {
"caption" : "短信验证码",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "auth_verificationcode",
"getPSEditor" : {
"editorType" : "TEXTBOX",
"name" : "auth_verificationcode",
"predefinedType" : "AUTH_VERIFICATIONCODE"
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX",
"spacingTop" : "OUTERMEDIUM"
},
"hidden" : false,
"showCaption" : false
}, {
"caption" : "第三方登陆",
"itemStyle" : "DEFAULT",
"itemType" : "USERCONTROL",
"name" : "auth_sso1",
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX",
"spacingTop" : "OUTERMEDIUM"
},
"predefinedType" : "AUTH_SSO",
"showCaption" : true
}, {
"actionType" : "UIACTION",
"buttonHeight" : 40.0,
"buttonStyle" : "DEFAULT",
"caption" : "登出",
"contentHeight" : 40.0,
"height" : 40.0,
"itemStyle" : "DEFAULT",
"itemType" : "BUTTON",
"name" : "auth_logout1",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "layoutpanel_auth_logout1"
},
"getPSLayoutPos" : {
"grow" : -1,
"height" : 40,
"heightMode" : "PX",
"layout" : "FLEX",
"spacingTop" : "OUTERMEDIUM"
},
"getPSUIAction" : {
"caption" : "登出",
"codeName" : "panel_Usr1102196415_auth_logout1_click",
"fullCodeName" : "panel_Usr1102196415_auth_logout1_click",
"name" : "登出",
"predefinedType" : "APP_LOGOUT",
"rTMOSFilePath" : "pssysapps/Web/pssysappdeuiactions/panel_Usr1102196415_auth_logout1_click",
"timeout" : 60000,
"uIActionMode" : "SYS",
"uIActionTag" : "panel_Usr1102196415_auth_logout1_click",
"uIActionType" : "DEUIACTION"
},
"tooltip" : "登出",
"showCaption" : true
}, {
"caption" : "登陆校验信息",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "auth_loginmsg",
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "auth_loginmsg",
"predefinedType" : "AUTH_LOGINMSG",
"enableLinkView" : false
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX",
"spacingTop" : "OUTERMEDIUM"
},
"hidden" : false,
"showCaption" : false
} ],
"getPSSysCss" : {
"cssName" : "login-bg"
},
"width" : 450.0
} ],
"getPSSysImage" : {
"imagePath" : "/assets/img/login_bg.png"
},
"width" : 100.0
} ],
"layoutBodyOnly" : false,
"layoutPanel" : true, "layoutPanel" : true,
"useDefaultLayout" : false, "useDefaultLayout" : true
"viewProxyMode" : true,
"modelid" : "593C09F4-B3FC-439F-A99C-C78B36EE8C01",
"modeltype" : "PSSYSVIEWLAYOUTPANEL"
}, },
"rTMOSFilePath" : "pssysapps/Web/psapputilviews/AppLoginView", "rTMOSFilePath" : "pssysapps/Web/psapputilviews/AppLoginView",
"title" : "应用登录视图", "title" : "应用登录视图",
......
...@@ -1490,39 +1490,6 @@ ...@@ -1490,39 +1490,6 @@
"uIActionType" : "DEUIACTION", "uIActionType" : "DEUIACTION",
"globalUIAction" : true, "globalUIAction" : true,
"id" : "openDocument@IBIZSample0001" "id" : "openDocument@IBIZSample0001"
}, {
"caption" : "登陆",
"codeName" : "panel_Usr1102196415_auth_loginbutton1_click",
"fullCodeName" : "panel_Usr1102196415_auth_loginbutton1_click",
"name" : "登陆",
"predefinedType" : "APP_LOGIN",
"rTMOSFilePath" : "pssysapps/Web/pssysappdeuiactions/panel_Usr1102196415_auth_loginbutton1_click",
"timeout" : 60000,
"uIActionMode" : "SYS",
"uIActionTag" : "panel_Usr1102196415_auth_loginbutton1_click",
"uIActionType" : "DEUIACTION"
}, {
"caption" : "登出",
"codeName" : "panel_Usr1102196415_auth_logout1_click",
"fullCodeName" : "panel_Usr1102196415_auth_logout1_click",
"name" : "登出",
"predefinedType" : "APP_LOGOUT",
"rTMOSFilePath" : "pssysapps/Web/pssysappdeuiactions/panel_Usr1102196415_auth_logout1_click",
"timeout" : 60000,
"uIActionMode" : "SYS",
"uIActionTag" : "panel_Usr1102196415_auth_logout1_click",
"uIActionType" : "DEUIACTION"
}, {
"caption" : "重置",
"codeName" : "panel_Usr1102196415_auth_resetinput1_click",
"fullCodeName" : "panel_Usr1102196415_auth_resetinput1_click",
"name" : "重置",
"predefinedType" : "DATA_CANCELCHANGES",
"rTMOSFilePath" : "pssysapps/Web/pssysappdeuiactions/panel_Usr1102196415_auth_resetinput1_click",
"timeout" : 60000,
"uIActionMode" : "SYS",
"uIActionTag" : "panel_Usr1102196415_auth_resetinput1_click",
"uIActionType" : "DEUIACTION"
}, { }, {
"actionTarget" : "NONE", "actionTarget" : "NONE",
"caption" : "自定义按钮", "caption" : "自定义按钮",
...@@ -456,402 +456,16 @@ ...@@ -456,402 +456,16 @@
"path" : "PSSYSAPPS/Web/PSAPPMODULES/Ungroup.json" "path" : "PSSYSAPPS/Web/PSAPPMODULES/Ungroup.json"
}, },
"getPSViewLayoutPanel" : { "getPSViewLayoutPanel" : {
"getAllPSPanelFields" : [ { "codeName" : "Layoutpanel",
"id" : "auth_orgpick" "controlStyle" : "APPLOGINVIEW",
}, {
"id" : "userid"
}, {
"id" : "auth_password"
}, {
"id" : "auth_verificationcode"
}, {
"id" : "auth_loginmsg"
} ],
"codeName" : "Usr1102196415",
"controlType" : "VIEWLAYOUTPANEL", "controlType" : "VIEWLAYOUTPANEL",
"layoutMode" : "FLEX", "mOSFilePath" : "pssysviewlayoutpanels/Layoutpanel",
"logicName" : "AppLoginView",
"mOSFilePath" : "pssysviewlayoutpanels/Usr1102196415",
"memo" : "应用登录视图",
"name" : "layoutpanel", "name" : "layoutpanel",
"getPSAppViewLogics" : [ {
"logicTrigger" : "CUSTOM",
"logicType" : "APPVIEWUIACTION",
"name" : "layoutpanel_auth_loginbutton1_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "layoutpanel_auth_loginbutton1"
}
}, {
"logicTrigger" : "CUSTOM",
"logicType" : "APPVIEWUIACTION",
"name" : "layoutpanel_auth_resetinput1_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "layoutpanel_auth_resetinput1"
}
}, {
"logicTrigger" : "CUSTOM",
"logicType" : "APPVIEWUIACTION",
"name" : "layoutpanel_auth_logout1_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "layoutpanel_auth_logout1"
}
} ],
"getPSAppViewUIActions" : [ {
"name" : "layoutpanel_auth_loginbutton1",
"getPSUIAction" : {
"modelref" : true,
"id" : "panel_Usr1102196415_auth_loginbutton1_click"
},
"xDataControlName" : "layoutpanel"
}, {
"name" : "layoutpanel_auth_resetinput1",
"getPSUIAction" : {
"modelref" : true,
"id" : "panel_Usr1102196415_auth_resetinput1_click"
},
"xDataControlName" : "layoutpanel"
}, {
"name" : "layoutpanel_auth_logout1",
"getPSUIAction" : {
"modelref" : true,
"id" : "panel_Usr1102196415_auth_logout1_click"
},
"xDataControlName" : "layoutpanel"
} ],
"getPSControlParam" : { }, "getPSControlParam" : { },
"getPSLayout" : {
"layout" : "FLEX"
},
"rTMOSFilePath" : "pssysapps/Web/psapputilviews/AppLoginView/psappviewctrls/layoutpanel", "rTMOSFilePath" : "pssysapps/Web/psapputilviews/AppLoginView/psappviewctrls/layoutpanel",
"getRootPSPanelItems" : [ { "layoutBodyOnly" : true,
"caption" : "图片背景容器",
"contentHeight" : 100.0,
"contentWidth" : 100.0,
"height" : 100.0,
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "page_container",
"getPSLayout" : {
"layout" : "FLEX"
},
"getPSLayoutPos" : {
"grow" : -1,
"height" : 100,
"heightMode" : "PERCENTAGE",
"layout" : "FLEX",
"width" : 100,
"widthMode" : "PERCENTAGE"
},
"getPSPanelItems" : [ {
"caption" : "容器",
"contentHeight" : 600.0,
"contentWidth" : 450.0,
"height" : 600.0,
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container1",
"getPSLayout" : {
"dir" : "column",
"layout" : "FLEX"
},
"getPSLayoutPos" : {
"grow" : -1,
"hAlignSelf" : "CENTER",
"height" : 600,
"heightMode" : "PX",
"layout" : "FLEX",
"spacingBottom" : "INNERLARGE",
"spacingLeft" : "INNERLARGE",
"spacingRight" : "INNERLARGE",
"spacingTop" : "INNERLARGE",
"vAlignSelf" : "MIDDLE",
"width" : 450,
"widthMode" : "PX"
},
"getPSPanelItems" : [ {
"caption" : "组织",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "auth_orgpick",
"getPSEditor" : {
"editorParams" : {
"AC" : "TRUE",
"PICKUPVIEW" : "TRUE"
},
"editorType" : "PICKER",
"name" : "auth_orgpick",
"predefinedType" : "AUTH_ORGPICK",
"enableAC" : true,
"enablePickupView" : true,
"forceSelection" : true,
"showTrigger" : true,
"singleSelect" : true
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"hidden" : false,
"showCaption" : false
}, {
"caption" : "用户名",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "userid",
"getPSEditor" : {
"editorType" : "TEXTBOX",
"name" : "userid",
"predefinedType" : "AUTH_USERID"
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX",
"spacingTop" : "OUTERMEDIUM"
},
"getPSSysCss" : {
"cssName" : "greenToolBar"
},
"hidden" : false,
"showCaption" : false
}, {
"caption" : "密码",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "auth_password",
"getPSEditor" : {
"editorType" : "PASSWORD",
"name" : "auth_password",
"predefinedType" : "AUTH_PASSWORD"
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX",
"spacingTop" : "OUTERMEDIUM"
},
"hidden" : false,
"showCaption" : false
}, {
"caption" : "容器",
"contentWidth" : 100.0,
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container2",
"getPSLayout" : {
"align" : "space-around",
"dir" : "row",
"layout" : "FLEX",
"vAlign" : "center"
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX",
"spacingTop" : "OUTERLARGE",
"width" : 100,
"widthMode" : "PERCENTAGE"
},
"getPSPanelItems" : [ {
"actionType" : "UIACTION",
"buttonHeight" : 40.0,
"buttonStyle" : "PRIMARY",
"buttonWidth" : 175.0,
"caption" : "登陆",
"contentHeight" : 40.0,
"contentWidth" : 175.0,
"height" : 40.0,
"itemStyle" : "PRIMARY",
"itemType" : "BUTTON",
"name" : "auth_loginbutton1",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "layoutpanel_auth_loginbutton1"
},
"getPSLayoutPos" : {
"grow" : -1,
"hAlignSelf" : "CENTER",
"height" : 40,
"heightMode" : "PX",
"layout" : "FLEX",
"width" : 175,
"widthMode" : "PX"
},
"getPSSysCss" : {
"cssName" : "deepskyblueToolBar"
},
"getPSSysImage" : {
"glyph" : "xf021@FontAwesome",
"cssClass" : "fa fa-refresh"
},
"getPSUIAction" : {
"caption" : "登陆",
"codeName" : "panel_Usr1102196415_auth_loginbutton1_click",
"fullCodeName" : "panel_Usr1102196415_auth_loginbutton1_click",
"name" : "登陆",
"predefinedType" : "APP_LOGIN",
"rTMOSFilePath" : "pssysapps/Web/pssysappdeuiactions/panel_Usr1102196415_auth_loginbutton1_click",
"timeout" : 60000,
"uIActionMode" : "SYS",
"uIActionTag" : "panel_Usr1102196415_auth_loginbutton1_click",
"uIActionType" : "DEUIACTION"
},
"tooltip" : "登陆",
"width" : 175.0,
"showCaption" : true
}, {
"actionType" : "UIACTION",
"buttonHeight" : 40.0,
"buttonStyle" : "DEFAULT",
"buttonWidth" : 175.0,
"caption" : "重置",
"contentHeight" : 40.0,
"contentWidth" : 175.0,
"height" : 40.0,
"itemStyle" : "DEFAULT",
"itemType" : "BUTTON",
"name" : "auth_resetinput1",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "layoutpanel_auth_resetinput1"
},
"getPSLayoutPos" : {
"grow" : -1,
"hAlignSelf" : "CENTER",
"height" : 40,
"heightMode" : "PX",
"layout" : "FLEX",
"width" : 175,
"widthMode" : "PX"
},
"getPSUIAction" : {
"caption" : "重置",
"codeName" : "panel_Usr1102196415_auth_resetinput1_click",
"fullCodeName" : "panel_Usr1102196415_auth_resetinput1_click",
"name" : "重置",
"predefinedType" : "DATA_CANCELCHANGES",
"rTMOSFilePath" : "pssysapps/Web/pssysappdeuiactions/panel_Usr1102196415_auth_resetinput1_click",
"timeout" : 60000,
"uIActionMode" : "SYS",
"uIActionTag" : "panel_Usr1102196415_auth_resetinput1_click",
"uIActionType" : "DEUIACTION"
},
"tooltip" : "重置",
"width" : 175.0,
"showCaption" : true
} ],
"width" : 100.0
}, {
"caption" : "人机识别",
"itemStyle" : "DEFAULT",
"itemType" : "USERCONTROL",
"name" : "auth_captcha1",
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX",
"spacingTop" : "OUTERMEDIUM"
},
"predefinedType" : "AUTH_CAPTCHA",
"showCaption" : true
}, {
"caption" : "短信验证码",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "auth_verificationcode",
"getPSEditor" : {
"editorType" : "TEXTBOX",
"name" : "auth_verificationcode",
"predefinedType" : "AUTH_VERIFICATIONCODE"
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX",
"spacingTop" : "OUTERMEDIUM"
},
"hidden" : false,
"showCaption" : false
}, {
"caption" : "第三方登陆",
"itemStyle" : "DEFAULT",
"itemType" : "USERCONTROL",
"name" : "auth_sso1",
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX",
"spacingTop" : "OUTERMEDIUM"
},
"predefinedType" : "AUTH_SSO",
"showCaption" : true
}, {
"actionType" : "UIACTION",
"buttonHeight" : 40.0,
"buttonStyle" : "DEFAULT",
"caption" : "登出",
"contentHeight" : 40.0,
"height" : 40.0,
"itemStyle" : "DEFAULT",
"itemType" : "BUTTON",
"name" : "auth_logout1",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "layoutpanel_auth_logout1"
},
"getPSLayoutPos" : {
"grow" : -1,
"height" : 40,
"heightMode" : "PX",
"layout" : "FLEX",
"spacingTop" : "OUTERMEDIUM"
},
"getPSUIAction" : {
"caption" : "登出",
"codeName" : "panel_Usr1102196415_auth_logout1_click",
"fullCodeName" : "panel_Usr1102196415_auth_logout1_click",
"name" : "登出",
"predefinedType" : "APP_LOGOUT",
"rTMOSFilePath" : "pssysapps/Web/pssysappdeuiactions/panel_Usr1102196415_auth_logout1_click",
"timeout" : 60000,
"uIActionMode" : "SYS",
"uIActionTag" : "panel_Usr1102196415_auth_logout1_click",
"uIActionType" : "DEUIACTION"
},
"tooltip" : "登出",
"showCaption" : true
}, {
"caption" : "登陆校验信息",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "auth_loginmsg",
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "auth_loginmsg",
"predefinedType" : "AUTH_LOGINMSG",
"enableLinkView" : false
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX",
"spacingTop" : "OUTERMEDIUM"
},
"hidden" : false,
"showCaption" : false
} ],
"getPSSysCss" : {
"cssName" : "login-bg"
},
"width" : 450.0
} ],
"getPSSysImage" : {
"imagePath" : "/assets/img/login_bg.png"
},
"width" : 100.0
} ],
"layoutBodyOnly" : false,
"layoutPanel" : true, "layoutPanel" : true,
"useDefaultLayout" : false, "useDefaultLayout" : true
"viewProxyMode" : true,
"modelid" : "593C09F4-B3FC-439F-A99C-C78B36EE8C01",
"modeltype" : "PSSYSVIEWLAYOUTPANEL"
}, },
"rTMOSFilePath" : "pssysapps/Web/psapputilviews/AppLoginView", "rTMOSFilePath" : "pssysapps/Web/psapputilviews/AppLoginView",
"title" : "应用登录视图", "title" : "应用登录视图",
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册