Commit 511a854145dd251a6d7e8453e0ac04fe8512947b
1 parent
1428b061
Exists in
master
and in
1 other branch
fix: 下单加保险
Showing
5 changed files
with
41 additions
and
5 deletions
Show diff stats
common/api.js
| @@ -165,6 +165,7 @@ module.exports = (vm) => { | @@ -165,6 +165,7 @@ module.exports = (vm) => { | ||
| 165 | getFreightRisk: params => vm.$u.http.get( freightAPI + '/freightRiskException/page', {params}), // 风控异常 | 165 | getFreightRisk: params => vm.$u.http.get( freightAPI + '/freightRiskException/page', {params}), // 风控异常 |
| 166 | riskAppeal: params => vm.$u.http.post( freightAPI + '/freightRiskException/complaint', params), // 风控异常-申诉 | 166 | riskAppeal: params => vm.$u.http.post( freightAPI + '/freightRiskException/complaint', params), // 风控异常-申诉 |
| 167 | maModifyRemark: params => vm.$u.http.post( freightAPI + '/freightOrder/maModifyRemark', params), // 修改备注 | 167 | maModifyRemark: params => vm.$u.http.post( freightAPI + '/freightOrder/maModifyRemark', params), // 修改备注 |
| 168 | + insure: params => vm.$u.http.post( freightAPI + '/freightOrder/insure', params), // 购买保险 | ||
| 168 | freightInsuranceList: params => vm.$u.http.get( freightAPI + '/freightInsuranceProgram/getList', {params}), | 169 | freightInsuranceList: params => vm.$u.http.get( freightAPI + '/freightInsuranceProgram/getList', {params}), |
| 169 | }, | 170 | }, |
| 170 | freightMaRecord: { | 171 | freightMaRecord: { |
pages/order/add.vue
| @@ -532,6 +532,7 @@ export default { | @@ -532,6 +532,7 @@ export default { | ||
| 532 | }, | 532 | }, |
| 533 | buyInsurance() { | 533 | buyInsurance() { |
| 534 | uni.$once('buy-insurance', insuranceForm => { | 534 | uni.$once('buy-insurance', insuranceForm => { |
| 535 | + uni.navigateBack(); | ||
| 535 | this.form = { | 536 | this.form = { |
| 536 | ...this.form, | 537 | ...this.form, |
| 537 | ...insuranceForm, | 538 | ...insuranceForm, |
pages/order/card.vue
| @@ -68,7 +68,14 @@ | @@ -68,7 +68,14 @@ | ||
| 68 | <view class="more-action"> | 68 | <view class="more-action"> |
| 69 | <view class="view" v-if="$permission('/freightOrder/add')" @tap="againOne"> 再来一单 </view> | 69 | <view class="view" v-if="$permission('/freightOrder/add')" @tap="againOne"> 再来一单 </view> |
| 70 | <view class="view" v-if="$permission('/freightOrder/delete') && ['CANCEL'].includes(item.status)" @tap="deleteOrder"> 删除订单 </view> | 70 | <view class="view" v-if="$permission('/freightOrder/delete') && ['CANCEL'].includes(item.status)" @tap="deleteOrder"> 删除订单 </view> |
| 71 | - <view class="view" v-if="$permission('/freightOrder/cancel') && ['WAIT_CONFIRM', 'WAIT_ACCEPT', 'WAIT_DEPART'].includes(item.status)" @tap="cancelOrder"> 取消订单 </view> | 71 | + <view |
| 72 | + class="view" | ||
| 73 | + v-if="$permission('/freightOrder/cancel') && ['WAIT_CONFIRM', 'WAIT_DEPART', 'WAIT_ACCEPT'].includes(item.status) && !['SUCCESS'].includes(item.insuranceStatus)" | ||
| 74 | + @tap="buyInsurance" | ||
| 75 | + > | ||
| 76 | + 购买保险 | ||
| 77 | + </view> | ||
| 78 | + <view class="view" v-if="$permission('/freightOrder/add') && ['WAIT_CONFIRM', 'WAIT_ACCEPT', 'WAIT_DEPART'].includes(item.status)" @tap="cancelOrder"> 取消订单 </view> | ||
| 72 | </view> | 79 | </view> |
| 73 | </template> | 80 | </template> |
| 74 | <view class="button"> | 81 | <view class="button"> |
| @@ -78,6 +85,7 @@ | @@ -78,6 +85,7 @@ | ||
| 78 | </view> | 85 | </view> |
| 79 | </view> | 86 | </view> |
| 80 | </zb-tooltip> | 87 | </zb-tooltip> |
| 88 | + | ||
| 81 | <view v-if="['WAIT_ACCEPT', 'WAIT_DEPART'].includes(item.status) && $permission('/freightOrder/depart')" class="button primary" @click.stop="start">确认发车</view> | 89 | <view v-if="['WAIT_ACCEPT', 'WAIT_DEPART'].includes(item.status) && $permission('/freightOrder/depart')" class="button primary" @click.stop="start">确认发车</view> |
| 82 | <view v-if="['TRANSFER'].includes(item.status) && $permission('/freightOrder/arrive')" class="button primary" @click.stop="arrival">确认到达</view> | 90 | <view v-if="['TRANSFER'].includes(item.status) && $permission('/freightOrder/arrive')" class="button primary" @click.stop="arrival">确认到达</view> |
| 83 | <view v-if="item.status === 'COMPLETED' && !item.receiptAttachment && $permission('/freightOrder/modifyReceiptAttachment')" class="button primary" @click.stop="uploadReceipt" | 91 | <view v-if="item.status === 'COMPLETED' && !item.receiptAttachment && $permission('/freightOrder/modifyReceiptAttachment')" class="button primary" @click.stop="uploadReceipt" |
| @@ -140,6 +148,9 @@ export default { | @@ -140,6 +148,9 @@ export default { | ||
| 140 | this.visible = false; | 148 | this.visible = false; |
| 141 | this.$emit('delete', this.item.code); | 149 | this.$emit('delete', this.item.code); |
| 142 | }, | 150 | }, |
| 151 | + buyInsurance() { | ||
| 152 | + this.$emit('buyInsurance', this.item.code, this.item); | ||
| 153 | + }, | ||
| 143 | start() { | 154 | start() { |
| 144 | this.$emit('start', this.item.code); | 155 | this.$emit('start', this.item.code); |
| 145 | }, | 156 | }, |
pages/order/index.vue
| @@ -43,6 +43,7 @@ | @@ -43,6 +43,7 @@ | ||
| 43 | @start="toStartCar" | 43 | @start="toStartCar" |
| 44 | @arrival="toArrivalCar" | 44 | @arrival="toArrivalCar" |
| 45 | @qrShow="qrCodeShow" | 45 | @qrShow="qrCodeShow" |
| 46 | + @buyInsurance="buyInsurance" | ||
| 46 | :key="index" | 47 | :key="index" |
| 47 | :item="item" | 48 | :item="item" |
| 48 | @tap="toDetail(item.code)" | 49 | @tap="toDetail(item.code)" |
| @@ -306,7 +307,6 @@ export default { | @@ -306,7 +307,6 @@ export default { | ||
| 306 | this.loading = false; | 307 | this.loading = false; |
| 307 | if (res2.success) { | 308 | if (res2.success) { |
| 308 | this.poster = this.getPoster(res.result, data, res2.result); | 309 | this.poster = this.getPoster(res.result, data, res2.result); |
| 309 | - console.info(this.poster); | ||
| 310 | } | 310 | } |
| 311 | }) | 311 | }) |
| 312 | .catch(e => { | 312 | .catch(e => { |
| @@ -318,6 +318,31 @@ export default { | @@ -318,6 +318,31 @@ export default { | ||
| 318 | this.loading = false; | 318 | this.loading = false; |
| 319 | }); | 319 | }); |
| 320 | }, | 320 | }, |
| 321 | + buyInsurance(code, data) { | ||
| 322 | + uni.$once('buy-insurance', insuranceForm => { | ||
| 323 | + uni.showLoading(); | ||
| 324 | + if (insuranceForm.insuranceProgramCode) { | ||
| 325 | + uni.$u.api.freightOrder | ||
| 326 | + .insure({ | ||
| 327 | + orderCode: code, | ||
| 328 | + ...insuranceForm, | ||
| 329 | + }) | ||
| 330 | + .then(res => { | ||
| 331 | + uni.hideLoading(); | ||
| 332 | + uni.navigateBack(); | ||
| 333 | + this.onSearch(); | ||
| 334 | + }) | ||
| 335 | + .finally(() => { | ||
| 336 | + uni.hideLoading(); | ||
| 337 | + }); | ||
| 338 | + } else { | ||
| 339 | + uni.navigateBack(); | ||
| 340 | + } | ||
| 341 | + }); | ||
| 342 | + uni.navigateTo({ | ||
| 343 | + url: `/pages/order/insurance?paidAmount=${data.paidAmount}`, | ||
| 344 | + }); | ||
| 345 | + }, | ||
| 321 | }, | 346 | }, |
| 322 | }; | 347 | }; |
| 323 | </script> | 348 | </script> |
pages/order/insurance.vue
| @@ -146,7 +146,6 @@ export default { | @@ -146,7 +146,6 @@ export default { | ||
| 146 | coverageLimit: '', | 146 | coverageLimit: '', |
| 147 | }; | 147 | }; |
| 148 | uni.$emit('buy-insurance', form); | 148 | uni.$emit('buy-insurance', form); |
| 149 | - uni.navigateBack(); | ||
| 150 | }, | 149 | }, |
| 151 | submitInsurance() { | 150 | submitInsurance() { |
| 152 | if (!this.form.startDate) { | 151 | if (!this.form.startDate) { |
| @@ -156,12 +155,11 @@ export default { | @@ -156,12 +155,11 @@ export default { | ||
| 156 | return uni.showToast({ title: '请选择方案', icon: 'none' }); | 155 | return uni.showToast({ title: '请选择方案', icon: 'none' }); |
| 157 | } | 156 | } |
| 158 | uni.$emit('buy-insurance', { ...this.form, programName: this.choseScheme.programName }); | 157 | uni.$emit('buy-insurance', { ...this.form, programName: this.choseScheme.programName }); |
| 159 | - uni.navigateBack(); | ||
| 160 | }, | 158 | }, |
| 161 | getReceiveInsuranceAmount(choseScheme, paidAmount) { | 159 | getReceiveInsuranceAmount(choseScheme, paidAmount) { |
| 162 | if (!paidAmount || !choseScheme) return ''; | 160 | if (!paidAmount || !choseScheme) return ''; |
| 163 | let v1 = Number(paidAmount) * Number(choseScheme.receiveRate); | 161 | let v1 = Number(paidAmount) * Number(choseScheme.receiveRate); |
| 164 | - return v1 >= Number(choseScheme.minReceiveFee) ? Number(v1 + 0.005).toFixed(2) : choseScheme.minReceiveFee; | 162 | + return v1 >= Number(choseScheme.minReceiveFee) ? Number(v1 + 0.004).toFixed(2) : choseScheme.minReceiveFee; |
| 165 | }, | 163 | }, |
| 166 | choseSchemeFun(index) { | 164 | choseSchemeFun(index) { |
| 167 | this.choseSchemeIndex = index; | 165 | this.choseSchemeIndex = index; |