Merge branch 'main' of http://47.115.223.229:8888/yangjun/hldy_app_mini
This commit is contained in:
commit
a4e24d4993
|
|
@ -791,8 +791,8 @@
|
|||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 98%;
|
||||
height: 98%;
|
||||
width: 100%;
|
||||
height: 103%;
|
||||
z-index: 10;
|
||||
|
||||
.blue-img {
|
||||
|
|
@ -1332,15 +1332,32 @@
|
|||
.title-time-border-yellow {
|
||||
margin: 10rpx;
|
||||
border: 2rpx solid transparent;
|
||||
/* background: linear-gradient(to bottom, #fff1db, #ffe2b2); */
|
||||
width: calc(100% - 40rpx);
|
||||
height: calc(100% - 40rpx);
|
||||
border-radius: 20rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background-color: rgba(255, 255, 255, 0.5);
|
||||
flex-direction: column;
|
||||
/* box-shadow: 8rpx 8rpx 16rpx rgba(255, 138, 0, 0.7); */
|
||||
font-size: 30rpx;
|
||||
overflow: hidden;
|
||||
width: 240rpx;
|
||||
height: 170rpx;
|
||||
/* background-color: red; */
|
||||
|
||||
.kill-icon {
|
||||
margin-top: 10rpx;
|
||||
width: 70rpx;
|
||||
height: 70rpx;
|
||||
/* 性能关键 */
|
||||
will-change: transform;
|
||||
transform-origin: 50% 52%;
|
||||
}
|
||||
|
||||
.kill-text {
|
||||
white-space: nowrap;
|
||||
color: #818181;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.title-time-border-yellow-active-transparent {
|
||||
|
|
@ -1739,7 +1756,7 @@
|
|||
.neuro-box {
|
||||
position: relative;
|
||||
width: 600rpx;
|
||||
height: 450rpx;
|
||||
height: 550rpx;
|
||||
border-radius: 30rpx;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
|
|
@ -1749,17 +1766,7 @@
|
|||
padding: 0 5%;
|
||||
}
|
||||
|
||||
.button {
|
||||
width: 47%;
|
||||
background-color: #ddf0ff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #007CFF;
|
||||
border: 1rpx solid #007CFF;
|
||||
font-size: 25rpx;
|
||||
border-radius: 30rpx;
|
||||
}
|
||||
|
||||
|
||||
.title {
|
||||
margin-top: 70rpx;
|
||||
|
|
@ -1775,13 +1782,26 @@
|
|||
}
|
||||
|
||||
.button-white {
|
||||
width: 47%;
|
||||
width: 30%;
|
||||
border: 2rpx solid #c3cacd;
|
||||
background: linear-gradient(to bottom, #f3f3f5, #dee4e9);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 25rpx;
|
||||
font-size: 30rpx;
|
||||
border-radius: 30rpx;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.button {
|
||||
width: 30%;
|
||||
background-color: #ddf0ff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #007CFF;
|
||||
border: 1rpx solid #007CFF;
|
||||
font-size: 30rpx;
|
||||
border-radius: 30rpx;
|
||||
}
|
||||
|
||||
|
|
@ -1793,8 +1813,9 @@
|
|||
width: 100%;
|
||||
height: 70rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 0 50rpx;
|
||||
/* justify-content: space-between; */
|
||||
justify-content: center;
|
||||
/* padding: 0 100rpx; */
|
||||
}
|
||||
|
||||
.right-container-title-nav {
|
||||
|
|
@ -2162,7 +2183,6 @@
|
|||
.setting-warn {
|
||||
width: 89%;
|
||||
margin-left: 5.5%;
|
||||
height: 47rpx;
|
||||
border: 2rpx dashed #EE2C35;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
|
@ -2171,9 +2191,14 @@
|
|||
border-radius: 10rpx;
|
||||
background-color: #FFF6F6;
|
||||
font-size: 25rpx;
|
||||
/* margin-top: 0 10rpx; */
|
||||
margin-top: -10rpx;
|
||||
margin-bottom: 10rpx;
|
||||
overflow: hidden;
|
||||
transition: max-height 500ms ease, opacity 500ms ease;
|
||||
height: 47rpx;
|
||||
/* 写死 */
|
||||
line-height: 47rpx;
|
||||
/* 文字垂直居中 */
|
||||
}
|
||||
|
||||
.triangle {
|
||||
|
|
@ -2298,7 +2323,27 @@
|
|||
background-color: #F6F9FF;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.title-time-border-error{
|
||||
border: 2rpx solid red;
|
||||
width: calc(100% - 15rpx);
|
||||
height: calc(100% - 15rpx);
|
||||
border-radius: 20rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background-color: rgba(238, 44, 53, 0.05);
|
||||
flex-direction: column;
|
||||
}
|
||||
.title-time-border-own{
|
||||
border: 2rpx dashed #5E8EF6;
|
||||
width: calc(100% - 15rpx);
|
||||
height: calc(100% - 15rpx);
|
||||
border-radius: 20rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background-color: #F6F9FF;
|
||||
flex-direction: column;
|
||||
opacity: 0.3;
|
||||
}
|
||||
.title-time {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
|
|
@ -3293,10 +3338,10 @@
|
|||
width: 100%;
|
||||
height: 200rpx;
|
||||
display: flex;
|
||||
padding-top:15rpx;
|
||||
padding-top: 15rpx;
|
||||
position: relative;
|
||||
|
||||
|
||||
|
||||
|
||||
.target-edit {
|
||||
position: absolute;
|
||||
right: 5rpx;
|
||||
|
|
@ -3339,7 +3384,8 @@
|
|||
font-size: 23rpx;
|
||||
color: #222222;
|
||||
}
|
||||
.target-black{
|
||||
|
||||
.target-black {
|
||||
position: absolute;
|
||||
top: 2.5rpx;
|
||||
right: 0;
|
||||
|
|
@ -3354,13 +3400,127 @@
|
|||
color: #919191;
|
||||
}
|
||||
}
|
||||
.packtarget-serviceContent{
|
||||
|
||||
.packtarget-serviceContent {
|
||||
width: 430rpx;
|
||||
height: 100rpx;
|
||||
margin-top: 10rpx;
|
||||
font-size: 25rpx;
|
||||
color: #666666;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/* 隐藏状态 */
|
||||
.collapsed {
|
||||
max-height: 0;
|
||||
opacity: 0;
|
||||
padding-top: 0;
|
||||
/* 如需彻底压缩可把内边距也为0 */
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
/* 展开状态 */
|
||||
.expanded {
|
||||
max-height: 47rpx;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.card-box {
|
||||
margin-top: 20rpx;
|
||||
width: 259rpx;
|
||||
height: 245rpx;
|
||||
border-radius: 20rpx;
|
||||
background: #fff;
|
||||
will-change: transform;
|
||||
pointer-events: none;
|
||||
z-index: 200;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
|
||||
.title-time-blue-card {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 98%;
|
||||
height: 98%;
|
||||
z-index: 10;
|
||||
|
||||
.blue-img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.card-bao {
|
||||
position: absolute;
|
||||
left: 35rpx;
|
||||
top: 110rpx;
|
||||
width: 32rpx;
|
||||
height: 32rpx;
|
||||
font-size: 24rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background-color: #4690FF;
|
||||
color: #fff;
|
||||
border-radius: 5rpx;
|
||||
}
|
||||
|
||||
.title-time-border-hisOk {
|
||||
border: 2rpx solid #D4E4FE;
|
||||
width: calc(100% - 15rpx);
|
||||
height: calc(100% - 15rpx);
|
||||
border-radius: 20rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background-color: #F6F9FF;
|
||||
flex-direction: column;
|
||||
font-size: 30rpx;
|
||||
overflow: hidden;
|
||||
border: 2rpx solid #46B2F6;
|
||||
|
||||
.title-time {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
height: 100%;
|
||||
padding: 25rpx;
|
||||
padding-top: 18rpx;
|
||||
flex-direction: column;
|
||||
|
||||
.title-time-font-rel {
|
||||
margin-top: 9rpx;
|
||||
font-size: 33rpx;
|
||||
font-weight: 800;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.title-time-font-tags {
|
||||
font-size: 24rpx;
|
||||
font-weight: 600;
|
||||
/* margin-bottom: 5rpx; */
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.card-time {
|
||||
position: absolute;
|
||||
bottom: 30rpx;
|
||||
left: 30rpx;
|
||||
font-size: 30rpx;
|
||||
|
||||
.weight-time {
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
<view class="super-card-container">
|
||||
<scroll-view style="width: 100%;" scroll-with-animation :scroll-left="cardLeft"
|
||||
:scroll-x="canmove" @scroll="handleTop" :show-scrollbar="false">
|
||||
:scroll-x="canmovechange" @scroll="handleTop" :show-scrollbar="false">
|
||||
<view style="display: flex;width:4824rpx;">
|
||||
<view v-for="(item0,index0) in timearr" :key="index0" class="super-card-right">
|
||||
<view class="super-card-time">
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
<view style="display: flex;height: 1225rpx;position: relative;">
|
||||
<view class="xian-bian"></view>
|
||||
<scroll-view style="height: 100%;width:6960rpx;background-color: #fff;"
|
||||
:scroll-top="scrollTop" scroll-with-animation :scroll-y="canmove"
|
||||
:scroll-top="scrollTop" scroll-with-animation :scroll-y="canmovechange"
|
||||
@scroll="handleScrolltime" :show-scrollbar="false">
|
||||
<view style="display: flex;height: 100%;">
|
||||
<view v-for="(item0,index0) in timearr" :key="index0">
|
||||
|
|
@ -49,16 +49,20 @@
|
|||
@click="rulerTouchClick(item1,index0,index1)"
|
||||
:data-index0="index0" :data-index1="index1">
|
||||
<view class="title-time-blue"
|
||||
v-show="saveEditIndex.index0 == index0 && saveEditIndex.index1 == index1">
|
||||
v-show="saveEditIndex.index0 == index0 && saveEditIndex.index1 == index1 && !isTuoing">
|
||||
<image class="blue-img" src="/static/index/newtarget.png" />
|
||||
</view>
|
||||
<view class="title-time-blue"
|
||||
v-show="targetrule[0] == index0 && targetrule[1] == index1 && isTuoing">
|
||||
<image class="blue-img"
|
||||
src="/static/index/bluetarget.png" />
|
||||
:src="`/static/index/newtarget${timearr[index0]?.children[index1]?.id?`red`:``}.png`" />
|
||||
</view>
|
||||
<view class="card-bao" v-if="item1.izPackage==`Y`">
|
||||
包
|
||||
</view>
|
||||
<view :class="getClass(item1,index0,index1)"
|
||||
style="font-size: 30rpx;overflow: hidden;"
|
||||
:style="{ animationDelay:`-${computeDelay(index0, index1).toFixed(2)}s`,border:saveEditIndex.index0 == index0 && saveEditIndex.index1 == index1? `2rpx solid #46B2F6`:'' }">
|
||||
:style="{ animationDelay:`-${computeDelay(index0, index1).toFixed(2)}s`,border:saveEditIndex.index0 == index0 && saveEditIndex.index1 == index1 && !isTuoing? `2rpx solid #46B2F6`:'' }">
|
||||
|
||||
<view class="title-time" v-if="item1.startTime"
|
||||
style="flex-direction: column;">
|
||||
|
|
@ -114,8 +118,9 @@
|
|||
<view class="tags-img-father">
|
||||
<view v-for="(item,index) in bodyTagListLook" :key="index"
|
||||
class="tags-img-view">
|
||||
<image class="tags-img" :src="serverUrl + item.pic" />
|
||||
<view class="">
|
||||
<image class="tags-img"
|
||||
:src="item.pic ? (serverUrl + item.pic) : noimageshow" />
|
||||
<view style="white-space: nowrap;">
|
||||
{{ item.tagName }}
|
||||
</view>
|
||||
</view>
|
||||
|
|
@ -130,7 +135,8 @@
|
|||
<view class="tags-img-father" style="margin-left: 10rpx;">
|
||||
<view v-for="(item,index) in emotionTagListLook" :key="index"
|
||||
class="tags-img-view">
|
||||
<image class="tags-img" :src="serverUrl + item.pic" />
|
||||
<image class="tags-img"
|
||||
:src="item.pic ? (serverUrl + item.pic) : noimageshow" />
|
||||
<view class="">
|
||||
{{ item.tagName }}
|
||||
</view>
|
||||
|
|
@ -153,8 +159,8 @@
|
|||
</view>
|
||||
<view class="menu-heng" :style="menutype?{left:`222rpx`}:{}"></view>
|
||||
</view>
|
||||
<view class="setting-warn">
|
||||
{{ menutype?`情绪`:`体型`}}标签可复选两项
|
||||
<view class="setting-warn" :class="[showtomuch ? 'expanded' : 'collapsed']">
|
||||
{{ (menutype ? '情绪' : '体型') + '标签可复选两项' }}
|
||||
</view>
|
||||
<view class="setting-list">
|
||||
<scroll-view style="height: 100%;width:100%;" scroll-with-animation scroll-y>
|
||||
|
|
@ -163,9 +169,11 @@
|
|||
<view :class="item.izSelected==`Y`?`check-box-target`: `check-box`">
|
||||
✓
|
||||
</view>
|
||||
<image class="check-img"
|
||||
:src="serverUrl + (item.izSelected==`Y`?item.picFocus: item.pic)" />
|
||||
<view class="check-text-view">
|
||||
<image class="check-img" :src="
|
||||
item.izSelected === 'Y'
|
||||
? (item.picFocus ? serverUrl + item.picFocus : noimageshow)
|
||||
: (item.pic ? serverUrl + item.pic : noimageshow)" />
|
||||
<view class=" check-text-view">
|
||||
<view class="check-weight"
|
||||
:style="item.izSelected==`Y`?{color:`#0074E1`}: {}">
|
||||
{{ item.tagName }}
|
||||
|
|
@ -186,7 +194,7 @@
|
|||
|
||||
<view class="forfixed" @click.stop>
|
||||
<view class="right-instant" v-show="!openmore"
|
||||
:style="isblue==`1`?{border:`4rpx dashed #0089FE`}:{border:`4rpx dashed #fff`}">
|
||||
:style="isblue==`1`&&isTuoing?{border:`4rpx dashed #0089FE`}:{border:`4rpx dashed #fff`}">
|
||||
<view class="right-instant-title">
|
||||
<view class="blue-shu" style="margin-left: 30rpx;"></view>
|
||||
<view class="blue-font">
|
||||
|
|
@ -201,20 +209,19 @@
|
|||
<view class="forscroll" @touchstart="startdelete" @touchend="enddelete">
|
||||
<view class="instant" :class="{ pop: popping && index === 0 }"
|
||||
v-for="(item,index) in bottomItems.slice(0,3)">
|
||||
<image class="instant-icon" :src="serverUrl+item.immediateFile"
|
||||
<image class="instant-icon"
|
||||
:src="item.immediateFile? (serverUrl + item.immediateFile ) : noimageshow "
|
||||
:class="deleteshake?`wiggle`:``" mode="aspectFill"></image>
|
||||
<view class="instant-text">
|
||||
{{ item.directiveName }}
|
||||
</view>
|
||||
<view class="instant-close" v-show="deleteshake"
|
||||
@click.stop="killjishi(item.id)">
|
||||
<image style="width: 100%;height: 100%;"
|
||||
@click.stop="killinstantopen(item)">
|
||||
<image style="width: 80%;height: 80%;"
|
||||
src="/static/index/deleticon.png" mode="aspectFill"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
<view class="instant-more" v-if="bottomItems.length > 3" @click="clickopenmore">
|
||||
<image class="more-imge" src="/static/index/down.png" />
|
||||
|
|
@ -222,7 +229,7 @@
|
|||
</view>
|
||||
</view>
|
||||
<view class="right-instant-more" v-if="openmore" @click="deleteshake = false"
|
||||
:style="isblue?{border:`4rpx dashed #0089FE`}:{border:`4rpx dashed #fff`}">
|
||||
:style="isblue==`1`&&isTuoing?{border:`4rpx dashed #0089FE`}:{border:`4rpx dashed #fff`}">
|
||||
<view class="right-instant-title">
|
||||
<view class="blue-shu" style="margin-left: 30rpx;"></view>
|
||||
<view class="blue-font">
|
||||
|
|
@ -236,16 +243,18 @@
|
|||
<view class="forscroll" @touchstart="startdelete" @touchend="enddelete">
|
||||
<view class="instant" v-for="(item,index) in bottomItems"
|
||||
@click="clickinstant(index)">
|
||||
<image class="instant-icon" :class="deleteshake?`wiggle`:``"
|
||||
:src="index === moreindex?serverUrl+item.immediateFileFocus:serverUrl+item.immediateFile"
|
||||
mode="aspectFill"></image>
|
||||
<image class="instant-icon" :class="deleteshake?`wiggle`:``" :src="
|
||||
index === moreindex
|
||||
? (item.immediateFileFocus ? serverUrl + item.immediateFileFocus : noimageshow)
|
||||
: (item.immediateFile ? serverUrl + item.immediateFile : noimageshow)
|
||||
" mode="aspectFill"></image>
|
||||
<view class="instant-text"
|
||||
:style="index === moreindex?{color:`#0084ff`}:{}">
|
||||
{{ item.directiveName }}
|
||||
</view>
|
||||
<view class="instant-close" v-show="deleteshake"
|
||||
@click.stop="killjishi(item.id)">
|
||||
<image style="width: 100%;height: 100%;"
|
||||
@click.stop="killinstantopen(item)">
|
||||
<image style="width: 80%;height: 80%;"
|
||||
src="/static/index/deleticon.png" mode="aspectFill"></image>
|
||||
</view>
|
||||
</view>
|
||||
|
|
@ -309,15 +318,17 @@
|
|||
</view>
|
||||
<view class="three-items" v-show="!ruleritem.directiveName && !servertype">
|
||||
<view class="tree-item">
|
||||
<scroll-view style="height: 100%;width:100%;" :scroll-y="canmove"
|
||||
<scroll-view style="height: 100%;width:100%;" :scroll-y="canmovechange"
|
||||
@scroll="handleScroll">
|
||||
<view class="tree-card"
|
||||
v-for="(item,index) in bigArray[upmenuIndex]?.children[downmenuIndex]?.children"
|
||||
:key="index" @touchstart="handleTouchStart(item,$event)"
|
||||
@click="clickaddnew(item,index)">
|
||||
<image class="card-icon"
|
||||
:src="index === thirdmenuIndex?serverUrl+item.immediateFileFocus:serverUrl+item.immediateFile"
|
||||
mode="aspectFill"></image>
|
||||
<image class="card-icon" :src="
|
||||
index === thirdmenuIndex
|
||||
? (item.immediateFileFocus ? serverUrl + item.immediateFileFocus : noimageshow)
|
||||
: (item.immediateFile ? serverUrl + item.immediateFile : noimageshow)
|
||||
" mode="aspectFill"></image>
|
||||
<view class="card-text" style="margin-top: 0;"
|
||||
:style="index === thirdmenuIndex?{color:`#0084ff`}:{}">
|
||||
{{ item.title }}
|
||||
|
|
@ -327,7 +338,7 @@
|
|||
</view>
|
||||
<view class="tree-item">
|
||||
<scroll-view style="height: 100%;width:100%;" scroll-with-animation
|
||||
:scroll-y="canmove">
|
||||
:scroll-y="canmovechange">
|
||||
<view class="tree-card" v-for="(item,index) in bigArray[upmenuIndex]?.children"
|
||||
:key="index" @click="secondContant(index)">
|
||||
<donghua :width="`50rpx`" :height="`50rpx`" :links="item.url"
|
||||
|
|
@ -341,7 +352,7 @@
|
|||
</view>
|
||||
<view class="tree-item" style="width: 28%;">
|
||||
<scroll-view style="height: 100%;width:100%;" scroll-with-animation
|
||||
:scroll-y="canmove">
|
||||
:scroll-y="canmovechange">
|
||||
<view class="tree-card" v-for="(item,index) in bigArray" :key="index"
|
||||
@click="changLeft(index)">
|
||||
<donghua :width="`50rpx`" :height="`50rpx`" :links="item.url"
|
||||
|
|
@ -355,7 +366,7 @@
|
|||
</view>
|
||||
<view class="three-items" v-show="!ruleritem.directiveName && servertype"
|
||||
style="flex-direction: column;">
|
||||
<scroll-view class="pack-title" scroll-with-animation :scroll-x="canmove">
|
||||
<scroll-view class="pack-title" scroll-with-animation :scroll-x="canmovechange">
|
||||
<view class="pack-father">
|
||||
<view class="packs" :style="packnumber==index?{color:`#0089FE`}:{}"
|
||||
v-for="(item,index) in savePackagelist" :key="index"
|
||||
|
|
@ -371,12 +382,13 @@
|
|||
<view class="pack-heng">
|
||||
|
||||
</view>
|
||||
<scroll-view class="pack-detail" scroll-with-animation :scroll-y="canmove">
|
||||
<scroll-view class="pack-detail" scroll-with-animation :scroll-y="canmovechange">
|
||||
<view class="detail-father">
|
||||
<view class="details"
|
||||
v-for="(item,index) in savePackagelist[packnumber]?.directives"
|
||||
:key="index">
|
||||
<image class="detail-icon" :src="serverUrl+item.immediateFile"
|
||||
<image class="detail-icon"
|
||||
:src="item.immediateFile ? serverUrl + item.immediateFile : noimageshow"
|
||||
mode="aspectFill">
|
||||
</image>
|
||||
<view class="">
|
||||
|
|
@ -405,7 +417,8 @@
|
|||
</view>
|
||||
<view class="target-contain">
|
||||
<view class="image-father">
|
||||
<image class="target-img" :src="serverUrl + ruleritem.immediateFile" />
|
||||
<image class="target-img"
|
||||
:src="ruleritem.immediateFile ? serverUrl + ruleritem.immediateFile : noimageshow" />
|
||||
</view>
|
||||
<view class="image-right">
|
||||
<view class="right-title">
|
||||
|
|
@ -436,6 +449,10 @@
|
|||
<view class="target-smalltext">
|
||||
{{ ruleritem.serviceContent }}
|
||||
</view>
|
||||
<view class="target-edit" style="right: 150rpx;" @click.stop="editcardname"
|
||||
v-show="editingmode">
|
||||
修改
|
||||
</view>
|
||||
<view class="target-edit" @click.stop="edititems(ruleritem)" v-show="editingmode">
|
||||
编辑
|
||||
</view>
|
||||
|
|
@ -468,14 +485,16 @@
|
|||
</view>
|
||||
</view>
|
||||
<view class="packtarget-heng"></view>
|
||||
<scroll-view class="packtarget-detail" scroll-with-animation :scroll-y="canmove">
|
||||
<scroll-view class="packtarget-detail" scroll-with-animation :scroll-y="canmovechange">
|
||||
<view class="detail-father">
|
||||
<view class="details" :style="packtargetindex==index?{color:`#0089FE`}:{}"
|
||||
v-for="(item,index) in ruleritem?.directivesList"
|
||||
@click="packtargetindex=index" :key="index">
|
||||
<image class="detail-icon"
|
||||
:src="index === packtargetindex?serverUrl+item.immediateFileFocus:serverUrl+item.immediateFile"
|
||||
mode="aspectFill">
|
||||
<image class="detail-icon" :src="
|
||||
index === packtargetindex
|
||||
? (item.immediateFileFocus ? serverUrl + item.immediateFileFocus : noimageshow)
|
||||
: (item.immediateFile ? serverUrl + item.immediateFile : noimageshow)
|
||||
" mode="aspectFill">
|
||||
</image>
|
||||
<view class="">
|
||||
{{ splitString(item.directiveName)[0] }}
|
||||
|
|
@ -489,9 +508,11 @@
|
|||
<view class="packtarget-heng"></view>
|
||||
|
||||
<view class="packtarget-end">
|
||||
<image class="end-icon"
|
||||
:src="serverUrl+ruleritem?.directivesList[packtargetindex]?.immediateFile"
|
||||
mode="aspectFill">
|
||||
<image class="end-icon" :src="
|
||||
ruleritem?.directivesList?.[packtargetindex]?.immediateFile
|
||||
? serverUrl + ruleritem.directivesList[packtargetindex].immediateFile
|
||||
: noimageshow
|
||||
" mode="aspectFill">
|
||||
</image>
|
||||
<view class="">
|
||||
<view class="packtarget-title">
|
||||
|
|
@ -512,59 +533,15 @@
|
|||
{{ ruleritem?.directivesList[packtargetindex]?.serviceContent }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="target-edit" style="right: 150rpx;" @click.stop="editcardname"
|
||||
v-show="editingmode">
|
||||
修改
|
||||
</view>
|
||||
<view class="target-edit" @click.stop="edititems(ruleritem)" v-show="editingmode">
|
||||
编辑
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- <view class="target-items">
|
||||
<view class="target-gray">
|
||||
{{ ruleritem.categoryName }}
|
||||
</view>
|
||||
<view class="target-shu">
|
||||
|
|
||||
</view>
|
||||
<view class="target-gray">
|
||||
{{ ruleritem.typeName }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="target-contain">
|
||||
<view class="image-father">
|
||||
<image class="target-img" :src="serverUrl + ruleritem.immediateFile" />
|
||||
</view>
|
||||
<view class="image-right">
|
||||
<view class="right-title">
|
||||
{{ ruleritem.directiveName }}
|
||||
</view>
|
||||
<view class="target-many">
|
||||
<view class="target-strart">
|
||||
{{ ruleritem.startTime }}
|
||||
</view>
|
||||
<view class="target-other">
|
||||
<view class="target-shu">
|
||||
|
|
||||
</view>
|
||||
<text class="target-blue">
|
||||
{{ ruleritem.newtypename }}
|
||||
</text>
|
||||
<view class="target-shu">
|
||||
|
|
||||
</view>
|
||||
<view class="">
|
||||
{{ ruleritem.serviceDuration }}分钟
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="target-smalltext">
|
||||
{{ ruleritem.serviceContent }}
|
||||
</view>
|
||||
<view class="target-edit" @click.stop="edititems(ruleritem)" v-show="editingmode">
|
||||
编辑
|
||||
</view> -->
|
||||
|
||||
</view>
|
||||
<view class="edit-open" v-show="editopen" @click.stop>
|
||||
<view class="edit-menu">
|
||||
|
|
@ -660,62 +637,7 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 点击的弹出层 -->
|
||||
<view v-show="isopen" class="popup-overlay" @click="isopen=false;flyNumber.index0=999;touchindex1=-1">
|
||||
<view class="popup-overlay-content" style="height: 390rpx;" popup-overlay:class="getjiao"
|
||||
v-if="timearr[showDetail[0]]?.children[showDetail[1]]?.izPackage==='N'"
|
||||
:style="{ top: (2*openY - 350) + 'rpx',left: (2*openX - 780) + 'rpx',opacity: isopacity ? 1 : 0 }"
|
||||
@click.stop>
|
||||
<view class="popup-overlay-content-left">
|
||||
<image class="popup-overlay-content-left-img"
|
||||
:src="timearr[showDetail[0]]?.children[showDetail[1]]?.netImmediateFileFocus" />
|
||||
</view>
|
||||
<view class="popup-overlay-content-right">
|
||||
<view class="time-font">
|
||||
{{ timearr[showDetail[0]]?.children[showDetail[1]]?.startTime }} -
|
||||
{{ timearr[showDetail[0]]?.children[showDetail[1]]?.endTime }}
|
||||
</view>
|
||||
<view class="time-text">
|
||||
{{ timearr[showDetail[0]]?.children[showDetail[1]]?.directiveName }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="popup-overlay-content" :class="getjiao" v-else
|
||||
:style="{ top: (2*openY - 350) + 'rpx',left: (2*openX - 780) + 'rpx',opacity: isopacity ? 1 : 0 }"
|
||||
@click.stop>
|
||||
<view class="specia-onshow">
|
||||
<view class="specia-title">
|
||||
{{ timearr[showDetail[0]]?.children[showDetail[1]]?.startTime }} -
|
||||
{{ timearr[showDetail[0]]?.children[showDetail[1]]?.endTime }}
|
||||
</view>
|
||||
<view class="specia-cards" v-if="timearr[showDetail[0]]?.children[showDetail[1]]?.directivesList">
|
||||
<view class="title-time-border-yellow"
|
||||
style="font-size: 30rpx;overflow: hidden;width: 232rpx;height: 150rpx;"
|
||||
v-for="(item1,index1) in timearr[showDetail[0]]?.children[showDetail[1]]?.directivesList"
|
||||
:key="index1">
|
||||
|
||||
<view class="title-time" style="flex-direction: column;">
|
||||
<image style="width: 60rpx;height: 60rpx;margin: 0 auto;margin-top: 10rpx"
|
||||
:src="item1.netImmediateFile" />
|
||||
<view class="title-time-time" style="font-size: 30rpx;">
|
||||
{{item1.serviceDuration + "分钟"}}
|
||||
</view>
|
||||
<image class="title-time-button" style="width: 80rpx;height: 48rpx;"
|
||||
src="/static/index/newruler/jiao.png" />
|
||||
<view class="title-time-font" style="right: 10rpx;top: 5rpx;font-size: 23rpx;">
|
||||
{{ item1.cycleType }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="title-time-font-rel">
|
||||
{{splitString(item1.directiveName)[0]}}
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="move-view" v-show="moveopen"></view> -->
|
||||
<!-- 分享的弹出层 -->
|
||||
<view v-show="shareShow" class="popup-share" @click="shareShow=false">
|
||||
<view class="popup-share-content" :style="{ opacity: deletedownisopacity ? 1 : 0 }" @click.stop>
|
||||
|
|
@ -751,29 +673,59 @@
|
|||
|
||||
<view class="delete-button-father">
|
||||
<view class="button-white" @click="isDelete=false">取消</view>
|
||||
<view class="button" @click="openDelete()">确定</view>
|
||||
<view class="button" @click="killruleclick">确定</view>
|
||||
</view>
|
||||
|
||||
<view class="title">确定要删除指令吗</view>
|
||||
<view class="title-time-border-yellow"
|
||||
style="font-size: 30rpx;overflow: hidden;width: 240rpx;height: 170rpx;">
|
||||
<view class="card-box">
|
||||
<view class="title-time-blue-card">
|
||||
<image class="blue-img" src="/static/index/bluetarget.png" />
|
||||
</view>
|
||||
<view class="card-bao" v-if="postitem.izPackage==`Y`">
|
||||
包
|
||||
</view>
|
||||
<view class="title-time-border-hisOk">
|
||||
<view class="title-time">
|
||||
<view class="title-time-font-rel">
|
||||
{{ splitString(postitem.directiveName)[0]}}
|
||||
</view>
|
||||
<view v-if="splitString(postitem.directiveName)[1]" class="title-time-font-tags">
|
||||
({{ splitString(postitem.directiveName)[1]}})
|
||||
</view>
|
||||
<view class="card-time">
|
||||
|
||||
<view class="title-time" style="flex-direction: column;">
|
||||
<image style="width: 60rpx;height: 60rpx;margin: 0 auto;margin-top: 10rpx"
|
||||
:src="timearr[saveEditIndex.index0]?.children[saveEditIndex.index1].netImmediateFile?timearr[saveEditIndex.index0].children[saveEditIndex.index1].netImmediateFile:`/static/logo.png`" />
|
||||
<view class="title-time-time" style="font-size: 30rpx;">
|
||||
{{timearr[saveEditIndex.index0].children[saveEditIndex.index1].startTime + `-` + timearr[saveEditIndex.index0].children[saveEditIndex.index1].endTime}}
|
||||
</view>
|
||||
<image class="title-time-button" style="width: 80rpx;height: 48rpx;"
|
||||
v-if="timearr[saveEditIndex.index0]?.children[saveEditIndex.index1].cycleTypeId!=1"
|
||||
src="/static/index/newruler/jiao.png" />
|
||||
<view class="title-time-font" style="right: 10rpx;top: 5rpx;font-size: 23rpx;"
|
||||
v-if="timearr[saveEditIndex.index0].children[saveEditIndex.index1].cycleTypeId!=1">
|
||||
{{ timearr[saveEditIndex.index0]?.children[saveEditIndex.index1].cycleType }}
|
||||
<view class="weight-time">
|
||||
{{ postitem.startTime }}
|
||||
<text style="margin: 0 3rpx;">
|
||||
-
|
||||
</text>
|
||||
{{ postitem.endTime }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="title-time-font-rel">
|
||||
{{splitString(timearr[saveEditIndex.index0]?.children[saveEditIndex.index1].directiveName)[0]}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view :class="['neuro-wrapper', deletedonghua ? 'is-active' : '']" v-if="killisopen">
|
||||
<!-- 遮罩层,点击触发关闭 -->
|
||||
<view class="neuro-mask" @click="killisopen=false"></view>
|
||||
<!-- 拟态框,阻止冒泡点击 -->
|
||||
<view class="neuro-box" @click.stop style="height: 450rpx;">
|
||||
|
||||
<view class="delete-button-father">
|
||||
<view class="button-white" @click="killisopen=false">取消</view>
|
||||
<view class="button" @click="killjishi">确定</view>
|
||||
</view>
|
||||
|
||||
<view class="title">确定要删除指令吗</view>
|
||||
<view class="title-time-border-yellow">
|
||||
|
||||
<image class="kill-icon"
|
||||
:src="killthisid.immediateFile? (serverUrl + killthisid.immediateFile ) : noimageshow"
|
||||
mode="aspectFill"></image>
|
||||
<view class="kill-text">
|
||||
{{ killthisid.directiveName }}
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
|
@ -784,7 +736,7 @@
|
|||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch } from 'vue';
|
||||
import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch, onUnmounted } from 'vue';
|
||||
import { onShow, onHide } from '@dcloudio/uni-app';
|
||||
import { getNclist, addBatch, addDirective, addInstant, deleteDirective, editDirective } from "./api.js";
|
||||
import { myArray } from './yaoshandiao.js';
|
||||
|
|
@ -811,16 +763,47 @@
|
|||
required: true
|
||||
},
|
||||
});
|
||||
|
||||
const canmovechange = ref(true)
|
||||
|
||||
watch(() => props.canmove, (newVal, oldVal) => {
|
||||
if (oldVal === false && newVal === true) {
|
||||
// console.log("aaaaa", inArea(props.sendxy[0],props.sendxy[1]))
|
||||
if (inArea(props.sendxy[0], props.sendxy[1])) {
|
||||
isTuoing.value = false;
|
||||
canmovechange.value = true;
|
||||
if (props.isblue == 1) {
|
||||
addinstantcommand()
|
||||
} else if (props.isblue == 2) {
|
||||
// console.log("编辑这个", postitem.value,props.sendxy)
|
||||
// console.log("看看数组",props.sendxy[0])
|
||||
getNew()
|
||||
}
|
||||
|
||||
else if (props.isblue == 3) {
|
||||
// console.log("删除这个", postitem.value)
|
||||
isDelete.value = true;
|
||||
deletedonghua.value = false;
|
||||
setTimeout(() => deletedonghua.value = true, 50)
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
const killruleclick = () => {
|
||||
isDelete.value = false;
|
||||
deleteDirective({ id: postitem.value.id }).then((res) => {
|
||||
if (res.success) {
|
||||
geteverything()
|
||||
if (saveEditIndex.value.index0 != -1) {
|
||||
setTimeout(() => {
|
||||
rulerTouchClick(timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1], saveEditIndex.value.index0, saveEditIndex.value.index1)
|
||||
}, 300)
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const noimageshow = `/static/logo.png`;
|
||||
const clickrighttoclean = () => {
|
||||
// console.log("啥")
|
||||
openmore.value = false;
|
||||
|
|
@ -1147,26 +1130,23 @@
|
|||
}
|
||||
// 替换新的
|
||||
const getNew = () => {
|
||||
if (flyNumber.value.index0 === saveEditIndex.value.index0 && flyNumber.value.index1 === saveEditIndex.value.index1) {
|
||||
isMove.value = false;
|
||||
flyNumber.value.index0 = -1;
|
||||
flyNumber.value.index1 = -1;
|
||||
return
|
||||
}
|
||||
if (timearr.value[saveEditIndex.value.index0]?.children[saveEditIndex.value.index1].id) {
|
||||
deleteDirective(timearr.value[saveEditIndex.value.index0]?.children[saveEditIndex.value.index1]).then((res : any) => {
|
||||
doChangeNew()
|
||||
})
|
||||
let item = timearr.value[Number(props.sendxy[0])]?.children[Number(Number(props.sendxy[1]))]
|
||||
|
||||
if (item.id) {
|
||||
// deleteDirective(postitem.value.id).then((res : any) => {
|
||||
// doChangeNew()
|
||||
// })
|
||||
} else {
|
||||
doChangeNew()
|
||||
}
|
||||
}
|
||||
const doChangeNew = () => {
|
||||
let object = JSON.parse(JSON.stringify(timearr.value[flyNumber.value.index0]?.children[flyNumber.value.index1]))
|
||||
indexsave.value = [saveEditIndex.value.index0, saveEditIndex.value.index1]
|
||||
let object = postitem.value;
|
||||
indexsave.value = [Number(props.sendxy[0]), Number(props.sendxy[1])]
|
||||
|
||||
// 旧的tagName保存了
|
||||
let tagName = timearr.value[flyNumber.value.index0]?.children[flyNumber.value.index1].tagName
|
||||
timearr.value[flyNumber.value.index0].children[flyNumber.value.index1] = { directiveName: '', tagName: tagName }
|
||||
let tagName = postitem.value.tagName
|
||||
timearr.value[Number(postitem.value.positioning)].children[Number(postitem.value.positioningLong)] = { directiveName: '', tagName: tagName }
|
||||
//然后保存新的
|
||||
let newtagName = timearr.value[indexsave.value[0]].children[indexsave.value[1]].tagName
|
||||
timearr.value[indexsave.value[0]].children[indexsave.value[1]] = object
|
||||
|
|
@ -1217,25 +1197,34 @@
|
|||
// 格式化字符串
|
||||
const pad2 = (n) => String(n).padStart(2, '0');
|
||||
|
||||
|
||||
let data = {
|
||||
index0: indexsave.value[0],
|
||||
index1: indexsave.value[1]
|
||||
}
|
||||
whereEvent(data);
|
||||
|
||||
// console.log("start",`${String(newHour)}:${pad2(newStartMin)}`,`${String(newEndHour)}:${pad2(newEndMin)}`,indexsave.value)
|
||||
timearr.value[indexsave.value[0]].children[indexsave.value[1]].startTime =
|
||||
`${String(newHour)}:${pad2(newStartMin)}`;
|
||||
|
||||
timearr.value[indexsave.value[0]].children[indexsave.value[1]].endTime =
|
||||
`${String(newEndHour)}:${pad2(newEndMin)}`;
|
||||
flyNumber.value.index1 = -1;
|
||||
isMove.value = false;
|
||||
let data = {
|
||||
index0: saveEditIndex.value.index0,
|
||||
index1: saveEditIndex.value.index1
|
||||
}
|
||||
whereEvent(data);
|
||||
let infoValue = timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1]
|
||||
infoValue.positioning = saveEditIndex.value.index0;
|
||||
infoValue.positioningLong = saveEditIndex.value.index1;
|
||||
|
||||
let infoValue = object
|
||||
infoValue.positioning = indexsave.value[0];
|
||||
infoValue.positioningLong = indexsave.value[1];
|
||||
infoValue.startTime = timearr.value[indexsave.value[0]].children[indexsave.value[1]].startTime;
|
||||
infoValue.endTime = timearr.value[indexsave.value[0]].children[indexsave.value[1]].endTime;
|
||||
|
||||
editDirective(infoValue).then((res : any) => {
|
||||
if (res.success) {
|
||||
geteverything()
|
||||
}
|
||||
setTimeout(() => {
|
||||
rulerTouchClick(timearr.value[indexsave.value[0]].children[indexsave.value[1]], indexsave.value[0], indexsave.value[1])
|
||||
// whereEvent(indexsave.value);
|
||||
}, 200)
|
||||
})
|
||||
}
|
||||
//变更左侧菜单
|
||||
|
|
@ -1393,6 +1382,15 @@
|
|||
// 方法:根据条件返回不同的类名
|
||||
const getClass = (item, index0, index1) => {
|
||||
if (item.startTime) {
|
||||
|
||||
if (props.targetrule[0] == index0 && props.targetrule[1] == index1 && isTuoing.value) {
|
||||
if (timearr.value[index0]?.children[index1]?.id) {
|
||||
return `title-time-border-error`
|
||||
}
|
||||
} else if (Number(postitem.value.positioning) == index0 && Number(postitem.value.positioningLong) == index1 && isTuoing.value) {
|
||||
return `title-time-border-own`
|
||||
}
|
||||
|
||||
return 'title-time-border-hisOk';
|
||||
}
|
||||
return 'title-time-border';
|
||||
|
|
@ -1565,6 +1563,12 @@
|
|||
// 表格信息
|
||||
const ruleritem = ref({})
|
||||
|
||||
const editcardname = () => {
|
||||
ruleritem.value = {
|
||||
directiveName: ""
|
||||
}
|
||||
}
|
||||
|
||||
const packtargetindex = ref(0)
|
||||
const rulerTouchClick = (item : any, index0 : number, index1 : number) => {
|
||||
// isDelete.value = false;
|
||||
|
|
@ -1673,10 +1677,21 @@
|
|||
})
|
||||
}
|
||||
|
||||
const killjishi = (id : string) => {
|
||||
console.log("id有吗", id)
|
||||
deleteDirective({ id: id }).then((res) => {
|
||||
console.log("返回啥了", res)
|
||||
|
||||
const killisopen = ref(false)
|
||||
const killthisid = ref("")
|
||||
|
||||
const killinstantopen = (item) => {
|
||||
killthisid.value = item;
|
||||
killisopen.value = true;
|
||||
deletedonghua.value = true;
|
||||
setTimeout(() => deletedonghua.value = true, 50)
|
||||
}
|
||||
const killjishi = () => {
|
||||
killisopen.value = false;
|
||||
deleteshake.value = false;
|
||||
// console.log("id有吗", id)
|
||||
deleteDirective({ id: killthisid.value.id }).then((res) => {
|
||||
if (res.success) {
|
||||
geteverything()
|
||||
}
|
||||
|
|
@ -2014,10 +2029,10 @@
|
|||
const emotionTagList = ref([]);
|
||||
const bodyTagList = ref([]);
|
||||
const geteverything = () => {
|
||||
console.log("啥玩意啊", uni.getStorageSync('elderId'))
|
||||
// console.log("啥玩意啊", uni.getStorageSync('elderId'))
|
||||
if (uni.getStorageSync('nuId') && uni.getStorageSync('elderId')) {
|
||||
getNclist(uni.getStorageSync('nuId'), uni.getStorageSync('elderId')).then((res : any) => {
|
||||
console.log("即时指令", res.result.serviceList)
|
||||
// console.log("即时指令", res.result.serviceList)
|
||||
timearr.value = Array.from({ length: 24 }, (_, hour) => ({
|
||||
positioning: hour.toString(),
|
||||
children: minuteArr.map(time => ({
|
||||
|
|
@ -2207,13 +2222,9 @@
|
|||
const edittype = ref(0)
|
||||
const clickedit = (index : number) => {
|
||||
edittype.value = index;
|
||||
// if (index) {
|
||||
// listsave.value = emotionTagListLooksave.value
|
||||
// } else {
|
||||
// listsave.value = bodyTagListLooksave.value
|
||||
// }
|
||||
|
||||
}
|
||||
let timerId : ReturnType<typeof setTimeout> | null = null
|
||||
const showtomuch = ref(false)
|
||||
const clickcard = (index : number) => {
|
||||
let data = menutype.value ? emotionTagListLooksave.value : bodyTagListLooksave.value
|
||||
if (data[index].izSelected === 'Y') {
|
||||
|
|
@ -2221,11 +2232,28 @@
|
|||
} else {
|
||||
if (data.filter(item => item.izSelected === 'Y').length !== 2) {
|
||||
data[index].izSelected = 'Y'
|
||||
} else {
|
||||
showtomuch.value = true;
|
||||
// 如果已有计时器,先清掉(重新计时)
|
||||
if (timerId !== null) {
|
||||
clearTimeout(timerId)
|
||||
}
|
||||
|
||||
// 重新开始 2 秒倒计时
|
||||
timerId = setTimeout(() => {
|
||||
showtomuch.value = false
|
||||
timerId = null
|
||||
}, 2000)
|
||||
}
|
||||
}
|
||||
listsave.value = data
|
||||
}
|
||||
|
||||
onUnmounted(() => {
|
||||
if (timerId !== null) {
|
||||
clearTimeout(timerId)
|
||||
timerId = null
|
||||
}
|
||||
})
|
||||
const openserver = (index : number) => {
|
||||
servertype.value = index
|
||||
}
|
||||
|
|
@ -2301,14 +2329,14 @@
|
|||
|
||||
|
||||
const istargetblue = ref(false);
|
||||
function inArea(x, y) {
|
||||
return (
|
||||
x >= 790 &&
|
||||
x <= 1062 &&
|
||||
y >= 147 &&
|
||||
y <= 255
|
||||
)
|
||||
}
|
||||
// function inArea(x, y) {
|
||||
// return (
|
||||
// x >= 790 &&
|
||||
// x <= 1062 &&
|
||||
// y >= 147 &&
|
||||
// y <= 255
|
||||
// )
|
||||
// }
|
||||
const addontime = () => {
|
||||
|
||||
// scrollLeft.value = 1;
|
||||
|
|
@ -2392,7 +2420,7 @@
|
|||
|
||||
longPressTimer.value = setTimeout(() => {
|
||||
if (isScrolling.value) return
|
||||
|
||||
|
||||
if (item.directiveName) {
|
||||
let reldata = []
|
||||
const query = uni.createSelectorQuery()
|
||||
|
|
@ -2406,6 +2434,7 @@
|
|||
}
|
||||
})
|
||||
if (killbaddata.value) return
|
||||
canmovechange.value = false;
|
||||
isTuoing.value = true;
|
||||
emit('handsend', item)
|
||||
emit('rulepush', reldata)
|
||||
|
|
@ -2414,33 +2443,35 @@
|
|||
})
|
||||
.exec()
|
||||
}
|
||||
}, 500)
|
||||
}, 800)
|
||||
|
||||
}
|
||||
const handleTouchStart = (item : any, e : any) => {
|
||||
// 只有编辑模式才能拖动
|
||||
console.log("长按了", item)
|
||||
|
||||
if (!editingmode.value) return
|
||||
// thirdmenuIndex.value = index
|
||||
shakyTable.value = false
|
||||
saveX.value = Math.floor(e.touches[0].pageX);
|
||||
saveY.value = Math.floor(e.touches[0].pageY);
|
||||
|
||||
killbaddata.value = false
|
||||
|
||||
longPressTimer.value = setTimeout(() => {
|
||||
console.log("长按了", item)
|
||||
if (isScrolling.value) return
|
||||
// console.log("/////",killbaddata.value)
|
||||
// if (killbaddata.value) return
|
||||
if (killbaddata.value) return
|
||||
canmovechange.value = false;
|
||||
isTuoing.value = true;
|
||||
emit('handsend', item)
|
||||
postitem.value = item
|
||||
}, 200)
|
||||
}, 800)
|
||||
}
|
||||
const isScrolling = ref(false)
|
||||
//长按计时器
|
||||
let scrollTimeout = null
|
||||
|
||||
function handleScroll(e) {
|
||||
killbaddata.value = true
|
||||
isScrolling.value = true
|
||||
// 清除之前的定时器
|
||||
if (scrollTimeout) clearTimeout(scrollTimeout)
|
||||
|
|
@ -2477,6 +2508,7 @@
|
|||
const lastClick = ref(0)
|
||||
let singleTimer = null
|
||||
const clickaddnew = (item, index) => {
|
||||
killbaddata.value = true
|
||||
thirdmenuIndex.value = index
|
||||
const now = Date.now()
|
||||
if (now - lastClick.value < dblDelay) {
|
||||
|
|
@ -2502,6 +2534,9 @@
|
|||
lastClick.value = now
|
||||
}
|
||||
const newaddruler = (item) => {
|
||||
|
||||
let cardvalue = JSON.parse(JSON.stringify(timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1]))
|
||||
|
||||
let allobject = item
|
||||
// console.log("添加成功")
|
||||
let cycleType = "";
|
||||
|
|
@ -2592,16 +2627,30 @@
|
|||
izPackage: servertype.value ? `Y` : `N`,
|
||||
cycleTypeId: 1,
|
||||
}
|
||||
addDirective(postdata).then((res) => {
|
||||
// console.log("kankan", postdata, res)
|
||||
if (res.success) {
|
||||
geteverything()
|
||||
setTimeout(() => {
|
||||
rulerTouchClick(timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1], saveEditIndex.value.index0, saveEditIndex.value.index1)
|
||||
}, 200)
|
||||
if (cardvalue.directiveId) {
|
||||
postdata.id = cardvalue.id,
|
||||
editDirective(postdata).then((res) => {
|
||||
if (res.success) {
|
||||
// console.log("编辑成功")
|
||||
geteverything()
|
||||
setTimeout(() => {
|
||||
rulerTouchClick(timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1], saveEditIndex.value.index0, saveEditIndex.value.index1)
|
||||
}, 200)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
addDirective(postdata).then((res) => {
|
||||
// console.log("kankan", postdata, res)
|
||||
if (res.success) {
|
||||
geteverything()
|
||||
setTimeout(() => {
|
||||
rulerTouchClick(timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1], saveEditIndex.value.index0, saveEditIndex.value.index1)
|
||||
}, 200)
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
onBeforeUnmount(() => {
|
||||
if (singleTimer) clearTimeout(singleTimer)
|
||||
|
|
|
|||
|
|
@ -40,7 +40,9 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view class="delete-view" :style="isblue==`3`?{backgroundColor:`#0080FC`}:{}" v-if="!startmoveit&&whoisit">
|
||||
<image class="delete-img" src="/static/index/trash.png" />
|
||||
</view>
|
||||
<!-- 左侧菜单 -->
|
||||
<leftcontent :list="arrlist" @navurl="navurl" :userInfo="userInfo"></leftcontent>
|
||||
|
|
@ -52,8 +54,8 @@
|
|||
<bignurse :isshow="menuIndex==0"
|
||||
v-if="swipedex==0&&specialPage==1&&uni.getStorageSync('elderId')&&uni.getStorageSync('nuId')" />
|
||||
<!-- 户嘱页 -->
|
||||
<newnurse :isshow="menuIndex==1" v-if="swipedex==1" :canmove="startmoveit" :sendxy="sendxy" :isblue='isblue' :targetrule="targetrule"
|
||||
@handsend="handsend" @rulepush="rulepush" />
|
||||
<newnurse :isshow="menuIndex==1" v-if="swipedex==1" :canmove="startmoveit" :sendxy="targetrule" :isblue='isblue'
|
||||
:targetrule="targetrule" @handsend="handsend" @rulepush="rulepush" />
|
||||
<!-- 医嘱 -->
|
||||
<doctorask v-if="swipedex==2&&uni.getStorageSync('elderId')&&uni.getStorageSync('nuId')" />
|
||||
<logistics :isshow="menuIndex==3"
|
||||
|
|
@ -110,12 +112,12 @@
|
|||
|
||||
getNcPackagelist().then((res : any) => {
|
||||
//缓存指令包
|
||||
console.log("缓存指令包", res)
|
||||
// console.log("缓存指令包", res)
|
||||
uni.setStorageSync("Packagelist", res.result)
|
||||
})
|
||||
getPermissionList({ employessId: uni.getStorageSync('userInfo').employessId }).then(res => {
|
||||
listarr.value = res.result;
|
||||
console.log("这个是啥", listarr.value)
|
||||
// console.log("这个是啥", listarr.value)
|
||||
})
|
||||
})
|
||||
const gospecial = (index : number) => {
|
||||
|
|
@ -353,9 +355,17 @@
|
|||
const nx = Number(wh[0]) || 0;
|
||||
const ny = Number(wh[1]) || 0;
|
||||
// console.log("----", nx, ny)
|
||||
boxStyle.value = {
|
||||
transform: `translate3d(${nx - 100}px, ${ny - 70}px, 0)`
|
||||
};
|
||||
if (whoisit.value) {
|
||||
boxStyle.value = {
|
||||
transform: `translate3d(${nx - 70}px, ${ny - 60}px, 0)`
|
||||
};
|
||||
} else {
|
||||
boxStyle.value = {
|
||||
transform: `translate3d(${nx - 100}px, ${ny - 70}px, 0)`
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
const movelook = ref({
|
||||
url: "",
|
||||
|
|
@ -371,6 +381,7 @@
|
|||
})
|
||||
|
||||
function handsend(look : any) {
|
||||
isblue.value = 0;
|
||||
if (look.levle) {
|
||||
whoisit.value = 0;
|
||||
movelook.value.url = uni.getStorageSync('imagebase') + look.immediateFileFocus;
|
||||
|
|
@ -385,16 +396,8 @@
|
|||
simpleobj.value.endTime = look.endTime;
|
||||
simpleobj.value.directiveName = look.directiveName;
|
||||
simpleobj.value.izPackage = look.izPackage;
|
||||
|
||||
startmoveit.value = false
|
||||
// console.log("看看有啥",look)
|
||||
}
|
||||
// movelook.value.url = uni.getStorageSync('imagebase') + look.immediateFileFocus;
|
||||
// if (!movelook.value.url) {
|
||||
// movelook.value.url = `/static/index/sharelogo.png`
|
||||
// }
|
||||
// movelook.value.title = look.title;
|
||||
// startmoveit.value = false
|
||||
}
|
||||
|
||||
//节流函数
|
||||
|
|
@ -432,12 +435,12 @@
|
|||
handmove([a, b])
|
||||
}
|
||||
}
|
||||
const rules = ref([])
|
||||
const rules = ref([])
|
||||
const rulepush = (array : any) => {
|
||||
console.log("array", array)
|
||||
targetrule.value = [-1, -1]
|
||||
rules.value = array
|
||||
}
|
||||
const targetrule = ref([-1,-1])
|
||||
const targetrule = ref([-1, -1])
|
||||
function inArea(x, y) {
|
||||
if (!whoisit.value) {
|
||||
if (x >= 790 &&
|
||||
|
|
@ -448,50 +451,43 @@
|
|||
} else {
|
||||
return 0
|
||||
}
|
||||
}else{
|
||||
for (let i = rules.value.length - 1; i >= 0; i--) {
|
||||
const it = rules.value[i]
|
||||
if (x >= it.left && x <= it.right && y >= it.top && y <= it.bottom) {
|
||||
const raw0 = it.dataset?.index0
|
||||
const raw1 = it.dataset?.index1
|
||||
const n0 = raw0 === undefined ? NaN : Number(raw0)
|
||||
const n1 = raw1 === undefined ? NaN : Number(raw1)
|
||||
if (!isNaN(n0) && !isNaN(n1)) {
|
||||
if(n0 != targetrule.value[0] || n1 != targetrule.value[1]){
|
||||
targetrule.value = [0,1]
|
||||
}
|
||||
return 2
|
||||
}
|
||||
return 0
|
||||
}
|
||||
} else {
|
||||
// console.log("000",x)
|
||||
if(x>1000){
|
||||
return 3
|
||||
}
|
||||
return 0
|
||||
|
||||
for (let i = rules.value.length - 1; i >= 0; i--) {
|
||||
const it = rules.value[i]
|
||||
if (x >= it.left && x <= it.right && y >= it.top && y <= it.bottom) {
|
||||
const raw0 = it.dataset?.index0
|
||||
const raw1 = it.dataset?.index1
|
||||
const n0 = raw0 === undefined ? NaN : Number(raw0)
|
||||
const n1 = raw1 === undefined ? NaN : Number(raw1)
|
||||
if (!isNaN(n0) && !isNaN(n1)) {
|
||||
if (n0 != targetrule.value[0] || n1 != targetrule.value[1]) {
|
||||
targetrule.value = [n0, n1]
|
||||
}
|
||||
return 2
|
||||
}
|
||||
}
|
||||
}
|
||||
// 没找到匹配项,设为 [-1, -1] 并返回 0
|
||||
if (targetrule.value[0] !== -1 || targetrule.value[1] !== -1) {
|
||||
targetrule.value = [-1, -1]
|
||||
}
|
||||
return 2
|
||||
}
|
||||
}
|
||||
// function inArea(x: number, y: number): [number, number] {
|
||||
// for (let i = rules.value.length - 1; i >= 0; i--) {
|
||||
// const it = rules.value[i]
|
||||
// if (x >= it.left && x <= it.right && y >= it.top && y <= it.bottom) {
|
||||
// const raw0 = it.dataset?.index0
|
||||
// const raw1 = it.dataset?.index1
|
||||
// const n0 = raw0 === undefined ? NaN : Number(raw0)
|
||||
// const n1 = raw1 === undefined ? NaN : Number(raw1)
|
||||
// if (!isNaN(n0) && !isNaN(n1)) return [n0, n1]
|
||||
// return [-1, -1]
|
||||
// }
|
||||
// }
|
||||
// return [-1, -1]
|
||||
// }
|
||||
const getxy = throttle(getxyrel, 40);
|
||||
const cleanall = (event) => {
|
||||
// console.log("zzzz",event)
|
||||
const touch = event.changedTouches[0];
|
||||
const a = touch.clientX.toFixed(2);
|
||||
const b = touch.clientY.toFixed(2);
|
||||
sendxy.value = [a, b]
|
||||
// const touch = event.changedTouches[0];
|
||||
// const a = touch.clientX.toFixed(2);
|
||||
// const b = touch.clientY.toFixed(2);
|
||||
// sendxy.value = [a, b]
|
||||
handmove([-200, -200])
|
||||
startmoveit.value = true;
|
||||
isblue.value = 0
|
||||
// isblue.value = 0
|
||||
}
|
||||
// 切割bigArray
|
||||
function splitString(str) {
|
||||
|
|
@ -687,4 +683,22 @@
|
|||
|
||||
}
|
||||
}
|
||||
.delete-view{
|
||||
position: fixed;
|
||||
right: -950rpx;
|
||||
top: 3%;
|
||||
width: 1100rpx;
|
||||
height: 1100rpx;
|
||||
border-radius: 50%;
|
||||
background-color: rgba(228, 230, 236, 0.8);
|
||||
z-index: 200;
|
||||
.delete-img{
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
left: 50rpx;
|
||||
width: 60rpx;
|
||||
height: 65rpx;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.4 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.6 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.9 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.6 KiB |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Loading…
Reference in New Issue