hldy_app_mini/pages/Warehouse/index/component/index.vue

1289 lines
26 KiB
Vue
Raw Normal View History

2025-12-26 15:15:35 +08:00
<template>
<view class="index-content-other" :style="transition?{opacity: `1`}:{opacity: `0`}">
<view class="right-container-title-nav">
<view class="title-card">
<view class="card-top">
<view class="card-top-left">
2026-01-08 15:17:24 +08:00
{{hldyobj.cklFinishedTotal}}
2025-12-26 15:15:35 +08:00
</view>
<view class="card-top-right">
<image class="right-img" src="/static/index/card/arrow.png" />
</view>
<view class="card-spec">
<view class="line">
</view>
<view class="line-gray">
2026-01-08 15:17:24 +08:00
{{hldyobj.cklTotal}}
2025-12-26 15:15:35 +08:00
</view>
</view>
</view>
<view class="card-bottom">
<image class="bottom-img" src="/static/index/card/warehouse.png" />
<view class="bottom-font">
库房
</view>
</view>
</view>
2025-12-26 15:35:05 +08:00
2026-01-07 17:14:33 +08:00
<view class="title-card-right" @click="jszlshow = true">
2026-01-05 14:14:36 +08:00
<view class="card-top">
<view class="card-top-left">
2026-01-08 15:17:24 +08:00
2026-01-05 14:14:36 +08:00
</view>
<view class="card-top-right">
<image class="right-img" src="/static/index/card/arrow.png" />
</view>
2025-12-26 15:15:35 +08:00
</view>
2026-01-05 14:14:36 +08:00
<view class="card-bottom">
<image class="bottom-img" src="/static/index/card/alarm.png" />
<view class="bottom-font">
即时
</view>
2025-12-26 15:15:35 +08:00
</view>
2026-01-07 17:14:33 +08:00
<view class="bianj" v-if="jszlshow">
<image src="/static/index/card/bj.png" mode="aspectFill"></image>
</view>
<view class="jszl guodu" @click.stop :class="jszlshow?'':'jsh0'" >
<view class="tittop">
<view></view>
即时服务指令
</view>
<view class="spiw">
<view v-for="(v,i) in ['库房']" :key="i" :class="i==0?'act':''">{{v}}</view>
</view>
<scroll-view class="scrol" scroll-y="true">
2026-01-08 15:17:24 +08:00
<view v-for="(v,i) in zlarr" :key='i' :class="i==fwzldex?'act':''" class="cdk" @click="zldex(i)">
<image :src="fwzldex!=i?v.netImmediateFile:v.netPreviewFileSmall" mode="aspectFill"></image>
<text>{{v.directiveName}}</text>
2026-01-07 17:14:33 +08:00
</view>
2026-01-08 15:17:24 +08:00
<view style="width: 13vw;height: 13vw;margin: 7vw 0 0 23.5vw;display: block;background: none;" v-if="zlarr.length==0">
2026-01-07 17:14:33 +08:00
<image src="/static/index/card/zw.png" mode="aspectFill" style="width:13vw;height: 13vw"></image>
<view style="width: 100%;text-align: center; font-weight: 400; font-size: 1.2vw;color: #555555;margin-top: -3vw;text-align: center;white-space: nowrap;">
暂无服务指令
</view>
</view>
</scroll-view>
<view class="submit" >
<view @click.stop="jszlshow = false">取消</view>
2026-01-15 16:07:55 +08:00
<view @click="subitshowing" v-if="fwzldex>0">确定</view>
2026-01-07 17:14:33 +08:00
</view>
</view>
2025-12-26 15:15:35 +08:00
</view>
2026-01-15 16:07:55 +08:00
<errorshow :show="error" :font="msg" @close="error=false" style="left: 44%;"/>
2026-01-07 17:14:33 +08:00
<view class="mengban" v-if="jszlshow" @click="jszlshow = false"></view>
2025-12-26 15:15:35 +08:00
</view>
2026-02-02 15:52:17 +08:00
<serveswipe ref="serves" style="margin-top: -2.5vw;"></serveswipe>
2025-12-26 15:15:35 +08:00
</view>
<view class="index-content-right" :style="transition?{opacity: `1`}:{opacity: `0`}">
2026-01-05 14:14:36 +08:00
<view class="right-time">
<view class="time-top">
<view class="time-big">
{{ currentTime }}
</view>
<view class="">
<view class="time-week">
{{ weekDay }}
</view>
<view class="">
{{ fullDate }}
</view>
</view>
</view>
<view class="right-container-tem">
<view class="">
<image class="right-container-tem-img" src="/static/index/newindex/wendu/0.png" />
<text
class="right-container-tem-text">{{ (uni.getStorageSync('NUall').humidDeviceList && uni.getStorageSync('NUall').humidDeviceList[0])? uni.getStorageSync('NUall').humidDeviceList[0].temperature: '-' }}°C</text>
</view>
<view class="">
<image class="right-container-tem-img" src="/static/index/newindex/wendu/1.png" />
<text
class="right-container-tem-text">{{ (uni.getStorageSync('NUall').humidDeviceList && uni.getStorageSync('NUall').humidDeviceList[0])? uni.getStorageSync('NUall').humidDeviceList[0].humidity: '-' }}%</text>
</view>
</view>
</view>
2025-12-26 15:15:35 +08:00
<view class="right-top">
<view class="top-title">
库房
</view>
<scroll-view class="top-list" scroll-y>
<view class="list-view" :style="menutarget===index?{borderColor:`#8DD6FF`,backgroundColor:`#F7F7F9`}:{}"
v-for="(item,index) in filteredMenu(2)" :key="index" @click="clickmenu(index)">
2026-01-12 17:20:37 +08:00
<!-- <image class="list-img"
:src="`/static/index/newindex/leftmenu/ware${item.elderInfo?.name?`blue`:`white`}.png`" /> -->
<image class="list-img"
:src="`/static/index/newindex/leftmenu/wareblue.png`" />
2025-12-26 15:15:35 +08:00
<view class="">
<view class="first-line">
<view style="font-size: 1.2vw;">
{{ item.nuName }}
</view>
2026-01-13 15:45:35 +08:00
<view class="first-line-second" :style="item.flag?'background:#47ADF5;color:#fff':''">
{{ item.flag?`盘点`:`正常` }}
2025-12-26 15:15:35 +08:00
</view>
</view>
<view class="second-line">
NUID{{ item.nuId }}
</view>
</view>
</view>
</scroll-view>
</view>
<view class="right-bottom">
<view class="bottom-title">
<image class="bottom-carmera" src="/static/index/newindex/leftmenu/carmera.png" @click="gotolook" />
</view>
2025-12-26 15:35:05 +08:00
<image class="big-older"
:src="`/static/index/newindex/leftmenu/${uni.getStorageSync('NUall').fzr?`warepeople`:`nopeople`}.png`" />
2025-12-26 15:15:35 +08:00
<view class="name-weight">
{{ uni.getStorageSync('NUall').fzr }}
</view>
<view class="message-view" v-if="uni.getStorageSync('NUall').fzrTel">
{{ uni.getStorageSync('NUall').fzrTel }}
</view>
</view>
</view>
2026-01-19 14:47:04 +08:00
<severcard ref="severcards"></severcard>
2025-12-26 15:15:35 +08:00
</template>
<script setup lang="ts">
2026-01-12 10:42:10 +08:00
import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch,reactive } from 'vue';
2025-12-26 15:15:35 +08:00
import { queryPadPageList } from '@/pages/watch/api/lunpan.js'
2026-01-08 15:17:24 +08:00
import { queryWorkOrderList,queryCountByType,queryAll } from '@/pages/NursingNew/component/api.js'
2026-02-02 15:52:17 +08:00
import serveswipe from '@/pages/NursingNew/component/leftcontent/serveswipe.vue';
2026-01-15 16:07:55 +08:00
import {queryOrderList,queryOrderInfoList,startOrder,endOrder,editSubPicPath,editSubMp4,queryEmpList,transferOrder,assistOrder,generateInstant} from '@/pages/NursingNew/component/doctorask/api/api.js'
2026-01-07 17:14:33 +08:00
const jszlshow = ref(false)
2025-12-26 15:15:35 +08:00
const props = defineProps({
isShow: {
type: Boolean,
required: true,
},
});
2026-02-02 15:52:17 +08:00
const serves = ref<InstanceType<typeof ChildComponent>>();
const inits = (e) =>{
serves.value.init(e);
}
2026-01-13 15:45:35 +08:00
const zdxzdex = ref(0)
const zdxzarr = ref(0)
const zhixing = (e)=>{
if(indexmessage.value?.izStart=='Y' && e ==1){
uni.showToast({
title:'服务中不能转单!',
icon:'none'
})
return
}
queryEmpList({id:uni.getStorageSync('userInfo').id}).then(res=>{
zdxzarr.value = res.result;
zdxzarr.value.forEach(item=>{
item.flag = false
})
zdxzdex.value = e;
})
}
const flag = ref(false)
const zdwu = (e,k)=>{
if(zdxzdex.value==1){
e.flag = !e.flag;
zdxzarr.value.forEach((item,i)=>{
if(i!=k){
item.flag = false
}
})
flag.value = e.flag
}
if(zdxzdex.value==2){
e.flag = !e.flag;
let arr = [];
zdxzarr.value.forEach((item,i)=>{
if(item.flag){
arr.push(1)
}
})
if(arr.length==0){
flag.value = false;
}else{
flag.value = true;
}
}
}
const zxzd = ref(0);
const zdcont = ref('');
2026-01-12 10:42:10 +08:00
const indexmessage = ref({});
2026-01-21 13:56:44 +08:00
const serverUrl = ref(uni.getStorageSync('imagebase') )
2026-01-12 10:42:10 +08:00
const servervideoUrl = ref(uni.getStorageSync('serverUrl') + '/sys/commonVideo/staticVideo/')
2026-01-21 13:56:44 +08:00
const serverpicUrl = ref(uni.getStorageSync('serverUrl') + '/sys/common/static/')
2026-01-12 10:42:10 +08:00
const form = reactive({
pageNo: 1,
pageSize: 10,
2026-02-03 15:13:24 +08:00
employeeId:uni.getStorageSync('userInfo').employeesId,
2026-01-21 17:26:30 +08:00
nuId:uni.getStorageSync('nuId'),
workType:5
2026-01-12 10:42:10 +08:00
})
const open = ref(0)
const donghuaopo = ref(false);
const topbuttontarget = ref(0);
const ilanarr = ref([]);
const listobj = ref({});
const videoContext = ref(null)
const pici = ref(0);
const openerror = ref(false);
const errmsg = ref('')
2026-01-19 14:47:04 +08:00
const severcards = ref<InstanceType<typeof ChildComponent>>()
2026-01-12 10:42:10 +08:00
2025-12-26 15:15:35 +08:00
const menutarget = ref(0)
2026-01-05 11:01:11 +08:00
const emit = defineEmits(['swip'])
2026-01-21 13:56:44 +08:00
const clickmenu = (index : number) => {
2025-12-26 15:15:35 +08:00
menutarget.value = index
2026-01-22 14:54:10 +08:00
let data = filteredMenu(2)[index];
console.log(data)
2025-12-26 15:15:35 +08:00
uni.setStorageSync('nuId', data.nuId);
uni.setStorageSync('nuName', data.nuName);
2026-01-13 15:45:35 +08:00
uni.setStorageSync('elderId', data?.elderInfo ? data.elderInfo?.id : null);
2025-12-26 15:15:35 +08:00
uni.setStorageSync('NUall', data);
2026-02-02 15:52:17 +08:00
inits(data.nuId)
2026-01-12 10:42:10 +08:00
emit('swip');
2026-01-08 15:17:24 +08:00
hlylhq(data.nuId )
zlfunc(data.nuId )
}
const hldyobj = ref({})
const hlylhq = (nuId)=>{
let data = {
nuId:nuId
}
queryCountByType(data).then(res=>{
2026-01-22 14:54:10 +08:00
console.log(res)
2026-01-08 15:17:24 +08:00
hldyobj.value = res.result
})
}
const fwzlindex = ref(0);
const fwzldex = ref(-1);
const zlarr = ref({});
const zlfunc = (nuId)=>{
let data = {
nuId:nuId,
2026-01-21 17:26:30 +08:00
// elderId:elderId
2026-01-08 15:17:24 +08:00
}
2026-02-03 15:13:24 +08:00
// queryAll(data).then(res=>{
// console.log(res)
// zlarr.value = res.result.invoicing;
// })
2026-01-08 15:17:24 +08:00
}
const zldex = (e) =>{
if(e>-1&&e==fwzldex.value){
fwzldex.value = -1
}else{
fwzldex.value = e
}
}
2026-01-15 16:07:55 +08:00
const error = ref(false)
const msg = ref('')
2026-01-08 15:17:24 +08:00
const subitshowing = () =>{
2026-01-15 16:07:55 +08:00
if(fwzldex.value<0){
return
}
let obj = {
id:zlarr.value[fwzldex.value].id,
triggerMode:1,
orderType:3
}
generateInstant(obj).then(res=>{
if(res.success){
jszlshow.value = false
}else{
error.value = true;
msg.value = res.message
}
})
2025-12-26 15:15:35 +08:00
}
const tagarray = ["市医保", "半失能", "正常计费"]
function calcAge(dateOfBirth : string) {
const birthYear = parseInt(dateOfBirth?.slice(0, 4), 10);
const currentYear = new Date().getFullYear();
return currentYear - birthYear;
}
const typeNow = ref(-1);
const photoplay = ref(false)
const downArray = ref()
const scrollTop = ref(0);
function onScroll(e) {
// e.detail.scrollTop 就是当前滚动距离
scrollTop.value = e.detail.scrollTop
}
// 通用的生成函数
function genPaths(base, prefix, count, ext = 'png', startIndex = 0, pad = false) {
return Array.from({ length: count }, (_, i) => {
const idx = pad
? String(i + startIndex).padStart(2, '0')
: i + startIndex
return `${base}/${prefix}${idx}.${ext}`
})
}
2026-02-02 15:52:17 +08:00
2025-12-26 15:15:35 +08:00
// 使用watch监听isShow变化
const transition = ref(false);
watch(
() => props.isShow,
(newVal, oldVal) => {
if (!oldVal && newVal) {
transition.value = false;
setTimeout(() => {
transition.value = true;
}, 50)
} else {
transition.value = false;
}
}
)
const name = ref("");
// 定义响应式数据现在时间
const currentTime = ref('');
const fullDate = ref('');
const weekDay = ref('');
let timerId = null;
// 更新时间、日期和星期的方法
const updateTime = () => {
const now = new Date();
// 获取当前时间的时分
const hours = now.getHours().toString().padStart(2, '0');
const minutes = now.getMinutes().toString().padStart(2, '0');
currentTime.value = `${hours}:${minutes}`;
// 获取星期几
const weekDays = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
const week = weekDays[now.getDay()];
weekDay.value = week;
// 获取完整的日期(年/月/日)
const year = now.getFullYear();
const month = (now.getMonth() + 1).toString().padStart(2, '0');
const day = now.getDate().toString().padStart(2, '0');
2026-01-05 14:14:36 +08:00
fullDate.value = `${year}.${month}.${day}`;
2025-12-26 15:15:35 +08:00
};
onMounted(() => {
name.value = uni.getStorageSync('realname')
typeNow.value = 0;
timerId = updateTime();
// 每秒更新一次时间
setInterval(updateTime, 1000);
photoplay.value = true;
getmenu()
2026-01-05 11:01:11 +08:00
transition.value = false;
setTimeout(() => {
transition.value = true;
}, 50)
2025-12-26 15:15:35 +08:00
})
2026-02-02 15:52:17 +08:00
const leftMenuArray = ref([])
2025-12-26 15:15:35 +08:00
const filteredMenu = (index : number) => {
return leftMenuArray.value.filter(item => Number(item.areaFlag) - 1 == index);
}
const getmenu = () => {
queryPadPageList().then((res => {
leftMenuArray.value = res.result.records;
2026-01-22 14:54:10 +08:00
let arr = filteredMenu(2);
arr.forEach((element : any, index : number) => {
2026-01-21 17:26:30 +08:00
if (element.nuId == uni.getStorageSync('NUall').nuId) {
2026-01-05 11:01:11 +08:00
menutarget.value = index;
clickmenu(index)
2025-12-26 15:15:35 +08:00
}
2026-01-13 15:45:35 +08:00
if(element.readList==null){
element.flag = false
2026-01-22 14:54:10 +08:00
}else if(element.readList.length>0){
2026-01-13 15:45:35 +08:00
element.readList.forEach(k=>{
if(k.type=='pdd'){
element.flag = true
}
})
}
2025-12-26 15:15:35 +08:00
})
}))
}
const lanjie = ref(false);
const gotolook = () => {
uni.navigateTo({
url: "/pages/watch/full"
})
}
</script>
<style scoped lang="less">
2026-01-12 10:42:10 +08:00
.mengban {
width: 100vw;
height: 100vh;
position: fixed;
top: 0;
left: 0;
z-index: 100;
background: RGBA(239, 240, 244, 0.55);
}
.photowall {
position: fixed;
top: 54%;
left: 50%;
transform: translate(-50%, -50%);
width: 80vw;
height: 83%;
border-radius: 30rpx;
background-color: #fff;
transition: all 0.3s;
z-index: 9990;
box-shadow: 0 0 10rpx rgba(0, 0, 0, 0.1);
padding: 0 90rpx;
.photowall-title {
margin-top: 50rpx;
display: flex;
justify-content: space-between;
width: 100%;
margin-bottom: 50rpx;
.photowall-name {
font-size: 38rpx;
// font-weight: 600;
}
.photowall-left {
color: #888888;
}
.photowall-right {
font-size: 30rpx;
font-weight: 600;
}
}
.photowall-other {
width: 76vw;
height: 62vh;
display: flex;
margin-top: 20rpx;
flex-wrap: wrap;
.photowall-other-one {
width: 22vw;
height: 430rpx;
margin-right: 3vw;
margin-bottom: 0%;
2026-02-02 15:52:17 +08:00
border-radius: 1.6vw;
2026-01-12 10:42:10 +08:00
display:flex;
position: relative;
video{
width: 100%;
height: 100%;
}
}
}
}
2025-12-26 15:15:35 +08:00
.index-content-right {
width: 19.5vw;
margin-left: 2vw;
height: 100%;
transition: opacity 1s ease;
2026-01-06 15:40:41 +08:00
margin-top: 25rpx;
2026-01-05 14:14:36 +08:00
.right-time{
width: 100%;
height: 15vh;
background-color: #fff;
2026-02-02 15:52:17 +08:00
border-radius: 1.6vw;
2026-01-05 14:14:36 +08:00
display: flex;
flex-direction: column;
justify-content: center;
padding-left: 30rpx;
.time-top{
display: flex;
align-items: center;
font-size: 1.1vw;
.time-big{
font-size: 3.5vw;
font-weight: 600;
margin-right: 10rpx;
}
.time-week{
font-weight: 600;
}
}
}
2025-12-26 15:15:35 +08:00
.right-top {
width: 100%;
2026-01-05 14:14:36 +08:00
height: 35vh;
2025-12-26 15:15:35 +08:00
background-color: #fff;
2026-02-02 15:52:17 +08:00
border-radius: 1.6vw;
2026-01-06 15:40:41 +08:00
margin-top: 25rpx;
2025-12-26 15:15:35 +08:00
.top-title {
2026-01-14 15:53:18 +08:00
width: 80%;
height: 6vh;
2025-12-26 15:15:35 +08:00
display: flex;
align-items: center;
margin-left: 2vw;
font-size: 1.4vw;
font-weight: 600;
2026-01-14 15:53:18 +08:00
border-bottom: 1px solid #F2F2F2;
2025-12-26 15:15:35 +08:00
}
.top-list {
width: 100%;
2026-01-05 14:14:36 +08:00
height: 26vh;
2026-01-14 15:53:18 +08:00
margin-top: 1vw;
2025-12-26 15:15:35 +08:00
.list-view {
width: 86%;
margin-left: 7%;
height: 8vh;
border: 2rpx solid transparent;
border-radius: 7vw;
margin-bottom: 0.6vh;
display: flex;
align-items: center;
.list-img {
width: 4vw;
height: 4vw;
margin-left: 0.5vw;
margin-right: 0.5vw;
}
.first-line {
display: flex;
.first-line-second {
background-color: #E5E5E5;
color: #555555;
width: 3.2vw;
height: 1.5vw;
display: flex;
justify-content: center;
align-items: center;
font-size: 0.9vw;
border-radius: 0.5vw;
margin-left: 0.5vw;
}
}
.second-line {
color: #999999;
margin-top: 0.2vw;
font-size: 1vw;
}
}
}
}
.right-bottom {
2026-01-06 15:40:41 +08:00
margin-top: 25rpx;
2025-12-26 15:15:35 +08:00
width: 100%;
height: 38vh;
background-color: #fff;
2026-02-02 15:52:17 +08:00
border-radius: 1.6vw;
2025-12-26 15:15:35 +08:00
padding-top: 1vh;
display: flex;
flex-direction: column;
align-items: center;
.bottom-title {
width: 100%;
padding: 0 8%;
display: flex;
justify-content: space-between;
.bottom-carmera {
margin-top: 0.5vw;
width: 3vw;
height: 3vw;
}
}
.big-older {
margin-top: 0.5vw;
width: 9vw;
height: 9vw;
2025-12-26 15:35:05 +08:00
2025-12-26 15:15:35 +08:00
border: 1rpx solid #DCDCDC;
border-radius: 50%;
}
}
}
.index-content-other {
2026-01-06 15:40:41 +08:00
margin-left: 1.9vw;
2025-12-26 15:15:35 +08:00
width: 65vw;
height: 100%;
transition: opacity 1s ease;
position: relative;
.abs-time {
position: absolute;
right: 20rpx;
top: 150rpx;
// width: 300rpx;
.big-time {
font-size: 90rpx;
font-weight: 600;
width: 100%;
justify-content: center;
// padding: 0 40rpx;
}
}
}
.right-container-title-nav {
display: flex;
height: 20vh;
position: relative;
font-size: 28rpx;
2026-01-06 15:40:41 +08:00
margin-top: 25rpx;
2026-02-02 15:52:17 +08:00
width: 105%;
left: -1vw;
2025-12-26 15:15:35 +08:00
}
.date {
display: flex;
justify-content: space-around;
margin-top: 0.8vw;
}
2025-12-26 15:35:05 +08:00
2025-12-26 15:15:35 +08:00
2026-01-05 14:14:36 +08:00
.title-card-right {
position: absolute;
right: 0;
top: 0;
width: 10vw;
height: 9.4vw;
2026-02-02 15:52:17 +08:00
border-radius: 1.6vw;
2026-01-05 14:14:36 +08:00
background-color: #E4EBF4;
padding: 1.6vw;
margin-right: 1.5vw;
border: 2rpx solid #D2DFF0;
2026-01-07 17:14:33 +08:00
z-index: 99;
2026-01-05 14:14:36 +08:00
}
2025-12-26 15:15:35 +08:00
.pao-father {
position: absolute;
top: 20rpx;
right: -110rpx;
font-size: 22rpx;
width: 100rpx;
height: 50rpx;
display: flex;
justify-content: center;
align-items: center;
color: #FFFFFF;
.pao-img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
}
.left-menu {
position: absolute;
top: 55%;
left: 100rpx;
transform: translateY(-50%);
2026-01-12 17:20:37 +08:00
z-index: 2;
2025-12-26 15:15:35 +08:00
}
.zoom {
transform: scale(1.2);
transform-origin: bottom left;
transition: transform 1s ease;
}
.left-ball {
width: 80rpx;
height: 80rpx;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
background-color: #fff;
.left-menu-img {
width: 40rpx;
height: 40rpx;
}
}
.right-menu {
position: absolute;
top: 60%;
right: 80rpx;
transform: translateY(-50%);
display: flex;
flex-direction: column;
align-items: center;
width: 140rpx;
.top-img {
width: 140rpx;
height: 110rpx;
padding: 0 50rpx;
}
.right-scroll {
width: 100%;
height: 480rpx;
}
.white-circle {
height: 170rpx;
border-radius: 60rpx;
background-color: #fff;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
text-align: center;
font-size: 25rpx;
width: 100rpx;
.right-menu-img {
width: 50rpx;
height: 50rpx;
}
.right-menu-name {
width: 50rpx;
}
}
}
.zhezhao-top {
position: absolute;
top: 105rpx;
left: 0%;
width: 120%;
height: 120rpx;
background: linear-gradient(to bottom,
rgba(239, 240, 244, 1) 0%,
/* #eff0f4 全不透明 */
rgba(239, 240, 244, 0) 100%
/* #eff0f4 完全透明 */
);
z-index: 4;
}
.zhezhao-bottom {
position: absolute;
bottom: 105rpx;
left: 0%;
width: 120%;
height: 120rpx;
background: linear-gradient(to top,
rgba(239, 240, 244, 1) 0%,
/* #eff0f4 全不透明 */
rgba(239, 240, 244, 0) 100%
/* #eff0f4 完全透明 */
);
z-index: 4;
}
.zhezhao-left {
position: absolute;
top: 0rpx;
left: 0%;
height: 100%;
width: 120rpx;
background: linear-gradient(to right,
rgba(239, 240, 244, 1) 0%,
/* #eff0f4 全不透明 */
rgba(239, 240, 244, 0) 100%
/* #eff0f4 完全透明 */
);
z-index: 4;
}
.zhezhao-right {
position: absolute;
top: 0rpx;
right: 0%;
height: 100%;
width: 120rpx;
background: linear-gradient(to left,
rgba(239, 240, 244, 1) 0%,
/* #eff0f4 全不透明 */
rgba(239, 240, 244, 0) 100%
/* #eff0f4 完全透明 */
);
z-index: 4;
}
.title-card {
width: 10vw;
height: 9vw;
border-radius: 2vw;
background-color: #FFFFFF;
padding: 1.6vw;
position: relative;
2026-01-06 15:40:41 +08:00
margin-right: 1vw;
2026-01-05 14:14:36 +08:00
margin-left: 1vw;
}
2025-12-26 15:15:35 +08:00
.card-bottom {
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 3vw;
display: flex;
.bottom-img {
width: 1.8vw;
height: 1.8vw;
margin-left: 1.8vw;
}
.bottom-font {
color: #555555;
font-size: 1.4vw;
margin-left: 0.5vw;
}
}
.card-top {
width: 100%;
display: flex;
justify-content: space-between;
position: relative;
.card-top-left {
font-size: 1.8vw;
font-weight: 600;
}
.card-top-right {
width: 2vw;
height: 2vw;
border-radius: 50%;
background-color: #F1F2F3;
display: flex;
justify-content: center;
align-items: center;
.right-img {
width: 0.8vw;
height: 0.8vw;
}
}
.card-spec {
position: absolute;
top: 1.1vw;
left: 1.6vw;
width: 1.5vw;
height: 2vw;
// background-color: #0076FF;
.line {
position: absolute;
inset: 0;
background: linear-gradient(to bottom right,
transparent calc(50% - 1px),
#d5d5d5 50%,
transparent calc(50% + 1px))
}
.line-gray {
position: absolute;
right: -1.1vw;
bottom: -0.6vw;
color: #888888;
font-size: 1.3vw;
}
}
}
.title-time {
position: absolute;
right: 0;
top: 0;
width: 15vw;
height: 9.5vw;
border-radius: 2vw;
background-color: #fff;
display: flex;
flex-direction: column;
align-items: center;
.time-title {
font-weight: 600;
font-size: 3vw;
margin-top: 1.5vw;
}
.time-date {
margin-top: 0.2vw;
font-size: 1.3vw;
color: #222222;
}
}
// .blue-button {
// margin-top: 0.5vw;
// width: 7vw;
// height: 2.5vw;
// background: linear-gradient(to bottom, #009DEF, #0076FF);
// display: flex;
// justify-content: center;
// align-items: center;
// border-radius: 40rpx;
// color: #fff;
// font-size: 28rpx;
// }
.name-weight {
font-size: 2vw;
font-weight: 600;
margin: 0.2vw 0;
}
.message-view {
display: flex;
.message-shu {
width: 3rpx;
height: 1.5vw;
background-color: #bcc1c7;
margin: 0 0.4vw;
margin-top: 0.1vw;
}
.message-img {
width: 1.5vw;
height: 1.5vw;
margin-top: 0.1vw;
}
}
.message-bottom {
margin-top: 0.5vh;
width: 100%;
height: 4vh;
display: flex;
justify-content: center;
.bottom-tags {
background-color: #E7F1FF;
color: #0084FA;
height: 100%;
display: flex;
align-items: center;
padding: 0 0.6vw;
border-radius: 0.8vw;
font-size: 1.2vw;
margin: 0 0.2vw;
}
}
.fixed-card {
position: fixed;
right: 2.4vw;
top: 5.8vh;
width: 35vw;
height: 28vh;
background-color: rgba(239, 246, 255, 0.95);
border-radius: 1.5vw;
border: 1rpx solid #638DFF;
box-shadow: 0 2rpx 6rpx #A0B9FF;
display: flex;
align-items: center;
transition: all 0.5s ease;
2025-12-30 16:38:01 +08:00
z-index: 555;
2025-12-26 15:15:35 +08:00
.fixed-card-left {
display: flex;
flex-direction: column;
align-items: center;
2026-01-12 10:42:10 +08:00
margin: 0 1.5vw;
2025-12-26 15:15:35 +08:00
.card-left-img {
width: 12vw;
height: 8vw;
}
}
.big-time {
font-weight: 600;
font-size: 2.8vw;
}
.icon-people {
display: flex;
margin: 0.3vw 0;
color: #555555;
.people-img {
width: 1.5vw;
height: 1.5vw;
margin-right: 0.3vw;
margin-top: 0.1vw;
}
}
.icon-button {
display: flex;
margin-top: 1vw;
font-size: 1.5vw;
2026-01-12 10:42:10 +08:00
width: 18.5vw;
justify-content: space-around;
2025-12-26 15:15:35 +08:00
.button-left {
width: 8.5vw;
height: 3.3vw;
background-color: #fff;
display: flex;
justify-content: center;
align-items: center;
border-radius: 1.2vw;
border: 1rpx solid #C7D2E4;
color: #333333;
}
.button-right {
width: 8.5vw;
height: 3.3vw;
background-color: #fff;
display: flex;
justify-content: center;
align-items: center;
border-radius: 1.2vw;
border: 1rpx solid #5AAEFF;
color: #249BFA;
background: linear-gradient(to bottom, #fff, #D1EAFF);
}
}
}
.left-open {
position: absolute;
left: -1.5vw;
top: 50%;
transform: translateY(-50%);
width: 3vw;
height: 5vw;
border: 1rpx solid #B8C4DA;
background-color: #F2F7FD;
z-index: 999;
border-radius: 3vw;
display: flex;
justify-content: center;
align-items: center;
transition: all 0.5s ease;
.open-img {
width: 3vw;
height: 3vw;
}
}
2026-01-05 14:14:36 +08:00
.right-container-tem {
display: flex;
justify-content: space-between;
align-items: center;
width: 80%;
.right-container-tem-text {
font-size: 30rpx;
}
.right-container-tem-img {
width: 38rpx;
height: 38rpx;
margin-right: 5rpx;
transform: translateY(6rpx)
}
}
.big-img-nomessage {
width: 500rpx;
height: 500rpx;
z-index: 10;
}
2026-01-07 17:14:33 +08:00
.guodu {
transition: .4s;
-webkit-transform-style: preserve-3d;
-webkit-overflow-scrolling: touch;
}
.jsh0{
height: 0vw !important;
padding: 0 2vw !important;
top: 9.4vw !important;
}
.jszl{
width: 64.5vw;
height: 44vw;
background: #FFFFFF;
box-shadow: 0rpx 0rpx 0.5vw 0rpx rgba(136,148,167,0.19);
border-radius: 2.2vw;
position: absolute;
top: 11vw;
right: 0;
z-index: 200;
padding: 2vw;
overflow: hidden;
.submit{
width: 100%;
height: 3.2vw;
margin-top: 0.4vw;
padding-right: 2vw;
display: flex;
justify-content: flex-end;
view{
display: flex;
justify-content: center;
align-items: center;
&:nth-child(1){
width: 7.1vw;
height: 3.2vw;
background: #F8F8F8;
border-radius: 1.6vw;
border: 1px solid #E5E5E5;
font-weight: 400;
font-size: 1.4vw;
color: #555555;
}
&:nth-child(2){
width: 7.1vw;
height: 3.2vw;
background: linear-gradient(0deg, #CAE0F9, #E9F4FF);
border-radius: 1.6vw;
border: 1px solid rgba(3,133,250,0.34);
font-weight: 400;
font-size: 1.4vw;
color: #1083F8;
margin-left: 0.7vw;
}
}
}
.scrol{
width: 110%;
height: 30vw;
display: flex;
flex-wrap: wrap;
.cdk{
width: 6.1vw;
height: 6.1vw;
background: #F8F8F8;
border-radius: 1.6vw;
margin: 1.5vw 1.5vw 0 0vw;
display: inline-block;
border: 1px solid #F8F8F8;
text-align: center;
image{
width: 2vw;
height: 2vw;
margin: 1.4vw auto 0vw;
}
text{
display: block;
text-align: center;
font-weight: 400;
font-size: 1.1vw;
color: #333333;
width: 100%;
}
}
.act{
background: #F2F8FF;
border: 1px solid rgba(1,125,233,0.43);
text{
color: #017DE9;
}
}
}
.spiw{
width: 14vw;
height: 2vw;
display: flex;
margin-top: 2.5vw;
padding-left: 1.5vw;
view{
font-weight: 400;
font-size: 1.3vw;
color: #555555;
position: relative;
line-height: 1.5vw;
}
.act{
color: #222222 !important;
font-weight: 500;
}
.act::after{
width: 50%;
height: 0.2vw;
background: #0089FE;
border-radius: 0.1vw;
content: '';
position: absolute;
bottom: 0;
left: 25%;
}
}
.tittop{
height: 2vw;
font-weight: 400;
font-size: 1.4vw;
color: #333333;
display: flex;
align-items: center;
view{
width: 0.4vw;
height: 1.2vw;
background: #017DE9;
border-radius: 0.2vw;
margin-right: 0.8vw;
}
}
}
.bianj{
position: absolute;
width: 2.2vw;
height: 1.1vw;
top: 9.68vw;
right: 2.5vw;
z-index: 220;
image{
width: 100%;
height: 100%;
}
}
.mengban {
width: 100vw;
height: 100vh;
position: fixed;
top: 0;
left: 0;
z-index: 10;
background: RGBA(239, 240, 244, 0.55);
}
2025-12-26 15:15:35 +08:00
</style>