Showing
3 changed files
with
53 additions
and
103 deletions
| ... | @@ -24,7 +24,8 @@ export const useDefaultPerf = (bookId) => { | ... | @@ -24,7 +24,8 @@ export const useDefaultPerf = (bookId) => { |
| 24 | price: res.data.data.book_price, | 24 | price: res.data.data.book_price, |
| 25 | user_id: res.data.data.user_id, | 25 | user_id: res.data.data.user_id, |
| 26 | perf_id: res.data.data.perf_id, | 26 | perf_id: res.data.data.perf_id, |
| 27 | - perf_name: res.data.data.perf_name | 27 | + perf_name: res.data.data.perf_name, |
| 28 | + can_upload: res.data.data.can_upload, // can_upload :1=可上传,-1=用户没有实名,-2=用户没有儿童表演者 | ||
| 28 | } | 29 | } |
| 29 | } else { | 30 | } else { |
| 30 | console.warn(res); | 31 | console.warn(res); | ... | ... |
| ... | @@ -81,25 +81,16 @@ | ... | @@ -81,25 +81,16 @@ |
| 81 | <my-button @on-click="toDonate" type="plain">爱心捐书</my-button> | 81 | <my-button @on-click="toDonate" type="plain">爱心捐书</my-button> |
| 82 | </div> | 82 | </div> |
| 83 | <div class="button"> | 83 | <div class="button"> |
| 84 | - <my-button @on-click="validUpload" type="primary">上传作品</my-button> | 84 | + <my-button @on-click="uploadVideo" type="primary">上传作品</my-button> |
| 85 | </div> | 85 | </div> |
| 86 | </div> | 86 | </div> |
| 87 | <shortcut-fixed type="C" :item="['home', 'me']"></shortcut-fixed> | 87 | <shortcut-fixed type="C" :item="['home', 'me']"></shortcut-fixed> |
| 88 | </div> | 88 | </div> |
| 89 | 89 | ||
| 90 | - <!-- 写评论时,如果没有实名认证提示弹框 --> | 90 | + <!-- 上传时,如果没有默认儿童提示弹框, 如果没有实名认证提示弹框 --> |
| 91 | - <notice-overlay :show="showNotice" text="前往认证" @on-submit="onSubmit" @on-close="onClose"> | 91 | + <notice-overlay :show="showNotice" :text="noticeText" @on-submit="onSubmit" @on-close="onClose"> |
| 92 | <div style="color: #333333;"> | 92 | <div style="color: #333333;"> |
| 93 | - <p>您还没有实名认证</p> | 93 | + <div v-html="noticeHtml"></div> |
| 94 | - <p>请前往个人中心进行实名认证</p> | ||
| 95 | - </div> | ||
| 96 | - </notice-overlay> | ||
| 97 | - | ||
| 98 | - <!-- 上传时,如果没有默认儿童提示弹框 --> | ||
| 99 | - <notice-overlay :show="showPerfNotice" text="前往新增" @on-submit="onSubmit" @on-close="onPerfClose"> | ||
| 100 | - <div style="color: #333333;"> | ||
| 101 | - <p>您还没有新增儿童</p> | ||
| 102 | - <p>请前往个人中心进行新增</p> | ||
| 103 | </div> | 94 | </div> |
| 104 | </notice-overlay> | 95 | </notice-overlay> |
| 105 | 96 | ||
| ... | @@ -183,78 +174,61 @@ const closeDonate = (v) => { | ... | @@ -183,78 +174,61 @@ const closeDonate = (v) => { |
| 183 | } | 174 | } |
| 184 | /**********************************/ | 175 | /**********************************/ |
| 185 | 176 | ||
| 186 | -// 跳转个人中心 | ||
| 187 | -const onSubmit = () => { | ||
| 188 | - $router.push({ | ||
| 189 | - path: '/me/index' | ||
| 190 | - }); | ||
| 191 | -} | ||
| 192 | 177 | ||
| 193 | /** | 178 | /** |
| 194 | * 上传作品回调 | 179 | * 上传作品回调 |
| 195 | */ | 180 | */ |
| 196 | 181 | ||
| 197 | -// 未实名认证提示 | 182 | +// 不能上传提示原因弹框 |
| 198 | const showNotice = ref(false) | 183 | const showNotice = ref(false) |
| 199 | const onClose = () => { // 关闭提示框回调 | 184 | const onClose = () => { // 关闭提示框回调 |
| 200 | showNotice.value = false; | 185 | showNotice.value = false; |
| 201 | } | 186 | } |
| 202 | -// 未新增儿童提示 | 187 | +// 跳转个人中心 |
| 203 | -const showPerfNotice = ref(false); | 188 | +const onSubmit = () => { |
| 204 | -const onPerfClose = () => { // 关闭提示框回调 | 189 | + $router.push({ |
| 205 | - showPerfNotice.value = false; | 190 | + path: '/me/index' |
| 206 | -} | 191 | + }); |
| 207 | - | ||
| 208 | -// 上传前检查是否有默认儿童 | ||
| 209 | -const validUpload = () => { | ||
| 210 | - if (!donateItem.value.perf_id) { | ||
| 211 | - showPerfNotice.value = true; | ||
| 212 | - } else { | ||
| 213 | - uploadVideo(); | ||
| 214 | - } | ||
| 215 | } | 192 | } |
| 216 | 193 | ||
| 194 | +const noticeText = ref('') | ||
| 195 | +const noticeHtml = ref('') | ||
| 217 | const show = ref(false); // 跳转等待提示 | 196 | const show = ref(false); // 跳转等待提示 |
| 218 | const uploadVideo = () => { | 197 | const uploadVideo = () => { |
| 219 | - show.value = true; | 198 | + if (donateItem.value.can_upload === 1) { // 可以上传 |
| 220 | - axios.get('/srv/?a=can_upload') | 199 | + show.value = true; |
| 221 | - .then(res => { | 200 | + // x_field_1 是金数据表单传入的参数,家长上传的格式为:user_id-book_id-perf_id,perf_id是当前缺省的儿童id |
| 222 | - if (res.data.code === 1) { | 201 | + const str = `${donateItem.value.user_id}-${$route.query.id}-${donateItem.value.perf_id}`; |
| 223 | - // 实名认证标识 | 202 | + // 已读隐私条例,直接跳转上传页面 |
| 224 | - if (res.data.data.can_upload) { | 203 | + if (Cookies.get('privacy_notice')) { |
| 225 | - // x_field_1 是金数据表单传入的参数,家长上传的格式为:user_id-book_id-perf_id,perf_id是当前缺省的儿童id | 204 | + location.href = `${JSJ_FORM_C}?x_field_1=${str}`; |
| 226 | - const str = `${donateItem.value.user_id}-${$route.query.id}-${donateItem.value.perf_id}`; | 205 | + // BUG: 关闭loading临时处理 |
| 227 | - // 已读隐私条例,直接跳转上传页面 | 206 | + setTimeout(() => { |
| 228 | - if (Cookies.get('privacy_notice')) { | 207 | + show.value = false; |
| 229 | - location.href = `${JSJ_FORM_C}?x_field_1=${str}`; | 208 | + }, 2000); |
| 230 | - // BUG: 关闭loading临时处理 | 209 | + } else { // 跳转个人隐私阅读 |
| 231 | - setTimeout(() => { | 210 | + $router.push({ |
| 232 | - show.value = false; | 211 | + path: '/client/privacyNotice', |
| 233 | - }, 2000); | 212 | + query: { |
| 234 | - } else { | 213 | + str |
| 235 | - $router.push({ | ||
| 236 | - path: '/client/privacyNotice', | ||
| 237 | - query: { | ||
| 238 | - str | ||
| 239 | - } | ||
| 240 | - }) | ||
| 241 | - } | ||
| 242 | - } else { | ||
| 243 | - // 如果没有实名认证需要提示用户实名认证 | ||
| 244 | - showNotice.value = true; | ||
| 245 | } | 214 | } |
| 246 | - } else { | 215 | + }) |
| 247 | - console.warn(res); | 216 | + } |
| 248 | - if (!res.data.show) return false; | 217 | + } else if (donateItem.value.can_upload === -1) { // 未实名认证 |
| 249 | - Toast({ | 218 | + showNotice.value = true; |
| 250 | - icon: 'close', | 219 | + noticeText.value = '前往认证' |
| 251 | - message: res.data.msg | 220 | + noticeHtml.value = ` |
| 252 | - }); | 221 | + <p>您还没有实名认证</p> |
| 253 | - } | 222 | + <p>请前往个人中心进行实名认证</p> |
| 254 | - }) | 223 | + ` |
| 255 | - .catch(err => { | 224 | + } else if (donateItem.value.can_upload === -2) { // 没有默认儿童 |
| 256 | - console.error(err); | 225 | + showNotice.value = true; |
| 257 | - }) | 226 | + noticeText.value = '前往新增' |
| 227 | + noticeHtml.value = ` | ||
| 228 | + <p>您还没有新增儿童</p> | ||
| 229 | + <p>请前往个人中心进行新增</p> | ||
| 230 | + ` | ||
| 231 | + } | ||
| 258 | } | 232 | } |
| 259 | 233 | ||
| 260 | /****************** keepAlive 模块 *******************/ | 234 | /****************** keepAlive 模块 *******************/ | ... | ... |
| ... | @@ -85,37 +85,12 @@ const styleObject = reactive({ | ... | @@ -85,37 +85,12 @@ const styleObject = reactive({ |
| 85 | 85 | ||
| 86 | // 跳转书籍详情页 | 86 | // 跳转书籍详情页 |
| 87 | const onClick = (item) => { | 87 | const onClick = (item) => { |
| 88 | - /** | 88 | + $router.push({ |
| 89 | - * 获取默认儿童信息 | 89 | + path: '/client/bookDetail', |
| 90 | - * @returns name, perf_id, kg_id | 90 | + query: { |
| 91 | - */ | 91 | + id: item.id |
| 92 | - axios.get('/srv/?a=default_perf', { | 92 | + } |
| 93 | - params: { | 93 | + }); |
| 94 | - book_id: item.id | ||
| 95 | - } | ||
| 96 | - }) | ||
| 97 | - .then(res => { | ||
| 98 | - if (res.data.code === 1) { | ||
| 99 | - // 缓存缺省儿童信息 | ||
| 100 | - Cookies.set('default_perf', JSON.stringify(res.data.data)) | ||
| 101 | - $router.push({ | ||
| 102 | - path: '/client/bookDetail', | ||
| 103 | - query: { | ||
| 104 | - id: item.id | ||
| 105 | - } | ||
| 106 | - }); | ||
| 107 | - } else { | ||
| 108 | - console.warn(res); | ||
| 109 | - if (!res.data.show) return false; | ||
| 110 | - Toast({ | ||
| 111 | - icon: 'close', | ||
| 112 | - message: res.data.msg | ||
| 113 | - }); | ||
| 114 | - } | ||
| 115 | - }) | ||
| 116 | - .catch(err => { | ||
| 117 | - console.error(err); | ||
| 118 | - }); | ||
| 119 | } | 94 | } |
| 120 | </script> | 95 | </script> |
| 121 | 96 | ... | ... |
-
Please register or login to post a comment