no message
Showing
50 changed files
with
1363 additions
and
560 deletions
| ... | @@ -258,6 +258,25 @@ function uploadFile(e) { | ... | @@ -258,6 +258,25 @@ function uploadFile(e) { |
| 258 | uni.hideLoading(); | 258 | uni.hideLoading(); |
| 259 | }); | 259 | }); |
| 260 | } | 260 | } |
| 261 | // muit | ||
| 262 | function uploadFileList(path) { | ||
| 263 | uni.showLoading({ | ||
| 264 | title: '加载中' | ||
| 265 | }); | ||
| 266 | return uni.uploadFile({ | ||
| 267 | url: config.baseUrl_api + '/upload/uploadFileToLocalServer', | ||
| 268 | filePath: path, | ||
| 269 | name: 'file', | ||
| 270 | header: { | ||
| 271 | 'Authorization': uni.getStorageSync('token') | ||
| 272 | } | ||
| 273 | }).then(res => { | ||
| 274 | let data = JSON.parse(res.data); | ||
| 275 | return data.msg | ||
| 276 | }).finally(() => { | ||
| 277 | uni.hideLoading(); | ||
| 278 | }); | ||
| 279 | } | ||
| 261 | // 查询考级信息列表 | 280 | // 查询考级信息列表 |
| 262 | function getLevelList(query) { | 281 | function getLevelList(query) { |
| 263 | return request({ | 282 | return request({ |
| ... | @@ -450,6 +469,13 @@ function delPayment(payIds) { | ... | @@ -450,6 +469,13 @@ function delPayment(payIds) { |
| 450 | method: 'DELETE' | 469 | method: 'DELETE' |
| 451 | }) | 470 | }) |
| 452 | } | 471 | } |
| 472 | function delcertified(ids) { | ||
| 473 | return request({ | ||
| 474 | url: `/member/certified/${ids}`, | ||
| 475 | method: 'delete' | ||
| 476 | }) | ||
| 477 | } | ||
| 478 | |||
| 453 | function editYear(id, year) { | 479 | function editYear(id, year) { |
| 454 | return request({ | 480 | return request({ |
| 455 | url: `/person/payment/editYear/${id}`, | 481 | url: `/person/payment/editYear/${id}`, |
| ... | @@ -457,6 +483,14 @@ function editYear(id, year) { | ... | @@ -457,6 +483,14 @@ function editYear(id, year) { |
| 457 | params: { year: year } | 483 | params: { year: year } |
| 458 | }) | 484 | }) |
| 459 | } | 485 | } |
| 486 | function editGroupYear(data) { | ||
| 487 | return request({ | ||
| 488 | url: `/member/certified/editCertRenewYear/${data.certId}/${data.renewYear}`, | ||
| 489 | method: 'post', | ||
| 490 | params:data | ||
| 491 | }) | ||
| 492 | } | ||
| 493 | |||
| 460 | function addPersonPaymentGroup(data) { | 494 | function addPersonPaymentGroup(data) { |
| 461 | return request({ | 495 | return request({ |
| 462 | url: `/person/payment/addPersonPaymentGroup`, | 496 | url: `/person/payment/addPersonPaymentGroup`, |
| ... | @@ -529,6 +563,30 @@ function paymentList(query) { | ... | @@ -529,6 +563,30 @@ function paymentList(query) { |
| 529 | params: query | 563 | params: query |
| 530 | }) | 564 | }) |
| 531 | } | 565 | } |
| 566 | function getPaymentDetailsByPayId(payId) { | ||
| 567 | return request({ | ||
| 568 | url: '/exam/payment/paymentDetailsByPayId', | ||
| 569 | method: 'get', | ||
| 570 | params: { | ||
| 571 | payId: payId | ||
| 572 | } | ||
| 573 | }) | ||
| 574 | } | ||
| 575 | function getMySonList(data) { | ||
| 576 | return request({ | ||
| 577 | url: '/member/info/getMySonList', | ||
| 578 | method: 'get', | ||
| 579 | params: data | ||
| 580 | }) | ||
| 581 | } | ||
| 582 | function addGroupPaymentGroup(data) { | ||
| 583 | return request({ | ||
| 584 | url: `/member/certifiedRange/addRangeMulti/${data.memIds}/${data.rangeId}`, | ||
| 585 | method: 'post', | ||
| 586 | params: data | ||
| 587 | }) | ||
| 588 | } | ||
| 589 | |||
| 532 | 590 | ||
| 533 | 591 | ||
| 534 | export { | 592 | export { |
| ... | @@ -575,8 +633,11 @@ export { | ... | @@ -575,8 +633,11 @@ export { |
| 575 | getFillAuditLog,commitGroupPay,getGroupFeeBill, | 633 | getFillAuditLog,commitGroupPay,getGroupFeeBill, |
| 576 | groupCommitPaymentVoucher,getFeeBillById, | 634 | groupCommitPaymentVoucher,getFeeBillById, |
| 577 | personalCommit, | 635 | personalCommit, |
| 578 | delPayment,editYear,addPersonPaymentGroup, | 636 | delPayment,editYear,editGroupYear,addPersonPaymentGroup, |
| 579 | commitRenew,getVerityMergeList,doMergeFlows,getMergePaymentInfo, | 637 | commitRenew,getVerityMergeList,doMergeFlows,getMergePaymentInfo, |
| 580 | submitCert,getCertsLList,getExamListByPayId, | 638 | submitCert,getCertsLList,getExamListByPayId, |
| 581 | certStudentList,paymentList | 639 | certStudentList,paymentList, |
| 640 | getPaymentDetailsByPayId,getMySonList, | ||
| 641 | addGroupPaymentGroup, | ||
| 642 | delcertified,uploadFileList,editLevel | ||
| 582 | } | 643 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -50,3 +50,15 @@ export function submitCert(data) { | ... | @@ -50,3 +50,15 @@ export function submitCert(data) { |
| 50 | params: data | 50 | params: data |
| 51 | }) | 51 | }) |
| 52 | } | 52 | } |
| 53 | /** | ||
| 54 | * 段位考试成绩列表 | ||
| 55 | * @param params | ||
| 56 | * @returns {*} | ||
| 57 | */ | ||
| 58 | export function getRankScoreList(params) { | ||
| 59 | return request({ | ||
| 60 | url: '/exam/info/rank/scoreList', | ||
| 61 | method: 'get', | ||
| 62 | params: params | ||
| 63 | }) | ||
| 64 | } | ... | ... |
common/hotel.js
deleted
100644 → 0
| 1 | import request from './request.js' | ||
| 2 | import config from '@/config.js' | ||
| 3 | |||
| 4 | function getTrainList(venueId) { | ||
| 5 | return request({ | ||
| 6 | url: `/train/info/list`, | ||
| 7 | method: 'get' | ||
| 8 | }) | ||
| 9 | } | ||
| 10 | function getActivityDetail(id) { | ||
| 11 | return request({ | ||
| 12 | url: `/logex/activity/${id}`, | ||
| 13 | method: 'get', | ||
| 14 | params: id | ||
| 15 | }) | ||
| 16 | } | ||
| 17 | |||
| 18 | |||
| 19 | function getActivityHotelList(params) { | ||
| 20 | return request({ | ||
| 21 | url: `/logex/activityHotel/list`, | ||
| 22 | method: 'get', | ||
| 23 | params: params | ||
| 24 | }) | ||
| 25 | } | ||
| 26 | function getHotelById(id) { | ||
| 27 | return request({ | ||
| 28 | url: `/logex/hotel/${id}`, | ||
| 29 | method: 'get', | ||
| 30 | params: id | ||
| 31 | }) | ||
| 32 | } | ||
| 33 | |||
| 34 | function getHotelRooms(id) { | ||
| 35 | return request({ | ||
| 36 | url: `/logex/activityRoom/list?hotelId=${id}`, | ||
| 37 | method: 'get', | ||
| 38 | params: id | ||
| 39 | }) | ||
| 40 | } | ||
| 41 | function getbilllist(userId,venueId) { | ||
| 42 | return request({ | ||
| 43 | url: `/logex/order/list?createById=${userId}&venueId=${venueId}`, | ||
| 44 | method: 'get', | ||
| 45 | params: userId | ||
| 46 | }) | ||
| 47 | } | ||
| 48 | function newbilllist(userId,venueId) { | ||
| 49 | return request({ | ||
| 50 | url: `/logex/norder/list?createById=${userId}&venueId=${venueId}`, | ||
| 51 | method: 'get', | ||
| 52 | params: userId | ||
| 53 | }) | ||
| 54 | } | ||
| 55 | function getCanInvoiceBills(params) { | ||
| 56 | return request({ | ||
| 57 | url: `/logex/norder/list?activeId=${params.activeId}&createById=${params.userId}&invoiced=1&venueId=${params.venueId}`, | ||
| 58 | method: 'get' | ||
| 59 | }) | ||
| 60 | } | ||
| 61 | function getbilldetailbyId(orderId) { | ||
| 62 | return request({ | ||
| 63 | // url: `/logex/order/${orderId}`, | ||
| 64 | url: `/logex/norder/${orderId}`, | ||
| 65 | method: 'get', | ||
| 66 | params: orderId | ||
| 67 | }) | ||
| 68 | } | ||
| 69 | function getFoodBilldetailbyId(orderId) { | ||
| 70 | return request({ | ||
| 71 | url: `/logex/orderFood/getFoodOrderInfoByOrder?orderId=${orderId}`, | ||
| 72 | method: 'get' | ||
| 73 | }) | ||
| 74 | } | ||
| 75 | function getRoomBilldetailbyId(orderId) { | ||
| 76 | return request({ | ||
| 77 | url: `/logex/orderRoom/getRoomOrderInfoByOrderId?orderId=${orderId}`, | ||
| 78 | method: 'get' | ||
| 79 | }) | ||
| 80 | } | ||
| 81 | function getCarBilldetailbyId(orderId) { | ||
| 82 | return request({ | ||
| 83 | url: `/logex/norder/getOrderByOrderId?orderId=${orderId}`, | ||
| 84 | method: 'get' | ||
| 85 | }) | ||
| 86 | } | ||
| 87 | function getInvoiceByActiveId(activeId,userId,venueId) { | ||
| 88 | return request({ | ||
| 89 | url: `/logex/invoice/list?activeId=${activeId}&createById=${userId}&venueId=${venueId}`, | ||
| 90 | method: 'get' | ||
| 91 | }) | ||
| 92 | } | ||
| 93 | function getInvoiceByUserId(userId,venueId) { | ||
| 94 | return request({ | ||
| 95 | url: `/logex/invoice/list?createById=${userId}&venueId=${venueId}`, | ||
| 96 | method: 'get' | ||
| 97 | }) | ||
| 98 | } | ||
| 99 | function getInvoiceDetailBills(invoiceId) { | ||
| 100 | return request({ | ||
| 101 | url: `/logex/norder/list?invoiceId=${invoiceId}`, | ||
| 102 | method: 'get' | ||
| 103 | }) | ||
| 104 | } | ||
| 105 | function getInvoiceDetail(invoiceId) { | ||
| 106 | return request({ | ||
| 107 | url: `/logex/invoice/${invoiceId}`, | ||
| 108 | method: 'get' | ||
| 109 | }) | ||
| 110 | } | ||
| 111 | function submitOrder(data) { | ||
| 112 | return request({ | ||
| 113 | url: `/logex/order/submitOrder`, | ||
| 114 | method: 'post', | ||
| 115 | params: data | ||
| 116 | }) | ||
| 117 | } | ||
| 118 | // 退款 | ||
| 119 | function cancelOrder(orderId) { | ||
| 120 | return request({ | ||
| 121 | // url: `/logex/norder/unSubscribeOrderBack/${orderId}`, | ||
| 122 | url: `/logex/norder/applyOrderBack/${orderId}`, | ||
| 123 | method: 'post', | ||
| 124 | params: orderId | ||
| 125 | }) | ||
| 126 | } | ||
| 127 | // 取消 | ||
| 128 | function cancelOrder2(orderId) { | ||
| 129 | return request({ | ||
| 130 | url: `/logex/norder/cancelOrderBack//${orderId}`, | ||
| 131 | method: 'post', | ||
| 132 | params: orderId | ||
| 133 | }) | ||
| 134 | } | ||
| 135 | |||
| 136 | function payForOrder(orderId) { | ||
| 137 | const nowOpenId = uni.getStorageSync('nowOpenId'); | ||
| 138 | return request({ | ||
| 139 | // url: `/logex/order/payForOrder?orderId=${orderId}&openId=${nowOpenId}`, | ||
| 140 | url: `/logex/norder/payForOrder?orderId=${orderId}&openId=${nowOpenId}`, | ||
| 141 | method: 'post', | ||
| 142 | params: orderId | ||
| 143 | }) | ||
| 144 | } | ||
| 145 | function submitInvoice(form) { | ||
| 146 | return request({ | ||
| 147 | url: `/logex/invoice`, | ||
| 148 | method: 'post', | ||
| 149 | params: form | ||
| 150 | }) | ||
| 151 | } | ||
| 152 | function editInvoice(form) { | ||
| 153 | return request({ | ||
| 154 | url: `/logex/invoice`, | ||
| 155 | method: 'put', | ||
| 156 | params: form | ||
| 157 | }) | ||
| 158 | } | ||
| 159 | function addAddress(form) { | ||
| 160 | return request({ | ||
| 161 | url: `/logex/invoiceInfo`, | ||
| 162 | method: 'post', | ||
| 163 | params: form | ||
| 164 | }) | ||
| 165 | } | ||
| 166 | function checkResidueRoom(form) { | ||
| 167 | return request({ | ||
| 168 | url: `/logex/orderRoom/checkResidueRoom`, | ||
| 169 | method: 'post', | ||
| 170 | params: form | ||
| 171 | }) | ||
| 172 | } | ||
| 173 | function delAddress(ids) { | ||
| 174 | return request({ | ||
| 175 | url: `/logex/invoiceInfo/${ids}`, | ||
| 176 | method: 'delete' | ||
| 177 | }) | ||
| 178 | } | ||
| 179 | function regionsList() { | ||
| 180 | return request({ | ||
| 181 | url: `/systemj/region/regionsList`, | ||
| 182 | method: 'get' | ||
| 183 | }) | ||
| 184 | } | ||
| 185 | function addressList() { | ||
| 186 | const currUser = uni.getStorageSync('currUser'); | ||
| 187 | return request({ | ||
| 188 | url: `/logex/invoiceInfo/list?createById=${currUser.userId}`, | ||
| 189 | method: 'get' | ||
| 190 | }) | ||
| 191 | } | ||
| 192 | function getActivityRestaurantList(params) { | ||
| 193 | return request({ | ||
| 194 | url: `/logex/activityRestaurant/list`, | ||
| 195 | method: 'get', | ||
| 196 | params: params | ||
| 197 | }) | ||
| 198 | } | ||
| 199 | function getActivityCarList(params) { | ||
| 200 | return request({ | ||
| 201 | url: `/logex/activityVehicle/wxList`, | ||
| 202 | method: 'get', | ||
| 203 | params: params | ||
| 204 | }) | ||
| 205 | } | ||
| 206 | function getMenuById(id) { | ||
| 207 | return request({ | ||
| 208 | url: `/logex/activityFood/list?larId=${id}`, | ||
| 209 | method: 'get' | ||
| 210 | }) | ||
| 211 | } | ||
| 212 | function submitOrderFood(form) { | ||
| 213 | return request({ | ||
| 214 | url: `/logex/norder/submitOrderFood`, | ||
| 215 | method: 'post', | ||
| 216 | params: form | ||
| 217 | }) | ||
| 218 | } | ||
| 219 | function submitOrderCar(form) { | ||
| 220 | return request({ | ||
| 221 | url: `/logex/norder/submitOrderCar`, | ||
| 222 | method: 'post', | ||
| 223 | params: form | ||
| 224 | }) | ||
| 225 | } | ||
| 226 | function newsSubmitOrderHotel(form) { | ||
| 227 | return request({ | ||
| 228 | url: `/logex/norder/submitOrderRoom`, | ||
| 229 | method: 'post', | ||
| 230 | params: form | ||
| 231 | }) | ||
| 232 | } | ||
| 233 | export {getTrainList,getActivityHotelList,getActivityDetail,getHotelById,getHotelRooms,submitOrder,getbilllist,getbilldetailbyId, | ||
| 234 | payForOrder,cancelOrder,getCanInvoiceBills,submitInvoice,getInvoiceByActiveId,getInvoiceDetailBills, | ||
| 235 | getInvoiceDetail,getInvoiceByUserId,editInvoice,addAddress,regionsList,addressList,delAddress, | ||
| 236 | checkResidueRoom,getActivityRestaurantList,getMenuById, | ||
| 237 | submitOrderFood,getActivityCarList,submitOrderCar,newsSubmitOrderHotel,newbilllist, | ||
| 238 | getFoodBilldetailbyId,getRoomBilldetailbyId,getCarBilldetailbyId, | ||
| 239 | cancelOrder2 | ||
| 240 | } | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
common/match.js
deleted
100644 → 0
This diff is collapsed.
Click to expand it.
| ... | @@ -3,12 +3,18 @@ page { | ... | @@ -3,12 +3,18 @@ page { |
| 3 | overflow: auto; | 3 | overflow: auto; |
| 4 | background: #f5f7f9; | 4 | background: #f5f7f9; |
| 5 | } | 5 | } |
| 6 | .h3 {font-weight: bold;line-height: 2;} | ||
| 7 | .text-center{text-align: center;} | ||
| 6 | .w50{width: 50%;} | 8 | .w50{width: 50%;} |
| 9 | .w45{width: 45%;} | ||
| 7 | .w100{width: 100%;} | 10 | .w100{width: 100%;} |
| 11 | .must{color: #AD181F;font-size: 24rpx;} | ||
| 8 | .vipData .w50{width: 45%;} | 12 | .vipData .w50{width: 45%;} |
| 9 | .esp{text-overflow: ellipsis;overflow: hidden;white-space: nowrap;} | 13 | .esp{text-overflow: ellipsis;overflow: hidden;white-space: nowrap;} |
| 14 | .flex{display: flex;} | ||
| 10 | .flexbox{display: flex;} | 15 | .flexbox{display: flex;} |
| 11 | .mt30{margin-top: 30rpx;} | 16 | .mt30{margin-top: 30rpx;} |
| 17 | .mb30{margin-bottom: 30rpx;} | ||
| 12 | .mtb30{margin: 30rpx 0;} | 18 | .mtb30{margin: 30rpx 0;} |
| 13 | .mt40{margin-top: 40rpx;} | 19 | .mt40{margin-top: 40rpx;} |
| 14 | .mt50{margin-top: 50rpx;} | 20 | .mt50{margin-top: 50rpx;} |
| ... | @@ -347,18 +353,18 @@ color: #7D8592;} | ... | @@ -347,18 +353,18 @@ color: #7D8592;} |
| 347 | .bgbg{padding:0 0 60rpx;color: #fff;background:url('/static/top_bg.png') #C40F18 no-repeat top; | 353 | .bgbg{padding:0 0 60rpx;color: #fff;background:url('/static/top_bg.png') #C40F18 no-repeat top; |
| 348 | background-size: cover; | 354 | background-size: cover; |
| 349 | position: relative;} | 355 | position: relative;} |
| 350 | .girdBox{display: flex;flex-wrap: wrap;padding: 0 0 40rpx; | 356 | .girdBox{display: flex;flex-wrap: wrap;padding:30rpx 0; |
| 351 | background: #FFFFFF;position: relative;top: -30rpx; | 357 | background: #FFFFFF;position: relative;top: -30rpx; |
| 352 | border-radius: 20rpx 20rpx 0rpx 0rpx; | 358 | border-radius: 20rpx 20rpx 0rpx 0rpx; |
| 353 | view{width: 25%;text-align: center; | 359 | view{width: 25%;text-align: center; padding: 2% 0; |
| 354 | font-size: 24rpx; | 360 | font-size: 24rpx; |
| 355 | color: #434343; | 361 | color: #434343; |
| 356 | image{width: 20vw;height: 20vw;display: block;margin: auto;} | 362 | image{width: 80rpx;height: 80rpx;display: block;margin: auto;} |
| 357 | } | 363 | } |
| 358 | } | 364 | } |
| 359 | .block-btn-box{padding: 30rpx; | 365 | .block-btn-box{padding: 30rpx; |
| 360 | .btn-red-kx{line-height: 2;font-size: 30rpx;} | 366 | .btn-red-kx{line-height: 2;font-size: 30rpx;} |
| 361 | } | 367 | } |
| 362 | 368 | ||
| 363 | 369 | ||
| 364 | 370 | ... | ... |
common/train.js
deleted
100644 → 0
| 1 | import request from './request.js' | ||
| 2 | const accountInfo = uni.getAccountInfoSync() | ||
| 3 | const appId = accountInfo.miniProgram.appId; | ||
| 4 | |||
| 5 | // 获取培训列表 | ||
| 6 | function tainList(params) { | ||
| 7 | return request({ | ||
| 8 | url: `/systemj/information/applets/trainsList`, | ||
| 9 | method: 'get', | ||
| 10 | params: params | ||
| 11 | }) | ||
| 12 | } | ||
| 13 | |||
| 14 | // 查看培训项目 | ||
| 15 | function trainParticulars(params) { | ||
| 16 | return request({ | ||
| 17 | url: '/systemj/information/getTrainDetails', | ||
| 18 | method: 'get', | ||
| 19 | params: params | ||
| 20 | }) | ||
| 21 | } | ||
| 22 | |||
| 23 | // 查看培训项目 | ||
| 24 | function trainProjectList(params) { | ||
| 25 | return request({ | ||
| 26 | url: '/systemj/information/projectList', | ||
| 27 | method: 'get', | ||
| 28 | params: params | ||
| 29 | }) | ||
| 30 | } | ||
| 31 | |||
| 32 | // 查看报名费用(未支付前) | ||
| 33 | function searchTrainCost(params) { | ||
| 34 | return request({ | ||
| 35 | url: '/systemj/signer/getEnrollBill', | ||
| 36 | method: 'get', | ||
| 37 | params: params | ||
| 38 | }) | ||
| 39 | } | ||
| 40 | |||
| 41 | // 提交 用户资料 | ||
| 42 | function trainNext(params) { | ||
| 43 | return request({ | ||
| 44 | url: `/systemj/signer/signUp`, | ||
| 45 | method: 'post', | ||
| 46 | params, | ||
| 47 | }) | ||
| 48 | } | ||
| 49 | |||
| 50 | // 生成订单 | ||
| 51 | function createOrder(params) { | ||
| 52 | return request({ | ||
| 53 | url: `/systemj/order/saveOrder`, | ||
| 54 | method: 'post', | ||
| 55 | params, | ||
| 56 | }) | ||
| 57 | } | ||
| 58 | |||
| 59 | //会员支付 | ||
| 60 | function pay(params) { | ||
| 61 | return request({ | ||
| 62 | url: `/systemj/order/pay`, | ||
| 63 | method: 'post', | ||
| 64 | params, | ||
| 65 | }) | ||
| 66 | } | ||
| 67 | |||
| 68 | // 线下支付银行信息 | ||
| 69 | function bankSlip(params) { | ||
| 70 | return request({ | ||
| 71 | url: `/systemj/order/bankInfo`, | ||
| 72 | method: 'get', | ||
| 73 | params, | ||
| 74 | }) | ||
| 75 | } | ||
| 76 | |||
| 77 | function trainOrder(params) { | ||
| 78 | return request({ | ||
| 79 | url: `/systemj/order/getMyOrders`, | ||
| 80 | method: 'get', | ||
| 81 | params, | ||
| 82 | }) | ||
| 83 | } | ||
| 84 | |||
| 85 | // 修改报名 | ||
| 86 | function trainUpdata(params) { | ||
| 87 | return request({ | ||
| 88 | url: `/systemj/signer/updateSign`, | ||
| 89 | method: 'put', | ||
| 90 | params, | ||
| 91 | }) | ||
| 92 | } | ||
| 93 | |||
| 94 | // 取消订单 | ||
| 95 | function cancelOrder(params) { | ||
| 96 | return request({ | ||
| 97 | url: `/systemj/order/cancelOrder`, | ||
| 98 | method: 'put', | ||
| 99 | params, | ||
| 100 | }) | ||
| 101 | } | ||
| 102 | |||
| 103 | // 报项列表 | ||
| 104 | function signList(params) { | ||
| 105 | return request({ | ||
| 106 | url: `/systemj/signer/applets/signList`, | ||
| 107 | method: 'get', | ||
| 108 | params, | ||
| 109 | }) | ||
| 110 | } | ||
| 111 | |||
| 112 | // 报项详情 | ||
| 113 | function signDetail(params) { | ||
| 114 | return request({ | ||
| 115 | url: `/systemj/signer/applets/signDetail`, | ||
| 116 | method: 'get', | ||
| 117 | params, | ||
| 118 | }) | ||
| 119 | } | ||
| 120 | |||
| 121 | // 订单列表 | ||
| 122 | function orderList(params) { | ||
| 123 | return request({ | ||
| 124 | url: `/systemj/order/applets/orderList`, | ||
| 125 | method: 'get', | ||
| 126 | params, | ||
| 127 | }) | ||
| 128 | } | ||
| 129 | |||
| 130 | |||
| 131 | // 订单详情 | ||
| 132 | function getOrderDetail(params) { | ||
| 133 | return request({ | ||
| 134 | url: `/systemj/order/getOrderDetail`, | ||
| 135 | method: 'get', | ||
| 136 | params, | ||
| 137 | }) | ||
| 138 | } | ||
| 139 | |||
| 140 | |||
| 141 | |||
| 142 | export { | ||
| 143 | getOrderDetail, | ||
| 144 | orderList, | ||
| 145 | signDetail, | ||
| 146 | signList, | ||
| 147 | tainList, | ||
| 148 | trainParticulars, | ||
| 149 | trainProjectList, | ||
| 150 | searchTrainCost, | ||
| 151 | trainNext, | ||
| 152 | createOrder, | ||
| 153 | pay, | ||
| 154 | bankSlip, | ||
| 155 | trainOrder, | ||
| 156 | trainUpdata, | ||
| 157 | cancelOrder | ||
| 158 | } | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| ... | @@ -5,8 +5,7 @@ | ... | @@ -5,8 +5,7 @@ |
| 5 | // staging | 5 | // staging |
| 6 | // const baseUrl_api = "http://22yidpjzjifv.ngrok.xiaomiqiu123.top/stage-api/"; | 6 | // const baseUrl_api = "http://22yidpjzjifv.ngrok.xiaomiqiu123.top/stage-api/"; |
| 7 | const baseUrl_api = "http://192.168.1.95:8787"; | 7 | const baseUrl_api = "http://192.168.1.95:8787"; |
| 8 | const fileUrl_api = "http://192.168.1.11:8787"; | ||
| 9 | 8 | ||
| 10 | export default { | 9 | export default { |
| 11 | baseUrl_api,fileUrl_api | 10 | baseUrl_api |
| 12 | } | 11 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -137,7 +137,12 @@ | ... | @@ -137,7 +137,12 @@ |
| 137 | "navigationBarTitleText": "会员列表", | 137 | "navigationBarTitleText": "会员列表", |
| 138 | "enablePullDownRefresh": false | 138 | "enablePullDownRefresh": false |
| 139 | } | 139 | } |
| 140 | 140 | }, { | |
| 141 | "path": "pages/group/vipList", | ||
| 142 | "style": { | ||
| 143 | "navigationBarTitleText": "会员列表", | ||
| 144 | "enablePullDownRefresh": false | ||
| 145 | } | ||
| 141 | }, { | 146 | }, { |
| 142 | "path": "pages/personalVip/list", | 147 | "path": "pages/personalVip/list", |
| 143 | "style": { | 148 | "style": { |
| ... | @@ -460,6 +465,42 @@ | ... | @@ -460,6 +465,42 @@ |
| 460 | } | 465 | } |
| 461 | 466 | ||
| 462 | } | 467 | } |
| 468 | ,{ | ||
| 469 | "path" : "pages/exam/score", | ||
| 470 | "style" : | ||
| 471 | { | ||
| 472 | "navigationBarTitleText": "成绩录入", | ||
| 473 | "enablePullDownRefresh": false | ||
| 474 | } | ||
| 475 | |||
| 476 | } | ||
| 477 | ,{ | ||
| 478 | "path" : "pages/group/addGroupMemberPay", | ||
| 479 | "style" : | ||
| 480 | { | ||
| 481 | "navigationBarTitleText": "添加缴费", | ||
| 482 | "enablePullDownRefresh": false | ||
| 483 | } | ||
| 484 | |||
| 485 | } | ||
| 486 | ,{ | ||
| 487 | "path" : "pages/exam/scoreModify", | ||
| 488 | "style" : | ||
| 489 | { | ||
| 490 | "navigationBarTitleText": "成绩维护", | ||
| 491 | "enablePullDownRefresh": false | ||
| 492 | } | ||
| 493 | |||
| 494 | } | ||
| 495 | ,{ | ||
| 496 | "path" : "pages/index/more", | ||
| 497 | "style" : | ||
| 498 | { | ||
| 499 | "navigationBarTitleText": "菜单", | ||
| 500 | "enablePullDownRefresh": false | ||
| 501 | } | ||
| 502 | |||
| 503 | } | ||
| 463 | ], | 504 | ], |
| 464 | "globalStyle": { | 505 | "globalStyle": { |
| 465 | "navigationStyle": "custom", | 506 | "navigationStyle": "custom", | ... | ... |
| ... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
| 2 | <view> | 2 | <view> |
| 3 | <!-- 级/段/越段考试缴费单 --> | 3 | <!-- 级/段/越段考试缴费单 --> |
| 4 | <view class="appList"> | 4 | <view class="appList"> |
| 5 | <view class="vipData" v-show="totalCost>0"> | 5 | <view class="vipData mb30" v-show="totalCost>0"> |
| 6 | <view>费用合计:<text>{{ totalCost.toFixed(2) }}元</text></view> | 6 | <view>费用合计:<text>{{ totalCost.toFixed(2) }}元</text></view> |
| 7 | </view> | 7 | </view> |
| 8 | <view class="appItem" v-for="item in list"> | 8 | <view class="appItem" v-for="item in list"> |
| ... | @@ -12,15 +12,13 @@ | ... | @@ -12,15 +12,13 @@ |
| 12 | <text v-if="item.verityStatus==2" class="text-danger"> 审核拒绝</text> | 12 | <text v-if="item.verityStatus==2" class="text-danger"> 审核拒绝</text> |
| 13 | <text v-if="item.verityStatus==3" class="text-warning">已退回</text> | 13 | <text v-if="item.verityStatus==3" class="text-warning">已退回</text> |
| 14 | </view> | 14 | </view> |
| 15 | <view class="date" @click="goDetail(item)" v-if="item.payTime"> | 15 | <view class="date" @click="goDetail(item)" v-if="item.submitTime"> |
| 16 | <uni-icons type="calendar" size="16" color="#7D8592"></uni-icons> | 16 | <uni-icons type="calendar" size="16" color="#7D8592"></uni-icons> |
| 17 | <text>{{item.payTime}} 缴费</text> | 17 | <text>{{item.submitTime}} 创建</text> |
| 18 | </view> | 18 | </view> |
| 19 | 19 | ||
| 20 | <view class="name" @click="goDetail(item)">{{item.name}}</view> | 20 | <view class="name" @click="goDetail(item)">{{item.name}}</view> |
| 21 | <view v-if="deptType==1" class="date"> | 21 | |
| 22 | <text>{{item.payNoticeSendTime}} 下发</text> | ||
| 23 | </view> | ||
| 24 | <view class="flexbox" @click="goDetail(item)"> | 22 | <view class="flexbox" @click="goDetail(item)"> |
| 25 | <view> | 23 | <view> |
| 26 | 缴费状态 | 24 | 缴费状态 |
| ... | @@ -192,8 +190,8 @@ | ... | @@ -192,8 +190,8 @@ |
| 192 | 190 | ||
| 193 | function goDetail(item) { | 191 | function goDetail(item) { |
| 194 | //详情 | 192 | //详情 |
| 195 | console.log(item.docId) | 193 | const form = encodeURIComponent(JSON.stringify(item)) |
| 196 | let path = `/pages/group/feeBillDetail?docId=${item.docId}` | 194 | let path = `/pages/exam/paymentDetail?form=${form}&type=${queryParams.value.type}` |
| 197 | uni.navigateTo({ | 195 | uni.navigateTo({ |
| 198 | url: path | 196 | url: path |
| 199 | }); | 197 | }); | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <view> | 2 | <view> |
| 3 | <view class="wBox"> | ||
| 4 | <view class="tt">基本信息</view> | ||
| 5 | <view class="ddd"> | ||
| 6 | <text class="lab">结算编号:</text>{{ form.flowCode }} | ||
| 7 | </view> | ||
| 8 | <view class="ddd"> | ||
| 9 | <text class="lab">{{ type=='1'?'考级名称':'考段名称' }}:</text>{{form.mergeName}} | ||
| 10 | </view> | ||
| 11 | <view class="ddd"> | ||
| 12 | <text class="lab">申请单位:</text>{{ form.memName }} | ||
| 13 | </view> | ||
| 14 | <view class="ddd" v-if="form.mergeTime"> | ||
| 15 | <text class="lab">申请日期:</text>{{form.mergeTime?.slice(0,10)}} | ||
| 16 | </view> | ||
| 17 | <view class="ddd"> | ||
| 18 | <text class="lab">{{ type=='1'?'考级人数':'考段人数' }}:</text>{{form.totalNum}} | ||
| 19 | </view> | ||
| 20 | <view class="ddd"> | ||
| 21 | <text class="lab">总金额:</text>¥{{ (form.totalAmount*1).toFixed(2) }} | ||
| 22 | </view> | ||
| 23 | </view> | ||
| 24 | <view class="wBox"> | ||
| 25 | <view class="tt"> | ||
| 26 | 考试信息 | ||
| 27 | </view> | ||
| 28 | <view class="userlist"> | ||
| 29 | <view class="item" v-for="n in infoList" @click="goDetail(n)" style="background-color: #fffafa;"> | ||
| 30 | <view class="w100"> | ||
| 31 | <view class="name">{{n.name}}</view> | ||
| 32 | <!-- <view class="date">{{n.idcTypeStr}}:{{n.idcCode}}</view> --> | ||
| 33 | <view class="flexbox"> | ||
| 34 | <view> | ||
| 35 | 上报单位 | ||
| 36 | <text>{{n.memberName}}</text> | ||
| 37 | </view> | ||
| 38 | <view> | ||
| 39 | {{type=='1'?'考级考生数':'考段考生数'}} | ||
| 40 | <text> | ||
| 41 | {{n.totalNum}} | ||
| 42 | </text> | ||
| 43 | </view> | ||
| 44 | <view> | ||
| 45 | 金额 | ||
| 46 | <text class="text-danger">¥{{ (n.totalAmount*1).toFixed(2) }}</text> | ||
| 47 | </view> | ||
| 48 | </view> | ||
| 49 | </view> | ||
| 3 | 50 | ||
| 4 | </view> | 51 | </view> |
| 52 | </view> | ||
| 53 | |||
| 54 | </view> | ||
| 55 | </view> | ||
| 5 | </template> | 56 | </template> |
| 6 | 57 | ||
| 7 | <script> | 58 | <script setup> |
| 8 | export default { | 59 | import * as api from '@/common/api.js' |
| 9 | data() { | 60 | import config from '@/config.js' |
| 10 | return { | 61 | import _ from 'lodash' |
| 62 | import { | ||
| 63 | onMounted, | ||
| 64 | ref | ||
| 65 | } from 'vue' | ||
| 66 | import { | ||
| 67 | onLoad | ||
| 68 | } from '@dcloudio/uni-app' | ||
| 69 | const app = getApp(); | ||
| 70 | const queryParams = ref({ | ||
| 71 | recordId: '' | ||
| 72 | }) | ||
| 73 | |||
| 74 | const payId = ref('') | ||
| 75 | const list = ref([]) | ||
| 76 | const form = ref({}) | ||
| 77 | const infoList = ref([]) | ||
| 78 | const deptType = ref() | ||
| 79 | const type = ref(null) | ||
| 80 | let rangeId = '' | ||
| 81 | onLoad((option) => { | ||
| 82 | type.value = option.type | ||
| 83 | if ('form' in option) { | ||
| 84 | var obj = JSON.parse(decodeURIComponent(option.form)) | ||
| 85 | form.value.flowCode = obj.payCode | ||
| 86 | form.value.mergeName = obj.name | ||
| 87 | form.value.memName = obj.memberName | ||
| 88 | form.value.mergeTime = obj.submitTime | ||
| 89 | form.value.totalNum = Math.floor(obj.totalNum) | ||
| 90 | form.value.totalAmount = Math.floor(obj.totalAmount) | ||
| 91 | payId.value = obj.payId | ||
| 92 | } | ||
| 93 | if (app.globalData.isLogin) { | ||
| 94 | init() | ||
| 95 | } else { | ||
| 96 | app.firstLoadCallback = () => { | ||
| 97 | init() | ||
| 98 | }; | ||
| 99 | } | ||
| 100 | |||
| 101 | }) | ||
| 102 | function init() { | ||
| 103 | deptType.value = app.globalData.deptType | ||
| 104 | getForm() | ||
| 105 | } | ||
| 11 | 106 | ||
| 107 | function getForm() { | ||
| 108 | uni.showLoading({ | ||
| 109 | title: '加载中' | ||
| 110 | }) | ||
| 111 | api.getPaymentDetailsByPayId(payId.value).then(res => { | ||
| 112 | infoList.value = res.data | ||
| 113 | uni.hideLoading() | ||
| 114 | }) | ||
| 12 | } | 115 | } |
| 13 | }, | ||
| 14 | methods: { | ||
| 15 | 116 | ||
| 117 | function goDetail(item) { | ||
| 118 | // examId | ||
| 119 | if(type.value = '1'){ | ||
| 120 | let path = `/pages/level/applyDetail?examId=${item.examId}` | ||
| 121 | uni.navigateTo({ | ||
| 122 | url: path | ||
| 123 | }); | ||
| 124 | } else { | ||
| 125 | let path = `/pages/rank/applyDetail?examId=${item.examId}` | ||
| 126 | uni.navigateTo({ | ||
| 127 | url: path | ||
| 128 | }); | ||
| 16 | } | 129 | } |
| 17 | } | 130 | } |
| 18 | </script> | 131 | </script> |
| 19 | 132 | ||
| 20 | <style> | 133 | <style scoped lang="scss"> |
| 134 | .wBox { | ||
| 135 | width: 700rpx; | ||
| 136 | padding: 30rpx; | ||
| 137 | margin: 20rpx auto; | ||
| 138 | background: #FFFFFF; | ||
| 139 | box-shadow: 0rpx 12rpx 116rpx 0rpx rgba(196, 203, 214, 0.1); | ||
| 140 | border-radius: 15rpx; | ||
| 21 | 141 | ||
| 142 | .tt { | ||
| 143 | color: #0A1629; | ||
| 144 | margin: 0 0 30rpx; | ||
| 145 | font-size: 30rpx; | ||
| 146 | } | ||
| 147 | |||
| 148 | .ddd { | ||
| 149 | font-size: 28rpx; | ||
| 150 | color: #333; | ||
| 151 | |||
| 152 | .lab { | ||
| 153 | color: #999; | ||
| 154 | display: inline-block; | ||
| 155 | text-align: justify; | ||
| 156 | |||
| 157 | text { | ||
| 158 | word-break: break-all; | ||
| 159 | } | ||
| 160 | } | ||
| 161 | } | ||
| 162 | } | ||
| 22 | </style> | 163 | </style> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
pages/exam/score.vue
0 → 100644
| 1 | <template> | ||
| 2 | <view> | ||
| 3 | <!-- <uni-segmented-control class="whitebg" :current="current" :values="navs" @clickItem="onClickItem" | ||
| 4 | styleType="text" activeColor="#AD181F"></uni-segmented-control> --> | ||
| 5 | |||
| 6 | <!-- 成绩录入 --> | ||
| 7 | <view class="appList"> | ||
| 8 | <view class="appItem" v-for="item in infoList" :key="item.recordId" > | ||
| 9 | <view @click="goDetail(item)"> | ||
| 10 | <view class="status" > | ||
| 11 | <text :class="{ | ||
| 12 | 'text-primary':item.scoreStatus=='0', | ||
| 13 | 'text-success':item.scoreStatus=='2', | ||
| 14 | 'text-danger':item.scoreStatus=='3', | ||
| 15 | 'text-warning':item.scoreStatus=='4' | ||
| 16 | }">{{ item.scoreStatusStr }}</text> | ||
| 17 | </view> | ||
| 18 | |||
| 19 | <view class="date" v-if="item.status!='0'&&item.submitTime">提交时间:{{item.submitTime}}</view> | ||
| 20 | <view class="name mt0" >{{item.name}}</view> | ||
| 21 | <view class="pp esp">考段日期:{{item.startTime?.substring(0,16)}} 至 {{item.endTime?.substring(0,16)}}</view> | ||
| 22 | <view class="flexbox" > | ||
| 23 | <view> | ||
| 24 | 申请日期 | ||
| 25 | <view>{{item.applyTime?.substring(0, 10)}}</view> | ||
| 26 | </view> | ||
| 27 | <view> | ||
| 28 | 考段考生数 | ||
| 29 | <view>{{item.totalNum||'--'}}</view> | ||
| 30 | </view> | ||
| 31 | <view> | ||
| 32 | 总金额 | ||
| 33 | <view><text class="text-danger">¥{{(item.totalAmount*1).toFixed(2)}}</text></view> | ||
| 34 | </view> | ||
| 35 | </view> | ||
| 36 | </view> | ||
| 37 | <!-- <view class="func" v-if="(item.scoreStatus=='0'||item.scoreStatus=='3' || item.scoreStatus=='4')&& item.rankStatus == '1'"> | ||
| 38 | <button @click="scoreEdit(item)">成绩维护</button> | ||
| 39 | </view> --> | ||
| 40 | </view> | ||
| 41 | </view> | ||
| 42 | <view class="nodata" v-if="infoList.length==0"> | ||
| 43 | <image mode="aspectFit" src="/static/nodata.png"></image> | ||
| 44 | <text>暂无数据</text> | ||
| 45 | </view> | ||
| 46 | </view> | ||
| 47 | </template> | ||
| 48 | |||
| 49 | <script setup> | ||
| 50 | import * as examApi from '@/common/api_exam.js' | ||
| 51 | import _ from 'lodash' | ||
| 52 | import { ref } from 'vue' | ||
| 53 | import { onLoad,onShow } from '@dcloudio/uni-app' | ||
| 54 | |||
| 55 | const app = getApp(); | ||
| 56 | const queryParams = ref({ | ||
| 57 | status: '0', | ||
| 58 | rankStatus:'1' | ||
| 59 | }) | ||
| 60 | const current = ref() | ||
| 61 | const navs = ref(['审核中', '审核通过', '审核拒绝']) | ||
| 62 | const statusArr = ['审批中', '审批通过', '审批拒绝', '审批撤回'] | ||
| 63 | const deptType = ref('') | ||
| 64 | const infoList = ref([]) | ||
| 65 | const total = ref(0) | ||
| 66 | |||
| 67 | onLoad((options)=>{ | ||
| 68 | queryParams.value.type=options.type | ||
| 69 | }) | ||
| 70 | |||
| 71 | onShow(() => { | ||
| 72 | if (app.globalData.isLogin) { | ||
| 73 | init() | ||
| 74 | } else { | ||
| 75 | app.firstLoadCallback = () => { | ||
| 76 | init() | ||
| 77 | }; | ||
| 78 | } | ||
| 79 | }) | ||
| 80 | |||
| 81 | function init(){ | ||
| 82 | uni.showLoading({ | ||
| 83 | title: '加载中' | ||
| 84 | }) | ||
| 85 | deptType.value = app.globalData.deptType | ||
| 86 | getList() | ||
| 87 | } | ||
| 88 | |||
| 89 | function onClickItem(e) { | ||
| 90 | uni.showLoading({ | ||
| 91 | title: '加载中' | ||
| 92 | }) | ||
| 93 | queryParams.value.status = e.currentIndex | ||
| 94 | getList() | ||
| 95 | } | ||
| 96 | |||
| 97 | function getList() { | ||
| 98 | examApi.getRankScoreList(queryParams.value).then(res => { | ||
| 99 | |||
| 100 | infoList.value = res.rows | ||
| 101 | total.value = res.total | ||
| 102 | |||
| 103 | uni.hideLoading() | ||
| 104 | }) | ||
| 105 | } | ||
| 106 | |||
| 107 | function scoreEdit(item) { | ||
| 108 | console.log(item.sourceData) | ||
| 109 | var obj = { | ||
| 110 | flag: flag, | ||
| 111 | reason: null, | ||
| 112 | id: item.recordId | ||
| 113 | } | ||
| 114 | |||
| 115 | if (flag == '2') { | ||
| 116 | // 拒绝 | ||
| 117 | // 弹出框填写理由 | ||
| 118 | uni.showModal({ | ||
| 119 | title: '请输入拒绝理由', | ||
| 120 | editable: true, | ||
| 121 | success: function(res) { | ||
| 122 | if (res.confirm) { | ||
| 123 | if (!res.content) { | ||
| 124 | uni.showToast({ | ||
| 125 | title: '请输入拒绝理由', | ||
| 126 | icon: 'none' | ||
| 127 | }) | ||
| 128 | } else { | ||
| 129 | obj.reason = res.content | ||
| 130 | doApproval(obj) | ||
| 131 | } | ||
| 132 | } | ||
| 133 | } | ||
| 134 | }) | ||
| 135 | } else if (flag == '1') { | ||
| 136 | // 二次确认 | ||
| 137 | uni.showModal({ | ||
| 138 | title: '提示', | ||
| 139 | content: `确定审批通过吗`, | ||
| 140 | success: function(res) { | ||
| 141 | if (res.confirm) { | ||
| 142 | doApproval(obj) | ||
| 143 | } | ||
| 144 | } | ||
| 145 | }) | ||
| 146 | } | ||
| 147 | } | ||
| 148 | |||
| 149 | function doApproval(obj) { | ||
| 150 | examApi.doMergeFlows(obj).then((res) => { | ||
| 151 | uni.showToast({ | ||
| 152 | title: '操作成功', | ||
| 153 | icon: 'none' | ||
| 154 | }) | ||
| 155 | getList() | ||
| 156 | }) | ||
| 157 | } | ||
| 158 | |||
| 159 | function goDetail(item) { | ||
| 160 | let path = `/pages/rank/applyDetail?examId=${item.examId}` | ||
| 161 | uni.navigateTo({ | ||
| 162 | url: path | ||
| 163 | }); | ||
| 164 | } | ||
| 165 | |||
| 166 | </script> | ||
| 167 | |||
| 168 | <style lang="scss" scoped> | ||
| 169 | |||
| 170 | </style> |
pages/exam/scoreModify.vue
0 → 100644
pages/group/addGroupMemberPay.vue
0 → 100644
| 1 | <template> | ||
| 2 | <view class="hasfixedbottom"> | ||
| 3 | <view class="searchbar" style="justify-content: center;"> | ||
| 4 | <view class="invertedbtn-red" @click="gochose">+ 在线选择</view> | ||
| 5 | </view> | ||
| 6 | <uni-swipe-action> | ||
| 7 | <uni-swipe-action-item class="personitem" v-for="n in list"> | ||
| 8 | <view class="content-box"> | ||
| 9 | <view style="width: 70%;"> | ||
| 10 | <view>{{n.memberName}} | ||
| 11 | <view class="date"> | ||
| 12 | 团体类型: | ||
| 13 | <text v-if="n.deptType == 2">一级协会</text> | ||
| 14 | <text v-if="n.deptType == 3">直属协会</text> | ||
| 15 | <text v-if="n.deptType == 4">二级协会</text> | ||
| 16 | <text v-if="n.deptType == 5">三级协会</text> | ||
| 17 | <text v-if="n.deptType == 6">职业性团体会员</text> | ||
| 18 | |||
| 19 | </view> | ||
| 20 | <view class="date">原有效期:<text>{{n.validityTime?.slice(0,10)}}</text></view> | ||
| 21 | </view> | ||
| 22 | <view class="flexbox"> | ||
| 23 | <view> | ||
| 24 | 单价 <view>¥{{n.unitPrice}}</view> | ||
| 25 | </view> | ||
| 26 | <view> | ||
| 27 | 总价 <view> | ||
| 28 | <text class="text-danger">¥{{n.allPrice}}</text> | ||
| 29 | </view> | ||
| 30 | </view> | ||
| 31 | </view> | ||
| 32 | |||
| 33 | </view> | ||
| 34 | <view class="flex" @click="changeYear(n)"> | ||
| 35 | <view class="text-danger">({{yearlist[n.renewYear-1].text}})</view> | ||
| 36 | <uni-icons type="forward" size="18" color="#999"></uni-icons> | ||
| 37 | </view> | ||
| 38 | |||
| 39 | </view> | ||
| 40 | <template v-slot:right> | ||
| 41 | <view class="slot-button"> | ||
| 42 | <view @click="handleDelete(n)"> | ||
| 43 | <uni-icons type="trash-filled" color="#fff" size="20"></uni-icons> | ||
| 44 | <text class="slot-button-text">删除</text> | ||
| 45 | </view> | ||
| 46 | </view> | ||
| 47 | </template> | ||
| 48 | </uni-swipe-action-item> | ||
| 49 | </uni-swipe-action> | ||
| 50 | |||
| 51 | <view class="nodata" v-if="list.length==0"> | ||
| 52 | <image mode="aspectFit" src="/static/nodata.png"></image> | ||
| 53 | <button class="btn-red" @click="gochose">+ 在线选择</button> | ||
| 54 | </view> | ||
| 55 | |||
| 56 | <view class="fixedBottom"> | ||
| 57 | <button class="btn-red" :disabled="list?.length <= 0" @click="commitFN">保存并提交</button> | ||
| 58 | </view> | ||
| 59 | |||
| 60 | <uni-popup ref="pickView" type="bottom"> | ||
| 61 | <view class="pickViewBox"> | ||
| 62 | <view v-for="n in yearlist" @click="bindyear(n)"> | ||
| 63 | {{n.text}}<uni-icons v-show="n.value == (nowYear)" type="checkmarkempty" size="20" | ||
| 64 | color="green"></uni-icons> | ||
| 65 | </view> | ||
| 66 | </view> | ||
| 67 | </uni-popup> | ||
| 68 | </view> | ||
| 69 | </template> | ||
| 70 | |||
| 71 | <script setup> | ||
| 72 | import { | ||
| 73 | ref | ||
| 74 | } from 'vue' | ||
| 75 | import { | ||
| 76 | onShow, | ||
| 77 | onLoad | ||
| 78 | } from '@dcloudio/uni-app' | ||
| 79 | import * as api from '@/common/api.js' | ||
| 80 | import config from '@/config.js' | ||
| 81 | const app = getApp() | ||
| 82 | const queryParams = ref({ | ||
| 83 | rangeId: 0 | ||
| 84 | }) | ||
| 85 | const formData = ref({}) | ||
| 86 | const list = ref({}) | ||
| 87 | const total = ref(0) | ||
| 88 | const nowYear = ref(1) | ||
| 89 | const nowItem = ref({}) | ||
| 90 | const pickView = ref(null) | ||
| 91 | const visible = ref(true) | ||
| 92 | const yearlist = ref([{ | ||
| 93 | text: '一年', | ||
| 94 | value: 1 | ||
| 95 | }, { | ||
| 96 | text: '二年', | ||
| 97 | value: 2 | ||
| 98 | }, { | ||
| 99 | text: '三年', | ||
| 100 | value: 3 | ||
| 101 | }, { | ||
| 102 | text: '四年', | ||
| 103 | value: 4 | ||
| 104 | }, { | ||
| 105 | text: '五年', | ||
| 106 | value: 5 | ||
| 107 | }]) | ||
| 108 | onLoad((option) => { | ||
| 109 | if (option.rangeId) { | ||
| 110 | queryParams.value.rangeId = option.rangeId | ||
| 111 | } | ||
| 112 | }) | ||
| 113 | onShow(() => { | ||
| 114 | if (app.globalData.isLogin) { | ||
| 115 | init() | ||
| 116 | } else { | ||
| 117 | app.firstLoadCallback = () => { | ||
| 118 | init() | ||
| 119 | }; | ||
| 120 | } | ||
| 121 | }) | ||
| 122 | |||
| 123 | function init() { | ||
| 124 | getList() | ||
| 125 | } | ||
| 126 | |||
| 127 | function getList() { | ||
| 128 | api.getPayList(queryParams.value).then(res => { | ||
| 129 | list.value = [] | ||
| 130 | res.rows.forEach(item => { | ||
| 131 | if (item.rangeId == queryParams.value.rangeId) { | ||
| 132 | list.value = item.certList | ||
| 133 | formData.value = item | ||
| 134 | return | ||
| 135 | } | ||
| 136 | }) | ||
| 137 | }) | ||
| 138 | } | ||
| 139 | |||
| 140 | function gochose() { | ||
| 141 | let path = `/pages/group/vipList?rangeId=${queryParams.value.rangeId}` | ||
| 142 | uni.redirectTo({ | ||
| 143 | url: path | ||
| 144 | }); | ||
| 145 | } | ||
| 146 | |||
| 147 | function changeYear(e) { | ||
| 148 | nowItem.value = e | ||
| 149 | nowYear.value = e.renewYear | ||
| 150 | pickView.value.open() | ||
| 151 | |||
| 152 | } | ||
| 153 | |||
| 154 | function bindyear(n) { | ||
| 155 | nowYear.value = n.value | ||
| 156 | pickView.value.close() | ||
| 157 | nowItem.value.renewYear = n.value | ||
| 158 | |||
| 159 | api.editGroupYear({certId:nowItem.value.certId, renewYear:nowItem.value.renewYear}).then(res => { | ||
| 160 | for (var nn of list.value) { | ||
| 161 | if (nn.perId == nowItem.value.perId) { | ||
| 162 | nn.renewYear = nowItem.value.renewYear | ||
| 163 | } | ||
| 164 | } | ||
| 165 | getList() | ||
| 166 | }) | ||
| 167 | } | ||
| 168 | |||
| 169 | function handleDelete(row) { | ||
| 170 | uni.showModal({ | ||
| 171 | title: '提示', | ||
| 172 | content: `确定删除${row.memberName}吗`, | ||
| 173 | success: function(res) { | ||
| 174 | if (res.confirm) { | ||
| 175 | api.delcertified([row.certId]).then(res => { | ||
| 176 | uni.showToast({ | ||
| 177 | title: '删除成功' | ||
| 178 | }) | ||
| 179 | if (list.value.length == 1) { | ||
| 180 | queryParams.value.rangeId = 0 | ||
| 181 | } | ||
| 182 | getList() | ||
| 183 | }) | ||
| 184 | } | ||
| 185 | } | ||
| 186 | }) | ||
| 187 | } | ||
| 188 | |||
| 189 | function commitFN() { | ||
| 190 | if (queryParams.value.rangeId == 0) return | ||
| 191 | api.commitGroupPay(queryParams.value.rangeId).then(res => { | ||
| 192 | uni.showToast({ | ||
| 193 | title: '提交成功' | ||
| 194 | }) | ||
| 195 | uni.navigateBack() | ||
| 196 | }) | ||
| 197 | } | ||
| 198 | </script> | ||
| 199 | |||
| 200 | <style scoped lang="scss"> | ||
| 201 | .pickViewBox { | ||
| 202 | background-color: #fff; | ||
| 203 | text-align: center; | ||
| 204 | |||
| 205 | view { | ||
| 206 | line-height: 3; | ||
| 207 | } | ||
| 208 | } | ||
| 209 | |||
| 210 | .searchbar { | ||
| 211 | display: flex; | ||
| 212 | align-items: center; | ||
| 213 | padding: 25rpx; | ||
| 214 | box-sizing: border-box; | ||
| 215 | |||
| 216 | .invertedbtn-red { | ||
| 217 | margin-left: 15rpx; | ||
| 218 | font-size: 30rpx; | ||
| 219 | width: 100%; | ||
| 220 | padding: 16rpx 20rpx; | ||
| 221 | text-align: center; | ||
| 222 | box-sizing: border-box; | ||
| 223 | |||
| 224 | background-color: #fff; | ||
| 225 | } | ||
| 226 | |||
| 227 | :deep(.uni-easyinput .uni-easyinput__content) { | ||
| 228 | border-radius: 35rpx; | ||
| 229 | border: none; | ||
| 230 | height: 70rpx; | ||
| 231 | } | ||
| 232 | |||
| 233 | :deep(.uni-easyinput__content-input) { | ||
| 234 | font-size: 26rpx; | ||
| 235 | } | ||
| 236 | } | ||
| 237 | |||
| 238 | .slot-button { | ||
| 239 | display: flex; | ||
| 240 | align-items: center; | ||
| 241 | padding: 0 20px; | ||
| 242 | text-align: center; | ||
| 243 | background-color: #E60012; | ||
| 244 | } | ||
| 245 | |||
| 246 | .slot-button-text { | ||
| 247 | color: #ffffff; | ||
| 248 | display: block; | ||
| 249 | font-size: 14px; | ||
| 250 | } | ||
| 251 | |||
| 252 | .personitem { | ||
| 253 | background: #fff; | ||
| 254 | box-sizing: border-box; | ||
| 255 | margin-bottom: 30rpx; | ||
| 256 | |||
| 257 | .content-box { | ||
| 258 | display: flex; | ||
| 259 | align-items: center; | ||
| 260 | padding: 16rpx; | ||
| 261 | border-radius: 15rpx; | ||
| 262 | justify-content: space-between; | ||
| 263 | |||
| 264 | .noborder { | ||
| 265 | border: none; | ||
| 266 | |||
| 267 | :deep(.uni-select) { | ||
| 268 | border: none; | ||
| 269 | text-align: right; | ||
| 270 | } | ||
| 271 | } | ||
| 272 | } | ||
| 273 | |||
| 274 | .flexbox { | ||
| 275 | align-items: center; | ||
| 276 | font-size: 28rpx; | ||
| 277 | color: #91929E; | ||
| 278 | |||
| 279 | view { | ||
| 280 | font-size: 26rpx; | ||
| 281 | width: 40%; | ||
| 282 | display: inline-block; | ||
| 283 | margin-top: 10rpx; | ||
| 284 | |||
| 285 | view { | ||
| 286 | color: #0A1629; | ||
| 287 | font-size: 28rpx; | ||
| 288 | } | ||
| 289 | } | ||
| 290 | } | ||
| 291 | |||
| 292 | &:nth-child(3n) .colorful { | ||
| 293 | background: #014A9F; | ||
| 294 | } | ||
| 295 | |||
| 296 | &:nth-child(3n+1) .colorful { | ||
| 297 | background: #AD181F; | ||
| 298 | } | ||
| 299 | |||
| 300 | &:nth-child(3n+2) .colorful { | ||
| 301 | background: #D3B267; | ||
| 302 | } | ||
| 303 | } | ||
| 304 | |||
| 305 | .colorful { | ||
| 306 | width: 100rpx; | ||
| 307 | margin-right: 14rpx; | ||
| 308 | height: 100rpx; | ||
| 309 | line-height: 100rpx; | ||
| 310 | font-size: 44rpx; | ||
| 311 | color: #fff; | ||
| 312 | text-align: center; | ||
| 313 | border-radius: 50%; | ||
| 314 | } | ||
| 315 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | <template> | 1 | <template> |
| 2 | <view> | 2 | <view> |
| 3 | <!-- 会员认证 --> | 3 | <!-- 会员认证 --> |
| 4 | <!-- <view class="searchbar"> | 4 | <view class="searchbar"> |
| 5 | <uni-easyinput placeholderStyle="font-size:30rpx" :input-border="false" prefixIcon="search" | 5 | <uni-easyinput placeholderStyle="font-size:30rpx" :input-border="false" prefixIcon="search" |
| 6 | v-model="queryParams.rangeName" placeholder="缴费名称" @blur="getList" @clear="getList"> | 6 | v-model="queryParams.rangeName" placeholder="缴费名称" @blur="getList" @clear="getList"> |
| 7 | </uni-easyinput> | 7 | </uni-easyinput> |
| 8 | <view class="invertedbtn-red" @click="goAddPay">+ 新建缴费</view> | 8 | <view class="invertedbtn-red" v-if="userType=='2'" @click="goAddPay">+ 新建缴费</view> |
| 9 | </view> --> | 9 | </view> |
| 10 | <view class="appList"> | 10 | <view class="appList"> |
| 11 | <view class="appItem" v-for="item in list"> | 11 | <view class="appItem" v-for="item in list"> |
| 12 | <view class="status" @click="goDetail(item)"> | 12 | <view class="status" @click="goDetail(item)"> |
| ... | @@ -32,10 +32,9 @@ | ... | @@ -32,10 +32,9 @@ |
| 32 | <view>{{item.totalRenewYear}}</view> | 32 | <view>{{item.totalRenewYear}}</view> |
| 33 | </view> | 33 | </view> |
| 34 | </view> | 34 | </view> |
| 35 | <view class="func" v-if="item?.content?.status == 0"> | 35 | <view class="func" v-if="item.content?.status==0||item.content?.status==3||item.content?.status==4"> |
| 36 | <button | 36 | <button @click="handleUpdate(item)">编辑</button> |
| 37 | 37 | <button v-if="item.content?.status==0" @click="commitFN(item)">提交审核</button> | |
| 38 | @click="commitFN(item)">提交审核</button> | ||
| 39 | </view> | 38 | </view> |
| 40 | </view> | 39 | </view> |
| 41 | </view> | 40 | </view> |
| ... | @@ -54,12 +53,12 @@ | ... | @@ -54,12 +53,12 @@ |
| 54 | ref | 53 | ref |
| 55 | } from 'vue' | 54 | } from 'vue' |
| 56 | import { | 55 | import { |
| 57 | onLoad | 56 | onLoad,onShow |
| 58 | } from '@dcloudio/uni-app' | 57 | } from '@dcloudio/uni-app' |
| 59 | const app = getApp(); | 58 | const app = getApp(); |
| 60 | const list = ref([]) | 59 | const list = ref([]) |
| 61 | const queryParams = ref({}) | 60 | const queryParams = ref({}) |
| 62 | const deptType = ref('') | 61 | const userType = ref('') |
| 63 | const UpPop = ref(null) | 62 | const UpPop = ref(null) |
| 64 | const form = ref({ | 63 | const form = ref({ |
| 65 | docId:'', | 64 | docId:'', |
| ... | @@ -67,7 +66,7 @@ | ... | @@ -67,7 +66,7 @@ |
| 67 | url:'', | 66 | url:'', |
| 68 | remark:'' | 67 | remark:'' |
| 69 | }) | 68 | }) |
| 70 | onLoad(() => { | 69 | onShow(() => { |
| 71 | if (app.globalData.isLogin) { | 70 | if (app.globalData.isLogin) { |
| 72 | init() | 71 | init() |
| 73 | } else { | 72 | } else { |
| ... | @@ -79,7 +78,7 @@ | ... | @@ -79,7 +78,7 @@ |
| 79 | }) | 78 | }) |
| 80 | 79 | ||
| 81 | function init() { | 80 | function init() { |
| 82 | deptType.value = app.globalData.deptType | 81 | userType.value = app.globalData.userType |
| 83 | getList() | 82 | getList() |
| 84 | } | 83 | } |
| 85 | 84 | ||
| ... | @@ -112,6 +111,20 @@ | ... | @@ -112,6 +111,20 @@ |
| 112 | url: path | 111 | url: path |
| 113 | }); | 112 | }); |
| 114 | } | 113 | } |
| 114 | |||
| 115 | function goAddPay(){ | ||
| 116 | let path = `/pages/group/addGroupMemberPay` | ||
| 117 | uni.navigateTo({ | ||
| 118 | url: path | ||
| 119 | }); | ||
| 120 | } | ||
| 121 | function handleUpdate(row){ | ||
| 122 | let path = `/pages/group/addGroupMemberPay?rangeId=${row.rangeId}` | ||
| 123 | uni.navigateTo({ | ||
| 124 | url: path | ||
| 125 | }); | ||
| 126 | } | ||
| 127 | |||
| 115 | </script> | 128 | </script> |
| 116 | 129 | ||
| 117 | <style scoped lang="scss"> | 130 | <style scoped lang="scss"> | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <view class="hasfixedbottom"> | 2 | <view class="hasfixedbottom"> |
| 3 | <view class="h3-padding">成员信息</view> | ||
| 3 | <view class="wBox"> | 4 | <view class="wBox"> |
| 4 | <!-- 成员 --> | ||
| 5 | <view class="userlist"> | 5 | <view class="userlist"> |
| 6 | <view class="item" v-for="n in list"> | 6 | <view class="item" v-for="n in list"> |
| 7 | <view style="width: 100%"> | 7 | <view style="width: 100%"> | ... | ... |
pages/group/vipList.vue
0 → 100644
| 1 | <template> | ||
| 2 | <view class="hasfixedbottom"> | ||
| 3 | <view class="searchbar"> | ||
| 4 | <uni-easyinput placeholderStyle="font-size:30rpx" :input-border="false" prefixIcon="search" | ||
| 5 | v-model="queryParams.name" placeholder="团体会员名称" @blur="getList()" @clear="getList()"> | ||
| 6 | </uni-easyinput> | ||
| 7 | </view> | ||
| 8 | <view class="indexboxre"> | ||
| 9 | <view class="tt">会员列表</view> | ||
| 10 | <!-- <uni-indexed-list :options="list" :showSelect="true" @click="bindClick"></uni-indexed-list> --> | ||
| 11 | <view class="userlist"> | ||
| 12 | <view class="item" v-for="n in list"> | ||
| 13 | <view @click="checkThis(n)" v-if="n.canCommit"> | ||
| 14 | <image class="icon" v-if="n.checked" src="@/static/member/dx_dwn.png" /> | ||
| 15 | <image class="icon" v-else src="@/static/member/dx.png" /> | ||
| 16 | </view> | ||
| 17 | <!-- <view class="photobox"> | ||
| 18 | <image class="photo" v-if="n.photo" :src="config.baseUrl_api+n.photo" mode='aspectFill'></image> | ||
| 19 | <view class="colorful" v-else>{{n.name.slice(0,1)}}</view> | ||
| 20 | </view> --> | ||
| 21 | <view> | ||
| 22 | <view class="name">{{n.name}} | ||
| 23 | </view> | ||
| 24 | <view class="name"> | ||
| 25 | <text v-if="n.deptType == 2">一级协会</text> | ||
| 26 | <text v-if="n.deptType == 3">直属协会</text> | ||
| 27 | <text v-if="n.deptType == 4">二级协会</text> | ||
| 28 | <text v-if="n.deptType == 5">三级协会</text> | ||
| 29 | <text v-if="n.deptType == 6">职业性团体会员</text> | ||
| 30 | |||
| 31 | </view> | ||
| 32 | <view class="date">到期时间:{{n.validityDate?.slice(0,10)}}</view> | ||
| 33 | </view> | ||
| 34 | </view> | ||
| 35 | </view> | ||
| 36 | |||
| 37 | </view> | ||
| 38 | |||
| 39 | <view class="fixedBottom"> | ||
| 40 | |||
| 41 | <button class="btn-red" @click="handleImport">导 入</button> | ||
| 42 | </view> | ||
| 43 | |||
| 44 | </view> | ||
| 45 | </template> | ||
| 46 | |||
| 47 | <script setup> | ||
| 48 | import * as api from '@/common/api.js' | ||
| 49 | import config from '@/config.js' | ||
| 50 | import { | ||
| 51 | ref, | ||
| 52 | getCurrentInstance | ||
| 53 | } from 'vue' | ||
| 54 | import { | ||
| 55 | onLoad | ||
| 56 | } from '@dcloudio/uni-app' | ||
| 57 | const { | ||
| 58 | proxy | ||
| 59 | } = getCurrentInstance() | ||
| 60 | const app = getApp(); | ||
| 61 | const queryParams = ref({ | ||
| 62 | showMyPersonFlag: 1, | ||
| 63 | checkPaymentCommit: 1, | ||
| 64 | queryParams: 1 | ||
| 65 | }) | ||
| 66 | const list = ref([]) | ||
| 67 | const total = ref(0) | ||
| 68 | const userType = ref('') | ||
| 69 | onLoad((option) => { | ||
| 70 | userType.value = app.globalData.userType | ||
| 71 | queryParams.value.paymentRangeId = option.rangeId | ||
| 72 | getList() | ||
| 73 | }) | ||
| 74 | |||
| 75 | function getList() { | ||
| 76 | api.getMySonList(queryParams.value).then(res => { | ||
| 77 | list.value = res.data | ||
| 78 | total.value = res.data.length | ||
| 79 | }) | ||
| 80 | } | ||
| 81 | function checkThis(n){ | ||
| 82 | if(n.checked){ | ||
| 83 | n.checked = false | ||
| 84 | }else{ | ||
| 85 | n.checked = true | ||
| 86 | } | ||
| 87 | } | ||
| 88 | function handleImport(){ | ||
| 89 | var arr=[] | ||
| 90 | for(var n of list.value){ | ||
| 91 | if(n.checked){ | ||
| 92 | arr.push(n.memId) | ||
| 93 | } | ||
| 94 | } | ||
| 95 | if(arr.length==0){ | ||
| 96 | uni.showToast({ | ||
| 97 | title:"请选择团体", | ||
| 98 | icon:"none" | ||
| 99 | }) | ||
| 100 | return | ||
| 101 | } | ||
| 102 | api.addGroupPaymentGroup({ rangeId: queryParams.value.paymentRangeId, memIds: arr.join(',') }).then(res=>{ | ||
| 103 | let path = `/pages/group/addGroupMemberPay?rangeId=${res.data}` | ||
| 104 | uni.redirectTo({ | ||
| 105 | url: path | ||
| 106 | }); | ||
| 107 | }) | ||
| 108 | } | ||
| 109 | </script> | ||
| 110 | |||
| 111 | <style scoped lang="scss"> | ||
| 112 | |||
| 113 | |||
| 114 | .indexboxre { | ||
| 115 | padding: 0 30rpx; | ||
| 116 | |||
| 117 | .tt { | ||
| 118 | font-size: 30rpx; | ||
| 119 | margin: 0 0 30rpx; | ||
| 120 | color: #4C5359; | ||
| 121 | } | ||
| 122 | |||
| 123 | position: relative; | ||
| 124 | height: calc(100vh - 280rpx);overflow: auto; | ||
| 125 | } | ||
| 126 | |||
| 127 | .searchbar { | ||
| 128 | display: flex; | ||
| 129 | align-items: center; | ||
| 130 | padding: 25rpx; | ||
| 131 | box-sizing: border-box; | ||
| 132 | |||
| 133 | :deep(.uni-easyinput .uni-easyinput__content) { | ||
| 134 | border-radius: 35rpx; | ||
| 135 | border: none; | ||
| 136 | height: 70rpx; | ||
| 137 | } | ||
| 138 | |||
| 139 | :deep(.uni-easyinput__content-input) { | ||
| 140 | font-size: 26rpx; | ||
| 141 | } | ||
| 142 | } | ||
| 143 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| ... | @@ -12,93 +12,102 @@ | ... | @@ -12,93 +12,102 @@ |
| 12 | <!-- userType 1:中跆协 2:省 3:市区 4:道馆--> | 12 | <!-- userType 1:中跆协 2:省 3:市区 4:道馆--> |
| 13 | <!-- 4 --> | 13 | <!-- 4 --> |
| 14 | <view v-if="userType=='4'" @click="goAddVip"> | 14 | <view v-if="userType=='4'" @click="goAddVip"> |
| 15 | <image src="@/static/btn01.png"/> | 15 | <image src="@/static/btn01.png" /> |
| 16 | 添加会员</view> | 16 | 添加会员 |
| 17 | </view> | ||
| 17 | <view v-if="userType=='4'" @click="goPath('/pages/personalVip/payment')"> | 18 | <view v-if="userType=='4'" @click="goPath('/pages/personalVip/payment')"> |
| 18 | <image src="@/static/btn02.png"/> | 19 | <image src="@/static/btn02.png" /> |
| 19 | 会员缴费</view> | 20 | 会员缴费 |
| 21 | </view> | ||
| 20 | <!-- 3 2 1--> | 22 | <!-- 3 2 1--> |
| 21 | <view v-if="userType!='4'" @click="goPath('/pages/personalVip/audit')"> | 23 | <view v-if="userType!='4'" @click="goPath('/pages/personalVip/audit')"> |
| 22 | <image src="@/static/btn03.png"/> | 24 | <image src="@/static/btn03.png" /> |
| 23 | 缴费审核</view> | 25 | 缴费审核 |
| 26 | </view> | ||
| 24 | 27 | ||
| 25 | <!-- 都有 --> | 28 | <!-- 都有 --> |
| 26 | <view @click="goPath('/pages/personalVip/list')"> | 29 | <view @click="goPath('/pages/personalVip/list')"> |
| 27 | <image src="@/static/btn04.png"/> | 30 | <image src="@/static/btn04.png" /> |
| 28 | 会员查询</view> | 31 | 会员查询 |
| 32 | </view> | ||
| 29 | <view v-if="userType!='4'" @click="goPath('/pages/group/list')"> | 33 | <view v-if="userType!='4'" @click="goPath('/pages/group/list')"> |
| 30 | <image src="@/static/btn05.png"/>团体会员 | 34 | <image src="@/static/btn05.png" />团体会员 |
| 31 | </view> | 35 | </view> |
| 32 | </view> | 36 | </view> |
| 33 | 37 | ||
| 34 | </view> | 38 | </view> |
| 35 | <view class="girdBox"> | 39 | |
| 36 | <view v-if="userType!='3'" @click="goPath('/pages/personalVip/mobilize')"> | 40 | <view v-if="userType=='4'" class="girdBox"> |
| 37 | <image /> | 41 | <view @click="goPath('/pages/personalVip/mobilize')"> |
| 42 | <image src="@/static/icon/1.png" /> | ||
| 38 | 会员调动 | 43 | 会员调动 |
| 39 | </view> | 44 | </view> |
| 40 | <view v-if="userType=='2'" @click="goPath('/pages/personalVip/feeBill')"> | 45 | <view @click="goPath('/pages/level/apply')"> |
| 41 | <image />会员缴费单</view> | 46 | <image src="@/static/icon/3.png" />级位考试申请 |
| 42 | |||
| 43 | <view v-if="userType!='4'" @click="goPath('/pages/group/apply/applyList')"> | ||
| 44 | <image />团体会员审核 | ||
| 45 | </view> | 47 | </view> |
| 46 | <view v-if="userType=='2'" @click="goPath('/pages/group/pay')"> | ||
| 47 | <image />团体会员认证 | ||
| 48 | </view> | 48 | </view> |
| 49 | 49 | <view v-if="userType=='3'" class="girdBox"> | |
| 50 | <view v-if="userType=='2'" @click="goPath('/pages/group/feeBill')"> | 50 | <view @click="goPath('/pages/group/apply/applyList')"> |
| 51 | <image />团体会员缴费单 | 51 | <image src="@/static/icon/4.png" />团体会员审核 |
| 52 | </view> | 52 | </view> |
| 53 | 53 | <view @click="goPath('/pages/level/approval')"> | |
| 54 | <view v-if="userType=='4'" @click="goPath('/pages/level/apply')"> | 54 | <image src="@/static/icon/3.png" />级位考试审核 |
| 55 | <image />级位考试申请 | ||
| 56 | </view> | 55 | </view> |
| 57 | <view v-if="userType!='4'&&userType!='1'" @click="goPath('/pages/level/approval')"> | ||
| 58 | <image />级位考试审核 | ||
| 59 | </view> | 56 | </view> |
| 60 | <view v-if="userType=='2'" @click="goPath('/pages/level/apply')"> | 57 | <view v-if="userType=='2'" class="girdBox"> |
| 61 | <image />段位考试申请 | 58 | <view @click="goPath('/pages/personalVip/mobilize')"> |
| 59 | <image src="@/static/icon/2.png" /> | ||
| 60 | 会员调动审核 | ||
| 62 | </view> | 61 | </view> |
| 63 | 62 | <view @click="goPath('/pages/personalVip/feeBill')"> | |
| 64 | <view v-if="userType=='2'" @click="goPath('/pages/exam/payment?type=1')"> | 63 | <image src="@/static/icon/6.png" />会员缴费单 |
| 65 | <image />级位考试缴费单 | ||
| 66 | </view> | 64 | </view> |
| 67 | 65 | <view @click="goPath('/pages/group/apply/applyList')"> | |
| 68 | <view v-if="userType=='2'" @click="goPath('/pages/exam/payment?type=2')"> | 66 | <image src="@/static/icon/4.png" />团体会员审核 |
| 69 | <image />段位考试缴费单 | ||
| 70 | </view> | 67 | </view> |
| 71 | 68 | <view @click="goPath('/pages/group/pay')"> | |
| 72 | <view v-if="userType=='2'" @click="goPath('/pages/exam/payment?type=3')"> | 69 | <image src="@/static/icon/9.png" />团体会员认证 |
| 73 | <image />越段考试缴费单 | ||
| 74 | </view> | 70 | </view> |
| 75 | 71 | ||
| 72 | <view @click="goPath('/pages/group/feeBill')"> | ||
| 73 | <image src="@/static/icon/17.png" />团体会员缴费单 | ||
| 74 | </view> | ||
| 75 | <view @click="goPath('/pages/level/approval')"> | ||
| 76 | <image src="@/static/icon/3.png" />级位考试审核 | ||
| 77 | </view> | ||
| 78 | <view @click="goPath('/pages/exam/payment?type=1')"> | ||
| 79 | <image src="@/static/icon/10.png" />级位考试缴费单 | ||
| 80 | </view> | ||
| 76 | 81 | ||
| 82 | <view @click="goPath('/pages/index/more')"> | ||
| 83 | <image src="@/static/icon/m.png" />更多 | ||
| 84 | </view> | ||
| 77 | </view> | 85 | </view> |
| 78 | <view v-if="userType=='1'" class="girdBox"> | 86 | <view v-if="userType=='1'" class="girdBox"> |
| 87 | <view @click="goPath('/pages/personalVip/mobilize')"> | ||
| 88 | <image src="@/static/icon/2.png" /> | ||
| 89 | 会员调动审核 | ||
| 90 | </view> | ||
| 91 | <view @click="goPath('/pages/group/apply/applyList')"> | ||
| 92 | <image src="@/static/icon/4.png" />团体会员审核 | ||
| 93 | </view> | ||
| 79 | <view @click="goPath('/pages/level/ztx/approval')"> | 94 | <view @click="goPath('/pages/level/ztx/approval')"> |
| 80 | <image />级位考试审核 | 95 | <image src="@/static/icon/2.png" />级位考试审核 |
| 81 | </view> | 96 | </view> |
| 82 | <view @click="goPath('/pages/level/ztx/cert?type=1')"> | 97 | <view @click="goPath('/pages/level/ztx/cert?type=1')"> |
| 83 | <image />级位证书发布 | 98 | <image src="@/static/icon/18.png" />级位证书发布 |
| 84 | </view> | 99 | </view> |
| 85 | <view @click="goPath('/pages/rank/approval?type=2')"> | 100 | <view @click="goPath('/pages/rank/approval?type=2')"> |
| 86 | <image />段位考试审核 | 101 | <image src="@/static/icon/19.png" />段位考试审核 |
| 87 | </view> | 102 | </view> |
| 88 | <view @click="goPath('/pages/rank/scoreApproval?type=2')"> | 103 | <view @click="goPath('/pages/rank/scoreApproval?type=2')"> |
| 89 | <image />考段成绩审核 | 104 | <image src="@/static/icon/19.png" />考段成绩审核 |
| 90 | </view> | 105 | </view> |
| 91 | <view @click="goPath('/pages/level/ztx/cert?type=2')"> | 106 | <view @click="goPath('/pages/level/ztx/cert?type=2')"> |
| 92 | <image />考段证书发布 | 107 | <image src="@/static/icon/20.png" />考段证书发布 |
| 93 | </view> | ||
| 94 | <view @click="goPath('/pages/rank/approval?type=3')"> | ||
| 95 | <image />越段考试审核 | ||
| 96 | </view> | ||
| 97 | <view @click="goPath('/pages/rank/scoreApproval?type=3')"> | ||
| 98 | <image />越段成绩审核 | ||
| 99 | </view> | 108 | </view> |
| 100 | <view @click="goPath('/pages/level/ztx/cert?type=3')"> | 109 | <view @click="goPath(`/pages/index/more?userType=${userType}`)"> |
| 101 | <image />越段证书发布 | 110 | <image src="@/static/icon/m.png" />更多 |
| 102 | </view> | 111 | </view> |
| 103 | </view> | 112 | </view> |
| 104 | <uni-section title="待办提醒" padding> | 113 | <uni-section title="待办提醒" padding> |
| ... | @@ -162,12 +171,23 @@ | ... | @@ -162,12 +171,23 @@ |
| 162 | proId = option.proId; | 171 | proId = option.proId; |
| 163 | } | 172 | } |
| 164 | }); | 173 | }); |
| 165 | function loginOut(){ | 174 | |
| 175 | function loginOut() { | ||
| 176 | uni.showModal({ | ||
| 177 | content: `确认退出吗?`, | ||
| 178 | success: function(res) { | ||
| 179 | if (res.confirm) { | ||
| 166 | let path = '/pages/index/login'; | 180 | let path = '/pages/index/login'; |
| 167 | uni.reLaunch({ | 181 | uni.reLaunch({ |
| 168 | url: path | 182 | url: path |
| 169 | }); | 183 | }); |
| 170 | } | 184 | } |
| 185 | } | ||
| 186 | }) | ||
| 187 | |||
| 188 | |||
| 189 | } | ||
| 190 | |||
| 171 | function goPath(path) { | 191 | function goPath(path) { |
| 172 | uni.navigateTo({ | 192 | uni.navigateTo({ |
| 173 | url: path | 193 | url: path |
| ... | @@ -228,6 +248,9 @@ | ... | @@ -228,6 +248,9 @@ |
| 228 | } | 248 | } |
| 229 | 249 | ||
| 230 | function getMes() { | 250 | function getMes() { |
| 251 | uni.showLoading({ | ||
| 252 | title: '加载中' | ||
| 253 | }); | ||
| 231 | api.getMessage({ | 254 | api.getMessage({ |
| 232 | pageNum: 1, | 255 | pageNum: 1, |
| 233 | pageSize: 10 | 256 | pageSize: 10 |
| ... | @@ -273,11 +296,12 @@ | ... | @@ -273,11 +296,12 @@ |
| 273 | break | 296 | break |
| 274 | case 50001: | 297 | case 50001: |
| 275 | d.name = '你有一条新的个人会员申请,点击去处理!' | 298 | d.name = '你有一条新的个人会员申请,点击去处理!' |
| 276 | d.path = '/pages/personalVip/approvalList' | 299 | d.path = '/pages/personalVip/list' |
| 277 | break | 300 | break |
| 278 | } | 301 | } |
| 279 | } | 302 | } |
| 280 | messageList.value = res.rows | 303 | messageList.value = res.rows |
| 304 | uni.hideLoading(); | ||
| 281 | }) | 305 | }) |
| 282 | } | 306 | } |
| 283 | 307 | ||
| ... | @@ -317,9 +341,17 @@ | ... | @@ -317,9 +341,17 @@ |
| 317 | } | 341 | } |
| 318 | </script> | 342 | </script> |
| 319 | <style scope lang="scss"> | 343 | <style scope lang="scss"> |
| 320 | .loginOutIcon{position: absolute;right: 30rpx;top: 30rpx; | 344 | .loginOutIcon { |
| 321 | image{width: 50rpx;height: 50rpx;} | 345 | position: absolute; |
| 346 | right: 30rpx; | ||
| 347 | top: 30rpx; | ||
| 348 | |||
| 349 | image { | ||
| 350 | width: 50rpx; | ||
| 351 | height: 50rpx; | ||
| 352 | } | ||
| 322 | } | 353 | } |
| 354 | |||
| 323 | .welcome { | 355 | .welcome { |
| 324 | padding: 55rpx; | 356 | padding: 55rpx; |
| 325 | line-height: 55rpx; | 357 | line-height: 55rpx; |
| ... | @@ -328,8 +360,15 @@ | ... | @@ -328,8 +360,15 @@ |
| 328 | 360 | ||
| 329 | .flexbox { | 361 | .flexbox { |
| 330 | display: flex; | 362 | display: flex; |
| 331 | justify-content: space-around;text-align: center; | 363 | justify-content: space-around; |
| 332 | image{width: 90rpx;height: 90rpx;display: block;margin: auto;} | 364 | text-align: center; |
| 365 | |||
| 366 | image { | ||
| 367 | width: 90rpx; | ||
| 368 | height: 90rpx; | ||
| 369 | display: block; | ||
| 370 | margin: auto; | ||
| 371 | } | ||
| 333 | } | 372 | } |
| 334 | 373 | ||
| 335 | .image { | 374 | .image { |
| ... | @@ -372,7 +411,11 @@ | ... | @@ -372,7 +411,11 @@ |
| 372 | } | 411 | } |
| 373 | 412 | ||
| 374 | :deep(.uni-section .uni-section-header__content) { | 413 | :deep(.uni-section .uni-section-header__content) { |
| 375 | font-size: 36rpx; | 414 | font-size: 44rpx; |
| 415 | font-weight: bold; | ||
| 376 | color: #29343C; | 416 | color: #29343C; |
| 377 | } | 417 | } |
| 418 | :deep(.uni-section .uni-section-header){ | ||
| 419 | padding: 0 30rpx; | ||
| 420 | } | ||
| 378 | </style> | 421 | </style> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
pages/index/more.vue
0 → 100644
| 1 | <template> | ||
| 2 | <view> | ||
| 3 | <view v-if="userType=='1'" class="girdBox f3"> | ||
| 4 | <view @click="goPath('/pages/rank/approval?type=3')"> | ||
| 5 | <image src="@/static/icon/21.png" />越段考试审核 | ||
| 6 | </view> | ||
| 7 | <view @click="goPath('/pages/rank/scoreApproval?type=3')"> | ||
| 8 | <image src="@/static/icon/22.png" />越段成绩审核 | ||
| 9 | </view> | ||
| 10 | <view @click="goPath('/pages/level/ztx/cert?type=3')"> | ||
| 11 | <image src="@/static/icon/23.png" />越段证书发布 | ||
| 12 | </view> | ||
| 13 | </view> | ||
| 14 | <view class="girdBox" v-if="userType=='2'"> | ||
| 15 | <view @click="goPath('/pages/rank/apply?type=2')"> | ||
| 16 | <image src="@/static/icon/11.png" />段位考试申请 | ||
| 17 | </view> | ||
| 18 | |||
| 19 | <view @click="goPath('/pages/exam/payment?type=2')"> | ||
| 20 | <image src="@/static/icon/13.png" />段位考试<br />缴费单 | ||
| 21 | </view> | ||
| 22 | |||
| 23 | <view @click="goPath('/pages/exam/score?type=2')"> | ||
| 24 | <image src="@/static/icon/12.png" />段位考试<br />成绩录入 | ||
| 25 | </view> | ||
| 26 | <view @click="goPath('/pages/rank/apply?type=3')"> | ||
| 27 | <image src="@/static/icon/14.png" />越位考试<br />申请 | ||
| 28 | </view> | ||
| 29 | |||
| 30 | <view @click="goPath('/pages/exam/payment?type=3')"> | ||
| 31 | <image src="@/static/icon/16.png" />越段考试<br />缴费单 | ||
| 32 | </view> | ||
| 33 | |||
| 34 | <view @click="goPath('/pages/exam/score?type=3')"> | ||
| 35 | <image src="@/static/icon/15.png" />越段考试<br />成绩录入 | ||
| 36 | </view> | ||
| 37 | </view> | ||
| 38 | </view> | ||
| 39 | </template> | ||
| 40 | |||
| 41 | <script setup> | ||
| 42 | import { | ||
| 43 | onShow,onLoad | ||
| 44 | } from '@dcloudio/uni-app' | ||
| 45 | import { | ||
| 46 | ref | ||
| 47 | } from 'vue' | ||
| 48 | const app = getApp() | ||
| 49 | const userType = ref() | ||
| 50 | onLoad((option)=>{ | ||
| 51 | userType.value = option.userType | ||
| 52 | }) | ||
| 53 | |||
| 54 | function goPath(path) { | ||
| 55 | uni.navigateTo({ | ||
| 56 | url: path | ||
| 57 | }); | ||
| 58 | } | ||
| 59 | </script> | ||
| 60 | |||
| 61 | <style scoped lang="scss"> | ||
| 62 | |||
| 63 | .girdBox { | ||
| 64 | display: flex; | ||
| 65 | flex-wrap: wrap; | ||
| 66 | padding: 30rpx 0; | ||
| 67 | background: #FFFFFF; | ||
| 68 | margin: 50rpx; | ||
| 69 | border-radius: 20rpx; | ||
| 70 | |||
| 71 | view { | ||
| 72 | width: 25%; | ||
| 73 | text-align: center; | ||
| 74 | padding: 2% 0; | ||
| 75 | font-size: 24rpx; | ||
| 76 | color: #434343; | ||
| 77 | |||
| 78 | image { | ||
| 79 | width: 80rpx; | ||
| 80 | height: 80rpx; | ||
| 81 | display: block; | ||
| 82 | margin: auto; | ||
| 83 | } | ||
| 84 | } | ||
| 85 | } | ||
| 86 | .f3{ | ||
| 87 | view { | ||
| 88 | width:33%;} | ||
| 89 | } | ||
| 90 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| ... | @@ -36,11 +36,19 @@ | ... | @@ -36,11 +36,19 @@ |
| 36 | </view> | 36 | </view> |
| 37 | <view class="wBox" v-if="active == 1"> | 37 | <view class="wBox" v-if="active == 1"> |
| 38 | <!-- 添加考生 --> | 38 | <!-- 添加考生 --> |
| 39 | <button class="btn-red-kx mini" @click="chooseOnline">在线选择</button> | 39 | <view class="flexbox"> |
| 40 | <button class="btn-red-kx mini w45" @click="chooseOnline"> | ||
| 41 | <uni-icons type="personadd" size="16" color="#AD181F"></uni-icons> | ||
| 42 | 在线选择</button> | ||
| 43 | <button class="btn-red-kx mini w45" @click="handleUpdate"> | ||
| 44 | <uni-icons type="upload" size="16" color="#AD181F"></uni-icons> | ||
| 45 | 上传成绩单</button> | ||
| 46 | </view> | ||
| 40 | <view class="vipData mt30"> | 47 | <view class="vipData mt30"> |
| 41 | <view>共<text>{{tablePersonInfo.total}}</text>人</view> | 48 | <view>共<text>{{tablePersonInfo.total}}</text>人</view> |
| 42 | <view v-for="l in tablePersonInfo.levelArr" :key="l.level"> | 49 | <view v-for="l in tablePersonInfo.levelArr" :key="l.level"> |
| 43 | {{ szToHz(l.level) }}级:<text>{{tablePersonInfo.total}}</text>人</view> | 50 | {{ szToHz(l.level) }}级:<text>{{tablePersonInfo.total}}</text>人 |
| 51 | </view> | ||
| 44 | </view> | 52 | </view> |
| 45 | <view class="userlist"> | 53 | <view class="userlist"> |
| 46 | <view class="item" v-for="n in infoList" style="background-color: #fffafa;"> | 54 | <view class="item" v-for="n in infoList" style="background-color: #fffafa;"> |
| ... | @@ -73,8 +81,7 @@ | ... | @@ -73,8 +81,7 @@ |
| 73 | <view style="width: 30%;"> | 81 | <view style="width: 30%;"> |
| 74 | 是否通过 | 82 | 是否通过 |
| 75 | <view> | 83 | <view> |
| 76 | <uni-data-select v-model="n.isPass" :localdata="range" | 84 | <uni-data-select v-model="n.isPass" :localdata="range"></uni-data-select> |
| 77 | ></uni-data-select> | ||
| 78 | </view> | 85 | </view> |
| 79 | </view> | 86 | </view> |
| 80 | </view> | 87 | </view> |
| ... | @@ -95,7 +102,7 @@ | ... | @@ -95,7 +102,7 @@ |
| 95 | </view> | 102 | </view> |
| 96 | <view class="fixedBottom" v-if="active == 1"> | 103 | <view class="fixedBottom" v-if="active == 1"> |
| 97 | <button class="btn-red-kx" style="width: 25%;" @click="active=0">上一步</button> | 104 | <button class="btn-red-kx" style="width: 25%;" @click="active=0">上一步</button> |
| 98 | <button class="btn-red" style="width: 25%;" @click="submitForm2(0)">保存</button> | 105 | <button class="btn-red-kx" style="width: 25%;" @click="submitForm2(0)">保存</button> |
| 99 | <button class="btn-red" style="width: 30%;" @click="submitForm2(1)">提交审核</button> | 106 | <button class="btn-red" style="width: 30%;" @click="submitForm2(1)">提交审核</button> |
| 100 | </view> | 107 | </view> |
| 101 | 108 | ||
| ... | @@ -116,15 +123,32 @@ | ... | @@ -116,15 +123,32 @@ |
| 116 | <view> | 123 | <view> |
| 117 | <view class="name">{{n.name}} <text>{{n.perCode}}</text></view> | 124 | <view class="name">{{n.name}} <text>{{n.perCode}}</text></view> |
| 118 | <view class="date">到期时间:{{n.validityDate}}</view> | 125 | <view class="date">到期时间:{{n.validityDate}}</view> |
| 119 | <view class="date" style="color: #1561CB;" v-if="n.levelJi&&n.levelJi!=0">级位:{{szToHz(n.levelJi)}}级</view> | 126 | <view class="date" style="color: #1561CB;" v-if="n.levelJi&&n.levelJi!=0"> |
| 120 | <view class="date" v-else >级位:十级</view> | 127 | 级位:{{szToHz(n.levelJi)}}级</view> |
| 128 | <view class="date" v-else>级位:十级</view> | ||
| 121 | </view> | 129 | </view> |
| 122 | </view> | 130 | </view> |
| 123 | 131 | <view class="nodata" v-if="studentList.length==0"> | |
| 124 | <button class="btn-red-kx" @click="submitStudents">确定</button> | 132 | <image mode="aspectFit" src="/static/nodata.png"></image> |
| 133 | <text>无可参加考试会员</text> | ||
| 134 | </view> | ||
| 135 | <button class="btn-red-kx" v-if="studentList.length!=0" @click="submitStudents">确定</button> | ||
| 125 | </view> | 136 | </view> |
| 126 | </view> | 137 | </view> |
| 127 | </uni-popup> | 138 | </uni-popup> |
| 139 | |||
| 140 | <uni-popup ref="UpPop" type="bottom" background-color="#fff" animation> | ||
| 141 | <view class="popBody"> | ||
| 142 | <view class="h3 text-center">上传成绩单</view> | ||
| 143 | <text class="must">*请上传大小不超过 10MB 格式为 png/jpg/jpeg/pdf/zip 的文件</text> | ||
| 144 | <uni-file-picker v-model="transcript" class="mtb30" file-mediatype="all" | ||
| 145 | file-extname="png,jpg,jpeg,pdf,zip" @select="selectFile" @progress="fileProgress" | ||
| 146 | @delete="delSupplementFile"></uni-file-picker> | ||
| 147 | |||
| 148 | <button class="btn-red" @click="uploadSure">确定</button> | ||
| 149 | </view> | ||
| 150 | </uni-popup> | ||
| 151 | |||
| 128 | </view> | 152 | </view> |
| 129 | </template> | 153 | </template> |
| 130 | 154 | ||
| ... | @@ -143,7 +167,7 @@ | ... | @@ -143,7 +167,7 @@ |
| 143 | const app = getApp(); | 167 | const app = getApp(); |
| 144 | const memberInfo = app.globalData.memberInfo | 168 | const memberInfo = app.globalData.memberInfo |
| 145 | const form = ref({ | 169 | const form = ref({ |
| 146 | 170 | type: 1 | |
| 147 | }); | 171 | }); |
| 148 | const dataList = ref([]); | 172 | const dataList = ref([]); |
| 149 | const examinerForChoose = ['A', 'B', 'C'] | 173 | const examinerForChoose = ['A', 'B', 'C'] |
| ... | @@ -156,13 +180,50 @@ | ... | @@ -156,13 +180,50 @@ |
| 156 | title: '添加考生' | 180 | title: '添加考生' |
| 157 | }]) | 181 | }]) |
| 158 | const choseStudent = ref(null) | 182 | const choseStudent = ref(null) |
| 183 | const UpPop = ref(null) | ||
| 159 | const studentList = ref([]) | 184 | const studentList = ref([]) |
| 160 | const infoList = ref([]) | 185 | const infoList = ref([]) |
| 161 | const ids = ref([]) | 186 | const ids = ref([]) |
| 162 | const tablePersonInfo = ref({}) | 187 | const tablePersonInfo = ref({}) |
| 163 | const transcript = ref([]) | 188 | const transcript = ref([]) |
| 164 | const levelArr = ref([{value:'10',text:'十级'},{value:'9',text:'九级'},{value:'8',text:'八级'},{value:'7',text:'七级'},{value:'6',text:'六级'},{value:'5',text:'五级'},{value:'4',text:'四级'},{value:'3',text:'三级'},{value:'2',text:'二级'},{value:'1',text:'一级'}]) | 189 | const levelArr = ref([{ |
| 165 | const range = ref([{value:'1',text:'是'},{value:'0',text:'否'}]) | 190 | value: '10', |
| 191 | text: '十级' | ||
| 192 | }, { | ||
| 193 | value: '9', | ||
| 194 | text: '九级' | ||
| 195 | }, { | ||
| 196 | value: '8', | ||
| 197 | text: '八级' | ||
| 198 | }, { | ||
| 199 | value: '7', | ||
| 200 | text: '七级' | ||
| 201 | }, { | ||
| 202 | value: '6', | ||
| 203 | text: '六级' | ||
| 204 | }, { | ||
| 205 | value: '5', | ||
| 206 | text: '五级' | ||
| 207 | }, { | ||
| 208 | value: '4', | ||
| 209 | text: '四级' | ||
| 210 | }, { | ||
| 211 | value: '3', | ||
| 212 | text: '三级' | ||
| 213 | }, { | ||
| 214 | value: '2', | ||
| 215 | text: '二级' | ||
| 216 | }, { | ||
| 217 | value: '1', | ||
| 218 | text: '一级' | ||
| 219 | }]) | ||
| 220 | const range = ref([{ | ||
| 221 | value: '1', | ||
| 222 | text: '是' | ||
| 223 | }, { | ||
| 224 | value: '0', | ||
| 225 | text: '否' | ||
| 226 | }]) | ||
| 166 | let examId | 227 | let examId |
| 167 | onLoad(option => { | 228 | onLoad(option => { |
| 168 | console.log(option) | 229 | console.log(option) |
| ... | @@ -302,6 +363,13 @@ | ... | @@ -302,6 +363,13 @@ |
| 302 | // form.value.examId 下一步 | 363 | // form.value.examId 下一步 |
| 303 | active.value = 1 | 364 | active.value = 1 |
| 304 | getChosedStudentList() | 365 | getChosedStudentList() |
| 366 | if(form.value.examId){ | ||
| 367 | api.getLevelApplyInfo(form.value.examId).then(res=>{ | ||
| 368 | if (res.data.transcript) { | ||
| 369 | transcript.value = JSON.parse(res.data.transcript) | ||
| 370 | } | ||
| 371 | }) | ||
| 372 | } | ||
| 305 | }) | 373 | }) |
| 306 | } | 374 | } |
| 307 | } | 375 | } |
| ... | @@ -426,16 +494,19 @@ | ... | @@ -426,16 +494,19 @@ |
| 426 | }) | 494 | }) |
| 427 | } | 495 | } |
| 428 | } | 496 | } |
| 497 | |||
| 429 | function szToHz(num) { | 498 | function szToHz(num) { |
| 430 | const hzArr = ['〇', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十'] | 499 | const hzArr = ['〇', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十'] |
| 431 | return hzArr[parseInt(num)] | 500 | return hzArr[parseInt(num)] |
| 432 | } | 501 | } |
| 433 | 502 | ||
| 434 | let nowRow | 503 | let nowRow |
| 435 | function changeLevelfather(row){ | 504 | |
| 505 | function changeLevelfather(row) { | ||
| 436 | nowRow = row | 506 | nowRow = row |
| 437 | } | 507 | } |
| 438 | function changeLevel(e){ | 508 | |
| 509 | function changeLevel(e) { | ||
| 439 | console.log(e) | 510 | console.log(e) |
| 440 | if (e !== nowRow.levelRecommend) { | 511 | if (e !== nowRow.levelRecommend) { |
| 441 | uni.showModal({ | 512 | uni.showModal({ |
| ... | @@ -446,13 +517,14 @@ | ... | @@ -446,13 +517,14 @@ |
| 446 | getTablePersonInfo() | 517 | getTablePersonInfo() |
| 447 | } | 518 | } |
| 448 | }, | 519 | }, |
| 449 | fail: function (res) { | 520 | fail: function(res) { |
| 450 | nowRow.levelNew = nowRow.levelRecommend | 521 | nowRow.levelNew = nowRow.levelRecommend |
| 451 | } | 522 | } |
| 452 | }) | 523 | }) |
| 453 | } | 524 | } |
| 454 | } | 525 | } |
| 455 | function submitForm2(flag){ | 526 | |
| 527 | function submitForm2(flag) { | ||
| 456 | if (flag === 1) { | 528 | if (flag === 1) { |
| 457 | if (infoList.value.length == 0) { | 529 | if (infoList.value.length == 0) { |
| 458 | uni.showToast({ | 530 | uni.showToast({ |
| ... | @@ -473,14 +545,24 @@ | ... | @@ -473,14 +545,24 @@ |
| 473 | title: '提示', | 545 | title: '提示', |
| 474 | content: `确定提交审核?`, | 546 | content: `确定提交审核?`, |
| 475 | success: function(res) { | 547 | success: function(res) { |
| 476 | saveStep2(flag) | 548 | saveStep2(flag).then(res => { |
| 549 | uni.showToast({ | ||
| 550 | title: `操作成功` | ||
| 551 | }) | ||
| 552 | uni.navigateBack() | ||
| 553 | }) | ||
| 477 | } | 554 | } |
| 478 | }) | 555 | }) |
| 479 | } else { | 556 | } else { |
| 480 | saveStep2(flag) | 557 | saveStep2(flag).then(res => { |
| 558 | uni.showToast({ | ||
| 559 | title: `操作成功` | ||
| 560 | }) | ||
| 561 | }) | ||
| 481 | } | 562 | } |
| 482 | } | 563 | } |
| 483 | function saveStep2(flag){ | 564 | |
| 565 | function saveStep2(flag) { | ||
| 484 | const data = _.map(infoList.value, (d) => { | 566 | const data = _.map(infoList.value, (d) => { |
| 485 | return { | 567 | return { |
| 486 | id: d.id, | 568 | id: d.id, |
| ... | @@ -497,9 +579,65 @@ | ... | @@ -497,9 +579,65 @@ |
| 497 | }) | 579 | }) |
| 498 | } | 580 | } |
| 499 | 581 | ||
| 582 | function handleUpdate() { | ||
| 583 | UpPop.value.open() | ||
| 584 | } | ||
| 585 | let selectFileValue = {} | ||
| 586 | |||
| 587 | function selectFile(e) { | ||
| 588 | console.log(e) | ||
| 589 | for (const n in e.tempFiles) { | ||
| 590 | api.uploadFileList(e.tempFilePaths[n]).then(data => { | ||
| 591 | console.log(data) | ||
| 592 | selectFileValue = { | ||
| 593 | url: data, | ||
| 594 | name: e.tempFiles[n].name, | ||
| 595 | extname: e.tempFiles[n].extname | ||
| 596 | } | ||
| 597 | |||
| 598 | transcript.value.push(selectFileValue) | ||
| 599 | }); | ||
| 600 | } | ||
| 601 | |||
| 602 | } | ||
| 603 | |||
| 604 | function fileProgress(e) { | ||
| 605 | console.log('progress:' + e) | ||
| 606 | } | ||
| 607 | |||
| 608 | function delSupplementFile(e) { | ||
| 609 | transcript.value = _.remove(transcript.value, function(n) { | ||
| 610 | return n.name != e.tempFile.name; | ||
| 611 | }); | ||
| 612 | console.log(transcript.value) | ||
| 613 | } | ||
| 614 | |||
| 615 | function uploadSure() { | ||
| 616 | console.log(transcript.value) | ||
| 617 | // 上传确定 | ||
| 618 | if (transcript.value.length == 0) { | ||
| 619 | uni.showToast({ | ||
| 620 | title: `请上传成绩单`, | ||
| 621 | icon: 'error' | ||
| 622 | }) | ||
| 623 | return | ||
| 624 | } | ||
| 625 | |||
| 626 | form.value.transcript = JSON.stringify(_.map(transcript.value, (t) => { | ||
| 627 | return { | ||
| 628 | name: t.name, | ||
| 629 | url: t.url | ||
| 630 | } | ||
| 631 | })) | ||
| 632 | UpPop.value.close() | ||
| 633 | } | ||
| 500 | </script> | 634 | </script> |
| 501 | 635 | ||
| 502 | <style lang="scss" scoped> | 636 | <style lang="scss" scoped> |
| 637 | :deep(.uni-progress-bar) { | ||
| 638 | display: none; | ||
| 639 | } | ||
| 640 | |||
| 503 | .wBox { | 641 | .wBox { |
| 504 | width: 700rpx; | 642 | width: 700rpx; |
| 505 | padding: 30rpx; | 643 | padding: 30rpx; |
| ... | @@ -512,5 +650,8 @@ | ... | @@ -512,5 +650,8 @@ |
| 512 | :deep(.uni-forms-item__inner) { | 650 | :deep(.uni-forms-item__inner) { |
| 513 | padding-bottom: 20rpx; | 651 | padding-bottom: 20rpx; |
| 514 | } | 652 | } |
| 515 | .popBody{padding: 30rpx;} | 653 | |
| 654 | .popBody { | ||
| 655 | padding: 40rpx 30rpx; | ||
| 656 | } | ||
| 516 | </style> | 657 | </style> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -9,16 +9,15 @@ | ... | @@ -9,16 +9,15 @@ |
| 9 | <view class="appList"> | 9 | <view class="appList"> |
| 10 | <view class="appItem" v-for="item in list"> | 10 | <view class="appItem" v-for="item in list"> |
| 11 | <view class="status" @click="goDetail(item)"> | 11 | <view class="status" @click="goDetail(item)"> |
| 12 | <text :class="{ | 12 | <text v-if="item.status=='0'" class="text-primary">{{ item.statusStr }}</text> |
| 13 | 'text-primary':item.status=='1', | 13 | <text v-if="item.status=='1'" class="text-primary">{{ item.statusStr }}</text> |
| 14 | 'text-success':item.status=='2', | 14 | <text v-if="item.status=='2'" class="text-success">{{ item.statusStr }}</text> |
| 15 | 'text-danger':item.status=='3', | 15 | <text v-if="item.status=='3'" class="text-danger">{{ item.statusStr }}</text> |
| 16 | 'text-warning':item.status=='4' | 16 | <text v-if="item.status=='4'" class="text-warning">{{ item.statusStr }}</text> |
| 17 | }">{{ item.statusStr }}</text> | ||
| 18 | </view> | 17 | </view> |
| 19 | |||
| 20 | <view class="date" v-if="item.status!='0'&&item.submitTime">提交时间:{{item.submitTime}}</view> | 18 | <view class="date" v-if="item.status!='0'&&item.submitTime">提交时间:{{item.submitTime}}</view> |
| 21 | <view class="name mt0" @click="goDetail(item)">{{item.name}}</view> | 19 | <view class="name mt0" @click="goDetail(item)">{{item.name}}</view> |
| 20 | <view class="pp esp">申请单位:{{item.memberName}}</view> | ||
| 22 | <view class="pp esp">考级日期:{{item.startTime.substring(0,16)}} 至 {{item.endTime.substring(0,16)}}</view> | 21 | <view class="pp esp">考级日期:{{item.startTime.substring(0,16)}} 至 {{item.endTime.substring(0,16)}}</view> |
| 23 | <view class="flexbox" @click="goDetail(item)"> | 22 | <view class="flexbox" @click="goDetail(item)"> |
| 24 | <view> | 23 | <view> |
| ... | @@ -26,8 +25,8 @@ | ... | @@ -26,8 +25,8 @@ |
| 26 | <view>{{item.applyTime.substring(0, 10)}}</view> | 25 | <view>{{item.applyTime.substring(0, 10)}}</view> |
| 27 | </view> | 26 | </view> |
| 28 | <view> | 27 | <view> |
| 29 | 申请单位 | 28 | 考官 |
| 30 | <view>{{item.memberName}}</view> | 29 | <view>{{item.examinerNames}}</view> |
| 31 | </view> | 30 | </view> |
| 32 | <view> | 31 | <view> |
| 33 | 通过人数 | 32 | 通过人数 |
| ... | @@ -117,39 +116,42 @@ | ... | @@ -117,39 +116,42 @@ |
| 117 | url: path | 116 | url: path |
| 118 | }); | 117 | }); |
| 119 | } | 118 | } |
| 120 | function handleSubmit(item){ | 119 | |
| 120 | function handleSubmit(item) { | ||
| 121 | uni.showModal({ | 121 | uni.showModal({ |
| 122 | title: '提示', | 122 | title: '提示', |
| 123 | content: `确定提交${item.name}进行审核吗`, | 123 | content: `确定提交${item.name}进行审核吗`, |
| 124 | success: function(res) { | 124 | success: function(res) { |
| 125 | if (res.confirm) { | 125 | if (res.confirm) { |
| 126 | uni.showLoading({ | 126 | uni.showLoading({ |
| 127 | title:`提交中` | 127 | title: `提交中` |
| 128 | }) | 128 | }) |
| 129 | upApply(item.examId) | 129 | upApply(item.examId) |
| 130 | } | 130 | } |
| 131 | } | 131 | } |
| 132 | }) | 132 | }) |
| 133 | } | 133 | } |
| 134 | function upApply(id){ | 134 | |
| 135 | api.submitVerity(id).then(res=>{ | 135 | function upApply(id) { |
| 136 | api.submitVerity(id).then(res => { | ||
| 136 | uni.hideLoading() | 137 | uni.hideLoading() |
| 137 | getList() | 138 | getList() |
| 138 | uni.showToast({ | 139 | uni.showToast({ |
| 139 | title:`提交成功` | 140 | title: `提交成功` |
| 140 | }) | 141 | }) |
| 141 | }) | 142 | }) |
| 142 | } | 143 | } |
| 143 | 144 | ||
| 144 | 145 | ||
| 145 | function goDetail(item) { | 146 | function goDetail(item) { |
| 146 | if(item.status!='0'){ | 147 | if (item.status != '0') { |
| 147 | let path = `/pages/level/applyDetail?examId=${item.examId}` | 148 | let path = `/pages/level/applyDetail?examId=${item.examId}` |
| 148 | uni.navigateTo({ | 149 | uni.navigateTo({ |
| 149 | url: path | 150 | url: path |
| 150 | }); | 151 | }); |
| 151 | } else { | 152 | } else { |
| 152 | return | 153 | // 去编辑 |
| 154 | editThis(item) | ||
| 153 | } | 155 | } |
| 154 | 156 | ||
| 155 | } | 157 | } | ... | ... |
| ... | @@ -14,7 +14,7 @@ | ... | @@ -14,7 +14,7 @@ |
| 14 | </view> | 14 | </view> |
| 15 | <view> | 15 | <view> |
| 16 | <view class="name">{{n.name}}</view> | 16 | <view class="name">{{n.name}}</view> |
| 17 | <view class="date">会员号:{{n.perCode}}</view> | 17 | <view class="date">会员号:{{n.perCode||'-'}}</view> |
| 18 | </view> | 18 | </view> |
| 19 | <view class="status"> | 19 | <view class="status"> |
| 20 | <text v-if="checkChosen(n)">选择</text> | 20 | <text v-if="checkChosen(n)">选择</text> | ... | ... |
| ... | @@ -18,7 +18,7 @@ | ... | @@ -18,7 +18,7 @@ |
| 18 | <text class="lab">{{ type=='1'?'考级人数':'考段人数' }}:</text>{{form.totalNum}} | 18 | <text class="lab">{{ type=='1'?'考级人数':'考段人数' }}:</text>{{form.totalNum}} |
| 19 | </view> | 19 | </view> |
| 20 | <view class="ddd"> | 20 | <view class="ddd"> |
| 21 | <text class="lab">总金额:</text>{{ (form.totalAmount*1).toFixed(2) }} | 21 | <text class="lab">总金额:</text>¥{{ (form.totalAmount*1).toFixed(2) }} |
| 22 | </view> | 22 | </view> |
| 23 | </view> | 23 | </view> |
| 24 | <view class="wBox"> | 24 | <view class="wBox"> |
| ... | @@ -41,12 +41,7 @@ | ... | @@ -41,12 +41,7 @@ |
| 41 | {{n.totalNum}} | 41 | {{n.totalNum}} |
| 42 | </text> | 42 | </text> |
| 43 | </view> | 43 | </view> |
| 44 | <view v-if="app.globalData.showPrice"> | 44 | |
| 45 | 金额 | ||
| 46 | <text> | ||
| 47 | {{ (n.examFee * 1).toFixed(2) }} | ||
| 48 | </text> | ||
| 49 | </view> | ||
| 50 | <view> | 45 | <view> |
| 51 | 金额 | 46 | 金额 |
| 52 | <text class="text-danger">¥{{ (n.totalAmount*1).toFixed(2) }}</text> | 47 | <text class="text-danger">¥{{ (n.totalAmount*1).toFixed(2) }}</text> | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <view class="mainbox"> | 2 | <view class="mainbox"> |
| 3 | <view class="photobox"> | 3 | <view class="photobox"> |
| 4 | <image class="photo" v-if="form.photo" :src="config.fileUrl_api + form.photo" mode='widthFix'></image> | 4 | <image class="photo" v-if="form.photo" :src="config.baseUrl_api + form.photo" mode='widthFix'></image> |
| 5 | <view class="colorful" v-else>{{form.name?.slice(0,1)}}</view> | 5 | <view class="colorful" v-else>{{form.name?.slice(0,1)}}</view> |
| 6 | |||
| 7 | </view> | 6 | </view> |
| 8 | <uni-list> | 7 | <uni-list> |
| 9 | <uni-list-item title="姓名" :rightText="form.name"/> | 8 | <uni-list-item title="姓名" :rightText="form.name"/> |
| ... | @@ -14,11 +13,12 @@ | ... | @@ -14,11 +13,12 @@ |
| 14 | <uni-list-item title="所属一级协会" :rightText="form.topAssName"/> | 13 | <uni-list-item title="所属一级协会" :rightText="form.topAssName"/> |
| 15 | <uni-list-item title="所属地区协会" :rightText="form.areaAssName"/> | 14 | <uni-list-item title="所属地区协会" :rightText="form.areaAssName"/> |
| 16 | <uni-list-item title="注册团体会员" :rightText="form.memName"/> | 15 | <uni-list-item title="注册团体会员" :rightText="form.memName"/> |
| 17 | <uni-list-item title="缴费日期" :rightText="form.payDate"/> | 16 | <uni-list-item title="缴费日期" :rightText="form.payDate||'--'"/> |
| 18 | <uni-list-item title="出生日期" :rightText="form.birth?.slice(0,10)"/> | 17 | <uni-list-item title="出生日期" :rightText="form.birth?.slice(0,10)"/> |
| 19 | <uni-list-item title="手机号码" :rightText="form.phone"/> | 18 | <uni-list-item title="手机号码" :rightText="form.phone"/> |
| 20 | <uni-list-item title="所在地区" :rightText="form.cityId"/> | 19 | <uni-list-item title="所在地区" :rightText="form.cityStr"/> |
| 21 | <uni-list-item title="详细地址" :rightText="form.address"/> | 20 | |
| 21 | <uni-list-item title="详细地址" :rightText="form.address||'--'"/> | ||
| 22 | </uni-list> | 22 | </uni-list> |
| 23 | 23 | ||
| 24 | </view> | 24 | </view> |
| ... | @@ -46,10 +46,25 @@ | ... | @@ -46,10 +46,25 @@ |
| 46 | form.value.topAssName = form.value?.ancestorNameList?.[0] | 46 | form.value.topAssName = form.value?.ancestorNameList?.[0] |
| 47 | form.value.areaAssName = form.value?.ancestorNameList?.[1] | 47 | form.value.areaAssName = form.value?.ancestorNameList?.[1] |
| 48 | form.value.memName = res.data.memName | 48 | form.value.memName = res.data.memName |
| 49 | if(form.value.cityId){ | ||
| 50 | getRegionsList(form.value.cityId) | ||
| 51 | } | ||
| 49 | }) | 52 | }) |
| 50 | }) | 53 | }) |
| 54 | function getRegionsList(cityId){ | ||
| 55 | api.regionsList().then(res=>{ | ||
| 56 | for(var m of res.data){ | ||
| 57 | for(var n of m.children){ | ||
| 58 | for(var o of n.children){ | ||
| 59 | if(o.value == cityId){ | ||
| 60 | form.value.cityStr = m.text + n.text + o.text | ||
| 61 | } | ||
| 62 | } | ||
| 51 | 63 | ||
| 52 | 64 | } | |
| 65 | } | ||
| 66 | }) | ||
| 67 | } | ||
| 53 | </script> | 68 | </script> |
| 54 | 69 | ||
| 55 | <style scoped lang="scss"> | 70 | <style scoped lang="scss"> | ... | ... |
| ... | @@ -20,7 +20,7 @@ | ... | @@ -20,7 +20,7 @@ |
| 20 | </view> | 20 | </view> |
| 21 | </view> | 21 | </view> |
| 22 | <view class="flexbox"> | 22 | <view class="flexbox"> |
| 23 | <text v-if="n.certStage==0" class="text-green"> | 23 | <text v-if="n.certStage==0" class="text-primary"> |
| 24 | 新会员 | 24 | 新会员 |
| 25 | </text> | 25 | </text> |
| 26 | <text v-if="n.certStage==1" class="text-warning"> | 26 | <text v-if="n.certStage==1" class="text-warning"> |
| ... | @@ -29,7 +29,7 @@ | ... | @@ -29,7 +29,7 @@ |
| 29 | <text v-if="n.certStage==2" class="text-red"> | 29 | <text v-if="n.certStage==2" class="text-red"> |
| 30 | 缴费中 | 30 | 缴费中 |
| 31 | </text> | 31 | </text> |
| 32 | <text v-if="n.certStage==3"> | 32 | <text v-if="n.certStage==3" class="text-success"> |
| 33 | 正常 | 33 | 正常 |
| 34 | </text> | 34 | </text> |
| 35 | <text v-if="n.certStage==4" class="text-gray"> | 35 | <text v-if="n.certStage==4" class="text-gray"> |
| ... | @@ -97,12 +97,6 @@ | ... | @@ -97,12 +97,6 @@ |
| 97 | query.value.showMyPersonFlag = 1 | 97 | query.value.showMyPersonFlag = 1 |
| 98 | } | 98 | } |
| 99 | api.selectPageList(query.value).then(res => { | 99 | api.selectPageList(query.value).then(res => { |
| 100 | for (var p of res.rows) { | ||
| 101 | if (p.photo) { | ||
| 102 | p.photo = config.fileUrl_api + p.photo | ||
| 103 | console.log(p.photo) | ||
| 104 | } | ||
| 105 | } | ||
| 106 | list.value = res.rows | 100 | list.value = res.rows |
| 107 | total.value = res.total | 101 | total.value = res.total |
| 108 | }) | 102 | }) | ... | ... |
| ... | @@ -2,9 +2,9 @@ | ... | @@ -2,9 +2,9 @@ |
| 2 | <view> | 2 | <view> |
| 3 | <view class="searchbar"> | 3 | <view class="searchbar"> |
| 4 | <uni-easyinput placeholderStyle="font-size:30rpx" :input-border="false" prefixIcon="search" | 4 | <uni-easyinput placeholderStyle="font-size:30rpx" :input-border="false" prefixIcon="search" |
| 5 | v-model="queryParams.name" placeholder="搜索考级名称" @blur="getList" @clear="getList"> | 5 | v-model="queryParams.name" placeholder="搜索考段名称" @blur="getList" @clear="getList"> |
| 6 | </uni-easyinput> | 6 | </uni-easyinput> |
| 7 | <view class="invertedbtn-red" @click="goAdd">+ 添加级位考试</view> | 7 | <!-- <view class="invertedbtn-red" @click="goAdd">+ 添加段位考试</view> --> |
| 8 | </view> | 8 | </view> |
| 9 | <view class="appList"> | 9 | <view class="appList"> |
| 10 | <view class="appItem" v-for="item in list"> | 10 | <view class="appItem" v-for="item in list"> |
| ... | @@ -30,8 +30,8 @@ | ... | @@ -30,8 +30,8 @@ |
| 30 | <view>{{item.memberName}}</view> | 30 | <view>{{item.memberName}}</view> |
| 31 | </view> | 31 | </view> |
| 32 | <view> | 32 | <view> |
| 33 | 通过人数 | 33 | 考生数 |
| 34 | <view>{{item.pass}}</view> | 34 | <view>{{item.totalNum||0}}人</view> |
| 35 | </view> | 35 | </view> |
| 36 | </view> | 36 | </view> |
| 37 | <view class="func" v-if="item.status=='0'||item.status=='3'||item.status=='4'"> | 37 | <view class="func" v-if="item.status=='0'||item.status=='3'||item.status=='4'"> |
| ... | @@ -73,8 +73,8 @@ | ... | @@ -73,8 +73,8 @@ |
| 73 | const list = ref([]) | 73 | const list = ref([]) |
| 74 | const total = ref(0) | 74 | const total = ref(0) |
| 75 | const deptType = ref('') | 75 | const deptType = ref('') |
| 76 | onLoad(() => { | 76 | onLoad((option) => { |
| 77 | 77 | queryParams.value.type = option.type | |
| 78 | }) | 78 | }) |
| 79 | onShow(() => { | 79 | onShow(() => { |
| 80 | if (app.globalData.isLogin) { | 80 | if (app.globalData.isLogin) { |
| ... | @@ -144,7 +144,7 @@ | ... | @@ -144,7 +144,7 @@ |
| 144 | 144 | ||
| 145 | function goDetail(item) { | 145 | function goDetail(item) { |
| 146 | if(item.status!='0'){ | 146 | if(item.status!='0'){ |
| 147 | let path = `/pages/level/applyDetail?examId=${item.examId}` | 147 | let path = `/pages/rank/applyDetail?examId=${item.examId}&type=${queryParams.value.type}` |
| 148 | uni.navigateTo({ | 148 | uni.navigateTo({ |
| 149 | url: path | 149 | url: path |
| 150 | }); | 150 | }); | ... | ... |
| ... | @@ -49,7 +49,7 @@ | ... | @@ -49,7 +49,7 @@ |
| 49 | <text v-else>--</text> | 49 | <text v-else>--</text> |
| 50 | </view> | 50 | </view> |
| 51 | <view> | 51 | <view> |
| 52 | 考试级别 | 52 | 考试段位 |
| 53 | <text v-if="n.levelNew">{{ szToHz(n.levelNew) }}段/品</text> | 53 | <text v-if="n.levelNew">{{ szToHz(n.levelNew) }}段/品</text> |
| 54 | <text v-else>--</text> | 54 | <text v-else>--</text> |
| 55 | </view> | 55 | </view> |
| ... | @@ -88,7 +88,7 @@ | ... | @@ -88,7 +88,7 @@ |
| 88 | </view> | 88 | </view> |
| 89 | <!-- <view class="name">第 {{index+1}} 步</view> --> | 89 | <!-- <view class="name">第 {{index+1}} 步</view> --> |
| 90 | <view class="deptName">{{n.deptName}}</view> | 90 | <view class="deptName">{{n.deptName}}</view> |
| 91 | <view v-if="n.auditStatus==2"> | 91 | <view v-if="n.reason"> |
| 92 | 备注:{{n.reason||'' }} | 92 | 备注:{{n.reason||'' }} |
| 93 | </view> | 93 | </view> |
| 94 | </view> | 94 | </view> | ... | ... |
static/icon/1.png
0 → 100644
4.59 KB
static/icon/10.png
0 → 100644
8.08 KB
static/icon/11.png
0 → 100644
6.49 KB
static/icon/12.png
0 → 100644
7.28 KB
static/icon/13.png
0 → 100644
7.5 KB
static/icon/14.png
0 → 100644
8.35 KB
static/icon/15.png
0 → 100644
7.58 KB
static/icon/16.png
0 → 100644
7.82 KB
static/icon/17.png
0 → 100644
7.26 KB
static/icon/18.png
0 → 100644
7.46 KB
static/icon/19.png
0 → 100644
7.33 KB
static/icon/2.png
0 → 100644
3.66 KB
static/icon/20.png
0 → 100644
6.93 KB
static/icon/21.png
0 → 100644
8.17 KB
static/icon/22.png
0 → 100644
7.63 KB
static/icon/23.png
0 → 100644
8.49 KB
static/icon/3.png
0 → 100644
7.16 KB
static/icon/4.png
0 → 100644
7.45 KB
static/icon/5.png
0 → 100644
5.05 KB
static/icon/6.png
0 → 100644
2.69 KB
static/icon/7.png
0 → 100644
4.65 KB
static/icon/8.png
0 → 100644
5.57 KB
static/icon/9.png
0 → 100644
5.62 KB
static/icon/m.png
0 → 100644
4.75 KB
-
Please register or sign in to post a comment