<template>
|
<div class="device-manage">
|
<div class="cluster-content" >
|
<div class="cluster-right" v-if="config=='device'">
|
<el-form :model="deviceForm" :rules="rules" ref="deviceForm">
|
<el-form-item prop="devId">
|
<div class="p-title">设备ID</div>
|
<el-input v-model="deviceForm.devId" disabled size="small"></el-input>
|
</el-form-item>
|
<el-form-item prop="name">
|
<div class="p-title">设备名称</div>
|
<el-input v-model="deviceForm.name" placeholder="" size="small"></el-input>
|
</el-form-item>
|
<el-form-item>
|
<div class="p-title">设备地址</div>
|
<el-input v-model="deviceForm.addr" placeholder="小区位置" size="small"></el-input>
|
</el-form-item>
|
<el-form-item prop="position">
|
<div class="p-title">安装位置</div>
|
<el-input v-model="deviceForm.position" placeholder="楼号/单元号" size="small">
|
</el-input>
|
</el-form-item>
|
<el-form-item prop="org">
|
<div class="p-title">所属机构</div>
|
<el-input v-model="deviceForm.org" placeholder="" size="small"></el-input>
|
</el-form-item>
|
<el-form-item prop="org">
|
<div class="p-title">经度</div>
|
<el-input v-model="deviceForm.longitude" placeholder="" size="small"></el-input>
|
</el-form-item>
|
<el-form-item prop="org">
|
<div class="p-title">纬度</div>
|
<el-input v-model="deviceForm.latitude" placeholder="" size="small"></el-input>
|
</el-form-item>
|
<el-form-item prop="org">
|
<div class="p-title">备注</div>
|
<el-input v-model="deviceForm.desc" placeholder="" size="small"></el-input>
|
</el-form-item>
|
</el-form>
|
<div class="btns">
|
<div class="ok" @click="saveDevice()">保存</div>
|
</div>
|
</div>
|
|
<div class="cluster-right" v-if="config=='report'">
|
<el-form :model="reportForm" :rules="rules" ref="reportForm">
|
<el-form-item prop="devId">
|
<div class="p-title">云服接口</div>
|
<el-input v-model="reportForm.serverAddr" size="small"></el-input>
|
</el-form-item>
|
<el-form-item prop="name">
|
<div class="p-title">上报间隔</div>
|
<el-input v-model.number="reportForm.interval" placeholder="" size="small">
|
<template slot="append">秒</template>
|
</el-input>
|
</el-form-item >
|
</el-form>
|
<div class="btns">
|
<div class="ok" @click="saveReport()">保存</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import {
|
getDeviceClientInfo,
|
setDeviceClientInfo,
|
getDeviceReportConfig,
|
setDeviceReportConfig
|
} from "@/api/device"
|
|
export default {
|
props: {
|
config: {
|
type: String,
|
defalut: ""
|
},
|
},
|
data() {
|
return {
|
deviceForm: {
|
},
|
reportForm: {
|
},
|
rules: {
|
},
|
}
|
},
|
mounted() {
|
this.findDeviceConf();
|
this.findReportConf();
|
},
|
methods: {
|
saveDevice() {
|
this.$refs["deviceForm"].validate(async (valid) => {
|
if (valid) {
|
let res = await setDeviceClientInfo(this.deviceForm)
|
if (res && res.success) {
|
this.$message.success("保存成功")
|
}
|
} else {
|
return false
|
}
|
})
|
},
|
|
saveReport() {
|
this.$refs["reportForm"].validate(async (valid) => {
|
if (valid) {
|
let res = await setDeviceReportConfig(this.reportForm)
|
if (res && res.success) {
|
this.$message.success("保存成功")
|
}
|
} else {
|
return false
|
}
|
})
|
},
|
async findDeviceConf() {
|
let res = await getDeviceClientInfo()
|
if (res && res.success) {
|
this.deviceForm = res.data
|
}
|
},
|
async findReportConf() {
|
let res = await getDeviceReportConfig()
|
if (res && res.success) {
|
this.reportForm = res.data
|
}
|
}
|
}
|
}
|
</script>
|
<style lang="scss" scoped>
|
.device-manage {
|
width: 100%;
|
background: #f2f2f7;
|
}
|
|
</style>
|