| | |
| | | <template> |
| | | <div class="p-2"> |
| | | <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px"> |
| | | <Dialog :title="dialog.title" v-model="dialog.visible" width="600px" :draggable="draggable"> |
| | | <el-form ref="formRef" :model="formData" :rules="formRules" label-width="80px" v-loading="formLoading"> |
| | | <el-form-item label="参数名称" prop="configName"> |
| | | <el-input v-model="formData.configName" placeholder="请输入参数名称"/> |
| | |
| | | <el-input v-model="formData.remark" type="textarea" placeholder="请输入内容"/> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div class="dialog-footer"> |
| | | <slot name="footer"> |
| | | <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> |
| | | <el-button @click="dialog.visible = false">取 消</el-button> |
| | | </slot> |
| | | </div> |
| | | </el-dialog> |
| | | <template #footer> |
| | | <el-button :disabled="formLoading" type="primary" @click="submitForm">确 定</el-button> |
| | | <el-button @click="dialog.visible = false">取 消</el-button> |
| | | </template> |
| | | </Dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <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 draggable = ref(true) |
| | | // 表单的加载中: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 |