hookehuyr

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

......@@ -4,7 +4,15 @@
<van-config-provider :theme-vars="themeVars">
<van-form>
<van-cell-group inset>
<van-field v-model="user_info.kindergarten" name="幼儿园" label="幼儿园" placeholder="" disabled />
<!-- <van-field v-model="user_info.kg_name" name="幼儿园" label="幼儿园" placeholder="" disabled /> -->
<van-field v-model="user_info.kg_name" is-link readonly label="城市" placeholder="请选择幼儿园" @click="selectSchool" />
<van-popup v-model:show="showPicker" round position="bottom">
<van-picker
:columns="schoolList"
@cancel="showPicker = false"
@confirm="onConfirm"
/>
</van-popup>
<van-field v-model="user_info.name" name="儿童姓名" label="儿童姓名" placeholder="请输入儿童姓名" />
<van-row class="upload-text">
<van-col span="7"><span class="upload-text-1">儿童头像</span></van-col>
......@@ -34,6 +42,7 @@ import { ref, reactive, onMounted } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import axios from '@/utils/axios';
import { Toast } from 'vant';
import _ from 'lodash'
const { lock_btn, fileList, upload_image, metaId, afterRead, beforeDelete } = useUpload(); // 上传图片模块
......@@ -71,10 +80,44 @@ const validForm = () => {
let user_info = reactive({
perf_id: $route.query.perf_id,
kg_id: $route.query.kg_id,
kindergarten: $route.query.kg_name,
kg_name: $route.query.kg_name,
name: $route.query.name,
});
// 生成幼儿园信息
let schoolList = reactive([]);
let showPicker = ref(false);
const selectSchool = () => {
axios.get('/srv/?a=kg_list')
.then(res => {
if (res.data.code === 1) {
_.each(res.data.data, item => {
schoolList.push({
text: item.name,
value: item.id,
})
})
showPicker.value = true;
} else {
console.warn(res);
if (!res.data.show) return false;
Toast({
icon: 'close',
message: res.data.msg
});
}
})
.catch(err => {
console.error(err);
})
}
const onConfirm = ({ selectedOptions }) => {
showPicker.value = false;
user_info.kg_id = selectedOptions[0].value;
user_info.kg_name = selectedOptions[0].text;
};
// 保存用户信息
const saveInfo = () => {
let url = $route.query.type === 'ADD' ? 'add_performer' : 'modify_performer';
......
......@@ -242,8 +242,8 @@ const handleUser = (type) => {
path: '/me/handleUser',
query: {
perf_id: userInfo.value.perf_id,
kg_id: userInfo.value.kg_id,
kg_name: userInfo.value.kg_name,
kg_id: '',
kg_name: '',
type
}
})
......