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

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

上级 d1afc8cc
<template> <template>
<div :class="[model.sysCss, 'app-login-button']" :style="containerStyle"> <div :class="curClassName" :style="curStyle">
<i-button @click="handleClick" :type="curStyle"> <i-button
<template v-if="model.sysImage"> @click="handleClick"
<i v-if="model.sysImage.iconcls" :class="model.sysImage.iconcls"/> :disabled="disabled"
<img v-else-if="model.sysImage.imagePath" :src="model.sysImage.imagePath" /> :title="curTooltip"
</template> :type="buttonType">
<span v-show="model.isShowCaption">{{ model.caption }}</span> <div :class="['button-content', iconAlign.toLowerCase()]">
<span v-if="cssClass || imagePath" class="icon">
<i v-if="cssClass" :class="cssClass" />
<img v-else :src="imagePath" />
</span>
<span v-if="showCaption" class="caption">{{ curCaption }}</span>
</div>
</i-button> </i-button>
</div> </div>
</template> </template>
<script lang="ts"> <script lang="ts">
import { PanelButtonModel } from "@/model/panel-detail";
import { Vue, Component, Prop } from "vue-property-decorator"; import { Vue, Component, Prop } from "vue-property-decorator";
@Component({}) @Component({})
...@@ -20,7 +25,7 @@ export default class AppLoginButton extends Vue { ...@@ -20,7 +25,7 @@ export default class AppLoginButton extends Vue {
/** /**
* 名称 * 名称
* *
* @type {PanelButtonModel} * @type {string}
* @memberof AppLoginButton * @memberof AppLoginButton
*/ */
@Prop() public name!: string; @Prop() public name!: string;
...@@ -28,10 +33,10 @@ export default class AppLoginButton extends Vue { ...@@ -28,10 +33,10 @@ export default class AppLoginButton extends Vue {
/** /**
* 模型 * 模型
* *
* @type {PanelButtonModel} * @type {any}
* @memberof AppLoginButton * @memberof AppLoginButton
*/ */
@Prop() public model!: PanelButtonModel; @Prop() public layoutModelDetails: any;
/** /**
* 类型 * 类型
...@@ -41,29 +46,154 @@ export default class AppLoginButton extends Vue { ...@@ -41,29 +46,154 @@ export default class AppLoginButton extends Vue {
*/ */
@Prop() public defaultStyle?: string; @Prop() public defaultStyle?: string;
/**
* 加载状态
*
* @memberof AppLoginButton
*/
@Prop({ default: false }) public loading?: boolean;
/**
* 标题
*
* @memberof AppLoginButton
*/
get curCaption() {
const layoutModel = this.layoutModelDetails[this.name];
return layoutModel.caption;
}
/**
* 提示信息
*
* @memberof AppLoginButton
*/
get curTooltip() {
const layoutModel = this.layoutModelDetails[this.name];
return layoutModel.tooltip;
}
/**
* 显示标题
*
* @memberof AppLoginButton
*/
get showCaption() {
const layoutModel = this.layoutModelDetails[this.name];
return layoutModel.isShowCaption;
}
/** /**
* 当前按钮类型 * 当前按钮类型
* *
* @type {string} * @type {string}
* @memberof AppLoginButton * @memberof AppLoginButton
*/ */
get curStyle(): string { get buttonType(): string {
if (this.model.renderMode == 'LINK') { const layoutModel = this.layoutModelDetails[this.name];
if (layoutModel.renderMode == 'LINK') {
return 'text'; return 'text';
} else if (this.model.buttonStyle != "DEFAULT" && this.defaultStyle) { } else if (layoutModel.buttonStyle != "DEFAULT" && this.defaultStyle) {
return this.defaultStyle; return this.defaultStyle;
} else { } else {
return this.model.buttonStyle.toLowerCase(); if (
Object.is(layoutModel.buttonStyle, 'DEFAULT') ||
Object.is(layoutModel.buttonStyle, 'STYLE2') ||
Object.is(layoutModel.buttonStyle, 'STYLE3') ||
Object.is(layoutModel.buttonStyle, 'STYLE4')
) {
return 'default';
} else if (Object.is(layoutModel.buttonStyle, 'DANGER')) {
return 'error';
} else if (Object.is(layoutModel.buttonStyle, 'INVERSE')) {
return 'primary';
} else {
return layoutModel.buttonStyle.toLowerCase();
}
} }
} }
/** /**
* 按钮样式 * 当前容器样式
*
* @memberof AppLoginButton
*/
get curStyle(){
const layoutModel = this.layoutModelDetails[this.name];
return layoutModel.getElementStyle();
}
/**
* 禁用
* *
* @type {string}
* @memberof AppLoginButton * @memberof AppLoginButton
*/ */
public containerStyle: any = null; get disabled(){
const layoutModel = this.layoutModelDetails[this.name];
return layoutModel.disabled;
}
/**
* 类名
*
* @memberof AppLoginButton
*/
get curClassName(){
const layoutModel = this.layoutModelDetails[this.name];
return `app-login-button ${this.name} ${layoutModel.sysCss}`;
}
/**
* 图片路径
*
* @memberof AppLoginButton
*/
get imagePath() {
const layoutModel = this.layoutModelDetails[this.name];
let imagePath = '';
if (layoutModel.sysImage) {
imagePath = layoutModel.sysImage.imagePath;
} else if (layoutModel.uiAction) {
imagePath = layoutModel.uiAction.imagePath;
}
return imagePath;
}
/**
* 图标
*
* @memberof AppLoginButton
*/
get cssClass() {
const layoutModel = this.layoutModelDetails[this.name];
let cssClass = '';
if (layoutModel.sysImage) {
cssClass = layoutModel.sysImage.iconcls;
} else if (layoutModel.uiAction) {
cssClass = layoutModel.uiAction.iconcls;
}
return cssClass;
}
/**
* 图标方向
*
* @memberof AppLoginButton
*/
get iconAlign() {
const layoutModel = this.layoutModelDetails[this.name];
return layoutModel.iconAlign || 'LEFT';
}
/**
* 按钮幽灵属性,使按钮背景透明
*
* @memberof AppLoginButton
*/
get buttonGhost() {
const layoutModel = this.layoutModelDetails[this.name];
return Object.is(layoutModel.buttonStyle, 'INVERSE');
}
/** /**
* 处理点击 * 处理点击
...@@ -75,11 +205,6 @@ export default class AppLoginButton extends Vue { ...@@ -75,11 +205,6 @@ export default class AppLoginButton extends Vue {
this.$emit("itemClick", this.name); this.$emit("itemClick", this.name);
} }
public mounted() {
if (this.model) {
this.containerStyle = this.model.getElementStyle();
}
}
} }
</script> </script>
......
<template> <template>
<div :class="[model.sysCss, 'app-login-captcha']" :style="containerStyle"> <div :class="curClassName" :style="curStyle">
<auth-puzzle-vcode :show="show" @success="onSuccess" @fail="onFail" /> <auth-puzzle-vcode :show="show" @success="onSuccess" @fail="onFail" />
<i-button :type="type" @click="executeOpen">验证</i-button> <i-button :type="type" @click="executeOpen">验证</i-button>
</div> </div>
</template> </template>
<script lang="ts"> <script lang="ts">
import { PanelUserControlModel } from "@/model/panel-detail";
import { Vue, Component, Prop } from "vue-property-decorator"; import { Vue, Component, Prop } from "vue-property-decorator";
import AuthPuzzleVcode from "./vue-puzzle-code/vue-puzzle-code.vue"; import AuthPuzzleVcode from "./vue-puzzle-code/vue-puzzle-code.vue";
@Component({ @Component({
...@@ -21,7 +20,7 @@ export default class AppLoginCaptcha extends Vue { ...@@ -21,7 +20,7 @@ export default class AppLoginCaptcha extends Vue {
* @type {string} * @type {string}
* @memberof AppLoginCaptcha * @memberof AppLoginCaptcha
*/ */
@Prop() public model!: PanelUserControlModel; @Prop() public layoutModelDetails: any;
/** /**
* 值 * 值
...@@ -40,12 +39,24 @@ export default class AppLoginCaptcha extends Vue { ...@@ -40,12 +39,24 @@ export default class AppLoginCaptcha extends Vue {
@Prop() public name!: string; @Prop() public name!: string;
/** /**
* 容器样式 * 当前容器样式
* *
* @type {any}
* @memberof AppLoginCaptcha * @memberof AppLoginCaptcha
*/ */
public containerStyle: any = null; get curStyle(){
const layoutModel = this.layoutModelDetails[this.name];
return layoutModel.getElementStyle();
}
/**
* 类名
*
* @memberof AppLoginCaptcha
*/
get curClassName(){
const layoutModel = this.layoutModelDetails[this.name];
return `app-login-captcha ${this.name} ${layoutModel.sysCss}`;
}
/** /**
* 是否显示 * 是否显示
...@@ -57,10 +68,7 @@ export default class AppLoginCaptcha extends Vue { ...@@ -57,10 +68,7 @@ export default class AppLoginCaptcha extends Vue {
*/ */
public type: string = 'default'; public type: string = 'default';
public mounted() { public created() {
if (this.model) {
this.containerStyle = this.model.getElementStyle();
}
if (this.value) { if (this.value) {
this.type = 'success'; this.type = 'success';
} }
......
<template> <template>
<div :class="[model.sysCss, 'app-login-input']" :style="containerStyle"> <div :class="curClassName" :style="curStyle">
<i-input <i-input
size='large' size='large'
:prefix='defaultIcon' :prefix='defaultIcon'
...@@ -7,13 +7,12 @@ ...@@ -7,13 +7,12 @@
:type="defaultType" :type="defaultType"
:disabled="disabled" :disabled="disabled"
:readonly="readonly" :readonly="readonly"
:placeholder="model.caption"> :placeholder="curCaption">
</i-input> </i-input>
</div> </div>
</template> </template>
<script lang="ts"> <script lang="ts">
import { PanelFieldModel } from '@/model/panel-detail';
import { Vue, Component, Prop } from 'vue-property-decorator'; import { Vue, Component, Prop } from 'vue-property-decorator';
@Component({ @Component({
...@@ -23,10 +22,10 @@ export default class AppLoginInput extends Vue { ...@@ -23,10 +22,10 @@ export default class AppLoginInput extends Vue {
/** /**
* 模型 * 模型
* *
* @type {string} * @type {any}
* @memberof AppLoginInput * @memberof AppLoginInput
*/ */
@Prop() public model!: PanelFieldModel; @Prop() public layoutModelDetails: any;
/** /**
* 值 * 值
...@@ -61,28 +60,34 @@ export default class AppLoginInput extends Vue { ...@@ -61,28 +60,34 @@ export default class AppLoginInput extends Vue {
@Prop() public defaultType?: string; @Prop() public defaultType?: string;
/** /**
* 容器样式 * 标题
* *
* @type {any}
* @memberof AppLoginInput * @memberof AppLoginInput
*/ */
public containerStyle: any = null; get curCaption() {
const layoutModel = this.layoutModelDetails[this.name];
return layoutModel.caption;
}
/** /**
* 禁用模 * 当前容器样
* *
* @type {any}
* @memberof AppLoginInput * @memberof AppLoginInput
*/ */
public disabled: boolean = false; get curStyle(){
const layoutModel = this.layoutModelDetails[this.name];
return layoutModel.getElementStyle();
}
/** /**
* 只读模式 * 类名
* *
* @type {any}
* @memberof AppLoginInput * @memberof AppLoginInput
*/ */
public readonly: boolean = false; get curClassName(){
const layoutModel = this.layoutModelDetails[this.name];
return `app-login-input ${this.name} ${layoutModel.sysCss}`;
}
/** /**
* 当前值 * 当前值
...@@ -103,12 +108,24 @@ export default class AppLoginInput extends Vue { ...@@ -103,12 +108,24 @@ export default class AppLoginInput extends Vue {
this.$emit('valueChange', { name: this.name, value: val }); this.$emit('valueChange', { name: this.name, value: val });
} }
public mounted() { /**
if (this.model) { * 禁用
this.containerStyle = this.model.getElementStyle(); *
this.disabled = Object.is(this.model.fieldState, '1'); * @memberof AppPresetSwitch
this.readonly = Object.is(this.model.fieldState, '2'); */
get disabled() {
const layoutModel = this.layoutModelDetails[this.name];
return layoutModel.disabled;
} }
/**
* 只读
*
* @memberof AppPresetSwitch
*/
get readonly() {
const layoutModel = this.layoutModelDetails[this.name];
return layoutModel.readonly;
} }
} }
......
<template> <template>
<div :class="[model.sysCss, 'app-login-message']" :style="containerStyle"> <div :class="curClassName" :style="curStyle">
<alert v-show="value" type="error" show-icon>{{ value }}</alert> <alert v-show="value" type="error" show-icon>{{ value }}</alert>
</div> </div>
</template> </template>
<script lang='ts'> <script lang='ts'>
import { PanelFieldModel } from "@/model/panel-detail";
import { Component, Vue, Prop } from "vue-property-decorator"; import { Component, Vue, Prop } from "vue-property-decorator";
@Component({}) @Component({})
...@@ -14,16 +13,16 @@ export default class AppLoginMessage extends Vue { ...@@ -14,16 +13,16 @@ export default class AppLoginMessage extends Vue {
/** /**
* 模型 * 模型
* *
* @type {string} * @type {any}
* @memberof AppLoginInput * @memberof AppLoginMessage
*/ */
@Prop() public model!: PanelFieldModel; @Prop() public layoutModelDetails: any;
/** /**
* 值 * 值
* *
* @type {string} * @type {string}
* @memberof AppLoginInput * @memberof AppLoginMessage
*/ */
@Prop() public value!: string; @Prop() public value!: string;
...@@ -31,22 +30,28 @@ export default class AppLoginMessage extends Vue { ...@@ -31,22 +30,28 @@ export default class AppLoginMessage extends Vue {
* 名称 * 名称
* *
* @type {string} * @type {string}
* @memberof AppLoginInput * @memberof AppLoginMessage
*/ */
@Prop() public name!: string; @Prop() public name!: string;
/** /**
* 容器样式 * 当前容器样式
* *
* @type {any} * @memberof AppLoginMessage
* @memberof AppLoginInput
*/ */
public containerStyle: any = null; get curStyle(){
const layoutModel = this.layoutModelDetails[this.name];
public mounted() { return layoutModel.getElementStyle();
if (this.model) {
this.containerStyle = this.model.getElementStyle();
} }
/**
* 类名
*
* @memberof AppLoginMessage
*/
get curClassName(){
const layoutModel = this.layoutModelDetails[this.name];
return `app-login-message ${this.name} ${layoutModel.sysCss}`;
} }
} }
......
<template> <template>
<div :class="[model.sysCss, 'app-login-note-verify']" :style="containerStyle"> <div :class="curClassName" :style="curStyle">
<div class="content"> <div class="content">
<i-input <i-input
size="default" size="default"
...@@ -26,7 +26,6 @@ ...@@ -26,7 +26,6 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { PanelFieldModel } from "@/model/panel-detail";
import { Vue, Component, Prop } from "vue-property-decorator"; import { Vue, Component, Prop } from "vue-property-decorator";
@Component({}) @Component({})
...@@ -34,16 +33,16 @@ export default class AppLoginNoteVerify extends Vue { ...@@ -34,16 +33,16 @@ export default class AppLoginNoteVerify extends Vue {
/** /**
* 模型 * 模型
* *
* @type {string} * @type {any}
* @memberof AppLoginInput * @memberof AppLoginNoteVerify
*/ */
@Prop() public model!: PanelFieldModel; @Prop() public layoutModelDetails: any;
/** /**
* 值 * 值
* *
* @type {string} * @type {string}
* @memberof AppLoginInput * @memberof AppLoginNoteVerify
*/ */
@Prop() public value!: string; @Prop() public value!: string;
...@@ -51,7 +50,7 @@ export default class AppLoginNoteVerify extends Vue { ...@@ -51,7 +50,7 @@ export default class AppLoginNoteVerify extends Vue {
* 名称 * 名称
* *
* @type {string} * @type {string}
* @memberof AppLoginInput * @memberof AppLoginNoteVerify
*/ */
@Prop() public name!: string; @Prop() public name!: string;
...@@ -113,17 +112,23 @@ export default class AppLoginNoteVerify extends Vue { ...@@ -113,17 +112,23 @@ export default class AppLoginNoteVerify extends Vue {
public timer: any = null; public timer: any = null;
/** /**
* 容器样式 * 当前容器样式
* *
* @type {any} * @memberof AppLoginNoteVerify
* @memberof AppLoginInput
*/ */
public containerStyle: any = null; get curStyle(){
const layoutModel = this.layoutModelDetails[this.name];
public mounted() { return layoutModel.getElementStyle();
if (this.model) {
this.containerStyle = this.model.getElementStyle();
} }
/**
* 类名
*
* @memberof AppLoginNoteVerify
*/
get curClassName(){
const layoutModel = this.layoutModelDetails[this.name];
return `app-login-note-verify ${this.name} ${layoutModel.sysCss}`;
} }
/** /**
......
<template> <template>
<div :class="[model.sysCss, 'app-login-org']" :style="containerStyle"> <div :class="curClassName" :style="curStyle">
<Select v-model="curKey"> <Select v-model="curKey">
<Option v-for="(item, index) in items" :value="item.value" :key="item.value">{{ item.label }}</Option> <Option v-for="(item, index) in items" :value="item.value" :key="item.value">{{ item.label }}</Option>
</Select> </Select>
</div> </div>
</template> </template>
<script lang='ts'> <script lang='ts'>
import { PanelFieldModel } from '@/model/panel-detail';
import { Vue, Component, Prop } from 'vue-property-decorator'; import { Vue, Component, Prop } from 'vue-property-decorator';
@Component({}) @Component({})
...@@ -34,7 +33,7 @@ export default class AppLoginOrg extends Vue { ...@@ -34,7 +33,7 @@ export default class AppLoginOrg extends Vue {
* @type {*} * @type {*}
* @memberof AppLoginOrg * @memberof AppLoginOrg
*/ */
@Prop() public model!: PanelFieldModel; @Prop() public layoutModelDetails: any;
/** /**
* 当前值 * 当前值
...@@ -63,12 +62,24 @@ export default class AppLoginOrg extends Vue { ...@@ -63,12 +62,24 @@ export default class AppLoginOrg extends Vue {
public items: Array<any> = []; public items: Array<any> = [];
/** /**
* 容器样式 * 当前容器样式
* *
* @type {any} * @memberof AppLoginOrg
* @memberof AppLoginInput
*/ */
public containerStyle: any = null; get curStyle(){
const layoutModel = this.layoutModelDetails[this.name];
return layoutModel.getElementStyle();
}
/**
* 类名
*
* @memberof AppLoginOrg
*/
get curClassName(){
const layoutModel = this.layoutModelDetails[this.name];
return `app-login-org ${this.name} ${layoutModel.sysCss}`;
}
/** /**
* 组件初始化数据,vue生命周期 * 组件初始化数据,vue生命周期
...@@ -77,9 +88,6 @@ export default class AppLoginOrg extends Vue { ...@@ -77,9 +88,6 @@ export default class AppLoginOrg extends Vue {
*/ */
public created() { public created() {
this.getOrgData(); this.getOrgData();
if (this.model) {
this.containerStyle = this.model.getElementStyle();
}
} }
/** /**
......
<template> <template>
<div :class="[model.sysCss, 'app-login-third']" :style="containerStyle"> <div :class="curClassName" :style="curStyle">
<div class="app-login-third__title">{{ $t("components.login.other") }}</div> <div class="app-login-third__title">{{ $t("components.login.other") }}</div>
<div class="app-login-third__content"> <div class="app-login-third__content">
<div class="sign-btn" @click="handleThirdLogin('DINGDING')"> <div class="sign-btn" @click="handleThirdLogin('DINGDING')">
...@@ -13,7 +13,6 @@ ...@@ -13,7 +13,6 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { PanelUserControlModel } from "@/model/panel-detail";
import { Component, Prop, Vue } from "vue-property-decorator"; import { Component, Prop, Vue } from "vue-property-decorator";
@Component({}) @Component({})
export default class AppThirdLogin extends Vue { export default class AppThirdLogin extends Vue {
...@@ -21,16 +20,16 @@ export default class AppThirdLogin extends Vue { ...@@ -21,16 +20,16 @@ export default class AppThirdLogin extends Vue {
/** /**
* 模型 * 模型
* *
* @type {string} * @type {any}
* @memberof AppLoginInput * @memberof AppThirdLogin
*/ */
@Prop() public model!: PanelUserControlModel; @Prop() public layoutModelDetails: any;
/** /**
* 值 * 值
* *
* @type {string} * @type {string}
* @memberof AppLoginInput * @memberof AppThirdLogin
*/ */
@Prop() public value!: string; @Prop() public value!: string;
...@@ -38,22 +37,28 @@ export default class AppThirdLogin extends Vue { ...@@ -38,22 +37,28 @@ export default class AppThirdLogin extends Vue {
* 名称 * 名称
* *
* @type {string} * @type {string}
* @memberof AppLoginInput * @memberof AppThirdLogin
*/ */
@Prop() public name!: string; @Prop() public name!: string;
/** /**
* 容器样式 * 当前容器样式
* *
* @type {any} * @memberof AppThirdLogin
* @memberof AppLoginInput
*/ */
public containerStyle: any = null; get curStyle(){
const layoutModel = this.layoutModelDetails[this.name];
public mounted() { return layoutModel.getElementStyle();
if (this.model) {
this.containerStyle = this.model.getElementStyle();
} }
/**
* 类名
*
* @memberof AppThirdLogin
*/
get curClassName(){
const layoutModel = this.layoutModelDetails[this.name];
return `app-login-input ${this.name} ${layoutModel.sysCss}`;
} }
/** /**
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</app-preset-button> </app-preset-button>
</template> </template>
<template #button_openview1> <template #button_openview1>
<app-login-button class="app-reset-button" name="button_openview1" :model="layoutModelDetails.button_openview1" defaultStyle='success' @itemClick="handleButtonClick" /> <app-login-button class="app-reset-button" name="button_openview1" :layoutModelDetails="layoutModelDetails" defaultStyle='success' @itemClick="handleButtonClick" />
</template> </template>
</app-standard-container> </app-standard-container>
</template> </template>
......
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
<app-index-user-info name="auth_userinfo1" :layoutModelDetails="layoutModelDetails"></app-index-user-info> <app-index-user-info name="auth_userinfo1" :layoutModelDetails="layoutModelDetails"></app-index-user-info>
</template> </template>
<template #auth_logout1> <template #auth_logout1>
<app-login-button class="app-logout-button" name="auth_logout1" :model="layoutModelDetails.auth_logout1" @itemClick="handleButtonClick" /> <app-login-button class="app-logout-button" name="auth_logout1" :layoutModelDetails="layoutModelDetails" @itemClick="handleButtonClick" />
</template> </template>
</app-simpleflex-container> </app-simpleflex-container>
</template> </template>
......
...@@ -5,34 +5,34 @@ ...@@ -5,34 +5,34 @@
<template #container1> <template #container1>
<app-standard-container name="container1" :layoutModelDetails="layoutModelDetails"> <app-standard-container name="container1" :layoutModelDetails="layoutModelDetails">
<template #userid> <template #userid>
<app-login-input class="app-login-user" name="userid" :model="layoutModelDetails.userid" :value="layoutData.userid" defaultIcon="ios-contact" @valueChange="handleValueChange" /> <app-login-input class="app-login-user" name="userid" :layoutModelDetails="layoutModelDetails" :value="layoutData.userid" defaultIcon="ios-contact" @valueChange="handleValueChange" />
</template> </template>
<template #auth_password> <template #auth_password>
<app-login-input class="app-login-password" name="auth_password" defaultType="password" :model="layoutModelDetails.auth_password" :value="layoutData.auth_password" defaultIcon="ios-key" @valueChange="handleValueChange" /> <app-login-input class="app-login-password" name="auth_password" defaultType="password" :layoutModelDetails="layoutModelDetails" :value="layoutData.auth_password" defaultIcon="ios-key" @valueChange="handleValueChange" />
</template> </template>
<template #auth_orgpick> <template #auth_orgpick>
<app-login-org name="auth_orgpick" :model="layoutModelDetails.auth_orgpick" :value="layoutData.auth_orgpick" @valueChange="handleValueChange" /> <app-login-org name="auth_orgpick" :layoutModelDetails="layoutModelDetails" :value="layoutData.auth_orgpick" @valueChange="handleValueChange" />
</template> </template>
<template #auth_loginbutton1> <template #auth_loginbutton1>
<app-login-button class="app-login-button" name="auth_loginbutton1" :model="layoutModelDetails.auth_loginbutton1" defaultStyle='primary' @itemClick="handleButtonClick" /> <app-login-button class="app-login-button" name="auth_loginbutton1" :layoutModelDetails="layoutModelDetails" defaultStyle='primary' @itemClick="handleButtonClick" />
</template> </template>
<template #auth_resetinput1> <template #auth_resetinput1>
<app-login-button class="app-reset-button" name="auth_resetinput1" :model="layoutModelDetails.auth_resetinput1" defaultStyle='success' @itemClick="handleButtonClick" /> <app-login-button class="app-reset-button" name="auth_resetinput1" :layoutModelDetails="layoutModelDetails" defaultStyle='success' @itemClick="handleButtonClick" />
</template> </template>
<template #auth_logout1> <template #auth_logout1>
<app-login-button class="app-logout-button" name="auth_logout1" :model="layoutModelDetails.auth_logout1" @itemClick="handleButtonClick" /> <app-login-button class="app-logout-button" name="auth_logout1" :layoutModelDetails="layoutModelDetails" @itemClick="handleButtonClick" />
</template> </template>
<template #auth_captcha1> <template #auth_captcha1>
<app-login-captcha name="auth_captcha1" :model="layoutModelDetails.auth_captcha1" :value="layoutData.auth_captcha1" @valueChange="handleValueChange" /> <app-login-captcha name="auth_captcha1" :layoutModelDetails="layoutModelDetails" :value="layoutData.auth_captcha1" @valueChange="handleValueChange" />
</template> </template>
<template #auth_verificationcode> <template #auth_verificationcode>
<app-login-note-verify name="auth_verificationcode" :model="layoutModelDetails.auth_verificationcode" :value="layoutData.auth_verificationcode" @valueChange="handleValueChange" /> <app-login-note-verify name="auth_verificationcode" :layoutModelDetails="layoutModelDetails" :value="layoutData.auth_verificationcode" @valueChange="handleValueChange" />
</template> </template>
<template #auth_loginmsg> <template #auth_loginmsg>
<app-login-message name="auth_loginmsg" :model="layoutModelDetails.auth_loginmsg" :value="layoutData.auth_loginmsg" /> <app-login-message name="auth_loginmsg" :layoutModelDetails="layoutModelDetails" :value="layoutData.auth_loginmsg" />
</template> </template>
<template #auth_sso1> <template #auth_sso1>
<app-login-third name="auth_sso1" :model="layoutModelDetails.auth_sso1" :value="layoutData.auth_sso1" /> <app-login-third name="auth_sso1" :layoutModelDetails="layoutModelDetails" :value="layoutData.auth_sso1" />
</template> </template>
</app-standard-container> </app-standard-container>
</template> </template>
......
...@@ -663,7 +663,7 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -663,7 +663,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: 'IBIZBOOKUsr5DataView' + (this.$t('app.searchForm.notConfig.loadAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr9GridView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -699,7 +699,7 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -699,7 +699,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/ */
public loadDraft(opt: any = {},mode?:string): void { public loadDraft(opt: any = {},mode?:string): void {
if(!this.loaddraftAction){ if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr5DataView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr9GridView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
......
...@@ -291,7 +291,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -291,7 +291,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @param {*} [$event] 事件源 * @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件 * @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文 * @param {*} [actionContext] 执行行为上下文
* @memberof IBIZOrderSF1GridViewBase * @memberof IBIZOrderPickupGridViewBase
*/ */
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) {
...@@ -413,20 +413,6 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -413,20 +413,6 @@ 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;
/** /**
* 是否嵌入关系界面 * 是否嵌入关系界面
...@@ -959,7 +945,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -959,7 +945,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/ */
public load(opt: any = {}, pageReset: boolean = false): void { public load(opt: any = {}, pageReset: boolean = false): void {
if(!this.fetchAction){ if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderSF1GridView'+(this.$t('app.gridpage.notConfig.fetchAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderPickupGridView'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
return; return;
} }
if(pageReset){ if(pageReset){
...@@ -1054,7 +1040,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1054,7 +1040,7 @@ export default class MainBase 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: 'IBIZOrderSF1GridView'+(this.$t('app.gridpage.notConfig.removeAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderPickupGridView'+(this.$t('app.gridpage.notConfig.removeAction') as string) });
return; return;
} }
let _datas:any[] = []; let _datas:any[] = [];
...@@ -1160,7 +1146,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1160,7 +1146,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: 'IBIZOrderSF1GridView'+(this.$t('app.gridpage.notConfig.fetchAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderPickupGridView'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
return; return;
} }
if(!arg){ if(!arg){
...@@ -2077,7 +2063,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2077,7 +2063,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: 'IBIZOrderSF1GridView'+(this.$t('app.gridpage.notConfig.createAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderPickupGridView'+(this.$t('app.gridpage.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);
...@@ -2085,7 +2071,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2085,7 +2071,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: 'IBIZOrderSF1GridView'+(this.$t('app.gridpage.notConfig.updateAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderPickupGridView'+(this.$t('app.gridpage.notConfig.updateAction') as string) });
}else{ }else{
Object.assign(item,{viewparams:this.viewparams}); Object.assign(item,{viewparams:this.viewparams});
if(item.ibizorder){ if(item.ibizorder){
...@@ -2152,7 +2138,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2152,7 +2138,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/ */
public newRow(args: any[], params?: any, $event?: any, xData?: any): void { public newRow(args: any[], params?: any, $event?: any, xData?: any): void {
if(!this.loaddraftAction){ if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderSF1GridView'+(this.$t('app.gridpage.notConfig.loaddraftAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderPickupGridView'+(this.$t('app.gridpage.notConfig.loaddraftAction') as string) });
return; return;
} }
let _this = this; let _this = this;
......
...@@ -104,21 +104,6 @@ export default class MainModel { ...@@ -104,21 +104,6 @@ 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',
......
...@@ -590,7 +590,7 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -590,7 +590,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: 'IBIZSample0021GridView_layout' + (this.$t('app.searchForm.notConfig.loadAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZSample0021WFDynaExpGridView_layout' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -626,7 +626,7 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -626,7 +626,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/ */
public loadDraft(opt: any = {},mode?:string): void { public loadDraft(opt: any = {},mode?:string): void {
if(!this.loaddraftAction){ if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZSample0021GridView_layout' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZSample0021WFDynaExpGridView_layout' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
......
...@@ -345,13 +345,6 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -345,13 +345,6 @@ export default class MainBase extends Vue implements ControlInterface {
return this.selections[0]; return this.selections[0];
} }
/**
* 打开新建数据视图
*
* @type {any}
* @memberof MainBase
*/
@Prop() public newdata: any;
/** /**
* 打开编辑数据视图 * 打开编辑数据视图
* *
...@@ -882,7 +875,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -882,7 +875,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/ */
public load(opt: any = {}, pageReset: boolean = false): void { public load(opt: any = {}, pageReset: boolean = false): void {
if(!this.fetchAction){ if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZSample0021GridView_layout'+(this.$t('app.gridpage.notConfig.fetchAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZSample0021WFDynaExpGridView_layout'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
return; return;
} }
if(pageReset){ if(pageReset){
...@@ -977,7 +970,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -977,7 +970,7 @@ export default class MainBase 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: 'IBIZSample0021GridView_layout'+(this.$t('app.gridpage.notConfig.removeAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZSample0021WFDynaExpGridView_layout'+(this.$t('app.gridpage.notConfig.removeAction') as string) });
return; return;
} }
let _datas:any[] = []; let _datas:any[] = [];
...@@ -1083,7 +1076,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1083,7 +1076,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: 'IBIZSample0021GridView_layout'+(this.$t('app.gridpage.notConfig.fetchAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZSample0021WFDynaExpGridView_layout'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
return; return;
} }
if(!arg){ if(!arg){
...@@ -1976,7 +1969,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1976,7 +1969,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: 'IBIZSample0021GridView_layout'+(this.$t('app.gridpage.notConfig.createAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZSample0021WFDynaExpGridView_layout'+(this.$t('app.gridpage.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);
...@@ -1984,7 +1977,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1984,7 +1977,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: 'IBIZSample0021GridView_layout'+(this.$t('app.gridpage.notConfig.updateAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZSample0021WFDynaExpGridView_layout'+(this.$t('app.gridpage.notConfig.updateAction') as string) });
}else{ }else{
Object.assign(item,{viewparams:this.viewparams}); Object.assign(item,{viewparams:this.viewparams});
if(item.ibizsample0021){ if(item.ibizsample0021){
...@@ -2051,7 +2044,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2051,7 +2044,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/ */
public newRow(args: any[], params?: any, $event?: any, xData?: any): void { public newRow(args: any[], params?: any, $event?: any, xData?: any): void {
if(!this.loaddraftAction){ if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZSample0021GridView_layout'+(this.$t('app.gridpage.notConfig.loaddraftAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZSample0021WFDynaExpGridView_layout'+(this.$t('app.gridpage.notConfig.loaddraftAction') as string) });
return; return;
} }
let _this = this; let _this = this;
......
...@@ -11,6 +11,16 @@ ...@@ -11,6 +11,16 @@
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json" "path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
}, },
"getPSDETreeColumns" : [ { "getPSDETreeColumns" : [ {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"name" : "author",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称", "caption" : "图书名称",
"codeName" : "ibizbookname", "codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN", "columnType" : "DEFGRIDCOLUMN",
...@@ -40,16 +50,6 @@ ...@@ -40,16 +50,6 @@
"widthUnit" : "px", "widthUnit" : "px",
"enableExpand" : false, "enableExpand" : false,
"enableSort" : false "enableSort" : false
}, {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"name" : "author",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, { }, {
"caption" : "借出日期", "caption" : "借出日期",
"codeName" : "lendouttime", "codeName" : "lendouttime",
......
...@@ -19,11 +19,11 @@ ...@@ -19,11 +19,11 @@
} }
} ], } ],
"getPSDETreeColumns" : [ { "getPSDETreeColumns" : [ {
"caption" : "作者", "caption" : "图书名称",
"codeName" : "author", "codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN", "columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author", "dataItemName" : "ibizbookname",
"name" : "author", "name" : "ibizbookname",
"width" : 50, "width" : 50,
"widthUnit" : "px", "widthUnit" : "px",
"enableExpand" : false, "enableExpand" : false,
...@@ -39,11 +39,11 @@ ...@@ -39,11 +39,11 @@
"enableExpand" : false, "enableExpand" : false,
"enableSort" : false "enableSort" : false
}, { }, {
"caption" : "图书名称", "caption" : "作者",
"codeName" : "ibizbookname", "codeName" : "author",
"columnType" : "DEFGRIDCOLUMN", "columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname", "dataItemName" : "author",
"name" : "ibizbookname", "name" : "author",
"width" : 50, "width" : 50,
"widthUnit" : "px", "widthUnit" : "px",
"enableExpand" : false, "enableExpand" : false,
......
...@@ -34,6 +34,16 @@ ...@@ -34,6 +34,16 @@
"id" : "GANTT" "id" : "GANTT"
}, },
"getPSDETreeColumns" : [ { "getPSDETreeColumns" : [ {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"name" : "author",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称", "caption" : "图书名称",
"codeName" : "ibizbookname", "codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN", "columnType" : "DEFGRIDCOLUMN",
...@@ -63,16 +73,6 @@ ...@@ -63,16 +73,6 @@
"widthUnit" : "px", "widthUnit" : "px",
"enableExpand" : false, "enableExpand" : false,
"enableSort" : false "enableSort" : false
}, {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"name" : "author",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, { }, {
"caption" : "借出日期", "caption" : "借出日期",
"codeName" : "lendouttime", "codeName" : "lendouttime",
......
...@@ -75,11 +75,11 @@ ...@@ -75,11 +75,11 @@
"id" : "TREEGRIDEX" "id" : "TREEGRIDEX"
}, },
"getPSDETreeColumns" : [ { "getPSDETreeColumns" : [ {
"caption" : "作者", "caption" : "图书名称",
"codeName" : "author", "codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN", "columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author", "dataItemName" : "ibizbookname",
"name" : "author", "name" : "ibizbookname",
"width" : 50, "width" : 50,
"widthUnit" : "px", "widthUnit" : "px",
"enableExpand" : false, "enableExpand" : false,
...@@ -95,11 +95,11 @@ ...@@ -95,11 +95,11 @@
"enableExpand" : false, "enableExpand" : false,
"enableSort" : false "enableSort" : false
}, { }, {
"caption" : "图书名称", "caption" : "作者",
"codeName" : "ibizbookname", "codeName" : "author",
"columnType" : "DEFGRIDCOLUMN", "columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname", "dataItemName" : "author",
"name" : "ibizbookname", "name" : "author",
"width" : 50, "width" : 50,
"widthUnit" : "px", "widthUnit" : "px",
"enableExpand" : false, "enableExpand" : false,
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册