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-05-08 17:34:54 +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-05-08 17:34:54 +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-05-08 17:34:54 +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-07-14 17:26:40 +08:00
|
|
|
|
采 购 人 :
|
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">
|
2025-05-08 17:34:54 +08:00
|
|
|
|
<view class="swiper-button-white" @click="openDetailDrawer(item.cardType)">
|
2025-04-09 17:20:13 +08:00
|
|
|
|
详情
|
|
|
|
|
</view>
|
|
|
|
|
<view class="swiper-button-blue" v-show="item.cardType==4"
|
2025-05-20 16:10:53 +08:00
|
|
|
|
@click="openfinish(item.cardType)">
|
2025-04-09 17:20:13 +08:00
|
|
|
|
结账
|
|
|
|
|
</view>
|
2025-05-20 16:10:53 +08:00
|
|
|
|
<view class="swiper-button-blue" v-show="item.cardType==3||item.cardType==2"
|
2025-05-13 17:18:07 +08:00
|
|
|
|
@click="pickingGoodclick">
|
2025-04-09 17:20:13 +08:00
|
|
|
|
拣货
|
|
|
|
|
</view>
|
|
|
|
|
<!-- <view class="swiper-button-blue" v-show="item.cardType==2">
|
|
|
|
|
分享
|
|
|
|
|
</view> -->
|
2025-05-20 16:10:53 +08:00
|
|
|
|
<view class="swiper-button-white"
|
|
|
|
|
v-show="item.cardType>=2&&item.cardType!==5" @click="isBack(index)">
|
2025-04-09 17:20:13 +08:00
|
|
|
|
回退
|
|
|
|
|
</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"
|
2025-05-08 17:34:54 +08:00
|
|
|
|
@click="openVoidDrawer(index)">
|
2025-04-09 17:20:13 +08:00
|
|
|
|
作废
|
|
|
|
|
</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>
|
2025-05-08 17:34:54 +08:00
|
|
|
|
<!-- 详情的抽屉 -->
|
|
|
|
|
<Drawer ref="detaildrawer" :widNumber="60">
|
|
|
|
|
<otherDetail :openType="openType" @closedetail="closedetaildrawer" @openDrawer="openDrawer" />
|
|
|
|
|
</Drawer>
|
2025-05-20 16:10:53 +08:00
|
|
|
|
<!-- 改价弹窗 -->
|
|
|
|
|
<view v-show="pricedrawer && isShow" class="popup-detail-finish" @click="pricedrawer=false">
|
|
|
|
|
<view class="popup-detail-content" :style="{ opacity: detailisopacity ? 1 : 0 }" @click.stop>
|
|
|
|
|
<finish :changePrice="changePrice" :savePrice="savePrice" @rightclose="rightclose" @close="pricedrawer=false" @openCal="openCalsec" @closeCal="isopenCalsec=false" />
|
|
|
|
|
</view>
|
|
|
|
|
<view v-show="isopenCalsec" class="popup-detail-content-calculator" :style="{ opacity: detailisopacity ? 1 : 0 }" @click.stop>
|
|
|
|
|
<calculatorfly :doOnce="doOnce" :translateNumber="translateNumber" @right="rightchangePrice" />
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<!-- 结账的抽屉 -->
|
|
|
|
|
<Drawer ref="finishAccountdrawer" :widNumber="60">
|
|
|
|
|
<finishAccount :valueBack="valueBack" :openType="openType" @closedetail="closedetaildrawer" @openDrawer="openDrawer" @openPen="openPen" />
|
|
|
|
|
</Drawer>
|
2025-05-08 17:34:54 +08:00
|
|
|
|
<!-- 入库单的抽屉 -->
|
|
|
|
|
<Drawer ref="storagedrawer" :widNumber="50" style="z-index: 1000;">
|
2025-05-09 17:08:16 +08:00
|
|
|
|
<storage :dantype="dantype" @opensuixing="opensuixing" @closevoid="closestorage" />
|
|
|
|
|
</Drawer>
|
|
|
|
|
<!-- 核销单的抽屉 -->
|
|
|
|
|
<Drawer ref="verificationdrawer" :widNumber="50" style="z-index: 1000;">
|
2025-05-20 16:10:53 +08:00
|
|
|
|
<verification @closehexiao="closehexiao" />
|
2025-05-09 17:08:16 +08:00
|
|
|
|
</Drawer>
|
|
|
|
|
<!-- 随行单的抽屉 -->
|
|
|
|
|
<Drawer ref="suixingdrawer" :widNumber="40" style="z-index: 1001;">
|
|
|
|
|
<suixing />
|
2025-05-08 17:34:54 +08:00
|
|
|
|
</Drawer>
|
2025-05-20 16:10:53 +08:00
|
|
|
|
<!-- 计算器弹窗 -->
|
2025-05-13 17:18:07 +08:00
|
|
|
|
<view v-show="caldrawer && isShow" class="popup-detail-cal" @click="caldrawer=false">
|
|
|
|
|
<view class="popup-detail-content" :style="{ opacity: detailisopacity ? 1 : 0 }" @click.stop>
|
|
|
|
|
<calculator :doOnce="doOnce" :translateNumber="translateNumber" @close="closeCal" @right="rightCal" />
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<!-- 计算器的抽屉 -->
|
|
|
|
|
<!-- <Drawer ref="caldrawer" :widNumber="30" :canclose="false" style="z-index: 1001;">
|
|
|
|
|
<calculator :doOnce="doOnce" :translateNumber="translateNumber" @close="closeCal" @right="rightCal" />
|
|
|
|
|
</Drawer> -->
|
2025-05-08 17:34:54 +08:00
|
|
|
|
<!-- 作废的抽屉 -->
|
|
|
|
|
<Drawer ref="voiddrawer" :widNumber="60">
|
|
|
|
|
<otherVoid @voidIt="isDelete(saveVoidIndex)" @closevoid="closevoid" />
|
|
|
|
|
</Drawer>
|
2025-05-13 17:18:07 +08:00
|
|
|
|
<!-- 拣货的抽屉 -->
|
|
|
|
|
<Drawer ref="pickingGooddrawer" :widNumber="60" style="z-index: 998;">
|
|
|
|
|
<pickingGood @openDrawer="openDrawer" />
|
|
|
|
|
</Drawer>
|
|
|
|
|
<!-- 拣货的拣货的抽屉 -->
|
|
|
|
|
<Drawer ref="pickingdrawer" :canclose="false" :widNumber="50" style="z-index: 998;">
|
|
|
|
|
<picking :backnumber="backnumber" @openCal="openCal" @closepickingdrawer="closepickingdrawer" />
|
|
|
|
|
</Drawer>
|
2025-04-07 17:34:20 +08:00
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
2025-04-08 17:33:14 +08:00
|
|
|
|
import { ref, onMounted, onBeforeUnmount, computed, nextTick, defineProps, watch } from 'vue';
|
2025-05-08 17:34:54 +08:00
|
|
|
|
import Drawer from "@/component/public/Drawer.vue"
|
|
|
|
|
import otherDetail from "@/component/storeroom/drawer/otherDetail/index.vue"
|
|
|
|
|
import otherVoid from "@/component/storeroom/drawer/otherVoid/index.vue"
|
|
|
|
|
import storage from "@/component/storeroom/drawer/storage/index.vue"
|
2025-05-09 17:08:16 +08:00
|
|
|
|
import suixing from "@/component/storeroom/drawer/suixing/index.vue"
|
2025-05-20 16:10:53 +08:00
|
|
|
|
import verification from "@/component/storeroom/drawer/verification/index.vue"
|
2025-05-13 17:18:07 +08:00
|
|
|
|
import pickingGood from "@/component/storeroom/drawer/pickingGood/index.vue"
|
|
|
|
|
import picking from "@/component/storeroom/drawer/picking/index.vue"
|
|
|
|
|
import calculator from "@/component/storeroom/drawer/calculator/index.vue"
|
2025-05-20 16:10:53 +08:00
|
|
|
|
import finish from "@/component/storeroom/drawer/finish/index.vue"
|
|
|
|
|
import finishAccount from "@/component/storeroom/drawer/finishAccount/index.vue"
|
|
|
|
|
import calculatorfly from "@/component/storeroom/components/calculatorfly.vue"
|
2025-05-08 17:34:54 +08:00
|
|
|
|
|
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:
|
2025-05-08 17:34:54 +08:00
|
|
|
|
return `ball-red-big`
|
2025-04-09 17:20:13 +08:00
|
|
|
|
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)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
)
|
2025-05-20 16:10:53 +08:00
|
|
|
|
|
2025-05-08 17:34:54 +08:00
|
|
|
|
const detaildrawer = ref(null);
|
|
|
|
|
const voiddrawer = ref(null);
|
|
|
|
|
const storagedrawer = ref(null);
|
2025-05-20 16:10:53 +08:00
|
|
|
|
const verificationdrawer = ref(null);
|
|
|
|
|
const pricedrawer = ref(false);
|
|
|
|
|
|
2025-04-08 17:33:14 +08:00
|
|
|
|
const firstBall = ref(0);
|
|
|
|
|
const secondBall = ref(0);
|
|
|
|
|
const thirdBall = ref(0);
|
|
|
|
|
const calendarShow = ref(false);
|
2025-05-08 17:34:54 +08:00
|
|
|
|
// 打开详情
|
|
|
|
|
const openType = ref(-1);
|
2025-05-20 16:10:53 +08:00
|
|
|
|
const openDetailDrawer = (type : number) => {
|
2025-05-08 17:34:54 +08:00
|
|
|
|
openType.value = type;
|
|
|
|
|
detaildrawer.value.openDrawer();
|
|
|
|
|
}
|
2025-05-13 17:18:07 +08:00
|
|
|
|
const pickingGooddrawer = ref(null);
|
2025-05-20 16:10:53 +08:00
|
|
|
|
const pickingGoodclick = () => {
|
2025-05-13 17:18:07 +08:00
|
|
|
|
pickingGooddrawer.value.openDrawer();
|
|
|
|
|
}
|
2025-05-08 17:34:54 +08:00
|
|
|
|
const saveVoidIndex = ref(-1);
|
2025-05-20 16:10:53 +08:00
|
|
|
|
const openVoidDrawer = (index : number) => {
|
2025-05-08 17:34:54 +08:00
|
|
|
|
// openType.value = type;
|
|
|
|
|
saveVoidIndex.value = index
|
|
|
|
|
voiddrawer.value.openDrawer();
|
|
|
|
|
}
|
2025-05-09 17:08:16 +08:00
|
|
|
|
const suixingdrawer = ref(null);
|
2025-05-20 16:10:53 +08:00
|
|
|
|
const opensuixing = () => {
|
2025-05-09 17:08:16 +08:00
|
|
|
|
suixingdrawer.value.openDrawer();
|
|
|
|
|
}
|
|
|
|
|
const dantype = ref(0);
|
2025-05-20 16:10:53 +08:00
|
|
|
|
const pickingdrawer = ref(null);
|
|
|
|
|
const openDrawer = (index : number) => {
|
|
|
|
|
if (!index) {
|
2025-05-08 17:34:54 +08:00
|
|
|
|
storagedrawer.value.openDrawer();
|
2025-05-09 17:08:16 +08:00
|
|
|
|
dantype.value = 0;
|
2025-05-20 16:10:53 +08:00
|
|
|
|
} else if (index === 1) {
|
2025-05-09 17:08:16 +08:00
|
|
|
|
storagedrawer.value.openDrawer();
|
|
|
|
|
dantype.value = 1;
|
|
|
|
|
}
|
2025-05-20 16:10:53 +08:00
|
|
|
|
else if (index === 2) {
|
2025-05-09 17:08:16 +08:00
|
|
|
|
dantype.value = 2;
|
|
|
|
|
verificationdrawer.value.openDrawer();
|
2025-05-20 16:10:53 +08:00
|
|
|
|
} else if (index === 3) {
|
2025-05-13 17:18:07 +08:00
|
|
|
|
pickingdrawer.value.openDrawer();
|
2025-05-20 16:10:53 +08:00
|
|
|
|
} else if (index === 4) {
|
|
|
|
|
// console.log("?????")
|
2025-05-13 17:18:07 +08:00
|
|
|
|
suixingdrawer.value.openDrawer();
|
2025-05-08 17:34:54 +08:00
|
|
|
|
}
|
2025-05-20 16:10:53 +08:00
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
const savePrice = ref(0);
|
|
|
|
|
const changePrice = ref(0);
|
|
|
|
|
const valueBack = ref(-1);
|
|
|
|
|
const rightclose = (number:number) =>{
|
|
|
|
|
valueBack.value = number;
|
|
|
|
|
}
|
|
|
|
|
const rightchangePrice = (price:number) =>{
|
|
|
|
|
isopenCalsec.value = false;
|
|
|
|
|
changePrice.value = price
|
|
|
|
|
}
|
|
|
|
|
const openPen = (price:number) =>{
|
|
|
|
|
savePrice.value = price;
|
|
|
|
|
changePrice.value = price;
|
|
|
|
|
pricedrawer.value = true;
|
|
|
|
|
detailisopacity.value = true
|
2025-05-08 17:34:54 +08:00
|
|
|
|
}
|
2025-05-13 17:18:07 +08:00
|
|
|
|
const translateNumber = ref(0);
|
|
|
|
|
const doOnce = ref(0);
|
|
|
|
|
const caldrawer = ref(false);
|
2025-05-20 16:10:53 +08:00
|
|
|
|
|
|
|
|
|
const closeCal = () => {
|
2025-05-13 17:18:07 +08:00
|
|
|
|
caldrawer.value = false;
|
2025-05-20 16:10:53 +08:00
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
const isopenCalsec = ref(false);
|
|
|
|
|
const openCalsec = (many:number) =>{
|
|
|
|
|
isopenCalsec.value = true;
|
|
|
|
|
doOnce.value++
|
|
|
|
|
translateNumber.value = many
|
2025-05-13 17:18:07 +08:00
|
|
|
|
}
|
|
|
|
|
const backnumber = ref(0);
|
2025-05-20 16:10:53 +08:00
|
|
|
|
const rightCal = (number : number) => {
|
2025-05-13 17:18:07 +08:00
|
|
|
|
caldrawer.value = false;
|
|
|
|
|
backnumber.value = number
|
|
|
|
|
}
|
2025-05-20 16:10:53 +08:00
|
|
|
|
const openCal = (number : number) => {
|
2025-05-13 17:18:07 +08:00
|
|
|
|
translateNumber.value = number;
|
|
|
|
|
caldrawer.value = true;
|
|
|
|
|
detailisopacity.value = false;
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
detailisopacity.value = true
|
|
|
|
|
}, 100)
|
2025-05-20 16:10:53 +08:00
|
|
|
|
doOnce.value++
|
2025-05-13 17:18:07 +08:00
|
|
|
|
}
|
2025-05-20 16:10:53 +08:00
|
|
|
|
const closepickingdrawer = () => {
|
2025-05-13 17:18:07 +08:00
|
|
|
|
pickingdrawer.value.closeDrawer()
|
|
|
|
|
}
|
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;
|
2025-05-08 17:34:54 +08:00
|
|
|
|
voiddrawer.value.closeDrawer()
|
2025-04-09 17:20:13 +08:00
|
|
|
|
}
|
2025-05-20 16:10:53 +08:00
|
|
|
|
const finishAccountdrawer = ref(null);
|
|
|
|
|
const openfinish = (index : number) => {
|
|
|
|
|
openType.value = index;
|
|
|
|
|
finishAccountdrawer.value.openDrawer();
|
|
|
|
|
}
|
2025-04-09 17:20:13 +08:00
|
|
|
|
const isRight = (index : number) => {
|
|
|
|
|
firstBall.value = 0
|
|
|
|
|
secondBall.value = 0
|
|
|
|
|
thirdBall.value = 0
|
|
|
|
|
cardArray.value[index].cardType++
|
|
|
|
|
sliceArray.value = cardArray.value;
|
|
|
|
|
}
|
2025-05-20 16:10:53 +08:00
|
|
|
|
|
2025-04-09 17:20:13 +08:00
|
|
|
|
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-05-20 16:10:53 +08:00
|
|
|
|
const closedetaildrawer = () => {
|
2025-05-08 17:34:54 +08:00
|
|
|
|
detaildrawer.value.closeDrawer()
|
|
|
|
|
}
|
2025-05-20 16:10:53 +08:00
|
|
|
|
const closestorage = () => {
|
2025-05-09 17:08:16 +08:00
|
|
|
|
storagedrawer.value.closeDrawer()
|
|
|
|
|
}
|
2025-05-20 16:10:53 +08:00
|
|
|
|
const closevoid = () => {
|
2025-05-08 17:34:54 +08:00
|
|
|
|
voiddrawer.value.closeDrawer()
|
|
|
|
|
}
|
2025-05-20 16:10:53 +08:00
|
|
|
|
const closehexiao = () => {
|
2025-05-09 17:08:16 +08:00
|
|
|
|
verificationdrawer.value.closeDrawer()
|
|
|
|
|
}
|
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);
|
|
|
|
|
/* 添加毛玻璃效果 */
|
2025-05-20 16:10:53 +08:00
|
|
|
|
|
|
|
|
|
.popup-detail-price{
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 0;
|
|
|
|
|
left: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
width: 1000rpx;
|
|
|
|
|
height: 1000rpx;
|
|
|
|
|
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;
|
|
|
|
|
z-index: 1005;
|
|
|
|
|
}
|
2025-04-07 17:34:20 +08:00
|
|
|
|
.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-05-08 17:34:54 +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-05-20 16:10:53 +08:00
|
|
|
|
|
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-05-20 16:10:53 +08:00
|
|
|
|
|
2025-05-08 17:34:54 +08:00
|
|
|
|
.ball-red-big {
|
2025-04-07 17:34:20 +08:00
|
|
|
|
background: #FF642F;
|
2025-05-08 17:34:54 +08:00
|
|
|
|
color: #fff;
|
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%;
|
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
|
|
|
|
|
2025-05-08 17:34:54 +08:00
|
|
|
|
.ball-red {
|
|
|
|
|
background: #FF642F;
|
|
|
|
|
width: 80rpx;
|
|
|
|
|
height: 80rpx;
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
align-items: center;
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
color: #fff;
|
|
|
|
|
font-size: 25rpx;
|
|
|
|
|
}
|
|
|
|
|
|
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
|
|
|
|
|
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-05-20 16:10:53 +08:00
|
|
|
|
|
2025-05-13 17:18:07 +08:00
|
|
|
|
.popup-detail-cal {
|
|
|
|
|
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;
|
2025-05-20 16:10:53 +08:00
|
|
|
|
|
2025-05-13 17:18:07 +08:00
|
|
|
|
.popup-detail-content {
|
|
|
|
|
position: absolute;
|
|
|
|
|
right: 330rpx;
|
|
|
|
|
top: 140rpx;
|
|
|
|
|
display: flex;
|
|
|
|
|
width: 600rpx;
|
|
|
|
|
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: 40rpx;
|
|
|
|
|
box-shadow: 10rpx 10rpx 20rpx rgba(0, 0, 0, 0.1);
|
|
|
|
|
transition: opacity 0.4s ease;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2025-05-20 16:10:53 +08:00
|
|
|
|
.popup-detail-finish {
|
|
|
|
|
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: 1001;
|
|
|
|
|
|
|
|
|
|
.popup-detail-content {
|
|
|
|
|
position: absolute;
|
|
|
|
|
left: 350rpx;
|
|
|
|
|
top: 400rpx;
|
|
|
|
|
// left: 0;
|
|
|
|
|
// bottom: 0;
|
|
|
|
|
display: flex;
|
|
|
|
|
width: 1200rpx;
|
|
|
|
|
height: 700rpx;
|
|
|
|
|
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: 40rpx;
|
|
|
|
|
box-shadow: 10rpx 10rpx 20rpx rgba(0, 0, 0, 0.1);
|
|
|
|
|
transition: opacity 0.4s ease;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.popup-detail-content-calculator {
|
|
|
|
|
position: absolute;
|
|
|
|
|
right: 100rpx;
|
|
|
|
|
top: 310rpx;
|
|
|
|
|
display: flex;
|
|
|
|
|
width: 650rpx;
|
|
|
|
|
height: 850rpx;
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
border: 2rpx solid #fff;
|
|
|
|
|
border-radius: 30rpx;
|
|
|
|
|
box-shadow: 10rpx 10rpx 20rpx rgba(0, 0, 0, 0.1);
|
|
|
|
|
transition: opacity 0.4s ease;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}
|
2025-04-07 17:34:20 +08:00
|
|
|
|
</style>
|