mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
feat: add resetValidation method to MemberFormContent and improve formatting in UserDrawer
This commit is contained in:
parent
cc0eef326b
commit
d466d0f512
|
|
@ -109,5 +109,10 @@ const validate = () => {
|
|||
return Promise.resolve()
|
||||
}
|
||||
|
||||
defineExpose({ validate })
|
||||
const resetValidation = () => {
|
||||
if (formRef.value) {
|
||||
formRef.value.clearValidate()
|
||||
}
|
||||
}
|
||||
defineExpose({ validate, resetValidation })
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
Loading…
Reference in New Issue