From 772190e7b2e3f6ef0695ba54d9209324acdcb30a Mon Sep 17 00:00:00 2001 From: 艺术家 <10819716+q100102@user.noreply.gitee.com> Date: 星期三, 04 六月 2025 13:57:17 +0800 Subject: [PATCH] 伸缩杆代码提交 --- 项目代码/伸缩杆/client/src/views/tts/PickAndDrop/PickAndDrop.vue | 171 +++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 137 insertions(+), 34 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/PickAndDrop/PickAndDrop.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/PickAndDrop/PickAndDrop.vue" index 394ef4c..bbf06f9 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/PickAndDrop/PickAndDrop.vue" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/PickAndDrop/PickAndDrop.vue" @@ -120,15 +120,20 @@ <div v-if="isMobile" class="content"> <div class="content_l"> <div class="model"> - <span>褰撳墠浼哥缉鏉嗕綅缃細{{ Position.right }}</span> + <span + >褰撳墠浼哥缉鏉嗕綅缃細{{ + leftposition.Liftvalue ? parseInt(leftposition.Liftvalue) : 0 + }}</span + > <span>宸︿晶浼哥缉鏉�</span> <span></span> </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> + <!-- 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> @@ -143,21 +148,26 @@ <span style="color: #fff; font-size: 1.25rem; font-weight: bold" >瑙嗛鐩戞帶宸︿晶</span > - <img src="@/assets/imgs/right.png" alt="" /> + <img src="@/assets/imgs/left.png" alt="" /> </div> </div> </div> <div class="content_r"> <div class="model"> - <span>褰撳墠浼哥缉鏉嗕綅缃細{{ Position.right }}</span> - <span>宸︿晶浼哥缉鏉�</span> + <span + >褰撳墠浼哥缉鏉嗕綅缃細{{ + rightposition.Rightvalue ? parseInt(rightposition.Rightvalue) : 0 + }}</span + > + <span>鍙充晶浼哥缉鏉�</span> <span></span> </div> <div class="operate"> - <div class="item">浼稿埌浣�</div> - <div class="item">缂╁埌浣�</div> - <div class="item">浼稿嚭閫熷害</div> - <div class="item">缂╁洖閫熷害</div> + <div class="item">浼稿埌浣�:{{ ruleForm.rightPosition }}</div> + <!-- ruleForm.rightPosition --> + <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> @@ -172,7 +182,7 @@ <span style="color: #fff; font-size: 1.25rem; font-weight: bold" >瑙嗛鐩戞帶鍙充晶</span > - <img src="@/assets/imgs/left.png" alt="" /> + <img src="@/assets/imgs/right.png" alt="" /> </div> </div> </div> @@ -180,15 +190,20 @@ <div v-else class="content_mobile"> <div class="content_l"> <div class="model"> - <span>褰撳墠浼哥缉鏉嗕綅缃細{{ Position.left }}</span> + <span + >褰撳墠浼哥缉鏉嗕綅缃細{{ + leftposition.Liftvalue ? parseInt(leftposition.Liftvalue) : 0 + }}</span + > <span>宸︿晶浼哥缉鏉�</span> <span></span> </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> + <!-- 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> @@ -203,21 +218,26 @@ <span style="color: #fff; font-size: 2.5rem; font-weight: bold" >瑙嗛鐩戞帶宸︿晶</span > - <img src="@/assets/imgs/right.png" alt="" /> + <img src="@/assets/imgs/left.png" alt="" /> </div> </div> </div> <div class="content_r"> <div class="model"> - <span>褰撳墠浼哥缉鏉嗕綅缃細{{ Position.right }}</span> - <span>宸︿晶浼哥缉鏉�</span> + <span + >褰撳墠浼哥缉鏉嗕綅缃細{{ + rightposition.Rightvalue ? parseInt(rightposition.Rightvalue) : 0 + }}</span + > + <span>鍙充晶浼哥缉鏉�</span> <span></span> </div> <div class="operate"> - <div class="item">浼稿埌浣�</div> - <div class="item">缂╁埌浣�</div> - <div class="item">浼稿嚭閫熷害</div> - <div class="item">缂╁洖閫熷害</div> + <div class="item">浼稿埌浣�:{{ ruleForm.rightPosition }}</div> + <!-- ruleForm.rightPosition --> + <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> @@ -232,7 +252,7 @@ <span style="color: #fff; font-size: 2.5rem; font-weight: bold" >瑙嗛鐩戞帶鍙充晶</span > - <img src="@/assets/imgs/left.png" alt="" /> + <img src="@/assets/imgs/right.png" alt="" /> </div> </div> </div> @@ -240,22 +260,43 @@ </div> </template> <script setup> -import { ref, onMounted, nextTick } from "vue"; +import { ref, onMounted, nextTick, onUnmounted } from "vue"; import { useRouter } from "vue-router"; import { ElMessage } from "element-plus"; import { AutoPickAndDrop, Pouse, GetPosition, + GetParameter, } from "@/api/newapi/Parameters.js"; const router = useRouter(); const isMobile = ref(false); const Position = ref({ - left: 0, + lift: 0, right: 0, }); - +const ruleForm = ref({ + creater: "string", + createDate: "2025-03-27T05:48:57.698Z", + modifier: "string", + modifyDate: "2025-03-27T05:48:57.698Z", + id: 0, + extendSpeed: 0, + retractionSpeed: 0, + manualExtend: 0, + manualRetraction: 0, + // depid: userInfo.depid, + // account: userInfo.userName, + leftPosition: 0, + rightPosition: 0, +}); +const rightposition = ref({}); +const leftposition = ref({}); +const tableData = ref([]); +const isStart = ref(false); // 鏄惁寮�濮� +const timer = ref(null); +const client = ref(null); const jumpRouter = (path) => { router.push(path); }; @@ -289,13 +330,63 @@ }; //鑾峰彇褰撳墠浣嶇疆 -const getPosition = () => { - GetPosition().then((res) => { +// const getPosition = () => { +// GetPosition().then((res) => { +// if (res.code == 0) { +// Position.value.lift = res.data.lift; +// Position.value.right = res.data.right; +// } +// }); +// }; + +//鑾峰彇鍙傛暟 +const getParameter = () => { + GetParameter().then((res) => { if (res.code == 0) { - Position.value.left = res.data.lift; - Position.value.right = res.data.right; + 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; } }); +}; + +const createSocket = (url) => { + clearInterval(timer.value); + // 鍒涘缓WebSocket杩炴帴 + //"ws://127.0.0.1:9295/admin" + //192.168.1.103 + client.value = new WebSocket("ws://192.168.1.103:5173/"); + client.value.onopen = function () { + console.log("WebSocket 杩炴帴鎴愬姛"); + }; + client.value.onmessage = function (event) { + let data = JSON.parse(event.data); + if (data.Status) { + tableData.value = data.Data; + } else if (data.device == "鍙砅lc") { + rightposition.value = data; + } else if (data.device == "宸lc") { + leftposition.value = data; + } + + console.log("WebSocket 鎺ユ敹鍒版秷鎭�", data); + }; + client.value.onclose = function () { + console.log("WebSocket 杩炴帴鍏抽棴"); + if (isStart.value) { + timer.value = setTimeout(createSocket, 1000); + } + }; + + client.value.onerror = function () {}; }; onMounted(() => { // 鐩戝惉绐楀彛澶у皬鍙樺寲 @@ -316,7 +407,19 @@ // 濡傛灉绐楀彛瀹藉害灏忎簬绛変簬1080px锛屾墽琛岀浉搴旂殑鎿嶄綔 isMobile.value = false; } - getPosition(); + isStart.value = true; // 璁剧疆涓哄紑濮嬬姸鎬� + createSocket(); + // getPosition(); + getParameter(); +}); + +onUnmounted(() => { + isStart.value = false; + clearInterval(timer.value); + if (client.value) { + client.value.close(); + } + clearInterval(timer.value); }); </script> <style lang="scss" scoped> -- Gitblit v1.9.3