Commit 855d23aec3c1e217a41c917ddd5d8b9175038ca8

Authored by xingyu
1 parent aa983a6f

feat: 添加提交前验证

Showing 26 changed files with 548 additions and 397 deletions
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/index.vue.vm
@@ -50,23 +50,29 @@ @@ -50,23 +50,29 @@
50 50
51 // 提交按钮 51 // 提交按钮
52 const submitForm = async () => { 52 const submitForm = async () => {
53 - actionLoading.value = true  
54 - // 提交请求  
55 - try {  
56 - const data = unref(formRef)?.formModel as ${simpleClassName}VO  
57 - if (actionType.value === 'create') {  
58 - await ${simpleClassName}Api.create${simpleClassName}Api(data)  
59 - ElMessage.success(t('common.createSuccess'))  
60 - } else {  
61 - await ${simpleClassName}Api.update${simpleClassName}Api(data)  
62 - ElMessage.success(t('common.updateSuccess')) 53 + const elForm = unref(formRef)?.getElFormRef()
  54 + if (!elForm) return
  55 + elForm.validate(async (valid) => {
  56 + if (valid) {
  57 + actionLoading.value = true
  58 + // 提交请求
  59 + try {
  60 + const data = unref(formRef)?.formModel as ${simpleClassName}VO
  61 + if (actionType.value === 'create') {
  62 + await ${simpleClassName}Api.create${simpleClassName}Api(data)
  63 + ElMessage.success(t('common.createSuccess'))
  64 + } else {
  65 + await ${simpleClassName}Api.update${simpleClassName}Api(data)
  66 + ElMessage.success(t('common.updateSuccess'))
  67 + }
  68 + // 操作成功,重新加载列表
  69 + dialogVisible.value = false
  70 + await getList()
  71 + } finally {
  72 + actionLoading.value = false
  73 + }
63 } 74 }
64 - // 操作成功,重新加载列表  
65 - dialogVisible.value = false  
66 - await getList()  
67 - } finally {  
68 - actionLoading.value = false  
69 - } 75 + })
70 } 76 }
71 77
72 // ========== 详情相关 ========== 78 // ========== 详情相关 ==========
yudao-ui-admin-vue3/src/config/axios/index.ts
@@ -128,12 +128,18 @@ service.interceptors.response.use( @@ -128,12 +128,18 @@ service.interceptors.response.use(
128 const refreshTokenRes = await refreshToken() 128 const refreshTokenRes = await refreshToken()
129 // 2.1 刷新成功,则回放队列的请求 + 当前请求 129 // 2.1 刷新成功,则回放队列的请求 + 当前请求
130 setToken(refreshTokenRes.data) 130 setToken(refreshTokenRes.data)
131 - requestList.forEach((cb: any) => cb()) 131 + ;(config as Recordable).headers.Authorization = 'Bearer ' + getAccessToken()
  132 + requestList.forEach((cb: any) => {
  133 + cb()
  134 + })
  135 + requestList = []
132 return service(response.config) 136 return service(response.config)
133 } catch (e) { 137 } catch (e) {
134 // 为什么需要 catch 异常呢?刷新失败时,请求因为 Promise.reject 触发异常。 138 // 为什么需要 catch 异常呢?刷新失败时,请求因为 Promise.reject 触发异常。
135 // 2.2 刷新失败,只回放队列的请求 139 // 2.2 刷新失败,只回放队列的请求
136 - requestList.forEach((cb: any) => cb()) 140 + requestList.forEach((cb: any) => {
  141 + cb()
  142 + })
137 // 提示是否要登出。即不回放当前请求!不然会形成递归 143 // 提示是否要登出。即不回放当前请求!不然会形成递归
138 return handleAuthorized() 144 return handleAuthorized()
139 } finally { 145 } finally {
@@ -194,10 +200,7 @@ service.interceptors.response.use( @@ -194,10 +200,7 @@ service.interceptors.response.use(
194 ) 200 )
195 201
196 const refreshToken = async () => { 202 const refreshToken = async () => {
197 - return await service({  
198 - url: '/system/auth/refresh-token?refreshToken=' + getRefreshToken(),  
199 - method: 'post'  
200 - }) 203 + return await axios.post(base_url + '/system/auth/refresh-token?refreshToken=' + getRefreshToken())
201 } 204 }
202 const handleAuthorized = () => { 205 const handleAuthorized = () => {
203 const { t } = useI18n() 206 const { t } = useI18n()
yudao-ui-admin-vue3/src/views/Login/components/LoginForm.vue
@@ -111,6 +111,10 @@ const handleLogin = async (params) => { @@ -111,6 +111,10 @@ const handleLogin = async (params) => {
111 } 111 }
112 loginData.loginForm.captchaVerification = params.captchaVerification 112 loginData.loginForm.captchaVerification = params.captchaVerification
113 const res = await LoginApi.loginApi(loginData.loginForm) 113 const res = await LoginApi.loginApi(loginData.loginForm)
  114 + if (!res) {
  115 + loginLoading.value = false
  116 + return
  117 + }
114 setToken(res) 118 setToken(res)
115 if (!redirect.value) { 119 if (!redirect.value) {
116 redirect.value = '/' 120 redirect.value = '/'
yudao-ui-admin-vue3/src/views/bpm/form/index.vue
@@ -49,23 +49,29 @@ const handleUpdate = async (row: FormVO) => { @@ -49,23 +49,29 @@ const handleUpdate = async (row: FormVO) => {
49 49
50 // 提交按钮 50 // 提交按钮
51 const submitForm = async () => { 51 const submitForm = async () => {
52 - actionLoading.value = true  
53 - // 提交请求  
54 - try {  
55 - const data = unref(formRef)?.formModel as FormVO  
56 - if (actionType.value === 'create') {  
57 - await FormApi.createFormApi(data)  
58 - ElMessage.success(t('common.createSuccess'))  
59 - } else {  
60 - await FormApi.updateFormApi(data)  
61 - ElMessage.success(t('common.updateSuccess')) 52 + const elForm = unref(formRef)?.getElFormRef()
  53 + if (!elForm) return
  54 + elForm.validate(async (valid) => {
  55 + if (valid) {
  56 + actionLoading.value = true
  57 + // 提交请求
  58 + try {
  59 + const data = unref(formRef)?.formModel as FormVO
  60 + if (actionType.value === 'create') {
  61 + await FormApi.createFormApi(data)
  62 + ElMessage.success(t('common.createSuccess'))
  63 + } else {
  64 + await FormApi.updateFormApi(data)
  65 + ElMessage.success(t('common.updateSuccess'))
  66 + }
  67 + // 操作成功,重新加载列表
  68 + dialogVisible.value = false
  69 + await getList()
  70 + } finally {
  71 + actionLoading.value = false
  72 + }
62 } 73 }
63 - // 操作成功,重新加载列表  
64 - dialogVisible.value = false  
65 - await getList()  
66 - } finally {  
67 - actionLoading.value = false  
68 - } 74 + })
69 } 75 }
70 76
71 // ========== 详情相关 ========== 77 // ========== 详情相关 ==========
yudao-ui-admin-vue3/src/views/bpm/group/index.vue
@@ -62,24 +62,30 @@ const handleUpdate = async (row: UserGroupVO) => { @@ -62,24 +62,30 @@ const handleUpdate = async (row: UserGroupVO) => {
62 62
63 // 提交按钮 63 // 提交按钮
64 const submitForm = async () => { 64 const submitForm = async () => {
65 - actionLoading.value = true  
66 - // 提交请求  
67 - try {  
68 - const data = unref(formRef)?.formModel as UserGroupVO  
69 - data.memberUserIds = userIds.value  
70 - if (actionType.value === 'create') {  
71 - await UserGroupApi.createUserGroupApi(data)  
72 - ElMessage.success(t('common.createSuccess'))  
73 - } else {  
74 - await UserGroupApi.updateUserGroupApi(data)  
75 - ElMessage.success(t('common.updateSuccess')) 65 + const elForm = unref(formRef)?.getElFormRef()
  66 + if (!elForm) return
  67 + elForm.validate(async (valid) => {
  68 + if (valid) {
  69 + actionLoading.value = true
  70 + // 提交请求
  71 + try {
  72 + const data = unref(formRef)?.formModel as UserGroupVO
  73 + data.memberUserIds = userIds.value
  74 + if (actionType.value === 'create') {
  75 + await UserGroupApi.createUserGroupApi(data)
  76 + ElMessage.success(t('common.createSuccess'))
  77 + } else {
  78 + await UserGroupApi.updateUserGroupApi(data)
  79 + ElMessage.success(t('common.updateSuccess'))
  80 + }
  81 + // 操作成功,重新加载列表
  82 + dialogVisible.value = false
  83 + await getList()
  84 + } finally {
  85 + actionLoading.value = false
  86 + }
76 } 87 }
77 - // 操作成功,重新加载列表  
78 - dialogVisible.value = false  
79 - await getList()  
80 - } finally {  
81 - actionLoading.value = false  
82 - } 88 + })
83 } 89 }
84 90
85 // 根据用户名获取用户真实名 91 // 根据用户名获取用户真实名
yudao-ui-admin-vue3/src/views/bpm/model/index.vue
@@ -51,23 +51,29 @@ const handleUpdate = async (row: ModelVO) => { @@ -51,23 +51,29 @@ const handleUpdate = async (row: ModelVO) => {
51 51
52 // 提交按钮 52 // 提交按钮
53 const submitForm = async () => { 53 const submitForm = async () => {
54 - actionLoading.value = true  
55 - // 提交请求  
56 - try {  
57 - const data = unref(formRef)?.formModel as ModelVO  
58 - if (actionType.value === 'create') {  
59 - await ModelApi.createModelApi(data)  
60 - message.success(t('common.createSuccess'))  
61 - } else {  
62 - await ModelApi.updateModelApi(data)  
63 - message.success(t('common.updateSuccess')) 54 + const elForm = unref(formRef)?.getElFormRef()
  55 + if (!elForm) return
  56 + elForm.validate(async (valid) => {
  57 + if (valid) {
  58 + actionLoading.value = true
  59 + // 提交请求
  60 + try {
  61 + const data = unref(formRef)?.formModel as ModelVO
  62 + if (actionType.value === 'create') {
  63 + await ModelApi.createModelApi(data)
  64 + message.success(t('common.createSuccess'))
  65 + } else {
  66 + await ModelApi.updateModelApi(data)
  67 + message.success(t('common.updateSuccess'))
  68 + }
  69 + // 操作成功,重新加载列表
  70 + dialogVisible.value = false
  71 + await getList()
  72 + } finally {
  73 + actionLoading.value = false
  74 + }
64 } 75 }
65 - // 操作成功,重新加载列表  
66 - dialogVisible.value = false  
67 - await getList()  
68 - } finally {  
69 - actionLoading.value = false  
70 - } 76 + })
71 } 77 }
72 78
73 /** 流程表单的详情按钮操作 */ 79 /** 流程表单的详情按钮操作 */
yudao-ui-admin-vue3/src/views/infra/config/index.vue
@@ -50,23 +50,29 @@ const handleUpdate = async (row: ConfigVO) => { @@ -50,23 +50,29 @@ const handleUpdate = async (row: ConfigVO) => {
50 50
51 // 提交按钮 51 // 提交按钮
52 const submitForm = async () => { 52 const submitForm = async () => {
53 - actionLoading.value = true  
54 - // 提交请求  
55 - try {  
56 - const data = unref(formRef)?.formModel as ConfigVO  
57 - if (actionType.value === 'create') {  
58 - await ConfigApi.createConfigApi(data)  
59 - ElMessage.success(t('common.createSuccess'))  
60 - } else {  
61 - await ConfigApi.updateConfigApi(data)  
62 - ElMessage.success(t('common.updateSuccess')) 53 + const elForm = unref(formRef)?.getElFormRef()
  54 + if (!elForm) return
  55 + elForm.validate(async (valid) => {
  56 + if (valid) {
  57 + actionLoading.value = true
  58 + // 提交请求
  59 + try {
  60 + const data = unref(formRef)?.formModel as ConfigVO
  61 + if (actionType.value === 'create') {
  62 + await ConfigApi.createConfigApi(data)
  63 + ElMessage.success(t('common.createSuccess'))
  64 + } else {
  65 + await ConfigApi.updateConfigApi(data)
  66 + ElMessage.success(t('common.updateSuccess'))
  67 + }
  68 + // 操作成功,重新加载列表
  69 + dialogVisible.value = false
  70 + await getList()
  71 + } finally {
  72 + actionLoading.value = false
  73 + }
63 } 74 }
64 - // 操作成功,重新加载列表  
65 - dialogVisible.value = false  
66 - await getList()  
67 - } finally {  
68 - actionLoading.value = false  
69 - } 75 + })
70 } 76 }
71 77
72 // ========== 详情相关 ========== 78 // ========== 详情相关 ==========
yudao-ui-admin-vue3/src/views/infra/dataSourceConfig/index.vue
@@ -44,23 +44,29 @@ const handleUpdate = async (row: DataSourceConfigVO) => { @@ -44,23 +44,29 @@ const handleUpdate = async (row: DataSourceConfigVO) => {
44 44
45 // 提交按钮 45 // 提交按钮
46 const submitForm = async () => { 46 const submitForm = async () => {
47 - loading.value = true  
48 - // 提交请求  
49 - try {  
50 - const data = unref(formRef)?.formModel as DataSourceConfigVO  
51 - if (actionType.value === 'create') {  
52 - await DataSourceConfiggApi.createDataSourceConfigApi(data)  
53 - ElMessage.success(t('common.createSuccess'))  
54 - } else {  
55 - await DataSourceConfiggApi.updateDataSourceConfigApi(data)  
56 - ElMessage.success(t('common.updateSuccess')) 47 + const elForm = unref(formRef)?.getElFormRef()
  48 + if (!elForm) return
  49 + elForm.validate(async (valid) => {
  50 + if (valid) {
  51 + loading.value = true
  52 + // 提交请求
  53 + try {
  54 + const data = unref(formRef)?.formModel as DataSourceConfigVO
  55 + if (actionType.value === 'create') {
  56 + await DataSourceConfiggApi.createDataSourceConfigApi(data)
  57 + ElMessage.success(t('common.createSuccess'))
  58 + } else {
  59 + await DataSourceConfiggApi.updateDataSourceConfigApi(data)
  60 + ElMessage.success(t('common.updateSuccess'))
  61 + }
  62 + // 操作成功,重新加载列表
  63 + dialogVisible.value = false
  64 + await getList()
  65 + } finally {
  66 + loading.value = false
  67 + }
57 } 68 }
58 - // 操作成功,重新加载列表  
59 - dialogVisible.value = false  
60 - await getList()  
61 - } finally {  
62 - loading.value = false  
63 - } 69 + })
64 } 70 }
65 71
66 // 删除操作 72 // 删除操作
yudao-ui-admin-vue3/src/views/infra/fileConfig/index.vue
@@ -60,23 +60,29 @@ const handleMaster = (row: FileConfigVO) => { @@ -60,23 +60,29 @@ const handleMaster = (row: FileConfigVO) => {
60 60
61 // 提交按钮 61 // 提交按钮
62 const submitForm = async () => { 62 const submitForm = async () => {
63 - actionLoading.value = true  
64 - // 提交请求  
65 - try {  
66 - const data = unref(formRef)?.formModel as FileConfigVO  
67 - if (actionType.value === 'create') {  
68 - await FileConfigApi.createFileConfigApi(data)  
69 - message.success(t('common.createSuccess'))  
70 - } else {  
71 - await FileConfigApi.updateFileConfigApi(data)  
72 - message.success(t('common.updateSuccess')) 63 + const elForm = unref(formRef)?.getElFormRef()
  64 + if (!elForm) return
  65 + elForm.validate(async (valid) => {
  66 + if (valid) {
  67 + actionLoading.value = true
  68 + // 提交请求
  69 + try {
  70 + const data = unref(formRef)?.formModel as FileConfigVO
  71 + if (actionType.value === 'create') {
  72 + await FileConfigApi.createFileConfigApi(data)
  73 + message.success(t('common.createSuccess'))
  74 + } else {
  75 + await FileConfigApi.updateFileConfigApi(data)
  76 + message.success(t('common.updateSuccess'))
  77 + }
  78 + // 操作成功,重新加载列表
  79 + dialogVisible.value = false
  80 + await getList()
  81 + } finally {
  82 + actionLoading.value = false
  83 + }
73 } 84 }
74 - // 操作成功,重新加载列表  
75 - dialogVisible.value = false  
76 - await getList()  
77 - } finally {  
78 - actionLoading.value = false  
79 - } 85 + })
80 } 86 }
81 87
82 // ========== 详情相关 ========== 88 // ========== 详情相关 ==========
yudao-ui-admin-vue3/src/views/infra/job/index.vue
@@ -98,24 +98,30 @@ const handleRun = (row: JobVO) => { @@ -98,24 +98,30 @@ const handleRun = (row: JobVO) => {
98 } 98 }
99 // 提交按钮 99 // 提交按钮
100 const submitForm = async () => { 100 const submitForm = async () => {
101 - actionLoading.value = true  
102 - // 提交请求  
103 - try {  
104 - const data = unref(formRef)?.formModel as JobVO  
105 - data.cronExpression = cronExpression.value  
106 - if (actionType.value === 'create') {  
107 - await JobApi.createJobApi(data)  
108 - message.success(t('common.createSuccess'))  
109 - } else {  
110 - await JobApi.updateJobApi(data)  
111 - message.success(t('common.updateSuccess')) 101 + const elForm = unref(formRef)?.getElFormRef()
  102 + if (!elForm) return
  103 + elForm.validate(async (valid) => {
  104 + if (valid) {
  105 + actionLoading.value = true
  106 + // 提交请求
  107 + try {
  108 + const data = unref(formRef)?.formModel as JobVO
  109 + data.cronExpression = cronExpression.value
  110 + if (actionType.value === 'create') {
  111 + await JobApi.createJobApi(data)
  112 + message.success(t('common.createSuccess'))
  113 + } else {
  114 + await JobApi.updateJobApi(data)
  115 + message.success(t('common.updateSuccess'))
  116 + }
  117 + // 操作成功,重新加载列表
  118 + dialogVisible.value = false
  119 + await getList()
  120 + } finally {
  121 + actionLoading.value = false
  122 + }
112 } 123 }
113 - // 操作成功,重新加载列表  
114 - dialogVisible.value = false  
115 - await getList()  
116 - } finally {  
117 - actionLoading.value = false  
118 - } 124 + })
119 } 125 }
120 126
121 // ========== 详情相关 ========== 127 // ========== 详情相关 ==========
yudao-ui-admin-vue3/src/views/pay/app/index.vue
@@ -50,23 +50,29 @@ const handleUpdate = async (row: AppVO) => { @@ -50,23 +50,29 @@ const handleUpdate = async (row: AppVO) => {
50 50
51 // 提交按钮 51 // 提交按钮
52 const submitForm = async () => { 52 const submitForm = async () => {
53 - actionLoading.value = true  
54 - // 提交请求  
55 - try {  
56 - const data = unref(formRef)?.formModel as AppVO  
57 - if (actionType.value === 'create') {  
58 - await AppApi.createAppApi(data)  
59 - ElMessage.success(t('common.createSuccess'))  
60 - } else {  
61 - await AppApi.updateAppApi(data)  
62 - ElMessage.success(t('common.updateSuccess')) 53 + const elForm = unref(formRef)?.getElFormRef()
  54 + if (!elForm) return
  55 + elForm.validate(async (valid) => {
  56 + if (valid) {
  57 + actionLoading.value = true
  58 + // 提交请求
  59 + try {
  60 + const data = unref(formRef)?.formModel as AppVO
  61 + if (actionType.value === 'create') {
  62 + await AppApi.createAppApi(data)
  63 + ElMessage.success(t('common.createSuccess'))
  64 + } else {
  65 + await AppApi.updateAppApi(data)
  66 + ElMessage.success(t('common.updateSuccess'))
  67 + }
  68 + // 操作成功,重新加载列表
  69 + dialogVisible.value = false
  70 + await getList()
  71 + } finally {
  72 + actionLoading.value = false
  73 + }
63 } 74 }
64 - // 操作成功,重新加载列表  
65 - dialogVisible.value = false  
66 - await getList()  
67 - } finally {  
68 - actionLoading.value = false  
69 - } 75 + })
70 } 76 }
71 77
72 // ========== 详情相关 ========== 78 // ========== 详情相关 ==========
yudao-ui-admin-vue3/src/views/pay/merchant/index.vue
@@ -50,23 +50,29 @@ const handleUpdate = async (row: MerchantVO) => { @@ -50,23 +50,29 @@ const handleUpdate = async (row: MerchantVO) => {
50 50
51 // 提交按钮 51 // 提交按钮
52 const submitForm = async () => { 52 const submitForm = async () => {
53 - actionLoading.value = true  
54 - // 提交请求  
55 - try {  
56 - const data = unref(formRef)?.formModel as MerchantVO  
57 - if (actionType.value === 'create') {  
58 - await MerchantApi.createMerchantApi(data)  
59 - ElMessage.success(t('common.createSuccess'))  
60 - } else {  
61 - await MerchantApi.updateMerchantApi(data)  
62 - ElMessage.success(t('common.updateSuccess')) 53 + const elForm = unref(formRef)?.getElFormRef()
  54 + if (!elForm) return
  55 + elForm.validate(async (valid) => {
  56 + if (valid) {
  57 + actionLoading.value = true
  58 + // 提交请求
  59 + try {
  60 + const data = unref(formRef)?.formModel as MerchantVO
  61 + if (actionType.value === 'create') {
  62 + await MerchantApi.createMerchantApi(data)
  63 + ElMessage.success(t('common.createSuccess'))
  64 + } else {
  65 + await MerchantApi.updateMerchantApi(data)
  66 + ElMessage.success(t('common.updateSuccess'))
  67 + }
  68 + // 操作成功,重新加载列表
  69 + dialogVisible.value = false
  70 + await getList()
  71 + } finally {
  72 + actionLoading.value = false
  73 + }
63 } 74 }
64 - // 操作成功,重新加载列表  
65 - dialogVisible.value = false  
66 - await getList()  
67 - } finally {  
68 - actionLoading.value = false  
69 - } 75 + })
70 } 76 }
71 77
72 // ========== 详情相关 ========== 78 // ========== 详情相关 ==========
yudao-ui-admin-vue3/src/views/pay/order/index.vue
@@ -48,23 +48,29 @@ const handleUpdate = async (row: OrderVO) => { @@ -48,23 +48,29 @@ const handleUpdate = async (row: OrderVO) => {
48 48
49 // 提交按钮 49 // 提交按钮
50 const submitForm = async () => { 50 const submitForm = async () => {
51 - actionLoading.value = true  
52 - // 提交请求  
53 - try {  
54 - const data = unref(formRef)?.formModel as OrderVO  
55 - if (actionType.value === 'create') {  
56 - await OrderApi.createOrderApi(data)  
57 - ElMessage.success(t('common.createSuccess'))  
58 - } else {  
59 - await OrderApi.updateOrderApi(data)  
60 - ElMessage.success(t('common.updateSuccess')) 51 + const elForm = unref(formRef)?.getElFormRef()
  52 + if (!elForm) return
  53 + elForm.validate(async (valid) => {
  54 + if (valid) {
  55 + actionLoading.value = true
  56 + // 提交请求
  57 + try {
  58 + const data = unref(formRef)?.formModel as OrderVO
  59 + if (actionType.value === 'create') {
  60 + await OrderApi.createOrderApi(data)
  61 + ElMessage.success(t('common.createSuccess'))
  62 + } else {
  63 + await OrderApi.updateOrderApi(data)
  64 + ElMessage.success(t('common.updateSuccess'))
  65 + }
  66 + // 操作成功,重新加载列表
  67 + dialogVisible.value = false
  68 + await getList()
  69 + } finally {
  70 + actionLoading.value = false
  71 + }
61 } 72 }
62 - // 操作成功,重新加载列表  
63 - dialogVisible.value = false  
64 - await getList()  
65 - } finally {  
66 - actionLoading.value = false  
67 - } 73 + })
68 } 74 }
69 75
70 // ========== 详情相关 ========== 76 // ========== 详情相关 ==========
yudao-ui-admin-vue3/src/views/system/dept/index.vue
@@ -82,22 +82,28 @@ const handleDelete = async (data: { id: number }) => { @@ -82,22 +82,28 @@ const handleDelete = async (data: { id: number }) => {
82 } 82 }
83 // 提交按钮 83 // 提交按钮
84 const submitForm = async () => { 84 const submitForm = async () => {
85 - loading.value = true  
86 - // 提交请求  
87 - try {  
88 - const data = unref(formRef)?.formModel as DeptVO  
89 - data.parentId = deptParentId.value  
90 - data.leaderUserId = leaderUserId.value  
91 - if (formTitle.value.startsWith('新增')) {  
92 - await DeptApi.createDeptApi(data)  
93 - } else if (formTitle.value.startsWith('修改')) {  
94 - await DeptApi.updateDeptApi(data) 85 + const elForm = unref(formRef)?.getElFormRef()
  86 + if (!elForm) return
  87 + elForm.validate(async (valid) => {
  88 + if (valid) {
  89 + loading.value = true
  90 + // 提交请求
  91 + try {
  92 + const data = unref(formRef)?.formModel as DeptVO
  93 + data.parentId = deptParentId.value
  94 + data.leaderUserId = leaderUserId.value
  95 + if (formTitle.value.startsWith('新增')) {
  96 + await DeptApi.createDeptApi(data)
  97 + } else if (formTitle.value.startsWith('修改')) {
  98 + await DeptApi.updateDeptApi(data)
  99 + }
  100 + // 操作成功,重新加载列表
  101 + dialogVisible.value = false
  102 + } finally {
  103 + loading.value = false
  104 + }
95 } 105 }
96 - // 操作成功,重新加载列表  
97 - dialogVisible.value = false  
98 - } finally {  
99 - loading.value = false  
100 - } 106 + })
101 } 107 }
102 onMounted(async () => { 108 onMounted(async () => {
103 await getTree() 109 await getTree()
yudao-ui-admin-vue3/src/views/system/dict/index.vue
@@ -92,43 +92,55 @@ const setDialogTile = (type: string) => { @@ -92,43 +92,55 @@ const setDialogTile = (type: string) => {
92 } 92 }
93 // 提交按钮 93 // 提交按钮
94 const submitTypeForm = async () => { 94 const submitTypeForm = async () => {
95 - actionLoading.value = true  
96 - // 提交请求  
97 - try {  
98 - const data = unref(typeFormRef)?.formModel as DictTypeVO  
99 - if (actionType.value === 'typeCreate') {  
100 - await DictTypeApi.createDictTypeApi(data)  
101 - ElMessage.success(t('common.createSuccess'))  
102 - } else if (actionType.value === 'typeUpdate') {  
103 - await DictTypeApi.updateDictTypeApi(data)  
104 - ElMessage.success(t('common.updateSuccess')) 95 + const elForm = unref(typeFormRef)?.getElFormRef()
  96 + if (!elForm) return
  97 + elForm.validate(async (valid) => {
  98 + if (valid) {
  99 + actionLoading.value = true
  100 + // 提交请求
  101 + try {
  102 + const data = unref(typeFormRef)?.formModel as DictTypeVO
  103 + if (actionType.value === 'typeCreate') {
  104 + await DictTypeApi.createDictTypeApi(data)
  105 + ElMessage.success(t('common.createSuccess'))
  106 + } else if (actionType.value === 'typeUpdate') {
  107 + await DictTypeApi.updateDictTypeApi(data)
  108 + ElMessage.success(t('common.updateSuccess'))
  109 + }
  110 + // 操作成功,重新加载列表
  111 + await getTypeList()
  112 + dialogVisible.value = false
  113 + } finally {
  114 + actionLoading.value = false
  115 + }
105 } 116 }
106 - // 操作成功,重新加载列表  
107 - await getTypeList()  
108 - dialogVisible.value = false  
109 - } finally {  
110 - actionLoading.value = false  
111 - } 117 + })
112 } 118 }
113 const submitDataForm = async () => { 119 const submitDataForm = async () => {
114 - actionLoading.value = true  
115 - // 提交请求  
116 - try {  
117 - const data = unref(dataFormRef)?.formModel as DictDataVO  
118 - if (actionType.value === 'dataCreate') {  
119 - data.dictType = parentType.value  
120 - await DictDataApi.createDictDataApi(data)  
121 - ElMessage.success(t('common.createSuccess'))  
122 - } else if (actionType.value === 'dataUpdate') {  
123 - await DictDataApi.updateDictDataApi(data)  
124 - ElMessage.success(t('common.updateSuccess')) 120 + const elForm = unref(dataFormRef)?.getElFormRef()
  121 + if (!elForm) return
  122 + elForm.validate(async (valid) => {
  123 + if (valid) {
  124 + actionLoading.value = true
  125 + // 提交请求
  126 + try {
  127 + const data = unref(dataFormRef)?.formModel as DictDataVO
  128 + if (actionType.value === 'dataCreate') {
  129 + data.dictType = parentType.value
  130 + await DictDataApi.createDictDataApi(data)
  131 + ElMessage.success(t('common.createSuccess'))
  132 + } else if (actionType.value === 'dataUpdate') {
  133 + await DictDataApi.updateDictDataApi(data)
  134 + ElMessage.success(t('common.updateSuccess'))
  135 + }
  136 + await getDataList()
  137 + // 操作成功,重新加载列表
  138 + dialogVisible.value = false
  139 + } finally {
  140 + actionLoading.value = false
  141 + }
125 } 142 }
126 - await getDataList()  
127 - // 操作成功,重新加载列表  
128 - dialogVisible.value = false  
129 - } finally {  
130 - actionLoading.value = false  
131 - } 143 + })
132 } 144 }
133 // 初始化查询 145 // 初始化查询
134 onMounted(async () => { 146 onMounted(async () => {
yudao-ui-admin-vue3/src/views/system/errorCode/index.vue
@@ -49,23 +49,29 @@ const handleUpdate = async (row: ErrorCodeVO) => { @@ -49,23 +49,29 @@ const handleUpdate = async (row: ErrorCodeVO) => {
49 49
50 // 提交按钮 50 // 提交按钮
51 const submitForm = async () => { 51 const submitForm = async () => {
52 - loading.value = true  
53 - // 提交请求  
54 - try {  
55 - const data = unref(formRef)?.formModel as ErrorCodeVO  
56 - if (actionType.value === 'create') {  
57 - await ErrorCodeApi.createErrorCodeApi(data)  
58 - ElMessage.success(t('common.createSuccess'))  
59 - } else {  
60 - await ErrorCodeApi.updateErrorCodeApi(data)  
61 - ElMessage.success(t('common.updateSuccess')) 52 + const elForm = unref(formRef)?.getElFormRef()
  53 + if (!elForm) return
  54 + elForm.validate(async (valid) => {
  55 + if (valid) {
  56 + loading.value = true
  57 + // 提交请求
  58 + try {
  59 + const data = unref(formRef)?.formModel as ErrorCodeVO
  60 + if (actionType.value === 'create') {
  61 + await ErrorCodeApi.createErrorCodeApi(data)
  62 + ElMessage.success(t('common.createSuccess'))
  63 + } else {
  64 + await ErrorCodeApi.updateErrorCodeApi(data)
  65 + ElMessage.success(t('common.updateSuccess'))
  66 + }
  67 + // 操作成功,重新加载列表
  68 + dialogVisible.value = false
  69 + await getList()
  70 + } finally {
  71 + loading.value = false
  72 + }
62 } 73 }
63 - // 操作成功,重新加载列表  
64 - dialogVisible.value = false  
65 - await getList()  
66 - } finally {  
67 - loading.value = false  
68 - } 74 + })
69 } 75 }
70 76
71 // ========== 详情相关 ========== 77 // ========== 详情相关 ==========
yudao-ui-admin-vue3/src/views/system/menu/index.vue
@@ -127,7 +127,7 @@ const handleDelete = async (row: MenuVO) => { @@ -127,7 +127,7 @@ const handleDelete = async (row: MenuVO) => {
127 await getList() 127 await getList()
128 } 128 }
129 // 保存操作 129 // 保存操作
130 -function isExternal(path: string) { 130 +const isExternal = (path: string) => {
131 return /^(https?:|mailto:|tel:)/.test(path) 131 return /^(https?:|mailto:|tel:)/.test(path)
132 } 132 }
133 const submitForm = async () => { 133 const submitForm = async () => {
yudao-ui-admin-vue3/src/views/system/notice/index.vue
@@ -48,23 +48,29 @@ const handleUpdate = async (row: NoticeVO) => { @@ -48,23 +48,29 @@ const handleUpdate = async (row: NoticeVO) => {
48 48
49 // 提交按钮 49 // 提交按钮
50 const submitForm = async () => { 50 const submitForm = async () => {
51 - actionLoading.value = true  
52 - // 提交请求  
53 - try {  
54 - const data = unref(formRef)?.formModel as NoticeVO  
55 - if (actionType.value === 'create') {  
56 - await NoticeApi.createNoticeApi(data)  
57 - ElMessage.success(t('common.createSuccess'))  
58 - } else {  
59 - await NoticeApi.updateNoticeApi(data)  
60 - ElMessage.success(t('common.updateSuccess')) 51 + const elForm = unref(formRef)?.getElFormRef()
  52 + if (!elForm) return
  53 + elForm.validate(async (valid) => {
  54 + if (valid) {
  55 + actionLoading.value = true
  56 + // 提交请求
  57 + try {
  58 + const data = unref(formRef)?.formModel as NoticeVO
  59 + if (actionType.value === 'create') {
  60 + await NoticeApi.createNoticeApi(data)
  61 + ElMessage.success(t('common.createSuccess'))
  62 + } else {
  63 + await NoticeApi.updateNoticeApi(data)
  64 + ElMessage.success(t('common.updateSuccess'))
  65 + }
  66 + // 操作成功,重新加载列表
  67 + dialogVisible.value = false
  68 + await getList()
  69 + } finally {
  70 + actionLoading.value = false
  71 + }
61 } 72 }
62 - // 操作成功,重新加载列表  
63 - dialogVisible.value = false  
64 - await getList()  
65 - } finally {  
66 - actionLoading.value = false  
67 - } 73 + })
68 } 74 }
69 75
70 // ========== 详情相关 ========== 76 // ========== 详情相关 ==========
yudao-ui-admin-vue3/src/views/system/oauth2/client/index.vue
@@ -49,23 +49,29 @@ const handleUpdate = async (row: OAuth2ClientVo) => { @@ -49,23 +49,29 @@ const handleUpdate = async (row: OAuth2ClientVo) => {
49 49
50 // 提交按钮 50 // 提交按钮
51 const submitForm = async () => { 51 const submitForm = async () => {
52 - actionLoading.value = true  
53 - // 提交请求  
54 - try {  
55 - const data = unref(formRef)?.formModel as OAuth2ClientVo  
56 - if (actionType.value === 'create') {  
57 - await ClientApi.createOAuth2ClientApi(data)  
58 - ElMessage.success(t('common.createSuccess'))  
59 - } else {  
60 - await ClientApi.updateOAuth2ClientApi(data)  
61 - ElMessage.success(t('common.updateSuccess')) 52 + const elForm = unref(formRef)?.getElFormRef()
  53 + if (!elForm) return
  54 + elForm.validate(async (valid) => {
  55 + if (valid) {
  56 + actionLoading.value = true
  57 + // 提交请求
  58 + try {
  59 + const data = unref(formRef)?.formModel as OAuth2ClientVo
  60 + if (actionType.value === 'create') {
  61 + await ClientApi.createOAuth2ClientApi(data)
  62 + ElMessage.success(t('common.createSuccess'))
  63 + } else {
  64 + await ClientApi.updateOAuth2ClientApi(data)
  65 + ElMessage.success(t('common.updateSuccess'))
  66 + }
  67 + // 操作成功,重新加载列表
  68 + dialogVisible.value = false
  69 + await getList()
  70 + } finally {
  71 + actionLoading.value = false
  72 + }
62 } 73 }
63 - // 操作成功,重新加载列表  
64 - dialogVisible.value = false  
65 - await getList()  
66 - } finally {  
67 - actionLoading.value = false  
68 - } 74 + })
69 } 75 }
70 76
71 // ========== 详情相关 ========== 77 // ========== 详情相关 ==========
yudao-ui-admin-vue3/src/views/system/post/index.vue
@@ -50,23 +50,29 @@ const handleUpdate = async (row: PostVO) => { @@ -50,23 +50,29 @@ const handleUpdate = async (row: PostVO) => {
50 50
51 // 提交按钮 51 // 提交按钮
52 const submitForm = async () => { 52 const submitForm = async () => {
53 - actionLoading.value = true  
54 - // 提交请求  
55 - try {  
56 - const data = unref(formRef)?.formModel as PostVO  
57 - if (actionType.value === 'create') {  
58 - await PostApi.createPostApi(data)  
59 - ElMessage.success(t('common.createSuccess'))  
60 - } else {  
61 - await PostApi.updatePostApi(data)  
62 - ElMessage.success(t('common.updateSuccess')) 53 + const elForm = unref(formRef)?.getElFormRef()
  54 + if (!elForm) return
  55 + elForm.validate(async (valid) => {
  56 + if (valid) {
  57 + actionLoading.value = true
  58 + // 提交请求
  59 + try {
  60 + const data = unref(formRef)?.formModel as PostVO
  61 + if (actionType.value === 'create') {
  62 + await PostApi.createPostApi(data)
  63 + ElMessage.success(t('common.createSuccess'))
  64 + } else {
  65 + await PostApi.updatePostApi(data)
  66 + ElMessage.success(t('common.updateSuccess'))
  67 + }
  68 + // 操作成功,重新加载列表
  69 + dialogVisible.value = false
  70 + await getList()
  71 + } finally {
  72 + actionLoading.value = false
  73 + }
63 } 74 }
64 - // 操作成功,重新加载列表  
65 - dialogVisible.value = false  
66 - await getList()  
67 - } finally {  
68 - actionLoading.value = false  
69 - } 75 + })
70 } 76 }
71 77
72 // ========== 详情相关 ========== 78 // ========== 详情相关 ==========
yudao-ui-admin-vue3/src/views/system/role/index.vue
@@ -68,23 +68,29 @@ const handleUpdate = async (row: RoleVO) => { @@ -68,23 +68,29 @@ const handleUpdate = async (row: RoleVO) => {
68 68
69 // 提交按钮 69 // 提交按钮
70 const submitForm = async () => { 70 const submitForm = async () => {
71 - loading.value = true  
72 - // 提交请求  
73 - try {  
74 - const data = unref(formRef)?.formModel as RoleVO  
75 - if (actionType.value === 'create') {  
76 - await RoleApi.createRoleApi(data)  
77 - ElMessage.success(t('common.createSuccess'))  
78 - } else {  
79 - await RoleApi.updateRoleApi(data)  
80 - ElMessage.success(t('common.updateSuccess')) 71 + const elForm = unref(formRef)?.getElFormRef()
  72 + if (!elForm) return
  73 + elForm.validate(async (valid) => {
  74 + if (valid) {
  75 + loading.value = true
  76 + // 提交请求
  77 + try {
  78 + const data = unref(formRef)?.formModel as RoleVO
  79 + if (actionType.value === 'create') {
  80 + await RoleApi.createRoleApi(data)
  81 + ElMessage.success(t('common.createSuccess'))
  82 + } else {
  83 + await RoleApi.updateRoleApi(data)
  84 + ElMessage.success(t('common.updateSuccess'))
  85 + }
  86 + // 操作成功,重新加载列表
  87 + dialogVisible.value = false
  88 + await getList()
  89 + } finally {
  90 + loading.value = false
  91 + }
81 } 92 }
82 - // 操作成功,重新加载列表  
83 - dialogVisible.value = false  
84 - await getList()  
85 - } finally {  
86 - loading.value = false  
87 - } 93 + })
88 } 94 }
89 95
90 // ========== 详情相关 ========== 96 // ========== 详情相关 ==========
yudao-ui-admin-vue3/src/views/system/sensitiveWord/index.vue
@@ -56,23 +56,29 @@ const handleUpdate = async (row: SensitiveWordVO) => { @@ -56,23 +56,29 @@ const handleUpdate = async (row: SensitiveWordVO) => {
56 56
57 // 提交按钮 57 // 提交按钮
58 const submitForm = async () => { 58 const submitForm = async () => {
59 - actionLoading.value = true  
60 - // 提交请求  
61 - try {  
62 - const data = unref(formRef)?.formModel as SensitiveWordVO  
63 - if (actionType.value === 'create') {  
64 - await SensitiveWordApi.createSensitiveWordApi(data)  
65 - ElMessage.success(t('common.createSuccess'))  
66 - } else {  
67 - await SensitiveWordApi.updateSensitiveWordApi(data)  
68 - ElMessage.success(t('common.updateSuccess')) 59 + const elForm = unref(formRef)?.getElFormRef()
  60 + if (!elForm) return
  61 + elForm.validate(async (valid) => {
  62 + if (valid) {
  63 + actionLoading.value = true
  64 + // 提交请求
  65 + try {
  66 + const data = unref(formRef)?.formModel as SensitiveWordVO
  67 + if (actionType.value === 'create') {
  68 + await SensitiveWordApi.createSensitiveWordApi(data)
  69 + ElMessage.success(t('common.createSuccess'))
  70 + } else {
  71 + await SensitiveWordApi.updateSensitiveWordApi(data)
  72 + ElMessage.success(t('common.updateSuccess'))
  73 + }
  74 + // 操作成功,重新加载列表
  75 + dialogVisible.value = false
  76 + await getList()
  77 + } finally {
  78 + actionLoading.value = false
  79 + }
69 } 80 }
70 - // 操作成功,重新加载列表  
71 - dialogVisible.value = false  
72 - await getList()  
73 - } finally {  
74 - actionLoading.value = false  
75 - } 81 + })
76 } 82 }
77 83
78 // ========== 详情相关 ========== 84 // ========== 详情相关 ==========
yudao-ui-admin-vue3/src/views/system/sms/smsChannel/index.vue
@@ -49,23 +49,29 @@ const handleUpdate = async (row: SmsChannelVO) => { @@ -49,23 +49,29 @@ const handleUpdate = async (row: SmsChannelVO) => {
49 49
50 // 提交按钮 50 // 提交按钮
51 const submitForm = async () => { 51 const submitForm = async () => {
52 - loading.value = true  
53 - // 提交请求  
54 - try {  
55 - const data = unref(formRef)?.formModel as SmsChannelVO  
56 - if (actionType.value === 'create') {  
57 - await SmsChannelApi.createSmsChannelApi(data)  
58 - ElMessage.success(t('common.createSuccess'))  
59 - } else {  
60 - await SmsChannelApi.updateSmsChannelApi(data)  
61 - ElMessage.success(t('common.updateSuccess')) 52 + const elForm = unref(formRef)?.getElFormRef()
  53 + if (!elForm) return
  54 + elForm.validate(async (valid) => {
  55 + if (valid) {
  56 + loading.value = true
  57 + // 提交请求
  58 + try {
  59 + const data = unref(formRef)?.formModel as SmsChannelVO
  60 + if (actionType.value === 'create') {
  61 + await SmsChannelApi.createSmsChannelApi(data)
  62 + ElMessage.success(t('common.createSuccess'))
  63 + } else {
  64 + await SmsChannelApi.updateSmsChannelApi(data)
  65 + ElMessage.success(t('common.updateSuccess'))
  66 + }
  67 + // 操作成功,重新加载列表
  68 + dialogVisible.value = false
  69 + await getList()
  70 + } finally {
  71 + loading.value = false
  72 + }
62 } 73 }
63 - // 操作成功,重新加载列表  
64 - dialogVisible.value = false  
65 - await getList()  
66 - } finally {  
67 - loading.value = false  
68 - } 74 + })
69 } 75 }
70 76
71 // ========== 详情相关 ========== 77 // ========== 详情相关 ==========
yudao-ui-admin-vue3/src/views/system/sms/smsTemplate/index.vue
@@ -49,23 +49,29 @@ const handleUpdate = async (row: SmsTemplateVO) => { @@ -49,23 +49,29 @@ const handleUpdate = async (row: SmsTemplateVO) => {
49 49
50 // 提交按钮 50 // 提交按钮
51 const submitForm = async () => { 51 const submitForm = async () => {
52 - loading.value = true  
53 - // 提交请求  
54 - try {  
55 - const data = unref(formRef)?.formModel as SmsTemplateVO  
56 - if (actionType.value === 'create') {  
57 - await SmsTemplateApi.createSmsTemplateApi(data)  
58 - ElMessage.success(t('common.createSuccess'))  
59 - } else {  
60 - await SmsTemplateApi.updateSmsTemplateApi(data)  
61 - ElMessage.success(t('common.updateSuccess')) 52 + const elForm = unref(formRef)?.getElFormRef()
  53 + if (!elForm) return
  54 + elForm.validate(async (valid) => {
  55 + if (valid) {
  56 + loading.value = true
  57 + // 提交请求
  58 + try {
  59 + const data = unref(formRef)?.formModel as SmsTemplateVO
  60 + if (actionType.value === 'create') {
  61 + await SmsTemplateApi.createSmsTemplateApi(data)
  62 + ElMessage.success(t('common.createSuccess'))
  63 + } else {
  64 + await SmsTemplateApi.updateSmsTemplateApi(data)
  65 + ElMessage.success(t('common.updateSuccess'))
  66 + }
  67 + // 操作成功,重新加载列表
  68 + dialogVisible.value = false
  69 + await getList()
  70 + } finally {
  71 + loading.value = false
  72 + }
62 } 73 }
63 - // 操作成功,重新加载列表  
64 - dialogVisible.value = false  
65 - await getList()  
66 - } finally {  
67 - loading.value = false  
68 - } 74 + })
69 } 75 }
70 76
71 // ========== 详情相关 ========== 77 // ========== 详情相关 ==========
yudao-ui-admin-vue3/src/views/system/tenant/index.vue
@@ -71,26 +71,32 @@ const handleUpdate = async (row: any) => { @@ -71,26 +71,32 @@ const handleUpdate = async (row: any) => {
71 71
72 // 提交按钮 72 // 提交按钮
73 const submitForm = async () => { 73 const submitForm = async () => {
74 - actionLoading.value = true  
75 - // 提交请求 unix()  
76 - try {  
77 - const data = unref(formRef)?.formModel as TenantVO  
78 - data.packageId = tenantPackageId.value  
79 - if (actionType.value === 'create') {  
80 - data.expireTime = dayjs(data.expireTime).valueOf().toString()  
81 - await TenantApi.createTenantApi(data)  
82 - ElMessage.success(t('common.createSuccess'))  
83 - } else {  
84 - data.expireTime = dayjs(data.expireTime).valueOf().toString()  
85 - await TenantApi.updateTenantApi(data)  
86 - ElMessage.success(t('common.updateSuccess')) 74 + const elForm = unref(formRef)?.getElFormRef()
  75 + if (!elForm) return
  76 + elForm.validate(async (valid) => {
  77 + if (valid) {
  78 + actionLoading.value = true
  79 + // 提交请求
  80 + try {
  81 + const data = unref(formRef)?.formModel as TenantVO
  82 + data.packageId = tenantPackageId.value
  83 + if (actionType.value === 'create') {
  84 + data.expireTime = dayjs(data.expireTime).valueOf().toString()
  85 + await TenantApi.createTenantApi(data)
  86 + ElMessage.success(t('common.createSuccess'))
  87 + } else {
  88 + data.expireTime = dayjs(data.expireTime).valueOf().toString()
  89 + await TenantApi.updateTenantApi(data)
  90 + ElMessage.success(t('common.updateSuccess'))
  91 + }
  92 + // 操作成功,重新加载列表
  93 + dialogVisible.value = false
  94 + await getList()
  95 + } finally {
  96 + actionLoading.value = false
  97 + }
87 } 98 }
88 - // 操作成功,重新加载列表  
89 - dialogVisible.value = false  
90 - await getList()  
91 - } finally {  
92 - actionLoading.value = false  
93 - } 99 + })
94 } 100 }
95 101
96 // ========== 详情相关 ========== 102 // ========== 详情相关 ==========
yudao-ui-admin-vue3/src/views/system/tenantPackage/index.vue
@@ -76,24 +76,30 @@ const handleUpdate = async (row: any) => { @@ -76,24 +76,30 @@ const handleUpdate = async (row: any) => {
76 } 76 }
77 // 提交按钮 77 // 提交按钮
78 const submitForm = async () => { 78 const submitForm = async () => {
79 - loading.value = true  
80 - // 提交请求  
81 - try {  
82 - const data = unref(formRef)?.formModel as TenantPackageVO  
83 - data.menuIds = treeRef.value!.getCheckedKeys(false) as string[]  
84 - if (actionType.value === 'create') {  
85 - await TenantPackageApi.createTenantPackageTypeApi(data)  
86 - ElMessage.success(t('common.createSuccess'))  
87 - } else {  
88 - await TenantPackageApi.updateTenantPackageTypeApi(data)  
89 - ElMessage.success(t('common.updateSuccess')) 79 + const elForm = unref(formRef)?.getElFormRef()
  80 + if (!elForm) return
  81 + elForm.validate(async (valid) => {
  82 + if (valid) {
  83 + loading.value = true
  84 + // 提交请求
  85 + try {
  86 + const data = unref(formRef)?.formModel as TenantPackageVO
  87 + data.menuIds = treeRef.value!.getCheckedKeys(false) as string[]
  88 + if (actionType.value === 'create') {
  89 + await TenantPackageApi.createTenantPackageTypeApi(data)
  90 + ElMessage.success(t('common.createSuccess'))
  91 + } else {
  92 + await TenantPackageApi.updateTenantPackageTypeApi(data)
  93 + ElMessage.success(t('common.updateSuccess'))
  94 + }
  95 + // 操作成功,重新加载列表
  96 + dialogVisible.value = false
  97 + await getList()
  98 + } finally {
  99 + loading.value = false
  100 + }
90 } 101 }
91 - // 操作成功,重新加载列表  
92 - dialogVisible.value = false  
93 - await getList()  
94 - } finally {  
95 - loading.value = false  
96 - } 102 + })
97 } 103 }
98 104
99 // ========== 初始化 ========== 105 // ========== 初始化 ==========