|
@@ -766,6 +766,56 @@
|
|
|
/>
|
|
/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <el-collapse v-model="activeCollapse" class="mb-15px">
|
|
|
|
|
+ <el-collapse-item title="受压元件" name="pressureParts">
|
|
|
|
|
+ <div style="margin-bottom: 10px;">
|
|
|
|
|
+ <el-button type="primary" size="small" @click="handleAddPressurePart">
|
|
|
|
|
+ <Icon icon="ep:plus" class="mr-5px" /> 添加
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <el-table :data="pressureParts" border size="small" style="width: 100%">
|
|
|
|
|
+ <el-table-column label="部件" width="180" align="center">
|
|
|
|
|
+ <template #default="{ row }">
|
|
|
|
|
+ <el-select v-model="row.partType" placeholder="请选择部件" clearable size="small">
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="dict in getStrDictOptions(DICT_TYPE.PRESSURE2_BOILER_PART_TYPE)"
|
|
|
|
|
+ :key="dict.value"
|
|
|
|
|
+ :label="dict.label"
|
|
|
|
|
+ :value="dict.value"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column label="受压元件名称" width="180" align="center">
|
|
|
|
|
+ <template #default="{ row }">
|
|
|
|
|
+ <el-input v-model="row.partName" placeholder="请输入" size="small" />
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column label="规格" width="160" align="center">
|
|
|
|
|
+ <template #default="{ row }">
|
|
|
|
|
+ <el-input v-model="row.specification" placeholder="请输入" size="small" />
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column label="材质" width="160" align="center">
|
|
|
|
|
+ <template #default="{ row }">
|
|
|
|
|
+ <el-input v-model="row.material" placeholder="请输入" size="small" />
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column label="备注" min-width="180" align="center">
|
|
|
|
|
+ <template #default="{ row }">
|
|
|
|
|
+ <el-input v-model="row.remark" placeholder="请输入" size="small" />
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column label="操作" width="80" align="center" fixed="right">
|
|
|
|
|
+ <template #default="{ $index }">
|
|
|
|
|
+ <el-button type="danger" size="small" @click="handleRemovePressurePart($index)">
|
|
|
|
|
+ 删除
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+ </el-collapse-item>
|
|
|
|
|
+ </el-collapse>
|
|
|
</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>
|
|
@@ -809,6 +859,7 @@ import SmartTable from "@/components/SmartTable/SmartTable";
|
|
|
import dayjs from "dayjs";
|
|
import dayjs from "dayjs";
|
|
|
import Copy from "@/views/system/equipcontainer/components/Copy.vue";
|
|
import Copy from "@/views/system/equipcontainer/components/Copy.vue";
|
|
|
import { useEmitt } from '@/hooks/web/useEmitt'
|
|
import { useEmitt } from '@/hooks/web/useEmitt'
|
|
|
|
|
+import { Icon } from '@/components/Icon'
|
|
|
|
|
|
|
|
/** 锅炉设备 表单 */
|
|
/** 锅炉设备 表单 */
|
|
|
defineOptions({ name: 'EquipBoilerForm' })
|
|
defineOptions({ name: 'EquipBoilerForm' })
|
|
@@ -980,6 +1031,10 @@ const formData = ref({
|
|
|
waterlastresult: undefined,
|
|
waterlastresult: undefined,
|
|
|
workpressure: undefined,
|
|
workpressure: undefined,
|
|
|
})
|
|
})
|
|
|
|
|
+const pressureParts = ref<any[]>([]) // 受压元件列表
|
|
|
|
|
+// 有受压元件时默认展开,没有时折叠
|
|
|
|
|
+const activeCollapse = computed(() => pressureParts.value.length > 0 ? ['pressureParts'] : [])
|
|
|
|
|
+
|
|
|
const formRules = reactive({
|
|
const formRules = reactive({
|
|
|
equipDistrict: [{ required: true, message: '设备所在行政区域不能为空', trigger: 'blur' }],
|
|
equipDistrict: [{ required: true, message: '设备所在行政区域不能为空', trigger: 'blur' }],
|
|
|
equipCode: [{ required: true, message: '设备注册代码不能为空', trigger: 'blur' }],
|
|
equipCode: [{ required: true, message: '设备注册代码不能为空', trigger: 'blur' }],
|
|
@@ -1001,17 +1056,15 @@ const open = async (type: string, id?: number) => {
|
|
|
dialogTitle.value = t('action.' + type)
|
|
dialogTitle.value = t('action.' + type)
|
|
|
formType.value = type
|
|
formType.value = type
|
|
|
resetForm()
|
|
resetForm()
|
|
|
|
|
+ pressureParts.value = []
|
|
|
// 修改时,设置数据
|
|
// 修改时,设置数据
|
|
|
if (id) {
|
|
if (id) {
|
|
|
formLoading.value = true
|
|
formLoading.value = true
|
|
|
try {
|
|
try {
|
|
|
formData.value = await EquipBoilerApi.getEquipBoiler(id)
|
|
formData.value = await EquipBoilerApi.getEquipBoiler(id)
|
|
|
formData.value.useStatus = formData.value.useStatus?.toString()
|
|
formData.value.useStatus = formData.value.useStatus?.toString()
|
|
|
- // formData.value = res || {};
|
|
|
|
|
- // formData.value['exceedDate'] = (res.exceedDate || []).length > 0 ? dayjs((res.exceedDate).join('-')) : null
|
|
|
|
|
- // formData.value['isExceedTimeLimit'] = typeof res.isExceedTimeLimit === 'boolean' ? [res.isExceedTimeLimit ? '1' : '0'] : []
|
|
|
|
|
- // 设置当前选中的设备类型
|
|
|
|
|
- // activeEquipType.value = formData.value.type || equipTypeOptions.value[0]?.value || ''
|
|
|
|
|
|
|
+ // 加载受压元件列表
|
|
|
|
|
+ pressureParts.value = await EquipBoilerApi.getPressureParts(String(id))
|
|
|
} finally {
|
|
} finally {
|
|
|
formLoading.value = false
|
|
formLoading.value = false
|
|
|
}
|
|
}
|
|
@@ -1028,6 +1081,8 @@ const submitForm = async () => {
|
|
|
formLoading.value = true
|
|
formLoading.value = true
|
|
|
try {
|
|
try {
|
|
|
const data = formData.value as unknown as EquipBoilerVO
|
|
const data = formData.value as unknown as EquipBoilerVO
|
|
|
|
|
+ // 附加受压元件
|
|
|
|
|
+ data.pressureParts = pressureParts.value
|
|
|
if (formType.value === 'create') {
|
|
if (formType.value === 'create') {
|
|
|
await EquipBoilerApi.createEquipBoiler(data)
|
|
await EquipBoilerApi.createEquipBoiler(data)
|
|
|
message.success(t('common.createSuccess'))
|
|
message.success(t('common.createSuccess'))
|
|
@@ -1257,6 +1312,23 @@ const handleUnitConfirm = () => {
|
|
|
formData.value.unitCode = selectedRow[0].code
|
|
formData.value.unitCode = selectedRow[0].code
|
|
|
formData.value.unitId = selectedRow[0].id
|
|
formData.value.unitId = selectedRow[0].id
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+// 新增受压元件行
|
|
|
|
|
+const handleAddPressurePart = () => {
|
|
|
|
|
+ pressureParts.value.push({
|
|
|
|
|
+ partType: '',
|
|
|
|
|
+ partName: '',
|
|
|
|
|
+ specification: '',
|
|
|
|
|
+ material: '',
|
|
|
|
|
+ remark: ''
|
|
|
|
|
+ })
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 删除受压元件行
|
|
|
|
|
+const handleRemovePressurePart = (index: number) => {
|
|
|
|
|
+ pressureParts.value.splice(index, 1)
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
// 打开单位选择框
|
|
// 打开单位选择框
|
|
|
const handleOpenUnitDialog = (ev) => {
|
|
const handleOpenUnitDialog = (ev) => {
|
|
|
ev.target.blur()
|
|
ev.target.blur()
|