diff --git a/packages/bigscreen/designer/components/configExtra.vue b/packages/bigscreen/designer/components/configExtra.vue
index 54fad8b3..c052d01a 100644
--- a/packages/bigscreen/designer/components/configExtra.vue
+++ b/packages/bigscreen/designer/components/configExtra.vue
@@ -33,7 +33,24 @@ export default {
},
computed: {
summaryOps: () => Object.keys(AiDvSummary.components).map(e => ({label: e, id: e})),
- }
+ values: v => v.config?.[v.config?.dataType] || v.config.data
+ },
+ watch: {
+ values: {
+ immediate: true, deep: true,
+ handler() {
+ if (this.config.type === 'AiDvTable') {
+ this.config.config = this.values?.map((v, i) => {
+ return {
+ color: this.config.config?.[i]?.color || '',
+ width: this.config.config?.[i]?.width || '',
+ align: this.config.config?.[i]?.align || '',
+ }
+ })
+ }
+ }
+ }
+ },
}
@@ -61,12 +78,12 @@ export default {
-
-
-
+
+
+
-
+
diff --git a/ui/dv/AiDvRender.vue b/ui/dv/AiDvRender.vue
index 15f0a1a1..935468ca 100644
--- a/ui/dv/AiDvRender.vue
+++ b/ui/dv/AiDvRender.vue
@@ -1,9 +1,10 @@
@@ -116,7 +111,6 @@ export default {
map: null,
lib: null,
timer: null,
- dvTableConfig: [],
mapDialog: false,
activeTab: '0'
}
@@ -132,33 +126,6 @@ export default {
deep: true, handler() {
if (this.currentType == 'map') {
this.renderMap()
- } else if (this.currentType === 'tabs') {
- //数据驱动内容生成,新增tab中的内容由设置的数据来生成
- const meta = this.$copy(this.data.tabs)
- this.data.tabs = Object.entries(this.values).map(([label, v]) => {
- const tab = meta.find(e => e.label === label)
- const comps = []
- if (Array.isArray(v.data)) {
- const origin = tab.comps?.[0] || {}
- delete origin.comps
- comps.push({...origin, label: "内容"})
- } else {
- Object.keys(v.data).map(name => {
- const layer = tab.comps.find(e => e.label === name)
- comps.push({label: name, ...layer})
- })
- }
- return {label, comps}
- })
- } else if (this.currentType === 'AiDvTable') {
- this.dvTableConfig = this.data[this.data.dataType].map((v, i) => {
- return {
- color: this.data.config?.[i]?.color || '',
- width: this.data.config?.[i]?.width || '',
- align: this.data.config?.[i]?.align || '',
- }
- })
- this.data.config = this.dvTableConfig
}
}
}
@@ -394,20 +361,5 @@ export default {
right: 32px;
backdrop-filter: blur(10px);
}
-
- .tabItem {
- color: #1FBECC;
- background: #1f9ecc29;
- padding: 0 10px;
- line-height: 20px;
- margin-left: 4px;
- font-size: 12px;
- user-select: none;
-
- &.active {
- border: 1px solid #20B4C5;
- color: #02FEFF;
- }
- }
}
diff --git a/ui/dv/AiDvTabs.vue b/ui/dv/AiDvTabs.vue
index a57e695a..69f0f921 100644
--- a/ui/dv/AiDvTabs.vue
+++ b/ui/dv/AiDvTabs.vue
@@ -1,25 +1,27 @@