Compare commits
114 Commits
zmr
...
8ed1ae0020
| Author | SHA1 | Date | |
|---|---|---|---|
| 8ed1ae0020 | |||
| db13a1882d | |||
|
f4ba8edec2
|
|||
| 8f400e2524 | |||
| 56cdbfbf5d | |||
| e608eb2a89 | |||
| 96e16c7af2 | |||
| 038eb466a2 | |||
| 89cf7b96db | |||
| 4ee4f43f05 | |||
|
ccca4992ab
|
|||
| 704fb038df | |||
|
|
1fad28b7b0 | ||
| 840ba58aa6 | |||
|
6039328f54
|
|||
| 0de127d351 | |||
|
|
b1b4298721 | ||
|
e98ad66060
|
|||
| 2d8e738164 | |||
|
|
ee3ba5b0dc | ||
|
|
8937a31684 | ||
| 993e1bc647 | |||
|
97c9774cc4
|
|||
|
839b1728f0
|
|||
| 0e21019107 | |||
| 4dfacfb524 | |||
| d3154dc864 | |||
| 8f02597787 | |||
| 16115ba111 | |||
|
36f0675689
|
|||
|
18c99cd668
|
|||
| 5f233b8e06 | |||
| 916b1e0cbd | |||
|
|
2e36f2a22f | ||
| af612ef89e | |||
| 95c55de38b | |||
| d06394f6ad | |||
|
f4de9fe13b
|
|||
| 2512923891 | |||
| 4ab89711b2 | |||
| 4876ddb383 | |||
|
|
9b5fca48a2 | ||
| 81955085b5 | |||
| ffa18c92d2 | |||
| b63a84149e | |||
| 1aee3f3320 | |||
| 6d0c6a6b15 | |||
|
d5e4d52dbe
|
|||
|
d5d9e98534
|
|||
|
71a82a10b0
|
|||
| e3e470ab88 | |||
| 3d4ee2bd4c | |||
| 6af21ad216 | |||
| 9c026bf64d | |||
| 4436bbd282 | |||
| 27bdf1f2b0 | |||
| 76d13c5a71 | |||
|
6d4d2e5d8d
|
|||
|
6a25fe34a7
|
|||
| 0d96af99e1 | |||
|
5c47aa8e5c
|
|||
| 5ad768f842 | |||
|
|
e674a2c0df | ||
| 5194e15ec8 | |||
| 0a5115b8f4 | |||
| 1d8cd6512f | |||
| 6306573ee4 | |||
|
3e87a5aaf5
|
|||
| 21b9995c1c | |||
| 065cea4e11 | |||
| f86e9ae009 | |||
| dddbabd207 | |||
|
52e6489a2c
|
|||
|
92771d8174
|
|||
|
60a619fa7b
|
|||
| 6f344dc550 | |||
|
03c6779b96
|
|||
| 8518677f05 | |||
|
|
e0aafebcdc | ||
| e43003e0cd | |||
| 7f30cf8020 | |||
| 62d610b025 | |||
| 5806077877 | |||
| 50fb33d8e4 | |||
| 164dff3db5 | |||
| 5b287c7049 | |||
| fc44bb5fd6 | |||
| ecea27ccff | |||
| 3d2e0a9525 | |||
| 4b0cbcf814 | |||
|
|
ecb5f19fc0 | ||
| f54b94f0c6 | |||
| abda1f39f5 | |||
| 9e6c36b65a | |||
|
|
71fb73b61a | ||
|
|
83b06e2ab5 | ||
| b575501bb7 | |||
| d69486d1ab | |||
| d3c68b8c93 | |||
| 40e4d10bd7 | |||
| 7790481afb | |||
|
|
7c0720fab2 | ||
| 1f966b261e | |||
| 421112db2e | |||
| 920976dedd | |||
| 91a655e224 | |||
| 4e3665acc7 | |||
|
|
1643bf51b2 | ||
| d234176f22 | |||
|
b75e885e70
|
|||
| 9eaf84d496 | |||
| dbbd64269f | |||
|
677890a06d
|
|||
| dd3d3c17c4 |
13
App.vue
@@ -28,6 +28,9 @@
|
||||
// #endif
|
||||
},
|
||||
onShow(){
|
||||
// this.getVersion();
|
||||
},
|
||||
onLoad() {
|
||||
|
||||
},
|
||||
onHide(){
|
||||
@@ -45,6 +48,16 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
getVersion() {
|
||||
this.$u.post("Specialci/checkVersion",{ app_version: this.$app_version }).then(res => {
|
||||
// console.log(res);
|
||||
if(res.data.app_version != this.$app_version) {
|
||||
this.$u.route('/pageE/setting/updateVersion', {
|
||||
status: res.data.is_focus_upgrade
|
||||
});
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -49,4 +49,12 @@ unescapeHTML(temp){}
|
||||
* @return { object } promise 对象 resolve 返回文件服务器地址 reject 返回错误信息
|
||||
*/
|
||||
uploadFile({ url, name, filePath }) {}
|
||||
|
||||
/**
|
||||
* 广告位跳转
|
||||
* @param { String } type 跳转类型 1 商品 2 店铺 3 领取优惠券
|
||||
* @param { String | Number } id 跳转id 商品id/商家id...
|
||||
* @return { undefined } undefined
|
||||
*/
|
||||
jumpPage({ type, id }) ()
|
||||
```
|
||||
@@ -86,11 +86,12 @@ export default {
|
||||
return vm.$u.post('Goods/getGoodsClassRecommend');
|
||||
},
|
||||
// goodsListByClassId
|
||||
goodsListByClassId({ gc_id, page, order }) {
|
||||
goodsListByClassId({ gc_id, page, order, keyword }) {
|
||||
return vm.$u.post('goods/goodsListByClassId', {
|
||||
gc_id: gc_id,
|
||||
page: page,
|
||||
order: order,
|
||||
keyword:keyword
|
||||
});
|
||||
},
|
||||
// 商品推荐
|
||||
@@ -138,7 +139,7 @@ export default {
|
||||
});
|
||||
},
|
||||
// 订单步骤2:发起订单,返回订单信息
|
||||
sendOrder({ ifcart, cart_id, address_id, buy_city_id, pintuan_id, pintuangroup_id, voucher_id }) {
|
||||
sendOrder({ ifcart, cart_id, address_id, buy_city_id, pintuan_id, pintuangroup_id, voucher_id, is_selfraising }) {
|
||||
return vm.$u.post('buy/buy_step2', {
|
||||
ifcart: ifcart,
|
||||
cart_id: cart_id,
|
||||
@@ -147,6 +148,7 @@ export default {
|
||||
pintuan_id: pintuan_id,
|
||||
pintuangroup_id: pintuangroup_id,
|
||||
voucher_id: voucher_id, // 优惠券信息
|
||||
is_selfraising: is_selfraising, // 是否自提
|
||||
});
|
||||
},
|
||||
// 订单步骤3:发起支付(第三方统一下单)
|
||||
@@ -364,6 +366,14 @@ export default {
|
||||
addrefundall({order_id,reason_info}) {
|
||||
return vm.$u.post('order/add_refund_all',{order_id,reason_info})
|
||||
},
|
||||
//提示文字
|
||||
tips(){
|
||||
return vm.$u.post('Shop/tips')
|
||||
},
|
||||
//内容
|
||||
tipsinfo({document_code}){
|
||||
return vm.$u.post('Shop/tipInfo',{document_code})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -251,8 +251,8 @@ export default {
|
||||
// return vm.$u.post('order/afterSaleList', { page: page });
|
||||
// },
|
||||
// 试穿列表
|
||||
goodsTryOrderList() {
|
||||
return vm.$u.post('order/goodsTryOrderList');
|
||||
goodsTryOrderList({ page }) {
|
||||
return vm.$u.post('order/goodsTryOrderList', { page });
|
||||
},
|
||||
// 试穿订单确认完成
|
||||
goodsTryConfirm({ id }) {
|
||||
@@ -454,6 +454,19 @@ export default {
|
||||
//获取默认头像
|
||||
getDefaultAvatar(){
|
||||
return vm.$u.post("member/getDefaultAvatar")
|
||||
},
|
||||
// 第三方账号绑定【微信|QQ】
|
||||
bindingThird({ openid, type }) {
|
||||
return vm.$u.post("auth/memberBindThird", {
|
||||
third_openid: openid,
|
||||
third_type: type,
|
||||
})
|
||||
},
|
||||
// 解绑
|
||||
unbindingThird({ type }) {
|
||||
return vm.$u.post("auth/memberUnbindThird", {
|
||||
third_type: type,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<view class="text">{{ content.geval_content }}</view>
|
||||
</view>
|
||||
<view class="image-container">
|
||||
<image :src="src" v-for="(src, index) in content.geval_image" :key="index" @click="previewImage(content.geval_image)"></image>
|
||||
<image :src="src" v-for="(src, index) in content.geval_image" :key="index" @click="previewImage(content.geval_image, index)"></image>
|
||||
</view>
|
||||
<view class="reply" v-if="reply && content.geval_explain">
|
||||
<view class="title">掌柜回复:</view>
|
||||
@@ -41,11 +41,12 @@ export default {
|
||||
if(this.content.hasOwnProperty('scores_two')) this.rate = this.content.scores_two;
|
||||
},
|
||||
methods: {
|
||||
previewImage(urls) {
|
||||
console.log(urls);
|
||||
// uni.previewImage({
|
||||
// urls: urls,
|
||||
// });
|
||||
previewImage(urls, index) {
|
||||
// console.log(urls);
|
||||
uni.previewImage({
|
||||
urls: urls,
|
||||
current: urls[index]
|
||||
});
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
@@ -64,6 +64,7 @@
|
||||
display:-webkit-box;
|
||||
-webkit-box-orient:vertical;
|
||||
-webkit-line-clamp:2;
|
||||
height: 80rpx;
|
||||
}
|
||||
.jianjie{
|
||||
margin:0 auto;
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
<view class="c-coupon">
|
||||
<view class="coupon-usable">
|
||||
<view class="info-type" :style="{ backgroundImage: 'url(' + '/static/image/mine/30.png' + ')', backgroundSize:'contain', backgroundRepeat: 'no-repeat' }">
|
||||
<div class="wrap_left_top"></div>
|
||||
{{ couponInfo.type == 2 ? '店铺优惠券' : '平台优惠券' }}
|
||||
<div class="wrap_left_top" v-if="couponInfo.type == 1">{{ couponInfo.vouchertemplate_id == 1 ? '新人专享' : '平台优惠券' }}</div>
|
||||
<div class="wrap_left_top" v-else-if="couponInfo.type == 2">店铺优惠券</div>
|
||||
</view>
|
||||
<view class="coupon-info">
|
||||
<view class="info-usable">
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<template>
|
||||
<view class="c-coupon" v-if="goodsClass.length">
|
||||
<view :class="couponInfo.voucher_state != 1 ? 'coupon-unable' : 'coupon-usable'">
|
||||
<view class="c-coupon" v-if="goodsClass.length" @click="use">
|
||||
<view :class="couponInfo.voucher_state != 1 ? 'coupon-unable' : 'coupon-usable'" :style="{'width': type ? '650rpx' : '' }">
|
||||
<view class="info-type" :style="{ backgroundImage: 'url(' + (couponInfo.voucher_state == 1 ? '/static/image/mine/30.png' : '/static/image/mine/31.png') + ')', backgroundSize:'contain', backgroundRepeat: 'no-repeat' }">
|
||||
<div class="wrap_left_top"></div>
|
||||
{{ couponInfo.type == 2 ? '店铺优惠券' : '平台优惠券' }}
|
||||
<div class="wrap_left_top" v-if="couponInfo.type == 1">{{ couponInfo.vouchertemplate_id == 1 ? '新人专享' : '平台优惠券' }}</div>
|
||||
<div class="wrap_left_top" v-else-if="couponInfo.type == 2">店铺优惠券</div>
|
||||
</view>
|
||||
<view class="coupon-info">
|
||||
<view class="info-usable">
|
||||
@@ -14,12 +14,13 @@
|
||||
<view class="info-integral">兑换积分:{{ couponInfo.voucher_points }}积分</view>
|
||||
<view class="info-date">有效期{{ couponInfo.voucher_startdate }}-{{ couponInfo.voucher_enddate }}</view>
|
||||
</view>
|
||||
<view class="coupon-btn">
|
||||
<text v-if="couponInfo.voucher_state == 1" @click="use">立即使用</text>
|
||||
<view class="coupon-btn" :style="{'right': type ? '110rpx' : '' }">
|
||||
<text v-if="couponInfo.voucher_state == 1">立即使用</text>
|
||||
<image v-if="couponInfo.voucher_state == 2" src="/static/image/mine/28.png"></image>
|
||||
<image v-if="couponInfo.voucher_state == 3" src="/static/image/mine/29.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
<image v-if="type" style="width:35rpx;height:35rpx;margin-left:14rpx;" :src="'/static/image/mine/' + (sel ? '41.png' : '42.png') "></image>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
@@ -37,6 +38,8 @@ export default {
|
||||
status: Number,
|
||||
couponInfo: Object,
|
||||
goodsClass: Array,
|
||||
type:Boolean,
|
||||
sel:Boolean
|
||||
},
|
||||
created() {
|
||||
// console.log(this.goodsClass);
|
||||
@@ -53,6 +56,7 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
use() {
|
||||
if(this.couponInfo.voucher_state != 1) return;
|
||||
this.$emit('use', this.couponInfo);
|
||||
},
|
||||
},
|
||||
@@ -63,6 +67,8 @@ export default {
|
||||
position: relative;
|
||||
z-index: 9;
|
||||
margin-bottom: 30rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@mixin coupon-image($url) {
|
||||
width: 690rpx;
|
||||
height: 194rpx;
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<view class="order-btn" v-if="[1, 2, 3, 4, 8, 11].indexOf(order.view_type) >= 0">
|
||||
<!-- || order.view_type == 2 -->
|
||||
<view class="cancel" v-if="(order.view_type == 3 || order.view_type == 2) && order.is_refund == 1" @click="toOtherPage('RefundOrder')">申请退款</view>
|
||||
<view class="cancel" v-if="order.view_type == 3 && order.shipping_code" @click="toOtherPage('Logistics')">查看物流</view>
|
||||
<view class="cancel" v-if="order.view_type == 3 && order.shipping_code && order.is_selfraising != 1" @click="toOtherPage('Logistics')">查看物流</view>
|
||||
<view class="logistics" v-if="order.view_type == 3" @click="confirmReceive">确认收货</view>
|
||||
<view class="comment" v-if="order.view_type == 4" @click="toOtherPage('Comment')">立即评价</view>
|
||||
<view class="cancel" v-if="order.view_type == 1" @click="cancelOrder">取消支付</view>
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<view class="swiper-item uni-bg-red">
|
||||
<image :src=" 'https://' + item.launch_path"></image>
|
||||
</view>
|
||||
<view class="btn-init" v-if="parseInt(index) == 2" @click="goNext">立即体验</view>
|
||||
<view class="btn-init" v-if="parseInt(index) == list.length - 1" @click="goNext">立即体验</view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
</view>
|
||||
@@ -50,8 +50,8 @@
|
||||
data() {
|
||||
return {
|
||||
remaining: 7,
|
||||
type: true,
|
||||
banner: false,
|
||||
type: false,
|
||||
banner: true,
|
||||
protocol: false,
|
||||
heightOut: '',
|
||||
imgurl: [],
|
||||
@@ -116,18 +116,18 @@
|
||||
},
|
||||
// 3秒倒计时
|
||||
remaining_time() {
|
||||
this.timer = setInterval(() => {
|
||||
this.remaining--;
|
||||
if (this.remaining <= 0) {
|
||||
clearInterval(this.timer);
|
||||
console.log("完了")
|
||||
this.type = !this.type;
|
||||
this.banner = !this.banner;
|
||||
}
|
||||
}, 1000);
|
||||
// this.timer = setInterval(() => {
|
||||
// this.remaining--;
|
||||
// if (this.remaining <= 0) {
|
||||
// clearInterval(this.timer);
|
||||
// console.log("完了")
|
||||
// // this.type = !this.type;
|
||||
// // this.banner = !this.banner;
|
||||
// }
|
||||
// }, 1000);
|
||||
},
|
||||
leap_over() {
|
||||
this.type = !this.type
|
||||
// this.type = !this.type
|
||||
this.banner = !this.banner;
|
||||
clearInterval(this.timer)
|
||||
// 获取屏幕高度
|
||||
|
||||
@@ -62,7 +62,7 @@ export default {
|
||||
}
|
||||
.price{
|
||||
display: flex;
|
||||
// align-items: center;
|
||||
align-items: center;
|
||||
// align-content: flex-end;
|
||||
justify-content: space-between;
|
||||
margin-top: 16rpx;
|
||||
|
||||
4
main.js
@@ -5,6 +5,10 @@ import uView from "uview-ui";
|
||||
Vue.config.productionTip = false
|
||||
Vue.use(uView);
|
||||
App.mpType = 'app'
|
||||
|
||||
// 当前 app 版本号
|
||||
Vue.prototype.$app_version = '1.0.0';
|
||||
|
||||
Vue.prototype.imService = new IMService();
|
||||
Vue.prototype.a = 1;
|
||||
import store from '@/common/store/index.js'
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"name" : "德铭阳光",
|
||||
"appid" : "__UNI__EBFF00A",
|
||||
"description" : "",
|
||||
"versionName" : "1.0.0",
|
||||
"versionName" : "1.0.1",
|
||||
"versionCode" : "100",
|
||||
"transformPx" : false,
|
||||
/* 5+App特有相关 */
|
||||
@@ -16,6 +16,13 @@
|
||||
"autoclose" : true,
|
||||
"delay" : 0
|
||||
},
|
||||
"safearea" : {
|
||||
//安全区域配置,仅iOS平台生效
|
||||
"bottom" : {
|
||||
// 底部安全区域配置
|
||||
"offset" : "none" // 底部安全区域偏移,"none"表示不空出安全区域,"auto"自动计算空出安全区域,默认值为"none"
|
||||
}
|
||||
},
|
||||
/* 模块配置 */
|
||||
"modules" : {
|
||||
"OAuth" : {},
|
||||
@@ -112,22 +119,22 @@
|
||||
},
|
||||
"icons" : {
|
||||
"android" : {
|
||||
"hdpi" : "static/app/icon/72x72.png",
|
||||
"xhdpi" : "static/app/icon/96x96.png",
|
||||
"xxhdpi" : "static/app/icon/144x144.png",
|
||||
"xxxhdpi" : "static/app/icon/192x192.png"
|
||||
"hdpi" : "E:/Source-code/appleidmore/安卓png/72x72psd.PNG",
|
||||
"xhdpi" : "E:/Source-code/appleidmore/安卓png/96x96psd.PNG",
|
||||
"xxhdpi" : "E:/Source-code/appleidmore/安卓png/144x144.PNG",
|
||||
"xxxhdpi" : "E:/Source-code/appleidmore/安卓png/192x192.PNG"
|
||||
},
|
||||
"ios" : {
|
||||
"appstore" : "unpackage/res/icons/1024x1024.png",
|
||||
"appstore" : "E:/Source-code/appleidmore/苹果png/appstore 1024X1024.PNG",
|
||||
"iphone" : {
|
||||
"app@2x" : "unpackage/res/icons/120x120.png",
|
||||
"app@3x" : "unpackage/res/icons/180x180.png",
|
||||
"spotlight@2x" : "unpackage/res/icons/80x80.png",
|
||||
"spotlight@3x" : "unpackage/res/icons/120x120.png",
|
||||
"settings@2x" : "unpackage/res/icons/58x58.png",
|
||||
"settings@3x" : "unpackage/res/icons/87x87.png",
|
||||
"notification@2x" : "unpackage/res/icons/40x40.png",
|
||||
"notification@3x" : "unpackage/res/icons/60x60.png"
|
||||
"app@2x" : "E:/Source-code/appleidmore/苹果png/120x120.PNG",
|
||||
"app@3x" : "E:/Source-code/appleidmore/苹果png/180x180.PNG",
|
||||
"spotlight@2x" : "E:/Source-code/appleidmore/苹果png/80x80.PNG",
|
||||
"spotlight@3x" : "E:/Source-code/appleidmore/苹果png/120x120.PNG",
|
||||
"settings@2x" : "E:/Source-code/appleidmore/苹果png/58x58psd.PNG",
|
||||
"settings@3x" : "E:/Source-code/appleidmore/苹果png/87X87.PNG",
|
||||
"notification@2x" : "E:/Source-code/appleidmore/苹果png/40X40.PNG",
|
||||
"notification@3x" : "E:/Source-code/appleidmore/苹果png/60X60.PNG"
|
||||
},
|
||||
"ipad" : {
|
||||
"app" : "unpackage/res/icons/76x76.png",
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<view v-for="(item, index) in evalueList" :key="index" class="itme">
|
||||
<comment :reply="true" :content="item"></comment>
|
||||
</view>
|
||||
<u-empty text="暂无评论" mode="list" v-if="!evalueList.length" margin-top="120" color="#333"></u-empty>
|
||||
<u-empty text="暂无评价" mode="list" v-if="!evalueList.length" margin-top="120" color="#333"></u-empty>
|
||||
</view>
|
||||
<!-- 加载更多 -->
|
||||
<u-loadmore :status="loadStatus" bgColor="#EEEBEE" margin-top="20" margin-bottom="20" v-if="evalueList.length >= 12"></u-loadmore>
|
||||
|
||||
@@ -31,12 +31,16 @@
|
||||
height: 60rpx;
|
||||
background-color: #ececec;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
line-height: 60rpx;
|
||||
// text-align: center;
|
||||
// line-height: 60rpx;
|
||||
box-sizing: border-box;
|
||||
border-radius: 6rpx;
|
||||
margin-right: 26rpx;
|
||||
margin-bottom: 20rpx;
|
||||
border: #ececec 1rpx solid;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.xuanzhong{
|
||||
border: #ff780f 1rpx solid;
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
z-index: 100;
|
||||
position: absolute;
|
||||
top: 80rpx;
|
||||
left: 30rpx;
|
||||
left: 34rpx;
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
}
|
||||
@@ -82,7 +82,6 @@
|
||||
margin-top: 10rpx;
|
||||
font-size: 28rpx;
|
||||
color: #fff;
|
||||
text-shadow: 0px 0px 4rpx #999999;
|
||||
}
|
||||
|
||||
.operat-img {
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
<!-- 用户操作 -->
|
||||
<userinfo class="userinfo" :list="list" :cart="cart_type" :comment="is_comment" :num="comment_num" @openCart="openPopup"></userinfo>
|
||||
<!-- 评论 -->
|
||||
<u-popup v-model="is_comment" class="pl" mode="bottom" border-radius="10" height="700rpx">
|
||||
<view class="top">
|
||||
<u-popup v-model="is_comment" class="pl" mode="bottom" border-radius="10" @touchmove.stop.prevent="moveHandle">
|
||||
<view class="comment-top">
|
||||
<text>评论</text>
|
||||
<u-icon name="close" color="#333" size="28" @click="is_comment=false"></u-icon>
|
||||
</view>
|
||||
@@ -52,7 +52,10 @@
|
||||
</view>
|
||||
<view class="child_content">{{ child.content }}</view>
|
||||
</view>
|
||||
<view class="more-reply" v-if="item.reply_count" @click="getReplyList(item.id)">展开更多回复<u-icon name="arrow-down"></u-icon></view>
|
||||
<view class="more-reply" v-if="item.reply_count" @click="getReplyList(item.id)">
|
||||
{{ child_end[item.id] ? "暂无更多回复" : "展开更多回复" }}
|
||||
<u-icon name="arrow-down" v-if="!child_end[item.id]"></u-icon>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="no-data" v-if="!commentList.length">还没有评论,快来评论吧!</view>
|
||||
@@ -80,7 +83,8 @@
|
||||
<view v-for="(item,index) in list.goods" :key="index" class="item" @click="gotoInfo(item.goods_id)">
|
||||
<image :src="item.goods_image" mode="aspectFill"></image>
|
||||
<view>
|
||||
<text class="title">{{ item.goods_advword }}</text>
|
||||
<text class="cart-title u-line-1">{{ item.goods_advword }}</text>
|
||||
<text class="cart-info u-line-2">{{ item.goods_name }}</text>
|
||||
<text class="price">{{ item.goods_promotion_price }}</text>
|
||||
</view>
|
||||
</view>
|
||||
@@ -179,10 +183,11 @@
|
||||
transform: translateY(-285rpx);
|
||||
}
|
||||
.pl {
|
||||
.top {
|
||||
.comment-top {
|
||||
z-index: 1000;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
@@ -200,7 +205,7 @@
|
||||
.scroll-box {
|
||||
z-index: 99;
|
||||
margin: 88rpx 0 100rpx 0;
|
||||
height: 100%;
|
||||
height: 600rpx;
|
||||
.box {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@@ -220,6 +225,7 @@
|
||||
height: 60rpx;
|
||||
font-size: 26rpx;
|
||||
color: #333;
|
||||
pointer-events: none;
|
||||
.time {
|
||||
font-size: 22rpx;
|
||||
color: #999;
|
||||
@@ -232,10 +238,13 @@
|
||||
}
|
||||
.content {
|
||||
padding: 0 20rpx 10rpx 90rpx;
|
||||
pointer-events: none;
|
||||
}
|
||||
.child-content {
|
||||
margin: 6rpx 90rpx 6rpx;
|
||||
// pointer-events: none;
|
||||
.child-box {
|
||||
pointer-events: none;
|
||||
.info {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@@ -336,10 +345,16 @@
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
color: #333;
|
||||
width: 500rpx;
|
||||
color: #343434;
|
||||
font-size: 28rpx;
|
||||
.title {
|
||||
.cart-title {
|
||||
line-height: 40rpx;
|
||||
font-size: 29rpx;
|
||||
}
|
||||
.cart-info {
|
||||
font-size: 24rpx;
|
||||
line-height: 1.2;
|
||||
}
|
||||
.name {
|
||||
width: 500rpx;
|
||||
@@ -430,6 +445,7 @@ export default {
|
||||
edit_text_other: "有爱评论,说点好听的 ~",
|
||||
commentList: [], // 评论
|
||||
allList: {}, // 全部子评论
|
||||
child_end: {},
|
||||
status: 'loadmore',
|
||||
iconType: 'circle',
|
||||
loadText: {
|
||||
@@ -507,6 +523,8 @@ export default {
|
||||
// console.log(item);
|
||||
item.page = 0;
|
||||
item.commentList = [];
|
||||
this.page_[item.id] = 0;
|
||||
this.child_end[item.id] = false;
|
||||
})
|
||||
this.commentList = list;
|
||||
}
|
||||
@@ -560,14 +578,14 @@ export default {
|
||||
// console.log(p_id);
|
||||
if (res.data.data.pid) {
|
||||
this.commentList[this.comment_id].reply_count = true;
|
||||
console.log(this.allList[p_id]);
|
||||
// console.log(this.allList[p_id]);
|
||||
if (this.allList[p_id]) {
|
||||
this.allList[p_id].push(res.data.data);
|
||||
} else {
|
||||
this.allList[p_id] = [];
|
||||
this.allList[p_id].push(res.data.data);
|
||||
}
|
||||
console.log(this.allList);
|
||||
// console.log(this.allList);
|
||||
} else {
|
||||
this.commentList.unshift(res.data.data);
|
||||
}
|
||||
@@ -581,18 +599,20 @@ export default {
|
||||
uni.showLoading({
|
||||
title: "loading..."
|
||||
})
|
||||
if (!this.page_[id] === 0) {
|
||||
}
|
||||
this.$u.post("article/articleReplyList", {id: id, page: this.page_[id]}).then(res => {
|
||||
uni.hideLoading();
|
||||
if (res.errCode == 0) {
|
||||
// if (res.data.length < 10) {
|
||||
// this.is_more = false;
|
||||
// }
|
||||
this.page_[id]++;
|
||||
if (this.page_[id] == 0) {
|
||||
this.allList[id] = res.data;
|
||||
} else {
|
||||
this.allList[id] = this.allList[id].concat(res.data);
|
||||
}
|
||||
this.page_[id]++;
|
||||
this.$forceUpdate();
|
||||
// console.log(this.allList);
|
||||
} else if (res.errCode == 1) {
|
||||
this.child_end[id] = true;
|
||||
this.$forceUpdate();
|
||||
console.log(this.allList);
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -609,6 +629,7 @@ export default {
|
||||
},
|
||||
// 评论滚动到底部
|
||||
scrollBottom(e) {
|
||||
console.log(1);
|
||||
this.getComment();
|
||||
},
|
||||
// 跳转到商品
|
||||
@@ -618,6 +639,11 @@ export default {
|
||||
url: "/pageB/sdetails/index?id=" + id + "&type=" + 1,
|
||||
})
|
||||
},
|
||||
// 禁止滚动
|
||||
moveHandle(e) {
|
||||
console.log(e);
|
||||
return;
|
||||
},
|
||||
goBack() {
|
||||
uni.navigateBack({
|
||||
delta: 1
|
||||
|
||||
44
pageB/playVideo/index.nvue
Normal file
@@ -0,0 +1,44 @@
|
||||
<template>
|
||||
<view style="width:750rpx" :style="{'height':height}">
|
||||
<image @click="calose()" style="width:30rpx;height:30rpx;position: fixed;top:80rpx;right:30rpx;" src="/static/image/clons.png"></image>
|
||||
<video :src="url" class="video" :style="{'padding-top':top,'height': width}" :autoplay="true"></video>
|
||||
</view>
|
||||
</template>
|
||||
<style>
|
||||
.video{
|
||||
width: 750rpx;
|
||||
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
export default {
|
||||
name:"video",
|
||||
data(){
|
||||
return {
|
||||
url:"",
|
||||
top:0,
|
||||
height:0,
|
||||
width:0
|
||||
}
|
||||
},
|
||||
onLoad(a){
|
||||
const res = uni.getSystemInfoSync();
|
||||
let height = res.windowHeight
|
||||
let width = res.windowWidth
|
||||
this.width = width + ( (height - width) / 2) + 'px'
|
||||
console.log(this.width)
|
||||
this.top = (height - width) / 2+ 'px'
|
||||
console.log(this.top)
|
||||
this.height = height + 'px';
|
||||
console.log(a)
|
||||
this.url = a.url
|
||||
},
|
||||
methods:{
|
||||
calose(){
|
||||
uni.navigateBack({
|
||||
delta: 1
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -37,6 +37,10 @@
|
||||
<text>{{ goodsInfo.is_collect == 1 ? '已收藏' : '收藏' }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="shuliang">
|
||||
<text>历史销售数量:{{goodsInfo.goods_salenum}}</text>
|
||||
<text>库存仅剩数量:{{goodsInfo.goods_storage}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="hr"></view>
|
||||
<!-- <navs :value="领券"></navs> -->
|
||||
@@ -45,7 +49,7 @@
|
||||
<!-- <navs :value="'选择尺码'"></navs> -->
|
||||
<view class="comment">
|
||||
<view class="title">
|
||||
<view class="left">商品评价({{ evaluate.evaluate_num }})</view>
|
||||
<view class="left">商品评价({{ evaluate.evaluate_num || '0' }})</view>
|
||||
<view class="right" @click="viewComment">
|
||||
<text>查看全部</text>
|
||||
<image src="/static/image/common/1.png"></image>
|
||||
@@ -121,6 +125,11 @@
|
||||
<view class="heng"></view>
|
||||
</view>
|
||||
<view class="rich">
|
||||
<view class="goods-video" v-if="list.length && goodsInfo.video" @click="playVideo">
|
||||
<image class="video-play" src="/static/videoPlay.png"></image>
|
||||
<view class="blacks"></view>
|
||||
<image class="video-img" :src="list[0].image" mode="aspectFill"></image>
|
||||
</view>
|
||||
<rich-text :nodes="goodsInfo.mobile_body"></rich-text>
|
||||
</view>
|
||||
<!-- 选择规格数量 -->
|
||||
@@ -425,7 +434,7 @@ export default {
|
||||
},
|
||||
// 拼团详情
|
||||
pinTuanDetails() {
|
||||
console.log(this.id);
|
||||
// console.log(this.id);
|
||||
this.$u.api.getPinTuanDetails({
|
||||
pintuan_id: this.pintuan_id,
|
||||
goods_id: this.id,
|
||||
@@ -676,6 +685,12 @@ export default {
|
||||
id: id
|
||||
});
|
||||
},
|
||||
playVideo() {
|
||||
console.log(this.goodsInfo.video);
|
||||
this.$u.route('/pageB/playVideo/index', {
|
||||
url: this.goodsInfo.video
|
||||
});
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
@@ -765,6 +780,14 @@ export default {
|
||||
.goods-name {
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
}
|
||||
.shuliang{
|
||||
padding-top: 33rpx;
|
||||
font-size: 24rpx;
|
||||
color:#656565;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.price-collect {
|
||||
display: flex;
|
||||
@@ -1085,6 +1108,30 @@ export default {
|
||||
}
|
||||
.rich {
|
||||
width: 100%;
|
||||
.goods-video {
|
||||
position: relative;
|
||||
.video-img {
|
||||
width: 100%;
|
||||
}
|
||||
.blacks {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background-color: rgba(0, 0, 0, 0.35);
|
||||
z-index: 8;
|
||||
}
|
||||
.video-play {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
z-index: 9;
|
||||
}
|
||||
}
|
||||
}
|
||||
.group-tool {
|
||||
position: fixed;
|
||||
@@ -1217,6 +1264,7 @@ export default {
|
||||
font-size: 30rpx;
|
||||
color: #ff3131;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
.num {
|
||||
|
||||
33
pageB/tipsinfo/index.vue
Normal file
@@ -0,0 +1,33 @@
|
||||
<template>
|
||||
<view class="u-content">
|
||||
<u-parse :html="info"></u-parse>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
<style lang="scss" scoped>
|
||||
.u-content{
|
||||
line-height: 46rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
padding: 30rpx;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
export default {
|
||||
data(){
|
||||
return {
|
||||
info:""
|
||||
}
|
||||
},
|
||||
onLoad(o){
|
||||
console.log(o.id)
|
||||
this.$u.api.tipsinfo({document_code:o.id}).then((res)=>{
|
||||
console.log(JSON.stringify(res))
|
||||
uni.setNavigationBarTitle({
|
||||
title: res.data.document_title
|
||||
});
|
||||
this.info = res.data.document_content
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -71,10 +71,11 @@
|
||||
</view>
|
||||
<text class="child_content">{{ child.content }}</text>
|
||||
</view>
|
||||
<view>
|
||||
<text class="more-comment" @click="getReplyList(item.id)" v-if="item.reply_count">展开更多回复</text>
|
||||
<text></text>
|
||||
</view>
|
||||
<!-- <view> -->
|
||||
<text class="more-comment" @click="getReplyList(item.id)" v-if="item.reply_count">
|
||||
{{ child_end[item.id] ? "暂无更多回复" : "展开更多回复" }}
|
||||
</text>
|
||||
<!-- </view> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="send-box" @click="openKeyInput">
|
||||
@@ -109,6 +110,7 @@
|
||||
<image class="goods-img" :src="item.goods_image" mode=""></image>
|
||||
<view class="goods-info">
|
||||
<text class="good-title">{{ item.goods_advword }}</text>
|
||||
<text class="good-name">{{ item.goods_name }}</text>
|
||||
<text class="good-price">{{ item.goods_promotion_price }}</text>
|
||||
</view>
|
||||
</view>
|
||||
@@ -166,6 +168,7 @@
|
||||
time_count: 0,
|
||||
linear: null,
|
||||
loadinging: false,
|
||||
child_end: {},
|
||||
};
|
||||
},
|
||||
onLoad(option) {
|
||||
@@ -178,7 +181,11 @@
|
||||
this.videoBox = uni.createVideoContext("videoId", this);
|
||||
},
|
||||
onHide() {
|
||||
if (uni.getSystemInfoSync().platform == "ios") {
|
||||
console.log("ios");
|
||||
} else if (uni.getSystemInfoSync().platform == "android") {
|
||||
this.videoBox.pause();
|
||||
}
|
||||
},
|
||||
onBackPress() {
|
||||
if (this.cart_type) {
|
||||
@@ -241,6 +248,16 @@
|
||||
// console.log(res.data);
|
||||
this.commentList = res.data.data;
|
||||
}
|
||||
let list = this.commentList;
|
||||
list.forEach((item,index) => {
|
||||
console.log(item);
|
||||
item.page = 0;
|
||||
item.commentList = [];
|
||||
this.page_[item.id] = 0;
|
||||
this.child_end[item.id] = false;
|
||||
})
|
||||
console.log(list);
|
||||
this.commentList = list;
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -312,8 +329,6 @@
|
||||
uni.showLoading({
|
||||
title: "loading..."
|
||||
})
|
||||
if (!this.page_[id] === 0) {}
|
||||
console.log(id);
|
||||
uni.request({
|
||||
url: temp_url + "article/articleReplyList",
|
||||
method: "POST",
|
||||
@@ -326,16 +341,20 @@
|
||||
},
|
||||
success: (res) => {
|
||||
uni.hideLoading();
|
||||
console.log(this.page_);
|
||||
if (res.data.errCode == 0) {
|
||||
if (res.data.data.length < 10) {
|
||||
this.is_more = false;
|
||||
if (this.page_[id] == 0) {
|
||||
this.allList[id] = res.data.data;
|
||||
} else {
|
||||
this.allList[id] = this.allList[id].concat(res.data.data);
|
||||
}
|
||||
this.page_[id]++;
|
||||
this.allList[id] = res.data.data;
|
||||
this.$forceUpdate();
|
||||
// console.log(this.page_[id]);
|
||||
// console.log(this.allList);
|
||||
} else if (res.data.errCode == 1) {
|
||||
this.child_end[id] = true;
|
||||
this.$forceUpdate();
|
||||
}
|
||||
console.log(this.allList);
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -481,7 +500,6 @@
|
||||
|
||||
.container {
|
||||
position: relative;
|
||||
background-color: #FF0000 !important;
|
||||
}
|
||||
|
||||
/* 关闭 */
|
||||
@@ -631,7 +649,6 @@
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
lines: 2;
|
||||
letter-spacing: 2rpx;
|
||||
}
|
||||
|
||||
.more-content-box {
|
||||
@@ -659,14 +676,17 @@
|
||||
}
|
||||
|
||||
.child_content {
|
||||
padding: 4rpx 0;
|
||||
width: 550rpx;
|
||||
padding-top: 6rpx;
|
||||
margin-left: 40rpx;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
|
||||
.more-comment {
|
||||
margin: 10rpx 0;
|
||||
width: 150rpx;
|
||||
height: 40rpx;
|
||||
font-size: 22rpx;
|
||||
line-height: 4;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
@@ -725,6 +745,7 @@
|
||||
}
|
||||
|
||||
.btn-send {
|
||||
padding: 0 20rpx;
|
||||
font-size: 28rpx;
|
||||
color: #666;
|
||||
}
|
||||
@@ -821,6 +842,14 @@
|
||||
width: 500rpx;
|
||||
color: #333;
|
||||
font-size: 30rpx;
|
||||
lines: 1;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.good-name {
|
||||
width: 500rpx;
|
||||
font-size: 24rpx;
|
||||
line-height: 30rpx;
|
||||
lines: 2;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
@@ -856,15 +885,14 @@
|
||||
.title {
|
||||
width: 700rpx;
|
||||
color: #fff;
|
||||
font-size: 26rpx;
|
||||
font-size: 30rpx;
|
||||
margin-bottom: 20rpx;
|
||||
lines: 1;
|
||||
text-overflow: ellipsis;
|
||||
letter-spacing: 2rpx;
|
||||
}
|
||||
|
||||
.centent {
|
||||
width: 600rpx;
|
||||
width: 700rpx;
|
||||
color: #fff;
|
||||
font-size: 28rpx;
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
@@ -48,6 +48,10 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="pick-up" v-if="is_selfraising == 1">
|
||||
<view class="title">自提地址</view>
|
||||
<view class="content">{{ orderInfo.store_list[index].store_address }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="common-active">
|
||||
@@ -67,17 +71,17 @@
|
||||
</view>
|
||||
</view>
|
||||
<u-popup v-model="couponStatus" mode="bottom">
|
||||
<scroll-view class="coupon-choose" scroll-y style="height: 800rpx;" v-if="this.couponType.type == 1">
|
||||
<scroll-view class="coupon-choose" scroll-y style="height: 50vh;" v-if="this.couponType.type == 1">
|
||||
<view class="title">优惠券详情</view>
|
||||
<view class="text">平台优惠券</view>
|
||||
<Coupon :couponInfo="coupon" @use="useCoupon($event)" :goodsClass="goodsClass" v-for="(coupon, index) in orderInfo.store_voucher_all_list" :key="index"></Coupon>
|
||||
<u-empty text="无可用优惠券" mode="coupon" v-if="!orderInfo.store_voucher_all_list.length"></u-empty>
|
||||
<Coupon :couponInfo="coupon" @use="useCoupon($event)" :goodsClass="goodsClass" v-for="(coupon, index) in orderInfo.store_voucher_all_list" :key="index" :type="true" :sel="coupon.sel"></Coupon>
|
||||
<u-empty text="无可用优惠券" mode="coupon" v-if="!orderInfo.store_voucher_all_list.length" style="height: 200rpx"></u-empty>
|
||||
</scroll-view>
|
||||
<scroll-view class="coupon-choose" scroll-y style="height: 800rpx;" v-if="this.couponType.type == 2">
|
||||
<scroll-view class="coupon-choose" scroll-y style="height: 50vh;" v-if="this.couponType.type == 2">
|
||||
<view class="title">优惠券详情</view>
|
||||
<view class="text">店铺优惠券</view>
|
||||
<Coupon :couponInfo="coupon" @use="useCoupon($event)" :goodsClass="goodsClass" v-for="(coupon, index) in orderInfo.store_voucher_list[this.couponType.store_id]" :key="index"></Coupon>
|
||||
<u-empty text="无可用优惠券" mode="coupon" v-if="!orderInfo.store_voucher_list[this.couponType.store_id].length"></u-empty>
|
||||
<Coupon :couponInfo="coupon" @use="useCoupon($event)" :goodsClass="goodsClass" v-for="(coupon, index) in orderInfo.store_voucher_list[this.couponType.store_id]" :key="index" :type="true" :sel="coupon.sel"></Coupon>
|
||||
<u-empty text="无可用优惠券" mode="coupon" v-if="!orderInfo.store_voucher_list[this.couponType.store_id].length" style="height: 200rpx"></u-empty>
|
||||
</scroll-view>
|
||||
</u-popup>
|
||||
<view class="bottom">
|
||||
@@ -107,9 +111,15 @@ export default {
|
||||
deliveryList: [{
|
||||
text: '快递',
|
||||
value: 'express',
|
||||
disabled: false,
|
||||
}, {
|
||||
text: '骑手',
|
||||
value: 'takeawayer',
|
||||
disabled: false,
|
||||
}, {
|
||||
text: '自提',
|
||||
value: 'selfraising',
|
||||
disabled: false,
|
||||
}],
|
||||
delivery: {
|
||||
text: '快递',
|
||||
@@ -123,6 +133,7 @@ export default {
|
||||
goodsClass: [],
|
||||
orderType: '', // 订单类型 1 普通订单 2 拼团订单 3 秒杀订单 4 优惠券 5 购物车订单
|
||||
debounce: true,
|
||||
is_selfraising: 0, // 是否自提:0=》否,1=》是
|
||||
}
|
||||
},
|
||||
components: {
|
||||
@@ -142,12 +153,14 @@ export default {
|
||||
return num;
|
||||
},
|
||||
setFreight(freight, index) {
|
||||
return freight[index];
|
||||
return freight[index] || '0.00';
|
||||
}
|
||||
},
|
||||
onLoad(option) {
|
||||
this.orderType = this.$store.state.orderType;
|
||||
this.orderInfo = this.$store.state.orderInfo;
|
||||
// 判断是否可选自提
|
||||
if(!this.orderInfo.is_selfraising) this.deliveryList[2].disabled = true;
|
||||
// console.log('orderType' + this.orderType);
|
||||
// console.log(this.orderInfo);
|
||||
this.getGoodsClass();
|
||||
@@ -182,8 +195,10 @@ export default {
|
||||
// console.log(this.orderInfo);
|
||||
// console.log(this.$store.state.pintuangroup_headid);
|
||||
if(this.orderInfo.pintuangroup_id) {
|
||||
Object.assign(params, { pintuangroup_headid: this.$store.state.pintuangroup_headid });
|
||||
Object.assign(params, { pintuangroup_id: this.orderInfo.pintuangroup_id });
|
||||
Object.assign(params, {
|
||||
pintuangroup_headid: this.$store.state.pintuangroup_headid,
|
||||
pintuangroup_id: this.orderInfo.pintuangroup_id
|
||||
});
|
||||
}
|
||||
console.log(params);
|
||||
this.$u.api.withImmediate(params).then(res => {
|
||||
@@ -249,6 +264,7 @@ export default {
|
||||
cart_id: id,
|
||||
address_id: this.addressInfo.address_id,
|
||||
buy_city_id: this.addressInfo.city_id,
|
||||
is_selfraising: this.is_selfraising,
|
||||
}
|
||||
if(coupon.length) Object.assign(params, { voucher_id: coupon });
|
||||
if(this.orderType == 2) {
|
||||
@@ -262,7 +278,7 @@ export default {
|
||||
type: 'redirect',
|
||||
url: '/pageC/cart/cashier',
|
||||
params: {
|
||||
ifcart: params.ifcart,
|
||||
ifcart: ifcart,
|
||||
pay_sn: res.data.pay_sn,
|
||||
price: res.data.order_total_amount,
|
||||
order_id: res.data.order_list[0].order_id,
|
||||
@@ -282,15 +298,37 @@ export default {
|
||||
this.couponStatus = true;
|
||||
},
|
||||
useCoupon(coupon) {
|
||||
if(this.couponType.type == 1) this.choiceCoupon = coupon;
|
||||
// console.log(coupon)
|
||||
if(this.couponType.type == 1){
|
||||
this.choiceCoupon = {}
|
||||
for(let i in this.orderInfo.store_voucher_all_list){
|
||||
if(this.orderInfo.store_voucher_all_list[i].voucher_id == coupon.voucher_id && !this.orderInfo.store_voucher_all_list[i].sel){
|
||||
this.orderInfo.store_voucher_all_list[i].sel = true
|
||||
this.choiceCoupon = coupon;
|
||||
}else{
|
||||
this.orderInfo.store_voucher_all_list[i].sel = false
|
||||
}
|
||||
}
|
||||
this.$forceUpdate()
|
||||
}
|
||||
if(this.couponType.type == 2) {
|
||||
this.storeCoupon = {}
|
||||
for(let i in this.orderInfo.store_voucher_list[this.couponType.store_id]){
|
||||
console.log(this.orderInfo.store_voucher_list[this.couponType.store_id][i])
|
||||
if(this.orderInfo.store_voucher_list[this.couponType.store_id][i].voucher_id == coupon.voucher_id && !this.orderInfo.store_voucher_list[this.couponType.store_id][i].sel){
|
||||
this.orderInfo.store_voucher_list[this.couponType.store_id][i].sel = true
|
||||
Object.assign(this.storeCoupon, {
|
||||
[this.couponType.store_id]: coupon
|
||||
})
|
||||
}else{
|
||||
this.orderInfo.store_voucher_list[this.couponType.store_id][i].sel = false
|
||||
}
|
||||
}
|
||||
this.$forceUpdate()
|
||||
}
|
||||
// console.log(this.choiceCoupon);
|
||||
// console.log(this.storeCoupon);
|
||||
this.couponStatus = false;
|
||||
// this.couponStatus = false;
|
||||
this.setTotalPrice(); // 计算总价
|
||||
},
|
||||
getFreight() {
|
||||
@@ -351,13 +389,31 @@ export default {
|
||||
// console.log("price:" + price);
|
||||
this.totalPrice = (price + freight).toFixed(2);
|
||||
},
|
||||
setDelivery(index) {
|
||||
async setDelivery(index) {
|
||||
// console.log(index);
|
||||
if(index == 1) {
|
||||
if(!this.isTakeawayer) this.$u.toast('此地区不支持骑手配送');
|
||||
return false;
|
||||
}
|
||||
this.delivery = this.deliveryList[index];
|
||||
this.getFreight();
|
||||
}
|
||||
if(index == 2) {
|
||||
this.is_selfraising = 1;
|
||||
for (const key in this.freight) {
|
||||
if (this.freight.hasOwnProperty(key)) {
|
||||
this.freight[key] = '0.00';
|
||||
}
|
||||
}
|
||||
this.isTakeawayer = false;
|
||||
this.setTotalPrice(); // 计算总价
|
||||
this.delivery = this.deliveryList[index];
|
||||
} else {
|
||||
this.is_selfraising = 0;
|
||||
}
|
||||
if(index == 0) {
|
||||
this.delivery = this.deliveryList[index];
|
||||
this.getFreight();
|
||||
}
|
||||
},
|
||||
settlement() {
|
||||
uni.navigateTo({
|
||||
@@ -382,6 +438,7 @@ export default {
|
||||
min-height: calc(100vh - var(--window-top));
|
||||
background-color: #ECECEC;
|
||||
padding-top: 1rpx;
|
||||
padding-bottom: 200rpx;
|
||||
.info-address {
|
||||
padding: 30rpx;
|
||||
display: flex;
|
||||
@@ -444,7 +501,7 @@ export default {
|
||||
height: 60rpx;
|
||||
border-radius: 50%;
|
||||
margin-right: 15rpx;
|
||||
background-color: aquamarine;
|
||||
// background-color: aquamarine;
|
||||
}
|
||||
> view {
|
||||
font-size: 28rpx;
|
||||
@@ -452,6 +509,7 @@ export default {
|
||||
margin-right: 15rpx;
|
||||
}
|
||||
.right {
|
||||
margin-left: auto;
|
||||
flex-shrink: 0;
|
||||
width: 11rpx;
|
||||
height: 22rpx;
|
||||
@@ -469,7 +527,7 @@ export default {
|
||||
width: 180rpx;
|
||||
height: 160rpx;
|
||||
border-radius: 10rpx;
|
||||
background-color: aqua;
|
||||
// background-color: aqua;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.info {
|
||||
@@ -538,10 +596,24 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
.pick-up {
|
||||
padding: 30rpx;
|
||||
background: rgba(255,255,255,1);
|
||||
.title {
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
.content {
|
||||
font-size: 30rpx;
|
||||
color: #343434;
|
||||
line-height: 40rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.common-active {
|
||||
padding-bottom: 200rpx;
|
||||
padding-bottom: 30rpx;
|
||||
> view {
|
||||
height: 98rpx;
|
||||
background: rgba(255,255,255,1);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<template>
|
||||
<view class="classify-goods">
|
||||
<u-search style="padding: 0 30rpx" placeholder="请搜索商品" v-model="keyword" @search="select" @custom="select"></u-search>
|
||||
<view class="tab-container">
|
||||
<view class="salenum" :class="{ 'current' : current == 0 }" @click="switchCurrent(0)">销量</view>
|
||||
<view class="price" :class="{ 'current' : current == 1 }" @click="switchCurrent(1)">
|
||||
@@ -19,6 +20,7 @@
|
||||
<view class="briefing u-line-1">{{ goods.goods_advword }}</view>
|
||||
<!-- <view class="price">¥{{ goods.goods_price }}</view> -->
|
||||
<view class="price">
|
||||
<view class="type-tag" v-show="goods.goods_type != 1">{{ goods.goods_type == 2 ? "秒杀" : "拼团" }}</view>
|
||||
<view class="present">¥{{ goods.goods_price }}</view>
|
||||
<view class="origin">¥{{ goods.goods_marketprice }}</view>
|
||||
</view>
|
||||
@@ -42,6 +44,8 @@ export default {
|
||||
scrollHeight: '',
|
||||
loadStatus: 'loadmore',
|
||||
timer: true, // 防止上拉加载短时间内多次调用
|
||||
keyword:"",
|
||||
sel:""
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@@ -80,6 +84,7 @@ export default {
|
||||
gc_id: this.cid,
|
||||
page: this.page,
|
||||
order: sort,
|
||||
keyword:this.sel
|
||||
})
|
||||
this.timer = true;
|
||||
if(res.errCode == 0) {
|
||||
@@ -123,6 +128,11 @@ export default {
|
||||
id: id,
|
||||
type: 1 // 商品详情 商品类型 1普通 2拼团 3秒杀 4优惠券
|
||||
});
|
||||
},
|
||||
select(){
|
||||
this.sel = this.keyword;
|
||||
this.page = 1;
|
||||
this.goodsListByClassId({ laod: 'reload' });
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -200,6 +210,13 @@ export default {
|
||||
.price {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.type-tag {
|
||||
padding: 4rpx 10rpx;
|
||||
color: #fff;
|
||||
font-size: 22rpx;
|
||||
border-radius: 10rpx;
|
||||
background-color: #FF7810;
|
||||
}
|
||||
.present {
|
||||
font-size: 26rpx;
|
||||
color: rgba(255,49,49,1);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<template>
|
||||
<view class="listItem">
|
||||
<!-- <video :src="url" :show-fullscreen-btn="true"></video> -->
|
||||
<view v-if="type == '2'" class="video-container">
|
||||
<image :src="url" mode="aspectFill" class="video"></image>
|
||||
<view class="backs"></view>
|
||||
<image src="/static/videoPlay.png" mode="aspectFill" class="play-video"></image>
|
||||
</view>
|
||||
<image v-else :src="url" mode="aspectFill"></image>
|
||||
@@ -27,6 +27,15 @@
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.backs {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
background-color: rgba($color: #000000, $alpha: 0.35);
|
||||
z-index: 9;
|
||||
}
|
||||
.play-video {
|
||||
position: absolute;
|
||||
width: 100rpx;
|
||||
@@ -47,6 +56,6 @@ export default {
|
||||
|
||||
}
|
||||
},
|
||||
props:['url','type']
|
||||
props:['url','type'],
|
||||
}
|
||||
</script>
|
||||
@@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<view class="videoTop">
|
||||
<image :src="url" mode="aspectFill" class="video"></image>
|
||||
<view class="backs"></view>
|
||||
<image src="/static/videoPlay.png" mode="aspectFill" class="play-video"></image>
|
||||
</view>
|
||||
</template>
|
||||
@@ -15,6 +16,15 @@
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 9;
|
||||
}
|
||||
.backs {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
background-color: rgba(0, 0, 0, 0.35);
|
||||
z-index: 9;
|
||||
}
|
||||
.play-video {
|
||||
position: absolute;
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
<imageTop v-else :url="item.article_pic" @click.native="toDetailsPage({ id: item.article_id, type: item.type })"></imageTop>
|
||||
</view>
|
||||
<view v-if="indexlist.length" class="container-bottom">
|
||||
<listitem v-for="item in indexlist" :key="item.id" :type="item.type" :url="item.article_pic" class="bottom-item" @click.native="toDetailsPage({ id: item.article_id, type: item.type })"></listitem>
|
||||
<listitem v-for="item in indexlist" :key="item.article_id" :type="item.type" :url="item.article_pic" class="bottom-item" @click.native="toDetailsPage({ id: item.article_id, type: item.type })"></listitem>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="item" v-if="cur==1">
|
||||
@@ -355,7 +355,7 @@ export default {
|
||||
border-radius: 50%;
|
||||
flex-shrink: 0;
|
||||
margin-bottom: 20rpx;
|
||||
background-color: aqua;
|
||||
// background-color: aqua;
|
||||
}
|
||||
.nickname {
|
||||
font-size: 22rpx;
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<u-loadmore :status="loadStatus" bg-color="#ECECEC" margin-top="20" v-if="loadStatus=='nomore'" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -23,9 +24,8 @@
|
||||
data() {
|
||||
return {
|
||||
height:'600',
|
||||
actives: [
|
||||
|
||||
]
|
||||
actives: [],
|
||||
loadStatus: 'loadmore'
|
||||
};
|
||||
},
|
||||
onLoad(){
|
||||
@@ -46,6 +46,8 @@
|
||||
this.$u.api.messageactivityList({}).then((res)=>{
|
||||
if (res.errCode == 0) {
|
||||
this.actives = res.data;
|
||||
// 目前没有分页,只无数据提示用,他们建议这样做
|
||||
if(!this.actives.length) this.loadStatus = 'nomore';
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
</view>
|
||||
<view class="xiantiao"></view>
|
||||
<view class="title">{{item.title}}</view>
|
||||
<view class="images_about">
|
||||
<view class="images_about" @click="viewLogistics(item)">
|
||||
<image :src="item.picture"></image>
|
||||
<view>
|
||||
<text>{{item.summary}}</text>
|
||||
@@ -18,6 +18,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<u-loadmore :status="loadStatus" bg-color="#ECECEC" margin-top="20" @loadmore="loadmore" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -26,20 +27,56 @@
|
||||
data() {
|
||||
return {
|
||||
actives: [],
|
||||
page: 1
|
||||
page: 1,
|
||||
timer: true,
|
||||
loadStatus: 'loadmore'
|
||||
};
|
||||
},
|
||||
onLoad() {
|
||||
this.getCartList();
|
||||
},
|
||||
onReachBottom() {
|
||||
this.loadmore();
|
||||
},
|
||||
methods: {
|
||||
getCartList() {
|
||||
this.$u.post("message/orderDeliveryList",{page: this.page}).then(res => {
|
||||
console.log(res.data.data)
|
||||
if (res.errCode == 0) {
|
||||
this.actives = res.data.data;
|
||||
loadmore() {
|
||||
if(!this.timer) return false;
|
||||
this.loadStatus = "loading";
|
||||
this.page++;
|
||||
this.getCartList({ load: 'loadmore' }).then(length => {
|
||||
if(length == 0) {
|
||||
this.page--;
|
||||
this.loadStatus = 'nomore';
|
||||
} else {
|
||||
this.loadStatus = 'loading';
|
||||
}
|
||||
}).catch(() => {
|
||||
this.loadStatus = "nomore";
|
||||
this.page--;
|
||||
})
|
||||
},
|
||||
async getCartList({ load = 'reload' } = {}) {
|
||||
const res = await this.$u.post("message/orderDeliveryList",{ page: this.page })
|
||||
this.timer = true;
|
||||
if (res.errCode == 0) {
|
||||
if(load == 'reload') {
|
||||
this.actives = res.data.data;
|
||||
if(res.data.data.length < 12) this.loadStatus = "nomore";
|
||||
}
|
||||
else if(load == 'loadmore') this.actives.push(...res.data.data);
|
||||
}
|
||||
return res.data.data.length;
|
||||
},
|
||||
viewLogistics(item) {
|
||||
let url;
|
||||
if(item.takeawayer_phone) {
|
||||
url = '/pageE/order/Details';
|
||||
} else {
|
||||
url = '/pageE/order/Logistics';
|
||||
}
|
||||
this.$u.route(url, {
|
||||
oid: item.order_id,
|
||||
});
|
||||
}
|
||||
},
|
||||
components:{
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<view id="viewes" :style="{height : height + 'px'}">
|
||||
<!-- 公告咨询 -->
|
||||
<notice :list="list"></notice>
|
||||
<u-loadmore :status="loadStatus" bg-color="#ECECEC" margin-top="20" v-if="loadStatus=='nomore'" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -11,6 +12,7 @@
|
||||
data() {
|
||||
return {
|
||||
list: [],
|
||||
loadStatus: 'loadmore'
|
||||
};
|
||||
},
|
||||
onLoad() {
|
||||
@@ -29,6 +31,8 @@
|
||||
this.$u.api.informationList({}).then((res) => {
|
||||
if (res.errCode == 0) {
|
||||
this.list = res.data;
|
||||
// 目前没有分页,只无数据提示用
|
||||
if(!this.list.length) this.loadStatus = 'nomore';
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -39,7 +43,7 @@
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
<style lang="scss">
|
||||
page {
|
||||
background-color: #ECECEC;
|
||||
}
|
||||
|
||||
@@ -128,6 +128,8 @@
|
||||
this.friend = JSON.parse(options.id);
|
||||
this.currentUser = this.imService.currentUser;
|
||||
let privateMessages = this.imService.getPrivateMessages(this.friend.uuid);
|
||||
this.imService.uid = this.friend.uuid;
|
||||
|
||||
this.messages = privateMessages.sentMessages;
|
||||
this.pendingMessages = privateMessages.pendingMessages;
|
||||
|
||||
@@ -153,6 +155,7 @@
|
||||
this.imService.onPrivateHistoryLoad = (friendId, messages) =>{};
|
||||
//将未读消息数清零
|
||||
this.imService.resetFriendUnReadMessage(this.friend);
|
||||
this.imService.uid = 0;
|
||||
},
|
||||
methods: {
|
||||
bindtapInput(){
|
||||
|
||||
@@ -136,7 +136,7 @@ export default {
|
||||
sizeType: ['original', 'compressed'],
|
||||
sourceType: ['album'],
|
||||
success: (res) => {
|
||||
this.avatar = res.tempFilePaths[0];
|
||||
// this.avatar = res.tempFilePaths[0];
|
||||
common.uploadFile({
|
||||
url: url,
|
||||
name: 'avatar',
|
||||
@@ -144,7 +144,7 @@ export default {
|
||||
}).then(result => {
|
||||
// console.log(result);
|
||||
// this.$set(this, 'avatar', result.file_path);
|
||||
// this.avatar = result.file_path;
|
||||
this.avatar = result.file_path + "?" + new Date().getTime();
|
||||
this.uploadPath = result.file_name;
|
||||
}, error => {
|
||||
this.$u.toast(error);
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
<template>
|
||||
<view class="coupon-swiper">
|
||||
<!-- <scroll-view scroll-x="true" class="classify-coupon">
|
||||
<view v-for="(classify, index) in couponGroupList" :key="index" class="classify-item" :class="{ 'active': couponCurrent == index }" @click="couponTabsChange(index)">{{ classify.gc_name }}</view>
|
||||
</scroll-view> -->
|
||||
<u-tabs :list="couponGroupList" name="gc_name" :is-scroll="true" :current="couponCurrent" @change="couponTabsChange" active-color="#FF780F" :show-bar="false" height="88" font-size="24" inactive-color="#333333"></u-tabs>
|
||||
<swiper :current="swiperCouponCurrent" @animationfinish="couponAnimationFinish" :style="{ height: swiperHeight }">
|
||||
<swiper-item class="swiper-coupon-item" v-for="(_, i) in couponGroupList" :key="i">
|
||||
@@ -11,17 +8,10 @@
|
||||
<Coupon :couponInfo="coupon" :status='0' :type="0" @exchange="exchangeCoupon($event)"></Coupon>
|
||||
</view>
|
||||
<u-empty text="暂无优惠券" mode="coupon" color="#000" v-if="!couponList[i] || !couponList[i].length"></u-empty>
|
||||
<u-loadmore :status="loadStatus" bgColor="#FFF" margin-bottom="60" v-if="!couponList[i] || couponList[i].length>=pageSize" @loadmore="onreachBottom"></u-loadmore>
|
||||
<u-loadmore :status="loadStatus" bgColor="#FFF" margin-bottom="60" v-if="couponList[i] && couponList[i].length>=pageSize" @loadmore="onreachBottom"></u-loadmore>
|
||||
</scroll-view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
<!-- <scroll-view scroll-y style="height: 100%;" @scrolltolower="onreachBottom" class="coupon-scroll" :style="{ height: swiperHeight }">
|
||||
<view v-for="(coupon, index) in couponList" :key="index" class="coupon-item">
|
||||
<Coupon :couponInfo="coupon" :status='0' :type="0" @exchange="exchangeCoupon($event)"></Coupon>
|
||||
</view>
|
||||
<u-loadmore :status="loadStatus" bgColor="#FFF" margin-top="20" margin-bottom="20" v-if="couponList.length>=pageSize" @loadmore="onreachBottom"></u-loadmore>
|
||||
<u-empty text="暂无优惠券" mode="coupon" color="#000" v-if="!couponList.length"></u-empty>
|
||||
</scroll-view> -->
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
@@ -49,7 +39,6 @@ export default {
|
||||
},
|
||||
watch: {
|
||||
couponCurrent(index) {
|
||||
// this.couponList = [];
|
||||
const id = this.couponGroupList[index].gc_id;
|
||||
this.getCouponList({ gc_id: id, load: 'reload' });
|
||||
},
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<view class="information">
|
||||
<view class="info-avatar">
|
||||
<u-avatar :src="userInfo.member_avatar + '?' + new Date().getTime()" :size="120"></u-avatar>
|
||||
<u-avatar :src="userInfo.member_avatar" :size="120"></u-avatar>
|
||||
</view>
|
||||
<view class="info-item">
|
||||
<view class="title">昵称</view>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<view class="suggestions">
|
||||
<view class="text">{{ item.fb_content }}</view>
|
||||
<view class="image">
|
||||
<image v-for="(url, index) in item.fb_images" :key="index" :src="url" mode="aspectFit" @click="previewImage(item.fb_images)"></image>
|
||||
<image v-for="(url, index) in item.fb_images" :key="index" :src="url" mode="aspectFit" @click="previewImage(item.fb_images, index)"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="reply" v-if="item.is_reply">
|
||||
@@ -45,10 +45,11 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
previewImage(urls) {
|
||||
previewImage(urls, index) {
|
||||
// console.log(urls);
|
||||
uni.previewImage({
|
||||
urls: urls,
|
||||
current: urls[index]
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@@ -59,12 +59,17 @@
|
||||
<view class="title">支付方式</view>
|
||||
<view class="price">{{ orderInfo.payment_name }}</view>
|
||||
</view>
|
||||
<view v-if="orderInfo.is_selfraising == 1">
|
||||
<view class="title">配送方式</view>
|
||||
<view class="price">自提</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="info-order">
|
||||
<view>订单编号:{{ orderInfo.order_sn }}</view>
|
||||
<view>支付单号:{{ orderInfo.pay_sn }}</view>
|
||||
<view>创建时间:{{ orderInfo.add_time | date}}</view>
|
||||
<view v-if="orderInfo.is_selfraising == 1" class="address">自提地址:{{ orderInfo.extend_store.store_address }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- '4', '8' -->
|
||||
@@ -75,8 +80,8 @@
|
||||
<view class="comment" v-if="orderstate == '2'" @click="toOtherPage('Comment')">立即评价</view>
|
||||
<view class="cancel" v-if="orderstate == '6'" @click="cancelOrder">取消支付</view>
|
||||
<!-- <view class="cancel" v-if="orderstate == '8'" @click="cancelOrder">取消订单</view> -->
|
||||
<view class="cancel" v-if="orderstate == '1' && orderInfo.shipping_code" @click="toOtherPage('Logistics')">查看物流</view>
|
||||
<view class="phone" v-if="orderstate == '1' && orderInfo.takeawayer_phone" @click="makePhone(order.takeawayer_phone)">
|
||||
<view class="cancel" v-if="orderstate == '1' && orderInfo.shipping_code && orderInfo.is_selfraising != 1" @click="toOtherPage('Logistics')">查看物流</view>
|
||||
<view class="phone" v-if="orderstate == '1' && orderInfo.takeawayer_mobile" @click="makePhone(orderInfo.takeawayer_mobile)">
|
||||
<u-icon name="phone-fill" color="#FF780F" size="28"></u-icon>
|
||||
<text>联系骑手</text>
|
||||
</view>
|
||||
@@ -153,7 +158,6 @@ export default {
|
||||
clearInterval(this.timer);
|
||||
},
|
||||
methods: {
|
||||
|
||||
viewStoreDetails(id) {
|
||||
this.$u.route('pageC/merchant/index', {
|
||||
id: id
|
||||
@@ -201,7 +205,7 @@ export default {
|
||||
this.$u.api.getOrderInfo({
|
||||
order_id: id,
|
||||
}).then(res => {
|
||||
console.log(res)
|
||||
// console.log(res)
|
||||
if(res.errCode == 0) {
|
||||
this.orderInfo = res.data;
|
||||
this.setTitle(this.orderInfo.view_type);
|
||||
@@ -461,6 +465,9 @@ export default {
|
||||
> view:not(:last-child) {
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
.address {
|
||||
line-height: 40rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<template>
|
||||
<view class="order">
|
||||
<view>
|
||||
<!-- <u-tabs-swiper ref="tabs" :list="list" active-color="#FF780F" :current="current" font-size="26" @change="tabsChange" height="88" :gutter="30"></u-tabs-swiper> -->
|
||||
<u-tabs :list="list" name="gc_name" :is-scroll="true" :current="current" @change="tabsChange" active-color="#FF780F" :show-bar="false" height="88" font-size="26" :gutter="20" inactive-color="#333333"></u-tabs>
|
||||
</view>
|
||||
<swiper :current="swiperCurrent" @animationfinish="animationfinish" :style="{ height: swiperHeight }">
|
||||
@@ -14,7 +13,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<u-empty text="暂无订单" mode="order" color="#000000" v-if="!orderList[index] || !orderList[index].length"></u-empty>
|
||||
<u-loadmore :status="loadStatus[index]" bgColor="#ECECEC" font-size="14" margin-bottom="20" v-if="current != 4 && (!orderList[index] || orderList[index].length>3)" class="order-loadmore"></u-loadmore>
|
||||
<u-loadmore :status="loadStatus[index]" bgColor="#ECECEC" font-size="14" margin-bottom="20" v-if="current != 4 && (orderList[index] && orderList[index].length>3)" class="order-loadmore"></u-loadmore>
|
||||
</scroll-view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
@@ -175,8 +174,8 @@ export default {
|
||||
let promise;
|
||||
// if(this.current == 6) promise = this.getAfterSaleList();
|
||||
// else
|
||||
// if(this.current == 4) promise = this.goodsTryOrderList();
|
||||
promise = this.getOrderList();
|
||||
if(this.current == 4) promise = this.goodsTryOrderList();
|
||||
else promise = this.getOrderList();
|
||||
promise.then(length => {
|
||||
this.loadStatus.splice(this.current, 1, "nomore");
|
||||
if(length == 0) this.page--;
|
||||
|
||||
@@ -22,10 +22,10 @@
|
||||
<view class="title">物流跟踪</view>
|
||||
<view class="main">
|
||||
<view v-for="(item, index) in list" :key="index" class="logistics-item">
|
||||
<view class="info u-line-2">{{ item.content }}</view>
|
||||
<view class="info">{{ item.content }}</view>
|
||||
<view class="date">{{ item.kd_time }}</view>
|
||||
</view>
|
||||
<u-empty text="暂无物流信息" mode="data" icon-size="88" margin-top="60"></u-empty>
|
||||
<u-empty text="暂无物流信息" mode="data" icon-size="88" margin-top="60" v-if="!list.length"></u-empty>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
<view>{{ item.title }}</view>
|
||||
<image src="../static/mine/21.png"></image>
|
||||
</view>
|
||||
<view class="list-item" @click="clearCache">
|
||||
<view>清除缓存</view>
|
||||
<view class="left-text">{{ fileSizeString }}</view>
|
||||
</view>
|
||||
<view class="list-item" @click="sheetStatus=true">
|
||||
<view>退出登录</view>
|
||||
<image src="../static/mine/21.png"></image>
|
||||
@@ -58,13 +62,16 @@
|
||||
title: '证件中心',
|
||||
link: '../mine/ArticleDetails?type=1'
|
||||
},
|
||||
{
|
||||
title: '第三方绑定',
|
||||
link: './binding'
|
||||
},
|
||||
{
|
||||
title: '屏蔽用户',
|
||||
link: './ShieldUsers'
|
||||
},
|
||||
{
|
||||
title: '关于我们',
|
||||
// link: '../mine/ArticleDetails?type=2'
|
||||
link: '/pageE/setting/version'
|
||||
},
|
||||
{
|
||||
@@ -73,9 +80,13 @@
|
||||
},
|
||||
],
|
||||
content: "是否退出登录!",
|
||||
show: false
|
||||
show: false,
|
||||
fileSizeString: "", // 缓存大小
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getCache();
|
||||
},
|
||||
methods: {
|
||||
...mapMutations(['logout']),
|
||||
// 退出登录选择 0:切换账号 | 1:退出登录
|
||||
@@ -85,6 +96,45 @@
|
||||
this.show = true;
|
||||
}
|
||||
},
|
||||
// 获取缓存
|
||||
getCache() {
|
||||
let _this = this;
|
||||
// #ifdef APP-PLUS
|
||||
plus.cache.calculate(function(size) {
|
||||
let sizeCache = size;
|
||||
if (sizeCache == 0) {
|
||||
_this.fileSizeString = "0B";
|
||||
} else if (sizeCache < 1024) {
|
||||
_this.fileSizeString = sizeCache + "B";
|
||||
} else if (sizeCache < 1048576) {
|
||||
_this.fileSizeString = (sizeCache / 1024).toFixed(2) + "KB";
|
||||
} else if (sizeCache < 1073741824) {
|
||||
_this.fileSizeString = (sizeCache / 1048576).toFixed(2) + "MB";
|
||||
} else {
|
||||
_this.fileSizeString = (sizeCache / 1073741824).toFixed(2) + "GB";
|
||||
}
|
||||
});
|
||||
// #endif
|
||||
},
|
||||
// 清除缓存
|
||||
clearCache() {
|
||||
// #ifdef APP-PLUS
|
||||
uni.showModal({
|
||||
title: "确定要清理缓存吗?",
|
||||
cancelColor: "#999",
|
||||
confirmColor: "#f00",
|
||||
success: (res) => {
|
||||
// console.log(res);
|
||||
if (res.confirm) {
|
||||
plus.cache.clear(function(e) {
|
||||
console.log(e);
|
||||
})
|
||||
}
|
||||
this.getCache();
|
||||
}
|
||||
})
|
||||
// #endif
|
||||
},
|
||||
toNextPage(url, ...params) {
|
||||
uni.navigateTo({
|
||||
url: url
|
||||
@@ -122,6 +172,11 @@
|
||||
width: 14rpx;
|
||||
height: 24rpx;
|
||||
}
|
||||
|
||||
.left-text {
|
||||
margin-left: auto;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
129
pageE/setting/binding.vue
Normal file
@@ -0,0 +1,129 @@
|
||||
<template>
|
||||
<view class="binding">
|
||||
<view class="binding-item" v-for="(item, index) in bangdingList" :key="index">
|
||||
<view class="title">{{ item.title }}</view>
|
||||
<view class="btn unbundling-btn" @click="unbinding(item.type)" v-if="userInfo[item.name]">
|
||||
<image src="/static/image/mine/44.png"></image>
|
||||
<text>解绑</text>
|
||||
</view>
|
||||
<view class="btn bundling-btn" @click="binding(item.provider, item.type)" v-else>
|
||||
<image src="/static/image/mine/43.png"></image>
|
||||
<text>绑定</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
userInfo: '',
|
||||
bangdingList: [
|
||||
{
|
||||
title: 'QQ',
|
||||
provider: 'qq', // uni 登录 provider
|
||||
type: 'qq', // 后台需要解绑的参数名 type
|
||||
name: 'member_qqopenid', // 后台返回是否绑定的字段名
|
||||
},
|
||||
{
|
||||
title: '微信',
|
||||
provider: 'weixin',
|
||||
type: 'wechat',
|
||||
name: 'member_wxopenid',
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getMemberInfo();
|
||||
},
|
||||
methods: {
|
||||
getMemberInfo() {
|
||||
this.$u.api.getMemberInfo().then(res => {
|
||||
if (res.errCode == 0) {
|
||||
this.userInfo = res.data.MemberArray;
|
||||
}
|
||||
})
|
||||
},
|
||||
binding(provider, type) {
|
||||
uni.login({
|
||||
provider: provider,
|
||||
success: (loginRes) => {
|
||||
console.log(loginRes);
|
||||
uni.getUserInfo({
|
||||
provider: provider,
|
||||
success: (res) => {
|
||||
console.log(res.userInfo.openId);
|
||||
this.$u.api.bindingThird({
|
||||
openid: res.userInfo.openId,
|
||||
type: type
|
||||
}).then(res => {
|
||||
this.$u.toast(res.message);
|
||||
if(res.errCode == 0) {
|
||||
this.getMemberInfo();
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
fail: (e) => {
|
||||
console.log(e);
|
||||
}
|
||||
});
|
||||
},
|
||||
unbinding(type) {
|
||||
this.$u.api.unbindingThird({ type: type }).then(res => {
|
||||
this.$u.toast(res.message);
|
||||
if(res.errCode == 0) {
|
||||
this.getMemberInfo();
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.binding {
|
||||
min-height: calc(100vh - var(--window-top));
|
||||
background-color: #ECECEC;
|
||||
padding-top: 1rpx;
|
||||
.binding-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 35rpx 30rpx;
|
||||
height: 98rpx;
|
||||
background-color: #FFFFFF;
|
||||
&:not(:last-child) {
|
||||
margin-bottom: 2rpx;
|
||||
}
|
||||
.title {
|
||||
font-size: 30rpx;
|
||||
color: rgba(52,52,52,1);
|
||||
}
|
||||
.btn {
|
||||
// width: 112rpx;
|
||||
height: 48rpx;
|
||||
border-radius: 10rpx;
|
||||
font-size: 24rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 12rpx 16rpx;
|
||||
> image {
|
||||
width: 26rpx;
|
||||
height: 26rpx;
|
||||
margin-right: 10rpx;
|
||||
}
|
||||
}
|
||||
.unbundling-btn {
|
||||
border: 1rpx solid rgba(102,102,102,1);
|
||||
color: rgba(102,102,102,1);
|
||||
}
|
||||
.bundling-btn {
|
||||
border: 1rpx solid rgba(255,120,16,1);
|
||||
color: #FF7810;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<u-modal v-model="show" :show-cancel-button="true" confirm-text="升级" title="发现新版本" @cancel="cancel" @confirm="confirm">
|
||||
<u-modal v-model="show" :show-cancel-button="is_focus_upgrade" confirm-text="升级" title="发现新版本" @cancel="cancel" @confirm="confirm">
|
||||
<view class="u-update-content">
|
||||
<rich-text :nodes="content"></rich-text>
|
||||
<!-- <rich-text :nodes="content"></rich-text> -->
|
||||
</view>
|
||||
</u-modal>
|
||||
</template>
|
||||
@@ -10,6 +10,7 @@
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
is_focus_upgrade: Boolean, // 是否强制更新
|
||||
show: true,
|
||||
// 传递给uni-app"rich-text"组件的内容,可以使用"<br>"进行换行
|
||||
content: `
|
||||
@@ -17,8 +18,12 @@
|
||||
2. 新增Modal模态框组件<br>
|
||||
3. 新增压窗屏组件,可以在APP上以弹窗的形式遮盖导航栏和底部tabbar<br>
|
||||
`,
|
||||
isAutoUpdate: false,
|
||||
}
|
||||
},
|
||||
onLoad(option) {
|
||||
this.is_focus_upgrade = option.status == 1 ? false : true;
|
||||
},
|
||||
onReady() {
|
||||
this.show = true;
|
||||
},
|
||||
@@ -27,20 +32,37 @@
|
||||
this.closeModal();
|
||||
},
|
||||
confirm() {
|
||||
// #ifdef APP-PLUS
|
||||
if (plus.os.name == "Android") {
|
||||
const appurl = "market://details?id=com.tencent.mobileqq"; //这个是通用应用市场,如果想指定某个应用商店,需要单独查这个应用商店的包名或scheme及参数
|
||||
plus.runtime.openURL(appurl);
|
||||
} else if(plus.os.name == "ios") {
|
||||
const appurl = "itms-apps://itunes.apple.com/cn/app/id1144816653?mt=8";
|
||||
plus.runtime.openURL(appurl);
|
||||
}
|
||||
// endif
|
||||
// ifdef H5
|
||||
this.closeModal();
|
||||
// #endif
|
||||
},
|
||||
closeModal() {
|
||||
const pages = getCurrentPages();
|
||||
// console.log(pages);
|
||||
if(pages.length == 2) {
|
||||
this.$u.route('/pageA/welcome/welcome');
|
||||
} else {
|
||||
uni.navigateBack();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
<style lang="scss">
|
||||
page {
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
}
|
||||
/deep/ .u-mode-center-box {
|
||||
.u-mode-center-box {
|
||||
background-color: transparent;
|
||||
}
|
||||
// .u-full-content {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<view class="header">
|
||||
<image src="../../pageD/images/file.png" class="tit-img" mode=""></image>
|
||||
<view class="title">德铭阳光</view>
|
||||
<view class="tit-info">版本:{{ version }} for {{ phone_type }}</view>
|
||||
<view class="tit-info">版本: {{ $app_version }} for {{ phone_type }}</view>
|
||||
</view>
|
||||
<view class="main">
|
||||
<view @click="viewAboutUs">
|
||||
@@ -12,8 +12,8 @@
|
||||
</view>
|
||||
<view class="version-view">
|
||||
<text class="title">版本更新</text>
|
||||
<text class="tips" v-if="1">已是最新版本</text>
|
||||
<text class="tips" v-else @click="updateVersion">发现新版本</text>
|
||||
<text class="tips" v-if="version" @click="updateVersion">发现新版本: {{ version }}</text>
|
||||
<text class="tips" v-else>已是最新版本</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -22,8 +22,9 @@
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
version: "",
|
||||
version: '',
|
||||
phone_type: "",
|
||||
status: '',
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
@@ -33,9 +34,12 @@ export default {
|
||||
methods: {
|
||||
// 检查版本号
|
||||
getVersion() {
|
||||
this.$u.post("Specialci/checkVersion",{ app_version: 1 }).then(res => {
|
||||
this.$u.post("Specialci/checkVersion",{ app_version: this.$app_version }).then(res => {
|
||||
// console.log(res);
|
||||
if(res.data.app_version != this.$app_version) {
|
||||
this.version = res.data.app_version;
|
||||
this.status = res.data.is_focus_upgrade; // 0 不强制 1 强制
|
||||
}
|
||||
})
|
||||
},
|
||||
viewAboutUs() {
|
||||
@@ -44,7 +48,9 @@ export default {
|
||||
});
|
||||
},
|
||||
updateVersion() {
|
||||
this.$u.route('/pageE/setting/updateVersion');
|
||||
this.$u.route('/pageE/setting/updateVersion', {
|
||||
status: this.status,
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
BIN
pageE/static/mine/38.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
50
pages.json
@@ -56,6 +56,7 @@
|
||||
"style": {
|
||||
"navigationBarTitleText": "",
|
||||
"navigationStyle": "custom",
|
||||
"backgroundColorBottom":"#000000",
|
||||
"app-plus": {
|
||||
"titleNView": false
|
||||
}
|
||||
@@ -79,6 +80,24 @@
|
||||
{
|
||||
"root": "pageB",
|
||||
"pages": [
|
||||
{
|
||||
"path": "tipsinfo/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "",
|
||||
"app-plus":{
|
||||
"titleNView":{
|
||||
"backgroundColor":"#ffffff"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "playVideo/index",
|
||||
"style": {
|
||||
"navigationStyle":"custom",
|
||||
"backgroundColor":"#000000"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "follow/index",
|
||||
"style": {
|
||||
@@ -117,9 +136,9 @@
|
||||
"buttons": [
|
||||
{
|
||||
"type":"none",
|
||||
"text":"\ue636",
|
||||
"text":"\ue503",
|
||||
"float":"right",
|
||||
"fontSize":"18",
|
||||
"fontSize":"20",
|
||||
"fontSrc": "/static/fonts/cart.ttf"
|
||||
}
|
||||
]
|
||||
@@ -148,9 +167,9 @@
|
||||
"buttons": [
|
||||
{
|
||||
"type":"none",
|
||||
"text":"\ue636",
|
||||
"text":"\ue503",
|
||||
"float":"right",
|
||||
"fontSize":"18",
|
||||
"fontSize":"20",
|
||||
"fontSrc": "/static/fonts/cart.ttf"
|
||||
}
|
||||
]
|
||||
@@ -359,7 +378,7 @@
|
||||
// },
|
||||
{
|
||||
"type":"none",
|
||||
"text":"\ue636",
|
||||
"text":"\ue503",
|
||||
"float":"right",
|
||||
"fontSize":"22",
|
||||
"fontSrc": "/static/fonts/cart.ttf",
|
||||
@@ -980,6 +999,19 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "setting/binding",
|
||||
"style": {
|
||||
"navigationBarTitleText": "第三方绑定",
|
||||
"app-plus": {
|
||||
"titleSize": "36px",
|
||||
"titleNView": {
|
||||
"titleColor": "#333333",
|
||||
"backgroundColor": "#FFFFFF"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "setting/ShieldUsers",
|
||||
"style": {
|
||||
@@ -1011,10 +1043,10 @@
|
||||
"style": {
|
||||
"navigationStyle": "custom", // 取消本页面的导航栏
|
||||
"app-plus": {
|
||||
"animationType": "fade-in", // 设置fade-in淡入动画,为最合理的动画类型
|
||||
"background": "transparent", // 背景透明
|
||||
"backgroundColor": "rgba(0,0,0,0)", // 背景透明
|
||||
"popGesture": "none" // 关闭IOS屏幕左边滑动关闭当前页面的功能
|
||||
"animationType": "fade-in",
|
||||
"background": "transparent",
|
||||
"backgroundColor": "rgba(0,0,0,0)",
|
||||
"popGesture": "none"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -262,7 +262,8 @@
|
||||
loading: '努力加载中',
|
||||
nomore: '实在没有了'
|
||||
},
|
||||
refresher:true
|
||||
refresher:true,
|
||||
zqie:false
|
||||
}
|
||||
},
|
||||
components: {
|
||||
@@ -355,6 +356,10 @@
|
||||
uni.showLoading({
|
||||
title: "loading..."
|
||||
})
|
||||
if(this.zqie){
|
||||
return ;
|
||||
}
|
||||
this.zqie = true;
|
||||
this.$u.api.tabLiveList({page:this.live_page}).then((res) => {
|
||||
// uni.stopPullDownRefresh();
|
||||
this.status_live = "loading";
|
||||
@@ -371,6 +376,7 @@
|
||||
} else if (res.data.data.length == 0 && this.live_page > 1) {
|
||||
this.status_live = "nomore";
|
||||
} else {
|
||||
console.log(this.live_page,1223)
|
||||
this.tabLiveLists = this.tabLiveLists.concat(res.data.data);
|
||||
console.log(this.tabLiveLists)
|
||||
}
|
||||
@@ -381,6 +387,8 @@
|
||||
} else {
|
||||
this.status_live = "nomore"
|
||||
}
|
||||
this.zqie = false;
|
||||
|
||||
|
||||
})
|
||||
},
|
||||
@@ -400,7 +408,12 @@
|
||||
member_id: member_id
|
||||
}).then((res) => {
|
||||
this.follow_page = 0;
|
||||
this.getRecommendList(); // 关注列表
|
||||
// this.getRecommendList(); // 关注列表
|
||||
for(let i in this.recommendList){
|
||||
if(this.recommendList[i].member_id == member_id){
|
||||
this.recommendList[i].is_attention == 1 ? this.recommendList[i].is_attention = 0 : this.recommendList[i].is_attention = 1
|
||||
}
|
||||
}
|
||||
this.getFollowList(); // 刷新发现的列表
|
||||
})
|
||||
},
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<view class="mine">
|
||||
<view class="mine-top">
|
||||
<view class="top">
|
||||
<u-avatar @click="toOtherPage('/mine/MineInfo')" :src="userInfo.member_avatar + '?' + new Date().getTime()" :size="110"></u-avatar>
|
||||
<u-avatar @click="toOtherPage('/mine/MineInfo')" :src="userInfo.member_avatar" :size="110"></u-avatar>
|
||||
<view class="user-info">
|
||||
<view class="info-top">
|
||||
<view class="user-nickname u-line-1">{{ userInfo.member_nickname }}</view>
|
||||
@@ -58,35 +58,6 @@
|
||||
<text>{{ item.number }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view @click="toOtherPage('/order/Index?current=1')">
|
||||
<image src="/static/image/mine/6.png"></image>
|
||||
<view>待支付</view>
|
||||
<view class="order-num">{{ 99 }}</view>
|
||||
</view>
|
||||
<view @click="toOtherPage('/order/Index?current=2')">
|
||||
<image src="/static/image/mine/35.png"></image>
|
||||
<view>待发货</view>
|
||||
</view>
|
||||
<view @click="toOtherPage('/order/Index?current=3')">
|
||||
<image src="/static/image/mine/2.png"></image>
|
||||
<view>待收货</view>
|
||||
</view>
|
||||
<view @click="toOtherPage('/order/Index?current=4')">
|
||||
<image src="/static/image/mine/1.png"></image>
|
||||
<view>试穿试送</view>
|
||||
</view>
|
||||
<view @click="toOtherPage('/order/Index?current=5')">
|
||||
<image src="/static/image/mine/37.png"></image>
|
||||
<view>拼团中</view>
|
||||
</view>
|
||||
<view @click="toOtherPage('/order/Index?current=6')">
|
||||
<image src="/static/image/mine/3.png"></image>
|
||||
<view>待评价</view>
|
||||
</view>
|
||||
<view @click="toOtherPage('/order/Index?current=7')">
|
||||
<image src="/static/image/mine/9.png"></image>
|
||||
<view>售后</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="tool">
|
||||
@@ -129,9 +100,10 @@
|
||||
<image src="/static/image/mine/16.png"></image>
|
||||
<view>使用帮助</view>
|
||||
</view>
|
||||
<view @click="toOtherPage('/more/Complaints')">
|
||||
<view class="badge-box" @click="toOtherPage('/more/Complaints')">
|
||||
<image src="/static/image/mine/15.png"></image>
|
||||
<view>投诉意见</view>
|
||||
<u-badge size="mini" :count="userInfo.feedback_show" :offset="offset" type="error"></u-badge>
|
||||
</view>
|
||||
<!-- <view></view> -->
|
||||
</view>
|
||||
@@ -192,7 +164,8 @@ export default {
|
||||
link: '/order/Index?current=7',
|
||||
number: '',
|
||||
},
|
||||
]
|
||||
],
|
||||
offset: [-10,6]
|
||||
};
|
||||
},
|
||||
filters: {
|
||||
@@ -206,9 +179,10 @@ export default {
|
||||
uni.navigateTo({
|
||||
url: "../../pageA/login/login"
|
||||
})
|
||||
}
|
||||
this.getUserInfo();
|
||||
} else {
|
||||
this.getOrderNumber();
|
||||
this.getUserInfo();
|
||||
}
|
||||
},
|
||||
onNavigationBarButtonTap(e) {
|
||||
// console.log(e);
|
||||
@@ -346,7 +320,7 @@ export default {
|
||||
height: $image-height !important;
|
||||
}
|
||||
}
|
||||
@mixin common-mine($content-padding-top, $content-padding-bottom, $image-width, $image-height) {
|
||||
@mixin common-mine($content-padding-top, $content-padding-row, $content-padding-bottom, $image-width, $image-height) {
|
||||
box-sizing: border-box;
|
||||
width: 710rpx;
|
||||
background: rgba(255,255,255,1);
|
||||
@@ -366,7 +340,7 @@ export default {
|
||||
color: #999;
|
||||
}
|
||||
.content {
|
||||
padding: $content-padding-top 20rpx $content-padding-bottom;
|
||||
padding: $content-padding-top $content-padding-row $content-padding-bottom;
|
||||
display: flex;
|
||||
> view {
|
||||
text-align: center;
|
||||
@@ -386,6 +360,7 @@ export default {
|
||||
.order {
|
||||
@include common-mine(
|
||||
$content-padding-top: 22rpx,
|
||||
$content-padding-row: 30rpx,
|
||||
$content-padding-bottom: 30rpx,
|
||||
$image-height: 36rpx,
|
||||
$image-width: 36rpx
|
||||
@@ -414,9 +389,7 @@ export default {
|
||||
position: relative;
|
||||
.order-num {
|
||||
position: absolute;
|
||||
top: -12rpx;
|
||||
right: -38rpx;
|
||||
width: 50rpx;
|
||||
top: -14rpx;
|
||||
}
|
||||
.order-num > text {
|
||||
z-index: 9;
|
||||
@@ -434,6 +407,11 @@ export default {
|
||||
color:rgba(255,120,15,1);
|
||||
}
|
||||
}
|
||||
> view:not(:nth-child(6)) {
|
||||
.order-num {
|
||||
left: 40rpx;
|
||||
}
|
||||
}
|
||||
> view:nth-child(1){
|
||||
@include image-size($image-width: 33rpx, $image-height: 36rpx);
|
||||
}
|
||||
@@ -447,16 +425,20 @@ export default {
|
||||
@include image-size($image-width: 35rpx, $image-height: 35rpx);
|
||||
}
|
||||
> view:nth-child(5){
|
||||
@include image-size($image-width: 37rpx, $image-height: 37rpx);
|
||||
@include image-size($image-width: 35rpx, $image-height: 35rpx);
|
||||
}
|
||||
> view:nth-child(6){
|
||||
@include image-size($image-width: 33rpx, $image-height: 35rpx);
|
||||
.order-num {
|
||||
left: 24rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.tool {
|
||||
@include common-mine(
|
||||
$content-padding-top: 24rpx,
|
||||
$content-padding-row: 20rpx,
|
||||
$content-padding-bottom: 25rpx,
|
||||
$image-height: 71rpx,
|
||||
$image-width: 71rpx
|
||||
@@ -473,6 +455,7 @@ export default {
|
||||
.more-tool {
|
||||
@include common-mine(
|
||||
$content-padding-top: 24rpx,
|
||||
$content-padding-row: 20rpx,
|
||||
$content-padding-bottom: 48rpx,
|
||||
$image-height: 71rpx,
|
||||
$image-width: 71rpx
|
||||
@@ -485,6 +468,9 @@ export default {
|
||||
margin-right: 36rpx;
|
||||
}
|
||||
}
|
||||
.badge-box {
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<u-swiper :list="list" mode="dot" @click="clickImage"></u-swiper>
|
||||
</view>
|
||||
<view class="chengnuo">
|
||||
<view>
|
||||
<!-- <view>
|
||||
<image src="/static/image/shop/4.png"></image>
|
||||
<text>免费洗衣</text>
|
||||
</view>
|
||||
@@ -32,6 +32,10 @@
|
||||
<view>
|
||||
<image src="/static/image/shop/7.png"></image>
|
||||
<text>上门取件</text>
|
||||
</view> -->
|
||||
<view v-for="(item,index) in tips" :key="index" @click="totips(item.document_code)">
|
||||
<image :src="item.file_name"></image>
|
||||
<text>{{item.document_title}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="fenlei">
|
||||
@@ -95,12 +99,14 @@
|
||||
pinTuanPush: {}, // 拼团推荐
|
||||
activityInfo: {},
|
||||
areaList: [], // 位置信息
|
||||
tips:[]
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getShopTopList();
|
||||
this.getLocation(); // 获取定位
|
||||
this.getStoreActivity();
|
||||
this.gettips()
|
||||
// this.area = uni.getStorageSync("address") || "请选择";
|
||||
},
|
||||
onShow() {
|
||||
@@ -110,6 +116,21 @@
|
||||
this.getAllLoaction(); // 获取位置
|
||||
},
|
||||
methods: {
|
||||
totips(id){
|
||||
this.$u.route({
|
||||
type:"to",
|
||||
url:"/pageB/tipsinfo/index",
|
||||
params:{
|
||||
id
|
||||
}
|
||||
})
|
||||
},
|
||||
gettips(){
|
||||
this.$u.api.tips().then((res)=>{
|
||||
console.log(res)
|
||||
this.tips = res.data
|
||||
})
|
||||
},
|
||||
sousuo() {
|
||||
// console.log(123)
|
||||
this.$u.route({
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<view class="hot" :style="{'top': top + 10 * rpx}">
|
||||
<text class="hottext">{{room.onlineUsers.users.length}}</text>
|
||||
</view>
|
||||
<image class="cart" src="../../static/cart.png" @click="show = true">
|
||||
<image v-if="list.length != 0" class="cart" src="../../static/cart.png" @click="show = true">
|
||||
|
||||
</image>
|
||||
<view class="danmufasongbox" @click="danmu = $store.state.hasLogin">
|
||||
@@ -29,7 +29,7 @@
|
||||
<!-- <image class="liketap" src="../../static/like.png" @click=""> -->
|
||||
|
||||
<view class="danmuinputbox" v-if="danmu">
|
||||
<input type="text" focus="true" style="width:600rpx;margin-left:30rpx;font-size:26rpx" maxlength="20" @blur="danmu=false" :focus="danmu" v-model="danmutext">
|
||||
<input type="text" focus="true" style="width:600rpx;margin-left:30rpx;font-size:26rpx" maxlength="100" @blur="danmu=false" :focus="danmu" v-model="danmutext">
|
||||
<view class="danmufasong" @click="sendMessage(room.MessageType.CHAT,danmutext)">
|
||||
<text style="font-size:24rpx;color:#fff">发送</text>
|
||||
</view>
|
||||
@@ -428,6 +428,7 @@ export default {
|
||||
that.room = that.chatRoomService.room;
|
||||
that.chatRoomService.initialWhenOnlineUserChange(that.newpeople)
|
||||
that.chatRoomService.initialWhenNewMessage(that.whenNewMessage);
|
||||
that.chatRoomService.jieshuzhibo = this.jieshu;
|
||||
this.$forceUpdate();
|
||||
console.log(that.room)
|
||||
|
||||
@@ -440,6 +441,19 @@ export default {
|
||||
this.chatRoomService.quitRoom();
|
||||
},
|
||||
methods:{
|
||||
jieshu(text){
|
||||
console.log(text)
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: text.content,
|
||||
showCancel:false,
|
||||
success: function (res) {
|
||||
uni.navigateBack({
|
||||
delta: 1
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
errors(a){
|
||||
console.log(a)
|
||||
},
|
||||
|
||||
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.5 KiB |
BIN
static/image/clons.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1008 B After Width: | Height: | Size: 1.4 KiB |
BIN
static/image/mine/40.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
static/image/mine/41.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
static/image/mine/42.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
static/image/mine/43.png
Normal file
|
After Width: | Height: | Size: 665 B |
BIN
static/image/mine/44.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
@@ -8,6 +8,8 @@
|
||||
import GoEasyIM from './goeasy-im-1.0.9';
|
||||
// import GoEasyIM from './goeasy-im-1.1.1';
|
||||
import restApi from './restapi';
|
||||
import music from './music.mp3'
|
||||
|
||||
|
||||
function Friend(uuid, name, avatar,time = "", text = "",date = "",unReadMessage = 0) {
|
||||
this.uuid = uuid;
|
||||
@@ -53,6 +55,8 @@ function IMService() {
|
||||
//群聊消息记录,map格式,每个群对应一个数组
|
||||
this.groupMessages = {};
|
||||
|
||||
this.uid = 0;
|
||||
|
||||
/*
|
||||
* 监听器们
|
||||
*
|
||||
@@ -73,6 +77,8 @@ function IMService() {
|
||||
//群列表发生改变
|
||||
this.onGroupListChange = function (groups) {};
|
||||
|
||||
//结束直播
|
||||
this.jieshuzhibo = function(messages){}
|
||||
|
||||
this.whenNewMessage = function () {
|
||||
|
||||
@@ -283,6 +289,14 @@ IMService.prototype.initialIMListeners = function () {
|
||||
friends.sort(paixu)
|
||||
|
||||
}
|
||||
if(message.senderId != this.uid){
|
||||
const innerAudioContext = uni.createInnerAudioContext();
|
||||
innerAudioContext.autoplay = true;
|
||||
innerAudioContext.src = music;
|
||||
innerAudioContext.onPlay(() => {
|
||||
console.log('开始播放');
|
||||
});
|
||||
}
|
||||
|
||||
let that = this
|
||||
if(!friend && friend == undefined){
|
||||
@@ -773,6 +787,11 @@ IMService.prototype.initialWhenOnlineUserChange = function (whenOnlineUserChange
|
||||
IMService.prototype.listenerNewMessage = function () {
|
||||
|
||||
this.im.on(GoEasyIM.EVENT.GROUP_MESSAGE_RECEIVED, (message) => {
|
||||
console.log(message)
|
||||
if(message.senderId == 0){
|
||||
this.jieshuzhibo(JSON.parse(message.payload.text));
|
||||
return;
|
||||
}
|
||||
var content = JSON.parse(message.payload.text);
|
||||
this.addNewMessage(message);
|
||||
this.whenNewMessage(content);
|
||||
|
||||