Compare commits

..

No commits in common. "ad5ed4040c1a86d06225b57e19a3d90fc8b174f0" and "d5f905544564a761e56e5485dfa6b66b12e63e82" have entirely different histories.

19 changed files with 63 additions and 335 deletions

View File

@ -8,12 +8,6 @@
...mapState(["hasLogin"])
},
onLaunch() {
//
// #ifdef APP-PLUS
plus.screen.lockOrientation('portrait-primary');
// #endif
getApp().globalData.im = this.imService
// token
uni.getStorage({

View File

@ -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, pay_message }) {
sendOrder({ ifcart, cart_id, address_id, buy_city_id, pintuan_id, pintuangroup_id, voucher_id, member_deliver_type, invoice_id }) {
return vm.$u.post('buy/buy_step2', {
ifcart, cart_id, address_id, buy_city_id, pintuan_id, pintuangroup_id, voucher_id, member_deliver_type, invoice_id, pay_message
ifcart, cart_id, address_id, buy_city_id, pintuan_id, pintuangroup_id, voucher_id, member_deliver_type, invoice_id,
});
},
// 订单步骤3发起支付第三方统一下单

View File

@ -154,11 +154,10 @@ export default {
});
},
// 美甲-提交订单
addManicure({ name, phone, time }) {
addManicure({ name, time }) {
return vm.$u.post('MemberManicure/addManicure', {
name: name,
phone: phone,
// time: time
time: time
});
},
// 会员服务-积分数

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

View File

@ -34,29 +34,24 @@
</view>
</view>
<view class="order-info">
<view class="show-view" @click="showCoupon({type: 2, store_id: item[0].store_id})" v-if="orderType == 1 || orderType == 5">
<view @click="showCoupon({type: 2, store_id: item[0].store_id})" v-if="orderType == 1 || orderType == 5">
<view class="title">优惠券折扣</view>
<view class="value">
<view>-{{ storeCoupon[item[0].store_id] ? storeCoupon[item[0].store_id].voucher_price.toFixed(2) : '0.00' }}</view>
<image src="../static/image/1.png"></image>
</view>
</view>
<view class="show-view">
<view>
<view class="title">运费</view>
<view class="value">
<view v-if="freight">{{ freight | setFreight(index) }}</view>
</view>
</view>
<view class="remark">
<view class="title">订单备注</view>
<u-input v-model="remark[index]" type="textarea" :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">
@ -151,34 +146,12 @@ 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) {
@ -202,7 +175,6 @@ 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();
},
@ -216,9 +188,8 @@ 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', {});
@ -231,17 +202,6 @@ export default {
},
},
methods: {
initRemark() {
//
const obj = this.orderInfo.store_cart_list;
for (const key in obj) {
if (obj.hasOwnProperty(key)) {
const element = obj[key];
this.remark[key] = '';
}
}
console.log(this.remark);
},
// pintuangroup_headid
async withImmediate(type) {
let params = {
@ -268,7 +228,6 @@ export default {
})
},
intermediate() {
console.log(this.remark);
if(!this.debounce) return;
this.debounce = false;
if(this.orderType == 2) {
@ -322,7 +281,6 @@ export default {
buy_city_id: this.addressInfo.city_id,
member_deliver_type: this.delivery.type,
invoice_id: this.$store.getters.getInvoiceId, // ID0
pay_message: this.remark,
}
if(coupon.length) Object.assign(params, { voucher_id: coupon });
if(this.orderType == 2) {
@ -330,7 +288,6 @@ 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({
@ -630,7 +587,7 @@ export default {
}
}
.order-info {
.show-view {
> view {
height: 98rpx;
background: rgba(255,255,255,1);
padding: 35rpx 30rpx;
@ -655,24 +612,6 @@ 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;
@ -688,16 +627,6 @@ 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

@ -1,101 +0,0 @@
<template>
<view class="contact">
<view class="item-view" @click="makePhone">
<view class="title">联系电话</view>
<view class="content">{{ phoneNumber }}</view>
<u-icon name="arrow-right" color="#9A9A9A" size="24"></u-icon>
</view>
<view class="item-view" @click="customerService">
<view class="title">客服服务</view>
<u-icon name="arrow-right" color="#9A9A9A" size="24"></u-icon>
</view>
</view>
</template>
<script>
export default {
data() {
return {
phoneNumber: '',
}
},
created() {
this.getPhone();
},
methods: {
getPhone() {
this.$u.api.getConfigInfo({
code: 'site_tel400'
}).then(res => {
this.phoneNumber = res.data.config.value;
})
},
makePhone() {
uni.makePhoneCall({
phoneNumber: this.phoneNumber,
});
},
customerService(){
if(!this.$store.state.hasLogin){
this.$u.toast('请先登录');
} else {
function Friend(uuid, name, avatar,time = "", text = "",date = "") {
this.uuid = uuid;
this.name = name;
this.avatar = avatar;
this.online = false;
this.unReadMessage = 0;
this.text = text;
this.time = time;
this.date = date
}
const token = uni.getStorageSync('token');
let that = this
uni.request({
url:"https://mall.dmygkeji.com/api/Specialci/getAtwillUserInfo",
data:{
userId: 1
},
method:"POST",
header:{
"Authorization" : 'Bearer' + " " + token
},
success(res){
res = res.data;
let user = new Friend(res.data.member_id,"官方平台客服",res.data.member_avatar);
that.$u.route({
url:"/pageD/privateChat/privateChat",
params:{
id:JSON.stringify(user)
}
})
}
})
}
},
}
};
</script>
<style lang="scss" scoped>
.contact {
border-top: 1rpx solid #ECECEC;
.item-view {
display: flex;
align-items: center;
justify-content: space-between;
padding: 34rpx 30rpx;
border-bottom: 2rpx solid #ECECEC;
.title {
font-size: 30rpx;
color: #343434;
}
.content {
margin-left: auto;
font-size: 28rpx;
color: #666666;
}
.u-icon {
margin-left: 20rpx;
}
}
}
</style>

View File

@ -27,7 +27,7 @@ import storeViwe from './storeConcerns'
export default {
data() {
return {
list: [{ name: "店铺" }, { name: "达人" }],
list: [{ name: "商家" }, { name: "达人" }],
daren: [],
shangjia:[],
height: 0,

View File

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

View File

@ -66,7 +66,6 @@
</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>
@ -74,9 +73,9 @@
</view>
</view>
<!-- '4', '8' -->
<view class="btn" v-if="['1', '2', '4', '6'].indexOf(orderstate) >= 0">
<view class="btn" v-if="['1', '2', '6'].indexOf(orderstate) >= 0">
<!-- orderstate == '4' || -->
<view class="cancel" v-if="(orderstate == '1' || orderstate == '4') && orderInfo.is_refund == 1" @click="toOtherPage('RefundOrder')">申请退款</view>
<view class="cancel" v-if="(orderstate == '1') && 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 File

@ -129,11 +129,12 @@ export default {
page: this.page,
type: type,
})
// res.data.forEach(element => {
// element.extend_order_goods.forEach(i=>{
// // console.log(i)
// })
// });
console.log(load)
res.data.forEach(element => {
element.extend_order_goods.forEach(i=>{
// console.log(i)
})
});
this.timer = true;
uni.stopPullDownRefresh(); //
if(res.errCode == 0) {
@ -145,11 +146,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);

View File

@ -3,6 +3,7 @@
<view class="radios-container">
<view v-if="type == 2">
<label class="radio-view" v-for="(item, index) in goodsList" :key="index">
<view class="store_info">
<view class="info_img">
<image :src="item.goods_image" mode="">
@ -83,6 +84,7 @@ export default {
computed: {
totalPrice() {
if(this.type == 2){
console.log(this.goodsList)
let pac = 0;
for(let i in this.goodsList){
pac += parseFloat(this.goodsList[i].goods_pay_price) * 100 ;
@ -187,17 +189,12 @@ export default {
background-color: #EDEDED;
.radios-container {
margin-bottom: 20rpx;
.u-radio-group {
width: 100%;
}
.radio-view {
width: 100%;
background-color: #FFFFFF;
padding: 26rpx;
display: flex;
align-items: center;
margin-bottom: 1rpx;
box-sizing: border-box;
.radio {
margin-right: 20rpx;
}

View File

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

View File

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

View File

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

View File

@ -411,16 +411,12 @@ export default {
radioChange(e){
const ids = e.split(" ");
// console.log(ids)
let checkedGoods;
let checkedGoods = {};
this.orderList.forEach(order => {
if(order.order_id == ids[0]) {
checkedGoods = {
store: order.extend_store,
order_sn: order.order_sn,
order_id: order.order_id,
reciver_info: order.extend_order_common.reciver_info,
reciver_name: order.extend_order_common.reciver_name
}
Object.assign(checkedGoods, { store: order.extend_store });
Object.assign(checkedGoods, { order_sn: order.order_sn });
Object.assign(checkedGoods, { order_id: order.order_id });
order.extend_order_goods.forEach(goods => {
if(goods.goods_id == ids[1]) {
Object.assign(checkedGoods, { goods: goods });
@ -429,13 +425,6 @@ export default {
})
}
})
this.setDefaultValue();
},
setDefaultValue() {
this.name = this.checkedGoods.reciver_name;
this.phone = this.checkedGoods.reciver_info.mob_phone;
this.area = this.checkedGoods.reciver_info.area;
this.address = this.checkedGoods.reciver_info.street;
},
setArea(area) {
// console.log(area);

View File

@ -780,19 +780,6 @@
}
}
},
{
"path": "mine/Contact",
"style": {
"navigationBarTitleText": "联系我们",
"app-plus": {
"titleSize": "36px",
"titleNView": {
"titleColor": "#333333",
"backgroundColor": "#FFFFFF"
}
}
}
},
{
"path": "mine/Integral",
"style": {

View File

@ -307,8 +307,7 @@
//
if (this.$store.state.showCoupons) {
this.isNewmembervoucher();
}
this.getRecommendList();
}
},
async onLoad(){
this.articleList = [];

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB