This commit is contained in:
home孙 2025-05-15 16:01:06 +08:00
parent dda149e4f1
commit 0079bc5d20
9 changed files with 534 additions and 358 deletions

View File

@ -196,6 +196,10 @@ export default {
//气象站显示 //气象站显示
geteqetdata(data) { geteqetdata(data) {
return sendGetRequest(`/getcontrol/geteqetdata?userId=`+data ,"") return sendGetRequest(`/getcontrol/geteqetdata?userId=`+data ,"")
},
// 数据采集器的实时数据
getdataRtdata(data) {
return sendGetRequest(`/getdata/rtdata?deviceId=` + data, '')
}, },
//测试施肥机读取设备状态信息 //读取数据 根据文档编号读取 所有数据展示都出自这个接口 //测试施肥机读取设备状态信息 //读取数据 根据文档编号读取 所有数据展示都出自这个接口
postReg(data) { postReg(data) {

View File

@ -791,6 +791,10 @@ textarea {
height: 44px; height: 44px;
} }
.input-main-60.input-main-100 input {
width: 100px;
}
.input-main-60 input { .input-main-60 input {
width: 60px; width: 60px;
height: 34px; height: 34px;

View File

@ -826,6 +826,11 @@ textarea{
input{ input{
height: 44px; height: 44px;
} }
}
&.input-main-100{
input{
width: 100px;
}
} }
input { input {
width: 60px; width: 60px;

View File

@ -116,6 +116,7 @@ export default {
// { name: '', img: require('../assets/image/left-img1.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: ['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', '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: ['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: [] },
], ],
leftList1: [ leftList1: [
@ -201,44 +202,13 @@ export default {
}, },
methods: { methods: {
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=>{
if(res.data.code==200){ // if(res.data.code==200){
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:'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
} // }
}) // })
}, },
// id // id
get_user_getjurisdiction() { get_user_getjurisdiction() {
@ -305,9 +275,10 @@ export default {
const that = this const that = this
var userInfo = localStorage.getItem('userInfo') ? JSON.parse(localStorage.getItem('userInfo')) : { userid: -1 } var userInfo = localStorage.getItem('userInfo') ? JSON.parse(localStorage.getItem('userInfo')) : { userid: -1 }
var store = this.$store.state var store = this.$store.state
this.api.getEqbyid(userInfo.userid).then((res) => { this.api.selUserbyid(userInfo.userid).then((res) => {
if (res.data.code == 200) { if (res.data.code == 200) {
this.$store.state.equipmentList = res.data.data.map((item, index) => { var data=res.data.data.devices
this.$store.state.equipmentList =data.map((item, index) => {
return { return {
...item, ...item,
router: that.deviceNameRouter(item.deviceName), router: that.deviceNameRouter(item.deviceName),
@ -315,13 +286,15 @@ export default {
}; };
}); });
if (!localStorage.getItem('equipmentSelList')) { if (!localStorage.getItem('equipmentSelList')) {
localStorage.setItem('equipmentSelList', JSON.stringify(res.data.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.leftList[1].list = []
this.leftList[2].list = [] this.leftList[2].list = []
this.leftList[3].list = [] this.leftList[3].list = []
this.leftList[4].list = [] this.leftList[4].list = []
this.leftList[5].list = []
this.$store.state.equipmentList.forEach((el, index) => { this.$store.state.equipmentList.forEach((el, index) => {
//deviceId //deviceId
if (this.deviceId && this.deviceId == el.deviceId) { if (this.deviceId && this.deviceId == el.deviceId) {
@ -345,6 +318,12 @@ export default {
this.leftList[index1].list.push(el) 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) { // else if (el.deviceName == 30) {
// this.leftList.forEach((el1, index1) => { // this.leftList.forEach((el1, index1) => {
@ -390,6 +369,9 @@ export default {
if (el1.name == '生态气象站') { if (el1.name == '生态气象站') {
this.leftList[index1].list.sort(this.compare('equipmentStatu')) this.leftList[index1].list.sort(this.compare('equipmentStatu'))
} }
if (el1.name == '数据采集器') {
this.leftList[index1].list.sort(this.compare('equipmentStatu'))
}
}) })
this.gerRouter() this.gerRouter()
@ -406,6 +388,39 @@ export default {
} }
}) })
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:'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
} }
}) })
@ -460,6 +475,10 @@ export default {
if (this.deviceName == '30') { if (this.deviceName == '30') {
this.$message('气象站无该页面'); this.$message('气象站无该页面');
return return
}
if (this.deviceName == '40') {
this.$message('数据采集器无该页面');
return
} }
if (this.deviceName == '10') { if (this.deviceName == '10') {
this.$router.push({ path: `/control` }) this.$router.push({ path: `/control` })
@ -557,6 +576,8 @@ export default {
} }
else if (item.deviceName == 30) { else if (item.deviceName == 30) {
this.$message('气象站无该页面'); this.$message('气象站无该页面');
} else if (item.deviceName == 40) {
this.$message('数据采集器无该页面');
} }
} }
} else if ( this.$route.query.index == item.index) { } else if ( this.$route.query.index == item.index) {

View File

@ -15,6 +15,14 @@
<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="">
智能控制器 智能控制器
</div>
<div class="manage-btn" @click="active = 3" :class="active == 3 ? 'active' : ''">
<img src="../../assets/manageImg/manage-btn-icon1.png" alt="">
生态气象站
</div>
<div class="manage-btn" @click="active = 4" :class="active == 4 ? 'active' : ''">
<img src="../../assets/manageImg/manage-btn-icon1.png" alt="">
数据采集器
</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">
@ -99,6 +107,56 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<div class="table-view" style="width: 100%;" v-if="active === 3">
<el-table :data="tableData3" :row-class-name="tableRowClassName" height="620" style="width: 100%">
<!-- <el-table-column label="序号">
<template slot-scope="scope">
<div>{{scope.$index+1 }}
</div>
</template>
</el-table-column> -->
<el-table-column prop="deviceId" label="设备code码">
</el-table-column>
<el-table-column prop="deviceTypeName" label="设备名称">
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<div class="table-flex">
<div class="table-operate blue" @click="openModel(scope.row, scope.$index)">
<img src="../../assets/manageImg/table-edit.png" alt="">编辑
</div>
</div>
</template>
</el-table-column>
</el-table>
</div>
<div class="table-view" style="width: 100%;" v-if="active === 4">
<el-table :data="tableData4" :row-class-name="tableRowClassName" height="620" style="width: 100%">
<!-- <el-table-column label="序号">
<template slot-scope="scope">
<div>{{scope.$index+1 }}
</div>
</template>
</el-table-column> -->
<el-table-column prop="deviceId" label="设备code码">
</el-table-column>
<el-table-column prop="deviceTypeName" label="设备名称">
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<div class="table-flex">
<div class="table-operate blue" @click="openModel(scope.row, scope.$index)">
<img src="../../assets/manageImg/table-edit.png" alt="">编辑
</div>
</div>
</template>
</el-table-column>
</el-table>
</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">
@ -400,6 +458,8 @@ export default {
tableData: [], tableData: [],
tableData1: [], tableData1: [],
tableData2: [], tableData2: [],
tableData3: [],
tableData4: [],
addModel: false, addModel: false,
addModel1: false, addModel1: false,
changeName: false, changeName: false,
@ -430,6 +490,8 @@ export default {
this.tableData = [] this.tableData = []
this.tableData1 = [] this.tableData1 = []
this.tableData2 = [] this.tableData2 = []
this.tableData3 = []
this.tableData4 = []
if (res.data.code == 200) { if (res.data.code == 200) {
res.data.data.devices.forEach((el, index) => { res.data.data.devices.forEach((el, index) => {
if (el.deviceName == 10) { if (el.deviceName == 10) {
@ -438,6 +500,10 @@ export default {
this.tableData.push(el) this.tableData.push(el)
} else if (el.deviceName == 20) { } else if (el.deviceName == 20) {
this.tableData2.push(el) this.tableData2.push(el)
} else if (el.deviceName == 30) {
this.tableData3.push(el)
} else if (el.deviceName == 40) {
this.tableData4.push(el)
} }
}) })
} }

View File

@ -2,29 +2,41 @@
<div class="videoManage manage-page deviceManage"> <div class="videoManage manage-page deviceManage">
<div class="flex-view flex-title"> <div class="flex-view flex-title">
<div class="table-title"> <div class="table-title">
<img src="../../assets/manageImg/deviceManage.png" alt="">设备管理 <img src="../../assets/manageImg/deviceManage.png" alt="" />设备管理
</div> </div>
<div class="table-title-btn blue" @click="openAddModel1"> <div class="table-title-btn blue" @click="openAddModel1">
<img src="../../assets/manageImg/add-btn.png" alt="">添加 <img src="../../assets/manageImg/add-btn.png" alt="" />添加
</div> </div>
</div> </div>
<div class="flex-view "> <div class="flex-view">
<div class="manage-input w-180"> <div class="manage-input w-180">
<span class="input-title">用户名查询</span> <span class="input-title">用户名查询</span>
<input class="search-input" type="text" v-model="searchName" placeholder=""> <input
class="search-input"
type="text"
v-model="searchName"
placeholder=""
/>
</div> </div>
<div class="manage-input w-180"> <div class="manage-input w-180">
<span class="input-title">设备code码查询</span> <span class="input-title">设备code码查询</span>
<input class="search-input" type="text" v-model="searchID" placeholder=""> <input
</div> class="search-input"
<div class="table-title-btn blue" @click="dataInit"> type="text"
查询 v-model="searchID"
placeholder=""
/>
</div> </div>
<div class="table-title-btn blue" @click="dataInit">查询</div>
</div> </div>
<div class="table-view"> <div class="table-view">
<el-table :data="tableData" :row-class-name="tableRowClassName" height="540" style="width: 100%"> <el-table
<el-table-column prop="deviceId" label="设备code码"> :data="tableData"
</el-table-column> :row-class-name="tableRowClassName"
height="540"
style="width: 100%"
>
<el-table-column prop="deviceId" label="设备code码"> </el-table-column>
<el-table-column prop="deviceTypeName" label="设备名称"> <el-table-column prop="deviceTypeName" label="设备名称">
</el-table-column> </el-table-column>
<el-table-column prop="cameraSerialNumber" label="设备关联摄像头名称"> <el-table-column prop="cameraSerialNumber" label="设备关联摄像头名称">
@ -36,97 +48,166 @@
<el-table-column label="操作"> <el-table-column label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-flex"> <div class="table-flex">
<div class="table-operate blue" @click="openRoleModel(scope.row.deviceId)" <div
v-if="scope.row.deviceName == 10"> class="table-operate blue"
<img src="../../assets/manageImg/table-edit.png" alt="">权限 @click="openRoleModel(scope.row.deviceId)"
v-if="scope.row.deviceName == 10"
>
<img src="../../assets/manageImg/table-edit.png" alt="" />权限
</div> </div>
<el-popconfirm @confirm="confirmDel(scope.row)" title="这一段内容确定删除吗?" icon-color="red"> <el-popconfirm
@confirm="confirmDel(scope.row)"
title="这一段内容确定删除吗?"
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=""
/>
</div> </div>
</el-popconfirm> </el-popconfirm>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" <el-pagination
:page-sizes="[10, 20, 50, 100, 200, 500, 1000, 1500]" :page-size="pageSize" @size-change="handleSizeChange"
layout="->,total, sizes, prev, pager, next, jumper" :total="total"> @current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[10, 20, 50, 100, 200, 500, 1000, 1500]"
:page-size="pageSize"
layout="->,total, sizes, prev, pager, next, jumper"
:total="total"
>
</el-pagination> </el-pagination>
</div> </div>
<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="控制器权限管理"
:append-to-body="true"
:visible.sync="roleModel"
width="70%"
>
<div class="model-title">控制器权限管理</div> <div class="model-title">控制器权限管理</div>
<div class="model-sel scroll"> <div class="model-sel scroll">
<div v-for="item, index in selDevicestatus" :key="index"> <div v-for="(item, index) in selDevicestatus" :key="index">
<div @click="selClick(item)" :class="item.select ? 'sel' : 'no-sel'"></div> <div
@click="selClick(item)"
:class="item.select ? 'sel' : 'no-sel'"
></div>
{{ item.name }} {{ item.name }}
</div> </div>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<div class="vrcode-btn blue-btn" @click="addpermissionall">添加标准控制器</div> <div class="vrcode-btn blue-btn" @click="addpermissionall">
<div class="vrcode-btn cancle-btn w-100" @click="roleModel = false">确定</div> 添加标准控制器
</div>
<div class="vrcode-btn cancle-btn w-100" @click="roleModel = false">
确定
</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
:append-to-body="true"> :close-on-click-modal="false"
<div class="vrcode-model-title"> title="提示"
添加设备 top="10vh"
</div> :visible.sync="addModel1"
width="564px"
class="vrcode-model manage-model"
:append-to-body="true"
>
<div class="vrcode-model-title">添加设备</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">设备code码</div> <div class="input-title">设备code码</div>
<input type="text" v-model="nowData1.deviceId" placeholder="请输入设备code码"> <input
type="text"
v-model="nowData1.deviceId"
placeholder="请输入设备code码"
/>
</div> </div>
<div class="manage-input-sel" style="margin-right: 0;"> <div class="manage-input-sel" style="margin-right: 0">
<div class="input-title">设备类型</div> <div class="input-title">设备类型</div>
<el-dropdown @command="handleCommand1"> <el-dropdown @command="handleCommand1">
<div class="el-dropdown-link"> <div class="el-dropdown-link">
<input v-model="deviceType" type="text" class="input-input" placeholder="请选择设备类型"> <input
<div class="arrow"><img src="../../assets/image/arrow.png" alt=""></div> v-model="deviceType"
type="text"
class="input-input"
placeholder="请选择设备类型"
/>
<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 deviceSel <el-dropdown-item
" :key="index" :command="item.label">{{ item.label }}</el-dropdown-item> v-for="(item, index) in deviceSel"
:key="index"
:command="item.label"
>{{ item.label }}</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">关联摄像头名称</div>
<input type="number" v-model="nowData1.cameraSerialNumber" placeholder="请输入摄像头名称"> <input
type="number"
v-model="nowData1.cameraSerialNumber"
placeholder="请输入摄像头名称"
/>
</div> </div>
<div class="manage-img-small"> <div class="manage-img-small">
<label for="sel-img"> <label for="sel-img">
<img class="" :src="nowData1.hls" alt=""> <img class="" :src="nowData1.hls" alt="" />
</label> </label>
<input ref="fileInput1" type="file" :multiple="false" id="sel-img" accept="image/*" <input
@change="handleImageChange($event,1)" /> ref="fileInput1"
type="file"
:multiple="false"
id="sel-img"
accept="image/*"
@change="handleImageChange($event, 1)"
/>
</div> </div>
</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">设备名称</div>
<input type="text" v-model="nowData1.deviceTypeName" placeholder="请输入设备名称"> <input
type="text"
v-model="nowData1.deviceTypeName"
placeholder="请输入设备名称"
/>
</div> </div>
<div class="manage-input"> <div class="manage-input">
<div class="input-title">关联摄像头通道</div> <div class="input-title">关联摄像头通道</div>
<input type="number" v-model="nowData1.cameraChannelNumber" placeholder="请输入摄像机通道号"> <input
type="number"
v-model="nowData1.cameraChannelNumber"
placeholder="请输入摄像机通道号"
/>
</div> </div>
<div class="manage-text"> <div class="manage-text">
如果有摄像机则每小时都会定时更新<br> 如果有摄像机则每小时都会定时更新<br />
小程序摄像机主页面图片<br> 小程序摄像机主页面图片<br />
如果没有摄像机则可以自定义更改图片<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="addDevice">确定</div> <div class="vrcode-btn blue-btn w-100" @click="addDevice">确定</div>
<div class="vrcode-btn cancle-btn w-100" @click="addModel1 = false">取消</div> <div class="vrcode-btn cancle-btn w-100" @click="addModel1 = false">
取消
</div>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
@ -138,29 +219,34 @@ export default {
tableData: [], tableData: [],
currentPage: 1, currentPage: 1,
pageSize: 10, pageSize: 10,
searchName: '', searchName: "",
searchID: '', searchID: "",
total: 0, total: 0,
roleModel: false, roleModel: false,
selDevicestatus: [], selDevicestatus: [],
allDevicestatus: [], allDevicestatus: [],
nowDevicestatus: [], nowDevicestatus: [],
nowDeviceId:'', nowDeviceId: "",
// //
addModel1:false, addModel1: false,
nowData1:{ nowData1: {
deviceState:0, deviceState: 0,
}, },
deviceType:'', deviceType: "",
deviceSel: [{ label: '控制器', value: 10, }, deviceSel: [
{ label: '施肥机', value: 1, }, { label: "控制器", value: 10 },
{ label: '气象站', value:30, }, { label: "施肥机", value: 1 },
{ label: '智能灌溉控制器', value:20, }], { label: "气象站", value: 30 },
} { label: "智能灌溉控制器", value: 20 },
{ label: "数据采集器", value: 40 },
],
};
},
mounted() {
this.dataInit();
}, },
mounted() { this.dataInit() },
methods: { methods: {
dataInit() { dataInit() {
// var user = JSON.parse(localStorage.getItem('userInfo')) // var user = JSON.parse(localStorage.getItem('userInfo'))
@ -169,238 +255,246 @@ export default {
// this.deviceList = res.data.data.devices // this.deviceList = res.data.data.devices
// } // }
// }) // })
this.pageSize = 10 this.pageSize = 10;
this.currentPage = 1 this.currentPage = 1;
setTimeout(() => { setTimeout(() => {
this.getData() this.getData();
}, 0); }, 0);
}, },
getDeviceType(e) { getDeviceType(e) {
if (e == '控制器') { if (e == "控制器") {
return 10 return 10;
} else if(e == '施肥机'){ } else if (e == "施肥机") {
return 1 return 1;
} else if(e == '气象站'){ } else if (e == "气象站") {
return 30 return 30;
} else if(e == '智能灌溉控制器'){ } else if (e == "智能灌溉控制器") {
return 20 return 20;
} else if (e == "数据采集器") {
return 40;
} }
}, },
handleCommand1(e) { handleCommand1(e) {
this.nowData1.deviceName = this.getDeviceType(e) this.nowData1.deviceName = this.getDeviceType(e);
this.deviceType = e this.nowData1.deviceTypeName = e
this.deviceType = e;
}, },
openRoleModel(deviceId) { openRoleModel(deviceId) {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: "加载中",
spinner: 'el-icon-loading', spinner: "el-icon-loading",
background: 'rgba(0, 0, 0, 0.7)' background: "rgba(0, 0, 0, 0.7)",
}); });
this.selDevicestatus = [] this.selDevicestatus = [];
this.nowDeviceId=deviceId this.nowDeviceId = deviceId;
var data = { deviceId: deviceId } var data = { deviceId: deviceId };
// 线 // 线
this.api.selectallPermissions().then(res => { this.api.selectallPermissions().then((res) => {
if (res.data.code == 200) { if (res.data.code == 200) {
this.allDevicestatus = res.data.data this.allDevicestatus = res.data.data;
// this.roleModel=true // this.roleModel=true
// deviceId name // deviceId name
this.getcontrol_cpermission() this.getcontrol_cpermission();
} else { } else {
this.loading.close() this.loading.close();
this.$message.error(res.data.msg); this.$message.error(res.data.msg);
} }
}) });
}, },
openAddModel1(){ openAddModel1() {
this.nowData1={ this.nowData1 = {
deviceState:0, deviceState: 0,
}
this.addModel1=true };
this.deviceType=''
this.addModel1 = true;
}, },
addDevice(){ addDevice() {
if (!this.nowData1.deviceId) { if (!this.nowData1.deviceId) {
this.$message.error('设备code码还未填写'); this.$message.error("设备code码还未填写");
return return;
} }
if (!this.nowData1.deviceName) { if (!this.nowData1.deviceName) {
this.$message.error('设备类型还未选择'); this.$message.error("设备类型还未选择");
return return;
} }
if (!this.nowData1.deviceTypeName) { if (!this.nowData1.deviceTypeName) {
this.$message.error('设备名称还未填写'); this.$message.error("设备名称还未填写");
return return;
} }
var data={...this.nowData1,stationName:this.nowData1.deviceTypeName} var data = {
this.api.addDevice(data).then(res=>{ ...this.nowData1,
stationName: this.nowData1.deviceTypeName,
};
this.api.addDevice(data).then((res) => {
if (res.data.code == 200) { if (res.data.code == 200) {
this.$message.success(res.data.msg); this.$message.success(res.data.msg);
this.dataInit() this.dataInit();
this.addModel1=false this.addModel1 = false;
} else { } else {
this.$message.error(res.data.msg); this.$message.error(res.data.msg);
} }
}) });
}, },
handleImageChange(event) { handleImageChange(event) {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '上传中', text: "上传中",
spinner: 'el-icon-loading', spinner: "el-icon-loading",
background: 'rgba(0, 0, 0, 0.7)' background: "rgba(0, 0, 0, 0.7)",
}); });
const file = event.target.files[0]; const file = event.target.files[0];
const reader = new FileReader(); const reader = new FileReader();
reader.onload = (e) => { reader.onload = (e) => {
const imageData = e.target.result; const imageData = e.target.result;
const convertedFile = new File([imageData], file.name, { type: file.type }); const convertedFile = new File([imageData], file.name, {
type: file.type,
});
// ... // ...
var data = { file: convertedFile } var data = { file: convertedFile };
this.api.manageUploadImage(data).then(res => { this.api.manageUploadImage(data).then((res) => {
this.loading.close() this.loading.close();
if (res.data.code == 200) { if (res.data.code == 200) {
this.nowData1.hls=res.data.msg this.nowData1.hls = res.data.msg;
this.$refs.fileInput1.value = ''; this.$refs.fileInput1.value = "";
} else { } else {
this.$message.error(res.data.msg); this.$message.error(res.data.msg);
} }
}) });
}; };
reader.readAsArrayBuffer(file); reader.readAsArrayBuffer(file);
}, },
addpermissionall(){ addpermissionall() {
this.api.addpermissionall(this.nowDeviceId).then(res=>{ this.api.addpermissionall(this.nowDeviceId).then((res) => {
if (res.data.code == 200) { if (res.data.code == 200) {
this.$message.success(res.data.msg); this.$message.success(res.data.msg);
this.getcontrol_cpermission() this.getcontrol_cpermission();
} else { } else {
this.$message.error(res.data.msg); this.$message.error(res.data.msg);
} }
}) });
}, },
getcontrol_cpermission(){ getcontrol_cpermission() {
this.api.getcontrol_cpermission(this.nowDeviceId).then(res1 => { this.api.getcontrol_cpermission(this.nowDeviceId).then((res1) => {
this.loading.close() this.loading.close();
if (res1.data.code == 200) { if (res1.data.code == 200) {
this.nowDevicestatus = res1.data.data this.nowDevicestatus = res1.data.data;
var list1 = this.allDevicestatus var list1 = this.allDevicestatus;
var list2 = this.nowDevicestatus var list2 = this.nowDevicestatus;
var resultArray = [] var resultArray = [];
// list1 // list1
for (const item1 of list1) { for (const item1 of list1) {
// list2 id // list2 id
const matchingItem = list2.find(item2 => item2.id === item1.id); const matchingItem = list2.find((item2) => item2.id === item1.id);
// list1 select // list1 select
if (matchingItem) { if (matchingItem) {
item1.select = true; item1.select = true;
} else {
// select false
item1.select = false;
}
//
resultArray.push(item1);
}
this.selDevicestatus = resultArray
this.roleModel = true
} else { } else {
this.$message.error(res1.data.msg); // select false
item1.select = false;
} }
}) //
resultArray.push(item1);
}
this.selDevicestatus = resultArray;
this.roleModel = true;
} else {
this.$message.error(res1.data.msg);
}
});
}, },
selClick(item) { selClick(item) {
var store = this.$store.state var store = this.$store.state;
var deviceId = this.nowDeviceId var deviceId = this.nowDeviceId;
var statusId = item.id var statusId = item.id;
if (item.select) { if (item.select) {
item.select = false item.select = false;
this.$forceUpdate(); this.$forceUpdate();
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: "修改成功",
type: "success", type: "success",
}); });
this.getcontrol_cpermission() this.getcontrol_cpermission();
} else { } else {
this.$message({ this.$message({
message: res.data.msg, message: res.data.msg,
type: "warning", type: "warning",
}); });
} }
})) });
} else { } else {
item.select = true item.select = true;
this.$forceUpdate(); this.$forceUpdate();
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: "修改成功",
type: "success", type: "success",
}); });
this.getcontrol_cpermission() this.getcontrol_cpermission();
} }
})) });
} }
}, },
confirmDel(item) { confirmDel(item) {
var data = { id: item.deviceId } var data = { id: item.deviceId };
this.api.deldevice(data).then(res => { this.api.deldevice(data).then((res) => {
if (res.data.code == 200) { if (res.data.code == 200) {
this.dataInit() this.dataInit();
this.$message.success(res.data.msg); this.$message.success(res.data.msg);
} else { } else {
this.$message.error(res.data.msg); this.$message.error(res.data.msg);
} }
}) });
}, },
getData() { getData() {
var data = { var data = {
page: this.currentPage, page: this.currentPage,
pageSize: this.pageSize, pageSize: this.pageSize,
userName: this.searchName, userName: this.searchName,
deviceId: this.searchID deviceId: this.searchID,
} };
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: "加载中",
spinner: 'el-icon-loading', spinner: "el-icon-loading",
background: 'rgba(0, 0, 0, 0.7)' background: "rgba(0, 0, 0, 0.7)",
}); });
this.api.seldevice(data).then(res => { this.api.seldevice(data).then((res) => {
this.loading.close() this.loading.close();
if (res.data.code == 200) { if (res.data.code == 200) {
this.tableData = res.data.data.data this.tableData = res.data.data.data;
this.total = res.data.data.total this.total = res.data.data.total;
} else { } else {
this.$message.error(res.data.msg); this.$message.error(res.data.msg);
} }
}) });
}, },
handleSizeChange(val) { handleSizeChange(val) {
this.pageSize = val this.pageSize = val;
setTimeout(() => { setTimeout(() => {
this.getData() this.getData();
}, 0); }, 0);
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
this.currentPage = val this.currentPage = val;
setTimeout(() => { setTimeout(() => {
this.getData() this.getData();
}, 0); }, 0);
}, },
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) { if (rowIndex % 2 == 1) {
return 'warning-row'; return "warning-row";
} else if (rowIndex % 2 == 0) { } else if (rowIndex % 2 == 0) {
return 'success-row'; return "success-row";
} }
return ''; return "";
} },
}, },
};
}
</script> </script>
<style lang="scss"></style> <style lang="scss"></style>

View File

@ -130,6 +130,7 @@ export default {
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) {
this.$message.success(res.data.msg);
this.dataInit() this.dataInit()
this.addModel = false this.addModel = false
} else { } else {
@ -141,6 +142,7 @@ export default {
this.api.addphoneeqData(data).then(res => { this.api.addphoneeqData(data).then(res => {
this.loading.close() this.loading.close()
if (res.data.code == 200) { if (res.data.code == 200) {
this.$message.success(res.data.msg);
this.dataInit() this.dataInit()
this.addModel = false this.addModel = false
} else { } else {

View File

@ -844,17 +844,21 @@ export default {
message: '添加成功', message: '添加成功',
type: "success", type: "success",
}); });
var userid = JSON.parse(localStorage.getItem('userInfo')).userid
this.warnForm = { this.warnForm = {
'deviceId': this.warnForm.deviceId, 'deviceId': this.warnForm.deviceId,
"userId": '', "userId": userid,
"environmentData": '', "environmentData": '',
"environmentId": '', "environmentId": '',
"unit": '', "unit": '',
"phonenumber": '', "phonenumber": '',
"phonenumber2": '' "phonenumber2": ''
} }
this.warnModelSel1 = '' this.warnModelSel1 = ''
this.warnModelSel2 = '' this.warnModelSel2 = ''
this.$forceUpdate()
this.getMessageList() this.getMessageList()
} else { } else {
this.$message.error(res.data.msg); this.$message.error(res.data.msg);
@ -1168,56 +1172,20 @@ export default {
this.inputData = res.data.data; this.inputData = res.data.data;
this.list = [] this.list = []
this.updateTime=res.data.data[0].updateTime this.updateTime=res.data.data.length?res.data.data[0].updateTime:''
this.inputData.forEach((el, index) => { this.inputData.forEach((el, index) => {
list.forEach((el1, index1) => { list.forEach((el1, index1) => {
if (el.formula == el1.value) { if (el.formula == el1.value) {
var num = 0 var num = 0
var name = '' var name = ''
// if(el1.countType==1){
// num=this.countType1(el.environmentData)+el1.unit
// }else if(el1.countType==2){
// num=this.countType2(el.environmentData)+el1.unit
// }else if(el1.countType==3){
// num=this.countType3(el.environmentData)+el1.unit
// }else{
if (el.equipmentStart == 0) { if (el.equipmentStart == 0) {
num = '故障' num = '故障'
} else { } else {
num = el.environmentData + el1.unit num = el.environmentData + el1.unit
} }
// }
// if (el.equipmentNumber == 0) {
// if (el.targetValue == 1) {
// name = '1#' + el.environmentDataId
// } else {
// name = '1#' + el.environmentDataId
// }
// } else if (el.equipmentNumber == 15) {
// if (el.targetValue == 1) {
// name = '2#' + el.environmentDataId
// } else {
// name = '2#' + el.environmentDataId
// }
// } else {
// if (el.targetValue == 1) {
// name = el.equipmentNumber + '#' + el.environmentDataId
// } else {
// name = el.equipmentNumber + '#' + el.environmentDataId
// }
// }
// if (el.targetValue == 1) {
// name = '' + el.environmentDataId
// } else {
// if (el.equipmentNumber == 0) {
// name = '1#' + el.environmentDataId
// } else if (el.equipmentNumber == 15) {
// name = '2#' + el.environmentDataId
// } else {
// name = el.equipmentNumber + '#' + el.environmentDataId
// }
// }
if (el.targetValue == 1) { if (el.targetValue == 1) {
if (el.equipmentNumber == 0) { if (el.equipmentNumber == 0) {
name = '目标' + el.environmentDataId name = '目标' + el.environmentDataId
@ -1282,7 +1250,7 @@ export default {
// } // }
// }) // })
} }
} else if (this.deviceName == 10) { } else if (this.deviceName == 10) {
this.api.getControlRtdata(equipmentId).then((res) => { this.api.getControlRtdata(equipmentId).then((res) => {
if (res.data.code == 200) { if (res.data.code == 200) {
@ -1295,14 +1263,7 @@ export default {
if (el.formula == el1.value) { if (el.formula == el1.value) {
var num = 0 var num = 0
var name = '' var name = ''
// if(el1.countType==1){
// num=this.countType1(el.environmentData)+el1.unit
// }else if(el1.countType==2){
// num=this.countType2(el.environmentData)+el1.unit
// }else if(el1.countType==3){
// num=this.countType3(el.environmentData)+el1.unit
// }else{
if (el.equipmentStart == 0) { if (el.equipmentStart == 0) {
num = '故障' num = '故障'
} else { } else {
@ -1406,24 +1367,45 @@ export default {
// }) // })
} }
} else if (this.deviceName == 30) { } else if (this.deviceName == 30) {
this.api.getControlRtDatastation(formData).then(res => { this.getControlRtDatastation(formData)
this.controlList = [] this.api.getControlChartdata(equipmentId).then(res => {
this.list = []
this.updateTime=res.data.data[0].updateTime
if (res.data.code == 200) { if (res.data.code == 200) {
res.data.data.forEach((el, index) => { res.data.data.forEach((el, index) => {
var chartsData = res.data.data
realTimeLine('realTime-line', chartsData, equipmentId)
})
}
})
}else if(this.deviceName==20){
this.getFi_rtdata(formData)
this.getControlRtDatastation(formData)
var nowDevice = store.equipmentList[this.indexs - 1]
this.imgUrl = nowDevice.hls
this.chart_fidata(equipmentId)
}else if(this.deviceName==40){
this.api.getdataRtdata(equipmentId).then((res) => {
if (res.data.code == 200) {
this.inputData = res.data.data;
this.list = []
this.updateTime=res.data.data.length?res.data.data[0].updateTime:''
this.inputData.forEach((el, index) => {
list.forEach((el1, index1) => { list.forEach((el1, index1) => {
if (el.formula == el1.value) { if (el.formula == el1.value) {
// console.log(el1);
var num = 0 var num = 0
var name = '' var name = ''
if (el.equipmentStart == 0) { if (el.equipmentStart == 0) {
num = '故障' num = '故障'
} else { } else {
num = el.environmentData + el1.unit num = el.environmentData + el1.unit
} }
if(el.equipmentName==30){
if (el.targetValue == 1) { if (el.targetValue == 1) {
if (el.equipmentNumber == 0) { if (el.equipmentNumber == 0) {
name = '目标' + el.environmentDataId name = '目标' + el.environmentDataId
} else { } else {
@ -1438,17 +1420,64 @@ export default {
name = el.equipmentNumber + '#' + el.environmentDataId name = el.equipmentNumber + '#' + el.environmentDataId
} }
} }
}else{
name=el.environmentDataId
}
this.list.push({ this.list.push({
...el, ...el,
name: name, name: name,
num: num, num: num,
img: require(`../../assets/image/real-time-${el.formula}.png`) img: require(`../../assets/image/real-time-${el.formula}.png`)
}) })
}
})
})
} else {
// this.$message.error(res.data.msg);
}
});
var data1 = store.equipmentList[this.indexs - 1].deviceId
this.api.postFsdata(data1).then(res => {
if (res.data.code == 200) {
var chartsData = res.data.data
realTimeLine('realTime-line', chartsData, data1)
} else {
// this.$message.error(res.data.msg);
}
})
this.getControlRtDatastation(formData)
var nowDevice = store.equipmentList[this.indexs - 1]
this.imgUrl = nowDevice.hls
}
},
chart_fidata(equipmentId){
this.api.chart_fidata(equipmentId).then(res=>{
if (res.data.code == 200) {
var chartsData = res.data.data
realTimeLine('realTime-line', chartsData, data1)
} else {
// this.$message.error(res.data.msg);
}
})
},
getControlRtDatastation(formData){
this.api.getControlRtDatastation(formData).then(res => {
this.controlList = []
if (res.data.code == 200) {
res.data.data.forEach((el, index) => {
list.forEach((el1, index1) => {
if (el.formula == el1.value) {
// console.log(el1);
var num = 0
if (el.equipmentStart == 0) {
num = '故障'
} else {
num = el.environmentData + el1.unit
}
this.controlList.push({ this.controlList.push({
...el, ...el,
num: num, num: num,
@ -1460,17 +1489,9 @@ export default {
} }
// console.log(this.controlList); // console.log(this.controlList);
}) })
this.api.getControlChartdata(equipmentId).then(res => { },
if (res.data.code == 200) { getFi_rtdata(formData){
res.data.data.forEach((el, index) => { this.api.getFi_rtdata(formData).then(res=>{
var chartsData = res.data.data
realTimeLine('realTime-line', chartsData, equipmentId)
})
}
})
}else if(this.deviceName==20){
this.api.getFi_rtdata(formData).then(res=>{
if (res.data.code == 200) { if (res.data.code == 200) {
this.inputData = res.data.data; this.inputData = res.data.data;
this.list = [] this.list = []
@ -1520,47 +1541,6 @@ export default {
// this.$message.error(res.data.msg); // this.$message.error(res.data.msg);
} }
}) })
this.api.getControlRtDatastation(formData).then(res => {
this.controlList = []
if (res.data.code == 200) {
res.data.data.forEach((el, index) => {
list.forEach((el1, index1) => {
if (el.formula == el1.value) {
// console.log(el1);
var num = 0
if (el.equipmentStart == 0) {
num = '故障'
} else {
num = el.environmentData + el1.unit
}
this.controlList.push({
...el,
num: num,
img: require(`../../assets/image/real-time-${el.formula}.png`)
})
}
})
})
}
// console.log(this.controlList);
})
var nowDevice = store.equipmentList[this.indexs - 1]
// var data2 = {
// cameraid: nowDevice.cameraSerialNumber,
// channelid: nowDevice.cameraChannelNumber
// }
this.imgUrl = nowDevice.hls
this.api.chart_fidata(equipmentId).then(res=>{
if (res.data.code == 200) {
var chartsData = res.data.data
realTimeLine('realTime-line', chartsData, data1)
} else {
// this.$message.error(res.data.msg);
}
})
}
}, },
//status //status
getStatePermissionStatus() { getStatePermissionStatus() {

View File

@ -14,7 +14,7 @@
<img src="../../assets/image/system.png" alt=""> 系统参数设置 <img src="../../assets/image/system.png" alt=""> 系统参数设置
</div> </div>
<div class="flex-view border-none padding-none"> <div class="flex-view border-none padding-none">
<div class="input-main-60" style="width: auto;"> <div class="input-main-60 input-main-100" style="width: auto;">
<span>软件版本号</span> <span>软件版本号</span>
<input disabled v-model="inputData['76']" type="text" placeholder="0"> <input disabled v-model="inputData['76']" type="text" placeholder="0">