Commit 924c208e by huangqy

1111

parent eea5f1c1
...@@ -74,14 +74,14 @@ ...@@ -74,14 +74,14 @@
</div> </div>
</template> </template>
<el-table :header-cell-style="{backgroundColor: '#f5f7fa',color: '#000',fontSize: '18px',fontWeight: '600'}" :data="modelList" border style="width: 100%;height: 70vh;"> <el-table :header-cell-style="{backgroundColor: '#f5f7fa',color: '#000',fontSize: '18px',fontWeight: '600'}" :data="modelList" border style="width: 100%;height: 70vh;">
<el-table-column type="index" label="序号" width="60" align="center"/> <el-table-column type="index" label="序号" width="70" align="center"/>
<el-table-column prop="modelName" label="号型名称" align="center"/> <el-table-column prop="modelName" label="号型名称" align="center" show-overflow-tooltip/>
<el-table-column prop="planAmount" label="计划数量" align="center"/> <el-table-column prop="planAmount" label="计划数量" align="center"/>
<el-table-column prop="realAmount" label="实际数量" align="center"/> <el-table-column prop="realAmount" label="实际数量" align="center"/>
<el-table-column prop="writeAmount" label="手动修改数量" align="center"> <el-table-column prop="writeAmount" label="手动修改数量" align="center" show-overflow-tooltip width="150">
<template #default="scope"> <template #default="scope">
<div class="editable-cell"> <div class="editable-cell">
<div v-if="editable" class="editable-cell-input-wrapper"> <div v-if="editable && itemForm.modelCode == scope.row.modelCode" class="editable-cell-input-wrapper">
<el-input-number ref='inputs' size="small" style="height: 30px" :value="writeAmount" @change="handleChange" @blur="check" :max="scope.row.planAmount - scope.row.realAmount"/> <el-input-number ref='inputs' size="small" style="height: 30px" :value="writeAmount" @change="handleChange" @blur="check" :max="scope.row.planAmount - scope.row.realAmount"/>
</div> </div>
<div v-else class="editable-cell-text-wrapper" @dblclick="edit(scope.row)"> <div v-else class="editable-cell-text-wrapper" @dblclick="edit(scope.row)">
......
...@@ -75,13 +75,13 @@ ...@@ -75,13 +75,13 @@
</template> </template>
<el-table :header-cell-style="{backgroundColor: '#f5f7fa',color: '#000',fontSize: '18px',fontWeight: '600'}" :data="modelList" border style="width: 100%;height: 70vh;"> <el-table :header-cell-style="{backgroundColor: '#f5f7fa',color: '#000',fontSize: '18px',fontWeight: '600'}" :data="modelList" border style="width: 100%;height: 70vh;">
<el-table-column type="index" label="序号" width="70" align="center"/> <el-table-column type="index" label="序号" width="70" align="center"/>
<el-table-column prop="modelName" label="号型名称" align="center" width="180"/> <el-table-column prop="modelName" label="号型名称" align="center" show-overflow-tooltip/>
<el-table-column prop="planAmount" label="计划数量" align="center"/> <el-table-column prop="planAmount" label="计划数量" align="center"/>
<el-table-column prop="realAmount" label="实际数量" align="center"/> <el-table-column prop="realAmount" label="实际数量" align="center"/>
<el-table-column prop="writeAmount" label="手动修改数量" align="center"> <el-table-column prop="writeAmount" label="手动修改数量" align="center" show-overflow-tooltip width="150">
<template #default="scope"> <template #default="scope">
<div class="editable-cell"> <div class="editable-cell">
<div v-if="editable" class="editable-cell-input-wrapper"> <div v-if="editable && itemForm.modelCode == scope.row.modelCode" class="editable-cell-input-wrapper">
<el-input-number ref='inputs' size="small" style="height: 30px" :value="writeAmount" @change="handleChange" @blur="check" :max="scope.row.planAmount - scope.row.realAmount"/> <el-input-number ref='inputs' size="small" style="height: 30px" :value="writeAmount" @change="handleChange" @blur="check" :max="scope.row.planAmount - scope.row.realAmount"/>
</div> </div>
<div v-else class="editable-cell-text-wrapper" @dblclick="edit(scope.row)"> <div v-else class="editable-cell-text-wrapper" @dblclick="edit(scope.row)">
......
...@@ -36,11 +36,19 @@ ...@@ -36,11 +36,19 @@
<el-divider /> <el-divider />
<el-card class="box-card"> <el-card class="box-card">
<template #header> <template #header>
<div style="text-align: center;"> <div style="text-align: center;cursor: pointer;">
<span>异常次数</span> <span @click="changeErr">异常次数 {{ item.errNum }}</span>
</div> </div>
</template> </template>
<div class="text">{{ item.errNum }}次</div> <div style="height: 280px;overflow: auto" v-if="showErr">
<div v-for="item in errList" :key="item.time">
<p style="text-align: center;">-----------------{{item.time}}-----------------</p>
<p style="text-align: center;">{{item.content}}</p>
</div>
</div>
<div style="height: 120px;overflow: auto" v-if="!showErr">
</div>
</el-card> </el-card>
</el-col> </el-col>
</el-row> </el-row>
...@@ -233,6 +241,8 @@ export default defineComponent({ ...@@ -233,6 +241,8 @@ export default defineComponent({
const power7 = ref() const power7 = ref()
const power8 = ref() const power8 = ref()
const log = ref('') const log = ref('')
const errList = ref([])
const showErr = ref(false)
const state = reactive({ const state = reactive({
url: { url: {
...@@ -272,7 +282,6 @@ export default defineComponent({ ...@@ -272,7 +282,6 @@ export default defineComponent({
}; };
const map = new Map() const map = new Map()
const map1 = new Map() const map1 = new Map()
// Websoket接收消息事件 // Websoket接收消息事件
...@@ -281,19 +290,20 @@ export default defineComponent({ ...@@ -281,19 +290,20 @@ export default defineComponent({
console.log(message) console.log(message)
if (message.noticeType == 0 || message.noticeType == 4) { if (message.noticeType == 0 || message.noticeType == 4) {
logData.value = '' logData.value = ''
if (message.noticeType == 0) { let color = 'red'
map.set(message.stationId, '<div>【通道' + message.stationId + ': ' + (message.noticeInfo == 1 ? '</div><div class="green"></div><div>读写器</div>' : '</div><div class="red"></div><div><div>读写器</div></div>')+"】</div>") let color1 = 'red'
if (message.noticeType == 0 && message.noticeInfo == 1) {
color = 'green'
} }
if (message.noticeType == 4) { if (message.noticeType == 4 && message.noticeInfo == 1) {
map1.set(message.stationId, '<div>【通道' + message.stationId + ': ' + (message.noticeInfo == 1 ? '</div><div class="green"></div><div>GPIO</div>' : '</div><div class="red"></div><div>GPIO</div></div>')+"】</div>") color1 = 'green'
} }
for(let value of map1.values()) { let str = '<div>【通道' + message.stationId + ': ' + '</div><div class=' + color + '></div><div>读写器</div><div class='+ color1 + '></div><div>GPIO</div>】'
map.set(message.stationId, str)
const sortedArr = Array.from(map).sort((a, b) => a[0] > b[0] ? 1 : -1);
for(let [key, value] of sortedArr) {
logData.value += value logData.value += value
} }
for(let value1 of map.values()) {
logData.value += value1
}
// console.log(logData.value)
emit('logChange', logData.value) emit('logChange', logData.value)
} }
if (message.noticeType == 2) { if (message.noticeType == 2) {
...@@ -326,9 +336,17 @@ export default defineComponent({ ...@@ -326,9 +336,17 @@ export default defineComponent({
if (![0,2,3,4].includes(message.noticeType)) { if (![0,2,3,4].includes(message.noticeType)) {
let channel = channelList.value.find(i => i.stationId == message.stationId) let channel = channelList.value.find(i => i.stationId == message.stationId)
channel.errNum = channel.errNum + 1 channel.errNum = channel.errNum + 1
errList.value.unshift({time: parseTime(new Date()), content: message.noticeInfo})
} }
}; };
function parseTime(date) {
var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
return hours + ':' + minutes + ':' + seconds
}
// Websoket连接错误事件 // Websoket连接错误事件
const websocketOnerror = (res) => { const websocketOnerror = (res) => {
console.log("WebSocket连接错误"); console.log("WebSocket连接错误");
...@@ -371,7 +389,6 @@ export default defineComponent({ ...@@ -371,7 +389,6 @@ export default defineComponent({
res.data.map((item, index) => { res.data.map((item, index) => {
channelList.value.push(Object.assign({}, item, { logData: [], errNum: 0 })) channelList.value.push(Object.assign({}, item, { logData: [], errNum: 0 }))
}) })
console.log('阿萨德哈萨克')
initWebSocket() initWebSocket()
getAction(state.url.openReader, {storeCode: JSON.parse(sessionStorage.getItem('storeInfo')).storeCode}).then(res => { getAction(state.url.openReader, {storeCode: JSON.parse(sessionStorage.getItem('storeInfo')).storeCode}).then(res => {
...@@ -399,6 +416,11 @@ export default defineComponent({ ...@@ -399,6 +416,11 @@ export default defineComponent({
channel.logData = [] channel.logData = []
} }
function changeErr() {
showErr.value = !showErr.value
console.log(showErr.value)
}
function showChannelSetting() { function showChannelSetting() {
postAction(state.url.getDevice, {storeCode: JSON.parse(sessionStorage.getItem('storeInfo')).storeCode, stationId: activeTab.value}).then(res => { postAction(state.url.getDevice, {storeCode: JSON.parse(sessionStorage.getItem('storeInfo')).storeCode, stationId: activeTab.value}).then(res => {
if (res.code !== 99200) return ElMessage.error(res.message); if (res.code !== 99200) return ElMessage.error(res.message);
...@@ -461,10 +483,13 @@ export default defineComponent({ ...@@ -461,10 +483,13 @@ export default defineComponent({
power6, power6,
power7, power7,
power8, power8,
errList,
showErr,
loadData, loadData,
showChannelSetting, showChannelSetting,
handleSubmit, handleSubmit,
clearData clearData,
changeErr
} }
}, },
}) })
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论