1
1
<template >
2
2
<Dialog :title =" modelTitle" v-model =" modelVisible" >
3
- <el-form ref =" formRef" :model =" form" :rules =" rules" label-width =" 130px" v-loading =" formLoading" >
3
+ <el-form
4
+ ref =" formRef"
5
+ :model =" formData"
6
+ :rules =" formRules"
7
+ label-width =" 130px"
8
+ v-loading =" formLoading"
9
+ >
4
10
<el-form-item label =" 短信签名" prop =" signature" >
5
- <el-input v-model =" form .signature" placeholder =" 请输入短信签名" />
11
+ <el-input v-model =" formData .signature" placeholder =" 请输入短信签名" />
6
12
</el-form-item >
7
13
<el-form-item label =" 渠道编码" prop =" code" >
8
- <el-select v-model =" form .code" placeholder =" 请选择渠道编码" clearable >
14
+ <el-select v-model =" formData .code" placeholder =" 请选择渠道编码" clearable >
9
15
<el-option
10
- v-for =" dict in getDictOptions (DICT_TYPE.SYSTEM_SMS_CHANNEL_CODE)"
16
+ v-for =" dict in getStrDictOptions (DICT_TYPE.SYSTEM_SMS_CHANNEL_CODE)"
11
17
:key =" dict.value"
12
18
:label =" dict.label"
13
19
:value =" dict.value"
14
20
/>
15
21
</el-select >
16
22
</el-form-item >
17
23
<el-form-item label =" 启用状态" >
18
- <el-radio-group v-model =" form .status" >
24
+ <el-radio-group v-model =" formData .status" >
19
25
<el-radio
20
- v-for =" dict in getDictOptions (DICT_TYPE.COMMON_STATUS)"
26
+ v-for =" dict in getIntDictOptions (DICT_TYPE.COMMON_STATUS)"
21
27
:key =" dict.value"
22
- :label =" parseInt(dict.value)"
23
- >{{ dict.label }}</el-radio
28
+ :label =" dict.value"
24
29
>
30
+ {{ dict.label }}
31
+ </el-radio >
25
32
</el-radio-group >
26
33
</el-form-item >
27
34
<el-form-item label =" 备注" prop =" remark" >
28
- <el-input v-model =" form .remark" placeholder =" 请输入备注" />
35
+ <el-input v-model =" formData .remark" placeholder =" 请输入备注" />
29
36
</el-form-item >
30
37
<el-form-item label =" 短信 API 的账号" prop =" apiKey" >
31
- <el-input v-model =" form .apiKey" placeholder =" 请输入短信 API 的账号" />
38
+ <el-input v-model =" formData .apiKey" placeholder =" 请输入短信 API 的账号" />
32
39
</el-form-item >
33
40
<el-form-item label =" 短信 API 的密钥" prop =" apiSecret" >
34
- <el-input v-model =" form .apiSecret" placeholder =" 请输入短信 API 的密钥" />
41
+ <el-input v-model =" formData .apiSecret" placeholder =" 请输入短信 API 的密钥" />
35
42
</el-form-item >
36
43
<el-form-item label =" 短信发送回调 URL" prop =" callbackUrl" >
37
- <el-input v-model =" form .callbackUrl" placeholder =" 请输入短信发送回调 URL" />
44
+ <el-input v-model =" formData .callbackUrl" placeholder =" 请输入短信发送回调 URL" />
38
45
</el-form-item >
39
46
</el-form >
40
47
<template #footer >
41
- <div class =" dialog-footer" >
42
- <el-button @click =" submitForm" type =" primary" :disabled =" formLoading" >确 定</el-button >
43
- <el-button @click =" modelVisible = false" >取 消</el-button >
44
- </div >
48
+ <el-button @click =" submitForm" type =" primary" :disabled =" formLoading" >确 定</el-button >
49
+ <el-button @click =" modelVisible = false" >取 消</el-button >
45
50
</template >
46
51
</Dialog >
47
52
</template >
48
53
<script setup lang="ts">
49
- import { DICT_TYPE , getDictOptions } from ' @/utils/dict'
54
+ import { DICT_TYPE , getIntDictOptions , getStrDictOptions } from ' @/utils/dict'
50
55
import * as SmsChannelApi from ' @/api/system/sms/smsChannel'
51
-
56
+ import { CommonStatusEnum } from ' @/utils/constants '
52
57
const { t } = useI18n () // 国际化
53
58
const message = useMessage () // 消息弹窗
54
59
55
60
const modelVisible = ref (false ) // 弹窗的是否展示
56
61
const modelTitle = ref (' ' ) // 弹窗的标题
57
62
const formLoading = ref (false ) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
58
63
const formType = ref (' ' ) // 表单的类型:create - 新增;update - 修改
59
- const form = ref ({
64
+ const formData = ref ({
60
65
id: undefined ,
61
66
signature: ' ' ,
62
67
code: ' ' ,
63
- status: ' ' ,
68
+ status: CommonStatusEnum . ENABLE ,
64
69
remark: ' ' ,
65
70
apiKey: ' ' ,
66
71
apiSecret: ' ' ,
67
72
callbackUrl: ' '
68
73
})
69
- const rules = reactive ({
74
+ const formRules = reactive ({
70
75
signature: [{ required: true , message: ' 短信签名不能为空' , trigger: ' blur' }],
71
76
code: [{ required: true , message: ' 渠道编码不能为空' , trigger: ' blur' }],
72
77
status: [{ required: true , message: ' 启用状态不能为空' , trigger: ' blur' }],
@@ -75,7 +80,7 @@ const rules = reactive({
75
80
const formRef = ref () // 表单 Ref
76
81
77
82
/** 打开弹窗 */
78
- const openModal = async (type : string , id ? : number ) => {
83
+ const open = async (type : string , id ? : number ) => {
79
84
modelVisible .value = true
80
85
modelTitle .value = t (' action.' + type )
81
86
formType .value = type
@@ -84,15 +89,14 @@ const openModal = async (type: string, id?: number) => {
84
89
if (id ) {
85
90
formLoading .value = true
86
91
try {
87
- form .value = await SmsChannelApi .getSmsChannelApi (id )
88
- console .log (form )
92
+ formData .value = await SmsChannelApi .getSmsChannel (id )
93
+ console .log (formData )
89
94
} finally {
90
95
formLoading .value = false
91
96
}
92
97
}
93
98
}
94
-
95
- defineExpose ({ openModal }) // 提供 openModal 方法,用于打开弹窗
99
+ defineExpose ({ open }) // 提供 open 方法,用于打开弹窗
96
100
97
101
/** 提交表单 */
98
102
const emit = defineEmits ([' success' ]) // 定义 success 事件,用于操作成功后的回调
@@ -106,10 +110,10 @@ const submitForm = async () => {
106
110
try {
107
111
const data = unref (formRef )?.formModel as SmsChannelApi .SmsChannelVO
108
112
if (formType .value === ' create' ) {
109
- await SmsChannelApi .createSmsChannelApi (data )
113
+ await SmsChannelApi .createSmsChannel (data )
110
114
message .success (t (' common.createSuccess' ))
111
115
} else {
112
- await SmsChannelApi .updateSmsChannelApi (data )
116
+ await SmsChannelApi .updateSmsChannel (data )
113
117
message .success (t (' common.updateSuccess' ))
114
118
}
115
119
modelVisible .value = false
@@ -122,11 +126,11 @@ const submitForm = async () => {
122
126
123
127
/** 重置表单 */
124
128
const resetForm = () => {
125
- form .value = {
129
+ formData .value = {
126
130
id: undefined ,
127
131
signature: ' ' ,
128
132
code: ' ' ,
129
- status: ' ' ,
133
+ status: CommonStatusEnum . ENABLE ,
130
134
remark: ' ' ,
131
135
apiKey: ' ' ,
132
136
apiSecret: ' ' ,
0 commit comments