feat: add resetValidation method to MemberFormContent and improve formatting in UserDrawer
Some checks failed
sync2gitee / repo-sync (push) Has been cancelled
Typos Check / Spell Check with Typos (push) Has been cancelled

This commit is contained in:
wxg0103 2025-09-26 18:23:21 +08:00
parent cc0eef326b
commit d466d0f512
2 changed files with 21 additions and 13 deletions

View File

@ -109,5 +109,10 @@ const validate = () => {
return Promise.resolve()
}
defineExpose({ validate })
const resetValidation = () => {
if (formRef.value) {
formRef.value.clearValidate()
}
}
defineExpose({ validate, resetValidation })
</script>

View File

@ -77,18 +77,18 @@
</el-drawer>
</template>
<script setup lang="ts">
import { ref, reactive, watch, onBeforeMount, computed } from 'vue'
import type { FormInstance } from 'element-plus'
import {ref, reactive, watch, onBeforeMount, computed} from 'vue'
import type {FormInstance} from 'element-plus'
import userManageApi from '@/api/system/user-manage'
import { MsgSuccess } from '@/utils/message'
import { t } from '@/locales'
import type { FormItemModel } from '@/api/type/role'
import {MsgSuccess} from '@/utils/message'
import {t} from '@/locales'
import type {FormItemModel} from '@/api/type/role'
import WorkspaceApi from '@/api/workspace/workspace'
import MemberFormContent from '@/views/system/role/component/MemberFormContent.vue'
import { RoleTypeEnum } from '@/enums/system'
import {RoleTypeEnum} from '@/enums/system'
import useStore from '@/stores'
const { user } = useStore()
const {user} = useStore()
const props = defineProps({
title: String,
})
@ -206,7 +206,7 @@ onBeforeMount(async () => {
}
formItemModel.value = [...roleFormItem.value, ...workspaceFormItem.value]
}
list.value = [{ role_id: '', workspace_ids: [] }]
list.value = [{role_id: '', workspace_ids: []}]
})
const rules = reactive({
@ -278,7 +278,7 @@ watch(visible, (bool) => {
nick_name: '',
}
isEdit.value = false
list.value = [{ role_id: '', workspace_ids: [] }]
list.value = [{role_id: '', workspace_ids: []}]
userFormRef.value?.clearValidate()
}
})
@ -300,6 +300,9 @@ const open = (data: any) => {
userManageApi.getSystemDefaultPassword().then((res: any) => {
userForm.value.password = res.data.password
})
if (memberFormContentRef.value) {
memberFormContentRef.value.resetValidation()
}
}
visible.value = true
@ -319,12 +322,12 @@ const submit = async (formEl: FormInstance | undefined) => {
// ['None']
if (isAdminRole) {
return { ...item, workspace_ids: ['None'] }
return {...item, workspace_ids: ['None']}
}
// PE ['default']
if (user.isPE()) {
return { ...item, workspace_ids: ['default'] }
return {...item, workspace_ids: ['default']}
}
//
@ -366,6 +369,6 @@ const submit = async (formEl: FormInstance | undefined) => {
})
}
defineExpose({ open })
defineExpose({open})
</script>
<style lang="scss" scoped></style>