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

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

上级 a95e1fd0
...@@ -407,6 +407,7 @@ function getAppLocale(){ ...@@ -407,6 +407,7 @@ function getAppLocale(){
menuitem249: commonLogic.appcommonhandle("逻辑树",null), menuitem249: commonLogic.appcommonhandle("逻辑树",null),
menuitem210: commonLogic.appcommonhandle("表单界面逻辑加载",null), menuitem210: commonLogic.appcommonhandle("表单界面逻辑加载",null),
menuitem131: commonLogic.appcommonhandle("表格部件界面逻辑测试",null), menuitem131: commonLogic.appcommonhandle("表格部件界面逻辑测试",null),
menuitem267: commonLogic.appcommonhandle("表单多数据部件",null),
menuitem66: commonLogic.appcommonhandle("视图布局面板测试",null), menuitem66: commonLogic.appcommonhandle("视图布局面板测试",null),
menuitem125: commonLogic.appcommonhandle("多媒体布局组件",null), menuitem125: commonLogic.appcommonhandle("多媒体布局组件",null),
menuitem126: commonLogic.appcommonhandle("表格导航",null), menuitem126: commonLogic.appcommonhandle("表格导航",null),
......
...@@ -407,6 +407,7 @@ function getAppLocale(){ ...@@ -407,6 +407,7 @@ function getAppLocale(){
menuitem249: commonLogic.appcommonhandle("逻辑树",null), menuitem249: commonLogic.appcommonhandle("逻辑树",null),
menuitem210: commonLogic.appcommonhandle("表单界面逻辑加载",null), menuitem210: commonLogic.appcommonhandle("表单界面逻辑加载",null),
menuitem131: commonLogic.appcommonhandle("表格部件界面逻辑测试",null), menuitem131: commonLogic.appcommonhandle("表格部件界面逻辑测试",null),
menuitem267: commonLogic.appcommonhandle("表单多数据部件",null),
menuitem66: commonLogic.appcommonhandle("视图布局面板测试",null), menuitem66: commonLogic.appcommonhandle("视图布局面板测试",null),
menuitem125: commonLogic.appcommonhandle("多媒体布局组件",null), menuitem125: commonLogic.appcommonhandle("多媒体布局组件",null),
menuitem126: commonLogic.appcommonhandle("表格导航",null), menuitem126: commonLogic.appcommonhandle("表格导航",null),
......
...@@ -407,6 +407,7 @@ function getAppLocale(){ ...@@ -407,6 +407,7 @@ function getAppLocale(){
menuitem249: commonLogic.appcommonhandle("逻辑树",null), menuitem249: commonLogic.appcommonhandle("逻辑树",null),
menuitem210: commonLogic.appcommonhandle("表单界面逻辑加载",null), menuitem210: commonLogic.appcommonhandle("表单界面逻辑加载",null),
menuitem131: commonLogic.appcommonhandle("表格部件界面逻辑测试",null), menuitem131: commonLogic.appcommonhandle("表格部件界面逻辑测试",null),
menuitem267: commonLogic.appcommonhandle("表单多数据部件",null),
menuitem66: commonLogic.appcommonhandle("视图布局面板测试",null), menuitem66: commonLogic.appcommonhandle("视图布局面板测试",null),
menuitem125: commonLogic.appcommonhandle("多媒体布局组件",null), menuitem125: commonLogic.appcommonhandle("多媒体布局组件",null),
menuitem126: commonLogic.appcommonhandle("表格导航",null), menuitem126: commonLogic.appcommonhandle("表格导航",null),
......
...@@ -4093,6 +4093,19 @@ const router = new Router({ ...@@ -4093,6 +4093,19 @@ const router = new Router({
requireAuth: true, requireAuth: true,
}, },
component: () => import('@pages/ungroup/app-panel-view2/app-panel-view2.vue'), component: () => import('@pages/ungroup/app-panel-view2/app-panel-view2.vue'),
},
{
path: '/ibizorders/:ibizorder?/testformmdctrleditview/:testformmdctrleditview?',
meta: {
caption: 'entities.ibizorder.views.testformmdctrleditview.caption',
info:'',
parameters: [
{ pathName: 'ibizorders', parameterName: 'ibizorder' },
{ pathName: 'testformmdctrleditview', parameterName: 'testformmdctrleditview' },
],
requireAuth: true,
},
component: () => import('@pages/ungroup/ibizorder-test-form-mdctrl-edit-view/ibizorder-test-form-mdctrl-edit-view.vue'),
}, },
...globalRoutes, ...globalRoutes,
{ {
......
...@@ -112,6 +112,7 @@ export const PageComponents = { ...@@ -112,6 +112,7 @@ export const PageComponents = {
Vue.component('ibizbooktree-exp-view', () => import('@pages/sample/ibizbooktree-exp-view/ibizbooktree-exp-view.vue')); Vue.component('ibizbooktree-exp-view', () => import('@pages/sample/ibizbooktree-exp-view/ibizbooktree-exp-view.vue'));
Vue.component('ibizbookform-load-custom-view', () => import('@pages/sample/ibizbookform-load-custom-view/ibizbookform-load-custom-view.vue')); Vue.component('ibizbookform-load-custom-view', () => import('@pages/sample/ibizbookform-load-custom-view/ibizbookform-load-custom-view.vue'));
Vue.component('ibizbookusr1110030546-custom-view', () => import('@pages/sample/ibizbookusr1110030546-custom-view/ibizbookusr1110030546-custom-view.vue')); Vue.component('ibizbookusr1110030546-custom-view', () => import('@pages/sample/ibizbookusr1110030546-custom-view/ibizbookusr1110030546-custom-view.vue'));
Vue.component('ibizorder-test-form-mdctrl-edit-view', () => import('@pages/ungroup/ibizorder-test-form-mdctrl-edit-view/ibizorder-test-form-mdctrl-edit-view.vue'));
Vue.component('ibizcustomer-media-test-edit-view', () => import('@pages/sample/ibizcustomer-media-test-edit-view/ibizcustomer-media-test-edit-view.vue')); Vue.component('ibizcustomer-media-test-edit-view', () => import('@pages/sample/ibizcustomer-media-test-edit-view/ibizcustomer-media-test-edit-view.vue'));
Vue.component('ibizorder-test-custom-layout-panel-grid-exp-view', () => import('@pages/sample/ibizorder-test-custom-layout-panel-grid-exp-view/ibizorder-test-custom-layout-panel-grid-exp-view.vue')); Vue.component('ibizorder-test-custom-layout-panel-grid-exp-view', () => import('@pages/sample/ibizorder-test-custom-layout-panel-grid-exp-view/ibizorder-test-custom-layout-panel-grid-exp-view.vue'));
Vue.component('ibizbookusr3-custom-view', () => import('@pages/sample/ibizbookusr3-custom-view/ibizbookusr3-custom-view.vue')); Vue.component('ibizbookusr3-custom-view', () => import('@pages/sample/ibizbookusr3-custom-view/ibizbookusr3-custom-view.vue'));
......
...@@ -1705,6 +1705,20 @@ const router = new Router({ ...@@ -1705,6 +1705,20 @@ const router = new Router({
}, },
component: () => import('@pages/sample/ibizbookusr1110030546-custom-view/ibizbookusr1110030546-custom-view.vue'), component: () => import('@pages/sample/ibizbookusr1110030546-custom-view/ibizbookusr1110030546-custom-view.vue'),
}, },
{
path: 'ibizorders/:ibizorder?/testformmdctrleditview/:testformmdctrleditview?',
meta: {
caption: 'entities.ibizorder.views.testformmdctrleditview.caption',
info:'',
parameters: [
{ pathName: 'index', parameterName: 'index' },
{ pathName: 'ibizorders', parameterName: 'ibizorder' },
{ pathName: 'testformmdctrleditview', parameterName: 'testformmdctrleditview' },
],
requireAuth: true,
},
component: () => import('@pages/ungroup/ibizorder-test-form-mdctrl-edit-view/ibizorder-test-form-mdctrl-edit-view.vue'),
},
{ {
path: 'ibizcustomers/:ibizcustomer?/mediatesteditview/:mediatesteditview?', path: 'ibizcustomers/:ibizcustomer?/mediatesteditview/:mediatesteditview?',
meta: { meta: {
...@@ -7899,6 +7913,19 @@ const router = new Router({ ...@@ -7899,6 +7913,19 @@ const router = new Router({
requireAuth: true, requireAuth: true,
}, },
component: () => import('@pages/ungroup/app-panel-view2/app-panel-view2.vue'), component: () => import('@pages/ungroup/app-panel-view2/app-panel-view2.vue'),
},
{
path: '/ibizorders/:ibizorder?/testformmdctrleditview/:testformmdctrleditview?',
meta: {
caption: 'entities.ibizorder.views.testformmdctrleditview.caption',
info:'',
parameters: [
{ pathName: 'ibizorders', parameterName: 'ibizorder' },
{ pathName: 'testformmdctrleditview', parameterName: 'testformmdctrleditview' },
],
requireAuth: true,
},
component: () => import('@pages/ungroup/ibizorder-test-form-mdctrl-edit-view/ibizorder-test-form-mdctrl-edit-view.vue'),
}, },
...globalRoutes, ...globalRoutes,
{ {
......
...@@ -112,6 +112,7 @@ export const PageComponents = { ...@@ -112,6 +112,7 @@ export const PageComponents = {
Vue.component('ibizbooktree-exp-view', () => import('@pages/sample/ibizbooktree-exp-view/ibizbooktree-exp-view.vue')); Vue.component('ibizbooktree-exp-view', () => import('@pages/sample/ibizbooktree-exp-view/ibizbooktree-exp-view.vue'));
Vue.component('ibizbookform-load-custom-view', () => import('@pages/sample/ibizbookform-load-custom-view/ibizbookform-load-custom-view.vue')); Vue.component('ibizbookform-load-custom-view', () => import('@pages/sample/ibizbookform-load-custom-view/ibizbookform-load-custom-view.vue'));
Vue.component('ibizbookusr1110030546-custom-view', () => import('@pages/sample/ibizbookusr1110030546-custom-view/ibizbookusr1110030546-custom-view.vue')); Vue.component('ibizbookusr1110030546-custom-view', () => import('@pages/sample/ibizbookusr1110030546-custom-view/ibizbookusr1110030546-custom-view.vue'));
Vue.component('ibizorder-test-form-mdctrl-edit-view', () => import('@pages/ungroup/ibizorder-test-form-mdctrl-edit-view/ibizorder-test-form-mdctrl-edit-view.vue'));
Vue.component('ibizcustomer-media-test-edit-view', () => import('@pages/sample/ibizcustomer-media-test-edit-view/ibizcustomer-media-test-edit-view.vue')); Vue.component('ibizcustomer-media-test-edit-view', () => import('@pages/sample/ibizcustomer-media-test-edit-view/ibizcustomer-media-test-edit-view.vue'));
Vue.component('ibizorder-test-custom-layout-panel-grid-exp-view', () => import('@pages/sample/ibizorder-test-custom-layout-panel-grid-exp-view/ibizorder-test-custom-layout-panel-grid-exp-view.vue')); Vue.component('ibizorder-test-custom-layout-panel-grid-exp-view', () => import('@pages/sample/ibizorder-test-custom-layout-panel-grid-exp-view/ibizorder-test-custom-layout-panel-grid-exp-view.vue'));
Vue.component('ibizbookusr3-custom-view', () => import('@pages/sample/ibizbookusr3-custom-view/ibizbookusr3-custom-view.vue')); Vue.component('ibizbookusr3-custom-view', () => import('@pages/sample/ibizbookusr3-custom-view/ibizbookusr3-custom-view.vue'));
......
...@@ -1705,6 +1705,20 @@ const router = new Router({ ...@@ -1705,6 +1705,20 @@ const router = new Router({
}, },
component: () => import('@pages/sample/ibizbookusr1110030546-custom-view/ibizbookusr1110030546-custom-view.vue'), component: () => import('@pages/sample/ibizbookusr1110030546-custom-view/ibizbookusr1110030546-custom-view.vue'),
}, },
{
path: 'ibizorders/:ibizorder?/testformmdctrleditview/:testformmdctrleditview?',
meta: {
caption: 'entities.ibizorder.views.testformmdctrleditview.caption',
info:'',
parameters: [
{ pathName: 'appindexview', parameterName: 'appindexview' },
{ pathName: 'ibizorders', parameterName: 'ibizorder' },
{ pathName: 'testformmdctrleditview', parameterName: 'testformmdctrleditview' },
],
requireAuth: true,
},
component: () => import('@pages/ungroup/ibizorder-test-form-mdctrl-edit-view/ibizorder-test-form-mdctrl-edit-view.vue'),
},
{ {
path: 'ibizcustomers/:ibizcustomer?/mediatesteditview/:mediatesteditview?', path: 'ibizcustomers/:ibizcustomer?/mediatesteditview/:mediatesteditview?',
meta: { meta: {
...@@ -7899,6 +7913,19 @@ const router = new Router({ ...@@ -7899,6 +7913,19 @@ const router = new Router({
requireAuth: true, requireAuth: true,
}, },
component: () => import('@pages/ungroup/app-panel-view2/app-panel-view2.vue'), component: () => import('@pages/ungroup/app-panel-view2/app-panel-view2.vue'),
},
{
path: '/ibizorders/:ibizorder?/testformmdctrleditview/:testformmdctrleditview?',
meta: {
caption: 'entities.ibizorder.views.testformmdctrleditview.caption',
info:'',
parameters: [
{ pathName: 'ibizorders', parameterName: 'ibizorder' },
{ pathName: 'testformmdctrleditview', parameterName: 'testformmdctrleditview' },
],
requireAuth: true,
},
component: () => import('@pages/ungroup/ibizorder-test-form-mdctrl-edit-view/ibizorder-test-form-mdctrl-edit-view.vue'),
}, },
...globalRoutes, ...globalRoutes,
{ {
......
// 基于 @VIEW/实体编辑视图/VIEW.less.ftl 生成
.view-card {
>.ivu-card-extra {
top: 5px;
right: 0px;
}
}
.ibizorder-test-form-mdctrl-edit-view{
position: relative;
}
.toolbar-container {
button {
margin: 6px 0px 4px 4px;
.caption {
margin-left: 4px;
}
}
.seperator {
color: #dcdee2;
margin: 0 0px 0 4px;
}
}
// this is less
.deepskyblueToolBar {color:white !important;background-color:#108cee !important;}
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import IBIZOrderTestFormMDCtrlEditViewBase from './ibizorder-test-form-mdctrl-edit-view-base.vue';
import view_form from '@widgets/ibizorder/test-mdctrl-form/test-mdctrl-form.vue';
// 基于 @VIEW/实体编辑视图/VIEW.vue.ftl 生成
@Component({
components: {
view_form,
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
})
export default class IBIZOrderTestFormMDCtrlEditView extends IBIZOrderTestFormMDCtrlEditViewBase {
}
</script>
\ No newline at end of file
...@@ -1102,6 +1102,7 @@ export const viewstate: any = { ...@@ -1102,6 +1102,7 @@ export const viewstate: any = {
'f9b01dbeb8b738ebeab5e82f892593e3', 'f9b01dbeb8b738ebeab5e82f892593e3',
'1C3D71C7-D5B8-4937-89F7-F822EA1629F4', '1C3D71C7-D5B8-4937-89F7-F822EA1629F4',
'1A58B21B-2033-4CC4-B3B8-6AB6BFD2F26A', '1A58B21B-2033-4CC4-B3B8-6AB6BFD2F26A',
'C7B14569-AFC1-4124-8822-C609232D1934',
'7ce3aaf69c0b882631428087b7db6464', '7ce3aaf69c0b882631428087b7db6464',
'38b0b453d423e0772822db6be4f02505', '38b0b453d423e0772822db6be4f02505',
'10945024c5f77c0f1421847bed691ad8', '10945024c5f77c0f1421847bed691ad8',
...@@ -3120,6 +3121,7 @@ export const viewstate: any = { ...@@ -3120,6 +3121,7 @@ export const viewstate: any = {
'f9b01dbeb8b738ebeab5e82f892593e3', 'f9b01dbeb8b738ebeab5e82f892593e3',
'1C3D71C7-D5B8-4937-89F7-F822EA1629F4', '1C3D71C7-D5B8-4937-89F7-F822EA1629F4',
'1A58B21B-2033-4CC4-B3B8-6AB6BFD2F26A', '1A58B21B-2033-4CC4-B3B8-6AB6BFD2F26A',
'C7B14569-AFC1-4124-8822-C609232D1934',
'7ce3aaf69c0b882631428087b7db6464', '7ce3aaf69c0b882631428087b7db6464',
'38b0b453d423e0772822db6be4f02505', '38b0b453d423e0772822db6be4f02505',
'10945024c5f77c0f1421847bed691ad8', '10945024c5f77c0f1421847bed691ad8',
...@@ -3225,6 +3227,16 @@ export const viewstate: any = { ...@@ -3225,6 +3227,16 @@ export const viewstate: any = {
refviews: [ refviews: [
], ],
}, },
{
viewtag: 'C7B14569-AFC1-4124-8822-C609232D1934',
viewmodule: 'Ungroup',
viewname: 'IBIZOrderTestFormMDCtrlEditView',
viewaction: '',
viewdatachange: false,
refviews: [
'6bc6e690dc5abfc6d89703e4459c785c',
],
},
{ {
viewtag: 'DDD1152C-0A9F-44C5-82FA-7F6A469C5569', viewtag: 'DDD1152C-0A9F-44C5-82FA-7F6A469C5569',
viewmodule: 'Ungroup', viewmodule: 'Ungroup',
......
...@@ -911,6 +911,9 @@ export default class MainMenuBase extends Vue implements ControlInterface { ...@@ -911,6 +911,9 @@ export default class MainMenuBase extends Vue implements ControlInterface {
case 'AppFunc127': case 'AppFunc127':
this.clickAppFunc127(item); this.clickAppFunc127(item);
return; return;
case 'AppFunc146':
this.clickAppFunc146(item);
return;
case 'AppFunc100': case 'AppFunc100':
this.clickAppFunc100(item); this.clickAppFunc100(item);
return; return;
...@@ -3694,6 +3697,29 @@ export default class MainMenuBase extends Vue implements ControlInterface { ...@@ -3694,6 +3697,29 @@ export default class MainMenuBase extends Vue implements ControlInterface {
}) })
} }
/**
* 测试表单多数据部件
*
* @param {*} [item={}]
* @memberof MainMenu
*/
public clickAppFunc146(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'ibizorders', parameterName: 'ibizorder' },
{ pathName: 'testformmdctrleditview', parameterName: 'testformmdctrleditview' },
];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
if(Object.is(this.$route.fullPath,path)){
return;
}
this.$nextTick(function(){
this.$router.push(path);
})
}
/** /**
* 自定义布局表单多媒体测试 * 自定义布局表单多媒体测试
* *
......
...@@ -718,7 +718,7 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -718,7 +718,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: 'IBIZBOOKUsr3GridView' + (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 };
...@@ -754,7 +754,7 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -754,7 +754,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: 'IBIZBOOKUsr3GridView' + (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 } ;
......
...@@ -1757,7 +1757,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1757,7 +1757,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: 'IBIZBOOKUsr6EditView' + (this.$t('app.formpage.notconfig.loadaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr9EditView' + (this.$t('app.formpage.notconfig.loadaction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -1804,7 +1804,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1804,7 +1804,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: 'IBIZBOOKUsr6EditView' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr9EditView' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
...@@ -1875,7 +1875,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1875,7 +1875,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: 'IBIZBOOKUsr6EditView' + (this.$t('app.formpage.notconfig.actionname') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr9EditView' + (this.$t('app.formpage.notconfig.actionname') as string) });
return; return;
} }
Object.assign(arg,{viewparams:this.viewparams}); Object.assign(arg,{viewparams:this.viewparams});
...@@ -1985,7 +1985,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1985,7 +1985,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: 'IBIZBOOKUsr6EditView' + (this.$t('app.formpage.notconfig.actionname') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr9EditView' + (this.$t('app.formpage.notconfig.actionname') as string) });
return; return;
} }
Object.assign(arg, { viewparams: this.viewparams }); Object.assign(arg, { viewparams: this.viewparams });
...@@ -2080,7 +2080,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2080,7 +2080,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: 'IBIZBOOKUsr6EditView' + (this.$t('app.formpage.notconfig.removeaction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr9EditView' + (this.$t('app.formpage.notconfig.removeaction') as string) });
return; return;
} }
const arg: any = opt[0]; const arg: any = opt[0];
......
...@@ -11,7 +11,7 @@ export default class Usr2Model { ...@@ -11,7 +11,7 @@ export default class Usr2Model {
* 获取数据项集合 * 获取数据项集合
* *
* @returns {any[]} * @returns {any[]}
* @memberof Usr2DataViewMode * @memberof Usr2Dataviewexpbar_dataviewMode
*/ */
public getDataItems(): any[] { public getDataItems(): any[] {
return [ return [
...@@ -43,17 +43,6 @@ export default class Usr2Model { ...@@ -43,17 +43,6 @@ 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',
......
...@@ -698,7 +698,7 @@ export default class Usr4Base extends Vue implements ControlInterface { ...@@ -698,7 +698,7 @@ export default class Usr4Base 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: 'IBIZBOOKUsr4DataView' + (this.$t('app.list.notConfig.fetchAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKTestCLDataView' + (this.$t('app.list.notConfig.fetchAction') as string) });
return; return;
} }
const arg: any = {...opt}; const arg: any = {...opt};
...@@ -792,7 +792,7 @@ export default class Usr4Base extends Vue implements ControlInterface { ...@@ -792,7 +792,7 @@ export default class Usr4Base 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: 'IBIZBOOKUsr4DataView' + (this.$t('app.gridpage.notConfig.removeAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKTestCLDataView' + (this.$t('app.gridpage.notConfig.removeAction') as string) });
return; return;
} }
let _datas:any[] = []; let _datas:any[] = [];
...@@ -908,7 +908,7 @@ export default class Usr4Base extends Vue implements ControlInterface { ...@@ -908,7 +908,7 @@ export default class Usr4Base 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: 'IBIZBOOKUsr4DataView' + (this.$t('app.list.notConfig.createAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKTestCLDataView' + (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);
...@@ -916,7 +916,7 @@ export default class Usr4Base extends Vue implements ControlInterface { ...@@ -916,7 +916,7 @@ export default class Usr4Base 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: 'IBIZBOOKUsr4DataView' + (this.$t('app.list.notConfig.updateAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKTestCLDataView' + (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){
......
...@@ -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'
},
{ {
......
...@@ -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: "IBIZOrderDetailSGridView" + (this.$t("app.gridpage.notConfig.fetchAction") as string),
}); });
return; return;
} }
...@@ -1093,7 +1093,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1093,7 +1093,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: 'IBIZOrderDetailSGridView' + (this.$t('app.gridpage.notConfig.removeAction') as string)
}); });
return; return;
} }
...@@ -1207,7 +1207,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1207,7 +1207,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: 'IBIZOrderDetailSGridView'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
return; return;
} }
if(!arg){ if(!arg){
...@@ -2101,7 +2101,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2101,7 +2101,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: 'IBIZOrderDetailSGridView'+(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);
...@@ -2110,7 +2110,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2110,7 +2110,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: 'IBIZOrderDetailSGridView'+(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);
...@@ -2186,7 +2186,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2186,7 +2186,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: 'IBIZOrderDetailSGridView' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string)
}); });
return; return;
} }
......
...@@ -320,7 +320,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -320,7 +320,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) {
...@@ -463,20 +463,6 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -463,20 +463,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;
/** /**
* 是否嵌入关系界面 * 是否嵌入关系界面
...@@ -1011,7 +997,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1011,7 +997,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: "IBIZOrderSF1GridView" + (this.$t("app.gridpage.notConfig.fetchAction") as string), desc: "IBIZOrderPickupGridView" + (this.$t("app.gridpage.notConfig.fetchAction") as string),
}); });
return; return;
} }
...@@ -1140,7 +1126,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1140,7 +1126,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: 'IBIZOrderSF1GridView' + (this.$t('app.gridpage.notConfig.removeAction') as string) desc: 'IBIZOrderPickupGridView' + (this.$t('app.gridpage.notConfig.removeAction') as string)
}); });
return; return;
} }
...@@ -1254,7 +1240,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1254,7 +1240,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){
...@@ -2185,7 +2171,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2185,7 +2171,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 });
const tempContext = Util.deepCopy(this.context); const tempContext = Util.deepCopy(this.context);
...@@ -2194,7 +2180,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2194,7 +2180,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 });
const tempContext = Util.deepCopy(this.context); const tempContext = Util.deepCopy(this.context);
...@@ -2270,7 +2256,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2270,7 +2256,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: 'IBIZOrderSF1GridView' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string) desc: 'IBIZOrderPickupGridView' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string)
}); });
return; return;
} }
......
...@@ -100,6 +100,27 @@ export default class MainModel { ...@@ -100,6 +100,27 @@ export default class MainModel {
name: 'ibizorder', name: 'ibizorder',
prop: 'ibizorderid', prop: 'ibizorderid',
}, },
{
name: 'n_ibizcustomername_like',
prop: 'n_ibizcustomername_like',
dataType: 'QUERYPARAM'
},
{
name: 'n_ibizordername_like',
prop: 'n_ibizordername_like',
dataType: 'QUERYPARAM'
},
{
name: 'n_ordertime_gtandeq',
prop: 'n_ordertime_gtandeq',
dataType: 'QUERYPARAM'
},
{
name: 'n_ordertype_eq',
prop: 'n_ordertype_eq',
dataType: 'QUERYPARAM'
},
{ {
name:'size', name:'size',
prop:'size', prop:'size',
......
// 基于 @CONTROL/表单/MODEL.ts.ftl 生成
/**
* TestMDCtrl 部件模型
*
* @export
* @class TestMDCtrlModel
*/
export default class TestMDCtrlModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof TestMDCtrlModel
*/
public getDataItems(): any[] {
return [
{
name: 'srfwfmemo',
prop: 'srfwfmemo',
dataType: 'TEXT',
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name: 'srffrontuf',
prop: 'srffrontuf',
dataType: 'TEXT',
},
{
name: 'srfupdatedate',
prop: 'updatedate',
dataType: 'DATETIME',
},
{
name: 'srforikey',
},
{
name: 'srfkey',
prop: 'ibizorderid',
dataType: 'GUID',
},
{
name: 'srfmajortext',
prop: 'ibizordername',
dataType: 'TEXT',
},
{
name: 'srftempmode',
},
{
name: 'srfuf',
},
{
name: 'srfdeid',
},
{
name: 'srfsourcekey',
},
{
name: 'ibizordername',
prop: 'ibizordername',
dataType: 'TEXT',
},
{
name: 'ibizorderid',
prop: 'ibizorderid',
dataType: 'GUID',
},
{
name: 'ibizorder',
prop: 'ibizorderid',
dataType: 'FONTKEY',
},
]
}
}
\ No newline at end of file
// 基于 @CONTROL/表单/CONTROL.less.ftl 生成
.ivu-tabs-no-animation>.ivu-tabs-content{
padding: 0 16px;
}
.ivu-card-head{
padding: 14px 0;
}
.app-form {
overflow: auto;
padding: 6px;
> .ivu-row {
> .ivu-tabs {
height: 100%;
display: flex;
flex-direction: column;
> .ivu-tabs-content {
flex-grow: 1;
overflow: auto;
> .ivu-tabs-tabpane {
height: 100%;
}
}
}
}
}
.app-tabpanel-flex {
height: 100%;
> .ivu-tabs-content {
height: calc(100% - 52px);
> .ivu-tabs-tabpane {
height: 100%;
}
}
}
.app-form {
>.ivu-row:nth-child(2) {
>.ivu-col:nth-child(1) {
>.ivu-row.app-form-group.app-group-hiddden-caption:nth-child(1) {
margin-top: 12px;
}
}
}
}
.app-form{
// 表单行间距
.app-form-item{
margin-bottom: 20px;
}
// 表单按钮margin
.app-form-button{
margin:0 6px;
}
}
// this is less
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import TestMDCtrlBase from './test-mdctrl-form-base.vue';
import view_orderdetail1_grid from '@widgets/ibizorder-detail/main-grid/main-grid.vue';
// 基于 @CONTROL/表单/CONTROL.vue.ftl 生成
@Component({
components: {
view_orderdetail1_grid,
}
})
export default class TestMDCtrl extends TestMDCtrlBase {
}
</script>
\ No newline at end of file
...@@ -1588,7 +1588,6 @@ ...@@ -1588,7 +1588,6 @@
"path" : "PSWORKFLOWS/ODSP.json" "path" : "PSWORKFLOWS/ODSP.json"
}, },
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZOrderTestFormMDCtrlEditView", "rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZOrderTestFormMDCtrlEditView",
"refFlag" : false,
"title" : "表单多数据部件测试", "title" : "表单多数据部件测试",
"viewStyle" : "DEFAULT", "viewStyle" : "DEFAULT",
"viewType" : "DEEDITVIEW", "viewType" : "DEEDITVIEW",
......
...@@ -4869,6 +4869,22 @@ ...@@ -4869,6 +4869,22 @@
"layout" : "TABLE" "layout" : "TABLE"
}, },
"tooltip" : "界面逻辑测试" "tooltip" : "界面逻辑测试"
}, {
"accUserMode" : 2,
"caption" : "表单多数据部件",
"itemType" : "MENUITEM",
"name" : "menuitem267",
"getPSAppFunc" : {
"modelref" : true,
"id" : "AppFunc146"
},
"getPSLayout" : {
"layout" : "TABLE"
},
"getPSLayoutPos" : {
"layout" : "TABLE"
},
"tooltip" : "表单多数据部件"
} ], } ],
"getPSLayout" : { "getPSLayout" : {
"layout" : "TABLE" "layout" : "TABLE"
......
...@@ -3993,6 +3993,22 @@ ...@@ -3993,6 +3993,22 @@
"layout" : "TABLE" "layout" : "TABLE"
}, },
"tooltip" : "界面逻辑测试" "tooltip" : "界面逻辑测试"
}, {
"accUserMode" : 2,
"caption" : "表单多数据部件",
"itemType" : "MENUITEM",
"name" : "menuitem267",
"getPSAppFunc" : {
"modelref" : true,
"id" : "AppFunc146"
},
"getPSLayout" : {
"layout" : "TABLE"
},
"getPSLayoutPos" : {
"layout" : "TABLE"
},
"tooltip" : "表单多数据部件"
} ], } ],
"getPSLayout" : { "getPSLayout" : {
"layout" : "TABLE" "layout" : "TABLE"
......
...@@ -2981,6 +2981,16 @@ ...@@ -2981,6 +2981,16 @@
"tooltip" : "表格部件界面逻辑测试" "tooltip" : "表格部件界面逻辑测试"
} ], } ],
"tooltip" : "界面逻辑测试" "tooltip" : "界面逻辑测试"
}, {
"accUserMode" : 2,
"caption" : "表单多数据部件",
"itemType" : "MENUITEM",
"name" : "menuitem267",
"getPSAppFunc" : {
"modelref" : true,
"id" : "AppFunc146"
},
"tooltip" : "表单多数据部件"
} ], } ],
"getPSSysImage" : { "getPSSysImage" : {
"imagePath" : "/assets/img/operation.svg", "imagePath" : "/assets/img/operation.svg",
......
...@@ -25918,6 +25918,22 @@ ...@@ -25918,6 +25918,22 @@
"layout" : "TABLE" "layout" : "TABLE"
}, },
"tooltip" : "界面逻辑测试" "tooltip" : "界面逻辑测试"
}, {
"accUserMode" : 2,
"caption" : "表单多数据部件",
"itemType" : "MENUITEM",
"name" : "menuitem267",
"getPSAppFunc" : {
"modelref" : true,
"id" : "AppFunc146"
},
"getPSLayout" : {
"layout" : "TABLE"
},
"getPSLayoutPos" : {
"layout" : "TABLE"
},
"tooltip" : "表单多数据部件"
} ], } ],
"getPSLayout" : { "getPSLayout" : {
"layout" : "TABLE" "layout" : "TABLE"
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册