<script lang='tsx'>
import { Component, Vue, Prop, Model, Watch } from "vue-property-decorator";
import { VNode, CreateElement } from "vue";
import { interval, Subject, Subscription } from "rxjs";
import { Http, Util } from "@/utils";
import JSONEditor from "@json-editor/json-editor";
import BootstrapVue from "bootstrap-vue";
import "bootstrap/dist/css/bootstrap.css";
import "bootstrap-vue/dist/bootstrap-vue.css";
import CodeListService from "@/codelist/codelist-service";
import AppFormJson from "./app-form-json.vue";
@Component({
components: {},
})
export default class AppFormJsonFieldSet extends AppFormJson {
public codeListService: CodeListService = new CodeListService({
$store: this.$store,
});
public async getSchema(): Promise<any> {
let _schema = {
title: "指标",
type: "object",
format: "grid",
id: "arr_columnDefs",
$ref: "#/definitions/fieldDefs",
definitions: {
fieldDefs: {
type: "object",
title: "指标",
required: [
"metricentity",
"metricfield",
"timeentity",
"timefield",
"domainsentity",
"domainsfield",
"dimentity",
"dimfield",
"keyvalueentity",
"keyvaluefield",
"businesscatentity",
"businesscatfield",
"ext1entity",
"ext1field",
"ext2entity",
"ext2field",
"modelid",
],
properties: {
modelid: {
type: "string",
title: "模型",
options: {
grid_columns: 12,
hidden: true,
select2_options: {
width: 350,
},
},
enumSource: [
{
source: [
{ id: this.data.modelid, text: this.data.modelname },
],
title: "{{item.text}}",
value: "{{item.id}}",
},
],
propertyOrder: 21,
},
metricentity: {
type: "selectnew",
title: "指标实体",
watch: {
modelid: "arr_columnDefs.modelid",
},
enumSource: [
{
source: [...[{ label: "--", id: "" }]],
p0: "modelid",
url: "/dst/datamodels/${p0}/allpropertys",
title: "{{item.label}}",
value: "{{item.id}}",
},
],
options: {
grid_columns: 6,
select2_options: {
width: 350,
value: "",
},
},
propertyOrder: 4,
},
metricfield: {
type: "selectnew",
title: "指标属性",
watch: {
modelid: "arr_columnDefs.modelid",
entity: "arr_columnDefs.metricentity",
},
enumSource: [
{
source: [...[{ label: "--", id: "" }]],
p0: "modelid",
p1: "entity",
url: "/dst/datamodels/${p0}/allpropertys/${p1}/fields",
title: "{{item.label}}",
value: "{{item.id}}",
},
],
options: {
grid_columns: 6,
select2_options: {
width: 250,
value: "",
},
},
propertyOrder: 5,
},
timeentity: {
type: "selectnew",
title: "时间实体",
watch: {
modelid: "arr_columnDefs.modelid",
},
enumSource: [
{
source: [...[{ label: "--", id: "" }]],
p0: "modelid",
url: "/dst/datamodels/${p0}/allpropertys",
title: "{{item.label}}",
value: "{{item.id}}",
},
],
options: {
grid_columns: 6,
select2_options: {
width: 350,
value: "",
},
},
propertyOrder: 6,
},
timefield: {
type: "selectnew",
title: "时间属性",
watch: {
modelid: "arr_columnDefs.modelid",
entity: "arr_columnDefs.timeentity",
},
enumSource: [
{
source: [...[{ label: "--", id: "" }]],
p0: "modelid",
p1: "entity",
url: "/dst/datamodels/${p0}/allpropertys/${p1}/fields",
title: "{{item.label}}",
value: "{{item.id}}",
},
],
options: {
grid_columns: 6,
select2_options: {
width: 250,
value: "",
},
},
propertyOrder: 7,
},
domainsentity: {
type: "selectnew",
title: "分区实体",
watch: {
modelid: "arr_columnDefs.modelid",
},
enumSource: [
{
source: [...[{ label: "--", id: "" }]],
p0: "modelid",
url: "/dst/datamodels/${p0}/allpropertys",
title: "{{item.label}}",
value: "{{item.id}}",
},
],
options: {
grid_columns: 6,
select2_options: {
width: 350,
value: "",
},
},
propertyOrder: 8,
},
domainsfield: {
type: "selectnew",
title: "分区属性",
watch: {
modelid: "arr_columnDefs.modelid",
entity: "arr_columnDefs.domainsentity",
},
enumSource: [
{
source: [...[{ label: "--", id: "" }]],
p0: "modelid",
p1: "entity",
url: "/dst/datamodels/${p0}/allpropertys/${p1}/fields",
title: "{{item.label}}",
value: "{{item.id}}",
},
],
options: {
grid_columns: 6,
select2_options: {
width: 250,
value: "",
},
},
propertyOrder: 9,
},
dimentity: {
type: "selectnew",
title: "维度实体",
watch: {
modelid: "arr_columnDefs.modelid",
},
enumSource: [
{
source: [...[{ label: "--", id: "" }]],
p0: "modelid",
url: "/dst/datamodels/${p0}/allpropertys",
title: "{{item.label}}",
value: "{{item.id}}",
},
],
options: {
grid_columns: 6,
select2_options: {
width: 350,
value: "",
},
},
propertyOrder: 10,
},
dimfield: {
type: "selectnew",
title: "维度属性",
watch: {
modelid: "arr_columnDefs.modelid",
entity: "arr_columnDefs.dimentity",
},
enumSource: [
{
source: [...[{ label: "--", id: "" }]],
p0: "modelid",
p1: "entity",
url: "/dst/datamodels/${p0}/allpropertys/${p1}/fields",
title: "{{item.label}}",
value: "{{item.id}}",
},
],
options: {
grid_columns: 6,
select2_options: {
width: 250,
value: "",
},
},
propertyOrder: 11,
},
keyvalueentity: {
type: "selectnew",
title: "标示实体",
watch: {
modelid: "arr_columnDefs.modelid",
},
enumSource: [
{
source: [...[{ label: "--", id: "" }]],
p0: "modelid",
url: "/dst/datamodels/${p0}/allpropertys",
title: "{{item.label}}",
value: "{{item.id}}",
},
],
options: {
grid_columns: 6,
select2_options: {
width: 350,
value: "",
},
},
propertyOrder: 12,
},
keyvaluefield: {
type: "selectnew",
title: "标示属性",
watch: {
modelid: "arr_columnDefs.modelid",
entity: "arr_columnDefs.keyvalueentity",
},
enumSource: [
{
source: [...[{ label: "--", id: "" }]],
p0: "modelid",
p1: "entity",
url: "/dst/datamodels/${p0}/allpropertys/${p1}/fields",
title: "{{item.label}}",
value: "{{item.id}}",
},
],
options: {
grid_columns: 6,
select2_options: {
width: 250,
value: "",
},
},
propertyOrder: 13,
},
businesscatentity: {
type: "selectnew",
title: "业务类别实体",
watch: {
modelid: "arr_columnDefs.modelid",
},
enumSource: [
{
source: [...[{ label: "--", id: "" }]],
p0: "modelid",
url: "/dst/datamodels/${p0}/allpropertys",
title: "{{item.label}}",
value: "{{item.id}}",
},
],
options: {
grid_columns: 6,
select2_options: {
width: 350,
value: "",
},
},
propertyOrder: 14,
},
businesscatfield: {
type: "selectnew",
title: "业务类别属性",
watch: {
modelid: "arr_columnDefs.modelid",
entity: "arr_columnDefs.businesscatentity",
},
enumSource: [
{
source: [...[{ label: "--", id: "" }]],
p0: "modelid",
p1: "entity",
url: "/dst/datamodels/${p0}/allpropertys/${p1}/fields",
title: "{{item.label}}",
value: "{{item.id}}",
},
],
options: {
grid_columns: 6,
select2_options: {
width: 250,
value: "",
},
},
propertyOrder: 15,
},
ext1entity: {
type: "selectnew",
title: "附加实体1",
watch: {
modelid: "arr_columnDefs.modelid",
},
enumSource: [
{
source: [...[{ label: "--", id: "" }]],
p0: "modelid",
url: "/dst/datamodels/${p0}/allpropertys",
title: "{{item.label}}",
value: "{{item.id}}",
},
],
options: {
grid_columns: 6,
select2_options: {
width: 350,
value: "",
},
},
propertyOrder: 16,
},
ext1field: {
type: "selectnew",
title: "附加属性1",
watch: {
modelid: "arr_columnDefs.modelid",
entity: "arr_columnDefs.ext1entity",
},
enumSource: [
{
source: [...[{ label: "--", id: "" }]],
p0: "modelid",
p1: "entity",
url: "/dst/datamodels/${p0}/allpropertys/${p1}/fields",
title: "{{item.label}}",
value: "{{item.id}}",
},
],
options: {
grid_columns: 6,
select2_options: {
width: 250,
value: "",
},
},
propertyOrder: 17,
},
ext2entity: {
type: "selectnew",
title: "附加实体2",
watch: {
modelid: "arr_columnDefs.modelid",
},
enumSource: [
{
source: [...[{ label: "--", id: "" }]],
p0: "modelid",
url: "/dst/datamodels/${p0}/allpropertys",
title: "{{item.label}}",
value: "{{item.id}}",
},
],
options: {
grid_columns: 6,
select2_options: {
width: 350,
value: "",
},
},
propertyOrder: 18,
},
ext2field: {
type: "selectnew",
title: "附加属性2",
watch: {
modelid: "arr_columnDefs.modelid",
entity: "arr_columnDefs.ext2entity",
},
enumSource: [
{
source: [...[{ label: "--", id: "" }]],
p0: "modelid",
p1: "entity",
url: "/dst/datamodels/${p0}/allpropertys/${p1}/fields",
title: "{{item.label}}",
value: "{{item.id}}",
},
],
options: {
grid_columns: 6,
select2_options: {
width: 250,
value: "",
},
},
propertyOrder: 19,
},
},
},
},
};
return _schema;
}
}
</script>