4545 </el-input >
4646 </el-form-item >
4747 <el-form-item :label =" $t('views.userManage.userForm.phone.label')" prop =" phone" >
48- <el-input v-model =" userForm.phone"
49- :placeholder =" $t('views.userManage.userForm.phone.placeholder')" >
48+ <el-input
49+ v-model =" userForm.phone"
50+ :placeholder =" $t('views.userManage.userForm.phone.placeholder')"
51+ >
5052 </el-input >
5153 </el-form-item >
5254 <el-form-item label =" 默认密码" v-if =" !isEdit" >
5355 <span >{{ userForm.password }}</span >
5456 </el-form-item >
5557 </el-form >
5658 <h4 class =" title-decoration-1 mb-16 mt-8" v-if =" user.isEE() || user.isPE()" >
57- {{ $t('views.userManage.roleSetting') }}</h4 >
58- <MemberFormContent ref =" memberFormContentRef" :models =" formItemModel" v-model:form =" list"
59- v-loading =" memberFormContentLoading"
60- keepOneLine
61- :addText =" $t('views.userManage.addRole')" v-if =" user.isEE() || user.isPE()"
62- :deleteButtonDisabled =" deleteButtonDisabled" />
59+ {{ $t('views.userManage.roleSetting') }}
60+ </h4 >
61+ <MemberFormContent
62+ ref =" memberFormContentRef"
63+ :models =" formItemModel"
64+ v-model:form =" list"
65+ v-loading =" memberFormContentLoading"
66+ keepOneLine
67+ :addText =" $t('views.userManage.addRole')"
68+ v-if =" user.isEE() || user.isPE()"
69+ :deleteButtonDisabled =" deleteButtonDisabled"
70+ />
6371 <template #footer >
6472 <el-button @click.prevent =" visible = false" > {{ $t('common.cancel') }}</el-button >
6573 <el-button type =" primary" @click =" submit(userFormRef)" :loading =" loading" >
6977 </el-drawer >
7078</template >
7179<script setup lang="ts">
72- import {ref , reactive , watch , onBeforeMount , computed } from ' vue'
73- import type {FormInstance } from ' element-plus'
80+ import { ref , reactive , watch , onBeforeMount , computed } from ' vue'
81+ import type { FormInstance } from ' element-plus'
7482import userManageApi from ' @/api/system/user-manage'
75- import {MsgSuccess } from ' @/utils/message'
76- import {t } from ' @/locales'
77- import type {FormItemModel } from ' @/api/type/role'
83+ import { MsgSuccess } from ' @/utils/message'
84+ import { t } from ' @/locales'
85+ import type { FormItemModel } from ' @/api/type/role'
7886import WorkspaceApi from ' @/api/workspace/workspace'
7987import MemberFormContent from ' @/views/system/role/component/MemberFormContent.vue'
80- import {RoleTypeEnum } from ' @/enums/system'
81- import useStore from " @/stores" ;
88+ import { RoleTypeEnum } from ' @/enums/system'
89+ import useStore from ' @/stores'
8290
83- const {user} = useStore ()
91+ const { user } = useStore ()
8492const props = defineProps ({
8593 title: String ,
8694})
@@ -96,46 +104,49 @@ const userForm = ref<any>({
96104 nick_name: ' ' ,
97105})
98106
99- const list = ref <any []>([]);
100- const memberFormContentLoading = ref (false );
101- const formItemModel = ref <FormItemModel []>([]);
102- const roleFormItem = ref <FormItemModel []>([]);
107+ const list = ref <any []>([])
108+ const memberFormContentLoading = ref (false )
109+ const formItemModel = ref <FormItemModel []>([])
110+ const roleFormItem = ref <FormItemModel []>([])
103111const adminRoleList = ref <any []>([])
104112const workspaceFormItem = ref <FormItemModel []>([])
105113
106114const isAdmin = computed (() => userForm .value [' id' ] === ' f0dd8f71-e4ee-11ee-8c84-a8a1595801ab' )
107115
108116function deleteButtonDisabled(element : any ) {
109- if (isAdmin .value && [' ADMIN' ,' WORKSPACE_MANAGE' , ' USER' ].includes (element .role_id )) {
117+ if (isAdmin .value && [' ADMIN' , ' WORKSPACE_MANAGE' , ' USER' ].includes (element .role_id )) {
110118 return true
111119 }
112120 return false
113121}
114122
115123async function getRoleFormItem() {
116124 try {
117- const res = await WorkspaceApi .getWorkspaceRoleList (memberFormContentLoading );
118- roleFormItem .value = [{
119- path: ' role_id' ,
120- label: t (' views.role.member.role' ),
121- rules: [
122- {
123- required: true ,
124- message: ` ${t (' common.selectPlaceholder' )}${t (' views.role.member.role' )} ` ,
125+ const res = await WorkspaceApi .getWorkspaceRoleList (memberFormContentLoading )
126+ roleFormItem .value = [
127+ {
128+ path: ' role_id' ,
129+ label: t (' views.role.member.role' ),
130+ rules: [
131+ {
132+ required: true ,
133+ message: ` ${t (' common.selectPlaceholder' )}${t (' views.role.member.role' )} ` ,
134+ },
135+ ],
136+ selectProps: {
137+ options:
138+ res .data ?.map ((item ) => ({
139+ label: item .name ,
140+ value: item .id ,
141+ })) || [],
142+ placeholder: ` ${t (' common.selectPlaceholder' )}${t (' views.role.member.role' )} ` ,
143+ multiple: false ,
125144 },
126- ],
127- selectProps: {
128- options: res .data ?.map (item => ({
129- label: item .name ,
130- value: item .id
131- })) || [],
132- placeholder: ` ${t (' common.selectPlaceholder' )}${t (' views.role.member.role' )} ` ,
133- multiple: false
134- }
135- }]
136- adminRoleList .value = res .data .filter (item => item .type === RoleTypeEnum .ADMIN )
145+ },
146+ ]
147+ adminRoleList .value = res .data .filter ((item ) => item .type === RoleTypeEnum .ADMIN )
137148 } catch (e ) {
138- console .error (e );
149+ console .error (e )
139150 }
140151}
141152
@@ -146,16 +157,20 @@ async function getWorkspaceFormItem() {
146157 {
147158 path: ' workspace_ids' ,
148159 label: t (' views.role.member.workspace' ),
149- hidden : (e ) => adminRoleList .value .find (item => item .id === e .role_id ),
160+ hidden : (e ) => adminRoleList .value .find (( item ) => item .id === e .role_id ),
150161 rules: [
151162 {
152163 validator : (rule , value , callback ) => {
153- const match = rule .field ?.match (/ \[ (\d + )\] / );
154- const isAdmin = adminRoleList .value .some (role => role .id === list .value [parseInt (match ?.[1 ] ?? ' ' , 10 )].role_id );
164+ const match = rule .field ?.match (/ \[ (\d + )\] / )
165+ const isAdmin = adminRoleList .value .some (
166+ (role ) => role .id === list .value [parseInt (match ?.[1 ] ?? ' ' , 10 )].role_id ,
167+ )
155168 if (! isAdmin && (! value || value .length === 0 )) {
156- callback (new Error (` ${t (' common.selectPlaceholder' )}${t (' views.role.member.workspace' )} ` ));
169+ callback (
170+ new Error (` ${t (' common.selectPlaceholder' )}${t (' views.role.member.workspace' )} ` ),
171+ )
157172 } else {
158- callback ();
173+ callback ()
159174 }
160175 },
161176 trigger: ' blur' ,
@@ -166,12 +181,15 @@ async function getWorkspaceFormItem() {
166181 res .data ?.map ((item ) => ({
167182 label: item .name ,
168183 value: item .id ,
169- disabledFunction : (e : any )=> isAdmin .value && [' WORKSPACE_MANAGE' , ' USER' ].includes (e .role_id ) && item .id === ' default'
184+ disabledFunction : (e : any ) =>
185+ isAdmin .value &&
186+ [' WORKSPACE_MANAGE' , ' USER' ].includes (e .role_id ) &&
187+ item .id === ' default' ,
170188 })) || [],
171189 placeholder: ` ${t (' common.selectPlaceholder' )}${t (' views.role.member.workspace' )} ` ,
172- clearableFunction : (e )=> {
190+ clearableFunction : (e ) => {
173191 return ! (isAdmin .value && [' WORKSPACE_MANAGE' , ' USER' ].includes (e .role_id ))
174- }
192+ },
175193 },
176194 },
177195 ]
@@ -182,13 +200,13 @@ async function getWorkspaceFormItem() {
182200
183201onBeforeMount (async () => {
184202 if (user .isEE () || user .isPE ()) {
185- await getRoleFormItem ();
203+ await getRoleFormItem ()
186204 if (user .isEE ()) {
187- await getWorkspaceFormItem ();
205+ await getWorkspaceFormItem ()
188206 }
189207 formItemModel .value = [... roleFormItem .value , ... workspaceFormItem .value ]
190208 }
191- list .value = [{role_id: ' ' , workspace_ids: []}]
209+ list .value = [{ role_id: ' ' , workspace_ids: [] }]
192210})
193211
194212const rules = reactive ({
@@ -260,7 +278,7 @@ watch(visible, (bool) => {
260278 nick_name: ' ' ,
261279 }
262280 isEdit .value = false
263- list .value = [{role_id: ' ' , workspace_ids: []}]
281+ list .value = [{ role_id: ' ' , workspace_ids: [] }]
264282 userFormRef .value ?.clearValidate ()
265283 }
266284})
@@ -273,7 +291,10 @@ const open = (data: any) => {
273291 userForm .value .password = data .password
274292 userForm .value .phone = data .phone
275293 userForm .value .nick_name = data .nick_name
276- list .value = data .role_setting .map (item => ({... item , workspace_ids: item .workspace_ids .includes (' None' )? []: item .workspace_ids }))
294+ list .value = data .role_setting .map ((item : any ) => ({
295+ ... item ,
296+ workspace_ids: item .workspace_ids .includes (' None' ) ? [] : item .workspace_ids ,
297+ }))
277298 isEdit .value = true
278299 } else {
279300 // 需要查询默认密码是啥zxl
@@ -294,26 +315,26 @@ const submit = async (formEl: FormInstance | undefined) => {
294315 await memberFormContentRef .value ?.validate ()
295316 }
296317 if (user .isPE () || user .isEE ()) {
297- list .value = list .value .map (item => {
298- const isAdminRole = adminRoleList .value .find (item1 => item1 .id === item .role_id );
318+ list .value = list .value .map (( item ) => {
319+ const isAdminRole = adminRoleList .value .find (( item1 ) => item1 .id === item .role_id )
299320
300321 // 如果是管理员角色,则设置为 ['None']
301322 if (isAdminRole ) {
302- return {... item , workspace_ids: [' None' ]};
323+ return { ... item , workspace_ids: [' None' ] }
303324 }
304325
305326 // 如果是普通用户且是 PE 类型,则设置为 ['default']
306327 if (user .isPE ()) {
307- return {... item , workspace_ids: [' default' ]};
328+ return { ... item , workspace_ids: [' default' ] }
308329 }
309330
310331 // 其他情况保持原样
311- return item ;
312- });
332+ return item
333+ })
313334 }
314335 const params = {
315336 ... userForm .value ,
316- role_setting: list .value
337+ role_setting: list .value ,
317338 }
318339 if (isEdit .value ) {
319340 userManageApi .putUserManage (userForm .value .id , params , loading ).then ((res ) => {
@@ -332,6 +353,6 @@ const submit = async (formEl: FormInstance | undefined) => {
332353 })
333354}
334355
335- defineExpose ({open })
356+ defineExpose ({ open })
336357 </script >
337358<style lang="scss" scoped></style >
0 commit comments