36
36
<script setup lang="ts">
37
37
import * as ConfigApi from ' @/api/infra/config'
38
38
// import type { FormExpose } from '@/components/Form'
39
- import * as PostApi from ' @/api/system/post'
40
39
const { t } = useI18n () // 国际化
41
40
const message = useMessage () // 消息弹窗
42
41
// const { proxy } = getCurrentInstance()
@@ -46,15 +45,15 @@ const modelTitle = ref('') // 弹窗的标题
46
45
const modelLoading = ref (false ) // 弹窗的 Loading 加载
47
46
const formType = ref (' ' ) // 表单的类型:create - 新增;update - 修改
48
47
const formLoading = ref (false ) // 操作按钮的 Loading 加载
49
- let formRef = ref () // 表单的 Ref
48
+ // let formRef = ref() // 表单的 Ref
50
49
const formData = reactive ({
51
- id: undefined ,
52
- category: undefined ,
53
- name: undefined ,
54
- key: undefined ,
55
- value: undefined ,
50
+ id: 0 ,
51
+ category: ' ' ,
52
+ name: ' ' ,
53
+ key: ' ' ,
54
+ value: ' ' ,
56
55
visible: true ,
57
- remark: undefined
56
+ remark: ' '
58
57
})
59
58
const formRules = reactive ({
60
59
category: [{ required: true , message: ' 参数分类不能为空' , trigger: ' blur' }],
@@ -65,6 +64,8 @@ const formRules = reactive({
65
64
})
66
65
// const formRef = ref<FormExpose>() // 表单 Ref
67
66
67
+ const { proxy } = getCurrentInstance () as any
68
+
68
69
/** 打开弹窗 */
69
70
const openModal = async (type : string , id ? : number ) => {
70
71
modelVisible .value = true
@@ -84,20 +85,21 @@ defineExpose({ openModal }) // 提供 openModal 方法,用于打开弹窗
84
85
/** 提交表单 */
85
86
const emit = defineEmits ([' success' ]) // 定义 success 事件,用于操作成功后的回调
86
87
const submitForm = async () => {
88
+ const formRef = proxy .$refs [' formRef' ]
89
+ console .log (formRef , ' ======' )
87
90
// 校验表单
88
- const elForm = unref (formRef )?.getElFormRef ()
89
- if (! elForm ) return
90
- const valid = await elForm .validate ()
91
+ if (! formRef ) return
92
+ const valid = await formRef .validate ()
91
93
if (! valid ) return
92
94
// 提交请求
93
95
formLoading .value = true
94
96
try {
95
- const data = unref ( formRef )?. formModel as PostApi . PostVO
97
+ const data = formData as ConfigApi . ConfigVO
96
98
if (formType .value === ' create' ) {
97
- await PostApi . createPostApi (data )
99
+ await ConfigApi . createConfig (data )
98
100
message .success (t (' common.createSuccess' ))
99
101
} else {
100
- await PostApi . updatePostApi (data )
102
+ await ConfigApi . updateConfig (data )
101
103
message .success (t (' common.updateSuccess' ))
102
104
}
103
105
modelVisible .value = false
@@ -109,14 +111,14 @@ const submitForm = async () => {
109
111
110
112
/** 重置表单 */
111
113
const resetForm = () => {
112
- formData .id = undefined
113
- formData .category = undefined
114
- formData .name = undefined
115
- formData .key = undefined
116
- formData .value = undefined
114
+ formData .id = 0
115
+ formData .category = ' '
116
+ formData .name = ' '
117
+ formData .key = ' '
118
+ formData .value = ' '
117
119
formData .visible = true
118
- formData .remark = undefined
120
+ formData .remark = ' '
119
121
// proxy.$refs['formRef'].resetFields()
120
- // formRef.value.resetFields() // TODO 芋艿:为什么拿不到
122
+ // formRef.value.resetFields() // TODO 芋艿:为什么拿不到 formRef 呢?
121
123
}
122
124
</script >
0 commit comments