diff --git a/src/components/editEl/editEl13-1.vue b/src/components/editEl/editEl13-1.vue new file mode 100644 index 0000000..f7f7c97 --- /dev/null +++ b/src/components/editEl/editEl13-1.vue @@ -0,0 +1,434 @@ + + + + + diff --git a/src/components/editEl/editEl13-2.vue b/src/components/editEl/editEl13-2.vue new file mode 100644 index 0000000..298a09d --- /dev/null +++ b/src/components/editEl/editEl13-2.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/components/editEl/editEl16.vue b/src/components/editEl/editEl16.vue new file mode 100644 index 0000000..8e00666 --- /dev/null +++ b/src/components/editEl/editEl16.vue @@ -0,0 +1,325 @@ + + + + + diff --git a/src/components/el/el14.vue b/src/components/el/el14.vue index ef70ac0..d8bfad9 100644 --- a/src/components/el/el14.vue +++ b/src/components/el/el14.vue @@ -44,9 +44,29 @@ export default { methods: { async downFile(e) { console.log(e) - getSecureDocumentAddress({documentId: e.uuid}).then((res) => { + getSecureDocumentAddress({documentId: e.uuid}).then(async (res) => { if (res.code === 200) { - console.log('下载地址', res.data) + let url = res.msg + let filename = url.split('/').at(-1)?.split('_')[0] + '.' + url.split('/').at(-1)?.split('.').at(-1) + try { + const response = await fetch(url, {mode: 'cors'}); + if (!response.ok) throw new Error('网络错误'); + + const blob = await response.blob(); // 获取文件数据 + const blobUrl = URL.createObjectURL(blob); + + const a = document.createElement('a'); + a.href = blobUrl; + a.download = filename || url.split('/').pop(); + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); + + URL.revokeObjectURL(blobUrl); // 释放内存 + this.getPasswordVisible = false + } catch (err) { + console.error('下载失败:', err); + } } else { this.form = { documentId: e.uuid, diff --git a/src/components/el/el16.vue b/src/components/el/el16.vue new file mode 100644 index 0000000..863731d --- /dev/null +++ b/src/components/el/el16.vue @@ -0,0 +1,115 @@ + + + + + diff --git a/src/views/editPage/index.vue b/src/views/editPage/index.vue index 064aee9..6bca87a 100644 --- a/src/views/editPage/index.vue +++ b/src/views/editPage/index.vue @@ -46,6 +46,7 @@ +
@@ -138,6 +139,11 @@ 产品banner
+ +
+ 产品参数(多设备对比) +
+
关 闭 @@ -165,6 +171,7 @@ import EditEl12 from "@/components/editEl/editEl12.vue"; import EditEl13 from "@/components/editEl/editEl13.vue"; import EditEl14 from "@/components/editEl/editEl14.vue"; import EditEl15 from "@/components/editEl/editEl15.vue"; +import EditEl16 from "@/components/editEl/editEl16.vue"; export default { components: { @@ -184,6 +191,7 @@ export default { EditEl13, EditEl14, EditEl15, + EditEl16, }, data() { return { @@ -379,6 +387,18 @@ export default { bannerValue: '设备介绍', }, }, + { + type: 16, + value: { + params: [ + { + "title": "表名", + "columns": [], + "rows": [] + } + ] + }, + }, ], components: [], } @@ -404,7 +424,7 @@ export default { this.type = this.$route.query.type this.value = this.$route.query.id.split(',').map(v => parseFloat(v)) - listHwWeb1({webCode: this.value[0], deviceId: this.value[2]}).then(e => { + listHwWeb1({webCode: this.value[0], typeId: this.value[1], deviceId: this.value[2]}).then(e => { this.components = JSON.parse(e.rows?.[0]?.webJsonString || '[]') }) }) @@ -445,6 +465,7 @@ export default { if (this.type === '2') { updateHwWeb1({ webCode: this.value[0], + typeId: this.value[1], deviceId: this.value[2], webJsonString: JSON.stringify(this.components), }).then(res => { @@ -469,7 +490,7 @@ export default { this.components = JSON.parse(res?.data?.webJsonString || '[]') }) } else { - listHwWeb1({webCode: e[0], deviceId: e[2]}).then(e => { + listHwWeb1({webCode: e[0], typeId: e[1], deviceId: e[2]}).then(e => { this.components = JSON.parse(e.rows?.[0]?.webJsonString || '[]') }) } diff --git a/src/views/index/carousel.vue b/src/views/index/carousel.vue index c096dac..af0d029 100644 --- a/src/views/index/carousel.vue +++ b/src/views/index/carousel.vue @@ -1,8 +1,8 @@