vue3 重构:配置管理,微调

This commit is contained in:
YunaiV 2023-03-09 00:06:53 +08:00
parent 9ef85e144c
commit dcc796696a
3 changed files with 25 additions and 24 deletions

View File

@ -42,12 +42,12 @@ export const getConfigKeyApi = (configKey: string) => {
} }
// 新增参数 // 新增参数
export const createConfigApi = (data: ConfigVO) => { export const createConfig = (data: ConfigVO) => {
return request.post({ url: '/infra/config/create', data }) return request.post({ url: '/infra/config/create', data })
} }
// 修改参数 // 修改参数
export const updateConfigApi = (data: ConfigVO) => { export const updateConfig = (data: ConfigVO) => {
return request.put({ url: '/infra/config/update', data }) return request.put({ url: '/infra/config/update', data })
} }

View File

@ -170,7 +170,6 @@ service.interceptors.response.use(
return Promise.reject(new Error(msg)) return Promise.reject(new Error(msg))
} else if (code === 901) { } else if (code === 901) {
ElMessage.error({ ElMessage.error({
duration: 5,
offset: 300, offset: 300,
dangerouslyUseHTMLString: true, dangerouslyUseHTMLString: true,
message: message:

View File

@ -36,7 +36,6 @@
<script setup lang="ts"> <script setup lang="ts">
import * as ConfigApi from '@/api/infra/config' import * as ConfigApi from '@/api/infra/config'
// import type { FormExpose } from '@/components/Form' // import type { FormExpose } from '@/components/Form'
import * as PostApi from '@/api/system/post'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
// const { proxy } = getCurrentInstance() // const { proxy } = getCurrentInstance()
@ -46,15 +45,15 @@ const modelTitle = ref('') // 弹窗的标题
const modelLoading = ref(false) // Loading const modelLoading = ref(false) // Loading
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formLoading = ref(false) // Loading const formLoading = ref(false) // Loading
let formRef = ref() // Ref // let formRef = ref() // Ref
const formData = reactive({ const formData = reactive({
id: undefined, id: 0,
category: undefined, category: '',
name: undefined, name: '',
key: undefined, key: '',
value: undefined, value: '',
visible: true, visible: true,
remark: undefined remark: ''
}) })
const formRules = reactive({ const formRules = reactive({
category: [{ required: true, message: '参数分类不能为空', trigger: 'blur' }], category: [{ required: true, message: '参数分类不能为空', trigger: 'blur' }],
@ -65,6 +64,8 @@ const formRules = reactive({
}) })
// const formRef = ref<FormExpose>() // Ref // const formRef = ref<FormExpose>() // Ref
const { proxy } = getCurrentInstance() as any
/** 打开弹窗 */ /** 打开弹窗 */
const openModal = async (type: string, id?: number) => { const openModal = async (type: string, id?: number) => {
modelVisible.value = true modelVisible.value = true
@ -84,20 +85,21 @@ defineExpose({ openModal }) // 提供 openModal 方法,用于打开弹窗
/** 提交表单 */ /** 提交表单 */
const emit = defineEmits(['success']) // success const emit = defineEmits(['success']) // success
const submitForm = async () => { const submitForm = async () => {
const formRef = proxy.$refs['formRef']
console.log(formRef, '======')
// //
const elForm = unref(formRef)?.getElFormRef() if (!formRef) return
if (!elForm) return const valid = await formRef.validate()
const valid = await elForm.validate()
if (!valid) return if (!valid) return
// //
formLoading.value = true formLoading.value = true
try { try {
const data = unref(formRef)?.formModel as PostApi.PostVO const data = formData as ConfigApi.ConfigVO
if (formType.value === 'create') { if (formType.value === 'create') {
await PostApi.createPostApi(data) await ConfigApi.createConfig(data)
message.success(t('common.createSuccess')) message.success(t('common.createSuccess'))
} else { } else {
await PostApi.updatePostApi(data) await ConfigApi.updateConfig(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false modelVisible.value = false
@ -109,14 +111,14 @@ const submitForm = async () => {
/** 重置表单 */ /** 重置表单 */
const resetForm = () => { const resetForm = () => {
formData.id = undefined formData.id = 0
formData.category = undefined formData.category = ''
formData.name = undefined formData.name = ''
formData.key = undefined formData.key = ''
formData.value = undefined formData.value = ''
formData.visible = true formData.visible = true
formData.remark = undefined formData.remark = ''
// proxy.$refs['formRef'].resetFields() // proxy.$refs['formRef'].resetFields()
// formRef.value.resetFields() // TODO // formRef.value.resetFields() // TODO formRef
} }
</script> </script>