核销接口完善(home)

This commit is contained in:
张文涛 2025-03-31 22:48:31 +08:00
parent 2c20695f1d
commit dda97ba1b2
8 changed files with 206 additions and 312 deletions

View File

@ -143,7 +143,7 @@
"path": "verification/history",
"style": {
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"enablePullDownRefresh": true,
"navigationBarTextStyle": "black",
"navigationBarTitleText": "核销历史记录"
}

View File

@ -18,7 +18,7 @@
<!-- 验证码 -->
<view class="li-flex li-items-center li-justify-between li-mt-28">
<view class="li-w-420">
<wd-input :maxlength="11" placeholder="请输入验证码" type='number' v-model="form.code"
<wd-input :maxlength="11" placeholder="请输入验证码" type='text' v-model="form.code"
prefix-icon="secured" placeholderStyle="font-size:30rpx" :focus-when-clear="false"
clear-trigger="focus" clearable no-border />
</view>

View File

@ -85,7 +85,7 @@
</view>
</view>
<view class="info-item product-info">
<!-- <view class="info-item product-info">
<text class="item-label">商品信息</text>
<view class="product-detail">
<text class="product-name">燕京 8度U8 500ML*12/*2 送燕京9度菊花听500ML*12</text>
@ -94,7 +94,7 @@
<image class="product-image" src="../../static/swiper/1.png" mode="aspectFill"></image>
</view>
</view>
</view>
</view> -->
</view>
</view>

View File

@ -10,56 +10,58 @@
@click="toPages({type:'nav'})"></text>
<text v-if="!hasMultiplePages" class="ri-home-5-line li-text-55 li-mb-8 li-mr-10"
@click="toPages({type:'home'})"></text>
<text class="li-text-42">入库历史</text>
<text class="li-text-42">{{historyType=='1'?'入库历史':'核销历史'}}</text>
</view>
</template>
</wd-navbar>
<!-- 搜索框 -->
<view class="li-w-90% li-mx-auto li-mt-30">
<wd-search placeholderStyle="color:#d9d9d9" v-model="searchKeyword" hide-cancel placeholder-left
placeholder="关键字搜索"></wd-search>
<wd-search placeholderStyle="color:#d9d9d9" v-model="searchKeyword" hide-cancel placeholder-left
placeholder="订单编号搜索" @search="search"></wd-search>
</view>
<!-- 历史记录列表 -->
<view class="li-w-92% li-mx-auto li-mt-30">
<view v-if="filteredRecords.length > 0" class="records-list">
<view v-for="(record, index) in filteredRecords" :key="index" @click="btnDetail"
<view v-if="records.length > 0" class="records-list">
<view v-for="(record, index) in records" :key="index" @click="btnDetail(record)"
class="record-item li-flex li-items-center li-justify-between li-bg-white li-rd-20 li-px-30 li-py-25 li-mb-20 li-shadow-sm">
<view class="li-flex li-flex-col">
<view class="li-flex li-items-center">
<text class="ri-file-list-3-line li-mr-10 li-text-#009aff"></text>
<text class="li-text-30">{{record.orderNumber}}</text>
<text class="li-text-30">{{record.order_no}}</text>
</view>
<text class="li-text-24 li-text-#999 li-mt-8">{{record.create_time}}</text>
<view class="li-flex li-items-center li-mt-8">
<text class="li-text-24 li-text-#999">商品名称: {{ record.productName }}</text>
</view>
<text class="li-text-24 li-text-#999 li-mt-8">{{record.time}}</text>
<view class="li-flex li-items-center li-mt-8">
<text class="li-text-24 li-text-#999">操作人: {{ record.operator }}</text>
<text class="li-text-24 li-text-#999">操作人: {{ userInfo.realname }}</text>
</view>
</view>
<view class="status-badge" :class="[record.status === 'success' ? 'status-success' :
record.status === 'fail' ? 'status-fail' : 'status-pending']">
{{record.status === 'success' ? '入库成功' :
record.status === 'fail' ? '入库失败' : '处理中'}}
<view class="status-badge status-success">
入库成功
</view>
</view>
</view>
<!-- 空状态提示 -->
<view v-else class="empty-state li-w-92% li-mx-auto li-mt-60 li-flex li-flex-col li-items-center">
<text class="ri-inbox-line li-text-100 li-text-#ddd"></text>
<view class="li-text-30 li-text-#999 li-mt-20">暂无入库记录</view>
<view v-else class="!li-mt-100">
<wd-status-tip image="search" tip="暂无记录记录" />
</view>
</view>
<view v-if="records.length>0">
<wd-loadmore loading-text="努力加载中" finished-text="没有更多了" :state="state" />
</view>
<zero-loading type="wobble" v-if="loading"></zero-loading>
</view>
</template>
<script setup lang="ts">
import { ref, computed } from 'vue'
import { onLoad } from '@dcloudio/uni-app'
import { onLoad, onPullDownRefresh, onReachBottom } from '@dcloudio/uni-app'
import { orderRecord } from '@/api/ticket'
import { useNavigation } from '@/hooks/useNavigation'
import { useToast } from '@/uni_modules/wot-design-uni'
const Toast = useToast()
// 使 composable
const {
hasMultiplePages, //
@ -69,85 +71,73 @@
//
const searchKeyword = ref('')
const loading = ref<boolean>(false)
const state = ref<string>('loading')
const page = ref<number>(1)
const limit = ref<number>(5)
const historyType = ref<string>('1')
const count = ref<number>(0)
const userInfo = ref(uni.getStorageSync('userInfo'))
//
const records = ref([
{
orderNumber: 'JD202503050001',
time: '2025-03-05 21:58:34',
status: 'success',
productName: '示例商品1', //
operator: '张三' //
},
{
orderNumber: 'JD202503050002',
time: '2025-03-05 22:10:12',
status: 'pending',
productName: '示例商品2', //
operator: '李四' //
},
{
orderNumber: 'JD202503050003',
time: '2025-03-05 22:15:45',
status: 'fail',
productName: '示例商品3', //
operator: '王五' //
},
{
orderNumber: 'JD202503050003',
time: '2025-03-05 22:15:45',
status: 'fail',
productName: '示例商品3', //
operator: '王五' //
},
{
orderNumber: 'JD202503050003',
time: '2025-03-05 22:15:45',
status: 'fail',
productName: '示例商品3', //
operator: '王五' //
},
{
orderNumber: 'JD202503050003',
time: '2025-03-05 22:15:45',
status: 'fail',
productName: '示例商品3', //
operator: '王五' //
},
{
orderNumber: 'JD202503050003',
time: '2025-03-05 22:15:45',
status: 'fail',
productName: '示例商品3', //
operator: '王五' //
},
{
orderNumber: 'JD202503050003',
time: '2025-03-05 22:15:45',
status: 'fail',
productName: '示例商品3', //
operator: '王五' //
},
])
const btnDetail = ()=>{
const records = ref([])
const btnDetail = (item) => {
uni.navigateTo({
url:'/pagesA/verification/historyDetail'
url: '/pagesA/verification/historyDetail?order_no=' + item.order_no + '&type=' + historyType.value
})
}
//
const filteredRecords = computed(() => {
if (!searchKeyword.value) return records.value
return records.value.filter(record =>
record.orderNumber.includes(searchKeyword.value)
)
onPullDownRefresh(() => {
uni.stopPullDownRefresh()
})
onLoad(() => {
checkRouteStack()
onReachBottom(() => {
if (count.value <= records.value.length) {
state.value = 'finished'
return
}
state.value = 'loading'
page.value++
getOrderRecord()
})
onLoad((options) => {
historyType.value = options?.type
checkRouteStack()
getOrderRecord()
})
const search = () => {
page.value = 1
records.value = []
getOrderRecord()
}
const getOrderRecord = async () => {
loading.value = true
try {
const res = await orderRecord({ page: page.value, limit: limit.value, type: historyType.value, order_no: searchKeyword.value })
if (res.code == 200) {
records.value = records.value.concat(res.data)
count.value = res.count
if (res.data.length < limit.value) {
state.value = 'finished'
}
} else {
Toast.error(res.msg)
}
} catch (error) {
Toast.error(error?.msg)
} finally {
loading.value = false
}
}
const toPages = (item : any) => {
console.log(item);
switch (item.type) {
@ -214,9 +204,9 @@
::v-deep .wd-search {
background-color: #F6F7FB !important;
padding: 0 !important;
padding: 0 !important;
}
::v-deep .wd-search__block {
background-color: #FFFFFF !important;
width: 480rpx !important;
@ -227,4 +217,11 @@
.uni-input-input {
width: auto !important;
}
::v-deep .wd-divider,
.wd-divider::after,
.wd-divider::before {
border: none !important;
margin: 0 !important;
}
</style>

View File

@ -10,7 +10,7 @@
@click="toPages({type:'nav'})"></text>
<text v-if="!hasMultiplePages" class="ri-home-5-line li-text-55 li-mb-8 li-mr-10"
@click="toPages({type:'home'})"></text>
<text class="li-text-42">入库详情</text>
<text class="li-text-42">{{historyType=='1'?'入库详情':'核销详情'}}</text>
</view>
</template>
</wd-navbar>
@ -157,11 +157,14 @@
<wd-button custom-class="action-btn secondary" @click="printDetail">打印详情</wd-button>
<wd-button custom-class="action-btn primary" @click="shareDetail">分享详情</wd-button>
</view>
<zero-loading type="wobble" v-if="loading"></zero-loading>
</view>
</template>
<script setup lang="ts">
import { ref, onLoad } from '@dcloudio/uni-app'
import { ref } from 'vue'
import { onLoad } from '@dcloudio/uni-app'
import { scanCodeGet } from '@/api/ticket'
import { useNavigation } from '@/hooks/useNavigation'
// 使 composable
const {
@ -170,6 +173,9 @@
checkRouteStack //
} = useNavigation()
const loading = ref<boolean>(false)
const order_no = ref<string>('')
const historyType = ref<string>('1')
//
const printDetail = () => {
@ -186,7 +192,7 @@
icon: 'none'
})
}
const toPages = (item : any) => {
console.log(item);
switch (item.type) {
@ -205,8 +211,22 @@
}
}
const getScanCodeGet = async () => {
loading.value = true
try {
const res = await scanCodeGet({ order_no: order_no.value })
} catch (error) {
} finally {
loading.value = false
}
}
onLoad((options) => {
order_no.value = options.order_no
historyType.value = options.type
checkRouteStack()
getScanCodeGet()
console.log('入库详情页参数:', options)
})
</script>

View File

@ -84,21 +84,17 @@
<view class="li-text-34 li-text-#333 li-mb-20">最近核销记录</view>
<view class="records-list">
<view v-for="(record, index) in verificationRecords" :key="index"
<view v-for="(record, index) in verificationRecords" :key="index" @click="recordetail(record)"
class="record-item li-flex li-items-center li-justify-between li-bg-white li-rd-20 li-px-30 li-py-25 li-mb-20 li-shadow-sm">
<view class="li-flex li-flex-col">
<view class="li-flex li-items-center">
<text class="ri-file-list-3-line li-mr-10 li-text-#009aff"></text>
<text class="li-text-30">{{record.orderNumber}}</text>
<text class="li-text-30">{{record.order_no}}</text>
</view>
<text class="li-text-24 li-text-#999 li-mt-8">{{record.time}}</text>
<text class="li-text-24 li-text-#999 li-mt-8">{{record.create_time}}</text>
</view>
<view class="status-badge" :class="[
record.status === 'success' ? 'status-success' :
record.status === 'fail' ? 'status-fail' : 'status-pending'
]">
{{record.status === 'success' ? '核销成功' :
record.status === 'fail' ? '核销失败' : '处理中'}}
<view class="status-badge status-success">
核销成功
</view>
</view>
</view>
@ -369,7 +365,7 @@
const getOrderRecord = async () => {
try {
const res = await orderRecord({ page: 1, limit: 10, type: 1 })
const res = await orderRecord({ page: 1, limit: 10, type: 2 })
verificationRecords.value = res.data
} catch (error) {
} finally {
@ -398,6 +394,12 @@
})
}
const recordetail = (item) => {
uni.navigateTo({
url: '/pagesA/verification/historyDetail?order_no=' + item.order_no + '&type=2'
})
}
//
const toPages = (item : any) => {
if (item.type === 'nav') {

View File

@ -84,21 +84,17 @@
<view class="li-text-34 li-text-#333 li-mb-20">最近入库记录</view>
<view class="records-list">
<view v-for="(record, index) in verificationRecords" :key="index"
<view v-for="(record, index) in verificationRecords" :key="index" @click="recordetail(record)"
class="record-item li-flex li-items-center li-justify-between li-bg-white li-rd-20 li-px-30 li-py-25 li-mb-20 li-shadow-sm">
<view class="li-flex li-flex-col">
<view class="li-flex li-items-center">
<text class="ri-file-list-3-line li-mr-10 li-text-#009aff"></text>
<text class="li-text-30">{{record.orderNumber}}</text>
<text class="li-text-30">{{record.order_no}}</text>
</view>
<text class="li-text-24 li-text-#999 li-mt-8">{{record.time}}</text>
<text class="li-text-24 li-text-#999 li-mt-8">{{record.create_time}}</text>
</view>
<view class="status-badge" :class="[
record.status === 'success' ? 'status-success' :
record.status === 'fail' ? 'status-fail' : 'status-pending'
]">
{{record.status === 'success' ? '入库成功' :
record.status === 'fail' ? '入库失败' : '处理中'}}
<view class="status-badge status-success">
入库成功
</view>
</view>
</view>
@ -256,14 +252,7 @@
const loading = ref<boolean>(false)
//
const verificationRecords = ref([
//
{
orderNumber: 'JD202503050001',
time: '2025-03-05 21:58:34',
status: 'success' // success, fail, pending
}
])
const verificationRecords = ref([])
const show9 = ref<boolean>(false)
@ -398,6 +387,12 @@
})
}
const recordetail = (item) => {
uni.navigateTo({
url: '/pagesA/verification/historyDetail?order_no=' + item.order_no + '&type=2'
})
}
//
const toPages = (item : any) => {
if (item.type === 'nav') {

View File

@ -1,200 +1,132 @@
.bg-FFFFFF{background-color:rgb(255,255,255)}
.bg-f9f9f9{background-color:rgb(249,249,249)}
.border-4-white{border-style:solid;border-color:rgb(255,255,255);border-width:4rpx}
.li-bg-white{background-color:rgb(255,255,255)}
.bg-FFFFFF{background-color:rgb(255,255,255)}
.li-justify-center{justify-content:center}
.justify-center{justify-content:center}
.justify-end{justify-content:end}
.li-justify-between{justify-content:space-between}
.justify-between{justify-content:space-between}
.li-flex{display:flex}
.li-flex-col{flex-direction:column}
.li-font-bold{font-weight:bold}
.li-h-100{height:100rpx}
.li-h-240{height:240rpx}
.li-h-250{height:250rpx}
.li-h-50{height:50rpx}
.li-h-60{height:60rpx}
.li-h-110{height:110rpx}
.li-items-center{align-items:center}
.li-items-end{align-items:end}
.li-justify-between{justify-content:space-between}
.li-justify-center{justify-content:center}
.li-justify-start{justify-content:start}
.li-mb-2{margin-bottom:2rpx}
.li-ml-4{margin-left:4rpx}
.li-ml-50{margin-left:50rpx}
.li-mr-20{margin-right:20rpx}
.li-mr-50{margin-right:50rpx}
.li-mt-20{margin-top:20rpx}
.li-mt-26{margin-top:26rpx}
.li-mt-30{margin-top:30rpx}
.li-mt-6{margin-top:6rpx}
.li-mt-60{margin-top:60rpx}
.li-mx-20{margin-left:20rpx;margin-right:20rpx}
.li-mx-40{margin-left:40rpx;margin-right:40rpx}
.li-mx-auto{margin-left:auto;margin-right:auto}
.li-pb-10{padding-bottom:10rpx}
.li-pb-14{padding-bottom:14rpx}
.li-pb-20{padding-bottom:20rpx}
.li-pt-20{padding-top:20rpx}
.li-pt-8{padding-top:8rpx}
.li-py-20{padding-top:20rpx;padding-bottom:20rpx}
.li-rd-20{border-radius:20rpx}
.li-rd-full-50{border-radius:50%}
.li-rd-tl-30-important{border-top-left-radius:30rpx !important}
.li-rd-tr-30-important{border-top-right-radius:30rpx !important}
.li-text-000000-color{color:rgb(0,0,0)}
.li-text-010B3E-color{color:rgb(1,11,62)}
.li-text-19171B-color{color:rgb(25,23,27)}
.li-text-20{font-size:20rpx}
.li-text-24{font-size:24rpx}
.li-text-26{font-size:26rpx}
.li-text-32{font-size:32rpx}
.li-text-34{font-size:34rpx}
.li-text-38{font-size:38rpx}
.li-text-706e70-color{color:rgb(112,110,112)}
.li-text-B2B2B2-color{color:rgb(178,178,178)}
.li-text-BBBDDA-color{color:rgb(187,189,218)}
.li-text-F2F7FD-color{color:rgb(242,247,253)}
.li-text-F8C883-color{color:rgb(248,200,131)}
.li-text-FFFFFF-color{color:rgb(255,255,255)}
.li-text-b1bbc7-color{color:rgb(177,187,199)}
.li-w-100{width:100rpx}
.li-w-240{width:240rpx}
.li-w-50{width:50rpx}
.li-w-60{width:60rpx}
.li-w-full-70{width:70%}
.li-w-full-94{width:94%}
.li-flex-center{display:flex;align-items:center;justify-content:center}
.li-items-start{align-items:start}
.li-mb-12{margin-bottom:12rpx}
.li-mb-20{margin-bottom:20rpx}
.li-mb-8{margin-bottom:8rpx}
.li-ml-15{margin-left:15rpx}
.li-ml-20{margin-left:20rpx}
.li-ml-200{margin-left:200rpx}
.li-ml-25{margin-left:25rpx}
.li-ml-30{margin-left:30rpx}
.li-mr-10{margin-right:10rpx}
.li-mr-30{margin-right:30rpx}
.li-mr-12{margin-right:12rpx}
.li-mr-3{margin-right:3rpx}
.li-mr-6{margin-right:6rpx}
.li-mt-10{margin-top:10rpx}
.li-mt-300-important{margin-top:300rpx !important}
.li-mt-20{margin-top:20rpx}
.li-mt-30{margin-top:30rpx}
.li-mt-40{margin-top:40rpx}
.li-mt-90{margin-top:90rpx}
.li-mx-auto{margin-left:auto;margin-right:auto}
.li-pb-25{padding-bottom:25rpx}
.li-pb-30{padding-bottom:30rpx}
.li-pl-20{padding-left:20rpx}
.li-pl-30{padding-left:30rpx}
.li-pr-30{padding-right:30rpx}
.li-pt-2{padding-top:2rpx}
.li-px-30{padding-left:30rpx;padding-right:30rpx}
.li-text-25{font-size:25rpx}
.li-text-30{font-size:30rpx}
.li-text-35{font-size:35rpx}
.li-pt-20{padding-top:20rpx}
.li-pt-30{padding-top:30rpx}
.li-px-40{padding-left:40rpx;padding-right:40rpx}
.li-py-6{padding-top:6rpx;padding-bottom:6rpx}
.li-rd-10{border-radius:10rpx}
.li-rd-20{border-radius:20rpx}
.li-text-009aff-color{color:rgb(0,154,255)}
.li-text-28{font-size:28rpx}
.li-text-32{font-size:32rpx}
.li-text-40{font-size:40rpx}
.li-text-42{font-size:42rpx}
.li-text-46{font-size:46rpx}
.li-text-B1B0B0-color{color:rgb(177,176,176)}
.li-w-full-80{width:80%}
.li-text-55{font-size:55rpx}
.li-text-5f5f5f-color{color:rgb(95,95,95)}
.li-text-666-color{color:rgb(102,102,102)}
.li-text-70{font-size:70rpx}
.li-text-9a9a9a-color{color:rgb(154,154,154)}
.li-text-right{text-align:right}
.li-w-110{width:110rpx}
.li-w-150{width:150rpx}
.li-w-400{width:400rpx}
.li-w-full-85{width:85%}
.li-w-full-92{width:92%}
.overflow-hidden{overflow:hidden}
.items-center{align-items:center}
.justify-end{justify-content:end}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.li-bg-white{background-color:rgb(255,255,255)}
.li-flex-center{display:flex;align-items:center;justify-content:center}
.li-font-bold{font-weight:bold}
.li-h-130{height:130rpx}
.li-h-160{height:160rpx}
.li-h-220{height:220rpx}
.li-h-58{height:58rpx}
.li-justify-around{justify-content:space-around}
.li-ml-22{margin-left:22rpx}
.li-ml-25{margin-left:25rpx}
.li-ml-35{margin-left:35rpx}
.li-mr-25{margin-right:25rpx}
.li-mr-5{margin-right:5rpx}
.li-mt-12{margin-top:12rpx}
.li-mt-14{margin-top:14rpx}
.li-mt-15{margin-top:15rpx}
.li-pt-15{padding-top:15rpx}
.li-px-25{padding-left:25rpx;padding-right:25rpx}
.li-px-40{padding-left:40rpx;padding-right:40rpx}
.li-px-30{padding-left:30rpx;padding-right:30rpx}
.li-px-50{padding-left:50rpx;padding-right:50rpx}
.li-py-25{padding-top:25rpx;padding-bottom:25rpx}
.li-rd-10{border-radius:10rpx}
.li-rd-15{border-radius:15rpx}
.li-text-010B3E-color{color:rgb(1,11,62)}
.li-text-22{font-size:22rpx}
.li-text-28{font-size:28rpx}
.li-text-24{font-size:24rpx}
.li-text-26{font-size:26rpx}
.li-text-30{font-size:30rpx}
.li-text-343333-color{color:rgb(52,51,51)}
.li-text-43{font-size:43rpx}
.li-text-48{font-size:48rpx}
.li-text-AFB2B8-color{color:rgb(175,178,184)}
.li-text-B1B0B0-color{color:rgb(177,176,176)}
.li-text-F42429-color{color:rgb(244,36,41)}
.li-w-130{width:130rpx}
.li-w-310{width:310rpx}
.li-w-58{width:58rpx}
.li-w-full-70{width:70%}
.li-w-full-88{width:88%}
.li-mb-8{margin-bottom:8rpx}
.li-ml-15{margin-left:15rpx}
.pt-10{padding-top:10rpx}
.li-ml-6{margin-left:6rpx}
.li-mr-6{margin-right:6rpx}
.li-mt-300-important{margin-top:300rpx !important}
.li-p-15{padding:15rpx}
.li-pb-15{padding-bottom:15rpx}
.li-pb-30{padding-bottom:30rpx}
.li-pt-25{padding-top:25rpx}
.li-pt-4{padding-top:4rpx}
.li-text-009aff-color{color:rgb(0,154,255)}
.li-text-333333-color{color:rgb(51,51,51)}
.li-text-36{font-size:36rpx}
.li-text-55{font-size:55rpx}
.li-text-70{font-size:70rpx}
.li-text-9a9a9a-color{color:rgb(154,154,154)}
.li-text-ff0000-color{color:rgb(255,0,0)}
.li-w-full-100{width:100%}
.li-w-full-92{width:92%}
.li-font-550{font-weight:550}
.li-h-68{height:68rpx}
.li-mt-100{margin-top:100rpx}
.li-mt-28{margin-top:28rpx}
.li-mt-32{margin-top:32rpx}
.li-mt-90{margin-top:90rpx}
.li-mx-10{margin-left:10rpx;margin-right:10rpx}
.li-pt-270{padding-top:270rpx}
.li-rd-40{border-radius:40rpx}
.li-text-2EA1EA-color{color:rgb(46,161,234)}
.li-text-a5a5a5-color{color:rgb(165,165,165)}
.li-w-150{width:150rpx}
.li-w-420{width:420rpx}
.li-w-full-85{width:85%}
.li-w-full-90{width:90%}
.li-h-110{height:110rpx}
.li-items-start{align-items:start}
.li-mb-12{margin-bottom:12rpx}
.li-mb-20{margin-bottom:20rpx}
.li-mr-12{margin-right:12rpx}
.li-mr-3{margin-right:3rpx}
.li-mt-40{margin-top:40rpx}
.li-pb-25{padding-bottom:25rpx}
.li-pl-20{padding-left:20rpx}
.li-pl-30{padding-left:30rpx}
.li-pr-30{padding-right:30rpx}
.li-pt-30{padding-top:30rpx}
.li-py-6{padding-top:6rpx;padding-bottom:6rpx}
.li-text-40{font-size:40rpx}
.li-text-5f5f5f-color{color:rgb(95,95,95)}
.li-text-666-color{color:rgb(102,102,102)}
.li-text-right{text-align:right}
.li-w-110{width:110rpx}
.li-w-400{width:400rpx}
.overflow-hidden{overflow:hidden}
.li-font-400{font-weight:400}
.li-m-30{margin:30rpx}
.li-text-595959-color{color:rgb(89,89,89)}
.li-mb-25{margin-bottom:25rpx}
.li-items-end{align-items:end}
.li-mb-30{margin-bottom:30rpx}
.li-ml-10{margin-left:10rpx}
.li-mr-200{margin-right:200rpx}
.li-mr-4{margin-right:4rpx}
.li-mt-100{margin-top:100rpx}
.li-mt-100-important{margin-top:100rpx !important}
.li-mt-4{margin-top:4rpx}
.li-mt-50{margin-top:50rpx}
.li-mt-8{margin-top:8rpx}
.li-pb-10{padding-bottom:10rpx}
.li-py-40{padding-top:40rpx;padding-bottom:40rpx}
.li-text-0070F0-color{color:rgb(0,112,240)}
.li-text-333-color{color:rgb(51,51,51)}
.li-text-34{font-size:34rpx}
.li-text-44{font-size:44rpx}
.li-text-48{font-size:48rpx}
.li-text-90{font-size:90rpx}
.li-text-999-color{color:rgb(153,153,153)}
.li-text-center{text-align:center}
.li-text-white{color:rgb(255,255,255)}
.li-w-500{width:500rpx}
.li-w-full-90{width:90%}
.li-text-100{font-size:100rpx}
.li-text-ddd-color{color:rgb(221,221,221)}
.li-mb-10{margin-bottom:10rpx}
@ -204,56 +136,4 @@
.li-p-30{padding:30rpx}
.li-py-30{padding-top:30rpx;padding-bottom:30rpx}
.li-text-07c160-color{color:rgb(7,193,96)}
.li-block{display:block}
.li-border-b{border-style:solid;border-color:b;border-width:1rpx}
.li-items-baseline{align-items:baseline}
.li-mr-15{margin-right:15rpx}
.li-mt-5{margin-top:5rpx}
.li-opacity-100{undefined:1}
.li-py-60{padding-top:60rpx;padding-bottom:60rpx}
.li-rd-12{border-radius:12rpx}
.li-rd-16{border-radius:16rpx}
.li-text-0a4696-color{color:rgb(10,70,150)}
.li-h-90{height:90rpx}
.li-text-47{font-size:47rpx}
.li-w-90{width:90rpx}
.li-flex-1{flex:1}
.li-flex-wrap{flex-wrap:wrap}
.li-line-clamp-2{overflow:hidden;display:-webkit-box;line-clamp:2;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.li-text-999999-color{color:rgb(153,153,153)}
.li-w-160{width:160rpx}
.li-w-full-96{width:96%}
.li-mt-25{margin-top:25rpx}
.li-px-20{padding-left:20rpx;padding-right:20rpx}
.li-block{display:block}
.li-items-baseline{align-items:baseline}
.li-mr-15{margin-right:15rpx}
.li-opacity-100{undefined:1}
.li-p-15{padding:15rpx}
.li-py-60{padding-top:60rpx;padding-bottom:60rpx}
.li-rd-12{border-radius:12rpx}
.li-text-0a4696-color{color:rgb(10,70,150)}
.li-h-90{height:90rpx}
.li-ml-30{margin-left:30rpx}
.li-mr-6{margin-right:6rpx}
.li-mt-300-important{margin-top:300rpx !important}
.li-pt-2{padding-top:2rpx}
.li-text-25{font-size:25rpx}
.li-text-52{font-size:52rpx}
.li-w-90{width:90rpx}
.li-w-full-80{width:80%}
.li-text-38{font-size:38rpx}