Compare commits
28 Commits
d5f9055445
...
ad5ed4040c
Author | SHA1 | Date | |
---|---|---|---|
ad5ed4040c | |||
f076c03c99 | |||
ab4c80ae36 | |||
28832c38ae | |||
b95f009ff3 | |||
5616cd046f | |||
3fd6e953c6 | |||
eedb40b9d0 | |||
c162fc983f | |||
83afd6216e | |||
|
d7877a3e77 | ||
b5e8936307 | |||
5b89988e4d | |||
0e99c3f719 | |||
51c6a3b820 | |||
d79e38e44c | |||
a1eac2a1e8 | |||
fe60d5a1cf | |||
8f010c634c | |||
b5985ce1a0 | |||
a9477b9657 | |||
4674acac3c | |||
45c087bf14 | |||
7e50a6f56e | |||
20e27317be | |||
89ddba5321 | |||
52caeef425 | |||
a14d662370 |
6
App.vue
6
App.vue
@ -8,6 +8,12 @@
|
||||
...mapState(["hasLogin"])
|
||||
},
|
||||
onLaunch() {
|
||||
// 禁止旋转
|
||||
// #ifdef APP-PLUS
|
||||
plus.screen.lockOrientation('portrait-primary');
|
||||
// #endif
|
||||
|
||||
|
||||
getApp().globalData.im = this.imService
|
||||
// 缓存token
|
||||
uni.getStorage({
|
||||
|
@ -139,9 +139,9 @@ export default {
|
||||
});
|
||||
},
|
||||
// 订单步骤2:发起订单,返回订单信息
|
||||
sendOrder({ ifcart, cart_id, address_id, buy_city_id, pintuan_id, pintuangroup_id, voucher_id, member_deliver_type, 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, cart_id, address_id, buy_city_id, pintuan_id, pintuangroup_id, voucher_id, member_deliver_type, invoice_id,
|
||||
ifcart, cart_id, address_id, buy_city_id, pintuan_id, pintuangroup_id, voucher_id, member_deliver_type, invoice_id, pay_message
|
||||
});
|
||||
},
|
||||
// 订单步骤3:发起支付(第三方统一下单)
|
||||
|
@ -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
|
||||
});
|
||||
},
|
||||
// 会员服务-积分数
|
||||
|
@ -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 = [];
|
||||
|
@ -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" :height="88" placeholder="选填" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="pick-up" v-if="delivery.type == 3">
|
||||
<view class="title">自提地址</view>
|
||||
<view class="content">{{ orderInfo.store_list[index].store_address }}</view>
|
||||
</view>
|
||||
<view class="store-total">共{{ item | getTotalNum }}件 小计:<text>¥{{ orderInfo.store_goods_total[index] | getStorePrice(storeCoupon, index) }}</text></view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="common-active">
|
||||
@ -146,12 +151,34 @@ export default {
|
||||
orderType: '', // 订单类型 1 普通订单 2 拼团订单 3 秒杀订单 4 优惠券 5 购物车订单
|
||||
debounce: true,
|
||||
hasInvoice: 0,
|
||||
remark: {}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
Coupon
|
||||
},
|
||||
filters: {
|
||||
// 店铺总数量
|
||||
getTotalNum(data, coupon) {
|
||||
let num = 0;
|
||||
data.forEach(item => {
|
||||
num += item.goods_num;
|
||||
})
|
||||
return num;
|
||||
},
|
||||
// 店铺总金额
|
||||
getStorePrice(price, coupon, index) {
|
||||
for (const key in coupon) {
|
||||
if (coupon.hasOwnProperty(key)) {
|
||||
const element = coupon[key];
|
||||
if(index == key) {
|
||||
price -= Number(element.voucher_price);
|
||||
}
|
||||
}
|
||||
}
|
||||
return price;
|
||||
},
|
||||
// 订单总数量
|
||||
setTotalNumber(data) {
|
||||
let num = 0;
|
||||
for (const key in data) {
|
||||
@ -175,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();
|
||||
},
|
||||
@ -188,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', {});
|
||||
@ -202,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 = {
|
||||
@ -228,6 +268,7 @@ export default {
|
||||
})
|
||||
},
|
||||
intermediate() {
|
||||
console.log(this.remark);
|
||||
if(!this.debounce) return;
|
||||
this.debounce = false;
|
||||
if(this.orderType == 2) {
|
||||
@ -281,6 +322,7 @@ export default {
|
||||
buy_city_id: this.addressInfo.city_id,
|
||||
member_deliver_type: this.delivery.type,
|
||||
invoice_id: this.$store.getters.getInvoiceId, // 发票抬头ID,不开票传0
|
||||
pay_message: this.remark,
|
||||
}
|
||||
if(coupon.length) Object.assign(params, { voucher_id: coupon });
|
||||
if(this.orderType == 2) {
|
||||
@ -288,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({
|
||||
@ -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 {
|
||||
|
101
pageE/mine/Contact.vue
Normal file
101
pageE/mine/Contact.vue
Normal 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>
|
@ -27,7 +27,7 @@ import storeViwe from './storeConcerns'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
list: [{ name: "商家" }, { name: "达人" }],
|
||||
list: [{ name: "店铺" }, { name: "达人" }],
|
||||
daren: [],
|
||||
shangjia:[],
|
||||
height: 0,
|
||||
|
@ -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;
|
||||
}
|
||||
@ -129,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;
|
||||
}
|
||||
|
@ -66,6 +66,7 @@
|
||||
</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>
|
||||
@ -73,9 +74,9 @@
|
||||
</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>
|
||||
|
@ -129,12 +129,11 @@ export default {
|
||||
page: this.page,
|
||||
type: type,
|
||||
})
|
||||
console.log(load)
|
||||
res.data.forEach(element => {
|
||||
element.extend_order_goods.forEach(i=>{
|
||||
// console.log(i)
|
||||
})
|
||||
});
|
||||
// res.data.forEach(element => {
|
||||
// element.extend_order_goods.forEach(i=>{
|
||||
// // console.log(i)
|
||||
// })
|
||||
// });
|
||||
this.timer = true;
|
||||
uni.stopPullDownRefresh(); // 结束刷新
|
||||
if(res.errCode == 0) {
|
||||
@ -146,11 +145,11 @@ export default {
|
||||
this.orderList[this.current].push(...res.data);
|
||||
}
|
||||
}
|
||||
this.orderList[this.current].forEach(element => {
|
||||
element.extend_order_goods.forEach(i=>{
|
||||
// console.log(i)
|
||||
})
|
||||
});
|
||||
// this.orderList[this.current].forEach(element => {
|
||||
// element.extend_order_goods.forEach(i=>{
|
||||
// // console.log(i)
|
||||
// })
|
||||
// });
|
||||
this.$forceUpdate();
|
||||
|
||||
// console.log(this.orderList);
|
||||
|
@ -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 ;
|
||||
@ -189,12 +187,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;
|
||||
}
|
||||
|
@ -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 {
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
13
pages.json
13
pages.json
@ -780,6 +780,19 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "mine/Contact",
|
||||
"style": {
|
||||
"navigationBarTitleText": "联系我们",
|
||||
"app-plus": {
|
||||
"titleSize": "36px",
|
||||
"titleNView": {
|
||||
"titleColor": "#333333",
|
||||
"backgroundColor": "#FFFFFF"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "mine/Integral",
|
||||
"style": {
|
||||
|
@ -308,6 +308,7 @@
|
||||
if (this.$store.state.showCoupons) {
|
||||
this.isNewmembervoucher();
|
||||
}
|
||||
this.getRecommendList();
|
||||
},
|
||||
async onLoad(){
|
||||
this.articleList = [];
|
||||
|
@ -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: '',
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
BIN
static/image/common/33.png
Normal file
BIN
static/image/common/33.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
Loading…
x
Reference in New Issue
Block a user