Kaynağa Gözat

查询用户角色

zs 11 ay önce
ebeveyn
işleme
de3922901a

+ 12 - 5
src/views/register/index.vue

@@ -25,8 +25,10 @@ import { get, cloneDeep } from 'lodash-es'
 // 接口
 import { DictDataStore } from '@/store/api/system/dictData'
 import { DesignStore } from '@/store/api/platform/design'
+import { RoleStore } from '@/store/api/system/role'
 const dictDataStore = DictDataStore()
 const designStore = DesignStore()
+const roleStore = RoleStore()
 // 组件
 import userCode from './parts/userCode.vue'
 // 路由
@@ -52,8 +54,9 @@ const IndustryList = ref([])
 const cardTypeList = ref([])
 const contributionList = ref([])
 const companyList = ref([])
+const roleList = ref([])
 // 用户类型
-const type = ref('0')
+// const type = ref('0')
 // 用户协议
 const isAgree = ref(false)
 // 请求
@@ -70,6 +73,9 @@ const searchOther = async () => {
   // 用户类型
   result = await dictDataStore.query({ code: 'userType', is_use: '0' })
   if ($checkRes(result)) typeList.value = result.data
+  // 用户角色
+  result = await roleStore.query({ is_use: '0', is_admin_role: '0' })
+  if ($checkRes(result)) roleList.value = result.data
   // // 专家领域
   // result = await dictDataStore.query({ code: 'field', is_use: '0' })
   // if ($checkRes(result)) fieldList.value = result.data
@@ -103,10 +109,10 @@ const searchOther = async () => {
   // 城市
   getCity().then((response) => (cityList.value = response.address))
 }
-// 选择用户类型
-const toSelect = async (data) => {
-  type.value = data
-}
+// // 选择用户类型
+// const toSelect = async (data) => {
+//   type.value = data
+// }
 // 去登录
 const toLogin = () => {
   router.push({ path: '/login' })
@@ -136,6 +142,7 @@ provide('IndustryList', IndustryList)
 provide('cardTypeList', cardTypeList)
 provide('contributionList', contributionList)
 provide('companyList', companyList)
+provide('roleList', roleList)
 // 方法
 provide('toLogin', toLogin)
 provide('toBack', toBack)

+ 12 - 5
src/views/register/parts/userCode.vue

@@ -14,9 +14,11 @@
           <el-radio label="角色用户"></el-radio>
         </el-radio-group>
       </el-form-item>
-      <el-form-item label="角色选择" prop="roleType">
-        <el-radio-group v-model="form.roleType">
-          <el-radio v-for="(item, index) in typeList" :key="index" :label="item.label"></el-radio>
+      <el-form-item label="角色选择" prop="role">
+        <el-radio-group v-model="form.role">
+          <el-radio v-for="(item, index) in roleList" :key="index" :label="item.code">{{
+            item.name
+          }}</el-radio>
         </el-radio-group>
       </el-form-item>
       <el-form-item label="板块选择" prop="plate">
@@ -104,7 +106,7 @@ const toBack = inject('toBack')
 import { UsersStore } from '@/store/api/user/user'
 const store = UsersStore()
 const form = ref({ role: ['User'] })
-const typeList = inject('typeList')
+const roleList = inject('roleList')
 const plateList = ref([
   { label: '汽车电子及新型汽车零部件', value: '0' },
   { label: '精细化工及天然气化工', value: '1' },
@@ -135,7 +137,7 @@ const rules = reactive({
   account: [{ required: true, message: '请输入账号', trigger: 'blur' }],
   password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
   type: [{ required: true, message: '请选择注册类型', trigger: 'blur' }],
-  roleType: [{ required: true, message: '请选择角色', trigger: 'blur' }],
+  role: [{ required: true, message: '请选择角色', trigger: 'blur' }],
   plate: [{ required: true, message: '请选择板块', trigger: 'blur' }],
   checkCode: [{ required: true, message: '请输入验证码', trigger: 'blur' }]
 })
@@ -153,7 +155,12 @@ const submitForm = async (formEl) => {
     if (valid) {
       const data = cloneDeep(form.value)
       data.account = data.nick_name
+      data.gender = '0'
+      data.role = [data.role]
       delete data.refpassword
+      delete data.checkCode
+      delete data.plate
+      delete data.type
       const res = await store.create(data)
       if (res.errcode === 0) {
         ElMessage({