hldy_app_mini/pages/NursingNew/component/index.vue

2393 lines
58 KiB
Vue
Raw Normal View History

2025-11-05 15:59:48 +08:00
<template>
<view class="index-content-other" :style="transition?{opacity: `1`}:{opacity: `0`}">
<view class="right-container-title-nav">
2026-01-06 08:53:57 +08:00
<view class="title-card" @click="nusing">
2025-12-25 17:30:31 +08:00
<view class="card-top">
<view class="card-top-left">
2026-01-08 15:17:24 +08:00
{{hldyobj?.hllFinishedTotal}}
2025-12-25 17:30:31 +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?.hllTotal}}
2025-12-25 17:30:31 +08:00
</view>
</view>
</view>
<view class="card-bottom">
<image class="bottom-img" src="/static/index/card/help.png" />
<view class="bottom-font">
护理
</view>
</view>
</view>
2026-01-19 15:37:36 +08:00
<view class="title-card"
@click="uni.navigateTo({
url:'/pages/NursingNew/component/doctorask/medical/medical'
})">
2025-12-25 17:30:31 +08:00
<view class="card-top">
<view class="card-top-left">
2026-01-08 15:17:24 +08:00
0
2025-12-25 17:30:31 +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
0
2025-12-25 17:30:31 +08:00
</view>
</view>
2025-12-26 10:03:50 +08:00
2025-12-25 17:30:31 +08:00
</view>
<view class="card-bottom">
<image class="bottom-img" src="/static/index/card/doctor.png" />
<view class="bottom-font">
医疗
</view>
</view>
</view>
2026-01-19 15:37:36 +08:00
<view class="title-card"
@click="uni.navigateTo({
url:'/pages/NursingNew/component/doctorask/medical/medical'
})">
2026-01-06 08:53:57 +08:00
<view class="card-top" >
2025-12-25 17:30:31 +08:00
<view class="card-top-left">
2026-01-20 15:35:05 +08:00
{{hldyobj?.hqlFinishedTotal}}
2025-12-25 17:30:31 +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-20 15:35:05 +08:00
{{hldyobj?.hqlTotal}}
2025-12-25 17:30:31 +08:00
</view>
</view>
2025-12-26 10:03:50 +08:00
2025-12-25 17:30:31 +08:00
</view>
<view class="card-bottom">
<image class="bottom-img" src="/static/index/card/work.png" />
<view class="bottom-font">
2026-01-06 11:06:16 +08:00
后勤
2025-12-25 17:30:31 +08:00
</view>
</view>
</view>
2026-01-06 16:37:04 +08:00
<view class="title-card-right" @click="jszlshow = true">
2026-01-05 09:29:35 +08:00
<view class="card-top">
<view class="card-top-left">
2026-01-08 15:17:24 +08:00
2026-01-05 09:29:35 +08:00
</view>
<view class="card-top-right">
<image class="right-img" src="/static/index/card/arrow.png" />
</view>
</view>
<view class="card-bottom">
2026-01-05 14:14:36 +08:00
<image class="bottom-img" src="/static/index/card/alarm.png" />
2026-01-05 09:29:35 +08:00
<view class="bottom-font">
2026-01-05 14:14:36 +08:00
即时
2026-01-05 09:29:35 +08:00
</view>
</view>
2026-01-06 16:37:04 +08:00
<view class="bianj" v-if="jszlshow">
<image src="/static/index/card/bj.png" mode="aspectFill"></image>
</view>
<view class="jszl guodu" :class="jszlshow?'':'jsh0'" @click.stop>
<view class="tittop">
<view></view>
即时服务指令
</view>
<view class="spiw">
2026-01-08 15:17:24 +08:00
<view v-for="(v,i) in ['护理','医疗','后勤']" :key="i" :class="i==fwzlindex?'act':''" @click="shtab(i)">{{v}}</view>
2026-01-06 16:37:04 +08:00
</view>
<scroll-view class="scrol" scroll-y="true">
2026-01-08 15:17:24 +08:00
<view v-for="(v,i) in fwzlarr" :key='i' :class="i==fwzldex?'act':''" class="cdk" @click="zldex(i)">
<image :src="fwzldex!=i?v.netImmediateFile:v.netPreviewFileSmall" mode="aspectFill"></image>
2026-01-12 17:20:37 +08:00
<text style="white-space: nowrap;width: 100%;text-overflow: ellipsis;overflow: hidden;">{{v.directiveName}}</text>
2026-01-06 16:37:04 +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="fwzlarr.length==0">
2026-01-06 16:37:04 +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-06 16:37:04 +08:00
</view>
</view>
2026-01-05 09:29:35 +08:00
</view>
2025-11-05 15:59:48 +08:00
</view>
2026-01-09 16:25:02 +08:00
<view class="mengban" v-if="jszlshow" @click="jszlshow = false" ></view>
2025-11-05 15:59:48 +08:00
<view class="photo-father">
2026-01-05 14:14:36 +08:00
<view class="juzhong" style="margin-left: -30rpx;" :style="indexmessage?.startTime?{}:{filter: `grayscale(60%)`}">
2025-11-05 15:59:48 +08:00
<donghua :width="`1300rpx`" :height="`900rpx`" :links="blueArray" :playing="photoplay" :loop="true"
:interval="120" />
</view>
2026-01-05 14:14:36 +08:00
2025-11-05 15:59:48 +08:00
<view class="weight-time">
2025-12-30 08:40:09 +08:00
<view class="" v-if="indexmessage?.startTime">
{{ indexmessage?.startTime.slice(11, 16) }}
-
{{ indexmessage?.endTime.slice(11, 16) }}
</view>
2026-01-05 14:14:36 +08:00
<view style="height: 5vw;" v-show="!indexmessage?.startTime">
2025-12-30 08:40:09 +08:00
</view>
2026-01-05 09:29:35 +08:00
2025-12-30 08:40:09 +08:00
<view class="pao-father" v-show="indexmessage?.startTime">
2025-11-05 15:59:48 +08:00
<image class="pao-img" :src="`/static/index/newindex/states/pao.png`" />
2026-01-15 16:07:55 +08:00
<view style="z-index: 1;" v-if="topbuttontarget==0">
2026-01-09 16:25:02 +08:00
{{indexmessage?.izStart=='N'?'待执行':'执行中'}}
2025-11-05 15:59:48 +08:00
</view>
</view>
</view>
2026-01-09 16:25:02 +08:00
<tanchuang :show="open==3" font="是否结束服务指令?" @back="open = 0" @right="ends()"> </tanchuang>
2026-01-06 16:37:04 +08:00
<image class="big-img" v-if="topbuttontarget==0" :style="!indexmessage?.previewFile?'width: 450rpx':''"
2026-01-21 13:56:44 +08:00
:src="indexmessage?.previewFile? serverUrl + indexmessage?.previewFile: `/static/index/newindex/wendu/2.png`" mode="aspectFill"/>
2026-01-14 17:28:03 +08:00
<view style="display: flex;align-items: center; ">
2025-12-30 08:40:09 +08:00
<view class="server-name" v-if="indexmessage?.startTime">
2026-01-14 17:28:03 +08:00
{{ indexmessage?.directiveName }}
</view>
2026-01-15 16:07:55 +08:00
<view style="width: 6.5vw;height: 2vw;margin-left: 1vw;position: relative;" v-if="indexmessage?.categoryName">
2026-01-14 17:28:03 +08:00
<image src="/static/index/newindex/wendu/bgc.png" mode="aspectFill" style="width: 100%;height: 100%;position: relative;z-index: 0;margin-top: 0.9vw;"></image>
2026-01-15 16:07:55 +08:00
<view class="bgc-font" v-if="topbuttontarget==0" style="top: 0;left: 0;padding-left:0.65vw;width: 100%;height: 100%;z-index: 2;position: absolute;line-height:3.7vw;font-size: 1.1vw;">
2026-01-20 15:35:05 +08:00
{{indexmessage?.categoryName}}
2026-01-15 16:07:55 +08:00
</view>
2025-11-05 15:59:48 +08:00
</view>
</view>
2026-01-09 16:25:02 +08:00
<view style="display: flex;margin-top: 40rpx;" v-if="indexmessage?.startTime">
2025-12-25 17:30:31 +08:00
<view style="width: 240rpx;height: 90rpx;margin-right: 40rpx;">
2026-01-06 13:25:45 +08:00
<view :class="indexmessage?.izStart=='N'?'start-button':'end-button'" v-show="indexmessage?.startTime" @click="start(indexmessage)">
2025-11-05 15:59:48 +08:00
开始服务
</view>
</view>
2025-12-25 17:30:31 +08:00
<view style="width: 240rpx;height: 90rpx;">
2026-01-09 16:25:02 +08:00
<view :class="(indexmessage?.izStart=='Y'&& indexmessage?.izFinish=='N')?'start-button':'end-button'" @click="end(indexmessage)">
2025-11-05 15:59:48 +08:00
结束服务
</view>
</view>
</view>
2026-01-13 15:45:35 +08:00
<view class="mengban" v-if="zdxzdex>0" @click="zdxzdex=0"></view>
<view class="photowall" v-show="zdxzdex>0" :style="zdxzdex?{opacity:1}:{opacity:0}">
<view class="photowall-title">
<view class="photowall-name">
{{ zdxzdex==1?`转单执行`:`协助执行` }}
</view>
</view>
<scroll-view scroll-y="true" class="photowall-other" scroll-with-animation enable-flex v-if="zdxzdex>0">
<view class="photowall-other" >
<view class="bottom-title" v-for="(v,i) in zdxzarr" :key='i' @click="zdwu(v,i)"
style="border: 1px solid #f8f8f8;width: 16vw;margin: 0 0.8vw;;height: 17vw;border-radius: 1.1vw;background: #f8f8f8;display: flex;flex-direction: column;align-items: center;"
:style="v.flag?'border: 1px solid #0385FA;background: #fff !important;':''">
<image style="width: 9vw;height: 9vw;border-radius: 50%;margin: 1vw auto;"
:src="v.headPath?serverUrl+v.headPath:'/static/shouye/xd.png'" />
<view class="name-weight">
{{v.name }}
</view>
<view class="message-view" v-if="uni.getStorageSync('NUall').elderInfo?.name">
{{v.sex}}
<view class="message-shu"></view>
<view style="font-weight: 600;">
{{ v.height}}cm
</view>
<view class="message-shu"></view>
{{ v.weight}}Kg
</view>
</view>
</view>
</scroll-view>
<view style="position: absolute;right: 2vw;bottom: 0.8vw;height: 4vw;" >
<view
v-if="flag"
style="width: 8.2vw;
height: 3.3vw;
background: #EDEDEF;
border-radius: 1.6vw;
font-weight: 400;
font-size: 1.6vw;
color: #888888;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid #EDEDEF;
background: linear-gradient(0deg, #CAE0F9, #E9F4FF);
border: 1px solid rgba(3,133,250,0.34);
color: #0385FA;" @click="zhixingsub" >确定</view>
<view
v-if="!flag"
style="width: 8.2vw;
height: 3.3vw;
background: #EDEDEF;
border-radius: 1.6vw;
font-weight: 400;
font-size: 1.6vw;
color: #888888;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid #EDEDEF;
border: 1px solid rgba(3,133,250,0.34);
color: #999;" >确定</view>
</view>
<tanchuang :show="zxzd>0" :font="zdcont" @back="zxzd = 0" @right="tijiaozx()"> </tanchuang>
</view>
2025-11-05 15:59:48 +08:00
</view>
2026-01-06 13:23:24 +08:00
<view class="left-menu" v-show="indexmessage?.startTime">
<view style="margin: 30rpx 0;" @click="errmsgclk(0,1)">
<view class="left-ball" :style="indexmessage?.serviceContent!=''?'background-color: #fff;':'background-color:RGBA(228, 229, 231, 1);'">
<image class="left-menu-img" :src="'/static/index/newindex/leftmenu/left'+0+'.png'" />
2026-01-06 08:53:57 +08:00
</view>
</view>
2026-01-06 13:23:24 +08:00
<view style="margin: 30rpx 0;" @click="errmsgclk(1,1)">
<view class="left-ball" :style="indexmessage?.mp3File!=''?'background-color: #fff;':'background-color:RGBA(228, 229, 231, 1);'">
<image class="left-menu-img" :src="'/static/index/newindex/leftmenu/left'+1+'.png'" />
</view>
</view>
<view style="margin: 30rpx 0;" @click="errmsgclk(2,1)">
<view class="left-ball" :style="indexmessage?.mp4File!=''?'background-color: #fff;':'background-color:RGBA(228, 229, 231, 1);'">
<image class="left-menu-img" :src="'/static/index/newindex/leftmenu/left'+2+'.png'" />
</view>
</view>
<view v-for="(item,index) in [3,4]" :key="index" style="margin: 30rpx 0;" @click="errmsgclk(item,2)">
<view class="left-ball" :style="indexmessage?.izStart=='Y'?'background-color: #fff;':'background-color:RGBA(228, 229, 231, 1);'">
2026-01-06 08:53:57 +08:00
<image class="left-menu-img" :src="'/static/index/newindex/leftmenu/left'+item+'.png'" />
2025-11-05 15:59:48 +08:00
</view>
</view>
</view>
2026-01-13 15:45:35 +08:00
<view class="right-menu" v-show="indexmessage?.startTime" v-if="indexmessage?.optType==1">
2025-11-05 15:59:48 +08:00
<view class="zhezhao-top" @click="scrollTop -= 115"></view>
<view class="zhezhao-bottom" @click="scrollTop += 115"></view>
<image class="top-img" :src="`/static/index/newindex/rightmenu/top.png`"
@click="scrollTop>0? scrollTop -= 115:scrollTop=0" />
<scroll-view scroll-y="true" class="right-scroll" :scroll-top="scrollTop" @scroll="onScroll">
2026-01-13 15:45:35 +08:00
<view style="height: 20rpx;"> </view>
<view style="margin: 20rpx 0;width: 110rpx;margin-left: 20rpx;" @click="zhixing(1)">
<view class="white-circle" :style="indexmessage?.izStart=='Y'?'background-color:RGBA(228, 229, 231, 1)' : ''">
<image class="right-menu-img" :src="'/static/index/newindex/rightmenu/1.png'" />
<view class="right-menu-name">
转单执行
</view>
</view>
2025-11-05 15:59:48 +08:00
</view>
2026-01-13 15:45:35 +08:00
<view style="margin: 20rpx 0;width: 110rpx;margin-left: 20rpx;" @click="zhixing(2)">
2025-12-25 17:30:31 +08:00
<view class="white-circle">
2026-01-13 15:45:35 +08:00
<image class="right-menu-img" :src="'/static/index/newindex/rightmenu/2.png'" />
2025-11-05 15:59:48 +08:00
<view class="right-menu-name">
2026-01-13 15:45:35 +08:00
协助执行
2025-11-05 15:59:48 +08:00
</view>
</view>
</view>
<view style="height: 30rpx;">
</view>
</scroll-view>
<image class="top-img" :src="`/static/index/newindex/rightmenu/bottom.png`"
@click="scrollTop > (55* rightMenu.length) ? scrollTop = (55* rightMenu.length) : scrollTop += 115 " />
</view>
</view>
2026-01-06 13:23:24 +08:00
<errorshow :show="openerror" :font="errmsg" @close="openerror=false" :icons="false" style="left: 44%;"/>
2026-01-15 16:07:55 +08:00
<errorshow :show="error" :font="msg" @close="error=false" style="left: 44%;"/>
2025-12-25 17:30:31 +08:00
<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>
2026-01-06 16:37:04 +08:00
2025-12-25 17:30:31 +08:00
<view class="right-top">
2025-12-26 10:03:50 +08:00
<view class="top-title">
护理单元
</view>
<scroll-view class="top-list" scroll-y>
2025-12-26 15:15:35 +08:00
<view class="list-view" :style="menutarget===index?{borderColor:`#8DD6FF`,backgroundColor:`#F7F7F9`}:{}"
2025-12-26 10:03:50 +08:00
v-for="(item,index) in filteredMenu(0)" :key="index" @click="clickmenu(index)">
2026-01-13 15:45:35 +08:00
<view class="list-img">
<image :src="`/static/index/newindex/leftmenu/NU${item.elderInfo?.name?`blue`:`white`}.png`" />
<view v-if="item.readList!=null&&item.readList.length>0"></view>
</view>
2025-12-26 10:03:50 +08:00
<view class="">
<view class="first-line">
<view style="font-size: 1.2vw;">
2025-12-26 15:15:35 +08:00
{{ item.nuName }}
2025-12-26 10:03:50 +08:00
</view>
<view class="first-line-second">
{{ item.elderInfo?.name?`入住`:`空闲` }}
</view>
</view>
<view class="second-line">
2025-12-26 15:15:35 +08:00
NUID{{ item.nuId }}
2025-12-26 10:03:50 +08:00
</view>
</view>
</view>
</scroll-view>
2025-12-25 17:30:31 +08:00
</view>
2026-01-08 15:48:39 +08:00
<view class="mengban" v-if="zzbqshow" @click="zzbqshow = false;tagtarget=-1"></view>
2025-12-25 17:30:31 +08:00
<view class="right-bottom">
<view class="bottom-title">
2025-12-26 15:15:35 +08:00
<image class="bottom-carmera" src="/static/index/newindex/leftmenu/carmera.png" @click="gotolook" />
2026-01-06 16:37:04 +08:00
<view class="blue-button" @click="geteverything()">
2025-12-25 17:30:31 +08:00
长者标签
2026-01-08 15:48:39 +08:00
<view class="jb" v-show="zzbqshow">
2026-01-06 16:37:04 +08:00
<image src="/static/index/card/bj.png" mode="aspectFill"></image>
</view>
<view class="zzbq guodu" @click.stop :class="zzbqshow?'':'zzh0'">
<view class="carfd" v-if="zzbqshow">
<view class="tittop">
<view></view>
体重标签
</view>
<view class="tg" style="border-right: 1px solid rgba(238, 238, 238, 1);">
2026-01-08 15:48:39 +08:00
<view v-for="(v,i) in emotionTagList" :key='i' @click="clicktag(v,i)">
2026-01-06 16:37:04 +08:00
<image :src="v.netPic" mode="aspectFill"></image>
<text>{{v.tagName}}</text>
</view>
2026-01-08 15:48:39 +08:00
<image src="/static/index/card/zanw.png" mode="aspectFill"
v-if="emotionTagList.length==0"
2026-01-14 15:53:18 +08:00
style="width: 5.4vw;height: 5.4vw;margin-top: -0.7vw;margin-left: -1vw;"></image>
2026-01-06 16:37:04 +08:00
</view>
</view>
<view class="carfd" v-if="zzbqshow">
<view class="tittop">
<view style="margin-left: 1vw;"></view>
情绪标签
</view>
<view class="tg">
2026-01-08 15:48:39 +08:00
<view v-for="(v,i) in bodyTagList" :key='i' @click="clicktag(v,i+2)">
2026-01-06 16:37:04 +08:00
<image :src="v.netPic" mode="aspectFill"></image>
<text>{{v.tagName}}</text>
</view>
2026-01-08 15:48:39 +08:00
<image src="/static/index/card/zanw.png" mode="aspectFill" v-if="bodyTagList.length==0"
2026-01-14 15:53:18 +08:00
style="width: 5.4vw;height: 5.4vw;margin-top: -0.7vw;margin-left: 1.2vw;"></image>
2026-01-06 16:37:04 +08:00
</view>
</view>
</view>
2026-01-08 15:48:39 +08:00
<view class="zzbqsmall guodu" @click.stop :class="zzbqshow&&tagtarget!=-1?'':'zzh0'">
<view class="jbsmall" v-show="tagtarget!=-1" :style="{left:`${leftnumber}vw`}">
<image src="/static/index/card/bj.png" mode="aspectFill"></image>
</view>
{{ tagtarget==-1?'':detail }}
</view>
2025-12-25 17:30:31 +08:00
</view>
2026-01-08 15:48:39 +08:00
2025-12-25 17:30:31 +08:00
</view>
2025-12-30 08:40:09 +08:00
<image class="big-older"
:src="`/static/index/newindex/leftmenu/${uni.getStorageSync('NUall').elderInfo?.name?`older`:`nopeople`}.png`" />
2025-12-25 17:30:31 +08:00
<view class="name-weight">
2025-12-26 15:15:35 +08:00
{{ uni.getStorageSync('NUall').elderInfo?.name ? uni.getStorageSync('NUall').elderInfo?.name:`暂无长者` }}
2025-12-25 17:30:31 +08:00
</view>
2025-12-26 15:15:35 +08:00
<view class="message-view" v-if="uni.getStorageSync('NUall').elderInfo?.name">
2025-12-26 10:03:50 +08:00
{{ uni.getStorageSync('NUall').elderInfo?.sex }}
<view class="message-shu"></view>
<view style="font-weight: 600;">
{{ calcAge(uni.getStorageSync('NUall').elderInfo?.dateOfBirth) }}
</view>
<view class="message-shu"></view>
<image class="message-img" :src="`/static/index/newindex/leftmenu/time.png`" />
2026-01-07 16:06:12 +08:00
{{ uni.getStorageSync('NUall').elderInfo?.checkinTime.replace(/-/g, '.') }}
2025-12-26 10:03:50 +08:00
</view>
2025-12-26 15:15:35 +08:00
<view class="message-bottom" v-if="uni.getStorageSync('NUall').elderInfo?.name">
2026-01-07 14:40:19 +08:00
<view class="bottom-tags">
{{ uni.getStorageSync('NUall').elderInfo?.yblxName }}
</view>
<view class="bottom-tags" v-show="uni.getStorageSync('NUall').elderInfo?.sndjName" >
{{ uni.getStorageSync('NUall').elderInfo?.sndjName }}
</view>
<view class="bottom-tags" >
{{ uni.getStorageSync('NUall').elderInfo?.jfztName }}
2025-12-26 10:03:50 +08:00
</view>
</view>
2025-12-25 17:30:31 +08:00
</view>
</view>
2026-01-19 14:19:02 +08:00
<!-- <view class="fixed-card" :style="openleft?{}:{right:`-33vw`}" v-show="indexmessage?.startTime">
2025-12-26 15:15:35 +08:00
<view class="fixed-card-left">
2026-01-09 16:25:02 +08:00
<image class="card-left-img" v-if="topbuttontarget==0" :style="!indexmessage?.previewFile?'width: 450rpx':''"
:src="indexmessage?.previewFile? 'https://www.focusnu.com/media/upFiles/' + indexmessage?.previewFile: `/static/index/newindex/wendu/2.png`" mode="aspectFill"/>
2025-12-26 15:15:35 +08:00
<view class="">
2026-01-09 16:25:02 +08:00
{{ indexmessage?.directiveName }}
2025-12-26 15:15:35 +08:00
</view>
</view>
<view>
2026-01-09 16:25:02 +08:00
<view class="big-time" v-if="indexmessage?.startTime">
{{ indexmessage?.startTime.slice(11, 16) }}
-
{{ indexmessage?.endTime.slice(11, 16) }}
2025-12-26 15:15:35 +08:00
</view>
<view class="icon-people">
<image class="people-img" src="/static/index/newindex/leftmenu/iconleft.png" />
2026-01-15 11:05:21 +08:00
<text v-if="indexmessage.optType == 1" style="white-space: nowrap;">单人执行</text>
<text v-if="indexmessage.optType == 2" style="white-space: nowrap;">协助执行</text>
2026-01-16 13:10:17 +08:00
<text v-if="indexmessage.optType == 3" style="white-space: nowrap;">转单执行</text>
2026-01-15 11:05:21 +08:00
2025-12-26 15:15:35 +08:00
<image style="margin-left: 1vw;" class="people-img"
src="/static/index/newindex/leftmenu/iconright.png" />
2026-01-15 11:05:21 +08:00
2026-01-16 13:10:17 +08:00
<text v-if="indexmessage.optType == 1 || indexmessage.optType == 3">{{indexmessage.employeeName}}</text>
2026-01-15 11:05:21 +08:00
<text v-if="indexmessage.optType == 2">{{indexmessage.optNames}}</text>
2025-12-26 15:15:35 +08:00
</view>
<view class="icon-button">
2026-01-09 16:25:02 +08:00
<view :class="indexmessage?.izStart=='N'?'button-right':'button-left'" @click="start(indexmessage)">
2025-12-26 15:15:35 +08:00
开始服务
</view>
2026-01-09 16:25:02 +08:00
<view :class="(indexmessage?.izStart=='Y'&& indexmessage?.izFinish=='N')?'button-right':'button-left'" @click="end(indexmessage)">
2025-12-26 15:15:35 +08:00
结束服务
</view>
</view>
</view>
<view class="left-open" @click="openleft = !openleft">
<image :style="openleft?{}:{transform: `rotate(180deg)`}" class="open-img"
src="/static/index/newindex/leftmenu/openleft.png" />
</view>
2026-01-19 14:19:02 +08:00
</view> -->
2026-01-06 13:23:24 +08:00
<view class="mengban" v-if="topbuttontarget>0" @click="topbuttontarget=0"></view>
2026-01-15 16:07:55 +08:00
<view class="photowall" v-show="topbuttontarget>0" :style="donghuaopo?{opacity:1}:{opacity:0}" >
2026-01-06 13:23:24 +08:00
<view class="photowall-title">
<view class="photowall-name">
{{ topbuttontarget==1?`照片`:`录像` }}
</view>
</view>
<scroll-view scroll-y="true" class="photowall-other" scroll-with-animation enable-flex v-if="topbuttontarget>0">
<view class="photowall-other" >
<view class="photowall-other-one" v-for="(item,index) in ilanarr" :key="index"
@click="previewImage(item,index,ilanarr)">
<view v-if="topbuttontarget==1" style="width: 100%;height: 70%;border-radius: 30rpx;position: relative;">
<image style="width: 100%;height: 100%;border-radius: 30rpx;"
2026-01-21 13:56:44 +08:00
:src="item?serverpicUrl + item:'/static/ceshiyaoshan.png'" mode="aspectFill"
2026-01-06 13:23:24 +08:00
:lazy-load="true"/>
<view @click.stop="open=1;del(item,index)"
style="width: 1.6vw;
height: 1.6vw;
z-index: 20;
position: absolute;
right: -1vw;
top: -0.7vw;
background: red;
display: flex;
justify-content: center;
border-radius: 50%;
align-items: center;"
v-if="topbuttontarget>0&&(listobj.izStart=='Y'&& listobj.izFinish=='N')">
<image src="/static/index/warehouse/procurement/x.png" mode="aspectFill"
style="width: 1.4vw;
height: 1.4vw;"></image>
</view>
</view>
2026-01-09 16:25:02 +08:00
<view v-if="topbuttontarget==2" style="width: 100%;height: 70%;border-radius: 30rpx ;position: relative;" >
2026-01-06 13:23:24 +08:00
<video style="width: 100%;height: 100%;border-radius: 30rpx;" :id="'myVideo'+index"
2026-01-15 16:07:55 +08:00
:src="servervideoUrl+item" direction="180"
2026-01-06 13:23:24 +08:00
mode="aspectFill" ></video>
<view @click.stop="ilanarr.splice(index,1)"
v-if="topbuttontarget>0&&(listobj.izStart=='Y'&& listobj.izFinish=='N')"
style="width: 1.6vw;
height: 1.6vw;
z-index: 20;
position: absolute;
right: -1vw;
top: -0.7vw;
background: red;
display: flex;
justify-content: center;
border-radius: 50%;
align-items: center;">
<image src="/static/index/warehouse/procurement/x.png" mode="aspectFill"
style="width: 1.4vw;
height: 1.4vw;"></image>
</view>
</view>
<!-- <view style="margin-top: 20rpx;">
<text style="color: #888888;">
上传时间:
</text>
<text style="margin-left: 15rpx;">
{{item.createTime.replace(/-/g, '.')}}
</text>
</view>
<view style="margin-top: 10rpx;">
<text style="color: #888888;letter-spacing: 8.9rpx;">
上传人:
</text>
<text>
{{item.createBy}}
</text>
</view> -->
</view>
<view class="photowall-other-one" v-if="topbuttontarget>0&&(listobj.izStart=='Y'&& listobj.izFinish=='N')">
<view style="width: 100%;height: 71%;display: flex;flex-direction: column;
justify-content: center;align-items: center;position: absolute;top:0vw;left: 0;
background-color:#fafdff ;border: 1rpx solid #78B1EB;border-radius: 30rpx;" @click="uplod(1)">
<image style="width: 70rpx;height: 70rpx;margin-bottom: 5rpx;"
src="/static/index/warehouse/procurement/picking/addphoto.png" />
<view style="color: #78B1EB;">
点击上传{{topbuttontarget==1?'图片':'录像'}}
</view>
</view>
</view>
<!-- <view class="noarray" v-if="!ilanarr.length">
<image class="noarray-img" src="/static/index/warehouse/procurement/picking/noarray.png"
mode="aspectFill" />
<view class="noarray-font">
暂无照片
</view>
</view> -->
</view>
</scroll-view>
<view style="position: absolute;right: 2vw;bottom: 0.8vw;height: 4vw;" v-if="topbuttontarget>0&&(listobj.izStart=='Y'&& listobj.izFinish=='N')">
2026-01-09 16:25:02 +08:00
<view
style="width: 8.2vw;
height: 3.3vw;
background: #EDEDEF;
border-radius: 1.6vw;
font-weight: 400;
font-size: 1.6vw;
color: #888888;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid #EDEDEF;
background: linear-gradient(0deg, #CAE0F9, #E9F4FF);
border: 1px solid rgba(3,133,250,0.34);
color: #0385FA;" @click="submit" >确定</view>
2026-01-06 13:23:24 +08:00
</view>
</view>
<tanchuang :show="open==1" font="是否删除此图片" @back="open = 0" @right="del1()"> </tanchuang>
2026-01-13 15:45:35 +08:00
2026-01-19 14:19:02 +08:00
<severcard ref="severcards"></severcard>
2025-11-05 15:59:48 +08:00
</template>
<script setup lang="ts">
2026-01-06 13:23:24 +08:00
import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch ,reactive} from 'vue';
2026-01-19 14:18:45 +08:00
import { onBackPress, onShow, onHide } from "@dcloudio/uni-app"
2025-12-26 10:03:50 +08:00
import { queryPadPageList } from '@/pages/watch/api/lunpan.js'
2026-01-08 15:17:24 +08:00
import { queryWorkOrderList,queryCountByType,queryAll } from './api.js'
2026-01-06 13:23:24 +08:00
// import {startOrder,endOrder} from './doctorask/api/api.js'
2026-01-15 16:07:55 +08:00
import {queryOrderList,queryOrderInfoList,startOrder,endOrder,editSubPicPath,editSubMp4,queryEmpList,transferOrder,assistOrder,generateInstant} from '../component/doctorask/api/api.js'
2026-01-06 16:37:04 +08:00
import { getNclist } from "./nurse/api.js";
2026-01-21 13:56:44 +08:00
const serverUrl = ref(uni.getStorageSync('imagebase') )
2026-01-09 16:25:02 +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-06 13:23:24 +08:00
const form = reactive({
pageNo: 1,
pageSize: 10,
employeeId:uni.getStorageSync('userInfo').employessId,
2026-01-19 14:19:02 +08:00
nuId:uni.getStorageSync('nuId'),
workType:5
2026-01-06 13:23:24 +08:00
})
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 zhixingsub = ()=>{
zxzd.value = zdxzdex.value
if(zdxzdex.value==1){
zdcont.value = "确认转单执行?"
}
if(zdxzdex.value==2){
zdcont.value = "确认协助执行?"
}
}
const zxzd = ref(0);
const zdcont = ref('');
const tijiaozx = ()=>{
if(zxzd.value == 1){
let s = {}
zdxzarr.value.forEach((item,i)=>{
if(item.flag){
s = item;
}
})
let obj = {
mainId:indexmessage.value.mainId,
employeeId:s.id,
2026-01-14 15:53:18 +08:00
employeeName:s.name,
beforeBy:indexmessage.value.employeeId,
beforeByName:indexmessage.value.employeeName
2026-01-13 15:45:35 +08:00
}
let nuId = uni.getStorageSync('nuId');
transferOrder(obj).then(res=>{
if(res.success){
firstgetqueryCgdList(nuId);
flag.value = false;
zxzd.value = 0;
zdxzdex.value = 0;
}
})
}
if(zxzd.value == 2){
let userinfo = uni.getStorageSync('userInfo')
let id = userinfo.id+',';
let name = userinfo.realname+',';
zdxzarr.value.forEach((item,i)=>{
if(item.flag){
id+=item.id+','
name+=item.name+','
}
})
2026-01-14 15:53:18 +08:00
id = id.slice(0, -1);
name = name.slice(0, -1);
2026-01-13 15:45:35 +08:00
let obj = {
mainId:indexmessage.value.mainId,
2026-01-14 15:53:18 +08:00
optIds:id,
optNames:name,
beforeBy:indexmessage.value.employeeId,
beforeByName:indexmessage.value.employeeName
2026-01-13 15:45:35 +08:00
}
assistOrder(obj).then(res=>{
if(res.success){
2026-01-21 13:56:44 +08:00
firstgetqueryCgdList(form.nuId)
2026-01-21 10:34:14 +08:00
// clickLeftMenu(0,{id:indexmessage.value.mainId})
2026-01-13 15:45:35 +08:00
flag.value = false;
zxzd.value = 0;
zdxzdex.value = 0;
}
})
}
}
2026-01-06 13:23:24 +08:00
const plsbuy = ref([])
2026-01-07 17:14:33 +08:00
const firstgetqueryCgdList = (nuId) => {
form.nuId = nuId;
2026-01-07 11:23:47 +08:00
queryOrderList(form).then(res => {
2026-01-07 17:14:33 +08:00
if(res.result.records.length>0){
2026-01-21 10:34:14 +08:00
indexmessage.value = res.result.records[0]
// clickLeftMenu(0,res.result.records[0])
2026-01-07 17:14:33 +08:00
}else{
2026-01-09 16:25:02 +08:00
indexmessage.value = {};
2026-01-06 13:23:24 +08:00
}
})
}
const clickLeftMenu = (index : any, item : object) => {
2026-01-07 11:23:47 +08:00
queryOrderInfoList({ mainId: item.id }).then(res => {
2026-01-07 17:14:33 +08:00
if(res.result.length>0){
2026-01-19 14:19:02 +08:00
indexmessage.value = res.result[0]
2026-01-07 17:14:33 +08:00
}else{
2026-01-09 16:25:02 +08:00
indexmessage.value = {};
2026-01-07 17:14:33 +08:00
}
2026-01-06 13:23:24 +08:00
})
}
const open = ref(0)
const donghuaopo = ref(false);
const topbuttontarget = ref(0);
const ilanarr = ref([]);
const listobj = ref({});
const ysptp = (v,i,r) =>{
// v.manuallyPicPath
if(r == 1&&v.manuallyPicPath){
ilanarr.value = v.manuallyPicPath.split(",");
ilanarr.value = ilanarr.value.filter(item => item !== '');
}else if(r == 2&&v.manuallyMp4Path){
ilanarr.value = v.manuallyMp4Path.split(",");
ilanarr.value = ilanarr.value.filter(item => item !== '');
}else if(r == 3&&v.tplinkPath){
ilanarr.value = v.tplinkPath.split(",");
ilanarr.value = ilanarr.value.filter(item => item !== '');
}
else{
ilanarr.value = [];
}
listobj.value = v;
topbuttontarget.value = r;
donghuaopo.value = true;
}
const uplod = (v) => {
if(topbuttontarget.value==1){
uni.chooseImage({
count: 1, //默认9
sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['camera'], //从相册选择
success: (e) => {
let ar = JSON.stringify(e.tempFilePaths)
uni.compressImage({
src: JSON.parse(ar)[0],
quality: 60,
success: res => {
sxdupld(res.tempFilePath)
// v.picPatharr.push(res.tempFilePath);
}
})
}
});
}else{
uni.chooseVideo({
sourceType: ['camera' ],
success: (e)=> {
2026-01-14 16:35:41 +08:00
uni.showLoading({
title:'正在上传...'
})
2026-01-06 13:23:24 +08:00
uni.compressVideo({
src: e.tempFilePath,
2026-01-14 15:53:18 +08:00
quality: 'medium',
2026-01-06 13:23:24 +08:00
success: res => {
sxdupld(res.tempFilePath)
// v.picPatharr.push(res.tempFilePath);
}
})
// sxdupld(res.tempFilePath )
}
});
}
}
const sxdupld = (e) => {
let now = new Date();
let year = now.getFullYear();
let month = now.getMonth() + 1;
uni.uploadFile({
url: uni.getStorageSync('serverUrl') + '/sys/common/upload',
filePath: e,
name: 'file',
fileType:topbuttontarget.value==2?'video':'image',
formData: {
biz: year + '/' + month + (topbuttontarget.value==1?'/fwxm/manuallyPicPath':'/fwxm/manuallyMp4Path')
},
header: {
'X-Access-Token': uni.getStorageSync('token')
},
success: res => {
const data = JSON.parse(res.data);
ilanarr.value.push(data.message)
2026-01-14 16:35:41 +08:00
uni.hideLoading()
2026-01-06 13:23:24 +08:00
},
fail: () => {
2026-01-14 16:35:41 +08:00
uni.hideLoading()
2026-01-06 13:23:24 +08:00
uni.showToast({ title: '上传失败', icon: 'none' })
}
})
}
const submit = ()=>{
let sub = "";
ilanarr.value.forEach(item=>{
sub+=item+','
})
if(topbuttontarget.value == 1){
editSubPicPath({id:listobj.value.id,manuallyPicPath:sub}).then(res=>{
if(res.success){
topbuttontarget.value = 0;
donghuaopo.value = false;
2026-01-21 13:56:44 +08:00
firstgetqueryCgdList(form.nuId)
2026-01-21 10:34:14 +08:00
// clickLeftMenu(0,{id:indexmessage.value.mainId})
2026-01-06 13:23:24 +08:00
}
})
}else{
editSubMp4({id:listobj.value.id,manuallyMp4Path:sub}).then(res=>{
2026-01-21 13:56:44 +08:00
console.log({id:listobj.value.id,manuallyMp4Path:sub},res)
2026-01-06 13:23:24 +08:00
if(res.success){
topbuttontarget.value = 0;
donghuaopo.value = false;
2026-01-21 13:56:44 +08:00
firstgetqueryCgdList(form.nuId)
2026-01-21 10:34:14 +08:00
// clickLeftMenu(0,{id:indexmessage.value.mainId})
2026-01-06 13:23:24 +08:00
}
})
}
}
const previewImage = (v, i, arr) => {
if(topbuttontarget.value == 1){
let u = []
arr.forEach(e => {
2026-01-21 13:56:44 +08:00
u.push(serverpicUrl.value + e)
2026-01-06 13:23:24 +08:00
})
uni.previewImage({
current: i,
urls: u,
showmenu: false,
longPressActions: {
itemList: [],
}
})
}
}
const videoContext = ref(null)
const play = (e,i)=>{
videoContext.value = uni.createVideoContext('myVideo'+i);
videoContext.value.play()
}
const pici = ref(0);
const del = (v,i) =>{
pici.value = i;
}
const del1=()=>{
ilanarr.value.splice(pici.value,1);
open.value = 0
}
//
const openerror = ref(false);
const errmsg = ref('')
2025-11-05 15:59:48 +08:00
const props = defineProps({
isShow: {
type: Boolean,
required: true,
},
2025-12-25 14:37:43 +08:00
2025-11-05 15:59:48 +08:00
});
2026-01-06 13:23:24 +08:00
const errmsgclk = (e,k)=>{
if(k==1){
if(indexmessage.value?.izStart=='Y'){
switch (e){
case 0:
if(indexmessage.value?.serviceContent==''){return}
errmsg.value = indexmessage.value?.serviceContent
break;
case 1:
if(indexmessage.value?.mp3File==''){return}
errmsg.value = indexmessage.value?.mp3File
break;
case 2:
if(indexmessage.value?.mp4File==''){return}
errmsg.value = indexmessage.value?.mp4File
break;
default:
break;
}
openerror.value = true;
}
}else{
if(indexmessage.value?.izStart=='Y'){
switch (e){
case 3:
ysptp(indexmessage.value,0,1)
break;
case 4:
ysptp(indexmessage.value,0,2)
break;
default:
break;
}
}
}
}
2025-12-26 10:03:50 +08:00
const leftMenuArray = ref([]);
2025-12-26 15:15:35 +08:00
const openleft = ref(false)
2025-12-26 10:03:50 +08:00
const menutarget = ref(0)
2026-01-09 16:23:18 +08:00
const emit = defineEmits(['swip',"gospecial"])
2025-12-26 10:03:50 +08:00
const clickmenu = (index : number) => {
menutarget.value = index
let data = filteredMenu(0)[index]
uni.setStorageSync('nuId', data.nuId);
uni.setStorageSync('nuName', data.nuName);
uni.setStorageSync('elderId', data.elderInfo ? data.elderInfo?.id : null);
uni.setStorageSync('NUall', data);
2026-01-21 13:56:44 +08:00
severcards.value.firstgetqueryCgdList()
2026-01-07 17:14:33 +08:00
firstgetqueryCgdList(data.nuId);
2026-01-08 15:17:24 +08:00
hlylhq(data.nuId,data.elderInfo?.id)
zlfunc(data.nuId,data.elderInfo?.id)
2026-01-05 09:29:43 +08:00
emit('swip')
2025-12-26 10:03:50 +08:00
}
2026-01-08 15:17:24 +08:00
const hldyobj = ref({})
const hlylhq = (nuId,elderId)=>{
let data = {
nuId:nuId,
elderId:elderId
}
queryCountByType(data).then(res=>{
hldyobj.value = res.result
})
}
const fwzlindex = ref(0);
const fwzldex = ref(-1);
const fwzlarr = ref(0);
const zlarr = ref({});
const zlfunc = (nuId,elderId)=>{
let data = {
nuId:nuId,
elderId:elderId
}
queryAll(data).then(res=>{
zlarr.value = res.result;
shtab(fwzlindex.value)
})
}
const shtab = (e)=>{
fwzlindex.value = e;
if(e==0){
fwzlarr.value = zlarr.value.care
}
if(e==1){
fwzlarr.value = [];
}
if(e==2){
fwzlarr.value = zlarr.value.logistics
}
}
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 code = fwzlindex.value==0?1:fwzlindex.value==1?2:4
let obj = {
id:fwzlarr.value[fwzldex.value].id,
triggerMode:1,
orderType:code
}
generateInstant(obj).then(res=>{
if(res.success){
jszlshow.value = false
}else{
error.value = true;
msg.value = res.message
}
})
2026-01-08 15:17:24 +08:00
}
2025-12-26 10:03:50 +08:00
function calcAge(dateOfBirth : string) {
2025-12-26 15:15:35 +08:00
const birthYear = parseInt(dateOfBirth?.slice(0, 4), 10);
2025-12-26 10:03:50 +08:00
const currentYear = new Date().getFullYear();
return currentYear - birthYear;
}
2025-11-05 15:59:48 +08:00
const typeNow = ref(-1);
const photoplay = ref(false)
const downArray = ref()
const scrollTop = ref(0);
2025-12-25 14:37:43 +08:00
2025-11-05 15:59:48 +08:00
function onScroll(e) {
// e.detail.scrollTop 就是当前滚动距离
scrollTop.value = e.detail.scrollTop
}
2026-01-19 14:19:02 +08:00
const severcards = ref<InstanceType<typeof ChildComponent>>()
2026-01-06 08:53:57 +08:00
const start = (v) =>{
if(v.izStart!='N'){return}
2026-01-06 16:37:04 +08:00
startOrder({id:v.id}).then(res=>{
2026-01-06 08:53:57 +08:00
if(res.success){
v.izStart = "Y";
2026-01-19 14:19:02 +08:00
severcards.value.firstgetqueryCgdList()
2026-01-06 08:53:57 +08:00
}else{
}
})
}
const end = (v)=>{
2026-01-09 16:25:02 +08:00
if(indexmessage.value.izStart=='Y'&& indexmessage.value.izFinish=='N'){
open.value=3;
}
}
const ends = ()=>{
endOrder({id:indexmessage.value.id}).then(res=>{
2026-01-06 08:53:57 +08:00
if(res.success){
2026-01-09 16:25:02 +08:00
open.value=0;
2026-01-21 13:56:44 +08:00
severcards.value.firstgetqueryCgdList()
2026-01-07 17:14:33 +08:00
firstgetqueryCgdList(uni.getStorageSync('nuId'))
2026-01-06 08:53:57 +08:00
}else{
}
2026-01-09 16:25:02 +08:00
})
2026-01-07 17:14:33 +08:00
2026-01-06 08:53:57 +08:00
}
2025-11-05 15:59:48 +08:00
// 通用的生成函数
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}`
})
}
const rightMenu = ref([
2026-01-06 08:53:57 +08:00
// {
// url: "/static/index/newindex/rightmenu/0.png",
// name: '重点追踪'
// },
2025-11-05 15:59:48 +08:00
{
url: "/static/index/newindex/rightmenu/1.png",
name: '转单执行'
},
{
url: "/static/index/newindex/rightmenu/2.png",
name: '协助执行'
},
])
2025-12-26 15:15:35 +08:00
2025-11-05 15:59:48 +08:00
const leftArray = ref(genPaths(
'/static/index/newindex/leftmenu',
2026-01-06 08:53:57 +08:00
'left',
5,
2025-11-05 15:59:48 +08:00
'png',
0, // 起始索引
false // 不补零
))
const huliArray = ref(genPaths(
'/static/index/newindex/huli',
'care',
9, // 张数
'png',
0, // 起始索引
false // 不补零
))
const base = genPaths(
'/static/index/newindex/curve',
'curve_',
9,
'png',
1,
false
)
const blueArray = ref([
...base,
...[...base].reverse() // 先拷贝一份再反转,避免修改原 base
])
const basesmall = genPaths(
'/static/index/newindex/curve',
'breathe_',
9,
'png',
1,
false
)
const bluesmallArray = ref([
...basesmall,
...[...basesmall].reverse() // 先拷贝一份再反转,避免修改原 base
])
// 使用watch监听isShow变化
const transition = ref(false);
2026-01-07 14:40:19 +08:00
2025-11-05 15:59:48 +08:00
const name = ref("");
// 定义响应式数据现在时间
2025-12-25 17:30:31 +08:00
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;
2025-12-26 10:03:50 +08:00
2025-12-25 17:30:31 +08:00
// 获取完整的日期(年/月/日)
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-25 17:30:31 +08:00
};
2025-11-05 15:59:48 +08:00
onMounted(() => {
2026-01-06 14:15:35 +08:00
transition.value = false;
setTimeout(() => {
transition.value = true;
}, 50)
2025-11-05 15:59:48 +08:00
name.value = uni.getStorageSync('realname')
typeNow.value = 0;
2025-12-25 17:30:31 +08:00
timerId = updateTime();
// 每秒更新一次时间
setInterval(updateTime, 1000);
2026-01-19 14:18:45 +08:00
2025-12-30 08:40:09 +08:00
getmenu();
2025-11-05 15:59:48 +08:00
})
2026-01-19 14:18:45 +08:00
onShow(()=>{
setTimeout(()=>{
photoplay.value = true;
},200)
})
onHide(() => {
2026-01-19 15:37:36 +08:00
photoplay.value = false;
2026-01-19 14:18:45 +08:00
})
2025-12-26 10:03:50 +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;
2025-12-26 15:15:35 +08:00
filteredMenu(0).forEach((element : any, index : number) => {
if (element.nuId === uni.getStorageSync('NUall').nuId) {
2026-01-13 15:45:35 +08:00
menutarget.value = index;
2026-01-05 09:29:43 +08:00
clickmenu(menutarget.value)
2025-12-26 10:03:50 +08:00
}
})
}))
}
2025-12-30 08:40:09 +08:00
const indexmessage = ref({});
const getgif = () => {
2026-01-08 15:17:24 +08:00
// let data = {
// nuId: uni.getStorageSync('NUall').nuId,
// employeeId: uni.getStorageSync('userInfo').employessId,
// workType: 5
// }
2026-01-07 17:14:33 +08:00
// queryWorkOrderList(data).then((res : any) => {
// indexmessage.value = res.result.records[0];
// })
2025-12-30 08:40:09 +08:00
}
2025-11-05 15:59:48 +08:00
const lanjie = ref(false);
2025-12-26 15:15:35 +08:00
const gotolook = () => {
uni.navigateTo({
url: "/pages/watch/full"
})
}
2026-01-06 08:53:57 +08:00
const minuteArr = ['00', '05', '10', '15', '20', '25', '30', '35', '40', '45', '50', '55']
const timearr = ref(
Array.from({ length: 24 }, (_, hour) => ({
positioning: hour.toString(),
children: minuteArr.map(time => ({
tagName: time, // 表示分钟,如 '00', '05' 等
directiveName: '' // 默认的 directiveName
}))
}))
)
const nusing = ()=>{
2026-01-09 16:23:18 +08:00
emit('gospecial',1)
2026-01-06 08:53:57 +08:00
}
2026-01-06 16:37:04 +08:00
const jszlshow = ref(false)
const emotionTagList = ref([]);
const bodyTagList = ref([]);
const zzbqshow = ref(false)
const geteverything = () => {
if (uni.getStorageSync('nuId') && uni.getStorageSync('elderId')) {
emotionTagList.value = [];
bodyTagList.value = [];
2026-01-08 15:17:24 +08:00
zzbqshow.value = true;
2026-01-06 16:37:04 +08:00
getNclist(uni.getStorageSync('nuId'), uni.getStorageSync('elderId')).then((res : any) => {
res.result.emotionTagList.forEach(item=>{
if(item.izSelected == 'Y'){
emotionTagList.value.push(item)
}
})
res.result.bodyTagList.forEach(item=>{
if(item.izSelected == 'Y'){
bodyTagList.value.push(item)
}
})
// emotionTagList.value = res.result.emotionTagList;
// bodyTagList.value = res.result.bodyTagList;
})
}
}
2026-01-08 15:48:39 +08:00
function getStatusDesc(type) {
switch (type) {
case '稳定':
return '标准情绪';
case '标准':
return '标准体重女100-120120-150';
case '焦虑':
return '无法控制情绪(哭泣/大笑)';
case '超重':
return '女超过120男超过150';
case '抑郁':
return '有自杀倾向';
case '强直':
return '四肢承伸直且僵硬无法弯曲状(标识要区分为左右和手脚)';
case '暴力':
return '有攻击他人倾向';
case '偏瘫':
return '四肢无知觉且无法支配但是并无僵硬,可弯曲(标识要区分为左右和手脚)';
case '恐惧':
return '被害妄想';
case '佝偻':
return '四肢承弯曲且僵硬无法伸直状(标识要区分为左右和手脚)';
case '烦躁':
return '对服务和对话都不耐烦';
case '易怒':
return '骂人';
case '臆想':
return '骗人/说谎,胡言乱语';
default:
return '';
}
}
function getleft(index) {
switch (index) {
case 0:
return 2.2;
case 1:
return 6;
case 2:
return 9.8;
case 3:
return 13.4;
}
}
const tagtarget = ref(-1);
const detail = ref("")
const leftnumber = ref(2.2)
const clicktag = (item, index) => {
tagtarget.value = index;
detail.value = getStatusDesc(item.tagName)
2026-01-14 15:53:18 +08:00
leftnumber.value = getleft(index);
bodyTagList.value = [];
emotionTagList.value = [];
2026-01-08 15:48:39 +08:00
}
2025-11-05 15:59:48 +08:00
</script>
<style scoped lang="less">
2026-01-08 15:48:39 +08:00
.jbsmall {
position: absolute;
width: 2.2vw;
height: 1.1vw;
top: -1vw;
left: 2.2vw;
z-index: 220;
transition: left 0.3s;
image {
width: 100%;
height: 100%;
}
}
.zzbqsmall {
width: 18vw;
// height: 6vw;
background: #FFFFFF;
box-shadow: 0rpx 0rpx 0.5vw 0rpx rgba(136, 148, 167, 0.19);
border-radius: 1.2vw;
right: -0.8vw;
top: 15vw;
position: absolute;
z-index: 200;
display: flex;
// padding: 1.6vw 1.6vw 0;
padding: 1vw 2vw;
color: black;
font-size: 1vw;
}
2025-12-26 10:03:50 +08:00
.index-content-right {
2025-12-25 17:30:31 +08:00
width: 19.5vw;
margin-left: 2vw;
height: 100%;
transition: opacity 1s ease;
2026-01-05 14:14:36 +08:00
.right-time{
2026-01-16 14:32:54 +08:00
margin-top: 50rpx;
2026-01-05 14:14:36 +08:00
width: 100%;
height: 15vh;
background-color: #fff;
border-radius: 4vh;
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 10:03:50 +08:00
.right-top {
2026-01-05 14:14:36 +08:00
margin-top: 25rpx;
2025-12-25 17:30:31 +08:00
width: 100%;
2026-01-16 14:32:54 +08:00
height: 36.5vh;
2025-12-25 17:30:31 +08:00
background-color: #fff;
border-radius: 4vh;
2025-12-26 10:03:50 +08:00
.top-title {
2026-01-14 15:53:18 +08:00
width: 80%;
height: 6vh;
2025-12-26 10:03:50 +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 10:03:50 +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 10:03:50 +08:00
.list-view {
2025-12-26 15:15:35 +08:00
width: 86%;
margin-left: 7%;
2025-12-26 10:03:50 +08:00
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;
2026-01-13 15:45:35 +08:00
position: relative;
view{
width: 0.8vw;
height: 0.8vw;
background: #EE2C35;
border-radius: 50%;
position: absolute;
top: 0.3vw;
right: 0.5vw;
}
image{
width: 4vw;
height: 4vw;
}
2025-12-26 10:03:50 +08:00
}
.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;
}
}
}
2025-12-25 17:30:31 +08:00
}
2025-12-26 10:03:50 +08:00
2026-01-13 15:45:35 +08:00
}
.right-bottom {
margin-top: 2vh;
width: 100%;
height: 38vh;
background-color: #fff;
border-radius: 3vh;
padding-top: 1vh;
display: flex;
flex-direction: column;
align-items: center;
.bottom-title {
2025-12-25 17:30:31 +08:00
width: 100%;
2026-01-13 15:45:35 +08:00
padding: 0 8%;
2025-12-25 17:30:31 +08:00
display: flex;
2026-01-13 15:45:35 +08:00
justify-content: space-between;
.bottom-carmera {
2025-12-25 17:30:31 +08:00
margin-top: 0.5vw;
2026-01-13 15:45:35 +08:00
width: 3vw;
height: 3vw;
2025-12-25 17:30:31 +08:00
}
}
2026-01-13 15:45:35 +08:00
.big-older {
margin-top: 0.5vw;
width: 9vw;
height: 9vw;
border: 1rpx solid #DCDCDC;
border-radius: 50%;
}
2025-12-25 17:30:31 +08:00
}
2025-11-05 15:59:48 +08:00
.index-content-other {
2025-12-25 17:30:31 +08:00
width: 65vw;
2025-11-05 15:59:48 +08:00
height: 100%;
2026-01-06 14:15:35 +08:00
transition: opacity 0.4s ease;
2025-11-05 15:59:48 +08:00
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 {
2026-01-16 14:32:54 +08:00
margin-top: 50rpx;
2025-11-05 15:59:48 +08:00
display: flex;
2025-12-25 17:30:31 +08:00
height: 20vh;
2025-11-05 15:59:48 +08:00
position: relative;
font-size: 28rpx;
}
.date {
display: flex;
justify-content: space-around;
2025-12-25 17:30:31 +08:00
margin-top: 0.8vw;
2025-11-05 15:59:48 +08:00
}
.right-container-tem {
display: flex;
2026-01-05 14:14:36 +08:00
justify-content: space-between;
align-items: center;
2026-01-14 15:53:18 +08:00
width: 90%;
2025-11-05 15:59:48 +08:00
.right-container-tem-text {
font-size: 30rpx;
}
.right-container-tem-img {
width: 38rpx;
height: 38rpx;
2026-01-05 14:14:36 +08:00
margin-right: 5rpx;
transform: translateY(6rpx)
2025-11-05 15:59:48 +08:00
}
}
.photo-father {
width: 100%;
height: 1100rpx;
display: flex;
flex-direction: column;
align-items: center;
position: relative;
margin-top: 0rpx;
}
.juzhong {
position: absolute;
top: 0%;
left: 50%;
transform: translate(-50%, -20%);
// 禁止动画阻挡逻辑
z-index: -1;
}
.weight-time {
font-weight: 800;
font-size: 70rpx;
2026-01-06 11:06:16 +08:00
margin-top: 2vw;
2025-11-05 15:59:48 +08:00
position: relative;
margin-left: -50rpx;
}
.big-img {
2026-01-05 14:14:36 +08:00
margin-top: 40rpx;
height: 450rpx;
z-index: 10;
2025-11-05 15:59:48 +08:00
}
.server-name {
font-size: 35rpx;
margin-right: 10rpx;
font-weight: 600;
2026-01-06 11:06:16 +08:00
margin-top: 2vw;
2025-11-05 15:59:48 +08:00
}
.server-bgc {
width: 160rpx;
height: 50rpx;
display: flex;
justify-content: center;
align-items: center;
position: relative;
}
.bgc-img {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}
.bgc-font {
color: #fff;
z-index: 1;
}
.states-father {
display: flex;
margin: 0 20rpx;
}
.start-button {
width: 100%;
height: 100%;
background: linear-gradient(to bottom, #009DEF, #0076FF);
display: flex;
justify-content: center;
align-items: center;
border-radius: 40rpx;
color: #fff;
2026-01-21 13:56:44 +08:00
font-size: 1.5vw;
2025-11-05 15:59:48 +08:00
}
.end-button {
width: 100%;
height: 100%;
background: linear-gradient(to bottom, #FFFFFF, #C8D0D9);
display: flex;
justify-content: center;
align-items: center;
border-radius: 40rpx;
2026-01-21 13:56:44 +08:00
font-size: 1.5vw;
2025-11-05 15:59:48 +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;
2025-12-25 17:30:31 +08:00
top: 55%;
left: 100rpx;
2025-11-05 15:59:48 +08:00
transform: translateY(-50%);
}
.zoom {
transform: scale(1.2);
transform-origin: bottom left;
transition: transform 1s ease;
}
.left-ball {
2025-12-25 17:30:31 +08:00
width: 80rpx;
height: 80rpx;
2025-11-05 15:59:48 +08:00
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
2026-01-06 08:53:57 +08:00
2025-11-05 15:59:48 +08:00
.left-menu-img {
2025-12-25 17:30:31 +08:00
width: 40rpx;
height: 40rpx;
2025-11-05 15:59:48 +08:00
}
}
.right-menu {
position: absolute;
2025-12-25 17:30:31 +08:00
top: 60%;
2025-11-05 15:59:48 +08:00
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%;
2026-01-06 08:53:57 +08:00
height: 450rpx;
2025-11-05 15:59:48 +08:00
}
.white-circle {
2025-12-25 17:30:31 +08:00
height: 170rpx;
2025-11-05 15:59:48 +08:00
border-radius: 60rpx;
background-color: #fff;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
text-align: center;
2025-12-25 17:30:31 +08:00
font-size: 25rpx;
width: 100rpx;
2025-11-05 15:59:48 +08:00
.right-menu-img {
2025-12-25 17:30:31 +08:00
width: 50rpx;
height: 50rpx;
2025-11-05 15:59:48 +08:00
}
.right-menu-name {
2025-12-25 17:30:31 +08:00
width: 50rpx;
2025-11-05 15:59:48 +08:00
}
}
}
.zhezhao-top {
position: absolute;
top: 105rpx;
left: 0%;
width: 120%;
height: 120rpx;
z-index: 4;
}
.zhezhao-bottom {
position: absolute;
bottom: 105rpx;
left: 0%;
width: 120%;
height: 120rpx;
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;
}
2026-01-05 09:29:35 +08:00
.title-card-right {
position: absolute;
right: 0;
top: 0;
width: 10vw;
2026-01-05 14:14:36 +08:00
height: 9.4vw;
2026-01-05 09:29:35 +08:00
border-radius: 2vw;
2026-01-05 14:14:36 +08:00
background-color: #E4EBF4;
2026-01-05 09:29:35 +08:00
padding: 1.6vw;
margin-right: 1.5vw;
2026-01-05 14:14:36 +08:00
border: 2rpx solid #D2DFF0;
2026-01-05 09:29:35 +08:00
}
2025-12-25 17:30:31 +08:00
.title-card {
width: 10vw;
height: 9vw;
border-radius: 2vw;
background-color: #FFFFFF;
padding: 1.6vw;
2025-11-05 15:59:48 +08:00
position: relative;
2025-12-25 17:30:31 +08:00
margin-right: 1.5vw;
2026-01-05 09:29:35 +08:00
}
2025-12-26 10:03:50 +08:00
2026-01-05 09:29:35 +08:00
.card-bottom {
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 3vw;
display: flex;
2025-12-26 10:03:50 +08:00
2026-01-05 09:29:35 +08:00
.bottom-img {
width: 1.6vw;
height: 1.6vw;
margin-left: 1.8vw;
}
2025-12-26 10:03:50 +08:00
2026-01-05 09:29:35 +08:00
.bottom-font {
color: #555555;
font-size: 1.4vw;
margin-left: 0.5vw;
2025-11-05 15:59:48 +08:00
}
2026-01-05 09:29:35 +08:00
}
2025-11-05 15:59:48 +08:00
2026-01-05 09:29:35 +08:00
.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;
2025-12-25 17:30:31 +08:00
display: flex;
2026-01-05 09:29:35 +08:00
justify-content: center;
align-items: center;
2025-11-05 15:59:48 +08:00
2026-01-05 09:29:35 +08:00
.right-img {
width: 0.8vw;
height: 0.8vw;
2025-12-25 17:30:31 +08:00
}
2026-01-05 09:29:35 +08:00
}
2025-11-05 15:59:48 +08:00
2026-01-05 09:29:35 +08:00
.card-spec {
position: absolute;
top: 1.1vw;
left: 1.6vw;
width: 1.5vw;
height: 2vw;
// background-color: #0076FF;
2025-12-25 17:30:31 +08:00
2026-01-05 09:29:35 +08:00
.line {
position: absolute;
inset: 0;
background: linear-gradient(to bottom right,
transparent calc(50% - 1px),
#d5d5d5 50%,
transparent calc(50% + 1px))
2025-12-25 17:30:31 +08:00
}
2026-01-05 09:29:35 +08:00
.line-gray {
2025-12-25 17:30:31 +08:00
position: absolute;
2026-01-05 09:29:35 +08:00
right: -1.1vw;
bottom: -0.6vw;
color: #888888;
font-size: 1.3vw;
2025-12-25 17:30:31 +08:00
}
}
}
2025-12-26 10:03:50 +08:00
.title-time {
2025-12-25 17:30:31 +08:00
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;
2025-12-26 10:03:50 +08:00
.time-title {
2025-12-25 17:30:31 +08:00
font-weight: 600;
font-size: 3vw;
margin-top: 0.4vw;
}
2025-12-26 10:03:50 +08:00
.time-date {
2025-12-25 17:30:31 +08:00
margin-top: 0.2vw;
font-size: 1.3vw;
color: #222222;
2025-11-05 15:59:48 +08:00
}
}
2025-12-26 10:03:50 +08:00
.blue-button {
2025-12-25 17:30:31 +08:00
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;
2026-01-06 16:37:04 +08:00
position: relative;
2025-12-25 17:30:31 +08:00
}
2025-12-26 10:03:50 +08:00
.name-weight {
2025-12-25 17:30:31 +08:00
font-size: 2vw;
font-weight: 600;
margin: 0.2vw 0;
}
2025-12-26 10:03:50 +08:00
.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;
2026-01-12 17:20:37 +08:00
padding: 0 0.4vw;
2025-12-26 10:03:50 +08:00
border-radius: 0.8vw;
font-size: 1.2vw;
margin: 0 0.2vw;
2026-01-12 17:20:37 +08:00
white-space: nowrap;
flex-wrap: nowrap;
2025-12-26 10:03:50 +08:00
}
}
2025-12-26 15:15:35 +08:00
.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;
2026-01-09 16:25:02 +08:00
padding:0 0 0 1.5vw;
2025-12-26 15:15:35 +08:00
.fixed-card-left {
display: flex;
flex-direction: column;
align-items: center;
2026-01-09 16:25:02 +08:00
margin-right:1.2vw;
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-09 16:25:02 +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-06 13:23:24 +08:00
.noarray {
width: 90%;
height: 100%;
// background-color: red;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
.noarray-img {
margin-top: -200rpx;
width: 350rpx;
height: 350rpx;
}
}
.noarray-font {
margin-top: -60rpx;
color: #888888;
font-size: 25rpx;
}
.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%;
border-radius: 30rpx;
display:flex;
position: relative;
video{
width: 100%;
height: 100%;
}
}
}
}
2026-01-06 16:37:04 +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%;
2026-01-12 17:20:37 +08:00
height: 29.5vw;
2026-01-06 16:37:04 +08:00
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;
justify-content: space-around;
margin-top: 2.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%;
}
}
.jb{
position: absolute;
width: 2.2vw;
height: 1.1vw;
top: 2.7vw;
right: 1.5vw;
2026-01-08 15:17:24 +08:00
z-index: 201;
2026-01-06 16:37:04 +08:00
image{
width: 100%;
height: 100%;
}
}
.zzh0{
height: 0vw !important;
padding: 0 1.6vw !important;
2026-01-08 15:17:24 +08:00
// top: 2.7vw !important;
2026-01-06 16:37:04 +08:00
}
.zzbq{
width: 18vw;
height: 10vw;
background: #FFFFFF;
box-shadow: 0rpx 0rpx 0.5vw 0rpx rgba(136,148,167,0.19);
border-radius: 1.6vw;
right: -0.8vw;
top: 4vw;
position: absolute;
z-index: 200;
display: flex;
padding: 1.6vw 1.6vw 0;
.carfd{
width: 7.4vw;
height: 100%;
.tg{
width: 100%;
display: flex;
justify-content: space-around;
margin-top: 1vw;
view{
width: 1.8vw;
image{
width: 1.8vw;
height: 1.8vw;
}
text{
font-weight: 400;
font-size: 0.8vw;
color: #666666;
margin-top: 0.2vw;
}
}
}
.tittop{
height: 2vw;
font-weight: 400;
font-size: 1.1vw;
color: #333333;
display: flex;
align-items: center;
view{
width: 0.4vw;
height: 1.2vw;
background: #017DE9;
border-radius: 0.2vw;
margin-right: 0.8vw;
}
}
}
}
2025-11-05 15:59:48 +08:00
</style>