合并代码
|
|
@ -2,8 +2,8 @@
|
|||
"name" : "护理单元",
|
||||
"appid" : "__UNI__FB2D473",
|
||||
"description" : "护理单元",
|
||||
"versionName" : "1.0.024",
|
||||
"versionCode" : 10024,
|
||||
"versionName" : "1.0.026",
|
||||
"versionCode" : 10026,
|
||||
"transformPx" : false,
|
||||
/* 5+App特有相关 */
|
||||
"app-plus" : {
|
||||
|
|
|
|||
|
|
@ -377,7 +377,7 @@
|
|||
</view>
|
||||
<view class="tg" style="border-right: 1px solid rgba(238, 238, 238, 1);">
|
||||
<view v-for="(v,i) in emotionTagList" :key='i' @click="clicktag(v,i)">
|
||||
<image :src="v.netPic" mode="aspectFill"></image>
|
||||
<image :src="uni.getStorageSync('imagebase') + v.pic" mode="aspectFill"></image>
|
||||
<text>{{v.tagName}}</text>
|
||||
</view>
|
||||
<image src="/static/index/card/zanw.png" mode="aspectFill"
|
||||
|
|
@ -392,7 +392,7 @@
|
|||
</view>
|
||||
<view class="tg">
|
||||
<view v-for="(v,i) in bodyTagList" :key='i' @click="clicktag(v,i+2)">
|
||||
<image :src="v.netPic" mode="aspectFill"></image>
|
||||
<image :src="uni.getStorageSync('imagebase') + v.pic" mode="aspectFill"></image>
|
||||
<text>{{v.tagName}}</text>
|
||||
</view>
|
||||
<image src="/static/index/card/zanw.png" mode="aspectFill" v-if="bodyTagList.length==0"
|
||||
|
|
@ -1247,6 +1247,7 @@
|
|||
bodyTagList.value = [];
|
||||
zzbqshow.value = true;
|
||||
getNclist(uni.getStorageSync('nuId'), uni.getStorageSync('elderId')).then((res : any) => {
|
||||
console.log("东西呢",res)
|
||||
res.result.emotionTagList.forEach(item=>{
|
||||
if(item.izSelected == 'Y'){
|
||||
emotionTagList.value.push(item)
|
||||
|
|
@ -1508,7 +1509,6 @@
|
|||
margin-top: 0.5vw;
|
||||
width: 9vw;
|
||||
height: 9vw;
|
||||
|
||||
border: 1rpx solid #DCDCDC;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,13 +46,13 @@ export const getNcPackagelist = (nuId,elderId) => {
|
|||
}
|
||||
|
||||
// 新增服务指令
|
||||
export const addDirective = (params) => {
|
||||
return request({
|
||||
url: `${uni.getStorageSync('serverUrl')}/api/pad/care/directive/addDirective`,
|
||||
method: 'post',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
// export const addDirective = (params) => {
|
||||
// return request({
|
||||
// url: `${uni.getStorageSync('serverUrl')}/api/pad/care/directive/addDirective`,
|
||||
// method: 'post',
|
||||
// data: params,
|
||||
// })
|
||||
// }
|
||||
|
||||
// 新增即时指令
|
||||
export const addInstant = (params) => {
|
||||
|
|
@ -114,4 +114,13 @@ export const getDirectiveOrders = (date) => {
|
|||
url: `${uni.getStorageSync('serverUrl')}/api/pad/care/directive/getDirectiveOrders?nuId=${uni.getStorageSync('nuId')}&elderId=${uni.getStorageSync('elderId')}&queryDate=${date}`,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
// 新增服务指令
|
||||
export const addDirective = (params) => {
|
||||
return request({
|
||||
url: `${uni.getStorageSync('serverUrl')}/api/pad/invoicing/directive/addDirective`,
|
||||
method: 'post',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
|
|
@ -595,7 +595,7 @@
|
|||
//移动表格
|
||||
const scrollTop = ref(0)
|
||||
//左下的数组
|
||||
const downList = ref<any>()
|
||||
// const downList = ref<any>()
|
||||
const isop = ref(false);
|
||||
const bigArray = ref([]);
|
||||
const isopen = ref(false)
|
||||
|
|
@ -926,24 +926,6 @@
|
|||
element.rightshow = `${element.optTypeName}/${element.optNames}`
|
||||
}
|
||||
}
|
||||
// switch (element.executeStatus) {
|
||||
|
||||
// case 'hisUnExe':
|
||||
// element.rightshow = `未执行`
|
||||
|
||||
// case 'hisTimeOut':
|
||||
// element.rightshow = `${element.optTypeName}/${element.optNames}`
|
||||
// case 'hisOk':
|
||||
// element.rightshow = `${element.optTypeName}/${element.optNames}`
|
||||
// case 'hisTimeOut':
|
||||
// element.rightshow = `${element.optTypeName}/${element.optNames}`
|
||||
// case 'hisTimeOut':
|
||||
// element.rightshow = `${element.optTypeName}/${element.optNames}`
|
||||
|
||||
// default:
|
||||
// return 'card-time';
|
||||
|
||||
// }
|
||||
if (element.cycleTypeId != 3) {
|
||||
timearr.value[element.positioning].children[element.positioningLong] = element;
|
||||
}
|
||||
|
|
@ -972,7 +954,7 @@
|
|||
if (res.result) {
|
||||
bigArray.value = res.result;
|
||||
}
|
||||
downList.value = bigArray.value[0].children
|
||||
// downList.value = bigArray.value[0].children
|
||||
upmenuIndex.value = -1;
|
||||
downdonghua.value = -1;
|
||||
setTimeout(() => {
|
||||
|
|
|
|||
|
|
@ -636,6 +636,36 @@
|
|||
flex-direction: column;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.title-time-border-big {
|
||||
transform: scale(1.3);
|
||||
transform-origin: top;
|
||||
transition: transform 0.5s ease-out, opacity 0.5s ease-out;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 245rpx;
|
||||
width: 100%;
|
||||
border-image: repeating-linear-gradient(90deg, #0184db 0px, #0184db 6rpx, transparent 6rpx, transparent 12rpx) 1;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.title-time-border-big-top {
|
||||
transform: scale(1.3);
|
||||
transform-origin: top;
|
||||
transition: transform 0.5s ease-out, opacity 0.5s ease-out;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 245rpx;
|
||||
width: 100%;
|
||||
border-image: repeating-linear-gradient(90deg, #0184db 0px, #0184db 6rpx, transparent 6rpx, transparent 12rpx) 1;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
|
||||
.right-container {
|
||||
|
|
@ -644,6 +674,8 @@
|
|||
transition: opacity 1s ease;
|
||||
position: relative;
|
||||
margin-left: -50rpx;
|
||||
background-color: #F2F3F8;
|
||||
/* background-color: blue; */
|
||||
|
||||
.joystick {
|
||||
position: absolute;
|
||||
|
|
@ -1285,52 +1317,20 @@
|
|||
}
|
||||
|
||||
.title-time-border {
|
||||
margin-top: 4rpx;
|
||||
margin-left: 4rpx;
|
||||
// border: 1rpx solid black;
|
||||
width: calc(100% - 8rpx);
|
||||
height: calc(100% - 8rpx);
|
||||
/* margin-top: 4rpx;
|
||||
margin-left: 4rpx; */
|
||||
|
||||
width: calc(100% - 15rpx);
|
||||
height: calc(100% - 15rpx);
|
||||
border-radius: 20rpx;
|
||||
display: flex;
|
||||
// justify-content: center;
|
||||
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
|
||||
.title-time-border-big {
|
||||
transform: scale(1.3);
|
||||
transform-origin: top;
|
||||
/* 将页面内容放大1.2倍 */
|
||||
border-top: 0rpx solid #fff;
|
||||
transition: transform 0.5s ease-out, opacity 0.5s ease-out;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 200rpx;
|
||||
width: calc(100%);
|
||||
border-image: repeating-linear-gradient(90deg, #0184db 0px, #0184db 6rpx, transparent 6rpx, transparent 12rpx) 1;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.title-time-border-big-top {
|
||||
transform: scale(1.3);
|
||||
transform-origin: top;
|
||||
/* 将页面内容放大1.2倍 */
|
||||
border-top: 0rpx solid #fff;
|
||||
transition: transform 0.5s ease-out, opacity 0.5s ease-out;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 200rpx;
|
||||
width: calc(100%);
|
||||
border-image: repeating-linear-gradient(90deg, #0184db 0px, #0184db 6rpx, transparent 6rpx, transparent 12rpx) 1;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.title-time-border-yellow {
|
||||
margin: 10rpx;
|
||||
|
|
@ -1485,7 +1485,7 @@
|
|||
height: 1225rpx;
|
||||
margin-top: 0rpx;
|
||||
overflow: hidden;
|
||||
z-index: 999;
|
||||
z-index: 9;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1505,7 +1505,7 @@
|
|||
justify-content: center;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
z-index: 10;
|
||||
z-index: 9;
|
||||
|
||||
.boom-text {
|
||||
width: 45rpx;
|
||||
|
|
@ -1517,7 +1517,7 @@
|
|||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
z-index: 1;
|
||||
/* z-index: 1; */
|
||||
background-color: #eff0f4;
|
||||
}
|
||||
}
|
||||
|
|
@ -2046,6 +2046,7 @@
|
|||
background-color: #fff;
|
||||
border: 2rpx solid rgba(0, 137, 254, 0.29);
|
||||
border-radius: 35rpx;
|
||||
z-index: 1;
|
||||
|
||||
.setting-right {
|
||||
position: absolute;
|
||||
|
|
@ -2090,41 +2091,45 @@
|
|||
font-weight: 800;
|
||||
color: #d5d5d5;
|
||||
}
|
||||
|
||||
.check-box-target {
|
||||
margin-left: 52rpx;
|
||||
width: 32rpx;
|
||||
height: 32rpx;
|
||||
border: 2rpx solid #0080FC;
|
||||
border-radius: 12rpx;
|
||||
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
|
||||
font-size: 15rpx;
|
||||
font-weight: 800;
|
||||
color: #0080FC;
|
||||
}
|
||||
.check-img{
|
||||
|
||||
.check-img {
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
margin: 0 22rpx;
|
||||
}
|
||||
.check-text{
|
||||
|
||||
.check-text-view {
|
||||
width: 400rpx;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
/* justify-content: center; */
|
||||
.check-weight{
|
||||
justify-content: center;
|
||||
|
||||
.check-weight {
|
||||
font-weight: 800;
|
||||
font-size: 29rpx;
|
||||
}
|
||||
.check-text{
|
||||
|
||||
.check-text {
|
||||
font-size: 26rpx;
|
||||
color: #666666;
|
||||
}
|
||||
/* background-color: red; */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2361,4 +2366,254 @@
|
|||
top: 45%;
|
||||
left: 50%;
|
||||
transform: translate(-45%, -50%);
|
||||
}
|
||||
|
||||
.right-instant {
|
||||
background-color: #fff;
|
||||
width: 100%;
|
||||
height: 240rpx;
|
||||
border-radius: 35rpx;
|
||||
position: relative;
|
||||
margin-top: 18rpx;
|
||||
|
||||
|
||||
.right-instant-title {
|
||||
width: 100%;
|
||||
height: 80rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
|
||||
.right-setting {
|
||||
position: absolute;
|
||||
right: 23rpx;
|
||||
top: 20rpx;
|
||||
width: 90rpx;
|
||||
height: 46rpx;
|
||||
background-color: #F2F3F8;
|
||||
color: #555555;
|
||||
font-size: 27rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 10rpx;
|
||||
border: 1rpx solid #E5E5E5;
|
||||
}
|
||||
|
||||
.right-setting-target {
|
||||
position: absolute;
|
||||
right: 23rpx;
|
||||
top: 20rpx;
|
||||
width: 90rpx;
|
||||
height: 46rpx;
|
||||
background-color: #F2F3F8;
|
||||
color: #0089FE;
|
||||
font-size: 27rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 10rpx;
|
||||
border: 1rpx solid #0089FE;
|
||||
}
|
||||
}
|
||||
|
||||
.right-instant-items {
|
||||
width: 100%;
|
||||
height: 160rpx;
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
|
||||
.right-tree {
|
||||
background-color: #fff;
|
||||
width: 100%;
|
||||
height: 650rpx;
|
||||
border-radius: 35rpx;
|
||||
position: relative;
|
||||
margin-top: 18rpx;
|
||||
padding-top: 30rpx;
|
||||
|
||||
.right-servers {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
position: relative;
|
||||
|
||||
.explain-text {
|
||||
position: absolute;
|
||||
right: 4%;
|
||||
top: 55rpx;
|
||||
width: 93%;
|
||||
z-index: 1;
|
||||
height: 90rpx;
|
||||
background-color: #fff;
|
||||
color: #999;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border: 2rpx solid rgba(0, 137, 254, 0.29);
|
||||
border-radius: 25rpx;
|
||||
font-size: 30rpx;
|
||||
|
||||
.triangle {
|
||||
position: absolute;
|
||||
top: -8.34rpx;
|
||||
right: 22rpx;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-left: 14.44rpx solid transparent;
|
||||
border-right: 14.44rpx solid transparent;
|
||||
border-bottom: 8.34rpx solid rgba(0, 137, 254, 0.29);
|
||||
|
||||
.triangle-small {
|
||||
position: absolute;
|
||||
top: 1.6rpx;
|
||||
right: 50%;
|
||||
transform: translateX(50%);
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-left: 14.44rpx solid transparent;
|
||||
border-right: 14.44rpx solid transparent;
|
||||
border-bottom: 8.34rpx solid #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.explain-icon {
|
||||
position: absolute;
|
||||
right: 40rpx;
|
||||
top: 5rpx;
|
||||
width: 35rpx;
|
||||
height: 35rpx;
|
||||
}
|
||||
|
||||
.servers-heng {
|
||||
position: absolute;
|
||||
bottom: -10rpx;
|
||||
left: 96rpx;
|
||||
width: 27rpx;
|
||||
height: 9.5rpx;
|
||||
border-radius: 5rpx;
|
||||
background-color: #0080FC;
|
||||
transition: left 0.3s ease;
|
||||
}
|
||||
|
||||
.server {
|
||||
font-size: 35rpx;
|
||||
margin-left: 40rpx;
|
||||
}
|
||||
|
||||
.servertarget {
|
||||
font-size: 35rpx;
|
||||
margin-left: 40rpx;
|
||||
font-weight: 800;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.three-items {
|
||||
margin-top: 20rpx;
|
||||
width: 90%;
|
||||
margin-left: 7%;
|
||||
height: 510rpx;
|
||||
display: flex;
|
||||
/* background-color: #fff; */
|
||||
|
||||
|
||||
/* 禁止元素拖动 */
|
||||
.tree-item {
|
||||
width: 33.33%;
|
||||
height: 100%;
|
||||
|
||||
.tree-card {
|
||||
width: 100%;
|
||||
height: 20%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
|
||||
|
||||
/* 禁止元素拖动 */
|
||||
.card-icon {
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
|
||||
}
|
||||
|
||||
.card-text {
|
||||
margin-top: -10rpx;
|
||||
color: #818181;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.right-finally {
|
||||
background-color: #fff;
|
||||
width: 100%;
|
||||
height: 115rpx;
|
||||
border-radius: 35rpx;
|
||||
position: relative;
|
||||
margin-top: 18rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.finally-older {
|
||||
margin-left: 28rpx;
|
||||
width: 4.3vw;
|
||||
height: 4.3vw;
|
||||
border: 1rpx solid #DCDCDC;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.fin-button {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
margin-left: 50rpx;
|
||||
position: relative;
|
||||
|
||||
.button-imge {
|
||||
width: 45rpx;
|
||||
height: 45rpx;
|
||||
margin-bottom: 1rpx;
|
||||
}
|
||||
|
||||
.button-text {
|
||||
font-size: 26rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.blue-right {
|
||||
position: absolute;
|
||||
right: 20rpx;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 200rpx;
|
||||
height: 70%;
|
||||
background-color: #0089FE;
|
||||
border-radius: 20rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #fff;
|
||||
font-size: 35rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.move-view {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
/* backdrop-filter: blur(1rpx); */
|
||||
/* background-color: rgba(236, 237, 241, 0.4); */
|
||||
/* 添加毛玻璃效果 */
|
||||
z-index: 10;
|
||||
}
|
||||
|
|
@ -22,8 +22,8 @@
|
|||
</view>
|
||||
|
||||
<view class="super-card-container">
|
||||
<scroll-view style="width: 100%;" scroll-with-animation :scroll-left="cardLeft" scroll-x
|
||||
@scroll="handleTop" :show-scrollbar="false">
|
||||
<scroll-view style="width: 100%;" scroll-with-animation :scroll-left="cardLeft"
|
||||
:scroll-x="canmove" @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="true"
|
||||
:scroll-top="scrollTop" scroll-with-animation :scroll-y="canmove"
|
||||
@scroll="handleScrolltime" :show-scrollbar="false">
|
||||
<view style="display: flex;height: 100%;">
|
||||
<view v-for="(item0,index0) in timearr" :key="index0">
|
||||
|
|
@ -47,18 +47,6 @@
|
|||
:id="`a${index0}_${index1}`" style="position: relative;"
|
||||
@click="rulerTouchClick(item1,index0,index1)"
|
||||
:data-index0="index0" :data-index1="index1">
|
||||
<!-- <view class="time-button-orange-spe"
|
||||
:style="{left:flyNumber.index0?`-130rpx`:`0`}"
|
||||
v-if="flyNumber.index0 === index0 && flyNumber.index1 === index1 && index1==0">
|
||||
请选择服务指令迁移的目标单元格
|
||||
|
||||
</view>
|
||||
<view class="time-button-orange"
|
||||
:style="{left:flyNumber.index0?`-130rpx`:`0`}"
|
||||
v-if="flyNumber.index0 === index0 && flyNumber.index1 === index1 && index1">
|
||||
请选择服务指令迁移的目标单元格
|
||||
|
||||
</view> -->
|
||||
<view class="title-time-blue"
|
||||
v-show="saveEditIndex.index0 == index0 && saveEditIndex.index1 == index1 && isRule">
|
||||
<image class="blue-img" lazy-load
|
||||
|
|
@ -89,16 +77,8 @@
|
|||
</text>
|
||||
{{ item1.endTime }}
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<!-- <view
|
||||
v-if="saveEditIndex.index0 == index0 && saveEditIndex.index1 == index1 && !item1.startTime"
|
||||
class="pulic-time">
|
||||
|
||||
{{(item0.positioning.length == 1 ? ('0' + item0.positioning) : item0.positioning) + ":" + timeArray[index1]}}
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
|
@ -120,7 +100,8 @@
|
|||
<view class="blue-font">
|
||||
情绪标签
|
||||
</view>
|
||||
<view :class="settingopen?`right-setting-target` :`right-setting`" @click="clickopen">
|
||||
<view :class="settingopen?`right-setting-target` :`right-setting`" @click="clickopen"
|
||||
v-show="editingmode">
|
||||
设置
|
||||
</view>
|
||||
</view>
|
||||
|
|
@ -181,14 +162,14 @@
|
|||
</view>
|
||||
<image class="check-img"
|
||||
:src="serverUrl + (item.izSelected==`Y`?item.picFocus: item.pic)" />
|
||||
<view class="check-text">
|
||||
<view class="check-text-view">
|
||||
<view class="check-weight"
|
||||
:style="item.izSelected==`Y`?{color:`#0074E1`}: {}">
|
||||
{{ item.tagName }}
|
||||
</view>
|
||||
<view class="check-text"
|
||||
:style="item.izSelected==`Y`?{color:`#0074E1`}: {}">
|
||||
四肢承伸直且僵硬无法弯曲状(标识要区分为左右和手脚)
|
||||
{{ item.describ }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
|
@ -199,7 +180,103 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="right-instant"
|
||||
:style="isblue?{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">
|
||||
即时标签
|
||||
</view>
|
||||
</view>
|
||||
<view class="right-instant-items">
|
||||
<image class="haven-img" v-if="!bottomItems.length"
|
||||
src="/static/index/procurement/haven.png" mode="aspectFill"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="right-tree">
|
||||
<view class="right-servers">
|
||||
<view :class="servertype===index?`servertarget`:`server`"
|
||||
v-for="(item,index) in [`服务指令`,`服务指令包`]" :key="index" @click="openserver(index)">
|
||||
{{ item }}
|
||||
</view>
|
||||
<view class="servers-heng" :style="servertype?{left:`294rpx`}:{}"></view>
|
||||
|
||||
<image class="explain-icon" @click="explainopen=!explainopen"
|
||||
src="/static/index/procurement/explain.png" mode="aspectFill"></image>
|
||||
|
||||
<view class="explain-text" v-show="explainopen">
|
||||
<view class="triangle">
|
||||
<view class="triangle-small"></view>
|
||||
</view>
|
||||
双击服务指令可编辑矩阵
|
||||
</view>
|
||||
</view>
|
||||
<view class="three-items">
|
||||
<view class="tree-item">
|
||||
<scroll-view style="height: 100%;width:100%;" :scroll-y="canmove"
|
||||
@scroll="handleScroll">
|
||||
<view class="tree-card"
|
||||
v-for="(item,index) in bigArray[upmenuIndex]?.children[downmenuIndex]?.children"
|
||||
:key="index" @touchstart="handleTouchStart(item,index,$event)"
|
||||
@click="clickaddnew(item,index)">
|
||||
<image class="card-icon"
|
||||
:src="index === thirdmenuIndex?serverUrl+item.immediateFileFocus:serverUrl+item.immediateFile"
|
||||
mode="aspectFill"></image>
|
||||
<view class="card-text" style="margin-top: 0;"
|
||||
:style="index === thirdmenuIndex?{color:`#0084ff`}:{}">
|
||||
{{ item.title }}
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
<view class="tree-item">
|
||||
<scroll-view style="height: 100%;width:100%;" scroll-with-animation
|
||||
:scroll-y="canmove">
|
||||
<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"
|
||||
:playing="index === downmenuIndex" :interval="120" />
|
||||
<view class="card-text"
|
||||
:style="index === downmenuIndex?{color:`#0084ff`}:{}">
|
||||
{{ item.title }}
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
<view class="tree-item" style="width: 28%;">
|
||||
<scroll-view style="height: 100%;width:100%;" scroll-with-animation
|
||||
:scroll-y="canmove">
|
||||
<view class="tree-card" v-for="(item,index) in bigArray" :key="index"
|
||||
@click="changLeft(index)">
|
||||
<donghua :width="`50rpx`" :height="`50rpx`" :links="item.url"
|
||||
:playing="index === upmenuIndex" :interval="120" />
|
||||
<view class="card-text" :style="index === upmenuIndex?{color:`#0084ff`}:{}">
|
||||
{{ item.title }}
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="right-finally">
|
||||
<image class="finally-older"
|
||||
:src="`/static/index/newindex/leftmenu/${uni.getStorageSync('NUall').elderInfo?.name?`older`:`nopeople`}.png`" />
|
||||
<view class="fin-button" @click="jumpToWatch">
|
||||
<image class="button-imge" :src="`/static/index/newindex/leftmenu/watch.png`" />
|
||||
<view class="button-text">
|
||||
监控
|
||||
</view>
|
||||
</view>
|
||||
<view class="fin-button" @click="shareToWeixin">
|
||||
<image class="button-imge" :src="`/static/index/newindex/leftmenu/share.png`" />
|
||||
<view class="button-text">
|
||||
分享
|
||||
</view>
|
||||
</view>
|
||||
<view class="blue-right" @click="cleanallopen();editingmode = !editingmode">
|
||||
{{ editingmode?"确定":"+编辑" }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
|
@ -259,39 +336,7 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 替换表格的的弹出层 -->
|
||||
<view v-show="sayisopen" class="popup-say" @click="sayisopen=false">
|
||||
<view class="popup-say-content" style="padding: 30rpx 0;" :style="{ opacity: sayisopacity ? 1 : 0 }"
|
||||
@click.stop>
|
||||
<view style="margin-top: 20rpx;margin-bottom: 20rpx;;margin-left: 30rpx;font-size: 32rpx;">
|
||||
<view>
|
||||
体型标签
|
||||
</view>
|
||||
</view>
|
||||
<view style="display: flex;flex-wrap: wrap;">
|
||||
<view v-for="(item,index) in nameArray.slice(0,5)" :key="index">
|
||||
<view class="tags-father">
|
||||
<image class="tags-img" :src="`/static/index/tagNames/${index}0.png`" />
|
||||
<view class="tags-font">{{item}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view style="margin-top: 40rpx;margin-bottom: 20rpx;;margin-left: 30rpx;font-size: 32rpx;">
|
||||
<view>
|
||||
情绪标签
|
||||
</view>
|
||||
</view>
|
||||
<view style="display: flex;flex-wrap: wrap;">
|
||||
<view v-for="(item,index) in nameArray.slice(5,12)" :key="index">
|
||||
<view class="tags-father">
|
||||
<image class="tags-img" :src="`/static/index/tagNames/${index+5}0.png`" />
|
||||
<view class="tags-font">{{item}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="popup-say-three"></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>
|
||||
|
|
@ -355,6 +400,7 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<errorshow :show="openerror" :font="errshow" @close="openerror=false" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
|
@ -369,15 +415,45 @@
|
|||
type: Boolean,
|
||||
required: true,
|
||||
},
|
||||
canmove: {
|
||||
type: Boolean,
|
||||
required: true,
|
||||
},
|
||||
isblue: {
|
||||
type: Boolean,
|
||||
required: true,
|
||||
},
|
||||
sendxy: {
|
||||
type: Array,
|
||||
required: 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])) {
|
||||
console.log("添加即时指令")
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
const editingmode = ref(false);
|
||||
const openerror = ref(false)
|
||||
const errshow = ref("")
|
||||
|
||||
const emit = defineEmits(['handmove', 'handsend'])
|
||||
|
||||
const serverUrl = ref(uni.getStorageSync('imagebase'))
|
||||
const bodystatus = ref(false);
|
||||
const bodystatustarget = ref(-1);
|
||||
const facestatus = ref(false);
|
||||
const facestatustarget = ref(-1);
|
||||
const menutype = ref(0)
|
||||
const menutype = ref(0);
|
||||
const servertype = ref(0);
|
||||
|
||||
const settingopen = ref(false);
|
||||
const explainopen = ref(false);
|
||||
|
||||
/* ---- 用于 transform 的响应式字符串 ----
|
||||
注意:虽然这是响应式,但我们只在 rAF 里更新它(受控更新),避免频繁触发 Vue 渲染 */
|
||||
|
|
@ -469,6 +545,7 @@
|
|||
const downList = ref<any>()
|
||||
const isop = ref(false);
|
||||
const bigArray = ref([]);
|
||||
const smallArray = ref([]);
|
||||
const isopen = ref(false)
|
||||
const songisopen = ref(false)
|
||||
const isopacity = ref(false)
|
||||
|
|
@ -477,10 +554,6 @@
|
|||
const deleteisopen = ref(false);
|
||||
const deletename = ref("")
|
||||
const deleteisopacity = ref(false)
|
||||
// 解释图标弹窗
|
||||
const sayisopen = ref(false);
|
||||
const sayname = ref("")
|
||||
const sayisopacity = ref(false)
|
||||
|
||||
const saveleft = ref(6);
|
||||
const saveright = ref(11);
|
||||
|
|
@ -499,6 +572,11 @@
|
|||
return "right-top"
|
||||
}
|
||||
})
|
||||
// 清理所有弹窗
|
||||
const cleanallopen = () => {
|
||||
settingopen.value = false;
|
||||
explainopen.value = false;
|
||||
}
|
||||
// 这是二级菜单的动画的模板
|
||||
const secondtemp = ref([])
|
||||
// 上次点击时间
|
||||
|
|
@ -513,7 +591,7 @@
|
|||
if (now - lastTap.value < DOUBLE_TAP_DELAY) {
|
||||
// 双击成立
|
||||
thirdmenuIndex.value = e
|
||||
addnew()
|
||||
// addnew()
|
||||
// 重置,避免多次触发
|
||||
lastTap.value = 0
|
||||
} else {
|
||||
|
|
@ -617,31 +695,24 @@
|
|||
}
|
||||
//变更左侧菜单
|
||||
const changLeft = (index : number) => {
|
||||
if (index === 5) {
|
||||
uni.navigateTo({
|
||||
url: "/pages/watch/full"
|
||||
})
|
||||
cleanallopen()
|
||||
if (upmenuIndex.value === index) {
|
||||
return
|
||||
}
|
||||
iszhouqi.value = false;
|
||||
weekIndex.value = -1;
|
||||
monthIndex.value = -1;
|
||||
weekValue.value = "";
|
||||
monthValue.value = "";
|
||||
secondtop.value = 0.01
|
||||
firsttop.value = 0.01
|
||||
//这个东西完全是为了给动画用的,因为downmenuIndex这个吊东西其他地方在用,所以需要再整一个属性。
|
||||
downdonghua.value = -1;
|
||||
|
||||
nextTick(() => {
|
||||
secondtop.value = 0
|
||||
firsttop.value = 0
|
||||
downdonghua.value = 0;
|
||||
})
|
||||
downmenuIndex.value = 0;
|
||||
|
||||
upmenuIndex.value = index
|
||||
downList.value = bigArray.value[index]?.children
|
||||
thirdmenuIndex.value = 0;
|
||||
|
||||
downmenuIndex.value = 1;
|
||||
thirdmenuIndex.value = 1;
|
||||
nextTick(() => {
|
||||
downmenuIndex.value = 0;
|
||||
thirdmenuIndex.value = 0;
|
||||
})
|
||||
|
||||
// console.log("第二季", downList.value)
|
||||
// thirdmenuIndex.value = 0;
|
||||
}
|
||||
const isempty = ref(false);
|
||||
const changecard = () => {
|
||||
|
|
@ -854,9 +925,9 @@
|
|||
]);
|
||||
// 当前选中的菜单索引
|
||||
const upmenuIndex = ref<number>(1);
|
||||
const downmenuIndex = ref<number>(0);
|
||||
const downdonghua = ref(-1);
|
||||
const thirdmenuIndex = ref<number>(0);
|
||||
const downmenuIndex = ref<number>(1);
|
||||
const downdonghua = ref(1);
|
||||
const thirdmenuIndex = ref<number>(1);
|
||||
const forthmenuIndex = ref<number>(0);
|
||||
|
||||
const clickzhilingbao = (e : number) => {
|
||||
|
|
@ -879,18 +950,19 @@
|
|||
})
|
||||
|
||||
const secondContant = (index : number) => {
|
||||
iszhouqi.value = false;
|
||||
weekIndex.value = -1;
|
||||
monthIndex.value = -1;
|
||||
weekValue.value = "";
|
||||
monthValue.value = "";
|
||||
cleanallopen()
|
||||
if (downmenuIndex.value === index) {
|
||||
return
|
||||
}
|
||||
// iszhouqi.value = false;
|
||||
// weekIndex.value = -1;
|
||||
// monthIndex.value = -1;
|
||||
// weekValue.value = "";
|
||||
// monthValue.value = "";
|
||||
downmenuIndex.value = index;
|
||||
downdonghua.value = index;
|
||||
// downdonghua.value = index;
|
||||
thirdmenuIndex.value = 0;
|
||||
firsttop.value = 0.01;
|
||||
nextTick(() => {
|
||||
firsttop.value = 0;
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
const timer = ref(null);//计时器
|
||||
|
|
@ -918,6 +990,11 @@
|
|||
}, 100)
|
||||
|
||||
}
|
||||
const jumpToWatch = () => {
|
||||
uni.navigateTo({
|
||||
url: "/pages/watch/full"
|
||||
})
|
||||
}
|
||||
const clickshare = () => {
|
||||
uni.share({
|
||||
provider: "weixin",
|
||||
|
|
@ -938,55 +1015,60 @@
|
|||
const jiao = ref([false, false])
|
||||
//表格点击开始
|
||||
const showDetail = ref([-1, -1])
|
||||
// 表格信息
|
||||
const ruleritem = ref({})
|
||||
const rulerTouchClick = (item : any, index0 : number, index1 : number) => {
|
||||
isDelete.value = false;
|
||||
// isDelete.value = false;
|
||||
saveEditIndex.value.index0 = index0;
|
||||
saveEditIndex.value.index1 = index1;
|
||||
centerCell();
|
||||
isRule.value = true;
|
||||
setTimeout(() => {
|
||||
if (item.directiveName && open.value) {
|
||||
touchindex1.value = index1;
|
||||
const query = uni.createSelectorQuery()
|
||||
query
|
||||
.selectAll('.super-card-time-card')
|
||||
.boundingClientRect((data : any) => {
|
||||
data.forEach(async (res : any) => {
|
||||
// 根据你的条件筛选元素
|
||||
if (res.left > 100 && res.left < 1067 && res.top < 670 && res.top > 50 && res.dataset.index0 == index0 && res.dataset.index1 == index1) {
|
||||
if (res.left > 100 && res.left < 500) {
|
||||
// 表格太靠左侧,修改到右面
|
||||
openX.value = Math.floor(res.left) + 528;
|
||||
jiao.value[0] = true
|
||||
} else {
|
||||
openX.value = Math.floor(res.left) - 18
|
||||
jiao.value[0] = false
|
||||
}
|
||||
if (res.top > 300) {
|
||||
// 表格太靠上侧,修改到下面
|
||||
openY.value = Math.floor(res.top) + 100;
|
||||
jiao.value[1] = true
|
||||
} else {
|
||||
openY.value = Math.floor(res.top) + 180
|
||||
jiao.value[1] = false
|
||||
}
|
||||
await nextTick()
|
||||
isopen.value = true;
|
||||
ruleritem.value = item;
|
||||
console.log("点击表格",item)
|
||||
|
||||
// isRule.value = true;
|
||||
// setTimeout(() => {
|
||||
// if (item.directiveName && open.value) {
|
||||
// touchindex1.value = index1;
|
||||
// const query = uni.createSelectorQuery()
|
||||
// query
|
||||
// .selectAll('.super-card-time-card')
|
||||
// .boundingClientRect((data : any) => {
|
||||
// data.forEach(async (res : any) => {
|
||||
// // 根据你的条件筛选元素
|
||||
// if (res.left > 100 && res.left < 1067 && res.top < 670 && res.top > 50 && res.dataset.index0 == index0 && res.dataset.index1 == index1) {
|
||||
// if (res.left > 100 && res.left < 500) {
|
||||
// // 表格太靠左侧,修改到右面
|
||||
// openX.value = Math.floor(res.left) + 528;
|
||||
// jiao.value[0] = true
|
||||
// } else {
|
||||
// openX.value = Math.floor(res.left) - 18
|
||||
// jiao.value[0] = false
|
||||
// }
|
||||
// if (res.top > 300) {
|
||||
// // 表格太靠上侧,修改到下面
|
||||
// openY.value = Math.floor(res.top) + 100;
|
||||
// jiao.value[1] = true
|
||||
// } else {
|
||||
// openY.value = Math.floor(res.top) + 180
|
||||
// jiao.value[1] = false
|
||||
// }
|
||||
// await nextTick()
|
||||
// isopen.value = true;
|
||||
|
||||
showDetail.value[0] = index0;
|
||||
showDetail.value[1] = index1;
|
||||
// console.log("shaa",timearr.value[showDetail.value[0]]?.children[showDetail.value[1]]?.izPackage)
|
||||
isopacity.value = false;
|
||||
//加动画
|
||||
setTimeout(() => {
|
||||
isopacity.value = true;
|
||||
}, 100)
|
||||
}
|
||||
})
|
||||
})
|
||||
.exec()
|
||||
}
|
||||
}, 400)
|
||||
// showDetail.value[0] = index0;
|
||||
// showDetail.value[1] = index1;
|
||||
// // console.log("shaa",timearr.value[showDetail.value[0]]?.children[showDetail.value[1]]?.izPackage)
|
||||
// isopacity.value = false;
|
||||
// //加动画
|
||||
// setTimeout(() => {
|
||||
// isopacity.value = true;
|
||||
// }, 100)
|
||||
// }
|
||||
// })
|
||||
// })
|
||||
// .exec()
|
||||
// }
|
||||
// }, 400)
|
||||
}
|
||||
const shakyTable = ref(false);
|
||||
const reldata = ref([]);
|
||||
|
|
@ -1033,13 +1115,7 @@
|
|||
}
|
||||
|
||||
const indexsave = ref([-1, -1]);
|
||||
const opensay = () => {
|
||||
sayisopacity.value = false;
|
||||
sayisopen.value = true;
|
||||
setTimeout(() => {
|
||||
sayisopacity.value = true
|
||||
}, 50)
|
||||
}
|
||||
|
||||
const buttonBlue = ref(false)
|
||||
let animTimer = null
|
||||
|
||||
|
|
@ -1413,7 +1489,7 @@
|
|||
const geteverything = () => {
|
||||
if (uni.getStorageSync('nuId') && uni.getStorageSync('elderId')) {
|
||||
getNclist(uni.getStorageSync('nuId'), uni.getStorageSync('elderId')).then((res : any) => {
|
||||
console.log("zzzz11111111111", uni.getStorageSync('nuId'), uni.getStorageSync('elderId'))
|
||||
console.log("zzzz11111111111", res.result.serviceList)
|
||||
timearr.value = Array.from({ length: 24 }, (_, hour) => ({
|
||||
positioning: hour.toString(),
|
||||
children: minuteArr.map(time => ({
|
||||
|
|
@ -1447,13 +1523,14 @@
|
|||
}
|
||||
}
|
||||
const savePackagelist = ref([]);
|
||||
|
||||
onMounted(() => {
|
||||
savePackagelist.value = uni.getStorageSync('Packagelist') || []
|
||||
let res = uni.getStorageSync('saveTree0')
|
||||
console.log("00000", res)
|
||||
|
||||
let goodArray = []
|
||||
myArray.forEach((element : any) => {
|
||||
element.children.forEach((element1 : any) => {
|
||||
element?.children.forEach((element1 : any) => {
|
||||
goodArray.push({
|
||||
name: element1.title,
|
||||
url: element1.url,
|
||||
|
|
@ -1461,8 +1538,63 @@
|
|||
})
|
||||
})
|
||||
secondtemp.value = goodArray
|
||||
if (res.result) {
|
||||
res.result.forEach((element : any) => {
|
||||
let data0 = res.result.fwzl
|
||||
console.log("0000", data0)
|
||||
if (data0) {
|
||||
data0.forEach((element : any) => {
|
||||
if (element.netFlag == '0') {
|
||||
doctorsayList.value.forEach((res : any) => {
|
||||
if (res.name == element.title) {
|
||||
element.url = res.url
|
||||
}
|
||||
|
||||
})
|
||||
if (!element.url) {
|
||||
element.url = [`/static/index/sharelogo.png`]
|
||||
}
|
||||
} else {
|
||||
let array = []
|
||||
element.animationPath.forEach((res : any) => {
|
||||
array.push(serverUrl.value + res)
|
||||
})
|
||||
if (array.length) {
|
||||
element.url = array
|
||||
} else {
|
||||
element.url = [`/static/index/sharelogo.png`]
|
||||
}
|
||||
}
|
||||
element?.children.forEach((res1 : any) => {
|
||||
if (res1.netFlag == '0') {
|
||||
secondtemp.value.forEach((res2 : any) => {
|
||||
if (res2.name == res1.title) {
|
||||
res1.url = res2.url
|
||||
}
|
||||
})
|
||||
if (!res1.url) {
|
||||
res1.url = [`/static/index/sharelogo.png`]
|
||||
}
|
||||
// console.log("zzzz",res1)
|
||||
} else {
|
||||
let array = []
|
||||
res1.animationPath.forEach((res : any) => {
|
||||
array.push(serverUrl.value + res)
|
||||
})
|
||||
if (array.length) {
|
||||
res1.url = array
|
||||
} else {
|
||||
res1.url = [`/static/index/sharelogo.png`]
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
})
|
||||
bigArray.value = data0;
|
||||
|
||||
}
|
||||
let data1 = res.result.jszl
|
||||
if (data1) {
|
||||
data1.forEach((element : any) => {
|
||||
if (element.netFlag == '0') {
|
||||
doctorsayList.value.forEach((res : any) => {
|
||||
if (res.name == element.title) {
|
||||
|
|
@ -1472,7 +1604,7 @@
|
|||
} else {
|
||||
element.url = element.animationPath
|
||||
}
|
||||
element.children.forEach((res1 : any) => {
|
||||
element?.children.forEach((res1 : any) => {
|
||||
if (res1.netFlag == '0') {
|
||||
secondtemp.value.forEach((res2 : any) => {
|
||||
if (res2.name == res1.title) {
|
||||
|
|
@ -1485,15 +1617,12 @@
|
|||
|
||||
})
|
||||
})
|
||||
bigArray.value = res.result;
|
||||
downList.value = bigArray.value[0].children
|
||||
smallArray.value = data1;
|
||||
}
|
||||
|
||||
upmenuIndex.value = -1;
|
||||
downdonghua.value = -1;
|
||||
setTimeout(() => {
|
||||
upmenuIndex.value = 0;
|
||||
downdonghua.value = 0;
|
||||
downmenuIndex.value = 0;
|
||||
thirdmenuIndex.value = 0;
|
||||
}, 50)
|
||||
uni.$on('where', findback);
|
||||
downdonghua.value = 0;
|
||||
|
|
@ -1518,6 +1647,9 @@
|
|||
const listsave = ref([])
|
||||
|
||||
const clickopen = () => {
|
||||
if (!settingopen.value) {
|
||||
cleanallopen()
|
||||
}
|
||||
settingopen.value = !settingopen.value;
|
||||
if (settingopen.value) {
|
||||
bodyTagListLooksave.value = JSON.parse(JSON.stringify(bodyTagList.value));
|
||||
|
|
@ -1552,6 +1684,10 @@
|
|||
}
|
||||
listsave.value = data
|
||||
}
|
||||
|
||||
const openserver = (index : number) => {
|
||||
servertype.value = index
|
||||
}
|
||||
const cansumit = ref(false);
|
||||
|
||||
onBeforeUnmount(() => {
|
||||
|
|
@ -1620,6 +1756,264 @@
|
|||
forthmenuIndex.value = 0;
|
||||
}
|
||||
const deletedonghua = ref(false);
|
||||
|
||||
|
||||
|
||||
const istargetblue = ref(false);
|
||||
function inArea(x, y) {
|
||||
return (
|
||||
x >= 790 &&
|
||||
x <= 1062 &&
|
||||
y >= 147 &&
|
||||
y <= 255
|
||||
)
|
||||
}
|
||||
const addontime = () => {
|
||||
|
||||
// scrollLeft.value = 1;
|
||||
let allobject = bigArray.value[upmenuIndex.value].children[downmenuIndex.value].children[thirdmenuIndex.value]
|
||||
let stopIt = false
|
||||
bottomItems.value.forEach((element : any, index : number) => {
|
||||
if (element.directiveName == allobject.title) {
|
||||
stopIt = true
|
||||
}
|
||||
})
|
||||
nextTick(() => {
|
||||
if (!stopIt) {
|
||||
scrollLeft.value = 0;
|
||||
if (bottomItems.value.length && bottomItems.value[0].target === "#03a4ff") {
|
||||
bottomItems.value[0].target = "#fff"
|
||||
clearTimeout(cleansettimeout.value);
|
||||
}
|
||||
let pushValue = allobject;
|
||||
pushValue.directiveId = allobject.id;
|
||||
pushValue.directiveName = allobject.title;
|
||||
pushValue.serviceDuration = allobject.serviceDuration;
|
||||
|
||||
pushValue.target = `#03a4ff`
|
||||
pushValue.id = ""
|
||||
pushValue.nuId = uni.getStorageSync('nuId');
|
||||
pushValue.nuName = uni.getStorageSync('nuName');
|
||||
pushValue.elderId = uni.getStorageSync('elderId');
|
||||
pushValue.elderName = uni.getStorageSync('NUall').elderInfo.name;
|
||||
bottomItems.value.unshift(pushValue)
|
||||
// 实现即时指令动画
|
||||
cleansettimeout.value = setTimeout(() => {
|
||||
bottomItems.value[0].target = `#fff`;
|
||||
console.log("即时指令看看进入了啥", pushValue)
|
||||
addInstant(pushValue).then((res : any) => {
|
||||
console.log("啥啊", res)
|
||||
if (res.success) {
|
||||
geteverything()
|
||||
}
|
||||
})
|
||||
}, 1500)
|
||||
} else {
|
||||
clearTimeout(cleansettimeoutrel.value);
|
||||
isop.value = true;
|
||||
cleansettimeoutrel.value = setTimeout(() => {
|
||||
isop.value = false;
|
||||
// saveAll()
|
||||
}, 1500)
|
||||
}
|
||||
})
|
||||
}
|
||||
/***** 组件卸载 *****/
|
||||
// onBeforeUnmount(() => {
|
||||
// cleanupAll()
|
||||
// })
|
||||
const longPressTimer = ref(null);
|
||||
const redNameindex0 = ref([])
|
||||
const isTuoing = ref(false)
|
||||
const handleTouchStart = (item : any, index : number, e : any) => {
|
||||
// 只有编辑模式才能拖动
|
||||
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);
|
||||
|
||||
longPressTimer.value = setTimeout(() => {
|
||||
redNameindex0.value = [];
|
||||
if (isScrolling.value) return
|
||||
|
||||
isTuoing.value = true;
|
||||
emit('handsend', item)
|
||||
// emit('savename', item.title, reldata.value);
|
||||
}, 200)
|
||||
}
|
||||
const isScrolling = ref(false)
|
||||
//长按计时器
|
||||
let scrollTimeout = null
|
||||
|
||||
function handleScroll(e) {
|
||||
isScrolling.value = true
|
||||
// 清除之前的定时器
|
||||
if (scrollTimeout) clearTimeout(scrollTimeout)
|
||||
// 设置新的定时器
|
||||
scrollTimeout = setTimeout(() => {
|
||||
isScrolling.value = false;
|
||||
}, 400)
|
||||
}
|
||||
const rulerTouchMove = (e : any) => {
|
||||
const moveXa = Math.floor(e.touches[0].pageX);
|
||||
const moveYa = Math.floor(e.touches[0].pageY);
|
||||
// 计算移动距离
|
||||
if (
|
||||
Math.abs(moveXa - moveX.value) > 0 ||
|
||||
Math.abs(moveYa - moveY.value) > 0
|
||||
) {
|
||||
// 移动时取消长按计时器
|
||||
if (timer.value) {
|
||||
clearTimeout(timer.value);
|
||||
timer.value = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
//表格长按结束
|
||||
const rulerTouchEnd = () => {
|
||||
isTuoing.value = false;
|
||||
if (timer.value) {
|
||||
clearTimeout(timer.value);
|
||||
timer.value = null;
|
||||
}
|
||||
}
|
||||
|
||||
const dblDelay = 300 // 双击判定阈值(ms)
|
||||
const lastClick = ref(0)
|
||||
let singleTimer = null
|
||||
const clickaddnew = (item, index) => {
|
||||
thirdmenuIndex.value = index
|
||||
const now = Date.now()
|
||||
if (now - lastClick.value < dblDelay) {
|
||||
// 认定为双击
|
||||
if (singleTimer) {
|
||||
clearTimeout(singleTimer)
|
||||
singleTimer = null
|
||||
}
|
||||
lastClick.value = 0
|
||||
// console.log('已经双击了',item)
|
||||
// const openerror = ref(false)
|
||||
// const errshow = ref("")
|
||||
if (!editingmode.value) {
|
||||
errshow.value = "添加服务指令,请切换成编辑模式"
|
||||
openerror.value = true;
|
||||
return
|
||||
}
|
||||
if (saveEditIndex.value.index0 === -1) {
|
||||
errshow.value = "添加服务指令,请选择左侧的单元格"
|
||||
openerror.value = true
|
||||
return
|
||||
}
|
||||
newaddruler(item)
|
||||
return
|
||||
}
|
||||
lastClick.value = now
|
||||
}
|
||||
const newaddruler = (item) => {
|
||||
let allobject = item
|
||||
// console.log("添加成功")
|
||||
let cycleType = "";
|
||||
let cycleValue = "";
|
||||
if (allobject.cycleTypeId == 1) {
|
||||
cycleType = "日常"
|
||||
} else {
|
||||
if (weekIndex.value != -1) {
|
||||
cycleType = weekValue.value
|
||||
let cycleTypeIndex = 0;
|
||||
weekDays.forEach((element : any, index : any) => {
|
||||
if (element == weekValue.value) {
|
||||
cycleTypeIndex = index
|
||||
}
|
||||
})
|
||||
cycleValue = cycleTypeIndex.toString()
|
||||
|
||||
} else {
|
||||
cycleType = monthValue.value + "号";
|
||||
cycleValue = monthValue.value
|
||||
}
|
||||
iszhouqi.value = false;
|
||||
weekIndex.value = -1;
|
||||
monthIndex.value = -1;
|
||||
weekValue.value = "";
|
||||
monthValue.value = "";
|
||||
}
|
||||
const startHour = Number(saveEditIndex.value.index0)
|
||||
const startMinute = Number(timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1].tagName)
|
||||
const endMinute = startMinute + Number(allobject.serviceDuration)
|
||||
const endHour = startHour + Math.floor(endMinute / 60)
|
||||
const formattedStart = `${String(startHour)}:${String(startMinute).padStart(2, '0')}`
|
||||
const formattedEnd = `${String(endHour)}:${String(endMinute % 60).padStart(2, '0')}`
|
||||
// 数据先留着,万一以后要
|
||||
let param = {
|
||||
id: timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1].id ,
|
||||
nuId: uni.getStorageSync('nuId'),
|
||||
nuName: uni.getStorageSync('nuName'),
|
||||
elderId: uni.getStorageSync('elderId'),
|
||||
elderName: uni.getStorageSync('NUall').elderInfo.name,
|
||||
directiveId: allobject.id,
|
||||
directiveName: allobject.title,
|
||||
typeId: allobject.typeId,
|
||||
typeName: allobject.typeName,
|
||||
categoryId: allobject.categoryId,
|
||||
categoryName: allobject.categoryName,
|
||||
cycleTypeId: allobject.cycleTypeId,
|
||||
cycleType: cycleType,
|
||||
cycleValue: cycleValue,
|
||||
startTime: formattedStart,
|
||||
endTime: formattedEnd,
|
||||
positioning: saveEditIndex.value.index0.toString(),
|
||||
positioningLong: saveEditIndex.value.index1.toString(),
|
||||
izPackage: 'N',
|
||||
previewFile: allobject.previewFile,
|
||||
previewFileSmall: allobject.previewFileSmall,
|
||||
serviceDuration: allobject.serviceDuration,
|
||||
immediateFile: allobject.immediateFile,
|
||||
immediateFileFocus: allobject.immediateFileFocus,
|
||||
netImmediateFileFocus: allobject.netImmediateFileFocus,
|
||||
netImmediateFile: allobject.netImmediateFile,
|
||||
tagName: timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1].tagName,
|
||||
mp3File: allobject.mp3File,
|
||||
netMp3File: allobject.netMp3File,
|
||||
mp4File: allobject.mp4File,
|
||||
netMp4File: allobject.netMp4File,
|
||||
serviceContent: allobject.serviceContent,
|
||||
netPreviewFile: allobject.netPreviewFile,
|
||||
netPreviewFileSmall: allobject.netPreviewFileSmall,
|
||||
}
|
||||
//给表格赋值
|
||||
timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1] = param;
|
||||
// console.log("测试",param)
|
||||
let data = {
|
||||
index0: saveEditIndex.value.index0,
|
||||
index1: saveEditIndex.value.index1
|
||||
}
|
||||
whereEvent(data);
|
||||
const now = new Date();
|
||||
const ts = `${now.getFullYear()}-${(now.getMonth()+1).toString().padStart(2,'0')}-${now.getDate().toString().padStart(2,'0')} ${now.getHours().toString().padStart(2,'0')}:${now.getMinutes().toString().padStart(2,'0')}:${now.getSeconds().toString().padStart(2,'0')}`;
|
||||
let postdata = {
|
||||
nuId : uni.getStorageSync('nuId'),
|
||||
directiveId: allobject.id,
|
||||
positioning:saveEditIndex.value.index0.toString(),
|
||||
positioningLong: saveEditIndex.value.index1.toString(),
|
||||
tagName:timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1].tagName,
|
||||
startTime: formattedStart,
|
||||
izPackage:`N`,
|
||||
cycleTypeId:3,
|
||||
cycleValue:0,
|
||||
optTime:ts,
|
||||
// optCount:""
|
||||
}
|
||||
addDirective(postdata).then((res)=>{
|
||||
console.log("kankan",postdata,res)
|
||||
if (res.success) {
|
||||
geteverything()
|
||||
}
|
||||
})
|
||||
}
|
||||
onBeforeUnmount(() => {
|
||||
if (singleTimer) clearTimeout(singleTimer)
|
||||
})
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
|
|
|
|||
|
|
@ -1,21 +1,39 @@
|
|||
<template>
|
||||
<view class="backgroundContainer">
|
||||
<view class="backgroundContainer" @touchmove.stop="getxy" @touchend.stop="cleanall">
|
||||
|
||||
<!-- 手指拖动 -->
|
||||
<view class="box" :style="boxStyle">
|
||||
<view class="title-time-blue">
|
||||
<image class="blue-img" lazy-load src="/static/index/target.png" />
|
||||
</view>
|
||||
|
||||
<image class="card-icon" :src="movelook.url" mode="aspectFill"></image>
|
||||
<view class="card-text" style="margin-top: 0;">
|
||||
{{ movelook.title }}
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
<!-- 左侧菜单 -->
|
||||
<leftcontent :list="arrlist" @navurl="navurl" :userInfo="userInfo"></leftcontent>
|
||||
<!-- 主页 -->
|
||||
<!-- <index :isShow="menuIndex==0" v-if="swipedex==0&&!specialPage" @swip="swip" @gospecial="gospecial" /> -->
|
||||
<index :isShow="menuIndex==0" v-if="swipedex==0&&!specialPage" @swip="swip" @gospecial="gospecial" />
|
||||
<!-- 新主页 -->
|
||||
|
||||
<bignurse :isshow="menuIndex==0" v-if="swipedex==0&&specialPage==1&&uni.getStorageSync('elderId')&&uni.getStorageSync('nuId')" />
|
||||
|
||||
<bignurse :isshow="menuIndex==0"
|
||||
v-if="swipedex==0&&specialPage==1&&uni.getStorageSync('elderId')&&uni.getStorageSync('nuId')" />
|
||||
<!-- 户嘱页 -->
|
||||
<newnurse :isshow="menuIndex==1" v-if="swipedex==1&&uni.getStorageSync('elderId')&&uni.getStorageSync('nuId')" />
|
||||
<newnurse :isshow="menuIndex==1" v-if="swipedex==1" :canmove="startmoveit"
|
||||
:sendxy="sendxy" :isblue='isblue' @handmove="handmove" @handsend="handsend" />
|
||||
<!-- 医嘱 -->
|
||||
<doctorask v-if="swipedex==2&&uni.getStorageSync('elderId')&&uni.getStorageSync('nuId')" />
|
||||
<logistics :isshow="menuIndex==3" v-if="swipedex==3&&uni.getStorageSync('elderId')&&uni.getStorageSync('nuId')" />
|
||||
|
||||
<invoicing :isshow="menuIndex==6" v-if="swipedex==6&&uni.getStorageSync('elderId')&&uni.getStorageSync('nuId')" />
|
||||
|
||||
<logistics :isshow="menuIndex==3"
|
||||
v-if="swipedex==3&&uni.getStorageSync('elderId')&&uni.getStorageSync('nuId')" />
|
||||
|
||||
<invoicing :isshow="menuIndex==6"
|
||||
v-if="swipedex==6&&uni.getStorageSync('elderId')&&uni.getStorageSync('nuId')" />
|
||||
|
||||
<!-- 医嘱页 -->
|
||||
<!-- <logistics :isShow="menuIndexshowfourth" v-if="menuIndex==3" /> -->
|
||||
<requestform :isShow="menuIndex==4" v-if="swipedex==4" />
|
||||
|
|
@ -31,46 +49,47 @@
|
|||
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted, onBeforeUnmount, nextTick } from 'vue';
|
||||
import { queryPadPageList ,getPermissionList } from '@/pages/watch/api/lunpan.js'
|
||||
import { queryPadPageList, getPermissionList } from '@/pages/watch/api/lunpan.js'
|
||||
import index from "./component/index.vue"
|
||||
import newnurse from "./component/nurse/newindex.vue"
|
||||
import equipment from "./component/equipment.vue"
|
||||
import logistics from "./component/logistics/index.vue"
|
||||
import invoicing from "./component/invoicing/index.vue"
|
||||
|
||||
|
||||
import requestform from "./component/pleasetake/takehome.vue"
|
||||
import doctorask from "./component/doctorask/doctorask.vue"
|
||||
// import nurse from "./component/nurse/index.vue"
|
||||
import bignurse from "./component/nurse/bigindex.vue"
|
||||
import { onBackPress,onShow } from '@dcloudio/uni-app';
|
||||
import { getNcPackagelist } from './component/nurse/api.js'
|
||||
import { onBackPress, onShow } from '@dcloudio/uni-app';
|
||||
import { getNcPackagelist } from './component/nurse/api.js'
|
||||
import leftcontent from "./component/leftcontent/leftcontent.vue"
|
||||
import defaultr from '@/pages/procurement/components/default.vue';
|
||||
|
||||
onBackPress(() => {
|
||||
if(specialPage.value){
|
||||
specialPage.value --
|
||||
if (specialPage.value) {
|
||||
specialPage.value--
|
||||
return true; // 禁止返回手势返回
|
||||
}else{
|
||||
} else {
|
||||
return false; // 禁止返回手势返回
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
const listarr = ref([]);
|
||||
onMounted(() => {
|
||||
menuIndex.value = 0;
|
||||
swipedex.value = 0;
|
||||
|
||||
swipedex.value = 0;
|
||||
|
||||
// getNcPackagelist().then((res : any) => {
|
||||
// //缓存指令包
|
||||
// uni.setStorageSync("Packagelist", res.result)
|
||||
// })
|
||||
getPermissionList({employessId:uni.getStorageSync('userInfo').employessId}).then(res=>{
|
||||
listarr.value = res.result ;
|
||||
getPermissionList({ employessId: uni.getStorageSync('userInfo').employessId }).then(res => {
|
||||
listarr.value = res.result;
|
||||
console.log("这个是啥",listarr.value)
|
||||
})
|
||||
})
|
||||
const gospecial = (index:number) => {
|
||||
const gospecial = (index : number) => {
|
||||
specialPage.value = index
|
||||
}
|
||||
// 通用的生成函数
|
||||
|
|
@ -83,131 +102,133 @@
|
|||
})
|
||||
}
|
||||
const tabbrarr = ref([
|
||||
{ name: '护理', url: '/static/shouye/sy/n0.png', urls: '/static/shouye/sy/n1.png' ,type:'kzgn_hljz'},
|
||||
{ name: '医疗', url: '/static/shouye/sy/y0.png', urls: '/static/shouye/sy/y1.png' ,type:'kzgn_yljz'},
|
||||
{ name: '后勤', url: '/static/shouye/sy/l0.png', urls: '/static/shouye/sy/l1.png' ,type:'kzgn_hqjz'},
|
||||
{ name: '库房', url: '/static/shouye/sy/l0.png', urls: '/static/shouye/sy/l1.png' ,type:'kzgn_kfjz'},
|
||||
{ name: '护理', url: '/static/shouye/sy/n0.png', urls: '/static/shouye/sy/n1.png', type: 'kzgn_hljz' },
|
||||
{ name: '医疗', url: '/static/shouye/sy/y0.png', urls: '/static/shouye/sy/y1.png', type: 'kzgn_yljz' },
|
||||
{ name: '后勤', url: '/static/shouye/sy/l0.png', urls: '/static/shouye/sy/l1.png', type: 'kzgn_hqjz' },
|
||||
{ name: '库房', url: '/static/shouye/sy/l0.png', urls: '/static/shouye/sy/l1.png', type: 'kzgn_kfjz' },
|
||||
])
|
||||
const specialPage = ref(0)
|
||||
const navurl = (e,v) => {
|
||||
const navurl = (e, v) => {
|
||||
swipedex.value = -1;
|
||||
specialPage.value = 0
|
||||
switch (v.type){
|
||||
switch (v.type) {
|
||||
case 'hldy':
|
||||
swipedex.value = 0;
|
||||
setTimeout(()=>{
|
||||
menuIndex.value = 0;
|
||||
},100)
|
||||
// console.log('护理单元')
|
||||
swipedex.value = 0;
|
||||
setTimeout(() => {
|
||||
menuIndex.value = 0;
|
||||
}, 100)
|
||||
// console.log('护理单元')
|
||||
break;
|
||||
case 'kzgn_hljz':
|
||||
swipedex.value = 1;
|
||||
setTimeout(()=>{
|
||||
menuIndex.value =1;
|
||||
},100)
|
||||
// console.log('护理矩阵')
|
||||
swipedex.value = 1;
|
||||
setTimeout(() => {
|
||||
menuIndex.value = 1;
|
||||
}, 100)
|
||||
// console.log('护理矩阵')
|
||||
break;
|
||||
case 'kzgn_yljz':
|
||||
swipedex.value = 2;
|
||||
setTimeout(()=>{
|
||||
menuIndex.value = 2;
|
||||
},100)
|
||||
// console.log('医疗矩阵')
|
||||
swipedex.value = 2;
|
||||
setTimeout(() => {
|
||||
menuIndex.value = 2;
|
||||
}, 100)
|
||||
// console.log('医疗矩阵')
|
||||
break;
|
||||
case 'kzgn_hqjz':
|
||||
swipedex.value = 3;
|
||||
setTimeout(()=>{
|
||||
menuIndex.value = 3;
|
||||
},100)
|
||||
// console.log('后勤矩阵')
|
||||
swipedex.value = 3;
|
||||
setTimeout(() => {
|
||||
menuIndex.value = 3;
|
||||
}, 100)
|
||||
// console.log('后勤矩阵')
|
||||
break;
|
||||
case 'kzgn_kfjz':
|
||||
swipedex.value = 6;
|
||||
setTimeout(()=>{
|
||||
menuIndex.value = 6;
|
||||
},100)
|
||||
//console.log('库房')
|
||||
swipedex.value = 6;
|
||||
setTimeout(() => {
|
||||
menuIndex.value = 6;
|
||||
}, 100)
|
||||
//console.log('库房')
|
||||
break;
|
||||
case 'kf_cg':
|
||||
//console.log('采购')
|
||||
//console.log('采购')
|
||||
break;
|
||||
case 'kf_jh':
|
||||
//console.log('拣货')
|
||||
//console.log('拣货')
|
||||
break;
|
||||
case 'kf_wj':
|
||||
//console.log('完结')
|
||||
//console.log('完结')
|
||||
break;
|
||||
case 'hldy_ql':
|
||||
swipedex.value = 4;
|
||||
setTimeout(()=>{
|
||||
menuIndex.value = 4;
|
||||
},100)
|
||||
//console.log('请领')
|
||||
swipedex.value = 4;
|
||||
setTimeout(() => {
|
||||
menuIndex.value = 4;
|
||||
}, 100)
|
||||
//console.log('请领')
|
||||
break;
|
||||
case 'kf_th':
|
||||
//console.log('退货')
|
||||
//console.log('退货')
|
||||
break;
|
||||
case 'kf_pd':
|
||||
//console.log('盘点')
|
||||
//console.log('盘点')
|
||||
break;
|
||||
case 'wl':
|
||||
swipedex.value = 5;
|
||||
setTimeout(()=>{
|
||||
menuIndex.value = 5;
|
||||
},100)
|
||||
//console.log('物联')
|
||||
swipedex.value = 5;
|
||||
setTimeout(() => {
|
||||
menuIndex.value = 5;
|
||||
}, 100)
|
||||
//console.log('物联')
|
||||
break;
|
||||
case 'back':
|
||||
uni.navigateBack()
|
||||
//console.log('物联')
|
||||
uni.navigateBack()
|
||||
//console.log('物联')
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
//
|
||||
|
||||
|
||||
}
|
||||
const arrlist = ref([
|
||||
{ name: '首页', url: '/static/shouye/sy/h0.png', urls: '/static/shouye/sy/h1.png' ,type:'hldy'}
|
||||
{ name: '首页', url: '/static/shouye/sy/h0.png', urls: '/static/shouye/sy/h1.png', type: 'hldy' }
|
||||
])
|
||||
const swip = ()=>{
|
||||
const swip = () => {
|
||||
let nuId = uni.getStorageSync('nuId');
|
||||
let arrs = [];
|
||||
listarr.value.forEach(item=>{
|
||||
if(item.nuId == nuId){
|
||||
listarr.value.forEach(item => {
|
||||
if (item.nuId == nuId) {
|
||||
arrs = item.dataList
|
||||
}
|
||||
})
|
||||
let nuName = uni.getStorageSync('nuName')
|
||||
|
||||
queryPadPageList({'pageNo':-1,'nuName':nuName}).then((res => {
|
||||
|
||||
queryPadPageList({ 'pageNo': -1, 'nuName': nuName }).then((res => {
|
||||
|
||||
let arr = res.result.records[0].permissionList;
|
||||
arrlist.value = [{ name: '首页', url: '/static/shouye/sy/h0.png', urls: '/static/shouye/sy/h1.png' ,type:'hldy'}];
|
||||
arrlist.value = [{ name: '首页', url: '/static/shouye/sy/h0.png', urls: '/static/shouye/sy/h1.png', type: 'hldy' }];
|
||||
let tbr = [];
|
||||
if(arr){
|
||||
arr.forEach((v,i)=>{
|
||||
let obj = arrs.find(item=>
|
||||
// console.log("xxxx",arr)
|
||||
if (arr) {
|
||||
arr.forEach((v, i) => {
|
||||
let obj = arrs.find(item =>
|
||||
item.menuCode == v.menuCode
|
||||
);
|
||||
if(obj){
|
||||
if (obj) {
|
||||
tbr.push(v);
|
||||
}
|
||||
})
|
||||
tbr.forEach(item=>{
|
||||
let obj = tabbrarr.value.find(r=>
|
||||
tbr.forEach(item => {
|
||||
let obj = tabbrarr.value.find(r =>
|
||||
r.type == item.menuCode
|
||||
);
|
||||
if(obj){
|
||||
if (obj) {
|
||||
arrlist.value.push(obj);
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
let back =[
|
||||
{ name: '请领', url: '/static/shouye/sy/l0.png', urls: '/static/shouye/sy/l1.png' ,type:'hldy_ql'},
|
||||
{ name: '智慧物联', url: '/static/shouye/sy/g0.png', urls: '/static/shouye/sy/g1.png' ,type:'wl'},
|
||||
{ name: '返回', url: '/static/shouye/sy/f0.png', urls: '/static/shouye/sy/f1.png' ,type:'back'}
|
||||
|
||||
let back = [
|
||||
{ name: '请领', url: '/static/shouye/sy/l0.png', urls: '/static/shouye/sy/l1.png', type: 'hldy_ql' },
|
||||
{ name: '智慧物联', url: '/static/shouye/sy/g0.png', urls: '/static/shouye/sy/g1.png', type: 'wl' },
|
||||
{ name: '返回', url: '/static/shouye/sy/f0.png', urls: '/static/shouye/sy/f1.png', type: 'back' }
|
||||
]
|
||||
arrlist.value.push(...back);
|
||||
// navurl(0,arrlist.value[0])
|
||||
|
|
@ -232,7 +253,7 @@
|
|||
menuIndexshowsecond.value = false
|
||||
menuIndexshowfourth.value = false;
|
||||
menuIndexshowfifth.value = false
|
||||
if (index === arrlist.value.length-1) {
|
||||
if (index === arrlist.value.length - 1) {
|
||||
uni.navigateBack()
|
||||
return
|
||||
}
|
||||
|
|
@ -258,7 +279,7 @@
|
|||
case 5:
|
||||
menuIndexshowfourth.value = true
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
}
|
||||
}, 50)
|
||||
|
|
@ -266,7 +287,7 @@
|
|||
const clientX = ref(0);
|
||||
const clientY = ref(0);
|
||||
const savename = ref("")
|
||||
const canmove = ref(true)
|
||||
|
||||
|
||||
// 生命周期钩子
|
||||
onMounted(() => {
|
||||
|
|
@ -290,25 +311,152 @@
|
|||
}, 200)
|
||||
}
|
||||
const userInfo = ref({})
|
||||
onShow(()=>{
|
||||
onShow(() => {
|
||||
userInfo.value = uni.getStorageSync('userInfo');
|
||||
})
|
||||
const box = ref(null);
|
||||
const boxStyle = ref({
|
||||
transform: 'translate3d(-500px, -500px, 0px)',
|
||||
});
|
||||
|
||||
function handmove(wh : number[]) {
|
||||
// 直接更新 transform(父组件可频繁调用)
|
||||
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)`
|
||||
};
|
||||
}
|
||||
const movelook = ref({
|
||||
url: "",
|
||||
title: ""
|
||||
})
|
||||
const startmoveit = ref(true)
|
||||
function handsend(look : any) {
|
||||
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
|
||||
}
|
||||
|
||||
//节流函数
|
||||
function throttle(fn, delay) {
|
||||
let lastExecutionTime = 0;
|
||||
return function (...args) {
|
||||
const now = Date.now();
|
||||
if (now - lastExecutionTime >= delay) {
|
||||
lastExecutionTime = now;
|
||||
fn.apply(this, args);
|
||||
}
|
||||
};
|
||||
}
|
||||
const canTrigger = ref(true);
|
||||
//全局获得x轴和y轴
|
||||
const animation = uni.createAnimation({
|
||||
duration: 0,
|
||||
timingFunction: 'linear',
|
||||
delay: 0
|
||||
});
|
||||
const animationData = ref({});
|
||||
let ticking = false;
|
||||
let handle = null;
|
||||
const sendxy = ref([0,0])
|
||||
const isblue = ref(false)
|
||||
const getxyrel = (event) => {
|
||||
event.preventDefault()
|
||||
if(!startmoveit.value){
|
||||
const touch = event.touches[0];
|
||||
const a = touch.clientX.toFixed(2);
|
||||
const b = touch.clientY.toFixed(2);
|
||||
isblue.value = inArea(a,b)
|
||||
|
||||
handmove([a,b])
|
||||
}
|
||||
}
|
||||
function inArea(x, y) {
|
||||
return (
|
||||
x >= 790 &&
|
||||
x <= 1062 &&
|
||||
y >= 147 &&
|
||||
y <= 255
|
||||
)
|
||||
}
|
||||
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]
|
||||
handmove([-200,-200])
|
||||
startmoveit.value = true;
|
||||
isblue.value = false
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.backgroundContainer {
|
||||
display: flex;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background-color: #f5f6fa;
|
||||
overflow: hidden;
|
||||
z-index: 12;
|
||||
// margin-top: -35rpx;
|
||||
z-index: 99;
|
||||
|
||||
}
|
||||
|
||||
.nomessageclass {
|
||||
width: 100vw;
|
||||
transition: opacity 1s ease;
|
||||
}
|
||||
|
||||
.box {
|
||||
// pointer-events: none;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 190rpx;
|
||||
height: 140rpx;
|
||||
border-radius: 20rpx;
|
||||
background: #fff;
|
||||
will-change: transform;
|
||||
pointer-events: none;
|
||||
z-index: 200;
|
||||
border: 2rpx dashed #0089FE;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
|
||||
.card-icon {
|
||||
width: 55rpx;
|
||||
height: 55rpx;
|
||||
/* margin-bottom: 10rpx; */
|
||||
}
|
||||
|
||||
.card-text {
|
||||
margin-top: -10rpx;
|
||||
color: #0089FE;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
|
||||
.title-time-blue {
|
||||
/* 你的定位与尺寸保持不变 */
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 107%;
|
||||
height: 105%;
|
||||
z-index: 10;
|
||||
|
||||
.blue-img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -140,6 +140,7 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
|
|
@ -184,7 +185,7 @@
|
|||
showPopup.value = false;
|
||||
}
|
||||
onMounted(()=>{
|
||||
|
||||
zyupgrade.value?.check_update();
|
||||
uni.setStorageSync("appWgtVersion", uni.getSystemInfoSync().appWgtVersion)
|
||||
if (uni.getStorageSync('appWgtVersion') != uni.getSystemInfoSync().appWgtVersion) {
|
||||
showPopup.value = true;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<template>
|
||||
<view>
|
||||
<view class="ceshi" v-if="ceshiopen" @click="ceshiopen=false">
|
||||
<image class="all-home" src="/static/ceshi1.png" mode="aspectFit"></image>
|
||||
<image class="all-home" src="/static/ceshi5.png" mode="aspectFit"></image>
|
||||
</view>
|
||||
<view class="home">
|
||||
<image class="all-home" src="/static/index/warehouse/newindexhome/backdro.jpg" mode="scaleToFill"></image>
|
||||
|
|
@ -159,7 +159,7 @@
|
|||
// console.log("zzzzzzzzzzzzzzzzzzzzzzzzzzzz")
|
||||
queryPadPageList().then((res => {
|
||||
leftMenuArray.value = res.result.records;
|
||||
// console.log("????111111111111", leftMenuArray.value)
|
||||
console.log("????111111111111", leftMenuArray.value)
|
||||
}))
|
||||
fontnumber.value = uni.getStorageSync('orgListName');
|
||||
queryDepartTreeSync().then(res => {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
// 全局请求封装
|
||||
const base_url = 'https://www.focusnu.com/opeapi'
|
||||
// const base_url = 'http://192.168.2.37:8081/opeapi'
|
||||
// const base_url = 'http://192.168.2.27:8081/opeapi'
|
||||
// const base_url = 'http://localhost:8091/opeapi'
|
||||
// 请求超出时间
|
||||
const timeout = 5000
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 147 KiB |
|
After Width: | Height: | Size: 151 KiB |
|
After Width: | Height: | Size: 157 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 858 B |
|
After Width: | Height: | Size: 1.4 KiB |
|
|
@ -7,8 +7,8 @@
|
|||
"id": "__UNI__FB2D473",
|
||||
"name": "护理单元",
|
||||
"version": {
|
||||
"name": "1.0.024",
|
||||
"code": 10024
|
||||
"name": "1.0.026",
|
||||
"code": 10026
|
||||
},
|
||||
"description": "护理单元",
|
||||
"developer": {
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 161 KiB |
|
After Width: | Height: | Size: 143 KiB |
|
After Width: | Height: | Size: 147 KiB |
|
After Width: | Height: | Size: 151 KiB |
|
After Width: | Height: | Size: 157 KiB |
|
Before Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 858 B |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
|
@ -1 +1 @@
|
|||
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__FB2D473","name":"护理单元","version":{"name":"1.0.024","code":10024},"description":"护理单元","developer":{"name":"","email":"","url":""},"permissions":{"Share":{},"VideoPlayer":{},"Camera":{},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"render":"always","id":"1","kernel":"WKWebview"},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"nativePlugins":{"MonitorModule":{"__plugin_info__":{"name":"MonitorModule","description":"bugly升级","platforms":"Android","url":"","android_package_name":"","ios_bundle_id":"","isCloud":false,"bought":-1,"pid":"","parameters":{}}}},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#000000"},"uniStatistics":{"enable":false},"allowsInlineMediaPlayback":true,"uni-app":{"control":"uni-v3","vueVersion":"3","compilerVersion":"4.76","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal","webView":{"minUserAgentVersion":"49.0"}}},"app-harmony":{"useragent":{"value":"uni-app","concatenate":true},"uniStatistics":{"enable":false}},"screenOrientation":["landscape-primary","landscape-secondary"],"launch_path":"__uniappview.html"}
|
||||
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__FB2D473","name":"护理单元","version":{"name":"1.0.026","code":10026},"description":"护理单元","developer":{"name":"","email":"","url":""},"permissions":{"Share":{},"VideoPlayer":{},"Camera":{},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"render":"always","id":"1","kernel":"WKWebview"},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"nativePlugins":{"MonitorModule":{"__plugin_info__":{"name":"MonitorModule","description":"bugly升级","platforms":"Android","url":"","android_package_name":"","ios_bundle_id":"","isCloud":false,"bought":-1,"pid":"","parameters":{}}}},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#000000"},"uniStatistics":{"enable":false},"allowsInlineMediaPlayback":true,"uni-app":{"control":"uni-v3","vueVersion":"3","compilerVersion":"4.76","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal","webView":{"minUserAgentVersion":"49.0"}}},"app-harmony":{"useragent":{"value":"uni-app","concatenate":true},"uniStatistics":{"enable":false}},"screenOrientation":["landscape-primary","landscape-secondary"],"launch_path":"__uniappview.html"}
|
||||
|
After Width: | Height: | Size: 161 KiB |
|
After Width: | Height: | Size: 143 KiB |
|
After Width: | Height: | Size: 147 KiB |
|
After Width: | Height: | Size: 151 KiB |
|
After Width: | Height: | Size: 157 KiB |
|
Before Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 858 B |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 1.4 KiB |