hldy_app/component/storeroom/orders.vue

906 lines
22 KiB
Vue
Raw Normal View History

2025-04-07 17:34:20 +08:00
<template>
2025-04-08 17:33:14 +08:00
<view class="index-content-other" v-show="isShow" :style="transition?{opacity: `1`}:{opacity: `0`}">
2025-04-07 17:34:20 +08:00
<view class="index-content-right">
<!-- 解决margin重叠问题 -->
<view class="index-right-height"></view>
<view class="index-right-title">
2025-04-11 17:23:45 +08:00
<view class="ball-bgc" style="box-shadow: 2rpx 2rpx 4rpx 0rpx rgba(0, 0, 0, 0.3);" @click="firstBallClick">
2025-04-08 17:33:14 +08:00
<view :class="clickBall(firstBall)">
采购
</view>
</view>
2025-04-11 17:23:45 +08:00
<view class="ball-bgc" style="box-shadow: 2rpx 2rpx 4rpx 0rpx rgba(0, 0, 0, 0.3);" @click="secondBallClick">
2025-04-08 17:33:14 +08:00
<view :class="clickBall(secondBall)">
拣货
</view>
</view>
2025-04-11 17:23:45 +08:00
<view class="ball-bgc" style="box-shadow: 2rpx 2rpx 4rpx 0rpx rgba(0, 0, 0, 0.3);" @click="thirdBallClick">
2025-04-08 17:33:14 +08:00
<view :class="clickBall(thirdBall)">
结账
</view>
</view>
2025-04-07 17:34:20 +08:00
<view class="index-right-name">
采购单号
</view>
<input class="index-right-input" placeholder="请输入采购单号" />
<view class="index-right-name">
供应商
</view>
<input class="index-right-input" placeholder="请输入供应商" />
2025-04-09 17:20:13 +08:00
<view class="index-right-name">
2025-04-08 17:33:14 +08:00
采购日期
2025-04-07 17:34:20 +08:00
</view>
2025-04-08 17:33:14 +08:00
<view @click.stop="calendarShow=true">
2025-04-09 17:20:13 +08:00
<view class="index-right-input" style="width: 200rpx;height: 66rpx;"
:style="stateTarget?{}:{color:`#999`}">
2025-04-08 17:33:14 +08:00
{{stateTarget ? stateTarget : `请输入采购日期`}}
2025-04-07 17:34:20 +08:00
</view>
</view>
2025-04-09 17:20:13 +08:00
<u-calendar style="width: 40%;margin-left: 30%;" border-radius="40" v-model="calendarShow" mode="date"
@change="calendarchange"></u-calendar>
2025-04-07 17:34:20 +08:00
<view class="index-right-button-all">
<view class="" v-for="(item,index) in buttonList" :key="index">
<view class="index-right-button">
<image class="index-right-button-img" :src="item.url" />
<view class="index-right-button-font">
{{item.name}}
</view>
</view>
</view>
</view>
</view>
<view class="swiper-contain">
<scroll-view scroll-y style="height: 98%;" :show-scrollbar="false">
<view class="swiper-flex">
2025-04-09 17:20:13 +08:00
<view v-for="(item,index) in sliceArray" :key="index">
<view class="swiper-card">
<view class="swiper-title-contect">
<view class="swiper-states">
<view
:class="item.cardType >1 ?`swiper-states-heng-one-green`:`swiper-states-heng-one`">
</view>
<view
:class="item.cardType >3 ?`swiper-states-heng-two-green`: `swiper-states-heng-two`">
</view>
2025-04-28 17:33:10 +08:00
<view class="ball-bgc" :style="item.cardType !==0 && item.cardType !==1?{
2025-04-11 17:23:45 +08:00
}:{boxShadow: `8rpx 8rpx 16rpx 0rpx rgba(0, 0, 0, 0.3)`,width:`110rpx`,height:`110rpx`}">
2025-04-09 17:20:13 +08:00
<view :class="getBallFirst(item.cardType)">
采购
2025-04-07 17:34:20 +08:00
</view>
2025-04-09 17:20:13 +08:00
</view>
2025-04-11 17:23:45 +08:00
<view class="ball-bgc" :style="item.cardType!=2 && item.cardType!=3 ?{
}:{boxShadow: `8rpx 8rpx 16rpx 0rpx rgba(0, 0, 0, 0.3)`,width:`110rpx`,height:`110rpx`}">
2025-04-09 17:20:13 +08:00
<view :class="getBallSecond(item.cardType)">
拣货
2025-04-07 17:34:20 +08:00
</view>
</view>
2025-04-11 17:23:45 +08:00
<view class="ball-bgc" :style="item.cardType!=4 ?{
}:{boxShadow: `8rpx 8rpx 16rpx 0rpx rgba(0, 0, 0, 0.3)`,width:`110rpx`,height:`110rpx`}">
2025-04-09 17:20:13 +08:00
<view :class="getBallThird(item.cardType)">
结账
</view>
2025-04-07 17:34:20 +08:00
</view>
</view>
2025-04-09 17:20:13 +08:00
<view :class="item.cardType ? `title-button`:`title-button-red`">
{{stateArray[item.cardType]}}
</view>
2025-04-07 17:34:20 +08:00
</view>
2025-04-09 17:20:13 +08:00
<view class="swiper-down">
<view class="swiper-flex">
<view class="swiper-down-title">采购单号:</view>
<view class="swiper-down-number">A0120250301001555</view>
</view>
<view class="swiper-down-card">
<view class="swiper-down-text">
<view class="swiper-down-text-left">
2025-04-07 17:34:20 +08:00
</view>
2025-04-09 17:20:13 +08:00
<view class="swiper-down-text-right">
王法
2025-04-07 17:34:20 +08:00
</view>
2025-04-09 17:20:13 +08:00
</view>
<view class="swiper-down-text">
<view class="swiper-down-text-left">
采购日期
</view>
<view class="swiper-down-text-right">
2025.03.02
2025-04-07 17:34:20 +08:00
</view>
</view>
2025-04-09 17:20:13 +08:00
<view class="swiper-down-text">
<view class="swiper-down-text-left">
</view>
<view class="swiper-down-text-right">
李月
</view>
2025-04-07 17:34:20 +08:00
</view>
2025-04-09 17:20:13 +08:00
<view class="swiper-down-text">
<view class="swiper-down-text-left">
联系电话
2025-04-07 17:34:20 +08:00
</view>
2025-04-09 17:20:13 +08:00
<view class="swiper-down-text-right">
13355653333
2025-04-07 17:34:20 +08:00
</view>
2025-04-09 17:20:13 +08:00
</view>
<view class="swiper-down-text" style="width: 100%;">
<view class="swiper-down-text-left">
</view>
<view class="swiper-down-text-right">
宽城区珂爱个人卫生用品店
2025-04-07 17:34:20 +08:00
</view>
</view>
2025-04-09 17:20:13 +08:00
</view>
<view class="swiper-button">
<view class="button-father">
<view class="swiper-button-white">
详情
</view>
<view class="swiper-button-blue" v-show="item.cardType==4"
@click="isRight(index)">
结账
</view>
<view class="swiper-button-blue"
v-show="item.cardType==3||item.cardType==2">
拣货
</view>
<!-- <view class="swiper-button-blue" v-show="item.cardType==2">
分享
</view> -->
<view class="swiper-button-white" v-show="item.cardType>=2"
@click="isBack(index)">
回退
</view>
<view class="swiper-button-blue" v-show="item.cardType==1"
@click="isRight(index)">
确认
</view>
<view class="swiper-button-red" v-show="item.cardType==1"
@click="isDelete(index)">
作废
</view>
2025-04-07 17:34:20 +08:00
</view>
2025-04-09 17:20:13 +08:00
2025-04-07 17:34:20 +08:00
</view>
</view>
</view>
</view>
</view>
</scroll-view>
</view>
</view>
<view class="index-content-down">
长春市朝阳区久泰开运养老服务有限公司
</view>
</view>
<!-- 表格详情的的弹出层 -->
<view v-show="detailisopen && isShow" class="popup-detail" @click="detailisopen=false">
<view class="popup-detail-content" :style="{ opacity: detailisopacity ? 1 : 0 }" @click.stop>
<view class="popup-detail-left">
<view class="popup-detail-left-white">
<image class="popup-detail-left-white-img" :src="`/static/index/project3.png`"
@click="opendetail" />
</view>
<view class="popup-detail-left-bottom">
2025-04-09 17:20:13 +08:00
<view class="popup-small-card">
2025-04-07 17:34:20 +08:00
2025-04-09 17:20:13 +08:00
</view>
2025-04-07 17:34:20 +08:00
</view>
</view>
<view class="popup-detail-right">
</view>
</view>
</view>
</template>
<script setup lang="ts">
2025-04-08 17:33:14 +08:00
import { ref, onMounted, onBeforeUnmount, computed, nextTick, defineProps, watch } from 'vue';
2025-04-07 17:34:20 +08:00
const props = defineProps({
isShow: {
type: Boolean,
required: true,
},
});
2025-04-08 17:33:14 +08:00
// 使用watch监听isShow变化
const transition = ref(true);
2025-04-09 17:20:13 +08:00
const getBallFirst = (type : number) => {
switch (type) {
case 0:
return `ball-red`
case 1:
2025-04-11 17:23:45 +08:00
return `ball-yellow-big`
2025-04-09 17:20:13 +08:00
default:
return 'ball-green'
}
}
const getBallSecond = (type : number) => {
switch (type) {
case 0:
return `ball-white`
case 1:
return `ball-white`
case 2:
2025-04-11 17:23:45 +08:00
return `ball-yellow-big`
2025-04-09 17:20:13 +08:00
case 3:
2025-04-11 17:23:45 +08:00
return `ball-yellow-big`
2025-04-09 17:20:13 +08:00
case 4:
return `ball-green`
case 5:
return `ball-green`
// default:
// return 'ball-green'
}
}
const getBallThird = (type : number) => {
switch (type) {
case 4:
2025-04-11 17:23:45 +08:00
return `ball-yellow-big`
2025-04-09 17:20:13 +08:00
case 5:
return `ball-green`
default:
return 'ball-white'
}
}
2025-04-08 17:33:14 +08:00
watch(
() => props.isShow,
(newVal, oldVal) => {
// 当旧值为false新值为true时延迟0.2秒调用方法
if (!oldVal && newVal) {
transition.value = false;
setTimeout(() => {
transition.value = true;
}, 50)
}
}
)
const firstBall = ref(0);
const secondBall = ref(0);
const thirdBall = ref(0);
const calendarShow = ref(false);
2025-04-09 17:20:13 +08:00
const isDelete = (index : number) => {
firstBall.value = 0
secondBall.value = 0
thirdBall.value = 0
cardArray.value[index].cardType = 0
sliceArray.value = cardArray.value;
}
const isRight = (index : number) => {
firstBall.value = 0
secondBall.value = 0
thirdBall.value = 0
cardArray.value[index].cardType++
sliceArray.value = cardArray.value;
}
const isBack = (index : number) => {
firstBall.value = 0
secondBall.value = 0
thirdBall.value = 0
cardArray.value[index].cardType--
sliceArray.value = cardArray.value;
}
const firstBallClick = () => {
2025-04-08 17:33:14 +08:00
secondBall.value = 0
thirdBall.value = 0
2025-04-09 17:20:13 +08:00
if (firstBall.value < 3) {
2025-04-08 17:33:14 +08:00
firstBall.value++
2025-04-09 17:20:13 +08:00
} else {
2025-04-08 17:33:14 +08:00
firstBall.value = 0
}
2025-04-09 17:20:13 +08:00
if (firstBall.value) {
let saveArray = []
switch (firstBall.value) {
case 1:
cardArray.value.forEach((element : any) => {
if (element.cardType == 1) {
saveArray.push(element)
}
})
sliceArray.value = saveArray;
break
case 2:
cardArray.value.forEach((element : any) => {
if (element.cardType > 2) {
saveArray.push(element)
}
})
sliceArray.value = saveArray;
break
case 3:
cardArray.value.forEach((element : any) => {
if (element.cardType == 0) {
saveArray.push(element)
}
})
sliceArray.value = saveArray;
break
}
} else {
sliceArray.value = cardArray.value;
}
2025-04-08 17:33:14 +08:00
}
2025-04-09 17:20:13 +08:00
const secondBallClick = () => {
2025-04-08 17:33:14 +08:00
firstBall.value = 0
thirdBall.value = 0
2025-04-09 17:20:13 +08:00
if (secondBall.value < 2) {
2025-04-08 17:33:14 +08:00
secondBall.value++
2025-04-09 17:20:13 +08:00
} else {
2025-04-08 17:33:14 +08:00
secondBall.value = 0
}
2025-04-09 17:20:13 +08:00
if (secondBall.value) {
let saveArray = []
switch (secondBall.value) {
case 1:
cardArray.value.forEach((element : any) => {
if (element.cardType == 2 || element.cardType == 3) {
saveArray.push(element)
}
})
sliceArray.value = saveArray;
break
case 2:
cardArray.value.forEach((element : any) => {
if (element.cardType > 3) {
saveArray.push(element)
}
})
sliceArray.value = saveArray;
break
}
} else {
sliceArray.value = cardArray.value;
}
2025-04-08 17:33:14 +08:00
}
2025-04-09 17:20:13 +08:00
const thirdBallClick = () => {
2025-04-08 17:33:14 +08:00
secondBall.value = 0
firstBall.value = 0
2025-04-09 17:20:13 +08:00
if (thirdBall.value < 2) {
2025-04-08 17:33:14 +08:00
thirdBall.value++
2025-04-09 17:20:13 +08:00
} else {
2025-04-08 17:33:14 +08:00
thirdBall.value = 0
}
2025-04-09 17:20:13 +08:00
if (thirdBall.value) {
let saveArray = []
switch (thirdBall.value) {
case 1:
cardArray.value.forEach((element : any) => {
if (element.cardType == 4) {
saveArray.push(element)
}
})
sliceArray.value = saveArray;
break
case 2:
cardArray.value.forEach((element : any) => {
if (element.cardType == 5) {
saveArray.push(element)
}
})
sliceArray.value = saveArray;
break
}
} else {
sliceArray.value = cardArray.value;
}
2025-04-08 17:33:14 +08:00
}
2025-04-07 17:34:20 +08:00
// 表格弹窗
const detailisopen = ref(false);
const detailisopacity = ref(false);
// 初始化左侧菜单列表
const buttonList = ref([
// { url: '/static/index/Warehousing/zuoce.png', name: '请购单' },
{ url: '/static/index/Warehousing/sousuo.png', name: '查询' },
{ url: '/static/index/Warehousing/chongzhi.png', name: '重置' },
]);
2025-04-08 17:33:14 +08:00
const stateTarget = ref("");
2025-04-09 17:20:13 +08:00
const stateArray = ref(['已作废', '未确认', '已确认', '未完结', '待结账', '已结账']);
// 注意cardType 0是已作废1是未确认2是已确认3是未完结4是待结账5是已结账
2025-04-07 17:34:20 +08:00
const cardArray = ref(
Array.from({ length: 6 }, (_, index) => ({ cardType: index }))
);
2025-04-09 17:20:13 +08:00
const sliceArray = ref([]);
2025-04-08 17:33:14 +08:00
const clickBall = (index : number) => {
switch (index) {
case 0:
return `ball-white`
case 1:
return `ball-yellow`
case 2:
return `ball-green`
case 3:
return `ball-red`
}
}
2025-04-07 17:34:20 +08:00
const opendetail = () => {
detailisopen.value = true;
detailisopacity.value = false;
setTimeout(() => {
detailisopacity.value = true
}, 200)
}
2025-04-09 17:20:13 +08:00
const calendarchange = (e : any) => {
2025-04-08 17:33:14 +08:00
stateTarget.value = e.result
2025-04-07 17:34:20 +08:00
}
2025-04-09 17:20:13 +08:00
onMounted(() => {
sliceArray.value = cardArray.value;
})
2025-04-07 17:34:20 +08:00
</script>
<style scoped lang="less">
.index-content-other {
width: calc(100% - 170rpx);
height: 100%;
2025-04-08 17:33:14 +08:00
transition: opacity 1s ease;
2025-04-07 17:34:20 +08:00
}
.index-content-right {
height: calc(100% - 100rpx);
width: calc(100% - 60rpx);
background-color: rgba(255, 255, 255, 0.5);
/* 白色背景透明度为 10% */
background-image: url('/static/index/mountain.png');
background-position: 70% 45%;
border-radius: 50rpx;
box-shadow: 4rpx 8rpx 16rpx 4rpx rgba(0, 0, 0, 0.3);
border-radius: 1rpx solid #fff;
.index-right-height {
height: 20rpx;
}
.index-right-title {
margin-left: 30rpx;
width: calc(100% - 60rpx);
height: 120rpx;
background: linear-gradient(to right, #C4E0FD, #D5CDFF, #D9ECFF);
border-radius: 35rpx;
border: 2rpx solid #fff;
display: flex;
align-items: center;
.index-right-name {
margin-left: 20rpx;
margin-right: 10rpx;
color: #19233B;
font-size: 30rpx;
}
.index-right-input {
font-size: 23rpx;
width: 180rpx;
border: 2rpx #a0adc8 solid;
padding: 15rpx 0 15rpx 10rpx;
background-color: rgba(234, 243, 254, 0.6);
border-radius: 10rpx;
}
.index-right-button-all {
height: 100%;
margin-left: auto;
display: flex;
align-items: center;
.index-right-button {
// width: 160rpx;
2025-04-09 17:20:13 +08:00
height: 75rpx;
background: linear-gradient(to right, #00c9ff, #0076ff);
2025-04-07 17:34:20 +08:00
color: #fff;
font-size: 30rpx;
display: flex;
align-items: center;
2025-04-09 17:20:13 +08:00
border-radius: 20rpx;
2025-04-07 17:34:20 +08:00
border: 1rpx solid #fff;
margin-right: 20rpx;
.index-right-button-img {
width: 45rpx;
height: 45rpx;
2025-04-09 17:20:13 +08:00
margin: 0 5rpx 0 15rpx;
2025-04-07 17:34:20 +08:00
}
.index-right-button-font {
2025-04-09 17:20:13 +08:00
margin-right: 25rpx;
2025-04-07 17:34:20 +08:00
}
}
}
}
}
.index-content-down {
width: calc(100% - 60rpx);
height: 100rpx;
display: flex;
justify-content: flex-end;
align-items: center;
}
.swiper-contain {
width: 100%;
margin-left: 10rpx;
// width: calc(100% - 60rpx);
height: calc(100% - 140rpx);
.swiper-flex {
display: flex;
flex-wrap: wrap;
.swiper-card {
margin: 20rpx 0 0 20rpx;
width: 1007rpx;
height: 530rpx;
2025-04-09 17:20:13 +08:00
border: 3rpx solid #fff;
// border-top: 4rpx solid #FFA504;
2025-04-07 17:34:20 +08:00
border-radius: 30rpx;
/* 设置背景图和白色背景 */
background: url("/static/index/clearmountain.png") center/cover, rgba(255, 255, 255, 0.5);
/* 使用 screen 混合模式,让图像与白色混合变淡 */
background-blend-mode: screen;
isolation: isolate;
2025-04-09 17:20:13 +08:00
box-shadow: 4rpx 4rpx 8rpx 0rpx rgba(0, 0, 0, 0.3);
2025-04-07 17:34:20 +08:00
display: flex;
position: relative;
overflow: hidden;
2025-04-09 17:20:13 +08:00
flex-direction: column;
2025-04-08 17:33:14 +08:00
2025-04-09 17:20:13 +08:00
.swiper-title-contect {
margin-bottom: 0;
2025-04-07 17:34:20 +08:00
width: 100%;
2025-04-09 17:20:13 +08:00
height: 115rpx;
background: linear-gradient(to right, #CBD8FC, #F2EAFF, #E2EDFE, #BDCAE9);
border-top-right-radius: 30rpx;
border-top-left-radius: 30rpx;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 3rpx solid;
/* 指定边框宽度 */
border-image: linear-gradient(to right, transparent, #fff, transparent) 1;
.swiper-states {
margin-left: 15rpx;
2025-04-07 17:34:20 +08:00
display: flex;
justify-content: space-between;
align-items: center;
2025-04-09 17:20:13 +08:00
width: 350rpx;
height: 100%;
position: relative;
.swiper-states-heng-one {
position: absolute;
top: 50%;
left: 80rpx;
width: 100rpx;
height: 10rpx;
background-color: #C6CBF6;
}
.swiper-states-heng-one-green {
position: absolute;
top: 50%;
left: 80rpx;
width: 100rpx;
height: 10rpx;
background: linear-gradient(to top, #ACE800, #55B718);
}
.swiper-states-heng-two {
position: absolute;
top: 50%;
left: 180rpx;
width: 100rpx;
height: 10rpx;
background-color: #C6CBF6;
}
.swiper-states-heng-two-green {
position: absolute;
top: 50%;
left: 180rpx;
width: 100rpx;
height: 10rpx;
background: linear-gradient(to top, #ACE800, #55B718);
2025-04-08 17:33:14 +08:00
2025-04-07 17:34:20 +08:00
}
}
}
2025-04-08 17:33:14 +08:00
2025-04-07 17:34:20 +08:00
}
}
}
.swiper-heng {
width: 100rpx;
height: 10rpx;
background: linear-gradient(to right, #0EA7DD, #047ADB);
border-radius: 30rpx;
margin-top: 10rpx;
margin-bottom: 30rpx;
}
.popup-detail {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
display: flex;
justify-content: center;
align-items: center;
backdrop-filter: blur(1rpx);
background-color: rgba(89, 109, 154, 0.4);
/* 添加毛玻璃效果 */
z-index: 999;
.popup-detail-content {
display: flex;
width: 1500rpx;
height: 900rpx;
background: url("/static/index/lightbgcnew.png") center/cover, rgba(255, 255, 255, 0.5);
background-blend-mode: screen;
border: 2rpx solid #fff;
/* 使用 screen 混合模式,让图像与白色混合变淡 */
border-radius: 30rpx;
box-shadow: 10rpx 10rpx 20rpx rgba(0, 0, 0, 0.1);
transition: opacity 0.4s ease;
.popup-detail-left {
height: 100%;
width: 45%;
.popup-detail-left-white {
margin: 70rpx 0 0rpx 70rpx;
width: 600rpx;
height: 600rpx;
// background-color: #fff;
background-color: rgba(255, 255, 255, 0.3);
display: flex;
border-radius: 30rpx;
justify-content: center;
align-items: center;
.popup-detail-left-white-img {
width: 550rpx;
height: 550rpx;
}
}
.popup-detail-left-bottom {
width: calc(100% - 70rpx);
margin-left: 70rpx;
height: 230rpx;
2025-04-09 17:20:13 +08:00
// background-color: #fff
display: flex;
2025-04-07 17:34:20 +08:00
}
}
.popup-detail-right {
height: 100%;
width: 55%;
}
}
}
.ball-bgc {
background-color: #fff;
width: 90rpx;
height: 90rpx;
display: flex;
justify-content: center;
align-items: center;
border-radius: 50%;
margin-left: 20rpx;
2025-04-11 17:23:45 +08:00
2025-04-07 17:34:20 +08:00
z-index: 1;
}
.ball-yellow {
background: linear-gradient(to top right, #FF9F00, #FFDF2A);
width: 80rpx;
height: 80rpx;
display: flex;
justify-content: center;
align-items: center;
border-radius: 50%;
color: #A53600;
font-size: 25rpx;
}
2025-04-11 17:23:45 +08:00
.ball-yellow-big {
background: linear-gradient(to top right, #FF9F00, #FFDF2A);
width: 100rpx;
height: 100rpx;
display: flex;
justify-content: center;
align-items: center;
border-radius: 50%;
color: #A53600;
font-size: 35rpx;
}
2025-04-08 17:33:14 +08:00
.ball-red {
2025-04-07 17:34:20 +08:00
background: #FF642F;
2025-04-28 17:33:10 +08:00
width: 100rpx;
height: 100rpx;
2025-04-07 17:34:20 +08:00
display: flex;
justify-content: center;
align-items: center;
border-radius: 50%;
color: #fff;
2025-04-28 17:33:10 +08:00
font-size: 35rpx;
2025-04-07 17:34:20 +08:00
}
2025-04-08 17:33:14 +08:00
.ball-white {
background: linear-gradient(to bottom, #CBD9FD, #A2B7E0);
2025-04-07 17:34:20 +08:00
width: 80rpx;
height: 80rpx;
display: flex;
justify-content: center;
align-items: center;
border-radius: 50%;
2025-04-08 17:33:14 +08:00
// color: #585858;
2025-04-07 17:34:20 +08:00
font-size: 25rpx;
}
2025-04-08 17:33:14 +08:00
// .ball-blue {
// background: linear-gradient(to bottom, #CBD9FD, #A2B7E0);
// width: 80rpx;
// height: 80rpx;
// display: flex;
// justify-content: center;
// align-items: center;
// border-radius: 50%;
// color: #fff;
// font-size: 25rpx;
// }
2025-04-07 17:34:20 +08:00
.ball-green {
2025-04-09 17:20:13 +08:00
background: linear-gradient(to top, #ACE800, #55B718);
2025-04-07 17:34:20 +08:00
width: 80rpx;
height: 80rpx;
display: flex;
justify-content: center;
align-items: center;
border-radius: 50%;
2025-04-08 17:33:14 +08:00
color: #fff;
2025-04-07 17:34:20 +08:00
font-size: 25rpx;
}
.ball-blue {
2025-04-08 17:33:14 +08:00
background: linear-gradient(to top, #0076ff, #00c9ff);
2025-04-07 17:34:20 +08:00
width: 80rpx;
height: 80rpx;
display: flex;
justify-content: center;
align-items: center;
border-radius: 50%;
2025-04-08 17:33:14 +08:00
color: #fff;
2025-04-07 17:34:20 +08:00
font-size: 25rpx;
}
2025-04-08 17:33:14 +08:00
.title-button {
2025-04-07 17:34:20 +08:00
margin-right: 30rpx;
border: 2rpx solid #fff;
border-radius: 20rpx;
2025-04-09 17:20:13 +08:00
background: #00AEFF;
2025-04-07 17:34:20 +08:00
color: #fff;
padding: 10rpx 20rpx;
}
2025-04-08 17:33:14 +08:00
.title-button-red {
2025-04-07 17:34:20 +08:00
margin-right: 30rpx;
border: 2rpx solid #fff;
border-radius: 20rpx;
2025-04-09 17:20:13 +08:00
background: linear-gradient(to bottom, #FF8251, #F52E2C);
2025-04-07 17:34:20 +08:00
color: #fff;
padding: 10rpx 20rpx;
}
2025-04-09 17:20:13 +08:00
.swiper-down {
width: 100%;
height: calc(100% - 115rpx);
padding: 0 30rpx;
background-color: rgba(255, 255, 255, 0.5);
.swiper-flex {
display: flex;
margin: 30rpx 0;
margin-left: 10rpx;
}
.swiper-down-title {
font-weight: 500;
font-size: 30rpx;
}
.swiper-down-number {
font-weight: 700;
font-size: 30rpx;
}
.swiper-down-card {
width: 100%;
height: 200rpx;
background-color: rgba(255, 255, 255, 0.3);
border-radius: 20rpx;
box-shadow: 2rpx 4rpx 8rpx 2rpx rgba(0, 0, 0, 0.1);
display: flex;
flex-wrap: wrap;
padding: 20rpx 0;
padding-left: 20rpx;
.swiper-down-text {
width: 50%;
// height: 40rpx;
padding-left: 20rpx;
display: flex;
align-items: center;
.swiper-down-text-left {
color: #596278;
}
}
}
.swiper-button {
width: 100%;
// background-color: #fff;
height: 110rpx;
display: flex;
justify-content: center;
align-items: center;
.button-father {
display: flex;
}
.swiper-button-white {
background: linear-gradient(to bottom, #D5E0F8, #ECF6FF);
border: 2rpx solid #fff;
border-radius: 20rpx;
width: 150rpx;
height: 70rpx;
display: flex;
justify-content: center;
align-items: center;
margin: 0 10rpx;
}
.swiper-button-blue {
background: linear-gradient(to bottom, #00C9FF, #0076FF);
border: 2rpx solid #fff;
border-radius: 20rpx;
width: 150rpx;
height: 70rpx;
display: flex;
justify-content: center;
align-items: center;
margin: 0 10rpx;
color: #fff;
}
.swiper-button-red {
background: linear-gradient(to bottom, #FF8251, #F52E2C);
border: 2rpx solid #fff;
border-radius: 20rpx;
width: 150rpx;
height: 70rpx;
display: flex;
justify-content: center;
align-items: center;
margin: 0 10rpx;
color: #fff;
}
}
}
2025-04-07 17:34:20 +08:00
</style>