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 @@
-