Преглед на файлове

修改普通用户查询

zs преди 1 година
родител
ревизия
393af5ee88

+ 1 - 1
src/store/api/user/user.js

@@ -4,7 +4,7 @@ import { get } from 'lodash-es'
 const url = '/user'
 const axios = new AxiosWrapper()
 
-export const UserStore = defineStore('users', () => {
+export const UsersStore = defineStore('users', () => {
   const query = async ({ skip = 0, limit = undefined, ...info } = {}) => {
     let cond = {}
     if (skip) cond.skip = skip

+ 91 - 53
src/views/center/index.vue

@@ -50,57 +50,15 @@
                   </template>
                 </el-input>
               </el-form-item>
-            </el-form>
-          </el-col>
-          <el-col :span="24" class="one_1"> 个人基本资料</el-col>
-          <el-col :span="24" class="one_2">
-            <el-form
-              ref="ruleFormRef"
-              :model="form"
-              :rules="rules"
-              label-width="80px"
-              class="form"
-              label-position="top"
-            >
-              <el-form-item label="账号" prop="account">
-                <el-input v-model="form.account" placeholder="请输入账号">
-                  <template #prefix>
-                    <el-icon>
-                      <User />
-                    </el-icon>
-                  </template>
-                </el-input>
-              </el-form-item>
-              <el-form-item label="昵称" prop="nick_name">
-                <el-input v-model="form.nick_name" placeholder="请输入昵称">
-                  <template #prefix>
-                    <el-icon>
-                      <Avatar />
-                    </el-icon>
-                  </template>
-                </el-input>
-              </el-form-item>
-              <el-form-item label="性别" prop="gender">
-                <el-select v-model="form.gender" placeholder="请选择性别">
-                  <el-option
-                    v-for="(item, index) in genderList"
-                    :key="index"
-                    :label="item.label"
-                    :value="item.value"
-                  />
-                </el-select>
-              </el-form-item>
-              <el-form-item label="手机号" prop="phone">
-                <el-input v-model="form.phone" placeholder="请输入手机号">
-                  <template #prefix>
-                    <el-icon>
-                      <Iphone />
-                    </el-icon>
-                  </template>
-                </el-input>
+              <el-form-item label="角色" prop="role">
+                {{ getRole(form.role) }}
               </el-form-item>
             </el-form>
           </el-col>
+          <el-row>
+            <el-col :span="24" class="one_1"> 个人基本资料</el-col>
+            <el-col :span="24" class="one_2"> 11111 </el-col>
+          </el-row>
           <el-col :span="24" class="button">
             <el-button type="primary" @click="submitForm(ruleFormRef)">保存</el-button>
           </el-col>
@@ -111,11 +69,24 @@
 </template>
 
 <script setup>
-import { useRoute } from 'vue-router'
-const route = useRoute()
+// API 引用
+import { getCity } from '@/utils/city'
+import { get } from 'lodash-es'
+
+// 接口
+import { UserStore } from '@/store/user'
+const userStore = UserStore()
+const user = computed(() => userStore.user)
+import { UsersStore } from '@/store/api/user/user'
+const store = UsersStore()
+import { DictDataStore } from '@/store/api/system/dictData'
+const dictDataStore = DictDataStore()
+import { RoleStore } from '@/store/api/system/role'
+const roleStore = RoleStore()
+const $checkRes = inject('$checkRes')
 // 加载中
 const loading = ref(false)
-const form = ref({ role: ['User'] })
+const form = ref({})
 const validatePhoneNumber = (rule, value, callback) => {
   const reg = /^1[3-9]\d{9}$/
   if (!value) {
@@ -132,13 +103,80 @@ const rules = reactive({
   phone: [{ required: true, validator: validatePhoneNumber, trigger: 'blur' }],
   account: [{ required: true, message: '请输入账号', trigger: 'blur' }]
 })
+// 字典
+const typeList = ref([])
+const genderList = ref([])
+const fieldList = ref([])
+const educationList = ref([])
+const cityList = ref([])
+const isUseList = ref([])
+const patternList = ref([])
+const scaleList = ref([])
+const IndustryList = ref([])
+const cardTypeList = ref([])
+const contributionList = ref([])
+const roleList = ref([])
 // 请求
 onMounted(async () => {
   loading.value = true
-  search()
+  await searchOther()
+  await search()
   loading.value = false
 })
-const search = async () => {}
+const search = async () => {
+  if (user.value._id) {
+    let res = await store.fetch(user.value._id)
+    if (res.errcode == '0') form.value = res.data
+  }
+}
+const searchOther = async () => {
+  let result
+  // 性别
+  result = await dictDataStore.query({ code: 'gender', is_use: '0' })
+  if ($checkRes(result)) genderList.value = result.data
+  // 用户类型
+  result = await dictDataStore.query({ code: 'userType', is_use: '0' })
+  if ($checkRes(result)) typeList.value = result.data
+  // 专家领域
+  result = await dictDataStore.query({ code: 'field', is_use: '0' })
+  if ($checkRes(result)) fieldList.value = result.data
+  // 企业类型
+  result = await dictDataStore.query({ code: 'companyType', is_use: '0' })
+  if ($checkRes(result)) patternList.value = result.data
+  // 企业规模
+  result = await dictDataStore.query({ code: 'companyScale', is_use: '0' })
+  if ($checkRes(result)) scaleList.value = result.data
+  // 企业所属行业
+  result = await dictDataStore.query({ code: 'companyIndustry', is_use: '0' })
+  if ($checkRes(result)) IndustryList.value = result.data
+  // 学历
+  result = await dictDataStore.query({ code: 'education', is_use: '0' })
+  if ($checkRes(result)) educationList.value = result.data
+  // 证件类型
+  result = await dictDataStore.query({ code: 'cardType', is_use: '0' })
+  if ($checkRes(result)) cardTypeList.value = result.data
+  // 出资方式
+  result = await dictDataStore.query({ code: 'contribution', is_use: '0' })
+  if ($checkRes(result)) contributionList.value = result.data
+  // 是否使用
+  result = await dictDataStore.query({ code: 'isUse', is_use: '0' })
+  if ($checkRes(result)) isUseList.value = result.data
+  // 城市
+  getCity().then((response) => (cityList.value = response.address))
+  // 角色
+  result = await roleStore.query({ is_use: '0' })
+  if ($checkRes(result)) roleList.value = result.data
+}
+const getRole = (data) => {
+  if (data) {
+    const list = []
+    for (const val of data) {
+      const res = roleList.value.find((f) => f.code === val)
+      list.push(get(res, 'name'))
+    }
+    return list.join(',')
+  }
+}
 </script>
 <style scoped lang="scss">
 .main {

+ 2 - 2
src/views/register/parts/Incubator.vue

@@ -176,9 +176,9 @@ const isUseList = inject('isUseList')
 const toLogin = inject('toLogin')
 const toBack = inject('toBack')
 // 接口
-import { UserStore } from '@/store/api/user/user'
+import { UsersStore } from '@/store/api/user/user'
 import { IncubatorStore } from '@/store/api/user/incubator'
-const store = UserStore()
+const store = UsersStore()
 const incubatorStore = IncubatorStore()
 const form = ref({ role: ['User', 'Incubator'], info: {} })
 const validatePhoneNumber = (rule, value, callback) => {

+ 2 - 2
src/views/register/parts/Investment.vue

@@ -204,9 +204,9 @@ const contributionList = inject('contributionList')
 const toLogin = inject('toLogin')
 const toBack = inject('toBack')
 // 接口
-import { UserStore } from '@/store/api/user/user'
+import { UsersStore } from '@/store/api/user/user'
 import { InvestmentStore } from '@/store/api/user/investment'
-const store = UserStore()
+const store = UsersStore()
 const investmentStore = InvestmentStore()
 const form = ref({ role: ['User', 'Investment'], info: {} })
 const validatePhoneNumber = (rule, value, callback) => {

+ 2 - 2
src/views/register/parts/association.vue

@@ -176,9 +176,9 @@ const isUseList = inject('isUseList')
 const toLogin = inject('toLogin')
 const toBack = inject('toBack')
 // 接口
-import { UserStore } from '@/store/api/user/user'
+import { UsersStore } from '@/store/api/user/user'
 import { AssociationStore } from '@/store/api/user/association'
-const store = UserStore()
+const store = UsersStore()
 const associationStore = AssociationStore()
 const form = ref({ role: ['User', 'Association'], info: {} })
 const validatePhoneNumber = (rule, value, callback) => {

+ 2 - 2
src/views/register/parts/company.vue

@@ -268,9 +268,9 @@ const isUseList = inject('isUseList')
 const toLogin = inject('toLogin')
 const toBack = inject('toBack')
 // 接口
-import { UserStore } from '@/store/api/user/user'
+import { UsersStore } from '@/store/api/user/user'
 import { CompanyStore } from '@/store/api/user/company'
-const store = UserStore()
+const store = UsersStore()
 const companyStore = CompanyStore()
 const form = ref({ role: ['User', 'Company'], info: { logo: [] } })
 const validatePhoneNumber = (rule, value, callback) => {

+ 2 - 2
src/views/register/parts/competition.vue

@@ -176,9 +176,9 @@ const isUseList = inject('isUseList')
 const toLogin = inject('toLogin')
 const toBack = inject('toBack')
 // 接口
-import { UserStore } from '@/store/api/user/user'
+import { UsersStore } from '@/store/api/user/user'
 import { CompetitionStore } from '@/store/api/user/competition'
-const store = UserStore()
+const store = UsersStore()
 const competitionStore = CompetitionStore()
 const form = ref({ role: ['User', 'Competition'], info: {} })
 const validatePhoneNumber = (rule, value, callback) => {

+ 2 - 2
src/views/register/parts/expert.vue

@@ -232,9 +232,9 @@ const cardTypeList = inject('cardTypeList')
 const toLogin = inject('toLogin')
 const toBack = inject('toBack')
 // 接口
-import { UserStore } from '@/store/api/user/user'
+import { UsersStore } from '@/store/api/user/user'
 import { ExpertStore } from '@/store/api/user/expert'
-const store = UserStore()
+const store = UsersStore()
 const expertStore = ExpertStore()
 const form = ref({ role: ['User', 'Expert'], info: {} })
 const validatePhoneNumber = (rule, value, callback) => {

+ 2 - 2
src/views/register/parts/state.vue

@@ -190,9 +190,9 @@ const isUseList = inject('isUseList')
 const toLogin = inject('toLogin')
 const toBack = inject('toBack')
 // 接口
-import { UserStore } from '@/store/api/user/user'
+import { UsersStore } from '@/store/api/user/user'
 import { StateStore } from '@/store/api/user/state'
-const store = UserStore()
+const store = UsersStore()
 const stateStore = StateStore()
 const form = ref({ role: ['User', 'State'], info: {} })
 const validatePhoneNumber = (rule, value, callback) => {

+ 2 - 2
src/views/register/parts/unit.vue

@@ -176,9 +176,9 @@ const isUseList = inject('isUseList')
 const toLogin = inject('toLogin')
 const toBack = inject('toBack')
 // 接口
-import { UserStore } from '@/store/api/user/user'
+import { UsersStore } from '@/store/api/user/user'
 import { UnitStore } from '@/store/api/user/unit'
-const store = UserStore()
+const store = UsersStore()
 const unitStore = UnitStore()
 const form = ref({ role: ['User', 'Unit'], info: {} })
 const validatePhoneNumber = (rule, value, callback) => {

+ 2 - 2
src/views/register/parts/user.vue

@@ -105,8 +105,8 @@ const genderList = inject('genderList')
 const toLogin = inject('toLogin')
 const toBack = inject('toBack')
 // 接口
-import { UserStore } from '@/store/api/user/user'
-const store = UserStore()
+import { UsersStore } from '@/store/api/user/user'
+const store = UsersStore()
 const form = ref({ role: ['User'] })
 const validatePhoneNumber = (rule, value, callback) => {
   const reg = /^1[3-9]\d{9}$/