81c73ed4 by 杨炀

no message

1 parent e0673ad0
...@@ -257,6 +257,25 @@ function uploadFile(e) { ...@@ -257,6 +257,25 @@ function uploadFile(e) {
257 }).finally(() => { 257 }).finally(() => {
258 uni.hideLoading(); 258 uni.hideLoading();
259 }); 259 });
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 });
260 } 279 }
261 // 查询考级信息列表 280 // 查询考级信息列表
262 function getLevelList(query) { 281 function getLevelList(query) {
...@@ -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 }
......
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
...@@ -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
......
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 缴费状态
...@@ -191,9 +189,9 @@ ...@@ -191,9 +189,9 @@
191 } 189 }
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 3 <view class="wBox">
4 </view> 4 <view class="tt">基本信息</view>
5 </template> 5 <view class="ddd">
6 6 <text class="lab">结算编号:</text>{{ form.flowCode }}
7 <script> 7 </view>
8 export default { 8 <view class="ddd">
9 data() { 9 <text class="lab">{{ type=='1'?'考级名称':'考段名称' }}</text>{{form.mergeName}}
10 return { 10 </view>
11 11 <view class="ddd">
12 } 12 <text class="lab">申请单位:</text>{{ form.memName }}
13 }, 13 </view>
14 methods: { 14 <view class="ddd" v-if="form.mergeTime">
15 15 <text class="lab">申请日期:</text>{{form.mergeTime?.slice(0,10)}}
16 } 16 </view>
17 } 17 <view class="ddd">
18 </script> 18 <text class="lab">{{ type=='1'?'考级人数':'考段人数' }}</text>{{form.totalNum}}
19 19 </view>
20 <style> 20 <view class="ddd">
21 21 <text class="lab">总金额:</text>¥{{ (form.totalAmount*1).toFixed(2) }}
22 </style> 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>
50
51 </view>
52 </view>
53
54 </view>
55 </view>
56 </template>
57
58 <script setup>
59 import * as api from '@/common/api.js'
60 import config from '@/config.js'
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 }
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 })
115 }
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 });
129 }
130 }
131 </script>
132
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;
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 }
163 </style>
...\ No newline at end of file ...\ No newline at end of file
......
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>
1 <template>
2 <view>
3
4 </view>
5 </template>
6
7 <script>
8 export default {
9 data() {
10 return {
11
12 }
13 },
14 methods: {
15
16 }
17 }
18 </script>
19
20 <style>
21
22 </style>
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
...@@ -111,7 +110,21 @@ ...@@ -111,7 +110,21 @@
111 uni.navigateTo({ 110 uni.navigateTo({
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%">
......
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
1 <template> 1 <template>
2 <view class="page"> 2 <view class="page">
3 <view class="bgbg"> 3 <view class="bgbg">
4 <view class="loginOutIcon" @click="loginOut"> 4 <view class="loginOutIcon" @click="loginOut">
5 <image src="@/static/switch.png"></image> 5 <image src="@/static/switch.png"></image>
6 </view> 6 </view>
7 <view class="welcome">您好! 7 <view class="welcome">您好!
8 {{memberInfo.name}} 8 {{memberInfo.name}}
...@@ -11,94 +11,103 @@ ...@@ -11,94 +11,103 @@
11 <view class="flexbox"> 11 <view class="flexbox">
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 v-if="userType=='4'" @click="goPath('/pages/personalVip/payment')"> 17 </view>
18 <image src="@/static/btn02.png"/> 18 <view v-if="userType=='4'" @click="goPath('/pages/personalVip/payment')">
19 会员缴费</view> 19 <image src="@/static/btn02.png" />
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 会员查询
29 <view v-if="userType!='4'" @click="goPath('/pages/group/list')"> 32 </view>
30 <image src="@/static/btn05.png"/>团体会员 33 <view v-if="userType!='4'" @click="goPath('/pages/group/list')">
31 </view> 34 <image src="@/static/btn05.png" />团体会员
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')"> 48 </view>
47 <image />团体会员认证 49 <view v-if="userType=='3'" class="girdBox">
50 <view @click="goPath('/pages/group/apply/applyList')">
51 <image src="@/static/icon/4.png" />团体会员审核
48 </view> 52 </view>
49 53 <view @click="goPath('/pages/level/approval')">
50 <view v-if="userType=='2'" @click="goPath('/pages/group/feeBill')"> 54 <image src="@/static/icon/3.png" />级位考试审核
51 <image />团体会员缴费单
52 </view> 55 </view>
53 56 </view>
54 <view v-if="userType=='4'" @click="goPath('/pages/level/apply')"> 57 <view v-if="userType=='2'" class="girdBox">
55 <image />级位考试申请 58 <view @click="goPath('/pages/personalVip/mobilize')">
59 <image src="@/static/icon/2.png" />
60 会员调动审核
56 </view> 61 </view>
57 <view v-if="userType!='4'&&userType!='1'" @click="goPath('/pages/level/approval')"> 62 <view @click="goPath('/pages/personalVip/feeBill')">
58 <image />级位考试审核 63 <image src="@/static/icon/6.png" />会员缴费单
59 </view> 64 </view>
60 <view v-if="userType=='2'" @click="goPath('/pages/level/apply')"> 65 <view @click="goPath('/pages/group/apply/applyList')">
61 <image />段位考试申请 66 <image src="@/static/icon/4.png" />团体会员审核
62 </view> 67 </view>
63 68 <view @click="goPath('/pages/group/pay')">
64 <view v-if="userType=='2'" @click="goPath('/pages/exam/payment?type=1')"> 69 <image src="@/static/icon/9.png" />团体会员认证
65 <image />级位考试缴费单
66 </view> 70 </view>
67 71
68 <view v-if="userType=='2'" @click="goPath('/pages/exam/payment?type=2')"> 72 <view @click="goPath('/pages/group/feeBill')">
69 <image />段位考试缴费单 73 <image src="@/static/icon/17.png" />团体会员缴费单
70 </view> 74 </view>
71 75 <view @click="goPath('/pages/level/approval')">
72 <view v-if="userType=='2'" @click="goPath('/pages/exam/payment?type=3')"> 76 <image src="@/static/icon/3.png" />级位考试审核
73 <image />越段考试缴费单 77 </view>
78 <view @click="goPath('/pages/exam/payment?type=1')">
79 <image src="@/static/icon/10.png" />级位考试缴费单
74 </view> 80 </view>
75 81
76 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">
79 <view @click="goPath('/pages/level/ztx/approval')"> 87 <view @click="goPath('/pages/personalVip/mobilize')">
80 <image />级位考试审核 88 <image src="@/static/icon/2.png" />
89 会员调动审核
81 </view> 90 </view>
82 <view @click="goPath('/pages/level/ztx/cert?type=1')"> 91 <view @click="goPath('/pages/group/apply/applyList')">
83 <image />级位证书发布 92 <image src="@/static/icon/4.png" />团体会员审核
93 </view>
94 <view @click="goPath('/pages/level/ztx/approval')">
95 <image src="@/static/icon/2.png" />级位考试审核
96 </view>
97 <view @click="goPath('/pages/level/ztx/cert?type=1')">
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> 108 </view>
94 <view @click="goPath('/pages/rank/approval?type=3')"> 109 <view @click="goPath(`/pages/index/more?userType=${userType}`)">
95 <image />越段考试审核 110 <image src="@/static/icon/m.png" />更多
96 </view>
97 <view @click="goPath('/pages/rank/scoreApproval?type=3')">
98 <image />越段成绩审核
99 </view>
100 <view @click="goPath('/pages/level/ztx/cert?type=3')">
101 <image />越段证书发布
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
166 let path = '/pages/index/login'; 175 function loginOut() {
167 uni.reLaunch({ 176 uni.showModal({
168 url: path 177 content: `确认退出吗?`,
169 }); 178 success: function(res) {
179 if (res.confirm) {
180 let path = '/pages/index/login';
181 uni.reLaunch({
182 url: path
183 });
184 }
185 }
186 })
187
188
170 } 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
...@@ -316,10 +340,18 @@ ...@@ -316,10 +340,18 @@
316 340
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;
417 }
418 :deep(.uni-section .uni-section-header){
419 padding: 0 30rpx;
377 } 420 }
378 </style> 421 </style>
...\ No newline at end of file ...\ No newline at end of file
......
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
1 <template> 1 <template>
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">
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> 17 </view>
18 </view> 18 <view class="date" v-if="item.status!='0'&&item.submitTime">提交时间:{{item.submitTime}}</view>
19 19 <view class="name mt0" @click="goDetail(item)">{{item.name}}</view>
20 <view class="date" v-if="item.status!='0'&&item.submitTime">提交时间:{{item.submitTime}}</view> 20 <view class="pp esp">申请单位:{{item.memberName}}</view>
21 <view class="name mt0" @click="goDetail(item)">{{item.name}}</view> 21 <view class="pp esp">考级日期:{{item.startTime.substring(0,16)}}{{item.endTime.substring(0,16)}}</view>
22 <view class="pp esp">考级日期:{{item.startTime.substring(0,16)}}{{item.endTime.substring(0,16)}}</view> 22 <view class="flexbox" @click="goDetail(item)">
23 <view class="flexbox" @click="goDetail(item)"> 23 <view>
24 <view> 24 申请日期
25 申请日期 25 <view>{{item.applyTime.substring(0, 10)}}</view>
26 <view>{{item.applyTime.substring(0, 10)}}</view> 26 </view>
27 </view> 27 <view>
28 <view> 28 考官
29 申请单位 29 <view>{{item.examinerNames}}</view>
30 <view>{{item.memberName}}</view> 30 </view>
31 </view> 31 <view>
32 <view> 32 通过人数
33 通过人数 33 <view>{{item.pass}}</view>
34 <view>{{item.pass}}</view> 34 </view>
35 </view> 35 </view>
36 </view> 36 <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'"> 37 <button @click="editThis(item)">编辑</button>
38 <button @click="editThis(item)">编辑</button> 38 <button @click="handleSubmit(item)">提交审核</button>
39 <button @click="handleSubmit(item)">提交审核</button> 39 </view>
40 </view> 40 </view>
41 </view> 41 </view>
42 </view> 42
43 43
44 44
45 45 <view class="nodata" v-if="list.length==0">
46 <view class="nodata" v-if="list.length==0"> 46 <image mode="aspectFit" src="/static/nodata.png"></image>
47 <image mode="aspectFit" src="/static/nodata.png"></image> 47 <text>暂无数据</text>
48 <text>暂无数据</text> 48 </view>
49 </view> 49 </view>
50 </view> 50 </template>
51 </template> 51
52
53 <script setup> 52 <script setup>
54 import * as api from '@/common/api.js' 53 import * as api from '@/common/api.js'
55 import config from '@/config.js' 54 import config from '@/config.js'
...@@ -64,8 +63,8 @@ ...@@ -64,8 +63,8 @@
64 const app = getApp(); 63 const app = getApp();
65 const queryParams = ref({ 64 const queryParams = ref({
66 // pageNum: 1, 65 // pageNum: 1,
67 // pageSize: 10 66 // pageSize: 10
68 type: '1', 67 type: '1',
69 rankStatus: '0' 68 rankStatus: '0'
70 }) 69 })
71 const navs = ref(['未提交', '审核中', '审核通过', '审核拒绝']) 70 const navs = ref(['未提交', '审核中', '审核通过', '审核拒绝'])
...@@ -117,45 +116,48 @@ ...@@ -117,45 +116,48 @@
117 url: path 116 url: path
118 }); 117 });
119 } 118 }
120 function handleSubmit(item){ 119
121 uni.showModal({ 120 function handleSubmit(item) {
122 title: '提示', 121 uni.showModal({
123 content: `确定提交${item.name}进行审核吗`, 122 title: '提示',
124 success: function(res) { 123 content: `确定提交${item.name}进行审核吗`,
125 if (res.confirm) { 124 success: function(res) {
126 uni.showLoading({ 125 if (res.confirm) {
127 title:`提交中` 126 uni.showLoading({
128 }) 127 title: `提交中`
129 upApply(item.examId) 128 })
130 } 129 upApply(item.examId)
131 } 130 }
132 }) 131 }
132 })
133 } 133 }
134 function upApply(id){ 134
135 api.submitVerity(id).then(res=>{ 135 function upApply(id) {
136 uni.hideLoading() 136 api.submitVerity(id).then(res => {
137 getList() 137 uni.hideLoading()
138 uni.showToast({ 138 getList()
139 title:`提交成功` 139 uni.showToast({
140 }) 140 title: `提交成功`
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 }
156 </script> 158 </script>
157 159
158 160
159 <style scoped> 161 <style scoped>
160 .searchbar { 162 .searchbar {
161 display: flex; 163 display: flex;
...@@ -190,4 +192,4 @@ ...@@ -190,4 +192,4 @@
190 width: 80%; 192 width: 80%;
191 word-break: break-all; 193 word-break: break-all;
192 } 194 }
193 </style> 195 </style>
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -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 })
51 54 function getRegionsList(cityId){
52 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 }
63
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>
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!