1.对接站内信消息

yj-dev
杨杰 2 years ago
parent 328f958b30
commit 67bcc52646
  1. 6
      Utils/Api.js
  2. 227
      pages/order/confirmation.vue
  3. 92
      pages/user/news/news.vue

@ -187,6 +187,12 @@ export const getDiscountByCode = params => {
}
//站内信列表
export const queryMsgByList = params => {
return POST('GET', `${base}/bsMsg/queryMsgByList`, params).then(res => res.data);
}
// 根据优惠券查卡券
export const getCouponByDiscount = params => {
return POST('GET', `${base}/discount/getCouponByDiscount`, params).then(res => res.data);

@ -146,42 +146,33 @@
<view class="height50 width100 backcorfff">
<view class="width100 flleft fcor333 fontwig6 font16" style="padding-left: 4%;">
支付方式: <text class="jfrecharge" @click="jumpdeposits"
v-if="couponList.payType == 1 || couponList.payType == 2 || couponList.payType==3">积分充值</text>
</view>
</view>
<view class="width94 line1 mart5 marb5"></view>
<view class="height50 width100 backcorfff"
v-if="couponList.payType == 1 || couponList.payType == 2 || couponList.payType==3"
@tap="paytype='jinbi'">
<view class="width70 flleft fcor333 font16 text1" style="padding-left: 4%;">
积分支付<text class="font14 fcor666 margle">可用积分: {{user.gold}}</text>
</view>
<view class="width20 flright fotrt paddtright10 font15 fontwig6 fcor666 alijun"
style="align-items: center;">
<radio :checked="paytype=='jinbi'" color="#0083f5" />
支付方式
<!-- : <text class="jfrecharge" @click="jumpdeposits"
v-if="couponList.payType == 1 || couponList.payType == 2 || couponList.payType==3">积分充值</text> -->
</view>
</view>
<!-- <view class="width94 line1 mart5 marb5"></view> -->
<view class="width100" v-for="(item,index) in paytypeList" :key="index">
<view class="width94 line1 mart5 marb5"
v-if="couponList.payType == 1 || couponList.payType == 2 || couponList.payType==3"></view>
<view class="height50 width100 backcorfff" @tap="paytype='weixin'"
v-if="couponList.payType == 1 || couponList.payType==3 ">
v-if="item == 2"></view>
<view class="height50 width100 backcorfff" @tap="paytype='2'" v-if="item == 2">
<view class="width50 flleft fcor333 font16" style="padding-left: 4%;">
微信支付
</view>
<view class="width40 flright fotrt paddtright10 font15 fontwig6 fcor666 alijun"
style="align-items: center;">
<radio :checked="paytype=='weixin'" color="#0083f5" />
<radio :checked="paytype=='2'" color="#0083f5" />
</view>
</view>
<view class="width94 line1 mart5 marb5" v-if="couponList.payType == 1 || couponList.payType==3"></view>
<view class="height50 width100 backcorfff" @tap="paytype='gonghuika'" v-if="couponList.payType== 4">
<view class="width94 line1 mart5 marb5" v-if="item == 3"></view>
<view class="height50 width100 backcorfff" @tap="paytype='3'" v-if="item == 3">
<view class="width70 flleft fcor333 font16 text1" style="padding-left: 4%;">
汇联通工会卡<text class="font14 fcor666 margle">可用余额: {{tongCardPrice}}</text>
</view>
<view class="width20 flright fotrt paddtright10 font15 fontwig6 fcor666 alijun"
style="align-items: center;">
<radio :checked="paytype=='gonghuika'" @click="changeRiado()" color="#0083f5" />
<radio :checked="paytype=='3'" @click="changeRiado()" color="#0083f5" />
</view>
</view>
</view>
</view>
@ -253,7 +244,7 @@
hltUnionCardPay,
getRebateIntegral,
getHuiLianTongCardBalance,
findById
getThirdPartyByDetail
} from '../../Utils/Api.js';
import wybPopup from '../../components/wyb-popup/wyb-popup.vue';
import cjSlider from '../../components/cj-slider/cj-slider.vue';
@ -302,6 +293,7 @@
isDiscount: true,
availIntegal: '', //
isUse: true, //
rechargeDes: '', //
rebateIntegral: '', //
Integrastu: 1 //
};
@ -350,31 +342,28 @@
}
},
methods: {
//
findById() {
uni.showLoading({
title: '加载中'
})
let showType;
//
getThirdPartyByDetail() {
// #ifdef H5
showType = 2;
this.showType = 2;
// #endif
// #ifdef MP
showType = 1;
this.showType = 1;
// #endif
let datas = {
platformId: showType,
id: this.objectId
platformId: this.showType,
regionId: app.globalData.cityId,
productType: 4,
productId: this.couponList.couponSource
}
findById(datas).then(res => {
getThirdPartyByDetail(datas).then(res => {
if (res.return_code == '000000') {
uni.hideLoading();
this.rechargeDes = res.return_data;
this.paytypeList = res.return_data.productPayTypeString.split(',');
this.paytypeList = res.return_data.productPayType.split(',');
this.paytypeList = this.paytypeList.slice(0, this.paytypeList.length - 1);
let zkprice = parseFloat(res.return_data.integralDiscount / 100).toFixed(2);
let pprice = parseFloat(res.return_data.payPrice * 100).toFixed(0)
let payprice = parseFloat(res.return_data.payPrice * 100 * zkprice).toFixed(
let pprice = parseFloat(this.totalprice * 100).toFixed(0)
let payprice = parseFloat(this.totalprice * 100 * zkprice).toFixed(
0);
if (payprice > this.user.gold) {
this.availIntegal = this.user.gold;
@ -436,6 +425,7 @@
if (res.return_code == '000000') {
this.couponList = res.return_data;
this.paytheprice = res.return_data.discountPrice;
this.getThirdPartyByDetail();
}
})
},
@ -617,7 +607,7 @@
//
orderToPay(item) {
let that = this;
if (that.paytype == 'weixin') {
if (that.paytype == '2') {
// #ifdef H5
let params = {
"orderId": item.id,
@ -678,104 +668,7 @@
})
}
})
} else if (that.paytype == 'jinbi') {
if (that.user.gold < that.paytheprice * 100 && !this.couponList.buyPoints) {
uni.showToast({
icon: 'none',
title: '积分不足',
duration: 2000,
success() {
setTimeout(() => {
uni.navigateTo({
url: '../user/deposit/deposit'
})
}, 1000)
}
});
return;
}
if (that.user.gold < that.paytheprice * 100 && this.couponList.buyPoints) {
uni.showModal({
title: '积分支付',
content: '积分不足,请购买并兑换',
success: function(res) {
if (res.confirm) {
// #ifdef H5
let params = {
"orderId": item.id,
"openId": app.globalData.openId,
"orderScene": "GOODS_ORDER",
"openIdType": 2
}
// #endif
// #ifdef MP
let params = {
"orderId": item.id,
"openId": app.globalData.openId,
"orderScene": "GOODS_ORDER"
}
// #endif
orderToPay(params).then(res => {
if (res.return_code == '000000') {
// #ifdef MP
uni.showLoading({
title: '支付中...'
})
uni.requestPayment({
"appId": res.return_data.appId,
"nonceStr": res.return_data.nonceStr,
"package": res.return_data.package,
"paySign": res.return_data.sign,
"signType": "MD5",
"timeStamp": res.return_data.timeStamp,
success: function(res) {
uni.hideLoading();
uni.showToast({
title: '支付成功'
})
app.globalData.storeid = '';
app.globalData.storename = '';
uni.reLaunch({
url: '../pay/success/success?id=' +
that.couponId
});
},
fail: function(err) {
uni.hideLoading();
uni.navigateBack({})
},
});
// #endif
//
// #ifdef H5
//
that.payRequest(res);
// #endif
} else {
uni.showToast({
title: res.return_msg,
icon: 'none'
})
}
})
}
}
})
return;
}
if (!that.user.isSetPayPwd) {
uni.navigateTo({
url: '../login/updatePas/updatePas'
})
return;
}
that.$refs.paymentPassword.modalFun('show');
} else if (that.paytype == 'gonghuika') {
} else if (that.paytype == '3') {
if (that.tongCardPrice < that.paytheprice) {
uni.showToast({
icon: 'none',
@ -827,37 +720,37 @@
uni.showLoading({
title: '支付中...'
})
if (this.paytype == 'jinbi') {
let params = {
"orderId": this.orderId,
"password": this.PaymentPassword
}
orderToGoldPay(params).then(res => {
uni.hideLoading();
if (res.return_code == '000000') {
uni.showToast({
title: '支付成功'
})
app.globalData.storeid = '';
app.globalData.storename = '';
uni.reLaunch({
url: '../pay/success/success?id=' + this.couponId
});
return;
}
if (res.return_code == '102130') {
uni.navigateTo({
url: '../../login/updatePas/updatePas'
})
return;
}
uni.showToast({
title: res.return_msg,
icon: 'none'
})
})
return;
}
// if (this.paytype == 'jinbi') {
// let params = {
// "orderId": this.orderId,
// "password": this.PaymentPassword
// }
// orderToGoldPay(params).then(res => {
// uni.hideLoading();
// if (res.return_code == '000000') {
// uni.showToast({
// title: ''
// })
// app.globalData.storeid = '';
// app.globalData.storename = '';
// uni.reLaunch({
// url: '../pay/success/success?id=' + this.couponId
// });
// return;
// }
// if (res.return_code == '102130') {
// uni.navigateTo({
// url: '../../login/updatePas/updatePas'
// })
// return;
// }
// uni.showToast({
// title: res.return_msg,
// icon: 'none'
// })
// })
// return;
// }
let params = {
"orderId": this.orderId,

@ -2,36 +2,50 @@
<view>
<!-- 顶部类型 -->
<scroll-view scroll-x='true' class="srollview width100" :style="{top:headerTop}" scroll-with-animation>
<view class="conent" :class="[newstypeid == index ? 'activeconent' : 'frontconent']"
v-for="(item,index) in newsTyplist" :key="index">{{item}}</view>
<view class="conent" :class="[newstypeid == item.codeValue ? 'activeconent' : 'frontconent']"
v-for="(item,index) in newsTyplist" :key="index" @click="queryMsgByList(item.codeValue)">
{{item.codeName}}</view>
</scroll-view>
<view class="mart10 height70"></view>
<!-- 内容 -->
<view class="newscont width90 border-8r backcorfff mart20" v-for="(item,index) in newsTyplist" :key="index">
<view class="alijusstart mart10 margle10">
<view v-if="newsList == ''"
class="mart60 fotct font14 fcor666">
<image mode="widthFix" style="width: 70vw;" :src="imagewxUrl+imgadres"></image>
</view>
<view class="newscont width90 border-8r backcorfff mart20" v-for="(item,index) in newsList" :key="index">
<view class="alijusstart mart10 margle10" v-if="item.type == 1">
<image src="../../../static/img/cusservice.png" mode="widthFix" class="icon30"></image>
<text class="font18 margle" style="color: #0B1D83;">服务通知</text>
</view>
<view class="alijusstart mart10 margle10" v-if="item.type == 2">
<image src="../../../static/img/cusservice.png" mode="widthFix" class="icon30"></image>
<text class="font18 margle" style="color: #0B1D83;">交易信息</text>
</view>
<view class="alijusstart mart10 margle10" v-if="item.type == 3">
<image src="../../../static/img/cusservice.png" mode="widthFix" class="icon30"></image>
<text class="font18 margle" style="color: #0B1D83;">客服消息</text>
</view>
<view class="width90 line1 mart10"></view>
<!-- 服务通知 -->
<view class="width90 mart20" v-if="index != 1">
<view class="font18 fcor333">最新电影已上映快来抢购</view>
<image mode="widthFix" class="width100 mart10" src="../../../static/img/user/1.png"></image>
<view class="width90 mart20" v-if="item.type == 1">
<view class="font18 fcor333">{{item.title}}</view>
<image mode="widthFix" class="width100 mart10" :src="imageUrl+item.image"></image>
</view>
<!-- 交易信息 -->
<view class="width90 mart20" v-if="index == 1">
<view class="font18 fcor333">付款成功</view>
<view class="width90 mart20" v-if="item.type == 2">
<view class="font18 fcor333" >{{item.title}}</view>
<view class="mart10 border-r backcor9">
<view class="font20 colore95 fontwig6 paddtop10 fotct">¥9.58</view>
<view class="font20 colore95 fontwig6 paddtop10 fotct">¥{{item.content | msgFormat('price')}}</view>
<view class="width94 mart10 alijusstart font14">
<view class="fontwig6 fcor333 width30">交易对象</view>
<view class="width70 fcor666 fotrt">电信话费充值200元</view>
<view class="width70 fcor666 fotrt">{{item.content | msgFormat('objectName') }}</view>
</view>
<view class="width94 mart15 alijusstart font14">
<view class="fontwig6 fcor333 width30">交易时间</view>
<view class="width70 fcor666 fotrt">2022年9月30日</view>
<view class="width70 fcor666 fotrt">{{item.content | msgFormat('time') }}</view>
</view>
<view class="font16 fcor666 alijus mart10 fotct paddbotm20">查看详情<image
src="../../../static/img/jt.png" mode="widthFix" class="icon15 margle"></image>
@ -40,11 +54,11 @@
</view>
<!-- 客服消息 -->
<view class="width90 mart20" v-if="index == 2">
<view class="font18 fcor333">客服消息提醒</view>
<view class="width90 mart20" v-if="item.type == 3">
<view class="font18 fcor333">{{item.title}}</view>
<view class="mart10 border-r backcor9">
<view class="width92 fcor333 fontwig6 paddtop15">
你的问题我们已提交技术人员处理请耐心等候
{{item.content}}
</view>
<view class="font16 fcor666 alijus mart10 fotct paddbotm20">查看详情<image
@ -58,21 +72,65 @@
</template>
<script>
import {
queryMsgByList,
getDictionaryByCodeType
} from '../../../Utils/Api.js';
let app = getApp();
export default {
data() {
return {
newsTyplist: ['全部订单', '在线加油', '肯德基', '星巴克', '话费充值', '卡券订单'], //
imageUrl: app.globalData.imgUrl,
imagewxUrl: app.globalData.imageWxImg,
imgadres: 'noorder.png',
newsTyplist: [], //
newsList: [], //
newstypeid: 1, //id
headerTop: '0px'
}
},
filters: {
//
msgFormat: function(value,value1) {
let a = JSON.parse(value);
return a[value1];
}
},
onLoad() {
// #ifdef H5
this.headerTop = '44px';
// #endif
this.getDictionaryByCodeType();
},
methods: {
//
getDictionaryByCodeType() {
let datas = {
codeType: 'MSG_TYPE'
}
getDictionaryByCodeType(datas).then(res => {
if (res.return_code == '000000') {
this.newsTyplist = res.return_data;
this.newstypeid = res.return_data[0].codeValue;
this.queryMsgByList(res.return_data[0].codeValue);
}
})
},
//
queryMsgByList(item) {
this.newstypeid = item;
let datas = {
companyId: app.globalData.companyId,
type: item
}
queryMsgByList(datas).then(res => {
if (res.return_code == '000000' && res.return_data) {
this.newsList = res.return_data;
}else{
this.newsList = [];
}
})
}
}
}
</script>

Loading…
Cancel
Save