|
@@ -50,57 +50,15 @@
|
|
</template>
|
|
</template>
|
|
</el-input>
|
|
</el-input>
|
|
</el-form-item>
|
|
</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-item>
|
|
</el-form>
|
|
</el-form>
|
|
</el-col>
|
|
</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-col :span="24" class="button">
|
|
<el-button type="primary" @click="submitForm(ruleFormRef)">保存</el-button>
|
|
<el-button type="primary" @click="submitForm(ruleFormRef)">保存</el-button>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -111,11 +69,24 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
<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 loading = ref(false)
|
|
-const form = ref({ role: ['User'] })
|
|
|
|
|
|
+const form = ref({})
|
|
const validatePhoneNumber = (rule, value, callback) => {
|
|
const validatePhoneNumber = (rule, value, callback) => {
|
|
const reg = /^1[3-9]\d{9}$/
|
|
const reg = /^1[3-9]\d{9}$/
|
|
if (!value) {
|
|
if (!value) {
|
|
@@ -132,13 +103,80 @@ const rules = reactive({
|
|
phone: [{ required: true, validator: validatePhoneNumber, trigger: 'blur' }],
|
|
phone: [{ required: true, validator: validatePhoneNumber, trigger: 'blur' }],
|
|
account: [{ required: true, message: '请输入账号', 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 () => {
|
|
onMounted(async () => {
|
|
loading.value = true
|
|
loading.value = true
|
|
- search()
|
|
|
|
|
|
+ await searchOther()
|
|
|
|
+ await search()
|
|
loading.value = false
|
|
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>
|
|
</script>
|
|
<style scoped lang="scss">
|
|
<style scoped lang="scss">
|
|
.main {
|
|
.main {
|