!79 2022-01-22 Jiamin

Merge pull request !79 from Admin/sit-jiamin-v2
This commit is contained in:
Admin 2022-01-22 11:56:03 +00:00 committed by Gitee
commit d2e2d45395
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
5 changed files with 1239 additions and 814 deletions

View File

@ -271,7 +271,7 @@ export const searchchanpin = (stype,usertype,curPage,curRow) => {
//查询订单
export const userindent = (phoneNumber,orderNumber,) => {
var data = {
phoneNumber:'18112621098',
phoneNumber:phoneNumber,
orderNumber:orderNumber,
}
return fetch('orderMaster/?type=query', data, 'POST' )
@ -287,10 +287,11 @@ export const userin = (orderNumber,) => {
//取消订单
export const canceldanhao = (orderNumber) => {
export const canceldanhao = (phoneNumber,orderNumber) => {
var data = {
phoneNumber:phoneNumber,
orderNumber:orderNumber,
}
return fetch('cancelOrder/', data, 'POST' )
}

View File

@ -1,8 +1,15 @@
.usercontshow{
min-height: 70vh;
}
@media screen and (max-width:768px){
.online{
margin: 0;
&.bold{
height: 8px;
}
}
.active {
font-size: 14px;
color: #e2001a;
@ -13,19 +20,65 @@
color: #444444;
cursor: pointer;
}
.usercontshow{
padding: 0 1.5rem;
.online{
margin: 0;
&.bold{
height: 0.5rem;
}
}
margin: 0;
&.bold{
height: 8px;
margin-top: 1.5rem;
}
}
.rc-usermaina{
width: 100%;
height: 100%;
.rc-price{
display: flex;
justify-content: space-between;
i{
list-style: none;
font-style: normal;
font-weight: bold;
}
em{
list-style: none;
font-style: normal;
}
strong{
list-style: none;
font-style: normal;
}
.priceleft{
color: #666666;
font-size: 14px;
display: flex;
align-items: center;
margin-top: 19px;
em{
margin-left: 8px;
}
}
.priceright{
display: flex;
margin-top: 19px;
align-items: center;
strong{
color: #333333;
font-size: 14px;
}
i{
font-size: 18px;
color: #E1001A;
margin-left: 3px;
}
}
}
}
.rc-headera {
display: flex;
@ -39,7 +92,6 @@
.rc-center {
width: 100%;
height: 245px;
margin-top: 8px;
.rc-usermain {
.pc-bottom{
@ -60,7 +112,6 @@
}
.rc-right {
.rc-userbottomm{
display: none;
}
@ -110,8 +161,8 @@
.rc-bottom {
display: flex;
align-items: center;
justify-content: center;
margin-top: 24px;
justify-content: flex-end;
margin-top: 26px;
span {
display: block;
width: 130px;
@ -167,6 +218,13 @@
}
@media screen and (min-width: 769px)
{
.online{
margin: 0;
display: none;
}
.rc-usermaina{
border: 1px solid #D7D7D7;
}
.active {
font-size: 18px;
color: #e2001a;
@ -214,8 +272,7 @@
.rc-center {
width: 100%;
height: 220px;
border: 1px solid #D7D7D7;
margin-bottom: 40px;
.rc-usermain {
display: flex;
justify-content: space-between;
@ -314,6 +371,52 @@
.rc-bottom {
display: none;
}
.rc-price{
height: 60px;
display: flex;
align-items: center;
border-top: 1px solid #D7D7D7;
.priceleft{
margin-left: 40px;
font-size: 16px;
color: #333333;
em{
font-style: normal;
list-style: none;
}
strong{
font-style: normal;
list-style: none;
}
i{
font-style: normal;
list-style: none;
}
}
.priceright{
margin-right: 45px;
font-style: normal;
list-style: none;
em{
font-style: normal;
list-style: none;
}
strong{
font-style: normal;
list-style: none;
font-size: 18px;
color: #333333;
}
i{
font-style: normal;
list-style: none;
font-size: 20px;
color: #E1001A;
}
}
}
}
.rc-title {

View File

@ -0,0 +1,628 @@
ul li ol li em strong i {
list-style: none;
font-style: normal;
}
//手机端
@media screen and (max-width: 768px) {
.rc-margin-y--md{
width: 100%;
height: 80px;
background: #FFFFFF;
box-shadow: 0px -5px 6px rgba(0, 0, 0, 0.1);
padding: 0;
display: flex;
align-items: center;
justify-content: flex-end;
margin: 0;
.ts-standard-btn{
width: 155px;
height: 48px;
background: #E2001A;
border-radius: 30px;
color: #FFFFFF;
font-size: 14px;
display: flex;
align-items: center;
justify-content: center;
margin: 0;
padding: 0;
margin-right: 20px;
}
}
.rc-main {
.rc-userbottom{
display: none;
}
.viewdetails{
display: none;
}
.rc-foo{
display: none;
}
.rc-receiving {
width: 100%;
height: 80px;
display: flex;
align-items: center;
em {
font-style: normal;
color: #e1001a;
font-size: 22px;
font-weight: bold;
}
span {
color: #666666;
font-size: 12px;
display: block;
margin-left: 18px;
width: 62%;
}
}
.delivery {
display: flex;
flex-direction: column;
height: 80px;
.to-delivery {
display: flex;
align-items: center;
font-style: normal;
span {
display: block;
margin-left: 3px;
}
i {
font-style: normal;
margin-left: 8px;
display: block;
}
}
.bo-delivery {
span {
font-size: 14px;
color: #666666;
display: block;
margin-top: 8px;
}
}
}
.mypersonal {
display: flex;
flex-direction: column;
height: 80px;
.my-delivery {
display: flex;
align-items: center;
font-style: normal;
span {
display: block;
margin-left: 3px;
}
i {
font-style: normal;
margin-left: 8px;
display: block;
}
}
.per-delivery {
span {
font-size: 14px;
color: #666666;
display: block;
margin-top: 8px;
}
}
}
.rc-usermain {
display: flex;
.rc-image {
border: 1px solid #d8d8d8;
margin-top: 17px;
height: 96px;
img {
width: 96px;
height: 96px;
display: block;
}
}
.rc-right {
.rc-userbottomm {
display: none;
}
display: flex;
flex-direction: column;
width: 100%;
margin-left: 16px;
justify-content: center;
em {
font-style: normal;
display: block;
font-size: 16px;
margin-top: 18px;
font-weight: bold;
color: #e1001a;
}
}
.rc-userright {
display: flex;
flex-direction: column;
color: #666666;
font-size: 14px;
span {
display: block;
margin-top: 16px;
}
}
.rc-userbottom {
display: flex;
justify-content: space-between;
margin-top: 8px;
span {
color: #666666;
font-size: 14px;
}
i {
font-style: normal;
color: #e1001a;
font-size: 18px;
font-weight: bold;
}
.rc-bottom{
display: none;
}
}
.rc-bottomm {
display: flex;
align-items: center;
justify-content: flex-end;
margin-top: 24px;
span {
display: block;
width: 130px;
display: flex;
align-items: center;
line-height: 40px;
text-align: center;
color: #e2001a;
height: 40px;
font-size: 12px;
border: 2px solid #e2001a;
justify-content: center;
border-radius: 30px;
font-weight: bold;
}
span:last-child {
margin-left: 15px;
}
}
}
.rc-merchandise {
width: 100%;
margin-top: 32px;
ul {
width: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
line-height: 26px;
i {
font-style: normal;
color: #666666;
font-size: 14px;
}
li {
list-style: none;
font-style: normal;
display: flex;
justify-content: space-between;
span {
font-size: 14px;
color: #333333;
}
}
li:last-child {
i {
color: #e1001a;
font-size: 16px;
font-style: normal;
}
}
}
}
.rc-payment{
width: 100%;
margin-top: 32px;
.u-trackingnumber{
display: flex;
align-items: center;
i {
font-size: 14px;
font-style: normal;
margin-right: 16px;
}
img{
width: 8px;
height: 16px;
}
}
ul {
width: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
line-height: 26px;
i {
font-style: normal;
color: #666666;
font-size: 14px;
}
li {
list-style: none;
font-style: normal;
display: flex;
justify-content: space-between;
span {
font-size: 14px;
color: #333333;
}
}
}
}
}
}
//pc端
@media screen and (min-width: 768px) and (max-width: 1920px) {
.rc-margin-y--md{
display: none;
}
.rc-main {
margin: 0 auto;
margin-top: 90px;
.rc-userbottomm{
display: none;
}
.rc-border{
width: 100%;
border-bottom: 1px solid #D7D7D7;
margin-top: 32px;
}
.rc-receiving {
width: 100%;
height: 80px;
display: flex;
flex-direction: column;
em {
font-style: normal;
color: #E1001A;
font-size: 26px;
}
span {
color: #666666;
font-size: 16px;
display: block;
margin-top: 25px;
}
}
.delivery {
display: flex;
flex-direction: column;
height: 140px;
display: flex;
justify-content: center;
.viewdetails{
display: flex;
align-items: center;
justify-content: flex-end;
span{
color:#444444;
font-size: 18px;
display: block;
margin-right: 8px;
}
img{
width: 8px;
height: 16px;
}
}
.to-delivery {
display: flex;
align-items: center;
font-style: normal;
span {
display: block;
// margin-left: 16px;
font-size: 18px;
color: #333333;
}
i {
font-style: normal;
margin-left: 8px;
display: block;
font-size: 18px;
color: #999999;
}
}
.bo-delivery {
span {
font-size: 16px;
color: #666666;
display: block;
margin-top: 16px;
}
}
}
.mypersonal {
display: flex;
flex-direction: column;
height: 140px;
justify-content: center;
.my-delivery {
display: flex;
align-items: center;
font-style: normal;
span {
display: block;
margin-left: 3px;
font-size: 18px;
color: #333333;
}
i {
font-style: normal;
margin-left: 8px;
display: block;
font-size: 18px;
color: #333333;
}
}
.per-delivery {
span {
font-size: 18px;
color: #666666;
display: block;
margin-top: 16px;
}
}
}
.rc-usermain {
display: flex;
.rc-image {
border: 1px solid #d8d8d8;
margin-top: 17px;
img {
width: 96px;
height: 96px;
display: block;
}
}
.rc-right {
.rc-bottomm{
display: none;
}
.rc-usercenter{
display: flex;
justify-content: center;
flex-direction: column;
em {
font-style: normal;
display: block;
font-size: 18px;
font-weight: bold;
margin-top: 17px;
color: #e1001a;
}
}
display: flex;
width: 100%;
margin-left: 16px;
}
.rc-userright {
display: flex;
flex-direction: column;
color: #666666;
font-size: 16px;
span {
display: block;
margin-top: 16px;
font-size: 16px;
}
}
.rc-userbottom {
display: flex;
width: 80%;
justify-content: space-between;
align-items: center;
margin-left: 119px;
span {
color: #E1001A;
font-size: 20px;
}
i {
font-style: normal;
color: #e1001a;
font-size: 20px;
font-weight: bold;
}
.rc-bottom {
display: flex;
align-items: center;
justify-content: flex-end;
margin-top: 24px;
span {
display: block;
width: 164px;
display: flex;
align-items: center;
line-height: 40px;
text-align: center;
color: #e2001a;
height: 40px;
border: 2px solid #e2001a;
justify-content: center;
border-radius: 30px;
font-weight: bold;
font-size: 14px;
}
}
}
}
.rc-merchandise {
width: 100%;
margin-top: 32px;
ul {
width: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
line-height: 40px;
font-size: 18px;
i {
font-style: normal;
color: #666666;
}
li {
list-style: none;
font-style: normal;
display: flex;
justify-content: space-between;
span {
color: #333333;
}
}
li:last-child {
i {
color: #e1001a;
font-size: 20px;
font-style: normal;
}
}
}
}
.rc-payment{
width: 100%;
margin-top: 80px;
.u-trackingnumber{
display: flex;
align-items: center;
i {
font-size: 18px;
font-style: normal;
margin-right: 16px;
}
img{
width: 8px;
height: 16px;
}
}
ul {
width: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
line-height: 40px;
font-size: 18px;
i {
font-style: normal;
color: #666666;
display: block;
}
li {
list-style: none;
font-style: normal;
display: flex;
justify-content: space-between;
span {
color: #333333;
}
}
}
}
.rc-foot{
display: flex;
flex-direction: column;
.rc-foo{
display: flex;
justify-content: flex-end;
flex-direction: column;
align-items: self-end;
i{
font-style: normal;
color:#333333;
font-size: 20px;
margin-right: 20px;
}
em{
font-style: normal;
color: #E1001A;
font-size: 26px;
}
span{
display: block;
width: 164px;
margin-top: 36px;
background: #E2001A;
line-height: 48px;
text-align: center;
color: white;
font-size: 16px;
height: 48px;
border-radius: 30px;
}
}
}
}
}

View File

@ -1,9 +1,8 @@
<template>
<div>
<div class="user-main">
<Myheader></Myheader>
<div class="rc-header">
<div class="rc-main" v-for="(item,index) in goldmedal" :key="index" >
<div class="rc-top"></div>
<div class="rc-main" v-for="(item,index) in goldmedal" :key="item.id" >
<div class="rc-receiving" >
<em>{{item.status=='0'?'待付款':item.status=='1'?'待收货':item.status=='2'?'已完成':item.status=='3'?'已取消':'异常订单'}}</em>
<span>{{orderstatus}}</span>
@ -27,20 +26,20 @@
</div>
<div
class="mypersonal"
v-for="(dataaddress, index) in useraddress"
:key="index"
v-for="(datddress, index) in useraddress"
:key="datddress.id"
>
<div class="my-delivery">
<span>{{ dataaddress.state }}</span>
<i>{{ dataaddress.tel }}</i>
<span>{{ datddress.recipient }}</span>
<i>{{ datddress.recipientPhone }}</i>
</div>
<div class="per-delivery">
<span>{{ dataaddress.address }}</span>
<span>{{ datddress.provinceName }}{{datddress.cityName}}{{datddress.districtName}}{{datddress.detailAddress}}</span>
</div>
</div>
<div v-for="(userlist,index) in item.orderDetailList" :key="index">
<div >
<div class="rc-center">
<div class="rc-usermain">
<div class="rc-usermain" v-for="(userlist,index) in item.orderDetailList" :key="index">
<div class="rc-image">
<img :src="item.catimage" alt="" />
</div>
@ -55,11 +54,11 @@
<span>数量:{{ item.pcs }}</span>
<i>{{ item.ecPrice }}</i>
<div class="rc-bottom">
<span>联系客服申请售后</span>
<span @click="userpay()">{{customer}}</span>
</div>
</div>
<div class="rc-bottomm">
<span>联系客服申请售后</span>
<span @click="userpay()">{{customer}}</span>
</div>
<!-- <div class="rc-userbottomm">
<i>{{ item.userprice }}</i>
@ -68,14 +67,12 @@
</div> -->
</div>
</div>
</div>
<div class="rc-merchandise">
<ul>
<li>
<span>商品总价:</span>
<i>{{ shopprice.price }}</i>
<i>{{ item.salesAmount }}</i>
</li>
<li>
<span>配送费用:</span>
@ -96,11 +93,11 @@
<ul>
<li>
<span>订单编号::</span>
<i>{{ information.reference }}</i>
<i>{{ item.orderNumber }}</i>
</li>
<li>
<span>下单时间::</span>
<i>{{ information.ordertime }}</i>
<i>{{ item.orderDate }}</i>
</li>
<li>
<span>付款方式::</span>
@ -113,9 +110,9 @@
<li>
<span>快递单号:</span>
<div class="u-trackingnumber">
<i>{{ userlist.logisticsNumber }}
<i>{{ logisticsNumber }}
</i>
<img :src="information.catimage" alt="">
<!-- <img :src="information.catimage" alt=""> -->
</div>
</li>
@ -126,68 +123,67 @@
<div class="rc-foo">
<div style="padding-top:55px">
<i>合计金额:</i>
<em>167.00</em>
<em>{{usersalesAmount}}</em>
</div>
<div style="padding-bottom:40px">
<span>再次购买</span>
<span @click="onceagain">再次购买</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="rc-full-width rc-margin-y--md">
<i class="ts-standard-btn ts-standard-btn--two center" @click="onceagain">
{{payorsucess}}
</i>
</div>
<MyFooter></MyFooter>
</div>
</template>
<script>
import Myheader from "~/components/header.vue";
import { userin} from "../../ajax/getData";
import MyFooter from '~/components/rc-footer.vue'
import {selectaddress,canceldanhao,generateOrderWX} from "../../ajax/getData";
export default {
data() {
return {
goldmedal:[],
userproductId:'',
userphone:'',
logisticsNumber:'',
customer:'',//
payorsucess:'', //
addressstype: null,
addressUserName:'',
orderstatus: '',
goldastates:'',
userisdelivery:'待收货',
userdelivery: "派送中",
isshow:true,
usersalesAmount:'',
leftico: require("../../assets/image/rc-left.png"),
orderNumber:'',
usermessage:null,
userid: null,
useralllist:[],
delivery: [
{
state: "派送中",
time: "2021-11-21",
address: "广州天河—刘某某【15124617917】正在派送中",
},
],
useraddress: [
{
state: "李某某",
tel: "15124117917",
address: "广东省 广州市 天河区 天河客运站118号",
},
],
goldmedal: [
{
ordernumber: "1111111111111111111",
orderstype: 1,
index:0,
usereat: "英国短毛猫成猫全价湿粮",
num: "5kg",
specification: "1",
userprice: "167.00",
catimage: require("../../assets/image/rc-win.png"),
},
],
shopprice: {
price: "¥197.00",
distribution: "¥0.00",
promotion: "-¥30.00",
payment: "¥167.00",
},
information: {
reference: "1111111111111111",
@ -201,643 +197,172 @@ export default {
},
methods: {
async canceldanhao(orderNumber){
let data=await userin(orderNumber);
console.log(data);
this.goldmedal=data;
console.log(this.goldmedal);
//
async canceldanhao(orderNumber) {
let data = await canceldanhao(this.userphone,this.orderNumber);
if (data) {
this.$message({
type: "warning",
message: "取消订单成功",
});
setTimeout(() => {
this.$router.push({
path: "/personal/useraddress",
query: {
stype: 1,
},
});
}, 500);
}
},
userpay(){
console.log('---');
if(this.goldastates==0){
this.canceldanhao();
}
},
//
onceagain(){
console.log(this.payorsucess);
if(this.payorsucess=='立即支付'){
console.log('----')
this.getwei();
}else{
this.$router.push({
path: "/productdetails/producted",
query: {
stype: 1,
productCode: this.userproductId
},
});
console.log('不是立即支付');
}
},
async orderquantity(orderNumber){
let data=await userin(orderNumber);
if(data){
this.goldmedal=data;
for(let i=0;i<this.goldmedal.length;i++){
this.goldmedal[i].status=0
this.goldastates=this.goldmedal[i].status;
this.userproductId=this.goldmedal[i].orderDetailList[0].productId;
this.logisticsNumber=this.goldmedal[i].orderDetailList[0].logisticsNumber;
this.orderNumber=this.goldmedal[i].orderNumber
this.usersalesAmount=this.goldmedal[i].salesAmount;
this.addressUserName=this.goldmedal[i].addressUserName;
}
console.log(this.goldmedal,this.userproductId,this.usersalesAmount);
}
},
//
async getwei(user) {
let postData = [];
let oneProduct = {
productName: item.productName,
buyCount: item.buyCount,
productId: item.productCode,
payAmount: item.productPrice,
memberId: item.memberId,
phoneNumber: item.mobile,
orderAddress: {
addressPhoneNumber: orderAddress[0].recipientPhone,
addressUserName: orderAddress[0].recipient,
addressProvinceName: orderAddress[0].provinceName,
addressCityName: orderAddress[0].cityName,
addressCountyName: orderAddress[0].districtName,
addressDetailInfo: orderAddress[0].detailAddress,
},
};
let res = await generateOrderWX(postData);
let userPayData = {
orderId: res.data,
userprice: this.usersalesAmount, //
userinformation:
this.addressUserName+ //
" " +
this.userphone, //
wxPay: "weixin://wxpay/bizpayurl?pr=4RJbokxzz",
};
this.$router.push({
path: "/personal/userpay",
query: {
userPayData:JSON.stringify(userPayData),
},
});
},
async editaddress(user) {
// user.data.id=844350;
let data = await selectaddress(this.userid);
console.log(data);
let list=[]
this.useraddress=data.data;
for(let i =0;i<this.useraddress.length;i++){
if(this.useraddress[i].isDefault==true){
list.push(this.useraddress[i]);
}
}
this.useraddress=list;
console.log(list);
console.log(this.goldmedal);
// console.log(this.list);
},
},
mounted() {
this.usermessage = JSON.parse(localStorage.getItem("userInfo"));
this.userid = this.usermessage.data.id;
this.userphone=this.usermessage.data.mobile;
this.editaddress(this.userid);
this.addressstype = this.$route.query.stype;
this.orderNumber=this.$route.query.orderNumber;
this.canceldanhao(this.orderNumber)
console.log(this.orderNumber);
this.orderquantity(this.orderNumber)
if(this.addressstype==2){
this.orderstatus='您的订单已付款成功,请耐心等候,我们会尽快安排给您发货!';
this.orderstatus='您的订单已完成';
this.isshow=false;
this.userisdelivery='待发货';
this.customer='联系客服申请售后'
this.payorsucess='再次购买'
console.log( this.orderstatus);
}else if(this.addressstype==0){
this.orderstatus='您的订单尚未支付';
this.orderstatus='您的订单还未付款,请尽快付款!';
this.isshow=false;
this.userisdelivery='待付款';
this.customer='取消订单'
this.payorsucess='立即支付'
}
else if(this.addressstype==1){
this.orderstatus='您的订单发货,请您耐心等候!';
this.orderstatus='您的订单已发出,请耐心等候。';
this.isshow=true;
this.userisdelivery='待收货';
this.customer='联系客服申请售后'
this.payorsucess='再次购买'
}
else if(this.addressstype==3){
this.orderstatus='您的订单已取消!';
this.isshow=false;
this.userisdelivery='已取消';
this.customer='联系客服申请售后'
this.payorsucess='再次购买'
}
console.log(this.addressstype);
},
components: {
Myheader,
MyFooter,
},
};
</script>
<style lang="less" scoped>
ul li ol li em strong i {
list-style: none;
font-style: normal;
}
.rc-header {
width: 100%;
}
//
@media screen and (max-width: 768px) {
.rc-main {
width: 92%;
margin: 0 auto;
.rc-userbottom{
display: none;
}
.viewdetails{
display: none;
}
.rc-foo{
display: none;
}
.rc-receiving {
width: 100%;
height: 80px;
display: flex;
align-items: center;
em {
font-style: normal;
color: #e1001a;
font-size: 22px;
}
span {
color: #666666;
font-size: 12px;
display: block;
margin-left: 18px;
width: 62%;
@import url("../../assets/css/global.less");
@import url("../../assets/css/usertion.less");
}
}
.delivery {
display: flex;
flex-direction: column;
height: 80px;
.to-delivery {
display: flex;
align-items: center;
font-style: normal;
span {
display: block;
margin-left: 3px;
}
i {
font-style: normal;
margin-left: 8px;
display: block;
}
}
.bo-delivery {
span {
font-size: 14px;
color: #666666;
display: block;
margin-top: 8px;
}
}
}
.mypersonal {
display: flex;
flex-direction: column;
height: 80px;
.my-delivery {
display: flex;
align-items: center;
font-style: normal;
span {
display: block;
margin-left: 3px;
}
i {
font-style: normal;
margin-left: 8px;
display: block;
}
}
.per-delivery {
span {
font-size: 14px;
color: #666666;
display: block;
margin-top: 8px;
}
}
}
.rc-usermain {
display: flex;
.rc-image {
border: 1px solid #d8d8d8;
margin-top: 17px;
height: 96px;
img {
width: 96px;
height: 96px;
display: block;
}
}
.rc-right {
.rc-userbottomm {
display: none;
}
display: flex;
flex-direction: column;
width: 100%;
margin-left: 16px;
justify-content: center;
em {
font-style: normal;
display: block;
font-size: 16px;
margin-top: 18px;
font-weight: bold;
color: #e1001a;
}
}
.rc-userright {
display: flex;
flex-direction: column;
color: #666666;
font-size: 14px;
span {
display: block;
margin-top: 16px;
}
}
.rc-userbottom {
display: flex;
justify-content: space-between;
margin-top: 8px;
span {
color: #666666;
font-size: 14px;
}
i {
font-style: normal;
color: #e1001a;
font-size: 18px;
font-weight: bold;
}
.rc-bottom{
display: none;
}
}
.rc-bottomm {
display: flex;
align-items: center;
justify-content: flex-end;
margin-top: 24px;
span {
display: block;
width: 130px;
display: flex;
align-items: center;
line-height: 40px;
text-align: center;
color: #e2001a;
height: 40px;
font-size: 12px;
border: 2px solid #e2001a;
justify-content: center;
border-radius: 30px;
font-weight: bold;
}
span:last-child {
margin-left: 15px;
}
}
}
.rc-merchandise {
width: 100%;
margin-top: 32px;
ul {
width: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
line-height: 26px;
i {
font-style: normal;
color: #666666;
font-size: 14px;
}
li {
list-style: none;
font-style: normal;
display: flex;
justify-content: space-between;
span {
font-size: 14px;
color: #333333;
}
}
li:last-child {
i {
color: #e1001a;
font-size: 16px;
font-style: normal;
}
}
}
}
.rc-payment{
width: 100%;
margin-top: 32px;
.u-trackingnumber{
display: flex;
align-items: center;
i {
font-size: 14px;
font-style: normal;
margin-right: 16px;
}
img{
width: 8px;
height: 16px;
}
}
ul {
width: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
line-height: 26px;
i {
font-style: normal;
color: #666666;
font-size: 14px;
}
li {
list-style: none;
font-style: normal;
display: flex;
justify-content: space-between;
span {
font-size: 14px;
color: #333333;
}
}
}
}
}
}
//pc
@media screen and (min-width: 768px) and (max-width: 1920px) {
.rc-main {
width: 92%;
margin: 0 auto;
.rc-userbottomm{
display: none;
}
.rc-border{
width: 100%;
border-bottom: 1px solid #D7D7D7;
margin-top: 32px;
}
.rc-receiving {
width: 100%;
height: 80px;
display: flex;
flex-direction: column;
em {
font-style: normal;
color: #E1001A;
font-size: 26px;
}
span {
color: #666666;
font-size: 16px;
display: block;
margin-top: 25px;
}
}
.delivery {
display: flex;
flex-direction: column;
height: 140px;
display: flex;
justify-content: center;
.viewdetails{
display: flex;
align-items: center;
justify-content: flex-end;
span{
color:#444444;
font-size: 18px;
display: block;
margin-right: 8px;
}
img{
width: 8px;
height: 16px;
}
}
.to-delivery {
display: flex;
align-items: center;
font-style: normal;
span {
display: block;
// margin-left: 16px;
font-size: 18px;
color: #333333;
}
i {
font-style: normal;
margin-left: 8px;
display: block;
font-size: 18px;
color: #999999;
}
}
.bo-delivery {
span {
font-size: 16px;
color: #666666;
display: block;
margin-top: 16px;
}
}
}
.mypersonal {
display: flex;
flex-direction: column;
height: 140px;
justify-content: center;
.my-delivery {
display: flex;
align-items: center;
font-style: normal;
span {
display: block;
margin-left: 3px;
font-size: 18px;
color: #333333;
}
i {
font-style: normal;
margin-left: 8px;
display: block;
font-size: 18px;
color: #333333;
}
}
.per-delivery {
span {
font-size: 18px;
color: #666666;
display: block;
margin-top: 16px;
}
}
}
.rc-usermain {
display: flex;
.rc-image {
border: 1px solid #d8d8d8;
margin-top: 17px;
img {
width: 96px;
height: 96px;
display: block;
}
}
.rc-right {
.rc-bottomm{
display: none;
}
.rc-usercenter{
display: flex;
justify-content: center;
flex-direction: column;
em {
font-style: normal;
display: block;
font-size: 18px;
font-weight: bold;
margin-top: 17px;
color: #e1001a;
}
}
display: flex;
width: 100%;
margin-left: 16px;
}
.rc-userright {
display: flex;
flex-direction: column;
color: #666666;
font-size: 16px;
span {
display: block;
margin-top: 16px;
font-size: 16px;
}
}
.rc-userbottom {
display: flex;
width: 80%;
justify-content: space-between;
align-items: center;
margin-left: 119px;
span {
color: #E1001A;
font-size: 20px;
}
i {
font-style: normal;
color: #e1001a;
font-size: 20px;
font-weight: bold;
}
.rc-bottom {
display: flex;
align-items: center;
justify-content: flex-end;
margin-top: 24px;
span {
display: block;
width: 164px;
display: flex;
align-items: center;
line-height: 40px;
text-align: center;
color: #e2001a;
height: 40px;
border: 2px solid #e2001a;
justify-content: center;
border-radius: 30px;
font-weight: bold;
font-size: 14px;
}
}
}
}
.rc-merchandise {
width: 100%;
margin-top: 32px;
ul {
width: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
line-height: 40px;
font-size: 18px;
i {
font-style: normal;
color: #666666;
}
li {
list-style: none;
font-style: normal;
display: flex;
justify-content: space-between;
span {
color: #333333;
}
}
li:last-child {
i {
color: #e1001a;
font-size: 20px;
font-style: normal;
}
}
}
}
.rc-payment{
width: 100%;
margin-top: 80px;
.u-trackingnumber{
display: flex;
align-items: center;
i {
font-size: 18px;
font-style: normal;
margin-right: 16px;
}
img{
width: 8px;
height: 16px;
}
}
ul {
width: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
line-height: 40px;
font-size: 18px;
i {
font-style: normal;
color: #666666;
display: block;
}
li {
list-style: none;
font-style: normal;
display: flex;
justify-content: space-between;
span {
color: #333333;
}
}
}
}
.rc-foot{
display: flex;
flex-direction: column;
.rc-foo{
display: flex;
justify-content: flex-end;
flex-direction: column;
align-items: self-end;
i{
font-style: normal;
color:#333333;
font-size: 20px;
margin-right: 20px;
}
em{
font-style: normal;
color: #E1001A;
font-size: 26px;
}
span{
display: block;
width: 164px;
margin-top: 36px;
background: #E2001A;
line-height: 48px;
text-align: center;
color: white;
font-size: 16px;
height: 48px;
border-radius: 30px;
}
}
}
}
}
</style>

View File

@ -1,86 +1,159 @@
<template>
<div>
<Myheader></Myheader>
<div class="rc-top"></div>
<div class="online bold"></div>
<div class="usercontshow rc-max-width--xl">
<div class="rc-headera">
<span
v-for="(item, index) in discountlist"
:key="index"
@click="selectGoods(item, index)"
:class="activeIndex == index ? 'active' : 'unactive'"
>
{{item.title}}
</span>
</div>
<div class="online bold"></div>
<div class="rc-userheader">
<span v-for="(item, index) in message" :key="index">
{{item.title}}
</span>
</div>
<div class="rc-center" v-for="(item, index) in goldmedal" :key="index">
<div class="rc-usermaina" >
<div class="rc-top"></div>
<div class="online bold"></div>
<div class="usercontshow rc-max-width--xl">
<div class="rc-headera">
<span
v-for="(item, index) in discountlist"
:key="index"
@click="selectGoods(item, index)"
:class="activeIndex == index ? 'active' : 'unactive'"
>
{{ item.title }}
</span>
</div>
<div class="online bold" style="height:8px;margin-top:0"></div>
<div class="rc-userheader">
<span v-for="(item, index) in message" :key="index">
{{ item.title }}
</span>
</div>
<div class="rc-center" v-for="(item, index) in useralllist" :key="index">
<div class="rc-usermaina">
<div class="rc-title">
<div>
<i>订单编号:</i><span>{{ item.orderNumber }}</span>
<div>
<i>订单编号:</i><span>{{ item.orderNumber }}</span>
</div>
<div class="rc-usertitle">
<strong>订单状态:</strong> <em>{{item.status=='0'?'待付款':item.status=='1'?'待收货':item.status=='2'?'已完成':item.status=='3'?'已取消':'异常订单'}}</em>
</div>
<strong>订单状态:</strong>
<em>{{
item.status == "0"
? "待付款"
: item.status == "1"
? "待收货"
: item.status == "2"
? "已完成"
: item.status == "3"
? "已取消"
: "异常订单"
}}</em>
</div>
</div>
<div class="rc-usermain" @click="userfind(item)">
<div class="rc-image">
<div class="rc-usermain" >
<div class="rc-image">
<img :src="item.catimage" alt="" />
</div>
<div class="rc-right">
<div class="rc-right" @click="usertiaozhuan(item)">
<div class="rc-usercenter">
<em>{{ item.usereat }}</em>
<div class="rc-userright">
<span>规格:{{ item.num }}</span>
</div>
<em>{{ item.usereat }}</em>
<div class="rc-userright">
<span>规格:{{ item.num }}</span>
</div>
</div>
<div class="rc-userbottom">
<span>数量:{{ item.pcs}}</span>
<i>{{ item.ecPrice }}</i>
<span>数量:{{ item.pcs }}</span>
<i>{{ }}</i>
</div>
<div class="rc-userbottomm">
<i>{{ item.userprice }}</i>
<span>{{item.orderstype}}</span>
<div class="rc-userbottomm">
<i>{{ item.userprice }}</i>
<span>{{ item.orderstype }}</span>
<i>{{ item.userprice }}</i>
</div>
</div>
<div class="pc-bottom">
<span @click="usertwo()">再次购买</span>
<span @click="userfind()">查看订单</span>
</div>
<div class="pc-bottom">
<span @click="userpay(item, index)">{{
item.status == "0"
? "取消订单"
: item.status == "1"
? "确认收货"
: item.status == "2"
? "再次购买"
: item.status == "3"
? "再次购买"
: "异常订单"
}}</span>
<span @click="userfind(item)">{{
item.status == "0"
? "立即支付"
: item.status == "1"
? "查看订单"
: item.status == "2"
? "查看订单"
: item.status == "3"
? "查看订单"
: "异常订单"
}}</span>
</div>
</div>
<div class="online" style="display:none"></div>
<div class="rc-usermain rc-price">
<div class="rc-price priceleft">
<span>数量:</span>
<em>{{item.lengthnum}}件商品</em>
</div>
<div class="rc-price priceright">
<strong>总计:</strong>
<i>{{item.salesAmount}}</i>
</div>
</div>
<div class="rc-bottom">
<span @click="userpay(item,index)">{{item.status=='0'?'取消订单':item.status=='1'?'确认收货':item.status=='2'?'再次购买':item.status=='3'?'再次购买':'异常订单'}}</span>
<span @click="userfind(item)">{{item.status=='0'?'立即支付':item.status=='1'?'查看订单':item.status=='2'?'查看订单':item.status=='3'?'查看订单':'异常订单'}}</span>
<span @click="userpay(item, index)">{{
item.status == "0"
? "取消订单"
: item.status == "1"
? "确认收货"
: item.status == "2"
? "再次购买"
: item.status == "3"
? "再次购买"
: "异常订单"
}}</span>
<span @click="userfind(item)">{{
item.status == "0"
? "立即支付"
: item.status == "1"
? "查看订单"
: item.status == "2"
? "查看订单"
: item.status == "3"
? "查看订单"
: "异常订单"
}}</span>
</div>
</div>
</div>
<div class="online bold"></div>
</div>
</div>
<MyFooter></MyFooter>
</div>
</template>
<script>
import { List } from 'vant';
import Myheader from "~/components/header.vue";
import { customerorders,userindent,canceldanhao } from "../../ajax/getData";
import MyFooter from '~/components/rc-footer.vue'
import { customerorders, userindent, canceldanhao,generateOrderWX } from "../../ajax/getData";
export default {
data() {
return {
activeIndex: 0,
userdata:[],
buttontitle:'再次购买',
userstype:'',
alllist:[],
obligation:[],//
pending:[],//
receiving :[],//
allmessage:[],
useralllist: [],
usertitle:'',
useraliset:[],
userdata: [],
buttontitle: "再次购买",
discountlist: [
{
title: "全部",
@ -96,7 +169,7 @@ export default {
},
],
message: [
message: [
{
title: "商品",
},
@ -122,10 +195,9 @@ export default {
ordernum: 0,
num: "5kg",
specification: "1",
buttontitle:'立即支付',
buttontitle: "立即支付",
userprice: "167.00",
catimage: require("../../assets/image/rc-win.png"),
},
{
@ -133,7 +205,7 @@ export default {
usereat: "每年4次免积分产品试吃",
ordernum: 0,
buttontitle:'再次购买',
buttontitle: "再次购买",
catimage: require("../../assets/image/usereat.png"),
orderstype: 2,
userprice: "167.00",
@ -142,7 +214,7 @@ export default {
ordernumber: "1111111111111111111",
usereat: "尊享订单免邮服务(指点商品)",
ordernum: 0,
buttontitle:'取消订单',
buttontitle: "取消订单",
catimage: require("../../assets/image/usercar.png"),
orderstype: 3,
userprice: "167.00",
@ -190,110 +262,206 @@ export default {
};
},
mounted() {
let user= JSON.parse(localStorage.getItem("userInfo"));
this.userdata=user;
let stype=this.$route.query.stype
if(user=='' ||user==null){
this.$message({
type: 'warning',
message: '请先去登录'
});
return
}else{
this.indet(user.data.mobile,stype);
}
},
mounted() {
let user = JSON.parse(localStorage.getItem("userInfo"));
this.userdata = user.data.mobile;
let stype = this.$route.query.stype;
this.userstype=this.$route.query.stype;
console.log(stype);
if (user == "" || user == null) {
this.$message({
type: "warning",
message: "请先去登录",
});
return;
} else {
this.indet(this.userdata, stype);
}
},
components: {
Myheader,
MyFooter
},
methods: {
async indet(mobile,stype){
let data=await userindent(mobile,);
this.activeIndex=stype;
this.goldmedal=data;
let list=[];
let fahuolist=[];
console.log(this.goldmedal);
for(let i=0;i<this.goldmedal.length;i++){
list.push(this.goldmedal[i].orderDetailList);
}
},
async canceldanhao(orderNumber){
let data=await canceldanhao(orderNumber);
console.log(data);
if(data){
this.$message({
type: 'warning',
message: '取消订单成功'
});
this.indet(this.userdata.data.mobile);
}
},
userpay(item,index){
console.log(item);
if(item.status==0){
this.canceldanhao(item.orderNumber);
}
console.log(item.buttontitle);
if(item.buttontitle=='立即支付'){
this.$router.push({
path: "/personal/userpay",
query: {
stype: 1,
},
});
}else if(item.buttontitle=='再次购买'){
this.$router.push({
path: "/myorder/userrecord",
query: {
stype: 1,
},
});
}
async indet(mobile, stype) {
let data = await userindent(mobile);
this.activeIndex = stype;
this.goldmedal = data;
for (let i = 0; i < this.goldmedal.length; i++) {
this.useralllist.push(this.goldmedal[i].orderDetailList[0]);
this.alllist.push(this.goldmedal[i].orderDetailList[0])
this.allmessage.push(this.goldmedal[i].orderDetailList[0])
if(this.goldmedal[i].status==0){
console.log("+++++++++++++");
this.obligation.push(this.goldmedal[i].orderDetailList[0]);
}else if(this.goldmedal[i].status==1){
this.receiving.push(this.goldmedal[i].orderDetailList[0]);
}
else if(this.goldmedal[i].status==4){
this.pending.push(this.goldmedal[i].orderDetailList[0]);
}
}
for (var i = 0; i < this.useralllist.length; i++) {
this.useralllist[i].orderNumber = this.goldmedal[i].orderNumber;
this.useralllist[i].status = this.goldmedal[i].status;
this.useralllist[i].addressUserName = this.goldmedal[i].addressUserName;
this.useralllist[i].phoneNumber = this.goldmedal[i].phoneNumber;
this.useralllist[i].salesAmount = this.goldmedal[i].salesAmount;
this.useralllist[i].lengthnum=this.goldmedal[i].orderDetailList.length
}
console.log(this.obligation)
if(this.userstype==1){
this.useralllist=this.obligation
}else if(this.userstype==2){
this.useralllist=this.pending
}
else if(this.userstype==0){
this.useralllist=this.allmessage
}
else if(this.userstype==3){
this.useralllist=this.receiving
}
},
//
async getwei(item) {
let postData = [];
// let oneProduct = {
// productName: item.productName,
// buyCount: item.buyCount,
// productId: item.productCode,
// payAmount: item.productPrice,
// memberId: item.memberId,
// phoneNumber: item.mobile,
// orderAddress: {
// addressPhoneNumber: orderAddress[0].recipientPhone,
// addressUserName: orderAddress[0].recipient,
// addressProvinceName: orderAddress[0].provinceName,
// addressCityName: orderAddress[0].cityName,
// addressCountyName: orderAddress[0].districtName,
// addressDetailInfo: orderAddress[0].detailAddress,
// },
// };
postData.push(oneProduct);
let res = await generateOrderWX(postData);
let userPayData = {
orderId: res.data,
userprice: item.salesAmount, //
userinformation:
item.addressUserName+ //
" " +
item.phoneNumber, //
wxPay: "weixin://wxpay/bizpayurl?pr=4RJbokxzz",
};
this.$router.push({
path: "/personal/userpay",
query: {
userPayData:JSON.stringify(userPayData),
},
});
},
selectGoods(item, index) {
this.activeIndex = index;
if(index==1){
}
if(index==2){
}
},
userfind(item){
console.log('--');
console.log(item.orderNumber);
this.$router.push({
usertiaozhuan(item){
this.$router.push({
path: "/myorder/usertion",
query: {
stype: item.status,
orderNumber:item.orderNumber
orderNumber: item.orderNumber,
},
});
},
usertwo(){
this.$router.push({
async canceldanhao(orderNumber) {
let data = await canceldanhao(this.userdata,orderNumber);
if (data) {
this.$message({
type: "warning",
message: "取消订单成功",
});
setTimeout(() => {
this.indet();
}, 500);
}
},
userpay(item, index) {
if (item.status == 0) {
this.canceldanhao(item.orderNumber);
}
if (item.buttontitle == "立即支付") {
this.$router.push({
path: "/personal/userpay",
query: {
stype: 1,
},
});
} else if (item.status == 3) {
this.$router.push({
path: "/productdetails/producted",
query: {
stype: 1,
productCode:item.productId
},
});
}
},
selectGoods(item, index) {
let list=[]
this.activeIndex = index;
if(item.title=='待付款'){
list=this.obligation
}
else if(item.title=='待收货'){
list=this.receiving
}else if(item.title=='待发货'){
this.useralllist=this.pending
list=this.pending
}
else if(item.title=='全部'){
list=this.alllist
}
console.log(this.useralllist);
for (var i = 0; i < this.useralllist.length; i++) {
this.useralllist[i].orderNumber =this.goldmedal[i].orderNumber;
this.useralllist[i].status = this.goldmedal[i].status
this.useralllist[i].addressUserName =this.goldmedal[i].addressUserName;
this.useralllist[i].phoneNumber = this.goldmedal[i].phoneNumber;
this.useralllist[i].salesAmount = this.goldmedal[i].salesAmount;
this.useralllist[i].lengthnum=this.goldmedal[i].orderDetailList.length
}
this.useralllist=list
},
userfind(item) {
if(item.status==0){
this.getwei(item);
}else{
this.$router.push({
path: "/myorder/usertion",
query: {
stype: item.status,
orderNumber: item.orderNumber,
},
});
}
},
usertwo() {
this.$router.push({
path: "/myorder/userrecord",
query: {
stype: 1,
},
});
},
},
};
</script>