物模型:新增字段 是否可见visbile 数据类型dataType

This commit is contained in:
高云鹏 2024-10-17 17:09:11 +08:00
parent a0f22756d3
commit cd3bc0a045
3 changed files with 66 additions and 20 deletions

View File

@ -6,12 +6,13 @@ VITE_BASE_PATH = './'
# 代理配置(开发使用),必须在一行中
# 本地
# VITE_APP_PROXY=[["/api","http://10.65.57.55:8080/api"]]
# VITE_APP_PROXY=[["/api","http://192.168.130.12:8080/api"]]
# 线上
VITE_APP_PROXY=[["/api","https://test.jsspisoft.com/api"]]
# 开发环境下跨域代理请输入要跨域的api地址 - 尾部无需带'/'
# VITE_PROXY_URL = 'http://localhost:8000'
VITE_AXIOS_BASE_URL = 'http://localhost:1818'

View File

@ -185,13 +185,28 @@
<el-form-item :label="ModelAttributeFieldsEnums['attributeCode']" prop="attributeCode">
<el-input v-model="attributeForm.attributeCode" :placeholder="'请输入' + ModelAttributeFieldsEnums['attributeCode']"></el-input>
</el-form-item>
<div class="formRowStyle">
<el-form-item :label="ModelAttributeFieldsEnums['attributeTypeName']" prop="attributeType">
<el-select v-model="attributeForm.attributeType" :placeholder="'请选择' + ModelAttributeFieldsEnums['attributeTypeName']">
<el-select
v-model="attributeForm.attributeType"
:placeholder="'请选择' + ModelAttributeFieldsEnums['attributeTypeName']"
@change="attributeTypeChange"
>
<el-option label="模拟量" :value="138"></el-option>
<el-option label="累积量" :value="139"></el-option>
<el-option label="离散量" :value="140"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="ModelAttributeFieldsEnums['dataType']" prop="dataType">
<el-select
:disabled="!attributeForm.attributeType || attributeForm.attributeType === 140"
v-model="attributeForm.dataType"
:placeholder="'请选择' + ModelAttributeFieldsEnums['dataType']"
>
<el-option v-for="v in attributeFormDataTypeOptions" :key="v.value" :label="v.value" :value="v.value"></el-option>
</el-select>
</el-form-item>
</div>
<el-form-item :label="ModelAttributeFieldsEnums['porder']" prop="porder">
<el-input v-model="attributeForm.porder" :placeholder="'请输入' + ModelAttributeFieldsEnums['porder']"></el-input>
</el-form-item>
@ -201,6 +216,9 @@
<el-form-item :label="ModelAttributeFieldsEnums['highSpeed']" prop="highSpeed">
<el-checkbox v-model="attributeForm.highSpeed"></el-checkbox>
</el-form-item>
<el-form-item :label="ModelAttributeFieldsEnums['visible']" prop="visible">
<el-checkbox v-model="attributeForm.visible"></el-checkbox>
</el-form-item>
</el-form>
<template #footer>
<el-button type="primary" @click="submitAttributeForm">提交</el-button>
@ -278,7 +296,9 @@ import {
ModelAttributeTableType,
ModelServiceTableType,
ModelServiceFieldsEnums,
ModelAttributeType,
AttributeDialogTitleStateType,
attributeTypeDataType,
serviceDialogTitleStateType,
GetModelServiceType,
GetModelAttributeType,
@ -533,6 +553,7 @@ const getAttributeList = (type?: radioGroupType, value?: string) => {
? '离散量'
: item.attributeType!,
highSpeed: item.highSpeed === 1,
visible: item.visible === 1,
}
})
pageTotal.value = res.total
@ -607,6 +628,12 @@ const delServiceForm = (data: AddModelServiceType & UpdateModelServiceType) => {
const attributeVisible = ref(false)
const attributeFormTitle = ref(AttributeDialogTitleStateType['add'])
const attributeFormDataTypeOptions: { value: attributeTypeDataType }[] = [
{ value: 'int4' },
{ value: 'int8' },
{ value: 'float4' },
{ value: 'float8' },
]
const originAttributeForm: AddModelAttributeType & UpdateModelAttributeType = {
id: null,
iotModelId: '',
@ -615,7 +642,9 @@ const originAttributeForm: AddModelAttributeType & UpdateModelAttributeType = {
attributeType: null,
porder: null,
highSpeed: false,
subsystem:'',
subsystem: '',
dataType: '',
visible: true,
revision: 1,
createdBy: undefined,
createdTime: undefined,
@ -625,6 +654,12 @@ const originAttributeForm: AddModelAttributeType & UpdateModelAttributeType = {
const attributeFormRef = ref<FormInstance>()
const attributeForm = ref<AddModelAttributeType & UpdateModelAttributeType>(JSON.parse(JSON.stringify(originAttributeForm)))
const attributeTypeChange = (value: ModelAttributeType) => {
if (value === 140) {
attributeForm.value.dataType = ''
}
}
const closeAttributeForm = () => {
attributeVisible.value = false
attributeForm.value = JSON.parse(JSON.stringify(originAttributeForm))
@ -633,11 +668,12 @@ const closeAttributeForm = () => {
const submitAttributeForm = () => {
attributeFormRef.value?.validate((valid: boolean) => {
if (valid) {
const copyFormData = JSON.parse(JSON.stringify(attributeForm.value))
copyFormData.highSpeed = copyFormData.highSpeed ? 1 : 0
copyFormData.visible = copyFormData.visible ? 1 : 0
if (attributeFormTitle.value === AttributeDialogTitleStateType['add']) {
const addFormData = JSON.parse(JSON.stringify(attributeForm.value))
addFormData.iotModelId = curContextMenuTreeData.value!.id!
addFormData.highSpeed = addFormData.highSpeed ? 1 : 0
addModelAttributeReq(addFormData)
copyFormData.iotModelId = curContextMenuTreeData.value!.id!
addModelAttributeReq(copyFormData)
.then((res) => {
if (res.success) {
ElMessage.success('新增物模型属性成功')
@ -651,9 +687,7 @@ const submitAttributeForm = () => {
ElMessage.error(err?.response?.data?.msg ?? '新增失败')
})
} else if (attributeFormTitle.value === AttributeDialogTitleStateType['edit']) {
const updateForm = JSON.parse(JSON.stringify(attributeForm.value))
updateForm.highSpeed = updateForm.highSpeed ? 1 : 0
updateModelAttributeReq(updateForm)
updateModelAttributeReq(copyFormData)
.then((res) => {
if (res.success) {
ElMessage.success('修改物模型属性成功')
@ -964,4 +998,10 @@ $paginationHeight: 32px;
}
}
}
.formRowStyle {
display: flex;
.el-select {
width: 184px;
}
}
</style>

View File

@ -62,8 +62,10 @@ export enum ModelAttributeFieldsEnums {
'attributeType' = '属性类型value',
'attributeTypeName' = '属性类型',
'porder' = '序号',
'highSpeed'='是否高频',
'subsystem'='子系统',
'highSpeed' = '是否高频',
'subsystem' = '子系统',
'dataType' = '数据类型',
'visible'='是否可见',
'revision' = '乐观锁',
'createdBy' = '创建人',
'createdTime' = '创建时间',
@ -94,14 +96,17 @@ export type GetModelAttributeType = {
pageNum: number
}
export type attributeTypeDataType = 'int4' | 'int8' | 'float4' | 'float8'
export type AddModelAttributeType = {
iotModelId: string
attributeCode: string
attributeName: string
attributeType: ModelAttributeType | null
porder: number | null
highSpeed:0|1|boolean
subsystem:string
highSpeed: 0 | 1 | boolean
subsystem: string
dataType: ''
visible: 0 | 1 | boolean
revision: number
createdBy?: string
createdTime?: string