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

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

上级 942ab508
...@@ -2891,7 +2891,7 @@ mock.onGet('v7/main-menuappmenu').reply((config: any) => { ...@@ -2891,7 +2891,7 @@ mock.onGet('v7/main-menuappmenu').reply((config: any) => {
hidesidebar: false, hidesidebar: false,
opendefault: false, opendefault: false,
iconcls: '', iconcls: '',
icon: '', icon: '/assets/img/operation.svg',
textcls: '', textcls: '',
appfunctag: '', appfunctag: '',
resourcetag: '', resourcetag: '',
...@@ -3057,7 +3057,7 @@ mock.onGet('v7/main-menuappmenu').reply((config: any) => { ...@@ -3057,7 +3057,7 @@ mock.onGet('v7/main-menuappmenu').reply((config: any) => {
hidesidebar: false, hidesidebar: false,
opendefault: false, opendefault: false,
iconcls: '', iconcls: '',
icon: '', icon: '/assets/img/operation.svg',
textcls: '', textcls: '',
appfunctag: '', appfunctag: '',
resourcetag: '', resourcetag: '',
...@@ -3201,7 +3201,7 @@ mock.onGet('v7/main-menuappmenu').reply((config: any) => { ...@@ -3201,7 +3201,7 @@ mock.onGet('v7/main-menuappmenu').reply((config: any) => {
hidesidebar: false, hidesidebar: false,
opendefault: false, opendefault: false,
iconcls: '', iconcls: '',
icon: '', icon: '/assets/img/operation.svg',
textcls: '', textcls: '',
appfunctag: '', appfunctag: '',
resourcetag: '', resourcetag: '',
......
...@@ -3208,7 +3208,7 @@ export default class MainMenuModel { ...@@ -3208,7 +3208,7 @@ export default class MainMenuModel {
hidesidebar: false, hidesidebar: false,
opendefault: false, opendefault: false,
iconcls: '', iconcls: '',
icon: '', icon: '/assets/img/operation.svg',
textcls: '', textcls: '',
appfunctag: '', appfunctag: '',
resourcetag: '', resourcetag: '',
...@@ -3392,7 +3392,7 @@ export default class MainMenuModel { ...@@ -3392,7 +3392,7 @@ export default class MainMenuModel {
hidesidebar: false, hidesidebar: false,
opendefault: false, opendefault: false,
iconcls: '', iconcls: '',
icon: '', icon: '/assets/img/operation.svg',
textcls: '', textcls: '',
appfunctag: '', appfunctag: '',
resourcetag: '', resourcetag: '',
...@@ -3552,7 +3552,7 @@ export default class MainMenuModel { ...@@ -3552,7 +3552,7 @@ export default class MainMenuModel {
hidesidebar: false, hidesidebar: false,
opendefault: false, opendefault: false,
iconcls: '', iconcls: '',
icon: '', icon: '/assets/img/operation.svg',
textcls: '', textcls: '',
appfunctag: '', appfunctag: '',
resourcetag: '', resourcetag: '',
......
...@@ -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: 'IBIZBOOKUsr8GridView' + (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 };
...@@ -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: 'IBIZBOOKUsr8GridView' + (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 } ;
......
...@@ -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 });
...@@ -1781,7 +1781,7 @@ export default class GuideReturnFormBase extends Vue implements ControlInterface ...@@ -1781,7 +1781,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 });
...@@ -1885,7 +1885,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface { ...@@ -1885,7 +1885,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];
...@@ -2325,5 +2325,4 @@ export default class GuideViewFormBase extends Vue implements ControlInterface { ...@@ -2325,5 +2325,4 @@ export default class GuideViewFormBase extends Vue implements ControlInterface {
<style lang='less'> <style lang='less'>
@import './guide-view-form-form.less'; @import './guide-view-form-form.less';
</style>uide-view-form-form.less';
</style> </style>
\ No newline at end of file
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,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="usr4listview_layoutlist_quicktoolbarModels.deuiaction1.visabled" :disabled="usr4listview_layoutlist_quicktoolbarModels.deuiaction1.disabled" class='' v-button-loading:i-button @click="list_quicktoolbar_click({ tag: 'deuiaction1' }, $event)"> <i-button v-show="listviewlist_quicktoolbarModels.deuiaction1.visabled" :disabled="listviewlist_quicktoolbarModels.deuiaction1.disabled" class='' 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'>{{'新建'}}</span> <span class='caption'>{{'新建'}}</span>
</i-button> </i-button>
...@@ -61,14 +61,14 @@ ...@@ -61,14 +61,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="usr4listview_layoutlist_batchtoolbarModels.deuiaction1.visabled" :disabled="usr4listview_layoutlist_batchtoolbarModels.deuiaction1.disabled" class='' v-button-loading:i-button @click="list_batchtoolbar_click({ tag: 'deuiaction1' }, $event)"> <i-button v-show="listviewlist_batchtoolbarModels.deuiaction1.visabled" :disabled="listviewlist_batchtoolbarModels.deuiaction1.disabled" class='' 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'>{{'编辑'}}</span> <span class='caption'>{{'编辑'}}</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="usr4listview_layoutlist_batchtoolbarModels.deuiaction2.visabled" :disabled="usr4listview_layoutlist_batchtoolbarModels.deuiaction2.disabled" class='' v-button-loading:i-button @click="list_batchtoolbar_click({ tag: 'deuiaction2' }, $event)"> <i-button v-show="listviewlist_batchtoolbarModels.deuiaction2.visabled" :disabled="listviewlist_batchtoolbarModels.deuiaction2.disabled" class='' 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'>{{'删除'}}</span> <span class='caption'>{{'删除'}}</span>
</i-button> </i-button>
...@@ -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 IBIZBOOKUsr4ListView_layoutBase * @memberof IBIZBOOKListViewBase
*/ */
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;
...@@ -402,7 +402,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -402,7 +402,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* @param {*} [$event] 事件源 * @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件 * @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文 * @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKUsr4ListView_layoutBase * @memberof IBIZBOOKListViewBase
*/ */
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) {
...@@ -428,7 +428,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -428,7 +428,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* @param {*} [$event] 事件源 * @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件 * @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文 * @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKUsr4ListView_layoutBase * @memberof IBIZBOOKListViewBase
*/ */
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;
...@@ -624,9 +624,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -624,9 +624,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* 工具栏模型 * 工具栏模型
* *
* @type {*} * @type {*}
* @memberof IBIZBOOKUsr4ListView_layout * @memberof IBIZBOOKListView
*/ */
public usr4listview_layoutlist_quicktoolbarModels: any = { public listviewlist_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: '' } },
}; };
...@@ -636,9 +636,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -636,9 +636,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* 工具栏模型 * 工具栏模型
* *
* @type {*} * @type {*}
* @memberof IBIZBOOKUsr4ListView_layout * @memberof IBIZBOOKListView
*/ */
public usr4listview_layoutlist_batchtoolbarModels: any = { public listviewlist_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' } },
...@@ -861,7 +861,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -861,7 +861,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: 'IBIZBOOKUsr4ListView_layout' + (this.$t('app.list.notConfig.fetchAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.list.notConfig.fetchAction') as string) });
return; return;
} }
const arg: any = {...opt}; const arg: any = {...opt};
...@@ -991,7 +991,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -991,7 +991,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: 'IBIZBOOKUsr4ListView_layout' + (this.$t('app.list.notConfig.removeAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.list.notConfig.removeAction') as string) });
return; return;
} }
if (datas.length === 0) { if (datas.length === 0) {
...@@ -1096,7 +1096,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -1096,7 +1096,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: 'IBIZBOOKUsr4ListView_layout' + (this.$t('app.list.notConfig.createAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (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);
...@@ -1104,7 +1104,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -1104,7 +1104,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: 'IBIZBOOKUsr4ListView_layout' + (this.$t('app.list.notConfig.updateAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.warning') as string), desc: 'IBIZBOOKListView' + (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){
......
...@@ -1683,7 +1683,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1683,7 +1683,7 @@ export default class MainBase 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: 'IBIZBOOKUsr9EditView' + (this.$t('app.formpage.notconfig.loadaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr6EditView' + (this.$t('app.formpage.notconfig.loadaction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -1735,7 +1735,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1735,7 +1735,7 @@ export default class MainBase 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: 'IBIZBOOKUsr9EditView' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr6EditView' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
...@@ -1806,7 +1806,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1806,7 +1806,7 @@ export default class MainBase 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: 'IBIZBOOKUsr9EditView' + (this.$t('app.formpage.notconfig.actionname') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr6EditView' + (this.$t('app.formpage.notconfig.actionname') as string) });
return; return;
} }
Object.assign(arg,{viewparams:this.viewparams}); Object.assign(arg,{viewparams:this.viewparams});
...@@ -1914,7 +1914,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1914,7 +1914,7 @@ export default class MainBase 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: 'IBIZBOOKUsr9EditView' + (this.$t('app.formpage.notconfig.actionname') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr6EditView' + (this.$t('app.formpage.notconfig.actionname') as string) });
return; return;
} }
Object.assign(arg, { viewparams: this.viewparams }); Object.assign(arg, { viewparams: this.viewparams });
...@@ -2128,7 +2128,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2128,7 +2128,7 @@ export default class MainBase 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: 'IBIZBOOKUsr9EditView' + (this.$t('app.formpage.notconfig.removeaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr6EditView' + (this.$t('app.formpage.notconfig.removeaction') as string) });
return; return;
} }
const arg: any = opt[0]; const arg: any = opt[0];
......
...@@ -670,7 +670,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface ...@@ -670,7 +670,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/ */
public load(opt: any = {}): void { public load(opt: any = {}): void {
if(!this.loadAction){ if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCalendarView' + (this.$t('app.searchForm.notConfig.loadAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -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: 'IBIZBOOKCalendarView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
......
...@@ -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 [
...@@ -43,6 +43,17 @@ export default class Usr2Model { ...@@ -43,6 +43,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',
......
...@@ -964,7 +964,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -964,7 +964,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: "IBIZOrderDetailSGridView9" + (this.$t("app.gridpage.notConfig.fetchAction") as string), desc: "IBIZOrderDetailGridView9" + (this.$t("app.gridpage.notConfig.fetchAction") as string),
}); });
return; return;
} }
...@@ -1123,7 +1123,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1123,7 +1123,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: 'IBIZOrderDetailSGridView9' + (this.$t('app.gridpage.notConfig.removeAction') as string) desc: 'IBIZOrderDetailGridView9' + (this.$t('app.gridpage.notConfig.removeAction') as string)
}); });
return; return;
} }
...@@ -1237,7 +1237,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1237,7 +1237,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: 'IBIZOrderDetailSGridView9'+(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){
...@@ -2132,7 +2132,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2132,7 +2132,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: 'IBIZOrderDetailSGridView9'+(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);
...@@ -2141,7 +2141,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2141,7 +2141,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: 'IBIZOrderDetailSGridView9'+(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);
...@@ -2217,7 +2217,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2217,7 +2217,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: 'IBIZOrderDetailSGridView9' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string) desc: 'IBIZOrderDetailGridView9' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string)
}); });
return; return;
} }
......
...@@ -12,18 +12,6 @@ ...@@ -12,18 +12,6 @@
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json" "path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
}, },
"getPSDETreeColumns" : [ { "getPSDETreeColumns" : [ {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称", "caption" : "图书名称",
"codeName" : "ibizbookname", "codeName" : "ibizbookname",
"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" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"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" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称", "caption" : "图书名称",
"codeName" : "ibizbookname", "codeName" : "ibizbookname",
"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" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ], } ],
"getPSDETreeNodeRSs" : [ { "getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : { "getChildPSDETreeNode" : {
......
...@@ -4260,6 +4260,10 @@ ...@@ -4260,6 +4260,10 @@
"getPSLayoutPos" : { "getPSLayoutPos" : {
"layout" : "TABLE" "layout" : "TABLE"
}, },
"getPSSysImage" : {
"imagePath" : "/assets/img/operation.svg",
"imagePathX" : "/assets/img/operation@{0}x.svg"
},
"tooltip" : "测试" "tooltip" : "测试"
}, { }, {
"accUserMode" : 0, "accUserMode" : 0,
...@@ -4934,7 +4938,13 @@ ...@@ -4934,7 +4938,13 @@
"layout" : "TABLE" "layout" : "TABLE"
}, },
"getPSLayoutPos" : { "getPSLayoutPos" : {
"layout" : "TABLE" "layout" : "TABLE",
"width" : 42,
"widthMode" : "PX"
},
"getPSSysImage" : {
"imagePath" : "/assets/img/operation.svg",
"imagePathX" : "/assets/img/operation@{0}x.svg"
}, },
"tooltip" : "视图" "tooltip" : "视图"
} ], } ],
...@@ -4942,7 +4952,13 @@ ...@@ -4942,7 +4952,13 @@
"layout" : "TABLE" "layout" : "TABLE"
}, },
"getPSLayoutPos" : { "getPSLayoutPos" : {
"layout" : "TABLE" "layout" : "TABLE",
"width" : 28,
"widthMode" : "PX"
},
"getPSSysImage" : {
"imagePath" : "/assets/img/operation.svg",
"imagePathX" : "/assets/img/operation@{0}x.svg"
}, },
"tooltip" : "视图布局面板测试" "tooltip" : "视图布局面板测试"
}, { }, {
......
...@@ -3381,6 +3381,10 @@ ...@@ -3381,6 +3381,10 @@
"getPSLayoutPos" : { "getPSLayoutPos" : {
"layout" : "TABLE" "layout" : "TABLE"
}, },
"getPSSysImage" : {
"imagePath" : "/assets/img/operation.svg",
"imagePathX" : "/assets/img/operation@{0}x.svg"
},
"tooltip" : "测试" "tooltip" : "测试"
}, { }, {
"accUserMode" : 0, "accUserMode" : 0,
...@@ -4055,7 +4059,13 @@ ...@@ -4055,7 +4059,13 @@
"layout" : "TABLE" "layout" : "TABLE"
}, },
"getPSLayoutPos" : { "getPSLayoutPos" : {
"layout" : "TABLE" "layout" : "TABLE",
"width" : 42,
"widthMode" : "PX"
},
"getPSSysImage" : {
"imagePath" : "/assets/img/operation.svg",
"imagePathX" : "/assets/img/operation@{0}x.svg"
}, },
"tooltip" : "视图" "tooltip" : "视图"
} ], } ],
...@@ -4063,7 +4073,13 @@ ...@@ -4063,7 +4073,13 @@
"layout" : "TABLE" "layout" : "TABLE"
}, },
"getPSLayoutPos" : { "getPSLayoutPos" : {
"layout" : "TABLE" "layout" : "TABLE",
"width" : 28,
"widthMode" : "PX"
},
"getPSSysImage" : {
"imagePath" : "/assets/img/operation.svg",
"imagePathX" : "/assets/img/operation@{0}x.svg"
}, },
"tooltip" : "视图布局面板测试" "tooltip" : "视图布局面板测试"
}, { }, {
......
...@@ -2366,6 +2366,10 @@ ...@@ -2366,6 +2366,10 @@
} ], } ],
"tooltip" : "界面逻辑测试" "tooltip" : "界面逻辑测试"
} ], } ],
"getPSSysImage" : {
"imagePath" : "/assets/img/operation.svg",
"imagePathX" : "/assets/img/operation@{0}x.svg"
},
"tooltip" : "测试" "tooltip" : "测试"
}, { }, {
"accUserMode" : 0, "accUserMode" : 0,
...@@ -2784,8 +2788,16 @@ ...@@ -2784,8 +2788,16 @@
} ], } ],
"tooltip" : "其他视图" "tooltip" : "其他视图"
} ], } ],
"getPSSysImage" : {
"imagePath" : "/assets/img/operation.svg",
"imagePathX" : "/assets/img/operation@{0}x.svg"
},
"tooltip" : "视图" "tooltip" : "视图"
} ], } ],
"getPSSysImage" : {
"imagePath" : "/assets/img/operation.svg",
"imagePathX" : "/assets/img/operation@{0}x.svg"
},
"tooltip" : "视图布局面板测试" "tooltip" : "视图布局面板测试"
}, { }, {
"accUserMode" : 0, "accUserMode" : 0,
......
...@@ -24744,6 +24744,10 @@ ...@@ -24744,6 +24744,10 @@
"getPSLayoutPos" : { "getPSLayoutPos" : {
"layout" : "TABLE" "layout" : "TABLE"
}, },
"getPSSysImage" : {
"imagePath" : "/assets/img/operation.svg",
"imagePathX" : "/assets/img/operation@{0}x.svg"
},
"tooltip" : "测试" "tooltip" : "测试"
}, { }, {
"accUserMode" : 0, "accUserMode" : 0,
...@@ -25418,7 +25422,13 @@ ...@@ -25418,7 +25422,13 @@
"layout" : "TABLE" "layout" : "TABLE"
}, },
"getPSLayoutPos" : { "getPSLayoutPos" : {
"layout" : "TABLE" "layout" : "TABLE",
"width" : 42,
"widthMode" : "PX"
},
"getPSSysImage" : {
"imagePath" : "/assets/img/operation.svg",
"imagePathX" : "/assets/img/operation@{0}x.svg"
}, },
"tooltip" : "视图" "tooltip" : "视图"
} ], } ],
...@@ -25426,7 +25436,13 @@ ...@@ -25426,7 +25436,13 @@
"layout" : "TABLE" "layout" : "TABLE"
}, },
"getPSLayoutPos" : { "getPSLayoutPos" : {
"layout" : "TABLE" "layout" : "TABLE",
"width" : 28,
"widthMode" : "PX"
},
"getPSSysImage" : {
"imagePath" : "/assets/img/operation.svg",
"imagePathX" : "/assets/img/operation@{0}x.svg"
}, },
"tooltip" : "视图布局面板测试" "tooltip" : "视图布局面板测试"
}, { }, {
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册