mqtt调整

This commit is contained in:
赵正易 2024-08-28 14:27:22 +08:00
parent ed49809103
commit 8cff64deb2
4 changed files with 90 additions and 63 deletions

View File

@ -3,8 +3,10 @@ const mqttStore = defineStore('mqtt', {
state: () => ({
// 是否链接
isLinked: false,
// 连接地址
baseUrl: '192.168.0.58',
// 连接地址(测试)
demoUrl: '192.168.0.58',
// 连接地址(生产)
baseUrl: '192.0.0.24',
client: null,
options: {
// 清除 session
@ -40,10 +42,14 @@ const mqttStore = defineStore('mqtt', {
return `wss://${this.baseUrl}:8084/mqtt`
}
},
create(type = 'mqtt', topic = null) {
create(type = 'mqtt', topic = null, clientId = 'ziyuanweb' + Math.random().toString(16).substr(2, 8)) {
try {
return new Promise((resolve, reject) => {
const that = this;
if (process.env.NODE_ENV === 'development') {
this.baseUrl = this.demoUrl
}
this.options.clientId = clientId
this.client = mqtt.connect(this.getUrl(type), this.options)
this.client.on('connect', function (connack) {
console.log('=======mqtt链接成功=======')

View File

@ -11,23 +11,22 @@
<el-option v-for="item in reflexAccountOptions" :key="item.id" :label="item.tableName" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="公司" prop="factory" v-if="tenantId === 1">
<el-select v-model="queryParams.factory" placeholder="请选择" value-key="id" @change="handleQuery">
<el-option v-for="item in companyOptions" :key="item.id" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<!-- <el-form-item label="公司" prop="factory">
<el-input v-model.trim="queryParams.factory" placeholder="请输入公司" />
</el-form-item> -->
<el-form-item label="车间" prop="workshop">
<el-input v-model.trim="queryParams.workshop" placeholder="请输入车间" />
</el-form-item>
<el-form-item label="供应商代码" prop="supplierCode">
<el-input v-model.trim="queryParams.supplierCode" placeholder="请输入供应商代码" />
</el-form-item>
<el-form-item label="地点" prop="localtion">
<el-input v-model.trim="queryParams.localtion" placeholder="请输入地点" />
</el-form-item>
<el-form-item label="工厂" prop="factory">
<el-input v-model.trim="queryParams.factory" placeholder="请输入车型" />
</el-form-item>
<el-form-item label="车间" prop="workshop">
<el-input v-model.trim="queryParams.workshop" placeholder="请输入车型" />
</el-form-item>
<el-form-item label="供应商代码" prop="supplierCode">
<el-input v-model.trim="queryParams.supplierCode" placeholder="请输入车型" />
</el-form-item>
<el-form-item label="供应商名称" prop="supplierName">
<el-input v-model.trim="queryParams.supplierName" placeholder="请输入车型" />
<el-input v-model.trim="queryParams.supplierName" placeholder="请输入供应商名称" />
</el-form-item>
<el-form-item label="车型" prop="vehiclemodel">
<el-input v-model.trim="queryParams.vehiclemodel" placeholder="请输入车型" />
@ -36,16 +35,16 @@
<el-input v-model.trim="queryParams.partnumber" placeholder="请输入零件名称" />
</el-form-item>
<el-form-item label="零件号" prop="partname">
<el-input v-model.trim="queryParams.partname" placeholder="请输入车型" />
<el-input v-model.trim="queryParams.partname" placeholder="请输入零件号" />
</el-form-item>
<el-form-item label="配置" prop="configuration">
<el-input v-model.trim="queryParams.configuration" placeholder="请输入车型" />
<el-input v-model.trim="queryParams.configuration" placeholder="请输入配置" />
</el-form-item>
<el-form-item label="工位" prop="workstation">
<el-input v-model.trim="queryParams.workstation" placeholder="请输入车型" />
<el-input v-model.trim="queryParams.workstation" placeholder="请输入工位" />
</el-form-item>
<el-form-item label="参数" prop="paramter">
<el-input v-model.trim="queryParams.paramter" placeholder="请输入车型" />
<el-input v-model.trim="queryParams.paramter" placeholder="请输入参数" />
</el-form-item>
<el-form-item label="上传时间" prop="uploadTime">
<el-date-picker
@ -434,24 +433,27 @@ import {
getZiyuanDevice01,
getReflectOptions
} from '@/api/business/cloudMonior/cloud.js'
const { proxy } = getCurrentInstance()
/// ================== ==================
import { getTenantList } from '@/api/business/tenant/index.js'
import { QueryBaseCompany_No_page } from '@/api/business/factory_model/basecompany.js'
const tenantId = ref(-1)
async function checkTenant() {
const path = proxy.$route.path
const tenantCode = path.split('/')[1]
const params = {
code: tenantCode
companyCode: tenantCode,
status: 1
}
const res = await getTenantList(params)
const res = await QueryBaseCompany_No_page(params)
if (res.code === 200) {
if (res.data.length !== 1) {
proxy.$message.error('Tenant信息异常,请检查!')
proxy.$message.error('公司信息异常,请检查!')
return
}
tenantId.value = res.data[0].tenant
// handleQuery()
tenantId.value = res.data[0].id
getReflexAccountOptions()
}
}
checkTenant()
@ -465,12 +467,35 @@ function getReflexAccountOptions() {
reflexAccountOptions.value = _options
if (_options.length > 0) {
queryParams.reflexAccount_id = _options[0].id
handleQuery()
}
getCompanyOptions()
}
})
}
getReflexAccountOptions()
import { GetAllCompany } from '@/api/business/recipe/recipe.js'
const companyOptions = ref([])
function getCompanyOptions() {
GetAllCompany().then((res) => {
if (res.code === 200) {
companyOptions.value = res.data.map((item) => {
return {
id: item.id,
label: `${item.companyName}`,
value: item.companyName
}
})
setTenantCompany(companyOptions.value)
}
})
}
function setTenantCompany(list) {
for (let item of companyOptions.value) {
if (item.id === tenantId.value) {
queryParams.factory = item.value
}
}
handleQuery()
}
/// ====================================================================
/// ===========tabs============
const tabsActive = ref('1')
@ -487,7 +512,7 @@ const queryParams = reactive({
pageNum: 1,
pageSize: 10,
isUpload: 1,
uploadTime:[null,null],
uploadTime: [null, null],
reflexAccount_id: null,
sort: 'createdTime',
sortType: 'desc'
@ -684,6 +709,4 @@ function handleDelete(row) {
proxy.$modal.msgSuccess('删除成功')
})
}
</script>

View File

@ -6,7 +6,7 @@
<template>
<div>
<el-form :model="queryParams" label-position="right" inline ref="queryRef" v-show="showSearch" @submit.prevent>
<el-form-item label="公司" prop="fkCompanyId">
<el-form-item label="公司" prop="fkCompanyId" v-if="queryParams.fkCompanyId === 1">
<el-select v-model="queryParams.fkCompanyId" placeholder="请选择" value-key="id" @change="getWorkShopOptions">
<el-option v-for="item in companyOptions" :key="item.id" :label="item.label" :value="item.value" />
</el-select>
@ -955,8 +955,6 @@ import mqttStore from '@/store/modules/mqtt'
const mqtt = mqttStore()
function mqttCreate() {
//
// console.log(env);
mqtt.baseUrl = '192.0.0.24'
return mqtt.create('ws', 'yida/log/#')
}
function mqttClose() {
@ -1026,7 +1024,7 @@ function showDeviceNotification(id) {
for (let item of deviceMqttData.value) {
if (item.id === id) {
if (item.uploadTime && item.num) {
return `最近上传时间:${item.uploadTime} 最后上传条数:${item.num}`
return `最近上传时间:${item.uploadTime} 上传条数:${item.num}`
} else {
return ''
}

View File

@ -75,35 +75,35 @@ function goTarget(url) {
}
/// ========================== MQTT ==============================
import mqttStore from '@/store/modules/mqtt'
const mqtt = mqttStore()
function mqttCreate() {
mqtt.create('ws', 'yida/log/#')
}
function mqttClose() {
mqtt.close()
}
function mqttMessage() {
if (mqtt.checkClient()) {
mqtt.client.on('message', function (topic, payload, packet) {
console.log(`Topic: ${topic}, Message: ${payload.toString()}, QoS: ${packet.qos}`)
})
} else {
console.log('error')
}
}
// import mqttStore from '@/store/modules/mqtt'
// const mqtt = mqttStore()
// function mqttCreate() {
// mqtt.create('ws', 'yida/log/#')
// }
// function mqttClose() {
// mqtt.close()
// }
// function mqttMessage() {
// if (mqtt.checkClient()) {
// mqtt.client.on('message', function (topic, payload, packet) {
// console.log(`Topic: ${topic}, Message: ${payload.toString()}, QoS: ${packet.qos}`)
// })
// } else {
// console.log('error')
// }
// }
onMounted(() => {
mqttCreate()
setTimeout(()=>{
mqttMessage()
},1000)
console.log('组件已挂载')
})
onUnmounted(() => {
mqttClose()
console.log('组件已卸载')
})
// onMounted(() => {
// mqttCreate()
// setTimeout(()=>{
// mqttMessage()
// },1000)
// console.log('')
// })
// onUnmounted(() => {
// mqttClose()
// console.log('')
// })
/// ==================================================================
</script>