You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
136 lines
3.8 KiB
Vue
136 lines
3.8 KiB
Vue
5 months ago
|
<template>
|
||
|
<div>
|
||
|
<el-form-item label="设备">
|
||
|
<el-select v-model="form.deviceId" placeholder="请选择" @change="setDeviceId">
|
||
|
<el-option
|
||
|
v-for="item in deviceList"
|
||
|
:key="item.deviceId"
|
||
|
:label="item.deviceName"
|
||
|
:value="item.deviceId">
|
||
|
</el-option>
|
||
|
</el-select>
|
||
|
</el-form-item>
|
||
|
<el-form-item label="deviceModeId" v-show="false">
|
||
|
<el-input
|
||
|
v-model="form.deviceModeId">
|
||
|
</el-input>
|
||
|
</el-form-item>
|
||
|
<el-form-item label="设备属性">
|
||
|
<el-select v-model="form.functionIdentifier" placeholder="请选择">
|
||
|
<el-option
|
||
|
v-for="item in deviceFunList"
|
||
|
:key="item.functionIdentifier"
|
||
|
:label="item.functionName"
|
||
|
:value="item.functionIdentifier">
|
||
|
</el-option>
|
||
|
</el-select>
|
||
|
</el-form-item>
|
||
|
<el-form-item label="数据间隔">
|
||
|
<el-select v-model="form.interval" placeholder="请选择" @change="changeInterval">
|
||
|
<el-option
|
||
|
v-for="item in intervalOption"
|
||
|
:key="item.value"
|
||
|
:label="item.label"
|
||
|
:value="item.value">
|
||
|
</el-option>
|
||
|
</el-select>
|
||
|
</el-form-item>
|
||
|
<el-form-item label="时间周期">
|
||
|
<el-date-picker
|
||
|
@change="timeChange"
|
||
|
v-model="time"
|
||
|
type="datetimerange"
|
||
|
range-separator="至"
|
||
|
start-placeholder="开始日期"
|
||
|
end-placeholder="结束日期">
|
||
|
</el-date-picker>
|
||
|
</el-form-item>
|
||
|
</div>
|
||
|
</template>
|
||
|
<script>
|
||
|
|
||
|
|
||
|
import {getDeviceFunctions, getDeviceList} from "@/api/configure/configuration/equipment";
|
||
|
|
||
|
export default {
|
||
|
props: ['form'],
|
||
|
data() {
|
||
|
return {
|
||
|
time: [],
|
||
|
deviceList: [],
|
||
|
deviceFunList: [],
|
||
|
intervalOption: [
|
||
|
{
|
||
|
label: '时',
|
||
|
value: '1',
|
||
|
default: 1
|
||
|
},
|
||
|
{
|
||
|
label: '日',
|
||
|
value: '2',
|
||
|
default: 24
|
||
|
},
|
||
|
{
|
||
|
label: '周',
|
||
|
value: '3',
|
||
|
default: 7
|
||
|
},
|
||
|
{
|
||
|
label: '月',
|
||
|
value: '4',
|
||
|
default: 30
|
||
|
},
|
||
|
{
|
||
|
label: '年',
|
||
|
value: '5',
|
||
|
default: 12
|
||
|
},
|
||
|
],
|
||
|
}
|
||
|
},
|
||
|
mounted() {
|
||
|
getDeviceList().then(e => {
|
||
|
this.deviceList = e.rows
|
||
|
})
|
||
|
},
|
||
|
methods: {
|
||
|
setDeviceId(e) {
|
||
|
let modelId = this.deviceList.find(v => v.deviceId === e).deviceModeId
|
||
|
this.$set(this.form, 'deviceModeId', modelId)
|
||
|
console.log(modelId)
|
||
|
getDeviceFunctions(modelId).then(v => {
|
||
|
this.deviceFunList = v.data
|
||
|
})
|
||
|
},
|
||
|
timeChange() {
|
||
|
this.$set(this.form, 'startTime', new Date(this.time[0]).getTime())
|
||
|
this.$set(this.form, 'endTime', new Date(this.time[1]).getTime())
|
||
|
},
|
||
|
changeInterval(e) {
|
||
|
let data = this.intervalOption.find(v => v.value === e)
|
||
|
this.$set(this.form, 'intervalType', data.default)
|
||
|
if (e === '1') {
|
||
|
this.time = [this.$parseTime(new Date().getTime() - (1000 * 60 * 60 * 24)), this.$parseTime(new Date())]
|
||
|
}
|
||
|
if (e === '2') {
|
||
|
this.time = [this.$parseTime(new Date().getTime() - (1000 * 60 * 60 * 24)), this.$parseTime(new Date())]
|
||
|
}
|
||
|
if (e === '3') {
|
||
|
this.time = [this.$parseTime(new Date().getTime() - (1000 * 60 * 60 * 24 * 7)), this.$parseTime(new Date())]
|
||
|
}
|
||
|
if (e === '4') {
|
||
|
this.time = [this.$parseTime(new Date().getTime() - (1000 * 60 * 60 * 24 * 30)), this.$parseTime(new Date())]
|
||
|
}
|
||
|
if (e === '5') {
|
||
|
this.time = [this.$parseTime(new Date().getTime() - (1000 * 60 * 60 * 24 * 365)), this.$parseTime(new Date())]
|
||
|
}
|
||
|
this.$set(this.form, 'startTime', new Date(this.time[0]).getTime())
|
||
|
this.$set(this.form, 'endTime', new Date(this.time[1]).getTime())
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<style>
|
||
|
</style>
|