Compare commits
95 Commits
xbx-new
...
480de8da61
| Author | SHA1 | Date | |
|---|---|---|---|
| 480de8da61 | |||
| 027b07baeb | |||
| 6830d8cde7 | |||
| e19ae7ed82 | |||
| f190b82468 | |||
| d4a1439bf9 | |||
| b653379d53 | |||
| b38a2b8103 | |||
| e1a74972f2 | |||
| b875ddc434 | |||
| d0e58b876a | |||
| e35f3bad71 | |||
| a81a21ac38 | |||
| 23a75971f3 | |||
| 83eb365628 | |||
| 377f3b080a | |||
|
|
3d9069fa83 | ||
| ac1e99a54d | |||
| 41a80b2680 | |||
| 85fce676e5 | |||
|
e7a2a716b4
|
|||
| 7e9791ef18 | |||
|
314508e652
|
|||
| 1b387df66e | |||
| cfda1f7aae | |||
| 379100a097 | |||
|
|
adc18d80cf | ||
| 2da546f193 | |||
| bc9290e13c | |||
| c4f23cc5c4 | |||
| 4911a0c948 | |||
| 6302677c65 | |||
| 8ec27b1598 | |||
|
|
2446f851c7 | ||
| 4fa530d2d6 | |||
| 0f55428656 | |||
| db55c8d892 | |||
| 8259883119 | |||
| 20d20e12d1 | |||
|
e54282b839
|
|||
|
69c56b4772
|
|||
| edc1d0c160 | |||
|
bc4d6bb117
|
|||
|
5e140e4143
|
|||
| 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 | |||
|
3e87a5aaf5
|
|||
|
52e6489a2c
|
|||
|
92771d8174
|
|||
|
60a619fa7b
|
5
App.vue
@@ -28,7 +28,10 @@
|
|||||||
// #endif
|
// #endif
|
||||||
},
|
},
|
||||||
onShow(){
|
onShow(){
|
||||||
this.getVersion();
|
// this.getVersion();
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
|
||||||
},
|
},
|
||||||
onHide(){
|
onHide(){
|
||||||
|
|
||||||
|
|||||||
@@ -86,11 +86,12 @@ export default {
|
|||||||
return vm.$u.post('Goods/getGoodsClassRecommend');
|
return vm.$u.post('Goods/getGoodsClassRecommend');
|
||||||
},
|
},
|
||||||
// goodsListByClassId
|
// goodsListByClassId
|
||||||
goodsListByClassId({ gc_id, page, order }) {
|
goodsListByClassId({ gc_id, page, order, keyword }) {
|
||||||
return vm.$u.post('goods/goodsListByClassId', {
|
return vm.$u.post('goods/goodsListByClassId', {
|
||||||
gc_id: gc_id,
|
gc_id: gc_id,
|
||||||
page: page,
|
page: page,
|
||||||
order: order,
|
order: order,
|
||||||
|
keyword:keyword
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 商品推荐
|
// 商品推荐
|
||||||
@@ -138,7 +139,7 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 订单步骤2:发起订单,返回订单信息
|
// 订单步骤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, invoice_id }) {
|
||||||
return vm.$u.post('buy/buy_step2', {
|
return vm.$u.post('buy/buy_step2', {
|
||||||
ifcart: ifcart,
|
ifcart: ifcart,
|
||||||
cart_id: cart_id,
|
cart_id: cart_id,
|
||||||
@@ -147,6 +148,8 @@ export default {
|
|||||||
pintuan_id: pintuan_id,
|
pintuan_id: pintuan_id,
|
||||||
pintuangroup_id: pintuangroup_id,
|
pintuangroup_id: pintuangroup_id,
|
||||||
voucher_id: voucher_id, // 优惠券信息
|
voucher_id: voucher_id, // 优惠券信息
|
||||||
|
is_selfraising: is_selfraising, // 是否自提
|
||||||
|
invoice_id: invoice_id,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 订单步骤3:发起支付(第三方统一下单)
|
// 订单步骤3:发起支付(第三方统一下单)
|
||||||
@@ -364,6 +367,17 @@ export default {
|
|||||||
addrefundall({order_id,reason_info}) {
|
addrefundall({order_id,reason_info}) {
|
||||||
return vm.$u.post('order/add_refund_all',{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})
|
||||||
|
},
|
||||||
|
advClick({ adv_id }) {
|
||||||
|
return vm.$u.post('adv/advClick',{ adv_id })
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -375,10 +375,9 @@ export default {
|
|||||||
return vm.$u.post('member/getClothesTypeList');
|
return vm.$u.post('member/getClothesTypeList');
|
||||||
},
|
},
|
||||||
// 送洗评价
|
// 送洗评价
|
||||||
sendOrderComment({ id, comment }) {
|
sendOrderComment({ id, comment, comment_img }) {
|
||||||
return vm.$u.post('member/sendOrderComment', {
|
return vm.$u.post('member/sendOrderComment', {
|
||||||
id: id,
|
id, comment, comment_img
|
||||||
comment: comment,
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 送洗确认完成
|
// 送洗确认完成
|
||||||
@@ -454,8 +453,51 @@ export default {
|
|||||||
//获取默认头像
|
//获取默认头像
|
||||||
getDefaultAvatar(){
|
getDefaultAvatar(){
|
||||||
return vm.$u.post("member/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
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getInvoiceList() {
|
||||||
|
return vm.$u.post("Invoice/invoiceList")
|
||||||
|
},
|
||||||
|
getInvoiceInfo({ invoice_id }) {
|
||||||
|
return vm.$u.post("Invoice/invoiceInfo", { invoice_id })
|
||||||
|
},
|
||||||
|
invoiceAdd({ invoice_type, invoice_title, invoice_code, invoice_goto_addr, invoice_rec_mobphone, invoice_reg_bname, invoice_reg_baccount }) {
|
||||||
|
return vm.$u.post("Invoice/invoiceAdd", {
|
||||||
|
invoice_type, invoice_title, invoice_code, invoice_goto_addr, invoice_rec_mobphone, invoice_reg_bname, invoice_reg_baccount
|
||||||
|
})
|
||||||
|
},
|
||||||
|
invoiceEdit({ invoice_id, invoice_title, invoice_code, invoice_goto_addr, invoice_rec_mobphone, invoice_reg_bname, invoice_reg_baccount, invoice_type }) {
|
||||||
|
return vm.$u.post("Invoice/invoiceEdit", {
|
||||||
|
invoice_id, invoice_title, invoice_code, invoice_goto_addr, invoice_rec_mobphone, invoice_reg_bname, invoice_reg_baccount, invoice_type
|
||||||
|
})
|
||||||
|
},
|
||||||
|
invoiceDel({ invoice_id }) {
|
||||||
|
return vm.$u.post("Invoice/invoiceDel", { invoice_id })
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -21,6 +21,10 @@ const store = new Vuex.Store({
|
|||||||
showLoginModel: false, // 登录框
|
showLoginModel: false, // 登录框
|
||||||
question: {}, // 帮助与反馈
|
question: {}, // 帮助与反馈
|
||||||
showCoupons: true, // 是否显示新人领取优惠券
|
showCoupons: true, // 是否显示新人领取优惠券
|
||||||
|
invoiceInfo: { // 是否选择发票
|
||||||
|
invoice_type: '',
|
||||||
|
invoice_id: 0,
|
||||||
|
}
|
||||||
},
|
},
|
||||||
getters: {
|
getters: {
|
||||||
getOrderAddress(state) {
|
getOrderAddress(state) {
|
||||||
@@ -31,6 +35,13 @@ const store = new Vuex.Store({
|
|||||||
},
|
},
|
||||||
getGoodsInfo(state) {
|
getGoodsInfo(state) {
|
||||||
return state.goodsDetails.goods;
|
return state.goodsDetails.goods;
|
||||||
|
},
|
||||||
|
hasInvoice(state) {
|
||||||
|
const type = state.invoiceInfo.invoice_type;
|
||||||
|
return type ? type : 0;
|
||||||
|
},
|
||||||
|
getInvoiceId(state) {
|
||||||
|
return state.invoiceInfo.invoice_id || 0;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mutations: {
|
mutations: {
|
||||||
@@ -83,6 +94,9 @@ const store = new Vuex.Store({
|
|||||||
},
|
},
|
||||||
updateShowCoupons(state, status) {
|
updateShowCoupons(state, status) {
|
||||||
state.showCoupons = status;
|
state.showCoupons = status;
|
||||||
|
},
|
||||||
|
setInvoiceInfo(state, invoice = {}) {
|
||||||
|
state.invoiceInfo = invoice;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<view class="text">{{ content.geval_content }}</view>
|
<view class="text">{{ content.geval_content }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="image-container">
|
<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>
|
||||||
<view class="reply" v-if="reply && content.geval_explain">
|
<view class="reply" v-if="reply && content.geval_explain">
|
||||||
<view class="title">掌柜回复:</view>
|
<view class="title">掌柜回复:</view>
|
||||||
@@ -41,11 +41,12 @@ export default {
|
|||||||
if(this.content.hasOwnProperty('scores_two')) this.rate = this.content.scores_two;
|
if(this.content.hasOwnProperty('scores_two')) this.rate = this.content.scores_two;
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
previewImage(urls) {
|
previewImage(urls, index) {
|
||||||
console.log(urls);
|
// console.log(urls);
|
||||||
// uni.previewImage({
|
uni.previewImage({
|
||||||
// urls: urls,
|
urls: urls,
|
||||||
// });
|
current: urls[index]
|
||||||
|
});
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -54,23 +54,22 @@
|
|||||||
.title{
|
.title{
|
||||||
margin:0 auto;
|
margin:0 auto;
|
||||||
margin-top: 4rpx;
|
margin-top: 4rpx;
|
||||||
font-size: 28rpx;
|
font-size: 23rpx;
|
||||||
color: #333;
|
color: #333;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
line-height: 40rpx;
|
line-height: 36rpx;
|
||||||
width: 300rpx;
|
width: 300rpx;
|
||||||
overflow:hidden;
|
overflow:hidden;
|
||||||
text-overflow:ellipsis;
|
text-overflow:ellipsis;
|
||||||
display:-webkit-box;
|
display:-webkit-box;
|
||||||
-webkit-box-orient:vertical;
|
-webkit-box-orient:vertical;
|
||||||
-webkit-line-clamp:2;
|
-webkit-line-clamp:2;
|
||||||
height: 80rpx;
|
|
||||||
}
|
}
|
||||||
.jianjie{
|
.jianjie{
|
||||||
margin:0 auto;
|
margin:0 auto;
|
||||||
margin-top: 10rpx;
|
margin-top: 10rpx;
|
||||||
font-size: 22rpx;
|
font-size: 22rpx;
|
||||||
color: #666;
|
color: #656565;
|
||||||
line-height: 30rpx;
|
line-height: 30rpx;
|
||||||
width: 300rpx;
|
width: 300rpx;
|
||||||
margin-left: 18rpx;
|
margin-left: 18rpx;
|
||||||
|
|||||||
@@ -4,7 +4,9 @@
|
|||||||
<view class="time_notice">{{ item.addtime }}</view>
|
<view class="time_notice">{{ item.addtime }}</view>
|
||||||
<view class="notice_view">
|
<view class="notice_view">
|
||||||
<image :src="item.picture" mode="aspectFill" ></image>
|
<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">
|
<view class="notice_list">
|
||||||
<text>查看详情</text>
|
<text>查看详情</text>
|
||||||
<u-icon name="arrow-right" color="#666"></u-icon>
|
<u-icon name="arrow-right" color="#666"></u-icon>
|
||||||
@@ -28,21 +30,17 @@
|
|||||||
border-radius: 20rpx 20rpx 0px 0px;
|
border-radius: 20rpx 20rpx 0px 0px;
|
||||||
}
|
}
|
||||||
.text_view{
|
.text_view{
|
||||||
|
width: 690rpx;
|
||||||
|
height: 120rpx;
|
||||||
|
padding: 26rpx;
|
||||||
|
color: #333;
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
font-weight:400;
|
line-height: 38rpx;
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
.notice_view > view:nth-child(3){
|
.notice_view > view:nth-child(3){
|
||||||
height: 84rpx;
|
height: 80rpx;
|
||||||
line-height: 84rpx;
|
line-height: 80rpx;
|
||||||
border-top: 1px #F5F5F5 solid;
|
border-top: 1px #F5F5F5 solid;
|
||||||
margin-top: 30rpx;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.time_notice{
|
.time_notice{
|
||||||
@@ -53,22 +51,11 @@
|
|||||||
padding: 26rpx 0 39rpx 0;
|
padding: 26rpx 0 39rpx 0;
|
||||||
}
|
}
|
||||||
.notice_list{
|
.notice_list{
|
||||||
text-align: left;
|
display: flex;
|
||||||
display: inline-block;
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
position: relative;
|
|
||||||
padding: 0 25rpx;
|
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>
|
</style>
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="user-comment">
|
<view class="user-comment">
|
||||||
<view class="text u-line-2">{{ info.comment }}</view>
|
<view class="text u-line-2">{{ info.comment }}</view>
|
||||||
<view class="image">
|
<view class="image" v-if="info.comment_img">
|
||||||
<image v-for="(src, index) in info.images" :key="index" :src="src" mode="aspectFit"></image>
|
<image :src="info.comment_img" mode="aspectFit" @click="previewImage(info.comment_img)"></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -19,6 +19,14 @@ export default {
|
|||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
info: Object,
|
info: Object,
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
previewImage(urls) {
|
||||||
|
const imagesUrl = [urls];
|
||||||
|
uni.previewImage({
|
||||||
|
urls: imagesUrl,
|
||||||
|
});
|
||||||
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@@ -47,12 +55,12 @@ export default {
|
|||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
color: rgba(51,51,51,1);
|
color: rgba(51,51,51,1);
|
||||||
line-height: 40rpx;
|
line-height: 40rpx;
|
||||||
margin-bottom: 19rpx;
|
|
||||||
}
|
}
|
||||||
.image {
|
.image {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
> image {
|
> image {
|
||||||
|
margin-top: 20rpx;
|
||||||
width: 210rpx;
|
width: 210rpx;
|
||||||
height: 210rpx;
|
height: 210rpx;
|
||||||
border-radius: 10rpx;
|
border-radius: 10rpx;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="c-coupon" v-if="goodsClass.length">
|
<view class="c-coupon" v-if="goodsClass.length" @click="use">
|
||||||
<view :class="couponInfo.voucher_state != 1 ? 'coupon-unable' : 'coupon-usable'">
|
<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' }">
|
<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-if="couponInfo.type == 1">{{ couponInfo.vouchertemplate_id == 1 ? '新人专享' : '平台优惠券' }}</div>
|
||||||
<div class="wrap_left_top" v-else-if="couponInfo.type == 2">店铺优惠券</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-integral">兑换积分:{{ couponInfo.voucher_points }}积分</view>
|
||||||
<view class="info-date">有效期{{ couponInfo.voucher_startdate }}-{{ couponInfo.voucher_enddate }}</view>
|
<view class="info-date">有效期{{ couponInfo.voucher_startdate }}-{{ couponInfo.voucher_enddate }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="coupon-btn">
|
<view class="coupon-btn" :style="{'right': type ? '110rpx' : '' }">
|
||||||
<text v-if="couponInfo.voucher_state == 1" @click="use">立即使用</text>
|
<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 == 2" src="/static/image/mine/28.png"></image>
|
||||||
<image v-if="couponInfo.voucher_state == 3" src="/static/image/mine/29.png"></image>
|
<image v-if="couponInfo.voucher_state == 3" src="/static/image/mine/29.png"></image>
|
||||||
</view>
|
</view>
|
||||||
</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>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@@ -37,6 +38,8 @@ export default {
|
|||||||
status: Number,
|
status: Number,
|
||||||
couponInfo: Object,
|
couponInfo: Object,
|
||||||
goodsClass: Array,
|
goodsClass: Array,
|
||||||
|
type:Boolean,
|
||||||
|
sel:Boolean
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
// console.log(this.goodsClass);
|
// console.log(this.goodsClass);
|
||||||
@@ -53,6 +56,7 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
use() {
|
use() {
|
||||||
|
if(this.couponInfo.voucher_state != 1) return;
|
||||||
this.$emit('use', this.couponInfo);
|
this.$emit('use', this.couponInfo);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -63,6 +67,8 @@ export default {
|
|||||||
position: relative;
|
position: relative;
|
||||||
z-index: 9;
|
z-index: 9;
|
||||||
margin-bottom: 30rpx;
|
margin-bottom: 30rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
@mixin coupon-image($url) {
|
@mixin coupon-image($url) {
|
||||||
width: 690rpx;
|
width: 690rpx;
|
||||||
height: 194rpx;
|
height: 194rpx;
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
<view class="order-btn" v-if="[1, 2, 3, 4, 8, 11].indexOf(order.view_type) >= 0">
|
<view class="order-btn" v-if="[1, 2, 3, 4, 8, 11].indexOf(order.view_type) >= 0">
|
||||||
<!-- || order.view_type == 2 -->
|
<!-- || 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.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="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="comment" v-if="order.view_type == 4" @click="toOtherPage('Comment')">立即评价</view>
|
||||||
<view class="cancel" v-if="order.view_type == 1" @click="cancelOrder">取消支付</view>
|
<view class="cancel" v-if="order.view_type == 1" @click="cancelOrder">取消支付</view>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
<view class="swiper-item uni-bg-red">
|
<view class="swiper-item uni-bg-red">
|
||||||
<image :src=" 'https://' + item.launch_path"></image>
|
<image :src=" 'https://' + item.launch_path"></image>
|
||||||
</view>
|
</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-item>
|
||||||
</swiper>
|
</swiper>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@@ -110,7 +110,6 @@ export default {
|
|||||||
left: 0;
|
left: 0;
|
||||||
top: 0;
|
top: 0;
|
||||||
z-index: 8;
|
z-index: 8;
|
||||||
background-color: aqua;
|
|
||||||
}
|
}
|
||||||
&:last-child {
|
&:last-child {
|
||||||
left: 32rpx;
|
left: 32rpx;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"name" : "德铭阳光",
|
"name" : "德铭阳光",
|
||||||
"appid" : "__UNI__EBFF00A",
|
"appid" : "__UNI__EBFF00A",
|
||||||
"description" : "",
|
"description" : "",
|
||||||
"versionName" : "1.0.0",
|
"versionName" : "1.0.1",
|
||||||
"versionCode" : "100",
|
"versionCode" : "100",
|
||||||
"transformPx" : false,
|
"transformPx" : false,
|
||||||
/* 5+App特有相关 */
|
/* 5+App特有相关 */
|
||||||
@@ -16,6 +16,13 @@
|
|||||||
"autoclose" : true,
|
"autoclose" : true,
|
||||||
"delay" : 0
|
"delay" : 0
|
||||||
},
|
},
|
||||||
|
"safearea" : {
|
||||||
|
//安全区域配置,仅iOS平台生效
|
||||||
|
"bottom" : {
|
||||||
|
// 底部安全区域配置
|
||||||
|
"offset" : "none" // 底部安全区域偏移,"none"表示不空出安全区域,"auto"自动计算空出安全区域,默认值为"none"
|
||||||
|
}
|
||||||
|
},
|
||||||
/* 模块配置 */
|
/* 模块配置 */
|
||||||
"modules" : {
|
"modules" : {
|
||||||
"OAuth" : {},
|
"OAuth" : {},
|
||||||
|
|||||||
@@ -37,6 +37,10 @@
|
|||||||
<text>{{ goodsInfo.is_collect == 1 ? '已收藏' : '收藏' }}</text>
|
<text>{{ goodsInfo.is_collect == 1 ? '已收藏' : '收藏' }}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="shuliang">
|
||||||
|
<text>历史销售数量:{{goodsInfo.goods_salenum}}</text>
|
||||||
|
<text>库存仅剩数量:{{goodsInfo.goods_storage}}</text>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="hr"></view>
|
<view class="hr"></view>
|
||||||
<!-- <navs :value="领券"></navs> -->
|
<!-- <navs :value="领券"></navs> -->
|
||||||
@@ -45,7 +49,7 @@
|
|||||||
<!-- <navs :value="'选择尺码'"></navs> -->
|
<!-- <navs :value="'选择尺码'"></navs> -->
|
||||||
<view class="comment">
|
<view class="comment">
|
||||||
<view class="title">
|
<view class="title">
|
||||||
<view class="left">商品评价({{ evaluate.evaluate_num }})</view>
|
<view class="left">商品评价({{ evaluate.evaluate_num || '0' }})</view>
|
||||||
<view class="right" @click="viewComment">
|
<view class="right" @click="viewComment">
|
||||||
<text>查看全部</text>
|
<text>查看全部</text>
|
||||||
<image src="/static/image/common/1.png"></image>
|
<image src="/static/image/common/1.png"></image>
|
||||||
@@ -776,6 +780,14 @@ export default {
|
|||||||
.goods-name {
|
.goods-name {
|
||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.shuliang{
|
||||||
|
padding-top: 33rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color:#656565;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
.price-collect {
|
.price-collect {
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -1252,6 +1264,7 @@ export default {
|
|||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
color: #ff3131;
|
color: #ff3131;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.num {
|
.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>
|
||||||
@@ -500,7 +500,6 @@
|
|||||||
|
|
||||||
.container {
|
.container {
|
||||||
position: relative;
|
position: relative;
|
||||||
background-color: #FF0000 !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 关闭 */
|
/* 关闭 */
|
||||||
|
|||||||
@@ -48,6 +48,10 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</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>
|
</view>
|
||||||
<view class="common-active">
|
<view class="common-active">
|
||||||
@@ -65,18 +69,26 @@
|
|||||||
<image src="../static/image/1.png"></image>
|
<image src="../static/image/1.png"></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view>
|
||||||
|
<view class="title">开具发票</view>
|
||||||
|
<view class="value" @click="selectInvoice">
|
||||||
|
<view class="invoice" v-if="!hasInvoice">本次不开具发票</view>
|
||||||
|
<view class="invoice" v-else>{{ hasInvoice == 1 ? '个人或事业单位发票' : '企业发票' }}</view>
|
||||||
|
<image src="../static/image/1.png"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<u-popup v-model="couponStatus" mode="bottom">
|
<u-popup v-model="couponStatus" mode="bottom">
|
||||||
<scroll-view class="coupon-choose" scroll-y style="height: 50vh;" 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="title">优惠券详情</view>
|
||||||
<view class="text">平台优惠券</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>
|
<u-empty text="无可用优惠券" mode="coupon" v-if="!orderInfo.store_voucher_all_list.length" style="height: 200rpx"></u-empty>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
<scroll-view class="coupon-choose" scroll-y style="height: 50vh;" 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="title">优惠券详情</view>
|
||||||
<view class="text">店铺优惠券</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>
|
<u-empty text="无可用优惠券" mode="coupon" v-if="!orderInfo.store_voucher_list[this.couponType.store_id].length" style="height: 200rpx"></u-empty>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</u-popup>
|
</u-popup>
|
||||||
@@ -107,9 +119,15 @@ export default {
|
|||||||
deliveryList: [{
|
deliveryList: [{
|
||||||
text: '快递',
|
text: '快递',
|
||||||
value: 'express',
|
value: 'express',
|
||||||
|
disabled: false,
|
||||||
}, {
|
}, {
|
||||||
text: '骑手',
|
text: '骑手',
|
||||||
value: 'takeawayer',
|
value: 'takeawayer',
|
||||||
|
disabled: false,
|
||||||
|
}, {
|
||||||
|
text: '自提',
|
||||||
|
value: 'selfraising',
|
||||||
|
disabled: false,
|
||||||
}],
|
}],
|
||||||
delivery: {
|
delivery: {
|
||||||
text: '快递',
|
text: '快递',
|
||||||
@@ -123,6 +141,8 @@ export default {
|
|||||||
goodsClass: [],
|
goodsClass: [],
|
||||||
orderType: '', // 订单类型 1 普通订单 2 拼团订单 3 秒杀订单 4 优惠券 5 购物车订单
|
orderType: '', // 订单类型 1 普通订单 2 拼团订单 3 秒杀订单 4 优惠券 5 购物车订单
|
||||||
debounce: true,
|
debounce: true,
|
||||||
|
is_selfraising: 0, // 是否自提:0=》否,1=》是
|
||||||
|
hasInvoice: 0,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
@@ -148,6 +168,8 @@ export default {
|
|||||||
onLoad(option) {
|
onLoad(option) {
|
||||||
this.orderType = this.$store.state.orderType;
|
this.orderType = this.$store.state.orderType;
|
||||||
this.orderInfo = this.$store.state.orderInfo;
|
this.orderInfo = this.$store.state.orderInfo;
|
||||||
|
// 判断是否可选自提
|
||||||
|
if(!this.orderInfo.is_selfraising) this.deliveryList[2].disabled = true;
|
||||||
// console.log('orderType' + this.orderType);
|
// console.log('orderType' + this.orderType);
|
||||||
// console.log(this.orderInfo);
|
// console.log(this.orderInfo);
|
||||||
this.getGoodsClass();
|
this.getGoodsClass();
|
||||||
@@ -163,9 +185,12 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
if(this.$store.getters.getOrderAddress) this.addressInfo = this.$store.state.orderAddress;
|
if(this.$store.getters.getOrderAddress) this.addressInfo = this.$store.state.orderAddress;
|
||||||
}
|
}
|
||||||
|
this.hasInvoice = this.$store.getters.hasInvoice;
|
||||||
|
console.log(this.hasInvoice);
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
this.$store.commit('updateAddress', {});
|
this.$store.commit('updateAddress', {});
|
||||||
|
this.$store.commit('setInvoiceInfo', {});
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
'$store.state.orderAddress'(value) {
|
'$store.state.orderAddress'(value) {
|
||||||
@@ -182,8 +207,10 @@ export default {
|
|||||||
// console.log(this.orderInfo);
|
// console.log(this.orderInfo);
|
||||||
// console.log(this.$store.state.pintuangroup_headid);
|
// console.log(this.$store.state.pintuangroup_headid);
|
||||||
if(this.orderInfo.pintuangroup_id) {
|
if(this.orderInfo.pintuangroup_id) {
|
||||||
Object.assign(params, { pintuangroup_headid: this.$store.state.pintuangroup_headid });
|
Object.assign(params, {
|
||||||
Object.assign(params, { pintuangroup_id: this.orderInfo.pintuangroup_id });
|
pintuangroup_headid: this.$store.state.pintuangroup_headid,
|
||||||
|
pintuangroup_id: this.orderInfo.pintuangroup_id
|
||||||
|
});
|
||||||
}
|
}
|
||||||
console.log(params);
|
console.log(params);
|
||||||
this.$u.api.withImmediate(params).then(res => {
|
this.$u.api.withImmediate(params).then(res => {
|
||||||
@@ -249,6 +276,8 @@ export default {
|
|||||||
cart_id: id,
|
cart_id: id,
|
||||||
address_id: this.addressInfo.address_id,
|
address_id: this.addressInfo.address_id,
|
||||||
buy_city_id: this.addressInfo.city_id,
|
buy_city_id: this.addressInfo.city_id,
|
||||||
|
is_selfraising: this.is_selfraising,
|
||||||
|
invoice_id: this.$store.getters.getInvoiceId, // 发票抬头ID,不开票传0
|
||||||
}
|
}
|
||||||
if(coupon.length) Object.assign(params, { voucher_id: coupon });
|
if(coupon.length) Object.assign(params, { voucher_id: coupon });
|
||||||
if(this.orderType == 2) {
|
if(this.orderType == 2) {
|
||||||
@@ -262,7 +291,7 @@ export default {
|
|||||||
type: 'redirect',
|
type: 'redirect',
|
||||||
url: '/pageC/cart/cashier',
|
url: '/pageC/cart/cashier',
|
||||||
params: {
|
params: {
|
||||||
ifcart: params.ifcart,
|
ifcart: ifcart,
|
||||||
pay_sn: res.data.pay_sn,
|
pay_sn: res.data.pay_sn,
|
||||||
price: res.data.order_total_amount,
|
price: res.data.order_total_amount,
|
||||||
order_id: res.data.order_list[0].order_id,
|
order_id: res.data.order_list[0].order_id,
|
||||||
@@ -282,15 +311,37 @@ export default {
|
|||||||
this.couponStatus = true;
|
this.couponStatus = true;
|
||||||
},
|
},
|
||||||
useCoupon(coupon) {
|
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) {
|
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, {
|
Object.assign(this.storeCoupon, {
|
||||||
[this.couponType.store_id]: coupon
|
[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.choiceCoupon);
|
||||||
// console.log(this.storeCoupon);
|
// console.log(this.storeCoupon);
|
||||||
this.couponStatus = false;
|
// this.couponStatus = false;
|
||||||
this.setTotalPrice(); // 计算总价
|
this.setTotalPrice(); // 计算总价
|
||||||
},
|
},
|
||||||
getFreight() {
|
getFreight() {
|
||||||
@@ -351,13 +402,32 @@ export default {
|
|||||||
// console.log("price:" + price);
|
// console.log("price:" + price);
|
||||||
this.totalPrice = (price + freight).toFixed(2);
|
this.totalPrice = (price + freight).toFixed(2);
|
||||||
},
|
},
|
||||||
setDelivery(index) {
|
async setDelivery(index) {
|
||||||
|
// console.log(index);
|
||||||
if(index == 1) {
|
if(index == 1) {
|
||||||
if(!this.isTakeawayer) this.$u.toast('此地区不支持骑手配送');
|
if(!this.isTakeawayer) {
|
||||||
|
this.$u.toast('此地区不支持骑手配送');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
this.delivery = this.deliveryList[index];
|
this.delivery = this.deliveryList[index];
|
||||||
this.getFreight();
|
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() {
|
settlement() {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
@@ -373,7 +443,10 @@ export default {
|
|||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pageE/more/Address?type=choose'
|
url: '/pageE/more/Address?type=choose'
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
|
selectInvoice() {
|
||||||
|
this.$u.route('/pageC/cart/selectInvoice');
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@@ -382,6 +455,7 @@ export default {
|
|||||||
min-height: calc(100vh - var(--window-top));
|
min-height: calc(100vh - var(--window-top));
|
||||||
background-color: #ECECEC;
|
background-color: #ECECEC;
|
||||||
padding-top: 1rpx;
|
padding-top: 1rpx;
|
||||||
|
padding-bottom: 200rpx;
|
||||||
.info-address {
|
.info-address {
|
||||||
padding: 30rpx;
|
padding: 30rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -444,7 +518,7 @@ export default {
|
|||||||
height: 60rpx;
|
height: 60rpx;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
margin-right: 15rpx;
|
margin-right: 15rpx;
|
||||||
background-color: aquamarine;
|
// background-color: aquamarine;
|
||||||
}
|
}
|
||||||
> view {
|
> view {
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
@@ -452,6 +526,7 @@ export default {
|
|||||||
margin-right: 15rpx;
|
margin-right: 15rpx;
|
||||||
}
|
}
|
||||||
.right {
|
.right {
|
||||||
|
margin-left: auto;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
width: 11rpx;
|
width: 11rpx;
|
||||||
height: 22rpx;
|
height: 22rpx;
|
||||||
@@ -469,7 +544,7 @@ export default {
|
|||||||
width: 180rpx;
|
width: 180rpx;
|
||||||
height: 160rpx;
|
height: 160rpx;
|
||||||
border-radius: 10rpx;
|
border-radius: 10rpx;
|
||||||
background-color: aqua;
|
// background-color: aqua;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
.info {
|
.info {
|
||||||
@@ -538,10 +613,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 {
|
.common-active {
|
||||||
padding-bottom: 200rpx;
|
padding-bottom: 30rpx;
|
||||||
> view {
|
> view {
|
||||||
height: 98rpx;
|
height: 98rpx;
|
||||||
background: rgba(255,255,255,1);
|
background: rgba(255,255,255,1);
|
||||||
@@ -559,6 +648,9 @@ export default {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
color:rgba(51,51,51,1);
|
color:rgba(51,51,51,1);
|
||||||
|
.invoice {
|
||||||
|
font-size: 26rpx;
|
||||||
|
}
|
||||||
> image {
|
> image {
|
||||||
width: 12rpx;
|
width: 12rpx;
|
||||||
height: 22rpx;
|
height: 22rpx;
|
||||||
|
|||||||
186
pageC/cart/selectInvoice.vue
Normal file
@@ -0,0 +1,186 @@
|
|||||||
|
<template>
|
||||||
|
<view class="select-invoice">
|
||||||
|
<view class="invoice-type">
|
||||||
|
<view class="title">发票类型</view>
|
||||||
|
<u-radio-group v-model="type" @change="radioGroupChange" icon-size="0" active-color="#FF780F" size="16">
|
||||||
|
<u-radio
|
||||||
|
v-for="(item, index) in list" :key="index"
|
||||||
|
:name="item.type"
|
||||||
|
>
|
||||||
|
{{item.name}}
|
||||||
|
</u-radio>
|
||||||
|
</u-radio-group>
|
||||||
|
</view>
|
||||||
|
<view class="invoice-list" v-if="currentList.length">
|
||||||
|
<u-radio-group v-model="invoice" @change="selectInvoice" active-color="#FF780F" icon-size="22" size="30" :wrap="true">
|
||||||
|
<u-radio
|
||||||
|
v-for="(item, index) in currentList" :key="index"
|
||||||
|
:name="item.invoice_id"
|
||||||
|
>
|
||||||
|
{{ item.invoice_title }}
|
||||||
|
</u-radio>
|
||||||
|
</u-radio-group>
|
||||||
|
</view>
|
||||||
|
<view class="invoice-none" v-if="!currentList.length">您当前还未添加抬头发票,<text @click="addInvoice">点击立即添加</text></view>
|
||||||
|
<view class="btn-group">
|
||||||
|
<view class="submit" @click="submit">提交申请</view>
|
||||||
|
<view class="cancel" @click="cancel">不开发票</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
type: 1,
|
||||||
|
list: [{
|
||||||
|
type: 1,
|
||||||
|
name: '个人或事业单位'
|
||||||
|
}, {
|
||||||
|
type: 2,
|
||||||
|
name: '企业'
|
||||||
|
}],
|
||||||
|
invoice: '',
|
||||||
|
invoiceList: [],
|
||||||
|
currentList: [],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onShow() {
|
||||||
|
this.type = 1;
|
||||||
|
this.getInvoiceList();
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
type(value) {
|
||||||
|
let invoiceList = this.invoiceList.filter(item => item.invoice_type == value);
|
||||||
|
this.currentList = invoiceList;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getInvoiceList() {
|
||||||
|
this.$u.api.getInvoiceList().then(res => {
|
||||||
|
this.invoiceList = res.data;
|
||||||
|
this.currentList = this.invoiceList.filter(item => item.invoice_type == this.type);
|
||||||
|
// console.log(this.invoiceList);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
radioGroupChange(e) {
|
||||||
|
this.type = e;
|
||||||
|
},
|
||||||
|
selectInvoice(e) {
|
||||||
|
this.invoice = e;
|
||||||
|
},
|
||||||
|
submit() {
|
||||||
|
console.log(this.invoice);
|
||||||
|
if(!this.invoice) {
|
||||||
|
this.$u.toast('请选择发票');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
this.$store.commit('setInvoiceInfo', {
|
||||||
|
invoice_type: this.type,
|
||||||
|
invoice_id: this.invoice
|
||||||
|
});
|
||||||
|
this.$u.route({ type: 'back' });
|
||||||
|
},
|
||||||
|
cancel() {
|
||||||
|
this.$store.commit('setInvoiceInfo', {
|
||||||
|
invoice_type: 0
|
||||||
|
});
|
||||||
|
this.$u.route({ type: 'back' });
|
||||||
|
},
|
||||||
|
addInvoice() {
|
||||||
|
this.$u.route('/pageE/more/EditInvoice', { action: 1 });
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.select-invoice {
|
||||||
|
min-height: calc(100vh - var(--window-top));
|
||||||
|
background: #ECECEC;
|
||||||
|
padding-top: 1rpx;
|
||||||
|
.invoice-type {
|
||||||
|
height: 98rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
margin-bottom: 2rpx;
|
||||||
|
padding: 35rpx 30rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
.title {
|
||||||
|
font-size: 30rpx;
|
||||||
|
color: #333333;
|
||||||
|
width: 120rpx;
|
||||||
|
margin-right: 50rpx;
|
||||||
|
}
|
||||||
|
.u-radio-group {
|
||||||
|
flex: 1;
|
||||||
|
/deep/ .u-radio {
|
||||||
|
.u-radio__icon-wrap {
|
||||||
|
margin: 0 20rpx;
|
||||||
|
position: relative;
|
||||||
|
background-color: #DBDBDB;
|
||||||
|
&::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
width: 29rpx;
|
||||||
|
height: 29rpx;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
border: 1rpx solid #DBDBDB;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.u-radio__icon-wrap--checked {
|
||||||
|
background-color: #FF780F;
|
||||||
|
&::before {
|
||||||
|
border-color: #FF780F;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.invoice-list {
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
/deep/ .u-radio-group {
|
||||||
|
.u-radio {
|
||||||
|
padding: 30rpx;
|
||||||
|
height: 80rpx;
|
||||||
|
line-height: 1 !important;
|
||||||
|
.u-radio__icon-wrap {
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.invoice-none {
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 70rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #333333;
|
||||||
|
> text {
|
||||||
|
color: #FF780F;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btn-group {
|
||||||
|
margin-top: 250rpx;
|
||||||
|
> view {
|
||||||
|
width: 690rpx;
|
||||||
|
height: 98rpx;
|
||||||
|
border-radius: 49rpx;
|
||||||
|
font-size: 36rpx;
|
||||||
|
margin: 0 auto;
|
||||||
|
line-height: 98rpx;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.submit {
|
||||||
|
background: #FF780F;
|
||||||
|
color: #FFFFFF;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
.cancel {
|
||||||
|
background: #FFFFFF;
|
||||||
|
color: #FF780F;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="classify-goods">
|
<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="tab-container">
|
||||||
<view class="salenum" :class="{ 'current' : current == 0 }" @click="switchCurrent(0)">销量</view>
|
<view class="salenum" :class="{ 'current' : current == 0 }" @click="switchCurrent(0)">销量</view>
|
||||||
<view class="price" :class="{ 'current' : current == 1 }" @click="switchCurrent(1)">
|
<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="briefing u-line-1">{{ goods.goods_advword }}</view>
|
||||||
<!-- <view class="price">¥{{ goods.goods_price }}</view> -->
|
<!-- <view class="price">¥{{ goods.goods_price }}</view> -->
|
||||||
<view class="price">
|
<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="present">¥{{ goods.goods_price }}</view>
|
||||||
<view class="origin">¥{{ goods.goods_marketprice }}</view>
|
<view class="origin">¥{{ goods.goods_marketprice }}</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -42,6 +44,8 @@ export default {
|
|||||||
scrollHeight: '',
|
scrollHeight: '',
|
||||||
loadStatus: 'loadmore',
|
loadStatus: 'loadmore',
|
||||||
timer: true, // 防止上拉加载短时间内多次调用
|
timer: true, // 防止上拉加载短时间内多次调用
|
||||||
|
keyword:"",
|
||||||
|
sel:""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@@ -80,6 +84,7 @@ export default {
|
|||||||
gc_id: this.cid,
|
gc_id: this.cid,
|
||||||
page: this.page,
|
page: this.page,
|
||||||
order: sort,
|
order: sort,
|
||||||
|
keyword:this.sel
|
||||||
})
|
})
|
||||||
this.timer = true;
|
this.timer = true;
|
||||||
if(res.errCode == 0) {
|
if(res.errCode == 0) {
|
||||||
@@ -123,6 +128,11 @@ export default {
|
|||||||
id: id,
|
id: id,
|
||||||
type: 1 // 商品详情 商品类型 1普通 2拼团 3秒杀 4优惠券
|
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 {
|
.price {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
.type-tag {
|
||||||
|
padding: 4rpx 10rpx;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 22rpx;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
background-color: #FF7810;
|
||||||
|
}
|
||||||
.present {
|
.present {
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
color: rgba(255,49,49,1);
|
color: rgba(255,49,49,1);
|
||||||
|
|||||||
@@ -59,7 +59,6 @@ export default {
|
|||||||
height: 140rpx;
|
height: 140rpx;
|
||||||
border-radius: 70rpx;
|
border-radius: 70rpx;
|
||||||
margin-bottom: 29rpx;
|
margin-bottom: 29rpx;
|
||||||
background-color: aqua;
|
|
||||||
}
|
}
|
||||||
.name {
|
.name {
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
@@ -124,7 +123,6 @@ export default {
|
|||||||
width: 239rpx;
|
width: 239rpx;
|
||||||
height: 170rpx;
|
height: 170rpx;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
background-color: aqua;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -118,6 +118,17 @@ export default {
|
|||||||
id:this.sid
|
id:this.sid
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
onLoad(option){
|
||||||
|
this.sid = option.id;
|
||||||
|
// console.log(this.sid);
|
||||||
|
this.getStoreInfo();
|
||||||
|
this.getArticlelist();
|
||||||
|
this.setViewHeight();
|
||||||
|
// this.getStoreImgVideoList();
|
||||||
|
},
|
||||||
|
onShow() {
|
||||||
|
this.cur = 0;
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
customers(){
|
customers(){
|
||||||
console.log(this.$store.state.hasLogin)
|
console.log(this.$store.state.hasLogin)
|
||||||
@@ -225,17 +236,16 @@ export default {
|
|||||||
// console.log(this.paddingTop);
|
// console.log(this.paddingTop);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(option){
|
|
||||||
this.sid = option.id;
|
|
||||||
// console.log(this.sid);
|
|
||||||
this.getStoreInfo();
|
|
||||||
this.getArticlelist();
|
|
||||||
this.setViewHeight();
|
|
||||||
// this.getStoreImgVideoList();
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
/*坑:解决iphoneX等大屏手机底部小黑条挡住tab的解决方法:安全区域距离底部边界距离env() 跟 constant() 需要同时存在,而且顺序不能换。*/
|
||||||
|
/* #ifdef H5 */
|
||||||
|
body {
|
||||||
|
padding-bottom: constant(safe-area-inset-bottom);/* 兼容 iOS < 11.2 */
|
||||||
|
padding-bottom: env(safe-area-inset-bottom); /* 兼容 iOS >= 11.2 */
|
||||||
|
}
|
||||||
|
/* #endif */
|
||||||
.merchant {
|
.merchant {
|
||||||
// min-height: 100vh;
|
// min-height: 100vh;
|
||||||
background-color: #ECECEC;
|
background-color: #ECECEC;
|
||||||
|
|||||||
@@ -4,9 +4,13 @@
|
|||||||
<view class="activity" v-for="(item, index) in actives" :key="index">
|
<view class="activity" v-for="(item, index) in actives" :key="index">
|
||||||
<view class="times">{{item.kd_time}}</view>
|
<view class="times">{{item.kd_time}}</view>
|
||||||
<view class="content">
|
<view class="content">
|
||||||
<view class="store_name">
|
<view class="store-name">
|
||||||
<image :src="item.store_avatar"></image>
|
<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>
|
||||||
<view class="xiantiao"></view>
|
<view class="xiantiao"></view>
|
||||||
<view class="title">{{item.title}}</view>
|
<view class="title">{{item.title}}</view>
|
||||||
@@ -77,10 +81,13 @@
|
|||||||
this.$u.route(url, {
|
this.$u.route(url, {
|
||||||
oid: item.order_id,
|
oid: item.order_id,
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
makePhone(phone) {
|
||||||
|
uni.makePhoneCall({
|
||||||
|
phoneNumber: phone
|
||||||
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components:{
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -147,25 +154,31 @@ page{
|
|||||||
margin-bottom: 20rpx;
|
margin-bottom: 20rpx;
|
||||||
}
|
}
|
||||||
// 店铺
|
// 店铺
|
||||||
.store_name{
|
.store-name{
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
zoom: 1;
|
zoom: 1;
|
||||||
padding: 0rpx 0 20rpx 0;
|
padding: 0rpx 0 20rpx 0;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
image{
|
image{
|
||||||
width: 60rpx;
|
width: 60rpx;
|
||||||
height: 60rpx;
|
height: 60rpx;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
view{
|
.name {
|
||||||
font-size:26rpx;
|
font-size:26rpx;
|
||||||
color:rgba(51,51,51,1);
|
color:rgba(51,51,51,1);
|
||||||
float: left;
|
|
||||||
display: table-cell;
|
|
||||||
line-height: 60rpx;
|
line-height: 60rpx;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-left: 21rpx;
|
margin-left: 21rpx;
|
||||||
}
|
}
|
||||||
|
.takeawayer {
|
||||||
|
margin-left: auto;
|
||||||
|
> text {
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss">
|
||||||
page {
|
page {
|
||||||
background-color: #ECECEC;
|
background-color: #ECECEC;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -128,6 +128,8 @@
|
|||||||
this.friend = JSON.parse(options.id);
|
this.friend = JSON.parse(options.id);
|
||||||
this.currentUser = this.imService.currentUser;
|
this.currentUser = this.imService.currentUser;
|
||||||
let privateMessages = this.imService.getPrivateMessages(this.friend.uuid);
|
let privateMessages = this.imService.getPrivateMessages(this.friend.uuid);
|
||||||
|
this.imService.uid = this.friend.uuid;
|
||||||
|
|
||||||
this.messages = privateMessages.sentMessages;
|
this.messages = privateMessages.sentMessages;
|
||||||
this.pendingMessages = privateMessages.pendingMessages;
|
this.pendingMessages = privateMessages.pendingMessages;
|
||||||
|
|
||||||
@@ -153,6 +155,7 @@
|
|||||||
this.imService.onPrivateHistoryLoad = (friendId, messages) =>{};
|
this.imService.onPrivateHistoryLoad = (friendId, messages) =>{};
|
||||||
//将未读消息数清零
|
//将未读消息数清零
|
||||||
this.imService.resetFriendUnReadMessage(this.friend);
|
this.imService.resetFriendUnReadMessage(this.friend);
|
||||||
|
this.imService.uid = 0;
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
bindtapInput(){
|
bindtapInput(){
|
||||||
|
|||||||
@@ -124,6 +124,7 @@ export default {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
margin-bottom: 52rpx;
|
margin-bottom: 52rpx;
|
||||||
|
// font-weight: bold;
|
||||||
> image {
|
> image {
|
||||||
width: 22rpx;
|
width: 22rpx;
|
||||||
height: 22rpx;
|
height: 22rpx;
|
||||||
|
|||||||
@@ -9,11 +9,11 @@
|
|||||||
<view class="integral-top">
|
<view class="integral-top">
|
||||||
<view>
|
<view>
|
||||||
<view class="title">总积分</view>
|
<view class="title">总积分</view>
|
||||||
<view class="value">{{ memberInfo.member_points }}</view>
|
<view class="value">{{ memberInfo.member_points || 0 }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<view class="title">经验值</view>
|
<view class="title">经验值</view>
|
||||||
<view class="value">{{ memberInfo.member_exppoints }}</view>
|
<view class="value">{{ memberInfo.member_exppoints || 0 }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view @click="viewProgress">
|
<view @click="viewProgress">
|
||||||
<view class="title">预计进度</view>
|
<view class="title">预计进度</view>
|
||||||
@@ -24,7 +24,14 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<scroll-view scroll-y class="integral-botom" :style="{ height: richHeight }">
|
<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>
|
<rich-text :nodes="nodes"></rich-text>
|
||||||
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
</swiper-item>
|
</swiper-item>
|
||||||
@@ -69,7 +76,10 @@ export default {
|
|||||||
swiperCurrent: 0,
|
swiperCurrent: 0,
|
||||||
pointslogList: [],
|
pointslogList: [],
|
||||||
memberInfo: {},
|
memberInfo: {},
|
||||||
|
pointsNodes: '',
|
||||||
nodes: '',
|
nodes: '',
|
||||||
|
points_rule: {},
|
||||||
|
member_rule: {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
@@ -103,7 +113,10 @@ export default {
|
|||||||
this.$u.api.getMemberPointsStat().then((res)=>{
|
this.$u.api.getMemberPointsStat().then((res)=>{
|
||||||
if(res.errCode == 0) {
|
if(res.errCode == 0) {
|
||||||
this.memberInfo = res.data;
|
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;
|
border-radius: 20rpx 20rpx 0rpx 0rpx;
|
||||||
top: 250rpx;
|
top: 250rpx;
|
||||||
z-index: 9;
|
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 {
|
.coupon {
|
||||||
|
|||||||
254
pageE/more/ApplyLive.vue
Normal 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" ref='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.$refs.phone.valueSync)) {
|
||||||
|
this.$u.toast('手机号不能为空');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(!this.$u.test.mobile(this.$refs.phone.valueSync)) {
|
||||||
|
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.$refs.phone.valueSync,
|
||||||
|
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: 150rpx;
|
||||||
|
margin-right: 40rpx;
|
||||||
|
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>
|
||||||
310
pageE/more/EditInvoice.vue
Normal file
@@ -0,0 +1,310 @@
|
|||||||
|
<template>
|
||||||
|
<view class="edit-invoice">
|
||||||
|
<view class="invoice-type">
|
||||||
|
<view class="title">发票类型</view>
|
||||||
|
<u-radio-group v-model="type" @change="radioGroupChange" icon-size="0" active-color="#FF780F" size="16">
|
||||||
|
<u-radio
|
||||||
|
v-for="(item, index) in list" :key="index"
|
||||||
|
:name="item.type"
|
||||||
|
:disabled="action==0"
|
||||||
|
>
|
||||||
|
{{item.name}}
|
||||||
|
</u-radio>
|
||||||
|
</u-radio-group>
|
||||||
|
</view>
|
||||||
|
<view class="info-item">
|
||||||
|
<view class="title">发票抬头</view>
|
||||||
|
<input type="text" placeholder="抬头名称或极速开票6位代码" v-model="title" />
|
||||||
|
</view>
|
||||||
|
<view class="personal" v-show="type==1">
|
||||||
|
<view class="info-item">
|
||||||
|
<view class="title">手机号</view>
|
||||||
|
<input type="number" placeholder="请输入您的手机号" maxlength="11" v-model="personalPhone" />
|
||||||
|
</view>
|
||||||
|
<view class="info-item">
|
||||||
|
<view class="title">身份证号</view>
|
||||||
|
<input type="text" placeholder="请输入您的身份证号" v-model="idCard" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="company" v-show="type==2">
|
||||||
|
<view class="info-item">
|
||||||
|
<view class="title">税号</view>
|
||||||
|
<input type="text" placeholder="纳税人识别号或社会统一征信代码" v-model="taxNumber" />
|
||||||
|
</view>
|
||||||
|
<view class="info-item">
|
||||||
|
<view class="title">单位地址</view>
|
||||||
|
<input type="text" placeholder="请输入公司地址" v-model="address" />
|
||||||
|
</view>
|
||||||
|
<view class="info-item">
|
||||||
|
<view class="title">电话号码</view>
|
||||||
|
<input type="number" placeholder="请输入公司电话" maxlength="11" v-model="companyPhone" />
|
||||||
|
</view>
|
||||||
|
<view class="info-item">
|
||||||
|
<view class="title">开户银行</view>
|
||||||
|
<input type="text" placeholder="请输入开户银行" v-model="bankDeposit" />
|
||||||
|
</view>
|
||||||
|
<view class="info-item">
|
||||||
|
<view class="title">银行账户</view>
|
||||||
|
<input type="text" placeholder="请输入银行账户" v-model="bankAccounts" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="save-btn" @click="submit">保存</view>
|
||||||
|
<u-toast ref="uToast" />
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
invoice_id: '',
|
||||||
|
action: '', // 0 编辑 1 添加
|
||||||
|
type: '', // 发票类型
|
||||||
|
list: [{
|
||||||
|
type: 1,
|
||||||
|
name: '个人或事业单位'
|
||||||
|
}, {
|
||||||
|
type: 2,
|
||||||
|
name: '企业'
|
||||||
|
}],
|
||||||
|
title: '',
|
||||||
|
personalPhone: '',
|
||||||
|
idCard: '',
|
||||||
|
taxNumber: '',
|
||||||
|
address: '',
|
||||||
|
companyPhone: '',
|
||||||
|
bankDeposit: '',
|
||||||
|
bankAccounts: '',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad(option) {
|
||||||
|
this.action = option.action;
|
||||||
|
if(option.invoice_id) {
|
||||||
|
this.type = 0;
|
||||||
|
this.invoice_id = option.invoice_id;
|
||||||
|
this.getInvoiceInfo();
|
||||||
|
} else {
|
||||||
|
this.type = 1;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
submit() {
|
||||||
|
this.action == 1 ? this.invoiceAdd() : this.invoiceEdit();
|
||||||
|
},
|
||||||
|
verificationParams() {
|
||||||
|
if(this.type == 1) {
|
||||||
|
if(this.$u.test.isEmpty(this.title)) {
|
||||||
|
this.$u.toast('发票抬头不可为空');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(this.$u.test.isEmpty(this.personalPhone)) {
|
||||||
|
this.$u.toast('手机号不可为空');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(!this.$u.test.mobile(this.personalPhone)) {
|
||||||
|
this.$u.toast('请正确填写手机号');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(this.$u.test.isEmpty(this.idCard)) {
|
||||||
|
this.$u.toast('身份证号不可为空');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if(this.$u.test.isEmpty(this.title)) {
|
||||||
|
this.$u.toast('发票抬头不可为空');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(this.$u.test.isEmpty(this.taxNumber)) {
|
||||||
|
this.$u.toast('税号不可为空');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(this.$u.test.isEmpty(this.address)) {
|
||||||
|
this.$u.toast('单位地址不可为空');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(this.$u.test.isEmpty(this.companyPhone)) {
|
||||||
|
this.$u.toast('电话号码不可为空');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(!this.$u.test.mobile(this.companyPhone)) {
|
||||||
|
this.$u.toast('请正确填写电话号码');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(this.$u.test.isEmpty(this.bankDeposit)) {
|
||||||
|
this.$u.toast('开户银行不可为空');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(this.$u.test.isEmpty(this.bankAccounts)) {
|
||||||
|
this.$u.toast('银行账户不可为空');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
invoiceAdd() {
|
||||||
|
if(!this.verificationParams()) return false;
|
||||||
|
let params = {};
|
||||||
|
this.type == 1
|
||||||
|
? params = {
|
||||||
|
invoice_type: 1,
|
||||||
|
invoice_title: this.title,
|
||||||
|
invoice_code: this.idCard,
|
||||||
|
invoice_rec_mobphone: this.personalPhone,
|
||||||
|
}
|
||||||
|
: params = {
|
||||||
|
invoice_type: 2,
|
||||||
|
invoice_title: this.title,
|
||||||
|
invoice_code: this.taxNumber,
|
||||||
|
invoice_goto_addr: this.address,
|
||||||
|
invoice_rec_mobphone: this.companyPhone,
|
||||||
|
invoice_reg_bname: this.bankDeposit,
|
||||||
|
invoice_reg_baccount: this.bankAccounts,
|
||||||
|
}
|
||||||
|
this.$u.api.invoiceAdd(params).then(res => {
|
||||||
|
if(res.errCode == 0) {
|
||||||
|
this.$refs.uToast.show({
|
||||||
|
title: res.message,
|
||||||
|
back: true
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$u.toast(res.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
invoiceEdit() {
|
||||||
|
if(!this.verificationParams()) return false;
|
||||||
|
let params = {};
|
||||||
|
this.type == 1
|
||||||
|
? params = {
|
||||||
|
invoice_id: this.invoice_id,
|
||||||
|
invoice_type: 1,
|
||||||
|
invoice_title: this.title,
|
||||||
|
invoice_code: this.idCard,
|
||||||
|
invoice_rec_mobphone: this.personalPhone,
|
||||||
|
}
|
||||||
|
: params = {
|
||||||
|
invoice_id: this.invoice_id,
|
||||||
|
invoice_type: 2,
|
||||||
|
invoice_title: this.title,
|
||||||
|
invoice_code: this.taxNumber,
|
||||||
|
invoice_goto_addr: this.address,
|
||||||
|
invoice_rec_mobphone: this.companyPhone,
|
||||||
|
invoice_reg_bname: this.bankDeposit,
|
||||||
|
invoice_reg_baccount: this.bankAccounts,
|
||||||
|
}
|
||||||
|
this.$u.api.invoiceEdit(params).then(res => {
|
||||||
|
if(res.errCode == 0) {
|
||||||
|
this.$refs.uToast.show({
|
||||||
|
title: res.message,
|
||||||
|
back: true
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$u.toast(res.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getInvoiceInfo() {
|
||||||
|
this.$u.api.getInvoiceInfo({ invoice_id: this.invoice_id }).then(res => {
|
||||||
|
if(res.errCode == 0) {
|
||||||
|
const invoice = res.data;
|
||||||
|
if(res.data.invoice_type == 1) {
|
||||||
|
this.title = invoice.invoice_title;
|
||||||
|
this.personalPhone = invoice.invoice_rec_mobphone;
|
||||||
|
this.idCard = invoice.invoice_code;
|
||||||
|
this.type = invoice.invoice_type;
|
||||||
|
} else if(res.data.invoice_type == 2) {
|
||||||
|
this.title = invoice.invoice_title;
|
||||||
|
this.taxNumber = invoice.invoice_code;
|
||||||
|
this.address = invoice.invoice_goto_addr;
|
||||||
|
this.companyPhone = invoice.invoice_rec_mobphone;
|
||||||
|
this.bankDeposit = invoice.invoice_reg_bname;
|
||||||
|
this.bankAccounts = invoice.invoice_reg_baccount;
|
||||||
|
this.type = invoice.invoice_type;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
radioGroupChange(e) {
|
||||||
|
this.type = e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.edit-invoice {
|
||||||
|
min-height: calc(100vh - var(--window-top));
|
||||||
|
background: #ECECEC;
|
||||||
|
.invoice-type {
|
||||||
|
height: 98rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
margin-bottom: 2rpx;
|
||||||
|
padding: 35rpx 30rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
.title {
|
||||||
|
font-size: 30rpx;
|
||||||
|
color: #333333;
|
||||||
|
width: 120rpx;
|
||||||
|
margin-right: 50rpx;
|
||||||
|
}
|
||||||
|
.u-radio-group {
|
||||||
|
flex: 1;
|
||||||
|
/deep/ .u-radio {
|
||||||
|
.u-radio__icon-wrap {
|
||||||
|
margin: 0 20rpx;
|
||||||
|
position: relative;
|
||||||
|
background-color: #DBDBDB;
|
||||||
|
&::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
width: 29rpx;
|
||||||
|
height: 29rpx;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
border: 1rpx solid #DBDBDB;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.u-radio__icon-wrap--checked {
|
||||||
|
background-color: #FF780F;
|
||||||
|
&::before {
|
||||||
|
border-color: #FF780F;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.u-radio__icon-wrap--disabled {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.info-item {
|
||||||
|
height: 98rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 2rpx;
|
||||||
|
padding: 35rpx 30rpx;
|
||||||
|
.title {
|
||||||
|
font-size: 30rpx;
|
||||||
|
color: #333333;
|
||||||
|
width: 120rpx;
|
||||||
|
margin-right: 50rpx;
|
||||||
|
}
|
||||||
|
> input {
|
||||||
|
flex: 1;
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.save-btn {
|
||||||
|
width: 690rpx;
|
||||||
|
height: 98rpx;
|
||||||
|
background: #FF780F;
|
||||||
|
border-radius: 49rpx;
|
||||||
|
font-size: 36rpx;
|
||||||
|
color: #FFFFFF;
|
||||||
|
margin: 120rpx auto 0;
|
||||||
|
line-height: 98rpx;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
123
pageE/more/MineInvoice.vue
Normal file
@@ -0,0 +1,123 @@
|
|||||||
|
<template>
|
||||||
|
<view class="invoice">
|
||||||
|
<view class="invoice-container">
|
||||||
|
<view class="invoice-item" v-for="(item, index) in invoiceList" :key="index">
|
||||||
|
<view class="title">{{ item.invoice_type == 1 ? '个人发票' : '企业发票' }}</view>
|
||||||
|
<view class="code">{{ item.invoice_title }}</view>
|
||||||
|
<view class="tool">
|
||||||
|
<view class="tool-item" @click="edit(0, item.invoice_id)">
|
||||||
|
<image src="../static/mine/24.png"></image>
|
||||||
|
<text>编辑</text>
|
||||||
|
</view>
|
||||||
|
<view class="tool-item" @click="delInvoice(item.invoice_id)">
|
||||||
|
<image src="../static/mine/25.png"></image>
|
||||||
|
<text>删除</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="invoice-btn" @click="edit(1)">添加发票抬头</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
invoiceList: [],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onShow() {
|
||||||
|
this.getInvoiceList();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getInvoiceList() {
|
||||||
|
this.$u.api.getInvoiceList().then(res => {
|
||||||
|
this.invoiceList = res.data;
|
||||||
|
})
|
||||||
|
},
|
||||||
|
delInvoice(id) {
|
||||||
|
this.$u.api.invoiceDel({ invoice_id: id }).then(res => {
|
||||||
|
if(res.errCode == 0) this.getInvoiceList();
|
||||||
|
else this.$u.toast(res.message);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
edit(action, invoice_id) {
|
||||||
|
this.$u.route('/pageE/more/EditInvoice', {
|
||||||
|
action: action, // 0 编辑 1 添加
|
||||||
|
invoice_id: invoice_id,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.invoice {
|
||||||
|
min-height: calc(100vh - var(--window-top));
|
||||||
|
background: #ECECEC;
|
||||||
|
padding-top: 20rpx;
|
||||||
|
.invoice-container {
|
||||||
|
width: 690rpx;
|
||||||
|
margin: 0 auto;
|
||||||
|
.invoice-item {
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
background-color: #ffffff;
|
||||||
|
padding: 16rpx 20rpx;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
.title {
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #666666;
|
||||||
|
margin-bottom: 16rpx;
|
||||||
|
}
|
||||||
|
.code {
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #333333;
|
||||||
|
position: relative;
|
||||||
|
padding: 30rpx 0;
|
||||||
|
&::after {
|
||||||
|
position: absolute;
|
||||||
|
content: '';
|
||||||
|
width: 100%;
|
||||||
|
height: 2rpx;
|
||||||
|
background-color: #ECECEC;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.tool {
|
||||||
|
padding-top: 18rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-end;
|
||||||
|
.tool-item {
|
||||||
|
&:not(:last-child) {
|
||||||
|
margin-right: 30rpx;
|
||||||
|
}
|
||||||
|
> image {
|
||||||
|
width: 23rpx;
|
||||||
|
height: 23rpx;
|
||||||
|
margin-right: 14rpx;
|
||||||
|
}
|
||||||
|
> text {
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.invoice-btn {
|
||||||
|
width: 690rpx;
|
||||||
|
height: 98rpx;
|
||||||
|
background: #FF780F;
|
||||||
|
border-radius: 49rpx;
|
||||||
|
font-size: 36rpx;
|
||||||
|
color: #FFFFFF;
|
||||||
|
line-height: 98rpx;
|
||||||
|
text-align: center;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 40rpx;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
<view class="status" v-if="orderstate">
|
<view class="status" v-if="orderstate">
|
||||||
<view class="text">
|
<view class="text">
|
||||||
<view class="status-text">{{ s_object[orderstate].text }}</view>
|
<view class="status-text">{{ s_object[orderstate].text }}</view>
|
||||||
<view class="time" v-if="orderInfo.view_type == 1 || orderInfo.view_type == 9">距离结束:{{ countdown }}</view>
|
<!-- <view class="time" v-if="orderInfo.view_type == 1 || orderInfo.view_type == 9">距离结束:{{ countdown }}</view> -->
|
||||||
</view>
|
</view>
|
||||||
<image :src="s_object[orderstate].image"></image>
|
<image :src="s_object[orderstate].image"></image>
|
||||||
</view>
|
</view>
|
||||||
@@ -59,12 +59,17 @@
|
|||||||
<view class="title">支付方式</view>
|
<view class="title">支付方式</view>
|
||||||
<view class="price">{{ orderInfo.payment_name }}</view>
|
<view class="price">{{ orderInfo.payment_name }}</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view v-if="orderInfo.is_selfraising == 1">
|
||||||
|
<view class="title">配送方式</view>
|
||||||
|
<view class="price">自提</view>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="info-order">
|
<view class="info-order">
|
||||||
<view>订单编号:{{ orderInfo.order_sn }}</view>
|
<view>订单编号:{{ orderInfo.order_sn }}</view>
|
||||||
<view>支付单号:{{ orderInfo.pay_sn }}</view>
|
<view>支付单号:{{ orderInfo.pay_sn }}</view>
|
||||||
<view>创建时间:{{ orderInfo.add_time | date}}</view>
|
<view>创建时间:{{ orderInfo.add_time | date}}</view>
|
||||||
|
<view v-if="orderInfo.is_selfraising == 1" class="address">自提地址:{{ orderInfo.extend_store.store_address }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- '4', '8' -->
|
<!-- '4', '8' -->
|
||||||
@@ -75,7 +80,7 @@
|
|||||||
<view class="comment" v-if="orderstate == '2'" @click="toOtherPage('Comment')">立即评价</view>
|
<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 == '6'" @click="cancelOrder">取消支付</view>
|
||||||
<!-- <view class="cancel" v-if="orderstate == '8'" @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)">
|
<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>
|
<u-icon name="phone-fill" color="#FF780F" size="28"></u-icon>
|
||||||
<text>联系骑手</text>
|
<text>联系骑手</text>
|
||||||
@@ -204,8 +209,8 @@ export default {
|
|||||||
if(res.errCode == 0) {
|
if(res.errCode == 0) {
|
||||||
this.orderInfo = res.data;
|
this.orderInfo = res.data;
|
||||||
this.setTitle(this.orderInfo.view_type);
|
this.setTitle(this.orderInfo.view_type);
|
||||||
if(res.data.view_type == 1) this.setSpikeTime(res.data.end_time);
|
// if(res.data.view_type == 1) this.setSpikeTime(res.data.end_time);
|
||||||
else if(res.data.view_type == 9) this.setSpikeTime(res.data.pintuangroup_endtime);
|
// else if(res.data.view_type == 9) this.setSpikeTime(res.data.pintuangroup_endtime);
|
||||||
}
|
}
|
||||||
uni.stopPullDownRefresh(); // 结束刷新
|
uni.stopPullDownRefresh(); // 结束刷新
|
||||||
})
|
})
|
||||||
@@ -460,6 +465,9 @@ export default {
|
|||||||
> view:not(:last-child) {
|
> view:not(:last-child) {
|
||||||
margin-bottom: 30rpx;
|
margin-bottom: 30rpx;
|
||||||
}
|
}
|
||||||
|
.address {
|
||||||
|
line-height: 40rpx;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.btn {
|
.btn {
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
:header="header"
|
:header="header"
|
||||||
:form-data="formData"
|
:form-data="formData"
|
||||||
:name="fileName"
|
:name="fileName"
|
||||||
|
:size-type="['original']"
|
||||||
@on-list-change="setImageList"
|
@on-list-change="setImageList"
|
||||||
>
|
>
|
||||||
<view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
|
<view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
|
||||||
@@ -33,6 +34,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
|
name: 'CommonView',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
count: 3,
|
count: 3,
|
||||||
|
|||||||
@@ -10,6 +10,10 @@
|
|||||||
<view>{{ item.title }}</view>
|
<view>{{ item.title }}</view>
|
||||||
<image src="../static/mine/21.png"></image>
|
<image src="../static/mine/21.png"></image>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="list-item" @click="clearCache">
|
||||||
|
<view>清除缓存</view>
|
||||||
|
<view class="left-text">{{ fileSizeString }}</view>
|
||||||
|
</view>
|
||||||
<view class="list-item" @click="sheetStatus=true">
|
<view class="list-item" @click="sheetStatus=true">
|
||||||
<view>退出登录</view>
|
<view>退出登录</view>
|
||||||
<image src="../static/mine/21.png"></image>
|
<image src="../static/mine/21.png"></image>
|
||||||
@@ -58,13 +62,16 @@
|
|||||||
title: '证件中心',
|
title: '证件中心',
|
||||||
link: '../mine/ArticleDetails?type=1'
|
link: '../mine/ArticleDetails?type=1'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: '第三方绑定',
|
||||||
|
link: './binding'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: '屏蔽用户',
|
title: '屏蔽用户',
|
||||||
link: './ShieldUsers'
|
link: './ShieldUsers'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '关于我们',
|
title: '关于我们',
|
||||||
// link: '../mine/ArticleDetails?type=2'
|
|
||||||
link: '/pageE/setting/version'
|
link: '/pageE/setting/version'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -73,9 +80,13 @@
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
content: "是否退出登录!",
|
content: "是否退出登录!",
|
||||||
show: false
|
show: false,
|
||||||
|
fileSizeString: "", // 缓存大小
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
onLoad() {
|
||||||
|
this.getCache();
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapMutations(['logout']),
|
...mapMutations(['logout']),
|
||||||
// 退出登录选择 0:切换账号 | 1:退出登录
|
// 退出登录选择 0:切换账号 | 1:退出登录
|
||||||
@@ -85,6 +96,45 @@
|
|||||||
this.show = true;
|
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) {
|
toNextPage(url, ...params) {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: url
|
url: url
|
||||||
@@ -122,6 +172,11 @@
|
|||||||
width: 14rpx;
|
width: 14rpx;
|
||||||
height: 24rpx;
|
height: 24rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.left-text {
|
||||||
|
margin-left: auto;
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</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>
|
||||||
@@ -18,6 +18,7 @@
|
|||||||
2. 新增Modal模态框组件<br>
|
2. 新增Modal模态框组件<br>
|
||||||
3. 新增压窗屏组件,可以在APP上以弹窗的形式遮盖导航栏和底部tabbar<br>
|
3. 新增压窗屏组件,可以在APP上以弹窗的形式遮盖导航栏和底部tabbar<br>
|
||||||
`,
|
`,
|
||||||
|
isAutoUpdate: false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(option) {
|
onLoad(option) {
|
||||||
@@ -45,10 +46,16 @@
|
|||||||
// #endif
|
// #endif
|
||||||
},
|
},
|
||||||
closeModal() {
|
closeModal() {
|
||||||
|
const pages = getCurrentPages();
|
||||||
|
// console.log(pages);
|
||||||
|
if(pages.length == 2) {
|
||||||
|
this.$u.route('/pageA/welcome/welcome');
|
||||||
|
} else {
|
||||||
uni.navigateBack();
|
uni.navigateBack();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ export default {
|
|||||||
},
|
},
|
||||||
updateVersion() {
|
updateVersion() {
|
||||||
this.$u.route('/pageE/setting/updateVersion', {
|
this.$u.route('/pageE/setting/updateVersion', {
|
||||||
status: this.status
|
status: this.status,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<scroll-view scroll-y class="history-box" @scrolltolower="reachBottom">
|
<scroll-view scroll-y class="history-box" @scrolltolower="reachBottom">
|
||||||
<view class="item-box">
|
<view class="item-box">
|
||||||
<!-- 需求:只显示最近五十条数据 后台未作限制 -->
|
<!-- 需求:只显示最近五十条数据 后台未作限制 -->
|
||||||
<view v-for="(item, index) in historyList.slice(0, 50)" :key="index" class="history-item">
|
<view v-for="(item, index) in historyList" :key="index" class="history-item">
|
||||||
<view class="item-title" @click="viewStoreDetails(item.store_id)">
|
<view class="item-title" @click="viewStoreDetails(item.store_id)">
|
||||||
<image :src="item.store_avatar"></image>
|
<image :src="item.store_avatar"></image>
|
||||||
<view class="u-line-1">{{ item.store_name }}</view>
|
<view class="u-line-1">{{ item.store_name }}</view>
|
||||||
|
|||||||
@@ -125,8 +125,8 @@ export default {
|
|||||||
this.sendLaundryOrderList();
|
this.sendLaundryOrderList();
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
this.current = 0;
|
// this.current = 0;
|
||||||
this.swiperCurrent = 0;
|
// this.swiperCurrent = 0;
|
||||||
this.showPopup = false;
|
this.showPopup = false;
|
||||||
this.sendLaundryOrderList();
|
this.sendLaundryOrderList();
|
||||||
this.sendCommentList();
|
this.sendCommentList();
|
||||||
|
|||||||
@@ -57,10 +57,6 @@
|
|||||||
<view class="order-view order-area" @click="showAddress=true">
|
<view class="order-view order-area" @click="showAddress=true">
|
||||||
<view class="title">省市区:</view>
|
<view class="title">省市区:</view>
|
||||||
<input type="text" v-model="area" disabled />
|
<input type="text" v-model="area" disabled />
|
||||||
<!-- <view class="location">
|
|
||||||
<image src="../static/mine/28.png"></image>
|
|
||||||
<view>定位</view>
|
|
||||||
</view> -->
|
|
||||||
</view>
|
</view>
|
||||||
<view class="order-view order-address">
|
<view class="order-view order-address">
|
||||||
<view class="title">详细地址:</view>
|
<view class="title">详细地址:</view>
|
||||||
@@ -113,10 +109,6 @@
|
|||||||
<view class="order-view order-area" @click="showAddress=true">
|
<view class="order-view order-area" @click="showAddress=true">
|
||||||
<view class="title">省市区:</view>
|
<view class="title">省市区:</view>
|
||||||
<input type="text" v-model="area" disabled />
|
<input type="text" v-model="area" disabled />
|
||||||
<!-- <view class="location">
|
|
||||||
<image src="../static/mine/28.png"></image>
|
|
||||||
<view>定位</view>
|
|
||||||
</view> -->
|
|
||||||
</view>
|
</view>
|
||||||
<view class="order-view order-address">
|
<view class="order-view order-address">
|
||||||
<view class="title">详细地址:</view>
|
<view class="title">详细地址:</view>
|
||||||
@@ -254,7 +246,6 @@ export default {
|
|||||||
// this.current = 0;
|
// this.current = 0;
|
||||||
// this.swiperCurrent = 0;
|
// this.swiperCurrent = 0;
|
||||||
this.showPopup = false;
|
this.showPopup = false;
|
||||||
this.choose = false;
|
|
||||||
},
|
},
|
||||||
onLoad() {
|
onLoad() {
|
||||||
this.getOrderList();
|
this.getOrderList();
|
||||||
@@ -270,6 +261,7 @@ export default {
|
|||||||
this.phone = '';
|
this.phone = '';
|
||||||
this.area = '';
|
this.area = '';
|
||||||
this.address = '';
|
this.address = '';
|
||||||
|
this.choose = false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|||||||
@@ -2,20 +2,25 @@
|
|||||||
<view class="comment">
|
<view class="comment">
|
||||||
<view class="main-container">
|
<view class="main-container">
|
||||||
<u-input v-model="content" type="textarea" height="300" maxlength="200" />
|
<u-input v-model="content" type="textarea" height="300" maxlength="200" />
|
||||||
<!-- <u-upload
|
<u-upload
|
||||||
ref="uUpload"
|
ref="uUpload"
|
||||||
@on-uploaded="onUploaded"
|
|
||||||
:custom-btn="true"
|
:custom-btn="true"
|
||||||
:max-count="count"
|
:max-count="count"
|
||||||
:auto-upload="false"
|
:auto-upload="false"
|
||||||
|
:action="action"
|
||||||
|
:header="header"
|
||||||
|
:form-data="formData"
|
||||||
|
:name="fileName"
|
||||||
|
:size-type="['original']"
|
||||||
|
@on-uploaded="setImageList"
|
||||||
>
|
>
|
||||||
<view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
|
<view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
|
||||||
<image src="../static/mine/27.png"></image>
|
<image src="../static/mine/27.png"></image>
|
||||||
</view>
|
</view>
|
||||||
</u-upload> -->
|
</u-upload>
|
||||||
</view>
|
</view>
|
||||||
<u-toast ref="uToast" />
|
<u-toast ref="uToast" />
|
||||||
<view class="write-btn" @click="addWashEvaluate">发表评价</view>
|
<view class="write-btn" @click="setLoaclList">发表评价</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@@ -23,8 +28,17 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
washId: '',
|
washId: '',
|
||||||
// count: 4, // 最大图片数量
|
count: 1,
|
||||||
|
action: this.$u.http.config.baseUrl + '/Upload/uploadfile',
|
||||||
|
header: {
|
||||||
|
"authorization": 'Bearer' + " " + uni.getStorageSync('token')
|
||||||
|
},
|
||||||
|
fileName: 'common', // 与formData name 一样
|
||||||
|
formData: {
|
||||||
|
name: 'common', // 其他图片
|
||||||
|
},
|
||||||
content: '',
|
content: '',
|
||||||
|
imageList: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(option) {
|
onLoad(option) {
|
||||||
@@ -38,11 +52,22 @@ export default {
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
setLoaclList() {
|
||||||
|
this.$refs.uUpload.upload();
|
||||||
|
},
|
||||||
|
setImageList(lists) {
|
||||||
|
// console.log(lists);
|
||||||
|
lists.forEach(item => {
|
||||||
|
this.imageList.push(item.response.data.file_name);
|
||||||
|
})
|
||||||
|
this.addWashEvaluate();
|
||||||
|
},
|
||||||
addWashEvaluate() {
|
addWashEvaluate() {
|
||||||
if(!this.verifyParams()) return false;
|
if(!this.verifyParams()) return false;
|
||||||
this.$u.api.sendOrderComment({
|
this.$u.api.sendOrderComment({
|
||||||
id: this.washId,
|
id: this.washId,
|
||||||
comment: this.content,
|
comment: this.content,
|
||||||
|
comment_img: this.imageList[0]
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
this.$refs.uToast.show({
|
this.$refs.uToast.show({
|
||||||
title: res.message,
|
title: res.message,
|
||||||
@@ -65,23 +90,23 @@ export default {
|
|||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
padding: 30rpx;
|
padding: 30rpx;
|
||||||
margin-bottom: 10rpx;
|
margin-bottom: 10rpx;
|
||||||
// textarea {
|
textarea {
|
||||||
// width: 100% !important;
|
width: 100% !important;
|
||||||
// height: 500rpx;
|
height: 500rpx;
|
||||||
// margin-bottom: 60rpx;
|
margin-bottom: 60rpx;
|
||||||
// }
|
}
|
||||||
// .slot-btn {
|
.slot-btn {
|
||||||
// width: 140rpx;
|
width: 140rpx;
|
||||||
// height: 140rpx;
|
height: 140rpx;
|
||||||
// background: rgba(236,236,236,1);
|
background: rgba(236,236,236,1);
|
||||||
// border-radius: 10rpx;
|
border-radius: 10rpx;
|
||||||
// text-align: center;
|
text-align: center;
|
||||||
// > img {
|
> image {
|
||||||
// margin-top: 48rpx;
|
margin-top: 48rpx;
|
||||||
// width: 54rpx;
|
width: 54rpx;
|
||||||
// height: 49rpx;
|
height: 49rpx;
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
.write-btn {
|
.write-btn {
|
||||||
margin: 120rpx auto 0;
|
margin: 120rpx auto 0;
|
||||||
|
|||||||
84
pages.json
@@ -80,6 +80,17 @@
|
|||||||
{
|
{
|
||||||
"root": "pageB",
|
"root": "pageB",
|
||||||
"pages": [
|
"pages": [
|
||||||
|
{
|
||||||
|
"path": "tipsinfo/index",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "",
|
||||||
|
"app-plus":{
|
||||||
|
"titleNView":{
|
||||||
|
"backgroundColor":"#ffffff"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "playVideo/index",
|
"path": "playVideo/index",
|
||||||
"style": {
|
"style": {
|
||||||
@@ -125,7 +136,7 @@
|
|||||||
"buttons": [
|
"buttons": [
|
||||||
{
|
{
|
||||||
"type":"none",
|
"type":"none",
|
||||||
"text":"\ue636",
|
"text":"\ue001",
|
||||||
"float":"right",
|
"float":"right",
|
||||||
"fontSize":"18",
|
"fontSize":"18",
|
||||||
"fontSrc": "/static/fonts/cart.ttf"
|
"fontSrc": "/static/fonts/cart.ttf"
|
||||||
@@ -156,7 +167,7 @@
|
|||||||
"buttons": [
|
"buttons": [
|
||||||
{
|
{
|
||||||
"type":"none",
|
"type":"none",
|
||||||
"text":"\ue636",
|
"text":"\ue001",
|
||||||
"float":"right",
|
"float":"right",
|
||||||
"fontSize":"18",
|
"fontSize":"18",
|
||||||
"fontSrc": "/static/fonts/cart.ttf"
|
"fontSrc": "/static/fonts/cart.ttf"
|
||||||
@@ -347,6 +358,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "cart/selectInvoice",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "发票抬头",
|
||||||
|
"app-plus": {
|
||||||
|
"titleSize": "36px",
|
||||||
|
"titleNView": {
|
||||||
|
"titleColor": "#333333",
|
||||||
|
"backgroundColor": "#FFFFFF"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "merchant/index",
|
"path": "merchant/index",
|
||||||
"style": {
|
"style": {
|
||||||
@@ -367,9 +391,9 @@
|
|||||||
// },
|
// },
|
||||||
{
|
{
|
||||||
"type":"none",
|
"type":"none",
|
||||||
"text":"\ue636",
|
"text":"\ue001",
|
||||||
"float":"right",
|
"float":"right",
|
||||||
"fontSize":"22",
|
"fontSize":"18",
|
||||||
"fontSrc": "/static/fonts/cart.ttf",
|
"fontSrc": "/static/fonts/cart.ttf",
|
||||||
"color": "#FFFFFF"
|
"color": "#FFFFFF"
|
||||||
|
|
||||||
@@ -611,6 +635,45 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "more/ApplyLive",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "达人申请",
|
||||||
|
"app-plus": {
|
||||||
|
"titleSize": "36px",
|
||||||
|
"titleNView": {
|
||||||
|
"titleColor": "#333333",
|
||||||
|
"backgroundColor": "#FFFFFF"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "more/MineInvoice",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "我的发票",
|
||||||
|
"app-plus": {
|
||||||
|
"titleSize": "36px",
|
||||||
|
"titleNView": {
|
||||||
|
"titleColor": "#333333",
|
||||||
|
"backgroundColor": "#FFFFFF"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "more/EditInvoice",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "发票抬头",
|
||||||
|
"app-plus": {
|
||||||
|
"titleSize": "36px",
|
||||||
|
"titleNView": {
|
||||||
|
"titleColor": "#333333",
|
||||||
|
"backgroundColor": "#FFFFFF"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "mine/ArticleDetails",
|
"path": "mine/ArticleDetails",
|
||||||
"style": {
|
"style": {
|
||||||
@@ -988,6 +1051,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "setting/binding",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "第三方绑定",
|
||||||
|
"app-plus": {
|
||||||
|
"titleSize": "36px",
|
||||||
|
"titleNView": {
|
||||||
|
"titleColor": "#333333",
|
||||||
|
"backgroundColor": "#FFFFFF"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "setting/ShieldUsers",
|
"path": "setting/ShieldUsers",
|
||||||
"style": {
|
"style": {
|
||||||
|
|||||||
@@ -262,7 +262,8 @@
|
|||||||
loading: '努力加载中',
|
loading: '努力加载中',
|
||||||
nomore: '实在没有了'
|
nomore: '实在没有了'
|
||||||
},
|
},
|
||||||
refresher:true
|
refresher:true,
|
||||||
|
zqie:false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
@@ -355,6 +356,10 @@
|
|||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
title: "loading..."
|
title: "loading..."
|
||||||
})
|
})
|
||||||
|
if(this.zqie){
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
this.zqie = true;
|
||||||
this.$u.api.tabLiveList({page:this.live_page}).then((res) => {
|
this.$u.api.tabLiveList({page:this.live_page}).then((res) => {
|
||||||
// uni.stopPullDownRefresh();
|
// uni.stopPullDownRefresh();
|
||||||
this.status_live = "loading";
|
this.status_live = "loading";
|
||||||
@@ -371,6 +376,7 @@
|
|||||||
} else if (res.data.data.length == 0 && this.live_page > 1) {
|
} else if (res.data.data.length == 0 && this.live_page > 1) {
|
||||||
this.status_live = "nomore";
|
this.status_live = "nomore";
|
||||||
} else {
|
} else {
|
||||||
|
console.log(this.live_page,1223)
|
||||||
this.tabLiveLists = this.tabLiveLists.concat(res.data.data);
|
this.tabLiveLists = this.tabLiveLists.concat(res.data.data);
|
||||||
console.log(this.tabLiveLists)
|
console.log(this.tabLiveLists)
|
||||||
}
|
}
|
||||||
@@ -381,6 +387,8 @@
|
|||||||
} else {
|
} else {
|
||||||
this.status_live = "nomore"
|
this.status_live = "nomore"
|
||||||
}
|
}
|
||||||
|
this.zqie = false;
|
||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -542,6 +550,7 @@
|
|||||||
this.jumpPage({
|
this.jumpPage({
|
||||||
type: item.url_type,
|
type: item.url_type,
|
||||||
id: item.info_id,
|
id: item.info_id,
|
||||||
|
adv_id: item.adv_id,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
clickSImage(index) {
|
clickSImage(index) {
|
||||||
@@ -550,6 +559,7 @@
|
|||||||
this.jumpPage({
|
this.jumpPage({
|
||||||
type: item.url_type,
|
type: item.url_type,
|
||||||
id: item.info_id,
|
id: item.info_id,
|
||||||
|
adv_id: item.adv_id,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
goSearch() {
|
goSearch() {
|
||||||
@@ -579,6 +589,7 @@
|
|||||||
},
|
},
|
||||||
jumpPage(uri) {
|
jumpPage(uri) {
|
||||||
// console.log(uri);
|
// console.log(uri);
|
||||||
|
this.$u.api.advClick({ adv_id: uri.adv_id });
|
||||||
common.jumpPage({ type: uri.type, id: uri.id });
|
common.jumpPage({ type: uri.type, id: uri.id });
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -100,11 +100,19 @@
|
|||||||
<image src="/static/image/mine/16.png"></image>
|
<image src="/static/image/mine/16.png"></image>
|
||||||
<view>使用帮助</view>
|
<view>使用帮助</view>
|
||||||
</view>
|
</view>
|
||||||
<view @click="toOtherPage('/more/Complaints')">
|
<view class="badge-box" @click="toOtherPage('/more/Complaints')">
|
||||||
<image src="/static/image/mine/15.png"></image>
|
<image src="/static/image/mine/15.png"></image>
|
||||||
<view>投诉意见</view>
|
<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 @click="toOtherPage('/more/MineInvoice')">
|
||||||
|
<image src="/static/image/mine/46.png"></image>
|
||||||
|
<view>我的发票</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- <view></view> -->
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -163,7 +171,8 @@ export default {
|
|||||||
link: '/order/Index?current=7',
|
link: '/order/Index?current=7',
|
||||||
number: '',
|
number: '',
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
|
offset: [-10,6]
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
filters: {
|
filters: {
|
||||||
@@ -446,7 +455,7 @@ export default {
|
|||||||
width: 100rpx;
|
width: 100rpx;
|
||||||
}
|
}
|
||||||
> view:not(:last-child) {
|
> view:not(:last-child) {
|
||||||
margin-right: 36rpx;
|
margin-right: 16rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -463,9 +472,12 @@ export default {
|
|||||||
width: 100rpx;
|
width: 100rpx;
|
||||||
}
|
}
|
||||||
> view:not(:last-child) {
|
> view:not(:last-child) {
|
||||||
margin-right: 36rpx;
|
margin-right: 16rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.badge-box {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
<u-swiper :list="list" mode="dot" @click="clickImage"></u-swiper>
|
<u-swiper :list="list" mode="dot" @click="clickImage"></u-swiper>
|
||||||
</view>
|
</view>
|
||||||
<view class="chengnuo">
|
<view class="chengnuo">
|
||||||
<view>
|
<!-- <view>
|
||||||
<image src="/static/image/shop/4.png"></image>
|
<image src="/static/image/shop/4.png"></image>
|
||||||
<text>免费洗衣</text>
|
<text>免费洗衣</text>
|
||||||
</view>
|
</view>
|
||||||
@@ -32,6 +32,10 @@
|
|||||||
<view>
|
<view>
|
||||||
<image src="/static/image/shop/7.png"></image>
|
<image src="/static/image/shop/7.png"></image>
|
||||||
<text>上门取件</text>
|
<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>
|
</view>
|
||||||
<view class="fenlei">
|
<view class="fenlei">
|
||||||
@@ -46,7 +50,7 @@
|
|||||||
<!-- 拼团列表 -->
|
<!-- 拼团列表 -->
|
||||||
<group></group>
|
<group></group>
|
||||||
<view class="activity-view">
|
<view class="activity-view">
|
||||||
<image class="lingquan" :src="activityInfo.adv_code" @click="jumpPage({ type: activityInfo.url_type, id: activityInfo.info_id })"></image>
|
<image class="lingquan" :src="activityInfo.adv_code" @click="jumpPage({ type: activityInfo.url_type, id: activityInfo.info_id, adv_id: activityInfo.adv_id })"></image>
|
||||||
</view>
|
</view>
|
||||||
<!-- 优惠券 -->
|
<!-- 优惠券 -->
|
||||||
<youhq></youhq>
|
<youhq></youhq>
|
||||||
@@ -95,12 +99,14 @@
|
|||||||
pinTuanPush: {}, // 拼团推荐
|
pinTuanPush: {}, // 拼团推荐
|
||||||
activityInfo: {},
|
activityInfo: {},
|
||||||
areaList: [], // 位置信息
|
areaList: [], // 位置信息
|
||||||
|
tips:[]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad() {
|
onLoad() {
|
||||||
this.getShopTopList();
|
this.getShopTopList();
|
||||||
this.getLocation(); // 获取定位
|
this.getLocation(); // 获取定位
|
||||||
this.getStoreActivity();
|
this.getStoreActivity();
|
||||||
|
this.gettips()
|
||||||
// this.area = uni.getStorageSync("address") || "请选择";
|
// this.area = uni.getStorageSync("address") || "请选择";
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
@@ -110,6 +116,21 @@
|
|||||||
this.getAllLoaction(); // 获取位置
|
this.getAllLoaction(); // 获取位置
|
||||||
},
|
},
|
||||||
methods: {
|
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() {
|
sousuo() {
|
||||||
// console.log(123)
|
// console.log(123)
|
||||||
this.$u.route({
|
this.$u.route({
|
||||||
@@ -194,6 +215,7 @@
|
|||||||
this.jumpPage({
|
this.jumpPage({
|
||||||
type: item.url_type,
|
type: item.url_type,
|
||||||
id: item.info_id,
|
id: item.info_id,
|
||||||
|
adv_id: item.adv_id,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 下拉加载更多推荐商品
|
// 下拉加载更多推荐商品
|
||||||
@@ -223,6 +245,7 @@
|
|||||||
},
|
},
|
||||||
jumpPage(uri) {
|
jumpPage(uri) {
|
||||||
// console.log(uri);
|
// console.log(uri);
|
||||||
|
this.$u.api.advClick({ adv_id: uri.adv_id });
|
||||||
common.jumpPage({ type: uri.type, id: uri.id });
|
common.jumpPage({ type: uri.type, id: uri.id });
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<view>
|
<view>
|
||||||
<video :src="url" class="vodio" autoplay="true" :show-fullscreen-btn="false" :show-play-btn="false" :enable-progress-gesture="false" :show-center-play-btn="false" :show-progress="false" :controls="false" :style="{'height':height}" @error="errors">
|
<video :src="url" class="vodio" :autoplay="true" id="myVideo" :show-fullscreen-btn="false" :show-play-btn="false" :enable-progress-gesture="false" :show-center-play-btn="false" :show-progress="false" :controls="false" :style="{'height':height}" @error="errors">
|
||||||
|
|
||||||
</video>
|
</video>
|
||||||
<view class="user" :style="{'top': top}">
|
<view class="user" :style="{'top': top}">
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
<view class="hot" :style="{'top': top + 10 * rpx}">
|
<view class="hot" :style="{'top': top + 10 * rpx}">
|
||||||
<text class="hottext">{{room.onlineUsers.users.length}}</text>
|
<text class="hottext">{{room.onlineUsers.users.length}}</text>
|
||||||
</view>
|
</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>
|
</image>
|
||||||
<view class="danmufasongbox" @click="danmu = $store.state.hasLogin">
|
<view class="danmufasongbox" @click="danmu = $store.state.hasLogin">
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
<!-- <image class="liketap" src="../../static/like.png" @click=""> -->
|
<!-- <image class="liketap" src="../../static/like.png" @click=""> -->
|
||||||
|
|
||||||
<view class="danmuinputbox" v-if="danmu">
|
<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)">
|
<view class="danmufasong" @click="sendMessage(room.MessageType.CHAT,danmutext)">
|
||||||
<text style="font-size:24rpx;color:#fff">发送</text>
|
<text style="font-size:24rpx;color:#fff">发送</text>
|
||||||
</view>
|
</view>
|
||||||
@@ -309,11 +309,13 @@
|
|||||||
position: fixed;
|
position: fixed;
|
||||||
left: 30rpx;
|
left: 30rpx;
|
||||||
bottom: 118rpx;
|
bottom: 118rpx;
|
||||||
|
width: 690rpx;
|
||||||
}
|
}
|
||||||
.danmuitem{
|
.danmuitem{
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
flex-direction: column-reverse;
|
flex-direction: column-reverse;
|
||||||
|
word-wrap:anywhere;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
@@ -335,7 +337,8 @@ export default {
|
|||||||
danmu:false,
|
danmu:false,
|
||||||
room:{},
|
room:{},
|
||||||
chatRoomService:{},
|
chatRoomService:{},
|
||||||
danmulist:[]
|
danmulist:[],
|
||||||
|
videoContext:{}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
onBackPress(options) {
|
onBackPress(options) {
|
||||||
@@ -344,8 +347,11 @@ export default {
|
|||||||
});
|
});
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
|
onShow(){
|
||||||
|
this.videoContext.play()
|
||||||
|
},
|
||||||
onLoad(a) {
|
onLoad(a) {
|
||||||
|
this.videoContext = uni.createVideoContext('myVideo')
|
||||||
this.url = a.url;
|
this.url = a.url;
|
||||||
this.id = a.id
|
this.id = a.id
|
||||||
console.log(this.url);
|
console.log(this.url);
|
||||||
@@ -428,6 +434,7 @@ export default {
|
|||||||
that.room = that.chatRoomService.room;
|
that.room = that.chatRoomService.room;
|
||||||
that.chatRoomService.initialWhenOnlineUserChange(that.newpeople)
|
that.chatRoomService.initialWhenOnlineUserChange(that.newpeople)
|
||||||
that.chatRoomService.initialWhenNewMessage(that.whenNewMessage);
|
that.chatRoomService.initialWhenNewMessage(that.whenNewMessage);
|
||||||
|
that.chatRoomService.jieshuzhibo = this.jieshu;
|
||||||
this.$forceUpdate();
|
this.$forceUpdate();
|
||||||
console.log(that.room)
|
console.log(that.room)
|
||||||
|
|
||||||
@@ -440,6 +447,19 @@ export default {
|
|||||||
this.chatRoomService.quitRoom();
|
this.chatRoomService.quitRoom();
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
|
jieshu(text){
|
||||||
|
console.log(text)
|
||||||
|
uni.showModal({
|
||||||
|
title: '提示',
|
||||||
|
content: text.content,
|
||||||
|
showCancel:false,
|
||||||
|
success: function (res) {
|
||||||
|
uni.navigateBack({
|
||||||
|
delta: 1
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
errors(a){
|
errors(a){
|
||||||
console.log(a)
|
console.log(a)
|
||||||
},
|
},
|
||||||
@@ -520,9 +540,9 @@ export default {
|
|||||||
header:{
|
header:{
|
||||||
"Authorization" : 'Bearer' + " " + token
|
"Authorization" : 'Bearer' + " " + token
|
||||||
},
|
},
|
||||||
success(res){
|
success(a){
|
||||||
console.log(res)
|
console.log(a)
|
||||||
that.info = res.data.data;
|
that.info = a.data.data;
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: res.data.message,
|
title: res.data.message,
|
||||||
icon: "none"
|
icon: "none"
|
||||||
@@ -536,6 +556,23 @@ export default {
|
|||||||
},
|
},
|
||||||
xuanzhong(i){
|
xuanzhong(i){
|
||||||
let that = this
|
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({
|
uni.navigateTo({
|
||||||
url: `/pageB/sdetails/index?id=${that.list[i].goods_id}&type=1`
|
url: `/pageB/sdetails/index?id=${that.list[i].goods_id}&type=1`
|
||||||
});
|
});
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 446 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 119 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 219 KiB |
|
Before Width: | Height: | Size: 1008 B After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 3.0 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 |
BIN
static/image/mine/45.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
static/image/mine/46.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
@@ -8,6 +8,8 @@
|
|||||||
import GoEasyIM from './goeasy-im-1.0.9';
|
import GoEasyIM from './goeasy-im-1.0.9';
|
||||||
// import GoEasyIM from './goeasy-im-1.1.1';
|
// import GoEasyIM from './goeasy-im-1.1.1';
|
||||||
import restApi from './restapi';
|
import restApi from './restapi';
|
||||||
|
import music from './music.mp3'
|
||||||
|
|
||||||
|
|
||||||
function Friend(uuid, name, avatar,time = "", text = "",date = "",unReadMessage = 0) {
|
function Friend(uuid, name, avatar,time = "", text = "",date = "",unReadMessage = 0) {
|
||||||
this.uuid = uuid;
|
this.uuid = uuid;
|
||||||
@@ -53,6 +55,8 @@ function IMService() {
|
|||||||
//群聊消息记录,map格式,每个群对应一个数组
|
//群聊消息记录,map格式,每个群对应一个数组
|
||||||
this.groupMessages = {};
|
this.groupMessages = {};
|
||||||
|
|
||||||
|
this.uid = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 监听器们
|
* 监听器们
|
||||||
*
|
*
|
||||||
@@ -73,6 +77,8 @@ function IMService() {
|
|||||||
//群列表发生改变
|
//群列表发生改变
|
||||||
this.onGroupListChange = function (groups) {};
|
this.onGroupListChange = function (groups) {};
|
||||||
|
|
||||||
|
//结束直播
|
||||||
|
this.jieshuzhibo = function(messages){}
|
||||||
|
|
||||||
this.whenNewMessage = function () {
|
this.whenNewMessage = function () {
|
||||||
|
|
||||||
@@ -283,6 +289,14 @@ IMService.prototype.initialIMListeners = function () {
|
|||||||
friends.sort(paixu)
|
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
|
let that = this
|
||||||
if(!friend && friend == undefined){
|
if(!friend && friend == undefined){
|
||||||
@@ -773,6 +787,11 @@ IMService.prototype.initialWhenOnlineUserChange = function (whenOnlineUserChange
|
|||||||
IMService.prototype.listenerNewMessage = function () {
|
IMService.prototype.listenerNewMessage = function () {
|
||||||
|
|
||||||
this.im.on(GoEasyIM.EVENT.GROUP_MESSAGE_RECEIVED, (message) => {
|
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);
|
var content = JSON.parse(message.payload.text);
|
||||||
this.addNewMessage(message);
|
this.addNewMessage(message);
|
||||||
this.whenNewMessage(content);
|
this.whenNewMessage(content);
|
||||||
|
|||||||
BIN
static/music.mp3
Normal file
|
Before Width: | Height: | Size: 2.7 MiB After Width: | Height: | Size: 1.0 MiB |