加入物联网卡日期

This commit is contained in:
home孙 2025-06-10 15:36:07 +08:00
parent 395a68e71b
commit d79087f7ec
9 changed files with 149 additions and 61 deletions

View File

@ -575,6 +575,13 @@ cameraStop(cameraSerialNumber,cameraChannelNumber,num) {
selUserbyid(data){ selUserbyid(data){
return sendGetRequest(`/sel/userbyid/`+data, ``) return sendGetRequest(`/sel/userbyid/`+data, ``)
}, },
// 获取物联网卡号
qibenGeticcid(data){
return sendPostRequest(`/qiben/geticcid`, data)
},
popupwindow(data){
return sendGetRequest(`/qiben/popupwindow`, data)
},
//根据设备ID获取设备状态值 //根据设备ID获取设备状态值
selControlPermissions(data){ selControlPermissions(data){
return sendGetRequest(`/getcontrol/selControlPermissions`, data) return sendGetRequest(`/getcontrol/selControlPermissions`, data)
@ -881,4 +888,5 @@ getIccid(data){
getInsectChartData(data){ getInsectChartData(data){
return sendPostParamsRequest(`/v1/getInsectChartData`, data) return sendPostParamsRequest(`/v1/getInsectChartData`, data)
}, },
}; };

View File

@ -879,6 +879,14 @@ textarea {
color: #859BB6; color: #859BB6;
} }
.el-notification__content p {
word-break: break-all;
}
.color-red {
color: red;
}
.outline { .outline {
color: red; color: red;
font-weight: bold; font-weight: bold;
@ -2070,12 +2078,18 @@ textarea {
height: auto; height: auto;
} }
.realTime .page-content .page-iccid {
margin-top: -15px;
margin-bottom: 10px;
}
.realTime .page-content .control-view { .realTime .page-content .control-view {
display: flex; display: flex;
align-items: center; align-items: center;
position: absolute; position: absolute;
right: 30px; right: 30px;
top: 10px; top: 10px;
max-width: 50%;
} }
.realTime .page-content .control-view .title { .realTime .page-content .control-view .title {
@ -2086,7 +2100,7 @@ textarea {
display: flex; display: flex;
align-items: center; align-items: center;
overflow: hidden; overflow: hidden;
max-width: 806px; max-width: calc(100% - 62px);
} }
.realTime .page-content .control-view .control-list > div { .realTime .page-content .control-view .control-list > div {

View File

@ -944,7 +944,14 @@ textarea {
} }
} }
} }
.el-notification__content{
p{
word-break: break-all;
}
}
.color-red{
color: red;
}
.outline { .outline {
color: red; color: red;
font-weight: bold; font-weight: bold;
@ -2198,14 +2205,17 @@ textarea {
&.control-page { &.control-page {
height: auto; height: auto;
} }
.page-iccid{
margin-top: -15px;
margin-bottom: 10px;
}
.control-view { .control-view {
display: flex; display: flex;
align-items: center; align-items: center;
position: absolute; position: absolute;
right: 30px; right: 30px;
top: 10px; top: 10px;
max-width: 50%;
.title { .title {
margin-right: 10px; margin-right: 10px;
} }
@ -2215,7 +2225,7 @@ textarea {
align-items: center; align-items: center;
overflow: hidden; overflow: hidden;
max-width: 806px; max-width: calc(100% - 62px);
>div { >div {
// width: 100%!important; // width: 100%!important;

View File

@ -208,6 +208,7 @@ export function realTimeLine(id, data,pageId) {
}) })
// 默认只显示第0个
if(!selTure){ if(!selTure){
dataList.forEach((el, index) => { dataList.forEach((el, index) => {
selList[el.name]=(index==0?true:false) selList[el.name]=(index==0?true:false)
@ -376,25 +377,25 @@ export function realTimeLine1(id, data,pageId) {
var Xdata = [] var Xdata = []
// var equipmentList=store.state.equipmentSelList // var equipmentList=store.state.equipmentSelList
var equipmentList=JSON.parse(localStorage.getItem('equipmentSelList')) var equipmentList=JSON.parse(localStorage.getItem('equipmentSelList')?localStorage.getItem('equipmentSelList'):'[]')
var list = [] var list = []
var selList={} var selList={}
var selTure=false var selTure=false
var dataList = [] var dataList = []
// equipmentList.forEach(obj => { equipmentList.forEach(obj => {
// if (obj.deviceId == pageId) { if (obj.deviceId == pageId) {
// // 在找到的对象中添加参数 // 在找到的对象中添加参数
// if(obj.selList){ if(obj.selList1){
// selList = obj.selList; selList = obj.selList1;
// selTure=true selTure=true
// }else{ }else{
// selList ={} selList ={}
// selTure=false selTure=false
// } }
// } }
// }); });
data.forEach((el, index) => { data.forEach((el, index) => {
Xdata.push(el.time) Xdata.push(el.time)
@ -411,11 +412,12 @@ export function realTimeLine1(id, data,pageId) {
}) })
// if(!selTure){ // 默认全部显示
// dataList.forEach((el, index) => { if(!selTure){
// selList[el.name]=(index==0?true:false) dataList.forEach((el, index) => {
// }) selList[el.name]=true
// } })
}
dataList.forEach((el, index) => { dataList.forEach((el, index) => {
list.push({ list.push({
name: el.name, name: el.name,
@ -557,16 +559,16 @@ export function realTimeLine1(id, data,pageId) {
option && myChart.setOption(option); option && myChart.setOption(option);
myChart.resize(); myChart.resize();
// myChart.on('legendselectchanged', function (params) { myChart.on('legendselectchanged', function (params) {
// equipmentList.forEach((obj,index) => { equipmentList.forEach((obj,index) => {
// if (obj.deviceId== pageId) { if (obj.deviceId== pageId) {
// // 在找到的对象中添加参数 // 在找到的对象中添加参数
// obj.selList=params.selected obj.selList1=params.selected
// } }
// }); });
// localStorage.setItem('equipmentSelList', JSON.stringify(equipmentList)) localStorage.setItem('equipmentSelList', JSON.stringify(equipmentList))
// }); });
window.addEventListener("resize", function () { window.addEventListener("resize", function () {
myChart.resize(); myChart.resize();
}); });
@ -579,25 +581,25 @@ export function realTimeLine2(id, data,pageId) {
var Xdata = [] var Xdata = []
// var equipmentList=store.state.equipmentSelList // var equipmentList=store.state.equipmentSelList
var equipmentList=JSON.parse(localStorage.getItem('equipmentSelList')) // var equipmentList=JSON.parse(localStorage.getItem('equipmentSelList'))
var list = [] var list = []
var selList={} var selList={}
var selTure=false var selTure=false
var dataList = [] var dataList = []
equipmentList.forEach(obj => { // equipmentList.forEach(obj => {
if (obj.deviceId == pageId) { // if (obj.deviceId == pageId) {
// 在找到的对象中添加参数 // // 在找到的对象中添加参数
if(obj.selList){ // if(obj.selList){
selList = obj.selList; // selList = obj.selList;
selTure=true // selTure=true
}else{ // }else{
selList ={} // selList ={}
selTure=false // selTure=false
} // }
} // }
}); // });
data.forEach((el, index) => { data.forEach((el, index) => {
Xdata.push(el.time) Xdata.push(el.time)
@ -736,16 +738,16 @@ export function realTimeLine2(id, data,pageId) {
option && myChart.setOption(option); option && myChart.setOption(option);
myChart.resize(); myChart.resize();
myChart.on('legendselectchanged', function (params) { // myChart.on('legendselectchanged', function (params) {
equipmentList.forEach((obj,index) => { // equipmentList.forEach((obj,index) => {
if (obj.deviceId== pageId) { // if (obj.deviceId== pageId) {
// 在找到的对象中添加参数 // // 在找到的对象中添加参数
obj.selList=params.selected // obj.selList=params.selected
} // }
}); // });
localStorage.setItem('equipmentSelList', JSON.stringify(equipmentList)) // localStorage.setItem('equipmentSelList', JSON.stringify(equipmentList))
}); // });
window.addEventListener("resize", function () { window.addEventListener("resize", function () {
myChart.resize(); myChart.resize();
}); });

View File

@ -12,6 +12,7 @@ export default new Vuex.Store({
equipmentSelList:[],//存储当前echarts的sel数组 equipmentSelList:[],//存储当前echarts的sel数组
equipmentIndex: 1,//当前在第几个设备 equipmentIndex: 1,//当前在第几个设备
equipmentName: null,//当前设备 小设备的各个名字 equipmentName: null,//当前设备 小设备的各个名字
iccidList:[],//各个设备iccid的数组
nameList: ['One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight', 'Nine', 'Ten', 'Elven', 'Twelve', 'Thirteen', 'Fourteen', 'Fifteen', 'Sixteen'], nameList: ['One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight', 'Nine', 'Ten', 'Elven', 'Twelve', 'Thirteen', 'Fourteen', 'Fifteen', 'Sixteen'],
formulaNum: [16, 48, 80, 112, 144, 176, 208, 240], formulaNum: [16, 48, 80, 112, 144, 176, 208, 240],
ControlData:null,//控制器五方数据 ControlData:null,//控制器五方数据

View File

@ -317,6 +317,43 @@ export default {
return 'formula' return 'formula'
} }
}, },
getQibenGeticcid(){
const store = this.$store.state
var data=this.devicesList.map(device => ({
deviceId: device.deviceId,
iccid: device.iccidcode,
deviceName: device.deviceTypeName
}));
var userInfo = localStorage.getItem('userInfo') ? JSON.parse(localStorage.getItem('userInfo')) : { userid: -1 }
this.api.qibenGeticcid(data).then(res=>{
if(res.data.code==200){
this.$store.state.iccidList=res.data.data
this.api.popupwindow({userId:userInfo.userid}).then(res1=>{
if(res1.data.data){
res.data.data.forEach((el,index)=>{
if(el.expired){
setTimeout(() => {
this.$notify({
title: '提示',
dangerouslyUseHTMLString: true,
message: `<div><span class="color-red">${el.deviceName}</span>卡号为${el.iccid},物联网卡即将到期,剩余时间<span class="color-red">${el.daysDifference}天</span>,请联系管理员。</div>`,
duration:60000,//10s
});
}, 10);
}
})
}
})
}else if(res.data.code==500){
this.$store.state.iccidList=res.data.data
}
})
},
// //
getEqbyid(selTrue) { getEqbyid(selTrue) {
const that = this const that = this
@ -325,6 +362,11 @@ export default {
this.api.selUserbyid(userInfo.userid).then((res) => { this.api.selUserbyid(userInfo.userid).then((res) => {
if (res.data.code == 200) { if (res.data.code == 200) {
var data=res.data.data.devices var data=res.data.data.devices
this.devicesList=res.data.data.devices
if(selTrue){
this.getQibenGeticcid(data)
}
this.$store.state.equipmentList =data.map((item, index) => { this.$store.state.equipmentList =data.map((item, index) => {
return { return {
...item, ...item,

View File

@ -134,6 +134,7 @@ export default {
pageSize: 999, pageSize: 999,
isEquipment: store.equipmentList[index - 1].deviceName == 30 ? 1 : 0 isEquipment: store.equipmentList[index - 1].deviceName == 30 ? 1 : 0
} }
var data1 = store.equipmentList[index - 1].deviceId
this.api.selFsTime(data).then(res => { this.api.selFsTime(data).then(res => {
this.loading.close() this.loading.close()
if (res.data.code == 200) { if (res.data.code == 200) {
@ -149,10 +150,11 @@ export default {
}) })
}; };
}); });
realTimeLine1('realTime-line', chartsData)
realTimeLine1('realTime-line', chartsData,data1)
} else { } else {
var chartsData=[] var chartsData=[]
realTimeLine1('realTime-line', chartsData) realTimeLine1('realTime-line', chartsData,data1)
this.$message.error(res.data.msg); this.$message.error(res.data.msg);
} }
}) })

View File

@ -36,7 +36,7 @@
</div> </div>
<!-- 控制器/施肥机 --> <!-- 控制器/施肥机 -->
<div class="page-content new-data" v-else :class="deviceName !=1 ? 'control-page' : ''"> <div class="page-content new-data" v-else :class="deviceName !=1 ? 'control-page' : ''">
<div class="page-iccid"><span>iccid:{{$store.state.equipmentList[indexs - 1].iccidcode}}</span>&nbsp;&nbsp;&nbsp;<span>到期时间: </span><span :class="getPackageTimeColor()?'color-red':''">{{getPackageTime()}}<span v-if="getPackageTimeColor()">(即将到期)</span></span> </div>
<div class="control-view" v-if="deviceName !=1"> <div class="control-view" v-if="deviceName !=1">
<div class="title" @click='weatherModel = true'>气象站:</div> <div class="title" @click='weatherModel = true'>气象站:</div>
<vue-seamless class="control-list" :data="controlList" :class-option="defaultOption1"> <vue-seamless class="control-list" :data="controlList" :class-option="defaultOption1">
@ -758,8 +758,6 @@ export default {
that.player = null that.player = null
} }
that.dataInit(); that.dataInit();
}, 0); }, 0);
}, },
}, },
@ -771,6 +769,7 @@ export default {
this.deviceState = store.equipmentList[this.indexs - 1].deviceState this.deviceState = store.equipmentList[this.indexs - 1].deviceState
// this.getTime() // this.getTime()
setTimeout(() => { setTimeout(() => {
that.dataInit(); that.dataInit();
@ -795,6 +794,16 @@ export default {
this.$bus.$off('refreshTime') this.$bus.$off('refreshTime')
}, },
methods: { methods: {
getPackageTime(){
var item= this.$store.state.iccidList.find(item=>item.iccid==this.$store.state.equipmentList[this.indexs - 1].iccidcode)
return item? item.packageTime:'无数据'
},
getPackageTimeColor(){
var item= this.$store.state.iccidList.find(item=>item.iccid==this.$store.state.equipmentList[this.indexs - 1].iccidcode)
return item? item.expired:false
},
openVolt(){ openVolt(){
this.voltModel=true this.voltModel=true
}, },

View File

@ -44,9 +44,9 @@ module.exports = {
}, },
proxy: { proxy: {
"/api": { "/api": {
target: 'https://api.lihe-control.com', //地址 // target: 'https://api.lihe-control.com', //地址
// target: 'http://jiaxingtest.a1.luyouxia.net:21114', //地址 // target: 'http://jiaxingtest.a1.luyouxia.net:21114', //地址
// target: 'http://jiaxingtest.a1.luyouxia.net:25762', //地址 target: 'http://jiaxingtest.a1.luyouxia.net:25762', //地址
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
"^/api": "", "^/api": "",