Commit 255542b38129477e7fb65e26c4a4c9fc7a73bc2f
1 parent
83e23298
补缴
Showing
3 changed files
with
113 additions
and
14 deletions
src/api/index.js
| @@ -33,3 +33,36 @@ export function queryOwnerParkRecord(param) { | @@ -33,3 +33,36 @@ export function queryOwnerParkRecord(param) { | ||
| 33 | data:param | 33 | data:param |
| 34 | }) | 34 | }) |
| 35 | } | 35 | } |
| 36 | +/** | ||
| 37 | + * 分页查询车主欠费记录 | ||
| 38 | + * @param param | ||
| 39 | + */ | ||
| 40 | +export function pageQueryArrearRecordByCondition(param) { | ||
| 41 | + return request({ | ||
| 42 | + url: '/personPc/index/pageQueryArrearRecordByCondition', | ||
| 43 | + method: 'post', | ||
| 44 | + data:param | ||
| 45 | + }) | ||
| 46 | +} | ||
| 47 | +/** | ||
| 48 | + * 补缴获取二维码 | ||
| 49 | + * @param param | ||
| 50 | + */ | ||
| 51 | +export function personOrderBackWxPay(param) { | ||
| 52 | + return request({ | ||
| 53 | + url: '/personPc/wxPay/personOrderBackWxPay', | ||
| 54 | + method: 'post', | ||
| 55 | + data:param | ||
| 56 | + }) | ||
| 57 | +} | ||
| 58 | +/** | ||
| 59 | + * 获取所有组织下拉框 | ||
| 60 | + * @param param | ||
| 61 | + */ | ||
| 62 | +export function selectAllAppOrg(param) { | ||
| 63 | + return request({ | ||
| 64 | + url: '/personPc/index/selectAllAppOrg', | ||
| 65 | + method: 'post', | ||
| 66 | + data:param | ||
| 67 | + }) | ||
| 68 | +} |
src/filters/index.js
| @@ -266,6 +266,8 @@ export function inOutStateFormatter(row, value) { | @@ -266,6 +266,8 @@ export function inOutStateFormatter(row, value) { | ||
| 266 | 266 | ||
| 267 | if (orderState == 52) { | 267 | if (orderState == 52) { |
| 268 | return "欠费"; | 268 | return "欠费"; |
| 269 | + }else if (orderState == 53) { | ||
| 270 | + return "欠费已补缴"; | ||
| 269 | } else { | 271 | } else { |
| 270 | return "离场"; | 272 | return "离场"; |
| 271 | } | 273 | } |
src/views/payback/index.vue
| @@ -4,6 +4,16 @@ | @@ -4,6 +4,16 @@ | ||
| 4 | <el-row :gutter="20"> | 4 | <el-row :gutter="20"> |
| 5 | <el-form ref="form" :model="form" label-width="60px" label-position="left"> | 5 | <el-form ref="form" :model="form" label-width="60px" label-position="left"> |
| 6 | <el-col :xs="8" :sm="6" :md="7" :lg="7" :xl="1"> | 6 | <el-col :xs="8" :sm="6" :md="7" :lg="7" :xl="1"> |
| 7 | + | ||
| 8 | + <el-form-item label="公司"> | ||
| 9 | + <el-select v-model="form.orgId" placeholder="请选择公司"> | ||
| 10 | + <el-option v-for="item in orgs" :label="item.orgName" :value="item.orgId"/> | ||
| 11 | + | ||
| 12 | + </el-select> | ||
| 13 | + </el-form-item> | ||
| 14 | + | ||
| 15 | + </el-col> | ||
| 16 | + <el-col :xs="8" :sm="6" :md="7" :lg="7" :xl="1"> | ||
| 7 | <el-form-item label="车牌"> | 17 | <el-form-item label="车牌"> |
| 8 | <el-input v-model="form.name" maxlength="10" /> | 18 | <el-input v-model="form.name" maxlength="10" /> |
| 9 | </el-form-item> | 19 | </el-form-item> |
| @@ -43,10 +53,10 @@ | @@ -43,10 +53,10 @@ | ||
| 43 | :show-overflow-tooltip="true"> | 53 | :show-overflow-tooltip="true"> |
| 44 | </el-table-column> | 54 | </el-table-column> |
| 45 | <el-table-column | 55 | <el-table-column |
| 46 | - prop="orderTotalFee" | ||
| 47 | - label="应收费用"> | 56 | + prop="arrearageFee" |
| 57 | + label="欠费金额"> | ||
| 48 | <template slot-scope="scope"> | 58 | <template slot-scope="scope"> |
| 49 | - <span>{{(scope.row.orderTotalFee) |fen2Yuan}} </span> | 59 | + <span>{{(scope.row.arrearageFee) |fen2Yuan}} </span> |
| 50 | </template> | 60 | </template> |
| 51 | </el-table-column> | 61 | </el-table-column> |
| 52 | <el-table-column | 62 | <el-table-column |
| @@ -103,7 +113,10 @@ | @@ -103,7 +113,10 @@ | ||
| 103 | :visible.sync="dialogVisible" | 113 | :visible.sync="dialogVisible" |
| 104 | width="30%" | 114 | width="30%" |
| 105 | :close-on-click-modal="false"> | 115 | :close-on-click-modal="false"> |
| 106 | - <span>这是二维码</span> | 116 | + <div> |
| 117 | + <el-image style="display: block;width: 100%" :src="url" > | ||
| 118 | + </el-image> | ||
| 119 | + </div> | ||
| 107 | <span slot="footer" class="dialog-footer"> | 120 | <span slot="footer" class="dialog-footer"> |
| 108 | <el-button type="primary" @click="dialogVisible = false">确 定</el-button> | 121 | <el-button type="primary" @click="dialogVisible = false">确 定</el-button> |
| 109 | </span> | 122 | </span> |
| @@ -113,16 +126,18 @@ | @@ -113,16 +126,18 @@ | ||
| 113 | </template> | 126 | </template> |
| 114 | 127 | ||
| 115 | <script> | 128 | <script> |
| 116 | - import {queryOwnerParkRecord} from '@/api/index'; | 129 | + import {pageQueryArrearRecordByCondition,selectAllAppOrg,personOrderBackWxPay } from '@/api/index'; |
| 117 | import {fen2Yuan,string2Date,inOutStateFormatter,parkingDurationFormatter} from '@/filters/index'; | 130 | import {fen2Yuan,string2Date,inOutStateFormatter,parkingDurationFormatter} from '@/filters/index'; |
| 118 | export default { | 131 | export default { |
| 119 | data() { | 132 | data() { |
| 120 | return { | 133 | return { |
| 121 | form: { | 134 | form: { |
| 135 | + orgId:null, | ||
| 122 | plNos: null, | 136 | plNos: null, |
| 123 | carNum: null, | 137 | carNum: null, |
| 124 | 138 | ||
| 125 | }, | 139 | }, |
| 140 | + orgs:[], | ||
| 126 | total: 0, | 141 | total: 0, |
| 127 | currentPage: 1, | 142 | currentPage: 1, |
| 128 | pageSize: 10, | 143 | pageSize: 10, |
| @@ -130,17 +145,38 @@ | @@ -130,17 +145,38 @@ | ||
| 130 | ], | 145 | ], |
| 131 | multipleSelection:[], | 146 | multipleSelection:[], |
| 132 | dialogVisible:false, | 147 | dialogVisible:false, |
| 148 | + url:'http://106.15.186.134:9090/group1/M00/20/F3/rBMAsV0exOmAH91dAAZpQUTBbps512.jpg', | ||
| 133 | } | 149 | } |
| 134 | }, | 150 | }, |
| 135 | mounted: function() { | 151 | mounted: function() { |
| 152 | + this.selectAllAppOrg(); | ||
| 136 | 153 | ||
| 137 | - this.queryOwnerParkRecord(); | ||
| 138 | }, | 154 | }, |
| 139 | methods: { | 155 | methods: { |
| 140 | /** | 156 | /** |
| 157 | + *获取所有组织下拉框 | ||
| 158 | + */ | ||
| 159 | + selectAllAppOrg:function(){ | ||
| 160 | + let req = {}; | ||
| 161 | + selectAllAppOrg (req).then(response =>{ | ||
| 162 | + if(response.code=='8888'){ | ||
| 163 | + this.orgs = response.data; | ||
| 164 | + this.form.orgId = response.data[0].orgId; | ||
| 165 | + this.pageQueryArrearRecordByCondition(); | ||
| 166 | + }else{ | ||
| 167 | + console.log(response); | ||
| 168 | + } | ||
| 169 | + | ||
| 170 | + }); | ||
| 171 | + }, | ||
| 172 | + /** | ||
| 141 | * 获取查询参数 | 173 | * 获取查询参数 |
| 142 | */ | 174 | */ |
| 143 | getQueryParams: function() { | 175 | getQueryParams: function() { |
| 176 | + if(this.form.orgId == undefined || this.form.orgId == null){ | ||
| 177 | + console.log("orgId为空"); | ||
| 178 | + return; | ||
| 179 | + } | ||
| 144 | let userInfo = this.$store.state.user.userInfo; | 180 | let userInfo = this.$store.state.user.userInfo; |
| 145 | let plNos = []; | 181 | let plNos = []; |
| 146 | if(this.form.plNos != null && this.form.plNos != ''){ | 182 | if(this.form.plNos != null && this.form.plNos != ''){ |
| @@ -151,6 +187,7 @@ | @@ -151,6 +187,7 @@ | ||
| 151 | custId:'501519113641649119232', | 187 | custId:'501519113641649119232', |
| 152 | orderStates:[52], | 188 | orderStates:[52], |
| 153 | plNos:plNos, | 189 | plNos:plNos, |
| 190 | + orgId:this.form.orgId, | ||
| 154 | carNum:this.form.carNum, | 191 | carNum:this.form.carNum, |
| 155 | } | 192 | } |
| 156 | return req; | 193 | return req; |
| @@ -158,14 +195,14 @@ | @@ -158,14 +195,14 @@ | ||
| 158 | /** | 195 | /** |
| 159 | * 查询订单信息 | 196 | * 查询订单信息 |
| 160 | */ | 197 | */ |
| 161 | - queryOwnerParkRecord: function() { | 198 | + pageQueryArrearRecordByCondition: function() { |
| 162 | let req = this.getQueryParams(); | 199 | let req = this.getQueryParams(); |
| 163 | 200 | ||
| 164 | req.baseRequest={ | 201 | req.baseRequest={ |
| 165 | pageNum:this.currentPage, | 202 | pageNum:this.currentPage, |
| 166 | pageSize:this.pageSize, | 203 | pageSize:this.pageSize, |
| 167 | }, | 204 | }, |
| 168 | - queryOwnerParkRecord (req).then(response =>{ | 205 | + pageQueryArrearRecordByCondition (req).then(response =>{ |
| 169 | if(response.code=='8888'){ | 206 | if(response.code=='8888'){ |
| 170 | this.orderData = response.data.dataList; | 207 | this.orderData = response.data.dataList; |
| 171 | this.total = response.data.pageTotals; | 208 | this.total = response.data.pageTotals; |
| @@ -180,7 +217,7 @@ | @@ -180,7 +217,7 @@ | ||
| 180 | console.log(page) | 217 | console.log(page) |
| 181 | this.currentPage = page; | 218 | this.currentPage = page; |
| 182 | /** 调用表格数据.*/ | 219 | /** 调用表格数据.*/ |
| 183 | - this.queryOwnerParkRecord(); | 220 | + this.pageQueryArrearRecordByCondition(); |
| 184 | 221 | ||
| 185 | }, | 222 | }, |
| 186 | //多选 | 223 | //多选 |
| @@ -197,18 +234,45 @@ | @@ -197,18 +234,45 @@ | ||
| 197 | }); | 234 | }); |
| 198 | return; | 235 | return; |
| 199 | } | 236 | } |
| 200 | - let backs = []; | 237 | + let orders = []; |
| 238 | + let orgIds = []; | ||
| 201 | selects.forEach(item=>{ | 239 | selects.forEach(item=>{ |
| 202 | - backs.push({orderId:item.orderId,carNumber:item.carNumber}); | 240 | + orders.push({orderId:item.orderId,parkId:item.plNo,orderNotPayFee:item.arrearageFee}); |
| 241 | + orgIds.push(item.orgId); | ||
| 203 | }); | 242 | }); |
| 204 | - console.log(backs); | ||
| 205 | - //TODO 调用后台接口获取二维码信息 | 243 | + if(orders == null || orders.length < 1){ |
| 244 | + this.$message({ | ||
| 245 | + message: '请至少选择一行数据!', | ||
| 246 | + type: 'warning' | ||
| 247 | + }); | ||
| 248 | + return; | ||
| 249 | + } | ||
| 250 | + | ||
| 251 | + let req ={ | ||
| 252 | + sysCode:'10003', | ||
| 253 | + payType:2, | ||
| 254 | + paySrcType:103, | ||
| 255 | + terminalSource:9, | ||
| 256 | + recordArreaInfos:JSON.stringify(orders) | ||
| 257 | + }; | ||
| 258 | + // req = JSON.stringify(req); | ||
| 259 | + //调用后台接口获取二维码信息 | ||
| 260 | + personOrderBackWxPay(req).then(response =>{ | ||
| 261 | + if(response.code=='8888'){ | ||
| 262 | + console.log(response.data); | ||
| 263 | + this.url = response.data; | ||
| 206 | 264 | ||
| 265 | + }else{ | ||
| 266 | + console.log(response); | ||
| 267 | + this.url = "http://106.15.186.134:9090/group1/M00/20/F3/rBMAsV0exOmAH91dAAZpQUTBbps512.jpg"; | ||
| 268 | + } | ||
| 269 | + | ||
| 270 | + }); | ||
| 207 | this.dialogVisible = true; | 271 | this.dialogVisible = true; |
| 208 | }, | 272 | }, |
| 209 | 273 | ||
| 210 | onSubmit:function() { | 274 | onSubmit:function() { |
| 211 | - this.queryOwnerParkRecord(); | 275 | + this.pageQueryArrearRecordByCondition(); |
| 212 | }, | 276 | }, |
| 213 | onCancel:function() { | 277 | onCancel:function() { |
| 214 | this.$message({ | 278 | this.$message({ |