pc-master #255

Merged
xiaomeng merged 2 commits from pc-master into portal 2025-06-23 06:58:41 +00:00
92 changed files with 1665 additions and 1036 deletions

View File

@ -262,7 +262,7 @@ geteqetdata(data) {
}, },
// 数据采集器的实时数据 // 数据采集器的实时数据
getdataRtdata(data) { getdataRtdata(data) {
return sendGetRequest(`/getdata/rtdata?deviceId=` + data, ``) return sendGetRequest(`/getdata/rtdata`, data)
}, },
//测试施肥机读取设备状态信息 //读取数据 根据文档编号读取 所有数据展示都出自这个接口 //测试施肥机读取设备状态信息 //读取数据 根据文档编号读取 所有数据展示都出自这个接口
postReg(data) { postReg(data) {
@ -281,11 +281,11 @@ getdataRtdata(data) {
}, },
//获取实时数据 //获取实时数据
postRtdata(data) { postRtdata(data) {
return sendPostRequest(`/getFs/rtdata?equipmentId=` + data, ``); return sendPostParamsRequest(`/getFs/rtdata`, data);
}, },
//获取实时数据 //获取实时数据
postFsdata(data) { postFsdata(data) {
return sendPostRequest(`/chart/fsdata?equipmentId=` + data, ``); return sendPostParamsRequest(`/chart/fsdata`, data);
}, },
//获取监控地址 //获取监控地址
getGethls(data) { getGethls(data) {
@ -299,12 +299,12 @@ getdataRtdata(data) {
//控制器接口 //控制器接口
//控制器实时数据 //控制器实时数据
getControlRtdata(data) { getControlRtdata(params) {
return sendPostRequest(`/getcontrol/rtdata?equipmentId=` + data, ``); return sendPostParamsRequest(`/getcontrol/rtdata` ,params);
}, },
//控制器实时数据折线图 //控制器实时数据折线图
getControlFsdata(data) { getControlFsdata(params) {
return sendPostRequest(`/getcontrol/fsdata?equipmentId=` + data, ``); return sendPostParamsRequest(`/getcontrol/fsdata`,params);
}, },
//控制器数据上传数据获取 //控制器数据上传数据获取
getControldataUpload(data) { getControldataUpload(data) {
@ -336,7 +336,7 @@ getdataRtdata(data) {
}, },
//控制器 气象站实时数据折线图 //控制器 气象站实时数据折线图
getControlChartdata(data) { getControlChartdata(data) {
return sendPostRequest(`/equip/chartdata?equipmentId=` + data, ``) return sendPostParamsRequest(`/equip/chartdata`,data)
}, },
//首页历史数据/数据分析弹窗 //首页历史数据/数据分析弹窗
selFsAvgdata(data) { selFsAvgdata(data) {
@ -384,9 +384,7 @@ getdataRtdata(data) {
return sendGetRequest(`/readControl/getState?deviceId=${deviceId}`, data); return sendGetRequest(`/readControl/getState?deviceId=${deviceId}`, data);
}, },
getcontrol_rtDatastation(equipmentId, data) {
return sendGetRequest(`/getcontrol/rtDatastation?equipmentId=${equipmentId}`, data)
},
//控制器根据设备查看权限 //控制器根据设备查看权限
getcontrol_cpermission(equipmentId, data) { getcontrol_cpermission(equipmentId, data) {
return sendPostRequest(`/getcontrol/cpermission?deviceId=${equipmentId}`, data) return sendPostRequest(`/getcontrol/cpermission?deviceId=${equipmentId}`, data)
@ -745,7 +743,7 @@ getIccid(data){
}, },
//当天折线图 //当天折线图
chart_fidata(data) { chart_fidata(data) {
return sendPostRequest(`/chart/fidata?equipmentId=${data}`,``) return sendPostParamsRequest(`/chart/fidata`,data)
}, },
//智能灌溉1 //智能灌溉1
readFi_irrigate(url,data) { readFi_irrigate(url,data) {

View File

@ -192,7 +192,7 @@ textarea {
.collapse .no-list { .collapse .no-list {
width: 100%; width: 100%;
height: 76px; height: 76px;
line-height: 76px; line-height: 25px;
padding-left: 25px; padding-left: 25px;
border-bottom: 1px solid rgba(168, 182, 200, 0.2); border-bottom: 1px solid rgba(168, 182, 200, 0.2);
cursor: pointer; cursor: pointer;
@ -1329,7 +1329,7 @@ textarea {
} }
.btn.btn-w66 { .btn.btn-w66 {
width: 66px; min-width: 66px;
min-width: unset; min-width: unset;
} }
@ -2424,7 +2424,6 @@ textarea {
.realTime .page-content .realTime-bottom .left-view > div .video-control .video-btn > div > div { .realTime .page-content .realTime-bottom .left-view > div .video-control .video-btn > div > div {
white-space: nowrap; white-space: nowrap;
width: 40px;
} }
.realTime .page-content .realTime-bottom .right { .realTime .page-content .realTime-bottom .right {
@ -4025,6 +4024,7 @@ textarea {
font-size: 20px; font-size: 20px;
font-weight: bold; font-weight: bold;
padding: 15px 0; padding: 15px 0;
color: #fff;
} }
.model-sel { .model-sel {

View File

@ -203,7 +203,7 @@ textarea {
.no-list { .no-list {
width: 100%; width: 100%;
height: 76px; height: 76px;
line-height: 76px; line-height: 25px;
padding-left: 25px; padding-left: 25px;
border-bottom: 1px solid rgba(168, 182, 200, 0.2); border-bottom: 1px solid rgba(168, 182, 200, 0.2);
cursor: pointer; cursor: pointer;
@ -1401,7 +1401,7 @@ textarea {
} }
&.btn-w66 { &.btn-w66 {
width: 66px; min-width: 66px;
min-width: unset; min-width: unset;
} }
@ -2557,7 +2557,6 @@ textarea {
>div { >div {
white-space: nowrap; white-space: nowrap;
width: 40px;
} }
} }
} }
@ -4283,6 +4282,7 @@ textarea {
font-size: 20px; font-size: 20px;
font-weight: bold; font-weight: bold;
padding: 15px 0; padding: 15px 0;
color: #fff;
} }
.model-sel { .model-sel {

View File

@ -1,11 +1,11 @@
<template> <template>
<div class="set-params collapse scroll"> <div class="set-params collapse scroll">
<div class="set-top"> <div class="set-top">
<img src="../assets/image/set-icon.png" alt="">设定值参数 <img src="../assets/image/set-icon.png" alt="">{{$t('setParams.title')}}
</div> </div>
<div class="set-tips"> <div class="set-tips">
<div @click="toHome($store.state.equipmentIndex)"> <div @click="toHome($store.state.equipmentIndex)">
{{ $store.state.equipmentList[$store.state.equipmentIndex - 1].deviceTypeName }}状态显示</div> {{ $t('setParams.statusDisplay', {deviceName: $store.state.equipmentList[$store.state.equipmentIndex - 1].deviceTypeName}) }}</div>
</div> </div>
<el-collapse v-model="$store.state.activeNames"> <el-collapse v-model="$store.state.activeNames">
<template v-for="item, index in routerList"> <template v-for="item, index in routerList">
@ -22,7 +22,7 @@
item1.name }} <div class="status" :class="item1.status == 0 ? 'outline' : 'online'" item1.name }} <div class="status" :class="item1.status == 0 ? 'outline' : 'online'"
v-if="item1.status >= 0">{{ item1.status v-if="item1.status >= 0">{{ item1.status
== 0 == 0
? '离线' : '在线' }}</div> ? $t('index.offline') : $t('index.online') }}</div>
</li> </li>
</ul> </ul>
</el-collapse-item> </el-collapse-item>
@ -37,46 +37,47 @@
export default { export default {
data() { data() {
return { return {
routerList: [
{ name: '施肥机配方设置', list: [], router: 'formula' },
{
name: '灌溉组配置', router: 'irrigateSet', list: [
{ name: '1#灌溉组配置', status: -1, router: 'irrigateSet', index: 1 },
{ name: '2#灌溉组配置', status: -1, router: 'irrigateSet', index: 2 },
{ name: '3#灌溉组配置', status: -1, router: 'irrigateSet', index: 3 },
{ name: '4#灌溉组配置', status: -1, router: 'irrigateSet', index: 4 },
{ name: '5#灌溉组配置', status: -1, router: 'irrigateSet', index: 5 },
{ name: '6#灌溉组配置', status: -1, router: 'irrigateSet', index: 6 },
{ name: '7#灌溉组配置', status: -1, router: 'irrigateSet', index: 7 },
{ name: '8#灌溉组配置', status: -1, router: 'irrigateSet', index: 8 },
{ name: '9#灌溉组配置', status: -1, router: 'irrigateSet', index: 9 },
{ name: '10#灌溉组配置', status: -1, router: 'irrigateSet', index: 10 },
{ name: '11#灌溉组配置', status: -1, router: 'irrigateSet', index: 11 },
{ name: '12#灌溉组配置', status: -1, router: 'irrigateSet', index: 12 },
{ name: '13#灌溉组配置', status: -1, router: 'irrigateSet', index: 13 },
{ name: '14#灌溉组配置', status: -1, router: 'irrigateSet', index: 14 },
{ name: '15#灌溉组配置', status: -1, router: 'irrigateSet', index: 15 },
{ name: '16#灌溉组配置', status: -1, router: 'irrigateSet', index: 16 }]
},
{ name: '厂家内部PID配置', list: [], router: 'PIDSet', isRouter: true, },
{ name: '系统参数配置', list: [], router: 'systemSet', isRouter: true, },
{ name: '传感器通道配置', list: [], router: 'sensorSet', isRouter: true, },
{ name: '数据上传', list: [], router: 'upload', isRouter: true, },],
routerNow: 'formula', routerNow: 'formula',
routerIndex: 1, routerIndex: 1,
routerList:[],
} }
}, },
watch: { watch: {
"$route"(newName, oldName) { "$route"(newName, oldName) {
this.gerRouter(); this.gerRouter();
}, },
'$i18n.locale'() {
this.initRouterList()
}
}, },
mounted() { mounted() {
this.gerRouter(); this.gerRouter();
this.dataInit() this.dataInit()
}, },
created(){
this.initRouterList()
},
methods: { methods: {
initRouterList(){
this.routerList=[
{ name: this.$t('setParams.formulaSettings'), list: [], router: 'formula' },
{
name:this.$t('setParams.irrigationGroupConfig'), router: 'irrigateSet', list: this.$t('setParams.irrigationGroups').map((name, index) => ({
name,
status: -1,
router: 'irrigateSet',
index: index + 1
}))
},
{ name: this.$t('setParams.internalPIDConfig'), list: [], router: 'PIDSet', isRouter: true, },
{ name:this.$t('setParams.systemParamsConfig'), list: [], router: 'systemSet', isRouter: true, },
{ name: this.$t('setParams.sensorChannelConfig'), list: [], router: 'sensorSet', isRouter: true, },
{ name: this.$t('setParams.dataUpload'), list: [], router: 'upload', isRouter: true, },]
setTimeout(() => {
this.getList()
}, 0);
},
/// ///
getByid() { getByid() {
var store = this.$store.state var store = this.$store.state

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="set-params collapse scroll"> <div class="set-params collapse scroll">
<div class="set-top"> <div class="set-top">
<img src="../assets/image/set-icon.png" alt="" />设定值参数 <img src="../assets/image/set-icon.png" alt="" />{{$t('setParams.title')}}
</div> </div>
<div class="set-tips"> <div class="set-tips">
<!-- <div @click="toHome($store.state.equipmentIndex)"> <!-- <div @click="toHome($store.state.equipmentIndex)">
@ -41,7 +41,7 @@
:class="item1.status == 0 ? 'outline' : 'online'" :class="item1.status == 0 ? 'outline' : 'online'"
v-if="item1.status >= 0" v-if="item1.status >= 0"
> >
{{ item1.status == 0 ? "离线" : "在线" }} {{ item1.status == 0 ? $t('index.offline') : $t('index.online') }} }}
</div> </div>
</li> </li>
</ul> </ul>
@ -81,6 +81,9 @@ export default {
this.dataInit(); this.dataInit();
} }
}, },
'$i18n.locale'() {
this.dataInit();
}
}, },
mounted() { mounted() {
this.gerRouter(); this.gerRouter();
@ -117,7 +120,7 @@ export default {
const that = this; const that = this;
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: "加载中", text:this.$t('message.loading'),
spinner: "el-icon-loading", spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)", background: "rgba(0, 0, 0, 0.7)",
}); });
@ -133,21 +136,21 @@ export default {
if (el.id == 1) { if (el.id == 1) {
var list = [ var list = [
{ {
name: "目标温度", name: this.$t('setParams.targetTemp'),
list: [], list: [],
router: "targetTemperature", router: "targetTemperature",
isRouter: true, isRouter: true,
index: 1, index: 1,
}, },
{ {
name: "目标湿度", name:this.$t('setParams.targetHumidity'),
list: [], list: [],
router: "targetHumidity", router: "targetHumidity",
isRouter: true, isRouter: true,
index: 2, index: 2,
}, },
{ {
name: "目标CO2", name:this.$t('setParams.targetCO2'),
list: [], list: [],
router: "targetCo2", router: "targetCo2",
isRouter: true, isRouter: true,
@ -179,37 +182,37 @@ export default {
} else if (el.id == 19) { } else if (el.id == 19) {
var list = [ var list = [
{ {
name: "通风窗1", name:this.$t('setParams.sunroofControl')+'1',
status: -1, status: -1,
router: "sunroofControl", router: "sunroofControl",
index: 1, index: 1,
}, },
{ {
name: "通风窗2", name: this.$t('setParams.sunroofControl')+"2",
status: -1, status: -1,
router: "sunroofControl", router: "sunroofControl",
index: 2, index: 2,
}, },
{ {
name: "通风窗3", name: this.$t('setParams.sunroofControl')+"3",
status: -1, status: -1,
router: "sunroofControl", router: "sunroofControl",
index: 3, index: 3,
}, },
{ {
name: "通风窗4", name: this.$t('setParams.sunroofControl')+"4",
status: -1, status: -1,
router: "sunroofControl", router: "sunroofControl",
index: 4, index: 4,
}, },
{ {
name: "通风窗5", name: this.$t('setParams.sunroofControl')+"5",
status: -1, status: -1,
router: "sunroofControl", router: "sunroofControl",
index: 5, index: 5,
}, },
{ {
name: "通风窗6", name: this.$t('setParams.sunroofControl')+"6",
status: -1, status: -1,
router: "sunroofControl", router: "sunroofControl",
index: 6, index: 6,
@ -231,13 +234,13 @@ export default {
} else if (el.id == 25) { } else if (el.id == 25) {
var list = [ var list = [
{ {
name: "外遮阳1", name: this.$t('setParams.outShade')+"1",
status: -1, status: -1,
router: "outsizeSunshade", router: "outsizeSunshade",
index: 1, index: 1,
}, },
{ {
name: "外遮阳2", name:this.$t('setParams.outShade')+"2",
status: -1, status: -1,
router: "outsizeSunshade", router: "outsizeSunshade",
index: 2, index: 2,
@ -259,13 +262,13 @@ export default {
} else if (el.id == 24) { } else if (el.id == 24) {
var list = [ var list = [
{ {
name: "内遮阳1", name: this.$t('setParams.inShade')+"1",
status: -1, status: -1,
router: "insizeSunshade", router: "insizeSunshade",
index: 1, index: 1,
}, },
{ {
name: "内遮阳2", name: this.$t('setParams.inShade')+"2",
status: -1, status: -1,
router: "insizeSunshade", router: "insizeSunshade",
index: 2, index: 2,
@ -287,13 +290,13 @@ export default {
} else if (el.id == 27) { } else if (el.id == 27) {
var list = [ var list = [
{ {
name: "内保温1", name: this.$t('setParams.inInsulation')+"1" ,
status: -1, status: -1,
router: "internalInsulation", router: "internalInsulation",
index: 1, index: 1,
}, },
{ {
name: "内保温2", name: this.$t('setParams.inInsulation')+"2" ,
status: -1, status: -1,
router: "internalInsulation", router: "internalInsulation",
index: 2, index: 2,
@ -315,25 +318,25 @@ export default {
} else if (el.id == 29) { } else if (el.id == 29) {
var list = [ var list = [
{ {
name: "立面保温1", name: this.$t('setParams.facadeInsulation')+"1",
status: -1, status: -1,
router: "facadeInsulation", router: "facadeInsulation",
index: 1, index: 1,
}, },
{ {
name: "立面保温2", name: this.$t('setParams.facadeInsulation')+"2",
status: -1, status: -1,
router: "facadeInsulation", router: "facadeInsulation",
index: 2, index: 2,
}, },
{ {
name: "立面保温3", name: this.$t('setParams.facadeInsulation')+"3",
status: -1, status: -1,
router: "facadeInsulation", router: "facadeInsulation",
index: 3, index: 3,
}, },
{ {
name: "立面保温4", name: this.$t('setParams.facadeInsulation')+"4",
status: -1, status: -1,
router: "facadeInsulation", router: "facadeInsulation",
index: 4, index: 4,
@ -354,9 +357,9 @@ export default {
}); });
} else if (el.id == 26) { } else if (el.id == 26) {
var list = [ var list = [
{ name: "风机", status: -1, router: "wetFan", index: 1 }, { name:this.$t('setParams.wetFan'), status: -1, router: "wetFan", index: 1 },
{ name: "湿帘泵", status: -1, router: "wetFan", index: 2 }, { name:this.$t('setParams.wetPump') , status: -1, router: "wetFan", index: 2 },
{ name: "湿帘外翻窗", status: -1, router: "wetFan", index: 3 }, { name:this.$t('setParams.wetWindow'), status: -1, router: "wetFan", index: 3 },
]; ];
let newList; let newList;
if (el.child.length) { if (el.child.length) {
@ -374,13 +377,13 @@ export default {
} else if (el.id == 21) { } else if (el.id == 21) {
var list = [ var list = [
{ {
name: "环流风扇1", name: this.$t('setParams.circulationFan')+"1",
status: -1, status: -1,
router: "circulationCan", router: "circulationCan",
index: 1, index: 1,
}, },
{ {
name: "环流风扇2", name: this.$t('setParams.circulationFan')+"2",
status: -1, status: -1,
router: "circulationCan", router: "circulationCan",
index: 2, index: 2,
@ -430,13 +433,13 @@ export default {
} else if (el.id == 23) { } else if (el.id == 23) {
var list = [ var list = [
{ {
name: "高压微雾1", name: this.$t('setParams.highPressureMist')+"1",
status: -1, status: -1,
router: "coercionMist", router: "coercionMist",
index: 1, index: 1,
}, },
{ {
name: "高压微雾2", name: this.$t('setParams.highPressureMist')+"2",
status: -1, status: -1,
router: "coercionMist", router: "coercionMist",
index: 2, index: 2,
@ -474,7 +477,7 @@ export default {
this.routerList.push({ this.routerList.push({
id: el.id, id: el.id,
sort: el.sort, sort: el.sort,
name: "电磁阀", name:this.$t('setParams.solenoidValve'),
list: [], list: [],
router: "electromagneticControl", router: "electromagneticControl",
}); });
@ -596,7 +599,7 @@ export default {
{ {
id: el.id, id: el.id,
sort: el.sort, sort: el.sort,
name: "加热水泵", name:this.$t('setParams.waterPump'),
list: [], list: [],
router: "waterPump", router: "waterPump",
isRouter: true, isRouter: true,
@ -604,7 +607,7 @@ export default {
{ {
id: el.id, id: el.id,
sort: el.sort, sort: el.sort,
name: "地热风机", name:this.$t('setParams.geothermalFan') ,
list: [], list: [],
router: "geothermalFan", router: "geothermalFan",
isRouter: true, isRouter: true,
@ -612,7 +615,7 @@ export default {
{ {
id: el.id, id: el.id,
sort: el.sort, sort: el.sort,
name: "上风口", name:this.$t('setParams.uptake') ,
list: [], list: [],
router: "uptake", router: "uptake",
isRouter: true, isRouter: true,
@ -620,7 +623,7 @@ export default {
{ {
id: el.id, id: el.id,
sort: el.sort, sort: el.sort,
name: "下风口", name:this.$t('setParams.downtake'),
list: [], list: [],
router: "downtake", router: "downtake",
isRouter: true, isRouter: true,
@ -628,7 +631,7 @@ export default {
{ {
id: el.id, id: el.id,
sort: el.sort, sort: el.sort,
name: "卷被", name:this.$t('setParams.rollByRoll') ,
list: [], list: [],
router: "rollByRoll", router: "rollByRoll",
isRouter: true, isRouter: true,
@ -636,7 +639,7 @@ export default {
{ {
id: el.id, id: el.id,
sort: el.sort, sort: el.sort,
name: "除雪", name:this.$t('setParams.snowRemoval') ,
list: [], list: [],
router: "snowRemoval", router: "snowRemoval",
isRouter: true, isRouter: true,
@ -652,7 +655,7 @@ export default {
) { ) {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: "加载中", text: this.$t('message.loading'),
spinner: "el-icon-loading", spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)", background: "rgba(0, 0, 0, 0.7)",
}); });
@ -722,33 +725,33 @@ export default {
{ {
id: el.id, id: el.id,
sort: el.sort, sort: el.sort,
name: "日光温室特殊参数(山地型温室)", name: this.$t('setParams.mountainGreenhouse'),
router: "skylight", router: "skylight",
list: [ list: [
{ name: "顶卷膜1", status: -1, router: "skylight", index: 1 }, { name: this.$t('setParams.skylight')+"1", status: -1, router: "skylight", index: 1 },
{ name: "顶卷膜2", status: -1, router: "skylight", index: 2 }, { name: this.$t('setParams.skylight')+"2", status: -1, router: "skylight", index: 2 },
{ name: "顶卷膜3", status: -1, router: "skylight", index: 3 }, { name: this.$t('setParams.skylight')+"3", status: -1, router: "skylight", index: 3 },
{ name: "顶卷膜4", status: -1, router: "skylight", index: 4 }, { name: this.$t('setParams.skylight')+"4", status: -1, router: "skylight", index: 4 },
], ],
}, },
{ {
id: el.id, id: el.id,
sort: el.sort, sort: el.sort,
name: "风机(山地型温室)", name:this.$t('setParams.mountainFan'),
router: "fan", router: "fan",
list: [ list: [
{ name: "风机1", status: -1, router: "fan", index: 1 }, { name:this.$t('setParams.fan')+"1", status: -1, router: "fan", index: 1 },
{ name: "风机2", status: -1, router: "fan", index: 2 }, { name:this.$t('setParams.fan')+"2", status: -1, router: "fan", index: 2 },
{ name: "风机3", status: -1, router: "fan", index: 3 }, { name:this.$t('setParams.fan')+"3", status: -1, router: "fan", index: 3 },
{ name: "风机4", status: -1, router: "fan", index: 4 }, { name:this.$t('setParams.fan')+"4", status: -1, router: "fan", index: 4 },
{ name: "风机5", status: -1, router: "fan", index: 5 }, { name:this.$t('setParams.fan')+"5", status: -1, router: "fan", index: 5 },
], ],
} }
); );
} else if (el.id == 30) { } else if (el.id == 30) {
var list = [ var list = [
{ name: "CO2补气", status: -1, router: "CO2", index: 1 }, { name:this.$t('setParams.CO2') , status: -1, router: "CO2", index: 1 },
{ name: "CO2补气", status: -1, router: "CO2", index: 2 }, { name: this.$t('setParams.CO2'), status: -1, router: "CO2", index: 2 },
]; ];
let newList; let newList;
if (el.child.length) { if (el.child.length) {
@ -767,9 +770,9 @@ export default {
} }
}); });
// this.routerList.sort((a, b) => a.sort - b.sort); // this.routerList.sort((a, b) => a.sort - b.sort);
this.$forceUpdate()
this.routerList.push({ this.routerList.push({
name: "系统参数配置", name:this.$t('setParams.systemParamsConfig'),
list: [], list: [],
router: "systemSet-con", router: "systemSet-con",
isRouter: true, isRouter: true,

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="set-params collapse scroll"> <div class="set-params collapse scroll">
<div class="set-top"> <div class="set-top">
<img src="../assets/image/set-icon.png" alt="">设定值参数 <img src="../assets/image/set-icon.png" alt="">{{$t('setParams.title')}}
</div> </div>
<!-- --> <!-- -->
<div class="set-tips" @click="toHome($store.state.equipmentIndex)"> <div class="set-tips" @click="toHome($store.state.equipmentIndex)">
@ -24,7 +24,7 @@
v-if="item1.status >= 0">{{ v-if="item1.status >= 0">{{
item1.status item1.status
== 0 == 0
? '离线' : '在线' }}</div> ? $t('index.offline') : $t('index.online') }}</div>
</li> </li>
</ul> </ul>
</el-collapse-item> </el-collapse-item>
@ -39,48 +39,46 @@
export default { export default {
data() { data() {
return { return {
routerList: [ routerList: [ ],
// { name: '', list: [], router: 'formula' },
{ name: `${this.$store.state.equipmentList[this.$store.state.equipmentIndex - 1].deviceTypeName}状态显示`, list: [], router: 'status-soil', isRouter: true, },
{
name: '灌溉组配置', router: 'irrigateSet-soil', list: [
{ name: '1#灌溉组配置', status: -1, router: 'irrigateSet-soil', index: 1 },
{ name: '2#灌溉组配置', status: -1, router: 'irrigateSet-soil', index: 2 },
{ name: '3#灌溉组配置', status: -1, router: 'irrigateSet-soil', index: 3 },
{ name: '4#灌溉组配置', status: -1, router: 'irrigateSet-soil', index: 4 },
{ name: '5#灌溉组配置', status: -1, router: 'irrigateSet-soil', index: 5 },
{ name: '6#灌溉组配置', status: -1, router: 'irrigateSet-soil', index: 6 },
{ name: '7#灌溉组配置', status: -1, router: 'irrigateSet-soil', index: 7 },
{ name: '8#灌溉组配置', status: -1, router: 'irrigateSet-soil', index: 8 },
{ name: '9#灌溉组配置', status: -1, router: 'irrigateSet-soil', index: 9 },
{ name: '10#灌溉组配置', status: -1, router: 'irrigateSet-soil', index: 10 },
{ name: '11#灌溉组配置', status: -1, router: 'irrigateSet-soil', index: 11 },
{ name: '12#灌溉组配置', status: -1, router: 'irrigateSet-soil', index: 12 },
{ name: '13#灌溉组配置', status: -1, router: 'irrigateSet-soil', index: 13 },
{ name: '14#灌溉组配置', status: -1, router: 'irrigateSet-soil', index: 14 },
{ name: '15#灌溉组配置', status: -1, router: 'irrigateSet-soil', index: 15 },
{ name: '16#灌溉组配置', status: -1, router: 'irrigateSet-soil', index: 16 }]
},
{ name: '固有参数', list: [], router: 'intrinsicParameter-soil', isRouter: true, },
{ name: '系统参数配置', list: [], router: 'systemSet-soil', isRouter: true, },
{ name: '传感器通道配置', list: [], router: 'sensorSet-soil', isRouter: true, },
{ name: '数据上传', list: [], router: 'upload-soil', isRouter: true, },],
routerNow: 'irrigateSet-soil', routerNow: 'irrigateSet-soil',
routerIndex: 1, routerIndex: 1,
namesArray:[]
} }
}, },
watch: { watch: {
"$route"(newName, oldName) { "$route"(newName, oldName) {
this.gerRouter(); this.gerRouter();
}, },
'$i18n.locale'() {
this.initRouterList()
}
},
created(){
this.initRouterList()
}, },
mounted() { mounted() {
this.gerRouter(); this.gerRouter();
this.dataInit() this.dataInit()
}, },
methods: { methods: {
initRouterList(){
this.routerList=[ { name: this.$t('setParams.statusDisplay', {deviceName: this.$store.state.equipmentList[this.$store.state.equipmentIndex - 1].deviceTypeName}), list: [], router: 'status-soil', isRouter: true, },
{
name:this.$t('setParams.irrigationGroupConfig'), router: 'irrigateSet-soil', list: this.$t('setParams.irrigationGroups').map((name, index) => ({
name,
status: -1,
router: 'irrigateSet-soil',
index: index + 1
}))
},
{ name:this.$t('setParams.intrinsicParams') , list: [], router: 'intrinsicParameter-soil', isRouter: true, },
{ name:this.$t('setParams.systemParamsConfig') , list: [], router: 'systemSet-soil', isRouter: true, },
{ name:this.$t('setParams.sensorChannelConfig'), list: [], router: 'sensorSet-soil', isRouter: true, },
{ name:this.$t('setParams.dataUpload') , list: [], router: 'upload-soil', isRouter: true, },]
setTimeout(() => {
this.getList()
}, 0);
},
/// ///
getByid() { getByid() {
var store = this.$store.state var store = this.$store.state
@ -111,44 +109,23 @@ export default {
this.api.getFi_getName(data).then(res => { this.api.getFi_getName(data).then(res => {
if (res.data.code == 200) { if (res.data.code == 200) {
// name1name16 // name1name16
const namesArray = []; this.namesArray = [];
for (let i = 1; i <= 16; i++) { for (let i = 1; i <= 16; i++) {
namesArray.push(res.data.data[`name${i}`]); this.namesArray.push(res.data.data[`name${i}`]);
} }
// routerList[1].listname // routerList[1].listname
this.routerList[1].list.forEach((item, index) => { this.getList()
if (index < namesArray.length) {
item.name = namesArray[index];
}
});
} }
}) })
}, },
getList() { getList() {
var store = this.$store.state var store = this.$store.state
// store.nameList.forEach((el, index) => { this.routerList[1].list.forEach((item, index) => {
// if (index < 8) { if (index < this.namesArray.length) {
// if (store.equipmentName['fertilization' + store.nameList[index]]) { item.name = this.namesArray[index];
// // store.equipmentName['fertilization'+store.nameList[index]] }
// this.routerList[0].list.push({ });
// name: '' + (index + 1),
// status: -1,
// index: index + 1,
// router: 'formula'
// })
// }
// }
// // if (store.equipmentName['solenoid' + store.nameList[index]]) {
// // // store.equipmentName['fertilization'+store.nameList[index]]
// // this.routerList[1].list.push({
// // name: store.equipmentName['solenoid' + store.nameList[index]],
// // status: -1,
// // index: index + 1,
// // router: 'irrigateSet'
// // })
// // }
// })
}, },
// //
toHome(index) { toHome(index) {

View File

@ -4,7 +4,6 @@ import VueI18n from "vue-i18n";
import zh from "element-ui/lib/locale/lang/zh-CN"; // element-ui的中文包 import zh from "element-ui/lib/locale/lang/zh-CN"; // element-ui的中文包
import en from "element-ui/lib/locale/lang/en"; // element-ui的英语包 import en from "element-ui/lib/locale/lang/en"; // element-ui的英语包
import { getLanguage, DEFAULT_LANGUAGE } from "../utils/language"; import { getLanguage, DEFAULT_LANGUAGE } from "../utils/language";
Vue.use(VueI18n); // 全局挂载 Vue.use(VueI18n); // 全局挂载
// 引入i18n // 引入i18n
const i18n = new VueI18n({ const i18n = new VueI18n({

View File

@ -10,8 +10,45 @@ module.exports = {
passwordPlaceholder: "Please enter password", passwordPlaceholder: "Please enter password",
loginSuccess: "Login Success", loginSuccess: "Login Success",
}, },
comparisonOperators: [
{ name: 'Greater than (>)', value: 1 },
{ name: 'Less than (<)', value: 2 },
{ name: 'Greater than or equal (>=)', value: 3 },
{ name: 'Less than or equal (<=)', value: 4 }
],
message:{
delete:'Delete successfully.',
add:'Added successfully',
change:'Modified successfully',
loading: 'Loading',
uploading:'Uploading',
},
placeholder:{
setValue: 'Set Value',
deviceCodePlaceholder: "Please select weather station device code",
statusPageNamePlaceholder: "Please enter fertilizer status page name",
cameraNamePlaceholder: "Please enter camera name",
cameraChannelPlaceholder: "Please enter camera channel number",
sortOrderPlaceholder: "Please enter sort order",
deviceNamePlaceholder: "Please enter device name",
quantityPlaceholder: "Please enter quantity",
},
nameText:{
sortOrder: "Sort Order",
operations: "Operations",
edit: "Edit",
delete: "Delete",
deleteContent: "Are you sure to delete this content?",
deviceCode: 'Device Code',
deviceName: "Device Name",
},
index: { index: {
// header // header
noData:'NO DATA',
confirm: 'Confirm',
cancel: 'Cancel',
cancel1: 'Cancel',
realTimeData: "Realtime", realTimeData: "Realtime",
setParams: "Params", setParams: "Params",
galleryData: "Gallery", galleryData: "Gallery",
@ -32,6 +69,7 @@ module.exports = {
pestMonitor: "Pest Monitoring", pestMonitor: "Pest Monitoring",
// management // management
mgmt:'Management',
userMgmt: "User Management", userMgmt: "User Management",
adminMgmt: "Admin Management", adminMgmt: "Admin Management",
deviceStatusConfig: "Device Status Settings", deviceStatusConfig: "Device Status Settings",
@ -54,16 +92,258 @@ module.exports = {
// system // system
welcome: "Welcome, ", welcome: "Welcome, ",
noPermission: "No access permission!", logoutSuccess: 'Logout successful',
developing: "Page under development", requestError: 'Request error',
noPageForDevice: "Not available for {device}", noPageForDevice: 'No this page for {device}',
logoutSuccess: "Logout successful", noPermission: 'You currently have no permission to view!',
pageDeveloping: 'This page is under development',
weatherStation: 'Weather station',
dataCollector: 'Data collector',
pestDevice: 'Pest monitoring device',
cardExpiryWarning: `<div>The IoT card <span class="color-red">{iccid}</span> for device <span class="color-red">{deviceName}</span> is about to expire. Remaining time: <span class="color-red">{daysDifference} days</span>. Please contact the administrator.</div>`,
notification: 'Notification',
// devices },
greenhouse: "Greenhouse",
fertigationMachine: "Fertigation Machine",
weatherStation: "Weather Station",
dataCollector: "Data Collector",
setParams: {
title: 'Parameter Settings',
statusDisplay: '{deviceName} Status Display',
formulaSettings: 'Fertilizer Formula Settings',
irrigationGroupConfig: 'Irrigation Group Configuration',
intrinsicParams: 'Intrinsic Parameters',
internalPIDConfig: 'Internal PID Configuration',
systemParamsConfig: 'System Parameters Configuration',
sensorChannelConfig: 'Sensor Channel Configuration',
dataUpload: 'Data Upload',
irrigationGroups: [
'Irrigation Group 1#', 'Irrigation Group 2#', 'Irrigation Group 3#', 'Irrigation Group 4#',
'Irrigation Group 5#', 'Irrigation Group 6#', 'Irrigation Group 7#', 'Irrigation Group 8#',
'Irrigation Group 9#', 'Irrigation Group 10#', 'Irrigation Group 11#', 'Irrigation Group 12#',
'Irrigation Group 13#', 'Irrigation Group 14#', 'Irrigation Group 15#', 'Irrigation Group 16#'
],
targetTemp: 'Target Temperature',
targetHumidity: 'Target Humidity',
targetCO2: 'Target CO2',
alarmSettings: 'Alarm Settings',
sunroofControl: 'Skylight',
outShade: 'External Shade',
inShade: 'Internal Shade',
inInsulation: 'Internal Insulation',
facadeInsulation: 'Facade Insulation',
wetCurtain: 'Wet Curtain System',
circulationFan: 'Circulation Fan',
airConditioning: 'Air Conditioning',
led: 'LED Control',
heatFan: 'Heater Fan',
highPressureMist: 'High Pressure Mist',
solenoidValve: 'Solenoid Valve',
sensorConfig: 'Sensor Configuration',
synthesis: 'Synthesis Settings',
upload: 'Data Upload',
forceOutput: 'Force Output',
intrinsicParams: 'Intrinsic Parameters',
parameterSet: 'Parameter Settings',
waterPump: 'Water Pump',
geothermalFan: 'Geothermal Fan',
uptake: 'Upper Vent',
downtake: 'Lower Vent',
rollByRoll: 'Rolling Curtain',
snowRemoval: 'Snow Removal',
mountainGreenhouse: 'Mountain Greenhouse Special Parameters',
mountainFan: 'Fan (Mountain Greenhouse)',
CO2: 'CO2 Supplement',
skylight: 'Rolling Film',
fan: 'Fan',
wetFan: 'Fan',
wetPump: 'Wet Curtain Pump',
wetWindow: 'Wet Curtain Window',
circulationFan: 'Circulation Fan',
highPressureMist: 'High Pressure Mist',
solenoidValve: 'Solenoid Valve',
CO2: 'CO2 Supplement'
},
realTime: {
target: 'Target',
average: 'Avg',
title: 'Real-time Data',
weatherStation: 'Ecological Weather Station',
deviceOffline: 'Device Offline',
smsAlarm: 'SMS Alarm',
viewAllData: 'View All Real-time Data',
deviceStatus: 'Device Operation Status',
fault:'fault',
iccid:'iccid',
sunrise: 'Sunrise',
sunset: 'Sunset',
batteryVoltage: 'Wireless Battery Voltage',
delete: 'Delete',
autoControl: 'Auto Control',
mobileControl: 'Mobile Control',
deviceInvalid: 'Device Invalid',
CalculationResults: 'Calculation results',
addDevice: 'Add Device',
clickToAdd: 'Click to Add',
heatingMode: 'Heating Mode',
heatingMode1: 'Heating Mode',
coolingMode: 'Cooling Mode',
autoMode: 'Auto Mode',
dehumidifyMode: 'Dehumidify Mode',
airSupplyMode: 'Air Supply Mode',
heatingCoolingMode: 'Heating/Cooling Mode',
light: 'Fill Light',
open: 'OPEN',
close: 'CLOSE',
return: 'RETURN',
status: {
still: 'Still',
opening: 'Opening',
closing: 'Closing',
unfolding: 'Unfolding',
folding: 'Folding',
openWindow: 'Open Window',
closeWindow: 'Close Window'
},
dialog:{
title: 'Please select devices to display',
choose:'Please select.',
confirm: 'Confirm'
},
alarm: {
title: 'Controller SMS Alarm Rules',
newRule: 'New Alarm Rule',
deviceCode: 'Device Code',
phone1: 'Phone 1',
phone2: 'Phone 2',
condition: 'Condition',
setValue: 'Set Value',
add: 'Add',
existingRules: 'Existing Rules',
alarmName: 'Alarm Name',
condition: 'Condition',
value: 'Value',
operation: 'Operation',
delete: 'Delete'
},
wirelessSensor: {
title: 'Wireless Sensor Debug Info',
batteryVoltage: 'Battery Voltage',
signalQuality: 'Signal Quality',
},
directions: {
north: 'North',
northeast: 'Northeast',
east: 'East',
southeast: 'Southeast',
south: 'South',
southwest: 'Southwest',
west: 'West',
northwest: 'Northwest'
},
},
imageGallery: {
title: 'Image Gallery',
title1: "Historical Data",
title2: "Data Analysis",
quickQuery: 'Quick Query',
today: 'Today',
yesterday: 'Yesterday',
custom: 'Custom',
timeRange: 'Time Range',
startTime: 'Start Time',
endTime: 'End Time',
to: 'to',
query: 'Search',
downloadImages: 'Download Images',
totalImages: 'Total {total} images',
imageList: 'Image List',
download: "Download",
dataStatistics: "Data Statistics",
time: "Time",
name: "Name",
difference: "Difference",
max: "Max",
min: "Min",
avg: "Average",
return: "Return"
},
videoMonitoring: {
title: "Video Monitoring",
topLeft: "Top Left",
topRight: "Top Right",
bottomLeft: "Bottom Left",
bottomRight: "Bottom Right",
zoomIn: "Zoom In",
zoomOut: "Zoom Out",
focusNear: "Focus Near",
focusFar: "Focus Far"
},
bigDataDevice: {
title: "Big Data Device Information",
tableHeaders: {
deviceCode: "Device Code",
deviceName: "Device Name",
variety: "Variety",
quantity: "Quantity",
growthStage: "Growth Stage",
operations: "Operations",
edit: "Edit",
delete: "Delete"
},
dialog: {
title: "Edit",
deviceCodePlaceholder: "Please select weather station device code",
varietyPlaceholder: "Please enter variety",
growthStagePlaceholder: "Please enter growth stage",
deviceNamePlaceholder: "Please enter device name",
quantityPlaceholder: "Please enter quantity",
confirm: "Confirm",
cancel: "Cancel",
deleteConfirmation: "Are you sure to delete this item?"
}
},
deviceManagement: {
title: "Device Information Management",
deviceTypes: {
fertilizer: "Fertilizer Machine",
controller: "Controller",
smartController: "Smart Controller",
weatherStation: "Ecological Weather Station",
dataCollector: "Data Collector"
},
tableHeaders: {
deviceCode: "Device Code",
deviceName: "Device Name",
operations: "Operations",
edit: "Edit",
modifyMoreNames: "Modify More Names",
permissionEdit: "Permission Edit"
},
dialogs: {
editTitle: "Edit",
modifyNamesTitle: "Modify More Names",
permissionManagement: "Controller Permission Management",
deviceCodePlaceholder: "Please enter device code",
deviceNamePlaceholder: "Please enter device name",
statusPageName: "Fertilizer Status Page Name",
cameraName: "Camera Name",
cameraChannel: "Camera Channel Number",
fertilizationRecipes: "Fertilization Recipes 1-8",
irrigationGroups: "Irrigation Groups 1-8",
irrigationGroups9_16: "Irrigation Groups 9-16",
externalDevices: "External Devices 1-4",
smartIrrigation: "Smart Irrigation 1-8",
smartIrrigation9_16: "Smart Irrigation 9-16",
recipePlaceholder: "Recipe {n}",
groupPlaceholder: "Group {n}",
externalPlaceholder: "External Device {n}",
smartPlaceholder:"Smart Irrigation {n}",
noteText: "If there is a camera, the image on the mini-program's camera main page will be updated hourly. If there is no camera, you can customize the image address information."
}
} }
}; };

View File

@ -1,4 +1,5 @@
module.exports = { module.exports = {
// 登录页面
login: { login: {
title: "用户登录", title: "用户登录",
login: "登录", login: "登录",
@ -10,7 +11,52 @@ module.exports = {
passwordPlaceholder: "请输入密码", passwordPlaceholder: "请输入密码",
loginSuccess: "登录成功", loginSuccess: "登录成功",
}, },
// 实时数据的短信弹框选择
comparisonOperators: [
{ name: '大于(>)', value: 1 },
{ name: '小于(<)', value: 2 },
{ name: '大于等于(>=)', value: 3 },
{ name: '小于等于(<=)', value: 4 }
],
// 各个input的placeholder
placeholder:{
setValue: '请输入设定值',
deviceCodePlaceholder: "请输入设备code码",
statusPageNamePlaceholder: "请输入施肥机状态页名称",
cameraNamePlaceholder: "请输入摄像机名称",
cameraChannelPlaceholder: "请输入摄像机通道号",
sortOrderPlaceholder: "请输入排序",
deviceNamePlaceholder: "请输入设备名称",
quantityPlaceholder: "请输入数量",
recipePlaceholder: "施肥{n}",
groupPlaceholder: "灌溉组{n}",
externalPlaceholder: "外控设备{n}",
smartPlaceholder:"智能灌溉{n}",
},
nameText:{
sortOrder: "排序",
operations: "操作",
edit: "编辑",
delete: "删除",
deleteContent: "这一段内容确定删除吗?",
deviceCode: '设备code码',
deviceName: "设备名称",
},
// 各个消息提示
message:{
delete:'删除成功',
add:'添加成功',
change:'修改成功',
loading:'加载中',
uploading:'上传中',
},
// 公共页面
index: { index: {
noData:'无数据',
confirm: '确定',
cancel: '取消',
cancel1: '取 消',
// header // header
realTimeData: "实时数据", realTimeData: "实时数据",
setParams: "设定值参数", setParams: "设定值参数",
@ -32,6 +78,7 @@ module.exports = {
pestMonitor: "虫情", pestMonitor: "虫情",
// management // management
mgmt:'管理',
userMgmt: "用户管理", userMgmt: "用户管理",
adminMgmt: "管理员管理", adminMgmt: "管理员管理",
deviceStatusConfig: "控制器设备状态值设置", deviceStatusConfig: "控制器设备状态值设置",
@ -52,16 +99,254 @@ module.exports = {
online: "在线", online: "在线",
offline: "离线", offline: "离线",
// system // message
welcome: "欢迎,", welcome: "欢迎,",
noPermission: "您当前没有权限查看!", logoutSuccess: '退出登录成功',
developing: "当前页面正在努力开发中", requestError: '请求出错',
noPageForDevice: "{device}无该页面", noPageForDevice: '{device}无该页面',
logoutSuccess: "退出登录成功", noPermission: '您当前没有权限查看!',
// devices pageDeveloping: '当前页面正在努力开发中',
greenhouse: "温室", weatherStation: '气象站',
fertigationMachine: "施肥机", dataCollector: '数据采集器',
weatherStation: "气象站", pestDevice: '虫情设备',
dataCollector: "数据采集器" cardExpiryWarning: `<div><span class="color-red">{deviceName}</span>卡号为{iccid},物联网卡即将到期,剩余时间<span class="color-red">{daysDifference}天</span>,请联系管理员。</div>`,
notification: '提示',
},
// 设定值页面的tab
setParams: {
title: '设定值参数',
statusDisplay: '{deviceName}状态显示',
formulaSettings: '施肥机配方设置',
irrigationGroupConfig: '灌溉组配置',
intrinsicParams: '固有参数',
internalPIDConfig: '厂家内部PID配置',
systemParamsConfig: '系统参数配置',
sensorChannelConfig: '传感器通道配置',
dataUpload: '数据上传',
irrigationGroups: [
'1#灌溉组配置', '2#灌溉组配置', '3#灌溉组配置', '4#灌溉组配置',
'5#灌溉组配置', '6#灌溉组配置', '7#灌溉组配置', '8#灌溉组配置',
'9#灌溉组配置', '10#灌溉组配置', '11#灌溉组配置', '12#灌溉组配置',
'13#灌溉组配置', '14#灌溉组配置', '15#灌溉组配置', '16#灌溉组配置'
],
targetTemp: '目标温度',
targetHumidity: '目标湿度',
targetCO2: '目标CO2',
alarmSettings: '报警设置',
sunroofControl: '通风窗',
outShade: '外遮阳',
inShade: '内遮阳',
inInsulation: '内保温',
facadeInsulation: '立面保温',
wetCurtain: '湿帘系统',
circulationFan: '环流风扇',
airConditioning: '空调控制',
led: 'LED控制',
heatFan: '暖风机',
highPressureMist: '高压微雾',
solenoidValve: '电磁阀',
sensorConfig: '传感器配置',
synthesis: '综合设置',
upload: '数据上传',
forceOutput: '强制输出',
intrinsicParams: '固有参数',
parameterSet: '参数设置',
waterPump: '加热水泵',
geothermalFan: '地热风机',
uptake: '上风口',
downtake: '下风口',
rollByRoll: '卷被',
snowRemoval: '除雪',
mountainGreenhouse: '日光温室特殊参数(山地型温室)',
mountainFan: '风机(山地型温室)',
CO2: 'CO2补气',
skylight: '顶卷膜',
fan: '风机',
wetFan: '风机',
wetPump: '湿帘泵',
wetWindow: '湿帘外翻窗',
circulationFan: '环流风扇',
highPressureMist: '高压微雾',
solenoidValve: '电磁阀',
CO2: 'CO2补气'
},
// 实时页面
realTime: {
target: '目标',
average: '平均',
title: '实时数据',
weatherStation: '生态气象站',
deviceOffline: '设备离线',
smsAlarm: '短信报警',
viewAllData: '查看全部实时数据',
deviceStatus: '设备运行状态',
fault:'故障',
iccid:'卡号',
sunrise: '日出',
sunset: '日落',
batteryVoltage: '无线电池电压',
delete: '删除',
autoControl: '自动控制',
mobileControl: '手机控制',
deviceInvalid: '当前设备无效',
CalculationResults: '计算结果',
addDevice: '添加设备',
clickToAdd: '点击添加设备',
heatingMode: '加热模式',
heatingMode1: '制热模式',
coolingMode: '制冷模式',
autoMode: '自动模式',
dehumidifyMode: '除湿模式',
airSupplyMode: '送风模式',
heatingCoolingMode: '冷暖模式',
light: '补光灯',
open: '开启',
close: '关闭',
return: '返 回',
status: {
still: '静止状态',
opening: '正向打开中',
closing: '反向关闭中',
unfolding: '正向展开中',
folding: '反向收拢中',
openWindow: '正向开窗',
closeWindow: '反向关窗'
},
dialog:{
title: '请选择要显示的设备',
choose: '请选择',
confirm: '确 认'
},
alarm: {
title: '控制器短信报警规则',
newRule: '新建报警规则',
deviceCode: '设备code码',
phone1: '用户1手机号',
phone2: '用户2手机号',
condition: '判断条件',
setValue: '请输入设定值',
add: '添加',
existingRules: '原有报警规则',
alarmName: '报警名称',
condition: '判断条件',
value: '数值',
operation: '操作',
delete: '删除'
},
wirelessSensor: {
title: '无线传感器调试信息',
batteryVoltage: '无线传感器电池电压',
signalQuality: '无线传感器信号质量',
},
directions: {
north: '北',
northeast: '东北',
east: '东',
southeast: '东南',
south: '南',
southwest: '西南',
west: '西',
northwest: '西北'
},
},
// 历史数据/图库分析
imageGallery: {
title: '图库数据',
title1: "历史数据",
title2: "数据分析",
quickQuery: '快速查询',
today: '今日',
yesterday: '昨日',
custom: '自定义',
timeRange: '时间段',
startTime: '开始时间',
endTime: '结束时间',
to: '至',
query: '查询',
downloadImages: '下载图片',
totalImages: '共有{total}张图片',
imageList: '图片列表',
download: "下载",
dataStatistics: "数据统计",
time: "时间",
name: "名称",
difference: "差值",
max: "最大值",
min: "最小值",
avg: "平均值",
return: "返回",
},
// 视频监控
videoMonitoring: {
title: "视频监控",
topLeft: "左上",
topRight: "右上",
bottomLeft: "左下",
bottomRight: "右下",
zoomIn: "放大+",
zoomOut: "缩小-",
focusNear: "近焦距",
focusFar: "远焦距"
},
// 大数据设备信息 dataDevice
bigDataDevice: {
title: "大数据设备信息",
tableHeaders: {
deviceCode: "设备code码",
deviceName: "设备名称",
variety: "品种",
quantity: "数量",
growthStage: "生长阶段",
operations: "操作",
edit: "编辑",
delete: "删除"
},
dialog: {
title: "编辑",
deviceCodePlaceholder: "请选择气象站设备code码",
varietyPlaceholder: "请输入品种",
growthStagePlaceholder: "请输入生长阶段",
deviceNamePlaceholder: "请输入设备名称",
quantityPlaceholder: "请输入数量",
deleteConfirmation: "确定删除这条内容吗?"
}
},
//设备信息管理 deviceInfoManage
deviceManagement: {
title: "设备信息管理",
deviceTypes: {
fertilizer: "施肥机",
controller: "控制器",
smartController: "智能控制器",
weatherStation: "生态气象站",
dataCollector: "数据采集器"
},
tableHeaders: {
deviceCode: "设备code码",
deviceName: "设备名称",
operations: "操作",
edit: "编辑",
modifyMoreNames: "修改更多名称",
permissionEdit: "权限编辑"
},
dialogs: {
editTitle: "编辑",
modifyNamesTitle: "修改更多名称",
permissionManagement: "控制器权限管理",
statusPageName: "施肥机状态页名称",
cameraName: "摄像机名称",
cameraChannel: "摄像机通道号",
fertilizationRecipes: "施肥配方1-8",
irrigationGroups: "灌溉组1-8",
irrigationGroups9_16: "灌溉组9-16",
externalDevices: "外控设备1-4",
smartIrrigation: "智能灌溉1-8",
smartIrrigation9_16: "智能灌溉9-16",
noteText: "如果有摄像机则每小时都会定时更新小程序摄像机主页面图片,如果没有摄像机则可以自定义更改图片地址信息。"
}
} }
}; };

View File

@ -19,6 +19,7 @@ import 'video.js/dist/video-js.css'; // 引入video.js的样式
import 'video.js'; import 'video.js';
import 'videojs-contrib-hls'; // 引入支持HLS的插件 import 'videojs-contrib-hls'; // 引入支持HLS的插件
import i18n from "./i18n/index"; // 国际化模块 import i18n from "./i18n/index"; // 国际化模块
// element-ui的国际化 // element-ui的国际化
Vue.use(ElementUI, { Vue.use(ElementUI, {
i18n: (key, value) => i18n.t(key, value), i18n: (key, value) => i18n.t(key, value),

View File

@ -1,4 +1,5 @@
import ElementUI from 'element-ui';
// 语言选项缓存的key // 语言选项缓存的key
const CACHE_KEY = "local"; const CACHE_KEY = "local";

View File

@ -103,30 +103,9 @@ export default {
currentLanguage: getLanguage(),// currentLanguage: getLanguage(),//
time: null,// time: null,//
headerActive: 0, headerActive: 0,
leftList: [],
activeNames: [3], activeNames: [3],
leftList: [
{ name: '首页', img: require('../assets/image/index-icon.png'), list: [], router: 'realTime', isRouter: true, },
{ name: '温室', routerList: ['realTime', 'dataAnalysis', 'historyData','air-conditioning', 'exitSettings', 'videoMonitoring','imageData', 'skylight', 'control', 'systemSet-con', 'fan', 'upload-con', 'sensorSet-con', 'synthesis-con', 'alarmSettings', 'waterPump', 'geothermalFan', 'uptake', 'downtake', 'rollByRoll', 'snowRemoval', "targetTemperature", "targetHumidity", "targetCo2", "sunroofControl", "outsizeSunshade", "insizeSunshade", "wetFan", "LED", 'electromagneticControl', "coercionMist", "circulationCan", "internalInsulation", "forceOutput", "intrinsicParameter", "parameterSet"], img: require('../assets/image/left-img0.png'), list: [] },
// { name: '', img: require('../assets/image/left-img1.png'), list: [] },
{ name: '施肥机', routerList: ['status-soil','formula', 'dataAnalysis', 'historyData', 'irrigateSet', 'videoMonitoring','imageData', 'PIDSet', 'systemSet', 'upload', 'sensorSet', 'realTime', 'history', 'dataAnalysis'], img: require('../assets/image/left-img2.png'), list: [] },
{ name: '智能灌溉', routerList: ['realTime', 'dataAnalysis', 'historyData','irrigateSet-soil', 'videoMonitoring','imageData','PIDSet-soil', 'systemSet-soil', 'upload-soil', 'sensorSet-soil', 'realTime', 'history', 'dataAnalysis'], img: require('../assets/image/irrigateSet-icon1-act.png'), list: [] },
{ name: '数据采集器', routerList: ['realTime', 'historyData', 'exitSettings', 'skylight', 'control', 'systemSet-con','imageData', 'fan', 'upload-con', 'sensorSet-con', 'synthesis-con', 'alarmSettings', 'waterPump', 'geothermalFan', 'uptake', 'downtake', 'rollByRoll', 'snowRemoval', "targetTemperature", "targetHumidity", "targetCo2", "sunroofControl", "outsizeSunshade", "insizeSunshade", "wetFan", "LED", 'electromagneticControl', "coercionMist", "circulationCan", "internalInsulation", "forceOutput", "intrinsicParameter", "parameterSet"], img: require('../assets/image/left-img3.png'), list: [] },
{ name: '生态气象站', routerList: ['realTime', 'historyData', 'exitSettings', 'skylight', 'control', 'systemSet-con','imageData', 'fan', 'upload-con', 'sensorSet-con', 'synthesis-con', 'alarmSettings', 'waterPump', 'geothermalFan', 'uptake', 'downtake', 'rollByRoll', 'snowRemoval', "targetTemperature", "targetHumidity", "targetCo2", "sunroofControl", "outsizeSunshade", "insizeSunshade", "wetFan", "LED", 'electromagneticControl', "coercionMist", "circulationCan", "internalInsulation", "forceOutput", "intrinsicParameter", "parameterSet"], img: require('../assets/image/left-img3.png'), list: [] },
{ name: '虫情', routerList: ['insectPestDetail'], img: require('../assets/image/index-icon1.png'), list: [] },
],
leftList1: [
{ name: '管理', img: require('../assets/image/index-icon.png'), list: [], router: 'manage', isRouter: true, },
{ name: '用户管理', routerList: [''], img: require('../assets/image/left-img0.png'), list: [
{deviceTypeName:'控制器设备状态值设置',router:'deviceStatusSet',index:0},
{deviceTypeName:'控制器设备设定值设置',router:'deviceSet',index:1},
{deviceTypeName:'设备信息管理',router:'deviceInfoManage',index:2},
{deviceTypeName:'设备绑定气象站数据',router:'weatherData',index:3},
{deviceTypeName:'大数据设备信息',router:'dataDevice',index:4},
{deviceTypeName:'手机控制模块信息',router:'mobileControl',index:5},
] },
],
manageList:['deviceStatusSet', manageList:['deviceStatusSet',
'deviceSet', 'deviceSet',
'deviceInfoManage', 'deviceInfoManage',
@ -158,7 +137,7 @@ export default {
}, },
computed:{ computed:{
headerList(){ headerList(){
return [ var topMenu=[
{ name: this.$t('index.realTimeData'), router: 'realTime', routerList: ['realTime'], img: require('../assets/image/header-img1.png') }, { name: this.$t('index.realTimeData'), router: 'realTime', routerList: ['realTime'], img: require('../assets/image/header-img1.png') },
// { name: '', router: 'status', index: 1, routerList: ['formula', 'irrigateSet', 'PIDSet', 'systemSet', 'upload', 'sensorSet'], img: require('../assets/image/header-img0.png') }, // { name: '', router: 'status', index: 1, routerList: ['formula', 'irrigateSet', 'PIDSet', 'systemSet', 'upload', 'sensorSet'], img: require('../assets/image/header-img0.png') },
{ name:this.$t('index.setParams') , router: 'status', index: 1, routerList: ['formula', 'status', 'exitSettings', 'skylight', 'systemSet-con', 'fan', 'upload-con', 'sensorSet-con', 'alarmSettings', 'synthesis-con', 'waterPump', 'geothermalFan', 'uptake', 'downtake', 'rollByRoll', 'snowRemoval', "targetTemperature", "targetHumidity", "targetCo2", "sunroofControl", "outsizeSunshade", "insizeSunshade", "wetFan", "LED", 'electromagneticControl', "coercionMist", "circulationCan", "internalInsulation", "forceOutput", "intrinsicParameter", "parameterSet",], img: require('../assets/image/header-img0.png') }, { name:this.$t('index.setParams') , router: 'status', index: 1, routerList: ['formula', 'status', 'exitSettings', 'skylight', 'systemSet-con', 'fan', 'upload-con', 'sensorSet-con', 'alarmSettings', 'synthesis-con', 'waterPump', 'geothermalFan', 'uptake', 'downtake', 'rollByRoll', 'snowRemoval', "targetTemperature", "targetHumidity", "targetCo2", "sunroofControl", "outsizeSunshade", "insizeSunshade", "wetFan", "LED", 'electromagneticControl', "coercionMist", "circulationCan", "internalInsulation", "forceOutput", "intrinsicParameter", "parameterSet",], img: require('../assets/image/header-img0.png') },
@ -175,7 +154,54 @@ export default {
{ name:this.$t('index.bigData') , router: 'largeScreen', routerList: ['largeScreen'], img: require('../assets/image/header-img8.png') } { name:this.$t('index.bigData') , router: 'largeScreen', routerList: ['largeScreen'], img: require('../assets/image/header-img8.png') }
] ]
} const foundObject = this.limitUserId.find(item => item.id == 3);
const foundName =topMenu.findIndex(item => item.name == this.$t('index.qrTrace'));
if (foundObject) {
if (foundName == -1) {
topMenu.push({ name: this.$t('index.qrTrace'), router: 'setsuyuan', index: 1, routerList: ['setsuyuan'], img: require('../assets/image/header-img4.png') })
}
} else {
if (foundName != -1) {
topMenu.splice(foundName, 1)
}
}
return topMenu
},
leftList1(){
//
var baseMenu= [
{ name: this.$t('index.mgmt'), img: require('../assets/image/index-icon.png'), list: [], router: 'manage', isRouter: true, },
{ name: this.$t('index.userMgmt'), routerList: [''], img: require('../assets/image/left-img0.png'), list: [
{deviceTypeName:this.$t('index.deviceStatusConfig'),router:'deviceStatusSet',index:0},
{deviceTypeName:this.$t('index.deviceSetConfig'),router:'deviceSet',index:1},
{deviceTypeName:this.$t('index.deviceInfoMgmt'),router:'deviceInfoManage',index:2},
{deviceTypeName:this.$t('index.weatherBinding'),router:'weatherData',index:3},
{deviceTypeName:this.$t('index.bigDataDevice'),router:'dataDevice',index:4},
{deviceTypeName:this.$t('index.mobileControl'),router:'mobileControl',index:5},
] },]
//
var adminMenu=[
{ name: this.$t('index.adminMgmt'), routerList: [''], img: require('../assets/image/left-img0.png'), list: [
{deviceTypeName:this.$t('index.userControl'),router:'userInfoControl',index:6},
{deviceTypeName:this.$t('index.deviceControl'),router:'deviceManage',index:7},
{deviceTypeName:this.$t('index.websiteBanner'),router:'officialWebsiteBanner',index:8},
{deviceTypeName:this.$t('index.websiteProducts'),router:'officialWebsiteProduct',index:11},
{deviceTypeName:this.$t('index.websiteCases'),router:'officialWebsiteCase',index:9},
{deviceTypeName:this.$t('index.companyProfile'),router:'officialWebsiteDetail',index:12},
{deviceTypeName:this.$t('index.websiteNews'),router:'officialWebsiteNews',index:10},
// {deviceTypeName:'',router:'videoManage',index:8},
] },
]
if (this.roleId === 1) {
return [...baseMenu, ...adminMenu];
}else{
return baseMenu
}
}
}, },
watch: { watch: {
"$route"(newName, oldName) { "$route"(newName, oldName) {
@ -185,6 +211,9 @@ export default {
this.getByid() this.getByid()
} }
}, },
'$i18n.locale'() {
this.initLeftList()
}
}, },
mounted() { mounted() {
const that = this const that = this
@ -219,11 +248,33 @@ export default {
this.get_user_getjurisdiction() this.get_user_getjurisdiction()
// //
this.getRole() this.getRole()
},
created(){
this.initLeftList()
}, },
beforeDestroy() { beforeDestroy() {
this.IDTimer && clearInterval(this.IDTimer) this.IDTimer && clearInterval(this.IDTimer)
}, },
methods: { methods: {
initLeftList() {
this.leftList = [
{ name: this.$t('index.home'), img: require('../assets/image/index-icon.png'), list: [], router: 'realTime', isRouter: true, },
{ name: this.$t('index.greenhouse'), routerList: ['realTime', 'dataAnalysis', 'historyData','air-conditioning', 'exitSettings', 'videoMonitoring','imageData', 'skylight', 'control', 'systemSet-con', 'fan', 'upload-con', 'sensorSet-con', 'synthesis-con', 'alarmSettings', 'waterPump', 'geothermalFan', 'uptake', 'downtake', 'rollByRoll', 'snowRemoval', "targetTemperature", "targetHumidity", "targetCo2", "sunroofControl", "outsizeSunshade", "insizeSunshade", "wetFan", "LED", 'electromagneticControl', "coercionMist", "circulationCan", "internalInsulation", "forceOutput", "intrinsicParameter", "parameterSet"], img: require('../assets/image/left-img0.png'), list: [] },
// { name: '', img: require('../assets/image/left-img1.png'), list: [] },
{ name: this.$t('index.fertigation'), routerList: ['status-soil','formula', 'dataAnalysis', 'historyData', 'irrigateSet', 'videoMonitoring','imageData', 'PIDSet', 'systemSet', 'upload', 'sensorSet', 'realTime', 'history', 'dataAnalysis'], img: require('../assets/image/left-img2.png'), list: [] },
{ name:this.$t('index.smartIrrigation') , routerList: ['realTime', 'dataAnalysis', 'historyData','irrigateSet-soil', 'videoMonitoring','imageData','PIDSet-soil', 'systemSet-soil', 'upload-soil', 'sensorSet-soil', 'realTime', 'history', 'dataAnalysis'], img: require('../assets/image/irrigateSet-icon1-act.png'), list: [] },
{ name:this.$t('index.dataCollector') , routerList: ['realTime', 'historyData', 'exitSettings', 'skylight', 'control', 'systemSet-con','imageData', 'fan', 'upload-con', 'sensorSet-con', 'synthesis-con', 'alarmSettings', 'waterPump', 'geothermalFan', 'uptake', 'downtake', 'rollByRoll', 'snowRemoval', "targetTemperature", "targetHumidity", "targetCo2", "sunroofControl", "outsizeSunshade", "insizeSunshade", "wetFan", "LED", 'electromagneticControl', "coercionMist", "circulationCan", "internalInsulation", "forceOutput", "intrinsicParameter", "parameterSet"], img: require('../assets/image/left-img3.png'), list: [] },
{ name:this.$t('index.weatherStation') , routerList: ['realTime', 'historyData', 'exitSettings', 'skylight', 'control', 'systemSet-con','imageData', 'fan', 'upload-con', 'sensorSet-con', 'synthesis-con', 'alarmSettings', 'waterPump', 'geothermalFan', 'uptake', 'downtake', 'rollByRoll', 'snowRemoval', "targetTemperature", "targetHumidity", "targetCo2", "sunroofControl", "outsizeSunshade", "insizeSunshade", "wetFan", "LED", 'electromagneticControl', "coercionMist", "circulationCan", "internalInsulation", "forceOutput", "intrinsicParameter", "parameterSet"], img: require('../assets/image/left-img3.png'), list: [] },
{ name:this.$t('index.pestMonitor') , routerList: ['insectPestDetail'], img: require('../assets/image/index-icon1.png'), list: [] },
]
setTimeout(() => {
this.leftListInit1()
this.leftListInit2()
}, 0);
},
getRole(){ getRole(){
// var user= JSON.parse(localStorage.getItem('userInfo')) // var user= JSON.parse(localStorage.getItem('userInfo'))
// this.api.selUserbyid(user.userid).then(res=>{ // this.api.selUserbyid(user.userid).then(res=>{
@ -241,10 +292,10 @@ export default {
if (res.data.code == 200) { if (res.data.code == 200) {
this.limitUserId = res.data.data; this.limitUserId = res.data.data;
const foundObject = this.limitUserId.find(item => item.id == 3); const foundObject = this.limitUserId.find(item => item.id == 3);
const foundName = this.headerList.findIndex(item => item.name == '二维码追溯'); const foundName = this.headerList.findIndex(item => item.name == this.$t('index.qrTrace'));
if (foundObject) { if (foundObject) {
if (foundName == -1) { if (foundName == -1) {
this.headerList.push({ name: '二维码追溯', router: 'setsuyuan', index: 1, routerList: ['setsuyuan'], img: require('../assets/image/header-img4.png') }) this.headerList.push({ name: this.$t('index.qrTrace'), router: 'setsuyuan', index: 1, routerList: ['setsuyuan'], img: require('../assets/image/header-img4.png') })
} }
} else { } else {
if (foundName != -1) { if (foundName != -1) {
@ -349,12 +400,17 @@ var iccidList=[]
if(res.data.code==200&&res.data.data){ if(res.data.code==200&&res.data.data){
iccidList.push(res.data.data) iccidList.push(res.data.data)
this.$store.state.iccidList=iccidList this.$store.state.iccidList=iccidList
if(res1.data.data&&res.data.data.expired){ if(res1.data.data&&res.data.data.expired){
setTimeout(() => { setTimeout(() => {
this.$notify({ this.$notify({
title: '提示', title: this.$t('index.notification'),
dangerouslyUseHTMLString: true, dangerouslyUseHTMLString: true,
message: `<div><span class="color-red">${res.data.data.deviceName}</span>卡号为${res.data.data.iccid},物联网卡即将到期,剩余时间<span class="color-red">${res.data.data.daysDifference}天</span>,请联系管理员。</div>`, message: this.$t('index.cardExpiryWarning', {
deviceName: res.data.data.deviceName,
iccid: res.data.data.iccid,
daysDifference: res.data.data.daysDifference
}),
duration:60000,//10s duration:60000,//10s
}); });
}, 10); }, 10);
@ -392,6 +448,81 @@ var iccidList=[]
// true // true
return true; return true;
},
leftListInit1(){
this.leftList[1].list = []
this.leftList[2].list = []
this.leftList[3].list = []
this.leftList[4].list = []
this.leftList[5].list = []
this.$store.state.equipmentList.forEach((el, index) => {
//deviceId
if (this.deviceId && this.deviceId == el.deviceId) {
this.$store.state.equipmentIndex = index + 1
}
if (el.deviceName == 1) {
this.leftList.forEach((el1, index1) => {
if (el1.name ==this.$t('index.fertigation') ) {
this.leftList[index1].list.push(el)
}
})
} else if (el.deviceName == 10) {
this.leftList.forEach((el1, index1) => {
if (el1.name ==this.$t('index.greenhouse') ) {
this.leftList[index1].list.push(el)
}
})
} else if (el.deviceName == 20) {
this.leftList.forEach((el1, index1) => {
if (el1.name == this.$t('index.smartIrrigation')) {
this.leftList[index1].list.push(el)
}
})
}else if (el.deviceName == 40) {
this.leftList.forEach((el1, index1) => {
if (el1.name == this.$t('index.dataCollector')) {
this.leftList[index1].list.push(el)
}
})
}
// else if (el.deviceName == 30) {
// this.leftList.forEach((el1, index1) => {
// if (el1.name == '') {
// this.leftList[index1].list.push(el)
// }
// })
// }
})
},
leftListInit2(){
this.$store.state.equipmentList.forEach((el, index) => {
if (el.deviceName == '30') {
this.leftList.forEach((el1, index1) => {
if (el1.name ==this.$t('index.weatherStation') ) {
this.leftList[index1].list.push(el)
}
})
}
})
this.leftList.forEach((el1, index1) => {
if (el1.name ==this.$t('index.greenhouse') ) {
this.leftList[index1].list.sort(this.compare('equipmentStatu'))
}
if (el1.name ==this.$t('index.fertigation') ) {
this.leftList[index1].list.sort(this.compare('equipmentStatu'))
}
if (el1.name == this.$t('index.smartIrrigation')) {
this.leftList[index1].list.sort(this.compare('equipmentStatu'))
}
if (el1.name ==this.$t('index.weatherStation') ) {
this.leftList[index1].list.sort(this.compare('equipmentStatu'))
}
if (el1.name == this.$t('index.dataCollector')) {
this.leftList[index1].list.sort(this.compare('equipmentStatu'))
}
})
}, },
// //
getEqbyid(selTrue) { getEqbyid(selTrue) {
@ -417,50 +548,7 @@ var iccidList=[]
localStorage.setItem('equipmentSelList', JSON.stringify(data)) localStorage.setItem('equipmentSelList', JSON.stringify(data))
// this.$store.state.equipmentSelList=res.data.data // this.$store.state.equipmentSelList=res.data.data
} }
this.leftList[1].list = [] this.leftListInit1()
this.leftList[2].list = []
this.leftList[3].list = []
this.leftList[4].list = []
this.leftList[5].list = []
this.$store.state.equipmentList.forEach((el, index) => {
//deviceId
if (this.deviceId && this.deviceId == el.deviceId) {
this.$store.state.equipmentIndex = index + 1
}
if (el.deviceName == 1) {
this.leftList.forEach((el1, index1) => {
if (el1.name == '施肥机') {
this.leftList[index1].list.push(el)
}
})
} else if (el.deviceName == 10) {
this.leftList.forEach((el1, index1) => {
if (el1.name == '温室') {
this.leftList[index1].list.push(el)
}
})
} else if (el.deviceName == 20) {
this.leftList.forEach((el1, index1) => {
if (el1.name == '智能灌溉') {
this.leftList[index1].list.push(el)
}
})
}else if (el.deviceName == 40) {
this.leftList.forEach((el1, index1) => {
if (el1.name == '数据采集器') {
this.leftList[index1].list.push(el)
}
})
}
// else if (el.deviceName == 30) {
// this.leftList.forEach((el1, index1) => {
// if (el1.name == '') {
// this.leftList[index1].list.push(el)
// }
// })
// }
})
this.api.geteqetdata(userInfo.userid).then((res) => { this.api.geteqetdata(userInfo.userid).then((res) => {
if (res.data.code == 200) { if (res.data.code == 200) {
var list = this.$store.state.equipmentList var list = this.$store.state.equipmentList
@ -474,34 +562,8 @@ var iccidList=[]
deviceName: '30' deviceName: '30'
}; };
})) }))
this.leftListInit2()
this.$store.state.equipmentList.forEach((el, index) => {
if (el.deviceName == '30') {
this.leftList.forEach((el1, index1) => {
if (el1.name == '生态气象站') {
this.leftList[index1].list.push(el)
}
})
}
})
this.leftList.forEach((el1, index1) => {
if (el1.name == '温室') {
this.leftList[index1].list.sort(this.compare('equipmentStatu'))
}
if (el1.name == '施肥机') {
this.leftList[index1].list.sort(this.compare('equipmentStatu'))
}
if (el1.name == '智能灌溉') {
this.leftList[index1].list.sort(this.compare('equipmentStatu'))
}
if (el1.name == '生态气象站') {
this.leftList[index1].list.sort(this.compare('equipmentStatu'))
}
if (el1.name == '数据采集器') {
this.leftList[index1].list.sort(this.compare('equipmentStatu'))
}
})
this.gerRouter() this.gerRouter()
this.getByid() this.getByid()
var data = { var data = {
@ -518,41 +580,7 @@ var iccidList=[]
this.roleId=res.data.data.roleId this.roleId=res.data.data.roleId
if(this.roleId==1){
this.leftList1= [
{ name: '管理', img: require('../assets/image/index-icon.png'), list: [], router: 'manage', isRouter: true, },
{ name: '用户管理', routerList: [''], img: require('../assets/image/left-img0.png'), list: [
{deviceTypeName:'控制器设备状态值设置',router:'deviceStatusSet',index:0},
{deviceTypeName:'控制器设备设定值设置',router:'deviceSet',index:1},
{deviceTypeName:'设备信息管理',router:'deviceInfoManage',index:2},
{deviceTypeName:'设备绑定气象站数据',router:'weatherData',index:3},
{deviceTypeName:'大数据设备信息',router:'dataDevice',index:4},
{deviceTypeName:'手机控制模块信息',router:'mobileControl',index:5},
] },
{ name: '管理员管理', routerList: [''], img: require('../assets/image/left-img0.png'), list: [
{deviceTypeName:'用户信息管理',router:'userInfoControl',index:6},
{deviceTypeName:'设备管理',router:'deviceManage',index:7},
{deviceTypeName:'官网顶部轮播图管理',router:'officialWebsiteBanner',index:8},
{deviceTypeName:'官网产品管理',router:'officialWebsiteProduct',index:11},
{deviceTypeName:'官网案例管理',router:'officialWebsiteCase',index:9},
{deviceTypeName:'官网公司简介',router:'officialWebsiteDetail',index:12},
{deviceTypeName:'官网新闻管理',router:'officialWebsiteNews',index:10},
// {deviceTypeName:'',router:'videoManage',index:8},
] },
]
}else{
this.leftList1= [
{ name: '管理', img: require('../assets/image/index-icon.png'), list: [], router: 'manage', isRouter: true, },
{ name: '用户管理', routerList: [''], img: require('../assets/image/left-img0.png'), list: [
{deviceTypeName:'控制器设备状态值设置',router:'deviceStatusSet',index:0},
{deviceTypeName:'控制器设备设定值设置',router:'deviceSet',index:1},
{deviceTypeName:'设备信息管理',router:'deviceInfoManage',index:2},
{deviceTypeName:'设备绑定气象站数据',router:'weatherData',index:3},
{deviceTypeName:'大数据设备信息',router:'dataDevice',index:4},
{deviceTypeName:'手机控制模块信息',router:'mobileControl',index:5},
] },
]
}
this.mainData=res.data.data.project this.mainData=res.data.data.project
} }
}) })
@ -575,7 +603,7 @@ var iccidList=[]
if (res.data.code == 200) { if (res.data.code == 200) {
this.$message({ this.$message({
message: '退出登录成功', message:this.$t('index.logoutSuccess'),
type: "success", type: "success",
}); });
localStorage.removeItem('token') localStorage.removeItem('token')
@ -583,7 +611,7 @@ var iccidList=[]
localStorage.removeItem('equipmentSelList') localStorage.removeItem('equipmentSelList')
this.$router.push({ name: 'login' }) this.$router.push({ name: 'login' })
} else { } else {
this.$message.error("请求出错"); this.$message.error(this.$t('index.requestError'));
} }
}) })
}, },
@ -594,7 +622,7 @@ var iccidList=[]
if (item.router) { if (item.router) {
// //
if(this.routerNow == 'insectPestDetail'||this.routerNow == 'insectPestImageList'){ if(this.routerNow == 'insectPestDetail'||this.routerNow == 'insectPestImageList'){
this.$message('虫情设备无该页面'); this.$message(this.$t('index.noPageForDevice', {device: this.$t('index.pestDevice')}));
return return
} }
if (item.http) { if (item.http) {
@ -611,11 +639,11 @@ var iccidList=[]
} else if (item.router == 'status') { } else if (item.router == 'status') {
if (this.deviceName == '30') { if (this.deviceName == '30') {
this.$message('气象站无该页面'); this.$message(this.$t('index.noPageForDevice', {device: this.$t('index.weatherStation')}));
return return
} }
if (this.deviceName == '40') { if (this.deviceName == '40') {
this.$message('数据采集器无该页面'); this.$message(this.$t('index.noPageForDevice', {device: this.$t('index.dataCollector')}));
return return
} }
if (this.deviceName == '10') { if (this.deviceName == '10') {
@ -631,8 +659,8 @@ var iccidList=[]
this.$router.push({ path: `/realTime` }) this.$router.push({ path: `/realTime` })
} else if (item.router == 'videoMonitoring') { } else if (item.router == 'videoMonitoring') {
if (this.deviceName == '30') { if (this.deviceName == '30') {
this.$message('气象站无该页面'); this.$message(this.$t('index.noPageForDevice', {device: this.$t('index.weatherStation')}));
return return
} }
this.$router.push({ path: `/videoMonitoring` }) this.$router.push({ path: `/videoMonitoring` })
@ -648,7 +676,7 @@ var iccidList=[]
// //
const foundObject = this.limitUserId.find(item => item.id == 2 || item.id == 1 || item.id == 5|| item.id == 7|| item.id == 8|| item.id == 9|| item.id == 10|| item.id == 11 || item.id == 12|| item.id == 13); const foundObject = this.limitUserId.find(item => item.id == 2 || item.id == 1 || item.id == 5|| item.id == 7|| item.id == 8|| item.id == 9|| item.id == 10|| item.id == 11 || item.id == 12|| item.id == 13);
if (!foundObject) { if (!foundObject) {
this.$message('您当前没有权限查看!') this.$message(this.$t('index.noPermission'));
return return
} else { } else {
this.$router.push({ name: item.router }) this.$router.push({ name: item.router })
@ -659,7 +687,7 @@ var iccidList=[]
this.$router.push({ name: item.router }) this.$router.push({ name: item.router })
} }
} else { } else {
this.$message('当前页面正在努力开发中'); this.$message(this.$t('index.pageDeveloping'));
} }
}, },
toRouter1(item) { toRouter1(item) {
@ -720,9 +748,9 @@ var iccidList=[]
} }
} }
else if (item.deviceName == 30) { else if (item.deviceName == 30) {
this.$message('气象站无该页面'); this.$message(this.$t('index.noPageForDevice', {device: this.$t('index.weatherStation')}));
} else if (item.deviceName == 40) { } else if (item.deviceName == 40) {
this.$message('数据采集器无该页面'); this.$message(this.$t('index.noPageForDevice', {device: this.$t('index.dataCollector')}));
} }
} }
} else if ( this.$route.query.index == item.index) { } else if ( this.$route.query.index == item.index) {
@ -731,7 +759,7 @@ var iccidList=[]
this.$router.push({ name: item.router }) this.$router.push({ name: item.router })
} }
} else { } else {
this.$message('当前页面正在努力开发中'); this.$message(this.$t('index.pageDeveloping'));
} }
}, },
toRouter2(item){ toRouter2(item){

View File

@ -8,7 +8,7 @@
</div> --> </div> -->
<div class="detail-detail" v-if="detail"> <div class="detail-detail" v-if="detail">
<div class="detail-detail-div"> <div class="detail-detail-div">
<div class="title">设备名称:</div> <div class="title">{{$t('nameText.deviceName')}}:</div>
<div class="text">{{detail.deviceName}}</div> <div class="text">{{detail.deviceName}}</div>
</div> </div>
<div class="detail-detail-div"> <div class="detail-detail-div">

View File

@ -121,7 +121,7 @@ window.open(routeData.href, '_blank');
getImage() { getImage() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -1,19 +1,20 @@
<template> <template>
<div class="dataDevice manage-page"> <div class="dataDevice manage-page">
<div class="table-title"> <div class="table-title">
<img src="../../assets/manageImg/dataDevice.png" alt="">大数据设备信息 <img src="../../assets/manageImg/dataDevice.png" alt="">
{{ $t('bigDataDevice.title') }}
</div> </div>
<div class="table-view"> <div class="table-view">
<el-table :data="tableData" :row-class-name="tableRowClassName" height="620" style="width: 100%"> <el-table :data="tableData" :row-class-name="tableRowClassName" height="620" style="width: 100%">
<el-table-column prop="deviceId" label="设备code码" width="180px"> <el-table-column prop="deviceId" :label="$t('bigDataDevice.tableHeaders.deviceCode')" width="180px">
</el-table-column> </el-table-column>
<el-table-column prop="greenhouseName" label="设备名称"> <el-table-column prop="greenhouseName" :label="$t('bigDataDevice.tableHeaders.deviceName')">
</el-table-column> </el-table-column>
<el-table-column prop="greenhouseVariety" label="品种"> <el-table-column prop="greenhouseVariety" :label="$t('bigDataDevice.tableHeaders.variety')">
</el-table-column> </el-table-column>
<el-table-column prop="greenhouseNums" label="数量"> <el-table-column prop="greenhouseNums" :label="$t('bigDataDevice.tableHeaders.quantity')">
</el-table-column> </el-table-column>
<el-table-column prop="growthStageName" label="生长阶段"> <el-table-column prop="growthStageName" :label="$t('bigDataDevice.tableHeaders.growthStage')">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<div class="table-type"> <div class="table-type">
@ -22,62 +23,67 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('bigDataDevice.tableHeaders.operations')">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<div class="table-operate blue" @click="openModel(scope.row)"> <div class="table-operate blue" @click="openModel(scope.row)">
<img src="../../assets/manageImg/table-edit.png" alt="">编辑 <img src="../../assets/manageImg/table-edit.png" alt="">
{{ $t('bigDataDevice.tableHeaders.edit') }}
</div> </div>
<!-- <el-popconfirm title="这一段内容确定删除吗?"> <!-- 如果需要删除功能 -->
<!-- <el-popconfirm :title="$t('bigDataDevice.dialog.deleteConfirmation')">
<div class="table-operate red" slot="reference"> <div class="table-operate red" slot="reference">
<img src="../../assets/manageImg/table-delete.png" alt="">删除 <img src="../../assets/manageImg/table-delete.png" alt="">
{{ $t('bigDataDevice.tableHeaders.delete') }}
</div> </div>
</el-popconfirm> --> </el-popconfirm> -->
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<el-dialog :close-on-click-modal="false" title="提示" top="10vh" :visible.sync="addModel" width="700px" <el-dialog :close-on-click-modal="false" :title="$t('bigDataDevice.dialog.title')" top="10vh"
class="vrcode-model manage-model" :append-to-body="true"> :visible.sync="addModel" width="700px" class="vrcode-model manage-model" :append-to-body="true">
<div class="vrcode-model-title"> <div class="vrcode-model-title">
编辑 {{ $t('bigDataDevice.dialog.title') }}
</div> </div>
<div class="vrcode-content" v-if="nowData"> <div class="vrcode-content" v-if="nowData">
<div class="manage-left"> <div class="manage-left">
<!-- <div class="manage-input">
<div class="input-title">设备code码</div>
<input type="text" v-model="nowData.deviceId" placeholder="请输入设备code码">
</div> -->
<div class="manage-input-sel"> <div class="manage-input-sel">
<div class="input-title">设备code码</div> <div class="input-title">{{ $t('bigDataDevice.tableHeaders.deviceCode') }}</div>
<el-dropdown @command="handleCommand"> <el-dropdown @command="handleCommand">
<div class="el-dropdown-link"> <div class="el-dropdown-link">
<input v-model="nowData.deviceId" type="text" class="input-input" placeholder="请选择气象站设备code码"> <input v-model="nowData.deviceId" type="text" class="input-input"
:placeholder="$t('bigDataDevice.dialog.deviceCodePlaceholder')">
<div class="arrow"><img src="../../assets/image/arrow.png" alt=""></div> <div class="arrow"><img src="../../assets/image/arrow.png" alt=""></div>
</div> </div>
<el-dropdown-menu slot="dropdown" class="manage-dropdown"> <el-dropdown-menu slot="dropdown" class="manage-dropdown">
<el-dropdown-item v-for="item, index in typeSelList <el-dropdown-item v-for="item, index in typeSelList"
" :key="index" :command="item.deviceId">{{ item.deviceTypeName }}</el-dropdown-item> :key="index" :command="item.deviceId">
{{ item.deviceTypeName }}
</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</div> </div>
<div class="manage-input"> <div class="manage-input">
<div class="input-title">品种</div> <div class="input-title">{{ $t('bigDataDevice.tableHeaders.variety') }}</div>
<input type="text" v-model="nowData.greenhouseVariety" placeholder="请输入品种"> <input type="text" v-model="nowData.greenhouseVariety"
:placeholder="$t('bigDataDevice.dialog.varietyPlaceholder')">
</div> </div>
<div class="manage-input"> <div class="manage-input">
<div class="input-title">生长阶段</div> <div class="input-title">{{ $t('bigDataDevice.tableHeaders.growthStage') }}</div>
<input type="text" v-model="nowData.growthStageName" placeholder="请输入生长阶段"> <input type="text" v-model="nowData.growthStageName"
:placeholder="$t('bigDataDevice.dialog.growthStagePlaceholder')">
</div> </div>
<div class="manage-input"> <div class="manage-input">
<div class="input-title">设备名称</div> <div class="input-title">{{ $t('bigDataDevice.tableHeaders.deviceName') }}</div>
<input type="text" v-model="nowData.greenhouseName" placeholder="请输入设备名称"> <input type="text" v-model="nowData.greenhouseName"
:placeholder="$t('bigDataDevice.dialog.deviceNamePlaceholder')">
</div> </div>
<div class="manage-input"> <div class="manage-input">
<div class="input-title">数量</div> <div class="input-title">{{ $t('bigDataDevice.tableHeaders.quantity') }}</div>
<input type="text" v-model="nowData.greenhouseNums" placeholder="请输入数量"> <input type="text" v-model="nowData.greenhouseNums"
:placeholder="$t('bigDataDevice.dialog.quantityPlaceholder')">
</div> </div>
</div> </div>
<div class="manage-right"> <div class="manage-right">
@ -91,11 +97,10 @@
</div> </div>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn w-100" @click="confirmModel">确定</div> <div class="vrcode-btn blue-btn w-100" @click="confirmModel">{{$t('index.confirm')}}</div>
<div class="vrcode-btn cancle-btn w-100" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn w-100" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
@ -140,7 +145,7 @@ export default {
confirmModel() { confirmModel() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -164,7 +169,7 @@ export default {
handleImageChange(event, type) { handleImageChange(event, type) {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '上传中', text: this.$t('message.uploading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -1,28 +1,28 @@
<template> <template>
<div class="deviceSet manage-page"> <div class="deviceSet manage-page">
<div class="table-title"> <div class="table-title">
<img src="../../assets/manageImg/deviceInfoManage.png" alt="">设备信息管理 <img src="../../assets/manageImg/deviceInfoManage.png" alt="">{{$t('deviceManagement.title')}}
</div> </div>
<div class="flex-view"> <div class="flex-view">
<div class="manage-btn" @click="active = 0" :class="active == 0 ? 'active' : ''"> <div class="manage-btn" @click="active = 0" :class="active == 0 ? 'active' : ''">
<img src="../../assets/manageImg/manage-btn-icon2.png" alt=""> <img src="../../assets/manageImg/manage-btn-icon2.png" alt="">
施肥机 {{$t('deviceManagement.deviceTypes.fertilizer')}}
</div> </div>
<div class="manage-btn" @click="active = 1" :class="active == 1 ? 'active' : ''"> <div class="manage-btn" @click="active = 1" :class="active == 1 ? 'active' : ''">
<img src="../../assets/manageImg/manage-btn-icon1.png" alt=""> <img src="../../assets/manageImg/manage-btn-icon1.png" alt="">
控制器 {{$t('deviceManagement.deviceTypes.controller')}}
</div> </div>
<div class="manage-btn" @click="active = 2" :class="active == 2 ? 'active' : ''"> <div class="manage-btn" @click="active = 2" :class="active == 2 ? 'active' : ''">
<img src="../../assets/manageImg/manage-btn-icon1.png" alt=""> <img src="../../assets/manageImg/manage-btn-icon1.png" alt="">
智能控制器 {{$t('deviceManagement.deviceTypes.smartController')}}
</div> </div>
<div class="manage-btn" @click="active = 3" :class="active == 3 ? 'active' : ''"> <div class="manage-btn" @click="active = 3" :class="active == 3 ? 'active' : ''">
<img src="../../assets/manageImg/manage-btn-icon1.png" alt=""> <img src="../../assets/manageImg/manage-btn-icon1.png" alt="">
生态气象站 {{$t('deviceManagement.deviceTypes.weatherStation')}}
</div> </div>
<div class="manage-btn" @click="active = 4" :class="active == 4 ? 'active' : ''"> <div class="manage-btn" @click="active = 4" :class="active == 4 ? 'active' : ''">
<img src="../../assets/manageImg/manage-btn-icon1.png" alt=""> <img src="../../assets/manageImg/manage-btn-icon1.png" alt="">
数据采集器 {{$t('deviceManagement.deviceTypes.dataCollector')}}
</div> </div>
</div> </div>
<div class="table-view" style="width: 100%;" v-if="active === 0"> <div class="table-view" style="width: 100%;" v-if="active === 0">
@ -33,18 +33,18 @@
</div> </div>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column prop="deviceId" label="设备code码"> <el-table-column prop="deviceId" :label="$t('deviceManagement.tableHeaders.deviceCode')">
</el-table-column> </el-table-column>
<el-table-column prop="deviceTypeName" label="设备名称"> <el-table-column prop="deviceTypeName" :label="$t('deviceManagement.tableHeaders.deviceName')">
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('nameText.operations')">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<div class="table-operate blue" @click="openModel(scope.row, scope.$index)"> <div class="table-operate blue" @click="openModel(scope.row, scope.$index)">
<img src="../../assets/manageImg/table-edit.png" alt="">编辑 <img src="../../assets/manageImg/table-edit.png" alt="">{{$t('deviceManagement.tableHeaders.edit')}}
</div> </div>
<div class="table-operate red" @click="openModelName(scope.row, scope.$index)"> <div class="table-operate red" @click="openModelName(scope.row, scope.$index)">
<img src="../../assets/manageImg/table-edit.png" alt="">修改更多名称 <img src="../../assets/manageImg/table-edit.png" alt="">{{$t('deviceManagement.tableHeaders.modifyMoreNames')}}
</div> </div>
</div> </div>
@ -61,18 +61,18 @@
</div> </div>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column prop="deviceId" label="设备code码"> <el-table-column prop="deviceId" :label="$t('deviceManagement.tableHeaders.deviceCode')">
</el-table-column> </el-table-column>
<el-table-column prop="deviceTypeName" label="设备名称"> <el-table-column prop="deviceTypeName" :label="$t('deviceManagement.tableHeaders.deviceName')">
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('nameText.operations')">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<div class="table-operate blue" @click="openModel1(scope.row, scope.$index)"> <div class="table-operate blue" @click="openModel1(scope.row, scope.$index)">
<img src="../../assets/manageImg/table-edit.png" alt="">编辑 <img src="../../assets/manageImg/table-edit.png" alt="">{{$t('deviceManagement.tableHeaders.edit')}}
</div> </div>
<div class="table-operate blue" @click="openRoleModel(scope.row.deviceId)"> <div class="table-operate blue" @click="openRoleModel(scope.row.deviceId)">
<img src="../../assets/manageImg/table-edit.png" alt="">权限编辑 <img src="../../assets/manageImg/table-edit.png" alt="">{{$t('deviceManagement.tableHeaders.permissionEdit')}}
</div> </div>
</div> </div>
@ -88,18 +88,18 @@
</div> </div>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column prop="deviceId" label="设备code码"> <el-table-column prop="deviceId" :label="$t('deviceManagement.tableHeaders.deviceCode')">
</el-table-column> </el-table-column>
<el-table-column prop="deviceTypeName" label="设备名称"> <el-table-column prop="deviceTypeName" :label="$t('deviceManagement.tableHeaders.deviceName')">
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('nameText.operations')">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<div class="table-operate blue" @click="openModel1(scope.row, scope.$index)"> <div class="table-operate blue" @click="openModel1(scope.row, scope.$index)">
<img src="../../assets/manageImg/table-edit.png" alt="">编辑 <img src="../../assets/manageImg/table-edit.png" alt="">{{$t('deviceManagement.tableHeaders.edit')}}
</div> </div>
<div class="table-operate red" @click="openModelName1(scope.row, scope.$index)"> <div class="table-operate red" @click="openModelName1(scope.row, scope.$index)">
<img src="../../assets/manageImg/table-edit.png" alt="">修改更多名称 <img src="../../assets/manageImg/table-edit.png" alt="">{{$t('deviceManagement.tableHeaders.modifyMoreNames')}}
</div> </div>
</div> </div>
@ -115,15 +115,15 @@
</div> </div>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column prop="deviceId" label="设备code码"> <el-table-column prop="deviceId" :label="$t('deviceManagement.tableHeaders.deviceCode')">
</el-table-column> </el-table-column>
<el-table-column prop="deviceTypeName" label="设备名称"> <el-table-column prop="deviceTypeName" :label="$t('deviceManagement.tableHeaders.deviceName')">
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('nameText.operations')">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<div class="table-operate blue" @click="openModel(scope.row, scope.$index)"> <div class="table-operate blue" @click="openModel(scope.row, scope.$index)">
<img src="../../assets/manageImg/table-edit.png" alt="">编辑 <img src="../../assets/manageImg/table-edit.png" alt="">{{$t('deviceManagement.tableHeaders.edit')}}
</div> </div>
</div> </div>
@ -140,15 +140,15 @@
</div> </div>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column prop="deviceId" label="设备code码"> <el-table-column prop="deviceId" :label="$t('deviceManagement.tableHeaders.deviceCode')">
</el-table-column> </el-table-column>
<el-table-column prop="deviceTypeName" label="设备名称"> <el-table-column prop="deviceTypeName" :label="$t('deviceManagement.tableHeaders.deviceName')">
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('nameText.operations')">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<div class="table-operate blue" @click="openModel(scope.row, scope.$index)"> <div class="table-operate blue" @click="openModel(scope.row, scope.$index)">
<img src="../../assets/manageImg/table-edit.png" alt="">编辑 <img src="../../assets/manageImg/table-edit.png" alt="">{{$t('deviceManagement.tableHeaders.edit')}}
</div> </div>
</div> </div>
@ -157,42 +157,42 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<el-dialog :close-on-click-modal="false" title="提示" top="10vh" :visible.sync="addModel" width="700px" class="vrcode-model manage-model" <el-dialog :close-on-click-modal="false" title="" top="10vh" :visible.sync="addModel" width="700px" class="vrcode-model manage-model"
:append-to-body="true"> :append-to-body="true">
<div class="vrcode-model-title"> <div class="vrcode-model-title">
编辑 {{$t('deviceManagement.dialogs.editTitle')}}
</div> </div>
<div class="vrcode-content" v-if="nowData"> <div class="vrcode-content" v-if="nowData">
<div class="manage-left"> <div class="manage-left">
<div class="manage-input"> <div class="manage-input">
<div class="input-title">设备code码</div> <div class="input-title">{{$t('nameText.deviceCode')}}</div>
<input type="text" v-model="nowData.deviceId" disabled placeholder="请输入设备code码"> <input type="text" v-model="nowData.deviceId" disabled :placeholder="$t('placeholder.deviceCodePlaceholder')">
</div> </div>
<div class="manage-input"> <div class="manage-input">
<div class="input-title">设备名称</div> <div class="input-title">{{$t('nameText.deviceName')}}</div>
<input type="text" v-model="nowData.deviceTypeName" placeholder="请输入设备名称"> <input type="text" v-model="nowData.deviceTypeName" :placeholder="$t('placeholder.deviceNamePlaceholder')">
</div> </div>
<div class="manage-input"> <div class="manage-input">
<div class="input-title">施肥机状态页名称</div> <div class="input-title">{{$t('deviceManagement.dialogs.statusPageName')}}</div>
<input type="text" v-model="nowData.stationName" placeholder="请输入施肥机状态页名称"> <input type="text" v-model="nowData.stationName" :placeholder="$t('placeholder.statusPageNamePlaceholder')">
</div> </div>
<div class="manage-input"> <div class="manage-input">
<div class="input-title">摄像机名称</div> <div class="input-title">{{$t('deviceManagement.dialogs.cameraName')}}</div>
<input type="text" v-model="nowData.cameraSerialNumber" placeholder="请输入摄像机名称"> <input type="text" v-model="nowData.cameraSerialNumber" :placeholder="$t('placeholder.cameraNamePlaceholder')">
</div> </div>
<div class="manage-input"> <div class="manage-input">
<div class="input-title">摄像机通道号</div> <div class="input-title">{{$t('deviceManagement.dialogs.cameraChannel')}}</div>
<input type="number" v-model="nowData.cameraChannelNumber" placeholder="请输入对应摄像机通道号"> <input type="number" v-model="nowData.cameraChannelNumber" :placeholder="$t('placeholder.cameraChannelPlaceholder')">
</div> </div>
<div class="manage-input"> <div class="manage-input">
<div class="input-title">排序</div> <div class="input-title">{{$t('nameText.sortOrder')}}</div>
<input type="number" v-model="nowData.equipmentStatu" placeholder="请输入排序"> <input type="number" v-model="nowData.equipmentStatu" :placeholder="$t('placeholder.sortOrderPlaceholder')">
</div> </div>
</div> </div>
<div class="manage-right"> <div class="manage-right">
<div class="manage-img"> <div class="manage-img">
<label for="sel-img"> <label for="sel-img">
<img class="" :src="nowData.hls" alt="小程序图片"> <img class="" :src="nowData.hls" alt="">
</label> </label>
<input ref="fileInput" type="file" :multiple="false" id="sel-img" accept="image/*" <input ref="fileInput" type="file" :multiple="false" id="sel-img" accept="image/*"
@change="handleImageChange($event, 0)" /> @change="handleImageChange($event, 0)" />
@ -200,140 +200,140 @@
</div> </div>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn w-100" @click="changeAddModel">确定</div> <div class="vrcode-btn blue-btn w-100" @click="changeAddModel">{{$t('index.confirm')}}</div>
<div class="vrcode-btn cancle-btn w-100" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn w-100" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>
<!-- 施肥机的修改名字 --> <!-- 施肥机的修改名字 -->
<el-dialog :close-on-click-modal="false" title="提示" top="10vh" :visible.sync="changeName" width="760px" class="vrcode-model manage-model" <el-dialog :close-on-click-modal="false" title="提示" top="10vh" :visible.sync="changeName" width="760px" class="vrcode-model manage-model"
:append-to-body="true"> :append-to-body="true">
<div class="vrcode-model-title"> <div class="vrcode-model-title">
修改更多名称 {{$t('deviceManagement.dialogs.modifyNamesTitle')}}
</div> </div>
<div class="vrcode-content" v-if="nameList"> <div class="vrcode-content" v-if="nameList">
<div class="manage-left"> <div class="manage-left">
<div class="manage-input w-160"> <div class="manage-input w-160">
<div class="input-title">施肥配方1-8</div> <div class="input-title">{{$t('deviceManagement.dialogs.fertilizationRecipes')}}</div>
<input type="text" v-model="nameList.fertilizationOne" placeholder="施肥1"> <input type="text" v-model="nameList.fertilizationOne" :placeholder="$t('placeholder.recipePlaceholder', {n: 1})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.fertilizationTwo" placeholder="施肥2"> <input type="text" v-model="nameList.fertilizationTwo" :placeholder="$t('placeholder.recipePlaceholder', {n: 2})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.fertilizationThree" placeholder="施肥3"> <input type="text" v-model="nameList.fertilizationThree" :placeholder="$t('placeholder.recipePlaceholder', {n: 3})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.fertilizationFour" placeholder="施肥4"> <input type="text" v-model="nameList.fertilizationFour" :placeholder="$t('placeholder.recipePlaceholder', {n: 4})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.fertilizationFive" placeholder="施肥5"> <input type="text" v-model="nameList.fertilizationFive" :placeholder="$t('placeholder.recipePlaceholder', {n: 5})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.fertilizationSix" placeholder="施肥6"> <input type="text" v-model="nameList.fertilizationSix" :placeholder="$t('placeholder.recipePlaceholder', {n: 6})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.fertilizationSeven" placeholder="施肥7"> <input type="text" v-model="nameList.fertilizationSeven" :placeholder="$t('placeholder.recipePlaceholder', {n: 7})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.fertilizationEight" placeholder="施肥8"> <input type="text" v-model="nameList.fertilizationEight" :placeholder="$t('placeholder.recipePlaceholder', {n: 8})">
</div> </div>
</div> </div>
<div class="manage-center"> <div class="manage-center">
<div class="manage-input w-160"> <div class="manage-input w-160">
<div class="input-title">灌溉组1-8</div> <div class="input-title">{{$t('deviceManagement.dialogs.irrigationGroups')}}</div>
<input type="text" v-model="nameList.solenoidOne" placeholder="灌溉组1"> <input type="text" v-model="nameList.solenoidOne" :placeholder="$t('placeholder.groupPlaceholder', {n: 1})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.solenoidTwo" placeholder="灌溉组2"> <input type="text" v-model="nameList.solenoidTwo" :placeholder="$t('placeholder.groupPlaceholder', {n: 2})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.solenoidThree" placeholder="灌溉组3"> <input type="text" v-model="nameList.solenoidThree" :placeholder="$t('placeholder.groupPlaceholder', {n: 3})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.solenoidFour" placeholder="灌溉组4"> <input type="text" v-model="nameList.solenoidFour" :placeholder="$t('placeholder.groupPlaceholder', {n: 4})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.solenoidFive" placeholder="灌溉组5"> <input type="text" v-model="nameList.solenoidFive" :placeholder="$t('placeholder.groupPlaceholder', {n: 5})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.solenoidSix" placeholder="灌溉组6"> <input type="text" v-model="nameList.solenoidSix" :placeholder="$t('placeholder.groupPlaceholder', {n: 6})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.solenoidSeven" placeholder="灌溉组7"> <input type="text" v-model="nameList.solenoidSeven" :placeholder="$t('placeholder.groupPlaceholder', {n: 7})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.solenoidEight" placeholder="灌溉组8"> <input type="text" v-model="nameList.solenoidEight" :placeholder="$t('placeholder.groupPlaceholder', {n: 8})">
</div> </div>
</div> </div>
<div class="manage-center"> <div class="manage-center">
<div class="manage-input w-160"> <div class="manage-input w-160">
<div class="input-title">灌溉组9-16</div> <div class="input-title">{{$t('deviceManagement.dialogs.irrigationGroups9_16')}}</div>
<input type="text" v-model="nameList.solenoidNine" placeholder="灌溉组9"> <input type="text" v-model="nameList.solenoidNine" :placeholder="$t('placeholder.groupPlaceholder', {n: 9})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.solenoidTen" placeholder="灌溉组10"> <input type="text" v-model="nameList.solenoidTen" :placeholder="$t('placeholder.groupPlaceholder', {n: 10})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.solenoidElven" placeholder="灌溉组11"> <input type="text" v-model="nameList.solenoidElven" :placeholder="$t('placeholder.groupPlaceholder', {n: 11})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.solenoidTwelve" placeholder="灌溉组12"> <input type="text" v-model="nameList.solenoidTwelve" :placeholder="$t('placeholder.groupPlaceholder', {n: 12})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.solenoidThirteen" placeholder="灌溉组13"> <input type="text" v-model="nameList.solenoidThirteen" :placeholder="$t('placeholder.groupPlaceholder', {n: 13})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.solenoidFourteen" placeholder="灌溉组14"> <input type="text" v-model="nameList.solenoidFourteen" :placeholder="$t('placeholder.groupPlaceholder', {n: 14})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.solenoidFifteen" placeholder="灌溉组15"> <input type="text" v-model="nameList.solenoidFifteen" :placeholder="$t('placeholder.groupPlaceholder', {n: 15})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.solenoidSixteen" placeholder="灌溉组16"> <input type="text" v-model="nameList.solenoidSixteen" :placeholder="$t('placeholder.groupPlaceholder', {n: 16})">
</div> </div>
</div> </div>
<div class="manage-right"> <div class="manage-right">
<div class="manage-input w-160"> <div class="manage-input w-160">
<div class="input-title">外控设备1-4</div> <div class="input-title">{{$t('deviceManagement.dialogs.externalDevices')}}</div>
<input type="text" v-model="nameList.externalOne" placeholder="外控设备1"> <input type="text" v-model="nameList.externalOne" :placeholder="$t('placeholder.externalPlaceholder', {n: 1})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.externalTwo" placeholder="外控设备2"> <input type="text" v-model="nameList.externalTwo" :placeholder="$t('placeholder.externalPlaceholder', {n: 2})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.externalThree" placeholder="外控设备3"> <input type="text" v-model="nameList.externalThree" :placeholder="$t('placeholder.externalPlaceholder', {n: 3})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="nameList.externalFour" placeholder="外控设备4"> <input type="text" v-model="nameList.externalFour" :placeholder="$t('placeholder.externalPlaceholder', {n: 4})">
</div> </div>
</div> </div>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn w-100" @click="changeAddModel2">确定</div> <div class="vrcode-btn blue-btn w-100" @click="changeAddModel2">{{$t('index.confirm')}}</div>
<div class="vrcode-btn cancle-btn w-100" @click="changeName = false">取消</div> <div class="vrcode-btn cancle-btn w-100" @click="changeName = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>
<!-- 控制器编辑 --> <!-- 控制器编辑 -->
<el-dialog :close-on-click-modal="false" title="提示" top="10vh" :visible.sync="addModel1" width="564px" class="vrcode-model manage-model" <el-dialog :close-on-click-modal="false" title="提示" top="10vh" :visible.sync="addModel1" width="564px" class="vrcode-model manage-model"
:append-to-body="true"> :append-to-body="true">
<div class="vrcode-model-title"> <div class="vrcode-model-title">
编辑 {{$t('nameText.edit')}}
</div> </div>
<div class="vrcode-content" v-if="nowData1"> <div class="vrcode-content" v-if="nowData1">
<div class="manage-left"> <div class="manage-left">
<div class="manage-input"> <div class="manage-input">
<div class="input-title">设备code码</div> <div class="input-title">{{$t('nameText.deviceCode')}}</div>
<input type="text" v-model="nowData1.deviceId" disabled placeholder="请输入设备code码"> <input type="text" v-model="nowData1.deviceId" disabled :placeholder="$t('placeholder.deviceCodePlaceholder')">
</div> </div>
<div class="manage-input"> <div class="manage-input">
<div class="input-title">摄像机名称</div> <div class="input-title">{{$t('deviceManagement.dialogs.cameraName')}}</div>
<input type="text" v-model="nowData1.cameraSerialNumber" placeholder="请输入摄像机名称"> <input type="text" v-model="nowData1.cameraSerialNumber" :placeholder="$t('placeholder.cameraNamePlaceholder')">
</div> </div>
<div class="manage-input"> <div class="manage-input">
<div class="input-title">排序</div> <div class="input-title">{{$t('nameText.sortOrder')}}</div>
<input type="number" v-model="nowData1.equipmentStatu" placeholder="请输入排序"> <input type="number" v-model="nowData1.equipmentStatu" :placeholder="$t('placeholder.sortOrderPlaceholder')">
</div> </div>
<div class="manage-img-small"> <div class="manage-img-small">
<label for="sel-img"> <label for="sel-img">
@ -345,98 +345,95 @@
</div> </div>
<div class="manage-right"> <div class="manage-right">
<div class="manage-input"> <div class="manage-input">
<div class="input-title">设备名称</div> <div class="input-title">{{$t('nameText.deviceName')}}</div>
<input type="text" v-model="nowData1.deviceTypeName" placeholder="请输入设备名称"> <input type="text" v-model="nowData1.deviceTypeName" :placeholder="$t('placeholder.deviceNamePlaceholder')">
</div> </div>
<div class="manage-input"> <div class="manage-input">
<div class="input-title">摄像机通道号</div> <div class="input-title">{{$t('deviceManagement.dialogs.cameraChannel')}}</div>
<input type="number" v-model="nowData1.cameraChannelNumber" placeholder="请输入摄像机通道号"> <input type="number" v-model="nowData1.cameraChannelNumber" :placeholder="$t('deviceManagement.dialogs.cameraChannel')">
</div> </div>
<div class="manage-text"> <div class="manage-text">
如果有摄像机则每小时都会定时更新<br> {{$t('deviceManagement.dialogs.noteText')}}
小程序摄像机主页面图片<br>
如果没有摄像机则可以自定义更改图片<br>
地址信息
</div> </div>
</div> </div>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn w-100" @click="changeAddModel1">确定</div> <div class="vrcode-btn blue-btn w-100" @click="changeAddModel1">{{$t('index.confirm')}}</div>
<div class="vrcode-btn cancle-btn w-100" @click="addModel1 = false">取消</div> <div class="vrcode-btn cancle-btn w-100" @click="addModel1 = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>
<!-- 智能灌溉 --> <!-- 智能灌溉 -->
<el-dialog :close-on-click-modal="false" title="提示" top="10vh" :visible.sync="changeName1" width="760px" class="vrcode-model manage-model" <el-dialog :close-on-click-modal="false" title="" top="10vh" :visible.sync="changeName1" width="760px" class="vrcode-model manage-model"
:append-to-body="true"> :append-to-body="true">
<div class="vrcode-model-title"> <div class="vrcode-model-title">
修改更多名称 {{$t('deviceManagement.dialogs.modifyNamesTitle')}}
</div> </div>
<div class="vrcode-content" v-if="name20List"> <div class="vrcode-content" v-if="name20List">
<div class="manage-left"> <div class="manage-left">
<div class="manage-input w-160"> <div class="manage-input w-160">
<div class="input-title">智能灌溉1-8</div> <div class="input-title">{{$t('deviceManagement.dialogs.smartIrrigation')}}</div>
<input type="text" v-model="name20List.name1" placeholder="灌溉组1"> <input type="text" v-model="name20List.name1" :placeholder="$t('placeholder.smartPlaceholder', {n: 1})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="name20List.name2" placeholder="灌溉组2"> <input type="text" v-model="name20List.name2" :placeholder="$t('placeholder.smartPlaceholder', {n: 2})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="name20List.name3" placeholder="灌溉组3"> <input type="text" v-model="name20List.name3" :placeholder="$t('placeholder.smartPlaceholder', {n: 3})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="name20List.name4" placeholder="灌溉组4"> <input type="text" v-model="name20List.name4" :placeholder="$t('placeholder.smartPlaceholder', {n: 4})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="name20List.name5" placeholder="灌溉组5"> <input type="text" v-model="name20List.name5" :placeholder="$t('placeholder.smartPlaceholder', {n: 5})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="name20List.name6" placeholder="灌溉组6"> <input type="text" v-model="name20List.name6" :placeholder="$t('placeholder.smartPlaceholder', {n: 6})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="name20List.name7" placeholder="灌溉组7"> <input type="text" v-model="name20List.name7" :placeholder="$t('placeholder.smartPlaceholder', {n: 7})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="name20List.name8" placeholder="灌溉组8"> <input type="text" v-model="name20List.name8" :placeholder="$t('placeholder.smartPlaceholder', {n: 8})">
</div> </div>
</div> </div>
<div class="manage-center"> <div class="manage-center">
<div class="manage-input w-160"> <div class="manage-input w-160">
<div class="input-title">智能灌溉9-16</div> <div class="input-title">{{$t('deviceManagement.dialogs.smartIrrigation9_16')}}</div>
<input type="text" v-model="name20List.name9" placeholder="灌溉组1"> <input type="text" v-model="name20List.name9" :placeholder="$t('placeholder.smartPlaceholder', {n: 9})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="name20List.name10" placeholder="灌溉组2"> <input type="text" v-model="name20List.name10" :placeholder="$t('placeholder.smartPlaceholder', {n: 10})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="name20List.name11" placeholder="灌溉组3"> <input type="text" v-model="name20List.name11" :placeholder="$t('placeholder.smartPlaceholder', {n: 11})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="name20List.name12" placeholder="灌溉组4"> <input type="text" v-model="name20List.name12" :placeholder="$t('placeholder.smartPlaceholder', {n: 12})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="name20List.name13" placeholder="灌溉组5"> <input type="text" v-model="name20List.name13" :placeholder="$t('placeholder.smartPlaceholder', {n: 13})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="name20List.name14" placeholder="灌溉组6"> <input type="text" v-model="name20List.name14" :placeholder="$t('placeholder.smartPlaceholder', {n: 14})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="name20List.name15" placeholder="灌溉组7"> <input type="text" v-model="name20List.name15" :placeholder="$t('placeholder.smartPlaceholder', {n: 15})">
</div> </div>
<div class="manage-input w-160"> <div class="manage-input w-160">
<input type="text" v-model="name20List.name16" placeholder="灌溉组8"> <input type="text" v-model="name20List.name16" :placeholder="$t('placeholder.smartPlaceholder', {n: 16})">
</div> </div>
</div> </div>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn w-100" @click="changeAddModel3">确定</div> <div class="vrcode-btn blue-btn w-100" @click="changeAddModel3">{{$t('index.confirm')}}</div>
<div class="vrcode-btn cancle-btn w-100" @click="changeName = false">取消</div> <div class="vrcode-btn cancle-btn w-100" @click="changeName = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>
<el-dialog :close-on-click-modal="false" title="控制器权限管理" :append-to-body="true" :visible.sync="roleModel" width="70%"> <el-dialog :close-on-click-modal="false" :title="$t('deviceManagement.dialogs.permissionManagement')" :append-to-body="true" :visible.sync="roleModel" width="70%">
<div class="model-title">控制器权限管理</div> <div class="model-title">{{$t('deviceManagement.dialogs.permissionManagement')}}</div>
<div class="model-sel scroll"> <div class="model-sel scroll">
<div v-for="item, index in allDevicestatus" :key="index"> <div v-for="item, index in allDevicestatus" :key="index">
<div @click="selClick(item)" :class="item.state==0 ? 'sel' : 'no-sel'"></div> <div @click="selClick(item)" :class="item.state==0 ? 'sel' : 'no-sel'"></div>
@ -445,7 +442,7 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<!-- <div class="vrcode-btn blue-btn">添加标准控制器</div> --> <!-- <div class="vrcode-btn blue-btn">添加标准控制器</div> -->
<div class="vrcode-btn cancle-btn w-100" @click="roleModel = false">确定</div> <div class="vrcode-btn cancle-btn w-100" @click="roleModel = false">{{$t('index.confirm')}}</div>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
@ -530,7 +527,7 @@ export default {
this.api.updatePermissionState(apiData).then((res => { this.api.updatePermissionState(apiData).then((res => {
if (res.data.code == 200) { if (res.data.code == 200) {
this.$message({ this.$message({
message: '修改成功', message: this.$t('message.change'),
type: "success", type: "success",
}); });
// this.getcontrol_cpermission() // this.getcontrol_cpermission()
@ -545,7 +542,7 @@ export default {
openRoleModel(deviceId) { openRoleModel(deviceId) {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -569,7 +566,7 @@ openRoleModel(deviceId) {
changeAddModel() { changeAddModel() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -589,7 +586,7 @@ openRoleModel(deviceId) {
openModelName(item,index){ openModelName(item,index){
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -607,7 +604,7 @@ openRoleModel(deviceId) {
openModelName1(item,index){ openModelName1(item,index){
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -625,7 +622,7 @@ openModelName1(item,index){
changeAddModel3(){ changeAddModel3(){
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -644,7 +641,7 @@ changeAddModel3(){
changeAddModel1() { changeAddModel1() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -664,7 +661,7 @@ changeAddModel3(){
changeAddModel2(){ changeAddModel2(){
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -683,7 +680,7 @@ changeAddModel3(){
handleImageChange(event,type) { handleImageChange(event,type) {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '上传中', text: this.$t('message.uploading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -36,8 +36,8 @@
height="540" height="540"
style="width: 100%" style="width: 100%"
> >
<el-table-column prop="deviceId" label="设备code码"> </el-table-column> <el-table-column prop="deviceId" :label="$t('nameText.deviceCode')"> </el-table-column>
<el-table-column prop="deviceTypeName" label="设备名称"> <el-table-column prop="deviceTypeName" :label="$t('nameText.deviceName')">
</el-table-column> </el-table-column>
<el-table-column prop="cameraSerialNumber" label="设备关联摄像头名称"> <el-table-column prop="cameraSerialNumber" label="设备关联摄像头名称">
</el-table-column> </el-table-column>
@ -45,7 +45,7 @@
</el-table-column> </el-table-column>
<el-table-column prop="userName" label="设备关联用户名称"> <el-table-column prop="userName" label="设备关联用户名称">
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('nameText.operations')">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<div <div
@ -57,14 +57,14 @@
</div> </div>
<el-popconfirm <el-popconfirm
@confirm="confirmDel(scope.row)" @confirm="confirmDel(scope.row)"
title="这一段内容确定删除吗?" :title="$t('nameText.deleteContent')"
icon-color="red" icon-color="red"
> >
<div class="table-operate red" slot="reference"> <div class="table-operate red" slot="reference">
<img <img
src="../../assets/manageImg/table-delete.png" src="../../assets/manageImg/table-delete.png"
alt="" alt=""
/> />{{$t('nameText.delete')}}
</div> </div>
</el-popconfirm> </el-popconfirm>
</div> </div>
@ -105,7 +105,7 @@
添加标准控制器 添加标准控制器
</div> </div>
<div class="vrcode-btn cancle-btn w-100" @click="roleModel = false"> <div class="vrcode-btn cancle-btn w-100" @click="roleModel = false">
确定 {{$t('index.confirm')}}
</div> </div>
</span> </span>
</el-dialog> </el-dialog>
@ -123,11 +123,11 @@
<div class="vrcode-content"> <div class="vrcode-content">
<div class="manage-left"> <div class="manage-left">
<div class="manage-input"> <div class="manage-input">
<div class="input-title">设备code码</div> <div class="input-title">{{$t('nameText.deviceCode')}}</div>
<input <input
type="text" type="text"
v-model="nowData1.deviceId" v-model="nowData1.deviceId"
placeholder="请输入设备code码" :placeholder="$t('placeholder.deviceCodePlaceholder')"
/> />
</div> </div>
<div class="manage-input-sel" style="margin-right: 0"> <div class="manage-input-sel" style="margin-right: 0">
@ -178,11 +178,11 @@
</div> </div>
<div class="manage-right"> <div class="manage-right">
<div class="manage-input"> <div class="manage-input">
<div class="input-title">设备名称</div> <div class="input-title">{{$t('nameText.deviceName')}}</div>
<input <input
type="text" type="text"
v-model="nowData1.deviceTypeName" v-model="nowData1.deviceTypeName"
placeholder="请输入设备名称" :placeholder="$t('placeholder.deviceNamePlaceholder')"
/> />
</div> </div>
@ -204,9 +204,9 @@
</div> </div>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn w-100" @click="addDevice">确定</div> <div class="vrcode-btn blue-btn w-100" @click="addDevice">{{$t('index.confirm')}}</div>
<div class="vrcode-btn cancle-btn w-100" @click="addModel1 = false"> <div class="vrcode-btn cancle-btn w-100" @click="addModel1 = false">
取消 {{$t('index.cancel')}}
</div> </div>
</span> </span>
</el-dialog> </el-dialog>
@ -282,7 +282,7 @@ export default {
openRoleModel(deviceId) { openRoleModel(deviceId) {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: "加载中", text: this.$t('message.loading'),
spinner: "el-icon-loading", spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)", background: "rgba(0, 0, 0, 0.7)",
}); });
@ -340,7 +340,7 @@ export default {
handleImageChange(event) { handleImageChange(event) {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: "上传中", text:this.$t('message.uploading'),
spinner: "el-icon-loading", spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)", background: "rgba(0, 0, 0, 0.7)",
}); });
@ -415,7 +415,7 @@ export default {
this.api.delpermission(deviceId, statusId).then((res) => { this.api.delpermission(deviceId, statusId).then((res) => {
if (res.data.code == 200) { if (res.data.code == 200) {
this.$message({ this.$message({
message: "修改成功", message:this.$t('message.change') ,
type: "success", type: "success",
}); });
this.getcontrol_cpermission(); this.getcontrol_cpermission();
@ -432,7 +432,7 @@ export default {
this.api.addpermission(deviceId, statusId).then((res) => { this.api.addpermission(deviceId, statusId).then((res) => {
if (res.data.code == 200) { if (res.data.code == 200) {
this.$message({ this.$message({
message: "修改成功", message:this.$t('message.change'),
type: "success", type: "success",
}); });
this.getcontrol_cpermission(); this.getcontrol_cpermission();
@ -460,7 +460,7 @@ export default {
}; };
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: "加载中", text: this.$t('message.loading'),
spinner: "el-icon-loading", spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)", background: "rgba(0, 0, 0, 0.7)",
}); });

View File

@ -20,17 +20,17 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="name" label="设备名称"> <el-table-column prop="name" :label="$t('nameText.deviceName')">
</el-table-column> </el-table-column>
<el-table-column prop="nickName" label="设备别名"> <el-table-column prop="nickName" label="设备别名">
</el-table-column> </el-table-column>
<el-table-column prop="sort" width="120px" label="排序"> <el-table-column prop="sort" width="120px" :label="$t('nameText.sortOrder')">
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('nameText.operations')">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<div class="table-operate blue" @click="openModel(scope.row, scope.$index)"> <div class="table-operate blue" @click="openModel(scope.row, scope.$index)">
<img src="../../assets/manageImg/table-edit.png" alt="">编辑 <img src="../../assets/manageImg/table-edit.png" alt="">{{$t('nameText.edit')}}
</div> </div>
</div> </div>
</template> </template>
@ -40,7 +40,7 @@
<el-dialog :close-on-click-modal="false" title="提示" top="15vh" :visible.sync="addModel" width="564px" class="vrcode-model manage-model" <el-dialog :close-on-click-modal="false" title="提示" top="15vh" :visible.sync="addModel" width="564px" class="vrcode-model manage-model"
:append-to-body="true"> :append-to-body="true">
<div class="vrcode-model-title"> <div class="vrcode-model-title">
编辑 {{$t('nameText.edit')}}
</div> </div>
<div class="vrcode-content" v-if="changeData"> <div class="vrcode-content" v-if="changeData">
<div class=""> <div class="">
@ -51,7 +51,7 @@
</div> </div>
<div class=""> <div class="">
<div class="manage-input"> <div class="manage-input">
<div class="input-title">排序</div> <div class="input-title">{{$t('nameText.sortOrder')}}</div>
<input type="number" v-model="changeData.sort" placeholder="请输入新排序"> <input type="number" v-model="changeData.sort" placeholder="请输入新排序">
</div> </div>
</div> </div>
@ -66,8 +66,8 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn w-100" @click="confirmModel">确定</div> <div class="vrcode-btn blue-btn w-100" @click="confirmModel">{{$t('index.confirm')}}</div>
<div class="vrcode-btn cancle-btn w-100" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn w-100" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
@ -94,7 +94,7 @@ export default {
confirmModel() { confirmModel() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -19,17 +19,17 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="permissionName" label="设备名称"> <el-table-column prop="permissionName" :label="$t('nameText.deviceName')">
</el-table-column> </el-table-column>
<el-table-column prop="nickName" label="设备别名"> <el-table-column prop="nickName" label="设备别名">
</el-table-column> </el-table-column>
<el-table-column prop="sort" width="120px" label="排序"> <el-table-column prop="sort" width="120px" :label="$t('nameText.sortOrder')">
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('nameText.operations')">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<div class="table-operate blue" @click="openModel(scope.row,scope.$index)"> <div class="table-operate blue" @click="openModel(scope.row,scope.$index)">
<img src="../../assets/manageImg/table-edit.png" alt="">编辑 <img src="../../assets/manageImg/table-edit.png" alt="">{{$t('nameText.edit')}}
</div> </div>
</div> </div>
</template> </template>
@ -38,7 +38,7 @@
</div> </div>
<el-dialog :close-on-click-modal="false" title="提示" top="15vh" :visible.sync="addModel" width="564px" class="vrcode-model manage-model" :append-to-body="true"> <el-dialog :close-on-click-modal="false" title="提示" top="15vh" :visible.sync="addModel" width="564px" class="vrcode-model manage-model" :append-to-body="true">
<div class="vrcode-model-title"> <div class="vrcode-model-title">
编辑 {{$t('nameText.edit')}}
</div> </div>
<div class="vrcode-content" v-if="changeData"> <div class="vrcode-content" v-if="changeData">
<div class="manage-left"> <div class="manage-left">
@ -49,14 +49,14 @@
</div> </div>
<div class="manage-right"> <div class="manage-right">
<div class="manage-input"> <div class="manage-input">
<div class="input-title">排序</div> <div class="input-title">{{$t('nameText.sortOrder')}}</div>
<input type="number" v-model="changeData.sort" placeholder="请输入新排序"> <input type="number" v-model="changeData.sort" placeholder="请输入新排序">
</div> </div>
</div> </div>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn w-100" @click="confirmModel">确定</div> <div class="vrcode-btn blue-btn w-100" @click="confirmModel">{{$t('index.confirm')}}</div>
<div class="vrcode-btn cancle-btn w-100" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn w-100" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>

View File

@ -30,11 +30,11 @@
</el-table-column> </el-table-column>
<el-table-column prop="nickName" label="手机控制名称"> <el-table-column prop="nickName" label="手机控制名称">
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('nameText.operations')">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<div class="table-operate blue" @click="openModel(scope.row, 1)"> <div class="table-operate blue" @click="openModel(scope.row, 1)">
<img src="../../assets/manageImg/table-edit.png" alt="">编辑 <img src="../../assets/manageImg/table-edit.png" alt="">{{$t('nameText.edit')}}
</div> </div>
</div> </div>
@ -45,7 +45,7 @@
<el-dialog :close-on-click-modal="false" title="提示" top="10vh" :visible.sync="addModel" width="564px" class="vrcode-model manage-model" <el-dialog :close-on-click-modal="false" title="提示" top="10vh" :visible.sync="addModel" width="564px" class="vrcode-model manage-model"
:append-to-body="true"> :append-to-body="true">
<div class="vrcode-model-title"> <div class="vrcode-model-title">
编辑 {{$t('nameText.edit')}}
</div> </div>
<div class="vrcode-content"> <div class="vrcode-content">
<div class="manage-left"> <div class="manage-left">
@ -63,8 +63,8 @@
</div> </div>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn w-100" @click="confirmBtn">确定</div> <div class="vrcode-btn blue-btn w-100" @click="confirmBtn">{{$t('index.confirm')}}</div>
<div class="vrcode-btn cancle-btn w-100" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn w-100" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
@ -130,7 +130,7 @@ export default {
confirmBtn() { confirmBtn() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -25,11 +25,11 @@
</el-table-column> </el-table-column>
<el-table-column prop="phonenumber" v-model="nowData.phonenumber" label="手机号"> <el-table-column prop="phonenumber" v-model="nowData.phonenumber" label="手机号">
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('nameText.operations')">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<div class="table-operate blue" @click="openModel(scope.row, 1)"> <div class="table-operate blue" @click="openModel(scope.row, 1)">
<img src="../../assets/manageImg/table-edit.png" alt="">编辑 <img src="../../assets/manageImg/table-edit.png" alt="">{{$t('nameText.edit')}}
</div> </div>
<div class="table-operate red" @click="openPassword(scope.row, 1)"> <div class="table-operate red" @click="openPassword(scope.row, 1)">
<img src="../../assets/manageImg/table-edit1.png" alt="">修改密码 <img src="../../assets/manageImg/table-edit1.png" alt="">修改密码
@ -68,8 +68,8 @@
</div> --> </div> -->
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn w-100" @click="confirmPwdBtn">确定</div> <div class="vrcode-btn blue-btn w-100" @click="confirmPwdBtn">{{$t('index.confirm')}}</div>
<div class="vrcode-btn cancle-btn w-100" @click="passwordModel = false">取消</div> <div class="vrcode-btn cancle-btn w-100" @click="passwordModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>
<el-dialog title="提示" top="10vh" :visible.sync="addDeviceModel" width="460px" class="vrcode-model manage-model" <el-dialog title="提示" top="10vh" :visible.sync="addDeviceModel" width="460px" class="vrcode-model manage-model"
@ -80,8 +80,8 @@
<div class="vrcode-content"> <div class="vrcode-content">
<div class="manage-left"> <div class="manage-left">
<div class="manage-input w-400"> <div class="manage-input w-400">
<div class="input-title">设备code码</div> <div class="input-title">{{$t('nameText.deviceCode')}}</div>
<input type="text" v-model="openData.deviceId" placeholder="请输入设备code码"> <input type="text" v-model="openData.deviceId" :placeholder="$t('placeholder.deviceCodePlaceholder')">
</div> </div>
<!-- <div class="manage-input w-400"> <!-- <div class="manage-input w-400">
<div class="input-title">设备类型</div> <div class="input-title">设备类型</div>
@ -101,8 +101,8 @@
</el-dropdown> </el-dropdown>
</div> </div>
<div class="manage-input w-400"> <div class="manage-input w-400">
<div class="input-title">排序</div> <div class="input-title">{{$t('nameText.sortOrder')}}</div>
<input type="text" v-model="openData.equipmentStatu" placeholder="请输入排序"> <input type="text" v-model="openData.equipmentStatu" :placeholder="$t('placeholder.sortOrderPlaceholder')">
</div> </div>
</div> </div>
<!-- <div class="manage-right"> <!-- <div class="manage-right">
@ -111,8 +111,8 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn w-100" @click="addDevice">确定</div> <div class="vrcode-btn blue-btn w-100" @click="addDevice">{{$t('index.confirm')}}</div>
<div class="vrcode-btn cancle-btn w-100" @click="addDeviceModel = false">取消</div> <div class="vrcode-btn cancle-btn w-100" @click="addDeviceModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>
<el-dialog title="提示" top="10vh" :visible.sync="addModel" width="760px" class="vrcode-model manage-model" <el-dialog title="提示" top="10vh" :visible.sync="addModel" width="760px" class="vrcode-model manage-model"
@ -168,21 +168,21 @@
</div> </div>
<div class="table-view" style="margin-top: 5px;" v-if="modelName!='添加'"> <div class="table-view" style="margin-top: 5px;" v-if="modelName!='添加'">
<el-table :data="nowData.equipments" :row-class-name="tableRowClassName" height="300" style="width: 100%"> <el-table :data="nowData.equipments" :row-class-name="tableRowClassName" height="300" style="width: 100%">
<el-table-column prop="deviceId" v-model="nowData.userName" label="设备code码"> <el-table-column prop="deviceId" v-model="nowData.userName" :label="$t('nameText.deviceCode')">
</el-table-column> </el-table-column>
<el-table-column prop="equipmentName" v-model="nowData.nickName" label="设备类型"> <el-table-column prop="equipmentName" v-model="nowData.nickName" label="设备类型">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ getEquipmentName(scope.row.equipmentName) }}</div> <div>{{ getEquipmentName(scope.row.equipmentName) }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="equipmentStatu" v-model="nowData.phonenumber" label="排序"> <el-table-column prop="equipmentStatu" v-model="nowData.phonenumber" :label="$t('nameText.sortOrder')">
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('nameText.operations')">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<el-popconfirm @confirm="delDevice(scope.row, scope.$index)" title="这一段内容确定删除吗?" icon-color="red"> <el-popconfirm @confirm="delDevice(scope.row, scope.$index)" :title="$t('nameText.deleteContent')" icon-color="red">
<div class="table-operate red" slot="reference"> <div class="table-operate red" slot="reference">
<img src="../../assets/manageImg/table-delete.png" alt="">删除 <img src="../../assets/manageImg/table-delete.png" alt="">{{$t('nameText.delete')}}
</div> </div>
</el-popconfirm> </el-popconfirm>
</div> </div>
@ -191,8 +191,8 @@
</el-table> </el-table>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn w-100" @click="confirmEdit">确定</div> <div class="vrcode-btn blue-btn w-100" @click="confirmEdit">{{$t('index.confirm')}}</div>
<div class="vrcode-btn cancle-btn w-100" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn w-100" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
@ -313,7 +313,7 @@ export default {
} }
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -436,7 +436,7 @@ export default {
this.addModel = true this.addModel = true
this.$forceUpdate() this.$forceUpdate()
} else { } else {
this.modelName = '编辑' this.modelName = this.$t('nameText.edit')
this.addModel = true this.addModel = true
// const deviceIds = this.deviceList.map(device => device.deviceId); // const deviceIds = this.deviceList.map(device => device.deviceId);

View File

@ -13,11 +13,11 @@
<el-table-column prop="data1" label="摄像头名称"> <el-table-column prop="data1" label="摄像头名称">
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('nameText.operations')">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<div class="table-operate blue" @click="addModel=true"> <div class="table-operate blue" @click="addModel=true">
<img src="../../assets/manageImg/table-edit.png" alt="">编辑 <img src="../../assets/manageImg/table-edit.png" alt="">{{$t('nameText.edit')}}
</div> </div>
</div> </div>
</template> </template>
@ -26,13 +26,13 @@
</div> </div>
<el-dialog :close-on-click-modal="false" title="提示" top="10vh" :visible.sync="addModel" width="560px" class="vrcode-model manage-model" :append-to-body="true"> <el-dialog :close-on-click-modal="false" title="提示" top="10vh" :visible.sync="addModel" width="560px" class="vrcode-model manage-model" :append-to-body="true">
<div class="vrcode-model-title"> <div class="vrcode-model-title">
编辑 {{$t('nameText.edit')}}
</div> </div>
<div class="vrcode-content"> <div class="vrcode-content">
<div class="manage-left"> <div class="manage-left">
<div class="manage-input"> <div class="manage-input">
<div class="input-title">摄像头名称</div> <div class="input-title">摄像头名称</div>
<input type="text" placeholder="请输入设备code码"> <input type="text" :placeholder="$t('placeholder.deviceCodePlaceholder')">
</div> </div>
<div class="manage-input"> <div class="manage-input">
<div class="input-title">公司名称</div> <div class="input-title">公司名称</div>
@ -43,7 +43,7 @@
<div class="manage-right"> <div class="manage-right">
<div class="manage-input"> <div class="manage-input">
<div class="input-title">摄像头appkey</div> <div class="input-title">摄像头appkey</div>
<input type="text" placeholder="请输入设备code码"> <input type="text" :placeholder="$t('placeholder.deviceCodePlaceholder')">
</div> </div>
<div class="manage-input"> <div class="manage-input">
<div class="input-title">摄像头secert</div> <div class="input-title">摄像头secert</div>
@ -52,8 +52,8 @@
</div> </div>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn w-100" @click="addModel = false">确定</div> <div class="vrcode-btn blue-btn w-100" @click="addModel = false">{{$t('index.confirm')}}</div>
<div class="vrcode-btn cancle-btn w-100" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn w-100" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>

View File

@ -16,15 +16,15 @@
</el-table-column> --> </el-table-column> -->
<el-table-column prop="deviceName" label="关联气象站名称"> <el-table-column prop="deviceName" label="关联气象站名称">
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('nameText.operations')">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<div class="table-operate blue" @click="openModel(scope.row, 1)"> <div class="table-operate blue" @click="openModel(scope.row, 1)">
<img src="../../assets/manageImg/table-edit.png" alt="">编辑 <img src="../../assets/manageImg/table-edit.png" alt="">{{$t('nameText.edit')}}
</div> </div>
<el-popconfirm @confirm="confirmDel(scope.row)" title="这一段内容确定删除吗?" icon-color="red"> <el-popconfirm @confirm="confirmDel(scope.row)" :title="$t('nameText.deleteContent')" icon-color="red">
<div class="table-operate red" slot="reference"> <div class="table-operate red" slot="reference">
<img src="../../assets/manageImg/table-delete.png" alt="">删除 <img src="../../assets/manageImg/table-delete.png" alt="">{{$t('nameText.delete')}}
</div> </div>
</el-popconfirm> </el-popconfirm>
@ -44,7 +44,7 @@
<!-- <div class="manage-input"> <!-- <div class="manage-input">
<div class="input-title">关联气象站设备code码</div> <div class="input-title">关联气象站设备code码</div>
<input type="text" v-model="nowData.deviceId" :disabled="modelName == '编辑' ? true : false" <input type="text" v-model="nowData.deviceId" :disabled="modelName == '编辑' ? true : false"
placeholder="请输入设备code码"> :placeholder="$t('placeholder.deviceCodePlaceholder')">
</div> --> </div> -->
<div class="manage-input-sel"> <div class="manage-input-sel">
<div class="input-title">关联气象站设备code码</div> <div class="input-title">关联气象站设备code码</div>
@ -68,8 +68,8 @@
</div> </div>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn w-100" @click="confirmBtn">确定</div> <div class="vrcode-btn blue-btn w-100" @click="confirmBtn">{{$t('index.confirm')}}</div>
<div class="vrcode-btn cancle-btn w-100" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn w-100" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
@ -112,7 +112,7 @@ export default {
this.addModel = true this.addModel = true
this.nowData= { deviceId: '', deviceName: '' } this.nowData= { deviceId: '', deviceName: '' }
} else { } else {
this.modelName = '编辑' this.modelName = this.$t('nameText.edit')
this.nowData = JSON.parse(JSON.stringify(item)) this.nowData = JSON.parse(JSON.stringify(item))
this.addModel = true this.addModel = true
} }
@ -120,13 +120,13 @@ export default {
confirmBtn() { confirmBtn() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
var user = JSON.parse(localStorage.getItem('userInfo')) var user = JSON.parse(localStorage.getItem('userInfo'))
var data = { ...this.nowData, userId: user.userid } var data = { ...this.nowData, userId: user.userid }
if (this.modelName == '编辑') { if (this.modelName == this.$t('nameText.edit')) {
this.api.updatephoneeqData(data).then(res => { this.api.updatephoneeqData(data).then(res => {
this.loading.close() this.loading.close()
if (res.data.code == 200) { if (res.data.code == 200) {

View File

@ -13,28 +13,28 @@
height="620" height="620"
style="width: 100%" style="width: 100%"
> >
<el-table-column prop="homepageSort" label="排序"> <el-table-column prop="homepageSort" :label="$t('nameText.sortOrder')">
</el-table-column> </el-table-column>
<el-table-column prop="homepageName" label="轮播图名字"> <el-table-column prop="homepageName" label="轮播图名字">
</el-table-column> </el-table-column>
<el-table-column prop="homepageEnname" label="轮播图英文名字"> <el-table-column prop="homepageEnname" label="轮播图英文名字">
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('nameText.operations')">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<div class="table-operate blue" @click="openModel(scope.row, 1)"> <div class="table-operate blue" @click="openModel(scope.row, 1)">
<img src="../../assets/manageImg/table-edit.png" alt="" />编辑 <img src="../../assets/manageImg/table-edit.png" alt="" />{{$t('nameText.edit')}}
</div> </div>
<el-popconfirm <el-popconfirm
@confirm="confirmDel(scope.row)" @confirm="confirmDel(scope.row)"
title="这一段内容确定删除吗?" :title="$t('nameText.deleteContent')"
icon-color="red" icon-color="red"
> >
<div class="table-operate red" slot="reference"> <div class="table-operate red" slot="reference">
<img <img
src="../../assets/manageImg/table-delete.png" src="../../assets/manageImg/table-delete.png"
alt="" alt=""
/> />{{$t('nameText.delete')}}
</div> </div>
</el-popconfirm> </el-popconfirm>
</div> </div>
@ -97,11 +97,11 @@
/> />
</div> </div>
<div class="manage-input"> <div class="manage-input">
<div class="input-title">排序</div> <div class="input-title">{{$t('nameText.sortOrder')}}</div>
<input <input
type="number" type="number"
v-model="nowData.homepageSort" v-model="nowData.homepageSort"
placeholder="请输入排序" :placeholder="$t('placeholder.sortOrderPlaceholder')"
/> />
</div> </div>
</div> </div>
@ -137,10 +137,10 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn w-100" @click="changeAddModel"> <div class="vrcode-btn blue-btn w-100" @click="changeAddModel">
确定 {{$t('index.confirm')}}
</div> </div>
<div class="vrcode-btn cancle-btn w-100" @click="addModel = false"> <div class="vrcode-btn cancle-btn w-100" @click="addModel = false">
取消 {{$t('index.cancel')}}
</div> </div>
</span> </span>
</el-dialog> </el-dialog>
@ -193,7 +193,7 @@ export default {
homepageTime: 3000, homepageTime: 3000,
}; };
} else { } else {
this.modelName = "编辑"; this.modelName = this.$t('nameText.edit');
this.nowData = JSON.parse(JSON.stringify(item)); this.nowData = JSON.parse(JSON.stringify(item));
this.addModel = true; this.addModel = true;
} }
@ -209,11 +209,11 @@ export default {
} }
this.Addloading = this.$loading({ this.Addloading = this.$loading({
lock: true, lock: true,
text: "加载中", text: this.$t('message.loading'),
spinner: "el-icon-loading", spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)", background: "rgba(0, 0, 0, 0.7)",
}); });
if (this.modelName == "编辑") { if (this.modelName == this.$t('nameText.edit')) {
var data = { ...this.nowData,id:this.nowData.id.toString() }; var data = { ...this.nowData,id:this.nowData.id.toString() };
this.api.website_updateows(data).then((res) => { this.api.website_updateows(data).then((res) => {
this.Addloading.close(); this.Addloading.close();

View File

@ -13,28 +13,28 @@
height="620" height="620"
style="width: 100%" style="width: 100%"
> >
<el-table-column prop="detailedIntroductionSort" label="排序"> <el-table-column prop="detailedIntroductionSort" :label="$t('nameText.sortOrder')">
</el-table-column> </el-table-column>
<el-table-column prop="detailedIntroductionName" label="案例名字"> <el-table-column prop="detailedIntroductionName" label="案例名字">
</el-table-column> </el-table-column>
<el-table-column prop="detailedIntroductionEnName" label="案例英文名字"> <el-table-column prop="detailedIntroductionEnName" label="案例英文名字">
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('nameText.operations')">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<div class="table-operate blue" @click="openModel(scope.row, 1)"> <div class="table-operate blue" @click="openModel(scope.row, 1)">
<img src="../../assets/manageImg/table-edit.png" alt="" />编辑 <img src="../../assets/manageImg/table-edit.png" alt="" />{{$t('nameText.edit')}}
</div> </div>
<el-popconfirm <el-popconfirm
@confirm="confirmDel(scope.row)" @confirm="confirmDel(scope.row)"
title="这一段内容确定删除吗?" :title="$t('nameText.deleteContent')"
icon-color="red" icon-color="red"
> >
<div class="table-operate red" slot="reference"> <div class="table-operate red" slot="reference">
<img <img
src="../../assets/manageImg/table-delete.png" src="../../assets/manageImg/table-delete.png"
alt="" alt=""
/> />{{$t('nameText.delete')}}
</div> </div>
</el-popconfirm> </el-popconfirm>
</div> </div>
@ -74,11 +74,11 @@
</div> </div>
<div class="manage-input"> <div class="manage-input">
<div class="input-title">排序</div> <div class="input-title">{{$t('nameText.sortOrder')}}</div>
<input <input
type="number" type="number"
v-model="nowData.detailedIntroductionSort" v-model="nowData.detailedIntroductionSort"
placeholder="请输入排序" :placeholder="$t('placeholder.sortOrderPlaceholder')"
/> />
</div> </div>
<div class="manage-input"> <div class="manage-input">
@ -143,10 +143,10 @@
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn w-100" @click="changeAddModel"> <div class="vrcode-btn blue-btn w-100" @click="changeAddModel">
确定 {{$t('index.confirm')}}
</div> </div>
<div class="vrcode-btn cancle-btn w-100" @click="addModel = false"> <div class="vrcode-btn cancle-btn w-100" @click="addModel = false">
取消 {{$t('index.cancel')}}
</div> </div>
</span> </span>
</el-dialog> </el-dialog>
@ -203,7 +203,7 @@ detailedIntroductionTextEnTitle:'',
type:2, type:2,
}; };
} else { } else {
this.modelName = "编辑"; this.modelName = this.$t('nameText.edit');
this.nowData = JSON.parse(JSON.stringify(item)); this.nowData = JSON.parse(JSON.stringify(item));
this.addModel = true; this.addModel = true;
} }
@ -220,11 +220,11 @@ detailedIntroductionTextEnTitle:'',
} }
this.Addloading = this.$loading({ this.Addloading = this.$loading({
lock: true, lock: true,
text: "加载中", text: this.$t('message.loading'),
spinner: "el-icon-loading", spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)", background: "rgba(0, 0, 0, 0.7)",
}); });
if (this.modelName == "编辑") { if (this.modelName == this.$t('nameText.edit')) {
var data = { ...this.nowData,id:this.nowData.id.toString() }; var data = { ...this.nowData,id:this.nowData.id.toString() };

View File

@ -13,28 +13,28 @@
height="620" height="620"
style="width: 100%" style="width: 100%"
> >
<el-table-column prop="detailedIntroductionSort" label="排序"> <el-table-column prop="detailedIntroductionSort" :label="$t('nameText.sortOrder')">
</el-table-column> </el-table-column>
<el-table-column prop="detailedIntroductionName" label="公司名称"> <el-table-column prop="detailedIntroductionName" label="公司名称">
</el-table-column> </el-table-column>
<el-table-column prop="detailedIntroductionEnName" label="公司英文名称"> <el-table-column prop="detailedIntroductionEnName" label="公司英文名称">
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('nameText.operations')">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<div class="table-operate blue" @click="openModel(scope.row, 1)"> <div class="table-operate blue" @click="openModel(scope.row, 1)">
<img src="../../assets/manageImg/table-edit.png" alt="" />编辑 <img src="../../assets/manageImg/table-edit.png" alt="" />{{$t('nameText.edit')}}
</div> </div>
<el-popconfirm <el-popconfirm
@confirm="confirmDel(scope.row)" @confirm="confirmDel(scope.row)"
title="这一段内容确定删除吗?" :title="$t('nameText.deleteContent')"
icon-color="red" icon-color="red"
> >
<div class="table-operate red" slot="reference"> <div class="table-operate red" slot="reference">
<img <img
src="../../assets/manageImg/table-delete.png" src="../../assets/manageImg/table-delete.png"
alt="" alt=""
/> />{{$t('nameText.delete')}}
</div> </div>
</el-popconfirm> </el-popconfirm>
</div> </div>
@ -74,11 +74,11 @@
</div> </div>
<div class="manage-input"> <div class="manage-input">
<div class="input-title">排序</div> <div class="input-title">{{$t('nameText.sortOrder')}}</div>
<input <input
type="number" type="number"
v-model="nowData.detailedIntroductionSort" v-model="nowData.detailedIntroductionSort"
placeholder="请输入排序" :placeholder="$t('placeholder.sortOrderPlaceholder')"
/> />
<div class="manage-textarea"> <div class="manage-textarea">
<div class="input-title">公司中文简介(以回车键换行)</div> <div class="input-title">公司中文简介(以回车键换行)</div>
@ -124,10 +124,10 @@
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn w-100" @click="changeAddModel"> <div class="vrcode-btn blue-btn w-100" @click="changeAddModel">
确定 {{$t('index.confirm')}}
</div> </div>
<div class="vrcode-btn cancle-btn w-100" @click="addModel = false"> <div class="vrcode-btn cancle-btn w-100" @click="addModel = false">
取消 {{$t('index.cancel')}}
</div> </div>
</span> </span>
</el-dialog> </el-dialog>
@ -184,7 +184,7 @@ detailedIntroductionTextEnTitle:'',
type:4, type:4,
}; };
} else { } else {
this.modelName = "编辑"; this.modelName = this.$t('nameText.edit');
this.nowData = JSON.parse(JSON.stringify(item)); this.nowData = JSON.parse(JSON.stringify(item));
this.addModel = true; this.addModel = true;
} }
@ -200,11 +200,11 @@ detailedIntroductionTextEnTitle:'',
} }
this.Addloading = this.$loading({ this.Addloading = this.$loading({
lock: true, lock: true,
text: "加载中", text: this.$t('message.loading'),
spinner: "el-icon-loading", spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)", background: "rgba(0, 0, 0, 0.7)",
}); });
if (this.modelName == "编辑") { if (this.modelName == this.$t('nameText.edit')) {
var data = { ...this.nowData,id:this.nowData.id.toString() }; var data = { ...this.nowData,id:this.nowData.id.toString() };
this.api.website_updateops(data).then((res) => { this.api.website_updateops(data).then((res) => {
this.Addloading.close(); this.Addloading.close();

View File

@ -14,7 +14,7 @@
height="620" height="620"
style="width: 100%" style="width: 100%"
> >
<el-table-column prop="detailedIntroductionSort" label="排序"> <el-table-column prop="detailedIntroductionSort" :label="$t('nameText.sortOrder')">
</el-table-column> </el-table-column>
<el-table-column prop="detailedIntroductionName" label="新闻标题"> <el-table-column prop="detailedIntroductionName" label="新闻标题">
</el-table-column> </el-table-column>
@ -27,22 +27,22 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('nameText.operations')">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<div class="table-operate blue" @click="openModel(scope.row, 1)"> <div class="table-operate blue" @click="openModel(scope.row, 1)">
<img src="../../assets/manageImg/table-edit.png" alt="" />编辑 <img src="../../assets/manageImg/table-edit.png" alt="" />{{$t('nameText.edit')}}
</div> </div>
<el-popconfirm <el-popconfirm
@confirm="confirmDel(scope.row)" @confirm="confirmDel(scope.row)"
title="这一段内容确定删除吗?" :title="$t('nameText.deleteContent')"
icon-color="red" icon-color="red"
> >
<div class="table-operate red" slot="reference"> <div class="table-operate red" slot="reference">
<img <img
src="../../assets/manageImg/table-delete.png" src="../../assets/manageImg/table-delete.png"
alt="" alt=""
/> />{{$t('nameText.delete')}}
</div> </div>
</el-popconfirm> </el-popconfirm>
</div> </div>
@ -82,11 +82,11 @@
/> />
</div> </div>
<div class="manage-input"> <div class="manage-input">
<div class="input-title">排序</div> <div class="input-title">{{$t('nameText.sortOrder')}}</div>
<input <input
type="number" type="number"
v-model="nowData.detailedIntroductionSort" v-model="nowData.detailedIntroductionSort"
placeholder="请输入排序" :placeholder="$t('placeholder.sortOrderPlaceholder')"
/> />
</div> </div>
@ -152,10 +152,10 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn w-100" @click="changeAddModel"> <div class="vrcode-btn blue-btn w-100" @click="changeAddModel">
确定 {{$t('index.confirm')}}
</div> </div>
<div class="vrcode-btn cancle-btn w-100" @click="addModel = false"> <div class="vrcode-btn cancle-btn w-100" @click="addModel = false">
取消 {{$t('index.cancel')}}
</div> </div>
</span> </span>
</el-dialog> </el-dialog>
@ -193,10 +193,10 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn w-100" @click="changeNewModel"> <div class="vrcode-btn blue-btn w-100" @click="changeNewModel">
确定 {{$t('index.confirm')}}
</div> </div>
<div class="vrcode-btn cancle-btn w-100" @click="closeNewsModel"> <div class="vrcode-btn cancle-btn w-100" @click="closeNewsModel">
取消 {{$t('index.cancel')}}
</div> </div>
</span> </span>
</el-dialog> </el-dialog>
@ -371,7 +371,7 @@ export default {
type: 3, type: 3,
}; };
} else { } else {
this.modelName = "编辑"; this.modelName = this.$t('nameText.edit');
this.nowData = JSON.parse(JSON.stringify(item)); this.nowData = JSON.parse(JSON.stringify(item));
this.addModel = true; this.addModel = true;
} }
@ -388,11 +388,11 @@ export default {
} }
this.Addloading = this.$loading({ this.Addloading = this.$loading({
lock: true, lock: true,
text: "加载中", text: this.$t('message.loading'),
spinner: "el-icon-loading", spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)", background: "rgba(0, 0, 0, 0.7)",
}); });
if (this.modelName == "编辑") { if (this.modelName == this.$t('nameText.edit')) {
var data = { ...this.nowData, id: this.nowData.id.toString() }; var data = { ...this.nowData, id: this.nowData.id.toString() };
this.api.website_updateops(data).then((res) => { this.api.website_updateops(data).then((res) => {
this.Addloading.close(); this.Addloading.close();

View File

@ -13,28 +13,28 @@
height="320" height="320"
style="width: 100%" style="width: 100%"
> >
<el-table-column prop="productDisplaySort" label="排序"> <el-table-column prop="productDisplaySort" :label="$t('nameText.sortOrder')">
</el-table-column> </el-table-column>
<el-table-column prop="productDisplayName" label="产品列表名称"> <el-table-column prop="productDisplayName" label="产品列表名称">
</el-table-column> </el-table-column>
<el-table-column prop="productDisplayEnName" label="产品列表英文名称"> <el-table-column prop="productDisplayEnName" label="产品列表英文名称">
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('nameText.operations')">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<div class="table-operate blue" @click="openModel1(scope.row, 1)"> <div class="table-operate blue" @click="openModel1(scope.row, 1)">
<img src="../../assets/manageImg/table-edit.png" alt="" />编辑 <img src="../../assets/manageImg/table-edit.png" alt="" />{{$t('nameText.edit')}}
</div> </div>
<el-popconfirm <el-popconfirm
@confirm="confirmDel1(scope.row)" @confirm="confirmDel1(scope.row)"
title="这一段内容确定删除吗?" :title="$t('nameText.deleteContent')"
icon-color="red" icon-color="red"
> >
<div class="table-operate red" slot="reference"> <div class="table-operate red" slot="reference">
<img <img
src="../../assets/manageImg/table-delete.png" src="../../assets/manageImg/table-delete.png"
alt="" alt=""
/> />{{$t('nameText.delete')}}
</div> </div>
</el-popconfirm> </el-popconfirm>
</div> </div>
@ -56,28 +56,28 @@
height="320" height="320"
style="width: 100%" style="width: 100%"
> >
<el-table-column prop="detailedIntroductionSort" label="排序"> <el-table-column prop="detailedIntroductionSort" :label="$t('nameText.sortOrder')">
</el-table-column> </el-table-column>
<el-table-column prop="detailedIntroductionName" label="产品名字"> <el-table-column prop="detailedIntroductionName" label="产品名字">
</el-table-column> </el-table-column>
<el-table-column prop="detailedIntroductionEnName" label="产品英文名字"> <el-table-column prop="detailedIntroductionEnName" label="产品英文名字">
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('nameText.operations')">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<div class="table-operate blue" @click="openModel(scope.row, 1)"> <div class="table-operate blue" @click="openModel(scope.row, 1)">
<img src="../../assets/manageImg/table-edit.png" alt="" />编辑 <img src="../../assets/manageImg/table-edit.png" alt="" />{{$t('nameText.edit')}}
</div> </div>
<el-popconfirm <el-popconfirm
@confirm="confirmDel(scope.row)" @confirm="confirmDel(scope.row)"
title="这一段内容确定删除吗?" :title="$t('nameText.deleteContent')"
icon-color="red" icon-color="red"
> >
<div class="table-operate red" slot="reference"> <div class="table-operate red" slot="reference">
<img <img
src="../../assets/manageImg/table-delete.png" src="../../assets/manageImg/table-delete.png"
alt="" alt=""
/> />{{$t('nameText.delete')}}
</div> </div>
</el-popconfirm> </el-popconfirm>
</div> </div>
@ -118,11 +118,11 @@
</div> </div>
<div class="manage-input"> <div class="manage-input">
<div class="input-title">排序</div> <div class="input-title">{{$t('nameText.sortOrder')}}</div>
<input <input
type="number" type="number"
v-model="nowData1.productDisplaySort" v-model="nowData1.productDisplaySort"
placeholder="请输入排序" :placeholder="$t('placeholder.sortOrderPlaceholder')"
/> />
</div> </div>
@ -159,10 +159,10 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn w-100" @click="changeAddModel1"> <div class="vrcode-btn blue-btn w-100" @click="changeAddModel1">
确定 {{$t('index.confirm')}}
</div> </div>
<div class="vrcode-btn cancle-btn w-100" @click="addModel1 = false"> <div class="vrcode-btn cancle-btn w-100" @click="addModel1 = false">
取消 {{$t('index.cancel')}}
</div> </div>
</span> </span>
</el-dialog> </el-dialog>
@ -210,11 +210,11 @@
</div> </div>
<div class="manage-input"> <div class="manage-input">
<div class="input-title">排序</div> <div class="input-title">{{$t('nameText.sortOrder')}}</div>
<input <input
type="number" type="number"
v-model="nowData.detailedIntroductionSort" v-model="nowData.detailedIntroductionSort"
placeholder="请输入排序" :placeholder="$t('placeholder.sortOrderPlaceholder')"
/> />
</div> </div>
<div class="manage-input"> <div class="manage-input">
@ -310,10 +310,10 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn w-100" @click="changeAddModel"> <div class="vrcode-btn blue-btn w-100" @click="changeAddModel">
确定 {{$t('index.confirm')}}
</div> </div>
<div class="vrcode-btn cancle-btn w-100" @click="addModel = false"> <div class="vrcode-btn cancle-btn w-100" @click="addModel = false">
取消 {{$t('index.cancel')}}
</div> </div>
</span> </span>
</el-dialog> </el-dialog>
@ -404,7 +404,7 @@ productId: "",
type: 1, type: 1,
}; };
} else { } else {
this.modelName = "编辑"; this.modelName = this.$t('nameText.edit');
this.nowData = JSON.parse(JSON.stringify(item)); this.nowData = JSON.parse(JSON.stringify(item));
this.addModel = true; this.addModel = true;
} }
@ -421,7 +421,7 @@ productId: "",
productDisplaySort: "", productDisplaySort: "",
}; };
} else { } else {
this.modelName1 = "编辑"; this.modelName1 = this.$t('nameText.edit');
this.nowData1 = JSON.parse(JSON.stringify(item)); this.nowData1 = JSON.parse(JSON.stringify(item));
this.addModel1 = true; this.addModel1 = true;
} }
@ -438,11 +438,11 @@ productId: "",
} }
this.Addloading = this.$loading({ this.Addloading = this.$loading({
lock: true, lock: true,
text: "加载中", text: this.$t('message.loading'),
spinner: "el-icon-loading", spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)", background: "rgba(0, 0, 0, 0.7)",
}); });
if (this.modelName == "编辑") { if (this.modelName == this.$t('nameText.edit')) {
var data = { ...this.nowData, id: this.nowData.id.toString() }; var data = { ...this.nowData, id: this.nowData.id.toString() };
this.api.website_updateops(data).then((res) => { this.api.website_updateops(data).then((res) => {
this.Addloading.close(); this.Addloading.close();
@ -482,11 +482,11 @@ productId: "",
} }
this.Addloading = this.$loading({ this.Addloading = this.$loading({
lock: true, lock: true,
text: "加载中", text: this.$t('message.loading'),
spinner: "el-icon-loading", spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)", background: "rgba(0, 0, 0, 0.7)",
}); });
if (this.modelName1 == "编辑") { if (this.modelName1 == this.$t('nameText.edit')) {
var data = { ...this.nowData1, id: this.nowData1.id.toString() }; var data = { ...this.nowData1, id: this.nowData1.id.toString() };
this.api.website_updateowp(data).then((res) => { this.api.website_updateowp(data).then((res) => {
this.Addloading.close(); this.Addloading.close();

View File

@ -411,7 +411,7 @@ export default {
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: "加载中", text: this.$t('message.loading'),
spinner: "el-icon-loading", spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)", background: "rgba(0, 0, 0, 0.7)",
}); });

View File

@ -691,7 +691,7 @@ export default {
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -141,7 +141,7 @@ export default {
mounted() { mounted() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -805,7 +805,7 @@ export default {
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: "加载中", text: this.$t('message.loading'),
spinner: "el-icon-loading", spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)", background: "rgba(0, 0, 0, 0.7)",
}); });

View File

@ -491,7 +491,7 @@ export default {
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -309,7 +309,7 @@ export default {
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -232,7 +232,7 @@ export default {
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -4,30 +4,30 @@
<div class="page-content"> <div class="page-content">
<div class="table-title"> <div class="table-title">
<img src="../../assets/image/analysis.png" alt="" /> <img src="../../assets/image/analysis.png" alt="" />
数据分析 {{ $t('imageGallery.title2') }}
</div> </div>
<div class="flex-view"> <div class="flex-view">
<div class="input-btn"> <div class="input-btn">
<span>快速查询</span> <span>{{ $t('imageGallery.quickQuery') }}</span>
<div class="btn btn-w66" @click="active = 0" :class="active == 0 ? 'blue' : 'off'"> <div class="btn btn-w66" @click="active = 0" :class="active == 0 ? 'blue' : 'off'">
今日 {{ $t('imageGallery.today') }}
</div> </div>
<div class="btn btn-w66" @click="active = 1" :class="active == 1 ? 'blue' : 'off'"> <div class="btn btn-w66" @click="active = 1" :class="active == 1 ? 'blue' : 'off'">
昨日 {{ $t('imageGallery.yesterday') }}
</div> </div>
<div class="btn btn-w66" @click="active = 2" :class="active == 2 ? 'blue' : 'off'"> <div class="btn btn-w66" @click="active = 2" :class="active == 2 ? 'blue' : 'off'">
自定义 {{ $t('imageGallery.custom') }}
</div> </div>
</div> </div>
<div class="input-sel-time"> <div class="input-sel-time">
<span>时间段</span> <span>{{ $t('imageGallery.timeRange') }}</span>
<el-date-picker v-model="dateRange" type="datetimerange" range-separator="至" start-placeholder="开始时间" <el-date-picker v-model="dateRange" type="datetimerange" :range-separator="$t('imageGallery.to')"
end-placeholder="结束时间"> :start-placeholder="$t('imageGallery.startTime')" :end-placeholder="$t('imageGallery.endTime')">
</el-date-picker> </el-date-picker>
</div> </div>
<div class="input-btn "> <div class="input-btn ">
<div class="btn blue" @click="search"> <div class="btn blue" @click="search">
查询 {{ $t('imageGallery.query') }}
</div> </div>
</div> </div>
</div> </div>
@ -41,6 +41,7 @@
<script> <script>
import { realTimeLine1 } from '@/assets/js/charts' import { realTimeLine1 } from '@/assets/js/charts'
import { changeLanguage, getLanguage } from '@/utils/language'
export default { export default {
data() { data() {
return { return {
@ -62,6 +63,9 @@ export default {
this.dataInit() this.dataInit()
}, },
'$i18n.locale'() {
this.dataInit()
}
}, },
mounted() { mounted() {
this.indexs = this.$route.query.index ? this.$route.query.index : 1; this.indexs = this.$route.query.index ? this.$route.query.index : 1;
@ -92,7 +96,7 @@ export default {
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -132,7 +136,8 @@ export default {
endTime: this.getTime(this.dateRange[1]), endTime: this.getTime(this.dateRange[1]),
page: 1, page: 1,
pageSize: 999, pageSize: 999,
isEquipment: store.equipmentList[index - 1].deviceName == 30 ? 1 : 0 isEquipment: store.equipmentList[index - 1].deviceName == 30 ? 1 : 0,
enName:getLanguage()
} }
var data1 = store.equipmentList[index - 1].deviceId var data1 = store.equipmentList[index - 1].deviceId
this.api.selFsTime(data).then(res => { this.api.selFsTime(data).then(res => {

View File

@ -297,7 +297,7 @@ export default {
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -160,7 +160,7 @@ export default {
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -222,7 +222,7 @@ export default {
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -161,7 +161,7 @@ export default {
this.indexs = this.$route.query.id ? this.$route.query.id : 1; this.indexs = this.$route.query.id ? this.$route.query.id : 1;
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -76,7 +76,7 @@
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -233,7 +233,7 @@ export default {
this.titleName = store.equipmentName['fertilization' + store.nameList[this.indexs - 1]] this.titleName = store.equipmentName['fertilization' + store.nameList[this.indexs - 1]]
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -249,7 +249,7 @@ export default {
this.titleName = store.equipmentName['fertilization' + store.nameList[this.indexs - 1]] this.titleName = store.equipmentName['fertilization' + store.nameList[this.indexs - 1]]
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -473,7 +473,7 @@ export default {
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -3,36 +3,36 @@
<div class="page-content"> <div class="page-content">
<div class="table-title"> <div class="table-title">
<img src="../../assets/image/real-time.png" alt="" /> <img src="../../assets/image/real-time.png" alt="" />
历史数据 {{ $t('imageGallery.title1') }}
</div> </div>
<div class="flex-view"> <div class="flex-view">
<div class="input-btn"> <div class="input-btn">
<span>快速查询</span> <span>{{ $t('imageGallery.quickQuery') }}</span>
<div class="btn btn-w66" @click="active = 0" :class="active == 0 ? 'blue' : 'off'"> <div class="btn btn-w66" @click="active = 0" :class="active == 0 ? 'blue' : 'off'">
今日 {{ $t('imageGallery.today') }}
</div> </div>
<div class="btn btn-w66" @click="active = 1" :class="active == 1 ? 'blue' : 'off'"> <div class="btn btn-w66" @click="active = 1" :class="active == 1 ? 'blue' : 'off'">
昨日 {{ $t('imageGallery.yesterday') }}
</div> </div>
<div class="btn btn-w66" @click="active = 2" :class="active == 2 ? 'blue' : 'off'"> <div class="btn btn-w66" @click="active = 2" :class="active == 2 ? 'blue' : 'off'">
自定义 {{ $t('imageGallery.custom') }}
</div> </div>
</div> </div>
<div class="input-sel-time"> <div class="input-sel-time">
<span>时间段</span> <span>{{ $t('imageGallery.timeRange') }}</span>
<el-date-picker v-model="dateRange" type="datetimerange" range-separator="" <el-date-picker v-model="dateRange" type="datetimerange" :range-separator="$t('imageGallery.to')"
start-placeholder="开始时间" end-placeholder="结束时间"> :start-placeholder="$t('imageGallery.startTime')" :end-placeholder="$t('imageGallery.endTime')">
</el-date-picker> </el-date-picker>
</div> </div>
<div class="input-btn "> <div class="input-btn ">
<div class="btn blue" @click="search"> <div class="btn blue" @click="search">
查询 {{ $t('imageGallery.query') }}
</div> </div>
<div class="btn blue" @click="download"> <div class="btn blue" @click="download">
下载 {{ $t('imageGallery.downloadImages') }}
</div> </div>
<div class="btn blue" @click="openModel"> <div class="btn blue" @click="openModel">
数据统计 {{ $t('imageGallery.dataStatistics') }}
</div> </div>
<!-- <div class="btn blue"> <!-- <div class="btn blue">
/夜平均时间范围设置 /夜平均时间范围设置
@ -42,7 +42,7 @@
<div class="table-view"> <div class="table-view">
<el-table :data="tableData" :row-class-name="tableRowClassName" max-height="520" style="width: 100%"> <el-table :data="tableData" :row-class-name="tableRowClassName" max-height="520" style="width: 100%">
<el-table-column min-width='180' prop="time" label="时间"></el-table-column> <el-table-column min-width='180' prop="time" :label="$t('imageGallery.time')"></el-table-column>
<el-table-column min-width='150' :label="item" v-for="item, index in tableList" :key="index"> <el-table-column min-width='150' :label="item" v-for="item, index in tableList" :key="index">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row[item] }}</div> <div>{{ scope.row[item] }}</div>
@ -56,46 +56,46 @@
</el-pagination> </el-pagination>
</div> </div>
</div> </div>
<el-dialog title="数据统计" class="vrcode-model" :append-to-body="true" :visible.sync="addModel" width="80%"> <el-dialog :title="$t('imageGallery.dataStatistics')" class="vrcode-model" :append-to-body="true" :visible.sync="addModel" width="80%">
<el-button class="model-return-btn" type="primary" @click="addModel = false"> </el-button> <el-button class="model-return-btn" type="primary" @click="addModel = false">{{$t('realTime.return')}}</el-button>
<div class="model-title">数据统计</div> <div class="model-title"> {{ $t('imageGallery.dataStatistics') }}</div>
<div class="flex-view"> <div class="flex-view">
<div class="input-btn"> <div class="input-btn">
<span>快速查询</span> <span>{{ $t('imageGallery.query') }}</span>
<div class="btn btn-w66" @click="active1 = 0" :class="active1 == 0 ? 'blue' : 'off'"> <div class="btn btn-w66" @click="active1 = 0" :class="active1 == 0 ? 'blue' : 'off'">
今日 {{ $t('imageGallery.today') }}
</div> </div>
<div class="btn btn-w66" @click="active1 = 1" :class="active1 == 1 ? 'blue' : 'off'"> <div class="btn btn-w66" @click="active1 = 1" :class="active1 == 1 ? 'blue' : 'off'">
昨日 {{ $t('imageGallery.yesterday') }}
</div> </div>
<div class="btn btn-w66" @click="active1 = 2" :class="active1 == 2 ? 'blue' : 'off'"> <div class="btn btn-w66" @click="active1 = 2" :class="active1 == 2 ? 'blue' : 'off'">
自定义 {{ $t('imageGallery.custom') }}
</div> </div>
</div> </div>
<div class="input-sel-time"> <div class="input-sel-time">
<span>时间段</span> <span>{{ $t('imageGallery.timeRange') }}</span>
<el-date-picker v-model="dateRange1" type="datetimerange" range-separator="" <el-date-picker v-model="dateRange1" type="datetimerange" :range-separator="$t('imageGallery.to')"
start-placeholder="开始时间" end-placeholder="结束时间"> :start-placeholder="$t('imageGallery.startTime')" :end-placeholder="$t('imageGallery.endTime')">
</el-date-picker> </el-date-picker>
</div> </div>
<div class="input-btn "> <div class="input-btn ">
<div class="btn blue" @click="search1"> <div class="btn blue" @click="search1">
查询 {{ $t('imageGallery.query') }}
</div> </div>
<div class="btn blue" @click="download1"> <div class="btn blue" @click="download1">
下载 {{ $t('imageGallery.download') }}
</div> </div>
</div> </div>
</div> </div>
<div class="table-view" style="padding-bottom: 20px;"> <div class="table-view" style="padding-bottom: 20px;">
<el-table :data="tableData1" :row-class-name="tableRowClassName" max-height="520" style="width: 100%"> <el-table :data="tableData1" :row-class-name="tableRowClassName" max-height="520" style="width: 100%">
<el-table-column min-width='180' prop="time" label="时间"></el-table-column> <el-table-column min-width='180' prop="time" :label="$t('imageGallery.time')"></el-table-column>
<el-table-column min-width='150' prop="envirnmentName" label="名称"></el-table-column> <el-table-column min-width='150' prop="envirnmentName" :label="$t('imageGallery.name')"></el-table-column>
<el-table-column min-width='150' prop="dif" label="差值"></el-table-column> <el-table-column min-width='150' prop="dif" :label="$t('imageGallery.difference')"></el-table-column>
<el-table-column min-width='150' prop="max" label="最大值"></el-table-column> <el-table-column min-width='150' prop="max" :label="$t('imageGallery.max')"></el-table-column>
<el-table-column min-width='150' prop="min" label="最小值"></el-table-column> <el-table-column min-width='150' prop="min" :label="$t('imageGallery.min')"></el-table-column>
<el-table-column min-width='150' prop="avg" label="平均值"></el-table-column> <el-table-column min-width='150' prop="avg" :label="$t('imageGallery.avg')"></el-table-column>
</el-table> </el-table>
<el-pagination @size-change="handleSizeChange1" @current-change="handleCurrentChange1" <el-pagination @size-change="handleSizeChange1" @current-change="handleCurrentChange1"
@ -110,6 +110,7 @@
<script> <script>
// 1 1 // 1 1
import { Loading } from 'element-ui'; import { Loading } from 'element-ui';
import { changeLanguage, getLanguage } from '@/utils/language'
export default { export default {
data() { data() {
return { return {
@ -149,6 +150,9 @@ export default {
this.dataInit() this.dataInit()
}, },
'$i18n.locale'() {
this.dataInit()
}
}, },
mounted() { mounted() {
@ -179,7 +183,7 @@ export default {
dataInit1() { dataInit1() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -197,7 +201,7 @@ export default {
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -215,7 +219,7 @@ export default {
download1() { download1() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -254,7 +258,7 @@ export default {
download() { download() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -322,7 +326,8 @@ export default {
endTime: this.getTime(this.dateRange[1]), endTime: this.getTime(this.dateRange[1]),
page: this.currentPage, page: this.currentPage,
pageSize: this.pageSize, pageSize: this.pageSize,
isEquipment: store.equipmentList[index - 1].deviceName == 30 ? 1 : 0 isEquipment: store.equipmentList[index - 1].deviceName == 30 ? 1 : 0,
enName:getLanguage()
} }
this.api.selFsTime(data).then(res => { this.api.selFsTime(data).then(res => {
this.loading.close() this.loading.close()

View File

@ -3,33 +3,33 @@
<div class="page-content"> <div class="page-content">
<div class="table-title"> <div class="table-title">
<img src="../../assets/image/real-time.png" alt="" /> <img src="../../assets/image/real-time.png" alt="" />
{{ deviceName }}图库数据 {{ deviceName }}{{ $t('imageGallery.title') }}
</div> </div>
<div class="flex-view"> <div class="flex-view">
<div class="input-btn"> <div class="input-btn">
<span>快速查询</span> <span>{{ $t('imageGallery.quickQuery') }}</span>
<div class="btn btn-w66" @click="active = 0" :class="active == 0 ? 'blue' : 'off'"> <div class="btn btn-w66" @click="active = 0" :class="active == 0 ? 'blue' : 'off'">
今日 {{ $t('imageGallery.today') }}
</div> </div>
<div class="btn btn-w66" @click="active = 1" :class="active == 1 ? 'blue' : 'off'"> <div class="btn btn-w66" @click="active = 1" :class="active == 1 ? 'blue' : 'off'">
昨日 {{ $t('imageGallery.yesterday') }}
</div> </div>
<div class="btn btn-w66" @click="active = 2" :class="active == 2 ? 'blue' : 'off'"> <div class="btn btn-w66" @click="active = 2" :class="active == 2 ? 'blue' : 'off'">
自定义 {{ $t('imageGallery.custom') }}
</div> </div>
</div> </div>
<div class="input-sel-time"> <div class="input-sel-time">
<span>时间段</span> <span>{{ $t('imageGallery.timeRange') }}</span>
<el-date-picker v-model="dateRange" type="datetimerange" range-separator="" <el-date-picker v-model="dateRange" type="datetimerange" :range-separator="$t('imageGallery.to')"
start-placeholder="开始时间" end-placeholder="结束时间"> :start-placeholder="$t('imageGallery.startTime')" :end-placeholder="$t('imageGallery.endTime')">
</el-date-picker> </el-date-picker>
</div> </div>
<div class="input-btn "> <div class="input-btn ">
<div class="btn blue" @click="search"> <div class="btn blue" @click="search">
查询 {{ $t('imageGallery.query') }}
</div> </div>
<div class="btn blue" @click="download"> <div class="btn blue" @click="download">
下载图片 {{ $t('imageGallery.downloadImages') }}
</div> </div>
<!-- <div class="btn blue"> <!-- <div class="btn blue">
数据统计 数据统计
@ -112,7 +112,7 @@ export default {
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text:this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -140,7 +140,7 @@ export default {
async download() { async download() {
// this.loading = this.$loading({ // this.loading = this.$loading({
// lock: true, // lock: true,
// text: '', // text: this.$t('message.loading'),
// spinner: 'el-icon-loading', // spinner: 'el-icon-loading',
// background: 'rgba(0, 0, 0, 0.7)' // background: 'rgba(0, 0, 0, 0.7)'
// }); // });

View File

@ -309,7 +309,7 @@ export default {
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -253,7 +253,7 @@ export default {
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -65,7 +65,7 @@
</div> </div>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="modelClose"> </el-button> <el-button type="primary" @click="modelClose">{{$t('index.cancel1')}}</el-button>
<el-button type="success" @click="modelConfirm"> </el-button> <el-button type="success" @click="modelConfirm"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
@ -211,7 +211,7 @@ modelConfirm(){
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -658,7 +658,7 @@
</div> </div>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="modelClose"> </el-button> <el-button type="primary" @click="modelClose">{{$t('index.cancel1')}}</el-button>
<el-button type="success" @click="modelConfirm"> </el-button> <el-button type="success" @click="modelConfirm"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
@ -820,7 +820,7 @@ this.dataInit();
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -648,7 +648,7 @@ export default {
const that = this; const that = this;
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: "加载中", text: this.$t('message.loading'),
spinner: "el-icon-loading", spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)", background: "rgba(0, 0, 0, 0.7)",
}); });
@ -664,7 +664,7 @@ export default {
: this.indexs + "#智能灌溉组"; : this.indexs + "#智能灌溉组";
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: "加载中", text: this.$t('message.loading'),
spinner: "el-icon-loading", spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)", background: "rgba(0, 0, 0, 0.7)",
}); });
@ -683,7 +683,7 @@ export default {
: this.indexs + "#智能灌溉组"; : this.indexs + "#智能灌溉组";
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: "加载中", text: this.$t('message.loading'),
spinner: "el-icon-loading", spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)", background: "rgba(0, 0, 0, 0.7)",
}); });

View File

@ -544,7 +544,7 @@ export default {
const that = this; const that = this;
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -557,7 +557,7 @@ export default {
this.indexs = this.$route.query.id ? this.$route.query.id : 1; this.indexs = this.$route.query.id ? this.$route.query.id : 1;
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -571,7 +571,7 @@ export default {
this.indexs = this.$route.query.id ? this.$route.query.id : 1; this.indexs = this.$route.query.id ? this.$route.query.id : 1;
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -189,7 +189,7 @@
</div> </div>
<!-- 甘井设施农业 --> <!-- 甘井设施农业 -->
<div class="drag_box9" ref="drag_box9" v-show="limitUserId == 9"> <div class="drag_box9" ref="drag_box9" v-show="limitUserId == 9">
<img class="drag_img" src="../../assets/img/map5.png" alt="" /> <img class="drag_img" src="https://lihemix.oss-cn-hangzhou.aliyuncs.com/%E7%94%98%E4%BA%95%E6%9D%91%E5%A4%A7%E6%95%B0%E6%8D%AE/%E5%80%BE%E6%96%9C%E5%9B%BE.png" alt="" />
<img class="axis_shimen" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" /> <img class="axis_shimen" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" />
<img class="axis_shimen1" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" /> <img class="axis_shimen1" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" />
<img class="axis_shimen2" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" /> <img class="axis_shimen2" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" />
@ -200,6 +200,8 @@
<img class="axis_shimen7" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" /> <img class="axis_shimen7" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" />
<img class="axis_shimen8" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" /> <img class="axis_shimen8" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" />
<img class="axis_shimen9" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" /> <img class="axis_shimen9" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" />
<div class="url-btn" @click="to8080">
</div>
</div> </div>
<!-- 丽水凤鸣共富葡萄 --> <!-- 丽水凤鸣共富葡萄 -->
<div class="drag_box10" ref="drag_box10" v-show="limitUserId == 10"> <div class="drag_box10" ref="drag_box10" v-show="limitUserId == 10">
@ -538,6 +540,7 @@ import vueSeamless from "vue-seamless-scroll";
import axios from "axios"; import axios from "axios";
import { changeLanguage, getLanguage } from '@/utils/language'
import { pestLine } from "@/assets/js/charts"; import { pestLine } from "@/assets/js/charts";
export default { export default {
name: "largeScreen", name: "largeScreen",
@ -717,6 +720,11 @@ export default {
} }
clearInterval(this.timer_) && this.timer_; clearInterval(this.timer_) && this.timer_;
}, },
watch:{
'$i18n.locale'() {
this.dataInit()
}
},
methods: { methods: {
// id9 // id9
timeInit() { timeInit() {
@ -744,7 +752,8 @@ export default {
endTime: this.getdataTime(this.dateRange[1]), endTime: this.getdataTime(this.dateRange[1]),
page: this.currentPage, page: this.currentPage,
pageSize: this.pageSize, pageSize: this.pageSize,
isEquipment:0 isEquipment:0,
enName:getLanguage()
} }
this.api.selFsTime(data).then(res => { this.api.selFsTime(data).then(res => {
if (res.data.code == 200) { if (res.data.code == 200) {
@ -858,8 +867,11 @@ export default {
var data1 ='2024070113400048' var data1 ='2024070113400048'
var nowDevice = store.equipmentList.find(item => item.deviceId == data1); var nowDevice = store.equipmentList.find(item => item.deviceId == data1);
this.imgUrl =nowDevice? nowDevice.hls:null this.imgUrl =nowDevice? nowDevice.hls:null
var params={
this.api.getControlFsdata(data1).then(res => { equipmentId:data1,
enName:getLanguage()
}
this.api.getControlFsdata(params).then(res => {
if (res.data.code == 200) { if (res.data.code == 200) {
var chartsData = res.data.data var chartsData = res.data.data
realTimeLine2('realTime-line', chartsData, data1,0) realTimeLine2('realTime-line', chartsData, data1,0)
@ -891,8 +903,11 @@ export default {
var data1 ='2024111816300001' var data1 ='2024111816300001'
var nowDevice = store.equipmentList.find(item => item.deviceId == data1); var nowDevice = store.equipmentList.find(item => item.deviceId == data1);
this.imgUrl =nowDevice? nowDevice.hls:null this.imgUrl =nowDevice? nowDevice.hls:null
var params={
this.api.getControlFsdata(data1).then(res => { equipmentId:data1,
enName:getLanguage()
}
this.api.getControlFsdata(params).then(res => {
if (res.data.code == 200) { if (res.data.code == 200) {
var chartsData = res.data.data var chartsData = res.data.data
realTimeLine2('realTime-line', chartsData, data1) realTimeLine2('realTime-line', chartsData, data1)
@ -1170,7 +1185,11 @@ export default {
// //
getWeatherData(equipmentId) { getWeatherData(equipmentId) {
this.api.getcontrol_rtDatastation(equipmentId).then((res) => { var params={
equipmentId:equipmentId,
enName:getLanguage()
}
this.api.getControlRtDatastation(params).then((res) => {
// console.log('', res); // console.log('', res);
if (res.data.code == 200) { if (res.data.code == 200) {
this.weatherDataList = res.data.data; this.weatherDataList = res.data.data;
@ -1322,7 +1341,9 @@ export default {
this.menu_current = !this.menu_current; this.menu_current = !this.menu_current;
this.content_item_current = index; this.content_item_current = index;
}, },
to8080(){
window.open("http://localhost:8080/");
},
handlerAxis_1() { handlerAxis_1() {
this.$router.push({ path: "/largeScreen1" }); this.$router.push({ path: "/largeScreen1" });
}, },
@ -3026,7 +3047,16 @@ export default {
blue 13%, blue 13%,
blue 87%, blue 87%,
transparent 100%); transparent 100%);
.url-btn{
width: 1.3rem;height: .35rem;
// background: rgba(255,255,255,0.3);
position: absolute;
top: 28.5%;
left:17.5%;
z-index: 99;
cursor: pointer;
transform: rotate(-32deg);
}
.drag_img { .drag_img {
width: 100%; width: 100%;
height: auto; height: auto;
@ -3045,7 +3075,7 @@ export default {
z-index: 99; z-index: 99;
cursor: pointer; cursor: pointer;
} }
.axis_shimen1 { .axis_shimen1 {
width: 0.3rem; width: 0.3rem;
height: auto; height: auto;

View File

@ -430,7 +430,7 @@
<div class="map"> <div class="map">
<div class="map1"> <div class="map1">
<div class="drag_box9" ref="drag_box9"> <div class="drag_box9" ref="drag_box9">
<img class="drag_img" src="../../assets/img/map5.png" alt="" /> <img class="drag_img" src="https://lihemix.oss-cn-hangzhou.aliyuncs.com/%E7%94%98%E4%BA%95%E6%9D%91%E5%A4%A7%E6%95%B0%E6%8D%AE/%E5%80%BE%E6%96%9C%E5%9B%BE.png" alt="" />
<!-- <div class="popBox" v-for="(item, index) in popContentList" :key="index"> <!-- <div class="popBox" v-for="(item, index) in popContentList" :key="index">
<template> <template>
<div class="pole_item" :style="getTopOrLeft9(9)"> <div class="pole_item" :style="getTopOrLeft9(9)">

View File

@ -280,7 +280,7 @@ export default {
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -1746,7 +1746,7 @@ export default {
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: "加载中", text: this.$t('message.loading'),
spinner: "el-icon-loading", spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)", background: "rgba(0, 0, 0, 0.7)",
}); });

File diff suppressed because it is too large Load Diff

View File

@ -527,7 +527,7 @@ return num
}; };
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -188,7 +188,7 @@ export default {
mounted() { mounted() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -115,7 +115,7 @@ export default {
mounted() { mounted() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -194,7 +194,7 @@ export default {
'$route.query.change'(newVal, oldVal) { '$route.query.change'(newVal, oldVal) {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -207,7 +207,7 @@ export default {
this.indexs = this.$route.query.id ? this.$route.query.id : 1; this.indexs = this.$route.query.id ? this.$route.query.id : 1;
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -116,7 +116,7 @@ export default {
mounted() { mounted() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -350,7 +350,7 @@ export default {
var store = this.$store.state var store = this.$store.state
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -83,7 +83,7 @@ export default {
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -139,7 +139,7 @@ this.dataInit();
downLoadData() { downLoadData() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -173,7 +173,7 @@ this.dataInit();
changeTxt(e) { changeTxt(e) {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -223,7 +223,7 @@ this.dataInit();
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -101,7 +101,7 @@ export default {
mounted() { mounted() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -117,7 +117,7 @@ export default {
downLoadData() { downLoadData() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -149,7 +149,7 @@ export default {
changeTxt(e) { changeTxt(e) {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -126,7 +126,7 @@ export default {
mounted() { mounted() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -142,7 +142,7 @@ export default {
downLoadData() { downLoadData() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
@ -176,7 +176,7 @@ export default {
changeTxt(e) { changeTxt(e) {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -112,7 +112,7 @@
const that = this; const that = this;
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -210,7 +210,7 @@
const that = this; const that = this;
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -301,7 +301,7 @@ export default {
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -284,7 +284,7 @@ export default {
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -263,7 +263,7 @@ export default {
mounted() { mounted() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -95,7 +95,7 @@ export default {
mounted() { mounted() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -3,7 +3,7 @@
<div class="page-content new-data"> <div class="page-content new-data">
<div class="table-title"> <div class="table-title">
<img src="../../assets/image/real-time.png" alt="" /> <img src="../../assets/image/real-time.png" alt="" />
{{ deviceTypeName }}视频监控<span class="outline" v-if="deviceState == 0">(设备离线)</span> {{ deviceTypeName }}{{ $t('videoMonitoring.title') }}<span class="outline" v-if="deviceState == 0">({{ $t('realTime.deviceOffline') }})</span>
</div> </div>
<div class="flex-list realTime-bottom videoMonitoring-monitor"> <div class="flex-list realTime-bottom videoMonitoring-monitor">
<div class="left-view" v-if="deviceName != 30"> <div class="left-view" v-if="deviceName != 30">
@ -30,29 +30,37 @@
</div> </div>
</div> </div>
<div class="video-btn"> <div class="video-btn">
<div @mousedown="downStart(4)"><img src="../../assets/img/video-icon0.png" alt=""> <div @mousedown="downStart(4)">
<div>左上 </div> <img src="../../assets/img/video-icon0.png" alt="">
<div>{{ $t('videoMonitoring.topLeft') }}</div>
</div> </div>
<div @mousedown="downStart(6)"><img src="../../assets/img/video-icon1.png" alt=""> <div @mousedown="downStart(6)">
<div>右上 </div> <img src="../../assets/img/video-icon1.png" alt="">
<div>{{ $t('videoMonitoring.topRight') }}</div>
</div> </div>
<div @mousedown="downStart(5)"><img src="../../assets/img/video-icon2.png" alt=""> <div @mousedown="downStart(5)">
<div>左下 </div> <img src="../../assets/img/video-icon2.png" alt="">
<div>{{ $t('videoMonitoring.bottomLeft') }}</div>
</div> </div>
<div @mousedown="downStart(7)"><img src="../../assets/img/video-icon3.png" alt=""> <div @mousedown="downStart(7)">
<div>右下 </div> <img src="../../assets/img/video-icon3.png" alt="">
<div>{{ $t('videoMonitoring.bottomRight') }}</div>
</div> </div>
<div @mousedown="downStart(8)"><img src="../../assets/img/video-icon4.png" alt=""> <div @mousedown="downStart(8)">
<div>放大+</div> <img src="../../assets/img/video-icon4.png" alt="">
<div>{{ $t('videoMonitoring.zoomIn') }}</div>
</div> </div>
<div @mousedown="downStart(9)"><img src="../../assets/img/video-icon5.png" alt=""> <div @mousedown="downStart(9)">
<div>缩小-</div> <img src="../../assets/img/video-icon5.png" alt="">
<div>{{ $t('videoMonitoring.zoomOut') }}</div>
</div> </div>
<div @mousedown="downStart(10)"><img src="../../assets/img/video-icon6.png" alt=""> <div @mousedown="downStart(10)">
<div>近焦距</div> <img src="../../assets/img/video-icon6.png" alt="">
<div>{{ $t('videoMonitoring.focusNear') }}</div>
</div> </div>
<div @mousedown="downStart(11)"><img src="../../assets/img/video-icon7.png" alt=""> <div @mousedown="downStart(11)">
<div>远焦距</div> <img src="../../assets/img/video-icon7.png" alt="">
<div>{{ $t('videoMonitoring.focusFar') }}</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -663,7 +663,7 @@ export default {
dataInit() { dataInit() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: this.$t('message.loading'),
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });

View File

@ -36,15 +36,15 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="200"> <el-table-column :label="$t('nameText.operations')" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="vrcode-table-btn"> <div class="vrcode-table-btn">
<div class="vrcode-btn blue-btn" @click="addModel = true"> <div class="vrcode-btn blue-btn" @click="addModel = true">
编辑 {{$t('nameText.edit')}}
</div> </div>
<div class="vrcode-btn red-btn"> <div class="vrcode-btn red-btn">
删除 {{$t('nameText.delete')}}
</div> </div>
</div> </div>
</template> </template>
@ -168,7 +168,7 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div> <div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>

View File

@ -33,15 +33,15 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="200"> <el-table-column :label="$t('nameText.operations')" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="vrcode-table-btn"> <div class="vrcode-table-btn">
<div class="vrcode-btn blue-btn" @click="addModel = true"> <div class="vrcode-btn blue-btn" @click="addModel = true">
编辑 {{$t('nameText.edit')}}
</div> </div>
<div class="vrcode-btn red-btn"> <div class="vrcode-btn red-btn">
删除 {{$t('nameText.delete')}}
</div> </div>
</div> </div>
</template> </template>
@ -67,7 +67,7 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div> <div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>

View File

@ -41,15 +41,15 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="200"> <el-table-column :label="$t('nameText.operations')" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="vrcode-table-btn"> <div class="vrcode-table-btn">
<div class="vrcode-btn blue-btn" @click="addModel = true"> <div class="vrcode-btn blue-btn" @click="addModel = true">
编辑 {{$t('nameText.edit')}}
</div> </div>
<div class="vrcode-btn red-btn"> <div class="vrcode-btn red-btn">
删除 {{$t('nameText.delete')}}
</div> </div>
</div> </div>
</template> </template>
@ -101,7 +101,7 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div> <div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>

View File

@ -29,15 +29,15 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="200"> <el-table-column :label="$t('nameText.operations')" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="vrcode-table-btn"> <div class="vrcode-table-btn">
<div class="vrcode-btn blue-btn" @click="addModel = true"> <div class="vrcode-btn blue-btn" @click="addModel = true">
编辑 {{$t('nameText.edit')}}
</div> </div>
<div class="vrcode-btn red-btn"> <div class="vrcode-btn red-btn">
删除 {{$t('nameText.delete')}}
</div> </div>
</div> </div>
</template> </template>
@ -82,7 +82,7 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div> <div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>

View File

@ -29,15 +29,15 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="200"> <el-table-column :label="$t('nameText.operations')" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="vrcode-table-btn"> <div class="vrcode-table-btn">
<div class="vrcode-btn blue-btn" @click="addModel = true"> <div class="vrcode-btn blue-btn" @click="addModel = true">
编辑 {{$t('nameText.edit')}}
</div> </div>
<div class="vrcode-btn red-btn"> <div class="vrcode-btn red-btn">
删除 {{$t('nameText.delete')}}
</div> </div>
</div> </div>
</template> </template>
@ -109,7 +109,7 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div> <div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>

View File

@ -31,15 +31,15 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="200"> <el-table-column :label="$t('nameText.operations')" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="vrcode-table-btn"> <div class="vrcode-table-btn">
<div class="vrcode-btn blue-btn" @click="addModel = true"> <div class="vrcode-btn blue-btn" @click="addModel = true">
编辑 {{$t('nameText.edit')}}
</div> </div>
<div class="vrcode-btn red-btn"> <div class="vrcode-btn red-btn">
删除 {{$t('nameText.delete')}}
</div> </div>
</div> </div>
</template> </template>
@ -65,7 +65,7 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div> <div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>

View File

@ -215,7 +215,7 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div> <div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>

View File

@ -29,15 +29,15 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="200"> <el-table-column :label="$t('nameText.operations')" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="vrcode-table-btn"> <div class="vrcode-table-btn">
<div class="vrcode-btn blue-btn" @click="addModel = true"> <div class="vrcode-btn blue-btn" @click="addModel = true">
编辑 {{$t('nameText.edit')}}
</div> </div>
<div class="vrcode-btn red-btn"> <div class="vrcode-btn red-btn">
删除 {{$t('nameText.delete')}}
</div> </div>
</div> </div>
</template> </template>

View File

@ -29,15 +29,15 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="200"> <el-table-column :label="$t('nameText.operations')" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="vrcode-table-btn"> <div class="vrcode-table-btn">
<div class="vrcode-btn blue-btn" @click="addModel = true"> <div class="vrcode-btn blue-btn" @click="addModel = true">
编辑 {{$t('nameText.edit')}}
</div> </div>
<div class="vrcode-btn red-btn"> <div class="vrcode-btn red-btn">
删除 {{$t('nameText.delete')}}
</div> </div>
</div> </div>
</template> </template>
@ -85,7 +85,7 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div> <div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>

View File

@ -41,15 +41,15 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="200"> <el-table-column :label="$t('nameText.operations')" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="vrcode-table-btn"> <div class="vrcode-table-btn">
<div class="vrcode-btn blue-btn" @click="addModel = true"> <div class="vrcode-btn blue-btn" @click="addModel = true">
编辑 {{$t('nameText.edit')}}
</div> </div>
<div class="vrcode-btn red-btn"> <div class="vrcode-btn red-btn">
删除 {{$t('nameText.delete')}}
</div> </div>
</div> </div>
</template> </template>
@ -93,7 +93,7 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div> <div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>

View File

@ -29,15 +29,15 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="200"> <el-table-column :label="$t('nameText.operations')" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="vrcode-table-btn"> <div class="vrcode-table-btn">
<div class="vrcode-btn blue-btn" @click="addModel = true"> <div class="vrcode-btn blue-btn" @click="addModel = true">
编辑 {{$t('nameText.edit')}}
</div> </div>
<div class="vrcode-btn red-btn"> <div class="vrcode-btn red-btn">
删除 {{$t('nameText.delete')}}
</div> </div>
</div> </div>
</template> </template>
@ -161,7 +161,7 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div> <div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>

View File

@ -15,9 +15,9 @@
<div class="name">西红柿温室种植</div> <div class="name">西红柿温室种植</div>
<div class="vrcode-btn blue-btn" @click="addModel = true,edit=true"><img src="../../assets/img/look.png" alt="">查看</div> <div class="vrcode-btn blue-btn" @click="addModel = true,edit=true"><img src="../../assets/img/look.png" alt="">查看</div>
<el-popconfirm <el-popconfirm
title="这是一段内容确定删除吗?" :title="$t('nameText.deleteContent')"
> >
<div class="vrcode-btn red-btn" slot="reference"><img src="../../assets/img/del.png" alt="">删除</div> <div class="vrcode-btn red-btn" slot="reference"><img src="../../assets/img/del.png" alt="">{{$t('nameText.delete')}}</div>
</el-popconfirm> </el-popconfirm>
@ -191,7 +191,7 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div> <div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>

View File

@ -29,15 +29,15 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="200"> <el-table-column :label="$t('nameText.operations')" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="vrcode-table-btn"> <div class="vrcode-table-btn">
<div class="vrcode-btn blue-btn" @click="addModel = true"> <div class="vrcode-btn blue-btn" @click="addModel = true">
编辑 {{$t('nameText.edit')}}
</div> </div>
<div class="vrcode-btn red-btn"> <div class="vrcode-btn red-btn">
删除 {{$t('nameText.delete')}}
</div> </div>
</div> </div>
</template> </template>
@ -81,7 +81,7 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div> <div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>

View File

@ -29,15 +29,15 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="200"> <el-table-column :label="$t('nameText.operations')" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="vrcode-table-btn"> <div class="vrcode-table-btn">
<div class="vrcode-btn blue-btn" @click="addModel = true"> <div class="vrcode-btn blue-btn" @click="addModel = true">
编辑 {{$t('nameText.edit')}}
</div> </div>
<div class="vrcode-btn red-btn"> <div class="vrcode-btn red-btn">
删除 {{$t('nameText.delete')}}
</div> </div>
</div> </div>
</template> </template>
@ -161,7 +161,7 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div> <div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>

View File

@ -29,15 +29,15 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="200"> <el-table-column :label="$t('nameText.operations')" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="vrcode-table-btn"> <div class="vrcode-table-btn">
<div class="vrcode-btn blue-btn" @click="addModel = true"> <div class="vrcode-btn blue-btn" @click="addModel = true">
编辑 {{$t('nameText.edit')}}
</div> </div>
<div class="vrcode-btn red-btn"> <div class="vrcode-btn red-btn">
删除 {{$t('nameText.delete')}}
</div> </div>
</div> </div>
</template> </template>
@ -161,7 +161,7 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div> <div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>

View File

@ -37,12 +37,12 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="400"> <el-table-column :label="$t('nameText.operations')" width="400">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="vrcode-table-btn"> <div class="vrcode-table-btn">
<div class="vrcode-btn blue-btn" @click="addModel = true"> <div class="vrcode-btn blue-btn" @click="addModel = true">
编辑 {{$t('nameText.edit')}}
</div> </div>
<div class="vrcode-btn save-btn" @click="addModel = true"> <div class="vrcode-btn save-btn" @click="addModel = true">
薪资设置 薪资设置
@ -51,7 +51,7 @@
停止 停止
</div> </div>
<div class="vrcode-btn red-btn"> <div class="vrcode-btn red-btn">
删除 {{$t('nameText.delete')}}
</div> </div>
</div> </div>
</template> </template>
@ -124,7 +124,7 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div> <div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>

View File

@ -30,15 +30,15 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="200"> <el-table-column :label="$t('nameText.operations')" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="vrcode-table-btn"> <div class="vrcode-table-btn">
<div class="vrcode-btn blue-btn" @click="addModel = true"> <div class="vrcode-btn blue-btn" @click="addModel = true">
编辑 {{$t('nameText.edit')}}
</div> </div>
<div class="vrcode-btn red-btn"> <div class="vrcode-btn red-btn">
删除 {{$t('nameText.delete')}}
</div> </div>
</div> </div>
</template> </template>
@ -70,7 +70,7 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div> <div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>

View File

@ -41,12 +41,12 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="530"> <el-table-column :label="$t('nameText.operations')" width="530">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="vrcode-table-btn"> <div class="vrcode-table-btn">
<div class="vrcode-btn blue-btn" @click="addModel = true"> <div class="vrcode-btn blue-btn" @click="addModel = true">
编辑 {{$t('nameText.edit')}}
</div> </div>
<div class="vrcode-btn save-btn" @click="addModel = true"> <div class="vrcode-btn save-btn" @click="addModel = true">
二维码 二维码
@ -58,7 +58,7 @@
预览 预览
</div> </div>
<div class="vrcode-btn red-btn"> <div class="vrcode-btn red-btn">
删除 {{$t('nameText.delete')}}
</div> </div>
</div> </div>
</template> </template>
@ -181,7 +181,7 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div> <div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div> <div class="vrcode-btn cancle-btn" @click="addModel = false">{{$t('index.cancel')}}</div>
</span> </span>
</el-dialog> </el-dialog>