e0673ad0 by 杨炀

no message

1 parent bca6acdc
...@@ -522,6 +522,13 @@ function certStudentList(query) { ...@@ -522,6 +522,13 @@ function certStudentList(query) {
522 params: query 522 params: query
523 }) 523 })
524 } 524 }
525 function paymentList(query) {
526 return request({
527 url: '/exam/payment/list',
528 method: 'get',
529 params: query
530 })
531 }
525 532
526 533
527 export { 534 export {
...@@ -571,5 +578,5 @@ export { ...@@ -571,5 +578,5 @@ export {
571 delPayment,editYear,addPersonPaymentGroup, 578 delPayment,editYear,addPersonPaymentGroup,
572 commitRenew,getVerityMergeList,doMergeFlows,getMergePaymentInfo, 579 commitRenew,getVerityMergeList,doMergeFlows,getMergePaymentInfo,
573 submitCert,getCertsLList,getExamListByPayId, 580 submitCert,getCertsLList,getExamListByPayId,
574 certStudentList 581 certStudentList,paymentList
575 } 582 }
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -344,7 +344,9 @@ color: #7D8592;} ...@@ -344,7 +344,9 @@ color: #7D8592;}
344 display: block; 344 display: block;
345 font-size: 14px; 345 font-size: 14px;
346 } 346 }
347 .bgbg{padding:0 0 60rpx;color: #fff;background: #C40F18;position: relative;} 347 .bgbg{padding:0 0 60rpx;color: #fff;background:url('/static/top_bg.png') #C40F18 no-repeat top;
348 background-size: cover;
349 position: relative;}
348 .girdBox{display: flex;flex-wrap: wrap;padding: 0 0 40rpx; 350 .girdBox{display: flex;flex-wrap: wrap;padding: 0 0 40rpx;
349 background: #FFFFFF;position: relative;top: -30rpx; 351 background: #FFFFFF;position: relative;top: -30rpx;
350 border-radius: 20rpx 20rpx 0rpx 0rpx; 352 border-radius: 20rpx 20rpx 0rpx 0rpx;
......
...@@ -433,6 +433,33 @@ ...@@ -433,6 +433,33 @@
433 } 433 }
434 434
435 } 435 }
436 ,{
437 "path" : "pages/level/payment",
438 "style" :
439 {
440 "navigationBarTitleText": "级位考试缴费单",
441 "enablePullDownRefresh": false
442 }
443
444 }
445 ,{
446 "path" : "pages/exam/payment",
447 "style" :
448 {
449 "navigationBarTitleText": "考试缴费单",
450 "enablePullDownRefresh": false
451 }
452
453 }
454 ,{
455 "path" : "pages/exam/paymentDetail",
456 "style" :
457 {
458 "navigationBarTitleText": "缴费单详情",
459 "enablePullDownRefresh": false
460 }
461
462 }
436 ], 463 ],
437 "globalStyle": { 464 "globalStyle": {
438 "navigationStyle": "custom", 465 "navigationStyle": "custom",
......
1 <template>
2 <view>
3 <!-- 级/段/越段考试缴费单 -->
4 <view class="appList">
5 <view class="vipData" v-show="totalCost>0">
6 <view>费用合计:<text>{{ totalCost.toFixed(2) }}</text></view>
7 </view>
8 <view class="appItem" v-for="item in list">
9 <view class="status" @click="goDetail(item)">
10 <text v-if="item.verityStatus==0" class="text-primary">审核中</text>
11 <text v-if="item.verityStatus==1" class="text-success"> 审核通过</text>
12 <text v-if="item.verityStatus==2" class="text-danger"> 审核拒绝</text>
13 <text v-if="item.verityStatus==3" class="text-warning">已退回</text>
14 </view>
15 <view class="date" @click="goDetail(item)" v-if="item.payTime">
16 <uni-icons type="calendar" size="16" color="#7D8592"></uni-icons>
17 <text>{{item.payTime}} 缴费</text>
18 </view>
19
20 <view class="name" @click="goDetail(item)">{{item.name}}</view>
21 <view v-if="deptType==1" class="date">
22 <text>{{item.payNoticeSendTime}} 下发</text>
23 </view>
24 <view class="flexbox" @click="goDetail(item)">
25 <view>
26 缴费状态
27 <view>
28 <text :class="{
29 'text-success':item.payStatusStr=='已上传凭证',
30 'text-danger':item.payStatusStr=='未上传凭证',
31 'text-warning':item.payStatusStr=='已结算'
32 }">{{item.payStatusStr}}</text>
33 </view>
34 </view>
35 <view>
36 人数合计
37 <view>{{item.totalNum}}</view>
38 </view>
39 <view>
40 费用合计
41 <view>¥{{item.totalAmount}}</view>
42 </view>
43 </view>
44 <view class="func">
45 <button v-if="item.payStatus!='3'&&item.verityStatus!='2'&&item.verityStatus!='3'"
46 @click="handleUpdate(item)">上传凭证</button>
47 </view>
48 </view>
49 </view>
50 <view class="nodata" v-if="list.length==0">
51 <image mode="aspectFit" src="/static/nodata.png"></image>
52 <text>暂无数据</text>
53 </view>
54
55 <!-- 上传凭证 -->
56 <uni-popup ref="UpPop" type="bottom" background-color="#fff" animation>
57 <view class="popBody">
58 <uni-forms v-model="form">
59 <uni-forms-item label="缴费日期" required>
60 <uni-datetime-picker v-model="form.payTime"></uni-datetime-picker>
61 </uni-forms-item>
62 <uni-forms-item label="缴费凭证" required>
63
64 <uni-file-picker limit="1" file-mediatype="all" file-extname="png,jpg,jpeg,pdf,zip"
65 @select="selectFile" @progress="fileProgress"
66 @delete="delSupplementFile(index)"></uni-file-picker>
67 </uni-forms-item>
68 <uni-forms-item label="备注">
69 <uni-easyinput v-model="form.remark" type="textarea"></uni-easyinput>
70 </uni-forms-item>
71 </uni-forms>
72
73 <button class="btn-red" @click="uploadSure">确定</button>
74 </view>
75 </uni-popup>
76 </view>
77 </template>
78
79 <script setup>
80 import * as api from '@/common/api.js'
81 import config from '@/config.js'
82 import _ from 'lodash'
83 import {
84 onMounted,
85 ref
86 } from 'vue'
87 import {
88 onLoad
89 } from '@dcloudio/uni-app'
90 const app = getApp();
91 const list = ref([])
92 const queryParams = ref({
93 type: '1'
94 })
95 const totalCost = ref(0)
96 const deptType = ref('')
97 const UpPop = ref(null)
98 const form = ref({
99 docId: '',
100 payTime: '',
101 url: '',
102 remark: ''
103 })
104 onLoad((option) => {
105 queryParams.value.type = option.type
106
107 if (app.globalData.isLogin) {
108 init()
109 } else {
110
111 app.firstLoadCallback = () => {
112 init()
113 };
114 }
115 })
116
117 function init() {
118 deptType.value = app.globalData.deptType
119 getList()
120 }
121
122 function getList() {
123 uni.showLoading({
124 title: '加载中'
125 })
126 totalCost.value = 0
127 api.paymentList(queryParams.value).then(res => {
128 list.value = res.rows
129 uni.hideLoading()
130 _.each(list.value, (info) => {
131 totalCost.value += (info.totalAmount * 1)
132 })
133 })
134 }
135
136 function handleUpdate(item) {
137 form.value.docId = item.docId
138 if (item.payEvidence) {
139 form.value.url = item.payEvidence
140 }
141 UpPop.value.open()
142 }
143 let selectFileValue = {}
144
145 function selectFile(e) {
146 let file = e.tempFiles[0]
147 api.uploadFile(e).then(data => {
148 selectFileValue = {
149 url: data.msg,
150 name: file.name,
151 extname: file.extname
152 }
153
154 form.value.url = JSON.stringify([selectFileValue])
155 });
156 }
157
158 function fileProgress(e) {
159 console.log('progress:' + e)
160 }
161
162 function delSupplementFile(index) {
163 selectFileValue = {}
164 }
165
166 function uploadSure() {
167 console.log(form.value)
168 if (!form.value.payTime) {
169 uni.showToast({
170 icon: `none`,
171 title: '请选择缴费时间'
172 })
173 return
174 }
175 if (!form.value.url) {
176 uni.showToast({
177 icon: `none`,
178 title: '请上传缴费凭证'
179 })
180 return
181 }
182 api.groupCommitPaymentVoucher(form.value).then(res => {
183 UpPop.value.close()
184 form.value = {}
185 uni.showToast({
186 icon: 'none',
187 title: '操作成功'
188 })
189 getList()
190 })
191 }
192
193 function goDetail(item) {
194 //详情
195 console.log(item.docId)
196 let path = `/pages/group/feeBillDetail?docId=${item.docId}`
197 uni.navigateTo({
198 url: path
199 });
200 }
201 </script>
202
203 <style scoped lang="scss">
204 .popBody {
205 font-size: 28rpx;
206 line-height: 1.5;
207 overflow: auto;
208 padding: 30rpx;
209
210 .btn-red {
211 margin: 50rpx 0 30rpx;
212 }
213 }
214 </style>
...\ No newline at end of file ...\ No newline at end of file
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>
...@@ -11,14 +11,24 @@ ...@@ -11,14 +11,24 @@
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">添加会员</view> 14 <view v-if="userType=='4'" @click="goAddVip">
15 <view v-if="userType=='4'" @click="goPath('/pages/personalVip/payment')">会员缴费</view> 15 <image src="@/static/btn01.png"/>
16 <view v-if="userType=='2'" @click="goPath('/pages/personalVip/feeBill')">会员缴费单</view> 16 添加会员</view>
17 <view v-if="userType=='4'" @click="goPath('/pages/personalVip/payment')">
18 <image src="@/static/btn02.png"/>
19 会员缴费</view>
17 <!-- 3 2 1--> 20 <!-- 3 2 1-->
18 <view v-if="userType!='4'" @click="goPath('/pages/personalVip/audit')">缴费审核</view> 21 <view v-if="userType!='4'" @click="goPath('/pages/personalVip/audit')">
22 <image src="@/static/btn03.png"/>
23 缴费审核</view>
19 24
20 <!-- 都有 --> 25 <!-- 都有 -->
21 <view @click="goPath('/pages/personalVip/list')">会员查询</view> 26 <view @click="goPath('/pages/personalVip/list')">
27 <image src="@/static/btn04.png"/>
28 会员查询</view>
29 <view v-if="userType!='4'" @click="goPath('/pages/group/list')">
30 <image src="@/static/btn05.png"/>团体会员
31 </view>
22 </view> 32 </view>
23 33
24 </view> 34 </view>
...@@ -27,10 +37,9 @@ ...@@ -27,10 +37,9 @@
27 <image /> 37 <image />
28 会员调动 38 会员调动
29 </view> 39 </view>
30 <view v-if="userType!='4'" @click="goPath('/pages/group/list')"> 40 <view v-if="userType=='2'" @click="goPath('/pages/personalVip/feeBill')">
31 <image />团体会员查询 41 <image />会员缴费单</view>
32 </view> 42
33 <!--市区 省 中跆协 -->
34 <view v-if="userType!='4'" @click="goPath('/pages/group/apply/applyList')"> 43 <view v-if="userType!='4'" @click="goPath('/pages/group/apply/applyList')">
35 <image />团体会员审核 44 <image />团体会员审核
36 </view> 45 </view>
...@@ -51,6 +60,18 @@ ...@@ -51,6 +60,18 @@
51 <view v-if="userType=='2'" @click="goPath('/pages/level/apply')"> 60 <view v-if="userType=='2'" @click="goPath('/pages/level/apply')">
52 <image />段位考试申请 61 <image />段位考试申请
53 </view> 62 </view>
63
64 <view v-if="userType=='2'" @click="goPath('/pages/exam/payment?type=1')">
65 <image />级位考试缴费单
66 </view>
67
68 <view v-if="userType=='2'" @click="goPath('/pages/exam/payment?type=2')">
69 <image />段位考试缴费单
70 </view>
71
72 <view v-if="userType=='2'" @click="goPath('/pages/exam/payment?type=3')">
73 <image />越段考试缴费单
74 </view>
54 75
55 76
56 </view> 77 </view>
...@@ -232,7 +253,7 @@ ...@@ -232,7 +253,7 @@
232 break 253 break
233 case 30005: 254 case 30005:
234 d.name = '你有一条团体会员认证等待审批,点击去处理!' 255 d.name = '你有一条团体会员认证等待审批,点击去处理!'
235 d.path = '/pages/group/authentication' 256 d.path = '/pages/group/pay'
236 break 257 break
237 case 30006: 258 case 30006:
238 d.name = '你有一条段位成绩等待审批,点击去处理!' 259 d.name = '你有一条段位成绩等待审批,点击去处理!'
...@@ -240,11 +261,11 @@ ...@@ -240,11 +261,11 @@
240 break 261 break
241 case 40001: 262 case 40001:
242 d.name = '你有一条级位申请待提交,点击去处理!' 263 d.name = '你有一条级位申请待提交,点击去处理!'
243 d.path = `/pages/level/apply/modify?id=${d.eventId}` 264 d.path = `/pages/level/apply?id=${d.eventId}`
244 break 265 break
245 case 40002: 266 case 40002:
246 d.name = '你有一条段位申请待提交,点击去处理!' 267 d.name = '你有一条段位申请待提交,点击去处理!'
247 d.path = `/pages/rank/apply/modify?id=${d.eventId}` 268 d.path = `/pages/rank/apply?id=${d.eventId}`
248 break 269 break
249 case 40003: 270 case 40003:
250 d.name = '你有一条成绩维护的数据待提交,点击去处理!' 271 d.name = '你有一条成绩维护的数据待提交,点击去处理!'
...@@ -307,7 +328,8 @@ ...@@ -307,7 +328,8 @@
307 328
308 .flexbox { 329 .flexbox {
309 display: flex; 330 display: flex;
310 justify-content: space-around; 331 justify-content: space-around;text-align: center;
332 image{width: 90rpx;height: 90rpx;display: block;margin: auto;}
311 } 333 }
312 334
313 .image { 335 .image {
......
1 <template>
2 <view>
3 <!--级位考试缴费单 查看+上传凭证 -->
4 <view class="appList">
5 <view class="appItem" v-for="item in list">
6 <view class="status" @click="goDetail(item)">
7 <text v-if="item.record.auditStatus==0" class="text-primary">审核中</text>
8 <text v-if="item.record.auditStatus==1" class="text-success"> 审核通过</text>
9 <text v-if="item.record.auditStatus==2" class="text-danger"> 审核拒绝</text>
10 <text v-if="item.record.auditStatus==3" class="text-warning">已退回</text>
11 </view>
12 <view class="date" @click="goDetail(item)">
13 <uni-icons type="calendar" size="16" color="#7D8592"></uni-icons>
14 <text v-if="item.payTime">{{item.payTime}} 缴费</text>
15 <text v-else>{{item.payNoticeSendTime}} 下发</text>
16 </view>
17 <view class="name" @click="goDetail(item)">{{item.finalDocName}}</view>
18 <view class="flexbox" @click="goDetail(item)">
19 <view>
20 人数合计
21 <view>{{item.personCount}}</view>
22 </view>
23 <view>
24 年限合计
25 <view>{{item.yearCount}}</view>
26 </view>
27 <view>
28 费用合计
29 <view>¥{{item.allPrice}}</view>
30 </view>
31 </view>
32 <view class="func">
33 <button
34 v-if="(deptType == 2 || deptType == 3)&&item?.record?.auditStatus != 2 && item?.record?.auditStatus != 3"
35 @click="handleUpdate(item)">上传凭证</button>
36 </view>
37 </view>
38 </view>
39 <view class="nodata" v-if="list.length==0">
40 <image mode="aspectFit" src="/static/nodata.png"></image>
41 <text>暂无数据</text>
42 </view>
43
44 <!-- 上传凭证 -->
45 <uni-popup ref="UpPop" type="bottom" background-color="#fff" animation>
46 <view class="popBody">
47 <uni-forms v-model="form">
48 <uni-forms-item label="缴费日期" required>
49 <uni-datetime-picker v-model="form.payTime"></uni-datetime-picker>
50 </uni-forms-item>
51 <uni-forms-item label="缴费凭证" required>
52
53 <uni-file-picker limit="1" file-mediatype="all" file-extname="png,jpg,jpeg,pdf,zip"
54 @select="selectFile"
55 @progress="fileProgress" @delete="delSupplementFile(index)"></uni-file-picker>
56 </uni-forms-item>
57 <uni-forms-item label="备注">
58 <uni-easyinput v-model="form.remark" type="textarea"></uni-easyinput>
59 </uni-forms-item>
60 </uni-forms>
61
62 <button class="btn-red" @click="uploadSure">确定</button>
63 </view>
64 </uni-popup>
65 </view>
66 </template>
67
68 <script setup>
69 import * as api from '@/common/api.js'
70 import config from '@/config.js'
71 import {
72 onMounted,
73 ref
74 } from 'vue'
75 import {
76 onLoad
77 } from '@dcloudio/uni-app'
78 const app = getApp();
79 const list = ref([])
80 const deptType = ref('')
81 const UpPop = ref(null)
82 const form = ref({
83 docId:'',
84 payTime:'',
85 url:'',
86 remark:''
87 })
88 onLoad(() => {
89 if (app.globalData.isLogin) {
90 init()
91 } else {
92
93 app.firstLoadCallback = () => {
94 init()
95 };
96 }
97 })
98
99 function init() {
100 deptType.value = app.globalData.deptType
101 getList()
102 }
103
104 function getList() {
105 api.getFeeBillList().then(res => {
106 list.value = res.rows
107 })
108 }
109
110 function handleUpdate(item) {
111 form.value.docId = item.docId
112 UpPop.value.open()
113 }
114 let selectFileValue = {}
115 function selectFile(e) {
116 let file = e.tempFiles[0]
117 api.uploadFile(e).then(data => {
118 selectFileValue = {
119 url: data.msg,
120 name: file.name,
121 extname: file.extname
122 }
123
124 form.value.url=JSON.stringify([selectFileValue])
125 });
126 }
127 function fileProgress(e) {
128 console.log('progress:'+ e)
129 }
130 function delSupplementFile(index) {
131 selectFileValue = {}
132 }
133 function uploadSure(){
134 console.log(form.value)
135 api.commitPaymentVoucher(form.value).then(res=>{
136 UpPop.value.close()
137 form.value = {}
138 uni.showToast({
139 icon:'none',
140 title:'操作成功'
141 })
142 getList()
143 })
144 }
145 function goDetail(item) {
146 //详情
147 console.log(item.docId)
148 let path = `/pages/personalVip/feeBillDetail?docId=${item.docId}`
149 uni.navigateTo({
150 url: path
151 });
152 }
153 </script>
154
155 <style scoped lang="scss">
156 .popBody {
157 font-size: 28rpx;
158 line-height: 1.5;
159 overflow: auto;
160 padding: 30rpx;
161
162 .btn-red {
163 margin: 50rpx 0 30rpx;
164 }
165 }
166 </style>
...\ No newline at end of file ...\ No newline at end of file
...@@ -6,7 +6,8 @@ ...@@ -6,7 +6,8 @@
6 <view class="status" @click="goDetail(item)"> 6 <view class="status" @click="goDetail(item)">
7 <text :class="{ 7 <text :class="{
8 'text-warning':item.certStatus=='0', 8 'text-warning':item.certStatus=='0',
9 'text-success':item.certStatus=='1' 9 'text-primary':item.certStatus=='1',
10 'text-success':item.certStatus=='2'
10 }">{{ item.certStatusStr }}</text> 11 }">{{ item.certStatusStr }}</text>
11 </view> 12 </view>
12 13
...@@ -16,7 +17,7 @@ ...@@ -16,7 +17,7 @@
16 <view class="flexbox" @click="goDetail(item)"> 17 <view class="flexbox" @click="goDetail(item)">
17 <view> 18 <view>
18 申请单位 19 申请单位
19 <view>{{item.memberName}}</view> 20 <view>{{item.memberName||'--'}}</view>
20 </view> 21 </view>
21 <view> 22 <view>
22 已发证书 23 已发证书
......
...@@ -14,18 +14,18 @@ ...@@ -14,18 +14,18 @@
14 <text class="text-warning" v-else>未发送</text> 14 <text class="text-warning" v-else>未发送</text>
15 </view> 15 </view>
16 <view class="name">{{n.realName}}</view> 16 <view class="name">{{n.realName}}</view>
17 17 <view class="date">
18 所属团体: {{n.memName}}
19 </view>
18 20
19 <view class="flexbox mtb30"> 21 <view class="flexbox mtb30">
20 <view>所属团体 22 <view>
21 <text>{{n.memName}}</text> 23 会员有效期
22 </view>
23 <view>会员有效期
24 <text>{{n.vaildityDate?.slice(0,10)}}</text> 24 <text>{{n.vaildityDate?.slice(0,10)}}</text>
25 </view> 25 </view>
26 <view>级位 26 <view class="w50">{{queryParams.type=='1'?'级位':'段位'}}
27 <text> 27 <text>
28 {{ szToHz(n.levelNew) }} 28 {{ szToHz(n.levelNew) }}{{ queryParams.type=='1'?'级':'段/品' }}
29 </text> 29 </text>
30 </view> 30 </view>
31 </view> 31 </view>
...@@ -70,7 +70,10 @@ ...@@ -70,7 +70,10 @@
70 function getList() { 70 function getList() {
71 uni.showLoading({ 71 uni.showLoading({
72 title: '加载中' 72 title: '加载中'
73 }) 73 })
74 if(queryParams.value.name==''){
75 delete queryParams.value.name
76 }
74 api.certStudentList(queryParams.value).then(res => { 77 api.certStudentList(queryParams.value).then(res => {
75 list.value = res.rows 78 list.value = res.rows
76 uni.hideLoading() 79 uni.hideLoading()
......
...@@ -18,19 +18,16 @@ ...@@ -18,19 +18,16 @@
18 18
19 <view class="date" v-if="item.status!='0'&&item.submitTime">提交时间:{{item.submitTime}}</view> 19 <view class="date" v-if="item.status!='0'&&item.submitTime">提交时间:{{item.submitTime}}</view>
20 <view class="name mt0" >{{item.name}}</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> 21 <view class="pp esp">申请单位:{{item.memberName}}</view>
22 <view class="pp esp">考段日期:{{item.startTime.substring(0,16)}}{{item.endTime.substring(0,16)}}</view>
22 <view class="flexbox" > 23 <view class="flexbox" >
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 class="w50">
28 申请单位 29 考段考生数
29 <view>{{item.memberName}}</view> 30 <view>{{item.totalNum||'--'}}</view>
30 </view>
31 <view>
32 通过人数
33 <view>{{item.pass}}</view>
34 </view> 31 </view>
35 </view> 32 </view>
36 </view> 33 </view>
......
...@@ -18,19 +18,19 @@ ...@@ -18,19 +18,19 @@
18 18
19 <view class="date" v-if="item.status!='0'&&item.submitTime">提交时间:{{item.submitTime}}</view> 19 <view class="date" v-if="item.status!='0'&&item.submitTime">提交时间:{{item.submitTime}}</view>
20 <view class="name mt0" >{{item.name}}</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> 21 <view class="pp esp">日期:{{item.startTime.substring(0,16)}}{{item.endTime.substring(0,16)}}</view>
22 <view class="flexbox" > 22 <view class="flexbox" >
23 <view> 23 <view>
24 申请日期 24 申请日期
25 <view>{{item.applyTime.substring(0, 10)}}</view> 25 <view>{{item.applyTime.substring(0, 10)}}</view>
26 </view> 26 </view>
27 <view> 27 <view>
28 申请单位 28 考段考生数
29 <view>{{item.memberName}}</view> 29 <view>{{item.totalNum}}</view>
30 </view> 30 </view>
31 <view> 31 <view>
32 通过人数 32 总金额
33 <view>{{item.pass}}</view> 33 <view>¥{{(item.totalAmount*1).toFixed(2)}}</view>
34 </view> 34 </view>
35 </view> 35 </view>
36 </view> 36 </view>
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!