hookehuyr

✨ feat(作品列表页): 上传作品时需要判断是否已经有默认儿童

......@@ -22,6 +22,7 @@ export const useDefaultPerf = (bookId) => {
avatar: res.data.data.book_cover,
name: res.data.data.book_name,
price: res.data.data.book_price,
perf_id: res.data.data.perf_id,
perf_name: res.data.data.perf_name
}
} else {
......
......@@ -78,7 +78,7 @@
<my-button @on-click="toDonate" type="plain">爱心捐书</my-button>
</div>
<div class="button">
<my-button @on-click="uploadVideo" type="primary">上传作品</my-button>
<my-button @on-click="validUpload" type="primary">上传作品</my-button>
</div>
</div>
<shortcut-fixed type="C" :item="['home', 'me']"></shortcut-fixed>
......@@ -92,6 +92,14 @@
</div>
</notice-overlay>
<!-- 上传时,如果没有默认儿童提示弹框 -->
<notice-overlay :show="showPerfNotice" text="前往新增" @on-submit="onSubmit" @on-close="onPerfClose">
<div style="color: #333333;">
<p>您还没有新增儿童</p>
<p>请前往个人中心进行新增</p>
</div>
</notice-overlay>
<donate-book :showPopup="showDonate" :item="donateItem" @on-close="closeDonate"></donate-book>
<van-overlay :show="show" z-index="9999">
......@@ -216,6 +224,20 @@ const showNotice = ref(false)
const onClose = () => { // 关闭提示框回调
showNotice.value = false;
}
// 未新增儿童提示
const showPerfNotice = ref(false);
const onPerfClose = () => { // 关闭提示框回调
showPerfNotice.value = false;
}
// 上传前检查是否有默认儿童
const validUpload = () => {
if (!donateItem.value.perf_id) {
showPerfNotice.value = true;
} else {
uploadVideo();
}
}
const show = ref(false); // 跳转等待提示
const uploadVideo = () => {
......
<template>
<div class="verify-user-page">
<p style="color: #713610; font-size: 1.25rem; padding: 1rem; text-align: center; font-weight: bold;">请录入真实的信息</p>
<div style="padding: 1rem;">
<p class="title" style="">请录入真实的信息</p>
<div class="input-content">
<van-config-provider :theme-vars="themeVars">
<van-form ref="form" @submit="onSubmit">
<div class="van-hairline--bottom">
......@@ -217,5 +217,15 @@ export default {
<style lang="less" scoped>
.verify-user-page {
padding: 1rem;
.title {
color: #713610;
font-size: 1.25rem;
padding: 1rem;
text-align: center;
font-weight: bold;
}
.input-content {
padding: 1rem;
}
}
</style>
......