hookehuyr

✨ feat(我的模块): 新增儿童的幼儿园模块修改为下拉列表形式

...@@ -4,7 +4,15 @@ ...@@ -4,7 +4,15 @@
4 <van-config-provider :theme-vars="themeVars"> 4 <van-config-provider :theme-vars="themeVars">
5 <van-form> 5 <van-form>
6 <van-cell-group inset> 6 <van-cell-group inset>
7 - <van-field v-model="user_info.kindergarten" name="幼儿园" label="幼儿园" placeholder="" disabled /> 7 + <!-- <van-field v-model="user_info.kg_name" name="幼儿园" label="幼儿园" placeholder="" disabled /> -->
8 + <van-field v-model="user_info.kg_name" is-link readonly label="城市" placeholder="请选择幼儿园" @click="selectSchool" />
9 + <van-popup v-model:show="showPicker" round position="bottom">
10 + <van-picker
11 + :columns="schoolList"
12 + @cancel="showPicker = false"
13 + @confirm="onConfirm"
14 + />
15 + </van-popup>
8 <van-field v-model="user_info.name" name="儿童姓名" label="儿童姓名" placeholder="请输入儿童姓名" /> 16 <van-field v-model="user_info.name" name="儿童姓名" label="儿童姓名" placeholder="请输入儿童姓名" />
9 <van-row class="upload-text"> 17 <van-row class="upload-text">
10 <van-col span="7"><span class="upload-text-1">儿童头像</span></van-col> 18 <van-col span="7"><span class="upload-text-1">儿童头像</span></van-col>
...@@ -34,6 +42,7 @@ import { ref, reactive, onMounted } from 'vue' ...@@ -34,6 +42,7 @@ import { ref, reactive, onMounted } from 'vue'
34 import { useRoute, useRouter } from 'vue-router' 42 import { useRoute, useRouter } from 'vue-router'
35 import axios from '@/utils/axios'; 43 import axios from '@/utils/axios';
36 import { Toast } from 'vant'; 44 import { Toast } from 'vant';
45 +import _ from 'lodash'
37 46
38 const { lock_btn, fileList, upload_image, metaId, afterRead, beforeDelete } = useUpload(); // 上传图片模块 47 const { lock_btn, fileList, upload_image, metaId, afterRead, beforeDelete } = useUpload(); // 上传图片模块
39 48
...@@ -71,10 +80,44 @@ const validForm = () => { ...@@ -71,10 +80,44 @@ const validForm = () => {
71 let user_info = reactive({ 80 let user_info = reactive({
72 perf_id: $route.query.perf_id, 81 perf_id: $route.query.perf_id,
73 kg_id: $route.query.kg_id, 82 kg_id: $route.query.kg_id,
74 - kindergarten: $route.query.kg_name, 83 + kg_name: $route.query.kg_name,
75 name: $route.query.name, 84 name: $route.query.name,
76 }); 85 });
77 86
87 +// 生成幼儿园信息
88 +let schoolList = reactive([]);
89 +let showPicker = ref(false);
90 +const selectSchool = () => {
91 + axios.get('/srv/?a=kg_list')
92 + .then(res => {
93 + if (res.data.code === 1) {
94 + _.each(res.data.data, item => {
95 + schoolList.push({
96 + text: item.name,
97 + value: item.id,
98 + })
99 + })
100 + showPicker.value = true;
101 + } else {
102 + console.warn(res);
103 + if (!res.data.show) return false;
104 + Toast({
105 + icon: 'close',
106 + message: res.data.msg
107 + });
108 + }
109 + })
110 + .catch(err => {
111 + console.error(err);
112 + })
113 +}
114 +
115 +const onConfirm = ({ selectedOptions }) => {
116 + showPicker.value = false;
117 + user_info.kg_id = selectedOptions[0].value;
118 + user_info.kg_name = selectedOptions[0].text;
119 +};
120 +
78 // 保存用户信息 121 // 保存用户信息
79 const saveInfo = () => { 122 const saveInfo = () => {
80 let url = $route.query.type === 'ADD' ? 'add_performer' : 'modify_performer'; 123 let url = $route.query.type === 'ADD' ? 'add_performer' : 'modify_performer';
......
...@@ -242,8 +242,8 @@ const handleUser = (type) => { ...@@ -242,8 +242,8 @@ const handleUser = (type) => {
242 path: '/me/handleUser', 242 path: '/me/handleUser',
243 query: { 243 query: {
244 perf_id: userInfo.value.perf_id, 244 perf_id: userInfo.value.perf_id,
245 - kg_id: userInfo.value.kg_id, 245 + kg_id: '',
246 - kg_name: userInfo.value.kg_name, 246 + kg_name: '',
247 type 247 type
248 } 248 }
249 }) 249 })
......