diff --git a/src/api/index.js b/src/api/index.js index d8f07d4d..3aae6a2a 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -1,29 +1,29 @@ import axios from "axios"; -// import qs from 'qs' -import router from '../router/index' +// import qs from `qs` +import router from "../router/index" function sendGetRequest(url, data) { return new Promise(function (resolve, reject) { axios.get(url, { headers: { //头部参数 - // 'Content-Type': 'application/json; charset=utf-8', - // "Access-Control-Allow-Origin": "*", - // "Access-Control-Allow-Headers": "Origin, X-Requested-With, Content-Type, Accept", - 'token': (localStorage.getItem('token') ? localStorage.getItem('token') : '') + // `Content-Type`: `application/json; charset=utf-8`, + // `Access-Control-Allow-Origin`: `*`, + // `Access-Control-Allow-Headers`: `Origin, X-Requested-With, Content-Type, Accept`, + "token": (localStorage.getItem(`token`) ? localStorage.getItem(`token`) : ``) }, params: data }) .then(function (res) { //请求成功,response接收返回参数 if (res.data.code == 401) { - localStorage.removeItem('token') - if(router.currentRoute.name!='login'){ + localStorage.removeItem(`token`) + if(router.currentRoute.name!=`login`){ router.push({ - name: 'login' + name: `login` }) } // router.push({ - // name: 'login' + // name: `login` // }) } resolve(res); @@ -42,17 +42,17 @@ function sendUploadRequest(url, data) { return new Promise(function (resolve, reject) { axios.post(url, data, { headers: { - 'Content-Type': 'multipart/form-data', - // 'Content-Type': 'application/json; charset=utf-8', - 'token': (localStorage.getItem('token') ? localStorage.getItem('token') : '') + "Content-Type": `multipart/form-data`, + // `Content-Type`: `application/json; charset=utf-8`, + "token": (localStorage.getItem(`token`) ? localStorage.getItem(`token`) : ``) } }).then( (res) => { if (res.data.code == 401) { - localStorage.removeItem('token') - if(router.currentRoute.name!='login'){ + localStorage.removeItem(`token`) + if(router.currentRoute.name!=`login`){ router.push({ - name: 'login' + name: `login` }) } } @@ -72,16 +72,16 @@ function sendPostRequest(url, data) { return new Promise(function (resolve, reject) { axios.post(url, data, { headers: { - // 'Content-Type': 'application/json; charset=utf-8', - 'token': (localStorage.getItem('token') ? localStorage.getItem('token') : '') + // `Content-Type`: `application/json; charset=utf-8`, + "token": (localStorage.getItem(`token`) ? localStorage.getItem(`token`) : ``) } }).then( (res) => { if (res.data.code == 401) { - localStorage.removeItem('token') - if(router.currentRoute.name!='login'){ + localStorage.removeItem(`token`) + if(router.currentRoute.name!=`login`){ router.push({ - name: 'login' + name: `login` }) } } @@ -101,19 +101,19 @@ function sendDelRequest(url, data) { return new Promise(function (resolve, reject) { axios.delete(url, { headers: { //头部参数 - // 'Content-Type': 'application/json; charset=utf-8', - // "Access-Control-Allow-Origin": "*", - // "Access-Control-Allow-Headers": "Origin, X-Requested-With, Content-Type, Accept", - 'token': (localStorage.getItem('token') ? localStorage.getItem('token') : '') + // `Content-Type`: `application/json; charset=utf-8`, + // `Access-Control-Allow-Origin`: `*`, + // `Access-Control-Allow-Headers`: `Origin, X-Requested-With, Content-Type, Accept`, + "token": (localStorage.getItem(`token`) ? localStorage.getItem(`token`) : ``) }, params: data }).then( (res) => { if (res.data.code == 401) { - localStorage.removeItem('token') - if(router.currentRoute.name!='login'){ + localStorage.removeItem(`token`) + if(router.currentRoute.name!=`login`){ router.push({ - name: 'login' + name: `login` }) } } @@ -132,16 +132,16 @@ function sendPutRequest(url, data) { return new Promise(function (resolve, reject) { axios.put(url, data, { headers: { - // 'Content-Type': 'application/json; charset=utf-8', - 'token': (localStorage.getItem('token') ? localStorage.getItem('token') : '') + // `Content-Type`: `application/json; charset=utf-8`, + "token": (localStorage.getItem(`token`) ? localStorage.getItem(`token`) : ``) } }).then( (res) => { if (res.data.code == 401) { - localStorage.removeItem('token') - if(router.currentRoute.name!='login'){ + localStorage.removeItem(`token`) + if(router.currentRoute.name!=`login`){ router.push({ - name: 'login' + name: `login` }) } } @@ -154,7 +154,7 @@ function sendPutRequest(url, data) { }); } //总接口域名 -axios.defaults.baseURL = "/api"; +// axios.defaults.baseURL = `/jiaxing`; axios.defaults.timeout = 30000; // 设置全局默认请求超时时间为10秒 @@ -163,520 +163,520 @@ axios.defaults.timeout = 30000; // 设置全局默认请求超时时间为10秒 export default { //防止没有一个post/get会报错 写一个默认的 get(data) { - return sendGetRequest("", data); + return sendGetRequest(`/jiaxing`, data); }, post(data) { - return sendPostRequest("", data); + return sendPostRequest(`/jiaxing`, data); }, delete(data) { - return sendDelRequest("", data); + return sendDelRequest(`/jiaxing`, data); }, put(data) { - return sendPutRequest("", data); + return sendPutRequest(`/jiaxing`, data); }, //接口开始() //登录 login(data) { - return sendPostRequest("/user/login", data); + return sendPostRequest(`/jiaxing/user/login`, data); }, loginOut(data) { - return sendGetRequest("/user/logout", data); + return sendGetRequest(`/jiaxing/user/logout`, data); }, //管理员根据设备id查询设备信息 getSeldevicebyid(data) { - return sendGetRequest("/admin/seldevicebyid", data); + return sendGetRequest(`/jiaxing/admin/seldevicebyid`, data); }, //根据用户id查询对应的设备数据 getEqbyid(data) { - return sendGetRequest("/sel/eqbyid/" + data, ''); + return sendGetRequest(`/jiaxing/sel/eqbyid/` + data, ``); }, //气象站显示 geteqetdata(data) { - return sendGetRequest(`/getcontrol/geteqetdata?userId=`+data ,"") + return sendGetRequest(`/jiaxing/getcontrol/geteqetdata?userId=`+data ,``) }, // 数据采集器的实时数据 getdataRtdata(data) { - return sendGetRequest(`/getdata/rtdata?deviceId=` + data, '') + return sendGetRequest(`/jiaxing/getdata/rtdata?deviceId=` + data, ``) }, //测试施肥机读取设备状态信息 //读取数据 根据文档编号读取 所有数据展示都出自这个接口 postReg(data) { - return sendPostRequest("/readFs/reg", data); + return sendPostRequest(`/jiaxing/readFs/reg`, data); }, //测试施肥机读取设备状态信息 //读取数据 根据文档编号读取 所有数据展示都出自这个接口 postState(data) { - return sendPostRequest("/readFs/state", data); + return sendPostRequest(`/jiaxing/readFs/state`, data); }, //测试施肥机写入数据信息 //修改数据 根据文档编号修改 所有数据修改都出自这个接口 postWriteFs(data) { - return sendPostRequest("/writeFs", data); + return sendPostRequest(`/jiaxing/writeFs`, data); }, getByid(data) { - return sendGetRequest("/readFs/byid", data); + return sendGetRequest(`/jiaxing/readFs/byid`, data); }, //获取实时数据 postRtdata(data) { - return sendPostRequest("/getFs/rtdata?equipmentId=" + data, ''); + return sendPostRequest(`/jiaxing/getFs/rtdata?equipmentId=` + data, ``); }, //获取实时数据 postFsdata(data) { - return sendPostRequest("/chart/fsdata?equipmentId=" + data, ''); + return sendPostRequest(`/jiaxing/chart/fsdata?equipmentId=` + data, ``); }, //获取监控地址 getGethls(data) { - return sendGetRequest("/camera/gethls", data); + return sendGetRequest(`/jiaxing/camera/gethls`, data); }, //根据ID查询用户信息 getUser(data) { - return sendGetRequest('/api/sel/user', data) + return sendGetRequest(`/jiaxing/api/sel/user`, data) }, //控制器接口 //控制器实时数据 getControlRtdata(data) { - return sendPostRequest("/getcontrol/rtdata?equipmentId=" + data, ''); + return sendPostRequest(`/jiaxing/getcontrol/rtdata?equipmentId=` + data, ``); }, //控制器实时数据折线图 getControlFsdata(data) { - return sendPostRequest("/getcontrol/fsdata?equipmentId=" + data, ''); + return sendPostRequest(`/jiaxing/getcontrol/fsdata?equipmentId=` + data, ``); }, //控制器数据上传数据获取 getControldataUpload(data) { - return sendGetRequest('/readControl/dataUpload', data) + return sendGetRequest(`/jiaxing/readControl/dataUpload`, data) }, //控制器写入数据 postControlWrite(data) { - return sendPostRequest("/writeJinHuaControl/write", data); + return sendPostRequest(`/jiaxing/writeJinHuaControl/write`, data); }, //控制器传感器通道 getReadControlSensorChannel(data) { - return sendGetRequest('/readControl/sensorChannel', data) + return sendGetRequest(`/jiaxing/readControl/sensorChannel`, data) }, //控制器 顶模和风机 getReadControlliShuiControl(data) { - return sendGetRequest('/readControl/liShuiControl', data) + return sendGetRequest(`/jiaxing/readControl/liShuiControl`, data) }, //控制器 传感器输入合成 getReadControlSensorInputSynthesis(data) { - return sendGetRequest('/readControl/sensorInputSynthesis', data) + return sendGetRequest(`/jiaxing/readControl/sensorInputSynthesis`, data) }, //控制器 主页查看控制器气象站实时数据 getControlRtDatastation(data) { - return sendGetRequest('/getcontrol/rtDatastation', data) + return sendGetRequest(`/jiaxing/getcontrol/rtDatastation`, data) }, //控制器 设备运行状态 getControlGetState(data) { - return sendGetRequest('/readControl/getState', data) + return sendGetRequest(`/jiaxing/readControl/getState`, data) }, //控制器 气象站实时数据折线图 getControlChartdata(data) { - return sendPostRequest('/equip/chartdata?equipmentId=' + data, '') + return sendPostRequest(`/jiaxing/equip/chartdata?equipmentId=` + data, ``) }, //首页历史数据/数据分析弹窗 selFsAvgdata(data) { - return sendPostRequest('/selFs/avgdata',data) + return sendPostRequest(`/jiaxing/selFs/avgdata`,data) }, //首页历史数据/数据分析弹窗下载数据 selFsAvgdatadownload(data) { - return sendPostRequest('/selFs/avgdatadownload',data) + return sendPostRequest(`/jiaxing/selFs/avgdatadownload`,data) }, // 根据用户id查询对应的设备大数据信息 Bigdata_getAllControl(userid, data) { - return sendGetRequest(`/Bigdata/getAllControl?userid=${userid}`, data); + return sendGetRequest(`/jiaxing/Bigdata/getAllControl?userid=${userid}`, data); }, // 获取设备当天的温度 Bigdata_getTemperature(deviceid, data) { - return sendGetRequest(`/Bigdata/getTemperature?deviceid=${deviceid}`, data); + return sendGetRequest(`/jiaxing/Bigdata/getTemperature?deviceid=${deviceid}`, data); }, // 获取设备一周的温度 Bigdata_getWeekTemperature(deviceid, data) { - return sendGetRequest(`/Bigdata/getWeekTemperature?deviceid=${deviceid}`, data); + return sendGetRequest(`/jiaxing/Bigdata/getWeekTemperature?deviceid=${deviceid}`, data); }, // 主页查看控制器实时数据 getcontrol_rtdata(equipmentId, data) { - return sendPostRequest(`/getcontrol/rtdata?equipmentId=${equipmentId}`, data); + return sendPostRequest(`/jiaxing/getcontrol/rtdata?equipmentId=${equipmentId}`, data); }, // 获取摄像头得地址 Copy camera_gethls(cameraid, channelid, data) { - return sendGetRequest(`/camera/gethls?cameraid=${cameraid}&channelid=${channelid}`, data); + return sendGetRequest(`/jiaxing/camera/gethls?cameraid=${cameraid}&channelid=${channelid}`, data); }, // 根据用户id查询对应的设备数据 Copy sel_eqbyid(userId, data) { - return sendGetRequest(`/sel/eqbyid/${userId}`, data); + return sendGetRequest(`/jiaxing/sel/eqbyid/${userId}`, data); }, // 控制器状态值获取 Copy readControl_getState(deviceId, data) { - return sendGetRequest(`/readControl/getState?deviceId=${deviceId}`, data); + return sendGetRequest(`/jiaxing/readControl/getState?deviceId=${deviceId}`, data); }, getcontrol_rtDatastation(equipmentId, data) { - return sendGetRequest(`/getcontrol/rtDatastation?equipmentId=${equipmentId}`, data) + return sendGetRequest(`/jiaxing/getcontrol/rtDatastation?equipmentId=${equipmentId}`, data) }, //控制器根据设备查看权限 getcontrol_cpermission(equipmentId, data) { - return sendPostRequest(`/getcontrol/cpermission?deviceId=${equipmentId}`, data) + return sendPostRequest(`/jiaxing/getcontrol/cpermission?deviceId=${equipmentId}`, data) }, //控制器五防接口 readControl_fiveControl(data) { - return sendGetRequest(`/readControl/fiveControl`, data); + return sendGetRequest(`/jiaxing/readControl/fiveControl`, data); }, // 查看用户额外权限 user_getjurisdiction(userId, data) { - return sendGetRequest(`/user/getjurisdiction?userId=${userId}`, data) + return sendGetRequest(`/jiaxing/user/getjurisdiction?userId=${userId}`, data) }, //实时数据页面状态值(查看全部设备) getStatePermissionStatus(data) { - return sendGetRequest(`/getcontrol/getStatePermissionStatus`, data) + return sendGetRequest(`/jiaxing/getcontrol/getStatePermissionStatus`, data) }, //获取当前权限能看到的设备 getPermissionStatus(data) { - return sendGetRequest(`/getcontrol/getPermissionStatus`, data) + return sendGetRequest(`/jiaxing/getcontrol/getPermissionStatus`, data) }, //根据id删除status设备 delPermissionStatus(id1, id2) { - return sendPostRequest(`/getcontrol/delPermissionStatus?deviceId=${id1}&permissionid=${id2}`, '') + return sendPostRequest(`/jiaxing/getcontrol/delPermissionStatus?deviceId=${id1}&permissionid=${id2}`, ``) }, //根据id添加status设备 addPermissionStatus(id1, id2) { - return sendPostRequest(`/getcontrol/addStatepermission?deviceId=${id1}&Permissionid=${id2}`, '') + return sendPostRequest(`/jiaxing/getcontrol/addStatepermission?deviceId=${id1}&Permissionid=${id2}`, ``) }, //添加短信报警 addWarnMessage(data) { - return sendPostRequest(`/shortMessage/setMessage`, data) + return sendPostRequest(`/jiaxing/shortMessage/setMessage`, data) }, //短信报警填写条件 selnowmes(data) { - return sendGetRequest(`/shortMessage/selnowmes`, data) + return sendGetRequest(`/jiaxing/shortMessage/selnowmes`, data) }, //根据设备id查看短信报警 messageList(data) { - return sendGetRequest(`/shortMessage/selMesById`, data) + return sendGetRequest(`/jiaxing/shortMessage/selMesById`, data) }, //根据id删除短信报警 delMessage(data) { - return sendDelRequest(`/shortMessage/delmesbyid`, data) + return sendDelRequest(`/jiaxing/shortMessage/delmesbyid`, data) }, //控制器新页面接口 //目标值 目标温度/湿度/co2 targetValue(data) { - return sendGetRequest(`/readControl/targetValue`, data) + return sendGetRequest(`/jiaxing/readControl/targetValue`, data) }, //电磁阀1 solenoidValve1(data) { - return sendGetRequest(`/readControl/solenoidValve1`, data) + return sendGetRequest(`/jiaxing/readControl/solenoidValve1`, data) }, //电磁阀2 solenoidValve2(data) { - return sendGetRequest(`/readControl/solenoidValve2`, data) + return sendGetRequest(`/jiaxing/readControl/solenoidValve2`, data) }, //电磁阀3 solenoidValve3(data) { - return sendGetRequest(`/readControl/solenoidValve3`, data) + return sendGetRequest(`/jiaxing/readControl/solenoidValve3`, data) }, //电磁阀4 solenoidValve4(data) { - return sendGetRequest(`/readControl/solenoidValve4`, data) + return sendGetRequest(`/jiaxing/readControl/solenoidValve4`, data) }, //电磁阀5 solenoidValve5(data) { - return sendGetRequest(`/readControl/solenoidValve5`, data) + return sendGetRequest(`/jiaxing/readControl/solenoidValve5`, data) }, //电磁阀6 solenoidValve6(data) { - return sendGetRequest(`/readControl/solenoidValve6`, data) + return sendGetRequest(`/jiaxing/readControl/solenoidValve6`, data) }, //电磁阀7 solenoidValve7(data) { - return sendGetRequest(`/readControl/solenoidValve7`, data) + return sendGetRequest(`/jiaxing/readControl/solenoidValve7`, data) }, //电磁阀8 solenoidValve8(data) { - return sendGetRequest(`/readControl/solenoidValve8`, data) + return sendGetRequest(`/jiaxing/readControl/solenoidValve8`, data) }, //强制通道输出 forceChannelOutput(data) { - return sendGetRequest(`/readControl/forceChannelOutput`, data) + return sendGetRequest(`/jiaxing/readControl/forceChannelOutput`, data) }, //天窗 readskylight(data) { - return sendGetRequest(`/readControl/readskylight`, data) + return sendGetRequest(`/jiaxing/readControl/readskylight`, data) }, //空调 airconditioner(data) { - return sendGetRequest(`/readControl/airconditioner`, data) + return sendGetRequest(`/jiaxing/readControl/airconditioner`, data) }, //固有参数 intrinsicParameter(data) { - return sendGetRequest(`/readControl/intrinsicParameter`, data) + return sendGetRequest(`/jiaxing/readControl/intrinsicParameter`, data) }, //厂家内部参数 manufacturerparameter(data) { - return sendGetRequest(`/readControl/manufacturerparameter`, data) + return sendGetRequest(`/jiaxing/readControl/manufacturerparameter`, data) }, //高压微雾 highpressuremist(data) { - return sendGetRequest(`/readControl/highpressuremist`, data) + return sendGetRequest(`/jiaxing/readControl/highpressuremist`, data) }, //内遮阳 innercurtain(data) { - return sendGetRequest(`/readControl/innercurtain`, data) + return sendGetRequest(`/jiaxing/readControl/innercurtain`, data) }, //外遮阳 externalsunshade(data) { - return sendGetRequest(`/readControl/externalsunshade`, data) + return sendGetRequest(`/jiaxing/readControl/externalsunshade`, data) }, //风机湿帘 fanwetcurtain(data) { - return sendGetRequest(`/readControl/fanwetcurtain`, data) + return sendGetRequest(`/jiaxing/readControl/fanwetcurtain`, data) }, //补光灯 readfilllight(data) { - return sendGetRequest(`/readControl/readfilllight`, data) + return sendGetRequest(`/jiaxing/readControl/readfilllight`, data) }, //CO2补气 co2replenishment(data) { - return sendGetRequest(`/readControl/co2replenishment`, data) + return sendGetRequest(`/jiaxing/readControl/co2replenishment`, data) }, //冷暖风机 heatfan(data) { - return sendGetRequest(`/readControl/heatfan`, data) + return sendGetRequest(`/jiaxing/readControl/heatfan`, data) }, //内保温 interiorthermalinsulation(data) { - return sendGetRequest(`/readControl/interiorthermalinsulation`, data) + return sendGetRequest(`/jiaxing/readControl/interiorthermalinsulation`, data) }, //立面保温 facadeinsulation(data) { - return sendGetRequest(`/readControl/facadeinsulation`, data) + return sendGetRequest(`/jiaxing/readControl/facadeinsulation`, data) }, //环流风扇 readcirculationfan(data) { - return sendGetRequest(`/readControl/readcirculationfan`, data) + return sendGetRequest(`/jiaxing/readControl/readcirculationfan`, data) }, //报警设置 readalarmSetting(data) { - return sendGetRequest(`/readControl/alarmSetting`, data) + return sendGetRequest(`/jiaxing/readControl/alarmSetting`, data) }, //报警设置 readalarmSetting(data) { - return sendGetRequest(`/readControl/alarmSetting`, data) + return sendGetRequest(`/jiaxing/readControl/alarmSetting`, data) }, //主页查看施肥机历史数据 selFsTime(data) { - return sendPostRequest(`/selFs/time`, data) + return sendPostRequest(`/jiaxing/selFs/time`, data) }, //主页查看施肥机历史数据 loadHistorydata(data) { - return sendPostRequest(`/load/historydata`, data) + return sendPostRequest(`/jiaxing/load/historydata`, data) }, //查看抓取图片历史数据 imageReadtoday(data) { - return sendPostRequest(`/image/readtoday`, data) + return sendPostRequest(`/jiaxing/image/readtoday`, data) }, //下载图片 imageUploadImage(data) { - return sendPostRequest(`/image/uploadImage`, data) + return sendPostRequest(`/jiaxing/image/uploadImage`, data) }, //摄像头操作开始 cameraStart(cameraSerialNumber,cameraChannelNumber,num) { - return sendPostRequest(`/camera/start?cameraid=${cameraSerialNumber}&channelid=${cameraChannelNumber}&direction=${num}`) + return sendPostRequest(`/jiaxing/camera/start?cameraid=${cameraSerialNumber}&channelid=${cameraChannelNumber}&direction=${num}`) }, //摄像头操作结束 cameraStop(cameraSerialNumber,cameraChannelNumber,num) { - return sendPostRequest(`/camera/stop?cameraid=${cameraSerialNumber}&channelid=${cameraChannelNumber}&direction=${num}`) + return sendPostRequest(`/jiaxing/camera/stop?cameraid=${cameraSerialNumber}&channelid=${cameraChannelNumber}&direction=${num}`) }, //管理模块 //根据用户ID获取账户设备 selUserbyid(data){ - return sendGetRequest(`/sel/userbyid/`+data, '') + return sendGetRequest(`/jiaxing/sel/userbyid/`+data, ``) }, //根据设备ID获取设备状态值 selControlPermissions(data){ - return sendGetRequest(`/getcontrol/selControlPermissions`, data) + return sendGetRequest(`/jiaxing/getcontrol/selControlPermissions`, data) }, //根据设备ID修改设备状态值 putpermission(data){ - return sendPutRequest(`/getcontrol/putpermission`, data) + return sendPutRequest(`/jiaxing/getcontrol/putpermission`, data) }, //根据权限id修改权限显示或者隐藏 updatePermissionState(data){ - return sendPutRequest(`/getcontrol/updatePermissionState`, data) + return sendPutRequest(`/jiaxing/getcontrol/updatePermissionState`, data) }, //根据设备ID获取设备控制值 selpermission(data){ - return sendGetRequest(`/getcontrol/selpermission`, data) + return sendGetRequest(`/jiaxing/getcontrol/selpermission`, data) }, //根据设备ID修改设备控制值 putControlpermission(data){ - return sendPutRequest(`/getcontrol/putControlpermission`, data) + return sendPutRequest(`/jiaxing/getcontrol/putControlpermission`, data) }, //根据ID修改施肥机数据 updatedevice(data){ - return sendPutRequest(`/device/updatedevice`, data) + return sendPutRequest(`/jiaxing/device/updatedevice`, data) }, //根据ID修改施肥机名字 updateFsname(data){ - return sendPutRequest(`/update/fsname`, data) + return sendPutRequest(`/jiaxing/update/fsname`, data) }, //根据用户ID添加小程序气象站 addphoneeqData(data) { - return sendPostRequest(`/getcontrol/addphoneeqData`, data) + return sendPostRequest(`/jiaxing/getcontrol/addphoneeqData`, data) }, //根据用户ID删除小程序气象站 delphoneeqData(data) { - return sendDelRequest(`/getcontrol/delphoneeqData`, data) + return sendDelRequest(`/jiaxing/getcontrol/delphoneeqData`, data) }, //根据用户ID修改小程序气象站 updatephoneeqData(data) { - return sendPutRequest(`/getcontrol/updatephoneeqData`, data) + return sendPutRequest(`/jiaxing/getcontrol/updatephoneeqData`, data) }, //修改大数据信息 updateDataDevice(data) { - return sendPutRequest(`/getcontrol/updateBigData`, data) + return sendPutRequest(`/jiaxing/getcontrol/updateBigData`, data) }, //小程序手机控制权限模块查询 wxgetpermission(data) { - return sendGetRequest(`/getcontrol/wxgetpermission`, data) + return sendGetRequest(`/jiaxing/getcontrol/wxgetpermission`, data) }, //查询所有用户 adminAll(data){ - return sendGetRequest(`/admin/all`, data) + return sendGetRequest(`/jiaxing/admin/all`, data) }, //更新用户信息 updateUser(data){ - return sendPutRequest(`/admin/add/userEquipment`, data) + return sendPutRequest(`/jiaxing/admin/add/userEquipment`, data) }, //添加用户信息 addUser(data){ - return sendPostRequest(`/admin/user`, data) + return sendPostRequest(`/jiaxing/admin/user`, data) }, //修改密码 updatePwd(data){ - return sendPutRequest(`/user/update/pwd`, data) + return sendPutRequest(`/jiaxing/user/update/pwd`, data) }, //设备查询 seldevice(data){ - return sendGetRequest(`/admin/seldevice`, data) + return sendGetRequest(`/jiaxing/admin/seldevice`, data) }, //删除设备信息 deldevice(data){ - return sendDelRequest(`/admin/deldevice`, data) + return sendDelRequest(`/jiaxing/admin/deldevice`, data) }, //修改手机控制名称 updatewxgetpermission(data){ - return sendPutRequest(`/getcontrol/updatewxgetpermission`, data) + return sendPutRequest(`/jiaxing/getcontrol/updatewxgetpermission`, data) }, //管理员/用户页面删除关联设备信息 delUserByid(data){ - return sendDelRequest(`/admin/delUserByid`, data) + return sendDelRequest(`/jiaxing/admin/delUserByid`, data) }, //管理员/用户页面添加关联设备信息 addUserByid(data){ - return sendPostRequest(`/admin/addUserByid`, data) + return sendPostRequest(`/jiaxing/admin/addUserByid`, data) }, //查询控制器权限 selectallPermissions(data){ - return sendGetRequest(`/getcontrol/selectallPermissions`, data) + return sendGetRequest(`/jiaxing/getcontrol/selectallPermissions`, data) }, //新增标准控制器权限 addpermissionall(equipmentId, data) { - return sendPostRequest(`/getcontrol/addpermissionall?deviceId=${equipmentId}`, data) + return sendPostRequest(`/jiaxing/getcontrol/addpermissionall?deviceId=${equipmentId}`, data) }, //管理控制器权限删除 delpermission(id1, id2) { - return sendDelRequest(`/getcontrol/delpermission?deviceId=${id1}&permissionid=${id2}`, '') + return sendDelRequest(`/jiaxing/getcontrol/delpermission?deviceId=${id1}&permissionid=${id2}`, ``) }, //管理控制器权限添加 addpermission(id1, id2) { - return sendPostRequest(`/getcontrol/addpermission?deviceId=${id1}&permissionid=${id2}`, '') + return sendPostRequest(`/jiaxing/getcontrol/addpermission?deviceId=${id1}&permissionid=${id2}`, ``) }, //管理 设备管理添加设备 addDevice(data){ - return sendPostRequest(`/admin/addDevice`, data) + return sendPostRequest(`/jiaxing/admin/addDevice`, data) }, //查询施肥级ICCID getFsIccid(data){ - return sendGetRequest(`/readControl/getFsIccid`, data) + return sendGetRequest(`/jiaxing/readControl/getFsIccid`, data) }, //查询控制器权限 getIccid(data){ - return sendGetRequest(`/readControl/getIccid`, data) + return sendGetRequest(`/jiaxing/readControl/getIccid`, data) }, //二维码溯源 //查看农事作物信息 getAgriculturalInformation(data) { - return sendGetRequest(`/code/getAgriculturalInformation`, data) + return sendGetRequest(`/jiaxing/code/getAgriculturalInformation`, data) }, //查看种植计划 getplant(data) { - return sendGetRequest(`/code/getplant`, data) + return sendGetRequest(`/jiaxing/code/getplant`, data) }, //查看农场信息管理 getcodeFarmInformationManagement(data) { - return sendGetRequest(`/code/getcodeFarmInformationManagement`, data) + return sendGetRequest(`/jiaxing/code/getcodeFarmInformationManagement`, data) }, //上传图片 uploadImage(data) { - return sendPostRequest(`/code/uploadImage`, data) + return sendPostRequest(`/jiaxing/code/uploadImage`, data) }, //管理页面上传图片 manageUploadImage(data) { - return sendUploadRequest(`/user/upload`, data) + return sendUploadRequest(`/jiaxing/user/upload`, data) }, //施肥机系统导入txt的 upLoadFsdataWriteValue(data) { - return sendUploadRequest(`/Fsdata/write/value`, data) + return sendUploadRequest(`/jiaxing/Fsdata/write/value`, data) }, //施肥机系统下载txt FsdataReadValuedownload(data) { - return sendPostRequest(`/Fsdata/read/value?devicecode=${data}`,'') + return sendPostRequest(`/jiaxing/Fsdata/read/value?devicecode=${data}`,``) }, //控制器系统导入 upLoadControlWriteValue(data) { - return sendUploadRequest(`/control/write/value`, data) + return sendUploadRequest(`/jiaxing/control/write/value`, data) }, //控制器系统下载txt controlReadValuedownload(data) { - return sendPostRequest(`/control/read/value?devicecode=${data}`,'') + return sendPostRequest(`/jiaxing/control/read/value?devicecode=${data}`,``) }, // 智能灌注 //主页查看智能灌溉控制器 getFi_rtdata(data) { - return sendGetRequest(`/getFi/rtdata`, data) + return sendGetRequest(`/jiaxing/getFi/rtdata`, data) }, //当天折线图 chart_fidata(data) { - return sendPostRequest(`/chart/fidata?equipmentId=${data}`,'') + return sendPostRequest(`/jiaxing/chart/fidata?equipmentId=${data}`,``) }, //智能灌溉1 readFi_irrigate(url,data) { @@ -684,57 +684,57 @@ getIccid(data){ }, //智能灌溉写入 postwriteFi_write(data) { - return sendPostRequest("/writeFi/write", data); + return sendPostRequest(`/jiaxing/writeFi/write`, data); }, //智能灌溉状态值 getFI_getState(data) { - return sendGetRequest("/getFI/getState", data); + return sendGetRequest(`/jiaxing/getFI/getState`, data); }, //智能灌溉系统参数 readControl_getFIIccid(data) { - return sendGetRequest("/readControl/getFIIccid", data); + return sendGetRequest(`/jiaxing/readControl/getFIIccid`, data); }, //智能灌溉系统导入txt的 upLoadFIwritevalue(data) { - return sendUploadRequest(`/FI/write/value`, data) + return sendUploadRequest(`/jiaxing/FI/write/value`, data) }, //智能灌溉系统导出下载txt FIreadvaluedownload(data) { - return sendPostRequest(`/FI/read/value?devicecode=${data}`,'') + return sendPostRequest(`/jiaxing/FI/read/value?devicecode=${data}`,``) }, //智能灌溉系统数据上传 readFi_datauploadfi(data) { - return sendGetRequest("/readFi/datauploadfi", data); + return sendGetRequest(`/jiaxing/readFi/datauploadfi`, data); }, //智能灌溉固有参数 readFi_intrinsicparameterfi(data) { - return sendGetRequest("/readFi/intrinsicparameterfi", data); + return sendGetRequest(`/jiaxing/readFi/intrinsicparameterfi`, data); }, //智能灌溉传感器通道 readFi_sensorchannelfi(data) { - return sendGetRequest("/readFi/sensorchannelfi", data); + return sendGetRequest(`/jiaxing/readFi/sensorchannelfi`, data); }, //智能灌溉的名称 getFi_getName(data) { - return sendGetRequest("/getFi/getName", data); + return sendGetRequest(`/jiaxing/getFi/getName`, data); }, //修改智能灌溉名称 getFi_updateName(data){ - return sendPutRequest(`/getFi/updateName`, data) + return sendPutRequest(`/jiaxing/getFi/updateName`, data) }, //系统页面备忘录获取 readControl_getMemo(data){ - return sendGetRequest(`/readControl/getMemo`, data) + return sendGetRequest(`/jiaxing/readControl/getMemo`, data) }, //系统页面备忘录修改 readControl_setMemo(data){ - return sendPostRequest(`/readControl/setMemo`, data) + return sendPostRequest(`/jiaxing/readControl/setMemo`, data) }, //根据设备id查询控制器权限 getcontrol_cpermission(data){ - return sendPostRequest(`/getcontrol/cpermission?deviceId=${data}`, '') + return sendPostRequest(`/jiaxing/getcontrol/cpermission?deviceId=${data}`, ``) }, @@ -742,61 +742,66 @@ getIccid(data){ //二维码溯源部分 //种植计划 code_getplant(data){ - return sendGetRequest(`/code/getplant`, data) + return sendGetRequest(`/jiaxing/code/getplant`, data) }, //官网接口 // 轮播图 website_getows(data){ - return sendGetRequest(`/website/getowsManagement`, data) + return sendGetRequest(`/jiaxing/website/getowsManagement`, data) }, website_addows(data){ - return sendPostRequest(`/website/addows`, data) + return sendPostRequest(`/jiaxing/website/addows`, data) }, website_updateows(data){ - return sendPutRequest(`/website/updateows`, data) + return sendPutRequest(`/jiaxing/website/updateows`, data) }, website_delows(data){ - return sendDelRequest(`/website/delows`, data) + return sendDelRequest(`/jiaxing/website/delows`, data) }, //产品展示 website_getowp(data){ - return sendGetRequest(`/website/getowp`, data) + return sendGetRequest(`/jiaxing/website/getowp`, data) }, website_getowpManagement(data){ - return sendGetRequest(`/website/getowpManagement`, data) + return sendGetRequest(`/jiaxing/website/getowpManagement`, data) }, website_addowp(data){ - return sendPostRequest(`/website/addowp`, data) + return sendPostRequest(`/jiaxing/website/addowp`, data) }, website_updateowp(data){ - return sendPutRequest(`/website/updateowp`, data) + return sendPutRequest(`/jiaxing/website/updateowp`, data) }, website_delowp(data){ - return sendDelRequest(`/website/delowp`, data) + return sendDelRequest(`/jiaxing/website/delowp`, data) }, // 综合 产品/案例/新闻列表 website_getowpabyowpidMan(data){ - return sendGetRequest(`/website/getowpabyowpidMan`, data) + return sendGetRequest(`/jiaxing/website/getowpabyowpidMan`, data) }, website_addops(data){ - return sendPostRequest(`/website/addops`, data) + return sendPostRequest(`/jiaxing/website/addops`, data) }, website_updateops(data){ - return sendPutRequest(`/website/updateops`, data) + return sendPutRequest(`/jiaxing/website/updateops`, data) }, website_delops(data){ - return sendDelRequest(`/website/delops`, data) + return sendDelRequest(`/jiaxing/website/delops`, data) }, //案例介绍 website_getcaseintroduction(data){ - return sendGetRequest(`/website/getcaseintroduction`, data) + return sendGetRequest(`/jiaxing/website/getcaseintroduction`, data) }, //管理官网页面上传图片 websiteUploadImage(data) { - return sendUploadRequest(`/website/uploadows`, data) + return sendUploadRequest(`/jiaxing/website/uploadows`, data) }, + + //虫情 + bugzhaodi_login(data){ + return sendGetRequest(`/jiaxing/bugzhaodi/login`, data) + }, }; diff --git a/src/assets/css/main.css b/src/assets/css/main.css index 0f3f840b..e66141b3 100644 --- a/src/assets/css/main.css +++ b/src/assets/css/main.css @@ -1,20 +1,20 @@ @charset "UTF-8"; -.scroll, .el-dropdown-menu, .index .index-content > .left, .index .index-content > .right.right-page .page-content, .formula .page-content, .realTime, .realTime .page-content .realTime-bottom.weather .left-view-new, .history .page-content .el-table--scrollable-x .el-table__body-wrapper, .vrcode-model .el-dialog, .el-table .el-table__body-wrapper { +.scroll, .el-dropdown-menu, .index .index-content > .left, .index .index-content > .right.right-page .page-content, .formula .page-content, .realTime, .realTime .page-content .realTime-bottom.weather .left-view-new, .history .page-content .el-table--scrollable-x .el-table__body-wrapper, .vrcode-model .el-dialog, .el-table .el-table__body-wrapper, .insectPestDetail .detail-data .image-list { overflow-y: auto; } -.scroll::-webkit-scrollbar, .el-dropdown-menu::-webkit-scrollbar, .index .index-content > .left::-webkit-scrollbar, .index .index-content > .right.right-page .page-content::-webkit-scrollbar, .formula .page-content::-webkit-scrollbar, .realTime::-webkit-scrollbar, .realTime .page-content .realTime-bottom.weather .left-view-new::-webkit-scrollbar, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar, .vrcode-model .el-dialog::-webkit-scrollbar, .el-table .el-table__body-wrapper::-webkit-scrollbar { +.scroll::-webkit-scrollbar, .el-dropdown-menu::-webkit-scrollbar, .index .index-content > .left::-webkit-scrollbar, .index .index-content > .right.right-page .page-content::-webkit-scrollbar, .formula .page-content::-webkit-scrollbar, .realTime::-webkit-scrollbar, .realTime .page-content .realTime-bottom.weather .left-view-new::-webkit-scrollbar, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar, .vrcode-model .el-dialog::-webkit-scrollbar, .el-table .el-table__body-wrapper::-webkit-scrollbar, .insectPestDetail .detail-data .image-list::-webkit-scrollbar { /*滚动条整体*/ width: 10px; cursor: pointer; } -.scroll::-webkit-scrollbar-track, .el-dropdown-menu::-webkit-scrollbar-track, .index .index-content > .left::-webkit-scrollbar-track, .index .index-content > .right.right-page .page-content::-webkit-scrollbar-track, .formula .page-content::-webkit-scrollbar-track, .realTime::-webkit-scrollbar-track, .realTime .page-content .realTime-bottom.weather .left-view-new::-webkit-scrollbar-track, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-track, .vrcode-model .el-dialog::-webkit-scrollbar-track, .el-table .el-table__body-wrapper::-webkit-scrollbar-track { +.scroll::-webkit-scrollbar-track, .el-dropdown-menu::-webkit-scrollbar-track, .index .index-content > .left::-webkit-scrollbar-track, .index .index-content > .right.right-page .page-content::-webkit-scrollbar-track, .formula .page-content::-webkit-scrollbar-track, .realTime::-webkit-scrollbar-track, .realTime .page-content .realTime-bottom.weather .left-view-new::-webkit-scrollbar-track, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-track, .vrcode-model .el-dialog::-webkit-scrollbar-track, .el-table .el-table__body-wrapper::-webkit-scrollbar-track, .insectPestDetail .detail-data .image-list::-webkit-scrollbar-track { /*滚动条轨道*/ background: #013769; } -.scroll::-webkit-scrollbar-thumb, .el-dropdown-menu::-webkit-scrollbar-thumb, .index .index-content > .left::-webkit-scrollbar-thumb, .index .index-content > .right.right-page .page-content::-webkit-scrollbar-thumb, .formula .page-content::-webkit-scrollbar-thumb, .realTime::-webkit-scrollbar-thumb, .realTime .page-content .realTime-bottom.weather .left-view-new::-webkit-scrollbar-thumb, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb, .vrcode-model .el-dialog::-webkit-scrollbar-thumb, .el-table .el-table__body-wrapper::-webkit-scrollbar-thumb { +.scroll::-webkit-scrollbar-thumb, .el-dropdown-menu::-webkit-scrollbar-thumb, .index .index-content > .left::-webkit-scrollbar-thumb, .index .index-content > .right.right-page .page-content::-webkit-scrollbar-thumb, .formula .page-content::-webkit-scrollbar-thumb, .realTime::-webkit-scrollbar-thumb, .realTime .page-content .realTime-bottom.weather .left-view-new::-webkit-scrollbar-thumb, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb, .vrcode-model .el-dialog::-webkit-scrollbar-thumb, .el-table .el-table__body-wrapper::-webkit-scrollbar-thumb, .insectPestDetail .detail-data .image-list::-webkit-scrollbar-thumb { /*滚动条里面的滑块*/ width: 4px; cursor: pointer; @@ -23,16 +23,18 @@ color: #0077b1; } -.scroll::-webkit-scrollbar-thumb:hover, .el-dropdown-menu::-webkit-scrollbar-thumb:hover, .index .index-content > .left::-webkit-scrollbar-thumb:hover, .index .index-content > .right.right-page .page-content::-webkit-scrollbar-thumb:hover, .formula .page-content::-webkit-scrollbar-thumb:hover, .realTime::-webkit-scrollbar-thumb:hover, .realTime .page-content .realTime-bottom.weather .left-view-new::-webkit-scrollbar-thumb:hover, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb:hover, .vrcode-model .el-dialog::-webkit-scrollbar-thumb:hover, .el-table .el-table__body-wrapper::-webkit-scrollbar-thumb:hover { +.scroll::-webkit-scrollbar-thumb:hover, .el-dropdown-menu::-webkit-scrollbar-thumb:hover, .index .index-content > .left::-webkit-scrollbar-thumb:hover, .index .index-content > .right.right-page .page-content::-webkit-scrollbar-thumb:hover, .formula .page-content::-webkit-scrollbar-thumb:hover, .realTime::-webkit-scrollbar-thumb:hover, .realTime .page-content .realTime-bottom.weather .left-view-new::-webkit-scrollbar-thumb:hover, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb:hover, .vrcode-model .el-dialog::-webkit-scrollbar-thumb:hover, .el-table .el-table__body-wrapper::-webkit-scrollbar-thumb:hover, .insectPestDetail .detail-data .image-list::-webkit-scrollbar-thumb:hover { /*滚动条鼠标事件,鼠标放上去出现的事件*/ } -.scroll::-webkit-scrollbar-corner, .el-dropdown-menu::-webkit-scrollbar-corner, .index .index-content > .left::-webkit-scrollbar-corner, .index .index-content > .right.right-page .page-content::-webkit-scrollbar-corner, .formula .page-content::-webkit-scrollbar-corner, .realTime::-webkit-scrollbar-corner, .realTime .page-content .realTime-bottom.weather .left-view-new::-webkit-scrollbar-corner, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-corner, .vrcode-model .el-dialog::-webkit-scrollbar-corner, .el-table .el-table__body-wrapper::-webkit-scrollbar-corner { +.scroll::-webkit-scrollbar-corner, .el-dropdown-menu::-webkit-scrollbar-corner, .index .index-content > .left::-webkit-scrollbar-corner, .index .index-content > .right.right-page .page-content::-webkit-scrollbar-corner, .formula .page-content::-webkit-scrollbar-corner, .realTime::-webkit-scrollbar-corner, .realTime .page-content .realTime-bottom.weather .left-view-new::-webkit-scrollbar-corner, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-corner, .vrcode-model .el-dialog::-webkit-scrollbar-corner, .el-table .el-table__body-wrapper::-webkit-scrollbar-corner, .insectPestDetail .detail-data .image-list::-webkit-scrollbar-corner { /*滚动条边角*/ } .tips-model { padding: 10px; + color: #ff7f00; + color: #ff7f00; color: #fff; } @@ -51,7 +53,8 @@ border: 1px solid #eee; } -.tips-model .tips-model-th, .tips-model .tips-model-tr { +.tips-model .tips-model-th, +.tips-model .tips-model-tr { width: 500px; display: flex; align-items: center; @@ -59,7 +62,8 @@ height: 20px; } -.tips-model .tips-model-th > div, .tips-model .tips-model-tr > div { +.tips-model .tips-model-th > div, +.tips-model .tips-model-tr > div { width: 20%; height: 100%; display: flex; @@ -3034,6 +3038,12 @@ textarea { align-items: center; } +.flex-between { + display: flex; + justify-content: space-between; + align-items: center; +} + .vrcode .el-menu, .el-submenu__title:hover, .el-menu-item:hover, @@ -3325,7 +3335,8 @@ textarea { margin-bottom: 10px; } -.manage-input input, .manage-input .input { +.manage-input input, +.manage-input .input { width: 240px; height: 44px; background: rgba(0, 186, 255, 0.15); @@ -3337,7 +3348,8 @@ textarea { cursor: pointer; } -.manage-input input::placeholder, .manage-input .input::placeholder { +.manage-input input::placeholder, +.manage-input .input::placeholder { color: #92B1D0; } @@ -3592,7 +3604,8 @@ textarea { cursor: pointer; } -.vrcode-model.manage-model .manage-img #sel-img, .vrcode-model.manage-model .manage-img #sel-img1 { +.vrcode-model.manage-model .manage-img #sel-img, +.vrcode-model.manage-model .manage-img #sel-img1 { width: 0; height: 0; position: absolute; @@ -4244,6 +4257,18 @@ textarea { color: #606266; } +.historyData.insectPestImage { + padding: 20px; + background: rgba(0, 132, 255, 0.15); + border: 2px solid rgba(0, 186, 255, 0.35); + width: 100%; + height: 100%; +} + +.historyData.insectPestImage .table-view .image-list > div { + width: 320px; +} + .historyData .table-view .el-table th.el-table__cell.is-leaf .cell { font-size: 14px !important; } @@ -4317,7 +4342,7 @@ textarea { border: 2px solid rgba(0, 186, 255, 0.2); } -.manage-page .scroll, .manage-page .el-dropdown-menu, .manage-page .index .index-content > .left, .index .manage-page .index-content > .left, .manage-page .index .index-content > .right.right-page .page-content, .index .index-content > .right.right-page .manage-page .page-content, .manage-page .formula .page-content, .formula .manage-page .page-content, .manage-page .realTime, .manage-page .realTime .page-content .realTime-bottom.weather .left-view-new, .realTime .page-content .realTime-bottom.weather .manage-page .left-view-new, .manage-page .history .page-content .el-table--scrollable-x .el-table__body-wrapper, .history .page-content .el-table--scrollable-x .manage-page .el-table__body-wrapper, .manage-page .vrcode-model .el-dialog, .vrcode-model .manage-page .el-dialog, .manage-page .el-table .el-table__body-wrapper, .el-table .manage-page .el-table__body-wrapper { +.manage-page .scroll, .manage-page .el-dropdown-menu, .manage-page .index .index-content > .left, .index .manage-page .index-content > .left, .manage-page .index .index-content > .right.right-page .page-content, .index .index-content > .right.right-page .manage-page .page-content, .manage-page .formula .page-content, .formula .manage-page .page-content, .manage-page .realTime, .manage-page .realTime .page-content .realTime-bottom.weather .left-view-new, .realTime .page-content .realTime-bottom.weather .manage-page .left-view-new, .manage-page .history .page-content .el-table--scrollable-x .el-table__body-wrapper, .history .page-content .el-table--scrollable-x .manage-page .el-table__body-wrapper, .manage-page .vrcode-model .el-dialog, .vrcode-model .manage-page .el-dialog, .manage-page .el-table .el-table__body-wrapper, .el-table .manage-page .el-table__body-wrapper, .manage-page .insectPestDetail .detail-data .image-list, .insectPestDetail .detail-data .manage-page .image-list { flex-wrap: nowrap !important; } @@ -4450,3 +4475,97 @@ textarea { width: 6px; height: 4px; } + +.insectPestDetail { + width: 100%; + height: 100%; + display: flex; + justify-content: space-between; + flex-direction: column; +} + +.insectPestDetail .look-all { + cursor: pointer; +} + +.insectPestDetail .detail-info { + width: 100%; + height: 49%; + background: rgba(0, 92, 178, 0.15); + border: 2px solid rgba(0, 186, 255, 0.2); + padding: 20px 30px 0; +} + +.insectPestDetail .detail-info .detail-div { + height: calc(100% - 37px); + display: flex; + justify-content: space-between; + align-items: center; +} + +.insectPestDetail .detail-info .detail-div .detail-img { + width: 200px; + height: 90%; +} + +.insectPestDetail .detail-info .detail-div .detail-img > img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.insectPestDetail .detail-info .detail-div .detail-detail { + width: calc(100% - 220px); + min-height: 50%; + display: grid; + grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); + grid-row-gap: 10px; + grid-column-gap: 10px; +} + +.insectPestDetail .detail-info .detail-div .detail-detail .detail-detail-div .title { + font-weight: bold; + margin-bottom: 5px; +} + +.insectPestDetail .detail-data { + width: 100%; + height: 49%; + display: flex; + justify-content: space-between; +} + +.insectPestDetail .detail-data > div { + width: 49%; + background: rgba(0, 92, 178, 0.15); + border: 2px solid rgba(0, 186, 255, 0.2); + padding: 20px 30px 0; +} + +.insectPestDetail .detail-data .charts { + width: 100%; + height: calc(100% - 37px); +} + +.insectPestDetail .detail-data .detail-image { + display: flex; + justify-content: space-between; + flex-direction: column; +} + +.insectPestDetail .detail-data .image-list { + display: grid; + grid-template-columns: repeat(3, 1fr); + grid-row-gap: 10px; + grid-column-gap: 10px; + height: calc(100% - 47px); +} + +.insectPestDetail .detail-data .image-list .image-div { + max-width: 300px; +} + +.insectPestDetail .detail-data .image-list .image-time { + text-align: center; + width: 100%; +} diff --git a/src/assets/css/main.scss b/src/assets/css/main.scss index 90aa54b7..7e1d7237 100644 --- a/src/assets/css/main.scss +++ b/src/assets/css/main.scss @@ -33,28 +33,37 @@ } } -.tips-model{ + +.tips-model { padding: 10px; + color: #ff7f00; + color: #ff7f00; color: #fff; - .tips-model-title{ + + .tips-model-title { font-size: 18px; font-weight: bold; } - .tips-model-text{ - font-size:14px; + + .tips-model-text { + font-size: 14px; padding: 5px 20px; } - .tips-model-table{ + + .tips-model-table { width: 500px; border: 1px solid #eee; } - .tips-model-th,.tips-model-tr{ + + .tips-model-th, + .tips-model-tr { width: 500px; display: flex; align-items: center; justify-content: space-between; height: 20px; - >div{ + + >div { width: 20%; height: 100%; display: flex; @@ -64,6 +73,7 @@ } } } + .mobile-scroll { overflow-y: auto; @@ -120,34 +130,41 @@ max-height: 300px; @extend .scroll; } -textarea{ - resize: none; + +textarea { + resize: none; } + .border-none { border: none !important; } -.formula .page-content{ + +.formula .page-content { position: relative; - .export{ + + .export { position: absolute; right: 30px; - top: 20px; + top: 20px; display: flex; align-items: center; - .export-btn{ + + .export-btn { height: 44px; background: rgba(0, 186, 255, 0.15); - border: 2px solid rgba(0, 186, 255, 0.4); - line-height: 42px; - margin-left: 20px; - padding: 0 10px; - cursor: pointer; - } + border: 2px solid rgba(0, 186, 255, 0.4); + line-height: 42px; + margin-left: 20px; + padding: 0 10px; + cursor: pointer; + } } } -.el-collapse-item__header{ + +.el-collapse-item__header { line-height: unset; } + .collapse { .el-collapse { border: none; @@ -313,6 +330,7 @@ textarea{ margin-top: -70px; color: #fff; + .btn.green { opacity: 1; } @@ -322,6 +340,7 @@ textarea{ padding: 0 30px 25px; color: #fff; + .input-main { margin: 0; @@ -407,6 +426,7 @@ textarea{ background-position: center top; color: #fff; + .no-list { color: #fff; display: flex; @@ -435,11 +455,13 @@ textarea{ display: flex; align-items: center; padding: 10px; - .logo-img{ + + .logo-img { position: relative; z-index: 2; margin-right: 10px; } + .logo-bg { width: 373px; height: 99px; @@ -449,8 +471,10 @@ textarea{ top: 0; z-index: 1; } - .logo-title{ - position: relative;z-index: 2; + + .logo-title { + position: relative; + z-index: 2; font-size: 35px; color: #fff; } @@ -633,6 +657,7 @@ textarea{ margin-top: 15px; color: #fff; + >div { flex-shrink: 0; margin-right: 20px; @@ -649,6 +674,7 @@ textarea{ .input-sel { color: #fff; + >span { padding: 0 10px; } @@ -725,14 +751,17 @@ textarea{ .border-right { border-right: 1px solid rgba(2, 148, 226, 0.5); } -.input-main-200{ - input{ - width: 200px!important; + +.input-main-200 { + input { + width: 200px !important; } } + .input-main { - + color: #fff; + span { padding: 0 10px; } @@ -740,7 +769,7 @@ textarea{ div { margin-bottom: 10px; } - + input { width: 134px; height: 44px; @@ -797,6 +826,7 @@ textarea{ margin: 0 15px 0 0 !important; color: #fff; + >div { width: 30px; height: 30px; @@ -834,21 +864,25 @@ textarea{ span { padding: 0 10px; - &.tips{ + + &.tips { color: rgba(255, 255, 255, 0.7); font-size: 14px; } } -&.h-44{ - input{ - height: 44px; + + &.h-44 { + input { + height: 44px; + } } -} -&.input-main-100{ - input{ - width: 100px; + + &.input-main-100 { + input { + width: 100px; + } } -} + input { width: 60px; height: 34px; @@ -865,7 +899,8 @@ textarea{ &::placeholder { color: #859BB6; } - &.w-100{ + + &.w-100 { width: 100px; } } @@ -878,6 +913,7 @@ textarea{ align-items: center; color: #fff; + &.table-input { justify-content: center; @@ -914,8 +950,9 @@ textarea{ font-weight: bold; font-size: 24px; } + .popper__arrow { - display: none!important; + display: none !important; } .el-dropdown-menu { @@ -924,6 +961,7 @@ textarea{ background-color: #014781; color: #fff; + &.input-menu-180 { width: 180px; } @@ -994,11 +1032,12 @@ textarea{ background-position: left center; min-width: 302px; } + &.title-402 { background: url(../image/title-302.png) no-repeat center; background-size: 402px 43px; background-position: left center; - min-width:402px; + min-width: 402px; } } @@ -1028,6 +1067,7 @@ textarea{ margin-top: 30px; color: #fff; + .cell { text-align: center; } @@ -1224,7 +1264,8 @@ textarea{ margin-top: 20px; display: flex; align-items: center; - >img{ + + >img { width: 40px; height: 40px; } @@ -1242,6 +1283,7 @@ textarea{ align-items: center; flex-wrap: wrap; color: #fff; + >div { flex-shrink: 0; margin: 4.5px 0; @@ -1387,9 +1429,11 @@ textarea{ color: #00C8FF; margin: 7.5px 10px; cursor: pointer; - &.w-250{ + + &.w-250 { width: 250px; } + >img { margin-right: 10px; } @@ -1405,6 +1449,7 @@ textarea{ .PIDSet { color: #fff; + .flex-view { border-bottom: none; } @@ -1504,7 +1549,8 @@ textarea{ font-family: Microsoft YaHei; font-weight: 400; color: #A8B6C8; - &.system-textarea{ + + &.system-textarea { padding: 10px; height: auto; min-height: 101px; @@ -1513,6 +1559,7 @@ textarea{ .upload { color: #fff; + .upload-view { width: 520px; height: 520px; @@ -1572,6 +1619,7 @@ textarea{ height: 100%; color: #fff; + .sensor-view { display: flex; align-items: center; @@ -1760,6 +1808,7 @@ textarea{ .el-dialog__wrapper { color: #fff; + .el-dialog { background: rgba(0, 59, 114, 0.8); border: 2px solid rgba(0, 186, 255, 0.35); @@ -1919,6 +1968,7 @@ textarea{ .login { color: #fff; + .login-header { position: relative; width: 100%; @@ -2069,6 +2119,7 @@ textarea{ .dataModel { height: 650px; color: #fff; + .view-new { width: 100%; display: flex; @@ -2076,9 +2127,10 @@ textarea{ flex-wrap: wrap; padding: 20px 30px 0; - &.border{ + &.border { border-bottom: 1px solid rgba(0, 186, 255, 0.2); } + .list-view { flex-shrink: 0; display: flex; @@ -2087,6 +2139,7 @@ textarea{ margin-right: 20px; margin-bottom: 20px; min-width: 160px; + img { width: 60px; height: 60px; @@ -2607,12 +2660,14 @@ textarea{ justify-content: space-between; width: 100%; padding: 0 50px; - &.text-blue{ - >div{ + + &.text-blue { + >div { font-size: 18px; - color: #00C0F7; + color: #00C0F7; } } + >div { display: flex; align-items: center; @@ -3080,6 +3135,7 @@ textarea{ .synthesis-con { color: #fff; + .synthesis-content { width: 100%; display: flex; @@ -3185,11 +3241,18 @@ textarea{ align-items: center; } + .flex-start { display: flex; justify-content: flex-start; align-items: center; +} +.flex-between { + display: flex; + justify-content: space-between; + align-items: center; + } .vrcode .el-menu, .el-submenu__title:hover, @@ -3249,6 +3312,7 @@ textarea{ display: flex; align-items: center; color: #fff; + .img { width: 16px; height: 16px; @@ -3504,7 +3568,8 @@ textarea{ margin-bottom: 10px; } - input,.input { + input, + .input { width: 240px; height: 44px; background: rgba(0, 186, 255, 0.15); @@ -3514,49 +3579,57 @@ textarea{ font-weight: 400; color: #FFFFFF; cursor: pointer; + &::placeholder { color: #92B1D0; } } } -.m-t-34{ +.m-t-34 { margin-top: 34px; } -.manage-textarea{ - width: 100%; - .input-title { - font-family: Microsoft YaHei; - font-weight: 400; - font-size: 16px; - color: #FFFFFF; - margin-bottom: 10px; -} -textarea{ + +.manage-textarea { width: 100%; - padding:10px; - height: 110px; - background: rgba(0, 186, 255, 0.15); - border: 2px solid rgba(0, 186, 255, 0.4); - padding-left: 15px; - font-family: Microsoft YaHei; - font-weight: 400; - color: #FFFFFF; -} + + .input-title { + font-family: Microsoft YaHei; + font-weight: 400; + font-size: 16px; + color: #FFFFFF; + margin-bottom: 10px; + } + + textarea { + width: 100%; + padding: 10px; + height: 110px; + background: rgba(0, 186, 255, 0.15); + border: 2px solid rgba(0, 186, 255, 0.4); + padding-left: 15px; + font-family: Microsoft YaHei; + font-weight: 400; + color: #FFFFFF; + } } .vrcode-input-sel { margin-right: 30px; margin-bottom: 15px; - &.w-100{ + + &.w-100 { width: calc(100% - 30px); - .el-dropdown{ + + .el-dropdown { width: 100%; } - .el-dropdown-link{ + + .el-dropdown-link { width: 100%; } } + >.title { margin-bottom: 7px; } @@ -3566,7 +3639,7 @@ textarea{ height: 44px; cursor: pointer; position: relative; - + input { width: 100%; height: 100%; @@ -3599,7 +3672,8 @@ textarea{ >img { width: 6px; height: 4px; - &.search{ + + &.search { width: 16px; height: 16px; } @@ -3664,20 +3738,25 @@ textarea{ } } } -.flex-view{ - .vrcode-input-sel .el-dropdown-link{ + +.flex-view { + .vrcode-input-sel .el-dropdown-link { height: 40px; } - .vrcode-input-sel{ + + .vrcode-input-sel { margin-right: 10px; } - .vrcode-input{ + + .vrcode-input { margin-right: 10px; } - .vrcode-selimage{ + + .vrcode-selimage { width: auto; } } + .vrcode-title { width: 100%; margin-bottom: 15px; @@ -3700,12 +3779,14 @@ textarea{ transform: translateY(-50%); } } + .vrcode-model { color: #fff; + &.manage-model { .el-dialog { background: rgba(0, 59, 114, 0.8); - + border: 2px solid rgba(0, 186, 255, 0.35); } @@ -3716,11 +3797,12 @@ textarea{ grid-template-columns: repeat(2, 1fr); grid-row-gap: 0px; //纵向间隔 grid-column-gap: 20px; //横向间隔 - &.grid-3{ + + &.grid-3 { grid-template-columns: repeat(3, 1fr); } - - &.flex-no{ + + &.flex-no { display: block; } } @@ -3734,6 +3816,7 @@ textarea{ .dialog-footer { justify-content: flex-start; } + .manage-img { width: 380px; position: relative; @@ -3744,21 +3827,25 @@ textarea{ display: flex; align-items: center; justify-content: center; + img { width: 360px; height: auto; min-height: 200px; max-height: 360px; } - .upload-img{ + + .upload-img { width: 100px; height: 100px; min-height: unset; cursor: pointer; } + padding: 10px; - #sel-img,#sel-img1 { + #sel-img, + #sel-img1 { width: 0; height: 0; position: absolute; @@ -3766,9 +3853,8 @@ textarea{ top: 0; } } - .manage-right { - - } + + .manage-right {} .manage-text { width: 240px; @@ -3784,7 +3870,7 @@ textarea{ font-size: 14px; color: #00C0F7; } - + .manage-img-small { width: 240px; height: 160px; @@ -3831,6 +3917,7 @@ textarea{ font-weight: bold; text-align: left; color: #fff; + &.vrcode-model-title-282 { background: url(../img/vrcode-title-282.png) no-repeat; background-size: 282px 43px; @@ -3871,7 +3958,7 @@ textarea{ } } - + &.confirm-psw { .el-dialog__body { @@ -3892,7 +3979,7 @@ textarea{ height: calc(100% - 43px); padding: 0 30px; - + } } @@ -3905,6 +3992,7 @@ textarea{ } } + .vrcode-view { width: 100%; padding: 20px 0 15px 0; @@ -3917,16 +4005,20 @@ textarea{ flex-shrink: 0; } } + .vrcode-input { width: 300px; margin-right: 30px; margin-bottom: 15px; - &.w-100{ + + &.w-100 { width: calc(100% - 30px); } - &.w-50{ + + &.w-50 { width: calc(50% - 30px); } + .input-title { font-size: 16px; font-family: Microsoft YaHei; @@ -3936,7 +4028,7 @@ textarea{ } input { - width:100%; + width: 100%; height: 44px; background: rgba(90, 210, 255, 0.25); border: 2px solid rgba(86, 209, 255, 0.5); @@ -3958,10 +4050,12 @@ textarea{ >.title { margin-bottom: 7px; } - .tips{ + + .tips { font-size: 16px; -color: #FF9999; + color: #FF9999; } + .sel-image-view { display: flex; align-items: center; @@ -4181,6 +4275,7 @@ color: #FF9999; overflow: auto; padding: 0 30px; color: #fff; + >div { width: 33%; white-space: nowrap; @@ -4200,6 +4295,7 @@ color: #FF9999; align-items: center; justify-content: space-between; color: #fff; + .setsuyuan-page { width: 375px; height: 736px; @@ -4442,6 +4538,24 @@ color: #FF9999; } .historyData { + &.insectPestImage{ + padding: 20px; + background: rgba(0, 132, 255, 0.15); + border: 2px solid rgba(0, 186, 255, 0.35); + width: 100%; + height: 100%; + .table-view{ + .image-list{ + >div{ + width: 320px; + } + .image-time{ + + } + } + } + + } .table-view { .el-table th.el-table__cell.is-leaf .cell { font-size: 14px !important; @@ -4668,7 +4782,96 @@ color: #FF9999; >img { width: 6px; height: 4px; - + + } + } + } +} + + +.insectPestDetail { + width: 100%; + height: 100%; + display: flex; + justify-content: space-between; + flex-direction: column; + .look-all{ + cursor: pointer; + } + .detail-info { + width: 100%; + height: 49%; + background: rgba(0, 92, 178, 0.15); + border: 2px solid rgba(0, 186, 255, 0.2); + padding: 20px 30px 0; + .detail-div{ + height: calc(100% - 37px); + display: flex; + justify-content: space-between; + align-items: center; + .detail-img{ + width: 200px; + height: 90%; + >img{ + width: 100%; + height: 100%; + object-fit: cover; + } + } + .detail-detail{ + width: calc(100% - 220px); + min-height: 50%; + display: grid; + grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); + grid-row-gap: 10px; //纵向间隔 + grid-column-gap: 10px; //横向间隔 + .detail-detail-div{ + .title{ + font-weight: bold; + margin-bottom: 5px; + } + } + } + } + } + + .detail-data { + width: 100%; + height: 49%; + display: flex; + justify-content: space-between; + + >div { + width: 49%; + background: rgba(0, 92, 178, 0.15); + border: 2px solid rgba(0, 186, 255, 0.2); + padding: 20px 30px 0; + } + + .charts { + width: 100%; + height: calc(100% - 37px); + } + .detail-image{ + display: flex; + justify-content: space-between; + flex-direction: column; + } + .image-list { + display: grid; + grid-template-columns: repeat(3, 1fr); + grid-row-gap: 10px; //纵向间隔 + grid-column-gap: 10px; //横向间隔 + height: calc(100% - 47px); + @extend .scroll; + + .image-div { + max-width: 300px; + } + + .image-time { + text-align: center; + width: 100%; } } } diff --git a/src/assets/image/index-icon1.png b/src/assets/image/index-icon1.png new file mode 100644 index 00000000..e582cd4b Binary files /dev/null and b/src/assets/image/index-icon1.png differ diff --git a/src/assets/image/pest.png b/src/assets/image/pest.png new file mode 100644 index 00000000..9f988add Binary files /dev/null and b/src/assets/image/pest.png differ diff --git a/src/assets/js/charts.js b/src/assets/js/charts.js index b8ec4225..515d7ba2 100644 --- a/src/assets/js/charts.js +++ b/src/assets/js/charts.js @@ -1,177 +1,177 @@ import * as echarts from "echarts"; import store from '../../store/index' +const colorList = [new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(0, 187, 136, 0.50)", + }, + { + offset: 0.8, + color: "rgba(0, 187, 136, 0)", + }, + ], + false +), +new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(252, 125, 106, 0.50)", + }, + { + offset: 0.8, + color: "rgba(252, 125, 106, 0)", + }, + ], + false +), new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(252, 223, 39, 0.50)", + }, + { + offset: 0.8, + color: "rgba(252, 223, 39, 0)", + }, + ], + false +), new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(68, 214, 232, 0.50)", + }, + { + offset: 0.8, + color: "rgba(68, 214, 232, 0)", + }, + ], + false +), new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(69, 224, 155, 0.50)", + }, + { + offset: 0.8, + color: "rgba(69, 224, 155, 0)", + }, + ], + false +), new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(82, 188, 255, 0.50)", + }, + { + offset: 0.8, + color: "rgba(82, 188, 255, 0)", + }, + ], + false +), new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(214, 162, 255, 0.50)", + }, + { + offset: 0.8, + color: "rgba(214, 162, 255, 0)", + }, + ], + false +), new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(255, 192, 111, 0.50)", + }, + { + offset: 0.8, + color: "rgba(255, 192, 111, 0)", + }, + ], + false +), new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(255, 156, 154, 0.50)", + }, + { + offset: 0.8, + color: "rgba(255, 156, 154, 0)", + }, + ], + false +), new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(255, 156, 154, 0.50)", + }, + { + offset: 0.8, + color: "rgba(255, 156, 154, 0)", + }, + ], + false +), +] +const colorList1 = ['rgba(0, 187, 136, 1)', 'rgba(252, 125, 106, 1)', 'rgba(252, 223, 39, 1)', 'rgba(68, 214, 232, 1)', +'rgba(69, 224, 155, 1)', 'rgba(82, 188, 255, 1)', 'rgba(214, 162, 255, 1)', 'rgba(255, 192, 111, 1)', 'rgba(255, 156, 154, 1)', 'rgba(255, 156, 154, 1)'] export function realTimeLine(id, data,pageId) { var chartDom = document.getElementById(id); var myChart = echarts.init(chartDom); chartDom.removeAttribute('_echarts_instance_')//解决切换页面echarts不显示的问题 var Xdata = [] - var colorList1 = ['rgba(0, 187, 136, 1)', 'rgba(252, 125, 106, 1)', 'rgba(252, 223, 39, 1)', 'rgba(68, 214, 232, 1)', - 'rgba(69, 224, 155, 1)', 'rgba(82, 188, 255, 1)', 'rgba(214, 162, 255, 1)', 'rgba(255, 192, 111, 1)', 'rgba(255, 156, 154, 1)', 'rgba(255, 156, 154, 1)'] - var colorList = [new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(0, 187, 136, 0.50)", - }, - { - offset: 0.8, - color: "rgba(0, 187, 136, 0)", - }, - ], - false - ), - new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(252, 125, 106, 0.50)", - }, - { - offset: 0.8, - color: "rgba(252, 125, 106, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(252, 223, 39, 0.50)", - }, - { - offset: 0.8, - color: "rgba(252, 223, 39, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(68, 214, 232, 0.50)", - }, - { - offset: 0.8, - color: "rgba(68, 214, 232, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(69, 224, 155, 0.50)", - }, - { - offset: 0.8, - color: "rgba(69, 224, 155, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(82, 188, 255, 0.50)", - }, - { - offset: 0.8, - color: "rgba(82, 188, 255, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(214, 162, 255, 0.50)", - }, - { - offset: 0.8, - color: "rgba(214, 162, 255, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(255, 192, 111, 0.50)", - }, - { - offset: 0.8, - color: "rgba(255, 192, 111, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(255, 156, 154, 0.50)", - }, - { - offset: 0.8, - color: "rgba(255, 156, 154, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(255, 156, 154, 0.50)", - }, - { - offset: 0.8, - color: "rgba(255, 156, 154, 0)", - }, - ], - false - ), - - ] + // var equipmentList=store.state.equipmentSelList var equipmentList=JSON.parse(localStorage.getItem('equipmentSelList')) @@ -374,172 +374,7 @@ export function realTimeLine1(id, data,pageId) { var myChart = echarts.init(chartDom); chartDom.removeAttribute('_echarts_instance_')//解决切换页面echarts不显示的问题 var Xdata = [] - var colorList1 = ['rgba(0, 187, 136, 1)', 'rgba(252, 125, 106, 1)', 'rgba(252, 223, 39, 1)', 'rgba(68, 214, 232, 1)', - 'rgba(69, 224, 155, 1)', 'rgba(82, 188, 255, 1)', 'rgba(214, 162, 255, 1)', 'rgba(255, 192, 111, 1)', 'rgba(255, 156, 154, 1)', 'rgba(255, 156, 154, 1)'] - var colorList = [new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(0, 187, 136, 0.50)", - }, - { - offset: 0.8, - color: "rgba(0, 187, 136, 0)", - }, - ], - false - ), - new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(252, 125, 106, 0.50)", - }, - { - offset: 0.8, - color: "rgba(252, 125, 106, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(252, 223, 39, 0.50)", - }, - { - offset: 0.8, - color: "rgba(252, 223, 39, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(68, 214, 232, 0.50)", - }, - { - offset: 0.8, - color: "rgba(68, 214, 232, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(69, 224, 155, 0.50)", - }, - { - offset: 0.8, - color: "rgba(69, 224, 155, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(82, 188, 255, 0.50)", - }, - { - offset: 0.8, - color: "rgba(82, 188, 255, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(214, 162, 255, 0.50)", - }, - { - offset: 0.8, - color: "rgba(214, 162, 255, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(255, 192, 111, 0.50)", - }, - { - offset: 0.8, - color: "rgba(255, 192, 111, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(255, 156, 154, 0.50)", - }, - { - offset: 0.8, - color: "rgba(255, 156, 154, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(255, 156, 154, 0.50)", - }, - { - offset: 0.8, - color: "rgba(255, 156, 154, 0)", - }, - ], - false - ), - - ] + // var equipmentList=store.state.equipmentSelList var equipmentList=JSON.parse(localStorage.getItem('equipmentSelList')) @@ -742,172 +577,7 @@ export function realTimeLine2(id, data,pageId) { var myChart = echarts.init(chartDom); chartDom.removeAttribute('_echarts_instance_')//解决切换页面echarts不显示的问题 var Xdata = [] - var colorList1 = ['rgba(0, 187, 136, 1)', 'rgba(252, 125, 106, 1)', 'rgba(252, 223, 39, 1)', 'rgba(68, 214, 232, 1)', - 'rgba(69, 224, 155, 1)', 'rgba(82, 188, 255, 1)', 'rgba(214, 162, 255, 1)', 'rgba(255, 192, 111, 1)', 'rgba(255, 156, 154, 1)', 'rgba(255, 156, 154, 1)'] - var colorList = [new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(0, 187, 136, 0.50)", - }, - { - offset: 0.8, - color: "rgba(0, 187, 136, 0)", - }, - ], - false - ), - new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(252, 125, 106, 0.50)", - }, - { - offset: 0.8, - color: "rgba(252, 125, 106, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(252, 223, 39, 0.50)", - }, - { - offset: 0.8, - color: "rgba(252, 223, 39, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(68, 214, 232, 0.50)", - }, - { - offset: 0.8, - color: "rgba(68, 214, 232, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(69, 224, 155, 0.50)", - }, - { - offset: 0.8, - color: "rgba(69, 224, 155, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(82, 188, 255, 0.50)", - }, - { - offset: 0.8, - color: "rgba(82, 188, 255, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(214, 162, 255, 0.50)", - }, - { - offset: 0.8, - color: "rgba(214, 162, 255, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(255, 192, 111, 0.50)", - }, - { - offset: 0.8, - color: "rgba(255, 192, 111, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(255, 156, 154, 0.50)", - }, - { - offset: 0.8, - color: "rgba(255, 156, 154, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(255, 156, 154, 0.50)", - }, - { - offset: 0.8, - color: "rgba(255, 156, 154, 0)", - }, - ], - false - ), - - ] + // var equipmentList=store.state.equipmentSelList var equipmentList=JSON.parse(localStorage.getItem('equipmentSelList')) @@ -1080,6 +750,147 @@ export function realTimeLine2(id, data,pageId) { myChart.resize(); }); } +// 虫情页面charts +export function pestLine(id, data) { + var chartDom = document.getElementById(id); + var myChart = echarts.init(chartDom); + chartDom.removeAttribute('_echarts_instance_')//解决切换页面echarts不显示的问题 + + var Xdata = data.data.list.map(item => item.datetime); + var selList=Object.keys(data.header) + var list = selList.map((type,index) => { + return { + name: data.header[type], + data: data.data.list.map(item => parseInt(item[type] || 0)), + type: "line", + symbol: "circle", + smooth: true, + symbolSize: 5, + showSymbol: false, + lineStyle: { + normal: { + width: 2, + }, + }, + areaStyle: { + normal: { + color: colorList[index], + }, + }, + itemStyle: { + normal: { + color: colorList1[index], + borderColor: colorList1[index], + borderWidth: 1, + }, + }, + } + }); + + + var option = { + tooltip: { + trigger: "axis", + axisPointer: { + lineStyle: { + color: "#57617B", + }, + }, + extraCssText: 'z-index: 9999;', // 设置 z-index + }, + legend: { + icon: "circle", + itemWidth: 10, + itemHeight: 10, + type: 'scroll', // 启用翻页 + data: list, + selected: selList, + right: "center", + top:10, + itemGap: 10, + width:'90%', + height:20, + textStyle: { + fontSize: 12, + color: "#fff", + lineHeight: 30, + }, + pageTextStyle: { + color: '#fff', // 设置翻页文字颜色 + }, + pageIconColor: '#fff', // 设置翻页按钮颜色 + }, + + grid: { + left: "3%", + right: "10%", + bottom: "5%", + containLabel: true, + }, + xAxis: [ + { + type: "category", + boundaryGap: false, + axisTick: { + show: false, + }, + axisLine: { + + lineStyle: { + color: "#fff", + type: 'dashed' + }, + }, + data: Xdata, + }, + + ], + yAxis: [ + { + type: "value", + name: "", + axisTick: { + show: false, + }, + axisLine: { + lineStyle: { + color: "#fff", + type: 'dashed' + }, + }, + axisLabel: { + margin: 10, + textStyle: { + fontSize: 14, + }, + }, + splitLine: { + lineStyle: { + color: "rgba(104, 168, 205, 1)", + type: 'dashed' + }, + }, + }, + ], + series: list, + }; + option && myChart.setOption(option); + myChart.resize(); + + // myChart.on('legendselectchanged', function (params) { + // equipmentList.forEach((obj,index) => { + // if (obj.deviceId== pageId) { + // // 在找到的对象中添加参数 + // obj.selList=params.selected + + // } + // }); + // localStorage.setItem('equipmentSelList', JSON.stringify(equipmentList)) + // }); + window.addEventListener("resize", function () { + myChart.resize(); + }); +} export function statusCharts(id, data) { var chartDom = document.getElementById(id); diff --git a/src/router/index.js b/src/router/index.js index 088fb7da..f4c5aad8 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -39,6 +39,12 @@ const routes = [ name: 'largeScreen1', component: () => import('../views/page/largeScreen1.vue') }, + // 虫情查看的 + { + path: '/imageViewer', + name: 'imageViewer', + component: () => import('../views/insectPest/imageViewer.vue'), + }, { path: '/index', name: 'index', @@ -161,8 +167,25 @@ const routes = [ name: 'officialWebsiteDetail', component: () => import('../views/officialWebsite/detail.vue') }, + { + path: '/insectPest', + name: 'insectPest', + component: () => import('../views/insectPest.vue'), + redirect: '/insectPestDetail', + children: [{ + path: '/insectPestDetail', + name: 'insectPestDetail', + component: () => import('../views/insectPest/detail.vue') + },{ + path: '/insectPestImageList', + name: 'insectPestImageList', + component: () => import('../views/insectPest/imageList.vue') + }, + ] + }, ] }, + { path: '/control', name: 'control', @@ -333,7 +356,7 @@ const routes = [ },] },] }, - + { path: '/vrcode', name: 'vrcode', diff --git a/src/views/index.vue b/src/views/index.vue index 95b91a3e..cae20477 100644 --- a/src/views/index.vue +++ b/src/views/index.vue @@ -86,6 +86,7 @@ + \ No newline at end of file diff --git a/src/views/insectPest/InsectDetectionCanvas.vue b/src/views/insectPest/InsectDetectionCanvas.vue new file mode 100644 index 00000000..75c61ef9 --- /dev/null +++ b/src/views/insectPest/InsectDetectionCanvas.vue @@ -0,0 +1,237 @@ + + + + + \ No newline at end of file diff --git a/src/views/insectPest/detail.vue b/src/views/insectPest/detail.vue new file mode 100644 index 00000000..95c39908 --- /dev/null +++ b/src/views/insectPest/detail.vue @@ -0,0 +1,174 @@ + + + diff --git a/src/views/insectPest/imageList.vue b/src/views/insectPest/imageList.vue new file mode 100644 index 00000000..9bb61bcf --- /dev/null +++ b/src/views/insectPest/imageList.vue @@ -0,0 +1,178 @@ + + + \ No newline at end of file diff --git a/src/views/insectPest/imageViewer.vue b/src/views/insectPest/imageViewer.vue new file mode 100644 index 00000000..2160b46e --- /dev/null +++ b/src/views/insectPest/imageViewer.vue @@ -0,0 +1,62 @@ + + + + + \ No newline at end of file diff --git a/src/views/page/largeScreen.vue b/src/views/page/largeScreen.vue index 064cf86b..ad96d7ef 100644 --- a/src/views/page/largeScreen.vue +++ b/src/views/page/largeScreen.vue @@ -227,7 +227,26 @@ -
+
+
虫情图片
+
+
+ +
+ +
+
+
{{ item.shootTime }}
+
+
+
虫情趋势图
+
+
+
@@ -445,6 +464,10 @@ import EZUIKit from "ezuikit-js"; import videojs from "video.js"; import video_zhCN from "video.js/dist/lang/zh-CN.json"; import vueSeamless from "vue-seamless-scroll"; + +import axios from "axios"; + +import { pestLine } from "@/assets/js/charts"; export default { name: "largeScreen", components: { vueSeamless }, @@ -574,8 +597,12 @@ export default { }, ], - // 金山吕港草莓数据 + // 金山吕港草莓数据id12 imgUrl: '', + //长兴前卫柑桔新优品种扩繁基地id13单独虫情接口数据 + imageList: [], + chartsData: null, + srcList: [], }; }, beforeMount() { @@ -713,13 +740,78 @@ export default { } }) } + // 长兴前卫柑桔新优品种扩繁基地 id为13 有单独的虫情接口 + if(limitUserId == 13){ + this.getImage(); + this.getCharts(); + } } } }); }, + getTimeNew() { + // 获取当前日期(格式:YYYY-MM-DD) + const today = new Date().toISOString().split("T")[0]; + return today; + }, + getTime7() { + // 获取一周前的日期(格式:YYYY-MM-DD) + const oneWeekAgo = new Date(); + oneWeekAgo.setDate(oneWeekAgo.getDate() - 7); + const formattedOneWeekAgo = oneWeekAgo.toISOString().split("T")[0]; + return formattedOneWeekAgo; + }, + // 获取图片列表 + getImage() { + var data = { + beginTime: this.getTime7(), + endTime: this.getTimeNew(), + deviceId: 613, + pageNum: 1, + pageSize: 4, + }; + axios + .post(`/api1/api/v1/getDeviceImages`, data, { + headers: { + //头部参数 + Authorization: localStorage.getItem("CQtoken") + ? localStorage.getItem("CQtoken") + : "", + }, + }) + .then((res) => { + if (res.data.code == 200) { + this.imageList = res.data.data.list; + this.srcList = this.imageList.map((item) => item.imageUrl); + } + }); + }, + // 左下角虫情趋势图 + getCharts() { + var data = { + beginTime: this.getTime7(), + endTime: this.getTimeNew(), + deviceId: 613, + }; + axios + .post(`/api1/api/v1/getInsectChartData`, data, { + headers: { + //头部参数 + Authorization: localStorage.getItem("CQtoken") + ? localStorage.getItem("CQtoken") + : "", + }, + }) + .then((res) => { + if (res.data.code == 200) { + this.chartsData = res.data; + pestLine("pest-charts", this.chartsData); + } + }); + }, // 获取设备当天的温度 get_weather_echart_data(deviceId) { this.api.Bigdata_getTemperature(deviceId).then((res1) => { @@ -1962,6 +2054,20 @@ export default { justify-content: space-between; box-sizing: border-box; padding: 0 0.66rem; + + .e_title { + width: 3.98rem; + height: 0.19rem; + background: url("../../assets/img/environmentData_bg.png") center no-repeat; + background-size: 100% 100%; + font-size: 0.18rem; + font-family: AlibabaPuHuiTiM; + font-weight: 500; + color: #83ccff; + box-sizing: border-box; + padding-left: 0.32rem; + line-height: 0.19rem; + } .left { width: 4rem; @@ -2041,20 +2147,6 @@ export default { height: calc((100% - 4.04rem) / 2); } - .e_title { - width: 3.98rem; - height: 0.19rem; - background: url("../../assets/img/environmentData_bg.png") center no-repeat; - background-size: 100% 100%; - font-size: 0.18rem; - font-family: AlibabaPuHuiTiM; - font-weight: 500; - color: #83ccff; - box-sizing: border-box; - padding-left: 0.32rem; - line-height: 0.19rem; - } - .environmentData { width: 3.98rem; height: 3.27rem; @@ -3027,7 +3119,21 @@ export default { top: 0.56rem; right: 0.66rem; z-index: 999; - + .right-image-list{ + padding: 20px 0; + display: grid; + grid-template-columns: repeat(2, 1fr); + grid-row-gap: 10px; //纵向间隔 + grid-column-gap: 10px; //横向间隔 + .image-time{ + text-align: center; + color: #fff; + } + } + .right-image-list,.right-charts{ + width: 100%; + height: calc((100% - .38rem) / 2); + } .liveVideo { width: 4rem; height: 0.43rem; diff --git a/vue.config.js b/vue.config.js index 5dde2e7d..bb10b84e 100644 --- a/vue.config.js +++ b/vue.config.js @@ -40,14 +40,21 @@ module.exports = { devServer: { // https:true, proxy: { - "/api": { - target: 'https://api.lihe-control.com', //地址 + "/jiaxing": { + // target: 'https://api.lihe-control.com', //地址 // target: 'http://jiaxingtest.a1.luyouxia.net:21114', //地址 - // target: 'http://jiaxingtest.a1.luyouxia.net:25762', //地址 + target: 'http://jiaxingtest.a1.luyouxia.net:25762', //地址 changeOrigin: true, pathRewrite: { - "^/api": "", + "^/jiaxing": "", + }, + }, + "/api1": { + target: 'https://zdny.zznongyeyiqi.com', //地址 + changeOrigin: true, + pathRewrite: { + "^/api1": "", }, }, },