diff --git a/src/assets/icon/sdcgq.png b/src/assets/icon/sdcgq.png new file mode 100644 index 0000000..ed6a1ea Binary files /dev/null and b/src/assets/icon/sdcgq.png differ diff --git a/src/assets/icon/sfj.png b/src/assets/icon/sfj.png new file mode 100644 index 0000000..e5799fd Binary files /dev/null and b/src/assets/icon/sfj.png differ diff --git a/src/assets/icon/sgbj.png b/src/assets/icon/sgbj.png new file mode 100644 index 0000000..6f0f75a Binary files /dev/null and b/src/assets/icon/sgbj.png differ diff --git a/src/assets/icon/wdcgq.png b/src/assets/icon/wdcgq.png new file mode 100644 index 0000000..9b09092 Binary files /dev/null and b/src/assets/icon/wdcgq.png differ diff --git a/src/assets/icon/xfzj.png b/src/assets/icon/xfzj.png new file mode 100644 index 0000000..3a59ab3 Binary files /dev/null and b/src/assets/icon/xfzj.png differ diff --git a/src/assets/icon/yjzm.png b/src/assets/icon/yjzm.png new file mode 100644 index 0000000..dc8d1ee Binary files /dev/null and b/src/assets/icon/yjzm.png differ diff --git a/src/assets/icon/yqcgq.png b/src/assets/icon/yqcgq.png new file mode 100644 index 0000000..e4de2c9 Binary files /dev/null and b/src/assets/icon/yqcgq.png differ diff --git a/src/assets/icon/ywcgq.png b/src/assets/icon/ywcgq.png new file mode 100644 index 0000000..15cfb26 Binary files /dev/null and b/src/assets/icon/ywcgq.png differ diff --git a/src/assets/icons/index.js b/src/assets/icons/index.js new file mode 100644 index 0000000..d79e164 --- /dev/null +++ b/src/assets/icons/index.js @@ -0,0 +1,9 @@ +import Vue from 'vue' +import SvgIcon from '@/components/SvgIcon'// svg component + +// register globally +Vue.component('svg-icon', SvgIcon) + +const req = require.context('./svg', false, /\.svg$/) +const requireAll = requireContext => requireContext.keys().map(requireContext) +requireAll(req) diff --git a/src/assets/icons/svg/1.svg b/src/assets/icons/svg/1.svg new file mode 100644 index 0000000..b258268 --- /dev/null +++ b/src/assets/icons/svg/1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/404.svg b/src/assets/icons/svg/404.svg new file mode 100644 index 0000000..6df5019 --- /dev/null +++ b/src/assets/icons/svg/404.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/afmj.svg b/src/assets/icons/svg/afmj.svg new file mode 100644 index 0000000..d661899 --- /dev/null +++ b/src/assets/icons/svg/afmj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/afxt.svg b/src/assets/icons/svg/afxt.svg new file mode 100644 index 0000000..c83f66e --- /dev/null +++ b/src/assets/icons/svg/afxt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svgo.yml b/src/assets/icons/svgo.yml new file mode 100644 index 0000000..14f8f5c --- /dev/null +++ b/src/assets/icons/svgo.yml @@ -0,0 +1,22 @@ +# replace default config + +# multipass: true +# full: true + +plugins: + + # - name + # + # or: + # - name: false + # - name: true + # + # or: + # - name: + # param1: 1 + # param2: 2 + +- removeAttrs: + attrs: + - 'fill' + - 'fill-rule' diff --git a/src/views/plan.vue b/src/views/plan.vue index 9667bfc..39cab86 100644 --- a/src/views/plan.vue +++ b/src/views/plan.vue @@ -248,6 +248,8 @@ const MOUSE_CURRENT_Y = ref(0); const activeMarker = ref({ target: "" }); const Shrink = ref(false); +const SELECT_ACTION_TYPE = ref(''); + //背景图片/标记图片等(保持不变) const backgroundImage = new URL("../assets/gl.png", import.meta.url).href; const icons = { @@ -325,6 +327,11 @@ const handleTabbar = (e) => { d.isSelected = false; } }); + if(e.isSelected) { + SELECT_ACTION_TYPE.value = e.value; + } else { + SELECT_ACTION_TYPE.value = ""; + } showFlag.value = false; nextTick(() => { showFlag.value = true; @@ -606,6 +613,9 @@ const draw = (alpha = 1) => { for (const key in points) { let _points = points[key]; _points.forEach((point) => { + if(SELECT_ACTION_TYPE.value && point.TypeId !== SELECT_ACTION_TYPE.value) { + return + } let status = getIconStatus(point.TypeId); const size = @@ -645,6 +655,21 @@ const draw = (alpha = 1) => { ); } + // 添加文字传感器数值 + if(point.TypeId == 26) { + + ctx.value.font = `10px Arial`; // 设置字体和大小 + ctx.value.fillStyle = "#FFF"; // 设置文字颜色 + // 计算文字位置(图标右侧10px处,垂直居中对齐) + + let _value = point.Data[0].Value; //传感器数值value + + const textX = point.x * BL.value + (iSize * BL.value) / scale.value / 2 + 1; + const textY = point.y * BL.value + 15; // +5是为了视觉上垂直居中 + ctx.value.fillText(_value, textX, textY); // 绘制文字 + + } + if (point.target == "device" && point.IsOpen) { ctx.value.strokeStyle = window.customConfigUrl.openColor; ctx.value.lineWidth = (4 / scale.value) * BL.value;