6a64b49d by lttnew

订单

1 parent a4d367f7
...@@ -68,11 +68,11 @@ const handleClick = (index, url) => { ...@@ -68,11 +68,11 @@ const handleClick = (index, url) => {
68 bottom: 0; 68 bottom: 0;
69 left: 0; 69 left: 0;
70 right: 0; 70 right: 0;
71 height: 120rpx; 71 height: 130rpx;
72 display: flex; 72 display: flex;
73 justify-content: flex-start; 73 justify-content: flex-start;
74 align-items: stretch; 74 align-items: stretch;
75 padding-bottom: env(safe-area-inset-bottom); 75 padding-bottom: 0;
76 z-index: 9999; 76 z-index: 9999;
77 background-color: #d9d9d9; 77 background-color: #d9d9d9;
78 overflow: hidden; 78 overflow: hidden;
...@@ -80,9 +80,10 @@ const handleClick = (index, url) => { ...@@ -80,9 +80,10 @@ const handleClick = (index, url) => {
80 80
81 .dg-tab-bar-bg { 81 .dg-tab-bar-bg {
82 position: absolute; 82 position: absolute;
83 top: 0rpx; 83 top: 0;
84 bottom: 0;
84 width: 20%; 85 width: 20%;
85 height: calc(100% - 35rpx); 86 height: 130rpx;
86 z-index: 0; 87 z-index: 0;
87 transition: left 0.3s ease; 88 transition: left 0.3s ease;
88 pointer-events: none; 89 pointer-events: none;
...@@ -94,7 +95,7 @@ const handleClick = (index, url) => { ...@@ -94,7 +95,7 @@ const handleClick = (index, url) => {
94 align-items: center; 95 align-items: center;
95 justify-content: center; 96 justify-content: center;
96 width: 20%; 97 width: 20%;
97 height: 100%; 98 height: 130rpx;
98 position: relative; 99 position: relative;
99 z-index: 1; 100 z-index: 1;
100 } 101 }
......
...@@ -9,11 +9,7 @@ ...@@ -9,11 +9,7 @@
9 <view class="appList"> 9 <view class="appList">
10 <view v-for="(item,index) in list" :key="item.examId || index" class="appItem"> 10 <view v-for="(item,index) in list" :key="item.examId || index" class="appItem">
11 <view class="status" @click="goDetail(item)"> 11 <view class="status" @click="goDetail(item)">
12 <text v-if="item.status=='0'" class="text-primary-bg">{{ item.statusStr }}</text> 12 <text :class="getStatusClass(item.status)">{{ auditStatusTag(item.status) }}</text>
13 <text v-if="item.status=='1'" class="text-primary-bg">{{ item.statusStr }}</text>
14 <text v-if="item.status=='2'" class="text-success-bg">{{ item.statusStr }}</text>
15 <text v-if="item.status=='3'" class="text-danger-bg">{{ item.statusStr }}</text>
16 <text v-if="item.status=='4'" class="text-warning-bg">{{ item.statusStr }}</text>
17 </view> 13 </view>
18 <view v-if="item.status!='0'&&item.submitTime" class="date">提交时间:{{ item.submitTime }}</view> 14 <view v-if="item.status!='0'&&item.submitTime" class="date">提交时间:{{ item.submitTime }}</view>
19 <view class="mt0" @click="goDetail(item)"> 15 <view class="mt0" @click="goDetail(item)">
...@@ -38,11 +34,13 @@ ...@@ -38,11 +34,13 @@
38 <view class="pp esp">申请单位:{{ item.memberName }}</view> 34 <view class="pp esp">申请单位:{{ item.memberName }}</view>
39 <view class="pp esp">考级日期:{{ item.startTime?.substring(0, 16) }}{{ item.endTime?.substring(0, 16) }} 35 <view class="pp esp">考级日期:{{ item.startTime?.substring(0, 16) }}{{ item.endTime?.substring(0, 16) }}
40 </view> 36 </view>
41 37
42 <view v-if="item.status=='0'||item.status=='3'||item.status=='4'||item.status=='9'" class="func"> 38 <view class="func">
43 <button v-if="item.status !== '1' && item.status !== '2' && item.status !== '3'" @click="handleDelete(item)">删除</button> 39 <!-- <button :disabled="item.status=='0'" @click="goDetail(item)">查看</button> -->
44 <button v-if="item.status === '0'" @click="editThis(item)">编辑</button> 40 <button :disabled="item.status!='0'" @click="editThis(item)">编辑</button>
45 <button v-if="(item.status === '0' || item.status === '9') && item.totalNum > 0 && item.pass > 0" @click="handleSubmit(item)">提交审核</button> 41 <button v-if="item.status === '9'" class="btn-pay" :disabled="item.status!='0'&&item.status!='9'||item.totalNum==0||item.pass==0" @click="handlePay(item)">支付</button>
42 <button v-else :disabled="item.status!='0'&&item.status!='9'||item.totalNum==0||item.pass==0" @click="handleSubmit(item)">提交审核</button>
43 <button :disabled="item.status!= 8" @click="handleDelete(item)">删除</button>
46 </view> 44 </view>
47 </view> 45 </view>
48 </view> 46 </view>
...@@ -112,6 +110,26 @@ function getList() { ...@@ -112,6 +110,26 @@ function getList() {
112 }) 110 })
113 } 111 }
114 112
113 const auditStatusTag = (status) => {
114 const map = {
115 '0': '待提交',
116 '1': '审核中',
117 '2': '审核通过',
118 '3': '审核拒绝',
119 '4': '已退回',
120 '8': '已取消',
121 '9': '待支付'
122 }
123 return map[status] || ''
124 }
125
126 const getStatusClass = (status) => {
127 if (status === '2') return 'text-success-bg'
128 if (status === '3' || status === '8') return 'text-danger-bg'
129 if (status === '4' || status === '9') return 'text-warning-bg'
130 return 'text-primary-bg'
131 }
132
115 function goAdd() { 133 function goAdd() {
116 let path = `/level/addApply` 134 let path = `/level/addApply`
117 uni.navigateTo({ 135 uni.navigateTo({
...@@ -184,7 +202,13 @@ function goDetail(item) { ...@@ -184,7 +202,13 @@ function goDetail(item) {
184 // 去编辑 202 // 去编辑
185 editThis(item) 203 editThis(item)
186 } 204 }
187 205
206 }
207
208 function handlePay(item) {
209 uni.navigateTo({
210 url: `/level/paymentDetail?examId=${item.examId}`
211 })
188 } 212 }
189 </script> 213 </script>
190 214
...@@ -220,12 +244,31 @@ function goDetail(item) { ...@@ -220,12 +244,31 @@ function goDetail(item) {
220 // border-color: #eee; 244 // border-color: #eee;
221 // } 245 // }
222 } 246 }
247
248 .btn-pay {
249 background-color: #13B5B1;
250 color: #fff;
251 border-color: #13B5B1;
252 }
223 :deep(.func button[disabled]) { 253 :deep(.func button[disabled]) {
224 background-color: #f5f5f5 !important; 254 background-color: #f5f5f5 !important;
225 color: #ccc !important; 255 color: #ccc !important;
226 border-color: #eee !important; 256 border-color: #eee !important;
227 opacity: 0.6; 257 opacity: 0.6;
228 } 258 }
259 :deep(.func) {
260 display: flex;
261 flex-wrap: wrap;
262 justify-content: flex-start;
263 gap: 10rpx;
264
265 button {
266 padding: 0 20rpx;
267 font-size: 24rpx;
268 line-height: 2;
269 min-width: 120rpx;
270 }
271 }
229 .mt0 { 272 .mt0 {
230 margin-top: 0 !important; 273 margin-top: 0 !important;
231 } 274 }
...@@ -234,4 +277,25 @@ function goDetail(item) { ...@@ -234,4 +277,25 @@ function goDetail(item) {
234 width: 85%; 277 width: 85%;
235 word-break: break-all; 278 word-break: break-all;
236 } 279 }
280
281 // 状态样式
282 .text-primary-bg {
283 background: #e6f0ff;
284 color: #409eff;
285 }
286
287 .text-success-bg {
288 background: #e6fff7;
289 color: #52c41a;
290 }
291
292 .text-danger-bg {
293 background: #fff1f0;
294 color: #ff4d4f;
295 }
296
297 .text-warning-bg {
298 background: #fff7e6;
299 color: #fa8c16;
300 }
237 </style> 301 </style>
......
...@@ -40,129 +40,6 @@ ...@@ -40,129 +40,6 @@
40 @scrolltolower="loadMore" 40 @scrolltolower="loadMore"
41 > 41 >
42 <view class="order-list"> 42 <view class="order-list">
43 <!-- 有数据才循环 -->
44 <!-- <view v-if="list.length > 0">-->
45 <!-- <view-->
46 <!-- v-for="(item, index) in list"-->
47 <!-- :key="index"-->
48 <!-- class="order-card"-->
49 <!-- @click="goToDetail(item)"-->
50 <!-- >-->
51 <!-- &lt;!&ndash; 订单头部:日期 + 状态 &ndash;&gt;-->
52 <!-- <view class="card-header">-->
53 <!-- <view class="date">-->
54 <!-- &lt;!&ndash; <image :src="config.baseUrl_api + '/fs/static/calendar@2x.png'" mode="widthFix" style="width:30rpx;height:30rpx;"/> &ndash;&gt;-->
55 <!-- &lt;!&ndash; &ndash;&gt;-->
56 <!-- <text class="value text-primary">{{ item.wfCode || '——' }}</text>-->
57 <!-- </view>-->
58 <!-- <view class="status-tags">-->
59 <!-- &lt;!&ndash; <view-->
60 <!-- class="status-tag"-->
61 <!-- :class="{-->
62 <!-- success: item.payStatus == 1,-->
63 <!-- danger: item.payStatus == 2,-->
64 <!-- pending: item.payStatus == 0-->
65 <!-- }"-->
66 <!-- >-->
67 <!-- {{ getStatusText(item.payStatus) }}-->
68 <!-- </view> &ndash;&gt;-->
69 <!-- <view-->
70 <!-- :class="{-->
71 <!-- 'status-wait': item.auditStatus == 0,-->
72 <!-- 'status-pending': item.auditStatus == 1,-->
73 <!-- 'status-success': item.auditStatus == 2,-->
74 <!-- 'status-danger': item.auditStatus == 3-->
75 <!-- }"-->
76 <!-- class="status-tag ml-10"-->
77 <!-- >-->
78 <!-- {{ getAuditStatusText(item.auditStatus) }}-->
79 <!-- </view>-->
80 <!-- </view>-->
81 <!-- </view>-->
82 <!-- -->
83 <!-- &lt;!&ndash; 订单编号、缴费编号 &ndash;&gt;-->
84 <!-- <view class="info-row">-->
85 <!-- <text class="label">订单编号:</text>-->
86 <!-- <text class="value">{{ item.tradeNo || '——' }}</text>-->
87 <!-- </view>-->
88 <!-- <view v-if="item.orderName" class="info-row">-->
89 <!-- <text class="label">缴费名称:</text>-->
90 <!-- <text class="value">{{ item.orderName || '' }}</text>-->
91 <!-- </view>-->
92 <!-- &lt;!&ndash; <view class="info-row">-->
93 <!-- <text class="label">缴费编号:</text>-->
94 <!-- -->
95 <!-- </view> &ndash;&gt;-->
96 <!-- -->
97 <!-- &lt;!&ndash; 核心:前2tab仅展示缴费年限,后2tab仅展示人数合计 &ndash;&gt;-->
98 <!-- <view v-if="item.content" class="info-section flex f-j-s">-->
99 <!-- &lt;!&ndash; 个人/单位会员(仅缴费年限) &ndash;&gt;-->
100 <!-- <view v-if="currentTab === '0' || currentTab === '1'" class="single-info">-->
101 <!-- <view class="label">缴费年限:</view>-->
102 <!-- <view class="value">{{ item.content.yearCount || 0 }}</view>-->
103 <!-- </view>-->
104 <!-- &lt;!&ndash; 级位/段位考试(仅人数合计) &ndash;&gt;-->
105 <!-- <view v-if="currentTab === '2' || currentTab === '3' || currentTab === '4'" class="single-info">-->
106 <!-- <view class="label">人数合计</view>-->
107 <!-- <view class="value">{{ item.content.personCount || 0 }}</view>-->
108 <!-- </view>-->
109 <!-- <view class="line"></view>-->
110 <!-- <view class="single-info">-->
111 <!-- <view class="label">订单状态</view>-->
112 <!-- <view :class="item.effect == 1 ? 'text-success' : 'text-warning'" class="value">-->
113 <!-- {{ item.effect == 1 ? '已生效' : '未生效' }}-->
114 <!-- </view>-->
115 <!-- </view>-->
116 <!-- <view class="line"></view>-->
117 <!-- <view class="single-info">-->
118 <!-- <view class="label">缴费状态</view>-->
119 <!-- <view-->
120 <!-- :class="{-->
121 <!-- 'text-primary': item.payStatus == 0,-->
122 <!-- 'text-success': item.payStatus == 1,-->
123 <!-- 'text-danger': item.payStatus == 2-->
124 <!-- }"-->
125 <!-- class="value"-->
126 <!-- >-->
127 <!-- {{ item.payStatus == 0 ? '待缴费' : item.payStatus == 1 ? '缴费成功' : '订单取消' }}-->
128 <!-- </view>-->
129 <!-- </view>-->
130 <!-- </view>-->
131 <!-- -->
132 <!-- &lt;!&ndash; 费用合计 + 缴费方式 &ndash;&gt;-->
133 <!-- <view class="price-section">-->
134 <!-- <view class="price-row">-->
135 <!-- <text class="price-label">费用合计</text>-->
136 <!-- <text class="price-value">¥{{ (Number(item.price) || 0).toFixed(2) }}</text>-->
137 <!-- </view>-->
138 <!-- <view class="price-row">-->
139 <!-- <text class="price-label">缴费方式</text>-->
140 <!-- <text class="price-value">{{ item.ziZhangBu ? '对公转账' : '民生付' }}</text>-->
141 <!-- </view>-->
142 <!-- </view>-->
143 <!-- -->
144 <!-- &lt;!&ndash; 按钮组:靠右紧凑展示 &ndash;&gt;-->
145 <!-- <view class="btn-group">-->
146 <!-- &lt;!&ndash; 已缴费:申请开票/已开票(需要审核通过才能开票) &ndash;&gt;-->
147 <!-- <template v-if="item.payStatus == 1 && item.invoiceStatus != 1&& item.auditStatus == 2 &&item.price>0">-->
148 <!-- <button :disabled="item.invoiceStatus === 1" class="btn btn-view-invoice" @click="makeInvoiceFN(item)">-->
149 <!-- 开票-->
150 <!-- </button>-->
151 <!-- </template>-->
152 <!-- &lt;!&ndash; 已开票:查看发票 &ndash;&gt;-->
153 <!-- <template v-if="item.invoiceStatus == 1">-->
154 <!-- <button class="btn btn-invoice" @click.stop="viewInvoice(item)">查看发票</button>-->
155 <!-- </template>-->
156 <!-- &lt;!&ndash; 未缴费:去缴费 + 取消订单 &ndash;&gt;-->
157 <!-- &lt;!&ndash; <template v-if="item.payStatus == 0">-->
158 <!-- <button class="btn btn-cancel" @click="handleCancel(item)">取消订单</button>-->
159 <!-- <button class="btn btn-pay" @click="handlePay(item)">去缴费</button>-->
160 <!-- </template> &ndash;&gt;-->
161 <!-- </view>-->
162 <!-- </view>-->
163 <!-- </view>-->
164
165 <!-- 有数据才循环 -->
166 <view v-if="list.length > 0"> 43 <view v-if="list.length > 0">
167 <view 44 <view
168 v-for="(item, index) in list" 45 v-for="(item, index) in list"
......
...@@ -31,10 +31,10 @@ ...@@ -31,10 +31,10 @@
31 <image class="menu-bg" :src="config.baseUrl_api + '/fs/static/img/red_bg2.png'" mode="scaleToFill"></image> 31 <image class="menu-bg" :src="config.baseUrl_api + '/fs/static/img/red_bg2.png'" mode="scaleToFill"></image>
32 <view class="menu-item" @click="goPath('/myCenter/teamInfo')"> 32 <view class="menu-item" @click="goPath('/myCenter/teamInfo')">
33 <view class="menu-left"> 33 <view class="menu-left">
34 <image class="menu-icon" :src="config.baseUrl_api + '/fs/static/img/user01.png'" mode="aspectFit"></image> 34 <image class="menu-icon" :src="config.baseUrl_api + '/fs/static/img/user01.png'" mode="aspectFit"></image>
35 <text>单位信息</text> 35 <text>单位信息</text>
36 </view> 36 </view>
37 <text class="arrow">></text> 37 <uni-icons type="arrowright" size="18" color="#111"></uni-icons>
38 </view> 38 </view>
39 39
40 <view class="menu-item" @click="goPath('/myCenter/auth')"> 40 <view class="menu-item" @click="goPath('/myCenter/auth')">
...@@ -42,15 +42,15 @@ ...@@ -42,15 +42,15 @@
42 <image class="menu-icon" :src="config.baseUrl_api + '/fs/static/img/user02.png'" mode="aspectFit"></image> 42 <image class="menu-icon" :src="config.baseUrl_api + '/fs/static/img/user02.png'" mode="aspectFit"></image>
43 <text>会员认证</text> 43 <text>会员认证</text>
44 </view> 44 </view>
45 <text class="arrow">></text> 45 <uni-icons type="arrowright" size="18" color="#111"></uni-icons>
46 </view> 46 </view>
47 47
48 <view class="menu-item" @click="goPath('/myCenter/examPointApplyList')"> 48 <view class="menu-item" @click="goPath('/myCenter/examPointApplyList')">
49 <view class="menu-left"> 49 <view class="menu-left">
50 <image class="menu-icon" :src="config.baseUrl_api + '/fs/static/img/user02.png'" mode="aspectFit"></image> 50 <image class="menu-icon" :src="config.baseUrl_api + '/fs/static/img/user04.png'" mode="aspectFit"></image>
51 <text>考点认证</text> 51 <text>考点认证</text>
52 </view> 52 </view>
53 <text class="arrow">></text> 53 <uni-icons type="arrowright" size="18" color="#111"></uni-icons>
54 </view> 54 </view>
55 55
56 <view class="menu-item" @click="goPath('/myCenter/safe')"> 56 <view class="menu-item" @click="goPath('/myCenter/safe')">
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
58 <image class="menu-icon" :src="config.baseUrl_api + '/fs/static/img/user03.png'" mode="aspectFit"></image> 58 <image class="menu-icon" :src="config.baseUrl_api + '/fs/static/img/user03.png'" mode="aspectFit"></image>
59 <text>账号安全</text> 59 <text>账号安全</text>
60 </view> 60 </view>
61 <text class="arrow">></text> 61 <uni-icons type="arrowright" size="18" color="#111"></uni-icons>
62 </view> 62 </view>
63 </view> 63 </view>
64 64
...@@ -353,13 +353,6 @@ function onTabSwitch(index, url) { ...@@ -353,13 +353,6 @@ function onTabSwitch(index, url) {
353 margin-right: 18rpx; 353 margin-right: 18rpx;
354 } 354 }
355 355
356 .arrow {
357 color: #111;
358 font-size: 42rpx;
359 font-weight: 400;
360 line-height: 1;
361 }
362
363 .logout-area { 356 .logout-area {
364 position: fixed; 357 position: fixed;
365 left: 0; 358 left: 0;
......
...@@ -402,6 +402,7 @@ function checkDialogs() { ...@@ -402,6 +402,7 @@ function checkDialogs() {
402 } 402 }
403 403
404 async function checkExamPointDialog() { 404 async function checkExamPointDialog() {
405 console.log('checkExamPointDialog', app.globalData.userInfo.hintFlag )
405 const [err, res] = await to(api.getMyRecentExam()) 406 const [err, res] = await to(api.getMyRecentExam())
406 if (err || !res?.data) return 407 if (err || !res?.data) return
407 const status = res.data?.auditStatus 408 const status = res.data?.auditStatus
...@@ -409,6 +410,7 @@ async function checkExamPointDialog() { ...@@ -409,6 +410,7 @@ async function checkExamPointDialog() {
409 app.globalData.memberInfo?.activeStatus == 1 && 410 app.globalData.memberInfo?.activeStatus == 1 &&
410 app.globalData.authenticationStatus == 2 && 411 app.globalData.authenticationStatus == 2 &&
411 app.globalData.deptType == 6 && 412 app.globalData.deptType == 6 &&
413 app.globalData.userInfo.hintFlag == 1 &&
412 app.globalData.memberInfo?.isPoints == 1) { 414 app.globalData.memberInfo?.isPoints == 1) {
413 examPointPopup.value?.open() 415 examPointPopup.value?.open()
414 } 416 }
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!