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

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

上级 04f385d7
...@@ -22,8 +22,8 @@ ...@@ -22,8 +22,8 @@
</template> </template>
<template v-if="!Object.is(this.navModel,'route')"> <template v-if="!Object.is(this.navModel,'route')">
<el-breadcrumb-item v-for="(item, index) in breadcrumbs" :key="item.path"> <el-breadcrumb-item v-for="(item, index) in breadcrumbs" :key="item.path">
<span v-if="index === breadcrumbs.length-1" class="no-redirect" >{{ $t(item.meta.caption)}}</span> <span v-if="index === breadcrumbs.length-1" class="no-redirect" >{{ getCaption(item.meta)}}</span>
<a v-else @click.prevent="handleLink(item)" >{{ $t(item.meta.caption) }}</a> <a v-else @click.prevent="handleLink(item)" >{{ getCaption(item.meta) }}</a>
</el-breadcrumb-item> </el-breadcrumb-item>
</template> </template>
</transition-group> </transition-group>
...@@ -113,6 +113,18 @@ export default class Breadcrumb extends Vue { ...@@ -113,6 +113,18 @@ export default class Breadcrumb extends Vue {
} }
} }
/**
* 获取项标题
*
* @memberof Breadcrumb
*/
public getCaption(meta: any): any {
const caption = meta.captionLanResTag ? this.$t(meta.captionLanResTag, meta.caption) : meta.caption;
return meta.info && !Object.is(meta.info, "")
? `${this.$t(caption)} - ${this.$t(meta.info)}`
: this.$t(caption);
}
/** /**
* 获取面包屑数据 * 获取面包屑数据
* *
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
:filterable="filterable" :filterable="filterable"
@on-open-change="onClick" @on-open-change="onClick"
:placeholder="placeholder?placeholder:$t('components.dropDownListDynamic.placeholder')"> :placeholder="placeholder?placeholder:$t('components.dropDownListDynamic.placeholder')">
<i-option v-for="(item, index) in items" :key="index" :class="item.class" :value="item.value">{{($t('userCustom.'+tag+'.'+item.value)!== ('userCustom.'+tag+'.'+item.value))?$t('userCustom.'+tag+'.'+item.value) : item.text}}</i-option> <i-option v-for="(item, index) in items" :key="index" :class="item.class" :value="item.value">{{item.text}}</i-option>
</i-select> </i-select>
</template> </template>
......
...@@ -69,8 +69,8 @@ export default class TabPageExp extends Vue { ...@@ -69,8 +69,8 @@ export default class TabPageExp extends Vue {
public getCaption(meta: any): any { public getCaption(meta: any): any {
const caption = meta.captionLanResTag ? this.$t(meta.captionLanResTag, meta.caption) : meta.caption; const caption = meta.captionLanResTag ? this.$t(meta.captionLanResTag, meta.caption) : meta.caption;
return meta.info && !Object.is(meta.info, "") return meta.info && !Object.is(meta.info, "")
? `${this.$t(caption)} - ${this.$t(meta.info)}` ? `${caption} - ${meta.info}`
: this.$t(caption); : caption;
} }
/** /**
......
...@@ -908,7 +908,7 @@ export default class IBIZBOOKDashboardView_layoutBase extends Vue { ...@@ -908,7 +908,7 @@ export default class IBIZBOOKDashboardView_layoutBase extends Vue {
if(this.$route && this.$route.meta){ if(this.$route && this.$route.meta){
this.$route.meta.info = this.model.dataInfo; this.$route.meta.info = this.model.dataInfo;
} }
Object.assign(this.model, { srfCaption: `${this.model.srfCaption} - ${this.$t(this.model.dataInfo)}` }); Object.assign(this.model, { srfCaption: `${this.model.srfCaption} - ${this.model.dataInfo}` });
} }
}) })
} }
......
...@@ -719,7 +719,7 @@ export default class IBIZBOOKDashboardViewBase extends Vue { ...@@ -719,7 +719,7 @@ export default class IBIZBOOKDashboardViewBase extends Vue {
if(this.$route && this.$route.meta){ if(this.$route && this.$route.meta){
this.$route.meta.info = this.model.dataInfo; this.$route.meta.info = this.model.dataInfo;
} }
Object.assign(this.model, { srfCaption: `${this.model.srfCaption} - ${this.$t(this.model.dataInfo)}` }); Object.assign(this.model, { srfCaption: `${this.model.srfCaption} - ${this.model.dataInfo}` });
} }
}) })
} }
......
...@@ -721,7 +721,7 @@ export default class IBIZOrderDashboardViewBase extends Vue { ...@@ -721,7 +721,7 @@ export default class IBIZOrderDashboardViewBase extends Vue {
if(this.$route && this.$route.meta){ if(this.$route && this.$route.meta){
this.$route.meta.info = this.model.dataInfo; this.$route.meta.info = this.model.dataInfo;
} }
Object.assign(this.model, { srfCaption: `${this.model.srfCaption} - ${this.$t(this.model.dataInfo)}` }); Object.assign(this.model, { srfCaption: `${this.model.srfCaption} - ${this.model.dataInfo}` });
} }
}) })
} }
......
...@@ -700,7 +700,7 @@ export default class IBIZOrderTabExpViewBase extends Vue { ...@@ -700,7 +700,7 @@ export default class IBIZOrderTabExpViewBase extends Vue {
if(this.$route && this.$route.meta){ if(this.$route && this.$route.meta){
this.$route.meta.info = this.model.dataInfo; this.$route.meta.info = this.model.dataInfo;
} }
Object.assign(this.model, { srfCaption: `${this.model.srfCaption} - ${this.$t(this.model.dataInfo)}` }); Object.assign(this.model, { srfCaption: `${this.model.srfCaption} - ${this.model.dataInfo}` });
} }
}) })
} }
......
...@@ -911,7 +911,7 @@ export default class IBIZSample0003STabExpView_layoutBase extends Vue { ...@@ -911,7 +911,7 @@ export default class IBIZSample0003STabExpView_layoutBase extends Vue {
if(this.$route && this.$route.meta){ if(this.$route && this.$route.meta){
this.$route.meta.info = this.model.dataInfo; this.$route.meta.info = this.model.dataInfo;
} }
Object.assign(this.model, { srfCaption: `${this.model.srfCaption} - ${this.$t(this.model.dataInfo)}` }); Object.assign(this.model, { srfCaption: `${this.model.srfCaption} - ${this.model.dataInfo}` });
} }
}) })
} }
......
...@@ -698,7 +698,7 @@ export default class IBIZSample0003STabExpViewBase extends Vue { ...@@ -698,7 +698,7 @@ export default class IBIZSample0003STabExpViewBase extends Vue {
if(this.$route && this.$route.meta){ if(this.$route && this.$route.meta){
this.$route.meta.info = this.model.dataInfo; this.$route.meta.info = this.model.dataInfo;
} }
Object.assign(this.model, { srfCaption: `${this.model.srfCaption} - ${this.$t(this.model.dataInfo)}` }); Object.assign(this.model, { srfCaption: `${this.model.srfCaption} - ${this.model.dataInfo}` });
} }
}) })
} }
......
...@@ -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];
......
...@@ -2205,4 +2205,5 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface ...@@ -2205,4 +2205,5 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface
<style lang='scss'> <style lang='scss'>
@import './guide-return-form-form.scss'; @import './guide-return-form-form.scss';
</style>de-return-form-form.scss';
</style> </style>
\ No newline at end of file
...@@ -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];
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<span class="quick-toolbar"> <span class="quick-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="listviewlist_quicktoolbarModels.deuiaction1.visabled" :disabled="listviewlist_quicktoolbarModels.deuiaction1.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_quicktoolbar_click({ tag: 'deuiaction1' }, $event)"> <i-button v-show="usr4listview_layoutlist_quicktoolbarModels.deuiaction1.visabled" :disabled="usr4listview_layoutlist_quicktoolbarModels.deuiaction1.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_quicktoolbar_click({ tag: 'deuiaction1' }, $event)">
<i class='fa fa-file-text-o'></i> <i class='fa fa-file-text-o'></i>
<span class='caption'>{{$t('TBB.TEXT.*.NEW', '新建')}}</span> <span class='caption'>{{$t('TBB.TEXT.*.NEW', '新建')}}</span>
</i-button> </i-button>
...@@ -41,14 +41,14 @@ ...@@ -41,14 +41,14 @@
<span class="batch-toolbar"> <span 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="listviewlist_batchtoolbarModels.deuiaction1.visabled" :disabled="listviewlist_batchtoolbarModels.deuiaction1.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_batchtoolbar_click({ tag: 'deuiaction1' }, $event)"> <i-button v-show="usr4listview_layoutlist_batchtoolbarModels.deuiaction1.visabled" :disabled="usr4listview_layoutlist_batchtoolbarModels.deuiaction1.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_batchtoolbar_click({ tag: 'deuiaction1' }, $event)">
<i class='fa fa-edit'></i> <i class='fa fa-edit'></i>
<span class='caption'>{{$t('TBB.TEXT.*.EDIT', '编辑')}}</span> <span class='caption'>{{$t('TBB.TEXT.*.EDIT', '编辑')}}</span>
</i-button> </i-button>
<div slot='content'>{{$t('TBB.TEXT.*.EDIT', '编辑')}}</div> <div slot='content'>{{$t('TBB.TEXT.*.EDIT', '编辑')}}</div>
</tooltip> </tooltip>
<tooltip :transfer="true" :max-width="600"> <tooltip :transfer="true" :max-width="600">
<i-button v-show="listviewlist_batchtoolbarModels.deuiaction2.visabled" :disabled="listviewlist_batchtoolbarModels.deuiaction2.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_batchtoolbar_click({ tag: 'deuiaction2' }, $event)"> <i-button v-show="usr4listview_layoutlist_batchtoolbarModels.deuiaction2.visabled" :disabled="usr4listview_layoutlist_batchtoolbarModels.deuiaction2.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_batchtoolbar_click({ tag: 'deuiaction2' }, $event)">
<i class='fa fa-remove'></i> <i class='fa fa-remove'></i>
<span class='caption'>{{$t('TBB.TEXT.*.REMOVE', '删除')}}</span> <span class='caption'>{{$t('TBB.TEXT.*.REMOVE', '删除')}}</span>
</i-button> </i-button>
...@@ -362,7 +362,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -362,7 +362,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* @param {*} [$event] 事件源 * @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件 * @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文 * @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKListViewBase * @memberof IBIZBOOKUsr4ListView_layoutBase
*/ */
public New(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public New(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const _this: any = this;
...@@ -382,7 +382,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -382,7 +382,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* @param {*} [$event] 事件源 * @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件 * @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文 * @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKListViewBase * @memberof IBIZBOOKUsr4ListView_layoutBase
*/ */
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) {
...@@ -408,7 +408,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -408,7 +408,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* @param {*} [$event] 事件源 * @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件 * @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文 * @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKListViewBase * @memberof IBIZBOOKUsr4ListView_layoutBase
*/ */
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;
...@@ -604,9 +604,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -604,9 +604,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* 工具栏模型 * 工具栏模型
* *
* @type {*} * @type {*}
* @memberof IBIZBOOKListView * @memberof IBIZBOOKUsr4ListView_layout
*/ */
public listviewlist_quicktoolbarModels: any = { public usr4listview_layoutlist_quicktoolbarModels: any = {
deuiaction1: { name: 'deuiaction1', actiontarget: 'NONE', caption: '新建', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'New', target: '' } }, deuiaction1: { name: 'deuiaction1', actiontarget: 'NONE', caption: '新建', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'New', target: '' } },
}; };
...@@ -616,9 +616,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -616,9 +616,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* 工具栏模型 * 工具栏模型
* *
* @type {*} * @type {*}
* @memberof IBIZBOOKListView * @memberof IBIZBOOKUsr4ListView_layout
*/ */
public listviewlist_batchtoolbarModels: any = { public usr4listview_layoutlist_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' } },
...@@ -841,7 +841,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -841,7 +841,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
*/ */
public async load(opt: any = {}): Promise<any> { public async load(opt: any = {}): Promise<any> {
if(!this.fetchAction){ if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.list.notConfig.fetchAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr4ListView_layout' + (this.$t('app.list.notConfig.fetchAction') as string) });
return; return;
} }
const arg: any = {...opt}; const arg: any = {...opt};
...@@ -971,7 +971,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -971,7 +971,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
*/ */
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: 'IBIZBOOKListView' + (this.$t('app.list.notConfig.removeAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr4ListView_layout' + (this.$t('app.list.notConfig.removeAction') as string) });
return; return;
} }
if (datas.length === 0) { if (datas.length === 0) {
...@@ -1076,7 +1076,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -1076,7 +1076,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
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: 'IBIZBOOKListView' + (this.$t('app.list.notConfig.createAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr4ListView_layout' + (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);
...@@ -1084,7 +1084,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -1084,7 +1084,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
} }
}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.warning') as string), desc: 'IBIZBOOKListView' + (this.$t('app.list.notConfig.updateAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.warning') as string), desc: 'IBIZBOOKUsr4ListView_layout' + (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){
......
<template> <template>
<i-form :model="this.data" class='app-search-form' ref='quicksearchform' style=""> <i-form :model="this.data" class='app-search-form' ref='searchform' style="">
<input style="display:none;"/> <input style="display:none;"/>
<row> <row>
<i-col span="20" class="form-content"> <i-col span="20" class="form-content">
...@@ -516,7 +516,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface ...@@ -516,7 +516,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
* @memberof QUICKSEARCHFORMBase * @memberof QUICKSEARCHFORMBase
*/ */
public formValidateStatus(): boolean { public formValidateStatus(): boolean {
const form: any = this.$refs.quicksearchform; const form: any = this.$refs.searchform;
let validatestate: boolean = true; let validatestate: boolean = true;
form.validate((valid: boolean) => { form.validate((valid: boolean) => {
validatestate = valid ? true : false; validatestate = valid ? true : false;
...@@ -670,7 +670,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface ...@@ -670,7 +670,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/ */
public load(opt: any = {}): void { public load(opt: any = {}): void {
if(!this.loadAction){ if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.searchForm.notConfig.loadAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrListView_plugin' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -706,7 +706,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface ...@@ -706,7 +706,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/ */
public async loadDraft(opt: any = {},mode?:string): Promise<any> { public async loadDraft(opt: any = {},mode?:string): Promise<any> {
if(!this.loaddraftAction){ if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrListView_plugin' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
......
...@@ -11,7 +11,7 @@ export default class Usr2Model { ...@@ -11,7 +11,7 @@ export default class Usr2Model {
* 获取数据项集合 * 获取数据项集合
* *
* @returns {any[]} * @returns {any[]}
* @memberof Usr2Dataviewexpbar_dataviewMode * @memberof Usr2DataViewMode
*/ */
public getDataItems(): any[] { public getDataItems(): any[] {
return [ return [
...@@ -40,6 +40,17 @@ export default class Usr2Model { ...@@ -40,6 +40,17 @@ export default class Usr2Model {
dataType: 'FONTKEY', dataType: 'FONTKEY',
}, },
{
name: 'n_ibizbookname_like',
prop: 'n_ibizbookname_like',
dataType: 'QUERYPARAM'
},
{
name: 'n_price_gtandeq',
prop: 'n_price_gtandeq',
dataType: 'QUERYPARAM'
},
{ {
name:'size', name:'size',
......
...@@ -70,11 +70,6 @@ export default class Usr4Model { ...@@ -70,11 +70,6 @@ export default class Usr4Model {
prop: 'n_ibizbookname_like', prop: 'n_ibizbookname_like',
dataType: 'QUERYPARAM' dataType: 'QUERYPARAM'
}, },
{
name: 'n_price_gtandeq',
prop: 'n_price_gtandeq',
dataType: 'QUERYPARAM'
},
{ {
......
...@@ -933,7 +933,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -933,7 +933,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: "IBIZOrderDetailSGridView" + (this.$t("app.gridpage.notConfig.fetchAction") as string), desc: "IBIZOrderDetailGridView9" + (this.$t("app.gridpage.notConfig.fetchAction") as string),
}); });
return; return;
} }
...@@ -1073,7 +1073,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1073,7 +1073,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: 'IBIZOrderDetailSGridView' + (this.$t('app.gridpage.notConfig.removeAction') as string) desc: 'IBIZOrderDetailGridView9' + (this.$t('app.gridpage.notConfig.removeAction') as string)
}); });
return; return;
} }
...@@ -1187,7 +1187,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1187,7 +1187,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: 'IBIZOrderDetailSGridView'+(this.$t('app.gridpage.notConfig.fetchAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailGridView9'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
return; return;
} }
if(!arg){ if(!arg){
...@@ -2082,7 +2082,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2082,7 +2082,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: 'IBIZOrderDetailSGridView'+(this.$t('app.gridpage.notConfig.createAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailGridView9'+(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);
...@@ -2091,7 +2091,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2091,7 +2091,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: 'IBIZOrderDetailSGridView'+(this.$t('app.gridpage.notConfig.updateAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailGridView9'+(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);
...@@ -2167,7 +2167,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2167,7 +2167,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: 'IBIZOrderDetailSGridView' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string) desc: 'IBIZOrderDetailGridView9' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string)
}); });
return; return;
} }
......
...@@ -768,7 +768,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface ...@@ -768,7 +768,7 @@ export default class CardNavigationBase 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: 'IBIZOrderDataViewExpView' + (this.$t('app.list.notConfig.fetchAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView_layout' + (this.$t('app.list.notConfig.fetchAction') as string) });
return; return;
} }
const arg: any = {...opt}; const arg: any = {...opt};
...@@ -862,7 +862,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface ...@@ -862,7 +862,7 @@ export default class CardNavigationBase 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: 'IBIZOrderDataViewExpView' + (this.$t('app.gridpage.notConfig.removeAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView_layout' + (this.$t('app.gridpage.notConfig.removeAction') as string) });
return; return;
} }
let _datas:any[] = []; let _datas:any[] = [];
...@@ -978,7 +978,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface ...@@ -978,7 +978,7 @@ export default class CardNavigationBase 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: 'IBIZOrderDataViewExpView' + (this.$t('app.list.notConfig.createAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView_layout' + (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);
...@@ -986,7 +986,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface ...@@ -986,7 +986,7 @@ export default class CardNavigationBase 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: 'IBIZOrderDataViewExpView' + (this.$t('app.list.notConfig.updateAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView_layout' + (this.$t('app.list.notConfig.updateAction') as string) });
}else{ }else{
Object.assign(item,{viewparams:this.viewparams}); Object.assign(item,{viewparams:this.viewparams});
if(item.ibizorder){ if(item.ibizorder){
......
...@@ -12,18 +12,6 @@ ...@@ -12,18 +12,6 @@
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json" "path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
}, },
"getPSDETreeColumns" : [ { "getPSDETreeColumns" : [ {
"caption" : "归还日期",
"codeName" : "returntime",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "returntime",
"mOSFilePath" : "psdetreecols/returntime",
"name" : "returntime",
"rTMOSFilePath" : "psdetreecols/returntime",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "出版社", "caption" : "出版社",
"codeName" : "press", "codeName" : "press",
"columnType" : "DEFGRIDCOLUMN", "columnType" : "DEFGRIDCOLUMN",
...@@ -71,6 +59,18 @@ ...@@ -71,6 +59,18 @@
"widthUnit" : "px", "widthUnit" : "px",
"enableExpand" : false, "enableExpand" : false,
"enableSort" : false "enableSort" : false
}, {
"caption" : "归还日期",
"codeName" : "returntime",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "returntime",
"mOSFilePath" : "psdetreecols/returntime",
"name" : "returntime",
"rTMOSFilePath" : "psdetreecols/returntime",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ], } ],
"getPSDETreeNodeRSs" : [ { "getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : { "getChildPSDETreeNode" : {
......
...@@ -42,18 +42,6 @@ ...@@ -42,18 +42,6 @@
"id" : "GANTT" "id" : "GANTT"
}, },
"getPSDETreeColumns" : [ { "getPSDETreeColumns" : [ {
"caption" : "归还日期",
"codeName" : "returntime",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "returntime",
"mOSFilePath" : "psdetreecols/returntime",
"name" : "returntime",
"rTMOSFilePath" : "psdetreecols/returntime",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "出版社", "caption" : "出版社",
"codeName" : "press", "codeName" : "press",
"columnType" : "DEFGRIDCOLUMN", "columnType" : "DEFGRIDCOLUMN",
...@@ -101,6 +89,18 @@ ...@@ -101,6 +89,18 @@
"widthUnit" : "px", "widthUnit" : "px",
"enableExpand" : false, "enableExpand" : false,
"enableSort" : false "enableSort" : false
}, {
"caption" : "归还日期",
"codeName" : "returntime",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "returntime",
"mOSFilePath" : "psdetreecols/returntime",
"name" : "returntime",
"rTMOSFilePath" : "psdetreecols/returntime",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ], } ],
"getPSDETreeNodeRSs" : [ { "getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : { "getChildPSDETreeNode" : {
......
...@@ -344,7 +344,7 @@ ...@@ -344,7 +344,7 @@
<!--输出实体[IBIZORDER]数据结构 --> <!--输出实体[IBIZORDER]数据结构 -->
<changeSet author="a_LAB01_df847bdfd" id="tab-ibizorder-795-14"> <changeSet author="a_LAB01_df847bdfd" id="tab-ibizorder-797-14">
<createTable tableName="T_IBIZORDER"> <createTable tableName="T_IBIZORDER">
<column name="TP" remarks="" type="TEXT(1048576)"> <column name="TP" remarks="" type="TEXT(1048576)">
</column> </column>
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
</createView> </createView>
</changeSet> </changeSet>
<!--输出实体[IBIZORDER]视图结构信息 runOnChange="true" 当视图发生变更时,通过liquibase强刷prod的视图,实现视图的同步--> <!--输出实体[IBIZORDER]视图结构信息 runOnChange="true" 当视图发生变更时,通过liquibase强刷prod的视图,实现视图的同步-->
<changeSet author="a_LAB01_df847bdfd" id="view-ibizorder-795-8" runOnChange="true"> <changeSet author="a_LAB01_df847bdfd" id="view-ibizorder-797-8" runOnChange="true">
<createView fullDefinition="false" replaceIfExists="true" viewName="V_IBIZORDER"> <createView fullDefinition="false" replaceIfExists="true" viewName="V_IBIZORDER">
<![CDATA[ SELECT t1.[AMOUNT], t1.[CREATEDATE], t1.[CREATEMAN], t1.[DETAILNUM], t1.[IBIZCUSTOMERID], t11.[IBIZCUSTOMERNAME], t1.[IBIZORDERID], t1.[IBIZORDERNAME], t1.[MEMO], t1.[ORDERSTATE], t1.[ORDERTIME], t1.[ORDERTYPE], t1.[ORDERUID], t1.[UPDATEDATE], t1.[UPDATEMAN], t1.[WFINSTANCEID], t1.[WFSTATE], t1.[WFSTEP] FROM [T_IBIZORDER] t1 LEFT JOIN T_IBIZCUSTOMER t11 ON t1.IBIZCUSTOMERID = t11.IBIZCUSTOMERID ]]> <![CDATA[ SELECT t1.[AMOUNT], t1.[CREATEDATE], t1.[CREATEMAN], t1.[DETAILNUM], t1.[IBIZCUSTOMERID], t11.[IBIZCUSTOMERNAME], t1.[IBIZORDERID], t1.[IBIZORDERNAME], t1.[MEMO], t1.[ORDERSTATE], t1.[ORDERTIME], t1.[ORDERTYPE], t1.[ORDERUID], t1.[UPDATEDATE], t1.[UPDATEMAN], t1.[WFINSTANCEID], t1.[WFSTATE], t1.[WFSTEP] FROM [T_IBIZORDER] t1 LEFT JOIN T_IBIZCUSTOMER t11 ON t1.IBIZCUSTOMERID = t11.IBIZCUSTOMERID ]]>
</createView> </createView>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册