103 Commits

Author SHA1 Message Date
Gdpao
3115ac9447 avater 2020-09-23 09:55:30 +08:00
gyh
b914ba7c58 Merge pull request '更新 'pageE/mine/MineInfo.vue'' (#388) from gyh-patch-1 into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/388
2020-09-22 09:36:50 +08:00
gyh
990db30e77 更新 'pageE/mine/MineInfo.vue' 2020-09-22 09:36:39 +08:00
gyh
875aeeb63a Merge pull request 'gdpao' (#387) from gyh into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/387
2020-09-22 09:34:31 +08:00
Gdpao
7304d3edb6 gdpao 2020-09-22 09:32:56 +08:00
aebdb23b6d Merge pull request '商品分类' (#386) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/386
2020-09-22 09:14:53 +08:00
c4c19871d8 商品分类 2020-09-22 09:13:54 +08:00
977d38ce18 Merge pull request '增加订单平台已退款状态' (#385) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/385
2020-09-21 17:03:28 +08:00
194710f97b 增加订单平台已退款状态 2020-09-21 16:58:25 +08:00
1c14a23d76 Merge pull request '增加订单平台已退款状态' (#384) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/384
2020-09-21 16:43:31 +08:00
611066e778 增加订单平台已退款状态 2020-09-21 16:42:38 +08:00
bc1d0b8e4c Merge pull request '增加订单平台已退款状态' (#383) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/383
2020-09-21 15:51:23 +08:00
31027d10e4 增加订单平台已退款状态 2020-09-21 15:50:26 +08:00
c606b9b3ce Merge pull request '修改字体大小' (#382) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/382
2020-09-21 08:41:39 +08:00
c85f1aeead 修改字体大小 2020-09-21 17:37:29 +08:00
gyh
bf765ba231 Merge pull request 'gdpao' (#381) from gyh into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/381
2020-09-19 20:02:01 +08:00
Gdpao
645b3f65c1 gdpao 2020-09-19 20:01:07 +08:00
ded4488f89 Merge pull request '实体店送洗可不传图片' (#380) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/380
2020-09-19 16:44:04 +08:00
2b2667df2a 实体店送洗可不传图片 2020-09-19 16:43:01 +08:00
79f0040688 Merge pull request '图标' (#379) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/379
2020-09-18 16:41:00 +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
Gdpao
cf71c2ba66 gdpao 2020-09-05 12:32:58 +08:00
Gdpao
29ed3a3758 gdpao 2020-09-05 12:28:40 +08:00
a3adc35372 判读是不是空的 2020-09-05 12:10:59 +08:00
df1d1e78b4 临时解决 2020-09-05 12:07:47 +08:00
49 changed files with 577 additions and 144 deletions

12
App.vue
View File

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

View File

@@ -139,17 +139,9 @@ export default {
});
},
// 订单步骤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', {
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, // 优惠券信息
is_selfraising: is_selfraising, // 是否自提
invoice_id: invoice_id,
ifcart, cart_id, address_id, buy_city_id, pintuan_id, pintuangroup_id, voucher_id, member_deliver_type, invoice_id, pay_message
});
},
// 订单步骤3发起支付第三方统一下单
@@ -378,6 +370,16 @@ export default {
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', {
name: name,
time: time
phone: phone,
// time: time
});
},
// 会员服务-积分数
@@ -474,9 +475,9 @@ export default {
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", {
name, mobile, address, industry, hobby
name, mobile, idcard, address, industry, hobby
})
},
getInvoiceList() {

View File

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

View File

@@ -73,6 +73,9 @@ 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:{
@@ -81,6 +84,7 @@ export default {
rid:this.rid
}
})
},
articleAddShield() {
console.log(this.item)

View File

@@ -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 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>
<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.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="comment" v-if="order.view_type == 4" @click="toOtherPage('Comment')">立即评价</view>
<view class="cancel" v-if="order.view_type == 1" @click="cancelOrder">取消支付</view>
@@ -67,7 +67,6 @@ export default {
}
},
methods: {
cancelOrder() {
this.$u.api.cancelOrder({
order_id: this.order.order_id,
@@ -131,7 +130,7 @@ export default {
state = '待退款';
break;
case 7:
state = '已退款';
state = '商家已退款';
break;
case 9:
state = '拼团中';
@@ -140,7 +139,9 @@ export default {
state = '已取消';
break;
case 11:
state = '已拒绝';
state = '商家已拒绝';
case 12:
state = '平台已退款';
break;
default:
break;

View File

@@ -12,9 +12,7 @@
<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.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-sku u-line-1" v-if="order.goods_spec">{{ order.goods_spec | concatSpec }}</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>
@@ -38,7 +36,18 @@ export default {
created() {
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: {
// "goods_try_order_status": 0, 试穿订单状态 0:待处理订单 20:同意 40:拒绝此订单 50:完成
viewState() {
@@ -131,6 +140,7 @@ export default {
line-height: 38rpx;
}
.goods-sku {
align-self: baseline;
max-width: 230rpx;
background: rgba(236,236,236,1);
border-radius: 6rpx;

View File

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

View File

@@ -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">
<view class="comment-container" v-if="isShow">
<view v-for="(item, index) in evalueList" :key="index" class="itme">
<comment :reply="true" :content="item"></comment>
</view>
@@ -25,6 +25,7 @@ export default {
evaluateSpec: {},
loadStatus: 'loadmore',
timer: true,
isShow: false, // 是否显示组建
}
},
components: {
@@ -50,7 +51,7 @@ export default {
if(!this.timer) return false;
this.loadStatus = "loading";
this.page++;
this.getAllEvalue({ type: this.current, load: 'more' }).then(length => {
this.getAllEvalue({ type: this.current, load: 'loadmore' }).then(length => {
if(length == 0) {
this.page--;
this.loadStatus = 'nomore';
@@ -72,15 +73,17 @@ export default {
}
})
},
async getAllEvalue({ type, load } = {}) {
async getAllEvalue({ type, load = 'reload' } = {}) {
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) this.evalueList.push(...res.data);
if(load == 'loadmore') this.evalueList.push(...res.data);
else this.evalueList = res.data;
} else {
this.evalueList = [];

View File

@@ -1202,9 +1202,10 @@ 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{

View File

@@ -34,24 +34,29 @@
</view>
</view>
<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="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>
<view class="show-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 class="pick-up" v-if="is_selfraising == 1">
</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">
@@ -120,18 +125,22 @@ export default {
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,
@@ -141,14 +150,35 @@ export default {
goodsClass: [],
orderType: '', // 订单类型 1 普通订单 2 拼团订单 3 秒杀订单 4 优惠券 5 购物车订单
debounce: true,
is_selfraising: 0, // 是否自提0=》否1=》是
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) {
@@ -172,6 +202,7 @@ export default {
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();
},
@@ -185,8 +216,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);
// console.log(this.hasInvoice);
},
beforeDestroy() {
this.$store.commit('updateAddress', {});
@@ -199,6 +231,17 @@ 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 = {
@@ -225,6 +268,7 @@ export default {
})
},
intermediate() {
console.log(this.remark);
if(!this.debounce) return;
this.debounce = false;
if(this.orderType == 2) {
@@ -276,8 +320,9 @@ export default {
cart_id: id,
address_id: this.addressInfo.address_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
pay_message: this.remark,
}
if(coupon.length) Object.assign(params, { voucher_id: coupon });
if(this.orderType == 2) {
@@ -285,6 +330,7 @@ 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({
@@ -413,7 +459,6 @@ export default {
this.getFreight();
}
if(index == 2) {
this.is_selfraising = 1;
for (const key in this.freight) {
if (this.freight.hasOwnProperty(key)) {
this.freight[key] = '0.00';
@@ -421,8 +466,6 @@ export default {
}
this.setTotalPrice(); // 计算总价
this.delivery = this.deliveryList[index];
} else {
this.is_selfraising = 0;
}
if(index == 0) {
this.delivery = this.deliveryList[index];
@@ -587,7 +630,7 @@ export default {
}
}
.order-info {
> view {
.show-view {
height: 98rpx;
background: rgba(255,255,255,1);
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 {
padding: 30rpx;
@@ -627,6 +688,16 @@ export default {
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 {

View File

@@ -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"></image>
<image :src="info.business_licence_number_electronic" @click="previewImage(info.business_licence_number_electronic)"></image>
</view>
</view>
</view>
@@ -42,6 +42,15 @@ export default {
// console.log(res)
this.info = res.data
})
},
methods: {
previewImage(urls) {
// console.log(urls);
const imageList = [urls];
uni.previewImage({
urls: imageList,
});
},
}
};
</script>

View File

@@ -53,7 +53,7 @@
<goods :sid="sid"></goods>
</view>
</view>
<view class="tabbar">
<view class="tabbar" :style="safeareaStyle">
<view @click="switchCurrent(0)">
<image src="/static/image/shop/9.png"></image>
<view>商品分类</view>
@@ -94,6 +94,7 @@ export default {
page: 1,
scrollHeiht: '',
paddingTop: 0,
safeareaStyle: "", // 苹果底部
}
},
components:{
@@ -125,6 +126,10 @@ export default {
this.getArticlelist();
this.setViewHeight();
// this.getStoreImgVideoList();
// #ifdef APP-PLUS
this.device = uni.getSystemInfoSync(); // 获取信息
console.log(this.device.safeArea);
// #endif
},
onShow() {
this.cur = 0;
@@ -398,14 +403,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;

View File

@@ -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_parent_id, name: classifyB.gc_parent_name })">{{ classifyB.gc_parent_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_id, name: classifyB.gc_name })">{{ classifyB.gc_name }}</view>
</view>
</view>
</view>

View File

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

View File

@@ -132,10 +132,8 @@
this.messages = privateMessages.sentMessages;
this.pendingMessages = privateMessages.pendingMessages;
uni.setNavigationBarTitle({
title : this.friend.name
});
console.log(this.friend.name)
this.setTitle(this.friend.name)
setTimeout(() => {
uni.setNavigationBarColor({
backgroundColor : '#FF780F',
@@ -158,6 +156,18 @@
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;

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 {
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: 282rpx;
height: 270rpx;
display: flex;
flex-direction: column;
align-items: center;

View File

@@ -1,7 +1,7 @@
<template>
<view class="information">
<view class="info-avatar">
<u-avatar :src="userInfo.member_avatar" :size="120"></u-avatar>
<u-avatar :src="userInfo.member_avatar + '?' + (new Date().getTime())" :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);
}
})
},

View File

@@ -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 | date }}</view>
<view>{{ item.fav_time }}</view>
</view>
</view>
</view>

View File

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

View File

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

View File

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

View File

@@ -59,28 +59,29 @@
<view class="title">支付方式</view>
<view class="price">{{ orderInfo.payment_name }}</view>
</view>
<view v-if="orderInfo.is_selfraising == 1">
<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 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.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>
<!-- '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' || -->
<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="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 && orderInfo.is_selfraising != 1" @click="toOtherPage('Logistics')">查看物流</view>
<view class="phone" v-if="orderstate == '1' && orderInfo.takeawayer_mobile" @click="makePhone(orderInfo.takeawayer_mobile)">
<u-icon name="phone-fill" color="#FF780F" size="28"></u-icon>
<text>联系骑手</text>
@@ -114,7 +115,7 @@ export default {
image: '../static/mine/36.png',
},
'5': {
text: '已退款',
text: '商家已退款',
image: '../static/mine/34.png',
},
'6': {
@@ -134,7 +135,11 @@ export default {
image: '../static/mine/33.png',
},
'10': {
text: '已拒绝',
text: '商家已拒绝',
image: '../static/mine/34.png',
},
'11': {
text: '平台已退款',
image: '../static/mine/34.png',
},
},
@@ -157,6 +162,32 @@ 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', {
@@ -205,7 +236,7 @@ export default {
this.$u.api.getOrderInfo({
order_id: id,
}).then(res => {
// console.log(res)
console.log(res)
if(res.errCode == 0) {
this.orderInfo = res.data;
this.setTitle(this.orderInfo.view_type);
@@ -259,6 +290,7 @@ export default {
toOtherPage(url) {
this.$u.route('/pageE/order/' + url, {
oid: this.orderInfo.order_id,
type:this.orderInfo.view_type
});
},
makePhone(phone) {
@@ -301,6 +333,9 @@ export default {
case 11:
state = '10';
break;
case 12:
state = '11';
break;
default:
break;
}

View File

@@ -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 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>
<TryOrderItem :order="order" @refreshOrderList="refreshOrderList" v-else></TryOrderItem>
</view>
@@ -129,13 +129,29 @@ 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] = res.data;
else if(load == 'loadmore') this.orderList[this.current].push(...res.data);
if(load == 'reload'){
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();
// console.log(this.orderList);
return res.data.length;
},
@@ -156,11 +172,16 @@ 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] = res.data.list;
else if(load == 'loadmore') this.orderList[this.current].push(...res.data.list);
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);
}
}
this.$forceUpdate();
return res.data.list.length;

View File

@@ -3,7 +3,6 @@
<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="">
@@ -84,7 +83,6 @@ 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 ;
@@ -96,7 +94,8 @@ export default {
}
},
onLoad(option) {
this.type = option.type
this.type = 2; // 需求更改 所有订单只能全退,不可选择商品。
// this.type = option.type
this.oid = option.oid;
this.getOrderInfo(option.oid);
},
@@ -140,17 +139,18 @@ export default {
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,
@@ -189,12 +189,17 @@ 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;
}

View File

@@ -129,9 +129,9 @@
plus.cache.clear(function(e) {
console.log(e);
})
}
this.getCache();
}
}
})
// #endif
},

View File

@@ -15,6 +15,10 @@
<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>
@@ -25,10 +29,12 @@ export default {
version: '',
phone_type: "",
status: '',
phoneNumber: '',
}
},
onLoad() {
this.getVersion();
this.getPhone();
this.phone_type = this.$u.os();
},
methods: {
@@ -42,6 +48,13 @@ 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
@@ -96,7 +109,7 @@ export default {
}
.tips {
color: #999;
font-size: 22rpx;
font-size: 28rpx;
}
.version-view {
.tips {

View File

@@ -14,6 +14,7 @@
<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>
@@ -129,7 +130,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;

View File

@@ -5,15 +5,23 @@
<view>美甲人</view>
<input type="text" v-model="name" />
</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 class="order-name">
<view>美甲人电话</view>
<input type="text" v-model="phone" maxlength="11" />
</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>
@@ -26,6 +34,8 @@ export default {
return {
name: '',
time: '',
phone: '',
storePhone: '',
address: '',
params: {
year: true,
@@ -41,28 +51,38 @@ export default {
},
onLoad() {
this.getConfigInfo();
this.getPhone();
},
methods: {
validateValue() {
if(this.$u.test.isEmpty(this.name)) {
this.showToast('姓名不能为空', 'error');
this.showToast('姓名不能为空');
return false;
}
if(this.$u.test.isEmpty(this.time)) {
this.showToast('日期不能为空', 'error');
if(this.$u.test.isEmpty(this.phone)) {
this.showToast('美甲人电话不能为空');
return false;
}
if(new Date() > new Date(this.time)) {
this.showToast('日期错误', 'error');
if(!this.$u.test.mobile(this.phone)) {
this.showToast('美甲人电话错误');
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,
time: new Date(this.time)
phone: this.phone,
// time: new Date(this.time)
}).then((res)=>{
if(res.errCode == 0) {
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) {
// 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,6 +1,6 @@
<template>
<view class="mine-history">
<scroll-view scroll-y class="history-box" @scrolltolower="reachBottom">
<view scroll-y class="history-box">
<view class="item-box">
<!-- 需求只显示最近五十条数据 后台未作限制 -->
<view v-for="(item, index) in historyList" :key="index" class="history-item">
@@ -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>
</scroll-view>
</view>
</view>
</template>
@@ -47,6 +47,9 @@ export default {
onLoad() {
this.getBrowseList();
},
onReachBottom(){
this.reachBottom()
},
methods: {
viewAction(id) {
this.showAction = true;
@@ -58,6 +61,10 @@ 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);
}
@@ -109,13 +116,16 @@ export default {
}
};
</script>
<style lang="scss" scoped>
<style lang="scss">
page{
background: #ECECEC;
}
.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;

View File

@@ -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 : item.images[0]" mode="aspectFit"></image>
<image :src="type == 1 ? item.goods_image : (Array.isArray(item.images) ? item.images[0] : '/static/image/mine/47.png')" 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,6 +117,8 @@ export default {
uni.navigateTo({
url: '/pageE/tool/WashOrder'
});
this.current = 0;
this.swiperCurrent = 0;
this.showPopup = false;
}
}

View File

@@ -411,12 +411,16 @@ 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]) {
Object.assign(checkedGoods, { store: order.extend_store });
Object.assign(checkedGoods, { order_sn: order.order_sn });
Object.assign(checkedGoods, { order_id: order.order_id });
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
}
order.extend_order_goods.forEach(goods => {
if(goods.goods_id == ids[1]) {
Object.assign(checkedGoods, { goods: goods });
@@ -425,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) {
// console.log(area);

View File

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

View File

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

View File

@@ -136,7 +136,7 @@
success(res){
console.log(res)
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({
url:"/pageD/privateChat/privateChat",
params:{
@@ -149,6 +149,7 @@
},
gochat(id){
console.log(id)
this.$u.route({
url:"/pageD/privateChat/privateChat",
params:{

View File

@@ -2,7 +2,7 @@
<view class="mine">
<view class="mine-top">
<view class="top">
<u-avatar @click="toOtherPage('/mine/MineInfo')" :src="userInfo.member_avatar" :size="110"></u-avatar>
<u-avatar @click="toOtherPage('/mine/MineInfo')" :src="userInfo.member_avatar + '?' + (new Date().getTime())" :size="110"></u-avatar>
<view class="user-info">
<view class="info-top">
<view class="user-nickname u-line-1">{{ userInfo.member_nickname }}</view>
@@ -16,7 +16,10 @@
<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')">
@@ -83,6 +86,10 @@
<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">
@@ -166,7 +173,7 @@ export default {
},
{
name: 'refund',
title: '售后',
title: '退款售后',
img: '/static/image/mine/9.png',
link: '/order/Index?current=7',
number: '',
@@ -200,8 +207,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);
}
})
},
@@ -224,7 +231,10 @@ export default {
uni.navigateTo({
url: '/pageE' + url
});
}
},
toCartPage() {
this.$u.route('/pageC/cart/index');
},
}
};
</script>
@@ -236,6 +246,7 @@ export default {
// width: 100%;
height: 272rpx;
background-color: #FF7807;
position: relative;
.top {
padding: 40rpx 0 0 30rpx;
display: flex;
@@ -292,16 +303,23 @@ 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 {
@@ -437,7 +455,7 @@ export default {
> view:nth-child(6){
@include image-size($image-width: 33rpx, $image-height: 35rpx);
.order-num {
left: 24rpx;
left: 44rpx;
}
}
}

View File

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

View File

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

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

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.