From 50541832cc01aea2b15342767b9caf8c2fc7110b Mon Sep 17 00:00:00 2001 From: aixianling Date: Sat, 7 Oct 2023 11:30:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=B2=E5=A2=9E=E5=8A=A0=E6=95=B4=E8=BD=AE?= =?UTF-8?q?=E6=92=AD=E5=9B=BE=E5=92=8C=E5=9C=B0=E5=9B=BE=E8=BF=9E=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/AiDvRender.vue | 48 +++--- components/AiSwiper.vue | 142 ++++++++++-------- components/layout/AiDvPanel/AiDvPanel.vue | 19 ++- .../layout/AiDvPanel/asset/border14-icon.svg | 25 +++ .../layout/AiDvPanel/asset/border14.svg | 36 +++++ .../layout/AiDvPanel/borders/border14.vue | 64 ++++++++ .../bigscreen/designer/components/Layout.vue | 35 ++--- .../designer/components/form/DataConfig.vue | 117 ++++++++++----- packages/bigscreen/designer/config.js | 31 +++- ui/lib/js/utils.js | 14 +- ui/lib/styles/common.scss | 7 +- ui/packages/layout/AiFold.vue | 66 ++++++++ 12 files changed, 451 insertions(+), 153 deletions(-) create mode 100644 components/layout/AiDvPanel/asset/border14-icon.svg create mode 100644 components/layout/AiDvPanel/asset/border14.svg create mode 100644 components/layout/AiDvPanel/borders/border14.vue create mode 100644 ui/packages/layout/AiFold.vue diff --git a/components/AiDvRender.vue b/components/AiDvRender.vue index 524b6df7..a5eb5bd7 100644 --- a/components/AiDvRender.vue +++ b/components/AiDvRender.vue @@ -1,24 +1,24 @@ @@ -109,14 +109,7 @@ export default { }, computed: { ...mapState(['user']), - values() { - if (!this.data) { - return [] - } - return this.data.type === 'map' ? this.data[this.data.dataType]?.map(e => { - return {lng: e['经度'], lat: e['纬度'], label: e['地区名称'], ...e} - }) || [] : this.data[this.data.dataType] - }, + values: v => v.data?.[v.data?.dataType] || [], currentType: v => v.data.type }, watch: { @@ -186,7 +179,9 @@ export default { map.setPitch(0) this.mapDialog = false }) - this.values.filter(e => e.lng).map((e) => { + const markers = Array.isArray(this.values) ? this.values : this.values.markers + const polylines = Array.isArray(this.values) ? [] : this.values.polylines || [] + markers.map(e => ({lng: e['经度'], lat: e['纬度'], label: e['地区名称'], ...e})).filter(e => e.lng).map((e) => { const {icon = "https://cdn.cunwuyun.cn/dvcp/h5/Location2.png"} = e return new AMap.Marker({ map, @@ -204,6 +199,9 @@ export default { }) }) }) + polylines.filter(e => e.path?.length > 0)?.map(e => new AMap.Polyline({ + map, strokeColor: "#00FFAE", ...e, path: e.path.map(p => new AMap.LngLat(p[1], p[0])) + })) this.data.is3d > 0 && map.setPitch(65) if (this.data.is3dAround == 1) { this.timer = setInterval(() => map?.setRotation(360, false, 16000)) @@ -215,7 +213,7 @@ export default { } }, mounted() { - if (this.data.type == 'table') { + if (this.currentType == 'table') { this.$injectLib("https://cdn.cunwuyun.cn/datav.map.vue.js") } } diff --git a/components/AiSwiper.vue b/components/AiSwiper.vue index cb7c457d..f9a6a284 100644 --- a/components/AiSwiper.vue +++ b/components/AiSwiper.vue @@ -1,93 +1,107 @@ diff --git a/components/layout/AiDvPanel/AiDvPanel.vue b/components/layout/AiDvPanel/AiDvPanel.vue index 70476fc6..62645528 100644 --- a/components/layout/AiDvPanel/AiDvPanel.vue +++ b/components/layout/AiDvPanel/AiDvPanel.vue @@ -25,10 +25,27 @@ import border10 from "./borders/border10"; import border11 from "./borders/border11"; import border12 from "./borders/border12"; import border13 from "./borders/border13"; +import Border14 from "./borders/border14.vue"; export default { name: "AiDvPanel", - components: { Border0, Border1, Border2, Border3, Border4, Border5, border6, border7, border8, border9, border10, border11, border12, border13 }, + components: { + Border14, + Border0, + Border1, + Border2, + Border3, + Border4, + Border5, + border6, + border7, + border8, + border9, + border10, + border11, + border12, + border13 + }, props: { title: {default: "请传入标题"}, border: {default: "border0"}, diff --git a/components/layout/AiDvPanel/asset/border14-icon.svg b/components/layout/AiDvPanel/asset/border14-icon.svg new file mode 100644 index 00000000..9dccd8cd --- /dev/null +++ b/components/layout/AiDvPanel/asset/border14-icon.svg @@ -0,0 +1,25 @@ + + + 形状结合 + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/components/layout/AiDvPanel/asset/border14.svg b/components/layout/AiDvPanel/asset/border14.svg new file mode 100644 index 00000000..1a9d25c6 --- /dev/null +++ b/components/layout/AiDvPanel/asset/border14.svg @@ -0,0 +1,36 @@ + + + 编组 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/components/layout/AiDvPanel/borders/border14.vue b/components/layout/AiDvPanel/borders/border14.vue new file mode 100644 index 00000000..6d86646f --- /dev/null +++ b/components/layout/AiDvPanel/borders/border14.vue @@ -0,0 +1,64 @@ + + + + diff --git a/packages/bigscreen/designer/components/Layout.vue b/packages/bigscreen/designer/components/Layout.vue index e686d7e5..111a9b7d 100644 --- a/packages/bigscreen/designer/components/Layout.vue +++ b/packages/bigscreen/designer/components/Layout.vue @@ -109,13 +109,7 @@
- - +
@@ -214,7 +208,8 @@ - + -1 ? this.componentList[this.activeIndex] : {} + } }, - widget() { if (this.components.length && this.components[this.parentIndex].list.length) { return this.components[this.parentIndex].list[this.subIndex].list @@ -410,13 +407,9 @@ export default { clone(e) { this.componentList.push(this.deepClone(e)) }, - - onChange(e) { - if (e.indexOf('Chart') > -1) { - this.$refs[`chart${this.activeIndex}`]?.[0]?.refresh() - } + onChange() { + this.$refs[`chart${this.activeIndex}`]?.[0]?.refresh() }, - deepClone(obj) { if (obj instanceof Object) { let newObj = {} @@ -993,8 +986,8 @@ export default { } :deep(.layout-right__content ) { - height: calc(100% - 40px); - overflow-y: overlay; + height: calc(100% - 50px); + overflow-y: auto; overflow-x: hidden; .layout-config__group { diff --git a/packages/bigscreen/designer/components/form/DataConfig.vue b/packages/bigscreen/designer/components/form/DataConfig.vue index 37cd6eb8..58661227 100644 --- a/packages/bigscreen/designer/components/form/DataConfig.vue +++ b/packages/bigscreen/designer/components/form/DataConfig.vue @@ -1,19 +1,32 @@