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 50  
51 51 // 提交按钮
52 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 128 const refreshTokenRes = await refreshToken()
129 129 // 2.1 刷新成功,则回放队列的请求 + 当前请求
130 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 136 return service(response.config)
133 137 } catch (e) {
134 138 // 为什么需要 catch 异常呢?刷新失败时,请求因为 Promise.reject 触发异常。
135 139 // 2.2 刷新失败,只回放队列的请求
136   - requestList.forEach((cb: any) => cb())
  140 + requestList.forEach((cb: any) => {
  141 + cb()
  142 + })
137 143 // 提示是否要登出。即不回放当前请求!不然会形成递归
138 144 return handleAuthorized()
139 145 } finally {
... ... @@ -194,10 +200,7 @@ service.interceptors.response.use(
194 200 )
195 201  
196 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 205 const handleAuthorized = () => {
203 206 const { t } = useI18n()
... ...
yudao-ui-admin-vue3/src/views/Login/components/LoginForm.vue
... ... @@ -111,6 +111,10 @@ const handleLogin = async (params) => {
111 111 }
112 112 loginData.loginForm.captchaVerification = params.captchaVerification
113 113 const res = await LoginApi.loginApi(loginData.loginForm)
  114 + if (!res) {
  115 + loginLoading.value = false
  116 + return
  117 + }
114 118 setToken(res)
115 119 if (!redirect.value) {
116 120 redirect.value = '/'
... ...
yudao-ui-admin-vue3/src/views/bpm/form/index.vue
... ... @@ -49,23 +49,29 @@ const handleUpdate = async (row: FormVO) => {
49 49  
50 50 // 提交按钮
51 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 62  
63 63 // 提交按钮
64 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 51  
52 52 // 提交按钮
53 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 50  
51 51 // 提交按钮
52 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 44  
45 45 // 提交按钮
46 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 60  
61 61 // 提交按钮
62 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 98 }
99 99 // 提交按钮
100 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 50  
51 51 // 提交按钮
52 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 50  
51 51 // 提交按钮
52 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 48  
49 49 // 提交按钮
50 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 82 }
83 83 // 提交按钮
84 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 108 onMounted(async () => {
103 109 await getTree()
... ...
yudao-ui-admin-vue3/src/views/system/dict/index.vue
... ... @@ -92,43 +92,55 @@ const setDialogTile = (type: string) => {
92 92 }
93 93 // 提交按钮
94 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 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 146 onMounted(async () => {
... ...
yudao-ui-admin-vue3/src/views/system/errorCode/index.vue
... ... @@ -49,23 +49,29 @@ const handleUpdate = async (row: ErrorCodeVO) => {
49 49  
50 50 // 提交按钮
51 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 127 await getList()
128 128 }
129 129 // 保存操作
130   -function isExternal(path: string) {
  130 +const isExternal = (path: string) => {
131 131 return /^(https?:|mailto:|tel:)/.test(path)
132 132 }
133 133 const submitForm = async () => {
... ...
yudao-ui-admin-vue3/src/views/system/notice/index.vue
... ... @@ -48,23 +48,29 @@ const handleUpdate = async (row: NoticeVO) => {
48 48  
49 49 // 提交按钮
50 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 49  
50 50 // 提交按钮
51 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 50  
51 51 // 提交按钮
52 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 68  
69 69 // 提交按钮
70 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 56  
57 57 // 提交按钮
58 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 49  
50 50 // 提交按钮
51 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 49  
50 50 // 提交按钮
51 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 71  
72 72 // 提交按钮
73 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 76 }
77 77 // 提交按钮
78 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 // ========== 初始化 ==========
... ...