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 => { export const getCouponByDiscount = params => {
return POST('GET', `${base}/discount/getCouponByDiscount`, params).then(res => res.data); return POST('GET', `${base}/discount/getCouponByDiscount`, params).then(res => res.data);

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

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

Loading…
Cancel
Save