| | |
| | | <script setup lang="ts"> |
| | | // 模块导入 |
| | | import {ConfigForm} from "@/api/system/config/types"; |
| | | import {addConfig, getConfig, updateConfig} from "@/api/system/config"; |
| | | import * as configApi from '@/api/system/config' |
| | | import {useI18n} from "vue-i18n"; |
| | | |
| | | |
| | | defineOptions({ name: 'SysConfigForm' }) |
| | | // 接收父组件传入属性 |
| | | // const props = defineProps({}) |
| | | |
| | |
| | | visible: false, |
| | | title: '' |
| | | }); |
| | | const resizable = ref(true) |
| | | // 窗体是否可以拖动 |
| | | const draggable = ref(true) |
| | | const isFullscreen = ref(false) |
| | | // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 |
| | | const formLoading = ref(false) |
| | | // 表单的类型:create - 新增;update - 修改 |
| | |
| | | /** 窗体打开事件 */ |
| | | const open = async (type: string, id?: number) => { |
| | | dialog.visible = true |
| | | // dialog.title = type |
| | | dialog.title = t('action.' + type) |
| | | formType.value = type |
| | | resetForm() |
| | |
| | | if (id) { |
| | | formLoading.value = true |
| | | try { |
| | | const res = await getConfig(id); |
| | | const res = await configApi.getConfig(id); |
| | | Object.assign(formData.value, res.data); |
| | | } finally { |
| | | formLoading.value = false |
| | |
| | | try { |
| | | const data = formData.value as unknown as ConfigForm |
| | | if (formType.value === 'create') { |
| | | await addConfig(data) |
| | | await configApi.addConfig(data) |
| | | proxy?.$modal.msgSuccess("新增参数成功"); |
| | | } else { |
| | | await updateConfig(data) |
| | | await configApi.updateConfig(data) |
| | | proxy?.$modal.msgSuccess("修改参数成功"); |
| | | } |
| | | dialog.visible = false |