90 Commits

Author SHA1 Message Date
9f5498ac7c 更换 2020-09-25 17:42:36 +08:00
c85f1aeead 修改字体大小 2020-09-21 17:37:29 +08:00
00670f4501 图标 2020-09-18 16:40:21 +08:00
db20e52e48 Merge pull request '去掉首页下拉刷新' (#378) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/378
2020-09-18 16:37:11 +08:00
d5cf7ae2fb 去掉首页下拉刷新 2020-09-18 16:36:35 +08:00
7644def64f Merge pull request '修改图标' (#377) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/377
2020-09-18 10:16:19 +08:00
2add59f416 修改图标 2020-09-18 10:15:46 +08:00
689b6a03aa Merge pull request '修改了备注的高度' (#376) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/376
2020-09-17 19:44:53 +08:00
2f8557eb42 修改了备注的高度 2020-09-17 19:42:34 +08:00
6364be1743 Merge pull request 'zhy' (#374) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/374
2020-09-17 19:33:43 +08:00
c893ece3a4 退款 2020-09-17 19:33:04 +08:00
fa9817e7bb 退款 2020-09-17 18:48:02 +08:00
a60f61c300 Merge pull request '添加了请求接口' (#373) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/373
2020-09-16 19:06:30 +08:00
6e40ae0daa 添加了请求接口 2020-09-16 18:35:21 +08:00
gyh
e96fcf28a9 Merge pull request 'gdpao' (#371) from gyh into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/371
2020-09-16 17:07:24 +08:00
Gdpao
8af938e0eb gdpao 2020-09-16 11:31:59 +08:00
gyh
d805b6f0bf Merge pull request 'gdpao' (#370) from gyh into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/370
2020-09-15 17:40:00 +08:00
Gdpao
10c9498985 gdpao 2020-09-15 16:44:03 +08:00
75dd6ca8d8 Merge pull request 'zhy' (#369) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/369
2020-09-15 16:16:44 +08:00
06bc5651ae 达人申请添加身份证 2020-09-15 16:14:57 +08:00
28c324e449 达人申请添加身份证 2020-09-15 16:07:59 +08:00
8158a1e780 Merge pull request '达人申请添加身份证' (#368) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/368
2020-09-15 15:41:38 +08:00
339f8e3346 达人申请添加身份证 2020-09-15 15:40:08 +08:00
1a9f06e722 Merge pull request '修改' (#367) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/367
2020-09-11 20:16:16 +08:00
7a9c0eb53f 修改 2020-09-11 20:15:49 +08:00
gyh
dd15356717 Merge pull request 'gdpao' (#366) from gyh into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/366
2020-09-11 19:48:11 +08:00
Gdpao
414f50ce5d gdpao 2020-09-11 18:47:14 +08:00
d5ba314bf6 Merge pull request '修改了标题' (#365) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/365
2020-09-11 17:59:32 +08:00
ad5ed4040c 修改了标题 2020-09-11 17:59:05 +08:00
f076c03c99 Merge pull request '添加了进入提醒' (#364) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/364
2020-09-11 17:01:02 +08:00
d5f9055445 添加了进入提醒 2020-09-11 17:00:13 +08:00
ab4c80ae36 Merge pull request '修改美甲' (#363) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/363
2020-09-11 14:46:32 +08:00
28832c38ae 修改美甲 2020-09-11 14:45:30 +08:00
b95f009ff3 Merge pull request '详情显示备注' (#362) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/362
2020-09-11 11:41:25 +08:00
5616cd046f 详情显示备注 2020-09-11 11:40:53 +08:00
3fd6e953c6 Merge pull request '订单添加备注' (#361) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/361
2020-09-11 11:26:14 +08:00
eedb40b9d0 订单添加备注 2020-09-11 11:24:05 +08:00
c162fc983f Merge pull request '修改成官方客服' (#360) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/360
2020-09-11 09:12:10 +08:00
9efa4d198f 修改成官方客服 2020-09-11 09:08:35 +08:00
gyh
83afd6216e Merge pull request 'gdpao' (#359) from gyh into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/359
2020-09-10 16:13:21 +08:00
Gdpao
d7877a3e77 gdpao 2020-09-10 14:46:48 +08:00
b5e8936307 Merge pull request 'about page add phone number' (#358) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/358
2020-09-10 10:39:15 +08:00
5b89988e4d about page add phone number 2020-09-10 10:38:33 +08:00
0e99c3f719 Merge pull request 'zhy' (#357) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/357
2020-09-10 10:01:29 +08:00
51c6a3b820 送洗显示信息 2020-09-10 10:01:02 +08:00
d79e38e44c 送洗显示信息 2020-09-10 10:00:04 +08:00
a1eac2a1e8 Merge pull request 'zhy' (#356) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/356
2020-09-10 09:21:47 +08:00
fe60d5a1cf view goods evaluation 2020-09-10 09:20:35 +08:00
8f010c634c view goods evaluation 2020-09-10 09:17:54 +08:00
b5985ce1a0 Merge pull request 'fixing bug' (#355) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/355
2020-09-09 17:22:41 +08:00
a9477b9657 fixing bug 2020-09-09 17:21:33 +08:00
4674acac3c Merge pull request '退款样式' (#354) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/354
2020-09-09 16:57:23 +08:00
45c087bf14 退款样式 2020-09-09 16:56:02 +08:00
7e50a6f56e Merge pull request 'zhy' (#353) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/353
2020-09-09 09:36:34 +08:00
20e27317be fix bug 2020-09-09 09:34:08 +08:00
89ddba5321 fix bug 2020-09-09 09:33:08 +08:00
52caeef425 Merge pull request '刷新首页关注列表' (#352) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/352
2020-09-08 08:57:22 +08:00
a14d662370 刷新首页关注列表 2020-09-08 08:55:09 +08:00
5bca242f28 Merge pull request '修复抖动' (#351) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/351
2020-09-07 15:48:14 +08:00
dd5db56bf8 修复抖动 2020-09-07 15:47:46 +08:00
b482369760 Merge pull request '增加试穿规格' (#349) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/349
2020-09-07 14:50:20 +08:00
dcea9608af 增加试穿规格 2020-09-07 14:47:54 +08:00
f65e2e9830 Merge pull request '修改配送方式' (#348) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/348
2020-09-07 11:42:43 +08:00
2ad46ce2a1 修改配送方式 2020-09-07 11:32:52 +08:00
e0abb14315 Merge pull request '修改评论的图片显示' (#347) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/347
2020-09-07 10:13:54 +08:00
57534ef7fc 修改评论的图片显示 2020-09-07 10:11:52 +08:00
gyh
50c88a9f60 Merge pull request 'gdpaoup' (#346) from gyh into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/346
2020-09-05 19:54:00 +08:00
80461f7345 Merge pull request '申请发票验证身份证号' (#345) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/345
2020-09-05 17:36:26 +08:00
1a4f1f7edf 申请发票验证身份证号 2020-09-05 17:35:33 +08:00
ba3717cd73 Merge pull request '送洗切换申请表返回' (#344) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/344
2020-09-05 17:17:25 +08:00
aecc65cbc6 送洗切换申请表返回 2020-09-05 17:16:12 +08:00
Gdpao
87f3517729 gdpaoup 2020-09-05 17:11:13 +08:00
ed3a83c00e Merge pull request '预览店铺执照' (#343) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/343
2020-09-05 17:09:36 +08:00
63298679cf 预览店铺执照 2020-09-05 17:07:55 +08:00
gyh
273d984ea6 Merge pull request 'gdpao' (#342) from gyh into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/342
2020-09-05 16:35:07 +08:00
72bfc5fa18 Merge pull request '修复了订单重复' (#341) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/341
2020-09-05 16:12:17 +08:00
13258b3b63 修复了订单重复 2020-09-05 16:11:53 +08:00
b8bcf50c8f Merge pull request '订单列表按钮顺序' (#340) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/340
2020-09-05 15:51:51 +08:00
efb2988c8e 订单列表按钮顺序 2020-09-05 15:49:05 +08:00
gyh
f3c881cf76 Merge pull request 'gdpao' (#339) from gyh into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/339
2020-09-05 15:30:59 +08:00
5780efa878 Merge pull request 'xbx' (#338) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/338
2020-09-05 15:29:08 +08:00
480de8da61 Merge pull request '修改返回店铺首页数据不出现的问题' (#337) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/337
2020-09-05 15:19:39 +08:00
027b07baeb 修改返回店铺首页数据不出现的问题 2020-09-05 15:18:48 +08:00
6830d8cde7 Merge pull request '送洗评价图片预览' (#336) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/336
2020-09-05 14:41:11 +08:00
e19ae7ed82 送洗评价图片预览 2020-09-05 14:40:15 +08:00
f190b82468 送洗评价图片预览 2020-09-05 14:38:18 +08:00
d4a1439bf9 Merge pull request 'fixing bug' (#335) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/335
2020-09-05 14:28:11 +08:00
b653379d53 fixing bug 2020-09-05 14:26:17 +08:00
Gdpao
cf71c2ba66 gdpao 2020-09-05 12:32:58 +08:00
Gdpao
29ed3a3758 gdpao 2020-09-05 12:28:40 +08:00
48 changed files with 627 additions and 181 deletions

12
App.vue
View File

@@ -8,6 +8,12 @@
...mapState(["hasLogin"]) ...mapState(["hasLogin"])
}, },
onLaunch() { onLaunch() {
// 禁止旋转
// #ifdef APP-PLUS
plus.screen.lockOrientation('portrait-primary');
// #endif
getApp().globalData.im = this.imService getApp().globalData.im = this.imService
// 缓存token // 缓存token
uni.getStorage({ uni.getStorage({
@@ -29,6 +35,12 @@
}, },
onShow(){ onShow(){
// this.getVersion(); // 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() { onLoad() {

View File

@@ -139,17 +139,9 @@ export default {
}); });
}, },
// 订单步骤2发起订单返回订单信息 // 订单步骤2发起订单返回订单信息
sendOrder({ ifcart, cart_id, address_id, buy_city_id, pintuan_id, pintuangroup_id, voucher_id, is_selfraising, invoice_id }) { sendOrder({ ifcart, cart_id, address_id, buy_city_id, pintuan_id, pintuangroup_id, voucher_id, member_deliver_type, invoice_id, pay_message }) {
return vm.$u.post('buy/buy_step2', { return vm.$u.post('buy/buy_step2', {
ifcart: ifcart, ifcart, cart_id, address_id, buy_city_id, pintuan_id, pintuangroup_id, voucher_id, member_deliver_type, invoice_id, pay_message
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, // 优惠券信息
is_selfraising: is_selfraising, // 是否自提
invoice_id: invoice_id,
}); });
}, },
// 订单步骤3发起支付第三方统一下单 // 订单步骤3发起支付第三方统一下单
@@ -378,6 +370,16 @@ export default {
advClick({ adv_id }) { advClick({ adv_id }) {
return vm.$u.post('adv/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})
}
} }
} }

View File

@@ -154,10 +154,11 @@ export default {
}); });
}, },
// 美甲-提交订单 // 美甲-提交订单
addManicure({ name, time }) { addManicure({ name, phone, time }) {
return vm.$u.post('MemberManicure/addManicure', { return vm.$u.post('MemberManicure/addManicure', {
name: name, name: name,
time: time phone: phone,
// time: time
}); });
}, },
// 会员服务-积分数 // 会员服务-积分数
@@ -375,10 +376,9 @@ export default {
return vm.$u.post('member/getClothesTypeList'); return vm.$u.post('member/getClothesTypeList');
}, },
// 送洗评价 // 送洗评价
sendOrderComment({ id, comment }) { sendOrderComment({ id, comment, comment_img }) {
return vm.$u.post('member/sendOrderComment', { return vm.$u.post('member/sendOrderComment', {
id: id, id, comment, comment_img
comment: comment,
}); });
}, },
// 送洗确认完成 // 送洗确认完成
@@ -475,9 +475,9 @@ export default {
return vm.$u.post("Expertapply/hobbyList") return vm.$u.post("Expertapply/hobbyList")
}, },
// 达人申请 // 达人申请
applyExpert({ name, mobile, address, industry, hobby }) { applyExpert({ name, mobile, idcard, address, industry, hobby }) {
return vm.$u.post("Expertapply/expertApply", { return vm.$u.post("Expertapply/expertApply", {
name, mobile, address, industry, hobby name, mobile, idcard, address, industry, hobby
}) })
}, },
getInvoiceList() { getInvoiceList() {

View File

@@ -9,7 +9,7 @@
<view class="text">{{ content.geval_content }}</view> <view class="text">{{ content.geval_content }}</view>
</view> </view>
<view class="image-container"> <view class="image-container">
<image :src="src" v-for="(src, index) in content.geval_image" :key="index" @click="previewImage(content.geval_image, index)"></image> <image :src="src" v-for="(src, index) in content.geval_image" :key="index" @click="previewImage(content.geval_image, index)" mode="aspectFit"></image>
</view> </view>
<view class="reply" v-if="reply && content.geval_explain"> <view class="reply" v-if="reply && content.geval_explain">
<view class="title">掌柜回复</view> <view class="title">掌柜回复</view>

View File

@@ -73,6 +73,9 @@ export default {
}, },
methods:{ methods:{
zhibo(){ zhibo(){
this.$u.api.countLiveBrowse({live_id:this.zid}).then((res)=>{
console.log(JSON.stringify(res),77)
})
this.$u.route({ this.$u.route({
url:"/pages/zhibo/index", url:"/pages/zhibo/index",
params:{ params:{
@@ -81,6 +84,7 @@ export default {
rid:this.rid rid:this.rid
} }
}) })
}, },
articleAddShield() { articleAddShield() {
console.log(this.item) console.log(this.item)

View File

@@ -6,8 +6,8 @@
</view> </view>
<view class="user-comment"> <view class="user-comment">
<view class="text u-line-2">{{ info.comment }}</view> <view class="text u-line-2">{{ info.comment }}</view>
<view class="image"> <view class="image" v-if="info.comment_img">
<image v-for="(src, index) in info.images" :key="index" :src="src" mode="aspectFit"></image> <image :src="info.comment_img" mode="aspectFit" @click="previewImage(info.comment_img)"></image>
</view> </view>
</view> </view>
</view> </view>
@@ -19,6 +19,14 @@ export default {
}, },
props: { props: {
info: Object, info: Object,
},
methods: {
previewImage(urls) {
const imagesUrl = [urls];
uni.previewImage({
urls: imagesUrl,
});
},
} }
}; };
</script> </script>
@@ -47,12 +55,12 @@ export default {
font-size: 26rpx; font-size: 26rpx;
color: rgba(51,51,51,1); color: rgba(51,51,51,1);
line-height: 40rpx; line-height: 40rpx;
margin-bottom: 19rpx;
} }
.image { .image {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
> image { > image {
margin-top: 20rpx;
width: 210rpx; width: 210rpx;
height: 210rpx; height: 210rpx;
border-radius: 10rpx; border-radius: 10rpx;

View File

@@ -8,7 +8,7 @@
<view class="order-status">{{ state }}</view> <view class="order-status">{{ state }}</view>
</view> </view>
<view class="goods-info"> <view class="goods-info">
<view class="goods-item" @click="toOtherPage('Details')" v-for="goods in order.extend_order_goods" :key="goods.goods_id"> <view class="goods-item" @click="toOtherPage('Details')" v-for="(goods,index) in order.extend_order_goods" :key="index">
<image :src="goods.goods_image"></image> <image :src="goods.goods_image"></image>
<view class="goods-text"> <view class="goods-text">
<view class="goods-name u-line-2">{{ goods.goods_name }}</view> <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"> <view class="order-btn" v-if="[1, 2, 3, 4, 8, 11].indexOf(order.view_type) >= 0">
<!-- || order.view_type == 2 --> <!-- || order.view_type == 2 -->
<view class="cancel" v-if="(order.view_type == 3 || order.view_type == 2) && order.is_refund == 1" @click="toOtherPage('RefundOrder')">申请退款</view> <view class="cancel" v-if="(order.view_type == 3 || order.view_type == 2) && order.is_refund == 1" @click="toOtherPage('RefundOrder')">申请退款</view>
<view class="cancel" v-if="order.view_type == 3 && order.shipping_code && order.is_selfraising != 1" @click="toOtherPage('Logistics')">查看物流</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="logistics" v-if="order.view_type == 3" @click="confirmReceive">确认收货</view> <view class="logistics" v-if="order.view_type == 3" @click="confirmReceive">确认收货</view>
<view class="comment" v-if="order.view_type == 4" @click="toOtherPage('Comment')">立即评价</view> <view class="comment" v-if="order.view_type == 4" @click="toOtherPage('Comment')">立即评价</view>
<view class="cancel" v-if="order.view_type == 1" @click="cancelOrder">取消支付</view> <view class="cancel" v-if="order.view_type == 1" @click="cancelOrder">取消支付</view>
@@ -67,7 +67,6 @@ export default {
} }
}, },
methods: { methods: {
cancelOrder() { cancelOrder() {
this.$u.api.cancelOrder({ this.$u.api.cancelOrder({
order_id: this.order.order_id, order_id: this.order.order_id,

View File

@@ -12,9 +12,7 @@
<image :src="order.goods_image"></image> <image :src="order.goods_image"></image>
<view class="goods-text"> <view class="goods-text">
<view class="goods-name u-line-2">{{ order.goods_name }}</view> <view class="goods-name u-line-2">{{ order.goods_name }}</view>
<!-- <view class="goods-sku u-line-1" v-if="order.order_state !== 20 && order.order_state !== 40 && goods.goods_spec"> <view class="goods-sku u-line-1" v-if="order.goods_spec">{{ order.goods_spec | concatSpec }}</view>
<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 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>
</view> </view>
@@ -38,7 +36,18 @@ export default {
created() { created() {
this.viewState(); this.viewState();
}, },
filters: {}, filters: {
concatSpec(value) {
let spec = '';
for (const key in value) {
if (value.hasOwnProperty(key)) {
const element = value[key];
spec = spec + element + ';'
}
}
return spec;
}
},
methods: { methods: {
// "goods_try_order_status": 0, 试穿订单状态 0:待处理订单 20:同意 40:拒绝此订单 50:完成 // "goods_try_order_status": 0, 试穿订单状态 0:待处理订单 20:同意 40:拒绝此订单 50:完成
viewState() { viewState() {
@@ -131,6 +140,7 @@ export default {
line-height: 38rpx; line-height: 38rpx;
} }
.goods-sku { .goods-sku {
align-self: baseline;
max-width: 230rpx; max-width: 230rpx;
background: rgba(236,236,236,1); background: rgba(236,236,236,1);
border-radius: 6rpx; border-radius: 6rpx;

View File

@@ -110,7 +110,6 @@ export default {
left: 0; left: 0;
top: 0; top: 0;
z-index: 8; z-index: 8;
background-color: aqua;
} }
&:last-child { &:last-child {
left: 32rpx; left: 32rpx;

View File

@@ -33,7 +33,7 @@ export default {
border-radius: 50%; border-radius: 50%;
} }
>text{ >text{
width: 100rpx; max-width: 100rpx;
margin-top: 14rpx; margin-top: 14rpx;
font-size: 24rpx; font-size: 24rpx;
color: #333; color: #333;

View File

@@ -3,7 +3,7 @@
<view class="label-list"> <view class="label-list">
<view v-for="(label, index) in evaluateSpec" :key="index" :class="{'active': current == index}" @click="current=index">{{ index + '(' + label + ')' }}</view> <view v-for="(label, index) in evaluateSpec" :key="index" :class="{'active': current == index}" @click="current=index">{{ index + '(' + label + ')' }}</view>
</view> </view>
<view class="comment-container"> <view class="comment-container" v-if="isShow">
<view v-for="(item, index) in evalueList" :key="index" class="itme"> <view v-for="(item, index) in evalueList" :key="index" class="itme">
<comment :reply="true" :content="item"></comment> <comment :reply="true" :content="item"></comment>
</view> </view>
@@ -25,6 +25,7 @@ export default {
evaluateSpec: {}, evaluateSpec: {},
loadStatus: 'loadmore', loadStatus: 'loadmore',
timer: true, timer: true,
isShow: false, // 是否显示组建
} }
}, },
components: { components: {
@@ -50,7 +51,7 @@ export default {
if(!this.timer) return false; if(!this.timer) return false;
this.loadStatus = "loading"; this.loadStatus = "loading";
this.page++; this.page++;
this.getAllEvalue({ type: this.current, load: 'more' }).then(length => { this.getAllEvalue({ type: this.current, load: 'loadmore' }).then(length => {
if(length == 0) { if(length == 0) {
this.page--; this.page--;
this.loadStatus = 'nomore'; this.loadStatus = 'nomore';
@@ -72,15 +73,17 @@ export default {
} }
}) })
}, },
async getAllEvalue({ type, load } = {}) { async getAllEvalue({ type, load = 'reload' } = {}) {
let params = { let params = {
goods_id: this.id, goods_id: this.id,
page: this.page, page: this.page,
} }
if(type) Object.assign(params, { type: type }); if(type) Object.assign(params, { type: type });
this.isShow = false;
const res = await this.$u.api.getAllEvalue(params); const res = await this.$u.api.getAllEvalue(params);
this.isShow = true;
if (res.errCode == 0) { if (res.errCode == 0) {
if(load) this.evalueList.push(...res.data); if(load == 'loadmore') this.evalueList.push(...res.data);
else this.evalueList = res.data; else this.evalueList = res.data;
} else { } else {
this.evalueList = []; this.evalueList = [];

View File

@@ -1202,9 +1202,10 @@ export default {
background-color: #fff; background-color: #fff;
display: flex; display: flex;
position: fixed; position: fixed;
height: 98rpx;
width: 100%; width: 100%;
bottom: 0; bottom: 0;
left: 0;
padding-bottom: env(safe-area-inset-bottom);
// border-top: 1rpx solid #ececec; // border-top: 1rpx solid #ececec;
z-index: 10076; z-index: 10076;
.navs{ .navs{

View File

@@ -34,24 +34,29 @@
</view> </view>
</view> </view>
<view class="order-info"> <view class="order-info">
<view @click="showCoupon({type: 2, store_id: item[0].store_id})" v-if="orderType == 1 || orderType == 5"> <view class="show-view" @click="showCoupon({type: 2, store_id: item[0].store_id})" v-if="orderType == 1 || orderType == 5">
<view class="title">优惠券折扣</view> <view class="title">优惠券折扣</view>
<view class="value"> <view class="value">
<view>-{{ storeCoupon[item[0].store_id] ? storeCoupon[item[0].store_id].voucher_price.toFixed(2) : '0.00' }}</view> <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> <image src="../static/image/1.png"></image>
</view> </view>
</view> </view>
<view> <view class="show-view">
<view class="title">运费</view> <view class="title">运费</view>
<view class="value"> <view class="value">
<view v-if="freight">{{ freight | setFreight(index) }}</view> <view v-if="freight">{{ freight | setFreight(index) }}</view>
</view> </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="is_selfraising == 1"> </view>
<view class="pick-up" v-if="delivery.type == 3">
<view class="title">自提地址</view> <view class="title">自提地址</view>
<view class="content">{{ orderInfo.store_list[index].store_address }}</view> <view class="content">{{ orderInfo.store_list[index].store_address }}</view>
</view> </view>
<view class="store-total">{{ item | getTotalNum }} 小计<text>{{ orderInfo.store_goods_total[index] | getStorePrice(storeCoupon, index) }}</text></view>
</view> </view>
</view> </view>
<view class="common-active"> <view class="common-active">
@@ -120,18 +125,22 @@ export default {
text: '快递', text: '快递',
value: 'express', value: 'express',
disabled: false, disabled: false,
type: 1,
}, { }, {
text: '骑手', text: '骑手',
value: 'takeawayer', value: 'takeawayer',
disabled: false, disabled: false,
type: 2,
}, { }, {
text: '自提', text: '自提',
value: 'selfraising', value: 'selfraising',
disabled: false, disabled: false,
type: 3,
}], }],
delivery: { delivery: {
text: '快递', text: '快递',
value: 'express', value: 'express',
type: 1,
}, // 配送方式 }, // 配送方式
couponList: [], couponList: [],
couponStatus: false, couponStatus: false,
@@ -141,14 +150,35 @@ export default {
goodsClass: [], goodsClass: [],
orderType: '', // 订单类型 1 普通订单 2 拼团订单 3 秒杀订单 4 优惠券 5 购物车订单 orderType: '', // 订单类型 1 普通订单 2 拼团订单 3 秒杀订单 4 优惠券 5 购物车订单
debounce: true, debounce: true,
is_selfraising: 0, // 是否自提0=》否1=》是
hasInvoice: 0, hasInvoice: 0,
remark: {}
} }
}, },
components: { components: {
Coupon Coupon
}, },
filters: { 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) { setTotalNumber(data) {
let num = 0; let num = 0;
for (const key in data) { for (const key in data) {
@@ -172,6 +202,7 @@ export default {
if(!this.orderInfo.is_selfraising) this.deliveryList[2].disabled = true; if(!this.orderInfo.is_selfraising) this.deliveryList[2].disabled = true;
// console.log('orderType' + this.orderType); // console.log('orderType' + this.orderType);
// console.log(this.orderInfo); // console.log(this.orderInfo);
this.initRemark();
this.getGoodsClass(); this.getGoodsClass();
this.setTotalPrice(); this.setTotalPrice();
}, },
@@ -185,8 +216,9 @@ export default {
} else { } else {
if(this.$store.getters.getOrderAddress) this.addressInfo = this.$store.state.orderAddress; if(this.$store.getters.getOrderAddress) this.addressInfo = this.$store.state.orderAddress;
} }
// 是否开发票
this.hasInvoice = this.$store.getters.hasInvoice; this.hasInvoice = this.$store.getters.hasInvoice;
console.log(this.hasInvoice); // console.log(this.hasInvoice);
}, },
beforeDestroy() { beforeDestroy() {
this.$store.commit('updateAddress', {}); this.$store.commit('updateAddress', {});
@@ -199,6 +231,17 @@ export default {
}, },
}, },
methods: { 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为参团不然为开团 // 如果有pintuangroup_headid为参团不然为开团
async withImmediate(type) { async withImmediate(type) {
let params = { let params = {
@@ -225,6 +268,7 @@ export default {
}) })
}, },
intermediate() { intermediate() {
console.log(this.remark);
if(!this.debounce) return; if(!this.debounce) return;
this.debounce = false; this.debounce = false;
if(this.orderType == 2) { if(this.orderType == 2) {
@@ -276,8 +320,9 @@ export default {
cart_id: id, cart_id: id,
address_id: this.addressInfo.address_id, address_id: this.addressInfo.address_id,
buy_city_id: this.addressInfo.city_id, buy_city_id: this.addressInfo.city_id,
is_selfraising: this.is_selfraising, member_deliver_type: this.delivery.type,
invoice_id: this.$store.getters.getInvoiceId, // 发票抬头ID不开票传0 invoice_id: this.$store.getters.getInvoiceId, // 发票抬头ID不开票传0
pay_message: this.remark,
} }
if(coupon.length) Object.assign(params, { voucher_id: coupon }); if(coupon.length) Object.assign(params, { voucher_id: coupon });
if(this.orderType == 2) { if(this.orderType == 2) {
@@ -285,6 +330,7 @@ export default {
if(this.orderInfo.pintuangroup_id) Object.assign(params, { pintuangroup_id: this.orderInfo.pintuangroup_id }); if(this.orderInfo.pintuangroup_id) Object.assign(params, { pintuangroup_id: this.orderInfo.pintuangroup_id });
} }
// console.log(params); // console.log(params);
// return;
this.$u.api.sendOrder(params).then(res => { this.$u.api.sendOrder(params).then(res => {
if(res.errCode == 0) { if(res.errCode == 0) {
this.$u.route({ this.$u.route({
@@ -413,7 +459,6 @@ export default {
this.getFreight(); this.getFreight();
} }
if(index == 2) { if(index == 2) {
this.is_selfraising = 1;
for (const key in this.freight) { for (const key in this.freight) {
if (this.freight.hasOwnProperty(key)) { if (this.freight.hasOwnProperty(key)) {
this.freight[key] = '0.00'; this.freight[key] = '0.00';
@@ -421,8 +466,6 @@ export default {
} }
this.setTotalPrice(); // 计算总价 this.setTotalPrice(); // 计算总价
this.delivery = this.deliveryList[index]; this.delivery = this.deliveryList[index];
} else {
this.is_selfraising = 0;
} }
if(index == 0) { if(index == 0) {
this.delivery = this.deliveryList[index]; this.delivery = this.deliveryList[index];
@@ -587,7 +630,7 @@ export default {
} }
} }
.order-info { .order-info {
> view { .show-view {
height: 98rpx; height: 98rpx;
background: rgba(255,255,255,1); background: rgba(255,255,255,1);
padding: 35rpx 30rpx; padding: 35rpx 30rpx;
@@ -612,6 +655,24 @@ 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 { .pick-up {
padding: 30rpx; padding: 30rpx;
@@ -627,6 +688,16 @@ export default {
line-height: 40rpx; 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 { .common-active {

View File

@@ -25,7 +25,7 @@
<u-icon name="arrow-down" color="#999999" size="28"></u-icon> <u-icon name="arrow-down" color="#999999" size="28"></u-icon>
</view> </view>
<view class="image-list" v-if="info.business_licence_number_electronic"> <view class="image-list" v-if="info.business_licence_number_electronic">
<image :src="info.business_licence_number_electronic"></image> <image :src="info.business_licence_number_electronic" @click="previewImage(info.business_licence_number_electronic)"></image>
</view> </view>
</view> </view>
</view> </view>
@@ -42,6 +42,15 @@ export default {
// console.log(res) // console.log(res)
this.info = res.data this.info = res.data
}) })
},
methods: {
previewImage(urls) {
// console.log(urls);
const imageList = [urls];
uni.previewImage({
urls: imageList,
});
},
} }
}; };
</script> </script>

View File

@@ -53,7 +53,7 @@
<goods :sid="sid"></goods> <goods :sid="sid"></goods>
</view> </view>
</view> </view>
<view class="tabbar"> <view class="tabbar" :style="safeareaStyle">
<view @click="switchCurrent(0)"> <view @click="switchCurrent(0)">
<image src="/static/image/shop/9.png"></image> <image src="/static/image/shop/9.png"></image>
<view>商品分类</view> <view>商品分类</view>
@@ -94,6 +94,7 @@ export default {
page: 1, page: 1,
scrollHeiht: '', scrollHeiht: '',
paddingTop: 0, paddingTop: 0,
safeareaStyle: "", // 苹果底部
} }
}, },
components:{ components:{
@@ -118,6 +119,21 @@ export default {
id:this.sid id:this.sid
}); });
}, },
onLoad(option){
this.sid = option.id;
// console.log(this.sid);
this.getStoreInfo();
this.getArticlelist();
this.setViewHeight();
// this.getStoreImgVideoList();
// #ifdef APP-PLUS
this.device = uni.getSystemInfoSync(); // 获取信息
console.log(this.device.safeArea);
// #endif
},
onShow() {
this.cur = 0;
},
methods: { methods: {
customers(){ customers(){
console.log(this.$store.state.hasLogin) console.log(this.$store.state.hasLogin)
@@ -225,17 +241,16 @@ export default {
// console.log(this.paddingTop); // console.log(this.paddingTop);
} }
}, },
onLoad(option){
this.sid = option.id;
// console.log(this.sid);
this.getStoreInfo();
this.getArticlelist();
this.setViewHeight();
// this.getStoreImgVideoList();
}
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
/*坑解决iphoneX等大屏手机底部小黑条挡住tab的解决方法安全区域距离底部边界距离env() 跟 constant() 需要同时存在,而且顺序不能换。*/
/* #ifdef H5 */
body {
padding-bottom: constant(safe-area-inset-bottom);/* 兼容 iOS < 11.2 */
padding-bottom: env(safe-area-inset-bottom); /* 兼容 iOS >= 11.2 */
}
/* #endif */
.merchant { .merchant {
// min-height: 100vh; // min-height: 100vh;
background-color: #ECECEC; background-color: #ECECEC;
@@ -388,14 +403,14 @@ export default {
.tabbar { .tabbar {
border-top: 1rpx #DBDADA solid; border-top: 1rpx #DBDADA solid;
width: 100%; width: 100%;
height: 98rpx;
background: rgba(251,251,251,1); background: rgba(251,251,251,1);
display: flex; display: flex;
padding: 10rpx 55rpx;
position: fixed; position: fixed;
bottom: 0; bottom: 0;
left: 0; left: 0;
z-index: 9; z-index: 9;
padding: 10rpx 55rpx;
padding-bottom: env(safe-area-inset-bottom);
> view { > view {
flex: 1; flex: 1;
text-align: center; text-align: center;

View File

@@ -1,6 +1,6 @@
<template> <template>
<view> <view>
<image :src="list.picture" class="picture" mode=""></image> <image :src="list.picture" class="picture" mode="aspectFit"></image>
<view class="box"> <view class="box">
<view class="info"> <view class="info">
<text class="title u-line-2">{{ list.title }}</text> <text class="title u-line-2">{{ list.title }}</text>

101
pageE/mine/Contact.vue Normal file
View File

@@ -0,0 +1,101 @@
<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>

View File

@@ -27,7 +27,7 @@ import storeViwe from './storeConcerns'
export default { export default {
data() { data() {
return { return {
list: [{ name: "商家" }, { name: "达人" }], list: [{ name: "店铺" }, { name: "达人" }],
daren: [], daren: [],
shangjia:[], shangjia:[],
height: 0, height: 0,
@@ -119,7 +119,7 @@ export default {
margin-left: -20rpx; margin-left: -20rpx;
.daren-item { .daren-item {
width: 215rpx; width: 215rpx;
height: 282rpx; height: 270rpx;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;

View File

@@ -16,7 +16,7 @@
<view class="item-name u-line-1">{{ item.store_name }}</view> <view class="item-name u-line-1">{{ item.store_name }}</view>
<view class="item-date"> <view class="item-date">
<image src="@/pageE/static/mine/26.png"></image> <image src="@/pageE/static/mine/26.png"></image>
<view>{{ item.fav_time | date }}</view> <view>{{ item.fav_time }}</view>
</view> </view>
</view> </view>
</view> </view>

View File

@@ -16,7 +16,7 @@
<view class="item-bottom"> <view class="item-bottom">
<view class="item-date"> <view class="item-date">
<image src="@/pageE/static/mine/26.png"></image> <image src="@/pageE/static/mine/26.png"></image>
<view>{{ item.friend_tomavatar | date }}</view> <view>{{ item.friend_addtime }}</view>
</view> </view>
</view> </view>
</view> </view>

View File

@@ -3,11 +3,15 @@
<view class="basic-info"> <view class="basic-info">
<view> <view>
<label for="name">姓名:</label> <label for="name">姓名:</label>
<input type="text" id="name" v-model="name" placeholder="请输入姓名" /> <input type="text" id="name" @input="names" placeholder="请输入姓名" />
</view> </view>
<view> <view>
<label for="phone">手机号:</label> <label for="phone">手机号:</label>
<input type="number" id="phone" ref='phone' maxlength="11" placeholder="请输入手机号" /> <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>
<view @click="show=true"> <view @click="show=true">
<label for="address">居住地址:</label> <label for="address">居住地址:</label>
@@ -16,7 +20,7 @@
</view> </view>
<view> <view>
<label for="details">详细地址:</label> <label for="details">详细地址:</label>
<input type="text" id="details" v-model="details" placeholder="请填写详细地址" /> <input type="text" id="details" @input="detailss" placeholder="请填写详细地址" />
</view> </view>
</view> </view>
<view class="other-info"> <view class="other-info">
@@ -65,6 +69,7 @@ export default {
areaList: [], areaList: [],
name: '', name: '',
phone: '', phone: '',
idCard: '',
address: '', address: '',
details: '', details: '',
industryList: [], industryList: [],
@@ -80,6 +85,20 @@ export default {
this.getHobbyList(); this.getHobbyList();
}, },
methods: { 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() { getAreaData() {
this.$u.api.getArea().then((res)=>{ this.$u.api.getArea().then((res)=>{
if (res.errCode == 0) { if (res.errCode == 0) {
@@ -121,22 +140,30 @@ export default {
this.$u.toast('姓名不能为空'); this.$u.toast('姓名不能为空');
return false; return false;
} }
if(this.$u.test.isEmpty(this.$refs.phone.valueSync)) { if(this.$u.test.isEmpty(this.phone)) {
this.$u.toast('手机号不能为空'); this.$u.toast('手机号不能为空');
return false; return false;
} }
if(!this.$u.test.mobile(this.$refs.phone.valueSync)) { if(!this.$u.test.mobile(this.phone)) {
this.$u.toast('手机号错误'); this.$u.toast('手机号错误');
return false; return false;
} }
if(this.$u.test.isEmpty(this.address)) { if(this.$u.test.isEmpty(this.idCard)) {
this.$u.toast('地址不能为空'); this.$u.toast('身份证号不可为空');
return false;
}
if(this.$u.test.isEmpty(this.details)) {
this.$u.toast('详细地址不能为空');
return false; 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) { if(!this.checkedIndustryList.length) {
this.$u.toast('行业领域不能为空'); this.$u.toast('行业领域不能为空');
return false; return false;
@@ -153,7 +180,8 @@ export default {
this.isSubmit = false; this.isSubmit = false;
this.$u.api.applyExpert({ this.$u.api.applyExpert({
name: this.name, name: this.name,
mobile: this.$refs.phone.valueSync, mobile: this.phone,
idcard: this.idCard,
address: this.address + this.details, address: this.address + this.details,
industry: this.checkedIndustryList, industry: this.checkedIndustryList,
hobby: this.checkedHobbyList, hobby: this.checkedHobbyList,

View File

@@ -19,7 +19,7 @@
<view class="personal" v-show="type==1"> <view class="personal" v-show="type==1">
<view class="info-item"> <view class="info-item">
<view class="title">手机号</view> <view class="title">手机号</view>
<input type="number" placeholder="请输入您的手机号" maxlength="11" v-model="personalPhone" /> <input type="text" placeholder="请输入您的手机号" maxlength="11" v-model="personalPhone" />
</view> </view>
<view class="info-item"> <view class="info-item">
<view class="title">身份证号</view> <view class="title">身份证号</view>
@@ -37,7 +37,7 @@
</view> </view>
<view class="info-item"> <view class="info-item">
<view class="title">电话号码</view> <view class="title">电话号码</view>
<input type="number" placeholder="请输入公司电话" maxlength="11" v-model="companyPhone" /> <input type="text" placeholder="请输入公司电话" maxlength="11" v-model="companyPhone" />
</view> </view>
<view class="info-item"> <view class="info-item">
<view class="title">开户银行</view> <view class="title">开户银行</view>
@@ -91,6 +91,7 @@ export default {
this.action == 1 ? this.invoiceAdd() : this.invoiceEdit(); this.action == 1 ? this.invoiceAdd() : this.invoiceEdit();
}, },
verificationParams() { verificationParams() {
const phone = /^0\d{2,3}-?\d{7,8}$/;
if(this.type == 1) { if(this.type == 1) {
if(this.$u.test.isEmpty(this.title)) { if(this.$u.test.isEmpty(this.title)) {
this.$u.toast('发票抬头不可为空'); this.$u.toast('发票抬头不可为空');
@@ -100,7 +101,7 @@ export default {
this.$u.toast('手机号不可为空'); this.$u.toast('手机号不可为空');
return false; return false;
} }
if(!this.$u.test.mobile(this.personalPhone)) { if(!this.$u.test.mobile(this.personalPhone) && !phone.test(this.personalPhone)) {
this.$u.toast('请正确填写手机号'); this.$u.toast('请正确填写手机号');
return false; return false;
} }
@@ -108,6 +109,10 @@ export default {
this.$u.toast('身份证号不可为空'); this.$u.toast('身份证号不可为空');
return false; return false;
} }
if(!this.$u.test.idCard(this.idCard)) {
this.$u.toast('请正确填写身份证号');
return false;
}
} else { } else {
if(this.$u.test.isEmpty(this.title)) { if(this.$u.test.isEmpty(this.title)) {
this.$u.toast('发票抬头不可为空'); this.$u.toast('发票抬头不可为空');
@@ -125,7 +130,7 @@ export default {
this.$u.toast('电话号码不可为空'); this.$u.toast('电话号码不可为空');
return false; return false;
} }
if(!this.$u.test.mobile(this.companyPhone)) { if(!this.$u.test.mobile(this.companyPhone) && !phone.test(this.companyPhone)) {
this.$u.toast('请正确填写电话号码'); this.$u.toast('请正确填写电话号码');
return false; return false;
} }

View File

@@ -3,7 +3,7 @@
<view class="status" v-if="orderstate"> <view class="status" v-if="orderstate">
<view class="text"> <view class="text">
<view class="status-text">{{ s_object[orderstate].text }}</view> <view class="status-text">{{ s_object[orderstate].text }}</view>
<view class="time" v-if="orderInfo.view_type == 1 || orderInfo.view_type == 9">距离结束{{ countdown }}</view> <!-- <view class="time" v-if="orderInfo.view_type == 1 || orderInfo.view_type == 9">距离结束{{ countdown }}</view> -->
</view> </view>
<image :src="s_object[orderstate].image"></image> <image :src="s_object[orderstate].image"></image>
</view> </view>
@@ -59,28 +59,29 @@
<view class="title">支付方式</view> <view class="title">支付方式</view>
<view class="price">{{ orderInfo.payment_name }}</view> <view class="price">{{ orderInfo.payment_name }}</view>
</view> </view>
<view v-if="orderInfo.is_selfraising == 1"> <view>
<view class="title">配送方式</view> <view class="title">配送方式</view>
<view class="price">自提</view> <view class="price">{{ orderInfo.member_deliver_type | getDeliverType(orderInfo.store_deliver_type) }}</view>
</view> </view>
</view> </view>
</view> </view>
<view class="info-order"> <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.order_sn }}</view>
<view>支付单号{{ orderInfo.pay_sn }}</view> <view>支付单号{{ orderInfo.pay_sn }}</view>
<view>创建时间{{ orderInfo.add_time | date}}</view> <view>创建时间{{ orderInfo.add_time | date}}</view>
<view v-if="orderInfo.is_selfraising == 1" class="address">自提地址{{ orderInfo.extend_store.store_address }}</view> <view v-if="orderInfo.member_deliver_type == 3" class="address">自提地址{{ orderInfo.extend_store.store_address }}</view>
</view> </view>
</view> </view>
<!-- '4', '8' --> <!-- '4', '8' -->
<view class="btn" v-if="['1', '2', '6'].indexOf(orderstate) >= 0"> <view class="btn" v-if="['1', '2', '4', '6'].indexOf(orderstate) >= 0">
<!-- orderstate == '4' || --> <!-- orderstate == '4' || -->
<view class="cancel" v-if="(orderstate == '1') && orderInfo.is_refund == 1" @click="toOtherPage('RefundOrder')">申请退款</view> <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="logistics" v-if="orderstate == '1'" @click="confirmReceive">确认收货</view> <view class="logistics" v-if="orderstate == '1'" @click="confirmReceive">确认收货</view>
<view class="comment" v-if="orderstate == '2'" @click="toOtherPage('Comment')">立即评价</view> <view class="comment" v-if="orderstate == '2'" @click="toOtherPage('Comment')">立即评价</view>
<view class="cancel" v-if="orderstate == '6'" @click="cancelOrder">取消支付</view> <view class="cancel" v-if="orderstate == '6'" @click="cancelOrder">取消支付</view>
<!-- <view class="cancel" v-if="orderstate == '8'" @click="cancelOrder">取消订单</view> -->
<view class="cancel" v-if="orderstate == '1' && orderInfo.shipping_code && orderInfo.is_selfraising != 1" @click="toOtherPage('Logistics')">查看物流</view>
<view class="phone" v-if="orderstate == '1' && orderInfo.takeawayer_mobile" @click="makePhone(orderInfo.takeawayer_mobile)"> <view class="phone" v-if="orderstate == '1' && orderInfo.takeawayer_mobile" @click="makePhone(orderInfo.takeawayer_mobile)">
<u-icon name="phone-fill" color="#FF780F" size="28"></u-icon> <u-icon name="phone-fill" color="#FF780F" size="28"></u-icon>
<text>联系骑手</text> <text>联系骑手</text>
@@ -157,6 +158,32 @@ export default {
beforeDestroy() { beforeDestroy() {
clearInterval(this.timer); 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: { methods: {
viewStoreDetails(id) { viewStoreDetails(id) {
this.$u.route('pageC/merchant/index', { this.$u.route('pageC/merchant/index', {
@@ -205,12 +232,12 @@ export default {
this.$u.api.getOrderInfo({ this.$u.api.getOrderInfo({
order_id: id, order_id: id,
}).then(res => { }).then(res => {
// console.log(res) console.log(res)
if(res.errCode == 0) { if(res.errCode == 0) {
this.orderInfo = res.data; this.orderInfo = res.data;
this.setTitle(this.orderInfo.view_type); this.setTitle(this.orderInfo.view_type);
if(res.data.view_type == 1) this.setSpikeTime(res.data.end_time); // if(res.data.view_type == 1) this.setSpikeTime(res.data.end_time);
else if(res.data.view_type == 9) this.setSpikeTime(res.data.pintuangroup_endtime); // else if(res.data.view_type == 9) this.setSpikeTime(res.data.pintuangroup_endtime);
} }
uni.stopPullDownRefresh(); // 结束刷新 uni.stopPullDownRefresh(); // 结束刷新
}) })
@@ -259,6 +286,7 @@ export default {
toOtherPage(url) { toOtherPage(url) {
this.$u.route('/pageE/order/' + url, { this.$u.route('/pageE/order/' + url, {
oid: this.orderInfo.order_id, oid: this.orderInfo.order_id,
type:this.orderInfo.view_type
}); });
}, },
makePhone(phone) { makePhone(phone) {

View File

@@ -7,7 +7,7 @@
<swiper-item class="swiper-item" v-for="(item, index) in list" :key="index"> <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"> <scroll-view scroll-y style="height: 100%;" @scrolltolower="reachBottom" class="order-scroll">
<view v-if="orderList[index]"> <view v-if="orderList[index]">
<view class="item-container" v-for="order in orderList[index]" :key="order.order_id"> <view class="item-container" v-for="(order,index) in orderList[index]" :key="index">
<OrderItem :order="order" @refreshOrderList="refreshOrderList" v-if="current != 4"></OrderItem> <OrderItem :order="order" @refreshOrderList="refreshOrderList" v-if="current != 4"></OrderItem>
<TryOrderItem :order="order" @refreshOrderList="refreshOrderList" v-else></TryOrderItem> <TryOrderItem :order="order" @refreshOrderList="refreshOrderList" v-else></TryOrderItem>
</view> </view>
@@ -129,13 +129,29 @@ export default {
page: this.page, page: this.page,
type: type, type: type,
}) })
// res.data.forEach(element => {
// element.extend_order_goods.forEach(i=>{
// // console.log(i)
// })
// });
this.timer = true; this.timer = true;
uni.stopPullDownRefresh(); // 结束刷新 uni.stopPullDownRefresh(); // 结束刷新
if(res.errCode == 0) { if(res.errCode == 0) {
if(load == 'reload') this.orderList[this.current] = res.data; if(load == 'reload'){
else if(load == 'loadmore') this.orderList[this.current].push(...res.data); this.orderList[this.current] = []
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(); this.$forceUpdate();
// console.log(this.orderList); // console.log(this.orderList);
return res.data.length; return res.data.length;
}, },
@@ -156,11 +172,16 @@ export default {
const res = await this.$u.api.goodsTryOrderList({ const res = await this.$u.api.goodsTryOrderList({
page: this.page, page: this.page,
}) })
console.log(res)
uni.stopPullDownRefresh(); // 结束刷新 uni.stopPullDownRefresh(); // 结束刷新
this.timer = true; this.timer = true;
if(res.errCode == 0) { if(res.errCode == 0) {
if(load == 'reload') this.orderList[this.current] = res.data.list; if(load == 'reload') {
else if(load == 'loadmore') this.orderList[this.current].push(...res.data.list); this.orderList[this.current] = []
this.orderList[this.current] = res.data.list;
}else if(load == 'loadmore'){
this.orderList[this.current].push(...res.data.list);
}
} }
this.$forceUpdate(); this.$forceUpdate();
return res.data.list.length; return res.data.list.length;

View File

@@ -3,7 +3,6 @@
<view class="radios-container"> <view class="radios-container">
<view v-if="type == 2"> <view v-if="type == 2">
<label class="radio-view" v-for="(item, index) in goodsList" :key="index"> <label class="radio-view" v-for="(item, index) in goodsList" :key="index">
<view class="store_info"> <view class="store_info">
<view class="info_img"> <view class="info_img">
<image :src="item.goods_image" mode=""> <image :src="item.goods_image" mode="">
@@ -84,7 +83,6 @@ export default {
computed: { computed: {
totalPrice() { totalPrice() {
if(this.type == 2){ if(this.type == 2){
console.log(this.goodsList)
let pac = 0; let pac = 0;
for(let i in this.goodsList){ for(let i in this.goodsList){
pac += parseFloat(this.goodsList[i].goods_pay_price) * 100 ; pac += parseFloat(this.goodsList[i].goods_pay_price) * 100 ;
@@ -96,7 +94,8 @@ export default {
} }
}, },
onLoad(option) { onLoad(option) {
this.type = option.type this.type = 2; // 需求更改 所有订单只能全退,不可选择商品。
// this.type = option.type
this.oid = option.oid; this.oid = option.oid;
this.getOrderInfo(option.oid); this.getOrderInfo(option.oid);
}, },
@@ -140,17 +139,18 @@ export default {
applyRefund() { applyRefund() {
if(this.type !=2 && !this.verifyParams()) return false; if(this.type !=2 && !this.verifyParams()) return false;
// addrefundall 只需要订单id 和 说明
let params = { let params = {
order_id: this.oid, order_id: this.oid,
goods_id: this.goods.goods_id, // goods_id: this.goods.goods_id,
refund_amount: Number(this.totalPrice), // refund_amount: Number(this.totalPrice),
reason_info: this.refundText, reason_info: this.refundText,
goods_num: this.num, // goods_num: this.num,
} }
console.log(params) console.log(params)
if(this.type == 2){ if(this.type == 2){
this.$u.api.addrefundall(params).then(res => { this.$u.api.addrefundall(params).then(res => {
console.log(JSON.stringify(res)) // console.log(JSON.stringify(res))
if(res.errCode == 0) { if(res.errCode == 0) {
this.$refs.uToast.show({ this.$refs.uToast.show({
title: res.message, title: res.message,
@@ -189,12 +189,17 @@ export default {
background-color: #EDEDED; background-color: #EDEDED;
.radios-container { .radios-container {
margin-bottom: 20rpx; margin-bottom: 20rpx;
.u-radio-group {
width: 100%;
}
.radio-view { .radio-view {
width: 100%;
background-color: #FFFFFF; background-color: #FFFFFF;
padding: 26rpx; padding: 26rpx;
display: flex; display: flex;
align-items: center; align-items: center;
margin-bottom: 1rpx; margin-bottom: 1rpx;
box-sizing: border-box;
.radio { .radio {
margin-right: 20rpx; margin-right: 20rpx;
} }

View File

@@ -15,6 +15,10 @@
<text class="tips" v-if="version" @click="updateVersion">发现新版本: {{ version }}</text> <text class="tips" v-if="version" @click="updateVersion">发现新版本: {{ version }}</text>
<text class="tips" v-else>已是最新版本</text> <text class="tips" v-else>已是最新版本</text>
</view> </view>
<view>
<text class="title">联系我们</text>
<text class="tips">{{ phoneNumber }}</text>
</view>
</view> </view>
</view> </view>
</template> </template>
@@ -25,10 +29,12 @@ export default {
version: '', version: '',
phone_type: "", phone_type: "",
status: '', status: '',
phoneNumber: '',
} }
}, },
onLoad() { onLoad() {
this.getVersion(); this.getVersion();
this.getPhone();
this.phone_type = this.$u.os(); this.phone_type = this.$u.os();
}, },
methods: { methods: {
@@ -42,6 +48,13 @@ export default {
} }
}) })
}, },
getPhone() {
this.$u.api.getConfigInfo({
code: 'site_tel400'
}).then(res => {
this.phoneNumber = res.data.config.value;
})
},
viewAboutUs() { viewAboutUs() {
this.$u.route('/pageE/mine/ArticleDetails', { this.$u.route('/pageE/mine/ArticleDetails', {
type: 2 type: 2
@@ -96,7 +109,7 @@ export default {
} }
.tips { .tips {
color: #999; color: #999;
font-size: 22rpx; font-size: 28rpx;
} }
.version-view { .version-view {
.tips { .tips {

View File

@@ -14,6 +14,7 @@
<view class="order-status">{{ item.status }}</view> <view class="order-status">{{ item.status }}</view>
</view> </view>
<view class="order-name">美甲人姓名{{ item.manicure_name }}</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 class="order-date">时间{{ item.manicure_time | date }}</view>
</view> </view>
<u-loadmore :status="loadStatus" bgColor="#ECECEC" margin-bottom="20" v-if="orderList.length>=pageSize"></u-loadmore> <u-loadmore :status="loadStatus" bgColor="#ECECEC" margin-bottom="20" v-if="orderList.length>=pageSize"></u-loadmore>
@@ -129,7 +130,7 @@ export default {
.order-item { .order-item {
padding: 30rpx; padding: 30rpx;
width:690rpx; width:690rpx;
height: 229rpx; // height: 229rpx;
background: rgba(255,255,255,1); background: rgba(255,255,255,1);
border-radius: 10rpx; border-radius: 10rpx;
margin-bottom: 20rpx; margin-bottom: 20rpx;

View File

@@ -5,15 +5,23 @@
<view>美甲人</view> <view>美甲人</view>
<input type="text" v-model="name" /> <input type="text" v-model="name" />
</view> </view>
<view class="order-date" @click="show=true"> <view class="order-name">
<view class="title">美甲时间</view> <view>美甲人电话</view>
<image src="../static/mine/21.png" v-if="!time"></image> <input type="text" v-model="phone" maxlength="11" />
<view v-else class="time">{{ time }}</view>
</view> </view>
<view class="order-address"> <view class="order-address">
<view class="title">美甲地址</view> <view class="title">美甲地址</view>
<input type="text" v-model="address" disabled /> <input type="text" v-model="address" disabled />
</view> </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>
<view class="order-btn" @click="addManicureOrder">确认订单</view> <view class="order-btn" @click="addManicureOrder">确认订单</view>
<u-picker mode="time" v-model="show" :params="params" @confirm="chooseDate"></u-picker> <u-picker mode="time" v-model="show" :params="params" @confirm="chooseDate"></u-picker>
@@ -26,6 +34,8 @@ export default {
return { return {
name: '', name: '',
time: '', time: '',
phone: '',
storePhone: '',
address: '', address: '',
params: { params: {
year: true, year: true,
@@ -41,28 +51,38 @@ export default {
}, },
onLoad() { onLoad() {
this.getConfigInfo(); this.getConfigInfo();
this.getPhone();
}, },
methods: { methods: {
validateValue() { validateValue() {
if(this.$u.test.isEmpty(this.name)) { if(this.$u.test.isEmpty(this.name)) {
this.showToast('姓名不能为空', 'error'); this.showToast('姓名不能为空');
return false; return false;
} }
if(this.$u.test.isEmpty(this.time)) { if(this.$u.test.isEmpty(this.phone)) {
this.showToast('日期不能为空', 'error'); this.showToast('美甲人电话不能为空');
return false; return false;
} }
if(new Date() > new Date(this.time)) { if(!this.$u.test.mobile(this.phone)) {
this.showToast('日期错误', 'error'); this.showToast('美甲人电话错误');
return false; 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; return true;
}, },
addManicureOrder() { addManicureOrder() {
if(!this.validateValue()) return false; if(!this.validateValue()) return false;
this.$u.api.addManicure({ this.$u.api.addManicure({
name: this.name, name: this.name,
time: new Date(this.time) phone: this.phone,
// time: new Date(this.time)
}).then((res)=>{ }).then((res)=>{
if(res.errCode == 0) { if(res.errCode == 0) {
this.$refs.uToast.show({ this.$refs.uToast.show({
@@ -85,6 +105,15 @@ export default {
} }
}) })
}, },
getPhone() {
this.$u.api.getConfigInfo({
code: 'manicure_phone',
}).then(res => {
if(res.errCode == 0) {
this.storePhone = res.data.config.value;
}
})
},
chooseDate(e) { 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 + '分'
let time = e.year + '/' + e.month + '/' + e.day + ' ' + e.hour + ':' + e.minute let time = e.year + '/' + e.month + '/' + e.day + ' ' + e.hour + ':' + e.minute

View File

@@ -1,9 +1,9 @@
<template> <template>
<view class="mine-history"> <view class="mine-history">
<scroll-view scroll-y class="history-box" @scrolltolower="reachBottom"> <view scroll-y class="history-box">
<view class="item-box"> <view class="item-box">
<!-- 需求只显示最近五十条数据 后台未作限制 --> <!-- 需求只显示最近五十条数据 后台未作限制 -->
<view v-for="(item, index) in historyList.slice(0, 50)" :key="index" class="history-item"> <view v-for="(item, index) in historyList" :key="index" class="history-item">
<view class="item-title" @click="viewStoreDetails(item.store_id)"> <view class="item-title" @click="viewStoreDetails(item.store_id)">
<image :src="item.store_avatar"></image> <image :src="item.store_avatar"></image>
<view class="u-line-1">{{ item.store_name }}</view> <view class="u-line-1">{{ item.store_name }}</view>
@@ -20,7 +20,7 @@
<u-action-sheet :list="actionList" v-model="showAction" :cancel-btn="true" @click="delHistory" border-radius="20"></u-action-sheet> <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-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> <u-loadmore class="load-size" :status="loadStatus" bgColor="#ECECEC" margin-top="20" margin-bottom="20" v-if="historyList.length >= pageSize" @loadmore="reachBottom"></u-loadmore>
</scroll-view> </view>
</view> </view>
</template> </template>
@@ -47,6 +47,9 @@ export default {
onLoad() { onLoad() {
this.getBrowseList(); this.getBrowseList();
}, },
onReachBottom(){
this.reachBottom()
},
methods: { methods: {
viewAction(id) { viewAction(id) {
this.showAction = true; this.showAction = true;
@@ -58,6 +61,10 @@ export default {
this.$u.api.delMemberBrowse({ goods_id: glist }).then(res => { this.$u.api.delMemberBrowse({ goods_id: glist }).then(res => {
if(res.errCode == 0) { if(res.errCode == 0) {
this.getBrowseList(); this.getBrowseList();
uni.pageScrollTo({
scrollTop: 0,
duration: 300
});
} else { } else {
this.$u.toast(res.message); this.$u.toast(res.message);
} }
@@ -109,13 +116,16 @@ export default {
} }
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss">
page{
background: #ECECEC;
}
.mine-history { .mine-history {
min-height: calc(100vh - var(--window-top)); min-height: calc(100vh - var(--window-top));
background: #ECECEC; background: #ECECEC;
.history-box { .history-box {
box-sizing: border-box; box-sizing: border-box;
height: calc(100vh - var(--window-top)); // height: calc(100vh - var(--window-top));
padding: 20rpx 30rpx 0; padding: 20rpx 30rpx 0;
.item-box { .item-box {
display: flex; display: flex;

View File

@@ -117,6 +117,8 @@ export default {
uni.navigateTo({ uni.navigateTo({
url: '/pageE/tool/WashOrder' url: '/pageE/tool/WashOrder'
}); });
this.current = 0;
this.swiperCurrent = 0;
this.showPopup = false; this.showPopup = false;
} }
} }
@@ -125,8 +127,8 @@ export default {
this.sendLaundryOrderList(); this.sendLaundryOrderList();
}, },
onShow() { onShow() {
this.current = 0; // this.current = 0;
this.swiperCurrent = 0; // this.swiperCurrent = 0;
this.showPopup = false; this.showPopup = false;
this.sendLaundryOrderList(); this.sendLaundryOrderList();
this.sendCommentList(); this.sendCommentList();

View File

@@ -57,10 +57,6 @@
<view class="order-view order-area" @click="showAddress=true"> <view class="order-view order-area" @click="showAddress=true">
<view class="title">省市区:</view> <view class="title">省市区:</view>
<input type="text" v-model="area" disabled /> <input type="text" v-model="area" disabled />
<!-- <view class="location">
<image src="../static/mine/28.png"></image>
<view>定位</view>
</view> -->
</view> </view>
<view class="order-view order-address"> <view class="order-view order-address">
<view class="title">详细地址:</view> <view class="title">详细地址:</view>
@@ -113,10 +109,6 @@
<view class="order-view order-area" @click="showAddress=true"> <view class="order-view order-area" @click="showAddress=true">
<view class="title">省市区:</view> <view class="title">省市区:</view>
<input type="text" v-model="area" disabled /> <input type="text" v-model="area" disabled />
<!-- <view class="location">
<image src="../static/mine/28.png"></image>
<view>定位</view>
</view> -->
</view> </view>
<view class="order-view order-address"> <view class="order-view order-address">
<view class="title">详细地址:</view> <view class="title">详细地址:</view>
@@ -254,7 +246,6 @@ export default {
// this.current = 0; // this.current = 0;
// this.swiperCurrent = 0; // this.swiperCurrent = 0;
this.showPopup = false; this.showPopup = false;
this.choose = false;
}, },
onLoad() { onLoad() {
this.getOrderList(); this.getOrderList();
@@ -270,6 +261,7 @@ export default {
this.phone = ''; this.phone = '';
this.area = ''; this.area = '';
this.address = ''; this.address = '';
this.choose = false;
} }
}, },
methods: { methods: {
@@ -419,12 +411,16 @@ export default {
radioChange(e){ radioChange(e){
const ids = e.split(" "); const ids = e.split(" ");
// console.log(ids) // console.log(ids)
let checkedGoods = {}; let checkedGoods;
this.orderList.forEach(order => { this.orderList.forEach(order => {
if(order.order_id == ids[0]) { if(order.order_id == ids[0]) {
Object.assign(checkedGoods, { store: order.extend_store }); checkedGoods = {
Object.assign(checkedGoods, { order_sn: order.order_sn }); store: order.extend_store,
Object.assign(checkedGoods, { order_id: order.order_id }); 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
}
order.extend_order_goods.forEach(goods => { order.extend_order_goods.forEach(goods => {
if(goods.goods_id == ids[1]) { if(goods.goods_id == ids[1]) {
Object.assign(checkedGoods, { goods: goods }); Object.assign(checkedGoods, { goods: goods });
@@ -433,6 +429,13 @@ 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) { setArea(area) {
// console.log(area); // console.log(area);

View File

@@ -2,20 +2,25 @@
<view class="comment"> <view class="comment">
<view class="main-container"> <view class="main-container">
<u-input v-model="content" type="textarea" height="300" maxlength="200" /> <u-input v-model="content" type="textarea" height="300" maxlength="200" />
<!-- <u-upload <u-upload
ref="uUpload" ref="uUpload"
@on-uploaded="onUploaded"
:custom-btn="true" :custom-btn="true"
:max-count="count" :max-count="count"
:auto-upload="false" :auto-upload="false"
:action="action"
:header="header"
:form-data="formData"
:name="fileName"
:size-type="['original']"
@on-uploaded="setImageList"
> >
<view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150"> <view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
<image src="../static/mine/27.png"></image> <image src="../static/mine/27.png"></image>
</view> </view>
</u-upload> --> </u-upload>
</view> </view>
<u-toast ref="uToast" /> <u-toast ref="uToast" />
<view class="write-btn" @click="addWashEvaluate">发表评价</view> <view class="write-btn" @click="setLoaclList">发表评价</view>
</view> </view>
</template> </template>
<script> <script>
@@ -23,8 +28,17 @@ export default {
data() { data() {
return { return {
washId: '', washId: '',
// count: 4, // 最大图片数量 count: 1,
action: this.$u.http.config.baseUrl + '/Upload/uploadfile',
header: {
"authorization": 'Bearer' + " " + uni.getStorageSync('token')
},
fileName: 'common', // 与formData name 一样
formData: {
name: 'common', // 其他图片
},
content: '', content: '',
imageList: [],
} }
}, },
onLoad(option) { onLoad(option) {
@@ -38,11 +52,22 @@ export default {
} }
return true; return true;
}, },
setLoaclList() {
this.$refs.uUpload.upload();
},
setImageList(lists) {
// console.log(lists);
lists.forEach(item => {
this.imageList.push(item.response.data.file_name);
})
this.addWashEvaluate();
},
addWashEvaluate() { addWashEvaluate() {
if(!this.verifyParams()) return false; if(!this.verifyParams()) return false;
this.$u.api.sendOrderComment({ this.$u.api.sendOrderComment({
id: this.washId, id: this.washId,
comment: this.content, comment: this.content,
comment_img: this.imageList[0]
}).then(res => { }).then(res => {
this.$refs.uToast.show({ this.$refs.uToast.show({
title: res.message, title: res.message,
@@ -65,23 +90,23 @@ export default {
background-color: #ffffff; background-color: #ffffff;
padding: 30rpx; padding: 30rpx;
margin-bottom: 10rpx; margin-bottom: 10rpx;
// textarea { textarea {
// width: 100% !important; width: 100% !important;
// height: 500rpx; height: 500rpx;
// margin-bottom: 60rpx; margin-bottom: 60rpx;
// } }
// .slot-btn { .slot-btn {
// width: 140rpx; width: 140rpx;
// height: 140rpx; height: 140rpx;
// background: rgba(236,236,236,1); background: rgba(236,236,236,1);
// border-radius: 10rpx; border-radius: 10rpx;
// text-align: center; text-align: center;
// > img { > image {
// margin-top: 48rpx; margin-top: 48rpx;
// width: 54rpx; width: 54rpx;
// height: 49rpx; height: 49rpx;
// } }
// } }
} }
.write-btn { .write-btn {
margin: 120rpx auto 0; margin: 120rpx auto 0;

View File

@@ -780,6 +780,19 @@
} }
} }
}, },
{
"path": "mine/Contact",
"style": {
"navigationBarTitleText": "联系我们",
"app-plus": {
"titleSize": "36px",
"titleNView": {
"titleColor": "#333333",
"backgroundColor": "#FFFFFF"
}
}
}
},
{ {
"path": "mine/Integral", "path": "mine/Integral",
"style": { "style": {
@@ -1198,7 +1211,6 @@
{ {
"path": "pages/index/index", "path": "pages/index/index",
"style": { "style": {
"enablePullDownRefresh": true,
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, },

View File

@@ -273,7 +273,7 @@
darenItem darenItem
}, },
onShow() { onShow() {
console.log(this.imService.status) console.log(this.imService.status,this.$store.state.hasLogin)
if(!this.imService.status && this.$store.state.hasLogin){ if(!this.imService.status && this.$store.state.hasLogin){
const user = uni.getStorageSync('user_info'); const user = uni.getStorageSync('user_info');
// console.log(user) // console.log(user)
@@ -308,6 +308,7 @@
if (this.$store.state.showCoupons) { if (this.$store.state.showCoupons) {
this.isNewmembervoucher(); this.isNewmembervoucher();
} }
this.getRecommendList();
}, },
async onLoad(){ async onLoad(){
this.articleList = []; this.articleList = [];

View File

@@ -136,7 +136,7 @@
success(res){ success(res){
console.log(res) console.log(res)
res = res.data res = res.data
let user = new Friend(res.data.member_id,res.data.store_name,res.data.member_avatar) let user = new Friend(res.data.member_id,'官方平台客服',res.data.member_avatar)
that.$u.route({ that.$u.route({
url:"/pageD/privateChat/privateChat", url:"/pageD/privateChat/privateChat",
params:{ params:{

View File

@@ -16,7 +16,10 @@
<view class="user-rank">等级:{{ userInfo.member_level || 0 }}</view> <view class="user-rank">等级:{{ userInfo.member_level || 0 }}</view>
</view> </view>
</view> </view>
<view class="btn">
<view class="member-service" @click="toOtherPage('/mine/MemberServe')">会员服务</view> <view class="member-service" @click="toOtherPage('/mine/MemberServe')">会员服务</view>
<view class="member-service" @click="toOtherPage('/mine/Contact')">联系我们</view>
</view>
</view> </view>
<view class="bottom"> <view class="bottom">
<view @click="toOtherPage('/mine/GoodsCollection')"> <view @click="toOtherPage('/mine/GoodsCollection')">
@@ -83,6 +86,10 @@
<image src="/static/image/mine/39.png"></image> <image src="/static/image/mine/39.png"></image>
<view>试穿试送</view> <view>试穿试送</view>
</view> </view>
<view @click="toCartPage">
<image src="/static/image/common/33.png"></image>
<view>购物车</view>
</view>
</view> </view>
</view> </view>
<view class="more-tool"> <view class="more-tool">
@@ -166,7 +173,7 @@ export default {
}, },
{ {
name: 'refund', name: 'refund',
title: '售后', title: '退款售后',
img: '/static/image/mine/9.png', img: '/static/image/mine/9.png',
link: '/order/Index?current=7', link: '/order/Index?current=7',
number: '', number: '',
@@ -224,7 +231,10 @@ export default {
uni.navigateTo({ uni.navigateTo({
url: '/pageE' + url url: '/pageE' + url
}); });
} },
toCartPage() {
this.$u.route('/pageC/cart/index');
},
} }
}; };
</script> </script>
@@ -236,6 +246,7 @@ export default {
// width: 100%; // width: 100%;
height: 272rpx; height: 272rpx;
background-color: #FF7807; background-color: #FF7807;
position: relative;
.top { .top {
padding: 40rpx 0 0 30rpx; padding: 40rpx 0 0 30rpx;
display: flex; display: flex;
@@ -292,16 +303,23 @@ export default {
} }
} }
} }
.btn {
position: absolute;
right: 0;
top: 43rpx;
.member-service { .member-service {
height: 52rpx; height: 52rpx;
line-height: 52rpx; line-height: 52rpx;
box-sizing: content-box; box-sizing: content-box;
margin-left: auto;
padding: 0 51rpx 0 22rpx; padding: 0 51rpx 0 22rpx;
background: rgba(255,255,255,0.32); background: rgba(255,255,255,0.32);
border-radius: 26rpx 0 0 26rpx; border-radius: 26rpx 0 0 26rpx;
font-size: 26rpx; font-size: 26rpx;
color:rgba(51,51,51,1); color:rgba(51,51,51,1);
&:not(:last-child) {
margin-bottom: 20rpx;
}
}
} }
} }
.bottom { .bottom {
@@ -437,7 +455,7 @@ export default {
> view:nth-child(6){ > view:nth-child(6){
@include image-size($image-width: 33rpx, $image-height: 35rpx); @include image-size($image-width: 33rpx, $image-height: 35rpx);
.order-num { .order-num {
left: 24rpx; left: 44rpx;
} }
} }
} }

View File

@@ -351,7 +351,7 @@
z-index: 9; z-index: 9;
position: fixed; position: fixed;
right: 30rpx; right: 30rpx;
bottom: 300rpx; bottom: 110rpx;
width: 100rpx; width: 100rpx;
height: 100rpx; height: 100rpx;
background: rgba(253, 211, 96, 1); background: rgba(253, 211, 96, 1);

View File

@@ -312,10 +312,11 @@
width: 690rpx; width: 690rpx;
} }
.danmuitem{ .danmuitem{
font-size: 26rpx; font-size: 30rpx;
color: #fff; color: #fff;
flex-direction: column-reverse; flex-direction: column-reverse;
word-wrap:anywhere; word-wrap:anywhere;
font-weight: bold;
} }
</style> </style>
@@ -418,6 +419,7 @@ export default {
"Authorization" : 'Bearer' + " " + token "Authorization" : 'Bearer' + " " + token
}, },
success(res){ success(res){
console.log(res) console.log(res)
that.info = res.data.data that.info = res.data.data
// that.list= res.data.data // that.list= res.data.data
@@ -461,6 +463,10 @@ export default {
}); });
}, },
errors(a){ errors(a){
this.videoContext.stop();
setTimeout(() => {
this.videoContext.play()
},1000)
console.log(a) console.log(a)
}, },
newpeople(list){ newpeople(list){
@@ -497,6 +503,11 @@ export default {
// this.contentPosition = 'message-box'+(this.room.messages.length-1); // this.contentPosition = 'message-box'+(this.room.messages.length-1);
// }, 300) // }, 300)
console.log(message) console.log(message)
if(message.type == 1){
console.log('stop')
return ;
}
this.danmulist.push(message) this.danmulist.push(message)
if(this.danmulist.length > 7){ if(this.danmulist.length > 7){

Binary file not shown.

BIN
static/app/start/.9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 446 KiB

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
static/cartback.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
static/image/common/33.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -38,7 +38,7 @@ function CurrentUser(uuid, name, avatar) {
function IMService() { function IMService() {
this.im = GoEasyIM.getInstance({ this.im = GoEasyIM.getInstance({
host:'hangzhou.goeasy.io',//qos=1 host:'hangzhou.goeasy.io',//qos=1
appkey:'BC-453aa755c4ea48148abefc55a86df283' appkey:'BC-d9b5e639006b4ee2a4bc9eddc4235a6a'
}); });
this.status = false this.status = false
this.lianjie = false this.lianjie = false

Binary file not shown.