样式优化
Showing
13 changed files
with
268 additions
and
359 deletions
| ... | @@ -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 | ... | ... |
| ... | @@ -22,88 +22,64 @@ | ... | @@ -22,88 +22,64 @@ |
| 22 | :scroll-enabled="!isPopupOpen" | 22 | :scroll-enabled="!isPopupOpen" |
| 23 | > | 23 | > |
| 24 | <view class="order-list"> | 24 | <view class="order-list"> |
| 25 | <!-- 有数据才循环 --> | ||
| 26 | <view v-if="list.length > 0"> | 25 | <view v-if="list.length > 0"> |
| 27 | <view | 26 | <view |
| 28 | v-for="(item, index) in list" | 27 | v-for="(item, index) in list" |
| 29 | :key="index" | 28 | :key="index" |
| 30 | class="order-card" | 29 | class="order-card" @click="goToDetail(item)" |
| 31 | > | 30 | > |
| 32 | <!-- 订单头部:日期 + 状态 --> | 31 | <!-- 订单头部:日期 + 审核状态 --> |
| 33 | <view class="card-header"> | 32 | <view class="card-header"> |
| 34 | <view class="date"> | 33 | <view class="date"> |
| 35 | <image :src="config.baseUrl_api + '/fs/static/calendar@2x.png'" v-if="item.payTime" mode="widthFix" style="width:30rpx;height:30rpx;"/> | 34 | <text class="value order-no text-primary">{{ item.wfCode || '' }}</text> |
| 36 | <text class="date-text" v-if="item.payTime">{{ item.payTime }}</text> | 35 | <!-- <image :src="config.baseUrl_api + '/fs/static/calendar@2x.png'" v-if="item.payTime" mode="widthFix" style="width:30rpx;height:30rpx;"/> |
| 36 | <text class="date-text" v-if="item.payTime">{{ item.payTime }}</text> --> | ||
| 37 | </view> | 37 | </view> |
| 38 | <view | 38 | <view |
| 39 | class="status-tag" | 39 | class="audit-status-tag" |
| 40 | :class="getStatusClass(item.payStatus)" | 40 | :class="getAuditStatusClass(item.auditStatus)" |
| 41 | > | 41 | > |
| 42 | {{ getStatusText(item.payStatus) }} | 42 | {{ getAuditStatusText(item.auditStatus) }} |
| 43 | </view> | 43 | </view> |
| 44 | </view> | 44 | </view> |
| 45 | 45 | ||
| 46 | <!-- 订单编号、缴费编号 --> | 46 | <!-- 订单编号 --> |
| 47 | <view class="info-row"> | 47 | <view class="info-row"> |
| 48 | <text class="label">订单编号</text> | 48 | <text class="label">订单编号</text> |
| 49 | <text class="value order-no">{{ item.tradeNo || '——' }}</text> | 49 | <text class="value order-no">{{ item.tradeNo || '——' }}</text> |
| 50 | </view> | 50 | </view> |
| 51 | <view class="flex f-j-s"> | 51 | |
| 52 | <view class="info-row"> | 52 | <!-- 缴费编号 --> |
| 53 | <text class="label">缴费编号:</text> | 53 | <view class="info-row payment-code-row" v-if="item.payTime"> |
| 54 | <view class="payment-code" @click="goToDetail(item)"> | 54 | <text class="label">缴费时间</text> |
| 55 | <text class="code-text">{{ item.wfCode || '——' }}</text> | 55 | <text class="value order-no">{{ item.payTime || '' }}</text> |
| 56 | <!-- <text class="code-arrow">›</text> --> | 56 | <!-- <view class="payment-code" > |
| 57 | </view> | 57 | <text class="code-text">{{ item.payTime || '——' }}</text> |
| 58 | </view> | 58 | </view> --> |
| 59 | <view class="audit-row"> | ||
| 60 | <!-- <text class="label">审核状态:</text> --> | ||
| 61 | <text class="audit-status" :class="getAuditStatusClass(item.auditStatus)">{{ getAuditStatusText(item.auditStatus) }}</text> | ||
| 62 | </view> | ||
| 63 | </view> | 59 | </view> |
| 64 | 60 | ||
| 65 | <!-- 核心:根据tab类型展示不同内容 --> | 61 | <!-- 核心信息区:缴费年限/人数 + 缴费方式 --> |
| 66 | <view class="info-section flex f-j-s" v-if="item.content"> | 62 | <view class="info-section flex f-j-s"> |
| 67 | <!-- 个人/单位会员(缴费年限) --> | ||
| 68 | <view v-if="currentTab === 0 || currentTab === 1" class="single-info"> | 63 | <view v-if="currentTab === 0 || currentTab === 1" class="single-info"> |
| 69 | <view class="label">缴费年限:</view> | 64 | <view class="label">缴费年限</view> |
| 70 | <view class="value">{{ item.content.yearCount || 0 }}</view> | 65 | <view class="value">{{ item.content?.yearCount || 0 }}年</view> |
| 71 | </view> | 66 | </view> |
| 72 | <!-- 级位/段位/越段考试(人数合计) --> | ||
| 73 | <view v-if="currentTab === 2 || currentTab === 3 || currentTab === 4" class="single-info"> | 67 | <view v-if="currentTab === 2 || currentTab === 3 || currentTab === 4" class="single-info"> |
| 74 | <view class="label">人数合计</view> | 68 | <view class="label">人数合计</view> |
| 75 | <view class="value">{{ item.content.allPersonCount || 0 }}</view> | 69 | <view class="value">{{ item.content?.allPersonCount || 0 }}人</view> |
| 76 | </view> | 70 | </view> |
| 77 | <view class="line"></view> | 71 | <view class="divider"></view> |
| 78 | <view class="single-info"> | 72 | <view class="single-info"> |
| 79 | <view class="label">缴费方式</view> | 73 | <view class="label">缴费方式</view> |
| 80 | <view class="value">民生付</view> | 74 | <view class="value">{{ item.payWay || '民生付' }}</view> |
| 81 | </view> | 75 | </view> |
| 82 | </view> | 76 | </view> |
| 83 | 77 | ||
| 84 | <!-- 费用合计 --> | 78 | <!-- 费用合计 --> |
| 85 | <view class="total-row"> | 79 | <view class="total-row"> |
| 86 | <text class="label">费用合计:</text> | 80 | <text class="label">费用合计</text> |
| 87 | <text class="amount">¥{{ (Number(item.price) || 0).toFixed(2) }}</text> | 81 | <text class="amount">¥{{ (Number(item.price) || 0).toFixed(2) }}</text> |
| 88 | </view> | 82 | </view> |
| 89 | |||
| 90 | <!-- 审核状态 --> | ||
| 91 | |||
| 92 | |||
| 93 | |||
| 94 | <!-- <view class="btn-group"> | ||
| 95 | <button class="btn btn-delete" @click="handleDelete(item)">删除</button> | ||
| 96 | |||
| 97 | <template v-if="item.payStatus == 1"> | ||
| 98 | <button class="btn btn-invoice" @click="makeInvoiceFN(item)" :disabled="item.invoiceStatus === 1"> | ||
| 99 | {{ item.invoiceStatus === 1 ? '已开票' : '申请开票' }} | ||
| 100 | </button> | ||
| 101 | </template> | ||
| 102 | <template v-if="item.payStatus == 0"> | ||
| 103 | <button class="btn btn-cancel" @click="handleCancel(item)">取消订单</button> | ||
| 104 | <button class="btn btn-pay" @click="handlePay(item)">去缴费</button> | ||
| 105 | </template> | ||
| 106 | </view> --> | ||
| 107 | </view> | 83 | </view> |
| 108 | </view> | 84 | </view> |
| 109 | 85 | ||
| ... | @@ -149,6 +125,7 @@ import { ref, reactive, onMounted, computed } from 'vue'; | ... | @@ -149,6 +125,7 @@ import { ref, reactive, onMounted, computed } from 'vue'; |
| 149 | import { onReachBottom, onLoad } from '@dcloudio/uni-app' | 125 | import { onReachBottom, onLoad } from '@dcloudio/uni-app' |
| 150 | import * as api from '@/common/api.js' | 126 | import * as api from '@/common/api.js' |
| 151 | import config from '@/config.js' | 127 | import config from '@/config.js' |
| 128 | |||
| 152 | // 标签栏配置 | 129 | // 标签栏配置 |
| 153 | const tabs = ref([ | 130 | const tabs = ref([ |
| 154 | { name: '个人会员', type: '0' }, | 131 | { name: '个人会员', type: '0' }, |
| ... | @@ -188,7 +165,6 @@ const currentOrder = ref(null); | ... | @@ -188,7 +165,6 @@ const currentOrder = ref(null); |
| 188 | 165 | ||
| 189 | // 页面加载 | 166 | // 页面加载 |
| 190 | onLoad(option => { | 167 | onLoad(option => { |
| 191 | // 根据传入的type参数设置当前tab | ||
| 192 | if (option.type) { | 168 | if (option.type) { |
| 193 | const type = option.type; | 169 | const type = option.type; |
| 194 | const tabIndex = tabs.value.findIndex(tab => tab.type === type); | 170 | const tabIndex = tabs.value.findIndex(tab => tab.type === type); |
| ... | @@ -218,33 +194,8 @@ const switchTab = (index) => { | ... | @@ -218,33 +194,8 @@ const switchTab = (index) => { |
| 218 | initData(); | 194 | initData(); |
| 219 | }; | 195 | }; |
| 220 | 196 | ||
| 221 | // 状态文本映射 | ||
| 222 | const getStatusText = (status) => { | ||
| 223 | // 确保status是字符串类型 | ||
| 224 | const statusStr = String(status); | ||
| 225 | const map = { | ||
| 226 | '0': '待缴费', | ||
| 227 | '1': '缴费成功', | ||
| 228 | '2': '订单取消' | ||
| 229 | }; | ||
| 230 | return map[statusStr] || '未知状态'; | ||
| 231 | }; | ||
| 232 | |||
| 233 | // 缴费状态样式类 | ||
| 234 | const getStatusClass = (status) => { | ||
| 235 | // 确保status是字符串类型 | ||
| 236 | const statusStr = String(status); | ||
| 237 | const map = { | ||
| 238 | '0': 'status-pending', | ||
| 239 | '1': 'status-success', | ||
| 240 | '2': 'status-danger' | ||
| 241 | }; | ||
| 242 | return map[statusStr] || ''; | ||
| 243 | }; | ||
| 244 | |||
| 245 | // 审核状态文本 | 197 | // 审核状态文本 |
| 246 | const getAuditStatusText = (status) => { | 198 | const getAuditStatusText = (status) => { |
| 247 | // 确保status是字符串类型 | ||
| 248 | const statusStr = String(status); | 199 | const statusStr = String(status); |
| 249 | const map = { | 200 | const map = { |
| 250 | '0': '待提交', | 201 | '0': '待提交', |
| ... | @@ -257,7 +208,6 @@ const getAuditStatusText = (status) => { | ... | @@ -257,7 +208,6 @@ const getAuditStatusText = (status) => { |
| 257 | 208 | ||
| 258 | // 审核状态样式类 | 209 | // 审核状态样式类 |
| 259 | const getAuditStatusClass = (status) => { | 210 | const getAuditStatusClass = (status) => { |
| 260 | // 确保status是字符串类型 | ||
| 261 | const statusStr = String(status); | 211 | const statusStr = String(status); |
| 262 | const map = { | 212 | const map = { |
| 263 | '0': 'audit-pending', | 213 | '0': 'audit-pending', |
| ... | @@ -280,7 +230,6 @@ const initData = async () => { | ... | @@ -280,7 +230,6 @@ const initData = async () => { |
| 280 | hasMore.value = false; | 230 | hasMore.value = false; |
| 281 | return; | 231 | return; |
| 282 | } | 232 | } |
| 283 | // 安全解析content字段 | ||
| 284 | res.rows.forEach(item => { | 233 | res.rows.forEach(item => { |
| 285 | if (item.content) { | 234 | if (item.content) { |
| 286 | try { | 235 | try { |
| ... | @@ -290,13 +239,11 @@ const initData = async () => { | ... | @@ -290,13 +239,11 @@ const initData = async () => { |
| 290 | } | 239 | } |
| 291 | } | 240 | } |
| 292 | }); | 241 | }); |
| 293 | // 分页拼接数据 | ||
| 294 | if (pageNum.value === 1) { | 242 | if (pageNum.value === 1) { |
| 295 | list.value = res.rows; | 243 | list.value = res.rows; |
| 296 | } else { | 244 | } else { |
| 297 | list.value.push(...res.rows); | 245 | list.value.push(...res.rows); |
| 298 | } | 246 | } |
| 299 | // 判断是否还有更多数据 | ||
| 300 | hasMore.value = list.value.length < (res.total || 0); | 247 | hasMore.value = list.value.length < (res.total || 0); |
| 301 | } catch (e) { | 248 | } catch (e) { |
| 302 | console.error('订单加载异常:', e); | 249 | console.error('订单加载异常:', e); |
| ... | @@ -385,21 +332,17 @@ const closeCancelPopup = () => { | ... | @@ -385,21 +332,17 @@ const closeCancelPopup = () => { |
| 385 | // 跳转到详情页 | 332 | // 跳转到详情页 |
| 386 | const goToDetail = (item) => { | 333 | const goToDetail = (item) => { |
| 387 | const form = encodeURIComponent(JSON.stringify(item)) | 334 | const form = encodeURIComponent(JSON.stringify(item)) |
| 388 | // 根据订单类型跳转到不同页面 | ||
| 389 | switch (queryParams.type) { | 335 | switch (queryParams.type) { |
| 390 | case '1': // 单位会员 | 336 | case '1': |
| 391 | // 跳转到新的单位会员订单详情页 | ||
| 392 | uni.navigateTo({ url: `/group/groupOrderDetail?form=${form}` }); | 337 | uni.navigateTo({ url: `/group/groupOrderDetail?form=${form}` }); |
| 393 | break; | 338 | break; |
| 394 | case '2': // 级位考试 | 339 | case '2': |
| 395 | case '3': // 段位考试 | 340 | case '3': |
| 396 | case '4': // 越段考试 | 341 | case '4': |
| 397 | // 考试类型使用 sourceId 作为 examId,传递 type 参数用于获取审核记录 | ||
| 398 | uni.navigateTo({ url: `/pages/rank/applyDetail?examId=${item.sourceId || item.id}&type=${queryParams.type}` }); | 342 | uni.navigateTo({ url: `/pages/rank/applyDetail?examId=${item.sourceId || item.id}&type=${queryParams.type}` }); |
| 399 | break; | 343 | break; |
| 400 | case '0': // 个人会员 | 344 | case '0': |
| 401 | default: | 345 | default: |
| 402 | // 个人会员使用 sourceId 作为 rangeId | ||
| 403 | uni.navigateTo({ url: `/personalVip/orderDetail?rangeId=${item.sourceId || item.id}&type=${queryParams.type}` }); | 346 | uni.navigateTo({ url: `/personalVip/orderDetail?rangeId=${item.sourceId || item.id}&type=${queryParams.type}` }); |
| 404 | break; | 347 | break; |
| 405 | } | 348 | } |
| ... | @@ -466,14 +409,11 @@ const goToDetail = (item) => { | ... | @@ -466,14 +409,11 @@ const goToDetail = (item) => { |
| 466 | .order-card { | 409 | .order-card { |
| 467 | background: #fff; | 410 | background: #fff; |
| 468 | margin-bottom: 20rpx; | 411 | margin-bottom: 20rpx; |
| 469 | padding: 20rpx; | 412 | padding: 24rpx; |
| 470 | border-radius: 16rpx; | 413 | border-radius: 16rpx; |
| 471 | box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.06); | 414 | box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.06); |
| 472 | // border-left: 6rpx solid #e8341d; | ||
| 473 | position: relative; | 415 | position: relative; |
| 474 | overflow: hidden; | 416 | overflow: hidden; |
| 475 | |||
| 476 | |||
| 477 | } | 417 | } |
| 478 | } | 418 | } |
| 479 | 419 | ||
| ... | @@ -483,42 +423,48 @@ const goToDetail = (item) => { | ... | @@ -483,42 +423,48 @@ const goToDetail = (item) => { |
| 483 | justify-content: space-between; | 423 | justify-content: space-between; |
| 484 | align-items: center; | 424 | align-items: center; |
| 485 | padding-bottom: 20rpx; | 425 | padding-bottom: 20rpx; |
| 486 | margin-bottom: 20rpx; | 426 | // margin-bottom: 20rpx; |
| 487 | border-bottom: 1rpx solid #f0f0f0; | 427 | // border-bottom: 1rpx solid #f0f0f0; |
| 488 | 428 | ||
| 489 | .date { | 429 | .date { |
| 490 | display: flex; | 430 | display: flex; |
| 491 | align-items: center; | 431 | align-items: center; |
| 492 | gap: 8rpx; | 432 | // gap: 8rpx; |
| 493 | font-size: 26rpx; | 433 | font-size: 28rpx; |
| 494 | 434 | ||
| 495 | .date-text { | 435 | .date-text { |
| 496 | color: #666; | 436 | color: #666; |
| 497 | } | 437 | } |
| 498 | } | 438 | } |
| 499 | 439 | ||
| 500 | .status-tag { | 440 | .audit-status-tag { |
| 501 | font-size: 22rpx; | 441 | font-size: 24rpx; |
| 502 | padding: 6rpx 18rpx; | 442 | padding: 6rpx 18rpx; |
| 503 | border-radius: 22rpx; | 443 | border-radius: 22rpx; |
| 504 | font-weight: 500; | 444 | font-weight: 500; |
| 505 | 445 | ||
| 506 | &.status-success { | 446 | &.audit-success { |
| 507 | background: linear-gradient(135deg, #e6f7ef, #d4f5e2); | 447 | background: linear-gradient(135deg, #e6f7ef, #d4f5e2); |
| 508 | color: #1db024; | 448 | color: #1db024; |
| 509 | border: 1rpx solid rgba(#52c41a, 0.3); | 449 | border: 1rpx solid rgba(82, 196, 26, 0.3); |
| 510 | } | 450 | } |
| 511 | 451 | ||
| 512 | &.status-danger { | 452 | &.audit-danger { |
| 513 | background: linear-gradient(135deg, #fff1f0, #ffe5e5); | 453 | background: linear-gradient(135deg, #fff1f0, #ffe5e5); |
| 514 | color: #e8341d; | 454 | color: #e8341d; |
| 515 | border: 1rpx solid rgba(#e8341c, 0.3); | 455 | border: 1rpx solid rgba(232, 52, 29, 0.3); |
| 516 | } | 456 | } |
| 517 | 457 | ||
| 518 | &.status-pending { | 458 | &.audit-processing { |
| 519 | background: linear-gradient(135deg, #f5f5f5, #ebebeb); | 459 | background: linear-gradient(135deg, #e6f3ff, #d4e9ff); |
| 520 | color: #666; | 460 | color: #1890ff; |
| 521 | border: 1rpx solid rgba(#999, 0.3); | 461 | border: 1rpx solid rgba(24, 144, 255, 0.3); |
| 462 | } | ||
| 463 | |||
| 464 | &.audit-pending { | ||
| 465 | background: linear-gradient(135deg, #fff7e6, #fff1cc); | ||
| 466 | color: #faad14; | ||
| 467 | border: 1rpx solid rgba(250, 173, 20, 0.3); | ||
| 522 | } | 468 | } |
| 523 | } | 469 | } |
| 524 | } | 470 | } |
| ... | @@ -527,13 +473,14 @@ const goToDetail = (item) => { | ... | @@ -527,13 +473,14 @@ const goToDetail = (item) => { |
| 527 | .info-row { | 473 | .info-row { |
| 528 | display: flex; | 474 | display: flex; |
| 529 | align-items: center; | 475 | align-items: center; |
| 530 | margin-bottom: 20rpx; | 476 | margin-bottom: 16rpx; |
| 531 | font-size: 26rpx; | 477 | font-size: 28rpx; |
| 532 | 478 | ||
| 533 | .label { | 479 | .label { |
| 534 | color: #999; | 480 | color: #666; |
| 535 | flex-shrink: 0; | 481 | flex-shrink: 0; |
| 536 | margin-right: 20rpx; | 482 | width: 120rpx; |
| 483 | margin-right: 10rpx; | ||
| 537 | } | 484 | } |
| 538 | 485 | ||
| 539 | .value { | 486 | .value { |
| ... | @@ -541,72 +488,65 @@ const goToDetail = (item) => { | ... | @@ -541,72 +488,65 @@ const goToDetail = (item) => { |
| 541 | word-break: break-all; | 488 | word-break: break-all; |
| 542 | 489 | ||
| 543 | &.order-no { | 490 | &.order-no { |
| 544 | font-size: 24rpx; | 491 | font-size: 26rpx; |
| 545 | color: #999; | ||
| 546 | letter-spacing: 1rpx; | ||
| 547 | } | 492 | } |
| 548 | } | 493 | } |
| 549 | } | 494 | } |
| 550 | 495 | ||
| 496 | // 缴费编号行 | ||
| 497 | .payment-code-row { | ||
| 498 | margin-bottom: 20rpx; | ||
| 499 | } | ||
| 500 | |||
| 551 | // 缴费编号 - 醒目可点击 | 501 | // 缴费编号 - 醒目可点击 |
| 552 | .payment-code { | 502 | .payment-code { |
| 553 | display: inline-flex; | 503 | display: inline-flex; |
| 554 | align-items: center; | 504 | align-items: center; |
| 555 | gap: 6rpx; | 505 | // transition: all 0.2s ease; |
| 556 | // background: linear-gradient(135deg, #fff5f5, #ffeaea); | ||
| 557 | padding: 8rpx 20rpx 8rpx 16rpx; | ||
| 558 | border-radius: 24rpx; | ||
| 559 | // border: 1rpx solid rgba(#e8341d, 0.2); | ||
| 560 | transition: all 0.2s ease; | ||
| 561 | 506 | ||
| 562 | &:active { | 507 | &:active { |
| 563 | background: linear-gradient(135deg, #ffeaea, #ffd5d5); | 508 | opacity: 0.8; |
| 564 | transform: scale(0.98); | 509 | transform: scale(0.98); |
| 565 | } | 510 | } |
| 566 | 511 | ||
| 567 | .code-text { | 512 | .code-text { |
| 568 | font-size: 28rpx; | 513 | font-size: 30rpx; |
| 569 | font-weight: 600; | 514 | // font-weight: 600; |
| 570 | color: #e8341d; | 515 | color: #1890ff; |
| 571 | letter-spacing: 1rpx; | 516 | // letter-spacing: 1rpx; |
| 572 | } | ||
| 573 | |||
| 574 | .code-arrow { | ||
| 575 | font-size: 32rpx; | ||
| 576 | color: #e8341d; | ||
| 577 | font-weight: bold; | ||
| 578 | line-height: 1; | ||
| 579 | } | 517 | } |
| 580 | } | 518 | } |
| 581 | 519 | ||
| 520 | // 核心信息区 | ||
| 582 | .info-section { | 521 | .info-section { |
| 583 | background: linear-gradient(135deg, #f8f9fc, #f0f4fa); | 522 | background: #f4f9fd; |
| 584 | display: flex; | 523 | display: flex; |
| 585 | align-items: center; | 524 | align-items: center; |
| 586 | padding: 0 40rpx; | ||
| 587 | justify-content: space-around; | 525 | justify-content: space-around; |
| 588 | margin: 20rpx 0; | 526 | margin: 20rpx 0; |
| 589 | border-radius: 12rpx; | 527 | border-radius: 12rpx; |
| 528 | padding: 16rpx 0; | ||
| 590 | } | 529 | } |
| 591 | .line{ | 530 | |
| 531 | .divider { | ||
| 592 | width: 1rpx; | 532 | width: 1rpx; |
| 593 | height: 90%; | 533 | height: 60rpx; |
| 594 | background: #eee; | 534 | background: #e5e5e5; |
| 595 | } | 535 | } |
| 536 | |||
| 596 | .single-info { | 537 | .single-info { |
| 597 | padding: 16rpx 20rpx; | 538 | flex: 1; |
| 598 | border-radius: 8rpx; | 539 | text-align: center; |
| 599 | font-size: 26rpx; | 540 | font-size: 28rpx; |
| 541 | |||
| 600 | .label { | 542 | .label { |
| 601 | color: #999; | 543 | color: #666; |
| 602 | text-align: center; | 544 | margin-bottom: 8rpx; |
| 603 | } | 545 | } |
| 604 | 546 | ||
| 605 | .value { | 547 | .value { |
| 606 | color: #333; | 548 | color: #333; |
| 607 | font-weight: 500; | 549 | font-weight: 500; |
| 608 | text-align: center; | ||
| 609 | margin-top: 10rpx; | ||
| 610 | } | 550 | } |
| 611 | } | 551 | } |
| 612 | 552 | ||
| ... | @@ -615,10 +555,9 @@ const goToDetail = (item) => { | ... | @@ -615,10 +555,9 @@ const goToDetail = (item) => { |
| 615 | display: flex; | 555 | display: flex; |
| 616 | justify-content: space-between; | 556 | justify-content: space-between; |
| 617 | align-items: center; | 557 | align-items: center; |
| 618 | // margin: 0 0 30rpx; | 558 | padding-top: 10rpx; |
| 619 | padding: 15rpx 0; | 559 | // border-top: 1rpx solid #f0f0f0; |
| 620 | font-size: 28rpx; | 560 | font-size: 28rpx; |
| 621 | // border-bottom: 1rpx dashed #eee; | ||
| 622 | 561 | ||
| 623 | .label { | 562 | .label { |
| 624 | color: #333; | 563 | color: #333; |
| ... | @@ -633,96 +572,6 @@ const goToDetail = (item) => { | ... | @@ -633,96 +572,6 @@ const goToDetail = (item) => { |
| 633 | } | 572 | } |
| 634 | } | 573 | } |
| 635 | 574 | ||
| 636 | // 审核状态 | ||
| 637 | .audit-row { | ||
| 638 | display: flex; | ||
| 639 | align-items: center; | ||
| 640 | // margin: 0 0 30rpx; | ||
| 641 | // padding: 15rpx 0; | ||
| 642 | font-size: 26rpx; | ||
| 643 | |||
| 644 | .label { | ||
| 645 | color: #999; | ||
| 646 | flex-shrink: 0; | ||
| 647 | width: 140rpx; | ||
| 648 | } | ||
| 649 | |||
| 650 | .audit-status { | ||
| 651 | font-weight: 500; | ||
| 652 | |||
| 653 | &.audit-success { | ||
| 654 | color: #52c41a; | ||
| 655 | } | ||
| 656 | |||
| 657 | &.audit-danger { | ||
| 658 | color: #ff4d4f; | ||
| 659 | } | ||
| 660 | |||
| 661 | &.audit-processing { | ||
| 662 | color: #1890ff; | ||
| 663 | } | ||
| 664 | |||
| 665 | &.audit-pending { | ||
| 666 | color: #faad14; | ||
| 667 | } | ||
| 668 | } | ||
| 669 | } | ||
| 670 | |||
| 671 | // 按钮组 | ||
| 672 | .btn-group { | ||
| 673 | display: flex; | ||
| 674 | justify-content: flex-end; | ||
| 675 | align-items: center; | ||
| 676 | gap: 16rpx; | ||
| 677 | width: 100%; | ||
| 678 | |||
| 679 | .btn { | ||
| 680 | padding: 12rpx 32rpx; | ||
| 681 | border-radius: 40rpx; | ||
| 682 | font-size: 24rpx; | ||
| 683 | line-height: 1.5; | ||
| 684 | white-space: nowrap; | ||
| 685 | display: inline-block; | ||
| 686 | margin: 0; | ||
| 687 | border: none; | ||
| 688 | width: 80px; | ||
| 689 | background: transparent; | ||
| 690 | |||
| 691 | &::after { | ||
| 692 | border: none; | ||
| 693 | } | ||
| 694 | |||
| 695 | &.btn-delete { | ||
| 696 | background: #fff; | ||
| 697 | color: #e4393c; | ||
| 698 | border: 1rpx solid #e4393c; | ||
| 699 | } | ||
| 700 | |||
| 701 | &.btn-invoice { | ||
| 702 | background: #fff; | ||
| 703 | color: #e4393c; | ||
| 704 | border: 1rpx solid #e4393c; | ||
| 705 | } | ||
| 706 | |||
| 707 | &.btn-cancel { | ||
| 708 | background: #fff; | ||
| 709 | color: #666; | ||
| 710 | border: 1rpx solid #ccc; | ||
| 711 | } | ||
| 712 | |||
| 713 | &.btn-pay { | ||
| 714 | background: linear-gradient(90deg, #FF755A, #F51722); | ||
| 715 | color: #fff; | ||
| 716 | border: none; | ||
| 717 | } | ||
| 718 | |||
| 719 | &:disabled { | ||
| 720 | opacity: 0.6; | ||
| 721 | pointer-events: none; | ||
| 722 | } | ||
| 723 | } | ||
| 724 | } | ||
| 725 | |||
| 726 | // 空状态 | 575 | // 空状态 |
| 727 | .empty { | 576 | .empty { |
| 728 | display: flex; | 577 | display: flex; |
| ... | @@ -731,7 +580,7 @@ const goToDetail = (item) => { | ... | @@ -731,7 +580,7 @@ const goToDetail = (item) => { |
| 731 | padding: 120rpx 0; | 580 | padding: 120rpx 0; |
| 732 | 581 | ||
| 733 | .empty-text { | 582 | .empty-text { |
| 734 | color: #999; | 583 | color: #666; |
| 735 | font-size: 28rpx; | 584 | font-size: 28rpx; |
| 736 | } | 585 | } |
| 737 | } | 586 | } |
| ... | @@ -740,7 +589,7 @@ const goToDetail = (item) => { | ... | @@ -740,7 +589,7 @@ const goToDetail = (item) => { |
| 740 | .loading-tip, .no-more { | 589 | .loading-tip, .no-more { |
| 741 | text-align: center; | 590 | text-align: center; |
| 742 | padding: 20rpx 0; | 591 | padding: 20rpx 0; |
| 743 | color: #999; | 592 | color: #666; |
| 744 | font-size: 26rpx; | 593 | font-size: 26rpx; |
| 745 | } | 594 | } |
| 746 | 595 | ... | ... |
-
Please register or sign in to post a comment