Compare commits
No commits in common. "master" and "xbx-new" have entirely different histories.
17
App.vue
@ -8,12 +8,6 @@
|
||||
...mapState(["hasLogin"])
|
||||
},
|
||||
onLaunch() {
|
||||
// 禁止旋转
|
||||
// #ifdef APP-PLUS
|
||||
plus.screen.lockOrientation('portrait-primary');
|
||||
// #endif
|
||||
|
||||
|
||||
getApp().globalData.im = this.imService
|
||||
// 缓存token
|
||||
uni.getStorage({
|
||||
@ -34,16 +28,7 @@
|
||||
// #endif
|
||||
},
|
||||
onShow(){
|
||||
// this.getVersion();
|
||||
// console.log(this.$u.os())
|
||||
let device_type = this.$u.os()
|
||||
console.log({appversion:this.$app_version,device_type})
|
||||
this.$u.api.recordAppOpenTimes({appversion:this.$app_version,device_type}).then((res)=>{
|
||||
console.log(JSON.stringify(res))
|
||||
});
|
||||
},
|
||||
onLoad() {
|
||||
|
||||
this.getVersion();
|
||||
},
|
||||
onHide(){
|
||||
|
||||
|
@ -86,12 +86,11 @@ export default {
|
||||
return vm.$u.post('Goods/getGoodsClassRecommend');
|
||||
},
|
||||
// goodsListByClassId
|
||||
goodsListByClassId({ gc_id, page, order, keyword }) {
|
||||
goodsListByClassId({ gc_id, page, order }) {
|
||||
return vm.$u.post('goods/goodsListByClassId', {
|
||||
gc_id: gc_id,
|
||||
page: page,
|
||||
order: order,
|
||||
keyword:keyword
|
||||
});
|
||||
},
|
||||
// 商品推荐
|
||||
@ -139,9 +138,15 @@ export default {
|
||||
});
|
||||
},
|
||||
// 订单步骤2:发起订单,返回订单信息
|
||||
sendOrder({ ifcart, cart_id, address_id, buy_city_id, pintuan_id, pintuangroup_id, voucher_id, member_deliver_type, invoice_id, pay_message }) {
|
||||
sendOrder({ ifcart, cart_id, address_id, buy_city_id, pintuan_id, pintuangroup_id, voucher_id }) {
|
||||
return vm.$u.post('buy/buy_step2', {
|
||||
ifcart, cart_id, address_id, buy_city_id, pintuan_id, pintuangroup_id, voucher_id, member_deliver_type, invoice_id, pay_message
|
||||
ifcart: ifcart,
|
||||
cart_id: cart_id,
|
||||
address_id: address_id,
|
||||
buy_city_id: buy_city_id,
|
||||
pintuan_id: pintuan_id,
|
||||
pintuangroup_id: pintuangroup_id,
|
||||
voucher_id: voucher_id, // 优惠券信息
|
||||
});
|
||||
},
|
||||
// 订单步骤3:发起支付(第三方统一下单)
|
||||
@ -359,27 +364,6 @@ export default {
|
||||
addrefundall({order_id,reason_info}) {
|
||||
return vm.$u.post('order/add_refund_all',{order_id,reason_info})
|
||||
},
|
||||
//提示文字
|
||||
tips(){
|
||||
return vm.$u.post('Shop/tips')
|
||||
},
|
||||
//内容
|
||||
tipsinfo({document_code}){
|
||||
return vm.$u.post('Shop/tipInfo',{document_code})
|
||||
},
|
||||
advClick({ adv_id }) {
|
||||
return vm.$u.post('adv/advClick',{ adv_id })
|
||||
},
|
||||
//统计登录
|
||||
recordAppOpenTimes({appversion,device_type}){
|
||||
// appversion=1.0.0&device_type=android/ios
|
||||
return vm.$u.post("Member/recordAppOpenTimes",{appversion,device_type})
|
||||
},
|
||||
//统计直播间浏览次数
|
||||
// https://mall.dmygkeji.com/api/Live/countLiveBrowse?live_id=1
|
||||
countLiveBrowse({live_id}){
|
||||
return vm.$u.post("Live/countLiveBrowse",{live_id})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -154,11 +154,10 @@ export default {
|
||||
});
|
||||
},
|
||||
// 美甲-提交订单
|
||||
addManicure({ name, phone, time }) {
|
||||
addManicure({ name, time }) {
|
||||
return vm.$u.post('MemberManicure/addManicure', {
|
||||
name: name,
|
||||
phone: phone,
|
||||
// time: time
|
||||
time: time
|
||||
});
|
||||
},
|
||||
// 会员服务-积分数
|
||||
@ -376,9 +375,10 @@ export default {
|
||||
return vm.$u.post('member/getClothesTypeList');
|
||||
},
|
||||
// 送洗评价
|
||||
sendOrderComment({ id, comment, comment_img }) {
|
||||
sendOrderComment({ id, comment }) {
|
||||
return vm.$u.post('member/sendOrderComment', {
|
||||
id, comment, comment_img
|
||||
id: id,
|
||||
comment: comment,
|
||||
});
|
||||
},
|
||||
// 送洗确认完成
|
||||
@ -454,51 +454,8 @@ export default {
|
||||
//获取默认头像
|
||||
getDefaultAvatar(){
|
||||
return vm.$u.post("member/getDefaultAvatar")
|
||||
},
|
||||
// 第三方账号绑定【微信|QQ】
|
||||
bindingThird({ openid, type }) {
|
||||
return vm.$u.post("auth/memberBindThird", {
|
||||
third_openid: openid,
|
||||
third_type: type,
|
||||
})
|
||||
},
|
||||
// 解绑
|
||||
unbindingThird({ type }) {
|
||||
return vm.$u.post("auth/memberUnbindThird", {
|
||||
third_type: type,
|
||||
})
|
||||
},
|
||||
getIndustryList() {
|
||||
return vm.$u.post("Expertapply/industryList")
|
||||
},
|
||||
getHobbyList() {
|
||||
return vm.$u.post("Expertapply/hobbyList")
|
||||
},
|
||||
// 达人申请
|
||||
applyExpert({ name, mobile, idcard, address, industry, hobby }) {
|
||||
return vm.$u.post("Expertapply/expertApply", {
|
||||
name, mobile, idcard, 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,10 +21,6 @@ const store = new Vuex.Store({
|
||||
showLoginModel: false, // 登录框
|
||||
question: {}, // 帮助与反馈
|
||||
showCoupons: true, // 是否显示新人领取优惠券
|
||||
invoiceInfo: { // 是否选择发票
|
||||
invoice_type: '',
|
||||
invoice_id: 0,
|
||||
}
|
||||
},
|
||||
getters: {
|
||||
getOrderAddress(state) {
|
||||
@ -35,13 +31,6 @@ const store = new Vuex.Store({
|
||||
},
|
||||
getGoodsInfo(state) {
|
||||
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: {
|
||||
@ -94,9 +83,6 @@ const store = new Vuex.Store({
|
||||
},
|
||||
updateShowCoupons(state, status) {
|
||||
state.showCoupons = status;
|
||||
},
|
||||
setInvoiceInfo(state, invoice = {}) {
|
||||
state.invoiceInfo = invoice;
|
||||
}
|
||||
}
|
||||
})
|
||||
|
@ -9,7 +9,7 @@
|
||||
<view class="text">{{ content.geval_content }}</view>
|
||||
</view>
|
||||
<view class="image-container">
|
||||
<image :src="src" v-for="(src, index) in content.geval_image" :key="index" @click="previewImage(content.geval_image, index)" mode="aspectFit"></image>
|
||||
<image :src="src" v-for="(src, index) in content.geval_image" :key="index" @click="previewImage(content.geval_image)"></image>
|
||||
</view>
|
||||
<view class="reply" v-if="reply && content.geval_explain">
|
||||
<view class="title">掌柜回复:</view>
|
||||
@ -41,12 +41,11 @@ export default {
|
||||
if(this.content.hasOwnProperty('scores_two')) this.rate = this.content.scores_two;
|
||||
},
|
||||
methods: {
|
||||
previewImage(urls, index) {
|
||||
// console.log(urls);
|
||||
uni.previewImage({
|
||||
urls: urls,
|
||||
current: urls[index]
|
||||
});
|
||||
previewImage(urls) {
|
||||
console.log(urls);
|
||||
// uni.previewImage({
|
||||
// urls: urls,
|
||||
// });
|
||||
},
|
||||
}
|
||||
};
|
||||
|
@ -54,22 +54,23 @@
|
||||
.title{
|
||||
margin:0 auto;
|
||||
margin-top: 4rpx;
|
||||
font-size: 23rpx;
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
font-weight: 500;
|
||||
line-height: 36rpx;
|
||||
line-height: 40rpx;
|
||||
width: 300rpx;
|
||||
overflow:hidden;
|
||||
text-overflow:ellipsis;
|
||||
display:-webkit-box;
|
||||
-webkit-box-orient:vertical;
|
||||
-webkit-line-clamp:2;
|
||||
height: 80rpx;
|
||||
}
|
||||
.jianjie{
|
||||
margin:0 auto;
|
||||
margin-top: 10rpx;
|
||||
font-size: 22rpx;
|
||||
color: #656565;
|
||||
color: #666;
|
||||
line-height: 30rpx;
|
||||
width: 300rpx;
|
||||
margin-left: 18rpx;
|
||||
|
@ -73,9 +73,6 @@ export default {
|
||||
},
|
||||
methods:{
|
||||
zhibo(){
|
||||
this.$u.api.countLiveBrowse({live_id:this.zid}).then((res)=>{
|
||||
console.log(JSON.stringify(res),77)
|
||||
})
|
||||
this.$u.route({
|
||||
url:"/pages/zhibo/index",
|
||||
params:{
|
||||
@ -84,7 +81,6 @@ export default {
|
||||
rid:this.rid
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
articleAddShield() {
|
||||
console.log(this.item)
|
||||
|
@ -4,9 +4,7 @@
|
||||
<view class="time_notice">{{ item.addtime }}</view>
|
||||
<view class="notice_view">
|
||||
<image :src="item.picture" mode="aspectFill" ></image>
|
||||
<view class="text_view">
|
||||
<view class="u-line-2">{{ item.content }}</view>
|
||||
</view>
|
||||
<view class="text_view u-line-2">{{ item.content }}</view>
|
||||
<view class="notice_list">
|
||||
<text>查看详情</text>
|
||||
<u-icon name="arrow-right" color="#666"></u-icon>
|
||||
@ -30,17 +28,21 @@
|
||||
border-radius: 20rpx 20rpx 0px 0px;
|
||||
}
|
||||
.text_view{
|
||||
width: 690rpx;
|
||||
height: 120rpx;
|
||||
padding: 26rpx;
|
||||
color: #333;
|
||||
font-size:26rpx;
|
||||
line-height: 38rpx;
|
||||
font-weight:400;
|
||||
color:rgba(51,51,51,1);
|
||||
margin: 28rpx 0 30rpx 0;
|
||||
width: 643rpx;
|
||||
margin: 0 auto;
|
||||
text-align: left;
|
||||
line-height: 40rpx;
|
||||
letter-spacing: 2rpx;
|
||||
}
|
||||
.notice_view > view:nth-child(3){
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
height: 84rpx;
|
||||
line-height: 84rpx;
|
||||
border-top: 1px #F5F5F5 solid;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
}
|
||||
.time_notice{
|
||||
@ -51,11 +53,22 @@
|
||||
padding: 26rpx 0 39rpx 0;
|
||||
}
|
||||
.notice_list{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
text-align: left;
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
padding: 0 25rpx;
|
||||
margin: 0 auto;
|
||||
display: block;
|
||||
}
|
||||
.notice_list > view{
|
||||
text-align: right;
|
||||
position: absolute;
|
||||
right: 25rpx;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
margin: auto;
|
||||
|
||||
}
|
||||
|
||||
</style>
|
||||
|
@ -17,7 +17,7 @@
|
||||
<text>我已详细阅读并同意</text>
|
||||
<text class="pact_text">《用户协议》</text>
|
||||
<text class="pact_text">《隐私协议》</text>
|
||||
<!-- <text class="pact_text">《使用协议》</text> -->
|
||||
<text class="pact_text">《使用协议》</text>
|
||||
<u-checkbox-group @change="checkboxGroupChange" size="27">
|
||||
<u-checkbox @change="checkboxChange" v-model="item.checked" v-for="(item, index) in list" :key="index" :name="item.name"
|
||||
shape="circle" size="14" active-color="#19BE6B"></u-checkbox>
|
||||
|
@ -6,8 +6,8 @@
|
||||
</view>
|
||||
<view class="user-comment">
|
||||
<view class="text u-line-2">{{ info.comment }}</view>
|
||||
<view class="image" v-if="info.comment_img">
|
||||
<image :src="info.comment_img" mode="aspectFit" @click="previewImage(info.comment_img)"></image>
|
||||
<view class="image">
|
||||
<image v-for="(src, index) in info.images" :key="index" :src="src" mode="aspectFit"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -19,14 +19,6 @@ export default {
|
||||
},
|
||||
props: {
|
||||
info: Object,
|
||||
},
|
||||
methods: {
|
||||
previewImage(urls) {
|
||||
const imagesUrl = [urls];
|
||||
uni.previewImage({
|
||||
urls: imagesUrl,
|
||||
});
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@ -55,12 +47,12 @@ export default {
|
||||
font-size: 26rpx;
|
||||
color: rgba(51,51,51,1);
|
||||
line-height: 40rpx;
|
||||
margin-bottom: 19rpx;
|
||||
}
|
||||
.image {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
> image {
|
||||
margin-top: 20rpx;
|
||||
width: 210rpx;
|
||||
height: 210rpx;
|
||||
border-radius: 10rpx;
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<view class="c-coupon" v-if="goodsClass.length" @click="use">
|
||||
<view :class="couponInfo.voucher_state != 1 ? 'coupon-unable' : 'coupon-usable'" :style="{'width': type ? '650rpx' : '' }">
|
||||
<view class="c-coupon" v-if="goodsClass.length">
|
||||
<view :class="couponInfo.voucher_state != 1 ? 'coupon-unable' : 'coupon-usable'">
|
||||
<view class="info-type" :style="{ backgroundImage: 'url(' + (couponInfo.voucher_state == 1 ? '/static/image/mine/30.png' : '/static/image/mine/31.png') + ')', backgroundSize:'contain', backgroundRepeat: 'no-repeat' }">
|
||||
<div class="wrap_left_top" v-if="couponInfo.type == 1">{{ couponInfo.vouchertemplate_id == 1 ? '新人专享' : '平台优惠券' }}</div>
|
||||
<div class="wrap_left_top" v-else-if="couponInfo.type == 2">店铺优惠券</div>
|
||||
@ -14,13 +14,12 @@
|
||||
<view class="info-integral">兑换积分:{{ couponInfo.voucher_points }}积分</view>
|
||||
<view class="info-date">有效期{{ couponInfo.voucher_startdate }}-{{ couponInfo.voucher_enddate }}</view>
|
||||
</view>
|
||||
<view class="coupon-btn" :style="{'right': type ? '110rpx' : '' }">
|
||||
<text v-if="couponInfo.voucher_state == 1">立即使用</text>
|
||||
<view class="coupon-btn">
|
||||
<text v-if="couponInfo.voucher_state == 1" @click="use">立即使用</text>
|
||||
<image v-if="couponInfo.voucher_state == 2" src="/static/image/mine/28.png"></image>
|
||||
<image v-if="couponInfo.voucher_state == 3" src="/static/image/mine/29.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
<image v-if="type" style="width:35rpx;height:35rpx;margin-left:14rpx;" :src="'/static/image/mine/' + (sel ? '41.png' : '42.png') "></image>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
@ -38,8 +37,6 @@ export default {
|
||||
status: Number,
|
||||
couponInfo: Object,
|
||||
goodsClass: Array,
|
||||
type:Boolean,
|
||||
sel:Boolean
|
||||
},
|
||||
created() {
|
||||
// console.log(this.goodsClass);
|
||||
@ -56,7 +53,6 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
use() {
|
||||
if(this.couponInfo.voucher_state != 1) return;
|
||||
this.$emit('use', this.couponInfo);
|
||||
},
|
||||
},
|
||||
@ -67,8 +63,6 @@ export default {
|
||||
position: relative;
|
||||
z-index: 9;
|
||||
margin-bottom: 30rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@mixin coupon-image($url) {
|
||||
width: 690rpx;
|
||||
height: 194rpx;
|
||||
|
@ -8,7 +8,7 @@
|
||||
<view class="order-status">{{ state }}</view>
|
||||
</view>
|
||||
<view class="goods-info">
|
||||
<view class="goods-item" @click="toOtherPage('Details')" v-for="(goods,index) in order.extend_order_goods" :key="index">
|
||||
<view class="goods-item" @click="toOtherPage('Details')" v-for="goods in order.extend_order_goods" :key="goods.goods_id">
|
||||
<image :src="goods.goods_image"></image>
|
||||
<view class="goods-text">
|
||||
<view class="goods-name u-line-2">{{ goods.goods_name }}</view>
|
||||
@ -25,7 +25,7 @@
|
||||
<view class="order-btn" v-if="[1, 2, 3, 4, 8, 11].indexOf(order.view_type) >= 0">
|
||||
<!-- || order.view_type == 2 -->
|
||||
<view class="cancel" v-if="(order.view_type == 3 || order.view_type == 2) && order.is_refund == 1" @click="toOtherPage('RefundOrder')">申请退款</view>
|
||||
<view class="cancel" v-if="order.view_type == 3 && order.shipping_code && (order.store_deliver_type ? order.store_deliver_type != 3 : order.member_deliver_type != 3)" @click="toOtherPage('Logistics')">查看物流</view>
|
||||
<view class="cancel" v-if="order.view_type == 3 && order.shipping_code" @click="toOtherPage('Logistics')">查看物流</view>
|
||||
<view class="logistics" v-if="order.view_type == 3" @click="confirmReceive">确认收货</view>
|
||||
<view class="comment" v-if="order.view_type == 4" @click="toOtherPage('Comment')">立即评价</view>
|
||||
<view class="cancel" v-if="order.view_type == 1" @click="cancelOrder">取消支付</view>
|
||||
@ -67,6 +67,7 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
cancelOrder() {
|
||||
this.$u.api.cancelOrder({
|
||||
order_id: this.order.order_id,
|
||||
@ -130,7 +131,7 @@ export default {
|
||||
state = '待退款';
|
||||
break;
|
||||
case 7:
|
||||
state = '商家已退款';
|
||||
state = '已退款';
|
||||
break;
|
||||
case 9:
|
||||
state = '拼团中';
|
||||
@ -139,10 +140,7 @@ export default {
|
||||
state = '已取消';
|
||||
break;
|
||||
case 11:
|
||||
state = '商家已拒绝';
|
||||
break;
|
||||
case 12:
|
||||
state = '平台已退款';
|
||||
state = '已拒绝';
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -12,7 +12,9 @@
|
||||
<image :src="order.goods_image"></image>
|
||||
<view class="goods-text">
|
||||
<view class="goods-name u-line-2">{{ order.goods_name }}</view>
|
||||
<view class="goods-sku u-line-1" v-if="order.goods_spec">{{ order.goods_spec | concatSpec }}</view>
|
||||
<!-- <view class="goods-sku u-line-1" v-if="order.order_state !== 20 && order.order_state !== 40 && goods.goods_spec">
|
||||
<text v-for="(spec, index) in goods.goods_spec" :key="index">{{ spec + ';' }}</text>
|
||||
</view> -->
|
||||
<!-- <view class="goods-time u-line-1" v-if="order.order_state == 10 || order.order_state == 10">结束时间:{{ order.add_time * 1000 | date('yyyy-mm-dd hh:MM') }}</view> -->
|
||||
</view>
|
||||
</view>
|
||||
@ -36,18 +38,7 @@ export default {
|
||||
created() {
|
||||
this.viewState();
|
||||
},
|
||||
filters: {
|
||||
concatSpec(value) {
|
||||
let spec = '';
|
||||
for (const key in value) {
|
||||
if (value.hasOwnProperty(key)) {
|
||||
const element = value[key];
|
||||
spec = spec + element + ';'
|
||||
}
|
||||
}
|
||||
return spec;
|
||||
}
|
||||
},
|
||||
filters: {},
|
||||
methods: {
|
||||
// "goods_try_order_status": 0, 试穿订单状态 0:待处理订单 20:同意 40:拒绝此订单 50:完成
|
||||
viewState() {
|
||||
@ -140,7 +131,6 @@ export default {
|
||||
line-height: 38rpx;
|
||||
}
|
||||
.goods-sku {
|
||||
align-self: baseline;
|
||||
max-width: 230rpx;
|
||||
background: rgba(236,236,236,1);
|
||||
border-radius: 6rpx;
|
||||
|
@ -22,7 +22,7 @@
|
||||
<view class="swiper-item uni-bg-red">
|
||||
<image :src=" 'https://' + item.launch_path"></image>
|
||||
</view>
|
||||
<view class="btn-init" v-if="parseInt(index) == list.length - 1" @click="goNext">立即体验</view>
|
||||
<view class="btn-init" v-if="parseInt(index) == 2" @click="goNext">立即体验</view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
</view>
|
||||
@ -33,16 +33,12 @@
|
||||
<!-- 用户协议弹窗 -->
|
||||
<view class="welcome_backes" v-if="protocol">
|
||||
<view class="content">
|
||||
<!-- <view class="title">{{ agreement.document_title }}</view> -->
|
||||
<view class="title">用户协议</view>
|
||||
<view class="title">{{ agreement.document_title }}</view>
|
||||
<!-- <text class="protocol_content"></text> -->
|
||||
<scroll-view scroll-y class="scroll">
|
||||
<rich-text class="protocol_content" :nodes="agreement.document_content"></rich-text>
|
||||
</scroll-view>
|
||||
<view class="agree-btn">
|
||||
<view class="refuse" @click="refuseAgreement">不同意并退出</view>
|
||||
<view class="to_agree" @click="to_agree">同意</view>
|
||||
</view>
|
||||
<view class="to_agree" @click="to_agree">我同意</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -78,7 +74,7 @@
|
||||
duration: 500,
|
||||
swiper_index: "",
|
||||
tiaoguo:false,
|
||||
weizhi:0,
|
||||
weizhi:0
|
||||
};
|
||||
},
|
||||
onReady: function(res) {
|
||||
@ -169,21 +165,6 @@
|
||||
url: '/pageA/login/login'
|
||||
});
|
||||
},
|
||||
// 拒绝协议
|
||||
refuseAgreement() {
|
||||
//退出app
|
||||
// #ifdef APP-PLUS
|
||||
if (plus.os.name.toLowerCase() === 'android') {
|
||||
plus.runtime.quit();
|
||||
} else{
|
||||
const threadClass = plus.ios.importClass("NSThread");
|
||||
const mainThread = plus.ios.invoke(threadClass, "mainThread");
|
||||
plus.ios.invoke(mainThread, "exit");
|
||||
// ios11
|
||||
plus.ios.import("UIApplication").sharedApplication().performSelector("exit")
|
||||
}
|
||||
// #endif
|
||||
},
|
||||
// 视频引入
|
||||
bindInputBlur: function(e) {
|
||||
this.inputValue = e.target.value;
|
||||
@ -346,37 +327,15 @@
|
||||
}
|
||||
}
|
||||
|
||||
.agree-btn {
|
||||
border-top: #D8D8D8 solid 1rpx;
|
||||
// padding-top: 27rpx;
|
||||
display: flex;
|
||||
height: 80rpx;
|
||||
> view {
|
||||
height: inherit;
|
||||
flex: 1;
|
||||
.to_agree {
|
||||
width: 558rpx;
|
||||
font-size: 30rpx;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
line-height: 80rpx;
|
||||
}
|
||||
.refuse {
|
||||
color: #999;
|
||||
position: relative;
|
||||
&:after {
|
||||
content: "";
|
||||
height: 80rpx;
|
||||
width: 1rpx;
|
||||
background-color: #D8D8D8;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
.to_agree {
|
||||
color: rgba(255, 121, 16, 1);
|
||||
text-align: center;
|
||||
padding-top: 27rpx;
|
||||
border-top: #D8D8D8 solid 1px;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</style>
|
@ -110,6 +110,7 @@ export default {
|
||||
left: 0;
|
||||
top: 0;
|
||||
z-index: 8;
|
||||
background-color: aqua;
|
||||
}
|
||||
&:last-child {
|
||||
left: 32rpx;
|
||||
|
@ -33,7 +33,7 @@ export default {
|
||||
border-radius: 50%;
|
||||
}
|
||||
>text{
|
||||
max-width: 100rpx;
|
||||
width: 100rpx;
|
||||
margin-top: 14rpx;
|
||||
font-size: 24rpx;
|
||||
color: #333;
|
||||
|
@ -2,8 +2,8 @@
|
||||
"name" : "德铭阳光",
|
||||
"appid" : "__UNI__EBFF00A",
|
||||
"description" : "",
|
||||
"versionName" : "1.0.1",
|
||||
"versionCode" : 107,
|
||||
"versionName" : "1.0.0",
|
||||
"versionCode" : "100",
|
||||
"transformPx" : false,
|
||||
/* 5+App特有相关 */
|
||||
"app-plus" : {
|
||||
@ -16,13 +16,6 @@
|
||||
"autoclose" : true,
|
||||
"delay" : 0
|
||||
},
|
||||
"safearea" : {
|
||||
//安全区域配置,仅iOS平台生效
|
||||
"bottom" : {
|
||||
// 底部安全区域配置
|
||||
"offset" : "none" // 底部安全区域偏移,"none"表示不空出安全区域,"auto"自动计算空出安全区域,默认值为"none"
|
||||
}
|
||||
},
|
||||
/* 模块配置 */
|
||||
"modules" : {
|
||||
"OAuth" : {},
|
||||
@ -67,13 +60,7 @@
|
||||
"abiFilters" : [ "armeabi-v7a", "x86" ]
|
||||
},
|
||||
/* ios打包配置 */
|
||||
"ios" : {
|
||||
"privacyDescription" : {
|
||||
"NSLocationAlwaysAndWhenInUseUsageDescription" : "德铭阳光将在推荐商品、收货地址等服务中使用您的位置信息。",
|
||||
"NSLocationWhenInUseUsageDescription" : "德铭阳光将在推荐商品、收货地址等服务中使用您的位置信息。",
|
||||
"NSLocationAlwaysUsageDescription" : "德铭阳光将在推荐商品、收货地址等服务中使用您的位置信息。"
|
||||
}
|
||||
},
|
||||
"ios" : {},
|
||||
/* SDK配置 */
|
||||
"sdkConfigs" : {
|
||||
"ad" : {},
|
||||
@ -125,22 +112,22 @@
|
||||
},
|
||||
"icons" : {
|
||||
"android" : {
|
||||
"hdpi" : "unpackage/res/icons/72x72.png",
|
||||
"xhdpi" : "unpackage/res/icons/96x96.png",
|
||||
"xxhdpi" : "unpackage/res/icons/144x144.png",
|
||||
"xxxhdpi" : "unpackage/res/icons/192x192.png"
|
||||
"hdpi" : "E:/Source-code/appleidmore/安卓png/72x72psd.PNG",
|
||||
"xhdpi" : "E:/Source-code/appleidmore/安卓png/96x96psd.PNG",
|
||||
"xxhdpi" : "E:/Source-code/appleidmore/安卓png/144x144.PNG",
|
||||
"xxxhdpi" : "E:/Source-code/appleidmore/安卓png/192x192.PNG"
|
||||
},
|
||||
"ios" : {
|
||||
"appstore" : "unpackage/res/icons/1024x1024.png",
|
||||
"appstore" : "E:/Source-code/appleidmore/苹果png/appstore 1024X1024.PNG",
|
||||
"iphone" : {
|
||||
"app@2x" : "unpackage/res/icons/120x120.png",
|
||||
"app@3x" : "unpackage/res/icons/180x180.png",
|
||||
"spotlight@2x" : "unpackage/res/icons/80x80.png",
|
||||
"spotlight@3x" : "unpackage/res/icons/120x120.png",
|
||||
"settings@2x" : "unpackage/res/icons/58x58.png",
|
||||
"settings@3x" : "unpackage/res/icons/87x87.png",
|
||||
"notification@2x" : "unpackage/res/icons/40x40.png",
|
||||
"notification@3x" : "unpackage/res/icons/60x60.png"
|
||||
"app@2x" : "E:/Source-code/appleidmore/苹果png/120x120.PNG",
|
||||
"app@3x" : "E:/Source-code/appleidmore/苹果png/180x180.PNG",
|
||||
"spotlight@2x" : "E:/Source-code/appleidmore/苹果png/80x80.PNG",
|
||||
"spotlight@3x" : "E:/Source-code/appleidmore/苹果png/120x120.PNG",
|
||||
"settings@2x" : "E:/Source-code/appleidmore/苹果png/58x58psd.PNG",
|
||||
"settings@3x" : "E:/Source-code/appleidmore/苹果png/87X87.PNG",
|
||||
"notification@2x" : "E:/Source-code/appleidmore/苹果png/40X40.PNG",
|
||||
"notification@3x" : "E:/Source-code/appleidmore/苹果png/60X60.PNG"
|
||||
},
|
||||
"ipad" : {
|
||||
"app" : "unpackage/res/icons/76x76.png",
|
||||
|
@ -41,7 +41,7 @@
|
||||
timer: null,
|
||||
is_sendcode: false, // 60s
|
||||
time_count: 60,
|
||||
pactList: [ "《用户协议》", "《隐私协议》" ],
|
||||
pactList: [ "《用户协议》", "《隐私协议》", "《使用协议》" ],
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
|
@ -34,8 +34,7 @@
|
||||
<!-- 注册 -->
|
||||
<view class="more_Login">
|
||||
<text @click="registerUrl()">{{register}}</text>
|
||||
<!-- TODO 苹果因审核原因暂时隐藏第三方登录 -->
|
||||
<text v-if="platform != 'ios'" class="other" @click="mask_u">其他方式登录</text>
|
||||
<text class="other" @click="mask_u">其他方式登录</text>
|
||||
</view>
|
||||
<!-- denglu QQ weixin -->
|
||||
<view class="buttones">
|
||||
@ -93,27 +92,17 @@
|
||||
}, {
|
||||
"id": '2',
|
||||
"text": "《隐私协议》"
|
||||
},
|
||||
// {
|
||||
// "id": '3',
|
||||
// "text": "《使用协议》"
|
||||
// },
|
||||
],
|
||||
}, {
|
||||
"id": '3',
|
||||
"text": "《使用协议》"
|
||||
}, ],
|
||||
temp_url: "", // 上个页面路径
|
||||
pagesArr: ["pages/mine/index"], // 特殊路径
|
||||
platform: '', // 手机平台
|
||||
};
|
||||
},
|
||||
onLoad() {
|
||||
// 数据的请求
|
||||
// this.apiwelcome();
|
||||
// 获取手机平台
|
||||
uni.getSystemInfo({
|
||||
success: (res) => {
|
||||
console.log(res);
|
||||
this.platform = res.platform
|
||||
}
|
||||
});
|
||||
},
|
||||
onShow() {
|
||||
let pages = getCurrentPages();
|
||||
|
@ -82,11 +82,10 @@
|
||||
}, {
|
||||
"id": '2',
|
||||
"text": "《隐私协议》"
|
||||
}, {
|
||||
"id": '3',
|
||||
"text": "《使用协议》"
|
||||
},
|
||||
// {
|
||||
// "id": '3',
|
||||
// "text": "《使用协议》"
|
||||
// },
|
||||
|
||||
]
|
||||
};
|
||||
|
@ -3,7 +3,7 @@
|
||||
<view class="label-list">
|
||||
<view v-for="(label, index) in evaluateSpec" :key="index" :class="{'active': current == index}" @click="current=index">{{ index + '(' + label + ')' }}</view>
|
||||
</view>
|
||||
<view class="comment-container" v-if="isShow">
|
||||
<view class="comment-container">
|
||||
<view v-for="(item, index) in evalueList" :key="index" class="itme">
|
||||
<comment :reply="true" :content="item"></comment>
|
||||
</view>
|
||||
@ -25,7 +25,6 @@ export default {
|
||||
evaluateSpec: {},
|
||||
loadStatus: 'loadmore',
|
||||
timer: true,
|
||||
isShow: false, // 是否显示组建
|
||||
}
|
||||
},
|
||||
components: {
|
||||
@ -51,7 +50,7 @@ export default {
|
||||
if(!this.timer) return false;
|
||||
this.loadStatus = "loading";
|
||||
this.page++;
|
||||
this.getAllEvalue({ type: this.current, load: 'loadmore' }).then(length => {
|
||||
this.getAllEvalue({ type: this.current, load: 'more' }).then(length => {
|
||||
if(length == 0) {
|
||||
this.page--;
|
||||
this.loadStatus = 'nomore';
|
||||
@ -73,17 +72,15 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
async getAllEvalue({ type, load = 'reload' } = {}) {
|
||||
async getAllEvalue({ type, load } = {}) {
|
||||
let params = {
|
||||
goods_id: this.id,
|
||||
page: this.page,
|
||||
}
|
||||
if(type) Object.assign(params, { type: type });
|
||||
this.isShow = false;
|
||||
const res = await this.$u.api.getAllEvalue(params);
|
||||
this.isShow = true;
|
||||
if (res.errCode == 0) {
|
||||
if(load == 'loadmore') this.evalueList.push(...res.data);
|
||||
if(load) this.evalueList.push(...res.data);
|
||||
else this.evalueList = res.data;
|
||||
} else {
|
||||
this.evalueList = [];
|
||||
|
@ -37,10 +37,6 @@
|
||||
<text>{{ goodsInfo.is_collect == 1 ? '已收藏' : '收藏' }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="shuliang">
|
||||
<text>历史销售数量:{{goodsInfo.goods_salenum}}</text>
|
||||
<text>库存仅剩数量:{{goodsInfo.goods_storage}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="hr"></view>
|
||||
<!-- <navs :value="领券"></navs> -->
|
||||
@ -49,7 +45,7 @@
|
||||
<!-- <navs :value="'选择尺码'"></navs> -->
|
||||
<view class="comment">
|
||||
<view class="title">
|
||||
<view class="left">商品评价({{ evaluate.evaluate_num || '0' }})</view>
|
||||
<view class="left">商品评价({{ evaluate.evaluate_num }})</view>
|
||||
<view class="right" @click="viewComment">
|
||||
<text>查看全部</text>
|
||||
<image src="/static/image/common/1.png"></image>
|
||||
@ -780,14 +776,6 @@ export default {
|
||||
.goods-name {
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
}
|
||||
.shuliang{
|
||||
padding-top: 33rpx;
|
||||
font-size: 24rpx;
|
||||
color:#656565;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.price-collect {
|
||||
display: flex;
|
||||
@ -1202,10 +1190,9 @@ export default {
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
position: fixed;
|
||||
height: 98rpx;
|
||||
width: 100%;
|
||||
bottom:0;
|
||||
left: 0;
|
||||
padding-bottom: env(safe-area-inset-bottom);
|
||||
// border-top: 1rpx solid #ececec;
|
||||
z-index: 10076;
|
||||
.navs{
|
||||
@ -1265,7 +1252,6 @@ export default {
|
||||
font-size: 30rpx;
|
||||
color: #ff3131;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
.num {
|
||||
|
@ -1,33 +0,0 @@
|
||||
<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,6 +500,7 @@
|
||||
|
||||
.container {
|
||||
position: relative;
|
||||
background-color: #FF0000 !important;
|
||||
}
|
||||
|
||||
/* 关闭 */
|
||||
|
@ -34,30 +34,21 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-info">
|
||||
<view class="show-view" @click="showCoupon({type: 2, store_id: item[0].store_id})" v-if="orderType == 1 || orderType == 5">
|
||||
<view @click="showCoupon({type: 2, store_id: item[0].store_id})" v-if="orderType == 1 || orderType == 5">
|
||||
<view class="title">优惠券折扣</view>
|
||||
<view class="value">
|
||||
<view>-¥{{ storeCoupon[item[0].store_id] ? storeCoupon[item[0].store_id].voucher_price.toFixed(2) : '0.00' }}</view>
|
||||
<image src="../static/image/1.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="show-view">
|
||||
<view>
|
||||
<view class="title">运费</view>
|
||||
<view class="value">
|
||||
<view v-if="freight">¥{{ freight | setFreight(index) }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="remark">
|
||||
<view class="title">订单备注</view>
|
||||
<u-input v-model="remark[index]" type="textarea" style="margin-top:-5rpx" :height="88" placeholder="选填" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="pick-up" v-if="delivery.type == 3">
|
||||
<view class="title">自提地址</view>
|
||||
<view class="content">{{ orderInfo.store_list[index].store_address }}</view>
|
||||
</view>
|
||||
<view class="store-total">共{{ item | getTotalNum }}件 小计:<text>¥{{ orderInfo.store_goods_total[index] | getStorePrice(storeCoupon, index) }}</text></view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="common-active">
|
||||
<view @click="showCoupon({type: 1})" v-if="orderType == 1 || orderType == 5">
|
||||
@ -74,26 +65,18 @@
|
||||
<image src="../static/image/1.png"></image>
|
||||
</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>
|
||||
<u-popup v-model="couponStatus" mode="bottom">
|
||||
<scroll-view class="coupon-choose" scroll-y style="height: 50vh;" v-if="this.couponType.type == 1">
|
||||
<view class="title">优惠券详情</view>
|
||||
<view class="text">平台优惠券</view>
|
||||
<Coupon :couponInfo="coupon" @use="useCoupon($event)" :goodsClass="goodsClass" v-for="(coupon, index) in orderInfo.store_voucher_all_list" :key="index" :type="true" :sel="coupon.sel"></Coupon>
|
||||
<Coupon :couponInfo="coupon" @use="useCoupon($event)" :goodsClass="goodsClass" v-for="(coupon, index) in orderInfo.store_voucher_all_list" :key="index"></Coupon>
|
||||
<u-empty text="无可用优惠券" mode="coupon" v-if="!orderInfo.store_voucher_all_list.length" style="height: 200rpx"></u-empty>
|
||||
</scroll-view>
|
||||
<scroll-view class="coupon-choose" scroll-y style="height: 50vh;" v-if="this.couponType.type == 2">
|
||||
<view class="title">优惠券详情</view>
|
||||
<view class="text">店铺优惠券</view>
|
||||
<Coupon :couponInfo="coupon" @use="useCoupon($event)" :goodsClass="goodsClass" v-for="(coupon, index) in orderInfo.store_voucher_list[this.couponType.store_id]" :key="index" :type="true" :sel="coupon.sel"></Coupon>
|
||||
<Coupon :couponInfo="coupon" @use="useCoupon($event)" :goodsClass="goodsClass" v-for="(coupon, index) in orderInfo.store_voucher_list[this.couponType.store_id]" :key="index"></Coupon>
|
||||
<u-empty text="无可用优惠券" mode="coupon" v-if="!orderInfo.store_voucher_list[this.couponType.store_id].length" style="height: 200rpx"></u-empty>
|
||||
</scroll-view>
|
||||
</u-popup>
|
||||
@ -124,23 +107,13 @@ export default {
|
||||
deliveryList: [{
|
||||
text: '快递',
|
||||
value: 'express',
|
||||
disabled: false,
|
||||
type: 1,
|
||||
}, {
|
||||
text: '骑手',
|
||||
value: 'takeawayer',
|
||||
disabled: false,
|
||||
type: 2,
|
||||
}, {
|
||||
text: '自提',
|
||||
value: 'selfraising',
|
||||
disabled: false,
|
||||
type: 3,
|
||||
}],
|
||||
delivery: {
|
||||
text: '快递',
|
||||
value: 'express',
|
||||
type: 1,
|
||||
}, // 配送方式
|
||||
couponList: [],
|
||||
couponStatus: false,
|
||||
@ -150,35 +123,12 @@ export default {
|
||||
goodsClass: [],
|
||||
orderType: '', // 订单类型 1 普通订单 2 拼团订单 3 秒杀订单 4 优惠券 5 购物车订单
|
||||
debounce: true,
|
||||
hasInvoice: 0,
|
||||
remark: {}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
Coupon
|
||||
},
|
||||
filters: {
|
||||
// 店铺总数量
|
||||
getTotalNum(data, coupon) {
|
||||
let num = 0;
|
||||
data.forEach(item => {
|
||||
num += item.goods_num;
|
||||
})
|
||||
return num;
|
||||
},
|
||||
// 店铺总金额
|
||||
getStorePrice(price, coupon, index) {
|
||||
for (const key in coupon) {
|
||||
if (coupon.hasOwnProperty(key)) {
|
||||
const element = coupon[key];
|
||||
if(index == key) {
|
||||
price -= Number(element.voucher_price);
|
||||
}
|
||||
}
|
||||
}
|
||||
return price;
|
||||
},
|
||||
// 订单总数量
|
||||
setTotalNumber(data) {
|
||||
let num = 0;
|
||||
for (const key in data) {
|
||||
@ -198,11 +148,8 @@ export default {
|
||||
onLoad(option) {
|
||||
this.orderType = this.$store.state.orderType;
|
||||
this.orderInfo = this.$store.state.orderInfo;
|
||||
// 判断是否可选自提
|
||||
if(!this.orderInfo.is_selfraising) this.deliveryList[2].disabled = true;
|
||||
// console.log('orderType' + this.orderType);
|
||||
// console.log(this.orderInfo);
|
||||
this.initRemark();
|
||||
this.getGoodsClass();
|
||||
this.setTotalPrice();
|
||||
},
|
||||
@ -216,13 +163,9 @@ export default {
|
||||
} else {
|
||||
if(this.$store.getters.getOrderAddress) this.addressInfo = this.$store.state.orderAddress;
|
||||
}
|
||||
// 是否开发票
|
||||
this.hasInvoice = this.$store.getters.hasInvoice;
|
||||
// console.log(this.hasInvoice);
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.$store.commit('updateAddress', {});
|
||||
this.$store.commit('setInvoiceInfo', {});
|
||||
},
|
||||
watch: {
|
||||
'$store.state.orderAddress'(value) {
|
||||
@ -231,17 +174,6 @@ export default {
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
initRemark() {
|
||||
// 初始化备注
|
||||
const obj = this.orderInfo.store_cart_list;
|
||||
for (const key in obj) {
|
||||
if (obj.hasOwnProperty(key)) {
|
||||
const element = obj[key];
|
||||
this.remark[key] = '';
|
||||
}
|
||||
}
|
||||
console.log(this.remark);
|
||||
},
|
||||
// 如果有pintuangroup_headid为参团不然为开团
|
||||
async withImmediate(type) {
|
||||
let params = {
|
||||
@ -250,10 +182,8 @@ export default {
|
||||
// console.log(this.orderInfo);
|
||||
// console.log(this.$store.state.pintuangroup_headid);
|
||||
if(this.orderInfo.pintuangroup_id) {
|
||||
Object.assign(params, {
|
||||
pintuangroup_headid: this.$store.state.pintuangroup_headid,
|
||||
pintuangroup_id: this.orderInfo.pintuangroup_id
|
||||
});
|
||||
Object.assign(params, { pintuangroup_headid: this.$store.state.pintuangroup_headid });
|
||||
Object.assign(params, { pintuangroup_id: this.orderInfo.pintuangroup_id });
|
||||
}
|
||||
console.log(params);
|
||||
this.$u.api.withImmediate(params).then(res => {
|
||||
@ -268,7 +198,6 @@ export default {
|
||||
})
|
||||
},
|
||||
intermediate() {
|
||||
console.log(this.remark);
|
||||
if(!this.debounce) return;
|
||||
this.debounce = false;
|
||||
if(this.orderType == 2) {
|
||||
@ -320,9 +249,6 @@ export default {
|
||||
cart_id: id,
|
||||
address_id: this.addressInfo.address_id,
|
||||
buy_city_id: this.addressInfo.city_id,
|
||||
member_deliver_type: this.delivery.type,
|
||||
invoice_id: this.$store.getters.getInvoiceId, // 发票抬头ID,不开票传0
|
||||
pay_message: this.remark,
|
||||
}
|
||||
if(coupon.length) Object.assign(params, { voucher_id: coupon });
|
||||
if(this.orderType == 2) {
|
||||
@ -330,14 +256,13 @@ export default {
|
||||
if(this.orderInfo.pintuangroup_id) Object.assign(params, { pintuangroup_id: this.orderInfo.pintuangroup_id });
|
||||
}
|
||||
// console.log(params);
|
||||
// return;
|
||||
this.$u.api.sendOrder(params).then(res => {
|
||||
if(res.errCode == 0) {
|
||||
this.$u.route({
|
||||
type: 'redirect',
|
||||
url: '/pageC/cart/cashier',
|
||||
params: {
|
||||
ifcart: ifcart,
|
||||
ifcart: params.ifcart,
|
||||
pay_sn: res.data.pay_sn,
|
||||
price: res.data.order_total_amount,
|
||||
order_id: res.data.order_list[0].order_id,
|
||||
@ -357,37 +282,15 @@ export default {
|
||||
this.couponStatus = true;
|
||||
},
|
||||
useCoupon(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 == 1) this.choiceCoupon = coupon;
|
||||
if(this.couponType.type == 2) {
|
||||
this.storeCoupon = {}
|
||||
for(let i in this.orderInfo.store_voucher_list[this.couponType.store_id]){
|
||||
console.log(this.orderInfo.store_voucher_list[this.couponType.store_id][i])
|
||||
if(this.orderInfo.store_voucher_list[this.couponType.store_id][i].voucher_id == coupon.voucher_id && !this.orderInfo.store_voucher_list[this.couponType.store_id][i].sel){
|
||||
this.orderInfo.store_voucher_list[this.couponType.store_id][i].sel = true
|
||||
Object.assign(this.storeCoupon, {
|
||||
[this.couponType.store_id]: coupon
|
||||
})
|
||||
}else{
|
||||
this.orderInfo.store_voucher_list[this.couponType.store_id][i].sel = false
|
||||
}
|
||||
}
|
||||
this.$forceUpdate()
|
||||
}
|
||||
// console.log(this.choiceCoupon);
|
||||
// console.log(this.storeCoupon);
|
||||
// this.couponStatus = false;
|
||||
this.couponStatus = false;
|
||||
this.setTotalPrice(); // 计算总价
|
||||
},
|
||||
getFreight() {
|
||||
@ -448,29 +351,13 @@ export default {
|
||||
// console.log("price:" + price);
|
||||
this.totalPrice = (price + freight).toFixed(2);
|
||||
},
|
||||
async setDelivery(index) {
|
||||
// console.log(index);
|
||||
setDelivery(index) {
|
||||
if(index == 1) {
|
||||
if(!this.isTakeawayer) {
|
||||
this.$u.toast('此地区不支持骑手配送');
|
||||
if(!this.isTakeawayer) this.$u.toast('此地区不支持骑手配送');
|
||||
return false;
|
||||
}
|
||||
this.delivery = this.deliveryList[index];
|
||||
this.getFreight();
|
||||
}
|
||||
if(index == 2) {
|
||||
for (const key in this.freight) {
|
||||
if (this.freight.hasOwnProperty(key)) {
|
||||
this.freight[key] = '0.00';
|
||||
}
|
||||
}
|
||||
this.setTotalPrice(); // 计算总价
|
||||
this.delivery = this.deliveryList[index];
|
||||
}
|
||||
if(index == 0) {
|
||||
this.delivery = this.deliveryList[index];
|
||||
this.getFreight();
|
||||
}
|
||||
},
|
||||
settlement() {
|
||||
uni.navigateTo({
|
||||
@ -486,10 +373,7 @@ export default {
|
||||
uni.navigateTo({
|
||||
url: '/pageE/more/Address?type=choose'
|
||||
});
|
||||
},
|
||||
selectInvoice() {
|
||||
this.$u.route('/pageC/cart/selectInvoice');
|
||||
},
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
@ -498,7 +382,6 @@ export default {
|
||||
min-height: calc(100vh - var(--window-top));
|
||||
background-color: #ECECEC;
|
||||
padding-top: 1rpx;
|
||||
padding-bottom: 200rpx;
|
||||
.info-address {
|
||||
padding: 30rpx;
|
||||
display: flex;
|
||||
@ -561,7 +444,7 @@ export default {
|
||||
height: 60rpx;
|
||||
border-radius: 50%;
|
||||
margin-right: 15rpx;
|
||||
// background-color: aquamarine;
|
||||
background-color: aquamarine;
|
||||
}
|
||||
> view {
|
||||
font-size: 28rpx;
|
||||
@ -569,7 +452,6 @@ export default {
|
||||
margin-right: 15rpx;
|
||||
}
|
||||
.right {
|
||||
margin-left: auto;
|
||||
flex-shrink: 0;
|
||||
width: 11rpx;
|
||||
height: 22rpx;
|
||||
@ -587,7 +469,7 @@ export default {
|
||||
width: 180rpx;
|
||||
height: 160rpx;
|
||||
border-radius: 10rpx;
|
||||
// background-color: aqua;
|
||||
background-color: aqua;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.info {
|
||||
@ -630,7 +512,7 @@ export default {
|
||||
}
|
||||
}
|
||||
.order-info {
|
||||
.show-view {
|
||||
> view {
|
||||
height: 98rpx;
|
||||
background: rgba(255,255,255,1);
|
||||
padding: 35rpx 30rpx;
|
||||
@ -655,53 +537,11 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
.remark {
|
||||
background: rgba(255,255,255,1);
|
||||
padding: 35rpx 30rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 2rpx;
|
||||
.title {
|
||||
font-size: 28rpx;
|
||||
color: rgba(102,102,102,1);
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
/deep/ .u-input {
|
||||
font-size: 28rpx;
|
||||
.u-input__textarea {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.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;
|
||||
}
|
||||
}
|
||||
.store-total {
|
||||
text-align: right;
|
||||
padding: 34rpx 30rpx;
|
||||
background: rgba(255,255,255,1);
|
||||
font-size: 28rpx;
|
||||
color: #656565;
|
||||
> text {
|
||||
color: #FF770F;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.common-active {
|
||||
padding-bottom: 30rpx;
|
||||
padding-bottom: 200rpx;
|
||||
> view {
|
||||
height: 98rpx;
|
||||
background: rgba(255,255,255,1);
|
||||
@ -719,9 +559,6 @@ export default {
|
||||
align-items: center;
|
||||
font-size: 30rpx;
|
||||
color:rgba(51,51,51,1);
|
||||
.invoice {
|
||||
font-size: 26rpx;
|
||||
}
|
||||
> image {
|
||||
width: 12rpx;
|
||||
height: 22rpx;
|
||||
|
@ -1,186 +0,0 @@
|
||||
<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,6 +1,5 @@
|
||||
<template>
|
||||
<view class="classify-goods">
|
||||
<u-search style="padding: 0 30rpx" placeholder="请搜索商品" v-model="keyword" @search="select" @custom="select"></u-search>
|
||||
<view class="tab-container">
|
||||
<view class="salenum" :class="{ 'current' : current == 0 }" @click="switchCurrent(0)">销量</view>
|
||||
<view class="price" :class="{ 'current' : current == 1 }" @click="switchCurrent(1)">
|
||||
@ -20,7 +19,6 @@
|
||||
<view class="briefing u-line-1">{{ goods.goods_advword }}</view>
|
||||
<!-- <view class="price">¥{{ goods.goods_price }}</view> -->
|
||||
<view class="price">
|
||||
<view class="type-tag" v-show="goods.goods_type != 1">{{ goods.goods_type == 2 ? "秒杀" : "拼团" }}</view>
|
||||
<view class="present">¥{{ goods.goods_price }}</view>
|
||||
<view class="origin">¥{{ goods.goods_marketprice }}</view>
|
||||
</view>
|
||||
@ -44,8 +42,6 @@ export default {
|
||||
scrollHeight: '',
|
||||
loadStatus: 'loadmore',
|
||||
timer: true, // 防止上拉加载短时间内多次调用
|
||||
keyword:"",
|
||||
sel:""
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@ -84,7 +80,6 @@ export default {
|
||||
gc_id: this.cid,
|
||||
page: this.page,
|
||||
order: sort,
|
||||
keyword:this.sel
|
||||
})
|
||||
this.timer = true;
|
||||
if(res.errCode == 0) {
|
||||
@ -128,11 +123,6 @@ export default {
|
||||
id: id,
|
||||
type: 1 // 商品详情 商品类型 1普通 2拼团 3秒杀 4优惠券
|
||||
});
|
||||
},
|
||||
select(){
|
||||
this.sel = this.keyword;
|
||||
this.page = 1;
|
||||
this.goodsListByClassId({ laod: 'reload' });
|
||||
}
|
||||
}
|
||||
};
|
||||
@ -210,13 +200,6 @@ export default {
|
||||
.price {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.type-tag {
|
||||
padding: 4rpx 10rpx;
|
||||
color: #fff;
|
||||
font-size: 22rpx;
|
||||
border-radius: 10rpx;
|
||||
background-color: #FF7810;
|
||||
}
|
||||
.present {
|
||||
font-size: 26rpx;
|
||||
color: rgba(255,49,49,1);
|
||||
|
@ -6,12 +6,12 @@
|
||||
</view>
|
||||
<swiper :current="swiperCurrent" @animationfinish="animationfinish" :style="{height: swiperHeight}">
|
||||
<swiper-item class="swiper-item" v-for="(_, index) in tabList" :key="index">
|
||||
<scroll-view scroll-y style="width: 100%;height: 100%;" @scrolltolower="onreachBottom">
|
||||
<scroll-view scroll-y style="width: 100%;" @scrolltolower="onreachBottom">
|
||||
<view v-if="pinTuanList[index]">
|
||||
<SpecialGoods v-for="(item, index) in pinTuanList[index]" :key="index" :item="item" type='group'></SpecialGoods>
|
||||
</view>
|
||||
<u-empty text="暂无商品" mode="list" color="#000" margin-top="120" v-if="!pinTuanList[index] || !pinTuanList[index].length"></u-empty>
|
||||
<u-loadmore :status="loadStatus" bgColor="#FFF" margin-top="20" margin-bottom="20" v-if="pinTuanList[index]" @loadmore="onreachBottom"></u-loadmore>
|
||||
<u-loadmore :status="loadStatus" bgColor="#FFF" margin-top="20" margin-bottom="20" v-if="pinTuanList[index] && pinTuanList[index].length>=pageSize" @loadmore="onreachBottom"></u-loadmore>
|
||||
</scroll-view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
@ -22,6 +22,7 @@ import SpecialGoods from "../../components/shop/special-shop/index";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
pageSize: 6,
|
||||
tabList: [],
|
||||
current: -1,
|
||||
swiperCurrent: 0,
|
||||
@ -41,7 +42,6 @@ export default {
|
||||
},
|
||||
watch: {
|
||||
current(index) {
|
||||
this.page = 0;
|
||||
this.getPinTuanList({ id: this.tabList[index].gc_id, load: 'reload' });
|
||||
}
|
||||
},
|
||||
@ -56,7 +56,7 @@ export default {
|
||||
})
|
||||
},
|
||||
// 拼团列表
|
||||
async getPinTuanList({ id, load }) {
|
||||
async getPinTuanList({ id, page, load }) {
|
||||
const res = await this.$u.api.getPinTuanList({
|
||||
page: this.page,
|
||||
gc_id: id,
|
||||
|
@ -25,7 +25,7 @@
|
||||
<u-icon name="arrow-down" color="#999999" size="28"></u-icon>
|
||||
</view>
|
||||
<view class="image-list" v-if="info.business_licence_number_electronic">
|
||||
<image :src="info.business_licence_number_electronic" @click="previewImage(info.business_licence_number_electronic)"></image>
|
||||
<image :src="info.business_licence_number_electronic"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -42,15 +42,6 @@ export default {
|
||||
// console.log(res)
|
||||
this.info = res.data
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
previewImage(urls) {
|
||||
// console.log(urls);
|
||||
const imageList = [urls];
|
||||
uni.previewImage({
|
||||
urls: imageList,
|
||||
});
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@ -68,6 +59,7 @@ export default {
|
||||
height: 140rpx;
|
||||
border-radius: 70rpx;
|
||||
margin-bottom: 29rpx;
|
||||
background-color: aqua;
|
||||
}
|
||||
.name {
|
||||
font-size: 28rpx;
|
||||
@ -132,6 +124,7 @@ export default {
|
||||
width: 239rpx;
|
||||
height: 170rpx;
|
||||
flex-shrink: 0;
|
||||
background-color: aqua;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -53,7 +53,7 @@
|
||||
<goods :sid="sid"></goods>
|
||||
</view>
|
||||
</view>
|
||||
<view class="tabbar" :style="safeareaStyle">
|
||||
<view class="tabbar">
|
||||
<view @click="switchCurrent(0)">
|
||||
<image src="/static/image/shop/9.png"></image>
|
||||
<view>商品分类</view>
|
||||
@ -94,7 +94,6 @@ export default {
|
||||
page: 1,
|
||||
scrollHeiht: '',
|
||||
paddingTop: 0,
|
||||
safeareaStyle: "", // 苹果底部
|
||||
}
|
||||
},
|
||||
components:{
|
||||
@ -119,21 +118,6 @@ export default {
|
||||
id:this.sid
|
||||
});
|
||||
},
|
||||
onLoad(option){
|
||||
this.sid = option.id;
|
||||
// console.log(this.sid);
|
||||
this.getStoreInfo();
|
||||
this.getArticlelist();
|
||||
this.setViewHeight();
|
||||
// this.getStoreImgVideoList();
|
||||
// #ifdef APP-PLUS
|
||||
this.device = uni.getSystemInfoSync(); // 获取信息
|
||||
console.log(this.device.safeArea);
|
||||
// #endif
|
||||
},
|
||||
onShow() {
|
||||
this.cur = 0;
|
||||
},
|
||||
methods: {
|
||||
customers(){
|
||||
console.log(this.$store.state.hasLogin)
|
||||
@ -241,16 +225,17 @@ export default {
|
||||
// console.log(this.paddingTop);
|
||||
}
|
||||
},
|
||||
onLoad(option){
|
||||
this.sid = option.id;
|
||||
// console.log(this.sid);
|
||||
this.getStoreInfo();
|
||||
this.getArticlelist();
|
||||
this.setViewHeight();
|
||||
// this.getStoreImgVideoList();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<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 {
|
||||
// min-height: 100vh;
|
||||
background-color: #ECECEC;
|
||||
@ -403,14 +388,14 @@ body {
|
||||
.tabbar {
|
||||
border-top: 1rpx #DBDADA solid;
|
||||
width: 100%;
|
||||
height: 98rpx;
|
||||
background: rgba(251,251,251,1);
|
||||
display: flex;
|
||||
padding: 10rpx 55rpx;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
z-index: 9;
|
||||
padding: 10rpx 55rpx;
|
||||
padding-bottom: env(safe-area-inset-bottom);
|
||||
> view {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
|
@ -12,7 +12,7 @@
|
||||
<view v-for="classifyA in classifyList" :key="classifyA.gc_parent_id" class="classify-view">
|
||||
<view class="title">{{ classifyA.gc_parent_name }}</view>
|
||||
<view class="classifyA-view">
|
||||
<view v-for="classifyB in classifyA.gc_child" :key="classifyB.gc_id" class="classifyB-item u-line-1" @click="viewGoods({ type: classifyB.gc_id, name: classifyB.gc_name })">{{ classifyB.gc_name }}</view>
|
||||
<view v-for="classifyB in classifyA.gc_child" :key="classifyB.gc_id" class="classifyB-item u-line-1" @click="viewGoods({ type: classifyB.gc_parent_id, name: classifyB.gc_parent_name })">{{ classifyB.gc_parent_name }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<scroll-view class="spike" scroll-y @scrolltolower="onreachBottom">
|
||||
<view class="spike">
|
||||
<view class="title">
|
||||
<view class="name">全部秒杀</view>
|
||||
<view class="time">
|
||||
@ -19,9 +19,8 @@
|
||||
<view class="spike-list">
|
||||
<SpecialGoods v-for="(item, index) in spikeList" :key="index" :item="item" type='spike'></SpecialGoods>
|
||||
<u-empty mode="list" v-if="!spikeList.length" :margin-top="240"></u-empty>
|
||||
<u-loadmore :status="loadStatus" bgColor="#FFF" margin-top="20" margin-bottom="20" @loadmore="onreachBottom"></u-loadmore>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
import SpecialGoods from "@/components/shop/special-shop/index"
|
||||
@ -30,50 +29,27 @@ export default {
|
||||
return {
|
||||
spikeList: [],
|
||||
page: 0,
|
||||
seckillTime: {},
|
||||
timer: true, // 限制下拉刷新
|
||||
loadStatus: 'loadmore',
|
||||
seckillTime: {}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
SpecialGoods
|
||||
},
|
||||
onShow() {
|
||||
this.getSpikeList({ load: "reload" });
|
||||
this.getSpikeList();
|
||||
},
|
||||
methods: {
|
||||
// 全部秒杀
|
||||
async getSpikeList({ load }) {
|
||||
const res = await this.$u.api.getSpikeList({
|
||||
page: this.page,
|
||||
})
|
||||
this.timer = true;
|
||||
getSpikeList() {
|
||||
this.$u.api.getSpikeList({ page: this.page }).then(res => {
|
||||
console.log(res)
|
||||
if(res.errCode == 0) {
|
||||
this.spikeList = res.data.list;
|
||||
this.seckillTime = {
|
||||
bigHour: res.data.bigHour,
|
||||
littleHour: res.data.littleHour,
|
||||
}
|
||||
if(load == 'reload') this.spikeList = res.data.list;
|
||||
else if(load == 'loadmore') this.spikeList.push(...res.data.list);
|
||||
}
|
||||
this.$forceUpdate();
|
||||
return res.data.list.length;
|
||||
},
|
||||
onreachBottom() {
|
||||
if(!this.timer) return false;
|
||||
this.loadStatus = "loading";
|
||||
this.page++;
|
||||
this.getSpikeList({ load: "loadmore" }).then(length => {
|
||||
// console.log(length);
|
||||
if(length == 0) {
|
||||
this.page--;
|
||||
this.loadStatus = 'nomore';
|
||||
} else {
|
||||
this.loadStatus = 'loadmore';
|
||||
}
|
||||
}).catch(() => {
|
||||
this.loadStatus = "nomore";
|
||||
this.page--;
|
||||
})
|
||||
},
|
||||
}
|
||||
@ -81,10 +57,9 @@ export default {
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.spike{
|
||||
height: calc(100vh - var(--window-top));
|
||||
min-height: calc(100vh - var(--window-top));
|
||||
padding: 30rpx;
|
||||
border-top: 1rpx solid rgba(236,236,236,1);
|
||||
box-sizing: border-box;
|
||||
.title{
|
||||
margin-bottom: 30rpx;
|
||||
display: flex;
|
||||
|
@ -5,7 +5,7 @@
|
||||
<image :src="item.friend_tomavatar" mode="aspectFill"></image>
|
||||
<view class="tishi" v-if="item.unread_message"></view>
|
||||
</view>
|
||||
<view>{{item.friend_tomnickname}}</view>
|
||||
<view>{{item.friend_tomname}}</view>
|
||||
<view>{{item.live_status ? '正在直播' : '未直播'}}</view>
|
||||
<view class="cur_two" @click="tapClick(index)">已关注</view>
|
||||
<!-- <view class="cur" @click="tapClick(index)" v-else = "item.about == 2">未关注</view> -->
|
||||
|
@ -4,13 +4,9 @@
|
||||
<view class="activity" v-for="(item, index) in actives" :key="index">
|
||||
<view class="times">{{item.kd_time}}</view>
|
||||
<view class="content">
|
||||
<view class="store-name">
|
||||
<view class="store_name">
|
||||
<image :src="item.store_avatar"></image>
|
||||
<view 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>{{item.store_name}}</view>
|
||||
</view>
|
||||
<view class="xiantiao"></view>
|
||||
<view class="title">{{item.title}}</view>
|
||||
@ -81,13 +77,10 @@
|
||||
this.$u.route(url, {
|
||||
oid: item.order_id,
|
||||
});
|
||||
},
|
||||
makePhone(phone) {
|
||||
uni.makePhoneCall({
|
||||
phoneNumber: phone
|
||||
});
|
||||
}
|
||||
},
|
||||
components:{
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
@ -154,31 +147,25 @@ page{
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
// 店铺
|
||||
.store-name{
|
||||
.store_name{
|
||||
overflow: hidden;
|
||||
zoom: 1;
|
||||
padding: 0rpx 0 20rpx 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
image{
|
||||
width: 60rpx;
|
||||
height: 60rpx;
|
||||
border-radius: 50%;
|
||||
float: left;
|
||||
}
|
||||
.name {
|
||||
view{
|
||||
font-size:26rpx;
|
||||
color:rgba(51,51,51,1);
|
||||
float: left;
|
||||
display: table-cell;
|
||||
line-height: 60rpx;
|
||||
display: inline-block;
|
||||
margin-left: 21rpx;
|
||||
}
|
||||
.takeawayer {
|
||||
margin-left: auto;
|
||||
> text {
|
||||
margin-left: 10rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<view>
|
||||
<image :src="list.picture" class="picture" mode="aspectFit"></image>
|
||||
<image :src="list.picture" class="picture" mode=""></image>
|
||||
<view class="box">
|
||||
<view class="info">
|
||||
<text class="title u-line-2">{{ list.title }}</text>
|
||||
|
@ -43,7 +43,7 @@
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
<style lang="scss" scoped>
|
||||
page {
|
||||
background-color: #ECECEC;
|
||||
}
|
||||
|
@ -128,12 +128,12 @@
|
||||
this.friend = JSON.parse(options.id);
|
||||
this.currentUser = this.imService.currentUser;
|
||||
let privateMessages = this.imService.getPrivateMessages(this.friend.uuid);
|
||||
this.imService.uid = this.friend.uuid;
|
||||
|
||||
this.messages = privateMessages.sentMessages;
|
||||
this.pendingMessages = privateMessages.pendingMessages;
|
||||
console.log(this.friend.name)
|
||||
this.setTitle(this.friend.name)
|
||||
|
||||
uni.setNavigationBarTitle({
|
||||
title : this.friend.name
|
||||
});
|
||||
setTimeout(() => {
|
||||
uni.setNavigationBarColor({
|
||||
backgroundColor : '#FF780F',
|
||||
@ -153,21 +153,8 @@
|
||||
this.imService.onPrivateHistoryLoad = (friendId, messages) =>{};
|
||||
//将未读消息数清零
|
||||
this.imService.resetFriendUnReadMessage(this.friend);
|
||||
this.imService.uid = 0;
|
||||
},
|
||||
methods: {
|
||||
setTitle(title){
|
||||
let that = this
|
||||
if(title == ""){
|
||||
title = "这是空的"
|
||||
}
|
||||
uni.setNavigationBarTitle({
|
||||
title : title,
|
||||
fail(){
|
||||
that.setTitle(title)
|
||||
}
|
||||
});
|
||||
},
|
||||
bindtapInput(){
|
||||
console.log("222")
|
||||
var _that = this;
|
||||
|
@ -1,101 +0,0 @@
|
||||
<template>
|
||||
<view class="contact">
|
||||
<view class="item-view" @click="makePhone">
|
||||
<view class="title">联系电话</view>
|
||||
<view class="content">{{ phoneNumber }}</view>
|
||||
<u-icon name="arrow-right" color="#9A9A9A" size="24"></u-icon>
|
||||
</view>
|
||||
<view class="item-view" @click="customerService">
|
||||
<view class="title">客服服务</view>
|
||||
<u-icon name="arrow-right" color="#9A9A9A" size="24"></u-icon>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
phoneNumber: '',
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getPhone();
|
||||
},
|
||||
methods: {
|
||||
getPhone() {
|
||||
this.$u.api.getConfigInfo({
|
||||
code: 'site_tel400'
|
||||
}).then(res => {
|
||||
this.phoneNumber = res.data.config.value;
|
||||
})
|
||||
},
|
||||
makePhone() {
|
||||
uni.makePhoneCall({
|
||||
phoneNumber: this.phoneNumber,
|
||||
});
|
||||
},
|
||||
customerService(){
|
||||
if(!this.$store.state.hasLogin){
|
||||
this.$u.toast('请先登录');
|
||||
} else {
|
||||
function Friend(uuid, name, avatar,time = "", text = "",date = "") {
|
||||
this.uuid = uuid;
|
||||
this.name = name;
|
||||
this.avatar = avatar;
|
||||
this.online = false;
|
||||
this.unReadMessage = 0;
|
||||
this.text = text;
|
||||
this.time = time;
|
||||
this.date = date
|
||||
}
|
||||
const token = uni.getStorageSync('token');
|
||||
let that = this
|
||||
uni.request({
|
||||
url:"https://mall.dmygkeji.com/api/Specialci/getAtwillUserInfo",
|
||||
data:{
|
||||
userId: 1
|
||||
},
|
||||
method:"POST",
|
||||
header:{
|
||||
"Authorization" : 'Bearer' + " " + token
|
||||
},
|
||||
success(res){
|
||||
res = res.data;
|
||||
let user = new Friend(res.data.member_id,"官方平台客服",res.data.member_avatar);
|
||||
that.$u.route({
|
||||
url:"/pageD/privateChat/privateChat",
|
||||
params:{
|
||||
id:JSON.stringify(user)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.contact {
|
||||
border-top: 1rpx solid #ECECEC;
|
||||
.item-view {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 34rpx 30rpx;
|
||||
border-bottom: 2rpx solid #ECECEC;
|
||||
.title {
|
||||
font-size: 30rpx;
|
||||
color: #343434;
|
||||
}
|
||||
.content {
|
||||
margin-left: auto;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
}
|
||||
.u-icon {
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -124,7 +124,6 @@ export default {
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-bottom: 52rpx;
|
||||
// font-weight: bold;
|
||||
> image {
|
||||
width: 22rpx;
|
||||
height: 22rpx;
|
||||
|
@ -9,11 +9,11 @@
|
||||
<view class="integral-top">
|
||||
<view>
|
||||
<view class="title">总积分</view>
|
||||
<view class="value">{{ memberInfo.member_points || 0 }}</view>
|
||||
<view class="value">{{ memberInfo.member_points }}</view>
|
||||
</view>
|
||||
<view>
|
||||
<view class="title">经验值</view>
|
||||
<view class="value">{{ memberInfo.member_exppoints || 0 }}</view>
|
||||
<view class="value">{{ memberInfo.member_exppoints }}</view>
|
||||
</view>
|
||||
<view @click="viewProgress">
|
||||
<view class="title">预计进度</view>
|
||||
@ -24,14 +24,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<scroll-view scroll-y class="integral-botom" :style="{ height: richHeight }">
|
||||
<view class="rich-container">
|
||||
<view class="title">{{ points_rule.document_title }}</view>
|
||||
<rich-text :nodes="pointsNodes"></rich-text>
|
||||
</view>
|
||||
<view class="rich-container">
|
||||
<view class="title" >{{ member_rule.document_title }}</view>
|
||||
<rich-text :nodes="nodes"></rich-text>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</swiper-item>
|
||||
@ -76,10 +69,7 @@ export default {
|
||||
swiperCurrent: 0,
|
||||
pointslogList: [],
|
||||
memberInfo: {},
|
||||
pointsNodes: '',
|
||||
nodes: '',
|
||||
points_rule: {},
|
||||
member_rule: {}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
@ -113,10 +103,7 @@ export default {
|
||||
this.$u.api.getMemberPointsStat().then((res)=>{
|
||||
if(res.errCode == 0) {
|
||||
this.memberInfo = res.data;
|
||||
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;
|
||||
this.nodes = common.unescapeHTML(this.memberInfo.points_rule.document_content);
|
||||
}
|
||||
})
|
||||
},
|
||||
@ -193,18 +180,6 @@ export default {
|
||||
border-radius: 20rpx 20rpx 0rpx 0rpx;
|
||||
top: 250rpx;
|
||||
z-index: 9;
|
||||
.rich-container {
|
||||
&:not(:last-child) {
|
||||
margin-bottom: 56rpx;
|
||||
}
|
||||
.title {
|
||||
text-align: center;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
margin-bottom: 26rpx;
|
||||
// font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.coupon {
|
||||
|
@ -27,7 +27,7 @@ import storeViwe from './storeConcerns'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
list: [{ name: "店铺" }, { name: "达人" }],
|
||||
list: [{ name: "商家" }, { name: "达人" }],
|
||||
daren: [],
|
||||
shangjia:[],
|
||||
height: 0,
|
||||
@ -119,7 +119,7 @@ export default {
|
||||
margin-left: -20rpx;
|
||||
.daren-item {
|
||||
width: 215rpx;
|
||||
height: 270rpx;
|
||||
height: 282rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<view class="information">
|
||||
<view class="info-avatar">
|
||||
<u-avatar :src="userInfo.member_avatar + '?' + (new Date().getTime())" :size="120"></u-avatar>
|
||||
<u-avatar :src="userInfo.member_avatar" :size="120"></u-avatar>
|
||||
</view>
|
||||
<view class="info-item">
|
||||
<view class="title">昵称</view>
|
||||
@ -51,8 +51,8 @@ export default {
|
||||
getUserInfo() {
|
||||
this.$u.api.getMemberInfo().then(res => {
|
||||
if (res.errCode == 0) {
|
||||
this.userInfo = res.data.MemberArray;
|
||||
// this.$set(this, 'userInfo', res.data.MemberArray);
|
||||
// this.userInfo = res.data.MemberArray;
|
||||
this.$set(this, 'userInfo', res.data.MemberArray);
|
||||
}
|
||||
})
|
||||
},
|
||||
|
@ -16,7 +16,7 @@
|
||||
<view class="item-name u-line-1">{{ item.store_name }}</view>
|
||||
<view class="item-date">
|
||||
<image src="@/pageE/static/mine/26.png"></image>
|
||||
<view>{{ item.fav_time }}</view>
|
||||
<view>{{ item.fav_time | date }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -16,7 +16,7 @@
|
||||
<view class="item-bottom">
|
||||
<view class="item-date">
|
||||
<image src="@/pageE/static/mine/26.png"></image>
|
||||
<view>{{ item.friend_addtime }}</view>
|
||||
<view>{{ item.friend_tomavatar | date }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -1,282 +0,0 @@
|
||||
<template>
|
||||
<view class="apply-live">
|
||||
<view class="basic-info">
|
||||
<view>
|
||||
<label for="name">姓名:</label>
|
||||
<input type="text" id="name" @input="names" placeholder="请输入姓名" />
|
||||
</view>
|
||||
<view>
|
||||
<label for="phone">手机号:</label>
|
||||
<input type="number" id="phone" @input="phones" maxlength="11" placeholder="请输入手机号" />
|
||||
</view>
|
||||
<view>
|
||||
<label for="idCard">身份证号:</label>
|
||||
<input type="text" id="idCard" placeholder="请输入身份证号" @input="setIdCard" />
|
||||
</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" @input="detailss" 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: '',
|
||||
idCard: '',
|
||||
address: '',
|
||||
details: '',
|
||||
industryList: [],
|
||||
hobbyList: [],
|
||||
checkedIndustryList: [],
|
||||
checkedHobbyList: [],
|
||||
isSubmit: true, // 防止多次提交
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getAreaData();
|
||||
this.getIndustryList();
|
||||
this.getHobbyList();
|
||||
},
|
||||
methods: {
|
||||
names(a){
|
||||
console.log(a.detail)
|
||||
this.name = a.detail.value
|
||||
},
|
||||
phones(a){
|
||||
this.phone = a.detail.value
|
||||
},
|
||||
setIdCard(v) {
|
||||
this.idCard = v.detail.value;
|
||||
},
|
||||
detailss(a){
|
||||
this.details = a.detail.value
|
||||
},
|
||||
|
||||
getAreaData() {
|
||||
this.$u.api.getArea().then((res)=>{
|
||||
if (res.errCode == 0) {
|
||||
this.areaList = res.data;
|
||||
}
|
||||
})
|
||||
},
|
||||
getIndustryList() {
|
||||
this.$u.api.getIndustryList().then(res => {
|
||||
res.data.forEach(element => {
|
||||
this.industryList.push({
|
||||
checked: false,
|
||||
name: element,
|
||||
});
|
||||
});
|
||||
})
|
||||
},
|
||||
getHobbyList() {
|
||||
this.$u.api.getHobbyList().then(res => {
|
||||
res.data.forEach(element => {
|
||||
this.hobbyList.push({
|
||||
checked: false,
|
||||
name: element,
|
||||
});
|
||||
});
|
||||
})
|
||||
},
|
||||
specialtyGroupChange(e) {
|
||||
// console.log(e);
|
||||
this.checkedIndustryList = e;
|
||||
},
|
||||
hobbyGroupChange(e) {
|
||||
// console.log(e);
|
||||
this.checkedHobbyList = e;
|
||||
},
|
||||
// 验证
|
||||
validateData() {
|
||||
if(this.$u.test.isEmpty(this.name)) {
|
||||
this.$u.toast('姓名不能为空');
|
||||
return false;
|
||||
}
|
||||
if(this.$u.test.isEmpty(this.phone)) {
|
||||
this.$u.toast('手机号不能为空');
|
||||
return false;
|
||||
}
|
||||
if(!this.$u.test.mobile(this.phone)) {
|
||||
this.$u.toast('手机号错误');
|
||||
return false;
|
||||
}
|
||||
if(this.$u.test.isEmpty(this.idCard)) {
|
||||
this.$u.toast('身份证号不可为空');
|
||||
return false;
|
||||
}
|
||||
// if(!this.$u.test.idCard(this.idCard)) {
|
||||
// this.$u.toast('请正确填写身份证号');
|
||||
// return false;
|
||||
// }
|
||||
// if(this.$u.test.isEmpty(this.address)) {
|
||||
// this.$u.toast('地址不能为空');
|
||||
// return false;
|
||||
// }
|
||||
// if(this.$u.test.isEmpty(this.details)) {
|
||||
// this.$u.toast('详细地址不能为空');
|
||||
// return false;
|
||||
// }
|
||||
if(!this.checkedIndustryList.length) {
|
||||
this.$u.toast('行业领域不能为空');
|
||||
return false;
|
||||
}
|
||||
if(!this.checkedHobbyList.length) {
|
||||
this.$u.toast('兴趣爱好不能为空');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
applyExpert() {
|
||||
if(!this.isSubmit) return false;
|
||||
if(!this.validateData()) return false;
|
||||
this.isSubmit = false;
|
||||
this.$u.api.applyExpert({
|
||||
name: this.name,
|
||||
mobile: this.phone,
|
||||
idcard: this.idCard,
|
||||
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>
|
@ -1,315 +0,0 @@
|
||||
<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="text" 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="text" 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() {
|
||||
const phone = /^0\d{2,3}-?\d{7,8}$/;
|
||||
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) && !phone.test(this.personalPhone)) {
|
||||
this.$u.toast('请正确填写手机号');
|
||||
return false;
|
||||
}
|
||||
if(this.$u.test.isEmpty(this.idCard)) {
|
||||
this.$u.toast('身份证号不可为空');
|
||||
return false;
|
||||
}
|
||||
if(!this.$u.test.idCard(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) && !phone.test(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>
|
@ -1,123 +0,0 @@
|
||||
<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="text">
|
||||
<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>
|
||||
<image :src="s_object[orderstate].image"></image>
|
||||
</view>
|
||||
@ -59,29 +59,23 @@
|
||||
<view class="title">支付方式</view>
|
||||
<view class="price">{{ orderInfo.payment_name }}</view>
|
||||
</view>
|
||||
<view>
|
||||
<view class="title">配送方式</view>
|
||||
<view class="price">{{ orderInfo.member_deliver_type | getDeliverType(orderInfo.store_deliver_type) }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="info-order">
|
||||
<view v-if="orderInfo.extend_order_common.order_message">订单备注:{{ orderInfo.extend_order_common.order_message }}</view>
|
||||
<view>订单编号:{{ orderInfo.order_sn }}</view>
|
||||
<view>支付单号:{{ orderInfo.pay_sn }}</view>
|
||||
<view>创建时间:{{ orderInfo.add_time | date}}</view>
|
||||
<view v-if="orderInfo.member_deliver_type == 3" class="address">自提地址:{{ orderInfo.extend_store.store_address }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- '4', '8' -->
|
||||
<view class="btn" v-if="['1', '2', '4', '6'].indexOf(orderstate) >= 0">
|
||||
<view class="btn" v-if="['1', '2', '6'].indexOf(orderstate) >= 0">
|
||||
<!-- orderstate == '4' || -->
|
||||
<view class="cancel" v-if="(orderstate == '1' || orderstate == '4') && orderInfo.is_refund == 1" @click="toOtherPage('RefundOrder')">申请退款</view>
|
||||
<!-- <view class="cancel" v-if="orderstate == '8'" @click="cancelOrder">取消订单</view> -->
|
||||
<view class="cancel" v-if="orderstate == '1' && orderInfo.shipping_code && orderInfo.member_deliver_type != 3" @click="toOtherPage('Logistics')">查看物流</view>
|
||||
<view class="cancel" v-if="(orderstate == '1') && orderInfo.is_refund == 1" @click="toOtherPage('RefundOrder')">申请退款</view>
|
||||
<view class="logistics" v-if="orderstate == '1'" @click="confirmReceive">确认收货</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 == '8'" @click="cancelOrder">取消订单</view> -->
|
||||
<view class="cancel" v-if="orderstate == '1' && orderInfo.shipping_code" @click="toOtherPage('Logistics')">查看物流</view>
|
||||
<view class="phone" v-if="orderstate == '1' && orderInfo.takeawayer_mobile" @click="makePhone(orderInfo.takeawayer_mobile)">
|
||||
<u-icon name="phone-fill" color="#FF780F" size="28"></u-icon>
|
||||
<text>联系骑手</text>
|
||||
@ -115,7 +109,7 @@ export default {
|
||||
image: '../static/mine/36.png',
|
||||
},
|
||||
'5': {
|
||||
text: '商家已退款',
|
||||
text: '已退款',
|
||||
image: '../static/mine/34.png',
|
||||
},
|
||||
'6': {
|
||||
@ -135,11 +129,7 @@ export default {
|
||||
image: '../static/mine/33.png',
|
||||
},
|
||||
'10': {
|
||||
text: '商家已拒绝',
|
||||
image: '../static/mine/34.png',
|
||||
},
|
||||
'11': {
|
||||
text: '平台已退款',
|
||||
text: '已拒绝',
|
||||
image: '../static/mine/34.png',
|
||||
},
|
||||
},
|
||||
@ -162,32 +152,6 @@ export default {
|
||||
beforeDestroy() {
|
||||
clearInterval(this.timer);
|
||||
},
|
||||
filters: {
|
||||
getDeliverType(user, store) {
|
||||
let deliverType = '';
|
||||
function setType(type) {
|
||||
switch (type) {
|
||||
case 1:
|
||||
deliverType = '快递'
|
||||
break;
|
||||
case 2:
|
||||
deliverType = '骑手'
|
||||
break;
|
||||
case 3:
|
||||
deliverType = '自提'
|
||||
break;
|
||||
default:
|
||||
deliverType = '-'
|
||||
break;
|
||||
}
|
||||
}
|
||||
setType(user);
|
||||
if(store) {
|
||||
setType(store);
|
||||
}
|
||||
return deliverType;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
viewStoreDetails(id) {
|
||||
this.$u.route('pageC/merchant/index', {
|
||||
@ -236,12 +200,12 @@ export default {
|
||||
this.$u.api.getOrderInfo({
|
||||
order_id: id,
|
||||
}).then(res => {
|
||||
console.log(res)
|
||||
// console.log(res)
|
||||
if(res.errCode == 0) {
|
||||
this.orderInfo = res.data;
|
||||
this.setTitle(this.orderInfo.view_type);
|
||||
// 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);
|
||||
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);
|
||||
}
|
||||
uni.stopPullDownRefresh(); // 结束刷新
|
||||
})
|
||||
@ -290,7 +254,6 @@ export default {
|
||||
toOtherPage(url) {
|
||||
this.$u.route('/pageE/order/' + url, {
|
||||
oid: this.orderInfo.order_id,
|
||||
type:this.orderInfo.view_type
|
||||
});
|
||||
},
|
||||
makePhone(phone) {
|
||||
@ -333,9 +296,6 @@ export default {
|
||||
case 11:
|
||||
state = '10';
|
||||
break;
|
||||
case 12:
|
||||
state = '11';
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -500,9 +460,6 @@ export default {
|
||||
> view:not(:last-child) {
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
.address {
|
||||
line-height: 40rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
|
@ -7,7 +7,7 @@
|
||||
<swiper-item class="swiper-item" v-for="(item, index) in list" :key="index">
|
||||
<scroll-view scroll-y style="height: 100%;" @scrolltolower="reachBottom" class="order-scroll">
|
||||
<view v-if="orderList[index]">
|
||||
<view class="item-container" v-for="(order,index) in orderList[index]" :key="index">
|
||||
<view class="item-container" v-for="order in orderList[index]" :key="order.order_id">
|
||||
<OrderItem :order="order" @refreshOrderList="refreshOrderList" v-if="current != 4"></OrderItem>
|
||||
<TryOrderItem :order="order" @refreshOrderList="refreshOrderList" v-else></TryOrderItem>
|
||||
</view>
|
||||
@ -129,29 +129,13 @@ export default {
|
||||
page: this.page,
|
||||
type: type,
|
||||
})
|
||||
// res.data.forEach(element => {
|
||||
// element.extend_order_goods.forEach(i=>{
|
||||
// // console.log(i)
|
||||
// })
|
||||
// });
|
||||
this.timer = true;
|
||||
uni.stopPullDownRefresh(); // 结束刷新
|
||||
if(res.errCode == 0) {
|
||||
if(load == 'reload'){
|
||||
this.orderList[this.current] = []
|
||||
this.orderList[this.current] = res.data;
|
||||
|
||||
}else if(load == 'loadmore'){
|
||||
this.orderList[this.current].push(...res.data);
|
||||
if(load == 'reload') this.orderList[this.current] = res.data;
|
||||
else if(load == 'loadmore') this.orderList[this.current].push(...res.data);
|
||||
}
|
||||
}
|
||||
// this.orderList[this.current].forEach(element => {
|
||||
// element.extend_order_goods.forEach(i=>{
|
||||
// // console.log(i)
|
||||
// })
|
||||
// });
|
||||
this.$forceUpdate();
|
||||
|
||||
// console.log(this.orderList);
|
||||
return res.data.length;
|
||||
},
|
||||
@ -172,16 +156,11 @@ export default {
|
||||
const res = await this.$u.api.goodsTryOrderList({
|
||||
page: this.page,
|
||||
})
|
||||
console.log(res)
|
||||
uni.stopPullDownRefresh(); // 结束刷新
|
||||
this.timer = true;
|
||||
if(res.errCode == 0) {
|
||||
if(load == 'reload') {
|
||||
this.orderList[this.current] = []
|
||||
this.orderList[this.current] = res.data.list;
|
||||
}else if(load == 'loadmore'){
|
||||
this.orderList[this.current].push(...res.data.list);
|
||||
}
|
||||
if(load == 'reload') this.orderList[this.current] = res.data.list;
|
||||
else if(load == 'loadmore') this.orderList[this.current].push(...res.data.list);
|
||||
}
|
||||
this.$forceUpdate();
|
||||
return res.data.list.length;
|
||||
|
@ -3,6 +3,7 @@
|
||||
<view class="radios-container">
|
||||
<view v-if="type == 2">
|
||||
<label class="radio-view" v-for="(item, index) in goodsList" :key="index">
|
||||
|
||||
<view class="store_info">
|
||||
<view class="info_img">
|
||||
<image :src="item.goods_image" mode="">
|
||||
@ -83,6 +84,7 @@ export default {
|
||||
computed: {
|
||||
totalPrice() {
|
||||
if(this.type == 2){
|
||||
console.log(this.goodsList)
|
||||
let pac = 0;
|
||||
for(let i in this.goodsList){
|
||||
pac += parseFloat(this.goodsList[i].goods_pay_price) * 100 ;
|
||||
@ -94,8 +96,7 @@ export default {
|
||||
}
|
||||
},
|
||||
onLoad(option) {
|
||||
this.type = 2; // 需求更改 所有订单只能全退,不可选择商品。
|
||||
// this.type = option.type
|
||||
this.type = option.type
|
||||
this.oid = option.oid;
|
||||
this.getOrderInfo(option.oid);
|
||||
},
|
||||
@ -137,23 +138,22 @@ export default {
|
||||
return true;
|
||||
},
|
||||
applyRefund() {
|
||||
|
||||
if(this.type !=2 && !this.verifyParams()) return false;
|
||||
// addrefundall 只需要订单id 和 说明
|
||||
let params = {
|
||||
order_id: this.oid,
|
||||
// goods_id: this.goods.goods_id,
|
||||
// refund_amount: Number(this.totalPrice),
|
||||
goods_id: this.goods.goods_id,
|
||||
refund_amount: Number(this.totalPrice),
|
||||
reason_info: this.refundText,
|
||||
// goods_num: this.num,
|
||||
goods_num: this.num,
|
||||
}
|
||||
console.log(params)
|
||||
if(this.type == 2){
|
||||
this.$u.api.addrefundall(params).then(res => {
|
||||
// console.log(JSON.stringify(res))
|
||||
console.log(JSON.stringify(res))
|
||||
if(res.errCode == 0) {
|
||||
this.$refs.uToast.show({
|
||||
title: res.message,
|
||||
type: 'success',
|
||||
back: true,
|
||||
})
|
||||
} else {
|
||||
@ -189,17 +189,12 @@ export default {
|
||||
background-color: #EDEDED;
|
||||
.radios-container {
|
||||
margin-bottom: 20rpx;
|
||||
.u-radio-group {
|
||||
width: 100%;
|
||||
}
|
||||
.radio-view {
|
||||
width: 100%;
|
||||
background-color: #FFFFFF;
|
||||
padding: 26rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 1rpx;
|
||||
box-sizing: border-box;
|
||||
.radio {
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
@ -22,7 +22,6 @@
|
||||
:header="header"
|
||||
:form-data="formData"
|
||||
:name="fileName"
|
||||
:size-type="['original']"
|
||||
@on-list-change="setImageList"
|
||||
>
|
||||
<view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
|
||||
@ -34,7 +33,6 @@
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
name: 'CommonView',
|
||||
data() {
|
||||
return {
|
||||
count: 3,
|
||||
|
@ -10,10 +10,6 @@
|
||||
<view>{{ item.title }}</view>
|
||||
<image src="../static/mine/21.png"></image>
|
||||
</view>
|
||||
<view class="list-item" @click="clearCache">
|
||||
<view>清除缓存</view>
|
||||
<view class="left-text">{{ fileSizeString }}</view>
|
||||
</view>
|
||||
<view class="list-item" @click="sheetStatus=true">
|
||||
<view>退出登录</view>
|
||||
<image src="../static/mine/21.png"></image>
|
||||
@ -62,39 +58,24 @@
|
||||
title: '证件中心',
|
||||
link: '../mine/ArticleDetails?type=1'
|
||||
},
|
||||
{
|
||||
title: '第三方绑定',
|
||||
link: './binding'
|
||||
},
|
||||
{
|
||||
title: '屏蔽用户',
|
||||
link: './ShieldUsers'
|
||||
},
|
||||
{
|
||||
title: '关于我们',
|
||||
// link: '../mine/ArticleDetails?type=2'
|
||||
link: '/pageE/setting/version'
|
||||
},
|
||||
{
|
||||
title: '帮助与反馈',
|
||||
link: './feedback'
|
||||
},
|
||||
{
|
||||
title: '用户协议',
|
||||
link: '/pageA/pactList/pactList?index=0'
|
||||
},
|
||||
{
|
||||
title: '隐私政策',
|
||||
link: '/pageA/pactList/pactList?index=1'
|
||||
},
|
||||
],
|
||||
content: "是否退出登录!",
|
||||
show: false,
|
||||
fileSizeString: "", // 缓存大小
|
||||
show: false
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getCache();
|
||||
},
|
||||
methods: {
|
||||
...mapMutations(['logout']),
|
||||
// 退出登录选择 0:切换账号 | 1:退出登录
|
||||
@ -104,45 +85,6 @@
|
||||
this.show = true;
|
||||
}
|
||||
},
|
||||
// 获取缓存
|
||||
getCache() {
|
||||
let _this = this;
|
||||
// #ifdef APP-PLUS
|
||||
plus.cache.calculate(function(size) {
|
||||
let sizeCache = size;
|
||||
if (sizeCache == 0) {
|
||||
_this.fileSizeString = "0B";
|
||||
} else if (sizeCache < 1024) {
|
||||
_this.fileSizeString = sizeCache + "B";
|
||||
} else if (sizeCache < 1048576) {
|
||||
_this.fileSizeString = (sizeCache / 1024).toFixed(2) + "KB";
|
||||
} else if (sizeCache < 1073741824) {
|
||||
_this.fileSizeString = (sizeCache / 1048576).toFixed(2) + "MB";
|
||||
} else {
|
||||
_this.fileSizeString = (sizeCache / 1073741824).toFixed(2) + "GB";
|
||||
}
|
||||
});
|
||||
// #endif
|
||||
},
|
||||
// 清除缓存
|
||||
clearCache() {
|
||||
// #ifdef APP-PLUS
|
||||
uni.showModal({
|
||||
title: "确定要清理缓存吗?",
|
||||
cancelColor: "#999",
|
||||
confirmColor: "#f00",
|
||||
success: (res) => {
|
||||
// console.log(res);
|
||||
if (res.confirm) {
|
||||
plus.cache.clear(function(e) {
|
||||
console.log(e);
|
||||
})
|
||||
this.getCache();
|
||||
}
|
||||
}
|
||||
})
|
||||
// #endif
|
||||
},
|
||||
toNextPage(url, ...params) {
|
||||
uni.navigateTo({
|
||||
url: url
|
||||
@ -180,11 +122,6 @@
|
||||
width: 14rpx;
|
||||
height: 24rpx;
|
||||
}
|
||||
|
||||
.left-text {
|
||||
margin-left: auto;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -1,129 +0,0 @@
|
||||
<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,7 +18,6 @@
|
||||
2. 新增Modal模态框组件<br>
|
||||
3. 新增压窗屏组件,可以在APP上以弹窗的形式遮盖导航栏和底部tabbar<br>
|
||||
`,
|
||||
isAutoUpdate: false,
|
||||
}
|
||||
},
|
||||
onLoad(option) {
|
||||
@ -46,16 +45,10 @@
|
||||
// #endif
|
||||
},
|
||||
closeModal() {
|
||||
const pages = getCurrentPages();
|
||||
// console.log(pages);
|
||||
if(pages.length == 2) {
|
||||
this.$u.route('/pageA/welcome/welcome');
|
||||
} else {
|
||||
uni.navigateBack();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
|
@ -15,10 +15,6 @@
|
||||
<text class="tips" v-if="version" @click="updateVersion">发现新版本: {{ version }}</text>
|
||||
<text class="tips" v-else>已是最新版本</text>
|
||||
</view>
|
||||
<view>
|
||||
<text class="title">联系我们</text>
|
||||
<text class="tips">{{ phoneNumber }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
@ -29,12 +25,10 @@ export default {
|
||||
version: '',
|
||||
phone_type: "",
|
||||
status: '',
|
||||
phoneNumber: '',
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getVersion();
|
||||
this.getPhone();
|
||||
this.phone_type = this.$u.os();
|
||||
},
|
||||
methods: {
|
||||
@ -48,13 +42,6 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
getPhone() {
|
||||
this.$u.api.getConfigInfo({
|
||||
code: 'site_tel400'
|
||||
}).then(res => {
|
||||
this.phoneNumber = res.data.config.value;
|
||||
})
|
||||
},
|
||||
viewAboutUs() {
|
||||
this.$u.route('/pageE/mine/ArticleDetails', {
|
||||
type: 2
|
||||
@ -62,7 +49,7 @@ export default {
|
||||
},
|
||||
updateVersion() {
|
||||
this.$u.route('/pageE/setting/updateVersion', {
|
||||
status: this.status,
|
||||
status: this.status
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -109,7 +96,7 @@ export default {
|
||||
}
|
||||
.tips {
|
||||
color: #999;
|
||||
font-size: 28rpx;
|
||||
font-size: 22rpx;
|
||||
}
|
||||
.version-view {
|
||||
.tips {
|
||||
|
@ -14,7 +14,6 @@
|
||||
<view class="order-status">{{ item.status }}</view>
|
||||
</view>
|
||||
<view class="order-name">美甲人姓名:{{ item.manicure_name }}</view>
|
||||
<view class="order-name">美甲人电话:{{ item.phone }}</view>
|
||||
<view class="order-date">时间:{{ item.manicure_time | date }}</view>
|
||||
</view>
|
||||
<u-loadmore :status="loadStatus" bgColor="#ECECEC" margin-bottom="20" v-if="orderList.length>=pageSize"></u-loadmore>
|
||||
@ -130,7 +129,7 @@ export default {
|
||||
.order-item {
|
||||
padding: 30rpx;
|
||||
width:690rpx;
|
||||
// height: 229rpx;
|
||||
height: 229rpx;
|
||||
background: rgba(255,255,255,1);
|
||||
border-radius: 10rpx;
|
||||
margin-bottom: 20rpx;
|
||||
|
@ -5,23 +5,15 @@
|
||||
<view>美甲人:</view>
|
||||
<input type="text" v-model="name" />
|
||||
</view>
|
||||
<view class="order-name">
|
||||
<view>美甲人电话:</view>
|
||||
<input type="text" v-model="phone" maxlength="11" />
|
||||
<view class="order-date" @click="show=true">
|
||||
<view class="title">美甲时间:</view>
|
||||
<image src="../static/mine/21.png" v-if="!time"></image>
|
||||
<view v-else class="time">{{ time }}</view>
|
||||
</view>
|
||||
<view class="order-address">
|
||||
<view class="title">美甲地址:</view>
|
||||
<input type="text" v-model="address" disabled />
|
||||
</view>
|
||||
<view class="order-name">
|
||||
<view>美甲店电话:</view>
|
||||
<input type="text" v-model="storePhone" disabled />
|
||||
</view>
|
||||
<!-- <view class="order-date" @click="show=true">
|
||||
<view class="title">美甲时间:</view>
|
||||
<image src="../static/mine/21.png" v-if="!time"></image>
|
||||
<view v-else class="time">{{ time }}</view>
|
||||
</view> -->
|
||||
</view>
|
||||
<view class="order-btn" @click="addManicureOrder">确认订单</view>
|
||||
<u-picker mode="time" v-model="show" :params="params" @confirm="chooseDate"></u-picker>
|
||||
@ -34,8 +26,6 @@ export default {
|
||||
return {
|
||||
name: '',
|
||||
time: '',
|
||||
phone: '',
|
||||
storePhone: '',
|
||||
address: '',
|
||||
params: {
|
||||
year: true,
|
||||
@ -51,38 +41,28 @@ export default {
|
||||
},
|
||||
onLoad() {
|
||||
this.getConfigInfo();
|
||||
this.getPhone();
|
||||
},
|
||||
methods: {
|
||||
validateValue() {
|
||||
if(this.$u.test.isEmpty(this.name)) {
|
||||
this.showToast('姓名不能为空');
|
||||
this.showToast('姓名不能为空', 'error');
|
||||
return false;
|
||||
}
|
||||
if(this.$u.test.isEmpty(this.phone)) {
|
||||
this.showToast('美甲人电话不能为空');
|
||||
if(this.$u.test.isEmpty(this.time)) {
|
||||
this.showToast('日期不能为空', 'error');
|
||||
return false;
|
||||
}
|
||||
if(!this.$u.test.mobile(this.phone)) {
|
||||
this.showToast('美甲人电话错误');
|
||||
if(new Date() > new Date(this.time)) {
|
||||
this.showToast('日期错误', 'error');
|
||||
return false;
|
||||
}
|
||||
// if(this.$u.test.isEmpty(this.time)) {
|
||||
// this.showToast('日期不能为空', 'error');
|
||||
// return false;
|
||||
// }
|
||||
// if(new Date() > new Date(this.time)) {
|
||||
// this.showToast('日期错误', 'error');
|
||||
// return false;
|
||||
// }
|
||||
return true;
|
||||
},
|
||||
addManicureOrder() {
|
||||
if(!this.validateValue()) return false;
|
||||
this.$u.api.addManicure({
|
||||
name: this.name,
|
||||
phone: this.phone,
|
||||
// time: new Date(this.time)
|
||||
time: new Date(this.time)
|
||||
}).then((res)=>{
|
||||
if(res.errCode == 0) {
|
||||
this.$refs.uToast.show({
|
||||
@ -105,15 +85,6 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
getPhone() {
|
||||
this.$u.api.getConfigInfo({
|
||||
code: 'manicure_phone',
|
||||
}).then(res => {
|
||||
if(res.errCode == 0) {
|
||||
this.storePhone = res.data.config.value;
|
||||
}
|
||||
})
|
||||
},
|
||||
chooseDate(e) {
|
||||
// let time = e.year + '年' + e.month + '月' + e.day + '日' + e.hour + '时' + e.minute + '分'
|
||||
let time = e.year + '/' + e.month + '/' + e.day + ' ' + e.hour + ':' + e.minute
|
||||
|
@ -1,9 +1,9 @@
|
||||
<template>
|
||||
<view class="mine-history">
|
||||
<view scroll-y class="history-box">
|
||||
<scroll-view scroll-y class="history-box" @scrolltolower="reachBottom">
|
||||
<view class="item-box">
|
||||
<!-- 需求:只显示最近五十条数据 后台未作限制 -->
|
||||
<view v-for="(item, index) in historyList" :key="index" class="history-item">
|
||||
<view v-for="(item, index) in historyList.slice(0, 50)" :key="index" class="history-item">
|
||||
<view class="item-title" @click="viewStoreDetails(item.store_id)">
|
||||
<image :src="item.store_avatar"></image>
|
||||
<view class="u-line-1">{{ item.store_name }}</view>
|
||||
@ -20,7 +20,7 @@
|
||||
<u-action-sheet :list="actionList" v-model="showAction" :cancel-btn="true" @click="delHistory" border-radius="20"></u-action-sheet>
|
||||
<u-empty text="暂无足迹" mode="list" color="#000" v-if="!historyList.length"></u-empty>
|
||||
<u-loadmore class="load-size" :status="loadStatus" bgColor="#ECECEC" margin-top="20" margin-bottom="20" v-if="historyList.length >= pageSize" @loadmore="reachBottom"></u-loadmore>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@ -47,9 +47,6 @@ export default {
|
||||
onLoad() {
|
||||
this.getBrowseList();
|
||||
},
|
||||
onReachBottom(){
|
||||
this.reachBottom()
|
||||
},
|
||||
methods: {
|
||||
viewAction(id) {
|
||||
this.showAction = true;
|
||||
@ -61,10 +58,6 @@ export default {
|
||||
this.$u.api.delMemberBrowse({ goods_id: glist }).then(res => {
|
||||
if(res.errCode == 0) {
|
||||
this.getBrowseList();
|
||||
uni.pageScrollTo({
|
||||
scrollTop: 0,
|
||||
duration: 300
|
||||
});
|
||||
} else {
|
||||
this.$u.toast(res.message);
|
||||
}
|
||||
@ -116,16 +109,13 @@ export default {
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss">
|
||||
page{
|
||||
background: #ECECEC;
|
||||
}
|
||||
<style lang="scss" scoped>
|
||||
.mine-history {
|
||||
min-height: calc(100vh - var(--window-top));
|
||||
background: #ECECEC;
|
||||
.history-box {
|
||||
box-sizing: border-box;
|
||||
// height: calc(100vh - var(--window-top));
|
||||
height: calc(100vh - var(--window-top));
|
||||
padding: 20rpx 30rpx 0;
|
||||
.item-box {
|
||||
display: flex;
|
||||
|
@ -21,7 +21,7 @@
|
||||
<view class="order-status">{{ item.order_status | viewStatus }}</view>
|
||||
</view>
|
||||
<view class="order-info">
|
||||
<image :src="type == 1 ? item.goods_image : (Array.isArray(item.images) ? item.images[0] : '/static/image/mine/47.png')" mode="aspectFit"></image>
|
||||
<image :src="type == 1 ? item.goods_image : item.images[0]" mode="aspectFit"></image>
|
||||
<view v-if="item.deliver_goods_type == 2 && item.order_status == 20">
|
||||
<view>骑手名字:{{ item.takeawayer_name || '' }}</view>
|
||||
<view>联系方式:{{ item.takeawayer_mobile || '' }}</view>
|
||||
@ -117,8 +117,6 @@ export default {
|
||||
uni.navigateTo({
|
||||
url: '/pageE/tool/WashOrder'
|
||||
});
|
||||
this.current = 0;
|
||||
this.swiperCurrent = 0;
|
||||
this.showPopup = false;
|
||||
}
|
||||
}
|
||||
@ -127,8 +125,8 @@ export default {
|
||||
this.sendLaundryOrderList();
|
||||
},
|
||||
onShow() {
|
||||
// this.current = 0;
|
||||
// this.swiperCurrent = 0;
|
||||
this.current = 0;
|
||||
this.swiperCurrent = 0;
|
||||
this.showPopup = false;
|
||||
this.sendLaundryOrderList();
|
||||
this.sendCommentList();
|
||||
|
@ -57,6 +57,10 @@
|
||||
<view class="order-view order-area" @click="showAddress=true">
|
||||
<view class="title">省市区:</view>
|
||||
<input type="text" v-model="area" disabled />
|
||||
<!-- <view class="location">
|
||||
<image src="../static/mine/28.png"></image>
|
||||
<view>定位</view>
|
||||
</view> -->
|
||||
</view>
|
||||
<view class="order-view order-address">
|
||||
<view class="title">详细地址:</view>
|
||||
@ -109,6 +113,10 @@
|
||||
<view class="order-view order-area" @click="showAddress=true">
|
||||
<view class="title">省市区:</view>
|
||||
<input type="text" v-model="area" disabled />
|
||||
<!-- <view class="location">
|
||||
<image src="../static/mine/28.png"></image>
|
||||
<view>定位</view>
|
||||
</view> -->
|
||||
</view>
|
||||
<view class="order-view order-address">
|
||||
<view class="title">详细地址:</view>
|
||||
@ -246,6 +254,7 @@ export default {
|
||||
// this.current = 0;
|
||||
// this.swiperCurrent = 0;
|
||||
this.showPopup = false;
|
||||
this.choose = false;
|
||||
},
|
||||
onLoad() {
|
||||
this.getOrderList();
|
||||
@ -261,7 +270,6 @@ export default {
|
||||
this.phone = '';
|
||||
this.area = '';
|
||||
this.address = '';
|
||||
this.choose = false;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@ -411,16 +419,12 @@ export default {
|
||||
radioChange(e){
|
||||
const ids = e.split(" ");
|
||||
// console.log(ids)
|
||||
let checkedGoods;
|
||||
let checkedGoods = {};
|
||||
this.orderList.forEach(order => {
|
||||
if(order.order_id == ids[0]) {
|
||||
checkedGoods = {
|
||||
store: order.extend_store,
|
||||
order_sn: order.order_sn,
|
||||
order_id: order.order_id,
|
||||
reciver_info: order.extend_order_common.reciver_info,
|
||||
reciver_name: order.extend_order_common.reciver_name
|
||||
}
|
||||
Object.assign(checkedGoods, { store: order.extend_store });
|
||||
Object.assign(checkedGoods, { order_sn: order.order_sn });
|
||||
Object.assign(checkedGoods, { order_id: order.order_id });
|
||||
order.extend_order_goods.forEach(goods => {
|
||||
if(goods.goods_id == ids[1]) {
|
||||
Object.assign(checkedGoods, { goods: goods });
|
||||
@ -429,13 +433,6 @@ export default {
|
||||
})
|
||||
}
|
||||
})
|
||||
this.setDefaultValue();
|
||||
},
|
||||
setDefaultValue() {
|
||||
this.name = this.checkedGoods.reciver_name;
|
||||
this.phone = this.checkedGoods.reciver_info.mob_phone;
|
||||
this.area = this.checkedGoods.reciver_info.area;
|
||||
this.address = this.checkedGoods.reciver_info.street;
|
||||
},
|
||||
setArea(area) {
|
||||
// console.log(area);
|
||||
|
@ -2,25 +2,20 @@
|
||||
<view class="comment">
|
||||
<view class="main-container">
|
||||
<u-input v-model="content" type="textarea" height="300" maxlength="200" />
|
||||
<u-upload
|
||||
<!-- <u-upload
|
||||
ref="uUpload"
|
||||
@on-uploaded="onUploaded"
|
||||
:custom-btn="true"
|
||||
:max-count="count"
|
||||
: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">
|
||||
<image src="../static/mine/27.png"></image>
|
||||
</view>
|
||||
</u-upload>
|
||||
</u-upload> -->
|
||||
</view>
|
||||
<u-toast ref="uToast" />
|
||||
<view class="write-btn" @click="setLoaclList">发表评价</view>
|
||||
<view class="write-btn" @click="addWashEvaluate">发表评价</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
@ -28,17 +23,8 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
washId: '',
|
||||
count: 1,
|
||||
action: this.$u.http.config.baseUrl + '/Upload/uploadfile',
|
||||
header: {
|
||||
"authorization": 'Bearer' + " " + uni.getStorageSync('token')
|
||||
},
|
||||
fileName: 'common', // 与formData name 一样
|
||||
formData: {
|
||||
name: 'common', // 其他图片
|
||||
},
|
||||
// count: 4, // 最大图片数量
|
||||
content: '',
|
||||
imageList: [],
|
||||
}
|
||||
},
|
||||
onLoad(option) {
|
||||
@ -52,22 +38,11 @@ export default {
|
||||
}
|
||||
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() {
|
||||
if(!this.verifyParams()) return false;
|
||||
this.$u.api.sendOrderComment({
|
||||
id: this.washId,
|
||||
comment: this.content,
|
||||
comment_img: this.imageList[0]
|
||||
}).then(res => {
|
||||
this.$refs.uToast.show({
|
||||
title: res.message,
|
||||
@ -90,23 +65,23 @@ export default {
|
||||
background-color: #ffffff;
|
||||
padding: 30rpx;
|
||||
margin-bottom: 10rpx;
|
||||
textarea {
|
||||
width: 100% !important;
|
||||
height: 500rpx;
|
||||
margin-bottom: 60rpx;
|
||||
}
|
||||
.slot-btn {
|
||||
width: 140rpx;
|
||||
height: 140rpx;
|
||||
background: rgba(236,236,236,1);
|
||||
border-radius: 10rpx;
|
||||
text-align: center;
|
||||
> image {
|
||||
margin-top: 48rpx;
|
||||
width: 54rpx;
|
||||
height: 49rpx;
|
||||
}
|
||||
}
|
||||
// textarea {
|
||||
// width: 100% !important;
|
||||
// height: 500rpx;
|
||||
// margin-bottom: 60rpx;
|
||||
// }
|
||||
// .slot-btn {
|
||||
// width: 140rpx;
|
||||
// height: 140rpx;
|
||||
// background: rgba(236,236,236,1);
|
||||
// border-radius: 10rpx;
|
||||
// text-align: center;
|
||||
// > img {
|
||||
// margin-top: 48rpx;
|
||||
// width: 54rpx;
|
||||
// height: 49rpx;
|
||||
// }
|
||||
// }
|
||||
}
|
||||
.write-btn {
|
||||
margin: 120rpx auto 0;
|
||||
|
100
pages.json
@ -80,17 +80,6 @@
|
||||
{
|
||||
"root": "pageB",
|
||||
"pages": [
|
||||
{
|
||||
"path": "tipsinfo/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "",
|
||||
"app-plus":{
|
||||
"titleNView":{
|
||||
"backgroundColor":"#ffffff"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "playVideo/index",
|
||||
"style": {
|
||||
@ -136,7 +125,7 @@
|
||||
"buttons": [
|
||||
{
|
||||
"type":"none",
|
||||
"text":"\ue001",
|
||||
"text":"\ue636",
|
||||
"float":"right",
|
||||
"fontSize":"18",
|
||||
"fontSrc": "/static/fonts/cart.ttf"
|
||||
@ -167,7 +156,7 @@
|
||||
"buttons": [
|
||||
{
|
||||
"type":"none",
|
||||
"text":"\ue001",
|
||||
"text":"\ue636",
|
||||
"float":"right",
|
||||
"fontSize":"18",
|
||||
"fontSrc": "/static/fonts/cart.ttf"
|
||||
@ -358,19 +347,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "cart/selectInvoice",
|
||||
"style": {
|
||||
"navigationBarTitleText": "发票抬头",
|
||||
"app-plus": {
|
||||
"titleSize": "36px",
|
||||
"titleNView": {
|
||||
"titleColor": "#333333",
|
||||
"backgroundColor": "#FFFFFF"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "merchant/index",
|
||||
"style": {
|
||||
@ -391,9 +367,9 @@
|
||||
// },
|
||||
{
|
||||
"type":"none",
|
||||
"text":"\ue001",
|
||||
"text":"\ue636",
|
||||
"float":"right",
|
||||
"fontSize":"18",
|
||||
"fontSize":"22",
|
||||
"fontSrc": "/static/fonts/cart.ttf",
|
||||
"color": "#FFFFFF"
|
||||
|
||||
@ -497,7 +473,7 @@
|
||||
{
|
||||
"path": "privateChat/privateChat",
|
||||
"style": {
|
||||
"navigationBarTitleText": "商家",
|
||||
"navigationBarTitleText": "uni-app",
|
||||
"app-plus": {
|
||||
"titleNView": true
|
||||
}
|
||||
@ -635,45 +611,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"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",
|
||||
"style": {
|
||||
@ -780,19 +717,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "mine/Contact",
|
||||
"style": {
|
||||
"navigationBarTitleText": "联系我们",
|
||||
"app-plus": {
|
||||
"titleSize": "36px",
|
||||
"titleNView": {
|
||||
"titleColor": "#333333",
|
||||
"backgroundColor": "#FFFFFF"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "mine/Integral",
|
||||
"style": {
|
||||
@ -1064,19 +988,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "setting/binding",
|
||||
"style": {
|
||||
"navigationBarTitleText": "第三方绑定",
|
||||
"app-plus": {
|
||||
"titleSize": "36px",
|
||||
"titleNView": {
|
||||
"titleColor": "#333333",
|
||||
"backgroundColor": "#FFFFFF"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "setting/ShieldUsers",
|
||||
"style": {
|
||||
@ -1211,6 +1122,7 @@
|
||||
{
|
||||
"path": "pages/index/index",
|
||||
"style": {
|
||||
"enablePullDownRefresh": true,
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
|
@ -262,8 +262,7 @@
|
||||
loading: '努力加载中',
|
||||
nomore: '实在没有了'
|
||||
},
|
||||
refresher:true,
|
||||
zqie:false
|
||||
refresher:true
|
||||
}
|
||||
},
|
||||
components: {
|
||||
@ -273,7 +272,7 @@
|
||||
darenItem
|
||||
},
|
||||
onShow() {
|
||||
console.log(this.imService.status,this.$store.state.hasLogin)
|
||||
console.log(this.imService.status)
|
||||
if(!this.imService.status && this.$store.state.hasLogin){
|
||||
const user = uni.getStorageSync('user_info');
|
||||
// console.log(user)
|
||||
@ -308,7 +307,6 @@
|
||||
if (this.$store.state.showCoupons) {
|
||||
this.isNewmembervoucher();
|
||||
}
|
||||
this.getRecommendList();
|
||||
},
|
||||
async onLoad(){
|
||||
this.articleList = [];
|
||||
@ -357,10 +355,6 @@
|
||||
uni.showLoading({
|
||||
title: "loading..."
|
||||
})
|
||||
if(this.zqie){
|
||||
return ;
|
||||
}
|
||||
this.zqie = true;
|
||||
this.$u.api.tabLiveList({page:this.live_page}).then((res) => {
|
||||
// uni.stopPullDownRefresh();
|
||||
this.status_live = "loading";
|
||||
@ -377,7 +371,6 @@
|
||||
} else if (res.data.data.length == 0 && this.live_page > 1) {
|
||||
this.status_live = "nomore";
|
||||
} else {
|
||||
console.log(this.live_page,1223)
|
||||
this.tabLiveLists = this.tabLiveLists.concat(res.data.data);
|
||||
console.log(this.tabLiveLists)
|
||||
}
|
||||
@ -388,8 +381,6 @@
|
||||
} else {
|
||||
this.status_live = "nomore"
|
||||
}
|
||||
this.zqie = false;
|
||||
|
||||
|
||||
})
|
||||
},
|
||||
@ -551,7 +542,6 @@
|
||||
this.jumpPage({
|
||||
type: item.url_type,
|
||||
id: item.info_id,
|
||||
adv_id: item.adv_id,
|
||||
});
|
||||
},
|
||||
clickSImage(index) {
|
||||
@ -560,7 +550,6 @@
|
||||
this.jumpPage({
|
||||
type: item.url_type,
|
||||
id: item.info_id,
|
||||
adv_id: item.adv_id,
|
||||
});
|
||||
},
|
||||
goSearch() {
|
||||
@ -590,7 +579,6 @@
|
||||
},
|
||||
jumpPage(uri) {
|
||||
// console.log(uri);
|
||||
this.$u.api.advClick({ adv_id: uri.adv_id });
|
||||
common.jumpPage({ type: uri.type, id: uri.id });
|
||||
}
|
||||
},
|
||||
|
@ -127,8 +127,7 @@
|
||||
uni.request({
|
||||
url:"https://mall.dmygkeji.com/api/Specialci/getAtwillUserInfo",
|
||||
data:{
|
||||
userId: 1,
|
||||
markup: 1
|
||||
userId: 1
|
||||
},
|
||||
method:"POST",
|
||||
header:{
|
||||
@ -137,7 +136,7 @@
|
||||
success(res){
|
||||
console.log(res)
|
||||
res = res.data
|
||||
let user = new Friend(res.data.member_id,'官方平台客服',res.data.member_avatar)
|
||||
let user = new Friend(res.data.member_id,res.data.store_name,res.data.member_avatar)
|
||||
that.$u.route({
|
||||
url:"/pageD/privateChat/privateChat",
|
||||
params:{
|
||||
@ -150,7 +149,6 @@
|
||||
|
||||
},
|
||||
gochat(id){
|
||||
console.log(id)
|
||||
this.$u.route({
|
||||
url:"/pageD/privateChat/privateChat",
|
||||
params:{
|
||||
|
@ -2,7 +2,7 @@
|
||||
<view class="mine">
|
||||
<view class="mine-top">
|
||||
<view class="top">
|
||||
<u-avatar @click="toOtherPage('/mine/MineInfo')" :src="userInfo.member_avatar + '?' + (new Date().getTime())" :size="110"></u-avatar>
|
||||
<u-avatar @click="toOtherPage('/mine/MineInfo')" :src="userInfo.member_avatar" :size="110"></u-avatar>
|
||||
<view class="user-info">
|
||||
<view class="info-top">
|
||||
<view class="user-nickname u-line-1">{{ userInfo.member_nickname }}</view>
|
||||
@ -16,10 +16,7 @@
|
||||
<view class="user-rank">等级:{{ userInfo.member_level || 0 }}级</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="btn">
|
||||
<view class="member-service" @click="toOtherPage('/mine/MemberServe')">会员服务</view>
|
||||
<view class="member-service" @click="toOtherPage('/mine/Contact')">联系我们</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bottom">
|
||||
<view @click="toOtherPage('/mine/GoodsCollection')">
|
||||
@ -86,10 +83,6 @@
|
||||
<image src="/static/image/mine/39.png"></image>
|
||||
<view>试穿试送</view>
|
||||
</view>
|
||||
<view @click="toCartPage">
|
||||
<image src="/static/image/common/33.png"></image>
|
||||
<view>购物车</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="more-tool">
|
||||
@ -107,19 +100,11 @@
|
||||
<image src="/static/image/mine/16.png"></image>
|
||||
<view>使用帮助</view>
|
||||
</view>
|
||||
<view class="badge-box" @click="toOtherPage('/more/Complaints')">
|
||||
<view @click="toOtherPage('/more/Complaints')">
|
||||
<image src="/static/image/mine/15.png"></image>
|
||||
<view>投诉意见</view>
|
||||
<u-badge size="mini" :count="userInfo.feedback_show" :offset="offset" type="error"></u-badge>
|
||||
</view>
|
||||
<view @click="toOtherPage('/more/ApplyLive')">
|
||||
<image src="/static/image/mine/45.png"></image>
|
||||
<view>达人申请</view>
|
||||
</view>
|
||||
<view @click="toOtherPage('/more/MineInvoice')">
|
||||
<image src="/static/image/mine/46.png"></image>
|
||||
<view>我的发票</view>
|
||||
</view>
|
||||
<!-- <view></view> -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -173,13 +158,12 @@ export default {
|
||||
},
|
||||
{
|
||||
name: 'refund',
|
||||
title: '退款售后',
|
||||
title: '售后',
|
||||
img: '/static/image/mine/9.png',
|
||||
link: '/order/Index?current=7',
|
||||
number: '',
|
||||
},
|
||||
],
|
||||
offset: [-10,6]
|
||||
]
|
||||
};
|
||||
},
|
||||
filters: {
|
||||
@ -207,8 +191,8 @@ export default {
|
||||
this.$u.api.getMemberInfo().then(res => {
|
||||
// uni.stopPullDownRefresh();
|
||||
if (res.errCode == 0) {
|
||||
this.userInfo = res.data.MemberArray;
|
||||
// this.$set(this, 'userInfo', res.data.MemberArray);
|
||||
// this.userInfo = res.data.MemberArray;
|
||||
this.$set(this, 'userInfo', res.data.MemberArray);
|
||||
}
|
||||
})
|
||||
},
|
||||
@ -231,10 +215,7 @@ export default {
|
||||
uni.navigateTo({
|
||||
url: '/pageE' + url
|
||||
});
|
||||
},
|
||||
toCartPage() {
|
||||
this.$u.route('/pageC/cart/index');
|
||||
},
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@ -246,7 +227,6 @@ export default {
|
||||
// width: 100%;
|
||||
height: 272rpx;
|
||||
background-color: #FF7807;
|
||||
position: relative;
|
||||
.top {
|
||||
padding: 40rpx 0 0 30rpx;
|
||||
display: flex;
|
||||
@ -303,23 +283,16 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 43rpx;
|
||||
.member-service {
|
||||
height: 52rpx;
|
||||
line-height: 52rpx;
|
||||
box-sizing: content-box;
|
||||
margin-left: auto;
|
||||
padding: 0 51rpx 0 22rpx;
|
||||
background: rgba(255,255,255,0.32);
|
||||
border-radius: 26rpx 0 0 26rpx;
|
||||
font-size: 26rpx;
|
||||
color:rgba(51,51,51,1);
|
||||
&:not(:last-child) {
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.bottom {
|
||||
@ -455,7 +428,7 @@ export default {
|
||||
> view:nth-child(6){
|
||||
@include image-size($image-width: 33rpx, $image-height: 35rpx);
|
||||
.order-num {
|
||||
left: 44rpx;
|
||||
left: 24rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -473,7 +446,7 @@ export default {
|
||||
width: 100rpx;
|
||||
}
|
||||
> view:not(:last-child) {
|
||||
margin-right: 16rpx;
|
||||
margin-right: 36rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -490,12 +463,9 @@ export default {
|
||||
width: 100rpx;
|
||||
}
|
||||
> view:not(:last-child) {
|
||||
margin-right: 16rpx;
|
||||
margin-right: 36rpx;
|
||||
}
|
||||
}
|
||||
.badge-box {
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,7 +17,7 @@
|
||||
<u-swiper :list="list" mode="dot" @click="clickImage"></u-swiper>
|
||||
</view>
|
||||
<view class="chengnuo">
|
||||
<!-- <view>
|
||||
<view>
|
||||
<image src="/static/image/shop/4.png"></image>
|
||||
<text>免费洗衣</text>
|
||||
</view>
|
||||
@ -32,10 +32,6 @@
|
||||
<view>
|
||||
<image src="/static/image/shop/7.png"></image>
|
||||
<text>上门取件</text>
|
||||
</view> -->
|
||||
<view v-for="(item,index) in tips" :key="index" @click="totips(item.document_code)">
|
||||
<image :src="item.file_name"></image>
|
||||
<text>{{item.document_title}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="fenlei">
|
||||
@ -50,7 +46,7 @@
|
||||
<!-- 拼团列表 -->
|
||||
<group></group>
|
||||
<view class="activity-view">
|
||||
<image class="lingquan" :src="activityInfo.adv_code" @click="jumpPage({ type: activityInfo.url_type, id: activityInfo.info_id, adv_id: activityInfo.adv_id })"></image>
|
||||
<image class="lingquan" :src="activityInfo.adv_code" @click="jumpPage({ type: activityInfo.url_type, id: activityInfo.info_id })"></image>
|
||||
</view>
|
||||
<!-- 优惠券 -->
|
||||
<youhq></youhq>
|
||||
@ -99,14 +95,12 @@
|
||||
pinTuanPush: {}, // 拼团推荐
|
||||
activityInfo: {},
|
||||
areaList: [], // 位置信息
|
||||
tips:[]
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getShopTopList();
|
||||
this.getLocation(); // 获取定位
|
||||
this.getStoreActivity();
|
||||
this.gettips()
|
||||
// this.area = uni.getStorageSync("address") || "请选择";
|
||||
},
|
||||
onShow() {
|
||||
@ -116,21 +110,6 @@
|
||||
this.getAllLoaction(); // 获取位置
|
||||
},
|
||||
methods: {
|
||||
totips(id){
|
||||
this.$u.route({
|
||||
type:"to",
|
||||
url:"/pageB/tipsinfo/index",
|
||||
params:{
|
||||
id
|
||||
}
|
||||
})
|
||||
},
|
||||
gettips(){
|
||||
this.$u.api.tips().then((res)=>{
|
||||
console.log(res)
|
||||
this.tips = res.data
|
||||
})
|
||||
},
|
||||
sousuo() {
|
||||
// console.log(123)
|
||||
this.$u.route({
|
||||
@ -215,7 +194,6 @@
|
||||
this.jumpPage({
|
||||
type: item.url_type,
|
||||
id: item.info_id,
|
||||
adv_id: item.adv_id,
|
||||
});
|
||||
},
|
||||
// 下拉加载更多推荐商品
|
||||
@ -245,7 +223,6 @@
|
||||
},
|
||||
jumpPage(uri) {
|
||||
// console.log(uri);
|
||||
this.$u.api.advClick({ adv_id: uri.adv_id });
|
||||
common.jumpPage({ type: uri.type, id: uri.id });
|
||||
}
|
||||
},
|
||||
@ -351,7 +328,7 @@
|
||||
z-index: 9;
|
||||
position: fixed;
|
||||
right: 30rpx;
|
||||
bottom: 110rpx;
|
||||
bottom: 300rpx;
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
background: rgba(253, 211, 96, 1);
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<view>
|
||||
<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 :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>
|
||||
<view class="user" :style="{'top': top}">
|
||||
@ -18,7 +18,7 @@
|
||||
<view class="hot" :style="{'top': top + 10 * rpx}">
|
||||
<text class="hottext">{{room.onlineUsers.users.length}}</text>
|
||||
</view>
|
||||
<image v-if="list.length != 0" class="cart" src="../../static/cart.png" @click="show = true">
|
||||
<image class="cart" src="../../static/cart.png" @click="show = true">
|
||||
|
||||
</image>
|
||||
<view class="danmufasongbox" @click="danmu = $store.state.hasLogin">
|
||||
@ -29,7 +29,7 @@
|
||||
<!-- <image class="liketap" src="../../static/like.png" @click=""> -->
|
||||
|
||||
<view class="danmuinputbox" v-if="danmu">
|
||||
<input type="text" focus="true" style="width:600rpx;margin-left:30rpx;font-size:26rpx" maxlength="100" @blur="danmu=false" :focus="danmu" v-model="danmutext">
|
||||
<input type="text" focus="true" style="width:600rpx;margin-left:30rpx;font-size:26rpx" maxlength="20" @blur="danmu=false" :focus="danmu" v-model="danmutext">
|
||||
<view class="danmufasong" @click="sendMessage(room.MessageType.CHAT,danmutext)">
|
||||
<text style="font-size:24rpx;color:#fff">发送</text>
|
||||
</view>
|
||||
@ -96,9 +96,7 @@
|
||||
border-bottom-width: 2rpx;
|
||||
border-style: solid;
|
||||
border-color: #ECECEC;
|
||||
/* #ifndef APP-PLUS-NVUE */
|
||||
display: flex;
|
||||
/* #endif */
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
@ -126,9 +124,7 @@
|
||||
border-bottom-width: 2rpx;
|
||||
border-style: solid;
|
||||
border-color: #ECECEC;
|
||||
/* #ifndef APP-PLUS-NVUE */
|
||||
display: flex;
|
||||
/* #endif */
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
@ -187,9 +183,7 @@
|
||||
border-radius: 30rpx;
|
||||
}
|
||||
.userlist{
|
||||
/* #ifndef APP-PLUS-NVUE */
|
||||
display: flex;
|
||||
/* #endif */
|
||||
flex-direction: row-reverse;
|
||||
width: 150rpx;
|
||||
height: 60rpx;
|
||||
@ -211,9 +205,7 @@
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.userinfo {
|
||||
/* #ifndef APP-PLUS-NVUE */
|
||||
display: flex;
|
||||
/* #endif */
|
||||
flex-direction: column;
|
||||
width: 100rpx;
|
||||
margin-left: 20rpx;
|
||||
@ -248,9 +240,7 @@
|
||||
left: 30rpx;
|
||||
width: 308rpx;
|
||||
height: 70rpx;
|
||||
/* #ifndef APP-PLUS-NVUE */
|
||||
display: flex;
|
||||
/* #endif */
|
||||
align-items: center;
|
||||
border-radius: 35rpx;
|
||||
overflow: hidden;
|
||||
@ -319,16 +309,11 @@
|
||||
position: fixed;
|
||||
left: 30rpx;
|
||||
bottom: 118rpx;
|
||||
width: 690rpx;
|
||||
}
|
||||
.danmuitem{
|
||||
font-size: 30rpx;
|
||||
font-size: 26rpx;
|
||||
color: #fff;
|
||||
flex-direction: column-reverse;
|
||||
/* #ifndef APP-PLUS-NVUE */
|
||||
word-wrap:anywhere;
|
||||
/* #endif */
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -350,8 +335,7 @@ export default {
|
||||
danmu:false,
|
||||
room:{},
|
||||
chatRoomService:{},
|
||||
danmulist:[],
|
||||
videoContext:{}
|
||||
danmulist:[]
|
||||
};
|
||||
},
|
||||
onBackPress(options) {
|
||||
@ -360,11 +344,8 @@ export default {
|
||||
});
|
||||
return false;
|
||||
},
|
||||
onShow(){
|
||||
this.videoContext.play()
|
||||
},
|
||||
onLoad(a) {
|
||||
this.videoContext = uni.createVideoContext('myVideo')
|
||||
|
||||
this.url = a.url;
|
||||
this.id = a.id
|
||||
console.log(this.url);
|
||||
@ -431,7 +412,6 @@ export default {
|
||||
"Authorization" : 'Bearer' + " " + token
|
||||
},
|
||||
success(res){
|
||||
|
||||
console.log(res)
|
||||
that.info = res.data.data
|
||||
// that.list= res.data.data
|
||||
@ -448,7 +428,6 @@ export default {
|
||||
that.room = that.chatRoomService.room;
|
||||
that.chatRoomService.initialWhenOnlineUserChange(that.newpeople)
|
||||
that.chatRoomService.initialWhenNewMessage(that.whenNewMessage);
|
||||
that.chatRoomService.jieshuzhibo = this.jieshu;
|
||||
this.$forceUpdate();
|
||||
console.log(that.room)
|
||||
|
||||
@ -461,24 +440,7 @@ export default {
|
||||
this.chatRoomService.quitRoom();
|
||||
},
|
||||
methods:{
|
||||
jieshu(text){
|
||||
console.log(text)
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: text.content,
|
||||
showCancel:false,
|
||||
success: function (res) {
|
||||
uni.navigateBack({
|
||||
delta: 1
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
errors(a){
|
||||
this.videoContext.stop();
|
||||
setTimeout(() => {
|
||||
this.videoContext.play()
|
||||
},1000)
|
||||
console.log(a)
|
||||
},
|
||||
newpeople(list){
|
||||
@ -515,11 +477,6 @@ export default {
|
||||
// this.contentPosition = 'message-box'+(this.room.messages.length-1);
|
||||
// }, 300)
|
||||
console.log(message)
|
||||
if(message.type == 1){
|
||||
|
||||
console.log('stop')
|
||||
return ;
|
||||
}
|
||||
this.danmulist.push(message)
|
||||
|
||||
if(this.danmulist.length > 7){
|
||||
@ -563,9 +520,9 @@ export default {
|
||||
header:{
|
||||
"Authorization" : 'Bearer' + " " + token
|
||||
},
|
||||
success(a){
|
||||
console.log(a)
|
||||
that.info = a.data.data;
|
||||
success(res){
|
||||
console.log(res)
|
||||
that.info = res.data.data;
|
||||
uni.showToast({
|
||||
title: res.data.message,
|
||||
icon: "none"
|
||||
@ -579,23 +536,6 @@ export default {
|
||||
},
|
||||
xuanzhong(i){
|
||||
let that = this
|
||||
const token = uni.getStorageSync('token');
|
||||
if(this.$store.state.hasLogin){
|
||||
uni.request({
|
||||
url:"https://mall.dmygkeji.com/api/Specialci/viewingOPproducts",
|
||||
data:{
|
||||
good_id:that.list[i].goods_id,
|
||||
exple_id:that.info.user_id
|
||||
},
|
||||
method:"POST",
|
||||
header:{
|
||||
"Authorization" : 'Bearer' + " " + token
|
||||
},
|
||||
success(a){
|
||||
console.log(a)
|
||||
}
|
||||
})
|
||||
}
|
||||
uni.navigateTo({
|
||||
url: `/pageB/sdetails/index?id=${that.list[i].goods_id}&type=1`
|
||||
});
|
||||
|
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 17 KiB |
BIN
static/cart.png
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 4.4 KiB |
@ -62,7 +62,7 @@ function ChatRoomService(room, user) {
|
||||
//获取实例
|
||||
ChatRoomService.prototype.connectGoEasyIM = function () {
|
||||
this.im = GoEasyIM.getInstance({
|
||||
appkey: 'BC-d9b5e639006b4ee2a4bc9eddc4235a6a',
|
||||
appkey: 'BC-453aa755c4ea48148abefc55a86df283',
|
||||
host: 'hangzhou.goeasy.io'
|
||||
});
|
||||
|
||||
|
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1008 B |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 665 B |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 30 KiB |
@ -8,8 +8,6 @@
|
||||
import GoEasyIM from './goeasy-im-1.0.9';
|
||||
// import GoEasyIM from './goeasy-im-1.1.1';
|
||||
import restApi from './restapi';
|
||||
import music from './music.mp3'
|
||||
|
||||
|
||||
function Friend(uuid, name, avatar,time = "", text = "",date = "",unReadMessage = 0) {
|
||||
this.uuid = uuid;
|
||||
@ -38,7 +36,7 @@ function CurrentUser(uuid, name, avatar) {
|
||||
function IMService() {
|
||||
this.im = GoEasyIM.getInstance({
|
||||
host:'hangzhou.goeasy.io',//qos=1
|
||||
appkey:'BC-d9b5e639006b4ee2a4bc9eddc4235a6a'
|
||||
appkey:'BC-453aa755c4ea48148abefc55a86df283'
|
||||
});
|
||||
this.status = false
|
||||
this.lianjie = false
|
||||
@ -55,8 +53,6 @@ function IMService() {
|
||||
//群聊消息记录,map格式,每个群对应一个数组
|
||||
this.groupMessages = {};
|
||||
|
||||
this.uid = 0;
|
||||
|
||||
/*
|
||||
* 监听器们
|
||||
*
|
||||
@ -77,8 +73,6 @@ function IMService() {
|
||||
//群列表发生改变
|
||||
this.onGroupListChange = function (groups) {};
|
||||
|
||||
//结束直播
|
||||
this.jieshuzhibo = function(messages){}
|
||||
|
||||
this.whenNewMessage = function () {
|
||||
|
||||
@ -289,14 +283,6 @@ IMService.prototype.initialIMListeners = function () {
|
||||
friends.sort(paixu)
|
||||
|
||||
}
|
||||
if(message.senderId != this.uid){
|
||||
const innerAudioContext = uni.createInnerAudioContext();
|
||||
innerAudioContext.autoplay = true;
|
||||
innerAudioContext.src = music;
|
||||
innerAudioContext.onPlay(() => {
|
||||
console.log('开始播放');
|
||||
});
|
||||
}
|
||||
|
||||
let that = this
|
||||
if(!friend && friend == undefined){
|
||||
@ -787,11 +773,6 @@ IMService.prototype.initialWhenOnlineUserChange = function (whenOnlineUserChange
|
||||
IMService.prototype.listenerNewMessage = function () {
|
||||
|
||||
this.im.on(GoEasyIM.EVENT.GROUP_MESSAGE_RECEIVED, (message) => {
|
||||
console.log(message)
|
||||
if(message.senderId == 0){
|
||||
this.jieshuzhibo(JSON.parse(message.payload.text));
|
||||
return;
|
||||
}
|
||||
var content = JSON.parse(message.payload.text);
|
||||
this.addNewMessage(message);
|
||||
this.whenNewMessage(content);
|
||||
|
BIN
static/mp4.mp4
Normal file
BIN
static/music.mp3
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 2.7 MiB |