|
@@ -62,6 +62,7 @@
|
|
|
<v-btn v-if="item.userType === '0'" color="primary" variant="text" @click="handleEdit(item)">编辑</v-btn>
|
|
|
<v-btn v-if="item.status === '1' && item.userType !== '1'" color="primary" variant="text" @click="handleAction('', 0, item)">{{ $t('enterprise.userManagement.enable') }}</v-btn>
|
|
|
<v-btn v-if="item.status === '0' && item.userType !== '1'" color="primary" variant="text" @click="handleAction('', 1, item)">{{ $t('enterprise.userManagement.disable') }}</v-btn>
|
|
|
+ <v-btn color="primary" variant="text" @click="handleRole(item)">分配角色</v-btn>
|
|
|
</template>
|
|
|
</CtTable>
|
|
|
</v-col>
|
|
@@ -93,6 +94,11 @@
|
|
|
</CtForm>
|
|
|
</CtDialog>
|
|
|
|
|
|
+
|
|
|
+ <CtDialog :visible="showRole" :widthType="2" titleClass="text-h6" title="分配角色" @close="showRole = false; roleItem = null" @submit="handleSubmitRole">
|
|
|
+ <CtForm v-loading="roleLoading" ref="CtFormRef" class="mt-3" :items="roleForm"></CtForm>
|
|
|
+ </CtDialog>
|
|
|
+
|
|
|
<ImgCropper :visible="isShowCopper" :image="selectPic" :cropBoxResizable="true" @submit="handleHideCopper" :aspectRatio="1 / 1" @close="isShowCopper = false"></ImgCropper>
|
|
|
</template>
|
|
|
|
|
@@ -112,6 +118,12 @@ import { uploadFile } from '@/api/common'
|
|
|
import { getToken } from '@/utils/auth'
|
|
|
import { formatName } from '@/utils/getText';
|
|
|
|
|
|
+import {
|
|
|
+ getRoleList,
|
|
|
+ getRolePageSimple,
|
|
|
+ saveUserRole
|
|
|
+} from '@/api/recruit/enterprise/system/role'
|
|
|
+
|
|
|
const { t } = useI18n()
|
|
|
const showBadge = ref(false) // 性别设置甲方要求已去掉
|
|
|
const total = ref(0)
|
|
@@ -149,6 +161,42 @@ const textItem = ref({
|
|
|
// return (item && item.sex) ? (item.sex === '1' ? 'mdi-gender-male' : 'mdi-gender-female') : 'mdi-gender-female'
|
|
|
// })
|
|
|
|
|
|
+
|
|
|
+// 角色分配
|
|
|
+const showRole = ref(false)
|
|
|
+const roleLoading = ref(false)
|
|
|
+const roleItem = ref(null)
|
|
|
+const roleForm = ref({
|
|
|
+ options: [
|
|
|
+ {
|
|
|
+ type: 'text',
|
|
|
+ key: 'name',
|
|
|
+ value: null,
|
|
|
+ label: t('login.username'),
|
|
|
+ disabled: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: 'text',
|
|
|
+ key: 'enterpriseAnotherName',
|
|
|
+ value: null,
|
|
|
+ label: t('enterprise.userManagement.affiliatedEnterprise'),
|
|
|
+ disabled: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: 'autocomplete',
|
|
|
+ key: 'roleIds',
|
|
|
+ value: [],
|
|
|
+ label: '角色选择',
|
|
|
+ multiple: true,
|
|
|
+ itemText: 'name',
|
|
|
+ itemValue: 'id',
|
|
|
+ items: []
|
|
|
+ }
|
|
|
+ ]
|
|
|
+})
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
// 获取用户列表
|
|
|
const getUserList = async () => {
|
|
|
loading.value = true
|
|
@@ -329,6 +377,33 @@ const handleHideCopper = (data) => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+const handleRole = async (item) => {
|
|
|
+ roleItem.value = item
|
|
|
+ showRole.value = true
|
|
|
+ const list = await getRolePageSimple()
|
|
|
+ const data = await getRoleList({ bindId: item.id })
|
|
|
+ roleForm.value.options.forEach(e => {
|
|
|
+ if (e.key === 'roleIds') {
|
|
|
+ e.items = list
|
|
|
+ e.value = data
|
|
|
+ return
|
|
|
+ }
|
|
|
+ e.value = item[e.key]
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+const handleSubmitRole = async () => {
|
|
|
+ roleLoading.value = true
|
|
|
+ try {
|
|
|
+ await saveUserRole({ bindId: roleItem.value.id, roleIds: roleForm.value.options.find(e => e.key === 'roleIds').value })
|
|
|
+ Snackbar.success('保存成功')
|
|
|
+ showRole.value = false
|
|
|
+ } finally {
|
|
|
+ roleLoading.value = false
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
// 提交
|
|
|
const handleSubmit = async () => {
|
|
|
const { valid } = await CtFormRef.value.formRef.validate()
|