| | |
| | | import { ElMessage } from 'element-plus' |
| | | import { fwDeviceDetailApi, fwDeviceSaveApi, fwDeviceUpdateApi } from '@/api/fwDevice' |
| | | |
| | | const createEmptyForm = () => ({ |
| | | const initForm = () => ({ |
| | | deviceModel: '', |
| | | deviceName: '', |
| | | deviceSpecification: '', |
| | |
| | | |
| | | const emit = defineEmits(['success']) |
| | | const formRef = ref(null) |
| | | const formData = ref(createEmptyForm()) |
| | | const formData = ref(initForm()) |
| | | const visible = ref(false) |
| | | const dialogMode = ref('add') |
| | | const submitting = ref(false) |
| | |
| | | if (!isValid) return |
| | | submitting.value = true |
| | | try { |
| | | dialogMode.value === 'add' |
| | | ? await fwDeviceSaveApi({ ...formData.value }) |
| | | : await fwDeviceUpdateApi({ ...formData.value }) |
| | | dialogMode.value === 'add' ? await fwDeviceSaveApi(formData.value) : await fwDeviceUpdateApi(formData.value) |
| | | ElMessage.success(dialogMode.value === 'add' ? '新增成功' : '更新成功') |
| | | visible.value = false |
| | | emit('success') |
| | |
| | | async function loadDetail() { |
| | | if (!formData.value.id) return |
| | | const res = await fwDeviceDetailApi({ id: formData.value.id }) |
| | | const data = res?.data?.data ?? {} |
| | | formData.value = { ...createEmptyForm(), ...data } |
| | | formData.value = res?.data?.data ?? {} |
| | | } |
| | | |
| | | // 关闭后重置 |
| | | function handleClosed() { |
| | | formData.value = createEmptyForm() |
| | | formData.value = initForm() |
| | | } |
| | | |
| | | // 打开弹框 |
| | |
| | | formData.value = row |
| | | visible.value = true |
| | | if (dialogMode.value === 'add') { |
| | | formData.value = createEmptyForm() |
| | | formData.value = initForm() |
| | | } else { |
| | | await loadDetail() |
| | | } |