From d4d7abedae06c3bc08bebb5fbb334fcf53336ba0 Mon Sep 17 00:00:00 2001 From: zhujiyan <17812234322@163.com> Date: Fri, 20 Sep 2024 10:40:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=9C=8D=E5=8A=A1-=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E4=B8=8B=E8=BD=BD=E8=BF=9B=E5=BA=A6=E6=9D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/govern/device/fileService/index.vue | 58 ++++++++++++------- src/views/govern/device/fileService/popup.vue | 42 +++++++++++--- 2 files changed, 72 insertions(+), 28 deletions(-) diff --git a/src/views/govern/device/fileService/index.vue b/src/views/govern/device/fileService/index.vue index 319321d..401d68b 100644 --- a/src/views/govern/device/fileService/index.vue +++ b/src/views/govern/device/fileService/index.vue @@ -33,7 +33,7 @@ 搜索 重置 新建文件夹 -
- {{ fileName }} - +
+ 正在上传:{{ fileName }} + +
@@ -393,28 +394,33 @@ const handleDelDirOrFile = (row: any) => { } //取消删除 const cancelEvent = () => {} - +const changeType = ref('') //下载文件 const fileRef = ref() const handleDownLoad = async (row: any) => { ;(await nDid.value) && fileRef.value && fileRef.value.open(row, nDid.value) + fileName.value = row?.prjDataPath.split('/')[row?.prjDataPath.split('/').length - 1] + localStorage.setItem('fileName', fileName.value) + changeType.value = 'download' + localStorage.setItem('changeType', changeType.value) } //上传文件 -const progressVisibile = ref(false) const fileName = ref('') const handleUpload = (e: any, fileList: any, row: any) => { // loading.value=true fileName.value = e.name + localStorage.setItem('fileName', fileName.value) + changeType.value = 'upload' + localStorage.setItem('changeType', changeType.value) const obj = { id: nDid.value, file: e.raw, filePath: row || row.prjDataPath } - progressVisibile.value = true uploadDeviceFile(obj).then((res: any) => { if (res.code == 'A0000') { reloadCurrentMenu(res.message) - progressVisibile.value = false + status.value = 100 } }) } @@ -451,21 +457,30 @@ const connectMqtt = () => { username: 't_user', password: 'njcnpqs' } - const url = 'wss://pqmcn.com:8087' - + // const url = 'wss://pqmcn.com:8087/mqtt' + const url = 'ws://192.168.1.24:8085/mqtt' mqttRef.value = mqtt.connect(url, options) } connectMqtt() mqttRef.value.on('connect', (e: any) => { - ElMessage.success('连接mqtt服务器成功!') + // ElMessage.success('连接mqtt服务器成功!') console.log('mqtt客户端已连接....') - mqttRef.value.subscribe('/Web/Progress') + // mqttRef.value.subscribe('/Web/Progress') + mqttRef.value.subscribe('/Web/Progress/+') }) - +const mqttMessage = ref({}) +const status = ref() mqttRef.value.on('message', (topic: any, message: any) => { // console.log('🚀 ~ mqttRef.value.on ~ message:', JSON.parse(message)) - console.log('mqtt接收到消息' + message) + console.log('mqtt接收到消息', JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message))))) // "{allStep:\""+times+"\",nowStep:"+i+"}" + let str = JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message)))) + mqttMessage.value = eval('(' + str + ')') + status.value = parseInt(Number((mqttMessage.value.nowStep / mqttMessage.value.allStep) * 100)) + fileRef.value.setStatus(status.value) + if (status.value == 100) { + status.value = 99 + } }) mqttRef.value.on('error', (error: any) => { @@ -476,7 +491,11 @@ mqttRef.value.on('error', (error: any) => { mqttRef.value.on('close', function () { console.log('mqtt客户端已断开连接.....') }) -onMounted(() => {}) +onMounted(() => { + status.value =0 + fileName.value = localStorage.getItem('fileName') ? localStorage.getItem('fileName') : '' + changeType.value = localStorage.getItem('changeType') ? localStorage.getItem('changeType') : '' +}) onBeforeUnmount(() => { if (mqttRef.value) { mqttRef.value.end() @@ -485,8 +504,6 @@ onBeforeUnmount(() => { diff --git a/src/views/govern/device/fileService/popup.vue b/src/views/govern/device/fileService/popup.vue index d61c875..50e0891 100644 --- a/src/views/govern/device/fileService/popup.vue +++ b/src/views/govern/device/fileService/popup.vue @@ -2,6 +2,19 @@