Commit 34309994d56d63f93e419210eb6065065a6b64de

Authored by 刘淇
1 parent 8ecf38fb

补缴 聚合 支付

src/components/orderPay.vue
... ... @@ -77,28 +77,28 @@ export default {
77 77 this.arrearageActFee = this.$route.query.arrearageActFee // 实收
78 78 this.clientBrowser = this.$utils.clientBrowser() //支付方式
79 79 this.paySrcType = this.$route.query.paySrcType // 实收
80   - // this.orderId = this.$route.query.ordeID
  80 + this.orderId = this.$route.query.ordeID
81 81  
82   - // console.log(this.orderId)
  82 + console.log(this.orderId)
83 83  
84 84 let me = this
85 85 let _order = []
86 86  
87 87  
88   - if (this.paySrcType == 103) {
89   - this.orderId = JSON.parse(sessionStorage.getItem('pageIds'))
90   - // this.orderId = JSON.parse(this.orderId)
91   - console.log(this.orderId)
92   - this.orderId.forEach(item => {
93   - _order.push({
94   - orderId: item
95   - })
96   - })
97   - this.orderId = []
98   - this.orderId = _order
99   - }else{
100   - this.orderId = sessionStorage.getItem('pageIds')
101   - }
  88 + // if (this.paySrcType == 103) {
  89 + // this.orderId = JSON.parse(sessionStorage.getItem('pageIds'))
  90 + // // this.orderId = JSON.parse(this.orderId)
  91 + // console.log(this.orderId)
  92 + // this.orderId.forEach(item => {
  93 + // _order.push({
  94 + // orderId: item
  95 + // })
  96 + // })
  97 + // this.orderId = []
  98 + // this.orderId = _order
  99 + // }else{
  100 + // this.orderId = sessionStorage.getItem('pageIds')
  101 + // }
102 102 console.log(this.orderId)
103 103 this.appOrderTimeout = this.$route.query.appOrderTimeout
104 104 // if (this.clientBrowser == "微信") {
... ... @@ -149,15 +149,15 @@ export default {
149 149 orderActFee: me.arrearageActFee, // 应收
150 150 orderBigType: '100', // 订单大类型 100:停车订单 200:充值订单 300:会员卡订单
151 151 orderTotalFee: me.arrearageActFee, // 实收
152   - payOrderType: 101, // 支付单来源 101:停车付款单 102:停车预付单 103:停车补缴单 104 共享车位 201 余额充值单 202 押金充值单 301 会员卡购买单 302 会员卡续费
  152 + payOrderType: this.paySrcType, // 支付单来源 101:停车付款单 102:停车预付单 103:停车补缴单 104 共享车位 201 余额充值单 202 押金充值单 301 会员卡购买单 302 会员卡续费
153 153 paySource: '3',
154 154 //支付单来源 101:停车付款单 102:停车预付单 103:停车补缴单 104 共享车位 201 余额充值单 202 押金充值单 301 会员卡购买单 302 会员卡续费
155   - paySrcType: 101,
  155 + paySrcType: this.paySrcType,
156 156 payType: this.$utils.clientBrowsePayType()==4?'36':'37',
157   - rltOrderId: sessionStorage.getItem('pageIds'),
  157 + rltOrderId: this.orderId,
158 158 sourceType: '3',
159 159 orgId: this.$utils.myOrgId,
160   - terminalSource: '7',
  160 + terminalSource: this.$utils.commonTerminalSource,
161 161 };
162 162 jsondata.sign = this.$utils.signObject(jsondata)
163 163  
... ...
src/components/parkRecord.vue
1 1 <template>
2 2 <div style="height: 100%">
3   - <div style="height: 100%">
  3 + <div style="height: 100%">
4 4 <ul class="tabWrap">
5 5 <li v-for="(i,index) in tabList"
6 6 :key="i.id"
... ... @@ -34,7 +34,8 @@
34 34 <p>停车时长:{{ $utils.dateFormat(i.parkDuration)}}</p>
35 35 <div class="out-wrap">
36 36 <p class="mon-wrap">¥{{(i.unPayFee/100).toFixed(2)}}</p>
37   - <p class="out-btn" @click="toPayCurrent(i,parkingData[0].parkDuration)" v-if="parkingData[0].parkDuration<=1800">申请离场</p>
  37 + <p class="out-btn" @click="toPayCurrent(i,parkingData[0].parkDuration)"
  38 + v-if="parkingData[0].parkDuration<=1800">申请离场</p>
38 39 <p class="out-btn" @click="toPayCurrent(i,parkingData[0].parkDuration)" v-else>出场缴费</p>
39 40 </div>
40 41 </div>
... ... @@ -114,26 +115,26 @@
114 115  
115 116  
116 117 <!--<div v-else class="noRecord">-->
117   - <!--暂无记录-->
  118 + <!--暂无记录-->
118 119 <!--</div>-->
119 120  
120 121 <!--<modal-alert ref="alert">-->
121   - <!--<div class="trave-tip-content txt-l" slot="content">-->
122   - <!--<div class="confirm-text">-->
123   - <!--<p>请至少选择一笔记录</p>-->
124   - <!--</div>-->
125   - <!--</div>-->
126   - <!--<span slot="button">知道了</span>-->
  122 + <!--<div class="trave-tip-content txt-l" slot="content">-->
  123 + <!--<div class="confirm-text">-->
  124 + <!--<p>请至少选择一笔记录</p>-->
  125 + <!--</div>-->
  126 + <!--</div>-->
  127 + <!--<span slot="button">知道了</span>-->
127 128 <!--</modal-alert>-->
128 129  
129 130  
130 131 <!--<modal-alert ref="zeroAlert">-->
131   - <!--<div class="trave-tip-content txt-l" slot="content">-->
132   - <!--<div class="confirm-text">-->
133   - <!--<p>停车15分钟内无需缴费,申请成功。</p>-->
134   - <!--</div>-->
135   - <!--</div>-->
136   - <!--<span slot="button">知道了</span>-->
  132 + <!--<div class="trave-tip-content txt-l" slot="content">-->
  133 + <!--<div class="confirm-text">-->
  134 + <!--<p>停车15分钟内无需缴费,申请成功。</p>-->
  135 + <!--</div>-->
  136 + <!--</div>-->
  137 + <!--<span slot="button">知道了</span>-->
137 138 <!--</modal-alert>-->
138 139  
139 140  
... ... @@ -141,46 +142,51 @@
141 142 </template>
142 143  
143 144 <script>
144   -import {parkRecordList, historyQuery, parkingQuery, appApplyParkOut, queryArrearageSta, doOrderCreate} from '@/api/parkRecord/parkRecord.js'
145   -import axios from 'axios'
146   -
  145 +import {
  146 + parkRecordList,
  147 + historyQuery,
  148 + parkingQuery,
  149 + appApplyParkOut,
  150 + queryArrearageSta,
  151 + doOrderCreate
  152 +} from "@/api/parkRecord/parkRecord.js";
  153 +import axios from "axios";
147 154 export default {
148   - name: 'parkRecord',
  155 + name: "parkRecord",
149 156 data() {
150 157 return {
151 158 tabList: [ // 切换数据
152   - { text: '在停缴费', id: 1 },
153   - { text: '欠费待缴', id: 2 },
  159 + { text: "在停缴费", id: 1 },
  160 + { text: "欠费待缴", id: 2 }
154 161 ],
155 162 carColor: 1,// 车牌颜色
156 163 currentTabActive: 0, // 显示当前哪个
157   - carNumber: '', // 车牌号码
  164 + carNumber: "", // 车牌号码
158 165 parkingData: [], // 在停数据
159 166 parkList: [], // 停车记录数据
160 167 historyList: [ // 历史欠费数据
161   - { money: 100, checked: false, id: 1 },
  168 + { money: 100, checked: false, id: 1 }
162 169 ],
163 170 allChecked: false, // 全部选择事件
164 171 allMoney: 0, // 欠费所有的费用
165 172 historyCheckedLen: 0, //选中了几笔交易
166 173 historyCheckedMon: 0, //选中了待缴纳的金额
167 174 orderIds: [] // 选中数据的订单 数组
168   - }
  175 + };
169 176 },
170 177 mounted() {
171   -
172 178 },
173 179 created() {
174 180 this.$Indicator.open({
175   - text: '加载中...',
176   - spinnerType: 'fading-circle'
177   - })
178   - this.carNumber = this.$route.query.carNumber // 获取车牌号
179   - this.carColor = this.$route.query.carNumberColor // 获取颜色 0:蓝牌;1:黄牌;2:白牌;3:黑牌;4:绿色
180   - this.currentTabActive = this.$route.query.parkFlag ? this.$route.query.parkFlag : 0
181   - console.log(this.currentTabActive)
182   - console.log(this.carNumber)
183   - this.parkRecordList(10)
  181 + text: "加载中...",
  182 + spinnerType: "fading-circle"
  183 + });
  184 + this.carNumber = this.$route.query.carNumber; // 获取车牌号
  185 + this.carColor = this.$route.query.carNumberColor; // 获取颜色 0:蓝牌;1:黄牌;2:白牌;3:黑牌;4:绿色
  186 + this.currentTabActive = this.$route.query.parkFlag ? this.$route.query.parkFlag : 0;
  187 + console.log(this.currentTabActive);
  188 + console.log(this.carNumber);
  189 + this.parkRecordList(10);
184 190 },
185 191 methods: {
186 192 parkRecordList(_parkState) { // 获取停车记录数据
... ... @@ -196,97 +202,83 @@ export default {
196 202 terminalSource: 7,
197 203 carNumber: this.carNumber,
198 204 carNumberColor: this.carColor,
199   - orgId:sessionStorage.getItem('orgId'),
200   -
201   - }
202   - jsondata.sign = this.$utils.signObject(jsondata)
203   -
  205 + orgId: sessionStorage.getItem("orgId")
  206 + };
  207 + jsondata.sign = this.$utils.signObject(jsondata);
204 208 // jsondata.sign = md5sign
205   - console.log('停车记录传参 ' + JSON.stringify(jsondata));
  209 + console.log("停车记录传参 " + JSON.stringify(jsondata));
206 210 parkRecordList(jsondata).then(response => {
207   - console.log(response)
208   - this.parkList = response.data.dataList
209   -
  211 + console.log(response);
  212 + this.parkList = response.data.dataList;
210 213 this.parkingData = this.parkList.filter(item => {
211   - return item.parkState == '10'
212   - })
  214 + return item.parkState == "10";
  215 + });
213 216 // if (this.parkingData.length > 0) {
214 217 // this.currentTabActive = 0
215 218 // }
216   - console.log(this.parkingData)
  219 + console.log(this.parkingData);
217 220 this.historyList = this.parkList.filter(item => {
218   - return item.parkState == '20'
219   - })
220   -
221   -
222   - if(this.parkingData.length==0 && this.historyList.length>0){
223   - this.currentTabActive = 1
  221 + return item.parkState == "20";
  222 + });
  223 + if (this.parkingData.length == 0 && this.historyList.length > 0) {
  224 + this.currentTabActive = 1;
224 225 }
225   -
226   - if(this.$route.query.parkFlag == 1){
227   - this.currentTabActive = 1
228   - this.checkedAll()
  226 + if (this.$route.query.parkFlag == 1) {
  227 + this.currentTabActive = 1;
  228 + this.checkedAll();
229 229 }
230   - console.log(this.historyList)
231   -
232   - this.$Indicator.close()
233   -
234   - })
  230 + console.log(this.historyList);
  231 + this.$Indicator.close();
  232 + });
235 233 },
236   -
237 234 tabHandle(index) { // tab 切换
238   - this.currentTabActive = index
239   - if(index==0){
  235 + this.currentTabActive = index;
  236 + if (index == 0) {
240 237 // this.parkRecordList(10)
241   -
242   - }else{
243   - this.allMoney = 0
244   - this.historyList.forEach( i => {
245   - this.allMoney += Number(i.unPayFee)
246   - })
  238 + } else {
  239 + this.allMoney = 0;
  240 + this.historyList.forEach(i => {
  241 + this.allMoney += Number(i.unPayFee);
  242 + });
247 243 // this.allChecked = false
248 244 // this.parkRecordList(10)
249 245 }
250 246 },
251 247 chooseHandle(i, index) { // 历史欠费单个选择事件
252   - i.checked = !i.checked
253   - let me = this
  248 + i.checked = !i.checked;
  249 + let me = this;
254 250 if (i.checked) { //单个选中
255   - me.historyCheckedLen++
  251 + me.historyCheckedLen++;
256 252 if (me.historyCheckedLen == this.historyList.length) {
257   - this.allChecked = true
258   -
  253 + this.allChecked = true;
259 254 }
260   - me.orderIds.push(i.orderId)
261   - me.historyCheckedMon += Number(i.unPayFee)
  255 + me.orderIds.push(i.orderId);
  256 + me.historyCheckedMon += Number(i.unPayFee);
262 257 } else { //单个不选中
263   - let _i = me.orderIds.indexOf(i.orderId)
264   - me.orderIds.splice(_i, 1)
265   - this.allChecked = false
266   - me.historyCheckedLen--
267   - me.historyCheckedMon -= Number(i.unPayFee)
  258 + let _i = me.orderIds.indexOf(i.orderId);
  259 + me.orderIds.splice(_i, 1);
  260 + this.allChecked = false;
  261 + me.historyCheckedLen--;
  262 + me.historyCheckedMon -= Number(i.unPayFee);
268 263 }
269   -
270 264 },
271 265 checkedAll() { // 全选选择事件
272   - this.allChecked = !this.allChecked
  266 + this.allChecked = !this.allChecked;
273 267 if (this.allChecked) { //全选
274   - let me = this
275   - this.historyList.forEach(function (item) {
  268 + let me = this;
  269 + this.historyList.forEach(function(item) {
276 270 item.checked = true;
277   - me.orderIds.push(item.orderId)
  271 + me.orderIds.push(item.orderId);
278 272 });
279   - this.historyCheckedMon = this.allMoney
280   - this.historyCheckedLen = this.historyList.length
281   -
  273 + this.historyCheckedMon = this.allMoney;
  274 + this.historyCheckedLen = this.historyList.length;
282 275 } else { //反选
283   - this.historyList.forEach(function (item) {
  276 + this.historyList.forEach(function(item) {
284 277 item.checked = false;
285   -
286 278 });
287   - this.historyCheckedLen = 0
288   - this.historyCheckedMon = 0
289   - this.orderIds = []
  279 + this.historyCheckedLen = 0;
  280 + this.historyCheckedMon = 0;
  281 + this.orderIds = [];
290 282 }
291 283 },
292 284 toPayCurrent(i, num) { // 缴纳本次在停费用
... ... @@ -297,14 +289,13 @@ export default {
297 289 salt: salt,
298 290 sign_type: "md5",
299 291 orderId: i.orderId,
300   - payOrderType: '101',
301   - terminalSource: '3',
302   - }
303   - params.sign = this.$utils.signObject(params)
  292 + payOrderType: "101",
  293 + terminalSource: "3"
  294 + };
  295 + params.sign = this.$utils.signObject(params);
304 296 appApplyParkOut(params).then(response => {
305   - console.log(response)
306   -
307   - if (response.code == '5005') {
  297 + console.log(response);
  298 + if (response.code == "5005") {
308 299 var salt = this.$utils.myCommonSalt(32);
309 300 var jsondata = {
310 301 app_id: this.$utils.myVarAppid,
... ... @@ -314,21 +305,21 @@ export default {
314 305 payType: this.$utils.clientBrowsePayType(),
315 306 appId: this.$utils.myVxAppId,
316 307 orderId: i.orderId,
317   - terminalSource: '7',
  308 + terminalSource: "7",
318 309 parkCode: i.parkCode,
319   - carNumber: this.carNumber,
320   - }
321   - jsondata.sign = this.$utils.signObject(jsondata)
  310 + carNumber: this.carNumber
  311 + };
  312 + jsondata.sign = this.$utils.signObject(jsondata);
322 313 parkingQuery(jsondata).then(result => {
323   - console.log(result)
324   - let res = result.data
325   - let _dis = res.discountFee
326   - let discountFee = _dis.slice(1, _dis.length - 1)
327   - console.log(i.orderId)
328   - sessionStorage.setItem('pageIds',i.orderId)
  314 + console.log(result);
  315 + let res = result.data;
  316 + let _dis = res.discountFee;
  317 + let discountFee = _dis.slice(1, _dis.length - 1);
  318 + console.log(i.orderId);
  319 + // sessionStorage.setItem("pageIds", i.orderId);
329 320 this.$router.push(
330 321 {
331   - path: 'orderPay',
  322 + path: "orderPay",
332 323 query: {
333 324 carColor: this.carColor,// 车牌颜色
334 325 arrearageTotalFee: res.orderTotalFee,// 应收
... ... @@ -336,32 +327,26 @@ export default {
336 327 arrearageActFee: res.orderFee,// 实收
337 328 carNumber: this.carNumber, // 车牌
338 329 paySrcType: 101, //支付的类型 101 是本次 103是历史欠费
339   - // ordeID: i.orderId, //支付的订单号
340   - appOrderTimeout: res.appOrderTimeout, // 超时描述
  330 + ordeID: i.orderId, //支付的订单号
  331 + appOrderTimeout: res.appOrderTimeout // 超时描述
341 332 }
342 333 }
343   - )
344   - })
345   -
  334 + );
  335 + });
346 336 } else {
347 337 //$('.dialog-out').show()
348   - this.$msgbox('提示', '停车15分钟内无需缴费,申请成功。')
  338 + this.$msgbox("提示", "停车15分钟内无需缴费,申请成功。");
349 339 }
350   -
351   - })
352   -
  340 + });
353 341 },
354 342 toPayHisroryPage() { // 缴纳历史费用
355 343 if (this.historyCheckedLen == 0) {
356   - this.$msgbox('提示', '请至少选择一条记录')
357   -
358   - return
  344 + this.$msgbox("提示", "请至少选择一条记录");
  345 + return;
359 346 }
360 347 var salt = this.$utils.myCommonSalt(32);
361   -
362   - var list = "[" + this.orderIds + "]"
363   - console.log(this.orderIds)
364   -
  348 + var list = "[" + this.orderIds + "]";
  349 + console.log(this.orderIds);
365 350 var jsondata = {
366 351 app_id: this.$utils.myVarAppid,
367 352 deviceInfo: this.$utils.myDeviceInfo,
... ... @@ -369,65 +354,75 @@ export default {
369 354 sign_type: "md5",
370 355 payType: this.$utils.clientBrowsePayType(),
371 356 // appId: this.$utils.myVxAppId,
372   - terminalSource: '7',
  357 + terminalSource: "7",
373 358 orderIds: JSON.stringify(this.orderIds)
374   - }
375   - jsondata.sign = this.$utils.signObject(jsondata)
376   - console.log(jsondata)
  359 + };
  360 + jsondata.sign = this.$utils.signObject(jsondata);
  361 + console.log(jsondata);
377 362 queryArrearageSta(jsondata).then(response => {
378   - console.log(response)
379   -
380   - this.doOrderCreate()
381   -
  363 + console.log(response.data);
  364 + let res = response.data
  365 + this.doOrderCreate(res.arrearageTotalFee,res.arrearageActFee,res.carArrearages[0].arrearageDiscFee);
382 366 // let res = response.data.carArrearages[0]
383 367 // console.log(res)
384   -
385 368 // this.orderIds = JSON.stringify(this.orderIds)
386 369 // sessionStorage.setItem('pageIds',this.orderIds)
387 370 // console.log(this.orderIds)
388   - // this.$router.push(
389   - // {
390   - // path: 'orderPay',
391   - // query: {
392   - // carColor: this.carColor,// 车牌颜色
393   - // arrearageTotalFee: res.arrearageTotalFee,// 应收
394   - // arrearageDiscFee: res.arrearageDiscFee,// 优惠
395   - // arrearageActFee: res.arrearageActFee,// 实收
396   - // carNumber: this.carNumber, // 车牌
397   - // paySrcType: 103, //支付的类型 101 是本次 103是历史欠费
398   - // // ordeID: this.orderIds, //支付的订单号
399   - // appOrderTimeout: '',
400   - // backDeveloperCode: response.data.inChargerCode
401   - // }
402   - // }
403   - // )
404   - })
  371 + });
405 372 },
406   - doOrderCreate(){
  373 + doOrderCreate(arrearageTotalFee,arrearageActFee,arrearageDiscFee) {
407 374 var salt = this.$utils.myCommonSalt(32);
408   -
409   - var list = "[" + this.orderIds + "]"
410   - console.log(this.orderIds)
411   -
  375 + // var list = "[" + this.orderIds + "]"
  376 + console.log(this.orderIds);
  377 + let carNumbers = [];
  378 + carNumbers.push(this.carNumber);
412 379 var jsondata = {
413 380 app_id: this.$utils.myVarAppid,
414 381 deviceInfo: this.$utils.myDeviceInfo,
415 382 salt: salt,
416 383 sign_type: "md5",
417   - payType: this.$utils.clientBrowsePayType(),
418   - // appId: this.$utils.myVxAppId,
419   - terminalSource: '7',
420   - orderIds: JSON.stringify(this.orderIds)
421   - }
422   - jsondata.sign = this.$utils.signObject(jsondata)
423   - console.log(jsondata)
  384 + orderBigType: 100,
  385 + payOrderType: 103,
  386 + terminalSource: this.$utils.commonTerminalSource,
  387 + parkOrderIds: this.orderIds,
  388 + operCode: "",
  389 + operName: "",
  390 + backDeveloperCode: "",
  391 + backPlNo: "",
  392 + orgId: this.$utils.myOrgId,
  393 + orderTotalFee: arrearageTotalFee,
  394 + orderActFee: arrearageActFee,
  395 + token: "",
  396 + backType: 2,
  397 + carNumberList: carNumbers,
  398 + payType: "12"
  399 + };
  400 + jsondata.sign = this.$utils.signObject(jsondata);
  401 + console.log(jsondata);
424 402 doOrderCreate(jsondata).then(response => {
425   -
426   - })
  403 + let res = response.data
  404 + this.$router.push(
  405 + {
  406 + path: "orderPay",
  407 + query: {
  408 + carColor: this.carColor,// 车牌颜色
  409 + arrearageTotalFee: arrearageTotalFee,// 应收
  410 + arrearageDiscFee: arrearageDiscFee,// 优惠
  411 + arrearageActFee: arrearageActFee,// 实收
  412 + carNumber: this.carNumber, // 车牌
  413 + paySrcType: 103, //支付的类型 101 是本次 103是历史欠费
  414 + ordeID: res.rltOrderId, //支付的订单号
  415 + appOrderTimeout: "",
  416 + // backDeveloperCode: response.data.inChargerCode
  417 + backDeveloperCode: ''
  418 + }
  419 + }
  420 + );
  421 + });
427 422 }
428 423 },
429 424 filters: {}
430   -}
  425 +};
431 426 </script>
432 427  
433 428 <style scoped lang="scss">
... ...
src/utils/utils.js
... ... @@ -168,6 +168,7 @@ export default {
168 168 myOrgId: sessionStorage.getItem('orgId'), // 归属地 赤峰id 10003 黄石 10079
169 169  
170 170 myOrgId: '10120', // 归属地 赤峰id 10003 黄石 10079
  171 + commonTerminalSource:7,
171 172  
172 173 myGetSign: function (objb) { // 获取签名
173 174 var compare = function (obj1, obj2) {
... ...