提交 885d58df 编写于 作者: ibizdev's avatar ibizdev

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

上级 12a16243
......@@ -1279,6 +1279,14 @@
"viewname": "IBIZOrderDetailEditView",
"viewtag": "77142fc6e2a600bdc4d8ad6c4bfa18cd"
},
"ibizbookusreditview_ctrlplugin": {
"title": "表单改iframe",
"caption": "表单改iframe",
"viewtype": "DEEDITVIEW",
"viewmodule": "Sample",
"viewname": "IBIZBOOKUsrEditView_ctrlPlugin",
"viewtag": "793FE7EC-5E69-4D5E-85A0-23ED5F868084"
},
"ibizuniproductredirectview": {
"title": "统一产品数据重定向视图",
"caption": "统一产品(索引主实体)",
......
......@@ -462,7 +462,6 @@ function getAppLocale(){
menuitem246: commonLogic.appcommonhandle("向导视图",null),
menuitem247: commonLogic.appcommonhandle("选项操作视图",null),
menuitem248: commonLogic.appcommonhandle("列表视图",null),
menuitem249: commonLogic.appcommonhandle("选择类视图",null),
menuitem250: commonLogic.appcommonhandle("树视图",null),
menuitem251: commonLogic.appcommonhandle("部件插件",null),
menuitem252: commonLogic.appcommonhandle("表单",null),
......
......@@ -462,7 +462,6 @@ function getAppLocale(){
menuitem246: commonLogic.appcommonhandle("向导视图",null),
menuitem247: commonLogic.appcommonhandle("选项操作视图",null),
menuitem248: commonLogic.appcommonhandle("列表视图",null),
menuitem249: commonLogic.appcommonhandle("选择类视图",null),
menuitem250: commonLogic.appcommonhandle("树视图",null),
menuitem251: commonLogic.appcommonhandle("部件插件",null),
menuitem252: commonLogic.appcommonhandle("表单",null),
......
......@@ -462,7 +462,6 @@ function getAppLocale(){
menuitem246: commonLogic.appcommonhandle("向导视图",null),
menuitem247: commonLogic.appcommonhandle("选项操作视图",null),
menuitem248: commonLogic.appcommonhandle("列表视图",null),
menuitem249: commonLogic.appcommonhandle("选择类视图",null),
menuitem250: commonLogic.appcommonhandle("树视图",null),
menuitem251: commonLogic.appcommonhandle("部件插件",null),
menuitem252: commonLogic.appcommonhandle("表单",null),
......
......@@ -188,6 +188,10 @@ function getLocaleResourceBase(){
caption: commonLogic.appcommonhandle("图书",null),
title: commonLogic.appcommonhandle("测试日历视图布局面板",null),
},
usreditview_ctrlplugin: {
caption: commonLogic.appcommonhandle("表单改iframe",null),
title: commonLogic.appcommonhandle("表单改iframe",null),
},
testcllistview: {
caption: commonLogic.appcommonhandle("图书",null),
title: commonLogic.appcommonhandle("测试视图布局面板",null),
......@@ -618,6 +622,30 @@ function getLocaleResourceBase(){
uiactions: {
},
},
usr1207735605_form: {
details: {
group1: commonLogic.appcommonhandle("图书基本信息",null),
formpage1: commonLogic.appcommonhandle("基本信息",null),
group2: commonLogic.appcommonhandle("操作信息",null),
formpage2: commonLogic.appcommonhandle("其它",null),
srfupdatedate: commonLogic.appcommonhandle("更新时间",null),
srforikey: commonLogic.appcommonhandle("",null),
srfkey: commonLogic.appcommonhandle("图书标识",null),
srfmajortext: commonLogic.appcommonhandle("图书名称",null),
srftempmode: commonLogic.appcommonhandle("",null),
srfuf: commonLogic.appcommonhandle("",null),
srfdeid: commonLogic.appcommonhandle("",null),
srfsourcekey: commonLogic.appcommonhandle("",null),
ibizbookname: commonLogic.appcommonhandle("图书名称",null),
createman: commonLogic.appcommonhandle("建立人",null),
createdate: commonLogic.appcommonhandle("建立时间",null),
updateman: commonLogic.appcommonhandle("更新人",null),
updatedate: commonLogic.appcommonhandle("更新时间",null),
ibizbookid: commonLogic.appcommonhandle("图书标识",null),
},
uiactions: {
},
},
interfuncform_2_form: {
details: {
group1: commonLogic.appcommonhandle("数据选择视图展示",null),
......@@ -1844,6 +1872,8 @@ function getLocaleResourceBase(){
tip: commonLogic.appcommonhandle("导出数据模型",null),
},
},
usreditview_ctrlplugintoolbar_toolbar: {
},
testclcalendarviewcalendar_quicktoolbar_toolbar: {
deuiaction1: {
caption: commonLogic.appcommonhandle("保存",null),
......
......@@ -188,6 +188,10 @@ function getLocaleResourceBase(){
caption: commonLogic.appcommonhandle("图书",null),
title: commonLogic.appcommonhandle("测试日历视图布局面板",null),
},
usreditview_ctrlplugin: {
caption: commonLogic.appcommonhandle("表单改iframe",null),
title: commonLogic.appcommonhandle("表单改iframe",null),
},
testcllistview: {
caption: commonLogic.appcommonhandle("图书",null),
title: commonLogic.appcommonhandle("测试视图布局面板",null),
......@@ -618,6 +622,30 @@ function getLocaleResourceBase(){
uiactions: {
},
},
usr1207735605_form: {
details: {
group1: commonLogic.appcommonhandle("图书基本信息",null),
formpage1: commonLogic.appcommonhandle("基本信息",null),
group2: commonLogic.appcommonhandle("操作信息",null),
formpage2: commonLogic.appcommonhandle("其它",null),
srfupdatedate: commonLogic.appcommonhandle("更新时间",null),
srforikey: commonLogic.appcommonhandle("",null),
srfkey: commonLogic.appcommonhandle("图书标识",null),
srfmajortext: commonLogic.appcommonhandle("图书名称",null),
srftempmode: commonLogic.appcommonhandle("",null),
srfuf: commonLogic.appcommonhandle("",null),
srfdeid: commonLogic.appcommonhandle("",null),
srfsourcekey: commonLogic.appcommonhandle("",null),
ibizbookname: commonLogic.appcommonhandle("图书名称",null),
createman: commonLogic.appcommonhandle("建立人",null),
createdate: commonLogic.appcommonhandle("建立时间",null),
updateman: commonLogic.appcommonhandle("更新人",null),
updatedate: commonLogic.appcommonhandle("更新时间",null),
ibizbookid: commonLogic.appcommonhandle("图书标识",null),
},
uiactions: {
},
},
interfuncform_2_form: {
details: {
group1: commonLogic.appcommonhandle("数据选择视图展示",null),
......@@ -1844,6 +1872,8 @@ function getLocaleResourceBase(){
tip: commonLogic.appcommonhandle("导出数据模型",null),
},
},
usreditview_ctrlplugintoolbar_toolbar: {
},
testclcalendarviewcalendar_quicktoolbar_toolbar: {
deuiaction1: {
caption: commonLogic.appcommonhandle("Save",null),
......
......@@ -188,6 +188,10 @@ function getLocaleResourceBase(){
caption: commonLogic.appcommonhandle("图书",null),
title: commonLogic.appcommonhandle("测试日历视图布局面板",null),
},
usreditview_ctrlplugin: {
caption: commonLogic.appcommonhandle("表单改iframe",null),
title: commonLogic.appcommonhandle("表单改iframe",null),
},
testcllistview: {
caption: commonLogic.appcommonhandle("图书",null),
title: commonLogic.appcommonhandle("测试视图布局面板",null),
......@@ -618,6 +622,30 @@ function getLocaleResourceBase(){
uiactions: {
},
},
usr1207735605_form: {
details: {
group1: commonLogic.appcommonhandle("图书基本信息",null),
formpage1: commonLogic.appcommonhandle("基本信息",null),
group2: commonLogic.appcommonhandle("操作信息",null),
formpage2: commonLogic.appcommonhandle("其它",null),
srfupdatedate: commonLogic.appcommonhandle("更新时间",null),
srforikey: commonLogic.appcommonhandle("",null),
srfkey: commonLogic.appcommonhandle("图书标识",null),
srfmajortext: commonLogic.appcommonhandle("图书名称",null),
srftempmode: commonLogic.appcommonhandle("",null),
srfuf: commonLogic.appcommonhandle("",null),
srfdeid: commonLogic.appcommonhandle("",null),
srfsourcekey: commonLogic.appcommonhandle("",null),
ibizbookname: commonLogic.appcommonhandle("图书名称",null),
createman: commonLogic.appcommonhandle("建立人",null),
createdate: commonLogic.appcommonhandle("建立时间",null),
updateman: commonLogic.appcommonhandle("更新人",null),
updatedate: commonLogic.appcommonhandle("更新时间",null),
ibizbookid: commonLogic.appcommonhandle("图书标识",null),
},
uiactions: {
},
},
interfuncform_2_form: {
details: {
group1: commonLogic.appcommonhandle("数据选择视图展示",null),
......@@ -1844,6 +1872,8 @@ function getLocaleResourceBase(){
tip: commonLogic.appcommonhandle("导出数据模型",null),
},
},
usreditview_ctrlplugintoolbar_toolbar: {
},
testclcalendarviewcalendar_quicktoolbar_toolbar: {
deuiaction1: {
caption: commonLogic.appcommonhandle("保存",null),
......
......@@ -1287,6 +1287,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "IBIZOrderDetailEditView",
"viewtag": "77142fc6e2a600bdc4d8ad6c4bfa18cd"
},
"ibizbookusreditview_ctrlplugin": {
"title": "表单改iframe",
"caption": "表单改iframe",
"viewtype": "DEEDITVIEW",
"viewmodule": "Sample",
"viewname": "IBIZBOOKUsrEditView_ctrlPlugin",
"viewtag": "793FE7EC-5E69-4D5E-85A0-23ED5F868084"
},
"ibizuniproductredirectview": {
"title": "统一产品数据重定向视图",
"caption": "统一产品(索引主实体)",
......
......@@ -1883,6 +1883,19 @@ const router = new Router({
requireAuth: true,
},
component: () => import('@pages/sample/ibizorder-detail-edit-view/ibizorder-detail-edit-view.vue'),
},
{
path: '/ibizbooks/:ibizbook?/usreditview_ctrlplugin/:usreditview_ctrlplugin?',
meta: {
caption: 'entities.ibizbook.views.usreditview_ctrlplugin.caption',
info:'',
parameters: [
{ pathName: 'ibizbooks', parameterName: 'ibizbook' },
{ pathName: 'usreditview_ctrlplugin', parameterName: 'usreditview_ctrlplugin' },
],
requireAuth: true,
},
component: () => import('@pages/sample/ibizbookusr-edit-view-ctrl-plugin/ibizbookusr-edit-view-ctrl-plugin.vue'),
},
{
path: '/ibizuniproducts/:ibizuniproduct?/redirectview/:redirectview?',
......
// 基于 @VIEW/实体编辑视图/VIEW.less.ftl 生成
.view-card {
>.ivu-card-extra {
top: 5px;
right: 0px;
}
}
.ibizbookusr-edit-view-ctrl-plugin{
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
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import IBIZBOOKUsrEditView_ctrlPluginBase from './ibizbookusr-edit-view-ctrl-plugin-base.vue';
import view_form from '@widgets/ibizbook/usr1207735605-form/usr1207735605-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 IBIZBOOKUsrEditView_ctrlPlugin extends IBIZBOOKUsrEditView_ctrlPluginBase {
}
</script>
\ No newline at end of file
......@@ -156,6 +156,7 @@ export const PageComponents = {
Vue.component('ibizbookusr-option-view', () => import('@pages/sample/ibizbookusr-option-view/ibizbookusr-option-view.vue'));
Vue.component('ibizbookusr-list-view-plugin', () => import('@pages/sample/ibizbookusr-list-view-plugin/ibizbookusr-list-view-plugin.vue'));
Vue.component('ibizbookusr-tree-view-plugin', () => import('@pages/sample/ibizbookusr-tree-view-plugin/ibizbookusr-tree-view-plugin.vue'));
Vue.component('ibizbookusr-edit-view-ctrl-plugin', () => import('@pages/sample/ibizbookusr-edit-view-ctrl-plugin/ibizbookusr-edit-view-ctrl-plugin.vue'));
Vue.component('ibizbookusr-grid-view-ctrl-plugin', () => import('@pages/sample/ibizbookusr-grid-view-ctrl-plugin/ibizbookusr-grid-view-ctrl-plugin.vue'));
Vue.component('ibizbookusr-grid-view-col-plugin', () => import('@pages/sample/ibizbookusr-grid-view-col-plugin/ibizbookusr-grid-view-col-plugin.vue'));
Vue.component('ibizbookusr-edit-view-action-plugin', () => import('@pages/sample/ibizbookusr-edit-view-action-plugin/ibizbookusr-edit-view-action-plugin.vue'));
......
......@@ -2362,6 +2362,20 @@ const router = new Router({
},
component: () => import('@pages/sample/ibizbookusr-tree-view-plugin/ibizbookusr-tree-view-plugin.vue'),
},
{
path: 'ibizbooks/:ibizbook?/usreditview_ctrlplugin/:usreditview_ctrlplugin?',
meta: {
caption: 'entities.ibizbook.views.usreditview_ctrlplugin.caption',
info:'',
parameters: [
{ pathName: 'index', parameterName: 'index' },
{ pathName: 'ibizbooks', parameterName: 'ibizbook' },
{ pathName: 'usreditview_ctrlplugin', parameterName: 'usreditview_ctrlplugin' },
],
requireAuth: true,
},
component: () => import('@pages/sample/ibizbookusr-edit-view-ctrl-plugin/ibizbookusr-edit-view-ctrl-plugin.vue'),
},
{
path: 'ibizbooks/:ibizbook?/usrgridview_ctrlplugin/:usrgridview_ctrlplugin?',
meta: {
......@@ -5408,6 +5422,19 @@ const router = new Router({
requireAuth: true,
},
component: () => import('@pages/sample/ibizorder-detail-edit-view/ibizorder-detail-edit-view.vue'),
},
{
path: '/ibizbooks/:ibizbook?/usreditview_ctrlplugin/:usreditview_ctrlplugin?',
meta: {
caption: 'entities.ibizbook.views.usreditview_ctrlplugin.caption',
info:'',
parameters: [
{ pathName: 'ibizbooks', parameterName: 'ibizbook' },
{ pathName: 'usreditview_ctrlplugin', parameterName: 'usreditview_ctrlplugin' },
],
requireAuth: true,
},
component: () => import('@pages/sample/ibizbookusr-edit-view-ctrl-plugin/ibizbookusr-edit-view-ctrl-plugin.vue'),
},
{
path: '/ibizuniproducts/:ibizuniproduct?/redirectview/:redirectview?',
......
......@@ -1701,6 +1701,19 @@ const router = new Router({
requireAuth: true,
},
component: () => import('@pages/sample/ibizorder-detail-edit-view/ibizorder-detail-edit-view.vue'),
},
{
path: '/ibizbooks/:ibizbook?/usreditview_ctrlplugin/:usreditview_ctrlplugin?',
meta: {
caption: 'entities.ibizbook.views.usreditview_ctrlplugin.caption',
info:'',
parameters: [
{ pathName: 'ibizbooks', parameterName: 'ibizbook' },
{ pathName: 'usreditview_ctrlplugin', parameterName: 'usreditview_ctrlplugin' },
],
requireAuth: true,
},
component: () => import('@pages/sample/ibizbookusr-edit-view-ctrl-plugin/ibizbookusr-edit-view-ctrl-plugin.vue'),
},
{
path: '/ibizuniproducts/:ibizuniproduct?/redirectview/:redirectview?',
......
......@@ -1058,6 +1058,7 @@ export const viewstate: any = {
'CA7D75CA-7F3A-40F6-9DF9-587D0DAE8ECF',
'D4BB9A85-DE51-4CB3-810D-D33DF0B1F8AA',
'8779C32C-B962-4AB7-9B90-E3181B16E4E7',
'793FE7EC-5E69-4D5E-85A0-23ED5F868084',
'CBB075E1-BDC9-4F6A-BCF4-09EC4D7370EE',
'611B670D-30A4-44D8-A0F7-DD1266265CD6',
'F7892096-9D26-49A7-A1E6-9D49CE5D60EA',
......@@ -1418,6 +1419,15 @@ export const viewstate: any = {
'993e4b7a074b1585f383365fff297164',
],
},
{
viewtag: '793FE7EC-5E69-4D5E-85A0-23ED5F868084',
viewmodule: 'Sample',
viewname: 'IBIZBOOKUsrEditView_ctrlPlugin',
viewaction: '',
viewdatachange: false,
refviews: [
],
},
{
viewtag: '79abf62d7cac6f35c896f412b124956f',
viewmodule: 'Sample',
......
......@@ -137,6 +137,7 @@ export default class IBIZBOOKUIServiceBase extends UIService {
this.allViewMap.set(':',{viewname:'optionview_layout',viewType:'DEOPTVIEW',srfappde:'ibizbooks',component:'ibizbookoption-view-layout'});
this.allViewMap.set(':',{viewname:'interfunceditview_layout',viewType:'DEEDITVIEW',srfappde:'ibizbooks',component:'ibizbookinter-func-edit-view-layout'});
this.allViewMap.set(':',{viewname:'testclcalendarview',viewType:'DECALENDARVIEW',srfappde:'ibizbooks',component:'ibizbooktest-clcalendar-view'});
this.allViewMap.set(':',{viewname:'usreditview_ctrlplugin',viewType:'DEEDITVIEW',srfappde:'ibizbooks',component:'ibizbookusr-edit-view-ctrl-plugin'});
this.allViewMap.set(':',{viewname:'testcllistview',viewType:'DELISTVIEW',srfappde:'ibizbooks',component:'ibizbooktest-cllist-view'});
this.allViewMap.set(':',{viewname:'usr2meditview9_layout',viewType:'DEMEDITVIEW9',srfappde:'ibizbooks',component:'ibizbookusr2-medit-view9-layout'});
this.allViewMap.set(':',{viewname:'usrtreeview_plugin',viewType:'DETREEVIEW',srfappde:'ibizbooks',component:'ibizbookusr-tree-view-plugin'});
......
......@@ -1127,6 +1127,9 @@ export default class MainMenuBase extends Vue implements ControlInterface {
case 'UsrAppFunc1207170776':
this.clickUsrAppFunc1207170776(item);
return;
case 'UsrAppFunc1207842515':
this.clickUsrAppFunc1207842515(item);
return;
case 'UsrAppFunc1206983666':
this.clickUsrAppFunc1206983666(item);
return;
......@@ -4797,6 +4800,29 @@ export default class MainMenuBase extends Vue implements ControlInterface {
})
}
/**
* 表单部件插件
*
* @param {*} [item={}]
* @memberof MainMenu
*/
public clickUsrAppFunc1207842515(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'ibizbooks', parameterName: 'ibizbook' },
{ pathName: 'usreditview_ctrlplugin', parameterName: 'usreditview_ctrlplugin' },
];
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);
})
}
/**
* 表格部件插件(vue3)
*
......
......@@ -639,7 +639,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public load(opt: any = {}): void {
if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZAPPEDITORListView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZAPPEDITORGridView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return;
}
const arg: any = { ...opt };
......@@ -675,7 +675,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public async loadDraft(opt: any = {},mode?:string): Promise<any> {
if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZAPPEDITORListView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZAPPEDITORGridView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return;
}
const arg: any = { ...opt } ;
......
......@@ -712,7 +712,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public load(opt: any = {}): void {
if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKGroupByCodelistListView' + (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;
}
const arg: any = { ...opt };
......@@ -748,7 +748,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public async loadDraft(opt: any = {},mode?:string): Promise<any> {
if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKGroupByCodelistListView' + (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;
}
const arg: any = { ...opt } ;
......
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import Usr1207735605Base from './usr1207735605-form-base.vue';
// 基于 @CONTROL/表单/CONTROL.vue.ftl 生成
@Component({
components: {
}
})
export default class Usr1207735605 extends Usr1207735605Base {
}
</script>
\ No newline at end of file
......@@ -5125,6 +5125,14 @@
"rTMOSFilePath" : "psmodeldata$psdataentities/WizardView",
"realModelSubType" : "DEWIZARDVIEW",
"realModelType" : "PSDEVIEWBASE"
}, {
"codeName" : "UsrEditView_ctrlPlugin",
"logicName" : "表单部件插件(vue3)",
"mOSFilePath" : "psmodeldata$psdataentities/UsrEditView_ctrlPlugin",
"name" : "表单部件插件(vue3)",
"rTMOSFilePath" : "psmodeldata$psdataentities/UsrEditView_ctrlPlugin",
"realModelSubType" : "DEEDITVIEW",
"realModelType" : "PSDEVIEWBASE"
}, {
"codeName" : "TreeGridExView",
"logicName" : "图书实体树表格视图(增强)",
......@@ -5643,6 +5651,15 @@
"rTMOSFilePath" : "psmodeldata$psdataentities/rulesForm",
"realModelSubType" : "EDITFORM",
"realModelType" : "PSDEFORM"
}, {
"codeName" : "Usr1207735605",
"logicName" : "表单部件插件(vue3)_表单",
"mOSFilePath" : "psmodeldata$psdataentities/Usr1207735605",
"modelTag2" : "0",
"name" : "表单部件插件(vue3)_表单",
"rTMOSFilePath" : "psmodeldata$psdataentities/Usr1207735605",
"realModelSubType" : "EDITFORM",
"realModelType" : "PSDEFORM"
}, {
"codeName" : "mainLayout",
"logicName" : "编辑表单(数据选择)(布局面板)",
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册