Commit fbf3d5d3 authored by 5359's avatar 5359

招行扫码支付上线代码提交

parent 29a71db8
......@@ -8,7 +8,8 @@
"dev": "cross-env CONFIG_ENV=dev webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"build:uat": "cross-env CONFIG_ENV=uat node build/build.js",
"build": "cross-env CONFIG_ENV=dev node build/build.js",
"build:dev": "cross-env CONFIG_ENV=dev node build/build.js",
"build": "cross-env CONFIG_ENV=prod node build/build.js",
"clean": "rimraf www/*"
},
"dependencies": {
......@@ -120,4 +121,4 @@
}
}
}
}
}
\ No newline at end of file
<template>
<h-view style="overflow:auto;" title="招行扫码支付">
<h-view style="overflow:auto;" title="扫码支付">
<div class="page-box" style="padding: 20px; height: 100%">
<div style="height:12%; width:100%">
<div class="title" style="height:42%; width:100%">
......@@ -20,20 +20,20 @@
<div slot="name" class="text" style="width: 80%;font-size: 12px;">
<div class="cont-type" style="color: #000;font-size: 14px;font-weight:700">承租人:{{ item.customername }}
</div>
<div class="cont-type" style="color: #5a5959;font-size: 14px">代理店{{ item.dealername }}</div>
<div class="cont-type" style="color: #5a5959;font-size: 14px">经销商{{ item.dealername }}</div>
<div class="cont-type" style="color: #5a5959;font-size: 14px">产品名称:{{ item.modelname }}</div>
<div class="cont-type" style="color: #5a5959;font-size: 14px">合同号:{{ item.contractno }}</div>
<div class="cont-type" style="color: #5a5959;font-size: 14px">机号:{{ item.serialno }}</div>
<div class="cont-type" style="color: #5a5959;font-size: 14px">租金总额:{{ item.contractamt }}</div>
<div class="cont-type" style="color: #5a5959;font-size: 14px">合同总金额:{{ item.contractamt }}</div>
<div class="cont-type" style="color: #5a5959;font-size: 14px">租赁开始日:{{ item.leasebgndt }}</div>
<div class="cont-type" style="color: #5a5959;font-size: 14px">状态:<span
style="font-weight: 700;
color: rgba(198, 0, 0, 0.5);">{{ item.status }}</span></div>
</div>
<router-link :to="{ name: 'CmbPolyPayDetail', query: { contractno: item.contractno } }" class="more">
<router-link v-if="item.status == '还款中'" :to="{ name: 'CmbPolyPayDetail', query: { contractno: item.contractno } }" class="more">
<img src="../../../assets\image\right-arrow@2x.png" alt="">
</router-link>
<button @click="download(index)">账单下载</button>
<!--<button @click="download(item.contractno)">账单下载</button>-->
</article>
</div>
<div v-else-if="ListNum == 0" class="billList">
......@@ -79,8 +79,8 @@ export default {
let url = process.env.basePath + 'getCmbConList'
// console.log('请求数据')
let params = {
openId: 'oBdoRwAgUiwsQvNGYhBYks6JJLPE',
// openId: openId,
//openId: 'oBdoRwAgUiwsQvNGYhBYks6JJLPE',
openId: openId,
serialno: value,
}
// console.log("请求");
......@@ -100,7 +100,7 @@ export default {
},
download (contractno) {
// console.log('下载')
window.open('http://sign.hitachics.com:8091/report/ReportServer?reportlet=/report/PAR015.cpt&CONTRACTNO=' + contractno + '&format=PDF&extype=simple', '_system')
window.open('https://lease.hitachics.com:8990/ReportServer?reportlet=/report/HCLC_PDR003.cpt&CONTRACTNO=' + contractno + '&format=PDF&extype=simple', '_self')
},
detectSearchCondition () {
this.searchBill(window.localStorage.openId)
......
......@@ -4,13 +4,28 @@
<ul id="box" style="margin-bottom: 150px;">
<li v-for="(item, index) in Lists" :key="index" class="items">
<input v-model="checked[index]" class="" type="checkbox" @mouseup="onClickHander(index)">
<ul class="">
<li><span>期数:</span>{{ item.times }}</li>
<ul v-if="item.characterid_n == '首付款'" class="">
<li><span>期数:</span>{{ item.times_str }}</li>
<li><span>还款日期:</span>{{ item.recduedt_char }}</li>
<li><span>租金金额:</span>{{ item.recdueamt }}</li>
<li><span>违约金金额:</span>{{ item.ovducmpsamt }}</li>
<li><span>剩余应还金额:</span>{{ item.recdueamt_total_str }}</li>
<li><span>收款类别:</span>{{ item.characterid_n }}</li>
<!--<li><span>首期租赁费金额:</span>{{ item.recdueamt }}</li>-->
<li><span>剩余应还首期租赁费:</span>{{ item.rec_rental_str }}</li>
<!--<li><span>收款类别:</span>{{ item.characterid_n }}</li>-->
</ul>
<ul v-if="item.characterid_n == '租金'" class="">
<li><span>期数:</span>{{ item.times_str }}</li>
<li><span>还款日期:</span>{{ item.recduedt_char }}</li>
<!--<li><span>租金金额:</span>{{ item.recdueamt }}</li>-->
<!--<li><span>违约金金额:</span>{{ item.ovducmpsamt }}</li>-->
<li><span>剩余应还租金:</span>{{ item.rec_rental_str }}</li>
<li><span>剩余应还违约金:</span>{{ item.rec_ovdu_str }}</li>
<!--<li><span>收款类别:</span>{{ item.characterid_n }}</li>-->
</ul>
<ul v-if="item.characterid_n == '留购金'" class="">
<li><span>期数:</span>{{ item.times_str }}</li>
<li><span>还款日期:</span>{{ item.recduedt_char }}</li>
<!--<li><span>留购金金额:</span>{{ item.recdueamt }}</li>-->
<li><span>剩余应还留购金:</span>{{ item.rec_rental_str }}</li>
<!--<li><span>收款类别:</span>{{ item.characterid_n }}</li>-->
</ul>
</li>
</ul>
......@@ -24,6 +39,7 @@
oninvalid="setCustomValidity('请输入支付金额!');"
oninput="setCustomValidity('');" onfocus="this.placeholder=''" onblur="this.placeholder='请输入支付金额'">
</div>
<button class="button1" @click="download()">账单查询</button>
<button @click="pay">支付</button>
</div>
<!-- 二维码遮罩 -->
......@@ -41,8 +57,8 @@
<div class="ermBottom"><span>支持微信/支付宝/银联支付</span></div>
<div class="ermImage">
<img src="../../../assets\image\wechart.png" alt="">
<img src="../../../assets\image\wechart.png" alt="">
<img src="../../../assets\image\wechart.png" alt="">
<img src="../../../assets\image\alipay.png" alt="">
<img src="../../../assets\image\chinapay.png" alt="">
</div>
</div>
</div>
......@@ -68,13 +84,14 @@ export default {
counter: [10, 10, 1], // 前十次请求间隔,后十次请求间隔,间隔一/二
timer: '',
timer2: '',
firstTime: -1,
payTimes:[],
}
},
created () {
// 当数据拿到之后给checked初始值;
var name = this.$route.query.contractno
// console.log('传值', name)
// this.contractno = "L20RJ00313";
this.contractno = name
this.getData()
},
......@@ -99,6 +116,9 @@ export default {
// console.log('给checked初始值');
vm.checked[i] = false
vm.unchecked[i] = dataInfo.lists[i].select_flag === 'N'
if(dataInfo.lists[i].select_flag !== 'N'&&vm.firstTime===-1){
vm.firstTime=dataInfo.lists[i].times
}
}
vm.Lists = dataInfo.lists
} else {
......@@ -114,6 +134,40 @@ export default {
pay () {
let vm = this
let $input = document.getElementById('payamount')
//判断是否跳期
let jumpFlag=true
vm.payTimes=[]
this.checked.forEach((item, index) => {
if (item) {
if(vm.Lists[index].times===vm.firstTime){
jumpFlag=false
}
if(vm.Lists[index].characterid_n!=='留购金') {
vm.payTimes.push(vm.Lists[index].times)
}
}
})
if(jumpFlag){
vm.hlsPopup.showLongCenter('此前有未支付金额,请确认')
return
}
if(vm.payTimes.length>1){
jumpFlag=false
let i=vm.payTimes[0]
for(let j=0;j<vm.payTimes.length;j++){
if(vm.payTimes[j]!==i){
jumpFlag=true
break
}
i++
}
if(jumpFlag){
vm.hlsPopup.showLongCenter('此前有未支付金额,请确认')
return
}
}
// 点击支付之后显示二维码页面遮罩
if ($input.value <= this.total && $input.value != 0) {
// console.log($input.value);
......@@ -126,6 +180,7 @@ export default {
'contractno': this.contractno,
'amount': this.payamount,
}
vm.hlsPopup.showLoading('申请中!')
vm.$post(url, params).then(function (res) {
if (res.result.return_status == 'S') {
var dataInfo = res.result
......@@ -138,6 +193,7 @@ export default {
vm.total = 0
vm.showRecamt()
} else {
vm.hlsPopup.hideLoading()
vm.hlsPopup.showLongCenter(res.result.return_message)
}
})
......@@ -165,6 +221,7 @@ export default {
// console.log(res)
document.getElementById('qrcode').innerHTML = ''
if (res.respCode == 'SUCCESS') {
vm.hlsPopup.hideLoading()
let dataInfo = res.qrCode
let qrcode = new QRCode('qrcode',
{
......@@ -178,6 +235,7 @@ export default {
)
// console.log(qrcode)
} else {
vm.hlsPopup.hideLoading()
vm.hlsPopup.showLongCenter(res.respMsg)
}
}).then(function (res) {
......@@ -244,6 +302,7 @@ export default {
clearInterval(vm.timer)// 判断订单已支付暂停定时器
if (res.tradeState == 'S') {
vm.hlsPopup.showLongCenter('支付完成')
vm.close()
}
};
// 支付成功应该不需要前端主动关闭订单吧;
......@@ -333,6 +392,11 @@ export default {
}
}
},
download () {
// console.log('下载')
let contractno=this.contractno;
window.open(process.env.basePath+'https://lease.hitachics.com:8990/ReportServer?reportlet=/report/HCLC_PDR003.cpt&CONTRACTNO=' + contractno + '&format=PDF&extype=simple', '_self')
},
},
}
</script>
......@@ -340,12 +404,12 @@ export default {
.items {
margin-top: 10px;
display: flex;
height: 100px;
height: 75px;
width: 100%;
justify-content: space-between;
font-size: 12px;
//可选和不可选的项目样式可能要不一样
/*可选和不可选的项目样式可能要不一样*/
ul {
margin-right: 3%;
width: 87%;
......@@ -373,8 +437,7 @@ export default {
background-color: #ffffff;
}
//复选框样式
/*复选框样式*/
input[type="checkbox"] {
cursor: pointer;
position: relative;
......@@ -387,7 +450,7 @@ export default {
visibility: hidden;
}
//可选时选中和未选中两种状态
/*可选时选中和未选中两种状态*/
.check-box[type="checkbox"]:checked::after {
height: 18px;
line-height: 15px;
......@@ -412,7 +475,7 @@ export default {
border-radius: 50%;
}
//不可选的样式
/*不可选的样式*/
.uncheck-box[type="checkbox"]::after {
position: absolute;
background-color: #d9d9d9;
......@@ -470,7 +533,7 @@ export default {
width: 20%;
height: 25%;
//top: - 10 px;
left: 50%;
left: 42%;
transform: translateX(-50%);
font-size: 16px;
color: #ffffff;
......@@ -478,6 +541,22 @@ export default {
border: 1px solid rgb(0, 200, 0);
background-color: rgb(0, 200, 0);
}
.button1 {
position: relative;
/*margin-top: 3%;*/
left: 40%;
width: 20%;
height: 25%;
font-size: 16px;
color: #fff;
background-color: rgb(0, 200, 0);
border: 2px solid rgb(0, 200, 0);
border-radius: 5px;
padding-right: 1px;
padding-left: 1px;
}
}
.ermPage {
......@@ -546,7 +625,7 @@ export default {
.ermBottom {
font-weight: 700;
margin-top: 40%;
margin-top: 38%;
font-size: 16px;
text-align: center;
color: rgb(55, 69, 197);
......
......@@ -305,7 +305,7 @@ export default {
{
'functionId': 77,
'functionCode': '500',
'functionName': '招行聚合支付',
'functionName': '扫码支付',
'functionIcon': require('@/assets/home-manager/cmbpay_logo.png'),
'functionState': 'CmbPolyPay',
'prodFlag': 'Y',
......
......@@ -194,22 +194,21 @@ export default {
// onConfirm() {}
// });
// }
// if (!this.subscribe) {
// hlsPopup.showPopup({
// title: '提示',
// content: '未关注公众号,请先关注后再进入!',
// onConfirm: function () {
// },
// })
// } else {
window.localStorage.authFlag == 'Y' || data.functionState == 'UserRegister' || data.functionState == 'ChinaUnionPay' || data.functionState == 'CmbPolyPay' ? this.$router.push({ name: data.functionState }) : hlsPopup.showPopup({
if (!this.subscribe) {
hlsPopup.showPopup({
title: '提示',
content: '未关注公众号,请先关注后再进入!',
onConfirm: function () {
},
})
} else {
window.localStorage.authFlag == 'Y' || data.functionState == 'UserRegister' || data.functionState == 'ChinaUnionPay'? this.$router.push({ name: data.functionState }) : hlsPopup.showPopup({
title: '提示',
content: '当前用户未完成注册,请先注册!',
onConfirm: function () {
},
})
// }
}
},
// moreRecommend () {
// console.log('go moreRecommend')
......@@ -225,8 +224,7 @@ export default {
// vm.getWxUserInfo(window.localStorage.openId);
vm.hlsHttp.post(url, param).then(function (res) {
if (res.resultCode == '00') {
//window.localStorage.openId = res.result
window.localStorage.openId = 'oBdoRwAgUiwsQvNGYhBYks6JJLPE'
window.localStorage.openId = res.result
if (window.localStorage.openId) {
vm.getWxUserInfo(window.localStorage.openId)
vm.getUserInfo(window.localStorage.openId)
......@@ -258,6 +256,8 @@ export default {
if (res.rows.length > 0) {
var results = res.rows[0]
vm.authFlag = window.localStorage.authFlag = results.authFlag
}else{
vm.authFlag = window.localStorage.authFlag = 'N'
}
})
},
......
......@@ -3258,12 +3258,7 @@ fast-levenshtein@~2.0.4:
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
fastclick@^1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/fastclick/-/fastclick-1.0.6.tgz#161625b27b1a5806405936bda9a2c1926d06be6a"
integrity sha1-FhYlsnsaWAZAWTa9qaLBkm0Gvmo=
"fastclick@https://hel.hand-china.com/easyUI/fastclick.git":
fastclick@^1.0.6, "fastclick@https://hel.hand-china.com/easyUI/fastclick.git":
version "1.0.6"
resolved "https://hel.hand-china.com/easyUI/fastclick.git#8b4d3638e307b0c8bdb2ddae52598363701161e6"
......@@ -6591,11 +6586,6 @@ qr.js@0.0.0:
resolved "https://registry.yarnpkg.com/qr.js/-/qr.js-0.0.0.tgz#cace86386f59a0db8050fa90d9b6b0e88a1e364f"
integrity sha1-ys6GOG9ZoNuAUPqQ2baw6IoeNk8=
qrcodejs2@^0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/qrcodejs2/-/qrcodejs2-0.0.2.tgz#465afe5e39f19facecb932c11f7a186109146ae1"
integrity sha1-Rlr+Xjnxn6zsuTLBH3oYYQkUauE=
qs@6.7.0:
version "6.7.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment