From 55ff4ad6155248a7c2f391fd4fe75682a311dac0 Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期四, 24 七月 2025 16:54:26 +0800 Subject: [PATCH] refactor(svg): 优化 SVG相关组件功能 --- zhitan-vue/src/views/svg/components/configureView.vue | 48 ++++++++++++++++++++++++++++++++++++------------ 1 files changed, 36 insertions(+), 12 deletions(-) diff --git a/zhitan-vue/src/views/svg/components/configureView.vue b/zhitan-vue/src/views/svg/components/configureView.vue index 46eed3f..b6e6a8e 100644 --- a/zhitan-vue/src/views/svg/components/configureView.vue +++ b/zhitan-vue/src/views/svg/components/configureView.vue @@ -45,10 +45,12 @@ } function refresh() { + //console.log("refresh", tagCodes.value) if (tagCodes.value.length === 0) { return } getLiveData(tagCodes.value).then((response) => { + // console.log("tagCodes:::", tagCodes.value) if (response.code === 200) { if (response.data) { response.data.forEach((tagValue) => { @@ -58,20 +60,41 @@ } else { value = "0" } - + // console.log("tagValue::",tagValue) let el = document.getElementById(tagValue.tagCode) if (el) { - el.textContent = value + // 鍒ゆ柇tagValue.tagCode鏄笉鏄互old鎴杝even鎴杘ut寮�澶� + if (tagValue.tagCode.startsWith("old") || tagValue.tagCode.startsWith("seven") || tagValue.tagCode.startsWith("out")) { + // 鑾峰彇 el涓嬬殑g鏍囩涓嬬殑text鏍囩锛岃祴鍊间负value + let svgTextElement = el.querySelector("g").querySelector("text"); +// console.log("svgTextElement::",svgTextElement) + svgTextElement.textContent = value; + }else { + if (parseFloat(value) > 0) { + el.setAttribute("fill", "rgb(0,234,136)") + }else if (parseFloat(value) < 0) { + el.setAttribute("fill", "#FFFD36FF") + }else { + el.setAttribute("fill", "rgb(255,82,96)") + } + } + + // console.log("el::",el) + // 灏唀l鐨刦ill灞炴�ц缃负23 + + + + } }) //杩欏潡鏄崟鐙姞鐨� 鐢ㄦ潵澶勭悊 娌℃湁鎸囨爣鎴栬�呮寚鏍囨病鏈夌粨鏋滅殑 閮借缃�0 - let allText = document.getElementsByTagName("text") - for (let i = 0; i < allText.length; i++) { - // console.log(i + "textContent=" + allText[i].textContent); - if (allText[i].textContent == null || allText[i].textContent == "") { - allText[i].textContent = "0" - } - } + // let allText = document.getElementsByTagName("g") + // for (let i = 0; i < allText.length; i++) { + // // console.log(i + "textContent=" + allText[i].textContent); + // if (allText[i].textContent == null || allText[i].textContent == "") { + // allText[i].textContent = "0" + // } + // } } } }) @@ -101,12 +124,13 @@ xhr.addEventListener("load", () => { const resXML = xhr.responseXML let svgDom = resXML.documentElement.cloneNode(true) - let values = svgDom.getElementsByTagName("text") + let values = svgDom.getElementsByTagName("g") for (let i = 0; i < values.length; i++) { - let tag = tags.value.filter((f) => f.param === values[i].textContent) + let tag_id = values[i].getAttribute("id"); + let tag = tags.value.filter((f) => f.param === values[i].id.split("_")[0]) if (tag && tag.length > 0) { let tagCode = tag[0].tag - values[i].textContent = "" + if (tagCode) { values[i].setAttribute("id", tagCode) tagCodes.value.push(tagCode) -- Gitblit v1.9.3