物模型页面调整
This commit is contained in:
parent
4ebb3d9d34
commit
0ebec11ab7
@ -3,13 +3,25 @@
|
|||||||
<el-dialog v-model="modelDialogVisible" :title="modelDialogTitle" :width="400" @close="cancelModelForm">
|
<el-dialog v-model="modelDialogVisible" :title="modelDialogTitle" :width="400" @close="cancelModelForm">
|
||||||
<el-form ref="modelFormRef" :model="modelForm" :rules="modelFormRules" label-width="110">
|
<el-form ref="modelFormRef" :model="modelForm" :rules="modelFormRules" label-width="110">
|
||||||
<el-form-item prop="iotModelName" :label="ModelFieldsEnums['iotModelName']">
|
<el-form-item prop="iotModelName" :label="ModelFieldsEnums['iotModelName']">
|
||||||
<el-input :disabled="modelDialogState === ModelDialogTitleStateType['detail']" v-model="modelForm.iotModelName"></el-input>
|
<el-input
|
||||||
|
:disabled="modelDialogState === ModelDialogTitleStateType['detail']"
|
||||||
|
v-model="modelForm.iotModelName"
|
||||||
|
:placeholder="'请输入' + ModelFieldsEnums['iotModelName']"
|
||||||
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="iotModelCode" :label="ModelFieldsEnums['iotModelCode']">
|
<el-form-item prop="iotModelCode" :label="ModelFieldsEnums['iotModelCode']">
|
||||||
<el-input :disabled="modelDialogState === ModelDialogTitleStateType['detail']" v-model="modelForm.iotModelCode"></el-input>
|
<el-input
|
||||||
|
:disabled="modelDialogState === ModelDialogTitleStateType['detail']"
|
||||||
|
v-model="modelForm.iotModelCode"
|
||||||
|
:placeholder="'请输入' + ModelFieldsEnums['iotModelCode']"
|
||||||
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="objectType" :label="ModelFieldsEnums['objectType']">
|
<el-form-item prop="objectType" :label="ModelFieldsEnums['objectType']">
|
||||||
<el-input :disabled="modelDialogState === ModelDialogTitleStateType['detail']" v-model="modelForm.objectType"></el-input>
|
<el-input
|
||||||
|
:disabled="modelDialogState === ModelDialogTitleStateType['detail']"
|
||||||
|
v-model="modelForm.objectType"
|
||||||
|
:placeholder="'请输入' + ModelFieldsEnums['objectType']"
|
||||||
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template #footer v-if="modelDialogState !== ModelDialogTitleStateType['detail']">
|
<template #footer v-if="modelDialogState !== ModelDialogTitleStateType['detail']">
|
||||||
@ -28,17 +40,18 @@
|
|||||||
class="searchModelInput"
|
class="searchModelInput"
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-header>
|
</el-header>
|
||||||
<el-main class="asideMain">
|
<el-main class="treeMain">
|
||||||
<el-tree-v2
|
<el-tree
|
||||||
ref="modelTreeRef"
|
ref="modelTreeRef"
|
||||||
|
node-key="id"
|
||||||
:data="treeData"
|
:data="treeData"
|
||||||
:props="DeviceModelPropReplace"
|
:props="DeviceModelPropReplace"
|
||||||
class="modelTree"
|
class="treePart"
|
||||||
@node-contextmenu="modelContextMenu"
|
@node-contextmenu="modelContextMenu"
|
||||||
@node-click="modelNodeClick"
|
@node-click="modelNodeClick"
|
||||||
highlight-current
|
highlight-current
|
||||||
>
|
>
|
||||||
</el-tree-v2>
|
</el-tree>
|
||||||
</el-main>
|
</el-main>
|
||||||
</el-aside>
|
</el-aside>
|
||||||
<el-container class="mainContainer">
|
<el-container class="mainContainer">
|
||||||
@ -64,7 +77,7 @@
|
|||||||
<el-main class="mainMain">
|
<el-main class="mainMain">
|
||||||
<el-tabs v-model="ModelTabs" @tab-change="changeTabs" class="tabsPart">
|
<el-tabs v-model="ModelTabs" @tab-change="changeTabs" class="tabsPart">
|
||||||
<el-tab-pane :label="modelTabsType['attribute']" name="attribute">
|
<el-tab-pane :label="modelTabsType['attribute']" name="attribute">
|
||||||
<el-table :data="attributeTableData" class="tablePart">
|
<el-table :data="attributeTableData" class="tablePart" highlight-current-row>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="attributeName"
|
prop="attributeName"
|
||||||
:label="ModelAttributeFieldsEnums['attributeName']"
|
:label="ModelAttributeFieldsEnums['attributeName']"
|
||||||
@ -152,22 +165,22 @@
|
|||||||
</template>
|
</template>
|
||||||
</ContextMenu>
|
</ContextMenu>
|
||||||
<el-dialog v-model="attributeVisible" :title="attributeFormTitle" @close="closeAttributeForm" :width="600">
|
<el-dialog v-model="attributeVisible" :title="attributeFormTitle" @close="closeAttributeForm" :width="600">
|
||||||
<el-form ref="attributeFormRef" :model="attributeForm" label-width="100">
|
<el-form ref="attributeFormRef" :model="attributeForm" label-width="100" :rules="attributeAndServiceRules">
|
||||||
<el-form-item :label="ModelAttributeFieldsEnums['attributeName']" prop="attributeName">
|
<el-form-item :label="ModelAttributeFieldsEnums['attributeName']" prop="attributeName">
|
||||||
<el-input v-model="attributeForm.attributeName"></el-input>
|
<el-input v-model="attributeForm.attributeName" :placeholder="'请输入' + ModelAttributeFieldsEnums['attributeName']"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="ModelAttributeFieldsEnums['attributeCode']" prop="attributeCode">
|
<el-form-item :label="ModelAttributeFieldsEnums['attributeCode']" prop="attributeCode">
|
||||||
<el-input v-model="attributeForm.attributeCode"></el-input>
|
<el-input v-model="attributeForm.attributeCode" :placeholder="'请输入' + ModelAttributeFieldsEnums['attributeCode']"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="ModelAttributeFieldsEnums['attributeTypeName']" prop="attributeType">
|
<el-form-item :label="ModelAttributeFieldsEnums['attributeTypeName']" prop="attributeType">
|
||||||
<el-select v-model="attributeForm.attributeType">
|
<el-select v-model="attributeForm.attributeType" :placeholder="'请选择' + ModelAttributeFieldsEnums['attributeTypeName']">
|
||||||
<el-option label="模拟量" :value="138"></el-option>
|
<el-option label="模拟量" :value="138"></el-option>
|
||||||
<el-option label="累积量" :value="139"></el-option>
|
<el-option label="累积量" :value="139"></el-option>
|
||||||
<el-option label="离散量" :value="140"></el-option>
|
<el-option label="离散量" :value="140"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="ModelAttributeFieldsEnums['porder']" prop="porder">
|
<el-form-item :label="ModelAttributeFieldsEnums['porder']" prop="porder">
|
||||||
<el-input v-model="attributeForm.porder"></el-input>
|
<el-input v-model="attributeForm.porder" :placeholder="'请输入' + ModelAttributeFieldsEnums['porder']"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
@ -176,21 +189,21 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<el-dialog v-model="serviceVisible" :title="serviceFormTitle" @close="closeServiceForm" :width="600">
|
<el-dialog v-model="serviceVisible" :title="serviceFormTitle" @close="closeServiceForm" :width="600">
|
||||||
<el-form ref="serviceFormRef" :model="serviceForm" label-width="100">
|
<el-form ref="serviceFormRef" :model="serviceForm" label-width="100" :rules="attributeAndServiceRules">
|
||||||
<el-form-item :label="ModelServiceFieldsEnums['serviceName']" prop="serviceName">
|
<el-form-item :label="ModelServiceFieldsEnums['serviceName']" prop="serviceName">
|
||||||
<el-input v-model="serviceForm.serviceName"></el-input>
|
<el-input v-model="serviceForm.serviceName" :placeholder="'请输入' + ModelServiceFieldsEnums['serviceName']"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="ModelServiceFieldsEnums['serviceCode']" prop="serviceCode">
|
<el-form-item :label="ModelServiceFieldsEnums['serviceCode']" prop="serviceCode">
|
||||||
<el-input v-model="serviceForm.serviceCode"></el-input>
|
<el-input v-model="serviceForm.serviceCode" :placeholder="'请输入' + ModelServiceFieldsEnums['serviceCode']"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="ModelServiceFieldsEnums['serviceTypeName']" prop="attributeType">
|
<el-form-item :label="ModelServiceFieldsEnums['serviceTypeName']" prop="serviceType">
|
||||||
<el-select v-model="serviceForm.serviceType">
|
<el-select v-model="serviceForm.serviceType" :placeholder="'请选择' + ModelServiceFieldsEnums['serviceTypeName']">
|
||||||
<el-option label="遥调" :value="146"></el-option>
|
<el-option label="遥调" :value="146"></el-option>
|
||||||
<el-option label="遥控" :value="147"></el-option>
|
<el-option label="遥控" :value="147"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="ModelServiceFieldsEnums['porder']" prop="porder">
|
<el-form-item :label="ModelServiceFieldsEnums['porder']" prop="porder">
|
||||||
<el-input v-model="serviceForm.porder"></el-input>
|
<el-input v-model="serviceForm.porder" :placeholder="'请输入' + ModelServiceFieldsEnums['porder']"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
@ -208,7 +221,7 @@ import {
|
|||||||
ElAside,
|
ElAside,
|
||||||
ElHeader,
|
ElHeader,
|
||||||
ElMain,
|
ElMain,
|
||||||
ElTreeV2,
|
ElTree,
|
||||||
ElInput,
|
ElInput,
|
||||||
ElMessage,
|
ElMessage,
|
||||||
ElRadioGroup,
|
ElRadioGroup,
|
||||||
@ -221,7 +234,7 @@ import {
|
|||||||
FormInstance,
|
FormInstance,
|
||||||
UploadRequestOptions,
|
UploadRequestOptions,
|
||||||
TreeNode,
|
TreeNode,
|
||||||
TreeInstance
|
TreeInstance,
|
||||||
} from 'element-plus'
|
} from 'element-plus'
|
||||||
import { Reading, DocumentAdd, DocumentChecked, DocumentDelete, Search, Plus, Download, Upload } from '@element-plus/icons-vue'
|
import { Reading, DocumentAdd, DocumentChecked, DocumentDelete, Search, Plus, Download, Upload } from '@element-plus/icons-vue'
|
||||||
import {
|
import {
|
||||||
@ -394,7 +407,7 @@ const modelNodeClick = (target: TreeNode) => {
|
|||||||
const openModel = (type: ModelDialogTitleStateKeyType, data?: AddModelType & UpdateModelType) => {
|
const openModel = (type: ModelDialogTitleStateKeyType, data?: AddModelType & UpdateModelType) => {
|
||||||
modelDialogState.value = ModelDialogTitleStateType[type]
|
modelDialogState.value = ModelDialogTitleStateType[type]
|
||||||
if (type !== 'add') {
|
if (type !== 'add') {
|
||||||
modelForm.value = data!
|
modelForm.value = JSON.parse(JSON.stringify(data!))
|
||||||
}
|
}
|
||||||
// modelOperateVisible.value = false
|
// modelOperateVisible.value = false
|
||||||
modelDialogVisible.value = true
|
modelDialogVisible.value = true
|
||||||
@ -418,8 +431,6 @@ const modelAttributeAndServiceInputValue = ref('')
|
|||||||
const searchModelAttribute = () => {
|
const searchModelAttribute = () => {
|
||||||
if (modelAttributeSearchRadio.value === 'Name') {
|
if (modelAttributeSearchRadio.value === 'Name') {
|
||||||
if (ModelTabs.value === 'attribute') {
|
if (ModelTabs.value === 'attribute') {
|
||||||
console.log('test')
|
|
||||||
|
|
||||||
getAttributeList(modelAttributeSearchRadio.value, modelAttributeAndServiceInputValue.value)
|
getAttributeList(modelAttributeSearchRadio.value, modelAttributeAndServiceInputValue.value)
|
||||||
} else if (ModelTabs.value === 'service') {
|
} else if (ModelTabs.value === 'service') {
|
||||||
getServiceList(modelAttributeSearchRadio.value, modelAttributeAndServiceInputValue.value)
|
getServiceList(modelAttributeSearchRadio.value, modelAttributeAndServiceInputValue.value)
|
||||||
@ -673,6 +684,40 @@ const submitServiceForm = () => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
const codeReg = /^[a-zA-Z][a-zA-Z0-9_]*$/
|
||||||
|
const attributeAndServiceRules = {
|
||||||
|
attributeCode: [
|
||||||
|
{ required: true, message: '请输入属性编码', trigger: 'blur' },
|
||||||
|
{
|
||||||
|
validator: (rule: any, value: any, callback: any) => {
|
||||||
|
if (!codeReg.test(value)) {
|
||||||
|
callback(new Error('必须为字母开头,不能包含特殊字符'))
|
||||||
|
} else {
|
||||||
|
callback()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
attributeName: [{ required: true, message: '请输入属性名称', trigger: 'blur' }],
|
||||||
|
attributeType: [{ required: true, message: '请选择属性类型', trigger: 'change' }],
|
||||||
|
serviceCode: [
|
||||||
|
{ required: true, message: '请输方法编码', trigger: 'blur' },
|
||||||
|
{
|
||||||
|
validator: (rule: any, value: any, callback: any) => {
|
||||||
|
if (!codeReg.test(value)) {
|
||||||
|
callback(new Error('必须为字母开头,不能包含特殊字符'))
|
||||||
|
} else {
|
||||||
|
callback()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
serviceName: [{ required: true, message: '请输入方法名称', trigger: 'blur' }],
|
||||||
|
serviceType: [{ required: true, message: '请选择方法类型', trigger: 'change' }],
|
||||||
|
porder: [{ required: true, message: '请输入序号', trigger: 'blur' }],
|
||||||
|
}
|
||||||
|
|
||||||
const addModelAttributeAndService = () => {
|
const addModelAttributeAndService = () => {
|
||||||
if (ModelTabs.value === 'attribute') {
|
if (ModelTabs.value === 'attribute') {
|
||||||
@ -762,10 +807,10 @@ $paginationHeight: 32px;
|
|||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.asideMain {
|
.treeMain {
|
||||||
height: calc(100% - $headerHeight);
|
height: calc(100% - $headerHeight);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
.modelTree {
|
.treePart {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-color: $defaultBackgroundColor;
|
background-color: $defaultBackgroundColor;
|
||||||
}
|
}
|
||||||
|
@ -61,7 +61,7 @@ export enum ModelAttributeFieldsEnums {
|
|||||||
'attributeName' = '属性名称',
|
'attributeName' = '属性名称',
|
||||||
'attributeType' = '属性类型value',
|
'attributeType' = '属性类型value',
|
||||||
'attributeTypeName' = '属性类型',
|
'attributeTypeName' = '属性类型',
|
||||||
'porder' = '测点序号',
|
'porder' = '序号',
|
||||||
'revision' = '乐观锁',
|
'revision' = '乐观锁',
|
||||||
'createdBy' = '创建人',
|
'createdBy' = '创建人',
|
||||||
'createdTime' = '创建时间',
|
'createdTime' = '创建时间',
|
||||||
@ -72,11 +72,11 @@ export enum ModelAttributeFieldsEnums {
|
|||||||
export enum ModelServiceFieldsEnums {
|
export enum ModelServiceFieldsEnums {
|
||||||
'id' = 'id',
|
'id' = 'id',
|
||||||
'iotModelId' = '所属物模型ID',
|
'iotModelId' = '所属物模型ID',
|
||||||
'serviceCode' = '属性编码',
|
'serviceCode' = '方法编码',
|
||||||
'serviceName' = '属性名称',
|
'serviceName' = '方法名称',
|
||||||
'serviceType' = '属性类型value',
|
'serviceType' = '方法类型value',
|
||||||
'serviceTypeName' = '属性类型',
|
'serviceTypeName' = '方法类型',
|
||||||
'porder' = '测点序号',
|
'porder' = '序号',
|
||||||
'revision' = '乐观锁',
|
'revision' = '乐观锁',
|
||||||
'createdBy' = '创建人',
|
'createdBy' = '创建人',
|
||||||
'createdTime' = '创建时间',
|
'createdTime' = '创建时间',
|
||||||
|
@ -114,7 +114,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { onMounted, ref, computed } from 'vue'
|
import { onMounted, ref, computed,nextTick } from 'vue'
|
||||||
import {
|
import {
|
||||||
ElContainer,
|
ElContainer,
|
||||||
ElAside,
|
ElAside,
|
||||||
@ -495,6 +495,9 @@ const initData = () => {
|
|||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log(res)
|
console.log(res)
|
||||||
treeData.value = [...res]
|
treeData.value = [...res]
|
||||||
|
nextTick(() => {
|
||||||
|
treeRef.value?.setCurrentKey(res[0]?.id!, false)
|
||||||
|
})
|
||||||
return
|
return
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
|
Loading…
Reference in New Issue
Block a user