|
@@ -7,7 +7,7 @@
|
|
|
<div class="block"><el-avatar :size="163" :src="circleUrl"></el-avatar></div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
- <span>
|
|
|
+ <!-- <span>
|
|
|
<el-col :span="24" class="mess">
|
|
|
<el-col :span="22" class="info">
|
|
|
<p class="title">姓名</p>
|
|
@@ -134,7 +134,45 @@
|
|
|
<van-icon name="arrow" />
|
|
|
</el-col>
|
|
|
</el-col>
|
|
|
- </span>
|
|
|
+ </span> -->
|
|
|
+ <!-- 学生修改 -->
|
|
|
+ <van-col span="24">
|
|
|
+ <van-form @submit="onSubmit">
|
|
|
+ <van-field v-model="messInfo.name" name="姓名" label="姓名" placeholder="姓名" :rules="[{ required: true, message: '请填写用户名' }]" />
|
|
|
+ <van-field v-model="messInfo.id_number" name="身份证号" label="身份证号" placeholder="身份证号" />
|
|
|
+ <van-field name="radio" label="性别">
|
|
|
+ <template #input>
|
|
|
+ <van-radio-group v-model="messInfo.gender" direction="horizontal">
|
|
|
+ <van-radio name="男">男</van-radio>
|
|
|
+ <van-radio name="女">女</van-radio>
|
|
|
+ </van-radio-group>
|
|
|
+ </template>
|
|
|
+ </van-field>
|
|
|
+ <van-field readonly clickable name="picker" :value="messInfo.nation" label="民族" placeholder="点击选择民族" @click="showPicker = true" />
|
|
|
+ <van-popup v-model="showPicker" position="bottom">
|
|
|
+ <van-picker show-toolbar :columns="nationList" @confirm="onConfirm" @cancel="showPicker = false" />
|
|
|
+ </van-popup>
|
|
|
+ <van-field v-model="messInfo.phone" name="手机号" label="手机号" placeholder="手机号" />
|
|
|
+ <van-field v-model="messInfo.qq" name="QQ" label="QQ" placeholder="QQ" />
|
|
|
+ <!-- <van-field v-model="messInfo.school_name" name="学校" label="学校" placeholder="学校" /> -->
|
|
|
+ <van-field readonly clickable name="picker" :value="messInfo.school_name" label="学校" placeholder="点击选择学校" @click="showSchool = true" />
|
|
|
+ <van-popup v-model="showSchool" position="bottom">
|
|
|
+ <van-picker show-toolbar :columns="schoolList" @confirm="onSchool" @cancel="showSchool = false" />
|
|
|
+ </van-popup>
|
|
|
+ <van-field v-model="messInfo.faculty" name="所在院系" label="所在院系" placeholder="所在院系" />
|
|
|
+ <van-field v-model="messInfo.major" name="所在专业" label="所在专业" placeholder="所在专业" />
|
|
|
+ <van-field v-model="messInfo.entry_year" name="入学年份" label="入学年份" placeholder="入学年份" />
|
|
|
+ <van-field v-model="messInfo.finish_year" name="毕业年份" label="毕业年份" placeholder="毕业年份" />
|
|
|
+ <van-field v-model="messInfo.school_job" name="在校所担当职务" label="在校所担当职务" placeholder="在校所担当职务" />
|
|
|
+ <van-field v-model="messInfo.email" name="e-mail" label="e-mail" placeholder="e-mail" />
|
|
|
+ <van-field v-model="messInfo.family_place" name="户口所在地" label="户口所在地" placeholder="户口所在地" />
|
|
|
+ <div style="margin: 16px;">
|
|
|
+ <van-button round block type="info" native-type="submit">
|
|
|
+ 保存
|
|
|
+ </van-button>
|
|
|
+ </div>
|
|
|
+ </van-form>
|
|
|
+ </van-col>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</div>
|
|
@@ -142,6 +180,8 @@
|
|
|
|
|
|
<script>
|
|
|
import { mapState, createNamespacedHelpers, mapGetters } from 'vuex';
|
|
|
+const { mapActions: mapNation } = createNamespacedHelpers('nation');
|
|
|
+const { mapActions: school } = createNamespacedHelpers('school');
|
|
|
export default {
|
|
|
name: 'studentInfo',
|
|
|
props: {
|
|
@@ -152,12 +192,46 @@ export default {
|
|
|
components: {},
|
|
|
data: () => ({
|
|
|
circleUrl: require('@/assets/circle.png'),
|
|
|
+ nationList: [],
|
|
|
+ showPicker: false,
|
|
|
+ school: [],
|
|
|
+ schoolList: [],
|
|
|
+ showSchool: false,
|
|
|
}),
|
|
|
- created() {},
|
|
|
+ created() {
|
|
|
+ this.otherList();
|
|
|
+ },
|
|
|
computed: {
|
|
|
...mapState(['user']),
|
|
|
},
|
|
|
- methods: {},
|
|
|
+ methods: {
|
|
|
+ ...mapNation({ nation: 'query' }),
|
|
|
+ ...school({ schoolQuery: 'query' }),
|
|
|
+ async otherList() {
|
|
|
+ const res = await this.nation();
|
|
|
+ var arr = res.data.map(item => item.name);
|
|
|
+ if (this.$checkRes(res)) this.$set(this, `nationList`, arr);
|
|
|
+ const school = await this.schoolQuery();
|
|
|
+ if (this.$checkRes(res)) this.$set(this, `school`, school.data);
|
|
|
+ var newsSchool = school.data.map(item => item.name);
|
|
|
+ if (this.$checkRes(res)) this.$set(this, `schoolList`, newsSchool);
|
|
|
+ },
|
|
|
+ // 民族
|
|
|
+ onConfirm(value) {
|
|
|
+ this.$set(this.messInfo, `nation`, value);
|
|
|
+ this.showPicker = false;
|
|
|
+ },
|
|
|
+ // 学校
|
|
|
+ onSchool(value) {
|
|
|
+ this.$set(this.messInfo, `school_name`, value);
|
|
|
+ var arr = this.school.filter(item => item.name === value);
|
|
|
+ this.$set(this.messInfo, `schid`, arr[0].code);
|
|
|
+ this.showSchool = false;
|
|
|
+ },
|
|
|
+ onSubmit() {
|
|
|
+ this.$emit('onSubmit', { data: this.messInfo });
|
|
|
+ },
|
|
|
+ },
|
|
|
};
|
|
|
</script>
|
|
|
|