677c988b by lttnew

样式优化

1 parent cccdbc00
...@@ -20,7 +20,7 @@ page { ...@@ -20,7 +20,7 @@ page {
20 .mt20{margin-top: 20px !important;} 20 .mt20{margin-top: 20px !important;}
21 .must{color: #AD181F;font-size: 24rpx;} 21 .must{color: #AD181F;font-size: 24rpx;}
22 .vipData .w50{width: 45%;} 22 .vipData .w50{width: 45%;}
23 .esp{text-overflow: ellipsis;overflow: hidden;white-space: nowrap;} 23 .esp{text-overflow: ellipsis;overflow: hidden;white-space: nowrap;margin-top: 16rpx;}
24 .flex{display: flex;} 24 .flex{display: flex;}
25 .flexbox{display: flex;} 25 .flexbox{display: flex;}
26 .mt30{margin-top: 30rpx;} 26 .mt30{margin-top: 30rpx;}
...@@ -148,7 +148,7 @@ page { ...@@ -148,7 +148,7 @@ page {
148 148
149 } 149 }
150 .name{margin: 30rpx 0 20rpx;color: #0A1629;font-size: 30rpx;} 150 .name{margin: 30rpx 0 20rpx;color: #0A1629;font-size: 30rpx;}
151 .flexbox{justify-content: space-between;padding:10rpx; 151 .flexbox{justify-content: space-between;padding:15rpx 30rpx;
152 background-color: rgba(244, 249, 253, 1);border-radius: 4px; 152 background-color: rgba(244, 249, 253, 1);border-radius: 4px;
153 font-size: 28rpx;color: #91929E;box-sizing: border-box; 153 font-size: 28rpx;color: #91929E;box-sizing: border-box;
154 view{font-size: 26rpx; 154 view{font-size: 26rpx;
...@@ -209,11 +209,55 @@ page { ...@@ -209,11 +209,55 @@ page {
209 } 209 }
210 } 210 }
211 } 211 }
212 .text-gray{color: #919191;} 212 .text-gray{color: #919191; }
213 .text-primary{color: #1561CB;} 213 .text-primary{color: #1561CB;}
214 .text-success{color: #32B16C;} 214 .text-success{color: #32B16C;}
215 .text-danger{color: #d51515;} 215 .text-danger{color: #d51515;}
216 .text-warning{color: #e6a23c;} 216 .text-warning{color: #e6a23c;}
217 .text-gray-bg {
218 color: #919191;
219 background: linear-gradient(135deg, #f5f5f5, #eeeeee);
220 padding: 2rpx 15rpx;
221 font-size: 22rpx;
222 border-radius: 20rpx;
223 border: 1rpx solid rgba(145, 145, 145, 0.25);
224 }
225 .text-success-bg {
226 background: linear-gradient(135deg, #e6f7ef, #d4f5e2);
227 color: #1db024;
228 font-size: 22rpx;
229 padding: 2rpx 10rpx;
230 border-radius: 20rpx;
231 border: 1rpx solid rgba(82, 196, 26, 0.3);
232 }
233
234 .text-danger-bg {
235 padding: 2rpx 15rpx;
236 border-radius: 20rpx;
237 background: linear-gradient(135deg, #fff1f0, #ffe5e5);
238 color: #e8341d;
239 font-size: 22rpx;
240
241 border: 1rpx solid rgba(232, 52, 29, 0.3);
242 }
243
244 .text-primary-bg {
245 background: linear-gradient(135deg, #e6f3ff, #d4e9ff);
246 color: #1890ff;
247 font-size: 22rpx;
248 padding: 2rpx 15rpx;
249 border-radius: 20rpx;
250 border: 1rpx solid rgba(24, 144, 255, 0.3);
251 }
252
253 .text-warning-bg{
254 background: linear-gradient(135deg, #fff7e6, #fff1cc);
255 color: #faad14;
256 font-size: 22rpx;
257 padding: 2rpx 15rpx;
258 border-radius: 20rpx;
259 border: 1rpx solid rgba(250, 173, 20, 0.3);
260 }
217 .h3-padding{ 261 .h3-padding{
218 padding:50rpx 30rpx 0;font-size: 36rpx;box-sizing: border-box; 262 padding:50rpx 30rpx 0;font-size: 36rpx;box-sizing: border-box;
219 font-weight: 500;color: #0A1629; 263 font-weight: 500;color: #0A1629;
...@@ -295,10 +339,10 @@ page { ...@@ -295,10 +339,10 @@ page {
295 font-size: 28rpx;color: #91929E; 339 font-size: 28rpx;color: #91929E;
296 view{font-size: 26rpx; 340 view{font-size: 26rpx;
297 text{color: #0A1629;font-size: 28rpx;display: block;} 341 text{color: #0A1629;font-size: 28rpx;display: block;}
298 .text-primary{color: #1561CB;} 342 .text-primary{color: #1561CB;background: linear-gradient(135deg, #e6f3ff, #d4e9ff);}
299 .text-success{color: #13B5B1;} 343 .text-success{color: #32B16C;background: linear-gradient(135deg, #e6f7ef, #d4f5e2);}
300 .text-danger{color: #d51515;} 344 .text-danger{color: #d51515;background: linear-gradient(135deg, #fff1f0, #ffe5e5);}
301 .text-warning{color: #e6a23c;} 345 .text-warning{color: #e6a23c;background: linear-gradient(135deg, #fff7e6, #fff1cc);}
302 } 346 }
303 } 347 }
304 348
......
1 // dev 1 // dev
2 const baseUrl_api = 'http://192.168.1.137:8787' 2 // const baseUrl_api = 'http://192.168.1.137:8787'
3 // const baseUrl_api = 'http://tk001.wxjylt.com/stage-api' 3 const baseUrl_api = 'http://tk001.wxjylt.com/stage-api'
4 const loginImage_api = 'http://tk001.wxjylt.com/stage-api' 4 const loginImage_api = 'http://tk001.wxjylt.com/stage-api'
5 const payUrl = 'https://wxpay.cmbc.com.cn/mobilePlatform/appserver/lcbpPay.do' 5 const payUrl = 'https://wxpay.cmbc.com.cn/mobilePlatform/appserver/lcbpPay.do'
6 6
......
...@@ -12,9 +12,9 @@ ...@@ -12,9 +12,9 @@
12 12
13 <view v-for="(item,index) in list" :key="index" class="appItem"> 13 <view v-for="(item,index) in list" :key="index" class="appItem">
14 <view class="status" @click="goDetail(item)"> 14 <view class="status" @click="goDetail(item)">
15 <text v-if="item.auditStatus == 1" class="text-primary">审核中</text> 15 <text v-if="item.auditStatus == 1" class="text-primary-bg">审核中</text>
16 <text v-if="item.auditStatus == 2" class="text-success">审核通过</text> 16 <text v-if="item.auditStatus == 2" class="text-success-bg">审核通过</text>
17 <text v-if="item.auditStatus == 3" class="text-danger">审核拒绝</text> 17 <text v-if="item.auditStatus == 3" class="text-danger-bg">审核拒绝</text>
18 </view> 18 </view>
19 <view class="date"> 19 <view class="date">
20 <uni-icons color="#AD181F" size="16" type="calendar-filled"></uni-icons> 20 <uni-icons color="#AD181F" size="16" type="calendar-filled"></uni-icons>
......
...@@ -11,19 +11,18 @@ ...@@ -11,19 +11,18 @@
11 <view class="appList"> 11 <view class="appList">
12 <view class="appItem" v-for="item in infoList"> 12 <view class="appItem" v-for="item in infoList">
13 <view class="status" :class="{ 13 <view class="status" :class="{
14 'text-primary':item.status=='0', 14 'text-primary-bg':item.status=='0',
15 'text-success':item.status=='1', 15 'text-success-bg':item.status=='1',
16 'text-danger':item.status=='2', 16 'text-danger-bg':item.status=='2',
17 'text-warning':item.status=='3' 17 'text-warning-bg':item.status=='3'
18 }" @click="goDetail(item)"> 18 }" @click="goDetail(item)">
19 {{ item.statusStr }} 19 {{ item.statusStr }}
20 </view> 20 </view>
21 21
22 <view class="date" v-if="item.status!='0'&&item.submitTime">提交时间:{{item.submitTime}}</view> 22 <view class="date" v-if="item.status!='0'&&item.submitTime">提交时间:{{item.submitTime}}</view>
23 <view class="text-primary">{{item.flowCode}}</view> 23 <view class="text-primary">{{item.flowCode}}</view>
24 <view class="name mt0" @click="goDetail(item)">{{item.mergeName}}</view> 24 <view class="name mt10" @click="goDetail(item)">{{item.mergeName}}</view>
25 <view class="pp esp">上报单位:{{item.memName}}</view> 25 <view class="flexbox" @click="goDetail(item)">
26 <view class="flexbox" @click="goDetail(item)">
27 <view> 26 <view>
28 考试人数 27 考试人数
29 <view>{{item.totalNum}}</view> 28 <view>{{item.totalNum}}</view>
...@@ -44,6 +43,8 @@ ...@@ -44,6 +43,8 @@
44 <view>¥{{item.totalAmount}}</view> 43 <view>¥{{item.totalAmount}}</view>
45 </view> 44 </view>
46 </view> 45 </view>
46 <view class="pp esp">上报单位:{{item.memName}}</view>
47
47 <view class="func" v-if="item.status=='0'"> 48 <view class="func" v-if="item.status=='0'">
48 <button @click="audit(item,'2')">拒绝</button> 49 <button @click="audit(item,'2')">拒绝</button>
49 <button @click="audit(item,'1')">同意</button> 50 <button @click="audit(item,'1')">同意</button>
......
...@@ -8,9 +8,9 @@ ...@@ -8,9 +8,9 @@
8 <view class="appItem" v-for="(item,index) in infoList" :key="index"> 8 <view class="appItem" v-for="(item,index) in infoList" :key="index">
9 <view class="status" @click="goDetail(item)"> 9 <view class="status" @click="goDetail(item)">
10 <text :class="{ 10 <text :class="{
11 'text-warning':item.certStatus=='0', 11 'text-warning-bg':item.certStatus=='0',
12 'text-primary':item.certStatus=='1', 12 'text-primary-bg':item.certStatus=='1',
13 'text-success':item.certStatus=='2' 13 'text-success-bg':item.certStatus=='2'
14 }">{{ item.certStatusStr }}</text> 14 }">{{ item.certStatusStr }}</text>
15 </view> 15 </view>
16 16
...@@ -19,8 +19,7 @@ ...@@ -19,8 +19,7 @@
19 {{item.submitTimeStr}} 提交 19 {{item.submitTimeStr}} 提交
20 </view> 20 </view>
21 <view class="text-primary" v-if="item.payCode" @click="goDetail(item)">{{item.payCode}}</view> 21 <view class="text-primary" v-if="item.payCode" @click="goDetail(item)">{{item.payCode}}</view>
22 <view class="name mt0 w100" @click="goDetail(item)"><text class="dot"></text>{{item.name}}</view> 22 <view class="name mt10 w100" @click="goDetail(item)"><text class="dot"></text>{{item.name}}</view>
23 <view class="pp esp" v-if="item.certTimeStr">证书发送时间:{{item.certTimeStr}}</view>
24 <view class="flexbox" @click="goDetail(item)"> 23 <view class="flexbox" @click="goDetail(item)">
25 <view> 24 <view>
26 申请单位 25 申请单位
...@@ -32,6 +31,8 @@ ...@@ -32,6 +31,8 @@
32 </view> 31 </view>
33 32
34 </view> 33 </view>
34 <view class="pp esp" v-if="item.certTimeStr">证书发送时间:{{item.certTimeStr}}</view>
35
35 <!-- v-if="item.certStatus != '2'" --> 36 <!-- v-if="item.certStatus != '2'" -->
36 <view class="func"> 37 <view class="func">
37 <button @click="send(item)">更新证书</button> 38 <button @click="send(item)">更新证书</button>
......
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
6 v-for="(tab, index) in tabs" 6 v-for="(tab, index) in tabs"
7 :key="index" 7 :key="index"
8 class="tab-item" 8 class="tab-item"
9 :class="{ active: currentTab === index }" 9 :class="{ active: currentTab === tab.type }"
10 @click="switchTab(index)" 10 @click="switchTab(tab.type)"
11 > 11 >
12 {{ tab.name }} 12 {{ tab.name }}
13 </view> 13 </view>
...@@ -29,16 +29,17 @@ ...@@ -29,16 +29,17 @@
29 v-for="(item, index) in list" 29 v-for="(item, index) in list"
30 :key="index" 30 :key="index"
31 class="order-card" 31 class="order-card"
32 @click="goToDetail(item)"
32 > 33 >
33 <!-- 订单头部:日期 + 状态 --> 34 <!-- 订单头部:日期 + 状态 -->
34 <view class="card-header"> 35 <view class="card-header">
35 <view class="date"> 36 <view class="date">
36 <image :src="config.baseUrl_api + '/fs/static/calendar@2x.png'" mode="widthFix" style="width:30rpx;height:30rpx;"/> 37 <!-- <image :src="config.baseUrl_api + '/fs/static/calendar@2x.png'" mode="widthFix" style="width:30rpx;height:30rpx;"/> -->
37 <!-- --> 38 <!-- -->
38 <text class="value code-text" @click="goToDetail(item)">{{ item.wfCode || '——' }}</text> 39 <text class="value text-primary" >{{ item.wfCode || '——' }}</text>
39 </view> 40 </view>
40 <view class="status-tags"> 41 <view class="status-tags">
41 <view 42 <!-- <view
42 class="status-tag" 43 class="status-tag"
43 :class="{ 44 :class="{
44 success: item.payStatus == 1, 45 success: item.payStatus == 1,
...@@ -47,11 +48,12 @@ ...@@ -47,11 +48,12 @@
47 }" 48 }"
48 > 49 >
49 {{ getStatusText(item.payStatus) }} 50 {{ getStatusText(item.payStatus) }}
50 </view> 51 </view> -->
51 <view 52 <view
52 class="status-tag ml-10" 53 class="status-tag ml-10"
53 :class="{ 54 :class="{
54 'status-pending': item.auditStatus == 0 || item.auditStatus == 1, 55 'status-wait': item.auditStatus == 0,
56 'status-pending': item.auditStatus == 1,
55 'status-success': item.auditStatus == 2, 57 'status-success': item.auditStatus == 2,
56 'status-danger': item.auditStatus == 3 58 'status-danger': item.auditStatus == 3
57 }" 59 }"
...@@ -74,17 +76,17 @@ ...@@ -74,17 +76,17 @@
74 <!-- 核心:前2tab仅展示缴费年限,后2tab仅展示人数合计 --> 76 <!-- 核心:前2tab仅展示缴费年限,后2tab仅展示人数合计 -->
75 <view class="info-section flex f-j-s" v-if="item.content"> 77 <view class="info-section flex f-j-s" v-if="item.content">
76 <!-- 个人/单位会员(仅缴费年限) --> 78 <!-- 个人/单位会员(仅缴费年限) -->
77 <view v-if="currentTab === 0 || currentTab === 1" class="single-info"> 79 <view v-if="currentTab === '0' || currentTab === '1'" class="single-info">
78 <view class="label">缴费年限:</view> 80 <view class="label">缴费年限:</view>
79 <view class="value">{{ item.content.yearCount || 0 }}</view> 81 <view class="value">{{ item.content.yearCount || 0 }}</view>
80 </view> 82 </view>
81 <view class="line" v-if="currentTab === 0 || currentTab === 1"></view> 83 <view class="line" v-if="currentTab === '0' || currentTab === '1'"></view>
82 <!-- 级位/段位考试(仅人数合计) --> 84 <!-- 级位/段位考试(仅人数合计) -->
83 <view v-if="currentTab === 2 || currentTab === 3" class="single-info"> 85 <view v-if="currentTab === '2' || currentTab === '3' || currentTab === '4'" class="single-info">
84 <view class="label">人数合计</view> 86 <view class="label">人数合计</view>
85 <view class="value">{{ item.content.allPersonCount || 0 }}</view> 87 <view class="value">{{ item.content.allPersonCount || 0 }}</view>
86 </view> 88 </view>
87 <view class="line" v-if="currentTab === 2 || currentTab === 3"></view> 89 <view class="line" v-if="currentTab === '2' || currentTab === '3' || currentTab === '4'"></view>
88 <view class="single-info"> 90 <view class="single-info">
89 <view class="label">订单状态</view> 91 <view class="label">订单状态</view>
90 <view class="value" :class="item.effect == 1 ? 'text-success' : 'text-warning'"> 92 <view class="value" :class="item.effect == 1 ? 'text-success' : 'text-warning'">
...@@ -204,7 +206,7 @@ const tabs = computed(() => { ...@@ -204,7 +206,7 @@ const tabs = computed(() => {
204 ]; 206 ];
205 } 207 }
206 }); 208 });
207 const currentTab = ref(0); 209 const currentTab = ref('0');
208 210
209 // 数据与分页配置 211 // 数据与分页配置
210 const list = ref([]); 212 const list = ref([]);
...@@ -242,6 +244,9 @@ onMounted(() => { ...@@ -242,6 +244,9 @@ onMounted(() => {
242 console.log('onMounted - app.globalData:', app.globalData); 244 console.log('onMounted - app.globalData:', app.globalData);
243 deptType.value = Number(app.globalData?.deptType || 0); 245 deptType.value = Number(app.globalData?.deptType || 0);
244 console.log('onMounted - deptType.value:', deptType.value, typeof deptType.value); 246 console.log('onMounted - deptType.value:', deptType.value, typeof deptType.value);
247 const firstType = tabs.value[0]?.type ?? '0';
248 currentTab.value = firstType;
249 queryParams.type = firstType;
245 initData(); 250 initData();
246 }); 251 });
247 252
...@@ -269,9 +274,9 @@ const loadMore = () => { ...@@ -269,9 +274,9 @@ const loadMore = () => {
269 }; 274 };
270 275
271 // 切换标签 276 // 切换标签
272 const switchTab = (index) => { 277 const switchTab = (type) => {
273 currentTab.value = index; 278 currentTab.value = type;
274 queryParams.type = tabs.value[index].type; 279 queryParams.type = type;
275 pageNum.value = 1; 280 pageNum.value = 1;
276 list.value = []; 281 list.value = [];
277 hasMore.value = true; 282 hasMore.value = true;
...@@ -489,10 +494,11 @@ const closeCancelPopup = () => { ...@@ -489,10 +494,11 @@ const closeCancelPopup = () => {
489 margin-bottom: 20rpx; 494 margin-bottom: 20rpx;
490 padding: 20rpx; 495 padding: 20rpx;
491 box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.04); 496 box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.04);
492 border-top: 6rpx solid transparent; 497 border-radius: 12rpx;
493 background-clip: padding-box, border-box; 498 // border-top: 6rpx solid transparent;
494 background-origin: padding-box, border-box; 499 // background-clip: padding-box, border-box;
495 background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #FF755A, #F51722); 500 // background-origin: padding-box, border-box;
501 // background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #FF755A, #F51722);
496 } 502 }
497 } 503 }
498 504
...@@ -502,8 +508,8 @@ const closeCancelPopup = () => { ...@@ -502,8 +508,8 @@ const closeCancelPopup = () => {
502 justify-content: space-between; 508 justify-content: space-between;
503 align-items: center; 509 align-items: center;
504 padding-bottom: 20rpx; 510 padding-bottom: 20rpx;
505 margin-bottom: 20rpx; 511 // margin-bottom: 20rpx;
506 border-bottom: 1rpx dashed #eee; 512 // border-bottom: 1rpx dashed #eee;
507 513
508 .date { 514 .date {
509 display: flex; 515 display: flex;
...@@ -545,19 +551,28 @@ const closeCancelPopup = () => { ...@@ -545,19 +551,28 @@ const closeCancelPopup = () => {
545 margin-left: 10rpx; 551 margin-left: 10rpx;
546 } 552 }
547 553
554 &.status-wait {
555 background: #f0f5ff;
556 color: #597ef7;
557 border: 1rpx solid rgba(89, 126, 247, 0.3);
558 }
559
548 &.status-pending { 560 &.status-pending {
549 background: #fff7e6; 561 background: #fff7e6;
550 color: #faad14; 562 color: #faad14;
563 border: 1rpx solid rgba(250, 173, 20, 0.3);
551 } 564 }
552 565
553 &.status-success { 566 &.status-success {
554 background: #e6f7ef; 567 background: #e6f7ef;
555 color: #52c41a; 568 color: #52c41a;
569 border: 1rpx solid rgba(82, 196, 26, 0.3);
556 } 570 }
557 571
558 &.status-danger { 572 &.status-danger {
559 background: #fff1f0; 573 background: #fff1f0;
560 color: #ff4d4f; 574 color: #ff4d4f;
575 border: 1rpx solid rgba(232, 52, 29, 0.3);
561 } 576 }
562 } 577 }
563 } 578 }
...@@ -622,8 +637,8 @@ const closeCancelPopup = () => { ...@@ -622,8 +637,8 @@ const closeCancelPopup = () => {
622 637
623 // 费用合计 638 // 费用合计
624 .price-section { 639 .price-section {
625 border-top: 1rpx dashed #eee; 640 // border-top: 1rpx dashed #eee;
626 padding-top: 16rpx; 641 // padding-top: 16rpx;
627 margin-top: 8rpx; 642 margin-top: 8rpx;
628 643
629 .price-row { 644 .price-row {
......
...@@ -9,10 +9,10 @@ ...@@ -9,10 +9,10 @@
9 <view @click="goDetail(item)"> 9 <view @click="goDetail(item)">
10 <view class="status"> 10 <view class="status">
11 <text :class="{ 11 <text :class="{
12 'text-primary':item.scoreStatus=='0', 12 'text-primary-bg':item.scoreStatus=='0',
13 'text-success':item.scoreStatus=='2', 13 'text-success-bg':item.scoreStatus=='2',
14 'text-danger':item.scoreStatus=='3', 14 'text-danger-bg':item.scoreStatus=='3',
15 'text-warning':item.scoreStatus=='4' 15 'text-warning-bg':item.scoreStatus=='4'
16 }">{{ item.scoreStatusStr }}</text> 16 }">{{ item.scoreStatusStr }}</text>
17 </view> 17 </view>
18 18
......
...@@ -9,19 +9,17 @@ ...@@ -9,19 +9,17 @@
9 <view @click="goDetail(item)"> 9 <view @click="goDetail(item)">
10 <view class="status" > 10 <view class="status" >
11 <text :class="{ 11 <text :class="{
12 'text-primary':item.auditStatus=='0', 12 'text-primary-bg':item.auditStatus=='0',
13 'text-success':item.auditStatus=='1', 13 'text-success-bg':item.auditStatus=='1',
14 'text-danger':item.auditStatus=='2', 14 'text-danger-bg':item.auditStatus=='2',
15 'text-warning':item.auditStatus=='3' 15 'text-warning-bg':item.auditStatus=='3'
16 }">{{ item.statusStr }}</text> 16 }">{{ item.statusStr }}</text>
17 </view> 17 </view>
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="text-primary">{{item.examCode}}</view> 20 <view class="text-primary">{{item.examCode}}</view>
21 <view class="name mt0" >{{item.name}}</view> 21 <view class="name mt0" >{{item.name}}</view>
22 <view class="pp esp">申请单位:{{item.memberName}}</view> 22 <view class="flexbox" >
23 <view class="pp esp">考段日期:{{item.startTime.substring(0,16)}}{{item.endTime.substring(0,16)}}</view>
24 <view class="flexbox" >
25 <view> 23 <view>
26 申请日期 24 申请日期
27 <view>{{item.applyTime.substring(0, 10)}}</view> 25 <view>{{item.applyTime.substring(0, 10)}}</view>
...@@ -31,6 +29,9 @@ ...@@ -31,6 +29,9 @@
31 <view>{{item.totalNum||'--'}}</view> 29 <view>{{item.totalNum||'--'}}</view>
32 </view> 30 </view>
33 </view> 31 </view>
32 <view class="pp esp">申请单位:{{item.memberName}}</view>
33 <view class="pp esp">考段日期:{{item.startTime.substring(0,16)}}{{item.endTime.substring(0,16)}}</view>
34
34 </view> 35 </view>
35 <view class="func" v-if="item.auditStatus=='0'"> 36 <view class="func" v-if="item.auditStatus=='0'">
36 <button @click="audit(item,'2')">拒绝</button> 37 <button @click="audit(item,'2')">拒绝</button>
......
...@@ -8,16 +8,15 @@ ...@@ -8,16 +8,15 @@
8 <view @click="goDetail(item)"> 8 <view @click="goDetail(item)">
9 <view class="status" > 9 <view class="status" >
10 <text :class="{ 10 <text :class="{
11 'text-primary':item.certStatus=='0', 11 'text-primary-bg':item.certStatus=='0',
12 'text-warning':item.certStatus=='1', 12 'text-warning-bg':item.certStatus=='1',
13 'text-success':item.certStatus=='2', 13 'text-success-bg':item.certStatus=='2',
14 }">{{ item.certStatusStr }}</text> 14 }">{{ item.certStatusStr }}</text>
15 </view> 15 </view>
16 16
17 <view class="date">结算编号:{{item.payCode}}</view> 17 <view class="date">结算编号:{{item.payCode}}</view>
18 <view class="name mt0" >{{item.name}}</view> 18 <view class="name mt0" >{{item.name}}</view>
19 <view class="pp esp">考试时间:{{item.startTime?.substring(0,16)}}{{item.endTime?.substring(0,16)}}</view> 19 <view class="flexbox" >
20 <view class="flexbox" >
21 <view> 20 <view>
22 申请日期 21 申请日期
23 <view>{{item.applyTime?.substring(0, 10)}}</view> 22 <view>{{item.applyTime?.substring(0, 10)}}</view>
...@@ -35,6 +34,8 @@ ...@@ -35,6 +34,8 @@
35 <view>{{item.noCerts}}</view> 34 <view>{{item.noCerts}}</view>
36 </view> 35 </view>
37 </view> 36 </view>
37 <view class="pp esp">考试时间:{{item.startTime?.substring(0,16)}}{{item.endTime?.substring(0,16)}}</view>
38
38 </view> 39 </view>
39 <view class="func"> 40 <view class="func">
40 <button @click="send(item)">一键生成</button> 41 <button @click="send(item)">一键生成</button>
......
...@@ -9,10 +9,10 @@ ...@@ -9,10 +9,10 @@
9 <view @click="goDetail(item)"> 9 <view @click="goDetail(item)">
10 <view class="status"> 10 <view class="status">
11 <text :class="{ 11 <text :class="{
12 'text-primary':item.auditStatus=='0', 12 'text-primary-bg':item.auditStatus=='0',
13 'text-success':item.auditStatus=='1', 13 'text-success-bg':item.auditStatus=='1',
14 'text-danger':item.auditStatus=='2', 14 'text-danger-bg':item.auditStatus=='2',
15 'text-warning':item.auditStatus=='3' 15 'text-warning-bg':item.auditStatus=='3'
16 }">{{ item.statusStr }}</text> 16 }">{{ item.statusStr }}</text>
17 </view> 17 </view>
18 18
...@@ -22,8 +22,6 @@ ...@@ -22,8 +22,6 @@
22 </view> 22 </view>
23 <view class="text-primary">{{item.examCode}}</view> 23 <view class="text-primary">{{item.examCode}}</view>
24 <view class="name mt10"><text class="dot"></text>{{item.name}}</view> 24 <view class="name mt10"><text class="dot"></text>{{item.name}}</view>
25 <view class="pp esp">考段日期:{{item.startTime.substring(0,16)}}{{item.endTime.substring(0,16)}}
26 </view>
27 <view class="flexbox"> 25 <view class="flexbox">
28 <view> 26 <view>
29 申请日期 27 申请日期
...@@ -40,6 +38,9 @@ ...@@ -40,6 +38,9 @@
40 </view> 38 </view>
41 </view> 39 </view>
42 </view> 40 </view>
41 <view class="pp esp">考段日期:{{item.startTime.substring(0,16)}}{{item.endTime.substring(0,16)}}
42 </view>
43
43 </view> 44 </view>
44 <view class="func" v-if="item.auditStatus=='0'"> 45 <view class="func" v-if="item.auditStatus=='0'">
45 <button @click="audit(item,'2')">拒绝</button> 46 <button @click="audit(item,'2')">拒绝</button>
......
...@@ -19,9 +19,10 @@ ...@@ -19,9 +19,10 @@
19 <!-- 订单头部:日期 + 状态 --> 19 <!-- 订单头部:日期 + 状态 -->
20 <view class="card-header"> 20 <view class="card-header">
21 <view class="date"> 21 <view class="date">
22 <image v-if="item.payTime" :src="config.baseUrl_api + '/fs/static/calendar@2x.png'" mode="widthFix" 22 <!-- <image v-if="item.payTime" :src="config.baseUrl_api + '/fs/static/calendar@2x.png'" mode="widthFix" -->
23 style="width:30rpx;height:30rpx;"/> 23 <!-- style="width:30rpx;height:30rpx;"/> -->
24 <text v-if="item.payTime" class="date-text">{{ item.payTime }}</text> 24 <!-- <text v-if="item.payTime" class="date-text">{{ item.payTime }}</text> -->
25 <text class="value text-primary" >{{ item.wfCode || '——' }}</text>
25 </view> 26 </view>
26 <view 27 <view
27 :class="{ 28 :class="{
...@@ -41,8 +42,8 @@ ...@@ -41,8 +42,8 @@
41 <text class="value">{{ item.tradeNo || '——' }}</text> 42 <text class="value">{{ item.tradeNo || '——' }}</text>
42 </view> 43 </view>
43 <view class="info-row"> 44 <view class="info-row">
44 <text class="label">缴费编号</text> 45 <text class="label">支付时间</text>
45 <text class="value">{{ item.wfCode || '——' }}</text> 46 <text class="value">{{ item.payTime || '' }}</text>
46 </view> 47 </view>
47 48
48 <!-- 核心:个人会员仅展示缴费年限 --> 49 <!-- 核心:个人会员仅展示缴费年限 -->
...@@ -305,10 +306,10 @@ const closeCancelPopup = () => { ...@@ -305,10 +306,10 @@ const closeCancelPopup = () => {
305 <style lang="scss" scoped> 306 <style lang="scss" scoped>
306 .order-page { 307 .order-page {
307 background: #f5f7fa; 308 background: #f5f7fa;
308 min-height: 100vh; 309 height: 100vh;
309 display: flex; 310 display: flex;
310 flex-direction: column; 311 flex-direction: column;
311 312
312 &.no-scroll { 313 &.no-scroll {
313 overflow: hidden; 314 overflow: hidden;
314 height: 100vh; 315 height: 100vh;
...@@ -318,22 +319,20 @@ const closeCancelPopup = () => { ...@@ -318,22 +319,20 @@ const closeCancelPopup = () => {
318 // 滚动列表容器 319 // 滚动列表容器
319 .order-list-scroll { 320 .order-list-scroll {
320 flex: 1; 321 flex: 1;
321 height: 0; 322 height: auto;
323 overflow: auto;
322 } 324 }
323 325
324 // 订单列表 326 // 订单列表
325 .order-list { 327 .order-list {
326 padding: 20rpx; 328 padding: 20rpx;
327 329
328 .order-card { 330 .order-card {
329 background: #fff; 331 background: #fff;
330 margin-bottom: 20rpx; 332 margin-bottom: 20rpx;
331 padding: 20rpx; 333 padding: 20rpx;
332 box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.04); 334 box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.04);
333 border-top: 6rpx solid transparent; 335 border-radius: 12rpx;
334 background-clip: padding-box, border-box;
335 background-origin: padding-box, border-box;
336 background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #FF755A, #F51722);
337 } 336 }
338 } 337 }
339 338
...@@ -343,38 +342,39 @@ const closeCancelPopup = () => { ...@@ -343,38 +342,39 @@ const closeCancelPopup = () => {
343 justify-content: space-between; 342 justify-content: space-between;
344 align-items: center; 343 align-items: center;
345 padding-bottom: 20rpx; 344 padding-bottom: 20rpx;
346 margin-bottom: 20rpx; 345
347 border-bottom: 1rpx dashed #eee;
348
349 .date { 346 .date {
350 display: flex; 347 display: flex;
351 align-items: center; 348 align-items: center;
352 gap: 8rpx; 349 gap: 8rpx;
353 font-size: 26rpx; 350 font-size: 26rpx;
354 351
355 .date-text { 352 .date-text {
356 color: #666; 353 color: #666;
357 } 354 }
358 } 355 }
359 356
360 .status-tag { 357 .status-tag {
361 font-size: 24rpx; 358 font-size: 22rpx;
362 padding: 6rpx 16rpx; 359 padding: 6rpx 16rpx;
363 border-radius: 20rpx; 360 border-radius: 20rpx;
364 361
365 &.success { 362 &.success {
366 background: #e6f7ef; 363 background: #e6f7ef;
367 color: #52c41a; 364 color: #52c41a;
365 border: 1rpx solid rgba(82, 196, 26, 0.3);
368 } 366 }
369 367
370 &.danger { 368 &.danger {
371 background: #fff1f0; 369 background: #fff1f0;
372 color: #ff4d4f; 370 color: #ff4d4f;
371 border: 1rpx solid rgba(232, 52, 29, 0.3);
373 } 372 }
374 373
375 &.pending { 374 &.pending {
376 background: #f5f5f5; 375 background: #fff7e6;
377 color: #999; 376 color: #faad14;
377 border: 1rpx solid rgba(250, 173, 20, 0.3);
378 } 378 }
379 } 379 }
380 } 380 }
...@@ -385,13 +385,13 @@ const closeCancelPopup = () => { ...@@ -385,13 +385,13 @@ const closeCancelPopup = () => {
385 align-items: center; 385 align-items: center;
386 margin-bottom: 20rpx; 386 margin-bottom: 20rpx;
387 font-size: 26rpx; 387 font-size: 26rpx;
388 388
389 .label { 389 .label {
390 color: #999; 390 color: #999;
391 flex-shrink: 0; 391 flex-shrink: 0;
392 width: 140rpx; 392 width: 140rpx;
393 } 393 }
394 394
395 .value { 395 .value {
396 color: #333; 396 color: #333;
397 word-break: break-all; 397 word-break: break-all;
...@@ -417,12 +417,12 @@ const closeCancelPopup = () => { ...@@ -417,12 +417,12 @@ const closeCancelPopup = () => {
417 padding: 16rpx 20rpx; 417 padding: 16rpx 20rpx;
418 border-radius: 8rpx; 418 border-radius: 8rpx;
419 font-size: 26rpx; 419 font-size: 26rpx;
420 420
421 .label { 421 .label {
422 color: #999; 422 color: #999;
423 text-align: center; 423 text-align: center;
424 } 424 }
425 425
426 .value { 426 .value {
427 color: #333; 427 color: #333;
428 font-weight: 500; 428 font-weight: 500;
...@@ -436,19 +436,18 @@ const closeCancelPopup = () => { ...@@ -436,19 +436,18 @@ const closeCancelPopup = () => {
436 display: flex; 436 display: flex;
437 justify-content: space-between; 437 justify-content: space-between;
438 align-items: center; 438 align-items: center;
439 margin: 0 0 30rpx; 439 margin: 0 0 16rpx;
440 padding: 15rpx 0; 440 padding: 8rpx 0;
441 font-size: 28rpx; 441 font-size: 26rpx;
442 border-bottom: 1rpx dashed #eee; 442
443
444 .label { 443 .label {
445 color: #333; 444 color: #333;
446 } 445 }
447 446
448 .amount { 447 .amount {
449 color: #EB6100; 448 color: #EB6100;
450 font-weight: 600; 449 font-weight: 600;
451 font-size: 32rpx; 450 font-size: 28rpx;
452 } 451 }
453 } 452 }
454 453
...@@ -459,7 +458,7 @@ const closeCancelPopup = () => { ...@@ -459,7 +458,7 @@ const closeCancelPopup = () => {
459 align-items: center; 458 align-items: center;
460 gap: 16rpx; 459 gap: 16rpx;
461 width: 100%; 460 width: 100%;
462 461
463 .btn { 462 .btn {
464 padding: 12rpx 32rpx; 463 padding: 12rpx 32rpx;
465 border-radius: 40rpx; 464 border-radius: 40rpx;
...@@ -471,35 +470,35 @@ const closeCancelPopup = () => { ...@@ -471,35 +470,35 @@ const closeCancelPopup = () => {
471 border: none; 470 border: none;
472 width: 80px; 471 width: 80px;
473 background: transparent; 472 background: transparent;
474 473
475 &::after { 474 &::after {
476 border: none; 475 border: none;
477 } 476 }
478 477
479 &.btn-delete { 478 &.btn-delete {
480 background: #fff; 479 background: #fff;
481 color: #e4393c; 480 color: #e4393c;
482 border: 1rpx solid #e4393c; 481 border: 1rpx solid #e4393c;
483 } 482 }
484 483
485 &.btn-invoice { 484 &.btn-invoice {
486 background: #fff; 485 background: #fff;
487 color: #e4393c; 486 color: #e4393c;
488 border: 1rpx solid #e4393c; 487 border: 1rpx solid #e4393c;
489 } 488 }
490 489
491 &.btn-cancel { 490 &.btn-cancel {
492 background: #fff; 491 background: #fff;
493 color: #666; 492 color: #666;
494 border: 1rpx solid #ccc; 493 border: 1rpx solid #ccc;
495 } 494 }
496 495
497 &.btn-pay { 496 &.btn-pay {
498 background: linear-gradient(90deg, #FF755A, #F51722); 497 background: linear-gradient(90deg, #FF755A, #F51722);
499 color: #fff; 498 color: #fff;
500 border: none; 499 border: none;
501 } 500 }
502 501
503 &:disabled { 502 &:disabled {
504 opacity: 0.6; 503 opacity: 0.6;
505 pointer-events: none; 504 pointer-events: none;
...@@ -507,9 +506,6 @@ const closeCancelPopup = () => { ...@@ -507,9 +506,6 @@ const closeCancelPopup = () => {
507 } 506 }
508 } 507 }
509 508
510 // 空状态
511
512
513 // 加载/无更多提示 509 // 加载/无更多提示
514 .loading-tip, .no-more { 510 .loading-tip, .no-more {
515 text-align: center; 511 text-align: center;
...@@ -575,7 +571,7 @@ const closeCancelPopup = () => { ...@@ -575,7 +571,7 @@ const closeCancelPopup = () => {
575 border: none; 571 border: none;
576 margin: 0; 572 margin: 0;
577 padding: 0; 573 padding: 0;
578 574
579 &::after { 575 &::after {
580 border: none; 576 border: none;
581 } 577 }
...@@ -592,7 +588,7 @@ const closeCancelPopup = () => { ...@@ -592,7 +588,7 @@ const closeCancelPopup = () => {
592 border: none; 588 border: none;
593 margin: 0; 589 margin: 0;
594 padding: 0; 590 padding: 0;
595 591
596 &::after { 592 &::after {
597 border: none; 593 border: none;
598 } 594 }
......
...@@ -12,11 +12,11 @@ ...@@ -12,11 +12,11 @@
12 <view class="appItem" v-for="(item,index) in list" :key="index"> 12 <view class="appItem" v-for="(item,index) in list" :key="index">
13 <view class="status" @click="goDetail(item)"> 13 <view class="status" @click="goDetail(item)">
14 <view> 14 <view>
15 <text v-if="item.status == 0" class="text-warning">待提交</text> 15 <text v-if="item.status == 0" class="text-warning-bg">待提交</text>
16 <text v-if="item.status == 1" class="text-primary">审核中</text> 16 <text v-if="item.status == 1" class="text-primary-bg">审核中</text>
17 <text v-if="item.status == 2" class="text-success">审核通过</text> 17 <text v-if="item.status == 2" class="text-success-bg">审核通过</text>
18 <text v-if="item.status == 3" class="text-danger">审核拒绝</text> 18 <text v-if="item.status == 3" class="text-danger-bg">审核拒绝</text>
19 <text v-if="item.status == 4" class="text-warning">已撤回</text> 19 <text v-if="item.status == 4" class="text-warning-bg">已撤回</text>
20 </view> 20 </view>
21 </view> 21 </view>
22 22
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!