|
|
|
|
@ -24,7 +24,6 @@
|
|
|
|
|
clearable
|
|
|
|
|
filterable
|
|
|
|
|
:placeholder="t('DataCollection.DeviceModel.placeholderAttributeType')"
|
|
|
|
|
class="!w-180px"
|
|
|
|
|
@change="handleAttributeTypeChange"
|
|
|
|
|
>
|
|
|
|
|
<el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
|
|
@ -47,28 +46,31 @@
|
|
|
|
|
v-model="formData.address"
|
|
|
|
|
:placeholder="t('DataCollection.DeviceModel.placeholderAddress')" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item :label="t('DataCollection.DeviceModel.dataUnit')" prop="dataUnit">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="formData.dataUnit"
|
|
|
|
|
:placeholder="t('DataCollection.DeviceModel.placeholderDataUnit')">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="dict in getStrDictOptions(DICT_TYPE.IOT_DEVICE_ATTRIBUTE_UNIT)"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.label"
|
|
|
|
|
:value="dict.value"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
<el-select v-model="formData.dataUnit" clearable :placeholder="t('DataCollection.DeviceModel.placeholderDataUnit')" class="w-1/1">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="unit in unitList"
|
|
|
|
|
:key="unit.id"
|
|
|
|
|
:label="unit.name"
|
|
|
|
|
:value="unit.id"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item :label="t('DataCollection.DeviceModel.ratio')" prop="ratio">
|
|
|
|
|
<el-input
|
|
|
|
|
<el-input-number
|
|
|
|
|
v-model="formData.ratio"
|
|
|
|
|
:placeholder="t('DataCollection.DeviceModel.placeholderRatio')" />
|
|
|
|
|
:placeholder="t('DataCollection.DeviceModel.placeholderRatio')"
|
|
|
|
|
:min="0.00"
|
|
|
|
|
:decision="2"
|
|
|
|
|
:step="0.01"
|
|
|
|
|
class="!w-full"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item :label="t('DataCollection.DeviceModel.remark')" prop="remark">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="formData.remark"
|
|
|
|
|
:placeholder="t('DataCollection.DeviceModel.placeholderAttributeRemark')" />
|
|
|
|
|
:placeholder="t('DataCollection.DeviceModel.placeholderAttributeRemark')"
|
|
|
|
|
type="textarea"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
<template #footer>
|
|
|
|
|
@ -81,6 +83,7 @@
|
|
|
|
|
import { getStrDictOptions, DICT_TYPE } from '@/utils/dict'
|
|
|
|
|
import { DeviceModelAttributeApi } from '@/api/iot/devicemodelattribute'
|
|
|
|
|
import { DeviceAttributeTypeApi, DeviceAttributeTypeVO } from '@/api/iot/deviceattributetype'
|
|
|
|
|
import { ProductUnitApi, ProductUnitVO } from '@/api/erp/product/unit'
|
|
|
|
|
|
|
|
|
|
/** 采集设备模型-点位管理 表单 */
|
|
|
|
|
defineOptions({ name: 'DeviceModelAttributeForm' })
|
|
|
|
|
@ -125,6 +128,7 @@ const formRules = reactive({
|
|
|
|
|
attributeName: [{ required: true, message: t('DataCollection.DeviceModel.validatorAttributeNameRequired'), trigger: 'blur' }],
|
|
|
|
|
})
|
|
|
|
|
const formRef = ref() // 表单 Ref
|
|
|
|
|
const unitList = ref<ProductUnitVO[]>([]) // 产品单位列表
|
|
|
|
|
|
|
|
|
|
/** 打开弹窗 */
|
|
|
|
|
const open = async (type: string, id: number, modelId: number) => {
|
|
|
|
|
@ -133,8 +137,9 @@ const open = async (type: string, id: number, modelId: number) => {
|
|
|
|
|
formType.value = type
|
|
|
|
|
resetForm()
|
|
|
|
|
await loadTypeList()
|
|
|
|
|
// 产品单位
|
|
|
|
|
unitList.value = await ProductUnitApi.getProductUnitSimpleList()
|
|
|
|
|
formData.value.deviceModelId = modelId
|
|
|
|
|
// 修改时,设置数据
|
|
|
|
|
if (id) {
|
|
|
|
|
formLoading.value = true
|
|
|
|
|
try {
|
|
|
|
|
|