|
@@ -91,13 +91,22 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
- <el-col :span="24">
|
|
|
|
- <el-form-item label="是否公开" prop="is_show">
|
|
|
|
- <el-radio-group v-model="form.is_show">
|
|
|
|
- <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{ i.label }}</el-radio>
|
|
|
|
- </el-radio-group>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
|
|
+ <el-row :gutter="20">
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="工作单位" prop="work">
|
|
|
|
+ <el-input clearable v-model="form.work" placeholder="请输入工作单位" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="是否公开" prop="is_show">
|
|
|
|
+ <el-radio-group v-model="form.is_show">
|
|
|
|
+ <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{
|
|
|
|
+ i.label
|
|
|
|
+ }}</el-radio>
|
|
|
|
+ </el-radio-group>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
<el-col :span="24">
|
|
<el-col :span="24">
|
|
<el-form-item label="简介" prop="brief">
|
|
<el-form-item label="简介" prop="brief">
|
|
<el-input
|
|
<el-input
|
|
@@ -117,6 +126,10 @@
|
|
<script setup>
|
|
<script setup>
|
|
// 基础
|
|
// 基础
|
|
const cloneDeep = inject('cloneDeep')
|
|
const cloneDeep = inject('cloneDeep')
|
|
|
|
+// 用户信息
|
|
|
|
+import { UserStore } from '@/store/user'
|
|
|
|
+const userStore = UserStore()
|
|
|
|
+const user = computed(() => userStore.user)
|
|
// 表单
|
|
// 表单
|
|
const ruleFormRef = inject('ruleFormRef')
|
|
const ruleFormRef = inject('ruleFormRef')
|
|
// 字典表
|
|
// 字典表
|
|
@@ -129,13 +142,27 @@ const cardTypeList = inject('cardTypeList')
|
|
import { ExpertStore } from '@/store/api/user/expert'
|
|
import { ExpertStore } from '@/store/api/user/expert'
|
|
const expertStore = ExpertStore()
|
|
const expertStore = ExpertStore()
|
|
const form = ref({})
|
|
const form = ref({})
|
|
|
|
+const validateCardNumber = (rule, value, callback) => {
|
|
|
|
+ var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
|
|
|
|
+ if (!value) {
|
|
|
|
+ return callback(new Error('证件号码不能为空'))
|
|
|
|
+ }
|
|
|
|
+ if (!reg.test(value)) {
|
|
|
|
+ return callback(new Error('请输入正确的证件号码'))
|
|
|
|
+ }
|
|
|
|
+ callback()
|
|
|
|
+}
|
|
const rules = reactive({
|
|
const rules = reactive({
|
|
- // nick_name: [{ required: true, message: '请输入昵称', trigger: 'blur' }],
|
|
|
|
- // gender: [{ required: true, message: '请选择性别', trigger: 'blur' }],
|
|
|
|
- // phone: [{ required: true, validator: validatePhoneNumber, trigger: 'blur' }],
|
|
|
|
- // account: [{ required: true, message: '请输入账号', trigger: 'blur' }],
|
|
|
|
- // password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
|
|
|
|
- // refpassword: [{ required: true, validator: validatePassword, trigger: 'blur' }]
|
|
|
|
|
|
+ name: [{ required: true, message: '请输入专家姓名', trigger: 'blur' }],
|
|
|
|
+ birth: [{ required: true, message: '请输入出生年月', trigger: 'blur' }],
|
|
|
|
+ cardType: [{ required: true, message: '请选择证件类型', trigger: 'blur' }],
|
|
|
|
+ card: [{ required: true, validator: validateCardNumber, trigger: 'change' }],
|
|
|
|
+ direction: [{ required: true, message: '请输入研究方向', trigger: 'blur' }],
|
|
|
|
+ work: [{ required: true, message: '请输入工作单位', trigger: 'blur' }],
|
|
|
|
+ education: [{ required: true, message: '请输入学历', trigger: 'blur' }],
|
|
|
|
+ field: [{ required: true, message: '请输入擅长领域', trigger: 'blur' }],
|
|
|
|
+ is_show: [{ required: true, message: '请选择是否公开', trigger: 'blur' }],
|
|
|
|
+ region: [{ required: true, message: '请选择地区', trigger: 'blur' }]
|
|
})
|
|
})
|
|
// 保存
|
|
// 保存
|
|
const submitForm = async (formEl) => {
|
|
const submitForm = async (formEl) => {
|
|
@@ -152,6 +179,16 @@ const submitForm = async (formEl) => {
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
+// 请求
|
|
|
|
+onMounted(async () => {
|
|
|
|
+ await search()
|
|
|
|
+})
|
|
|
|
+const search = async () => {
|
|
|
|
+ if (user.value._id) {
|
|
|
|
+ let res = await expertStore.query({ user: user.value._id })
|
|
|
|
+ if (res.errcode == '0') form.value = res.data[0]
|
|
|
|
+ }
|
|
|
|
+}
|
|
</script>
|
|
</script>
|
|
<style scoped lang="scss">
|
|
<style scoped lang="scss">
|
|
.index {
|
|
.index {
|