From 554ea194fa4332e97c3def7e010acecde26b48d5 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期四, 28 八月 2025 10:17:04 +0800
Subject: [PATCH] 前端页面的修改
---
项目代码/前端/单机版/src/views/tts/UserManagement/Usermanagement.vue | 47 +++
项目代码/前端/后台/src/views/Login/components/LoginForm.vue | 8
项目代码/前端/后台/src/views/tts/PickAndDrop/PickAndDrop.vue | 300 ++++++++++++++++--------
项目代码/前端/单机版/src/utils/index.js | 3
项目代码/前端/后台/src/api/newapi/user.js | 3
项目代码/前端/单机版/src/api/newapi/Parameters.js | 3
项目代码/前端/单机版/src/layout/index.vue | 70 ++++-
项目代码/前端/单机版/src/api/user.js | 4
项目代码/前端/单机版/src/views/tts/PickAndDrop/PickAndDrop.vue | 130 ++++------
项目代码/前端/后台/src/api/newapi/Parameters.js | 5
项目代码/前端/单机版/src/assets/index/icon/主页图片.png | 0
项目代码/前端/后台/src/views/Authorization/iPaddress/iPaddress.vue | 18 +
项目代码/前端/后台/src/permission.ts | 12
项目代码/前端/单机版/src/views/tts/AlarmReset/AlarmReset.vue | 1
项目代码/前端/后台/src/axios/service.ts | 2
项目代码/前端/后台/src/views/Authorization/Team/Team.vue | 2
项目代码/前端/单机版/src/views/tts/PickAndDrop/Manualcontrol.vue | 69 ++++-
17 files changed, 446 insertions(+), 231 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/api/newapi/Parameters.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/api/newapi/Parameters.js"
index feaabef..9e5167d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/api/newapi/Parameters.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/api/newapi/Parameters.js"
@@ -11,3 +11,6 @@
export const Pouse = () => http.post(`/api/Parameters/PauseButton`);
//鑾峰彇褰撳墠浼哥缉鏉嗕綅缃�
export const GetPosition = () => http.post(`/api/Parameters/CurrentLocation`);
+
+//鑾峰彇褰撳墠瀹㈡埛绔殑ip鍦板潃鏉ュ喅瀹氳棰戞祦
+export const GetStandid=()=>http.post(`/api/IPaddress/GetStandid`);
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/api/user.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/api/user.js"
index 2304916..551bcf3 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/api/user.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/api/user.js"
@@ -24,7 +24,9 @@
//淇敼瀵嗙爜 id=${data.id}&
export const UpdatePassword = (data) => http.post(`/api/User/modifyPwd?newPwd=${data.newPwd}&oldPwd=${data.oldPwd}`)
//
-export const UpdatePwd = (data) => http.post(`/api/User/UpdatePwd?id=${data.id}&newPwd=${data.newPwd}&oldPwd=${data.oldPwd}`)
+// export const UpdatePwd = (data) => http.post(`/api/User/UpdatePwd?id=${data.id}&newPwd=${data.newPwd}&oldPwd=${data.oldPwd}`)
+export const UpdatePwd = (data) =>http.post(`/api/User/UpdatePwd?id=${encodeURIComponent(data.id)}&newPwd=${encodeURIComponent(data.newPwd)}&oldPwd=${encodeURIComponent(data.oldPwd)}`)
+
//瀵煎嚭鐢ㄦ埛鍒楄〃
export const ExportApi = (data) => http.download("/api/User/Export", data, "鐢ㄦ埛鍒楄〃鏁版嵁.xlsx", "鍔犺浇涓�");
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/assets/index/icon/\344\270\273\351\241\265\345\233\276\347\211\207.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/assets/index/icon/\344\270\273\351\241\265\345\233\276\347\211\207.png"
new file mode 100644
index 0000000..2de6313
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/assets/index/icon/\344\270\273\351\241\265\345\233\276\347\211\207.png"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/layout/index.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/layout/index.vue"
index 26a8b4c..1447849 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/layout/index.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/layout/index.vue"
@@ -34,17 +34,34 @@
alt=""
/>
</div>
- <!-- <div style="color: red;font-size:1.8rem; align-items: center">
- 鎶ヨ锛�<span>{{
- isfalsedata.length <= 0 ? "" : isfalsedata[0].AlarmContent
- }}</span>
- </div> -->
<!-- 鎷挎渶鏂扮殑涓�鏉℃暟鎹� -->
- <div style="color: red;font-size:1.8rem; align-items: center">
+ <!-- <div style="color: red;font-size:1.8rem; align-items: center">
<span>{{
isfalsedata.length <= 0 ? "" : isfalsedata[isfalsedata.length - 1].AlarmContent
}}</span>
+ </div> -->
+ <div style="
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 45%;
+ ">
+ <img
+ style="
+ width: 3.88rem;
+ height: 3.88rem;
+ cursor: pointer;
+ "
+ src="@/assets/index/icon/涓婚〉鍥剧墖.png"
+ alt=""
+ @click="router.push({ path: '/index' })"
+ />
+ <!--@/assets/index/icon/home.png
+ <span style="margin-right: 1.81rem;font-size: 2.88rem;color: rgb(255, 255, 255)"
+ @click="router.push({ path: '/index' })"
+ >杩斿洖</span> -->
</div>
+
<!-- 鍗犱綅 -->
@@ -70,7 +87,8 @@
>鏉冮檺淇敼</span
> -->
- <img
+ <!-- 鍏ㄥ眬 -->
+ <!-- <img
v-if="!isFullscreen"
style="
width: 2.88rem;
@@ -81,7 +99,7 @@
src="@/assets/screen.png"
alt=""
@click="screenonToggle"
- />
+ /> -->
<img
v-if="isFullscreen"
style="
@@ -94,20 +112,23 @@
alt=""
@click="screenonToggle"
/>
- <img
+ <!-- 杩斿洖涓婚〉 -->
+ <!-- <img
style="
width: 2.88rem;
height: 2.88rem;
- margin-right: 1.81rem;
cursor: pointer;
"
src="@/assets/index/icon/home.png"
alt=""
@click="router.push({ path: '/index' })"
- />
+ /> -->
+ <!-- <span style="margin-right: 1.81rem;font-size: 1.88rem;color: rgb(255, 255, 255)"
+ @click="router.push({ path: '/index' })"
+ >杩斿洖</span> -->
<div>
<span
- style="color: rgb(255, 255, 255); font-size: 1.88rem"
+ style="color: rgb(255, 255, 255);cursor: pointer; font-size: 1.88rem; ;"
class="tetxsize"
>瑙掕壊锛歿{ acountInfo.roleName }}</span
>
@@ -119,7 +140,8 @@
>濮撳悕锛歿{ acountInfo.userTrueName }}</span
>
</div>
- <img
+ <!-- 澶村儚 -->
+ <!-- <img
v-if="avatar"
@click="to(links[0])"
:src="avatar"
@@ -146,9 +168,10 @@
overflow: hidden;
box-shadow: 0rem 0.13rem 0.38rem 0rem rgba(0, 0, 0, 0.4);
"
- />
+ /> -->
- <div
+ <!-- 鐢ㄦ埛鍚� -->
+ <!-- <div
style="
cursor: pointer;
line-height: 1.25rem;
@@ -159,8 +182,10 @@
class="tetxsize"
>
{{ userName }}
- </div>
+ </div> -->
</div>
+
+ <!--閫�鍑哄浘鐗� -->
<img
@click="to(links[1])"
src="@/assets/index/loginout.png"
@@ -169,9 +194,22 @@
height: 2.44rem;
height: 2.44rem;
margin-left: 0.69rem;
+ margin-right: 1.81rem;
"
alt=""
/>
+ <!-- 鍏ㄥ眬鏂规硶鍥剧墖 -->
+ <img
+ v-if="!isFullscreen"
+ style="
+ width: 2.88rem;
+ height: 2.88rem;
+ cursor: pointer;
+ "
+ src="@/assets/screen.png"
+ alt=""
+ @click="screenonToggle"
+ />
</div>
</div>
</header>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/utils/index.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/utils/index.js"
index 5ab22c0..07301a1 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/utils/index.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/utils/index.js"
@@ -1,11 +1,12 @@
import { dayjs } from "element-plus";
// import XLSX from "xlsx"; //瀵煎叆xlsx
-export const baseUrl = "http://127.0.0.1:1598"
+export const baseUrl = "http://192.168.1.103:9093"
// http://127.0.0.1:1598
// http://192.168.1.103:9093 浠ュ墠绾夸笂鍦板潃
export const faceRecognitionUrl = "http://192.168.1.103:9095"
+// export const faceRecognitionUrl = "http://127.0.0.1:1598"
//瀵硅薄杞現ormData鐢熸垚鏂规硶
export function objToFormData(obj) {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/views/tts/AlarmReset/AlarmReset.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/views/tts/AlarmReset/AlarmReset.vue"
index a4a8bf5..7662d84 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/views/tts/AlarmReset/AlarmReset.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/views/tts/AlarmReset/AlarmReset.vue"
@@ -103,6 +103,7 @@
clearInterval(timer.value);
// 鍒涘缓WebSocket杩炴帴
//"ws://127.0.0.1:9295/admin"
+ //ws://192.168.1.103:5173
//192.168.1.103
client.value = new WebSocket("ws://192.168.1.103:5173/");
client.value.onopen = function () {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/views/tts/PickAndDrop/Manualcontrol.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/views/tts/PickAndDrop/Manualcontrol.vue"
index 7e9a5b3..8162b30 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/views/tts/PickAndDrop/Manualcontrol.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/views/tts/PickAndDrop/Manualcontrol.vue"
@@ -565,6 +565,7 @@
AutoPickAndDrop,
Pouse,
GetParameter,
+ GetStandid,
} from "@/api/newapi/Parameters.js";
// import EZUIKit from "ezuikit-js";
@@ -778,26 +779,63 @@
const webRtcServer_left = ref(null)
const webRtcServer_right = ref(null)
-// 鎽勫儚澶� RTSP 鍦板潃锛屾敞鎰� %23 鏇夸唬 #锛岃繖鏄� URL 缂栫爜 瑙嗛缂栫爜鏍煎紡 浠� H.265 淇敼涓� H.264锛�265涓嶆敮鎸�
-const rtspLeft = 'rtsp://admin:MXmx2380%23@192.168.1.168:554/Streaming/Channels/101'
-const rtspRight = 'rtsp://admin:MXmx2380%23@192.168.1.168:554/Streaming/Channels/201'
+// 鎽勫儚澶� RTSP 鍦板潃锛屾敞鎰� %23 鏇夸唬 #锛岃繖鏄� URL 缂栫爜 ;瑙嗛缂栫爜鏍煎紡 浠� H.265 淇敼涓� H.264锛�265涓嶆敮鎸�
+const videoStreamList = [
+ // index = StationID - 1锛屽搴� StationID = 1 鏃跺彇绗� 0 椤�
+ {
+ left: "rtsp://admin:MXmx2380%23@192.168.1.168:554/Streaming/Channels/101",
+ right: "rtsp://admin:MXmx2380%23@192.168.1.168:554/Streaming/Channels/201"
+ },
+ {
+ left: "rtsp://admin:MXmx2380%23@192.168.1.169:554/Streaming/Channels/101",
+ right: "rtsp://admin:MXmx2380%23@192.168.1.169:554/Streaming/Channels/201"
+ },
+ {
+ left: "rtsp://admin:MXmx2380%23@192.168.1.170:554/Streaming/Channels/101",
+ right: "rtsp://admin:MXmx2380%23@192.168.1.170:554/Streaming/Channels/201"
+ }
+ // 鍙互缁х画娣诲姞鏇村绔欑偣娴佸湴鍧�
+];
+const getStationId = async () => {
+ try {
+ const res = await GetStandid()
+ console.log("鎵嬪姩瑙嗛鐩戞帶绔欑偣",res)
+ if (res.status) {
+ const stationId = parseInt(res.data);
+ initVideoByStationId(stationId);
+ } else {
+ ElMessage.error("鑾峰彇绔欑偣缂栧彿澶辫触锛�" + res.message);
+ }
+ } catch (err) {
+ ElMessage.error("璇锋眰澶辫触锛�" + err.message);
+ }
+};
// WebRtcStreamer 鏈嶅姟鍦板潃
const serverUrl = 'http://192.168.1.103:8000' // 鈫� 鏀逛负浣犺繍琛岀殑閭e彴鐢佃剳鐨� IP
-const initVideo = () => {
- try {
- webRtcServer_left.value = new WebRtcStreamer('video_left', serverUrl)
- webRtcServer_left.value.connect(rtspLeft)
+const initVideoByStationId = (stationId) => {
+ const index = stationId - 1;
- webRtcServer_right.value = new WebRtcStreamer('video_right', serverUrl)
- webRtcServer_right.value.connect(rtspRight)
-
- console.log('瑙嗛鍒濆鍖栧畬鎴�')
- } catch (err) {
- ElMessage.error('瑙嗛鍒濆鍖栧け璐�: ' + err.message)
+ if (index < 0 || index >= videoStreamList.length) {
+ ElMessage.error("鏃犳晥鐨勭珯鐐圭紪鍙凤細" + stationId);
+ return;
}
-}
+
+ const rtspUrls = videoStreamList[index];
+
+ try {
+ webRtcServer_left.value = new WebRtcStreamer("video_left", serverUrl);
+ webRtcServer_left.value.connect(rtspUrls.left);
+
+ webRtcServer_right.value = new WebRtcStreamer("video_right", serverUrl);
+ webRtcServer_right.value.connect(rtspUrls.right);
+
+ console.log("瑙嗛鍒濆鍖栧畬鎴愶細", rtspUrls);
+ } catch (err) {
+ ElMessage.error("瑙嗛鍒濆鍖栧け璐�: " + err.message);
+ }
+};
//閿�姣佽棰戝嚱鏁�
const destroyVideo = () => {
@@ -835,7 +873,8 @@
onMounted(() => {
- initVideo(),
+ getStationId(); // 椤甸潰鍔犺浇鏃惰嚜鍔ㄨ幏鍙栧苟鎾斁瑙嗛
+ // initVideo(),
isStart.value = true; // 璁剧疆涓哄紑濮嬬姸鎬�
createSocket();
getParameter();
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/views/tts/PickAndDrop/PickAndDrop.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/views/tts/PickAndDrop/PickAndDrop.vue"
index bddf55c..79db6ef 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/views/tts/PickAndDrop/PickAndDrop.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/views/tts/PickAndDrop/PickAndDrop.vue"
@@ -37,25 +37,9 @@
<div class="item">缂╁埌浣�:{{ 0 }}</div>
<div class="item">浼稿嚭閫熷害:{{ ruleForm.extendSpeed }}</div>
<div class="item">缂╁洖閫熷害:{{ ruleForm.extendSpeed }}</div>
- <!-- <div class="open">
- <div class="city">
- <div class="dotted"></div>
- <div class="pulse1"></div>
- <div class="pulse2"></div>
- <div class="pulse3"></div>
- </div>
- </div> -->
</div>
<!-- 瑙嗛妗� -->
<div style="display: flex; justify-content: center">
- <!-- <div
- style="
- display: flex;
- flex-direction: column;
- align-items: center;
- width: 80%;
- "
- > -->
<!-- 妯睆瑙嗛鐩戞帶宸︿晶 -->
<div class="video_l">
<video
@@ -82,30 +66,12 @@
<span>鍙充晶璀︽儠鏈烘瀯</span>
<span></span>
</div>
- <!-- 瑙嗛妗� -->
-
- <!-- <div
- style="
- display: flex;
- flex-direction: column;
- align-items: center;
- width: 80%;
- "
- > -->
<div class="operate">
<div class="item">浼稿埌浣�:{{ ruleForm.leftPosition }}</div>
<!-- ruleForm.leftPosition -->
<div class="item">缂╁埌浣�:{{ 0 }}</div>
<div class="item">浼稿嚭閫熷害:{{ ruleForm.extendSpeed }}</div>
<div class="item">缂╁洖閫熷害:{{ ruleForm.extendSpeed }}</div>
- <!-- <div class="open">
- <div class="city">
- <div class="dotted"></div>
- <div class="pulse1"></div>
- <div class="pulse2"></div>
- <div class="pulse3"></div>
- </div>
- </div> -->
</div>
<div style="display: flex; justify-content: center;">
<!-- 妯睆瑙嗛鐩戞帶鍙充晶 -->
@@ -120,8 +86,6 @@
height="100%"
></video>
</div>
- <!-- </div> -->
-
</div>
</div>
</div>
@@ -144,18 +108,8 @@
<div class="item">缂╁埌浣�:{{ 0 }}</div>
<div class="item">浼稿嚭閫熷害:{{ ruleForm.extendSpeed }}</div>
<div class="item">缂╁洖閫熷害:{{ ruleForm.extendSpeed }}</div>
- <!-- <div class="open">
- <div class="city">
- <div class="dotted"></div>
- <div class="pulse1"></div>
- <div class="pulse2"></div>
- <div class="pulse3"></div>
- </div>
- </div> -->
</div>
- <!-- <span style="color: #fff; font-size: 2.5rem; font-weight: bold"
- >瑙嗛鐩戞帶宸︿晶</span
- > -->
+
<div style="display: flex; flex-direction: column; align-items: center">
<div class="video_l">
<video
@@ -186,18 +140,7 @@
<div class="item">缂╁埌浣�:{{ 0 }}</div>
<div class="item">浼稿嚭閫熷害:{{ ruleForm.retractionSpeed }}</div>
<div class="item">缂╁洖閫熷害:{{ ruleForm.retractionSpeed }}</div>
- <!-- <div class="open">
- <div class="city">
- <div class="dotted"></div>
- <div class="pulse1"></div>
- <div class="pulse2"></div>
- <div class="pulse3"></div>
- </div>
- </div> -->
</div>
- <!-- <span style="color: #fff; font-size: 2.5rem; font-weight: bold"
- >瑙嗛鐩戞帶鍙充晶</span
- > -->
<div style="display: flex; flex-direction: column; align-items: center">
<div class="video_r">
<video
@@ -233,6 +176,7 @@
Pouse,
GetPosition,
GetParameter,
+ GetStandid
} from "@/api/newapi/Parameters.js";
const router = useRouter();
@@ -251,8 +195,6 @@
retractionSpeed: 0,
manualExtend: 0,
manualRetraction: 0,
- // depid: userInfo.depid,
- // account: userInfo.userName,
leftPosition: 0,
rightPosition: 0,
});
@@ -347,31 +289,66 @@
const webRtcServer_right = ref(null);
// 鎽勫儚澶� RTSP 鍦板潃锛屾敞鎰� %23 鏇夸唬 #锛岃繖鏄� URL 缂栫爜
-const rtspLeft =
- "rtsp://admin:MXmx2380%23@192.168.1.168:554/Streaming/Channels/101";
-const rtspRight =
- "rtsp://admin:MXmx2380%23@192.168.1.168:554/Streaming/Channels/201";
+const videoStreamList = [
+ // index = StationID - 1锛屽搴� StationID = 1 鏃跺彇绗� 0 椤�
+ {
+ left: "rtsp://admin:MXmx2380%23@192.168.1.168:554/Streaming/Channels/101",
+ right: "rtsp://admin:MXmx2380%23@192.168.1.168:554/Streaming/Channels/201"
+ },
+ {
+ left: "rtsp://admin:MXmx2380%23@192.168.1.169:554/Streaming/Channels/101",
+ right: "rtsp://admin:MXmx2380%23@192.168.1.169:554/Streaming/Channels/201"
+ },
+ {
+ left: "rtsp://admin:MXmx2380%23@192.168.1.170:554/Streaming/Channels/101",
+ right: "rtsp://admin:MXmx2380%23@192.168.1.170:554/Streaming/Channels/201"
+ }
+ // 鍙互缁х画娣诲姞鏇村绔欑偣娴佸湴鍧�
+];
+const getStationId = async () => {
+ try {
+ const res = await GetStandid()
+ console.log("瑙嗛鐩戞帶绔欑偣",res)
+ if (res.status) {
+ const stationId = parseInt(res.data);
+ initVideoByStationId(stationId);/// 浼犻�掑埌瑙嗛鍒濆鍖栧嚱鏁帮紙璋冪敤鏂规硶锛�
+ } else {
+ ElMessage.error("鑾峰彇绔欑偣缂栧彿澶辫触锛�" + res.message);
+ }
+ } catch (err) {
+ ElMessage.error("璇锋眰澶辫触锛�" + err.message);
+ }
+};
+
+
// WebRtcStreamer 鏈嶅姟鍦板潃
const serverUrl = "http://192.168.1.103:8000"; // 鈫� 鏀逛负浣犺繍琛岀殑閭e彴鐢佃剳鐨� IP
-const initVideo = () => {
+//鏍规嵁鍚庣杩斿洖鐨勪笉鍚屾暟瀛楁潵璇诲彇涓嶅悓鐨勮棰戠洃鎺ф祦
+const initVideoByStationId = (stationId) => {
+ const index = stationId - 1;
+
+ if (index < 0 || index >= videoStreamList.length) {
+ ElMessage.error("鏃犳晥鐨勭珯鐐圭紪鍙凤細" + stationId);
+ return;
+ }
+
+ const rtspUrls = videoStreamList[index];
+
try {
webRtcServer_left.value = new WebRtcStreamer("video_left", serverUrl);
- webRtcServer_left.value.connect(rtspLeft);
+ webRtcServer_left.value.connect(rtspUrls.left);
webRtcServer_right.value = new WebRtcStreamer("video_right", serverUrl);
- webRtcServer_right.value.connect(rtspRight);
+ webRtcServer_right.value.connect(rtspUrls.right);
- console.log(
- "瑙嗛鍒濆鍖栧畬鎴�",
- webRtcServer_left.value,
- webRtcServer_right.value
- );
+ console.log("瑙嗛鍒濆鍖栧畬鎴愶細", rtspUrls);
} catch (err) {
ElMessage.error("瑙嗛鍒濆鍖栧け璐�: " + err.message);
}
};
+
const destroyVideo = () => {
if (webRtcServer_left.value) {
@@ -386,7 +363,8 @@
// 浠ヤ笂鏄棰戠洃鎺�
onMounted(() => {
- initVideo();
+ getStationId(); // 椤甸潰鍔犺浇鏃惰嚜鍔ㄨ幏鍙栧苟鎾斁瑙嗛
+ // initVideoByStationId();
//鐩戝惉绐楀彛澶у皬鍙樺寲
window.addEventListener("resize", () => {
nextTick(() => {
@@ -430,9 +408,6 @@
const isPortrait = ref(checkOrientation() === 'portrait');
onActivated(() => {
- // 缂撳瓨椤甸潰 鎵撳紑椤甸潰 瀹炵幇鎾斁
- // const video = document.getElementById("video");
- // video.paused && video.play();
["video_left", "video_right"].forEach((id) => {
const video = document.getElementById(id);
if (video && video.paused) video.play();
@@ -441,9 +416,6 @@
// 椤甸潰鍋滅敤
onDeactivated(() => {
- // 缂撳瓨椤甸潰 绂诲紑椤甸潰 瀹炵幇鏆傚仠
- // const video = document.getElementById("video");
- // video.play && video.pause();
["video_left", "video_right"].forEach((id) => {
const video = document.getElementById(id);
if (video && !video.paused) video.pause();
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/views/tts/UserManagement/Usermanagement.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/views/tts/UserManagement/Usermanagement.vue"
index f18e391..dc40136 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/views/tts/UserManagement/Usermanagement.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\215\225\346\234\272\347\211\210/src/views/tts/UserManagement/Usermanagement.vue"
@@ -1,6 +1,6 @@
<template>
<div class="Usermanagement">
- <div class="content">
+ <div class="content" >
<div class="checkbox">
<div
:class="['item', isactive == 1 ? 'isactive' : '']"
@@ -208,7 +208,7 @@
>
</div>
</div>
- <div style="margin-top: 1rem; height: 100%">
+ <div style="margin-top: 1rem; height: 90%">
<!-- 鐢ㄦ埛鍒楄〃 -->
<el-table
empty-text="鏆傛棤鏁版嵁"
@@ -575,7 +575,7 @@
<el-table-column prop="unitName" label="鍗曚綅鍚嶇О" align="center" />
<el-table-column prop="creater" label="鍒涘缓鑰�" align="center" />
<el-table-column prop="createDate" label="鍒涘缓鏃ユ湡" align="center" />
- <el-table-column label="鎿嶄綔" align="center">
+ <el-table-column label="鎿嶄綔" >
<template #default="scope">
<span
v-if="
@@ -638,7 +638,8 @@
>
<el-table-column type="selection" align="center" />
<el-table-column prop="iPaddress" label="ip鍦板潃" align="center" />
- <el-table-column prop="addressname" label="妫�淇亾" align="center" />
+ <el-table-column prop="addressname" label="璁惧鍚嶇О" align="center" />
+ <el-table-column prop="stationID" label="妫�淇亾" align="center" />
<el-table-column label="鎿嶄綔" align="center">
<template #default="scope">
<span
@@ -1387,7 +1388,7 @@
fontSize: isMin ? '2rem' : '1rem',
fontWeight: 'bold',
}"
- >鐢ㄦ埛ip</span
+ >璁惧ip</span
>
</div>
</template>
@@ -1444,14 +1445,44 @@
color: 'black',
fontWeight: bold,
}"
- >妫�淇亾</span
+ >璁惧鍚嶇О</span
>
+
</div>
</template>
<el-input
style="height: 2rem"
size="small"
v-model="formip.addressname"
+ placeholder="璇疯緭鍏�"
+ />
+ </el-form-item>
+ <el-form-item prop="stationID">
+ <template #label>
+ <div style="display: flex; align-items: flex-end">
+ <span
+ :style="{
+ color: 'red',
+ marginRight: '0.2rem',
+ fontSize: '2rem',
+ }"
+ >*</span
+ >
+ <span
+ :style="{
+ fontSize: isMin ? '2rem' : '0.88rem',
+ color: 'black',
+ fontWeight: bold,
+ }"
+ >杞ㄩ亾绔�</span
+ >
+
+ </div>
+ </template>
+ <el-input
+ style="height: 2rem"
+ size="small"
+ v-model="formip.stationID"
placeholder="璇疯緭鍏�"
/>
</el-form-item>
@@ -2446,6 +2477,7 @@
getIpData();
}
};
+//绂佹椤甸潰婊戝姩
//鎵归噺鍒犻櫎
const ids = ref([]);
@@ -2718,6 +2750,7 @@
id: 0,
iPaddress: "",
addressname: "",
+ stationID:0
});
const formipRef = ref(null);
//鑾峰彇ip鏁版嵁
@@ -2780,6 +2813,7 @@
onMounted(() => {
if (window.innerWidth <= 1080) {
isMin.value = true;
+ // document.body.style.overflow = "hidden";
}
//鎵撳嵃褰撳墠灞忓箷瀹藉害
userInfo.value = JSON.parse(localStorage.getItem("user"));
@@ -2802,6 +2836,7 @@
width: 100%;
display: flex;
flex-direction: column;
+
.checkbox {
width: 25rem;
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/api/newapi/Parameters.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/api/newapi/Parameters.js"
index 7b1ac95..1674fc5 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/api/newapi/Parameters.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/api/newapi/Parameters.js"
@@ -8,4 +8,7 @@
//鏆傚仠
export const Pause = (data) => request.post({ url: `/api/Parameters/PauseButton?deptid=${data}` });
//鍥炲幓浼哥缉鏉嗗綋鍓嶄綅缃�
-export const GetPosition = (data) => request.post({ url: `/api/Parameters/CurrentLocation?deptid=${data}` });
\ No newline at end of file
+export const GetPosition = (data) => request.post({ url: `/api/Parameters/CurrentLocation?deptid=${data}` });
+
+//杩斿洖浼哥缉鏉嗘瘡鍙皃lc璁剧疆鐨勫弬鏁�
+export const BackfillSpeed=(data)=>request.post({ url: `/api/Parameters/BackfillSpeed?plank=${data}` });
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/api/newapi/user.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/api/newapi/user.js"
index 208b74c..8e7eb85 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/api/newapi/user.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/api/newapi/user.js"
@@ -24,7 +24,8 @@
//淇敼瀵嗙爜 id=${data.id}&
export const UpdatePassword = (data) => request.post({ url: `/api/User/modifyPwd?newPwd=${data.newPwd}&oldPwd=${data.oldPwd}` })
//
-export const UpdatePwd = (data) => request.post({ url: `/api/User/UpdatePwd?id=${data.id}&newPwd=${data.newPwd}&oldPwd=${data.oldPwd}` })
+// export const UpdatePwd = (data) => request.post({ url: `/api/User/UpdatePwd?id=${data.id}&newPwd=${data.newPwd}&oldPwd=${data.oldPwd}` })
+export const UpdatePwd = (data) =>http.post(`/api/User/UpdatePwd?id=${encodeURIComponent(data.id)}&newPwd=${encodeURIComponent(data.newPwd)}&oldPwd=${encodeURIComponent(data.oldPwd)}`)
//瀵煎嚭鐢ㄦ埛鍒楄〃
export const ExportApi = (data) => http.download("/api/User/Export", data, "鐢ㄦ埛鍒楄〃鏁版嵁.xlsx", "鍔犺浇涓�");
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/axios/service.ts" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/axios/service.ts"
index 9354273..2054b3a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/axios/service.ts"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/axios/service.ts"
@@ -20,7 +20,7 @@
// 'http://192.168.1.103:9090' //涓婄嚎鍦板潃
// 'http://192.168.0.80:1596'
axiosInstance.interceptors.request.use((res: InternalAxiosRequestConfig) => {
- const controller = new AbortController()
+ const controller = new AbortController()
const url = res.url || ''
res.signal = controller.signal
abortControllerMap.set(
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/permission.ts" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/permission.ts"
index a14c3a8..9ef315d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/permission.ts"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/permission.ts"
@@ -39,9 +39,17 @@
await permissionStore.generateRoutes('static')
}
+ // permissionStore.getAddRouters.forEach((route) => {
+ // router.addRoute(route as unknown as RouteRecordRaw) // 鍔ㄦ�佹坊鍔犲彲璁块棶璺敱琛�
+ // })
+ //涓嬮潰鏄垜鑷繁淇敼鐨勮矾鐢辫闂柟寮忥紙涓婇潰璁块棶4000璺緞鎬绘槸鎶ラ敊锛�
permissionStore.getAddRouters.forEach((route) => {
- router.addRoute(route as unknown as RouteRecordRaw) // 鍔ㄦ�佹坊鍔犲彲璁块棶璺敱琛�
- })
+ const normalizedRoute = {
+ ...route,
+ path: route.path.startsWith('/') ? route.path : `/${route.path}` // [!code ++]
+ };
+ router.addRoute(normalizedRoute as unknown as RouteRecordRaw); // [!code ++]
+ });
const redirectPath = from.query.redirect || to.path
const redirect = decodeURIComponent(redirectPath as string)
const nextData = to.path === redirect ? { ...to, replace: true } : { path: redirect }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/views/Authorization/Team/Team.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/views/Authorization/Team/Team.vue"
index 1c5c494..3aa45d1 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/views/Authorization/Team/Team.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/views/Authorization/Team/Team.vue"
@@ -111,7 +111,7 @@
})
}
-// 缂栬緫鐝粍
+// 缂栬緫鐝粍
const EditTream = (val) => {
Treamtype.value = "淇敼"
formTeam.value = Object.assign({}, val)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/views/Authorization/iPaddress/iPaddress.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/views/Authorization/iPaddress/iPaddress.vue"
index ffa329f..cf1bf53 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/views/Authorization/iPaddress/iPaddress.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/views/Authorization/iPaddress/iPaddress.vue"
@@ -160,6 +160,7 @@
formIP.value = {
iPaddress: '',
addressname: '',
+ stationID:0,
createDate: formatTime(new Date()),
creater: JSON.parse(localStorage.getItem('user')).userName
}
@@ -236,7 +237,8 @@
>
<el-table-column type="selection" align="center" />
<el-table-column prop="iPaddress" label="IP鍦板潃" align="center" />
- <el-table-column prop="addressname" label="妫�淇亾" align="center" />
+ <el-table-column prop="addressname" label="璁惧鍚嶇О" align="center" />
+ <el-table-column prop="stationID" label="妫�淇亾" align="center" />
<!-- <el-table-column prop="creater" label="鍒涘缓鑰�" align="center" /> -->
<el-table-column prop="createDate" label="鍒涘缓鏃堕棿" align="center" />
<el-table-column label="鎿嶄綔" align="center">
@@ -335,6 +337,20 @@
placeholder="璇疯緭鍏ユ淇亾鍚嶇О"
/>
</el-form-item>
+ <el-form-item prop="stationID">
+ <template #label>
+ <div style="display: flex; align-items: flex-end">
+ <span style="color: red; margin-right: 0.2rem">*</span>
+ <span style="font-size: 0.88rem; color: black; font-weight: bold">妫�淇亾鍙�</span>
+ </div>
+ </template>
+ <el-input
+ style="height: 2rem"
+ size="small"
+ v-model="formIP.stationID"
+ placeholder="璇疯緭鍏ユ淇亾鍙�"
+ />
+ </el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer" style="text-align: center">
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/views/Login/components/LoginForm.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/views/Login/components/LoginForm.vue"
index 53a8486..d2f38c7 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/views/Login/components/LoginForm.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/views/Login/components/LoginForm.vue"
@@ -197,7 +197,9 @@
addRoute(route as RouteRecordRaw) // 鍔ㄦ�佹坊鍔犲彲璁块棶璺敱琛�
})
permissionStore.setIsAddRouters(true)
- push({ path: redirect.value || permissionStore.addRouters[0].path })
+ // push({ path: redirect.value || permissionStore.addRouters[0].path })
+
+ push({ path: '/PickAndDrop' })
}
}
} finally {
@@ -228,7 +230,9 @@
addRoute(route as RouteRecordRaw) // 鍔ㄦ�佹坊鍔犲彲璁块棶璺敱琛�
})
permissionStore.setIsAddRouters(true)
- push({ path: redirect.value || permissionStore.addRouters[0].path })
+ // push({ path: redirect.value || permissionStore.addRouters[0].path })
+
+ push({ path: '/tts/PickAndDrop' })
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/views/tts/PickAndDrop/PickAndDrop.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/views/tts/PickAndDrop/PickAndDrop.vue"
index 1729b30..0383d24 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/views/tts/PickAndDrop/PickAndDrop.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\211\215\347\253\257/\345\220\216\345\217\260/src/views/tts/PickAndDrop/PickAndDrop.vue"
@@ -115,7 +115,7 @@
<div v-if="isMobile" class="content">
<div class="content_l">
<div class="model">宸︿晶浼哥缉鏉�</div>
- <div class="operate" style="opacity: 0">
+ <div class="operate" style="opacity: 100">
<div class="item">浼稿埌浣�</div>
<div class="item">缂╁埌浣�</div>
<div class="item">浼稿嚭閫熷害</div>
@@ -138,7 +138,7 @@
</div>
<div class="content_r">
<div class="model">鍙充晶浼哥缉鏉�</div>
- <div class="operate" style="opacity: 0">
+ <div class="operate" style="opacity: 100">
<div class="item">浼稿埌浣�</div>
<div class="item">缂╁埌浣�</div>
<div class="item">浼稿嚭閫熷害</div>
@@ -164,9 +164,9 @@
<div v-else class="content_mobile">
<div class="content_l">
<div style="display: flex; align-items: center">
- <div class="model">宸︿晶浼哥缉鏉�</div>
+ <div class="model">宸︿晶绔栧睆浼哥缉鏉�</div>
<div class="mode"></div>
- <div class="operate" style="opacity: 0">
+ <div class="operate" style="opacity:100">
<div class="item">浼稿埌浣�</div>
<div class="item">缂╁埌浣�</div>
<div class="item">浼稿嚭閫熷害</div>
@@ -190,9 +190,9 @@
</div>
<div class="content_r">
<div style="display: flex; align-items: center">
- <div class="model">鍙充晶浼哥缉鏉�</div>
+ <div class="model">鍙充晶绔栧睆浼哥缉鏉�</div>
<div class="mode"></div>
- <div class="operate" style="opacity: 0">
+ <div class="operate" style="opacity: 100">
<div class="item">浼稿埌浣�</div>
<div class="item">缂╁埌浣�</div>
<div class="item">浼稿嚭閫熷害</div>
@@ -221,6 +221,7 @@
<!-- 閫氳繃鏍囩椤靛垏鎹㈤儴闂紝骞跺姩鎬佸姞杞借閮ㄩ棬鐨勪綅缃暟鎹�� -->
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
<el-tab-pane v-for="item in list" :key="item.id" :label="item.name" :name="item.id">
+ <!-- Manualcontrol锛氭帶鍒舵í灞� -->
<div class="Manualcontrol">
<div class="button">
<el-button
@@ -304,10 +305,10 @@
</div>
</div>
<div class="operate">
- <div class="item">浼稿埌浣�</div>
- <div class="item">缂╁埌浣�</div>
- <div class="item">浼稿嚭閫熷害</div>
- <div class="item">缂╁洖閫熷害</div>
+ <div class="item">浼稿埌浣峽{ruleForm.leftPosition}}</div>
+ <div class="item">缂╁埌浣峽{0}}</div>
+ <div class="item">浼稿嚭閫熷害{{ruleForm.extendSpeed}}</div>
+ <div class="item">缂╁洖閫熷害{{ruleForm.extendSpeed}}</div>
<!-- <div class="open">
<div class="city">
<div class="dotted"></div>
@@ -406,10 +407,10 @@
</div>
</div>
<div class="operate">
- <div class="item">浼稿埌浣�</div>
- <div class="item">缂╁埌浣�</div>
- <div class="item">浼稿嚭閫熷害</div>
- <div class="item">缂╁洖閫熷害</div>
+ <div class="item">浼稿埌浣峽{ruleForm.leftPosition}}</div>
+ <div class="item">缂╁埌浣峽{0}}</div>
+ <div class="item">浼稿嚭閫熷害{{ruleForm.extendSpeed}}</div>
+ <div class="item">缂╁洖閫熷害{{ruleForm.extendSpeed}}</div>
<!-- <div class="open">
<div class="city">
<div class="dotted"></div>
@@ -499,17 +500,17 @@
<span style="font-size: 1.25rem; text-align: center">鐐瑰姩缂�</span>
</el-button>
</div>
- <div style="color: #fff; font-size: 1.5rem"> 宸︿晶浼哥缉鏉� </div>
+ <div style="color: #fff; font-size: 1.5rem"> 宸︿晶绔栧睆鎵嬪姩浼哥缉鏉� </div>
<div style="color: #fff; font-size: 1.5rem">
<!-- 褰撳墠浼哥缉鏉嗕綅缃�:{{ Position.left }} -->
</div>
</div>
<!-- 鎶� style鍘绘帀灏辨樉绀轰簡-->
- <div class="operate" style="opacity: 0">
- <div class="item">浼稿埌浣�</div>
- <div class="item">缂╁埌浣�</div>
- <div class="item">浼稿嚭閫熷害</div>
- <div class="item">缂╁洖閫熷害</div>
+ <div class="operate" style="opacity: 100">
+ <div class="item">浼稿埌浣峽{ruleForm.leftPosition}}</div>
+ <div class="item">缂╁埌浣峽{0}}</div>
+ <div class="item">浼稿嚭閫熷害{{ruleForm.extendSpeed}}</div>
+ <div class="item">缂╁洖閫熷害{{ruleForm.extendSpeed}}</div>
<!-- <div class="open">
<div class="city">
<div class="dotted"></div>
@@ -521,11 +522,21 @@
</div>
<div style="display: flex; flex-direction: column; align-items: center">
<div class="video_l">
- <span style="color: #fff; font-size: 1.25rem; font-weight: bold"
+ <!-- <span style="color: #fff; font-size: 1.25rem; font-weight: bold"
>绔栧睆鎵嬪姩瑙嗛鐩戞帶宸︿晶</span
>
- <img src="@/assets/imgs/right.png" alt="" />
+ <img src="@/assets/imgs/right.png" alt="" /> -->
+ <video
+ id="video_left"
+ autoplay
+ muted
+ controls
+ playsinline
+ width="100%"
+ height="100%"
+ ></video>
</div>
+
</div>
</div>
<div class="content_r">
@@ -596,16 +607,16 @@
<span style="font-size: 1.25rem; text-align: center">鐐瑰姩缂�</span>
</el-button>
</div>
- <div style="color: #fff; font-size: 1.5rem"> 鍙充晶浼哥缉鏉� </div>
+ <div style="color: #fff; font-size: 1.5rem"> 鍙充晶绔栧睆鎵嬪姩浼哥缉鏉� </div>
<div style="color: #fff; font-size: 1.5rem">
<!-- 褰撳墠浼哥缉鏉嗕綅缃�:{{ Position.right }} -->
</div>
</div>
- <div class="operate" style="opacity: 0">
- <div class="item">浼稿埌浣�</div>
- <div class="item">缂╁埌浣�</div>
- <div class="item">浼稿嚭閫熷害</div>
- <div class="item">缂╁洖閫熷害</div>
+ <div class="operate" style="opacity:100">
+ <div class="item">浼稿埌浣峽{ruleForm.leftPosition}}</div>
+ <div class="item">缂╁埌浣峽{0}}</div>
+ <div class="item">浼稿嚭閫熷害{{ruleForm.extendSpeed}}</div>
+ <div class="item">缂╁洖閫熷害{{ruleForm.extendSpeed}}</div>
<!-- <div class="open">
<div class="city">
<div class="dotted"></div>
@@ -617,11 +628,20 @@
</div>
<div style="display: flex; flex-direction: column; align-items: center">
<div class="video_r">
- <span style="color: #fff; font-size: 1.25rem; font-weight: bold"
+ <!-- <span style="color: #fff; font-size: 1.25rem; font-weight: bold"
>瑙嗛鐩戞帶鍙充晶58</span
>
- <img src="@/assets/imgs/left.png" alt="" />
+ <img src="@/assets/imgs/left.png" alt="" /> -->
+ <video
+ id="video_left"
+ autoplay
+ muted
+ controls
+ playsinline
+ width="100%"
+ height="100%"
+ ></video>
</div>
</div>
</div>
@@ -639,6 +659,7 @@
<el-radio :value="3">妫�淇亾涓�</el-radio>
<el-radio :value="4">妫�淇亾鍥�</el-radio>
<el-radio :value="5">妫�淇亾浜�</el-radio>
+ <el-radio :value="6">妫�淇亾鍏�</el-radio>
</el-radio-group>
</div>
<template #footer>
@@ -653,7 +674,7 @@
import { ref, onMounted, nextTick ,onUnmounted,onActivated,onDeactivated ,onBeforeUnmount} from 'vue'
import { useRouter } from 'vue-router'
import { ElMessage } from 'element-plus'
-import { AutoPickAndDrop, ManualOperation, Pause, GetPosition } from '@/api/newapi/Parameters.js'
+import { AutoPickAndDrop, ManualOperation, Pause, GetPosition,BackfillSpeed } from '@/api/newapi/Parameters.js'
const activeName = ref('first')
const router = useRouter()
const isShow = ref(false)
@@ -749,6 +770,49 @@
console.log(res)
}, 2000)
+//瀹氫箟浼哥缉鏉嗚繑鍥為�熷害鍙傛暟
+const ruleForm = ref({
+ id: 0,
+ extendSpeed: 0,
+ retractionSpeed: 0,
+ manualExtend: 0,
+ manualRetraction: 0,
+ leftPosition: 0,
+ rightPosition: 0,
+});
+
+//璋冪敤杩斿洖浼哥缉鏉嗚缃弬鏁�
+const GetfillSpeed= async(DeptId)=>{
+ try{
+ const res = await BackfillSpeed(DeptId)
+ // console.log('DeptId',DeptId)
+ console.log("杩斿洖閫熷害淇℃伅",res)
+ if(res.status === true){
+ if(res.code === 0){
+ ruleForm.value.extendSpeed = res.data == null ? 0 : res.data.extendSpeed;
+ ruleForm.value.retractionSpeed =
+ res.data == null ? 0 : res.data.retractionSpeed;
+ ruleForm.value.manualExtend =
+ res.data == null ? 0 : res.data.manualExtend;
+ ruleForm.value.manualRetraction =
+ res.data == null ? 0 : res.data.manualRetraction;
+ ruleForm.value.leftPosition =
+ res.data == null ? 0 : res.data.leftPosition;
+ ruleForm.value.rightPosition =
+ res.data == null ? 0 : res.data.rightPosition;
+ }else{
+ ElMessage.error(res.message)
+ }
+ }else{
+ ElMessage.error('鑾峰彇浼哥缉鏉嗛�熷害澶辫触')
+ }
+ }
+ catch(error){
+ console.error(error)
+ ElMessage.error('鑾峰彇浼哥缉鏉嗛�熷害澶辫触')
+ }
+}
+
// 閫氳繃鏍囩椤靛垏鎹㈤儴闂紝骞跺姩鎬佸姞杞借閮ㄩ棬鐨勪綅缃暟鎹��
@@ -781,17 +845,17 @@
const webRtcServer_left = ref(null)
const webRtcServer_right = ref(null)
+
//鍒囨崲鏍囩
const handleClick = (tab, event) => {
destroyVideo()//鍒囨崲鐨勬椂鍊欐秷闄や笂娆$殑瑙嗛鐩戞帶娴�
- console.log(tab.index);
+ console.log("褰撳墠鏍囩涓嬭〃",tab.index);
DeptId.value = Number(tab.index) + 1
- // GetPosition(DeptId.value).then((res) => {
- // Position.value.left = res.data.lift
- // Position.value.right = res.data.right
- // })
+ console.log('褰撳墠閮ㄩ棬ID:', DeptId.value)
+ GetfillSpeed(DeptId.value)
+
rstp.value=srtpaddres[tab.index].left
rstp1.value=srtpaddres[tab.index].right
}
@@ -895,12 +959,13 @@
}
onMounted(() => {
+ GetfillSpeed(1) //鑾峰彇浼哥缉鏉嗛�熷害
initVideo()//寮�濮嬬殑鏃跺�欏鍏ヨ棰戠洃鎺ф祦
// 鐩戝惉绐楀彛澶у皬鍙樺寲
window.addEventListener('resize', () => {
nextTick(() => {
if (window.innerWidth > 1200) {
- isMobile.value = true
+ isMobile.value = true //榛樿鏄í灞�
} else {
isMobile.value = false
}
@@ -980,20 +1045,6 @@
top: -0.25rem;
border-radius: 50%;
}
-
- // .Aspan::after {
- // content: '';
- // position: absolute;
- // height: 0.66rem;
- // /* 璁剧疆杈规鐨勯暱搴� */
- // width: 0.66rem;
- // /* 璁剧疆杈规鐨勫搴� */
- // background-color: rgba(102, 255, 255, 1);
- // /* 璁剧疆杈规鐨勯鑹� */
- // right: -9.5rem;
- // top: -0.25rem;
- // border-radius: 50%;
- // }
}
.btn::after {
@@ -1033,9 +1084,9 @@
.content {
display: flex;
.content_l {
- display: flex;
- flex-direction: column;
- justify-content: space-between;
+ // display: flex;
+ // flex-direction: column;
+ // justify-content: space-between;
width: 50%;
height: 45rem;
background-color: rgba(9, 48, 104, 1);
@@ -1050,11 +1101,19 @@
font-size: 2rem;
}
+ //妯睆鑷姩椤甸潰宸﹁竟
.operate {
+ // display: flex;
+ // margin-left: auto;
+ // flex-direction: column;
+ // align-items: flex-end;
+ // padding: 0.58rem 0.58rem;
display: flex;
- flex-direction: column;
- align-items: flex-end;
+ flex-direction: row; // 妯悜鎺掑垪
+ align-items: center; // 鍨傜洿灞呬腑
+ justify-content: flex-start; // 闈犲乏
padding: 0.58rem 0.58rem;
+ margin-bottom: 10px;
.item {
display: flex;
@@ -1074,6 +1133,7 @@
font-size: 1.13rem;
padding-left: 0.69rem;
margin-top: 0.88rem;
+ margin-left: 1rem;
}
.open {
@@ -1176,10 +1236,11 @@
}
}
+ //妯睆鑷姩椤甸潰鍙宠竟
.content_r {
- display: flex;
- flex-direction: column;
- justify-content: space-between;
+ // display: flex;
+ // flex-direction: column;
+ // justify-content: space-between;
width: 50%;
height: 45rem;
background-color: rgba(9, 48, 104, 1);
@@ -1195,11 +1256,18 @@
font-size: 2rem;
}
+ //妯睆鑷姩椤甸潰鍙宠竟
.operate {
- display: flex;
- flex-direction: column;
- align-items: flex-end;
+ // display: flex;
+ // flex-direction: column;
+ // align-items: flex-end;
+ // padding: 0.58rem 0.58rem;
+ display: flex;
+ flex-direction: row; // 妯悜鎺掑垪
+ align-items: center; // 鍨傜洿灞呬腑
+ justify-content: flex-start; // 闈犲乏
padding: 0.58rem 0.58rem;
+ margin-bottom: 10px;
.item {
display: flex;
flex-direction: column;
@@ -1218,6 +1286,7 @@
font-size: 1.13rem;
padding-left: 0.69rem;
margin-top: 0.88rem;
+ margin-left: 10px;
}
.open {
@@ -1321,6 +1390,7 @@
}
}
+// 鎺у埗绔栧睆鏍峰紡
.content_mobile {
display: flex;
flex-direction: column;
@@ -1343,10 +1413,15 @@
}
.operate {
+ // display: flex;
+ // flex-direction: column;
+ // align-items: flex-end;
+ // padding: 0 0.88rem;
display: flex;
- flex-direction: column;
- align-items: flex-end;
- padding: 0 0.88rem;
+ flex-direction: row; // 妯悜鎺掑垪
+ align-items: center; // 鍨傜洿灞呬腑
+ justify-content: flex-start; // 闈犲乏
+ padding: 0.58rem 0.58rem;
.item {
display: flex;
flex-direction: column;
@@ -1365,6 +1440,7 @@
font-size: 1.13rem;
padding-left: 0.69rem;
margin-top: 0.88rem;
+ margin-right: 1rem;
}
.open {
@@ -1483,10 +1559,15 @@
}
.operate {
- display: flex;
- flex-direction: column;
- align-items: flex-end;
- padding: 0 0.88rem;
+ // display: flex;
+ // flex-direction: column;
+ // align-items: flex-end;
+ // padding: 0 0.88rem;
+ display: flex;
+ flex-direction: row; // 妯悜鎺掑垪
+ align-items: center; // 鍨傜洿灞呬腑
+ justify-content: flex-start; // 闈犲乏
+ padding: 0.58rem 0.58rem;
.item {
display: flex;
flex-direction: column;
@@ -1505,6 +1586,7 @@
font-size: 1.13rem;
padding-left: 0.69rem;
margin-top: 0.88rem;
+ margin-right: 1rem;
}
.open {
@@ -1639,20 +1721,6 @@
top: -0.25rem;
border-radius: 50%;
}
-
- // .Aspan::after {
- // content: '';
- // position: absolute;
- // height: 0.66rem;
- // /* 璁剧疆杈规鐨勯暱搴� */
- // width: 0.66rem;
- // /* 璁剧疆杈规鐨勫搴� */
- // background-color: rgba(102, 255, 255, 1);
- // /* 璁剧疆杈规鐨勯鑹� */
- // right: -11.8rem;
- // top: -0.25rem;
- // border-radius: 50%;
- // }
}
.btn::after {
@@ -1691,9 +1759,9 @@
.content {
display: flex;
.content_l {
- display: flex;
- flex-direction: column;
- justify-content: space-between;
+ // display: flex;
+ // flex-direction: column;
+ // // justify-content: space-between;
width: 50%;
height: 45rem;
background-color: rgba(9, 48, 104, 1);
@@ -1723,8 +1791,11 @@
.operate {
display: flex;
- flex-direction: column;
- align-items: flex-end;
+ flex-direction: row; // 妯悜鎺掑垪
+ align-items: center; // 鍨傜洿灞呬腑
+ justify-content: flex-start; // 闈犲乏
+ padding: 0.58rem 0.58rem;
+
.item {
display: flex;
flex-direction: column;
@@ -1732,6 +1803,7 @@
width: 8.75rem;
height: 3.19rem;
border-radius: 0.31rem;
+ margin-left:0.5rem ;
background: linear-gradient(
90deg,
rgba(0, 224, 255, 0.74) 0%,
@@ -1742,7 +1814,8 @@
color: rgb(255, 255, 255);
font-size: 1.13rem;
padding-left: 0.69rem;
- margin-top: 0.88rem;
+ margin-top: 1rem;
+ margin-bottom: 1rem;
}
.open {
@@ -1846,9 +1919,9 @@
}
.content_r {
- display: flex;
- justify-content: space-between;
- flex-direction: column;
+ // display: flex;
+ // justify-content: space-between;
+ // flex-direction: column;
width: 50%;
height: 45rem;
background-color: rgba(9, 48, 104, 1);
@@ -1880,9 +1953,14 @@
}
.operate {
- display: flex;
- align-items: flex-end;
- flex-direction: column;
+ // display: flex;
+ // align-items: flex-end;
+ // flex-direction: column;
+ // padding: 0.58rem 0.58rem;
+ display: flex;
+ flex-direction: row; // 妯悜鎺掑垪
+ align-items: center; // 鍨傜洿灞呬腑
+ justify-content: flex-start; // 闈犲乏
padding: 0.58rem 0.58rem;
.item {
@@ -1891,6 +1969,7 @@
justify-content: center;
width: 8.75rem;
height: 3.19rem;
+ margin-left:0.5rem ;
border-radius: 0.31rem;
background: linear-gradient(
90deg,
@@ -1902,7 +1981,8 @@
color: rgb(255, 255, 255);
font-size: 1.13rem;
padding-left: 0.69rem;
- margin-top: 0.88rem;
+ margin-top: 1rem;
+ margin-bottom: 1rem;
}
.open {
@@ -2043,10 +2123,15 @@
}
.operate {
- display: flex;
- flex-direction: column;
- align-items: flex-end;
- padding: 0.88rem 0.58rem;
+ // display: flex;
+ // flex-direction: column;
+ // align-items: flex-end;
+ // padding: 0.88rem 0.58rem;
+ display: flex;
+ flex-direction: row; // 妯悜鎺掑垪
+ align-items: center; // 鍨傜洿灞呬腑
+ justify-content: flex-start; // 闈犲乏
+ padding: 0.58rem 0.58rem;
.item {
display: flex;
flex-direction: column;
@@ -2054,6 +2139,7 @@
width: 8.75rem;
height: 4.19rem;
border-radius: 0.31rem;
+ margin-right: 1rem;
background: linear-gradient(
90deg,
rgba(0, 224, 255, 0.74) 0%,
@@ -2199,10 +2285,15 @@
}
.operate {
- display: flex;
- flex-direction: column;
- padding: 0 0.88rem;
- align-items: flex-end;
+ // display: flex;
+ // flex-direction: column;
+ // padding: 0 0.88rem;
+ // align-items: flex-end;
+ display: flex;
+ flex-direction: row; // 妯悜鎺掑垪
+ align-items: center; // 鍨傜洿灞呬腑
+ justify-content: flex-start; // 闈犲乏
+ padding: 0.58rem 0.58rem;
.item {
display: flex;
flex-direction: column;
@@ -2210,6 +2301,7 @@
width: 8.75rem;
height: 4.19rem;
border-radius: 0.31rem;
+ margin-right: 1rem;
background: linear-gradient(
90deg,
rgba(0, 224, 255, 0.74) 0%,
--
Gitblit v1.9.3