diff --git a/common/api/shop.js b/common/api/shop.js index 50dd9e5..fccbc0e 100644 --- a/common/api/shop.js +++ b/common/api/shop.js @@ -271,12 +271,13 @@ export default { }); }, // 我的优惠券(已有的) - getMemberCouponList({ store_id, gc_id, type, status }) { + getMemberCouponList({ store_id, gc_id, type, status, page }) { return vm.$u.post('Coupon/getMemberCouponList', { store_id: store_id, gc_id: gc_id, type: type, status: status, + page: page, }); }, // 获取直播列表 diff --git a/common/api/user.js b/common/api/user.js index 4f08ebe..e084b8a 100644 --- a/common/api/user.js +++ b/common/api/user.js @@ -242,6 +242,10 @@ export default { if(type > 0) Object.assign(params, {type: type}); return vm.$u.post('Order/orderList', params); }, + // 各种订单数量 + getOrderNumber() { + return vm.$u.post('order/orderNumber'); + }, // 售后列表 // getAfterSaleList({ page }) { // return vm.$u.post('order/afterSaleList', { page: page }); @@ -353,6 +357,12 @@ export default { code: code, }); }, + // 获取可送洗商品 + getSendOrderList({ page }) { + return vm.$u.post('member/getSendOrderList', { + page: page, + }); + }, // 送洗列表-平台订单 实体店订单 sendLaundryOrderList({ type, page }) { return vm.$u.post('member/sendLaundryOrderList', { diff --git a/common/store/index.js b/common/store/index.js index 91a1a40..2ab536a 100644 --- a/common/store/index.js +++ b/common/store/index.js @@ -20,6 +20,7 @@ const store = new Vuex.Store({ token: "", // 储存token showLoginModel: false, // 登录框 question: {}, // 帮助与反馈 + showCoupons: true, // 是否显示新人领取优惠券 }, getters: { getOrderAddress(state) { @@ -79,6 +80,9 @@ const store = new Vuex.Store({ }, setQuestion(state, question) { state.question = question; + }, + updateShowCoupons(state, status) { + state.showCoupons = status; } } }) diff --git a/components/index/video-item/index.vue b/components/index/video-item/index.vue index 35fbdad..dd983a0 100644 --- a/components/index/video-item/index.vue +++ b/components/index/video-item/index.vue @@ -15,7 +15,7 @@ {{ item.member_nickname }} - + @@ -105,6 +105,7 @@ >image{ width: 37rpx; height: 8rpx; + padding: 20rpx; } .action { z-index: 19; @@ -211,7 +212,7 @@ export default { }, watch: { item(newVal, old) { - console.log(newVal); + // console.log(newVal); this.item = newVal; }, deep: true diff --git a/components/shop/group/item.vue b/components/shop/group/item.vue index eacbf15..c00210d 100644 --- a/components/shop/group/item.vue +++ b/components/shop/group/item.vue @@ -3,8 +3,8 @@ {{ info.pintuan_goods_name }} - ¥{{ info.pintuan_goods_price }} - 立即拼团 + ¥{{ info.pintuan_goods_price }} + 立即拼团 @@ -65,18 +65,18 @@ export default { // align-items: center; // align-content: flex-end; justify-content: space-between; - margin-top: 10rpx; - > view:first-child{ + margin-top: 16rpx; + .value { font-size: 26rpx; color: #FF3131; - margin-bottom: 12rpx; + // margin-bottom: 12rpx; } - > view:last-child{ + .btn { font-size: 22rpx; height: 22rpx; color: #FDD360; text-align: end; - margin-top:8rpx; + // margin-top:8rpx; } } } diff --git a/components/shop/special-shop/index.vue b/components/shop/special-shop/index.vue index 96749f5..0ae0014 100644 --- a/components/shop/special-shop/index.vue +++ b/components/shop/special-shop/index.vue @@ -1,26 +1,26 @@ \ No newline at end of file diff --git a/pageE/order/Logistics.vue b/pageE/order/Logistics.vue index b4d3306..8232200 100644 --- a/pageE/order/Logistics.vue +++ b/pageE/order/Logistics.vue @@ -25,6 +25,7 @@ {{ item.content }} {{ item.kd_time }} + diff --git a/pageE/setting/Index.vue b/pageE/setting/Index.vue index 979ece8..59538b6 100644 --- a/pageE/setting/Index.vue +++ b/pageE/setting/Index.vue @@ -64,7 +64,8 @@ }, { title: '关于我们', - link: '../mine/ArticleDetails?type=2' + // link: '../mine/ArticleDetails?type=2' + link: '/pageE/setting/version' }, { title: '帮助与反馈', @@ -90,6 +91,8 @@ }); }, async loginOut() { + // 显示新人领取优惠券 + this.$store.commit('updateShowCoupons', true); let im = this.imService this.logout(); uni.redirectTo({ diff --git a/pageE/setting/feedback.vue b/pageE/setting/feedback.vue index e2fe288..a7af77b 100644 --- a/pageE/setting/feedback.vue +++ b/pageE/setting/feedback.vue @@ -3,8 +3,8 @@ 人工服务 - - 拨打官方客服电话:400-100-100 + + 拨打官方客服电话:{{ tel400 }} {{ wkTime }} 意见反馈 @@ -31,6 +31,11 @@ export default { this.getHelpList(); }, methods: { + makePhone() { + uni.makePhoneCall({ + phoneNumber: this.tel400, + }); + }, viewAnswer(item) { this.$store.commit('setQuestion', item); this.$u.route('pageE/setting/question'); diff --git a/pageE/setting/updateVersion.vue b/pageE/setting/updateVersion.vue new file mode 100644 index 0000000..569bf89 --- /dev/null +++ b/pageE/setting/updateVersion.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/pageE/setting/version.vue b/pageE/setting/version.vue new file mode 100644 index 0000000..9fc76db --- /dev/null +++ b/pageE/setting/version.vue @@ -0,0 +1,108 @@ + + + \ No newline at end of file diff --git a/pageE/tool/MineCoupon.vue b/pageE/tool/MineCoupon.vue index 3d9febc..103c1bc 100644 --- a/pageE/tool/MineCoupon.vue +++ b/pageE/tool/MineCoupon.vue @@ -3,13 +3,14 @@ - + + @@ -32,6 +33,10 @@ export default { swiperHeight: '', couponList: [], goodsClass: [], + pageSize: 6, + page: 0, + timer: true, + loadStatus: ['loadmore', 'loadmore', 'loadmore'], } }, components: { @@ -46,8 +51,7 @@ export default { }, watch: { current(value) { - let status = value + 1; - this.getMemberCouponList(status); + this.getMemberCouponList(value); } }, methods: { @@ -56,20 +60,34 @@ export default { this.goodsClass = res.data; }) }, - getMemberCouponList(current) { - this.$u.api.getMemberCouponList({ - status: current - }).then(res => { - if(res.errCode == 0) { - this.couponList[this.current] = res.data; - } else { - this.couponList[this.current] = []; - } - this.$forceUpdate(); + async getMemberCouponList({ load = 'reload' }) { + const res = await this.$u.api.getMemberCouponList({ + status: this.current + 1, // 代金券状态 1:未用 2:已用 3:过期 4:收回 + page: this.page, + }) + this.timer = true; + if(load == 'reload') this.couponList[this.current] = res.data; + else if(load == 'loadmore') this.couponList[this.current].push(...res.data); + this.$forceUpdate(); + // console.log(this.couponList); + return res.data.length; + }, + onreachBottom() { + if(!this.timer) return false; + this.timer = false; + this.loadStatus.splice(this.current, 1, "loading"); + this.page++; + this.getMemberCouponList({ load: 'loadmore' }).then(length => { + this.loadStatus.splice(this.current, 1, "nomore"); + if(length == 0) this.page--; + }).catch(() => { + this.loadStatus.splice(this.current, 1, "nomore"); + console.log(this.loadStatus[this.current]); + this.page--; }) }, useCoupon(coupon) { - console.log(coupon); + // console.log(coupon); // if(coupon.type == 1) { // this.$u.route({ // type: 'switchTab', diff --git a/pageE/tool/MineHistory.vue b/pageE/tool/MineHistory.vue index da74a6f..6c333df 100644 --- a/pageE/tool/MineHistory.vue +++ b/pageE/tool/MineHistory.vue @@ -19,7 +19,7 @@ - + diff --git a/pageE/tool/WashOrder.vue b/pageE/tool/WashOrder.vue index 002a278..e3c46de 100644 --- a/pageE/tool/WashOrder.vue +++ b/pageE/tool/WashOrder.vue @@ -160,7 +160,7 @@ 选择订单 - + @@ -195,6 +195,7 @@ + 确认 @@ -222,7 +223,7 @@ export default { }], typeList: [], // 商品类型列表 orderList: [], // 商品列表 - page: 0, + page: 1, current: 0, swiperCurrent: 0, areaList: [], // 地址列表 @@ -244,6 +245,8 @@ export default { name: 'common', // 其他图片 }, debounce: true, + timer: true, + loadStatu: 'loadmore' } }, onShow() { @@ -284,17 +287,33 @@ export default { // console.log(e); this.type = e[0]; }, + onreachBottom() { + if(!this.timer) return false; + this.timer = false; + this.loadStatu = "loading"; + this.page++; + this.getOrderList({ load: 'loadmore' }).then(length => { + if(length == 0) { + this.page--; + this.loadStatu = "nomore"; + } else { + this.loadStatu = "loadmore"; + } + }).catch(() => { + this.loadStatu = "nomore"; + this.page--; + }) + }, async getOrderList({ load = 'reload' } = {}) { - const res = await this.$u.api.getOrderList({ + const res = await this.$u.api.getSendOrderList({ page: this.page, - // type: '40', }) this.timer = true; if(res.errCode == 0) { if(load == 'reload') this.orderList = res.data; else this.orderList.push(...res.data); } - return res; + return res.data.length; }, submitImage() { // console.log(222); diff --git a/pageE/useCoupon/index.vue b/pageE/useCoupon/index.vue index 979bc4d..4efcb29 100644 --- a/pageE/useCoupon/index.vue +++ b/pageE/useCoupon/index.vue @@ -106,7 +106,7 @@ export default { }, setViewHeight() { const res = uni.getSystemInfoSync(); - this.scrollHeight = res.windowHeight - (res.windowWidth / 750) * 90 + 'px'; + this.scrollHeight = res.windowHeight - (res.windowWidth / 750) * (90 + 30) + 'px'; }, toDetailsPage(id) { this.$u.route('/pageB/sdetails/index', { diff --git a/pages.json b/pages.json index 8c36d72..d1616ea 100644 --- a/pages.json +++ b/pages.json @@ -610,16 +610,7 @@ "titleSize": "36px", "titleNView": { "titleColor": "#333333", - "backgroundColor": "#FFFFFF", - "buttons": [ - { - "width": "0", - "type":"none", - "text":"关闭", - "float":"right", - "fontSize":"14" - } - ] + "backgroundColor": "#FFFFFF" } } } @@ -1002,6 +993,31 @@ } } }, + { + "path": "setting/version", + "style": { + "navigationBarTitleText": "关于我们", + "app-plus": { + "titleSize": "36px", + "titleNView": { + "titleColor": "#333333", + "backgroundColor": "#FFFFFF" + } + } + } + }, + { + "path": "setting/updateVersion", + "style": { + "navigationStyle": "custom", // 取消本页面的导航栏 + "app-plus": { + "animationType": "fade-in", // 设置fade-in淡入动画,为最合理的动画类型 + "background": "transparent", // 背景透明 + "backgroundColor": "rgba(0,0,0,0)", // 背景透明 + "popGesture": "none" // 关闭IOS屏幕左边滑动关闭当前页面的功能 + } + } + }, { "path": "order/Index", "style": { diff --git a/pages/index/index.vue b/pages/index/index.vue index 3eb3f20..7e6e891 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -39,7 +39,7 @@ - @@ -222,6 +222,7 @@ diff --git a/pages/mine/index.vue b/pages/mine/index.vue index 4d29be5..6185c91 100644 --- a/pages/mine/index.vue +++ b/pages/mine/index.vue @@ -4,17 +4,6 @@ - + + + {{ item.title }} + {{ item.number }} + + @@ -111,6 +106,10 @@ 优惠券 + + + 试穿试送 + @@ -132,6 +131,7 @@ 投诉意见 + @@ -146,7 +146,51 @@ export default { }, data() { return { - userInfo: {}, + userInfo: {}, + orderList: [ + { + name: 'wait_pay', + title: '待支付', + img: '/static/image/mine/6.png', + link: '/order/Index?current=1', + number: '', + }, + { + name: 'already_pay', + title: '待发货', + img: '/static/image/mine/35.png', + link: '/order/Index?current=2', + number: '', + }, + { + name: 'wait_receipt', + title: '待收货', + img: '/static/image/mine/2.png', + link: '/order/Index?current=3', + number: '', + }, + { + name: 'pintuan', + title: '拼团中', + img: '/static/image/mine/37.png', + link: '/order/Index?current=5', + number: '', + }, + { + name: 'wait_evaluation', + title: '待评价', + img: '/static/image/mine/3.png', + link: '/order/Index?current=6', + number: '', + }, + { + name: 'refund', + title: '售后', + img: '/static/image/mine/9.png', + link: '/order/Index?current=7', + number: '', + }, + ] }; }, filters: { @@ -162,9 +206,11 @@ export default { }) } this.getUserInfo(); + this.getOrderNumber(); }, - onNavigationBarButtonTap() { - this.toOtherPage("/setting/Index"); + onNavigationBarButtonTap(e) { + console.log(e); + if(e.index == 0) this.$u.route('/pageE/setting/Index'); }, methods: { getUserInfo() { @@ -176,7 +222,22 @@ export default { } }) }, + getOrderNumber() { + this.$u.api.getOrderNumber().then(res => { + const object = res.data; + for (const key in object) { + if (object.hasOwnProperty(key)) { + let element = object[key]; + const order = this.orderList.filter(item => item.name == key); + if(element > 99) element = "99+"; + this.$set(order[0], 'number', element); + } + } + // console.log(this.orderList); + }) + }, toOtherPage(url) { + console.log(url); uni.navigateTo({ url: '/pageE' + url }); @@ -200,45 +261,6 @@ export default { .user-info { margin-left: 30rpx; // display: flex; - .info-left { - margin-right: 15rpx; - .user-nickname { - max-width: 200rpx; - font-size: 30rpx; - color: rgba(51,51,51,1); - margin-bottom: 19rpx; - } - .user-medal { - display: flex; - width: 110rpx; - // height: 25rpx; - background: linear-gradient(269deg,rgba(175,175,175,1) 0%,rgba(224,224,224,1) 100%); - border-radius: 13rpx; - align-items: center; - padding: 0 17rpx 0 10rpx; - > image { - margin-right: 9rpx; - width: 20rpx; - height: 22rpx; - flex-shrink: 0; - } - .rank-title { - font-size: 16rpx; - color: rgba(51,51,51,1); - } - } - } - .info-right { - .info-phone { - font-size: 24rpx; - color: rgba(51,51,51,1); - margin-bottom: 26rpx; - } - .user-rank { - font-size: 24rpx; - color: rgba(51,51,51,1); - } - } .info-top { height: 30rpx; display: flex; @@ -336,16 +358,6 @@ export default { font-size: 28rpx; color: #666; border-bottom: 1px solid #ececec; - // &::after { - // content: ""; - // position: absolute; - // width: 650rpx; - // height: 1rpx; - // background: rgba(234,234,234,1); - // bottom: 0; - // left: 50%; - // transform: translate(-50%,0); - // } } .title-text-more { font-size: 24rpx; @@ -397,24 +409,42 @@ export default { flex-direction: column; align-items: center; justify-content: space-between; + position: relative; + .order-num { + z-index: 9; + position: absolute; + top: -12rpx; + right: -16rpx; + border: 1rpx solid #FF7807; + height: 24rpx; + border-radius: 12rpx; + padding: 6rpx 8rpx; + display: flex; + align-items: center; + justify-content: center; + color: #FF7807; + background-color: #ffffff; + font-size: 18rpx; + color:rgba(255,120,15,1); + } } > view:nth-child(1){ - @include image-size($image-width: 36rpx, $image-height: 34rpx); + @include image-size($image-width: 33rpx, $image-height: 36rpx); } > view:nth-child(2){ - @include image-size($image-width: 38rpx, $image-height: 36rpx); + @include image-size($image-width: 38rpx, $image-height: 32rpx); } > view:nth-child(3){ - @include image-size($image-width: 40rpx, $image-height: 36rpx); + @include image-size($image-width: 41rpx, $image-height: 33rpx); } > view:nth-child(4){ - @include image-size($image-width: 38rpx, $image-height: 38rpx); + @include image-size($image-width: 35rpx, $image-height: 35rpx); } > view:nth-child(5){ - @include image-size($image-width: 36rpx, $image-height: 40rpx); + @include image-size($image-width: 37rpx, $image-height: 37rpx); } > view:nth-child(6){ - @include image-size($image-width: 36rpx, $image-height: 40rpx); + @include image-size($image-width: 33rpx, $image-height: 35rpx); } } } @@ -426,8 +456,11 @@ export default { $image-width: 71rpx ); .content { + > view { + width: 100rpx; + } > view:not(:last-child) { - margin-right: 58rpx; + margin-right: 36rpx; } } } @@ -439,8 +472,11 @@ export default { $image-width: 71rpx ); .content { + > view { + width: 100rpx; + } > view:not(:last-child) { - margin-right: 46rpx; + margin-right: 36rpx; } } } diff --git a/pages/shop/index.vue b/pages/shop/index.vue index ce506a1..0058543 100644 --- a/pages/shop/index.vue +++ b/pages/shop/index.vue @@ -46,7 +46,7 @@ - + @@ -61,6 +61,7 @@ diff --git a/static/image/mine/39.png b/static/image/mine/39.png new file mode 100644 index 0000000..4a119ce Binary files /dev/null and b/static/image/mine/39.png differ diff --git a/static/image/userinfo/dianzan.png b/static/image/userinfo/dianzan.png index ff70f83..c490f14 100644 Binary files a/static/image/userinfo/dianzan.png and b/static/image/userinfo/dianzan.png differ diff --git a/static/image/userinfo/dianzan1.png b/static/image/userinfo/dianzan1.png index 3dfd011..407166c 100644 Binary files a/static/image/userinfo/dianzan1.png and b/static/image/userinfo/dianzan1.png differ diff --git a/static/image/userinfo/gouwuche.png b/static/image/userinfo/gouwuche.png index 3c93715..687884d 100644 Binary files a/static/image/userinfo/gouwuche.png and b/static/image/userinfo/gouwuche.png differ diff --git a/static/image/userinfo/gouwuche1.png b/static/image/userinfo/gouwuche1.png index 7f4c54e..e1de4f4 100644 Binary files a/static/image/userinfo/gouwuche1.png and b/static/image/userinfo/gouwuche1.png differ diff --git a/static/image/userinfo/pinglun.png b/static/image/userinfo/pinglun.png index 3a388eb..66ed98d 100644 Binary files a/static/image/userinfo/pinglun.png and b/static/image/userinfo/pinglun.png differ diff --git a/static/image/userinfo/pinglun1.png b/static/image/userinfo/pinglun1.png index fdc2c77..7e69f8a 100644 Binary files a/static/image/userinfo/pinglun1.png and b/static/image/userinfo/pinglun1.png differ diff --git a/static/image/userinfo/shoucang.png b/static/image/userinfo/shoucang.png index c2d880a..be34e31 100644 Binary files a/static/image/userinfo/shoucang.png and b/static/image/userinfo/shoucang.png differ diff --git a/static/image/userinfo/shoucang1.png b/static/image/userinfo/shoucang1.png index 0fbb397..60b9ad8 100644 Binary files a/static/image/userinfo/shoucang1.png and b/static/image/userinfo/shoucang1.png differ diff --git a/static/js/common.js b/static/js/common.js index 9f036ed..fb70bf6 100644 --- a/static/js/common.js +++ b/static/js/common.js @@ -67,5 +67,29 @@ const common = { else result = hours + ':' + minutes + ':' + seconds; return result; }, + /** + * 广告位跳转 + * @param { String } type 跳转类型 + * @param { String | Number } id 跳转id 商品id/商家id... + * @return { undefined } undefined + */ + jumpPage({ type, id }) { + let url; + switch (type) { + case 1: + url = '/pageB/sdetails/index?id=' + id; + break; + case 2: + url = '/pageC/merchant/index?id=' + id; + break; + case 3: + url = '/pageE/mine/MemberServe?current=1' + break; + default: + break; + } + // console.log(url); + uni.navigateTo({ url: url }); + }, } -export default common \ No newline at end of file +export default common; \ No newline at end of file