|
@@ -15,6 +15,21 @@
|
|
|
</div>
|
|
|
<div class="base-expandable-content" :class="{ 'is-expanded': baseIsExpanded }">
|
|
|
<el-row>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item :label="t('iotDevice.yfClass')" prop="yfClass">
|
|
|
+ <el-cascader
|
|
|
+ style="width: 100%"
|
|
|
+ v-model="formData.yfClass"
|
|
|
+ :options="yfclasses"
|
|
|
+ :props="{ expandTrigger: 'hover' }"
|
|
|
+ @change="handleYfClassChange" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item :label="t('iotDevice.yfCode')" prop="yfCode">
|
|
|
+ <el-input v-model="formData.yfCode" placeholder="请输入油服设备编码" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item :label="t('iotDevice.code')" prop="deviceCode">
|
|
|
<el-input v-model="formData.deviceCode" :disabled="formType==='update'" placeholder="请输入设备编码" />
|
|
@@ -22,7 +37,6 @@
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item :label="t('iotDevice.name')" prop="deviceName">
|
|
|
-<!-- <el-input v-model="formData.deviceName" placeholder="请输入设备名称" />-->
|
|
|
<lang-input v-model="formData.deviceName" placeholder="请输入设备名称" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -381,6 +395,7 @@ import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
|
|
|
import { useTagsViewStore } from '@/store/modules/tagsView'
|
|
|
import {DeviceAttrModelApi} from "@/api/pms/deviceattrmodel";
|
|
|
import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
|
|
|
+import {IotYfClassifyApi} from "@/api/pms/yfclass";
|
|
|
|
|
|
/** 设备台账 表单 */
|
|
|
defineOptions({ name: 'DeviceDetailAdd' })
|
|
@@ -409,8 +424,11 @@ const formType = ref('') // 表单的类型:create - 新增;update - 修改
|
|
|
const brandLabel = ref('') // 表单的类型:create - 新增;update - 修改
|
|
|
const zzLabel = ref('') // 表单的类型:create - 新增;update - 修改
|
|
|
const supplierLabel = ref('') // 表单的类型:create - 新增;update - 修改
|
|
|
+const yfclasses = ref([])
|
|
|
const formData = ref({
|
|
|
id: undefined,
|
|
|
+ yfClass: undefined,
|
|
|
+ yfCode: undefined,
|
|
|
enableDate: undefined,
|
|
|
deviceCode: undefined,
|
|
|
deviceName: undefined,
|
|
@@ -447,6 +465,8 @@ const formData = ref({
|
|
|
assetClass: undefined
|
|
|
})
|
|
|
const formRules = reactive({
|
|
|
+ yfClass: [{ required: true, message: '编码类别不能为空', trigger: 'blur' }],
|
|
|
+ yfCode: [{ required: true, message: '油服编码不能为空', trigger: 'blur' }],
|
|
|
assetClass: [{ required: true, message: '资产类别不能为空', trigger: 'blur' }],
|
|
|
deviceCode: [{ required: true, message: '设备编码不能为空', trigger: 'blur' }],
|
|
|
deviceName: [{ required: true, message: '设备名称不能为空', trigger: 'blur' }],
|
|
@@ -459,7 +479,12 @@ const formRules = reactive({
|
|
|
})
|
|
|
|
|
|
const list = ref([])
|
|
|
-
|
|
|
+const handleYfClassChange = async (value) =>{
|
|
|
+ console.log(value)
|
|
|
+ const prefix = value.join('')
|
|
|
+ const last = await IotDeviceApi.getMaxCode(prefix)
|
|
|
+ formData.value.yfCode = prefix+last
|
|
|
+}
|
|
|
const assetclasschange = () => {
|
|
|
const assetClass = formData.value.assetClass
|
|
|
DeviceAttrModelApi.getDeviceAttrModelListByDeviceCategoryId(assetClass).then(res => {
|
|
@@ -600,6 +625,7 @@ const submitForm = async () => {
|
|
|
}))
|
|
|
formData.value.templateJson = JSON.stringify(list.value)
|
|
|
}
|
|
|
+ formData.value.yfClass = formData.value.yfClass.join('');
|
|
|
const data = formData.value as unknown as IotDeviceVO
|
|
|
if (formType.value === 'create') {
|
|
|
await IotDeviceApi.createIotDevice(data)
|
|
@@ -650,6 +676,9 @@ onMounted(async () => {
|
|
|
}
|
|
|
formType.value = 'create';
|
|
|
}
|
|
|
+ await IotYfClassifyApi.getChildrenList().then(res => {
|
|
|
+ yfclasses.value = res
|
|
|
+ });
|
|
|
})
|
|
|
/** 重置表单 */
|
|
|
const resetForm = () => {
|