From 1ed195b4b507082cc45599c87224c57ef6e3e2c8 Mon Sep 17 00:00:00 2001 From: Hcat <2768237203@qq.com> Date: Wed, 28 Feb 2024 00:35:54 +0800 Subject: [PATCH 01/27] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=B8=80=E5=8D=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../content/tunnelScene/PreviewScene.vue | 17 ++++++++++++++++- .../content/tunnelScene/sceneClass/demo.js | 2 +- src/views/tunnel/index.vue | 13 ++++++++----- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/src/components/content/tunnelScene/PreviewScene.vue b/src/components/content/tunnelScene/PreviewScene.vue index 948ab07..b982ae7 100644 --- a/src/components/content/tunnelScene/PreviewScene.vue +++ b/src/components/content/tunnelScene/PreviewScene.vue @@ -63,11 +63,22 @@ const loader = new OBJLoader(); let hdrLoader = new RGBELoader(); let backColorSet = three.sRGBEncoding; const modelStore = useModelSceneStore(); -const params = defineProps(["isedit", "tunnelId", "tunnelLen", "tunnelName"]); //接收参数看是不是编辑模式,如果是编辑模式,则需要做一些处理 +const params = defineProps(["isedit", "tunnelId", "tunnelLen", "tunnelName", "largeScreen"]); //接收参数看是不是编辑模式,如果是编辑模式,则需要做一些处理 let isedit = ref(params.isedit) +let fanData = reactive(); + +watch( + () => params.largeScreen, + (now) => { + params.largeScreen = now; + fanData = (toRaw(params.largeScreen.value)).frequencyChangerList; + console.log(fanData); + }, + { deep: true } +); // const form = ref({ // tunnelName: "", // serialNumber: "", @@ -144,6 +155,7 @@ async function handleMounted() { // console.log("init", params.tunnelId); demo.previewtunnelModeInit(toRaw(modelList.value)); demo.SignsInf(params.tunnelName, String(params.tunnelLen.value)) + checkFanColor(fanData); // watch( // () => params.tunnelId, // (now) => { @@ -343,6 +355,9 @@ function previewEquInfProcess(equipmentList, targetP) { } +function checkFanColor(fanData) { + demo.scene.getObjectByName('1号变频器'); +} diff --git a/src/components/content/tunnelScene/sceneClass/demo.js b/src/components/content/tunnelScene/sceneClass/demo.js index 4b65ecc..6c79dc1 100644 --- a/src/components/content/tunnelScene/sceneClass/demo.js +++ b/src/components/content/tunnelScene/sceneClass/demo.js @@ -512,7 +512,7 @@ export default class Demo { } SignsInf(tunnelName, tunnelLength) { let Signs = this.scene.getObjectByName('streetSigns'); - console.log(Signs); + // console.log(Signs); const tag = new this.THREE.Mesh( new this.THREE.PlaneGeometry(100, 76), new this.THREE.MeshBasicMaterial({ color: "white" }) diff --git a/src/views/tunnel/index.vue b/src/views/tunnel/index.vue index d4b3a97..8238362 100644 --- a/src/views/tunnel/index.vue +++ b/src/views/tunnel/index.vue @@ -34,7 +34,7 @@ + :tunnelName="tunnelName" :largeScreen="largeScreen">
@@ -87,6 +87,7 @@ import { getLargeScreen, getLargeScreenInfo, getTunnelBySiteId } from "@/api/lar import { ElMessage, ElMessageBox } from "element-plus"; import { getUserInfo } from "@/api/login"; import { initSceneData } from "@/api/tunnelScene"; +import { computed } from "vue"; const authStore = useAuthStore(); const router = useRouter(); const previewId = reactive(router.currentRoute.value.params.tunnelId) @@ -190,9 +191,9 @@ const getOtherInfo = () => { currentSiteId.value = res.data.siteOption[0].value currentSite.value = res.data.siteOption[0].label localStorage.setItem('site', currentSite.value) - if(res.data.tunnelOption.length === 0){ + if (res.data.tunnelOption.length === 0) { getTunnel(res.data.siteOption[0].value) - }else { + } else { tunnelList.value = res.data.tunnelOption } if (previewId) { @@ -241,6 +242,7 @@ const getScreenInfo = (id) => { showBadLoading.value = 1 } largeScreenData.value = res.data; + // console.log(largeScreenData.value); } else { ElMessage.warning(res.msg) } @@ -254,13 +256,14 @@ const getScreenInfo = (id) => { } }; //根据站点id获取隧道信息 +let largeScreen = computed(() => largeScreenData) const getTunnel = (id) => { getTunnelBySiteId(id).then((res) => { if (res?.code === 1000) { - if(res.data.length === 0){ + if (res.data.length === 0) { ElMessage.warning('该站点下无隧道, 请新增隧道后再尝试!') tunnelList.value = [] - }else { + } else { getScreenInfo(res.data[0]?.value) tunnelName = res.data[0].label tunnelList.value = res.data From a8b5e2c26fefb65568275d4eb695af249e29eae5 Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Wed, 28 Feb 2024 18:22:07 +0800 Subject: [PATCH 02/27] =?UTF-8?q?fix=20:=20=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/content/airInfo/AirInfo.vue | 4 ++-- src/components/content/badGasInfo/BadGasInfo.vue | 4 ++-- src/components/content/fanInfo/FanInfo.vue | 4 ++-- src/components/content/windPressure/WindPressureList.vue | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/components/content/airInfo/AirInfo.vue b/src/components/content/airInfo/AirInfo.vue index d9d92e4..80f80a2 100644 --- a/src/components/content/airInfo/AirInfo.vue +++ b/src/components/content/airInfo/AirInfo.vue @@ -53,8 +53,8 @@ import ItemInfo from "./childComps/ItemInfo.vue"; import TimeRangeBtn from "@/components/timeRangeBtn/index.vue" import * as echarts from 'echarts'; import {getEchartsInfo} from "@/api/largeScreen"; -import ChooseTime from "@/components/ChooseTime/index.vue" -import ChooseMonth from "@/components/ChooseMonth/index.vue" +import ChooseTime from "@/components/chooseTime/index.vue" +import ChooseMonth from "@/components/chooseMonth/index.vue" const dayValue = ref(''); const monthValue = ref(''); diff --git a/src/components/content/badGasInfo/BadGasInfo.vue b/src/components/content/badGasInfo/BadGasInfo.vue index fb5812a..2816d55 100644 --- a/src/components/content/badGasInfo/BadGasInfo.vue +++ b/src/components/content/badGasInfo/BadGasInfo.vue @@ -54,8 +54,8 @@ import GasInfoItem from "./childComps/GasInfoItem.vue"; import * as echarts from "echarts"; import TimeRangeBtn from "@/components/timeRangeBtn/index.vue"; import {getBadGasEchartsInfo} from "@/api/largeScreen"; -import ChooseTime from "@/components/ChooseTime/index.vue" -import ChooseMonth from "@/components/ChooseMonth/index.vue" +import ChooseTime from "@/components/chooseTime/index.vue" +import ChooseMonth from "@/components/chooseMonth/index.vue" const dayValue = ref(''); const monthValue = ref(''); const props = defineProps({ diff --git a/src/components/content/fanInfo/FanInfo.vue b/src/components/content/fanInfo/FanInfo.vue index 289b471..84d4d48 100644 --- a/src/components/content/fanInfo/FanInfo.vue +++ b/src/components/content/fanInfo/FanInfo.vue @@ -116,8 +116,8 @@ import * as echarts from "echarts"; import FanInfoItem from "./FanInfoItem.vue"; import TimeRangeBtn from "@/components/timeRangeBtn/index.vue" -import ChooseTime from "@/components/ChooseTime/index.vue" -import ChooseMonth from "@/components/ChooseMonth/index.vue" +import ChooseTime from "@/components/chooseTime/index.vue" +import ChooseMonth from "@/components/chooseMonth/index.vue" import { editFrequency, editFrequencyModelSwitch, diff --git a/src/components/content/windPressure/WindPressureList.vue b/src/components/content/windPressure/WindPressureList.vue index 2b300a0..a0831e6 100644 --- a/src/components/content/windPressure/WindPressureList.vue +++ b/src/components/content/windPressure/WindPressureList.vue @@ -43,8 +43,8 @@ import WindPressureItem from "./childComps/WindPressureItem.vue"; import TimeRangeBtn from "@/components/timeRangeBtn/index.vue" import * as echarts from 'echarts'; import {getEchartsInfo} from "@/api/largeScreen"; -import ChooseTime from "@/components/ChooseTime/index.vue" -import ChooseMonth from "@/components/ChooseMonth/index.vue" +import ChooseTime from "@/components/chooseTime/index.vue" +import ChooseMonth from "@/components/chooseMonth/index.vue" const props = defineProps({ list: Array, From 70364c8e10537f02797331a2b8b0684f675f1f3f Mon Sep 17 00:00:00 2001 From: Hcat <2768237203@qq.com> Date: Wed, 28 Feb 2024 21:23:57 +0800 Subject: [PATCH 03/27] =?UTF-8?q?=E5=BB=96=E6=9D=B0=EF=BC=9A=E9=A2=84?= =?UTF-8?q?=E8=A7=88=E6=A8=A1=E5=BC=8F=E5=BD=93=E9=A3=8E=E6=9C=BA=E7=A6=BB?= =?UTF-8?q?=E7=BA=BF(=E4=B8=8D=E5=9C=A8online=E4=B8=8B)=E4=BC=9A=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E7=BA=A2=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../content/tunnelScene/PreviewScene.vue | 4 +- .../content/tunnelScene/sceneClass/demo.js | 3 +- .../sceneClass/editEquipment/index.js | 40 ++++++++++++++++++- .../sceneClass/previewTunnelInit/index.js | 4 +- 4 files changed, 45 insertions(+), 6 deletions(-) diff --git a/src/components/content/tunnelScene/PreviewScene.vue b/src/components/content/tunnelScene/PreviewScene.vue index 348f5d8..c797e5b 100644 --- a/src/components/content/tunnelScene/PreviewScene.vue +++ b/src/components/content/tunnelScene/PreviewScene.vue @@ -145,6 +145,7 @@ async function handleMounted() { // ); // 初始化设备模型 try { + //在这加载隧道 const map = new Map(); map.set("equ_fan", await loadModel("/devicesModel/model2.obj")); @@ -153,8 +154,9 @@ async function handleMounted() { demo.initDevicesModel(map); // const equipmentList = await store.getEquipmentList(); modelList.value = await modelStore.initModelDataPreview(params.tunnelId); + // console.log(modelList.value); // console.log("init", params.tunnelId); - demo.previewtunnelModeInit(toRaw(modelList.value)); + demo.previewtunnelModeInit(toRaw(modelList.value), fanData); demo.SignsInf(params.tunnelName, String(params.tunnelLen.value)) // watch( // () => params.tunnelId, diff --git a/src/components/content/tunnelScene/sceneClass/demo.js b/src/components/content/tunnelScene/sceneClass/demo.js index 1adc142..d96bc81 100644 --- a/src/components/content/tunnelScene/sceneClass/demo.js +++ b/src/components/content/tunnelScene/sceneClass/demo.js @@ -388,6 +388,7 @@ export default class Demo { // 初始化风机颜色 this.equMap.get("equ_fan").traverse((v) => { v.material = new this.THREE.MeshBasicMaterial(); + // v.material.color = new this.THREE.Color(0xFF0000); v.material.color = new this.THREE.Color(0xC0C0C0); if (/^leaf/.test(v.name) || /^roller/.test(v.name)) { group.add(v.clone()); @@ -452,7 +453,7 @@ export default class Demo { ); } changeFanColor(fanData) { - console.log(this.scene.getObjectById(22)); + console.log(this.scene.getObjectByName('fan')); } /** * diff --git a/src/components/content/tunnelScene/sceneClass/editEquipment/index.js b/src/components/content/tunnelScene/sceneClass/editEquipment/index.js index eb47537..4b5c8b2 100644 --- a/src/components/content/tunnelScene/sceneClass/editEquipment/index.js +++ b/src/components/content/tunnelScene/sceneClass/editEquipment/index.js @@ -8,14 +8,14 @@ import EquipmentTag from "../utils/EquipmentTag"; //formInfo需要的信息这里包括了 //equipmentType -function addEquipment(targetPoint, formInfo) { +function addEquipment(targetPoint, formInfo, fanData) { if (targetPoint.hasDevice) { return; } switch (formInfo.equipmentType) { case "frequency": - handleFanEqu.call(this, targetPoint, formInfo); + handleFanEqu.call(this, targetPoint, formInfo, fanData); break; // 还没有风压阀的模型,所以先用其他设备传感器实现 // case "valve": @@ -177,6 +177,7 @@ function handleOtherEqu(targetPoint, equipmentInfo) { function handleFanEqu( targetPoint, equipmentInfo, + fanData, speed = Math.random().toFixed(1) * 1000 ) { // 由于风机比较多,每个风机转速不一直,保存在一个数中遍历 @@ -196,6 +197,41 @@ function handleFanEqu( id: equMesh.id, //模型在场景id ...equipmentInfo, }; + // console.log(targetPoint.info); + //风机颜色重新命名 + let fan1 = fanData[0].equipmentType + let fan2 = fanData[1].equipmentType + if (targetPoint.info.typeKey == fan1) { + if (fanData[0].online == false) { + this.scene.traverse(function (child) { + if (child.id === 1005) { + child.traverse(function (obj) { + // console.log(obj); + // 判断子对象是否是物体,如果是,更改其颜色 + if (obj.isMesh) { + obj.material.color.set(0xFF0000) + } + }) + } + }); + } + } else { + if (fanData[1].online == false) { + this.scene.traverse(function (child) { + if (child.id === 1005) { + child.traverse(function (obj) { + // console.log(obj); + // 判断子对象是否是物体,如果是,更改其颜色 + if (obj.isMesh) { + obj.material.color.set(0xFF0000) + } + }) + } + }); + } + } + // console.log(fanData); + // 定义风机旋转 const fanLeaf = equMesh.getObjectByName("fan_leafs"); diff --git a/src/components/content/tunnelScene/sceneClass/previewTunnelInit/index.js b/src/components/content/tunnelScene/sceneClass/previewTunnelInit/index.js index 59b98c4..4664584 100644 --- a/src/components/content/tunnelScene/sceneClass/previewTunnelInit/index.js +++ b/src/components/content/tunnelScene/sceneClass/previewTunnelInit/index.js @@ -1,5 +1,5 @@ -export default function previewtunnelModeInit(equipmentList) { +export default function previewtunnelModeInit(equipmentList, fanData) { //初始化将墙壁隐藏起来 // for (let line = 1; line <= 20; line++) { // if (line < 10) { @@ -13,7 +13,7 @@ export default function previewtunnelModeInit(equipmentList) { // console.log(equipmentList); equipmentList.forEach((item) => { - this.addEquipment(this.scene.getObjectByName(item.position), item); + this.addEquipment(this.scene.getObjectByName(item.position), item, fanData); }); //进行预览和编辑模式的一些操作 if (this.isedit == false) { From 3d706c10ca7c284cd04dfe251550d7cd3f39da55 Mon Sep 17 00:00:00 2001 From: Hcat <2768237203@qq.com> Date: Wed, 28 Feb 2024 21:27:36 +0800 Subject: [PATCH 04/27] =?UTF-8?q?=20=20=20=20=E5=BB=96=E6=9D=B0=EF=BC=9A?= =?UTF-8?q?=E9=A2=84=E8=A7=88=E6=A8=A1=E5=BC=8F=E5=BD=93=E9=A3=8E=E6=9C=BA?= =?UTF-8?q?=E7=A6=BB=E7=BA=BF(=E4=B8=8D=E5=9C=A8online=E4=B8=8B)=E4=BC=9A?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E7=BA=A2=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/content/tunnelScene/PreviewScene.vue | 1 - src/components/content/tunnelScene/sceneClass/demo.js | 3 --- 2 files changed, 4 deletions(-) diff --git a/src/components/content/tunnelScene/PreviewScene.vue b/src/components/content/tunnelScene/PreviewScene.vue index c797e5b..d88500d 100644 --- a/src/components/content/tunnelScene/PreviewScene.vue +++ b/src/components/content/tunnelScene/PreviewScene.vue @@ -135,7 +135,6 @@ async function handleMounted() { //加载HDR背景图片 demo.loadBackground(hdrLoader, backColorSet); - demo.changeFanColor(fanData); //先不加试试??? // watch( // () => params.tunnelId, diff --git a/src/components/content/tunnelScene/sceneClass/demo.js b/src/components/content/tunnelScene/sceneClass/demo.js index d96bc81..ec095af 100644 --- a/src/components/content/tunnelScene/sceneClass/demo.js +++ b/src/components/content/tunnelScene/sceneClass/demo.js @@ -452,9 +452,6 @@ export default class Demo { } ); } - changeFanColor(fanData) { - console.log(this.scene.getObjectByName('fan')); - } /** * * @param {Boolean} option 是否禁用轨道控制器 From 9afde77c00563bb962912942cb8c5bfa74f67d91 Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Wed, 28 Feb 2024 22:18:55 +0800 Subject: [PATCH 05/27] =?UTF-8?q?feat=20:=20=E5=AF=B9=E6=8E=A5=E7=94=A8?= =?UTF-8?q?=E7=94=B5=E9=87=8F/=E7=9C=81=E7=94=B5=E9=87=8F=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=8F=8A=E6=96=B0=E5=A2=9E=E7=94=A8=E7=94=B5=E9=87=8F?= =?UTF-8?q?echarts=E5=9B=BE=E8=A1=A8=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/largeScreen.js | 12 + src/assets/styles/index.scss | 7 +- src/components/chooseMonth/index.vue | 14 +- src/components/chooseTime/index.vue | 14 +- src/components/content/airInfo/AirInfo.vue | 21 +- .../content/badGasInfo/BadGasInfo.vue | 21 +- src/components/content/fanInfo/FanInfo.vue | 25 +- src/components/content/usedEle/UsedEle.vue | 366 ++++++++++++++---- .../content/windPressure/WindPressureList.vue | 20 +- 9 files changed, 378 insertions(+), 122 deletions(-) diff --git a/src/api/largeScreen.js b/src/api/largeScreen.js index 3da056b..9b89675 100644 --- a/src/api/largeScreen.js +++ b/src/api/largeScreen.js @@ -57,6 +57,18 @@ export const getFanEchartsInfo = (id,time,type) => { } }) } +//用电量echarts +export const getEleEchartsInfo = (id,time,type) => { + return request({ + url: '/tunnel/large/screen/echarts/electricity/consumption', + method: 'get', + params: { + id: id, + time: time, + type: type + } + }) +} //风机频率修改 export const editFrequency = (data) => { return request({ diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss index 96c0ac8..d6ad6dd 100644 --- a/src/assets/styles/index.scss +++ b/src/assets/styles/index.scss @@ -336,7 +336,7 @@ body, #containerEle { flex: 1; - height: 1060px; + height: 1010px; //width: 2180px; } @@ -462,8 +462,11 @@ body, //用电量 .top-tag { + position: absolute; + top: 46px; + left: 516px; display: flex; - justify-content: center; + //justify-content: center; .allUsedEle { width: 300px; diff --git a/src/components/chooseMonth/index.vue b/src/components/chooseMonth/index.vue index eb78122..011bf61 100644 --- a/src/components/chooseMonth/index.vue +++ b/src/components/chooseMonth/index.vue @@ -14,13 +14,7 @@ + @@ -490,4 +682,257 @@ const initWebSocket = () => { height: 100%; } } + +.alarm-dialog { + :deep(.el-dialog ) { + height: auto !important; + margin: 820px auto 0 auto; + } +} + +.digital-tunnel { + .detail { + font-size: 50px; + color: #FFFFFF; + + > div { + color: #f5f5f5; + margin-bottom: 10px; + } + } +} + +.digital-tunnel { + :deep(.el-dialog ) { + height: 1380px; + + .alarm-content { + //width: 730px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + + .el-tag { + font-size: 36px; + height: 60px; + padding: 0 20px; + border-radius: 10px; + } + } +} + +.query-form { + :deep(.el-form-item__label) { + font-size: 45px; + height: 70px; + line-height: 70px; + color: #FFFFFF; + } + + :deep(.el-form-item__content) { + .el-select__popper { + margin-top: -12px !important; + background: #072247 !important; + border: 1px solid #0F82AF !important; + + .el-select-dropdown__item { + font-size: 38px !important; + height: 70px !important; + line-height: 70px !important; + + > span { + color: #FFFFFF; + } + } + + .el-select-dropdown__item.hover, .el-select-dropdown__item:hover { + background-color: #064B66 !important; + } + } + + .el-button { + height: 70px; + font-size: 40px; + border-radius: 10px; + } + + .el-button--primary { + background: #064B66; + } + + .el-input { + width: 380px; + height: 70px; + + .el-input__wrapper { + font-size: 40px; + background-color: transparent; + border: 1px solid #08B7B8; + box-shadow: none; + + .el-input__inner { + height: 70px; + color: #FFFFFF; + } + + .el-input__suffix-inner { + .el-icon { + font-size: 40px; + } + } + } + } + } +} + +.device-table { + margin-top: 7px; + + :deep(.el-button) { + font-size: 40px; + } + + .active { + color: #FFFFFF; + background: #0f7da9; + } + + .wind-switch { + margin-left: 65px; + } + + .switch { + margin-top: 22px; + display: flex; + width: 200px; + height: 50px; + border-radius: 6px; + border: 1px solid #05FEFF; + overflow: hidden; + color: #51A2B3; + line-height: 40px; + font-size: 36px; + + & > div { + flex: 1; + text-align: center; + cursor: pointer; + } + } + + :deep(.el-table--fit) { + //width: 1780px !important; + width: auto; + } + + :deep(.cell) { + height: 80px; + line-height: 80px; + color: #fff; + font-size: 38px; + } + + :deep(.el-table tr) { + background-color: #1C5971; + } + + :deep(.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell) { + background-color: #1C5971; + } + + :deep(.el-table__row--striped) { + background-color: #13849C !important; + } + + :deep(.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell) { + background-color: #13849C !important; + } + + :deep(.el-table__cell) { + .el-input { + width: 180px; + height: 53px; + } + + .el-input__wrapper { + border-radius: 6px; + border: 1px solid #05FEFF; + background-color: transparent; + + .el-input__inner { + color: #FFFFFF; + font-size: 40px; + height: auto; + line-height: normal; + } + } + } + + :deep(.el-table__inner-wrapper::before) { + display: none; + } +} + +.pagination { + display: flex; + align-items: center; + position: absolute; + left: 50%; + transform: translate(-50%, -50%); + bottom: 0; + color: #60DDDE; + font-size: 38px; + font-weight: bold; + + > span:first-child { + margin-right: 60px; + } + + > span:last-child { + margin-left: 71px; + } + + :deep(.btn-prev) { + background-color: transparent; + font-size: 38px; + font-weight: bold; + color: #60DDDE; + margin-right: 20px; + + } + + :deep(.btn-next) { + background-color: transparent; + font-size: 38px; + font-weight: bold; + color: #60DDDE; + margin-left: 30px; + } + + :deep(.el-pager li.is-active ) { + width: 70px; + height: 70px; + background: #60DDDE; + border-radius: 50%; + color: #071F40; + font-size: 38px; + font-weight: bold; + } + + :deep(.el-pager li) { + margin-left: 40px; + } + + :deep(.el-pager li:not(.is-active) ) { + width: 70px; + height: 70px; + border: 1px solid #60DDDE; + border-radius: 50%; + background-color: transparent; + font-size: 38px; + font-weight: bold; + color: #60DDDE; + } +} diff --git a/src/views/user/index.vue b/src/views/user/index.vue index 05719c5..77b316b 100644 --- a/src/views/user/index.vue +++ b/src/views/user/index.vue @@ -169,7 +169,7 @@ const form = ref({ nickName: '', phoneNumber: '', state: '1', - roleId: [], + roleId: 3, tunnelList: [1] }); const validateName = (rule, value) => { @@ -207,6 +207,10 @@ const handleAddUser = () => { reset() title.value = '添加用户' isVisited.value = true + nextTick(() => { + // 清空校验 + formInstance.value.clearValidate() + }) } const handleEditUser = (row) => { reset() @@ -247,7 +251,7 @@ const reset = () => { nickName: '', phoneNumber: '', state: '1', - roleId: [], + roleId: 3, tunnelList: [] } } From 5a6f7a4535085a56345ca51e70a4712ced871b4f Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Sun, 3 Mar 2024 23:34:18 +0800 Subject: [PATCH 16/27] =?UTF-8?q?feat=20:=20=E6=96=B0=E5=A2=9E=E6=8A=A5?= =?UTF-8?q?=E8=AD=A6=E4=BF=A1=E6=81=AF=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/tunnel/index.vue | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/views/tunnel/index.vue b/src/views/tunnel/index.vue index a619ae6..39d8c6c 100644 --- a/src/views/tunnel/index.vue +++ b/src/views/tunnel/index.vue @@ -291,7 +291,7 @@ const handleCurrentChange = (val) => { getAlarmList() } const handleDelete = (row) => { - ElMessageBox.confirm(`确认删除名称为${changeName(row.equipmentId)}的报警信息吗?`, '系统提示', { + ElMessageBox.confirm(`确认删除该报警信息吗?`, '系统提示', { type: 'warning', closeOnClickModal: false }).then(() => { @@ -310,7 +310,9 @@ const handleView = (row) => { isDetailVisited.value = true alarmDetail.value = res.data if (roleKey.value !== 'administrator') { - handleChangeState(row) + if(!row.lookupStatus){ + handleChangeState(row) + } } } }) @@ -323,6 +325,7 @@ const handleChangeState = (row) => { }]).then(res => { if (res.code === 1000) { // ElMessage.success(res.msg); + getAlarmList() } else { // ElMessage.error(res.msg); } From 272d859e28a4130b2d3c67236943f4c5845f076c Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Mon, 4 Mar 2024 00:10:27 +0800 Subject: [PATCH 17/27] =?UTF-8?q?fix=20:=20select=E6=A1=86=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/tunnel/index.vue | 49 +++++++++++++++++++++++++++++++++++--- src/views/user/index.vue | 7 ++++++ 2 files changed, 53 insertions(+), 3 deletions(-) diff --git a/src/views/tunnel/index.vue b/src/views/tunnel/index.vue index 39d8c6c..d13793b 100644 --- a/src/views/tunnel/index.vue +++ b/src/views/tunnel/index.vue @@ -310,7 +310,7 @@ const handleView = (row) => { isDetailVisited.value = true alarmDetail.value = res.data if (roleKey.value !== 'administrator') { - if(!row.lookupStatus){ + if (!row.lookupStatus) { handleChangeState(row) } } @@ -733,6 +733,33 @@ const initWebSocket = () => { color: #FFFFFF; } + :deep(.el-select__wrapper.is-hovering) { + .el-select__suffix { + .el-icon { + font-size: 55px; + } + } + } + + :deep(.el-select__wrapper) { + height: 70px; + line-height: 70px; + background-color: transparent; + border: 1px solid #08B7B8; + font-size: 35px; + width: 476px; + + .el-select__placeholder { + height: 70px; + line-height: 70px; + } + + .el-select__placeholder.is-transparent { + height: 70px; + line-height: 70px; + } + } + :deep(.el-form-item__content) { .el-select__popper { margin-top: -12px !important; @@ -781,7 +808,7 @@ const initWebSocket = () => { .el-input__suffix-inner { .el-icon { - font-size: 40px; + font-size: 55px; } } } @@ -888,6 +915,22 @@ const initWebSocket = () => { font-size: 38px; font-weight: bold; + :deep(.el-pagination.is-background ) { + .btn-next { + background-color: transparent; + } + + .el-pager { + li { + margin: 0 0 0 40px; + } + + li.is-active { + background-color: #60DDDE; + } + } + } + > span:first-child { margin-right: 60px; } @@ -924,7 +967,7 @@ const initWebSocket = () => { } :deep(.el-pager li) { - margin-left: 40px; + margin-left: 40px !important; } :deep(.el-pager li:not(.is-active) ) { diff --git a/src/views/user/index.vue b/src/views/user/index.vue index 77b316b..9f7277a 100644 --- a/src/views/user/index.vue +++ b/src/views/user/index.vue @@ -346,6 +346,13 @@ const handleSelect = async (selection, row) => { diff --git a/src/views/tunnel/index.vue b/src/views/tunnel/index.vue index e331eb6..615413a 100644 --- a/src/views/tunnel/index.vue +++ b/src/views/tunnel/index.vue @@ -85,7 +85,7 @@
-
+
@@ -134,7 +134,7 @@ -