hldy_app/component/storeroom/drawer/plsbuy/index.vue

321 lines
7.7 KiB
Vue
Raw Normal View History

2025-05-08 17:34:54 +08:00
<!-- 请购 -->
<template>
<view class="draw-all">
<!-- <view class="draw-title">
<view class="draw-flex">
<view class="draw-title-gun"></view>
<view class="draw-title-font">清单</view>
</view>
<view class="draw-blue">
请购单号:A0120250301001
</view>
</view> -->
<view class="draw-contain">
<!-- 解决margin重叠问题 -->
<view class="index-right-height"></view>
<view class="index-right-title">
<view class="index-right-name">
请购单号
</view>
<input class="index-right-input" placeholder="请输入请购单号" />
<view class="index-right-name">
请购人
</view>
<input class="index-right-input" placeholder="请输入请购人" />
<view class="index-right-name">
请购日期:
</view>
<view @click.stop="calendarShow=true">
<view class="index-right-input" style="width: 300rpx;height: 66rpx;"
:style="stateTarget?{}:{color:`#999`}">
{{stateTarget ? stateTarget : `请输入请购日期`}}
</view>
</view>
<u-calendar style="width: 40%;margin-left: 30%;" border-radius="40" v-model="calendarShow" mode="date"
@change="calendarchange"></u-calendar>
<view class="index-right-button-all">
<view 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="scroll-view">
<scroll-view scroll-y style="height: 93%;margin-top: 2%;" :show-scrollbar="false">
<view class="swiper-flex">
<view v-for="(item,index) in [1,1,1,1,1,1,1,1,1,1,1,1,1]" :key="index">
<view class="swiper-card">
<!-- 卡片内容 -->
<view class="swiper-card-top">
<view class="swiper-card-top-card">
<view class="swiper-card-top-card-weight">
<view class="weight-left">
<view class="">请购单号</view>
<view class="blue-number">A0120250301001</view>
</view>
<view class="index-right-button-blue" @click="opendetail">
详情
</view>
</view>
<!-- <view class="swiper-card-top-card-noral">
<view class="swiper-all-flex">
<view class="swiper-gray">
规格型号
</view>
<view class="swiper-black">
800mm*690mm
</view>
</view>
</view> -->
<view class="swiper-card-top-card-noral">
<view class="swiper-all-flex">
<view class="swiper-gray">
请购日期
</view>
<view class="swiper-black">
2025.03.01
</view>
</view>
<view class="swiper-all-flex" style="width: 40%;">
<view class="swiper-gray">
请购人
</view>
<view class="swiper-black">
王法
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</scroll-view>
</view>
</view>
</view>
</template>
<script setup lang="ts">
import { ref, onMounted, onBeforeUnmount, computed, nextTick, defineProps, defineEmits, watch } from 'vue';
const note = ref("");
const calendarShow = ref(false);
const stateTarget = ref("");
// 初始化左侧菜单列表
const buttonList = ref([
// { url: '/static/index/Warehousing/zuoce.png', name: '请购单' },
{ url: '/static/index/Warehousing/sousuo.png', name: '查询' },
{ url: '/static/index/Warehousing/chongzhi.png', name: '重置' },
]);
const emit = defineEmits(['opendetail'])
const calendarchange = (e : any) => {
stateTarget.value = e.result
}
const opendetail = () =>{
emit('opendetail')
}
</script>
<style lang="less" scoped>
// 抽屉的css
.draw-all {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
background: url("/static/index/clearmountain.png") center/cover, rgba(255, 255, 255, 0.4);
background-blend-mode: screen;
isolation: isolate;
border-top-left-radius: 80rpx;
border-bottom-left-radius: 80rpx;
overflow: hidden;
.draw-flex {
display: flex;
}
// position: relative;
.draw-title {
width: 100%;
height: 140rpx;
display: flex;
justify-content: space-between;
padding-top: 68rpx;
.draw-title-gun {
margin-left: 60rpx;
margin-right: 20rpx;
width: 13rpx;
height: 50rpx;
background: linear-gradient(to bottom, #04BCED, #0160CE);
border-radius: 10rpx;
}
.draw-title-font {
font-size: 40rpx;
font-weight: 700;
}
}
.draw-contain {
width: 100%;
height: calc(100vh);
}
}
.index-right-height {
height: 80rpx;
}
.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: 27rpx;
width: 240rpx;
border: 2rpx #a0adc8 solid;
padding: 15rpx 0 15rpx 20rpx;
background-color: rgb(234, 243, 254);
border-radius: 10rpx;
}
.index-right-button-all {
height: 100%;
margin-left: auto;
display: flex;
align-items: center;
.index-right-button {
height: 70rpx;
background: linear-gradient(to right bottom, #00c9ff, #0076ff);
color: #fff;
font-size: 30rpx;
display: flex;
align-items: center;
border-radius: 10rpx;
border: 1rpx solid #fff;
margin-right: 10rpx;
.index-right-button-img {
width: 45rpx;
height: 45rpx;
margin: 0 5rpx 0 10rpx;
}
.index-right-button-font {
margin-right: 20rpx;
}
}
}
}
.scroll-view {
margin-top: 20rpx;
height: 1300rpx;
width: calc(100% - 80rpx);
margin-left: 40rpx;
border-radius: 40rpx;
border: 2rpx solid #fff;
box-shadow: 4rpx 8rpx 16rpx 4rpx #839fcc;
overflow: hidden;
}
.swiper-flex {
display: flex;
flex-wrap: wrap;
margin-left: 0rpx;
.swiper-card {
margin: 0 0 30rpx 30rpx;
width: 900rpx;
height: 230rpx;
border: 2rpx solid #fff;
border-radius: 30rpx;
background: url("/static/index/blueMountain.png") center/cover, rgba(255, 255, 255, 0.5);
background-blend-mode: screen;
isolation: isolate;
box-shadow: 5rpx 5rpx 10rpx 0rpx #839fcc;
overflow: hidden;
padding: 0 40rpx;
.swiper-card-top {
width: 100%;
height: 270rpx;
display: flex;
.swiper-card-top-card {
// background-color: #fff;
width: 100%;
height: 100%;
.swiper-card-top-card-weight {
display: flex;
justify-content: space-between;
margin-top: 25rpx;
.weight-left {
// font-weight: 700;
// font-size: 35rpx;
.blue-number{
font-size: 32rpx;
font-weight: 700;
color: #017DE9;
margin-top: 10rpx;
}
}
.weight-right {
color: #FF6000;
font-weight: 500;
font-size: 30rpx;
}
}
.swiper-card-top-card-noral {
display: flex;
justify-content: space-between;
margin-top: 35rpx;
}
}
}
}
}
.index-right-button-blue {
height: 50rpx;
width: 100rpx;
background: linear-gradient(to right bottom, #00c9ff, #0076ff);
color: #fff;
// font-size: 30rpx;
display: flex;
align-items: center;
justify-content: center;
border-radius: 10rpx;
border: 1rpx solid #fff;
// margin-right: 10rpx;
}
.swiper-all-flex{
display: flex;
}
</style>