From 74584fe7dd1bca215cfe2d16f5c31f1a460f4502 Mon Sep 17 00:00:00 2001 From: wangdong <1551135706@qq.com> Date: Tue, 12 Mar 2024 23:11:04 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=AD=E7=89=A9=E8=BD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/store.js | 15 +- pages.json | 6 + pages/learningCenter/brushQuestion.vue | 17 +- pages/my/address.vue | 2 +- pages/my/follow_lecturer.vue | 1 + pages/my/invoiceList.vue | 140 +++++++- pages/my/orgCooperation.vue | 2 - pages/special/grade_list.vue | 22 +- pages/store/applyInvoicing.vue | 10 +- pages/store/detail.vue | 22 +- pages/store/goodsCate.vue | 43 +-- pages/store/goodsList.vue | 23 +- pages/store/shoppingCart.vue | 429 +++++++++++++++++++++++++ static/images/learning/exam-bg.png | Bin 0 -> 9073 bytes static/images/learning/exam-icon.png | Bin 0 -> 1948 bytes static/images/learning/to.png | Bin 0 -> 1234 bytes 16 files changed, 650 insertions(+), 82 deletions(-) create mode 100644 pages/store/shoppingCart.vue create mode 100644 static/images/learning/exam-bg.png create mode 100644 static/images/learning/exam-icon.png create mode 100644 static/images/learning/to.png diff --git a/api/store.js b/api/store.js index 3b06ad8..47e7219 100644 --- a/api/store.js +++ b/api/store.js @@ -58,4 +58,17 @@ export function editInvoiceHeader(params) { export function applyInvoice(params) { return http.post("/invoice/make", params); -} \ No newline at end of file +} + + +export function deleteInvoice(params) { + return http.post("/invoice/delete", params); +} + +export function getCartList(params) { + return http.get("/Auth_Api/get_cart_list", params); +} + +export function joinCart(params) { + return http.get("/Auth_Api/set_cart", params); +} diff --git a/pages.json b/pages.json index 2801cdf..51a8bc7 100644 --- a/pages.json +++ b/pages.json @@ -90,6 +90,12 @@ "style": { "navigationBarTitleText": "申请开票" } + }, + { + "path": "pages/store/shoppingCart", + "style": { + "navigationBarTitleText": "购物车" + } } ], "subPackages": [ diff --git a/pages/learningCenter/brushQuestion.vue b/pages/learningCenter/brushQuestion.vue index fa0af7a..c3feea1 100644 --- a/pages/learningCenter/brushQuestion.vue +++ b/pages/learningCenter/brushQuestion.vue @@ -3,12 +3,12 @@ - + 组合卷考试 完成付费试题后可参加 - + \ No newline at end of file diff --git a/pages/my/orgCooperation.vue b/pages/my/orgCooperation.vue index 1fcea46..023b85a 100644 --- a/pages/my/orgCooperation.vue +++ b/pages/my/orgCooperation.vue @@ -56,14 +56,12 @@ data() { return { special_id: '', - specialInfo: {}, applyForm: { real_name: '', mobile: '', recommend_user: '', address: '', }, - payDialogOpen: false, payDialogOpen: false, // 是否显示支付弹窗 money: 200.0, pay_type_num: 20, diff --git a/pages/special/grade_list.vue b/pages/special/grade_list.vue index e4bea74..2bd441f 100644 --- a/pages/special/grade_list.vue +++ b/pages/special/grade_list.vue @@ -4,7 +4,7 @@ 资料 - 老师 + 课程 @@ -18,11 +18,13 @@ @touchstart="drawStart" @touchmove="drawMove(index,$event)" @touchend="drawEnd(index,$event)" + :style="{ left: activeHeaderMask === index ? '-120rpx' : '' }" > + 取消收藏 @@ -94,6 +96,7 @@ export default { page: 1, limit: 10, count: 0, + activeHeaderMask: -1, }; }, computed: { @@ -189,15 +192,11 @@ export default { if (Math.abs(diff) > 20) { // console.log('移动',diff,id,e); if (diff < 0) { - box_center.$el.style.left = '-60px' + this.activeHeaderMask = id; } else { - box_center.$el.style.left = '0' + this.activeHeaderMask = -1; } - - }else{ - box_center.$el.style.left = '0' } - }, }, }; @@ -239,6 +238,15 @@ page{ .list-item { position: relative; background: #ffffff; + .function-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + z-index: 10; + visibility: hidden; + } .function { width: 120rpx; height: 100%; diff --git a/pages/store/applyInvoicing.vue b/pages/store/applyInvoicing.vue index 756ac22..593bdfa 100644 --- a/pages/store/applyInvoicing.vue +++ b/pages/store/applyInvoicing.vue @@ -110,7 +110,7 @@ methods: { changeRadioType(e) { console.log(e, this.invoicingInfo.type); - this.invoicingInfo.type = e.detail.value; + this.invoicingInfo.type = Number(e.detail.value); this.invoicingInfo.invoiceHeader = ''; this.invoicingInfo.dutyParagraph = ''; this.invoicingInfo.address = ''; @@ -246,8 +246,7 @@ font-size: 32rpx; } } - ::v-deep { - uni-radio-group, { + radio-group { display: flex; align-items: center; justify-content: flex-end; @@ -256,7 +255,7 @@ height: 34rpx; } } - .uni-label-pointer { + label { display: flex; align-items: center; margin-left: 63rpx; @@ -264,10 +263,9 @@ input { text-align: right; } - uni-picker { + picker { text-align: right; } - } } } } diff --git a/pages/store/detail.vue b/pages/store/detail.vue index 13bce10..db61ba3 100644 --- a/pages/store/detail.vue +++ b/pages/store/detail.vue @@ -140,6 +140,7 @@ import { getReplyList, getStoreDetail, createOrder, + joinCart, } from "@/api/store"; import { getLecturer, getRebateAmount } from "@/api/auth"; import RebateGuide from "@/components/RebateGuide/index.vue"; @@ -250,6 +251,11 @@ export default { case 2: this.$util.goSupport(CUSTOMER_DETAIL_TYPE.GOOD, CUSTOMER_SUPPORT_TYPE.STORE_GOOD, this.id, this.storeInfo.mer_id); break; + case 3: + uni.navigateTo({ + url: "/pages/store/shoppingCart", + }); + break; } }, // 立即购买 @@ -273,7 +279,21 @@ export default { }, true); }, joinCart() { - // this.$util.checkLogin(); + this.$util.checkLogin(async () => { + try { + const { code, data, msg } = await joinCart({ + productId: this.storeInfo.id, + cartNum: 1, + }); + if (code === 200) { + this.$util.showMsg('添加成功'); + } else { + this.$util.showMsg(msg); + } + } catch (err) { + this.$util.showMsg(err.msg); + } + }, true); }, //所有插件回调处理事件 changeVal(opt) { diff --git a/pages/store/goodsCate.vue b/pages/store/goodsCate.vue index ed1e0cf..c6a0406 100644 --- a/pages/store/goodsCate.vue +++ b/pages/store/goodsCate.vue @@ -31,47 +31,7 @@ export default { data() { return { - goodsCateList: [ - { - name: '特别推荐', - list: [ - { - title: '四级必备', - list: [{name: '二级分类01'}, {name: '二级分类02'}, {name: '二级分类03'}, {name: '二级分类04'}], - }, - { - title: '托福雅思', - list: [{name: '二级分类01'}, {name: '二级分类02'}, {name: '二级分类03'}, {name: '二级分类04'}], - }, - ] - }, - { - name: '考研试卷', - list: [ - { - title: '四级必备', - list: [{name: '二级分类01'}, {name: '二级分类02'}, {name: '二级分类03'}, {name: '二级分类04'}], - }, - { - title: '托福雅思', - list: [{name: '二级分类01'}, {name: '二级分类02'}, {name: '二级分类03'}, {name: '二级分类04'}], - }, - ] - }, - { - name: '语言学习', - list: [ - { - title: '四级必备', - list: [{name: '二级分类01'}, {name: '二级分类02'}, {name: '二级分类03'}, {name: '二级分类04'}], - }, - { - title: '托福雅思', - list: [{name: '二级分类01'}, {name: '二级分类02'}, {name: '二级分类03'}, {name: '二级分类04'}], - }, - ] - } - ], + goodsCateList: [], bigCate: '', }; }, @@ -91,6 +51,7 @@ children: data.recommend, }, ].concat(data.category_list); + this.bigCate = '特别推荐'; console.log(this.goodsCateList); } catch (err) { } }, diff --git a/pages/store/goodsList.vue b/pages/store/goodsList.vue index f549134..0bff78a 100644 --- a/pages/store/goodsList.vue +++ b/pages/store/goodsList.vue @@ -39,7 +39,7 @@ {{ item.price }} - + @@ -53,7 +53,7 @@ @@ -119,7 +136,7 @@ \ No newline at end of file diff --git a/static/images/learning/exam-bg.png b/static/images/learning/exam-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..06fe73aa0516b0c857b50297a5ff6b7f2799e553 GIT binary patch literal 9073 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 Fe*n>v%z6L- literal 0 HcmV?d00001 diff --git a/static/images/learning/exam-icon.png b/static/images/learning/exam-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8c92141ed2f5dec76fc134d82ea13865ca90b4c8 GIT binary patch literal 1948 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 literal 0 HcmV?d00001