Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Hooke
/
tswj
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
hookehuyr
2022-05-12 15:22:35 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
556a256a3bb3f1e238445f703f4d27f71c825e32
556a256a
1 parent
abc3b898
✨ feat(我的信息页面): 新增/编辑儿童信息API调整
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
9 additions
and
138 deletions
src/composables/useUpload.js
src/views/me/addUser.vue
src/views/me/handleUser.vue
src/views/me/index.vue
src/composables/useUpload.js
View file @
556a256
...
...
@@ -9,7 +9,7 @@ export const useUpload = () => {
let
lock_btn
=
ref
(
false
);
// 保存按钮锁
let
fileList
=
ref
([]);
let
metaId
=
ref
(
''
);
let
upload_image
=
reactive
({
meta_id
:
''
});
let
upload_image
=
reactive
({
src
:
''
});
const
afterRead
=
(
res
)
=>
{
lock_btn
.
value
=
true
;
// 上传开始, 不能保存
let
affix
=
uuidv4
();
...
...
@@ -43,7 +43,7 @@ export const useUpload = () => {
filekey
:
info
.
filekey
,
}))
.
then
(
res
=>
{
upload_image
.
meta_id
=
res
.
data
.
data
.
meta_id
;
upload_image
.
src
=
res
.
data
.
data
.
src
;
lock_btn
.
value
=
false
;
// 头像上传完成, 打开锁
})
.
catch
(
err
=>
{
...
...
@@ -73,8 +73,7 @@ export const useUpload = () => {
})
};
const
beforeDelete
=
()
=>
{
// 删除图片回调
metaId
=
''
;
upload_image
.
meta_id
=
''
;
upload_image
.
src
=
''
;
return
true
;
}
...
...
src/views/me/addUser.vue
deleted
100644 → 0
View file @
abc3b89
<template>
<div class="add-user-page">
<p style="color: #713610; font-size: 1.25rem; padding: 1rem; text-align: center; font-weight: bold;">请录入儿童的信息</p>
<div style="">
<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.name" name="儿童姓名" label="儿童姓名" placeholder="请输入儿童姓名" />
<van-row style="padding: 2vh 0;">
<van-col span="7"><span style="font-size: 14px; color: #323233; margin-left: 2vh;">儿童头像</span></van-col>
<van-col span="17"><span style="font-size: 12px; color: #B0B0B0;">请上传一张清晰的儿童照片</span></van-col>
</van-row>
<van-row style="padding-bottom: 2vh;">
<van-col span="16" offset="8">
<van-uploader v-model="fileList" :after-read="afterRead" :before-delete="beforeDelete" :max-count="1" />
</van-col>
</van-row>
</van-cell-group>
<div style="margin: 2vh;">
<van-button v-if="lock_btn" loading type="primary" loading-text="上传中..." style="width: 100%;" round></van-button>
<van-button v-else @click="validForm" :disabled="lock_btn" type="primary" native-type="submit" style="width: 100%;" round>保存</van-button>
</div>
</van-form>
</van-config-provider>
</div>
</div>
</template>
<script setup>
import { useUpload } from '@/composables/useUpload.js'
import { ref, reactive, onMounted } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import axios from '@/utils/axios';
import $ from 'jquery'
import { Toast } from 'vant';
const { lock_btn, fileList, upload_image, metaId, afterRead, beforeDelete } = useUpload(); // 上传图片模块
const $route = useRoute();
const $router = useRouter();
const themeVars = {
buttonPrimaryBackground: '#F9D95C',
buttonPrimaryBorderColor: '#F9D95C',
buttonPrimaryColor: '#713610',
};
// 验证输入项
const validForm = () => {
// if (!user_info.name) {
// Toast.fail('儿童姓名不能为空')
// return false;
// }
// if (!fileList.value.length) {
// Toast.fail('儿童头像不能为空')
// return false;
// }
saveInfo()
};
let user_info = reactive({
kg_id: $route.query.kg_id,
kindergarten: $route.query.kg_name,
name: '',
meta_id: metaId.value
});
onMounted(() => {
//
$('.content-section').height($(document).height() - $('.title-section').height());
})
// 保存用户信息
const saveInfo = () => {
axios.post('/srv/?a=add_performer', {
kg_id: user_info.kg_id,
perf_name: user_info.name,
perf_avatar: '',
meta_id: upload_image.meta_id ? upload_image.meta_id : metaId,
})
.then(res => {
if (res.data.code === 1) {
Toast.success({
message: '保存成功',
duration: 1000,
onClose: () => {
$router.go(-1)
}
});
} else {
console.warn(res);
Toast({
icon: 'close',
message: res.data.msg
});
}
})
.catch(err => {
console.error(err);
})
}
</script>
<script>
import mixin from 'common/mixin';
export default {
mixins: [mixin.init],
data () {
return {
}
},
mounted () {
},
methods: {
}
}
</script>
<style lang="less" scoped>
.add-user-page {
padding: 1rem;
}
</style>
\ No newline at end of file
src/views/me/handleUser.vue
View file @
556a256
...
...
@@ -69,21 +69,20 @@ const validForm = () => {
};
let user_info = reactive({
perf_id: $route.query.perf_id,
kg_id: $route.query.kg_id,
kindergarten: $route.query.kg_name,
name: $route.query.name,
meta_id: metaId.value
});
// 保存用户信息
const saveInfo = () => {
// TODO: 需要一个修改儿童信息的接口
let url = $route.query.type === 'Add' ? 'add_performer' : 'add_performer';
let url = $route.query.type === 'ADD' ? 'add_performer' : 'modify_performer';
axios.post(`/srv/?a=${url}`, {
perf_id: $route.query.type !== 'ADD' ? user_info.perf_id : '',
kg_id: user_info.kg_id,
perf_name: user_info.name,
perf_avatar: '',
meta_id: upload_image.meta_id ? upload_image.meta_id : metaId,
perf_avatar: upload_image.src ? upload_image.src : $route.query.avatar
})
.then(res => {
if (res.data.code === 1) {
...
...
src/views/me/index.vue
View file @
556a256
...
...
@@ -234,6 +234,7 @@ const handleUser = (type) => {
$router.push({
path: '/me/handleUser',
query: {
perf_id: userInfo.value.perf_id,
kg_id: userInfo.value.kg_id,
kg_name: userInfo.value.kg_name,
type
...
...
@@ -245,6 +246,7 @@ const handleUser = (type) => {
query: {
avatar: userInfo.value.avatar,
name: userInfo.value.name,
perf_id: userInfo.value.perf_id,
kg_id: userInfo.value.kg_id,
kg_name: userInfo.value.kg_name,
type
...
...
Please
register
or
login
to post a comment