From d8c5e5a3f9b5edbc30d0108c3830ac48d597ee89 Mon Sep 17 00:00:00 2001 From: yyy <2605810609@qq.com> Date: Thu, 5 Jun 2025 09:21:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.local | 2 +- src/assets/imgs/indexPage/chache-4@2x.png | Bin 1947 -> 1924 bytes .../imgs/indexPage/chache-4备份 5@2x.png | Bin 1919 -> 1882 bytes .../imgs/indexPage/chache-4备份@2x.png | Bin 1933 -> 1936 bytes .../realTimeMap/components/indexPage.vue | 43 ++++++++++-------- vite.config.ts | 17 ++++++- 6 files changed, 40 insertions(+), 22 deletions(-) diff --git a/.env.local b/.env.local index 6efbfd9f..2d5925a2 100644 --- a/.env.local +++ b/.env.local @@ -5,7 +5,7 @@ VITE_DEV=true # 请求路径 # VITE_BASE_URL='http://192.168.77.50:48080' -# VITE_BASE_URL='http://10.10.100.32:48080' +# VITE_BASE_URL='http://10.10.100.19:48080' VITE_BASE_URL='http://10.10.5.5:48080' # 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持 S3 服务 diff --git a/src/assets/imgs/indexPage/chache-4@2x.png b/src/assets/imgs/indexPage/chache-4@2x.png index e20226b102125c7e73d37158425130ee0f7885f8..488f0bf6f95e2a647081695d5255e480a93e1eca 100644 GIT binary patch delta 1897 zcmV-v2bTDo4}=epFn<69XF*Lt006O%3;baP00009a7bBm000id000id0mpBsWB>pM z8A(JzRA@u(ntM!J=NZPI_xOh4*j$3SrMZw`!i=HG7-`tFrjb@DX}Tus5;~!+WXT$Z z?ow@1wWd>*Zko1A>za1mKa(@XU1_FZ+E?uF7W3a*J z`}PMlvp-RYhi|z1Nk{T|p7UDrbB@n<1^!P^AyN3al2ud`Z&KVg4?!<_z7UA3T7I>+ zy?sRV5JiEKHSgBl#CV2i_`@U)@1SKMl8?+{6L&h!22Xc| z?b-8YQ4e{bc6-rAg8}_bO--}DdWCYJ4B)T$YX1YAfPbeL*z4e0zwciPF7Y@C{BCem zh~7=Y36xbSR}cG&Aq_Mq=Qgv!$leFxq06n8D!sbR{;6Xrx5?WIo>{lkzhY&6?H&+@G z=??S5x_`s`unv6g-yZfrV+o1aWsTE4qj9=tDxBp#2j4qr3V)zF{I~JY_&F<`Y(oOe zCjh9gueYhHdM^Njc-3+k85!07@`c(*IB>M1?UJ|eNVbCFQwiDn+@jizn@I|3yBJ<1 zDxv!NdW*;7=^-MM=r0#VapLKpoq%4iKi1sz=6?@-y(5$56-1bC`C|f!N+ibE#!!Um zi!95Dq86)2>FMcjbI#uojbJi9{=vUREmo0s?AYNcD=WKGRn;{_loQOOvGJWP0Khm4 z>SRVV6VevJW-HDh4Td;y^zp|Y{*|h#1pvSp<8ST!OCB-lr@9%PSoV={4abzMh;sBG zQGZF;0)6b!?`#9G$Lo!(8Ei@$$SR@$?`gla2Yq>dqrK=MT!Di4OGblHvRGEh08qOB z3u#kpZ=|J+rsjw>i_zCNfVUi%aBXx5l8#{dL>#jAr$Ek)6EBSn5|xCfW6x>rw9ED7 z{(-^0{R4x0r>3R?zL9U7J&%)huRUxZVEgecus)KBtIrN&qIpUziwG+s(6fKOfbE|xK~~m> zDTpf}7dMve}=57+fsOm50070|!qDk)q;3!CbbrK66ZL@tz+JoUgxl@L^Dow-r|Dmq9rM67ID_l; zV`w?j2VIf|8@`z)mPLdW5ol7P8RhqX3GqfF{#1Pd7k4|*xUU=C$A@9gH)6|k+0Z0J z$82@L9qd4uA1MLPna!rLjC4yf0PNj!SH5z~jf_A?N{lgddOFccEs(SXIe#w>vNbNm zzajv_HT3*&EMEfP9a(!szs`qo==56aa@v70+CQGLV=EmZ&1Yxe#rMkMhLdIB7-=UqI zU8Y~3{{0!>cc{%)yqPp;27oOuWW!`Lie)Pn4X7~et$Zv6%7K%_F@J%%&A*OHx#oD- zhn^Y@o1bGN3hDg}Ib5YJXDpO5GrCf6ykr>P8BlBSw8>y z_A1q-eo^!nLK`PF-2S_QuLFQV_DnrVFE8s!JNVu~)7z!(KUb$c_lw?Q%---^cXYJ+ z^{)}>K)vMV7VP3g4FD2EPe9>B`?@<@UK5Swkh`g%j)O`?ePRimT~}Jo0Q~l~hxi?O zb2uDre>BUwWVfEDEOxBUOi2!Qm;k^CPXh>O(-aYYB!-D-c|xOsY`Z;O>(LYw!;-t# jm==!ij+V=!4gmiF${ekFF9c?600000NkvXXu0mjfvrnk? delta 1920 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 taO8=qu8K5ByvL)7aG&kz?B;a<_z!b~yA= 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 delta 1906 zcmV-&2aWiU4~-9yFnsQ)x9;lan(^K4^SZmO2`&;yS`E>xzV6s66Dc4_p>@ z_td?(wE@DtxJ$}<{@T6w_c*`LIrp63J?C748r zs;*=`;Xdgo$g#l@Z&QjjA^?~up_5B=>O2uTf<)uv<0YlFwF5g79xRobR4P@AAcJle z>If*KxI4lCpuZU31awF7IdzH{ovviZ1V<(kN`C+_pbObXLg~!nV)cQpY`Xh?$366( zs7uoRK10Mfmw$Nm|90~FeXnkqNQ`3i+RDCJK>PR6qaSzuK*p3$t3E1)x;nVJ+FthlL6q-`t=!x&RiQVIzn zlw6-#U7nEl6u`EAOjQ?gWaYE`WgE)|>CPz2xZmT(Pt3GfEbqO(cp(N15S3yJ4P|#) zTH5qp2b7Ec^wxKGTv7gXSfe?)#X)20v>D%CD1W>7oEw3HWm*4T2^2uPv}r=zBWn!? zV}=`n7Nn-8MtKZSN7^*+#q?!?fdMXklOlu|8HUM8PEOW)98kCCp}lQV;>JwYW?2$i zzEevG;qz>}-LA=6zbU;(68l>jsGsQqhSi-0?EK4)pkkAFqoLo3+`$H2tdqiztFt!d zd4C>IN};bPhQ3?}YHdNVj|Gam2pEPD1k)j8>?<$v(wA56$=P4TU8}6BsW%vmegGDD z%p-5Et3<&!t8rEL-$f#MpbXQdB_d$(Ai+>Mpe>iq)_k_*s|ij@M*zfo1W>Elgd^{z zz-n$p@Y9PB5HS&~S6{IC-y!c{4w{;pFn@pE9NgvWBM7R;11;Q^g^Ij=n7HC=_zeGd z8!M>#IHa{D_;Twu3>xHzS*bJb02M;u=Ou|4a{pw6r7Y#e%a87Y#aM?&$Bltsb0vzj zI_$|gfMrWxfmAB((xgZC(58l~IJ7(o(F@l?9-V;3s&X7&*}ChIl=eKv1^K~fGJj#y z$6w%uxoH?WRDK6&X9Vol793n0kMQ&r7#=$n-2dDS3t%zTBjx#*FihHr+S)p7{`?!f z_R2i?3K&N{x`%SGe_#6|y!~W+Fa4)bilCa`;d`wDO64giPpZJZhYKkl545iMG;%*& zgvhxo`CjTM+@#c4athnN%SO`U34aI=4-vu>9uJhGRQk(yoZa;aWRVX-78VEA%Ns2P z`=M2xK+O1i@o2&%K`=R?J3z0aGW=PL3%`AjhO)E#SUODRkC?F07&&sdV3-b|ed^1r zcVzFb=Kj~z)SAo|vmKPo@rcC!MzrMhg^=mBqF{1|0qO^iQu!H6qn#9UR)1%0RC?aK zdfTMQsn_~M9_@d9Por6FZIbqvGst4%D+sxw!AFzXIbQGN42!tGY<9Sh8{55zIL5%;g4)Sl(8Ef7lSA-P;W#bbazI4SYNy1Ke0?gGm9 zPC_Pl4A7|PxObbIn^(CDD1W8YD3M4;_d1}|ZpYD8sb`E=%8Iq>{8a7$3D=b;f-j3zg0O~}}MF(#Gw|}-UUM|JaOm67p z_K$6fqN39!J^IMEjr?{8%EfbH)8d2Gnmnaeb83|%zR-x6mqD?~VrKkHN=|SeWw@oZ zKX7}J1~N8W=F+Nedfdzq?4<-vV)UsEeJH_W1XywtzFS>V%w8W$wmbWej*jkQv0#Ko zqxwTky~N6P2<_oH%YO|%Lq~V|ZBScBef6( zed5~H%TYq?_46NcW<=c7y?-ARtM1!`FEbw|q8e0)4a>jCsrWnR&lQUKSk0AH{l`{^Jya1KxoZ%Vegd@4{9P7`Dwd&- z>2zxTJi7}EQ7G -
+
{{ item.robotNo || '' }}
@@ -380,6 +377,7 @@ import { is } from 'bpmn-js/lib/util/ModelUtil' import JSONBigInt from 'json-bigint' import { propTypes } from '@/utils/propTypes' import { DICT_TYPE, getIntDictOptions } from '@/utils/dict' +import dayjs from 'dayjs' const message = useMessage() // 消息弹窗 @@ -736,6 +734,7 @@ const linkWebSocket = (url) => { // 车辆信息 if (jsonMsg.type == 'map_push') { let data = JSON.parse(jsonMsg.content) + // console.log(data, dayjs().format('HH:mm:ss SSS')) let dataList = [] for (let key in data) { dataList.push({ @@ -743,6 +742,7 @@ const linkWebSocket = (url) => { data: JSON.parse(data[key]) }) } + testCarList.value = mergeArraysWithoutDelete(testCarList.value, dataList) testCarList.value.forEach((item) => { item.originWidth = imgBgObj.width @@ -796,6 +796,7 @@ const linkWebSocket = (url) => { }) } } + // 现在车辆的逻辑是这样 websoket map_push类型推送消息 每次推送新车 我就添加到车辆列表中 testCarList 不删除车辆 // 每几秒轮询调用查看当前楼层区域的在线车辆 如果不存在 则再把testCarList 中的车辆删除 const robotByFloorAndAreaList = ref([]) // 机器人列表 @@ -811,13 +812,16 @@ const getRobotByFloorAndAreaList = () => { robotListTimerRef.value = setInterval(getRobotByFloorAndAreaList, 5000) // 删掉不在线的车辆 -const filterArrayByRobotNo = (arr1, arr2) => { - return arr1.filter((item) => { - const robotNo = item.data.pose2d.robotNo - return arr2.includes(robotNo) - }) +const filterArrayByRobotNo = (fullArray, idArray) => { + const idSet = new Set(idArray) + return fullArray.filter((item) => idSet.has(item.data.pose2d.robotNo)) } +//长时间情况下 有些车辆掉线 已经不在车辆列表里面 要剔除 +// const isItemVisible = (item) => { +// return robotByFloorAndAreaList.value.includes(item.data.pose2d.robotNo) +// } + const mergeCarArrays = (arr1, arr2) => { const result = [] const macAddressSet = new Set() @@ -1209,6 +1213,9 @@ onBeforeUnmount(() => { .indexpage-car-item { position: absolute; cursor: pointer; + display: flex; + align-items: center; + justify-content: center; } .affix-container-left { @@ -1292,14 +1299,12 @@ onBeforeUnmount(() => { font-size: 13px; user-select: none; color: #000; - font-weight: 600; } .sort-num-location { position: absolute; font-size: 13px; user-select: none; color: #000; - font-weight: 600; } .popover-robot-no { diff --git a/vite.config.ts b/vite.config.ts index 7e15f84e..d88c5a38 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -76,10 +76,23 @@ export default ({command, mode}: ConfigEnv): UserConfig => { rollupOptions: { output: { manualChunks: { - echarts: ['echarts'] // 将 echarts 单独打包,参考 https://gitee.com/yudaocode/yudao-ui-admin-vue3/issues/IAB1SX 讨论 - } + echarts: ['echarts'], + // 将 Vue 相关库单独打包 + vue: ['vue', 'vue-router', 'pinia', 'vue-i18n'], + // 将常用组件库单独打包 + vendor: ['element-plus', '@vueuse/core'], + }, + // 分包策略 + chunkFileNames: 'assets/js/[name]-[hash].js', + entryFileNames: 'assets/js/[name]-[hash].js', + assetFileNames: 'assets/[ext]/[name]-[hash].[ext]' }, }, + // 启用 CSS 代码分割 + cssCodeSplit: true, + // 启用 gzip 压缩 + reportCompressedSize: false, + chunkSizeWarningLimit: 2000 }, optimizeDeps: {include, exclude} }