70-71 修补
This commit is contained in:
parent
b3597a9440
commit
534773ff8a
@ -3,12 +3,20 @@
|
||||
<!-- <div @click="send" style="line-height: 60px;">发送消息</div> -->
|
||||
<el-popover v-if="showQrCode" placement="bottom" class="header-btn" width="200" trigger="click">
|
||||
<div id="qrCode" ref="qrCodeDiv"></div>
|
||||
<el-button class="btn" slot="reference">车辆录入二维码<i class="el-icon-arrow-down"></i></el-button>
|
||||
<el-button class="btn" slot="reference">
|
||||
车辆录入二维码
|
||||
<i class="el-icon-arrow-down"></i>
|
||||
</el-button>
|
||||
</el-popover>
|
||||
<p class="header-btn" @click="goMsgCenter" @mouseover="showDialog = true" @mouseleave="showDialog = false">
|
||||
<p
|
||||
class="header-btn"
|
||||
@click="goMsgCenter"
|
||||
@mouseover="showDialog = true"
|
||||
@mouseleave="showDialog = false"
|
||||
>
|
||||
<i class="el-icon-message-solid"></i> 消息
|
||||
</p>
|
||||
<i class="redDot" v-show="messageList.length"></i>
|
||||
<i class="redDot" v-show="newsStatus"></i>
|
||||
<div
|
||||
class="messageList whiteBlock"
|
||||
v-show="showDialog && messageList.length > 0"
|
||||
@ -21,7 +29,13 @@
|
||||
</ul>
|
||||
</div>
|
||||
<!-- <span @click="sendmes">发送消息</span> -->
|
||||
<el-dialog :title="dialogTitle" :modal-append-to-body="false" :visible.sync="messsageCenterDialog" width="80%" class="dialog-wrap">
|
||||
<el-dialog
|
||||
:title="dialogTitle"
|
||||
:modal-append-to-body="false"
|
||||
:visible.sync="messsageCenterDialog"
|
||||
width="80%"
|
||||
class="dialog-wrap"
|
||||
>
|
||||
<div style="height: 738px">
|
||||
<messageCenter></messageCenter>
|
||||
</div>
|
||||
@ -30,25 +44,25 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getNoticeListApi } from '@/assets/js/api/company/project'
|
||||
import messageCenter from './../views/messageV2.vue'
|
||||
import mqtt from 'mqtt'
|
||||
import mqttX from 'xhl-mqttx'
|
||||
import QRCode from 'qrcodejs2'
|
||||
import axios from 'axios'
|
||||
import { getNoticeListApi } from "@/assets/js/api/company/project";
|
||||
import messageCenter from "./../views/messageV2.vue";
|
||||
import mqtt from "mqtt";
|
||||
import mqttX from "xhl-mqttx";
|
||||
import QRCode from "qrcodejs2";
|
||||
import axios from "axios";
|
||||
const options = {
|
||||
connectTimeout: 40000,
|
||||
clientId:
|
||||
'mqttjs_' +
|
||||
"mqttjs_" +
|
||||
Math.random()
|
||||
.toString(16)
|
||||
.substr(2, 8),
|
||||
username: 'root',
|
||||
password: '123456',
|
||||
username: "root",
|
||||
password: "123456",
|
||||
clean: true
|
||||
}
|
||||
var client = null
|
||||
let i = 0
|
||||
};
|
||||
var client = null;
|
||||
let i = 0;
|
||||
// var client = mqtt.connect("mqtt://139.159.226.224:1883", options);
|
||||
export default {
|
||||
components: {
|
||||
@ -57,149 +71,154 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
showQrCode: false,
|
||||
showUrl: '',
|
||||
showUrl: "",
|
||||
messsageCenterDialog: false,
|
||||
dialogTitle: '消息中心',
|
||||
dialogTitle: "消息中心",
|
||||
messageList: [],
|
||||
showDialog: false,
|
||||
userId: '',
|
||||
topicName: 'topic',
|
||||
toDayDate: '',
|
||||
userId: "",
|
||||
topicName: "topic",
|
||||
toDayDate: "",
|
||||
soundList: [],
|
||||
typeList: [
|
||||
{
|
||||
label: '高空火警',
|
||||
value: '8'
|
||||
label: "高空火警",
|
||||
value: "8"
|
||||
},
|
||||
{
|
||||
label: '考勤提醒',
|
||||
value: '1'
|
||||
label: "考勤提醒",
|
||||
value: "1"
|
||||
},
|
||||
{
|
||||
label: '防疫人员通知',
|
||||
value: '2'
|
||||
label: "防疫人员通知",
|
||||
value: "2"
|
||||
},
|
||||
{
|
||||
label: '防疫车辆通知',
|
||||
value: '3'
|
||||
label: "防疫车辆通知",
|
||||
value: "3"
|
||||
},
|
||||
{
|
||||
label: '访客通知',
|
||||
value: '16'
|
||||
label: "访客通知",
|
||||
value: "16"
|
||||
},
|
||||
{
|
||||
label: '混凝土监测',
|
||||
value: '4'
|
||||
label: "混凝土监测",
|
||||
value: "4"
|
||||
},
|
||||
{
|
||||
label: '卸料平台',
|
||||
value: '5'
|
||||
label: "卸料平台",
|
||||
value: "5"
|
||||
},
|
||||
{
|
||||
label: '配电箱',
|
||||
value: '6'
|
||||
label: "配电箱",
|
||||
value: "6"
|
||||
},
|
||||
{
|
||||
label: '扬尘',
|
||||
value: '7'
|
||||
label: "扬尘",
|
||||
value: "7"
|
||||
},
|
||||
{
|
||||
label: '标养室',
|
||||
value: '9'
|
||||
label: "标养室",
|
||||
value: "9"
|
||||
},
|
||||
{
|
||||
label: '安全检查',
|
||||
value: '10'
|
||||
label: "安全检查",
|
||||
value: "10"
|
||||
},
|
||||
{
|
||||
label: '质量检查',
|
||||
value: '11'
|
||||
label: "质量检查",
|
||||
value: "11"
|
||||
},
|
||||
{
|
||||
label: '塔吊',
|
||||
value: '12'
|
||||
label: "塔吊",
|
||||
value: "12"
|
||||
},
|
||||
{
|
||||
label: '升降机',
|
||||
value: '13'
|
||||
label: "升降机",
|
||||
value: "13"
|
||||
},
|
||||
{
|
||||
label: '电表',
|
||||
value: '14'
|
||||
label: "电表",
|
||||
value: "14"
|
||||
},
|
||||
{
|
||||
label: '水表',
|
||||
value: '15'
|
||||
label: "水表",
|
||||
value: "15"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
// 消息状态
|
||||
newsStatus: false
|
||||
};
|
||||
},
|
||||
beforeDestroy() {
|
||||
// console.log(client)
|
||||
if (client) {
|
||||
client.unsubscribe(this.topicName + this.userId, options)
|
||||
client.end()
|
||||
client.unsubscribe(this.topicName + this.userId, options);
|
||||
client.end();
|
||||
}
|
||||
client = null
|
||||
console.log(client)
|
||||
client = null;
|
||||
console.log(client);
|
||||
// client = null
|
||||
// mqttX.unsubscribe(this.topicName + this.userId);
|
||||
},
|
||||
mounted() {
|
||||
this.selectNowDate()
|
||||
if (localStorage.getItem('soundList')) {
|
||||
this.soundList = JSON.parse(localStorage.getItem('soundList'))
|
||||
this.selectNowDate();
|
||||
if (localStorage.getItem("soundList")) {
|
||||
this.soundList = JSON.parse(localStorage.getItem("soundList"));
|
||||
}
|
||||
if (process.env.NODE_ENV == 'development') {
|
||||
this.userId = this.$store.state.userInfo.userId
|
||||
this.topicName = this.$store.state.userInfo.scope
|
||||
if (process.env.NODE_ENV == "development") {
|
||||
this.userId = this.$store.state.userInfo.userId;
|
||||
this.topicName = this.$store.state.userInfo.scope;
|
||||
// // client = mqtt.connect("ws://182.90.224.147:8083/mqtt", options);
|
||||
client = mqtt.connect(mqttUrl, options)
|
||||
this.getData()
|
||||
this.mqttMSG()
|
||||
} else if (process.env.NODE_ENV == 'debug') {
|
||||
} else if (process.env.NODE_ENV == 'production') {
|
||||
this.userId = this.$store.state.userInfo.userId
|
||||
this.topicName = this.$store.state.userInfo.scope
|
||||
client = mqtt.connect(mqttUrl, options);
|
||||
this.getData();
|
||||
this.mqttMSG();
|
||||
} else if (process.env.NODE_ENV == "debug") {
|
||||
} else if (process.env.NODE_ENV == "production") {
|
||||
this.userId = this.$store.state.userInfo.userId;
|
||||
this.topicName = this.$store.state.userInfo.scope;
|
||||
// client = mqtt.connect("ws://182.90.224.147:8083/mqtt", options);
|
||||
client = mqtt.connect(mqttUrl, options)
|
||||
this.getData()
|
||||
this.mqttMSG()
|
||||
client = mqtt.connect(mqttUrl, options);
|
||||
this.getData();
|
||||
this.mqttMSG();
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
$route: {
|
||||
handler(newVal) {
|
||||
if(newVal.path == '/project/quality/makeAnAppointment'){
|
||||
if (newVal.path == "/project/quality/makeAnAppointment") {
|
||||
this.showQrCode = true;
|
||||
this.bindQRCode();
|
||||
}else{
|
||||
this.showQrCode = false
|
||||
} else {
|
||||
this.showQrCode = false;
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
//生成车辆录入二维码
|
||||
bindQRCode: function() {
|
||||
document.getElementById('qrCode').innerHTML = ''
|
||||
let httpUrl = window.location.origin
|
||||
let projectSn = this.$store.state.projectSn
|
||||
let baseUrl = axios.defaults.baseURL
|
||||
let newBaseUrl = baseUrl.slice(0, baseUrl.length - 1)
|
||||
document.getElementById("qrCode").innerHTML = "";
|
||||
let httpUrl = window.location.origin;
|
||||
let projectSn = this.$store.state.projectSn;
|
||||
let baseUrl = axios.defaults.baseURL;
|
||||
let newBaseUrl = baseUrl.slice(0, baseUrl.length - 1);
|
||||
setTimeout(() => {
|
||||
var qrcode = new QRCode(this.$refs.qrCodeDiv, {
|
||||
text: httpUrl + '/doc/h52/index.html?projectSn=' + projectSn + '&baseUrl=' + newBaseUrl,
|
||||
text:
|
||||
httpUrl +
|
||||
"/doc/h52/index.html?projectSn=" +
|
||||
projectSn +
|
||||
"&baseUrl=" +
|
||||
newBaseUrl,
|
||||
// text:"下午好",
|
||||
width: 200,
|
||||
height: 200,
|
||||
colorDark: '#333333', //二维码颜色
|
||||
colorLight: '#ffffff', //二维码背景色
|
||||
colorDark: "#333333", //二维码颜色
|
||||
colorLight: "#ffffff", //二维码背景色
|
||||
correctLevel: QRCode.CorrectLevel.L //容错率,L/M/H
|
||||
})
|
||||
|
||||
}, 0)
|
||||
});
|
||||
}, 0);
|
||||
},
|
||||
// sendmes(){
|
||||
// console.log(1)
|
||||
@ -213,16 +232,16 @@ export default {
|
||||
day = date.getDate(),
|
||||
hours = date.getHours(), //获取当前小时数(0-23)
|
||||
minutes = date.getMinutes(), //获取当前分钟数(0-59)
|
||||
seconds = date.getSeconds()
|
||||
month >= 1 && month <= 9 ? (month = '0' + month) : ''
|
||||
day >= 0 && day <= 9 ? (day = '0' + day) : ''
|
||||
hours >= 0 && hours <= 9 ? (hours = '0' + hours) : ''
|
||||
minutes >= 0 && minutes <= 9 ? (minutes = '0' + minutes) : ''
|
||||
seconds >= 0 && seconds <= 9 ? (seconds = '0' + seconds) : ''
|
||||
seconds = date.getSeconds();
|
||||
month >= 1 && month <= 9 ? (month = "0" + month) : "";
|
||||
day >= 0 && day <= 9 ? (day = "0" + day) : "";
|
||||
hours >= 0 && hours <= 9 ? (hours = "0" + hours) : "";
|
||||
minutes >= 0 && minutes <= 9 ? (minutes = "0" + minutes) : "";
|
||||
seconds >= 0 && seconds <= 9 ? (seconds = "0" + seconds) : "";
|
||||
// var timer = year + '-' + month + '-' + day + ' ' + hours + ':' + minutes+ ':' + seconds;
|
||||
var timer = year + '-' + month + '-' + day
|
||||
this.toDayDate = timer
|
||||
console.log(timer)
|
||||
var timer = year + "-" + month + "-" + day;
|
||||
this.toDayDate = timer;
|
||||
console.log(timer);
|
||||
// return timer;
|
||||
},
|
||||
// send(){
|
||||
@ -235,8 +254,8 @@ export default {
|
||||
// });
|
||||
|
||||
// window.open(routeUrl.href, "_blank");
|
||||
this.messsageCenterDialog = true
|
||||
this.getData()
|
||||
this.messsageCenterDialog = true;
|
||||
this.getData();
|
||||
},
|
||||
mqttMSG() {
|
||||
//
|
||||
@ -252,7 +271,7 @@ export default {
|
||||
// .substr(2, 8),
|
||||
// password: "123456",
|
||||
// clean: true
|
||||
console.log('mqtt')
|
||||
console.log("mqtt");
|
||||
// let _this = this
|
||||
// mqttX.init({
|
||||
// id:"mqttjs_" +
|
||||
@ -292,43 +311,43 @@ export default {
|
||||
// });
|
||||
|
||||
// mqtt连接 +"/#" +workerId
|
||||
client.on('connect', e => {
|
||||
client.on("connect", e => {
|
||||
// console.log('连接成功:', this.topicName + this.userId)
|
||||
client.subscribe(this.topicName + this.userId, { qos: 0 }, error => {
|
||||
if (!error) {
|
||||
// console.log('订阅成功')
|
||||
} else {
|
||||
console.log('订阅失败')
|
||||
console.log("订阅失败");
|
||||
}
|
||||
})
|
||||
})
|
||||
});
|
||||
});
|
||||
// 接收消息处理
|
||||
client.on('message', (topic, message) => {
|
||||
client.on("message", (topic, message) => {
|
||||
// console.log(message);
|
||||
console.log('收到来自', topic, '的消息', message.toString())
|
||||
message = JSON.parse(message)
|
||||
console.log("收到来自", topic, "的消息", message.toString());
|
||||
message = JSON.parse(message);
|
||||
// if(message.content){
|
||||
// if(message.content.indexOf("火点检测") > -1 || message.content.indexOf("温度报警") > -1){
|
||||
// this.$emit('sendMsg')
|
||||
// }
|
||||
// }
|
||||
setTimeout(() => {
|
||||
this.$emit('sendMsg', message)
|
||||
this.$emit("sendMsg", message);
|
||||
this.$notify({
|
||||
title: message.title,
|
||||
message: message.content,
|
||||
position: 'bottom-right'
|
||||
})
|
||||
}, 500)
|
||||
})
|
||||
position: "bottom-right"
|
||||
});
|
||||
}, 500);
|
||||
});
|
||||
// 断开发起重连
|
||||
// client.on("reconnect", (error) => {
|
||||
// console.log("正在重连:", error);
|
||||
// });
|
||||
// 链接异常处理
|
||||
client.on('error', error => {
|
||||
console.log('连接失败:', error)
|
||||
})
|
||||
client.on("error", error => {
|
||||
console.log("连接失败:", error);
|
||||
});
|
||||
},
|
||||
getData() {
|
||||
getNoticeListApi({
|
||||
@ -338,11 +357,19 @@ export default {
|
||||
pageNo: 1,
|
||||
pageSize: 10
|
||||
}).then(res => {
|
||||
this.messageList = res.result.records
|
||||
})
|
||||
// console.log("res.result.records", res.result.records);
|
||||
this.messageList = res.result.records;
|
||||
|
||||
// 判断是否有消息未读
|
||||
if (res.result.records.length > 0) {
|
||||
this.newsStatus = res.result.records.some(item => item.isRead !== 1);
|
||||
|
||||
// console.log("==========================this.newsStatus=======================", this.newsStatus);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
|
||||
@ -221,7 +221,7 @@ export default {
|
||||
const res = await getQualityNoticeStatusApi({ id: payLoadParams.data.id });
|
||||
if (!res.result || res.result.status == 6) {
|
||||
this.$message({
|
||||
type: "error",
|
||||
type: "warning",
|
||||
message: "检查单已撤回",
|
||||
});
|
||||
isBack = true;
|
||||
@ -232,7 +232,7 @@ export default {
|
||||
const res = await getNoticeStatusApi({ id: payLoadParams.data.id });
|
||||
if (!res.result || res.result.status == 6) {
|
||||
this.$message({
|
||||
type: "error",
|
||||
type: "warning",
|
||||
message: "检查单已撤回",
|
||||
});
|
||||
isBack = true;
|
||||
@ -257,7 +257,7 @@ export default {
|
||||
let selectedIds = [];
|
||||
if (this.multipleSelection.length == 0) {
|
||||
this.$message({
|
||||
type: "error",
|
||||
type: "warning",
|
||||
message: "请勾选表格项",
|
||||
});
|
||||
return;
|
||||
@ -302,7 +302,7 @@ export default {
|
||||
let selectedIds = [];
|
||||
if (this.multipleSelection.length == 0) {
|
||||
this.$message({
|
||||
type: "error",
|
||||
type: "warning",
|
||||
message: "请勾选表格项",
|
||||
});
|
||||
return;
|
||||
|
||||
@ -214,7 +214,7 @@ export default {
|
||||
const res = await getQualityNoticeStatusApi({ id: payLoadParams.data.id });
|
||||
if (!res.result || res.result.status == 6) {
|
||||
this.$message({
|
||||
type: "error",
|
||||
type: "warning",
|
||||
message: "检查单已撤回",
|
||||
});
|
||||
isBack = true;
|
||||
@ -225,7 +225,7 @@ export default {
|
||||
const res = await getNoticeStatusApi({ id: payLoadParams.data.id });
|
||||
if (!res.result || res.result.status == 6) {
|
||||
this.$message({
|
||||
type: "error",
|
||||
type: "warning",
|
||||
message: "检查单已撤回",
|
||||
});
|
||||
isBack = true;
|
||||
@ -250,7 +250,7 @@ export default {
|
||||
let selectedIds = [];
|
||||
if(this.multipleSelection.length == 0){
|
||||
this.$message({
|
||||
type: "error",
|
||||
type: "warning",
|
||||
message: "请勾选表格项",
|
||||
});
|
||||
return;
|
||||
|
||||
@ -216,7 +216,7 @@ export default {
|
||||
const res = await getQualityNoticeStatusApi({ id: payLoadParams.data.id });
|
||||
if (!res.result || res.result.status == 6) {
|
||||
this.$message({
|
||||
type: "error",
|
||||
type: "warning",
|
||||
message: "检查单已撤回",
|
||||
});
|
||||
isBack = true;
|
||||
@ -227,7 +227,7 @@ export default {
|
||||
const res = await getNoticeStatusApi({ id: payLoadParams.data.id });
|
||||
if (!res.result || res.result.status == 6) {
|
||||
this.$message({
|
||||
type: "error",
|
||||
type: "warning",
|
||||
message: "检查单已撤回",
|
||||
});
|
||||
isBack = true;
|
||||
@ -252,7 +252,7 @@ export default {
|
||||
let selectedIds = [];
|
||||
if(this.multipleSelection.length == 0){
|
||||
this.$message({
|
||||
type: "error",
|
||||
type: "warning",
|
||||
message: "请勾选表格项",
|
||||
});
|
||||
return;
|
||||
@ -294,7 +294,7 @@ export default {
|
||||
let selectedIds = [];
|
||||
if(this.multipleSelection.length == 0){
|
||||
this.$message({
|
||||
type: "error",
|
||||
type: "warning",
|
||||
message: "请勾选表格项",
|
||||
});
|
||||
return;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user