style:采集设备模型/采集设备-添加点位类型名称字段入参

liutao_branch
黄伟杰 4 months ago
parent ccdc91aa76
commit 1038b701ee

@ -24,8 +24,9 @@
clearable clearable
filterable filterable
placeholder="请选择点位类型" placeholder="请选择点位类型"
@change="handleAttributeTypeChange"
> >
<el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.name" /> <el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="数据类型" prop="dataType"> <el-form-item label="数据类型" prop="dataType">
@ -95,7 +96,8 @@ const formData = ref({
id: undefined as number | undefined, id: undefined as number | undefined,
attributeCode: undefined as string | undefined, attributeCode: undefined as string | undefined,
attributeName: undefined as string | undefined, attributeName: undefined as string | undefined,
attributeType: undefined as string | undefined, attributeType: undefined as number | undefined,
typeName: undefined as string | undefined,
dataType: undefined as string | undefined, dataType: undefined as string | undefined,
address: undefined as string | undefined, address: undefined as string | undefined,
dataUnit: undefined as string | undefined, dataUnit: undefined as string | undefined,
@ -140,6 +142,13 @@ const handleSortInput = (val: string) => {
formData.value.sort = val?.replace(/\D/g, '') formData.value.sort = val?.replace(/\D/g, '')
} }
const handleAttributeTypeChange = (val: number | string) => {
const matched = typeList.value.find(
(item) => item.id === val || String(item.id) === String(val)
)
formData.value.typeName = matched?.name
}
const formRules = reactive({ const formRules = reactive({
attributeCode: [ attributeCode: [
{ required: true, message: '点位编码不能为空', trigger: 'blur' }, { required: true, message: '点位编码不能为空', trigger: 'blur' },
@ -196,6 +205,7 @@ const buildSubmitData = () => {
attributeCode, attributeCode,
attributeName, attributeName,
attributeType, attributeType,
typeName,
dataType, dataType,
address, address,
dataUnit, dataUnit,
@ -215,6 +225,7 @@ const buildSubmitData = () => {
attributeCode, attributeCode,
attributeName, attributeName,
attributeType, attributeType,
typeName,
dataType, dataType,
address, address,
dataUnit, dataUnit,
@ -255,13 +266,14 @@ const open = async (type: string, id?: number, deviceId: number) => {
if (currentType !== undefined && currentType !== null && currentType !== '') { if (currentType !== undefined && currentType !== null && currentType !== '') {
const matched = typeList.value.find( const matched = typeList.value.find(
(item) => (item) =>
item.name === currentType ||
item.id === currentType || item.id === currentType ||
item.code === currentType || String(item.id) === String(currentType) ||
String(item.id) === String(currentType) item.name === currentType ||
item.code === currentType
) )
if (matched?.name) { if (matched) {
;(formData.value as any).attributeType = matched.name ;(formData.value as any).attributeType = matched.id
;(formData.value as any).typeName = matched.name
} }
} }
} finally { } finally {
@ -302,6 +314,7 @@ const resetForm = () => {
attributeCode: undefined, attributeCode: undefined,
attributeName: undefined, attributeName: undefined,
attributeType: undefined, attributeType: undefined,
typeName: undefined,
dataType: undefined, dataType: undefined,
address: undefined, address: undefined,
dataUnit: undefined, dataUnit: undefined,

@ -20,6 +20,7 @@
filterable filterable
placeholder="请选择点位类型" placeholder="请选择点位类型"
class="!w-180px" class="!w-180px"
@change="handleAttributeTypeChange"
> >
<el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id" /> <el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id" />
</el-select> </el-select>
@ -96,6 +97,7 @@ const formData = ref({
attributeCode: undefined, attributeCode: undefined,
attributeName: undefined, attributeName: undefined,
attributeType: undefined, attributeType: undefined,
typeName: undefined,
dataType: undefined, dataType: undefined,
address: undefined, address: undefined,
dataUnit: undefined, dataUnit: undefined,
@ -122,6 +124,21 @@ const open = async (type: string, id: number, modelId: number) => {
formLoading.value = true formLoading.value = true
try { try {
formData.value = await DeviceModelAttributeApi.getDeviceModelAttribute(id) formData.value = await DeviceModelAttributeApi.getDeviceModelAttribute(id)
const currentType = (formData.value as any)?.attributeType
if (currentType !== undefined && currentType !== null && currentType !== '') {
const matched = typeList.value.find(
(item) =>
item.id === currentType ||
String(item.id) === String(currentType) ||
item.name === currentType ||
item.code === currentType
)
if (matched) {
;(formData.value as any).attributeType = matched.id
;(formData.value as any).typeName = matched.name
}
}
} finally { } finally {
formLoading.value = false formLoading.value = false
} }
@ -153,6 +170,13 @@ const submitForm = async () => {
} }
} }
const handleAttributeTypeChange = (val: number | string) => {
const matched = typeList.value.find(
(item) => item.id === val || String(item.id) === String(val)
)
;(formData.value as any).typeName = matched?.name
}
/** 重置表单 */ /** 重置表单 */
const resetForm = () => { const resetForm = () => {
formData.value = { formData.value = {
@ -160,6 +184,7 @@ const resetForm = () => {
attributeCode: undefined, attributeCode: undefined,
attributeName: undefined, attributeName: undefined,
attributeType: undefined, attributeType: undefined,
typeName: undefined,
dataType: undefined, dataType: undefined,
address: undefined, address: undefined,
dataUnit: undefined, dataUnit: undefined,

@ -94,10 +94,6 @@ const render = (data: any = []) => {
y = [] y = []
} }
// 使
// APImockfallback
//
chart.setOption({ chart.setOption({
backgroundColor: 'transparent', backgroundColor: 'transparent',
tooltip: { trigger: 'axis' }, tooltip: { trigger: 'axis' },

Loading…
Cancel
Save