74 Commits

Author SHA1 Message Date
7e9791ef18 Merge pull request '修复了返回黑屏' (#327) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/327
2020-09-03 11:45:02 +08:00
314508e652 修复了返回黑屏 2020-09-03 11:32:58 +08:00
1b387df66e Merge pull request '添加达人申请' (#326) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/326
2020-09-03 11:14:03 +08:00
cfda1f7aae 添加达人申请 2020-09-03 11:12:58 +08:00
gyh
379100a097 Merge pull request 'gdpao' (#325) from gyh into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/325
2020-09-03 09:53:16 +08:00
Gdpao
adc18d80cf gdpao 2020-09-03 09:50:18 +08:00
2da546f193 Merge pull request '修改自提bug' (#324) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/324
2020-09-02 15:33:40 +08:00
bc9290e13c 修改自提bug 2020-09-02 15:32:54 +08:00
c4f23cc5c4 Merge pull request 'zhy' (#323) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/323
2020-09-02 08:59:57 +08:00
4911a0c948 调整会员服务样式 2020-09-02 08:55:56 +08:00
6302677c65 调整会员服务样式 2020-09-02 08:55:16 +08:00
gyh
8ec27b1598 Merge pull request 'gdpao' (#322) from gyh into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/322
2020-09-01 20:31:30 +08:00
Gdpao
2446f851c7 gdpao 2020-09-01 20:30:23 +08:00
4fa530d2d6 Merge pull request 'fixing bug' (#321) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/321
2020-09-01 18:08:30 +08:00
0f55428656 fixing bug 2020-09-01 18:07:52 +08:00
db55c8d892 Merge pull request '消息物流添加联系骑手' (#320) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/320
2020-09-01 17:43:18 +08:00
8259883119 消息物流添加联系骑手 2020-09-01 17:42:16 +08:00
20d20e12d1 Merge pull request '添加字体换行' (#319) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/319
2020-09-01 17:33:31 +08:00
e54282b839 添加点击调用接口 2020-09-01 17:33:11 +08:00
69c56b4772 添加字体换行 2020-09-01 16:53:41 +08:00
edc1d0c160 Merge pull request 'xbx' (#318) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/318
2020-09-01 16:08:20 +08:00
bc4d6bb117 Merge branch 'xbx' of http://git.luyuan.tk/luyuan/deming into xbx 2020-09-01 16:07:58 +08:00
5e140e4143 更改了提示 2020-09-01 16:07:56 +08:00
8ed1ae0020 Merge pull request '添加了提示' (#317) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/317
2020-09-01 16:07:39 +08:00
db13a1882d Merge branch 'master' into xbx 2020-09-01 16:07:30 +08:00
f4ba8edec2 添加了提示 2020-09-01 15:55:32 +08:00
8f400e2524 Merge pull request '新增自提显示' (#316) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/316
2020-09-01 15:02:18 +08:00
56cdbfbf5d 新增自提显示 2020-09-01 15:00:36 +08:00
e608eb2a89 Merge pull request '新增自提' (#315) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/315
2020-09-01 10:47:34 +08:00
96e16c7af2 新增自提 2020-09-01 10:47:06 +08:00
038eb466a2 新增自提 2020-09-01 10:43:32 +08:00
89cf7b96db 新增自提 2020-09-01 10:39:59 +08:00
4ee4f43f05 Merge pull request '修改了字体和编剧' (#314) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/314
2020-09-01 10:35:33 +08:00
ccca4992ab 修改了字体和编剧 2020-09-01 10:34:32 +08:00
gyh
704fb038df Merge pull request 'gdpao' (#313) from gyh into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/313
2020-09-01 08:40:15 +08:00
Gdpao
1fad28b7b0 gdpao 2020-09-01 08:39:08 +08:00
840ba58aa6 Merge pull request '调试完成' (#311) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/311
2020-08-31 17:04:37 +08:00
6039328f54 添加了销量 2020-08-31 17:04:15 +08:00
gyh
0de127d351 Merge pull request 'gdpao' (#312) from gyh into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/312
2020-08-31 16:33:10 +08:00
Gdpao
b1b4298721 gdpao 2020-08-31 16:31:31 +08:00
e98ad66060 调试完成 2020-08-31 15:37:47 +08:00
gyh
2d8e738164 Merge pull request 'gyh' (#310) from gyh into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/310
2020-08-31 10:15:47 +08:00
Gdpao
ee3ba5b0dc gdpasomg 2020-08-31 09:10:40 +08:00
Gdpao
8937a31684 gdpao 2020-08-31 09:07:24 +08:00
993e1bc647 Merge pull request 'xbx' (#309) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/309
2020-08-29 00:14:09 +08:00
97c9774cc4 添加了 分类的搜索 2020-08-28 23:11:12 +08:00
839b1728f0 商品不出现 2020-08-28 22:54:51 +08:00
0e21019107 Merge pull request 'xbx' (#307) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/307
2020-08-27 14:04:08 +08:00
4dfacfb524 Merge pull request '第三方绑定' (#305) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/305
2020-08-27 12:22:22 +08:00
d3154dc864 第三方绑定 2020-08-27 12:21:32 +08:00
8f02597787 Merge pull request '第三方绑定' (#304) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/304
2020-08-27 12:18:02 +08:00
16115ba111 第三方绑定 2020-08-27 12:16:09 +08:00
36f0675689 1 2020-08-27 12:15:55 +08:00
18c99cd668 添加了消息铃声 2020-08-27 11:06:11 +08:00
5f233b8e06 Merge pull request '第三方绑定' (#303) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/303
2020-08-27 09:37:18 +08:00
916b1e0cbd 第三方绑定 2020-08-27 09:36:12 +08:00
Gdpao
2e36f2a22f gdpao 2020-08-26 20:31:30 +08:00
af612ef89e Merge pull request '启动页按钮问题' (#302) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/302
2020-08-25 14:39:37 +08:00
95c55de38b 启动页按钮问题 2020-08-25 14:39:11 +08:00
d06394f6ad Merge pull request 'xbx' (#300) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/300
2020-08-25 14:38:13 +08:00
f4de9fe13b Merge branch 'master' of http://git.luyuan.tk/luyuan/deming into xbx 2020-08-25 14:37:35 +08:00
2512923891 Merge pull request '版本更新跳转' (#299) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/299
2020-08-25 14:21:38 +08:00
4ab89711b2 版本更新跳转 2020-08-25 14:21:15 +08:00
gyh
4876ddb383 Merge pull request '1.0.1' (#298) from gyh into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/298
2020-08-25 13:04:20 +08:00
Gdpao
9b5fca48a2 1.0.1 2020-08-25 13:03:24 +08:00
81955085b5 Merge pull request '版本更新跳转' (#297) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/297
2020-08-25 12:21:55 +08:00
ffa18c92d2 版本更新跳转 2020-08-25 12:21:26 +08:00
b63a84149e Merge pull request '版本更新跳转' (#296) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/296
2020-08-25 12:07:07 +08:00
1aee3f3320 版本更新跳转 2020-08-25 12:06:37 +08:00
6d0c6a6b15 Merge pull request '完善' (#295) from xbx-new into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/295
2020-08-25 11:53:18 +08:00
3e87a5aaf5 Merge branch 'master' of http://git.luyuan.tk/luyuan/deming into xbx 2020-08-24 14:23:22 +08:00
52e6489a2c 优惠券完成 2020-08-22 16:45:26 +08:00
92771d8174 图标 2020-08-22 09:46:30 +08:00
60a619fa7b fix 756 2020-08-22 09:00:00 +08:00
44 changed files with 923 additions and 121 deletions

View File

@@ -28,7 +28,10 @@
// #endif
},
onShow(){
this.getVersion();
// this.getVersion();
},
onLoad() {
},
onHide(){

View File

@@ -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})
}
}
}

View File

@@ -454,6 +454,31 @@ 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,
})
},
getIndustryList() {
return vm.$u.post("Expertapply/industryList")
},
getHobbyList() {
return vm.$u.post("Expertapply/hobbyList")
},
// 达人申请
applyExpert({ name, mobile, address, industry, hobby }) {
return vm.$u.post("Expertapply/expertApply", {
name, mobile, address, industry, hobby
})
}
}

View File

@@ -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]
});
},
}
};

View File

@@ -4,7 +4,9 @@
<view class="time_notice">{{ item.addtime }}</view>
<view class="notice_view">
<image :src="item.picture" mode="aspectFill" ></image>
<view class="text_view u-line-2">{{ item.content }}</view>
<view class="text_view">
<view class="u-line-2">{{ item.content }}</view>
</view>
<view class="notice_list">
<text>查看详情</text>
<u-icon name="arrow-right" color="#666"></u-icon>
@@ -28,21 +30,17 @@
border-radius: 20rpx 20rpx 0px 0px;
}
.text_view{
font-size:26rpx;
font-weight:400;
color:rgba(51,51,51,1);
margin: 28rpx 0 30rpx 0;
width: 643rpx;
margin: 0 auto;
text-align: left;
line-height: 40rpx;
letter-spacing: 2rpx;
width: 690rpx;
height: 120rpx;
padding: 26rpx;
color: #333;
font-size: 26rpx;
line-height: 38rpx;
}
.notice_view > view:nth-child(3){
height: 84rpx;
line-height: 84rpx;
height: 80rpx;
line-height: 80rpx;
border-top: 1px #F5F5F5 solid;
margin-top: 30rpx;
}
}
.time_notice{
@@ -53,22 +51,11 @@
padding: 26rpx 0 39rpx 0;
}
.notice_list{
text-align: left;
display: inline-block;
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
position: relative;
padding: 0 25rpx;
margin: 0 auto;
display: block;
}
.notice_list > view{
text-align: right;
position: absolute;
right: 25rpx;
top: 0;
bottom: 0;
margin: auto;
}
</style>

View File

@@ -1,6 +1,6 @@
<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" v-if="couponInfo.type == 1">{{ couponInfo.vouchertemplate_id == 1 ? '新人专享' : '平台优惠券' }}</div>
<div class="wrap_left_top" v-else-if="couponInfo.type == 2">店铺优惠券</div>
@@ -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;

View File

@@ -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>

View File

@@ -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>

View File

@@ -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" : {},

View File

@@ -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>
@@ -776,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;
@@ -1252,6 +1264,7 @@ export default {
font-size: 30rpx;
color: #ff3131;
}
}
}
.num {

33
pageB/tipsinfo/index.vue Normal file
View 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>

View File

@@ -500,7 +500,6 @@
.container {
position: relative;
background-color: #FF0000 !important;
}
/* 关闭 */

View File

@@ -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">
@@ -70,13 +74,13 @@
<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>
<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: 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>
<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>
@@ -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: {
@@ -148,6 +159,8 @@ export default {
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() {
@@ -311,23 +349,23 @@ export default {
const goods = this.orderInfo.store_goods_total;
let [freight, price, minPrice] = [0, 0, 0];
// 运费
for (const key in this.freight) {
if (this.freight.hasOwnProperty(key)) {
for(const key in this.freight) {
if(this.freight.hasOwnProperty(key)) {
const element = this.freight[key];
freight += Number(element);
}
}
// 商品价格减去优惠券
// 店铺
for (const gid in goods) {
if (goods.hasOwnProperty(gid)) {
for(const gid in goods) {
if(goods.hasOwnProperty(gid)) {
// 计算最小价格
minPrice += 0.01;
// 每个店铺所有商品的价格
let sprice = Number(goods[gid]);
if(JSON.stringify(this.storeCoupon) != '{}') {
for (const cid in this.storeCoupon) {
if (this.storeCoupon.hasOwnProperty(cid)) {
for(const cid in this.storeCoupon) {
if(this.storeCoupon.hasOwnProperty(cid)) {
const cprice = this.storeCoupon[cid];
// 商品减去优惠券价格
if(gid == cid) {
@@ -351,13 +389,32 @@ 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('此地区不支持骑手配送');
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.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 +439,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 +502,7 @@ export default {
height: 60rpx;
border-radius: 50%;
margin-right: 15rpx;
background-color: aquamarine;
// background-color: aquamarine;
}
> view {
font-size: 28rpx;
@@ -452,6 +510,7 @@ export default {
margin-right: 15rpx;
}
.right {
margin-left: auto;
flex-shrink: 0;
width: 11rpx;
height: 22rpx;
@@ -469,7 +528,7 @@ export default {
width: 180rpx;
height: 160rpx;
border-radius: 10rpx;
background-color: aqua;
// background-color: aqua;
flex-shrink: 0;
}
.info {
@@ -538,10 +597,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);

View File

@@ -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);

View File

@@ -4,9 +4,13 @@
<view class="activity" v-for="(item, index) in actives" :key="index">
<view class="times">{{item.kd_time}}</view>
<view class="content">
<view class="store_name">
<view class="store-name">
<image :src="item.store_avatar"></image>
<view>{{item.store_name}}</view>
<view class="name">{{item.store_name}}</view>
<view class="takeawayer" v-if="item.takeawayer_phone" @click="makePhone(item.takeawayer_phone)">
<u-icon name="phone-fill" color="#FF780F" size="28"></u-icon>
<text>联系骑手</text>
</view>
</view>
<view class="xiantiao"></view>
<view class="title">{{item.title}}</view>
@@ -77,10 +81,13 @@
this.$u.route(url, {
oid: item.order_id,
});
},
makePhone(phone) {
uni.makePhoneCall({
phoneNumber: phone
});
}
},
components:{
}
};
</script>
@@ -147,25 +154,31 @@ page{
margin-bottom: 20rpx;
}
// 店铺
.store_name{
.store-name{
overflow: hidden;
zoom: 1;
padding: 0rpx 0 20rpx 0;
display: flex;
align-items: center;
image{
width: 60rpx;
height: 60rpx;
border-radius: 50%;
float: left;
}
view{
.name {
font-size:26rpx;
color:rgba(51,51,51,1);
float: left;
display: table-cell;
line-height: 60rpx;
display: inline-block;
margin-left: 21rpx;
}
.takeawayer {
margin-left: auto;
> text {
margin-left: 10rpx;
}
}
}
}
}

View File

@@ -43,7 +43,7 @@
};
</script>
<style lang="scss" scoped>
<style lang="scss">
page {
background-color: #ECECEC;
}

View File

@@ -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(){

View File

@@ -124,6 +124,7 @@ export default {
align-items: center;
justify-content: center;
margin-bottom: 52rpx;
// font-weight: bold;
> image {
width: 22rpx;
height: 22rpx;

View File

@@ -9,11 +9,11 @@
<view class="integral-top">
<view>
<view class="title">总积分</view>
<view class="value">{{ memberInfo.member_points }}</view>
<view class="value">{{ memberInfo.member_points || 0 }}</view>
</view>
<view>
<view class="title">经验值</view>
<view class="value">{{ memberInfo.member_exppoints }}</view>
<view class="value">{{ memberInfo.member_exppoints || 0 }}</view>
</view>
<view @click="viewProgress">
<view class="title">预计进度</view>
@@ -24,7 +24,14 @@
</view>
</view>
<scroll-view scroll-y class="integral-botom" :style="{ height: richHeight }">
<view class="rich-container">
<view class="title">{{ points_rule.document_title }}</view>
<rich-text :nodes="pointsNodes"></rich-text>
</view>
<view class="rich-container">
<view class="title" >{{ member_rule.document_title }}</view>
<rich-text :nodes="nodes"></rich-text>
</view>
</scroll-view>
</view>
</swiper-item>
@@ -69,7 +76,10 @@ export default {
swiperCurrent: 0,
pointslogList: [],
memberInfo: {},
pointsNodes: '',
nodes: '',
points_rule: {},
member_rule: {}
}
},
components: {
@@ -103,7 +113,10 @@ export default {
this.$u.api.getMemberPointsStat().then((res)=>{
if(res.errCode == 0) {
this.memberInfo = res.data;
this.nodes = common.unescapeHTML(this.memberInfo.points_rule.document_content);
this.nodes = common.unescapeHTML(this.memberInfo.grade_rule.document_content);
this.pointsNodes = common.unescapeHTML(this.memberInfo.points_rule.document_content);
this.points_rule = this.memberInfo.points_rule;
this.member_rule = this.memberInfo.grade_rule;
}
})
},
@@ -180,6 +193,18 @@ export default {
border-radius: 20rpx 20rpx 0rpx 0rpx;
top: 250rpx;
z-index: 9;
.rich-container {
&:not(:last-child) {
margin-bottom: 56rpx;
}
.title {
text-align: center;
font-size: 32rpx;
color: #333333;
margin-bottom: 26rpx;
// font-weight: bold;
}
}
}
}
.coupon {

254
pageE/more/ApplyLive.vue Normal file
View File

@@ -0,0 +1,254 @@
<template>
<view class="apply-live">
<view class="basic-info">
<view>
<label for="name">姓名:</label>
<input type="text" id="name" v-model="name" placeholder="请输入姓名" />
</view>
<view>
<label for="phone">手机号:</label>
<input type="number" id="phone" v-model="phone" maxlength="11" placeholder="请输入手机号" />
</view>
<view @click="show=true">
<label for="address">居住地址:</label>
<input type="text" id="address" v-model="address" disabled placeholder="请选择居住地址" />
<u-icon name="arrow-down" color="#343434" size="26" class="arrow-icon"></u-icon>
</view>
<view>
<label for="details">详细地址:</label>
<input type="text" id="details" v-model="details" placeholder="请填写详细地址" />
</view>
</view>
<view class="other-info">
<view class="item-box specialty">
<view class="title">特长领域<text class="brief">(多选</text></view>
<view class="check-box-container">
<u-checkbox-group @change="specialtyGroupChange" active-color="#fff">
<u-checkbox
v-model="item.checked"
v-for="(item, index) in industryList" :key="index"
:name="item.name"
>{{item.name}}</u-checkbox>
</u-checkbox-group>
</view>
</view>
<view class="item-box hobby">
<view class="title">兴趣爱好<text class="brief">(多选</text></view>
<view class="check-box-container">
<u-checkbox-group @change="hobbyGroupChange" active-color="#fff">
<u-checkbox
v-model="item.checked"
v-for="(item, index) in hobbyList" :key="index"
:name="item.name"
>{{item.name}}</u-checkbox>
</u-checkbox-group>
</view>
</view>
</view>
<view class="submit-btn" @click="applyExpert">提交申请</view>
<u-select v-model="show"
mode="mutil-column-auto"
:list="areaList"
value-name="area_id"
label-name="area_name"
child-name="_child"
@confirm="setArea">
</u-select>
<u-toast ref="uToast" />
</view>
</template>
<script>
export default {
data() {
return {
show: false,
areaList: [],
name: '',
phone: '',
address: '',
details: '',
industryList: [],
hobbyList: [],
checkedIndustryList: [],
checkedHobbyList: [],
isSubmit: true, // 防止多次提交
}
},
onLoad() {
this.getAreaData();
this.getIndustryList();
this.getHobbyList();
},
methods: {
getAreaData() {
this.$u.api.getArea().then((res)=>{
if (res.errCode == 0) {
this.areaList = res.data;
}
})
},
getIndustryList() {
this.$u.api.getIndustryList().then(res => {
res.data.forEach(element => {
this.industryList.push({
checked: false,
name: element,
});
});
})
},
getHobbyList() {
this.$u.api.getHobbyList().then(res => {
res.data.forEach(element => {
this.hobbyList.push({
checked: false,
name: element,
});
});
})
},
specialtyGroupChange(e) {
// console.log(e);
this.checkedIndustryList = e;
},
hobbyGroupChange(e) {
// console.log(e);
this.checkedHobbyList = e;
},
// 验证
validateData() {
if(this.$u.test.isEmpty(this.name)) {
this.$u.toast('姓名不能为空');
return false;
}
if(this.$u.test.isEmpty(this.phone)) {
this.$u.toast('手机号不能为空');
return false;
}
if(!this.$u.test.mobile(this.phone)) {
this.$u.toast('手机号错误');
return false;
}
if(this.$u.test.isEmpty(this.address)) {
this.$u.toast('地址不能为空');
return false;
}
if(this.$u.test.isEmpty(this.details)) {
this.$u.toast('详细地址不能为空');
return false;
}
if(!this.checkedIndustryList.length) {
this.$u.toast('行业领域不能为空');
return false;
}
if(!this.checkedHobbyList.length) {
this.$u.toast('兴趣爱好不能为空');
return false;
}
return true;
},
applyExpert() {
if(!this.isSubmit) return false;
if(!this.validateData()) return false;
this.isSubmit = false;
this.$u.api.applyExpert({
name: this.name,
mobile: this.phone,
address: this.address + this.details,
industry: this.checkedIndustryList,
hobby: this.checkedHobbyList,
}).then(res => {
if(res.errCode == 0) {
this.$refs.uToast.show({
title: res.message,
back: true,
})
} else {
this.isSubmit = true;
this.$u.toast(res.message);
}
})
},
setArea(area) {
// console.log(area);
this.area_id = area[0].value;
this.city_id = area[1].value;
let temp = '';
area.forEach(e => {
temp += e.label;
});
this.address = temp;
},
}
};
</script>
<style lang="scss" scoped>
.apply-live {
min-height: calc(100vh - var(--window-top));
background-color: #ECECEC;
padding-bottom: 60rpx;
.basic-info {
> view {
background-color: #FFFFFF;
padding: 34rpx 30rpx;
display: flex;
align-items: center;
margin-bottom: 2rpx;
> label {
width: 134rpx;
margin-right: 56rpx;
font-size: 30rpx;
color: #343434;
}
> input {
flex: 1;
font-size: 28rpx;
}
.arrow-icon {
margin-left: 20rpx;
}
}
}
.other-info {
margin-bottom: 80rpx;
.item-box {
background-color: #FFFFFF;
padding: 35rpx 30rpx;
margin-bottom: 1rpx;
.title {
font-size: 30rpx;
color: #343434;
margin-bottom: 30rpx;
.brief {
color: #9A9A9A;
}
}
.check-box-container {
/deep/ .u-checkbox {
margin-bottom: 24rpx;
.u-checkbox__icon-wrap {
border-color: #C0C0C0 !important;
}
.u-checkbox__icon-wrap--checked {
.u-icon__icon {
color: #FF780F !important;
}
}
}
}
}
}
.submit-btn {
width: 690rpx;
height: 98rpx;
background: #FF7810;
border-radius: 49rpx;
font-size: 36rpx;
color: #FFFFFF;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: center;
}
}
</style>

View File

@@ -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,7 +80,7 @@
<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="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>
@@ -460,6 +465,9 @@ export default {
> view:not(:last-child) {
margin-bottom: 30rpx;
}
.address {
line-height: 40rpx;
}
}
}
.btn {

View File

@@ -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
View 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>

View File

@@ -18,6 +18,7 @@
2. 新增Modal模态框组件<br>
3. 新增压窗屏组件可以在APP上以弹窗的形式遮盖导航栏和底部tabbar<br>
`,
isAutoUpdate: false,
}
},
onLoad(option) {
@@ -45,10 +46,16 @@
// #endif
},
closeModal() {
const pages = getCurrentPages();
// console.log(pages);
if(pages.length == 2) {
this.$u.route('/pageA/welcome/welcome');
} else {
uni.navigateBack();
}
}
}
}
</script>
<style lang="scss">

View File

@@ -49,7 +49,7 @@ export default {
},
updateVersion() {
this.$u.route('/pageE/setting/updateVersion', {
status: this.status
status: this.status,
});
}
}

View File

@@ -80,6 +80,17 @@
{
"root": "pageB",
"pages": [
{
"path": "tipsinfo/index",
"style": {
"navigationBarTitleText": "",
"app-plus":{
"titleNView":{
"backgroundColor":"#ffffff"
}
}
}
},
{
"path": "playVideo/index",
"style": {
@@ -125,7 +136,7 @@
"buttons": [
{
"type":"none",
"text":"\ue636",
"text":"\ue001",
"float":"right",
"fontSize":"18",
"fontSrc": "/static/fonts/cart.ttf"
@@ -156,7 +167,7 @@
"buttons": [
{
"type":"none",
"text":"\ue636",
"text":"\ue001",
"float":"right",
"fontSize":"18",
"fontSrc": "/static/fonts/cart.ttf"
@@ -367,9 +378,9 @@
// },
{
"type":"none",
"text":"\ue636",
"text":"\ue001",
"float":"right",
"fontSize":"22",
"fontSize":"18",
"fontSrc": "/static/fonts/cart.ttf",
"color": "#FFFFFF"
@@ -611,6 +622,19 @@
}
}
},
{
"path": "more/ApplyLive",
"style": {
"navigationBarTitleText": "达人申请",
"app-plus": {
"titleSize": "36px",
"titleNView": {
"titleColor": "#333333",
"backgroundColor": "#FFFFFF"
}
}
}
},
{
"path": "mine/ArticleDetails",
"style": {
@@ -988,6 +1012,19 @@
}
}
},
{
"path": "setting/binding",
"style": {
"navigationBarTitleText": "第三方绑定",
"app-plus": {
"titleSize": "36px",
"titleNView": {
"titleColor": "#333333",
"backgroundColor": "#FFFFFF"
}
}
}
},
{
"path": "setting/ShieldUsers",
"style": {

View File

@@ -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;
})
},

View File

@@ -100,11 +100,15 @@
<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 @click="toOtherPage('/more/ApplyLive')">
<image src="/static/image/mine/45.png"></image>
<view>达人申请</view>
</view>
<!-- <view></view> -->
</view>
</view>
</view>
@@ -163,7 +167,8 @@ export default {
link: '/order/Index?current=7',
number: '',
},
]
],
offset: [-10,6]
};
},
filters: {
@@ -446,7 +451,7 @@ export default {
width: 100rpx;
}
> view:not(:last-child) {
margin-right: 36rpx;
margin-right: 32rpx;
}
}
}
@@ -463,9 +468,12 @@ export default {
width: 100rpx;
}
> view:not(:last-child) {
margin-right: 36rpx;
margin-right: 32rpx;
}
}
.badge-box {
position: relative;
}
}
}
}

View File

@@ -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({

View File

@@ -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>
@@ -309,11 +309,13 @@
position: fixed;
left: 30rpx;
bottom: 118rpx;
width: 690rpx;
}
.danmuitem{
font-size: 26rpx;
color: #fff;
flex-direction: column-reverse;
word-wrap:anywhere;
}
</style>
@@ -344,6 +346,13 @@ export default {
});
return false;
},
onShow(){
if(this.url != '' && this.url){
let url = this.url
this.url = ""
this.url = url
}
},
onLoad(a) {
this.url = a.url;
@@ -428,6 +437,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 +450,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)
},
@@ -520,9 +543,9 @@ export default {
header:{
"Authorization" : 'Bearer' + " " + token
},
success(res){
console.log(res)
that.info = res.data.data;
success(a){
console.log(a)
that.info = a.data.data;
uni.showToast({
title: res.data.message,
icon: "none"
@@ -536,6 +559,23 @@ export default {
},
xuanzhong(i){
let that = this
const token = uni.getStorageSync('token');
if(this.$store.state.hasLogin){
uni.request({
url:"https://mall.dmygkeji.com/api/Specialci/viewingOPproducts",
data:{
good_id:that.list[i].goods_id,
exple_id:that.info.user_id
},
method:"POST",
header:{
"Authorization" : 'Bearer' + " " + token
},
success(a){
console.log(a)
}
})
}
uni.navigateTo({
url: `/pageB/sdetails/index?id=${that.list[i].goods_id}&type=1`
});

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1008 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
static/image/mine/41.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
static/image/mine/42.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
static/image/mine/43.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 665 B

BIN
static/image/mine/44.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
static/image/mine/45.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -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);

BIN
static/music.mp3 Normal file

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB