Commit b603e281 by huangqy

随便改了点

parent 3caddb5c
......@@ -4,18 +4,20 @@
<el-tab-pane label="系统配置">
<el-card>
<el-form :model="sysForm" :inline="true">
<el-form-item label="仓库编号">
<el-form-item label="仓库编号" :rules="[{ required: true, message: '仓库编号不能为空', trigger: 'blur' }]">
<el-input v-model="sysForm.storeCode" />
</el-form-item>
<el-form-item label="服务器">
<el-form-item label="服务器" :rules="[{ required: true, message: '服务器IP不能为空', trigger: 'blur' }]">
<el-input v-model="sysForm.serverIp" />
</el-form-item>
<el-form-item label="端口">
<el-form-item label="端口" :rules="[{ required: true, message: '端口不能为空', trigger: 'blur' }]">
<el-input v-model="sysForm.serverPort" />
</el-form-item>
<el-form-item label="是否切换">
<el-checkbox v-model="sysForm.isHide" />
</el-form-item>
<el-tooltip effect="dark" content="选中显示所有数据,不选中仅显示单据数据" placement="top-start">
<el-form-item label="是否切换">
<el-checkbox v-model="sysForm.isHide" />
</el-form-item>
</el-tooltip>
<el-form-item>
<el-button type="success" @click="getConfig">刷新</el-button>
<el-button type="primary" @click="saveConfig">保存</el-button>
......@@ -84,7 +86,7 @@
</el-select>
</el-form-item>
<el-form-item label="天线功率">
<el-input v-model="formData.readerPower"/>
<el-input v-model="formData.readerPower" placeholder="4通道格式为10,10,10,10,范围为0-30之间。8通道同理"/>
</el-form-item>
<el-row>
<el-col :span="12">
......@@ -160,11 +162,20 @@ export default defineComponent({
function getConfig() {
postAction(state.url.getConfig, {}).then(res => {
if (res.code !== 99200) return ElMessage.error(res.message);
sysForm.value = {
id: res.data[0].id,
storeCode: res.data[0].storeCode,
serverIp: res.data[0].serverIp,
serverPort: res.data[0].serverPort
if (res.data.length > 0) {
sysForm.value = {
id: res.data[0].id,
storeCode: res.data[0].storeCode,
serverIp: res.data[0].serverIp,
serverPort: res.data[0].serverPort
}
} else {
sysForm.value = {
id: '',
storeCode: '',
serverIp: '',
serverPort: ''
}
}
})
}
......@@ -178,10 +189,20 @@ export default defineComponent({
function saveConfig() {
let url = sysForm.value.id ? state.url.updateConfig : state.url.saveConfig
if (!sysForm.value.storeCode) {
return ElMessage.warning('库房编号不能为空')
}
if (!sysForm.value.serverIp) {
return ElMessage.warning('服务器IP不能为空')
}
if (!sysForm.value.serverPort) {
return ElMessage.warning('端口不能为空')
}
postAction(url, sysForm.value).then(res => {
if (res.code !== 99200) return ElMessage.error(res.message);
ElMessage.success(res.message)
sessionStorage.setItem('storeInfo', JSON.stringify(sysForm.value))
getConfig()
})
}
......
......@@ -9,7 +9,7 @@
</template>
<component :is="item.template" :ref="item.template" @refresh="handleRefresh" @logChange="handleLogChange"></component>
</el-tab-pane>
<el-card>{{log}}</el-card>
<el-card><div v-html="log" style="display: flex;align-items: center;"></div></el-card>
</el-tabs>
</template>
......@@ -36,6 +36,9 @@ export default defineComponent({
{title: '通道配置', icon: 'iconfont icon-shezhi', template: 'ChannelSetting'},
]
function tabChange(index) {
if (index == 0) {
return
}
proxy.$refs[tabList[index].template][0].loadData()
}
function handleRefresh() {
......@@ -67,4 +70,26 @@ export default defineComponent({
.el-tabs--border-card>.el-tabs__content {
padding: 0px !important;
}
.red{
width: 10px;
height: 10px;
border-radius: 50%;
background: red;
margin: 0 10px 0 10px;
}
.green{
width: 10px;
height: 10px;
border-radius: 50%;
background: green;
margin: 0 10px 0 10px;
}
.gray{
width: 10px;
height: 10px;
border-radius: 50%;
background: gray;
margin: 0 10px 0 10px;
}
</style>
......@@ -7,11 +7,12 @@
<div class="card-header">
<span>实时出入库数据</span>
<el-button style="float: right;" type="primary" @click="showChannelSetting">通道配置</el-button>
<el-button style="float: right;margin-right: 10px;" type="warning" @click="clearData">清空数据</el-button>
</div>
</template>
<el-row :gutter="20">
<el-col :span="18">
<el-table :data="item.logData" size="large" border style="width: 100%;" max-height="720">
<el-table :data="item.logData" size="large" border style="width: 100%;" max-height="660">
<el-table-column type="index" label="序号" width="70" align="center"/>
<el-table-column prop="stationType" label="作业类型" align="center">
<template #default="scope">
......@@ -90,7 +91,7 @@
<el-row :gutter="40">
<el-col :span="12">
<el-form-item>
<el-input v-model="power1" placeholder="请输入1号天线功率">
<el-input v-model="power1" placeholder="请输入1号天线功率" :max="30" :min="0">
<template #prefix>
<img src="../assets/1.svg" width="16" height="16"/>
</template>
......@@ -209,7 +210,7 @@
</template>
<script>
import { defineComponent, ref, reactive, toRefs } from 'vue'
import { defineComponent, ref, reactive, toRefs, onBeforeUnmount } from 'vue'
import { ElMessage } from 'element-plus'
import { postAction, getAction } from '@/api/manage'
import { Help, Monitor } from '@element-plus/icons-vue'
......@@ -234,6 +235,7 @@ export default defineComponent({
const power7 = ref()
const power8 = ref()
const log = ref('')
const state = reactive({
url: {
getConfig: '/config/getConfig',
......@@ -265,19 +267,44 @@ export default defineComponent({
console.log("WebSocket连接成功");
};
const map = new Map()
const map1 = new Map()
// Websoket接收消息事件
const websocketOnmessage = (res) => {
let message = JSON.parse(res.data)
logData.value = ''
if (message.noticeType == 0) {
map.set(message.stationId, '【通道' + message.stationId + ': ' + message.noticeInfo+"】\n")
for(let value of map.values()) {
// console.log(message)
if (message.noticeType == 0 || message.noticeType == 4) {
logData.value = ''
if (message.noticeType == 0) {
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>")
}
if (message.noticeType == 4) {
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>")
}
for(let value of map1.values()) {
logData.value += value
}
for(let value1 of map.values()) {
logData.value += value1
}
console.log(logData.value)
emit('logChange', logData.value)
}
if (message.noticeType == 2) {
if (JSON.parse(sessionStorage.getItem('storeInfo')).isHide) return
let stationType = message.stationType
let noticeInfoList = JSON.parse(message.noticeInfo)
let newArr = noticeInfoList.map(v=> {
return {...v, stationType: stationType}
})
let channel = channelList.value.find(i => i.stationId == message.stationId)
channel.logData = [...channel.logData, ...newArr]
emit('refresh')
}
if (message.noticeType == 3) {
if (!JSON.parse(sessionStorage.getItem('storeInfo')).isHide) return
let stationType = message.stationType
let noticeInfoList = JSON.parse(message.noticeInfo)
let newArr = noticeInfoList.map(v=> {
......@@ -285,9 +312,14 @@ export default defineComponent({
})
let channel = channelList.value.find(i => i.stationId == message.stationId)
channel.logData = [...channel.logData, ...newArr]
let obj = {}
channel.logData = channel.logData.reduce((item, next) => {
obj[next.epc] ? '' : obj[next.epc] = true && item.push(next)
return item
}, [])
emit('refresh')
}
if (![0,2,3].includes(message.noticeType)) {
if (![0,2,3,4].includes(message.noticeType)) {
let channel = channelList.value.find(i => i.stationId == message.stationId)
channel.errNum = channel.errNum + 1
}
......@@ -314,6 +346,11 @@ export default defineComponent({
}, 5000);
}
onBeforeUnmount(() => {
console.log('A 组件,切换到 B 组件,A 组件消失时执行')
})
const loadData = () => {
if (sessionStorage.getItem('storeInfo')) {
let config = JSON.parse(sessionStorage.getItem('storeInfo'))
......@@ -345,6 +382,12 @@ export default defineComponent({
}
}
function clearData() {
let channel = channelList.value.find(i => i.stationId == activeTab.value)
console.log(channel)
channel.logData = []
}
function showChannelSetting() {
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);
......@@ -409,7 +452,8 @@ export default defineComponent({
power8,
loadData,
showChannelSetting,
handleSubmit
handleSubmit,
clearData
}
},
})
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论