|
@@ -1,7 +1,7 @@
|
|
<template>
|
|
<template>
|
|
<xn-form-container
|
|
<xn-form-container
|
|
:title="formData.id ? '编辑采集器' : '新增采集器'"
|
|
:title="formData.id ? '编辑采集器' : '新增采集器'"
|
|
- :width="'500px'"
|
|
|
|
|
|
+ :width="'800px'"
|
|
:visible="visible"
|
|
:visible="visible"
|
|
:destroy-on-close="true"
|
|
:destroy-on-close="true"
|
|
@close="onClose"
|
|
@close="onClose"
|
|
@@ -13,35 +13,127 @@
|
|
layout="inline"
|
|
layout="inline"
|
|
:label-col="{ style: { width: '100px', justifyContent: 'end' } }"
|
|
:label-col="{ style: { width: '100px', justifyContent: 'end' } }"
|
|
>
|
|
>
|
|
- <a-form-item label="设备名称" name="deviceName">
|
|
|
|
- <a-input v-model:value="formData.deviceName" placeholder="请输入设备名称" allow-clear />
|
|
|
|
- </a-form-item>
|
|
|
|
- <a-form-item label="设备编号" name="deviceCode">
|
|
|
|
- <a-input v-model:value="formData.deviceCode" placeholder="请输入设备编号" allow-clear />
|
|
|
|
- </a-form-item>
|
|
|
|
- <a-form-item label="设备型号" name="modelName">
|
|
|
|
- <a-select ref="select" v-model:value="formData.modelName" :options="modeOptions"> </a-select>
|
|
|
|
- </a-form-item>
|
|
|
|
- <a-form-item label="设备状态" name="status">
|
|
|
|
- <a-select ref="select" v-model:value="formData.status">
|
|
|
|
- <a-select-option value="1">正常</a-select-option>
|
|
|
|
- <a-select-option value="2">闲置</a-select-option>
|
|
|
|
- </a-select>
|
|
|
|
- </a-form-item>
|
|
|
|
- <a-form-item label="传感器路数" name="sensorCount">
|
|
|
|
- <a-input-number
|
|
|
|
- v-model:value="formData.sensorCount"
|
|
|
|
- placeholder="请输入传感器路数"
|
|
|
|
- allow-clear
|
|
|
|
- :min="1"
|
|
|
|
- :max="100000"
|
|
|
|
- style="width: 100%"
|
|
|
|
- :precision="0"
|
|
|
|
- />
|
|
|
|
- </a-form-item>
|
|
|
|
- <a-form-item label="排序:" name="sortCode">
|
|
|
|
- <a-input-number class="xn-wd" v-model:value="formData.sortCode" :max="100" />
|
|
|
|
- </a-form-item>
|
|
|
|
|
|
+ <a-row :gutter="10">
|
|
|
|
+ <a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
|
+ <a-form-item label="设备名称" name="deviceName">
|
|
|
|
+ <a-input v-model:value="formData.deviceName" placeholder="请输入设备名称" allow-clear />
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </a-col>
|
|
|
|
+ <a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
|
+ <a-form-item label="设备编号" name="deviceCode">
|
|
|
|
+ <a-input v-model:value="formData.deviceCode" placeholder="请输入设备编号" allow-clear />
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </a-col>
|
|
|
|
+ <a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
|
+ <a-form-item label="设备型号" name="modelName">
|
|
|
|
+ <a-select
|
|
|
|
+ ref="select"
|
|
|
|
+ v-model:value="formData.modelName"
|
|
|
|
+ :options="modeOptions"
|
|
|
|
+ placeholder="请选择设备型号"
|
|
|
|
+ @change="modelNameChange"
|
|
|
|
+ />
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </a-col>
|
|
|
|
+ <a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
|
+ <a-form-item label="设备状态" name="status">
|
|
|
|
+ <a-select ref="select" v-model:value="formData.status" placeholder="请选择设备状态">
|
|
|
|
+ <a-select-option value="1">正常</a-select-option>
|
|
|
|
+ <a-select-option value="2">闲置</a-select-option>
|
|
|
|
+ </a-select>
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </a-col>
|
|
|
|
+ <a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
|
+ <a-form-item label="温度上限" name="temperatureUp">
|
|
|
|
+ <a-input-number
|
|
|
|
+ id="inputNumber"
|
|
|
|
+ v-model:value="formData.temperatureUp"
|
|
|
|
+ placeholder="请输入温度上限"
|
|
|
|
+ allow-clear
|
|
|
|
+ disabled
|
|
|
|
+ style="width: 100%"
|
|
|
|
+ />
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </a-col>
|
|
|
|
+ <a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
|
+ <a-form-item label="温度下限" name="temperatureDown">
|
|
|
|
+ <a-input-number
|
|
|
|
+ id="inputNumber"
|
|
|
|
+ v-model:value="formData.temperatureDown"
|
|
|
|
+ placeholder="请输入温度下限"
|
|
|
|
+ allow-clear
|
|
|
|
+ disabled
|
|
|
|
+ style="width: 100%"
|
|
|
|
+ />
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </a-col>
|
|
|
|
+ <a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
|
+ <a-form-item label="湿度上限" name="humidityUp">
|
|
|
|
+ <a-input-number
|
|
|
|
+ id="inputNumber"
|
|
|
|
+ v-model:value="formData.humidityUp"
|
|
|
|
+ placeholder="请输入湿度上限"
|
|
|
|
+ allow-clear
|
|
|
|
+ disabled
|
|
|
|
+ style="width: 100%"
|
|
|
|
+ />
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </a-col>
|
|
|
|
+ <a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
|
+ <a-form-item label="湿度下限" name="humidityDown">
|
|
|
|
+ <a-input-number
|
|
|
|
+ id="inputNumber"
|
|
|
|
+ v-model:value="formData.humidityDown"
|
|
|
|
+ placeholder="请输入湿度下限"
|
|
|
|
+ allow-clear
|
|
|
|
+ disabled
|
|
|
|
+ style="width: 100%"
|
|
|
|
+ />
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </a-col>
|
|
|
|
+ <a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
|
+ <a-form-item label="CO2上限" name="co2Up">
|
|
|
|
+ <a-input-number
|
|
|
|
+ id="inputNumber"
|
|
|
|
+ v-model:value="formData.co2Up"
|
|
|
|
+ placeholder="请输入CO2上限"
|
|
|
|
+ allow-clear
|
|
|
|
+ disabled
|
|
|
|
+ style="width: 100%"
|
|
|
|
+ />
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </a-col>
|
|
|
|
+ <a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
|
+ <a-form-item label="CO2下限" name="co2Down">
|
|
|
|
+ <a-input-number
|
|
|
|
+ id="inputNumber"
|
|
|
|
+ v-model:value="formData.co2Down"
|
|
|
|
+ placeholder="请输入CO2下限"
|
|
|
|
+ allow-clear
|
|
|
|
+ disabled
|
|
|
|
+ style="width: 100%"
|
|
|
|
+ />
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </a-col>
|
|
|
|
+ <a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
|
+ <a-form-item label="传感器路数" name="sensorCount">
|
|
|
|
+ <a-input-number
|
|
|
|
+ v-model:value="formData.sensorCount"
|
|
|
|
+ placeholder="请输入传感器路数"
|
|
|
|
+ allow-clear
|
|
|
|
+ :min="1"
|
|
|
|
+ :max="sensorRouteMax"
|
|
|
|
+ style="width: 100%"
|
|
|
|
+ :precision="0"
|
|
|
|
+ />
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </a-col>
|
|
|
|
+ <a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
|
+ <a-form-item label="排序:" name="sortCode">
|
|
|
|
+ <a-input-number class="xn-wd" v-model:value="formData.sortCode" :max="100" />
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </a-col>
|
|
|
|
+ </a-row>
|
|
</a-form>
|
|
</a-form>
|
|
|
|
|
|
<template #footer>
|
|
<template #footer>
|
|
@@ -52,24 +144,56 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
- import tool from '@/utils/tool'
|
|
|
|
import { required } from '@/utils/formRules'
|
|
import { required } from '@/utils/formRules'
|
|
|
|
+ import devicetypeApi from '@/api/basicset/devicetypeApi'
|
|
import memApi from '@/api/basicset/memApi'
|
|
import memApi from '@/api/basicset/memApi'
|
|
const emit = defineEmits({ successful: null })
|
|
const emit = defineEmits({ successful: null })
|
|
const visible = ref(false) // 默认是关闭状态
|
|
const visible = ref(false) // 默认是关闭状态
|
|
const formRef = ref()
|
|
const formRef = ref()
|
|
const formData = ref({ sortCode: 99 }) // 表单数据
|
|
const formData = ref({ sortCode: 99 }) // 表单数据
|
|
- const modeOptions = tool.dictList('COIDCHAIN') // 设备型号
|
|
|
|
|
|
+ const modeOptions = ref([]) // 设备型号
|
|
|
|
+ const sensorRouteMax = ref(1) //传感器最大值默认1
|
|
|
|
+
|
|
// 默认要校验的
|
|
// 默认要校验的
|
|
const formRules = {
|
|
const formRules = {
|
|
deviceName: [required('请输入设备名称')],
|
|
deviceName: [required('请输入设备名称')],
|
|
deviceCode: [required('请输入设备编号')],
|
|
deviceCode: [required('请输入设备编号')],
|
|
modelName: [required('请选择设备型号')],
|
|
modelName: [required('请选择设备型号')],
|
|
|
|
+ status: [required('请选择设备状态')],
|
|
sensorCount: [required('请输入传感器路数')]
|
|
sensorCount: [required('请输入传感器路数')]
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // 获取设备型号
|
|
|
|
+ const loadData = () => {
|
|
|
|
+ devicetypeApi.devicetypeList().then((res) => {
|
|
|
|
+ modeOptions.value = (res || []).map((item) => {
|
|
|
|
+ return {
|
|
|
|
+ ...item,
|
|
|
|
+ value: item['id'],
|
|
|
|
+ label: item['name']
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 选中设备型号
|
|
|
|
+ const modelNameChange = (value) => {
|
|
|
|
+ if (value) {
|
|
|
|
+ const data = modeOptions.value.find((item) => item.value === value)
|
|
|
|
+ formData.value.temperatureUp = data.temperatureUp
|
|
|
|
+ formData.value.temperatureDown = data.temperatureDown
|
|
|
|
+ formData.value.humidityUp = data.humidityUp
|
|
|
|
+ formData.value.humidityDown = data.humidityDown
|
|
|
|
+ formData.value.co2Up = data.co2Up
|
|
|
|
+ formData.value.co2Down = data.co2Down
|
|
|
|
+ formData.value.sensorCount = data.sensorCount
|
|
|
|
+ sensorRouteMax.value = data.sensorCount
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
// 打开抽屉
|
|
// 打开抽屉
|
|
const onOpen = (record) => {
|
|
const onOpen = (record) => {
|
|
|
|
+ loadData()
|
|
visible.value = true
|
|
visible.value = true
|
|
if (record) {
|
|
if (record) {
|
|
formData.value = Object.assign({}, record)
|
|
formData.value = Object.assign({}, record)
|