|
@@ -12,74 +12,74 @@
|
|
|
><i class="el-icon-warning" style="margin-right:5px;"></i>如果您修改手机号,那么登录时使用的手机号也会发生变更,请谨慎修改!</span
|
|
|
>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="身份证号:" prop="id_number">
|
|
|
+ <el-form-item v-if="this.user.type != '3'" label="身份证号:" prop="id_number">
|
|
|
<el-input v-model="form.id_number" @input="inputIdnumber()"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="出生年月" prop="birthday">
|
|
|
+ <el-form-item v-if="this.user.type != '3'" label="出生年月" prop="birthday">
|
|
|
<el-date-picker disabled v-model="form.birthday" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="请选择选择日期">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="性别" prop="gender">
|
|
|
+ <el-form-item v-if="this.user.type != '3'" label="性别" prop="gender">
|
|
|
<el-radio-group disabled v-model="form.gender">
|
|
|
<el-radio label="男">男</el-radio>
|
|
|
<el-radio label="女">女</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="家庭住址:">
|
|
|
+ <el-form-item v-if="this.user.type != '3'" label="家庭住址:">
|
|
|
<el-input v-model="form.address"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="部门:">
|
|
|
+ <el-form-item v-if="this.user.type === '0' || this.user.type === '1'" label="部门:">
|
|
|
<el-select v-model="form.dept_id" filterable placeholder="请选择部门">
|
|
|
<el-option v-for="(item, index) in deptList" :key="index" :label="item.name" :value="item._id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="职务:">
|
|
|
+ <el-form-item v-if="this.user.type === '0' || this.user.type === '1'" label="职务:">
|
|
|
<el-select v-model="form.level_id" filterable placeholder="请选择职务">
|
|
|
<el-option v-for="(item, index) in levelList" :key="index" :label="item.name" :value="item._id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="邮箱" prop="email">
|
|
|
+ <el-form-item v-if="this.user.type === '2'" label="邮箱" prop="email">
|
|
|
<el-input v-model="form.email"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="头像" prop="img_url">
|
|
|
+ <el-form-item v-if="this.user.type === '2'" label="头像" prop="img_url">
|
|
|
<upload :limit="1" :data="form.img_url" type="img_url" :url="'/files/count/upload'" @upload="uploadSuccess"></upload>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="职称级别">
|
|
|
+ <el-form-item v-if="this.user.type === '2'" label="职称级别">
|
|
|
<el-input v-model="form.level"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="职称名称">
|
|
|
+ <el-form-item v-if="this.user.type === '2'" label="职称名称">
|
|
|
<el-input v-model="form.levelname"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="院校">
|
|
|
+ <el-form-item v-if="this.user.type === '2'" label="院校">
|
|
|
<el-input v-model="form.school"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="学历">
|
|
|
+ <el-form-item v-if="this.user.type === '2'" label="学历">
|
|
|
<el-select v-model="form.education" placeholder="请选择学历">
|
|
|
<el-option v-for="(item, index) in educationList" :key="index" :label="item.name" :value="item.name"> </el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="学位">
|
|
|
+ <el-form-item v-if="this.user.type === '2'" label="学位">
|
|
|
<el-select v-model="form.degree" placeholder="请选择学位">
|
|
|
<el-option v-for="(item, index) in degreeList" :key="index" :label="item.name" :value="item.name"> </el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="专业">
|
|
|
+ <el-form-item v-if="this.user.type === '2'" label="专业">
|
|
|
<el-input v-model="form.major"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="从事专业">
|
|
|
+ <el-form-item v-if="this.user.type === '2'" label="从事专业">
|
|
|
<el-input v-model="form.profession"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="工作简历">
|
|
|
+ <el-form-item v-if="this.user.type === '2'" label="工作简历">
|
|
|
<el-input v-model="form.resume" type="textarea"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="项目">
|
|
|
+ <el-form-item v-if="this.user.type === '2'" label="项目">
|
|
|
<el-input v-model="form.project" type="textarea"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="学术成就">
|
|
|
+ <el-form-item v-if="this.user.type === '2'" label="学术成就">
|
|
|
<el-input v-model="form.academic" type="textarea"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-button type="primary" @click="onSubmit">提交</el-button>
|
|
|
+ <el-button type="primary" @click="onSubmit()">提交</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</el-col>
|
|
@@ -89,6 +89,10 @@
|
|
|
|
|
|
<script>
|
|
|
import upload from '@/components/uploadone.vue';
|
|
|
+import { mapState, createNamespacedHelpers } from 'vuex';
|
|
|
+const { mapActions: staff } = createNamespacedHelpers('staff');
|
|
|
+const { mapActions: expert } = createNamespacedHelpers('expert');
|
|
|
+const { mapActions: user } = createNamespacedHelpers('user');
|
|
|
export default {
|
|
|
name: 'pinfo',
|
|
|
props: {},
|
|
@@ -117,9 +121,27 @@ export default {
|
|
|
email: [{ required: false }, { pattern: /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/, message: '请输入有效的邮箱' }],
|
|
|
},
|
|
|
}),
|
|
|
- created() {},
|
|
|
- computed: {},
|
|
|
+ created() {
|
|
|
+ this.search();
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ ...mapState(['user']),
|
|
|
+ },
|
|
|
methods: {
|
|
|
+ ...user(['update']),
|
|
|
+ ...staff({ staffQuery: 'query', staffUpdate: 'update', staffFetch: 'fetch' }),
|
|
|
+ ...expert({ expertQuery: 'query', expertUpdate: 'update', expertFetch: 'fetch' }),
|
|
|
+ async search() {
|
|
|
+ if (this.user.type === '3') {
|
|
|
+ this.$set(this, `form`, this.user);
|
|
|
+ } else if (this.user.type === '2') {
|
|
|
+ const expert = this.expertFetch(this.user.userid);
|
|
|
+ this.$set(this, `form`, expert.data);
|
|
|
+ } else if (this.user.type === '1' || this.user.type === '0') {
|
|
|
+ const staff = this.staffFetch(this.user.userid);
|
|
|
+ this.$set(this, `form`, staff.data);
|
|
|
+ }
|
|
|
+ },
|
|
|
inputIdnumber() {
|
|
|
let card = this.form.id_number;
|
|
|
if (card.length == 18) {
|
|
@@ -136,7 +158,28 @@ export default {
|
|
|
this.form.gender = gender;
|
|
|
}
|
|
|
},
|
|
|
- onSubmit() {},
|
|
|
+ async onSubmit(from) {
|
|
|
+ let res = {};
|
|
|
+ let data = JSON.parse(JSON.stringify(this.form));
|
|
|
+ if (this.user.type === '3') {
|
|
|
+ data.id = this.user.uid;
|
|
|
+ res = await this.update(data);
|
|
|
+ } else if (this.user.type === '2') {
|
|
|
+ data.id = this.user.userid;
|
|
|
+ res = await this.expertUpdate(data);
|
|
|
+ } else if (this.user.type === '1' || this.user.type === '0') {
|
|
|
+ data.id = this.user.userid;
|
|
|
+ res = await this.staffUpdate(data);
|
|
|
+ }
|
|
|
+ if (res.errcode === 0) {
|
|
|
+ this.$message({
|
|
|
+ message: '信息修改成功',
|
|
|
+ type: 'success',
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.$message.error('信息修改失败');
|
|
|
+ }
|
|
|
+ },
|
|
|
uploadSuccess({ type, data }) {
|
|
|
this.$set(this.form, `${type}`, data.uri);
|
|
|
},
|