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-07-01 18:18:58 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
8b0a4bc16697d4274573f0161ae82b0125a3ae6a
8b0a4bc1
1 parent
dfe8bd37
✨ feat(捐赠相关页面): 捐赠组件剔除类型判断,对与不同页面prepare_donate接口传参调整
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
25 additions
and
94 deletions
src/components/DonateBar/index.vue
src/components/DonateFlower/index.vue
src/views/client/bookDetail.vue
src/views/client/chooseBook.vue
src/views/client/finishUpload.vue
src/views/client/personIndex.vue
src/views/client/videoDetail.vue
src/components/DonateBar/index.vue
View file @
8b0a4bc
...
...
@@ -2,7 +2,7 @@
* @Author: hookehuyr hookehuyr@gmail.com
* @Date: 2022-05-31 18:32:38
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2022-0
6-09 15:26:44
* @LastEditTime: 2022-0
7-01 17:58:30
* @FilePath: /tswj/src/components/DonateBar/index.vue
* @Description: 爱心助力底部固定栏
-->
...
...
@@ -13,7 +13,6 @@
</div>
</div>
<donate-flower
:user-type="donateType"
:show-popup="showDonate"
:item="donateInfo"
@on-close="showDonate=false"
...
...
@@ -22,39 +21,24 @@
<script setup>
import { ref, onMounted } from 'vue'
import { useRoute } from 'vue-router'
import { DonateFlower } from '@/utils/generateModules'
import { prepareDonateAPI } from '@/api/C/donate.js'
import { USER_TYPE } from '@/constant'
const $route = useRoute();
const props = defineProps({
donateType: {
perfId: Number,
kgId: {
type: String,
default: (value) => value,
validator: value => {
return [
USER_TYPE.CHILDREN,
USER_TYPE.VISIT,
USER_TYPE.KINDERGARTEN
].includes(value);
}
default: ''
}
})
// 查询参数
let params = {};
if (props.donateType === USER_TYPE.CHILDREN) params = { perf_id: $route.query.perf_id };
if (props.donateType === USER_TYPE.KINDERGARTEN) params = { kg_id: $route.query.kg_id };
const donateInfo = ref({})
const showDonate = ref(false);
onMounted(async () => {
const { data } = await prepareDonateAPI(
params
);
const { data } = await prepareDonateAPI(
{ perf_id: props.perfId, kg_id: props.kgId }
);
donateInfo.value = data;
})
const showDonate = ref(false);
</script>
<style lang="less" scoped>
...
...
src/components/DonateFlower/index.vue
View file @
8b0a4bc
...
...
@@ -2,7 +2,7 @@
* @Author: hookehuyr hookehuyr@gmail.com
* @Date: 2022-05-31 22:09:58
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2022-0
6-18 16:27:20
* @LastEditTime: 2022-0
7-01 18:00:04
* @FilePath: /tswj/src/components/DonateFlower/index.vue
* @Description: 捐花组件
-->
...
...
@@ -34,8 +34,7 @@
</van-col>
<van-col span="6" style="line-height: 2.5;"> 朵花花</van-col>
</van-row>
<div v-else style="border: 1px solid #11D2B1; padding: 0.4rem 1rem;" @click="more_donate = true">更多花花
</div>
<div v-else style="border: 1px solid #11D2B1; padding: 0.4rem 1rem;" @click="more_donate = true">更多花花</div>
</div>
<div v-if="item.kg_id" class="donate-name">
<van-row>
...
...
@@ -87,7 +86,6 @@
<div class="popup-wrapper">
<van-popup v-model:show="showDA" position="bottom" :style="{ height: '100%', zIndex: 4000 }">
<agreement />
<!-- <div class="agreementHtml" v-html="agreementHtml" /> -->
<div class="bottom-btn" @click="showDA=false">
<div class="text">关闭</div>
</div>
...
...
@@ -100,20 +98,15 @@ import { icon_flower } from '@/utils/generateIcons'
import MyButton from '@/components/MyButton/index.vue'
import agreement from './agreement.vue'
import { ref, watch, nextTick } from 'vue'
import { useRouter } from 'vue-router'
import { $, Toast } from '@/utils/generatePackage'
import { addDonateAPI } from '@/api/C/donate.js'
// import { wxJsAPI } from '@/api/wx/config'
// import { wxPayAPI } from '@/api/wx/pay'
import agreementHtml from './agreement'
import { USER_TYPE } from '@/constant'
// import wx from 'weixin-js-sdk'
const $router = useRouter();
const props = defineProps({
item: Object,
showPopup: Boolean,
userType: String
showPopup: Boolean
})
const emit = defineEmits(['on-close']);
...
...
@@ -127,26 +120,6 @@ const donateFlower = () => {
Toast.fail('捐赠人姓名不能为空!');
return false;
}
// 捐钱接口
// 根据类型过滤提交数据
// 儿童: 提交 perf_id,kg_id
// 幼儿园: 提交 kg_id
// 访客
// let params = {
// qty: donate_number.value,
// donate_name: props.item.donate_name,
// };
// switch (props.userType) {
// case USER_TYPE.CHILDREN:
// params.perf_id = props.item.perf_id;
// params.kg_id = props.item.kg_id;
// break;
// case USER_TYPE.KINDERGARTEN:
// params.kg_id = props.item.kg_id;
// break;
// case USER_TYPE.VISIT:
// break;
// }
// 业务逻辑调整,有值就传值显示
let params = {
qty: donate_number.value,
...
...
@@ -163,16 +136,6 @@ const addDonate = async (params) => {
closeBtn();
// TAG: 微信支付
wechatPay(data.id);
// 交易成功跳转回调页面
// TEMP: 临时传参 donate_id, 页面到时候给到后端跳转
// 回调地址
// http://voice.onwall.cn/f/voice/#/client/wechatpayCallback?donate_id=xxx
// $router.push({
// path: '/client/wechatpayCallback',
// query: {
// donate_id: data.id
// }
// })
}
}
...
...
src/views/client/bookDetail.vue
View file @
8b0a4bc
...
...
@@ -2,7 +2,7 @@
* @Author: hookehuyr hookehuyr@gmail.com
* @Date: 2022-05-21 09:35:14
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2022-07-01 1
7:10:49
* @LastEditTime: 2022-07-01 1
8:07:00
* @FilePath: /tswj/src/views/client/bookDetail.vue
* @Description:
-->
...
...
@@ -111,7 +111,7 @@
<!-- 上传时,如果没有默认儿童提示弹框, 如果没有实名认证提示弹框 -->
<notice-overlay-module :show="showNotice" :type="userInfo.can_upload" @on-submit="onSubmit" @on-close="onClose" />
<donate-flower :
user-type="donateType" :
show-popup="showDonate" :item="donateInfo" @on-close="closeDonate" />
<donate-flower :show-popup="showDonate" :item="donateInfo" @on-close="closeDonate" />
<van-overlay :show="show" z-index="9999">
<div class="wrapper" @click.stop>
...
...
@@ -126,7 +126,7 @@ import { useRoute, useRouter, onBeforeRouteLeave } from 'vue-router'
import { Cookies, _, storeToRefs, mainStore, Toast, hasEllipsis } from '@/utils/generatePackage'
import { MyButton, VideoCard, NoticeOverlayModule, DonateFlower, ShortcutFixed } from '@/utils/generateModules'
import { icon_video, icon_up, icon_down, icon_subscribed, icon_unsubscribe, no_image } from '@/utils/generateIcons'
import { JSJ_FORM_
C, JSJ_FORM_
MANDARIN, JSJ_FORM_LOCALISM } from '@/constant'
import { JSJ_FORM_MANDARIN, JSJ_FORM_LOCALISM } from '@/constant'
import { useVideoList, useDefaultPerf, useScrollTop } from '@/composables';
import { addSubscribeAPI } from '@/api/C/book.js'
import { prepareDonateAPI } from '@/api/C/donate.js'
...
...
@@ -155,14 +155,10 @@ const onClickLocalism = () => {
const customStyle = ref({
bottom: '8rem'
})
const donateInfo = ref({})
const userType = Cookies.get('userType')
// 判断是访客进入还是幼儿园进入
const donateType = computed(() => {
return userType === 'client' ? USER_TYPE.KINDERGARTEN : USER_TYPE.VISIT;
})
onMounted(async () => {
const { data } = await prepareDonateAPI(
{ kg_id: $route.query.kg_id }
);
const { data } = await prepareDonateAPI();
donateInfo.value = data;
setTimeout(() => {
// 判断是否显示简介的展开图标
...
...
src/views/client/chooseBook.vue
View file @
8b0a4bc
...
...
@@ -48,7 +48,7 @@
<van-empty v-if="emptyStatus" class="custom-image" :image="no_image" description="暂无书籍信息" />
</div>
<div style="height: 5rem" />
<donate-bar :
donate-type="donateType
">爱心助力</donate-bar>
<donate-bar :
kg-id="kg_id
">爱心助力</donate-bar>
<shortcut-fixed :type="USER_ROLE.CLIENT" :item="shortcutItem" :custom-style="customStyle" />
</div>
</template>
...
...
@@ -62,8 +62,8 @@ import { useGo } from '@/hooks/useGo';
import { killPages, store } from '@/hooks/useKeepAlive';
import { Cookies } from '@/utils/generatePackage.js'
import { DonateBar } from '@/utils/generateModules.js'
import {
computed,
ref, watch } from 'vue'
import { USER_ROLE
, USER_TYPE
} from '@/constant'
import { ref, watch } from 'vue'
import { USER_ROLE } from '@/constant'
import { sharePage } from '@/composables/useShare.js'
const go = useGo();
...
...
@@ -86,12 +86,6 @@ const customStyle = {
bottom: '8rem'
}
const userType = Cookies.get('userType')
// 判断是访客进入还是幼儿园进入
const donateType = computed(() => {
return userType === 'client' ? USER_TYPE.KINDERGARTEN : USER_TYPE.VISIT;
})
/********************* 搜索功能栏 **********************/
const search_value = ref('')
const onSearch = () => { // 前端过滤搜索结果
...
...
src/views/client/finishUpload.vue
View file @
8b0a4bc
...
...
@@ -2,7 +2,7 @@
* @Author: hookehuyr hookehuyr@gmail.com
* @Date: 2022-04-26 16:06:31
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2022-0
6-09 01:52:33
* @LastEditTime: 2022-0
7-01 17:50:15
* @FilePath: /tswj/src/views/client/finishUpload.vue
* @Description: 作品上传成功提示页面
-->
...
...
@@ -26,20 +26,18 @@
</div>
</div>
<donate-flower :
user-type="donateType" :
show-popup="showDonate" :item="donateInfo" @on-close="closeDonate" />
<donate-flower :show-popup="showDonate" :item="donateInfo" @on-close="closeDonate" />
</template>
<script setup>
import icon_success from '@images/que-sucess@2x.png'
import { USER_TYPE } from '@/constant'
import MyButton from '@/components/MyButton/index.vue'
import DonateFlower from '@/components/DonateFlower/index.vue'
import { useDefaultPerf } from '@/composables/useDefaultPerf.js'
import { ref,
computed,
onMounted } from 'vue'
import { ref, onMounted } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { Cookies } from '@/utils/generatePackage'
import { prepareDonateAPI } from '@/api/C/donate.js'
const $route = useRoute();
...
...
@@ -54,13 +52,8 @@ if (!book_id) {
}
const donateInfo = ref({})
const userType = Cookies.get('userType')
// 判断是访客进入还是幼儿园进入
const donateType = computed(() => {
return userType === 'client' ? USER_TYPE.KINDERGARTEN : USER_TYPE.VISIT;
})
onMounted(async () => {
const { data } = await prepareDonateAPI(
{ kg_id: $route.query.kg_id }
);
const { data } = await prepareDonateAPI();
donateInfo.value = data;
})
...
...
src/views/client/personIndex.vue
View file @
8b0a4bc
...
...
@@ -63,7 +63,8 @@
</div>
<van-empty v-if="emptyStatus" class="custom-image" :image="no_image" description="暂无作品信息" />
<donate-flower user-type="C" :show-popup="showDonate" :item="donateInfo" @on-close="closeDonate" />
<donate-flower :show-popup="showDonate" :item="donateInfo" @on-close="closeDonate" />
</template>
<script setup>
...
...
src/views/client/videoDetail.vue
View file @
8b0a4bc
...
...
@@ -34,7 +34,7 @@
<van-tab :title="'留言 ' + comment_num" :title-style="tabClass">
<!-- <router-view ref="childRef" name="comment" /> -->
<video-detail-comment ref="childRef" />
<donate-bar
donate-type="C
">为TA助力</donate-bar>
<donate-bar
v-if="videoInfo" :perf-id="videoInfo.perf_id
">为TA助力</donate-bar>
</van-tab>
</van-tabs>
</van-col>
...
...
@@ -44,7 +44,7 @@
</template>
<script setup>
import { ref, onMounted, watch
, inject, provide
} from 'vue'
import { ref, onMounted, watch } from 'vue'
import { useRoute, useRouter, onBeforeRouteLeave } from 'vue-router'
import { storeToRefs, mainStore } from '@/utils/generatePackage'
import { VideoDetail, DonateBar } from '@/utils/generateModules'
...
...
Please
register
or
login
to post a comment