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

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

上级 5da5f905
......@@ -2998,6 +2998,19 @@ const router = new Router({
},
component: () => import('@pages/sample/ibizsample0021-edit-view/ibizsample0021-edit-view.vue'),
},
{
path: 'appwfsteptraceview/:appwfsteptraceview?',
meta: {
caption: 'app.views.appwfsteptraceview.caption',
info:'',
parameters: [
{ pathName: 'index', parameterName: 'index' },
{ pathName: 'appwfsteptraceview', parameterName: 'appwfsteptraceview' },
],
requireAuth: true,
},
component: () => import('@pages/ungroup/app-wfstep-trace-view/app-wfstep-trace-view.vue'),
},
{
path: 'ibizcustoms/:ibizcustom?/customeditview/:customeditview?',
meta: {
......
......@@ -774,7 +774,7 @@ export const viewstate: any = {
viewaction: '',
viewdatachange: false,
refviews: [
'0161dff61fdbb4955ff92c022acc5fb4',
'47F744B6-6308-4EFB-A7B7-B4BF8DC201C6',
'0f4df2881b94c291b6e268dd172bdb67',
],
},
......
......@@ -218,7 +218,7 @@ export default class IBIZCustomerUIServiceBase extends UIService {
}
/**
* 图书
* 应用流程跟踪视图
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
......@@ -248,10 +248,9 @@ export default class IBIZCustomerUIServiceBase extends UIService {
srfparentkey: srfParentDeName ? context[srfParentDeName.toLowerCase()] : null
};
Object.assign(context, parentObj);
let deResParameters: any[] = [];
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'ibizbooks', parameterName: 'ibizbook' },
{ pathName: 'treeview', parameterName: 'treeview' },
{ pathName: 'appwfsteptraceview', parameterName: 'appwfsteptraceview' },
];
const openIndexViewTab = (data: any) => {
const routePath = actionContext.$viewTool.buildUpRoutePath(actionContext.$route, context, deResParameters, parameters, _args, data);
......
......@@ -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: 'IBIZBOOKCustomView_layout' + (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: 'IBIZBOOKCustomView_layout' + (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 } ;
......
......@@ -1447,7 +1447,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface {
*/
public async load(opt: any = {}): Promise<any> {
if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.loadaction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.loadaction') as string) });
return;
}
const arg: any = { ...opt };
......@@ -1494,7 +1494,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface {
*/
public async loadDraft(opt: any = {}): Promise<any> {
if (!this.loaddraftAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) });
return;
}
const arg: any = { ...opt } ;
......@@ -1564,7 +1564,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface {
const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction;
if(!action){
let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction";
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.actionname') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.actionname') as string) });
return;
}
Object.assign(arg,{viewparams:this.viewparams});
......@@ -1672,7 +1672,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface {
const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction;
if(!action){
let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction";
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.actionname') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.actionname') as string) });
return;
}
Object.assign(arg, { viewparams: this.viewparams });
......@@ -1764,7 +1764,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface {
public remove(opt:Array<any> = [],showResultInfo?: boolean): Promise<any> {
return new Promise((resolve: any, reject: any) => {
if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView_layout' + (this.$t('app.formpage.notconfig.removeaction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKWizardView' + (this.$t('app.formpage.notconfig.removeaction') as string) });
return;
}
const arg: any = opt[0];
......@@ -1830,7 +1830,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface {
// 極雿,憛怠摮
Object.assign(arg,copyData);
// 漱
if(this.viewparams){
if(is.viewparams){
let copyViewParams:any = Util.deepCopy(this.viewparams);
if(copyViewParams.w){
delete copyViewParams.w;
......@@ -1993,7 +1993,7 @@ export default class GuideViewFormBase extends Vue implements ControlInterface {
this.onFormLoad(data,emitAction);
this.$emit(emitAction, data);
this.$nextTick(() => {
this.formState.next({ type: emitAction, data: data });
i this.formState.next({ type: emitAction, data: data });
});
}).catch((response: any) => {
if (response && response.status && response.data) {
......@@ -2194,4 +2194,5 @@ export default class GuideViewFormBase extends Vue implements ControlInterface {
<style lang='less'>
@import './guide-view-form-form.less';
</style>uide-view-form-form.less';
</style>
\ No newline at end of file
......@@ -957,7 +957,7 @@ export default class MainBase extends Vue implements ControlInterface {
if (!this.fetchAction) {
this.$Notice.error({
title: this.$t("app.commonWords.wrong") as string,
desc: "IBIZOrderDetailGridView9" + (this.$t("app.gridpage.notConfig.fetchAction") as string),
desc: "IBIZOrderDetailSGridView" + (this.$t("app.gridpage.notConfig.fetchAction") as string),
});
return;
}
......@@ -1086,7 +1086,7 @@ export default class MainBase extends Vue implements ControlInterface {
if (!this.removeAction) {
this.$Notice.error({
title: (this.$t('app.commonWords.wrong') as string),
desc: 'IBIZOrderDetailGridView9' + (this.$t('app.gridpage.notConfig.removeAction') as string)
desc: 'IBIZOrderDetailSGridView' + (this.$t('app.gridpage.notConfig.removeAction') as string)
});
return;
}
......@@ -1200,7 +1200,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public addBatch(arg: any = {}): void {
if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailGridView9'+(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;
}
if(!arg){
......@@ -2094,7 +2094,7 @@ export default class MainBase extends Vue implements ControlInterface {
try {
if (Object.is(item.rowDataState, 'create')) {
if (!this.createAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailGridView9'+(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 {
Object.assign(item, { viewparams: this.viewparams });
const tempContext = Util.deepCopy(this.context);
......@@ -2103,7 +2103,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
}else if (Object.is(item.rowDataState, 'update')){
if (!this.updateAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailGridView9'+(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 {
Object.assign(item, { viewparams: this.viewparams });
const tempContext = Util.deepCopy(this.context);
......@@ -2179,7 +2179,7 @@ export default class MainBase extends Vue implements ControlInterface {
if(!this.loaddraftAction){
this.$Notice.error({
title: (this.$t('app.commonWords.wrong') as string),
desc: 'IBIZOrderDetailGridView9' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string)
desc: 'IBIZOrderDetailSGridView' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string)
});
return;
}
......
......@@ -97,6 +97,7 @@ export default class MainModel {
name: 'ibizorderdetail',
prop: 'ibizorderdetailid',
},
{
name:'size',
prop:'size',
......
......@@ -319,7 +319,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZOrderPickupGridViewBase
* @memberof IBIZOrderSF1GridViewBase
*/
public Edit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
if (args.length === 0) {
......@@ -462,6 +462,20 @@ export default class MainBase extends Vue implements ControlInterface {
return this.selections[0];
}
/**
* 打开新建数据视图
*
* @type {any}
* @memberof MainBase
*/
@Prop() public newdata: any;
/**
* 打开编辑数据视图
*
* @type {any}
* @memberof MainBase
*/
@Prop() public opendata: any;
/**
* 是否嵌入关系界面
......@@ -996,7 +1010,7 @@ export default class MainBase extends Vue implements ControlInterface {
if (!this.fetchAction) {
this.$Notice.error({
title: this.$t("app.commonWords.wrong") as string,
desc: "IBIZOrderPickupGridView" + (this.$t("app.gridpage.notConfig.fetchAction") as string),
desc: "IBIZOrderSF1GridView" + (this.$t("app.gridpage.notConfig.fetchAction") as string),
});
return;
}
......@@ -1125,7 +1139,7 @@ export default class MainBase extends Vue implements ControlInterface {
if (!this.removeAction) {
this.$Notice.error({
title: (this.$t('app.commonWords.wrong') as string),
desc: 'IBIZOrderPickupGridView' + (this.$t('app.gridpage.notConfig.removeAction') as string)
desc: 'IBIZOrderSF1GridView' + (this.$t('app.gridpage.notConfig.removeAction') as string)
});
return;
}
......@@ -1239,7 +1253,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public addBatch(arg: any = {}): void {
if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderPickupGridView'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderSF1GridView'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
return;
}
if(!arg){
......@@ -2170,7 +2184,7 @@ export default class MainBase extends Vue implements ControlInterface {
try {
if (Object.is(item.rowDataState, 'create')) {
if (!this.createAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderPickupGridView'+(this.$t('app.gridpage.notConfig.createAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderSF1GridView'+(this.$t('app.gridpage.notConfig.createAction') as string) });
} else {
Object.assign(item, { viewparams: this.viewparams });
const tempContext = Util.deepCopy(this.context);
......@@ -2179,7 +2193,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
}else if (Object.is(item.rowDataState, 'update')){
if (!this.updateAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderPickupGridView'+(this.$t('app.gridpage.notConfig.updateAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderSF1GridView'+(this.$t('app.gridpage.notConfig.updateAction') as string) });
} else {
Object.assign(item, { viewparams: this.viewparams });
const tempContext = Util.deepCopy(this.context);
......@@ -2255,7 +2269,7 @@ export default class MainBase extends Vue implements ControlInterface {
if(!this.loaddraftAction){
this.$Notice.error({
title: (this.$t('app.commonWords.wrong') as string),
desc: 'IBIZOrderPickupGridView' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string)
desc: 'IBIZOrderSF1GridView' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string)
});
return;
}
......
......@@ -105,6 +105,21 @@ export default class MainModel {
prop: 'n_ibizordername_like',
dataType: 'QUERYPARAM'
},
{
name: 'n_orderstate_eq',
prop: 'n_orderstate_eq',
dataType: 'QUERYPARAM'
},
{
name: 'n_ordertime_gt',
prop: 'n_ordertime_gt',
dataType: 'QUERYPARAM'
},
{
name: 'n_ordertime_lt',
prop: 'n_ordertime_lt',
dataType: 'QUERYPARAM'
},
{
name:'size',
......
......@@ -276,7 +276,7 @@ export default class DataRelationBase extends Vue implements ControlInterface {
name: '1048cbbb-b0d3-4259-822b-a429b7c7f7b9',
text: '流程日志',
disabled: true,
navView: 'ibizbooktree-view',
navView: 'app-wfstep-trace-view',
localContext: null,
localViewParam: null
}
......
......@@ -11,51 +11,51 @@
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSDETreeColumns" : [ {
"caption" : "归还日期",
"codeName" : "returntime",
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "returntime",
"name" : "returntime",
"dataItemName" : "author",
"name" : "author",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "出版社",
"codeName" : "press",
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "press",
"name" : "press",
"dataItemName" : "ibizbookname",
"name" : "ibizbookname",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "借出日期",
"codeName" : "lendouttime",
"caption" : "归还日期",
"codeName" : "returntime",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "lendouttime",
"name" : "lendouttime",
"dataItemName" : "returntime",
"name" : "returntime",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "作者",
"codeName" : "author",
"caption" : "出版社",
"codeName" : "press",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"name" : "author",
"dataItemName" : "press",
"name" : "press",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"caption" : "借出日期",
"codeName" : "lendouttime",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"name" : "ibizbookname",
"dataItemName" : "lendouttime",
"name" : "lendouttime",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
......
......@@ -19,16 +19,6 @@
}
} ],
"getPSDETreeColumns" : [ {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"name" : "author",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书描述",
"codeName" : "subtext",
"columnType" : "DEFGRIDCOLUMN",
......@@ -48,6 +38,16 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"name" : "author",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ],
"getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : {
......
......@@ -894,12 +894,12 @@
"uIActionType" : "DEUIACTION"
}, {
"actionTarget" : "SINGLEDATA",
"caption" : "图书",
"caption" : "应用流程跟踪视图",
"codeName" : "panel_Layoutpanel_button_calluilogic20_click",
"getFrontPSAppView" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZBOOKTreeView.json",
"viewType" : "DETREEVIEW"
"path" : "PSSYSAPPS/Web/PSAPPUTILVIEWS/AppWFStepTraceView.json",
"viewType" : "APPWFSTEPTRACEVIEW"
},
"frontProcessType" : "WIZARD",
"fullCodeName" : "IBIZCustomer_panel_Layoutpanel_button_calluilogic20_click",
......
......@@ -34,51 +34,51 @@
"id" : "GANTT"
},
"getPSDETreeColumns" : [ {
"caption" : "归还日期",
"codeName" : "returntime",
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "returntime",
"name" : "returntime",
"dataItemName" : "author",
"name" : "author",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "出版社",
"codeName" : "press",
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "press",
"name" : "press",
"dataItemName" : "ibizbookname",
"name" : "ibizbookname",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "借出日期",
"codeName" : "lendouttime",
"caption" : "归还日期",
"codeName" : "returntime",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "lendouttime",
"name" : "lendouttime",
"dataItemName" : "returntime",
"name" : "returntime",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "作者",
"codeName" : "author",
"caption" : "出版社",
"codeName" : "press",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"name" : "author",
"dataItemName" : "press",
"name" : "press",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"caption" : "借出日期",
"codeName" : "lendouttime",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"name" : "ibizbookname",
"dataItemName" : "lendouttime",
"name" : "lendouttime",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
......
......@@ -75,16 +75,6 @@
"id" : "TREEGRIDEX"
},
"getPSDETreeColumns" : [ {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"name" : "author",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书描述",
"codeName" : "subtext",
"columnType" : "DEFGRIDCOLUMN",
......@@ -104,6 +94,16 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"name" : "author",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ],
"getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : {
......
......@@ -1807,12 +1807,12 @@
},
"getPSUIAction" : {
"actionTarget" : "SINGLEDATA",
"caption" : "图书",
"caption" : "应用流程跟踪视图",
"codeName" : "panel_Layoutpanel_button_calluilogic20_click",
"getFrontPSAppView" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZBOOKTreeView.json",
"viewType" : "DETREEVIEW"
"path" : "PSSYSAPPS/Web/PSAPPUTILVIEWS/AppWFStepTraceView.json",
"viewType" : "APPWFSTEPTRACEVIEW"
},
"frontProcessType" : "WIZARD",
"fullCodeName" : "IBIZCustomer_panel_Layoutpanel_button_calluilogic20_click",
......
......@@ -806,8 +806,8 @@
"name" : "dritem1",
"getPSAppView" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZBOOKTreeView.json",
"viewType" : "DETREEVIEW"
"path" : "PSSYSAPPS/Web/PSAPPUTILVIEWS/AppWFStepTraceView.json",
"viewType" : "APPWFSTEPTRACEVIEW"
}
} ],
"modelid" : "F70D46F0-4A0C-45B2-B449-664DF6C060AD",
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册