医疗预览页完事
|
|
@ -1138,7 +1138,7 @@
|
||||||
})
|
})
|
||||||
|
|
||||||
const filteredMenu = (index : number) => {
|
const filteredMenu = (index : number) => {
|
||||||
console.log(leftMenuArray.value.filter(item => Number(item.areaFlag) - 1 == index))
|
// console.log(leftMenuArray.value.filter(item => Number(item.areaFlag) - 1 == index))
|
||||||
return leftMenuArray.value.filter(item => Number(item.areaFlag) - 1 == index);
|
return leftMenuArray.value.filter(item => Number(item.areaFlag) - 1 == index);
|
||||||
}
|
}
|
||||||
const getmenu = () => {
|
const getmenu = () => {
|
||||||
|
|
|
||||||
|
|
@ -531,9 +531,43 @@
|
||||||
height: 100%;
|
height: 100%;
|
||||||
margin-left: 14%;
|
margin-left: 14%;
|
||||||
background-color: #F7F8F9;
|
background-color: #F7F8F9;
|
||||||
border-radius: 15rpx;
|
border-radius: 25rpx;
|
||||||
padding-top: 10rpx;
|
padding-top: 10rpx;
|
||||||
padding-left: 20rpx;
|
padding-left: 20rpx;
|
||||||
|
/* position: relative; */
|
||||||
|
|
||||||
|
.history-left-jiao{
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 85rpx;
|
||||||
|
height: 45rpx;
|
||||||
|
background-color: #D9E5FF;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
border-top-right-radius: 25rpx;
|
||||||
|
border-bottom-left-radius: 25rpx;
|
||||||
|
color: #3C9CFD;
|
||||||
|
font-size: 19rpx;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
.history-left-jiao-error{
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 85rpx;
|
||||||
|
height: 45rpx;
|
||||||
|
background-color: #FFEBEB;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
border-top-right-radius: 25rpx;
|
||||||
|
border-bottom-left-radius: 25rpx;
|
||||||
|
color: #F76E6E;
|
||||||
|
font-size: 19rpx;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* background-color: red; */
|
/* background-color: red; */
|
||||||
|
|
@ -579,6 +613,7 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
transition: height 0.3s ease;
|
||||||
|
|
||||||
.history-left {
|
.history-left {
|
||||||
/* margin-left: 58rpx; */
|
/* margin-left: 58rpx; */
|
||||||
|
|
@ -630,10 +665,12 @@
|
||||||
.history-shu-up {
|
.history-shu-up {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 32rpx;
|
left: 32rpx;
|
||||||
top: -53.5%;
|
bottom: calc(50% + 13rpx);
|
||||||
width: 3rpx;
|
width: 3rpx;
|
||||||
height: 93%;
|
height: 110rpx;
|
||||||
background-color: #E5E5E5;
|
background-color: #E5E5E5;
|
||||||
|
transition: height 0.3s ease;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.history-shu-circle {
|
.history-shu-circle {
|
||||||
|
|
@ -668,7 +705,7 @@
|
||||||
.future-item-target {
|
.future-item-target {
|
||||||
width: 90%;
|
width: 90%;
|
||||||
margin-left: 5%;
|
margin-left: 5%;
|
||||||
min-height: 152rpx;
|
height: 152rpx;
|
||||||
margin-bottom: 10rpx;
|
margin-bottom: 10rpx;
|
||||||
background-color: #F7F8F9;
|
background-color: #F7F8F9;
|
||||||
border-radius: 30rpx;
|
border-radius: 30rpx;
|
||||||
|
|
@ -679,14 +716,14 @@
|
||||||
color: #555555;
|
color: #555555;
|
||||||
position: relative;
|
position: relative;
|
||||||
border: 2rpx solid #4690FF;
|
border: 2rpx solid #4690FF;
|
||||||
transition: height 0.3s ease;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.future-item {
|
.future-item {
|
||||||
width: 90%;
|
width: 90%;
|
||||||
margin-left: 5%;
|
margin-left: 5%;
|
||||||
min-height: 152rpx;
|
height: 152rpx;
|
||||||
margin-bottom: 10rpx;
|
margin-bottom: 10rpx;
|
||||||
background-color: #F7F8F9;
|
background-color: #F7F8F9;
|
||||||
border-radius: 30rpx;
|
border-radius: 30rpx;
|
||||||
|
|
@ -697,7 +734,7 @@
|
||||||
color: #555555;
|
color: #555555;
|
||||||
position: relative;
|
position: relative;
|
||||||
border: 2rpx solid #F7F8F9;
|
border: 2rpx solid #F7F8F9;
|
||||||
transition: height 0.3s ease;
|
/* transition: height 0.3s ease; */
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -733,6 +770,7 @@
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.future-info {
|
.future-info {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 23rpx;
|
left: 23rpx;
|
||||||
|
|
@ -741,14 +779,24 @@
|
||||||
color: #555555;
|
color: #555555;
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
.info{
|
.future-info-second {
|
||||||
|
position: absolute;
|
||||||
|
left:80rpx;
|
||||||
|
bottom: 12rpx;
|
||||||
|
font-size: 25rpx;
|
||||||
|
color: #555555;
|
||||||
display: flex;
|
display: flex;
|
||||||
.info-img{
|
}
|
||||||
|
.info {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.info-img {
|
||||||
width: 30rpx;
|
width: 30rpx;
|
||||||
height: 30rpx;
|
height: 30rpx;
|
||||||
margin-right: 3rpx;
|
margin-right: 3rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendar-father {
|
.calendar-father {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 150rpx;
|
top: 150rpx;
|
||||||
|
|
@ -788,6 +836,13 @@
|
||||||
font-size: 22rpx;
|
font-size: 22rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.small-font-target {
|
||||||
|
margin-top: 3rpx;
|
||||||
|
width: 310rpx;
|
||||||
|
color: #999999;
|
||||||
|
font-size: 22rpx;
|
||||||
|
}
|
||||||
|
|
||||||
.card-bao {
|
.card-bao {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 30rpx;
|
right: 30rpx;
|
||||||
|
|
@ -847,7 +902,7 @@
|
||||||
top: 20rpx;
|
top: 20rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 5rpx;
|
gap: 5rpx;
|
||||||
|
|
||||||
|
|
||||||
/* height: 28px; */
|
/* height: 28px; */
|
||||||
/* 点的高度 + 跳起空间 */
|
/* 点的高度 + 跳起空间 */
|
||||||
|
|
@ -860,7 +915,7 @@
|
||||||
background: #4690FF;
|
background: #4690FF;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
animation: jump 1.5s ease-in-out infinite;
|
animation: jump 1.5s ease-in-out infinite;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -883,19 +938,23 @@
|
||||||
animation: none;
|
animation: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.open-img-father{
|
|
||||||
|
.open-img-father {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 35rpx;
|
right: 35rpx;
|
||||||
bottom: 28rpx;
|
bottom: 28rpx;
|
||||||
width: 22rpx;
|
width: 22rpx;
|
||||||
height: 22rpx;
|
height: 22rpx;
|
||||||
transition: transform 0.3s ease;
|
|
||||||
.open-img{
|
|
||||||
|
.open-img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
transition: transform 0.3s ease;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.serviceContent{
|
|
||||||
|
.serviceContent {
|
||||||
color: #999999;
|
color: #999999;
|
||||||
margin-top: 20rpx;
|
margin-top: 20rpx;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -120,64 +120,102 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="order-future">
|
<view class="order-future">
|
||||||
<scroll-view class="future-items" scroll-with-animation scroll-y :scroll-top="firsttopmove">
|
<scroll-view class="future-items" scroll-with-animation scroll-y :scroll-top="firsttopmove">
|
||||||
<view :class="moveById===item.id? `future-item-target`: `future-item`"
|
<view style="position: relative;" v-for="(item,index) in upmenuarray" :key="index"
|
||||||
:style="firstListTarget===index?{height:`304rpx`}:{height:`152rpx`}"
|
@click="searchtable(item);">
|
||||||
v-for="(item,index) in upmenuarray" :key="index" @click="searchtable(item);">
|
<view :class="moveById===item.id? `future-item-target`: `future-item`">
|
||||||
<view class="future-fonts">
|
<view class="future-fonts">
|
||||||
<view class="card-over">
|
<view class="card-over">
|
||||||
{{ item.directiveName }}
|
{{ item.directiveName }}
|
||||||
|
</view>
|
||||||
|
{{ ` | ` +item.serviceDuration + `分钟` }}
|
||||||
</view>
|
</view>
|
||||||
{{ ` | ` +item.serviceDuration + `分钟` }}
|
<view class="future-time">
|
||||||
</view>
|
<text class="time">
|
||||||
<view class="future-time">
|
{{ extractHHMM(item.startTime) }}
|
||||||
<text class="time">
|
</text>
|
||||||
{{ extractHHMM(item.startTime) }}
|
<view class="time-right-bad" v-if="item.tagtype">
|
||||||
</text>
|
{{ item.tagtype=="1"?'即将开始':'指令尚未开始' }}
|
||||||
<view class="time-right-bad" v-if="item.tagtype">
|
</view>
|
||||||
{{ item.tagtype=="1"?'即将开始':'指令尚未开始' }}
|
<view class="time-right-blue" v-else>
|
||||||
</view>
|
正在进行
|
||||||
<view class="time-right-blue" v-else>
|
<view class="ellipsis">
|
||||||
正在进行
|
<view v-for="(n, idx) in 3" :key="idx" class="dot"
|
||||||
<view class="ellipsis">
|
:style="{ animationDelay: (idx * 0.12) + 's' }"></view>
|
||||||
<view v-for="(n, idx) in 3" :key="idx" class="dot"
|
</view>
|
||||||
:style="{ animationDelay: (idx * 0.12) + 's' }"></view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
<view class="future-tag">
|
||||||
<view class="future-tag">
|
{{ item.cycleType }}
|
||||||
{{ item.cycleType }}
|
|
||||||
</view>
|
|
||||||
<view class="future-info" v-if="firstListTarget===index">
|
|
||||||
<view class="info" v-if="item.optType == 2">
|
|
||||||
<image class="info-img" src="/static/index/leftpeople.png" />
|
|
||||||
<view class="">
|
|
||||||
{{ item.optNames?.split(',')[0] }}
|
|
||||||
</view>
|
|
||||||
<image class="info-img" style="margin-left: 15rpx;" src="/static/index/rightpeople.png" />
|
|
||||||
<view class="">
|
|
||||||
{{ item.optNames?.split(',')[1] }}
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="info" v-else>
|
<view class="open-img-father" v-if="!item.tagtype"
|
||||||
<image class="info-img" src="/static/index/leftpeople.png" />
|
@click.stop="clickfirstarray(item,index);"
|
||||||
<view class="">
|
:style="firstListTarget===index?{transform: `rotate(180deg)`}:{}">
|
||||||
{{ item.optTypeName }}
|
<image class="open-img" src="/static/index/down.png" />
|
||||||
</view>
|
|
||||||
<image class="info-img" style="margin-left: 15rpx;" src="/static/index/rightpeople.png" />
|
|
||||||
<view class="">
|
|
||||||
{{ item.optNames }}
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="open-img-father" v-if="!item.tagtype"
|
<view
|
||||||
@click.stop="clickfirstarray(item,index)"
|
style="position: absolute;top: 0;left: 0;transition: height 0.3s, top 0.3s;z-index: 9999; ;"
|
||||||
:style="firstListTarget===index?{transform: `rotate(180deg)`}:{}">
|
:class="moveById===item.id? `future-item-target`: `future-item`" :style="{
|
||||||
<image class="open-img" src="/static/index/down.png" />
|
height: firstListTarget === index ? '320rpx' : '152rpx',
|
||||||
|
left: firstListTargetShow === index ? '0' : '999rpx',
|
||||||
|
top: index === upmenuarray.length - 1 && firstListTarget === index? `-168rpx`:`0rpx`
|
||||||
|
}">
|
||||||
|
<view class="future-fonts">
|
||||||
|
<view class="card-over">
|
||||||
|
{{ item.directiveName }}
|
||||||
|
</view>
|
||||||
|
{{ ` | ` +item.serviceDuration + `分钟` }}
|
||||||
|
</view>
|
||||||
|
<view class="future-time">
|
||||||
|
<text class="time">
|
||||||
|
{{ extractHHMM(item.startTime) }}
|
||||||
|
</text>
|
||||||
|
<view class="time-right-bad" v-if="item.tagtype">
|
||||||
|
{{ item.tagtype=="1"?'即将开始':'指令尚未开始' }}
|
||||||
|
</view>
|
||||||
|
<view class="time-right-blue" v-else>
|
||||||
|
正在进行
|
||||||
|
<view class="ellipsis">
|
||||||
|
<view v-for="(n, idx) in 3" :key="idx" class="dot"
|
||||||
|
:style="{ animationDelay: (idx * 0.12) + 's' }"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="future-tag">
|
||||||
|
{{ item.cycleType }}
|
||||||
|
</view>
|
||||||
|
<view class="future-info" v-if="firstListTarget===index">
|
||||||
|
<view class="info" v-if="item.optType == 2">
|
||||||
|
<image class="info-img" src="/static/index/leftpeople.png" />
|
||||||
|
<view class="">
|
||||||
|
{{ item.optNames?.split(',')[0] }}
|
||||||
|
</view>
|
||||||
|
<image class="info-img" style="margin-left: 15rpx;"
|
||||||
|
src="/static/index/rightpeople.png" />
|
||||||
|
<view class="">
|
||||||
|
{{ item.optNames?.split(',')[1] }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="info" v-else>
|
||||||
|
<image class="info-img" src="/static/index/leftpeople.png" />
|
||||||
|
<view class="">
|
||||||
|
{{ item.optTypeName }}
|
||||||
|
</view>
|
||||||
|
<image class="info-img" style="margin-left: 15rpx;"
|
||||||
|
src="/static/index/rightpeople.png" />
|
||||||
|
<view class="">
|
||||||
|
{{ item.optNames }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="open-img-father" @click.stop="clickfirstarray(item,index)"
|
||||||
|
:style="firstListTarget===index?{transform: `rotate(180deg)`}:{}">
|
||||||
|
<image class="open-img" src="/static/index/down.png" />
|
||||||
|
</view>
|
||||||
|
<view class="serviceContent" v-if="firstListTarget===index">
|
||||||
|
{{ item.serviceContent }}
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="serviceContent" v-if="firstListTarget===index">
|
|
||||||
{{ item.serviceContent }}
|
|
||||||
</view>
|
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -192,30 +230,129 @@
|
||||||
</view>
|
</view>
|
||||||
<scroll-view class="history-items" scroll-with-animation scroll-y
|
<scroll-view class="history-items" scroll-with-animation scroll-y
|
||||||
:scroll-top="secondtopmove">
|
:scroll-top="secondtopmove">
|
||||||
<view class="history-item" v-for="(item,index) in downmenuarray" :key="index"
|
<view v-for="(item,index) in downmenuarray" :key="index" @click="searchtable(item);">
|
||||||
@click="searchtable(item);">
|
<view class="history-item">
|
||||||
<view class="history-shu-up" v-if="index"></view>
|
<view class="history-shu-up" v-if="index"></view>
|
||||||
<view class="history-shu-circle"></view>
|
<view class="history-shu-circle"></view>
|
||||||
<view class="history-spe"
|
<view class="history-spe"
|
||||||
:style="moveById===item.id?{border:`2rpx solid #46B2F6`}:{border:`2rpx solid transparent`}">
|
:style="moveById===item.id?{border:`2rpx solid #46B2F6`}:{border:`2rpx solid transparent`}">
|
||||||
<view class="history-left">
|
<view class="history-left">
|
||||||
<view class="history-time">
|
<view
|
||||||
{{ extractHHMM(item.startTime) }}
|
:class="item.executeStatus!==`hisOk`?`history-left-jiao-error`: `history-left-jiao`"
|
||||||
</view>
|
style="top: 2rpx;right: 2rpx;"
|
||||||
<view style="display: flex;width: 1000rpx;">
|
v-show="secondListTargetShow !== index">
|
||||||
<image class="history-img"
|
{{ item.rightshow }}
|
||||||
:src="`${serverUrl}${item.previewFileSmall}`" />
|
</view>
|
||||||
<view class="history-name">
|
<view class="history-time">
|
||||||
{{ item.directiveName+" " }}|{{" " + item.serviceDuration + `分钟` }}
|
{{ extractHHMM(item.startTime) }}
|
||||||
|
</view>
|
||||||
|
<view style="display: flex;width: 1000rpx;">
|
||||||
|
<image class="history-img"
|
||||||
|
:src="`${serverUrl}${item.previewFileSmall}`" />
|
||||||
|
<view class="history-name">
|
||||||
|
{{ item.directiveName+" " }}|{{" " + item.serviceDuration + `分钟` }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="small-font">
|
||||||
|
{{ item.serviceContent }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="small-font">
|
<view class="history-spe"
|
||||||
{{ item.serviceContent }}
|
style="position: absolute;top: 0;left: 0;transition: height 0.3s, top 0.3s;z-index: 9999; "
|
||||||
|
:style="{
|
||||||
|
height: secondListTarget === index ? '260rpx' : '120rpx',
|
||||||
|
left: secondListTargetShow === index ? '0' : '999rpx',
|
||||||
|
top: index === downmenuarray.length - 1 && secondListTarget === index ? '-140rpx' : '0rpx',
|
||||||
|
border: moveById === item.id ? '2rpx solid #46B2F6' : '2rpx solid transparent'
|
||||||
|
}">
|
||||||
|
<view class="history-left">
|
||||||
|
<view
|
||||||
|
:class="item.executeStatus!==`hisOk`?`history-left-jiao-error`: `history-left-jiao`"
|
||||||
|
v-show="secondListTargetShow === index">
|
||||||
|
{{ item.rightshow }}
|
||||||
|
</view>
|
||||||
|
<view class="history-time">
|
||||||
|
{{ extractHHMM(item.startTime) }}
|
||||||
|
</view>
|
||||||
|
<view style="display: flex;width: 1000rpx;">
|
||||||
|
<image class="history-img"
|
||||||
|
:src="`${serverUrl}${item.previewFileSmall}`" />
|
||||||
|
<view class="history-name">
|
||||||
|
{{ item.directiveName+" " }}|{{" " + item.serviceDuration + `分钟` }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view
|
||||||
|
:class="secondListTarget===index?`small-font-target`:`small-font`">
|
||||||
|
{{ item.serviceContent }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="future-info-second" style="left: 20rpx;"
|
||||||
|
v-if="secondListTarget===index">
|
||||||
|
<view class="info" v-if="item.optType == 2">
|
||||||
|
<image class="info-img" src="/static/index/leftpeople.png" />
|
||||||
|
<view class="">
|
||||||
|
{{ item.optNames?.split(',')[0] }}
|
||||||
|
</view>
|
||||||
|
<image class="info-img" style="margin-left: 15rpx;"
|
||||||
|
src="/static/index/rightpeople.png" />
|
||||||
|
<view class="">
|
||||||
|
{{ item.optNames?.split(',')[1] }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="info" v-else>
|
||||||
|
<image class="info-img" src="/static/index/leftpeople.png" />
|
||||||
|
<view class="">
|
||||||
|
{{ item.optTypeName }}
|
||||||
|
</view>
|
||||||
|
<image class="info-img" style="margin-left: 15rpx;"
|
||||||
|
src="/static/index/rightpeople.png" />
|
||||||
|
<view class="">
|
||||||
|
{{ item.optNames }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="open-img-father" style="right: 15rpx;bottom: 11.5rpx;"
|
||||||
|
@click.stop="clicksecondarray(item,index)">
|
||||||
|
|
||||||
|
<image
|
||||||
|
:style="secondListTarget===index?{transform: `rotate(180deg)`}:{}"
|
||||||
|
class="open-img" src="/static/index/down.png" />
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="future-info-second"
|
||||||
|
v-if="secondListTarget===index&& secondListTargetShow !== index">
|
||||||
|
<view class="info" v-if="item.optType == 2">
|
||||||
|
<image class="info-img" src="/static/index/leftpeople.png" />
|
||||||
|
<view class="">
|
||||||
|
{{ item.optNames?.split(',')[0] }}
|
||||||
|
</view>
|
||||||
|
<image class="info-img" style="margin-left: 15rpx;"
|
||||||
|
src="/static/index/rightpeople.png" />
|
||||||
|
<view class="">
|
||||||
|
{{ item.optNames?.split(',')[1] }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="info" v-else>
|
||||||
|
<image class="info-img" src="/static/index/leftpeople.png" />
|
||||||
|
<view class="">
|
||||||
|
{{ item.optTypeName }}
|
||||||
|
</view>
|
||||||
|
<image class="info-img" style="margin-left: 15rpx;"
|
||||||
|
src="/static/index/rightpeople.png" />
|
||||||
|
<view class="">
|
||||||
|
{{ item.optNames }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="open-img-father" style="right: 16rpx;bottom: 12rpx;"
|
||||||
|
@click.stop="clicksecondarray(item,index)">
|
||||||
|
<image class="open-img" src="/static/index/down.png"
|
||||||
|
:style="secondListTarget===index?{transform: `rotate(180deg)`}:{}" />
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
<view class="calendar-father" v-show="opendata">
|
<view class="calendar-father" v-show="opendata">
|
||||||
|
|
@ -252,6 +389,55 @@
|
||||||
|
|
||||||
const firstListTarget = ref(-1)
|
const firstListTarget = ref(-1)
|
||||||
const secondListTarget = ref(-1)
|
const secondListTarget = ref(-1)
|
||||||
|
|
||||||
|
const firstListTargetShow = ref(-1)
|
||||||
|
const secondListTargetShow = ref(-1)
|
||||||
|
|
||||||
|
let _hideTimer = null
|
||||||
|
watch(secondListTarget, (newVal) => {
|
||||||
|
// 先清掉之前的定时器(如果有)
|
||||||
|
if (_hideTimer) {
|
||||||
|
clearTimeout(_hideTimer)
|
||||||
|
_hideTimer = null
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newVal === -1) {
|
||||||
|
// 延迟 0.3s 再隐藏(设置为 -1)
|
||||||
|
_hideTimer = setTimeout(() => {
|
||||||
|
secondListTargetShow.value = -1
|
||||||
|
_hideTimer = null
|
||||||
|
}, 300) // 300ms = 0.3s
|
||||||
|
} else {
|
||||||
|
// 非 -1 时立即同步
|
||||||
|
secondListTargetShow.value = newVal
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
watch(firstListTarget, (newVal) => {
|
||||||
|
// 先清掉之前的定时器(如果有)
|
||||||
|
if (_hideTimer) {
|
||||||
|
clearTimeout(_hideTimer)
|
||||||
|
_hideTimer = null
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newVal === -1) {
|
||||||
|
// 延迟 0.3s 再隐藏(设置为 -1)
|
||||||
|
_hideTimer = setTimeout(() => {
|
||||||
|
firstListTargetShow.value = -1
|
||||||
|
_hideTimer = null
|
||||||
|
}, 300) // 300ms = 0.3s
|
||||||
|
} else {
|
||||||
|
// 非 -1 时立即同步
|
||||||
|
firstListTargetShow.value = newVal
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
onBeforeUnmount(() => {
|
||||||
|
if (_hideTimer) {
|
||||||
|
clearTimeout(_hideTimer)
|
||||||
|
_hideTimer = null
|
||||||
|
}
|
||||||
|
})
|
||||||
/* ---- 用于 transform 的响应式字符串 ----
|
/* ---- 用于 transform 的响应式字符串 ----
|
||||||
注意:虽然这是响应式,但我们只在 rAF 里更新它(受控更新),避免频繁触发 Vue 渲染 */
|
注意:虽然这是响应式,但我们只在 rAF 里更新它(受控更新),避免频繁触发 Vue 渲染 */
|
||||||
const transformStyle = ref('translate3d(0, 0, 0)');
|
const transformStyle = ref('translate3d(0, 0, 0)');
|
||||||
|
|
@ -477,10 +663,17 @@
|
||||||
const clickfirstarray = (item, index) => {
|
const clickfirstarray = (item, index) => {
|
||||||
if (firstListTarget.value != -1) {
|
if (firstListTarget.value != -1) {
|
||||||
firstListTarget.value = -1
|
firstListTarget.value = -1
|
||||||
} else if (!item.tagtype) {
|
} else {
|
||||||
firstListTarget.value = index;
|
firstListTarget.value = index;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const clicksecondarray = (item, index) => {
|
||||||
|
if (secondListTarget.value != -1) {
|
||||||
|
secondListTarget.value = -1
|
||||||
|
} else if (!item.tagtype) {
|
||||||
|
secondListTarget.value = index;
|
||||||
|
}
|
||||||
|
}
|
||||||
// 通用的生成函数
|
// 通用的生成函数
|
||||||
function genPaths(base, prefix, count, ext = 'png', startIndex = 0, pad = false) {
|
function genPaths(base, prefix, count, ext = 'png', startIndex = 0, pad = false) {
|
||||||
return Array.from({ length: count }, (_, i) => {
|
return Array.from({ length: count }, (_, i) => {
|
||||||
|
|
@ -637,6 +830,15 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
upmenuarray.value = [...data.result.current, ...data.result.future]
|
upmenuarray.value = [...data.result.current, ...data.result.future]
|
||||||
|
data.result.history.forEach((element : any, index : number) => {
|
||||||
|
if (element.executeStatus === 'hisUnExe') {
|
||||||
|
element.rightshow = `未执行`
|
||||||
|
} else if (element.executeStatus === 'hisTimeOut') {
|
||||||
|
element.rightshow = `超时`
|
||||||
|
} else if (element.executeStatus === 'hisOk') {
|
||||||
|
element.rightshow = `已完成`
|
||||||
|
}
|
||||||
|
})
|
||||||
downmenuarray.value = [...data.result.history]
|
downmenuarray.value = [...data.result.history]
|
||||||
timearr.value = Array.from({ length: 24 }, (_, hour) => ({
|
timearr.value = Array.from({ length: 24 }, (_, hour) => ({
|
||||||
positioning: hour.toString(),
|
positioning: hour.toString(),
|
||||||
|
|
|
||||||
|
|
@ -294,9 +294,9 @@
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if (index == 1) {
|
if (index == 1) {
|
||||||
// uni.navigateTo({
|
uni.navigateTo({
|
||||||
// url: '/pages/recording/recorder'
|
url: '/pages/recording/recorder'
|
||||||
// })
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (index == 2) {
|
// if (index == 2) {
|
||||||
|
|
|
||||||
|
After Width: | Height: | Size: 168 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 878 B |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 818 B |
|
|
@ -574,7 +574,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||||
)
|
)
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
const camera = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]], ["__file", "D:/项目/hldy_app_mini/pages/camera.nvue"]]);
|
const camera = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]], ["__file", "D:/hldy_app_mini/pages/camera.nvue"]]);
|
||||||
export {
|
export {
|
||||||
camera as default
|
camera as default
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -578,7 +578,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||||
)
|
)
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
const fullcamera = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]], ["__file", "D:/项目/hldy_app_mini/pages/fullcamera.nvue"]]);
|
const fullcamera = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]], ["__file", "D:/hldy_app_mini/pages/fullcamera.nvue"]]);
|
||||||
export {
|
export {
|
||||||
fullcamera as default
|
fullcamera as default
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
After Width: | Height: | Size: 168 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 878 B |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 818 B |