605 lines
15 KiB
Vue
605 lines
15 KiB
Vue
<template>
|
||
<view :class="darkFans?`darkbackgroundContainer`:`backgroundContainer`">
|
||
<view class="index-title">
|
||
<view class="index-title-left">
|
||
<image class="index-title-left-img" src="/static/index/customer.png" />
|
||
<view class="index-title-left-font">
|
||
王金福
|
||
</view>
|
||
<view class="index-title-left-wel">
|
||
欢迎
|
||
</view>
|
||
<view class="index-title-left-weight">
|
||
张春凤
|
||
</view>
|
||
<view class="">
|
||
登录护理单元操作台
|
||
</view>
|
||
</view>
|
||
<view class="index-title-right">
|
||
<view class="index-title-right-circle">
|
||
<image class="index-title-right-circle-img" src="/static/index/Warehousing/house.png" />
|
||
</view>
|
||
<view class="index-title-right-font">
|
||
生活用品库
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="index-content">
|
||
<view class="index-content-leftMenus">
|
||
<view v-for="(item,index) in iconList" :key="index" class="blue-circle-pos">
|
||
<view class="blue-circle" v-show="index === menuIndex">
|
||
<image class="blue-circle-size" :src="`/static/index/ray.png`" />
|
||
</view>
|
||
<view class="red-pao" v-if="item.pao" @click="changeMenu(index)">
|
||
{{ item.pao > 99 ? `99+` : item.pao}}
|
||
</view>
|
||
<image class="left-img" :src="index === menuIndex ? item.targetUrl : item.url"
|
||
@click="changeMenu(index)" />
|
||
<view :class="index === menuIndex ? `left-img-font-target` :`left-img-font`"
|
||
@click="changeMenu(index)">
|
||
{{item.name}}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="index-content-other">
|
||
<view class="index-content-right">
|
||
<!-- 解决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>
|
||
<input class="index-right-input" placeholder="请输入货品拼音" />
|
||
<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">
|
||
<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-left">
|
||
<view class="swiper-card-left-white">
|
||
<image class="swiper-card-left-white-img"
|
||
:src="`/static/index/project3.png`" @click="opendetail" />
|
||
</view>
|
||
<view class="swiper-left-buttons">
|
||
<view class="swiper-left-button-blue">
|
||
请购
|
||
</view>
|
||
<view class="swiper-left-button">
|
||
出入库
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="swiper-card-right">
|
||
<view class="swiper-right-title">
|
||
<view class="swiper-title-font">纸尿裤-拉拉裤</view>
|
||
<view class="swiper-title-mark">ZHYP044</view>
|
||
</view>
|
||
<view class="swiper-heng"></view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</scroll-view>
|
||
</view>
|
||
</view>
|
||
<view class="index-content-down">
|
||
长春市朝阳区久泰开运养老服务有限公司
|
||
</view>
|
||
</view>
|
||
|
||
</view>
|
||
<!-- 表格详情的的弹出层 -->
|
||
<view v-show="detailisopen" 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">
|
||
|
||
</view>
|
||
</view>
|
||
<view class="popup-detail-right">
|
||
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script setup lang="ts">
|
||
import { ref, onMounted, onBeforeUnmount, computed, nextTick } from 'vue';
|
||
import type { Link, buttonLink } from "./index";
|
||
import { onLoad } from '@dcloudio/uni-app';
|
||
// 暗黑模式
|
||
const darkFans = ref(false);
|
||
const menuIndex = ref(0);
|
||
// 删除表格弹窗
|
||
const detailisopen = ref(false);
|
||
const detailisopacity = ref(false)
|
||
// 初始化左侧菜单列表
|
||
const iconList = ref<Link[]>([
|
||
{ url: '/static/index/lefticon/index.png', targetUrl: '/static/index/lefticontarget/blueindex.png', name: '首页', pao: 0 },
|
||
{ url: '/static/index/Warehousing/dingdan.png', targetUrl: '/static/index/Warehousing/dingdanblue.png', name: '订单', pao: 0 },
|
||
{ url: '/static/index/Warehousing/yujing.png', targetUrl: '/static/index/Warehousing/yujingblue.png', name: '预警', pao: 200 },
|
||
{ url: '/static/index/Warehousing/chuku.png', targetUrl: '/static/index/Warehousing/chukublue.png', name: '出库', pao: 5 },
|
||
{ url: '/static/index/Warehousing/pandian.png', targetUrl: '/static/index/Warehousing/pandianblue.png', name: '盘点', pao: 0 },
|
||
{ url: '/static/index/Warehousing/jiankong.png', targetUrl: '/static/index/Warehousing/jiankongblue.png', name: '监控', pao: 0 },
|
||
{ url: '/static/index/lefticon/back.png', targetUrl: '/static/index/lefticontarget/blueback.png', name: '返回', pao: 0 }
|
||
]);
|
||
// 初始化左侧菜单列表
|
||
const buttonList = ref<buttonLink[]>([
|
||
{ url: '/static/index/Warehousing/zuoce.png', name: '请购单' },
|
||
{ url: '/static/index/Warehousing/sousuo.png', name: '查询' },
|
||
{ url: '/static/index/Warehousing/chongzhi.png', name: '重置' },
|
||
|
||
]);
|
||
const opendetail = () => {
|
||
detailisopen.value = true;
|
||
detailisopacity.value = false;
|
||
setTimeout(() => {
|
||
detailisopacity.value = true
|
||
}, 200)
|
||
}
|
||
// 变更菜单
|
||
const changeMenu = (index : number) => {
|
||
if (index === 6) {
|
||
uni.navigateBack()
|
||
return
|
||
}
|
||
menuIndex.value = index;
|
||
setTimeout(() => {
|
||
switch (index) {
|
||
case 0:
|
||
|
||
break;
|
||
case 1:
|
||
|
||
break;
|
||
default:
|
||
}
|
||
}, 50)
|
||
};
|
||
// 生命周期钩子
|
||
onLoad(() => {
|
||
});
|
||
</script>
|
||
|
||
<style scoped lang="less">
|
||
.backgroundContainer {
|
||
display: flex;
|
||
flex-direction: column;
|
||
position: relative;
|
||
width: 100%;
|
||
height: 100vh;
|
||
background-image: url('/static/index/lightbgcnew.png');
|
||
background-size: cover;
|
||
background-position: center center;
|
||
overflow: hidden;
|
||
}
|
||
|
||
//暗黑模式
|
||
.darkbackgroundContainer {
|
||
display: flex;
|
||
flex-direction: column;
|
||
position: relative;
|
||
width: 100%;
|
||
height: 100vh;
|
||
background-image: url('/static/index/background.png');
|
||
background-size: cover;
|
||
background-position: center center;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.index-title {
|
||
display: flex;
|
||
width: calc(100% - 110rpx);
|
||
height: 130rpx;
|
||
justify-content: space-between;
|
||
// background-color: #fff;
|
||
margin: 20rpx 50rpx 0 60rpx;
|
||
|
||
.index-title-left {
|
||
display: flex;
|
||
height: 100%;
|
||
align-items: center;
|
||
margin-top: 20rpx;
|
||
|
||
.index-title-left-img {
|
||
width: 75rpx;
|
||
height: 75rpx;
|
||
|
||
}
|
||
|
||
.index-title-left-font {
|
||
margin-left: 20rpx;
|
||
}
|
||
|
||
.index-title-left-wel {
|
||
margin-left: 40rpx;
|
||
}
|
||
|
||
.index-title-left-weight {
|
||
font-weight: 700;
|
||
margin: 0 10rpx;
|
||
}
|
||
}
|
||
|
||
.index-title-right {
|
||
display: flex;
|
||
height: 100%;
|
||
align-items: center;
|
||
margin-top: 20rpx;
|
||
|
||
.index-title-right-circle {
|
||
// margin-top: 20rpx;
|
||
width: 60rpx;
|
||
height: 60rpx;
|
||
border-radius: 50%;
|
||
background-color: rgb(205, 224, 248);
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
|
||
.index-title-right-circle-img {
|
||
width: 35rpx;
|
||
height: 35rpx;
|
||
}
|
||
}
|
||
|
||
.index-title-right-font {
|
||
// margin-top: 20rpx;
|
||
margin-left: 20rpx;
|
||
font-weight: 700;
|
||
}
|
||
}
|
||
}
|
||
|
||
.index-content {
|
||
width: 100%;
|
||
height: calc(100vh - 150rpx);
|
||
display: flex;
|
||
|
||
.index-content-leftMenus {
|
||
height: 100%;
|
||
width: 180rpx;
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
flex-direction: column;
|
||
|
||
.left-img {
|
||
width: 93rpx;
|
||
height: 93rpx;
|
||
// margin: 50rpx 0;
|
||
z-index: 100;
|
||
}
|
||
|
||
.left-img-font {
|
||
margin-top: 10rpx;
|
||
color: #fff;
|
||
}
|
||
|
||
.left-img-font-target {
|
||
margin-top: 10rpx;
|
||
color: #0174D3;
|
||
}
|
||
|
||
.blue-circle-pos {
|
||
position: relative;
|
||
display: flex;
|
||
flex-direction: column;
|
||
justify-content: center;
|
||
align-items: center;
|
||
height: 200rpx;
|
||
|
||
.blue-circle {
|
||
position: absolute;
|
||
top: -50rpx;
|
||
left: -68rpx;
|
||
|
||
.blue-circle-size {
|
||
width: 170rpx;
|
||
height: 250rpx;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.red-pao {
|
||
position: absolute;
|
||
top: 30rpx;
|
||
// right: 0;
|
||
left: 60rpx;
|
||
padding: 3rpx 10rpx;
|
||
background-color: #FF4C4E;
|
||
color: #fff;
|
||
font-size: 20rpx;
|
||
border-radius: 20rpx;
|
||
z-index: 101;
|
||
}
|
||
|
||
.index-content-other {
|
||
width: 100%;
|
||
height: 100%;
|
||
// background-color: #FF4C4E;
|
||
}
|
||
|
||
.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: 27rpx;
|
||
width: 260rpx;
|
||
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 {
|
||
// width: 160rpx;
|
||
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: 20rpx;
|
||
|
||
.index-right-button-img {
|
||
width: 45rpx;
|
||
height: 45rpx;
|
||
margin: 0 5rpx 0 10rpx;
|
||
}
|
||
|
||
.index-right-button-font {
|
||
margin-right: 20rpx;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.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;
|
||
border: 2rpx solid #fff;
|
||
border-radius: 30rpx;
|
||
/* 设置背景图和白色背景 */
|
||
background: url("/static/index/clearmountain.png") center/cover, rgba(255, 255, 255, 0.5);
|
||
/* 使用 screen 混合模式,让图像与白色混合变淡 */
|
||
background-blend-mode: screen;
|
||
isolation: isolate;
|
||
box-shadow: 2rpx 2rpx 4rpx 0rpx rgba(0, 0, 0, 0.3);
|
||
display: flex;
|
||
|
||
.swiper-card-left {
|
||
height: 100%;
|
||
width: 400rpx;
|
||
|
||
.swiper-card-left-white {
|
||
margin: 40rpx 0 35rpx 40rpx;
|
||
width: 350rpx;
|
||
height: 350rpx;
|
||
// background-color: #fff;
|
||
background-color: rgba(255, 255, 255, 0.3);
|
||
display: flex;
|
||
border-radius: 30rpx;
|
||
justify-content: center;
|
||
align-items: center;
|
||
|
||
.swiper-card-left-white-img {
|
||
width: 300rpx;
|
||
height: 300rpx;
|
||
}
|
||
}
|
||
|
||
.swiper-left-buttons {
|
||
display: flex;
|
||
|
||
.swiper-left-button {
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
width: 165rpx;
|
||
height: 70rpx;
|
||
border-radius: 40rpx;
|
||
background: linear-gradient(to bottom, #D5E0F8, #ECF6FF);
|
||
border: 1rpx #fff solid;
|
||
}
|
||
|
||
.swiper-left-button-blue {
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
width: 165rpx;
|
||
height: 70rpx;
|
||
border-radius: 40rpx;
|
||
background: linear-gradient(to right bottom, #00c9ff, #0076ff);
|
||
color: #fff;
|
||
border: 1rpx #fff solid;
|
||
margin-right: 20rpx;
|
||
margin-left: 40rpx;
|
||
}
|
||
}
|
||
}
|
||
|
||
.swiper-card-right {
|
||
height: 100%;
|
||
width: 560rpx;
|
||
margin-left: 40rpx;
|
||
|
||
.swiper-right-title {
|
||
margin-top: 35rpx;
|
||
display: flex;
|
||
justify-content: space-between;
|
||
|
||
.swiper-title-font {
|
||
font-weight: 700;
|
||
font-size: 40rpx;
|
||
}
|
||
|
||
.swiper-title-mark {
|
||
background-color: rgb(214, 212, 245);
|
||
color: #19233B;
|
||
padding: 5rpx 25rpx;
|
||
font-size: 30rpx;
|
||
border-radius: 25rpx;
|
||
margin-right: 20rpx;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.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;
|
||
background-color: #fff;
|
||
}
|
||
}
|
||
|
||
.popup-detail-right {
|
||
height: 100%;
|
||
width: 55%;
|
||
// background-color: #0076ff;
|
||
}
|
||
}
|
||
}
|
||
</style> |