|
@@ -7,34 +7,45 @@
|
|
label-width="100px"
|
|
label-width="100px"
|
|
v-loading="formLoading"
|
|
v-loading="formLoading"
|
|
>
|
|
>
|
|
- <el-form-item label="设备分类" prop="deviceType">
|
|
|
|
- <el-select v-model="formData.deviceType" placeholder="请选择设备分类">
|
|
|
|
- <el-option label="请选择字典生成" value="" />
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="故障影响" prop="failureInfluence">
|
|
|
|
- <el-input v-model="formData.failureInfluence" placeholder="请输入故障影响" />
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="故障模块/影响" prop="failureSystem">
|
|
|
|
- <el-input v-model="formData.failureSystem" placeholder="请输入故障模块/影响" />
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="描述" prop="description">
|
|
|
|
- <Editor v-model="formData.description" height="150px" />
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="解决办法" prop="solutions">
|
|
|
|
- <el-input v-model="formData.solutions" placeholder="请输入解决办法" />
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="备注" prop="remark">
|
|
|
|
- <el-input v-model="formData.remark" placeholder="请输入备注" />
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="流程实例id" prop="processInstanceId">
|
|
|
|
- <el-input v-model="formData.processInstanceId" placeholder="请输入流程实例id" />
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="审核状态" prop="auditStatus">
|
|
|
|
- <el-radio-group v-model="formData.auditStatus">
|
|
|
|
- <el-radio value="1">请选择字典生成</el-radio>
|
|
|
|
- </el-radio-group>
|
|
|
|
- </el-form-item>
|
|
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="设备分类" prop="deviceType">
|
|
|
|
+ <el-tree-select
|
|
|
|
+ v-model="formData.deviceType"
|
|
|
|
+ :data="productClassifyList"
|
|
|
|
+ :props="defaultProps"
|
|
|
|
+ check-strictly
|
|
|
|
+ node-key="id"
|
|
|
|
+ placeholder="请选择设备分类"
|
|
|
|
+ />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="故障影响" prop="failureInfluence">
|
|
|
|
+ <el-input v-model="formData.failureInfluence" placeholder="请输入故障影响" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="故障模块" prop="failureSystem">
|
|
|
|
+ <el-input v-model="formData.failureSystem" placeholder="请输入故障模块" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="解决办法" prop="solutions">
|
|
|
|
+ <el-input v-model="formData.solutions" placeholder="请输入解决办法" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="描述" prop="description">
|
|
|
|
+ <el-input v-model="formData.description" type="textarea" height="150px" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="备注" prop="remark">
|
|
|
|
+ <el-input v-model="formData.remark" type="textarea" placeholder="请输入备注" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
</el-form>
|
|
</el-form>
|
|
<template #footer>
|
|
<template #footer>
|
|
<el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
|
|
<el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
|
|
@@ -44,6 +55,9 @@
|
|
</template>
|
|
</template>
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
import { IotInformationDbApi, IotInformationDbVO } from '@/api/pms/information'
|
|
import { IotInformationDbApi, IotInformationDbVO } from '@/api/pms/information'
|
|
|
|
+import {defaultProps, handleTree} from "@/utils/tree";
|
|
|
|
+import * as ProductClassifyApi from "@/api/pms/productclassify";
|
|
|
|
+import {DeviceAttrModelApi} from "@/api/pms/deviceattrmodel";
|
|
|
|
|
|
/** 故障知识库 表单 */
|
|
/** 故障知识库 表单 */
|
|
defineOptions({ name: 'IotInformationDbForm' })
|
|
defineOptions({ name: 'IotInformationDbForm' })
|
|
@@ -51,6 +65,7 @@ defineOptions({ name: 'IotInformationDbForm' })
|
|
const { t } = useI18n() // 国际化
|
|
const { t } = useI18n() // 国际化
|
|
const message = useMessage() // 消息弹窗
|
|
const message = useMessage() // 消息弹窗
|
|
|
|
|
|
|
|
+const productClassifyList = ref<Tree[]>([]) // 树形结构
|
|
const dialogVisible = ref(false) // 弹窗的是否展示
|
|
const dialogVisible = ref(false) // 弹窗的是否展示
|
|
const dialogTitle = ref('') // 弹窗的标题
|
|
const dialogTitle = ref('') // 弹窗的标题
|
|
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
|
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
|
@@ -68,6 +83,8 @@ const formData = ref({
|
|
})
|
|
})
|
|
const formRules = reactive({
|
|
const formRules = reactive({
|
|
deviceType: [{ required: true, message: '设备分类不能为空', trigger: 'change' }],
|
|
deviceType: [{ required: true, message: '设备分类不能为空', trigger: 'change' }],
|
|
|
|
+ failureInfluence: [{ required: true, message: '故障影响不能为空', trigger: 'change' }],
|
|
|
|
+ solutions: [{ required: true, message: '解决办法不能为空', trigger: 'change' }],
|
|
})
|
|
})
|
|
const formRef = ref() // 表单 Ref
|
|
const formRef = ref() // 表单 Ref
|
|
|
|
|
|
@@ -86,6 +103,9 @@ const open = async (type: string, id?: number) => {
|
|
formLoading.value = false
|
|
formLoading.value = false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ productClassifyList.value = handleTree(
|
|
|
|
+ await ProductClassifyApi.IotProductClassifyApi.getSimpleProductClassifyList()
|
|
|
|
+ )
|
|
}
|
|
}
|
|
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
|
|
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
|
|
|
|
|
|
@@ -98,6 +118,7 @@ const submitForm = async () => {
|
|
formLoading.value = true
|
|
formLoading.value = true
|
|
try {
|
|
try {
|
|
const data = formData.value as unknown as IotInformationDbVO
|
|
const data = formData.value as unknown as IotInformationDbVO
|
|
|
|
+ debugger
|
|
if (formType.value === 'create') {
|
|
if (formType.value === 'create') {
|
|
await IotInformationDbApi.createIotInformationDb(data)
|
|
await IotInformationDbApi.createIotInformationDb(data)
|
|
message.success(t('common.createSuccess'))
|
|
message.success(t('common.createSuccess'))
|