Merge remote-tracking branch 'origin/sit-Leung' into sit-jiamin-v2

This commit is contained in:
952108534@qq.com 2022-01-23 19:36:32 +08:00
commit 42e06ba213
17 changed files with 144 additions and 76 deletions

View File

@ -56,16 +56,18 @@ export const getleckCourse = (name, offset) => {
* 加入购物车 * 加入购物车
*/ */
export const postCourseId = (productCode,buyCount,memberId, mobile,productImg,productName,productPrice,specifications) => { export const postCourseId = (productCode, buyCount, memberId, mobile, productImg, productName, productPrice, specifications, leftAllotment, basePiont) => {
var data = { var data = {
buyCount:buyCount, buyCount:buyCount,
memberId: memberId, memberId: memberId,
mobile:mobile, mobile:mobile,
productCode:productCode, productCode:productCode,
productImg: productImg, productImg: productImg,
productName:productName, productName: productName,
productPrice:productPrice, productPrice: productPrice,
specifications:specifications specifications: specifications,
leftAllotment: leftAllotment,
basePiont: basePiont
} }
return fetch('/insertCartProductInfo', data,'POST') return fetch('/insertCartProductInfo', data,'POST')
} }
@ -77,6 +79,14 @@ export const postCourseId = (productCode,buyCount,memberId, mobile,productImg,pr
return fetch('getCartProductInfo?memberId='+id,data,'POST') return fetch('getCartProductInfo?memberId='+id,data,'POST')
} }
/**
* 支付监听
*/
export const monitorOrderNotify = (OrderNumber) => {
var data = {}
return fetch('monitorOrderNotify?OrderNumber=' + OrderNumber, data, 'POST')
}
/** /**
* 删除购物车 * 删除购物车
*/ */

View File

@ -4,9 +4,10 @@ body {
line-height: 1.5; line-height: 1.5;
color: #666; color: #666;
} }
/deep/.el-button--primary { .el-message-box .el-button--primary{
background-color: #e1001a; background-color: #e1001a !important;
color:#fff; color:#fff;
border:unset;
} }
.rc-menu--xs .rc-screen-reader{ .rc-menu--xs .rc-screen-reader{

View File

@ -433,7 +433,7 @@ ul li ol li em strong i {
text-align: center; text-align: center;
li{ li{
float: left; float: left;
cursor:pointer;
} }
img{ img{
width: 96px; width: 96px;
@ -464,6 +464,7 @@ ul li ol li em strong i {
margin: 0 auto; margin: 0 auto;
} }
.rc-buy{ .rc-buy{
cursor: pointer;
img{ img{
width: 96px; width: 96px;
height: 96px; height: 96px;

View File

@ -16,6 +16,9 @@
background:#f6f6f6; background:#f6f6f6;
} }
} }
.usercontshow.rc-max-width--xl{
min-height:72vh;
}
.useredit{ .useredit{
display: none; display: none;
} }
@ -44,12 +47,12 @@ justify-content: center;
align-items: center; align-items: center;
font-size: 16px; font-size: 16px;
color: #FFFFFF; color: #FFFFFF;
margin:0 auto;
} }
.rc-max-width--xl{ .rc-max-width--xl{
padding: 0px 20px 24px 20px; padding: 0px 20px 0px 20px;
min-height: 60vh;
.rc-cat{ .rc-cat{
margin-top: 20px; margin-top: 20px;
} }
@ -121,12 +124,17 @@ color: #FFFFFF;
{ {
.rc-max-width--xl{ .rc-max-width--xl{
margin-bottom: 80px;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between justify-content: space-between
} }
.usercontshow{
min-height: 20vh;
margin-bottom: 2rem;
padding-left:.5rem;
padding-right:.5rem;
}
.rc-button{ .rc-button{
display: none; display: none;
@ -134,8 +142,8 @@ display: none;
.usercontend { .usercontend {
display:inline-block; display:inline-block;
width: 48%; width: 48%;
margin-top: 40px; //margin-bottom: 40px;
padding: 24px 20px; //padding: 24px 20px;
} }
.online{ .online{
@ -230,7 +238,7 @@ display: none;
-webkit-line-clamp: 2; -webkit-line-clamp: 2;
line-clamp: 2; line-clamp: 2;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
font-size: 20px; font-size: .875rem;
color: #333333; color: #333333;
} }
@ -253,19 +261,13 @@ display: none;
} }
.userdit{ .userdit{
width: 45%; width: 48%;
height: 164px; height: 164px;
display: inline-block; display: inline-block;
height: 164px;
border: 1px solid #D7D7D7;
border-radius: 3px;
margin-top: 65px;
box-sizing: border-box; box-sizing: border-box;
border: 1px solid #D7D7D7; border: 1px solid #D7D7D7;
border-radius: 3px; border-radius: 3px;
position: relative; position: relative;
height: 164px;
box-sizing: border-box;
margin-left: 20px; margin-left: 20px;
} }

View File

@ -107,7 +107,7 @@
width: 96px; width: 96px;
height: 96px; height: 96px;
display: block; display: block;
object-fit:contain;
} }
} }

View File

@ -26,7 +26,10 @@ export default {
'/personal/usermember/':'会员权益', '/personal/usermember/':'会员权益',
'/personal/integral/':'积分明细', '/personal/integral/':'积分明细',
'/personal/settlement/':'订单确认', '/personal/settlement/':'订单确认',
'/myorder/userrecord/':'购物车' '/personal/useraddress/':'我的订单',
'/myorder/userrecord/':'购物车',
'/useraddress/openaddress/':'收货地址',
'/personal/discount/':'优惠券'
}, },
}; };
}, },

View File

@ -8,7 +8,7 @@
<div class="cart-list"> <div class="cart-list">
<div class="header"> <div class="header">
<div class="list-left"> <div class="list-left">
<label class="check-label"> <label class="check-label" style="visibility: hidden;">
<input type="checkbox" v-model="checkAll" /> <input type="checkbox" v-model="checkAll" />
</label> </label>
<span class="name">商品</span> <span class="name">商品</span>
@ -22,7 +22,7 @@
<div class="header_ph"> <div class="header_ph">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<div class="list-left"> <div class="list-left" style="visibility: hidden;">
<label class="check-label"> <label class="check-label">
<input type="checkbox" v-model="checkAll" /> <input type="checkbox" v-model="checkAll" />
</label> </label>
@ -76,7 +76,7 @@
<div class="rc-footera"> <div class="rc-footera">
<div class="rc-foote"> <div class="rc-foote">
<div class="rc-shop"> <div class="rc-shop">
<label> <label style="visibility: hidden;">
<input type="checkbox" v-model="checkAll" /> <input type="checkbox" v-model="checkAll" />
全选 全选
</label> </label>

View File

@ -4,6 +4,7 @@
<Myheader></Myheader> <Myheader></Myheader>
<!-- <tabs></tabs> --> <!-- <tabs></tabs> -->
<div class="rc-top"></div> <div class="rc-top"></div>
<tabs :crumbs="crumbs"></tabs>
<div class="rc-usermain"> <div class="rc-usermain">
<div class="rc rc-column"> <div class="rc rc-column">
@ -29,7 +30,12 @@
<div class="rc-contair"> <div class="rc-contair">
<div class="rc-left" ref="userleft" id="userleft" :style='usercolor'> <div class="rc-left" ref="userleft" id="userleft" :style='usercolor'>
<div> <div>
<i></i><span>{{item.couponTypeId=='4'?parseInt(((item.discount) *10))+ '折':item.couponAmount}}</span> <i v-if="(item.couponTypeId!='4' && item.couponAmount>0)">
</i>
<span>
{{item.couponTypeId=='4'?parseInt(((item.discount)*10))+'折':item.couponAmount}}
</span>
</div> </div>
<strong>{{ item.couponName }}</strong> <strong>{{ item.couponName }}</strong>
</div> </div>
@ -59,14 +65,22 @@
<script> <script>
import {allConfig,getdraw} from "../../ajax/getData"; import {allConfig,getdraw} from "../../ajax/getData";
// import tabs from "@/components/tabs.vue"; import tabs from "@/components/tabs.vue";
export default { export default {
// middleware: 'metaTitle', // middleware: 'metaTitle',
// // middleware: 'metaTitle', // // middleware: 'metaTitle',
// meta: {title: ''}, // meta: {title: ''},
data() { data() {
return { return {
crumbs:[
{
path:'/personal/mypersonal/',
},
{
path:'/personal/discount/',
}
],
userload: true, userload: true,
pastdue: false, pastdue: false,
unused: false, unused: false,
@ -209,6 +223,7 @@ export default {
}, },
components: { components: {
Myheader, Myheader,
tabs
}, },
}; };
import Myheader from "~/components/header.vue"; import Myheader from "~/components/header.vue";

View File

@ -3,7 +3,7 @@
<Myheader></Myheader> <Myheader></Myheader>
<div class="rc-top"></div> <div class="rc-top"></div>
<tabs :crumbs="crumbs"></tabs> <tabs :crumbs="crumbs"></tabs>
<div class="rc-max-width--xl rc-padding-y--md"> <div class="rc-max-width--xl rc-padding-bottom--md">
<ul> <ul>
<li v-for="(item,index) in userrecord" :key="index"> <li v-for="(item,index) in userrecord" :key="index">
{{item.title}} {{item.title}}

View File

@ -189,6 +189,7 @@ ul li ol li em strong i {
width: 96px; width: 96px;
height: 96px; height: 96px;
display: block; display: block;
object-fit:contain;
} }
} }

View File

@ -92,7 +92,7 @@
<em>{{ sumPrice }}</em> <em>{{ sumPrice }}</em>
</div> </div>
<div style="font-weight: bold"> <div style="font-weight: bold">
<span @click="jiesuan()">提交订单</span> <span @click="preJiesuan()">提交订单</span>
</div> </div>
</div> </div>
</div> </div>
@ -280,6 +280,19 @@ export default {
this.dialogAdd = parm; this.dialogAdd = parm;
this.getAddressList(); this.getAddressList();
}, },
preJiesuan(){
let checkResult=true;
if(this.useraddress.length<=0) {
this.$message({
type: "error",
message: '请先添加收件信息',
});
checkResult=false;
}
if(checkResult)
this.jiesuan();
},
async jiesuan() { async jiesuan() {
let orderAddress = this.useraddress.filter((item) => item.isDefault); let orderAddress = this.useraddress.filter((item) => item.isDefault);
let postData = []; let postData = [];

View File

@ -2,6 +2,7 @@
<div> <div>
<Myheader></Myheader> <Myheader></Myheader>
<div class="rc-top"></div> <div class="rc-top"></div>
<tabs :crumbs="crumbs"></tabs>
<div class="online bold"></div> <div class="online bold"></div>
<div class="usercontshow rc-max-width--xl"> <div class="usercontshow rc-max-width--xl">
<div class="rc-headera"> <div class="rc-headera">
@ -137,11 +138,20 @@
<script> <script>
import Myheader from "~/components/header.vue"; import Myheader from "~/components/header.vue";
import MyFooter from '~/components/rc-footer.vue' import MyFooter from '~/components/rc-footer.vue';
import tabs from "~/components/tabs.vue";
import { customerorders, userindent, canceldanhao,generateOrderWX } from "../../ajax/getData"; import { customerorders, userindent, canceldanhao,generateOrderWX } from "../../ajax/getData";
export default { export default {
data() { data() {
return { return {
crumbs:[
{
path:'/personal/mypersonal/',
},
{
path:'/personal/useraddress/',
}
],
activeIndex: 0, activeIndex: 0,
userstype:'', userstype:'',
alllist:[], alllist:[],
@ -280,7 +290,8 @@ export default {
}, },
components: { components: {
Myheader, Myheader,
MyFooter MyFooter,
tabs
}, },
methods: { methods: {
async indet(mobile, stype) { async indet(mobile, stype) {
@ -297,7 +308,6 @@ export default {
this.alllist.push(this.goldmedal[i].orderDetailList[0]) this.alllist.push(this.goldmedal[i].orderDetailList[0])
this.allmessage.push(this.goldmedal[i].orderDetailList[0]) this.allmessage.push(this.goldmedal[i].orderDetailList[0])
if(this.goldmedal[i].status==0){ if(this.goldmedal[i].status==0){
console.log("+++++++++++++");
this.obligation.push(this.goldmedal[i].orderDetailList[0]); this.obligation.push(this.goldmedal[i].orderDetailList[0]);
}else if(this.goldmedal[i].status==1){ }else if(this.goldmedal[i].status==1){
this.receiving.push(this.goldmedal[i].orderDetailList[0]); this.receiving.push(this.goldmedal[i].orderDetailList[0]);
@ -389,7 +399,10 @@ export default {
this.receiving=[]; this.receiving=[];
this.pending=[]; this.pending=[];
}, 500); }, 500);
} else if(item.status == 1) { //
} }
if (item.buttontitle == "立即支付") { if (item.buttontitle == "立即支付") {
this.$router.push({ this.$router.push({
path: "/personal/userpay", path: "/personal/userpay",

View File

@ -87,11 +87,12 @@ import Myheader from "~/components/header.vue";
import tabs from "@/components/tabs.vue"; import tabs from "@/components/tabs.vue";
import vueQr from 'vue-qr' import vueQr from 'vue-qr'
import { generateOrderAlipay, updateOrderWX,repayOrde } from "../../ajax/getData"; import { generateOrderAlipay, updateOrderWX, monitorOrderNotify } from "../../ajax/getData";
export default { export default {
data() { data() {
return { return {
activeIndex: 0, activeIndex: 0,
paymentTimer:undefined,
isSucess: false, isSucess: false,
dialogSuccess: false, dialogSuccess: false,
paytype: "微信", paytype: "微信",
@ -132,9 +133,13 @@ export default {
methods: { methods: {
closeDialogSuccess() { closeDialogSuccess() {
this.qrtext = ''; this.qrtext = '';
// this.$router.push({ this.$router.push({
// path: "/index", path: "/myorder/usertion",
// }); query:{
stype:1,
orderNumber:this.userPayData.orderId
}
});
}, },
closeDialogFail() { closeDialogFail() {
this.qrtext = ''; this.qrtext = '';
@ -169,16 +174,18 @@ export default {
// //
async payOrderWX() { async payOrderWX() {
let res = await updateOrderWX(this.userPayData.orderId); let res = await monitorOrderNotify(this.userPayData.orderId);
if (res.success) { if (res.success) {
this.qrtext = '成功加入群的二维码'; this.qrtext = '成功加入群的二维码';
this.dialogSuccess = true; this.dialogSuccess = true;
} else if (res.fail) { } else if (res.fail) {
this.dialogFail = true; this.dialogFail = true;
}else{ }else{
this.payOrderWX() let _self = this;
this.paymentTimer = setTimeout(function(){
_self.payOrderWX()
},5000);
} }
}, },
}, },

View File

@ -290,6 +290,8 @@ export default {
let mainProductCode = context.route.query.mainProductCode; let mainProductCode = context.route.query.mainProductCode;
let productCode = context.route.query.productCode; let productCode = context.route.query.productCode;
let activeIndexa = 0; let activeIndexa = 0;
if(!productCode || productCode.length<=0)
throw new Error('Empty product code');
productCode = productCode.split(","); productCode = productCode.split(",");
// console.log(this.productCode); // console.log(this.productCode);
if(isRxGoods){ if(isRxGoods){
@ -387,20 +389,6 @@ export default {
catimage: require("../../assets/image/unused.png"), catimage: require("../../assets/image/unused.png"),
}, },
], ],
fixedlist: [
{
title: "购物车",
catimage: require("../../assets/buy.png"),
},
{
title: "在线客服",
catimage: require("../../assets/service.png"),
},
{
title: "营养专家",
catimage: require("../../assets/consult.png"),
},
],
newlist: [ newlist: [
{ {
@ -581,9 +569,10 @@ export default {
this.usermessage.data.mobile, this.usermessage.data.mobile,
item.picFile, item.picFile,
item.productName, item.productName,
item.basePrice, item.ecPrice,
item.specifications, item.specifications,
item.leftAllotment item.leftAllotment,
item.basePoint
); );
if (data) { if (data) {
this.productlist = data; this.productlist = data;
@ -611,9 +600,11 @@ export default {
productName: item.productName, productName: item.productName,
productImg: item.picFile, productImg: item.picFile,
specifications: item.specifications, specifications: item.specifications,
buyCount: item.pcs, leftAllotment: item.leftAllotment,
memberId: "884258", basePoint: item.basePoint,
mobile: "13480231061", buyCount: this.sales_num,
memberId: "",
mobile: "",
checked: true, checked: true,
}, },
]; ];

View File

@ -21,7 +21,7 @@
<div class="rc-max-width--xl rc-people rc-useaddress"> <div class="rc-max-width--xl rc-people rc-useaddress">
<span>详细地址:</span> <span>详细地址:</span>
<input type="text" placeholder="小区、门牌号等" class="userinput" v-model="alladdress"> <input type="text" placeholder="小区、门牌号等" class="userinput" v-model="alladdress">
<textarea rows="10" cols="30" placeholder="请输入详细地址"> <textarea rows="10" cols="30" placeholder="请输入详细地址" v-model="alladdress">
</textarea> </textarea>
</div> </div>
@ -101,10 +101,8 @@ export default {
handleClose1(){ handleClose1(){
this.dialogInfo1 = false this.dialogInfo1 = false
}, },
register(){ register(){
console.log(this.tel) if (this.alladdress==='') {
if ( this.alladdress==='') {
this.$message({ this.$message({
type: 'warning', type: 'warning',
message: '请输入详细地址 ' message: '请输入详细地址 '

View File

@ -2,6 +2,7 @@
<div> <div>
<Myheader></Myheader> <Myheader></Myheader>
<div class="rc-top"></div> <div class="rc-top"></div>
<tabs :crumbs="crumbs"></tabs>
<div class="online bold"></div> <div class="online bold"></div>
<div class="usercontshow rc-max-width--xl"> <div class="usercontshow rc-max-width--xl">
<div class="usercontend" v-for="(item, index) in list" :key="index"> <div class="usercontend" v-for="(item, index) in list" :key="index">
@ -67,10 +68,19 @@
<script> <script>
import Myheader from '~/components/header.vue' import Myheader from '~/components/header.vue'
import MyFooter from '~/components/rc-footer.vue' import MyFooter from '~/components/rc-footer.vue'
import tabs from "~/components/tabs.vue";
import { selectaddress,editupdate,editdelete} from "../../ajax/getData"; import { selectaddress,editupdate,editdelete} from "../../ajax/getData";
export default { export default {
data() { data() {
return { return {
crumbs:[
{
path:'/personal/mypersonal/',
},
{
path:'/useraddress/openaddress/',
}
],
chosenAddressId: "1", chosenAddressId: "1",
checked: true, checked: true,
userid: null, userid: null,
@ -176,7 +186,8 @@ export default {
}, },
components: { components: {
Myheader, Myheader,
MyFooter MyFooter,
tabs
}, },
mounted() { mounted() {
@ -191,6 +202,5 @@ export default {
</script> </script>
<style lang="less" scoped > <style lang="less" scoped >
@import url("../../assets/css/global.less");
@import url("../../assets/css/openaddress.less"); @import url("../../assets/css/openaddress.less");
</style> </style>

View File

@ -221,6 +221,7 @@
</div> </div>
</div> </div>
<div class="rc-button"> <div class="rc-button">
<span @click="openclose()">取消</span> <span @click="openclose()">取消</span>
<em @click="openclose()">确认</em> <em @click="openclose()">确认</em>
@ -305,10 +306,12 @@
</div> </div>
</div> </div>
</div> </div>
<!--
<div class="rc-button rc-padding-bottom--md"> <div class="rc-button rc-padding-bottom--md">
<span @click="openclose()">取消</span> <span @click="openclose()">取消</span>
<em @click="openclose()">确认</em> <em @click="openclose()">确认</em>
</div> </div>
-->
</el-dialog> </el-dialog>
</div> </div>
<!-- rc-main end --> <!-- rc-main end -->