合并代码
|
|
@ -120,7 +120,7 @@ export default {
|
||||||
cycle() {
|
cycle() {
|
||||||
let minutes = Math.floor(this.initTime / 60);
|
let minutes = Math.floor(this.initTime / 60);
|
||||||
let time = this.initTime;
|
let time = this.initTime;
|
||||||
console.log(minutes,time)
|
// console.log(minutes,time)
|
||||||
this.timerTwo = setInterval(() => {
|
this.timerTwo = setInterval(() => {
|
||||||
const flag = this.isDown ? time - 1 : time + 1;
|
const flag = this.isDown ? time - 1 : time + 1;
|
||||||
if (flag === this.threshold) {
|
if (flag === this.threshold) {
|
||||||
|
|
|
||||||
|
|
@ -73,13 +73,13 @@ export const addElderTag = (params) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 编排护理流程-删除服务指令
|
// 编排护理流程-删除服务指令
|
||||||
export const deleteDirective = (params) => {
|
// export const deleteDirective = (params) => {
|
||||||
return request({
|
// return request({
|
||||||
url: `${uni.getStorageSync('serverUrl')}/api/pad/care/directive/deleteDirective`,
|
// url: `${uni.getStorageSync('serverUrl')}/api/pad/care/directive/deleteDirective`,
|
||||||
method: 'post',
|
// method: 'post',
|
||||||
data: params,
|
// data: params,
|
||||||
})
|
// })
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 编排护理流程-删除即时服务指令
|
// 编排护理流程-删除即时服务指令
|
||||||
export const deleteInstant = (params) => {
|
export const deleteInstant = (params) => {
|
||||||
|
|
@ -98,14 +98,14 @@ export const deleteElderTag = (params) => {
|
||||||
data: params,
|
data: params,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 编排护理流程-修改服务指令
|
// // 编排护理流程-修改服务指令
|
||||||
export const editDirective = (params) => {
|
// export const editDirective = (params) => {
|
||||||
return request({
|
// return request({
|
||||||
url: `${uni.getStorageSync('serverUrl')}/api/pad/care/directive/editDirective`,
|
// url: `${uni.getStorageSync('serverUrl')}/api/pad/care/directive/editDirective`,
|
||||||
method: 'post',
|
// method: 'post',
|
||||||
data: params,
|
// data: params,
|
||||||
})
|
// })
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 根据日期查询日程表
|
// 根据日期查询日程表
|
||||||
export const getDirectiveOrders = (date) => {
|
export const getDirectiveOrders = (date) => {
|
||||||
|
|
@ -122,4 +122,20 @@ export const addDirective = (params) => {
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: params,
|
data: params,
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
// 删除服务指令
|
||||||
|
export const deleteDirective = (params) => {
|
||||||
|
return request({
|
||||||
|
url: `${uni.getStorageSync('serverUrl')}/api/pad/care/directive/deleteDirective`,
|
||||||
|
method: 'post',
|
||||||
|
data: params,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 修改服务指令
|
||||||
|
export const editDirective = (params) => {
|
||||||
|
return request({
|
||||||
|
url: `${uni.getStorageSync('serverUrl')}/api/pad/care/directive/editDirective`,
|
||||||
|
method: 'post',
|
||||||
|
data: params,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
@ -1010,4 +1010,9 @@
|
||||||
.spec-shu{
|
.spec-shu{
|
||||||
margin: 0 7rpx;
|
margin: 0 7rpx;
|
||||||
color: #BABABA;
|
color: #BABABA;
|
||||||
|
}
|
||||||
|
.packtarget-serviceContent{
|
||||||
|
width: 100%;
|
||||||
|
height: 200rpx;
|
||||||
|
background-color: red;
|
||||||
}
|
}
|
||||||
|
|
@ -591,7 +591,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.title-time-font-rel {
|
.title-time-font-rel {
|
||||||
|
|
||||||
margin-top: 9rpx;
|
margin-top: 9rpx;
|
||||||
font-size: 33rpx;
|
font-size: 33rpx;
|
||||||
font-weight: 800;
|
font-weight: 800;
|
||||||
|
|
@ -675,8 +674,6 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
margin-left: -50rpx;
|
margin-left: -50rpx;
|
||||||
|
|
||||||
/* background-color: blue; */
|
|
||||||
|
|
||||||
.joystick {
|
.joystick {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 200rpx;
|
bottom: 200rpx;
|
||||||
|
|
@ -2029,6 +2026,7 @@
|
||||||
height: 1278rpx;
|
height: 1278rpx;
|
||||||
width: 600rpx;
|
width: 600rpx;
|
||||||
border-radius: 30rpx;
|
border-radius: 30rpx;
|
||||||
|
/* background-color: red; */
|
||||||
|
|
||||||
.right-tags {
|
.right-tags {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
|
@ -2368,60 +2366,180 @@
|
||||||
transform: translate(-45%, -50%);
|
transform: translate(-45%, -50%);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.forfixed {
|
||||||
|
width: 100%;
|
||||||
|
height: 240rpx;
|
||||||
|
position: relative;
|
||||||
|
margin-top: 18rpx;
|
||||||
|
}
|
||||||
|
|
||||||
.right-instant {
|
.right-instant {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 240rpx;
|
height: 240rpx;
|
||||||
border-radius: 35rpx;
|
border-radius: 35rpx;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
/* box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); */
|
||||||
|
}
|
||||||
|
|
||||||
|
.right-instant-more {
|
||||||
|
background-color: #fff;
|
||||||
|
width: 100%;
|
||||||
|
height: 580rpx;
|
||||||
|
border-radius: 35rpx;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: 20;
|
||||||
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
|
||||||
|
}
|
||||||
|
|
||||||
|
.right-instant-title {
|
||||||
|
width: 100%;
|
||||||
|
height: 80rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
margin-top: 18rpx;
|
|
||||||
|
|
||||||
|
.right-setting {
|
||||||
.right-instant-title {
|
position: absolute;
|
||||||
width: 100%;
|
right: 23rpx;
|
||||||
height: 80rpx;
|
top: 20rpx;
|
||||||
|
width: 90rpx;
|
||||||
|
height: 46rpx;
|
||||||
|
background-color: #F2F3F8;
|
||||||
|
color: #555555;
|
||||||
|
font-size: 27rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
position: relative;
|
justify-content: center;
|
||||||
|
border-radius: 10rpx;
|
||||||
.right-setting {
|
border: 1rpx solid #E5E5E5;
|
||||||
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 {
|
.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: 120rpx;
|
||||||
|
position: relative;
|
||||||
|
margin-top: -15rpx;
|
||||||
|
|
||||||
|
/* background-color: red; */
|
||||||
|
.small-instant {
|
||||||
|
display: flex;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 160rpx;
|
height: 100%;
|
||||||
position: relative;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.big-instant {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
display: flex;
|
||||||
|
margin-left: 5%;
|
||||||
|
width: 90%;
|
||||||
|
height: 200%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.instant-more {
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
bottom: -40rpx;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
/* transform: rotate(180deg); */
|
||||||
|
width: 40rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.more-imge {
|
||||||
|
width: 21rpx;
|
||||||
|
height: 21rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.instant {
|
||||||
|
width: 33%;
|
||||||
|
height: 155rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
overflow: hidden;
|
||||||
|
/* 中心为轴心 */
|
||||||
|
transform-origin: center center;
|
||||||
|
/* 放大/缩回的过渡时间(这里设为 120ms,感觉更顺滑) */
|
||||||
|
transition: transform 1s cubic-bezier(.2, .9, .3, 1);
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.instant-close {
|
||||||
|
width: 30rpx;
|
||||||
|
height: 30rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
display: flex;
|
||||||
|
/* background-color: #0184db; */
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
position: absolute;
|
||||||
|
top: 20rpx;
|
||||||
|
right: 20rpx;
|
||||||
|
z-index: 10;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.instant-icon {
|
||||||
|
width: 60rpx;
|
||||||
|
height: 60rpx;
|
||||||
|
/* 性能关键 */
|
||||||
|
will-change: transform;
|
||||||
|
transform-origin: 50% 52%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.instant-text {
|
||||||
|
white-space: nowrap;
|
||||||
|
color: #818181;
|
||||||
|
font-size: 27rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* iOS 风格抖动 */
|
||||||
|
@keyframes wiggle {
|
||||||
|
0% {
|
||||||
|
transform: rotate(-20deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
transform: rotate(20deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: rotate(-20deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.wiggle {
|
||||||
|
animation: wiggle 0.3s linear infinite;
|
||||||
}
|
}
|
||||||
|
|
||||||
.right-tree {
|
.right-tree {
|
||||||
|
|
@ -2582,7 +2700,7 @@
|
||||||
.image-right {
|
.image-right {
|
||||||
width: 500rpx;
|
width: 500rpx;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
margin-left: 15rpx;
|
margin-left: 6rpx;
|
||||||
|
|
||||||
/* background-color: green; */
|
/* background-color: green; */
|
||||||
.right-title {
|
.right-title {
|
||||||
|
|
@ -2599,7 +2717,7 @@
|
||||||
|
|
||||||
/* background-color: red; */
|
/* background-color: red; */
|
||||||
.target-strart {
|
.target-strart {
|
||||||
font-size: 65rpx;
|
font-size: 55rpx;
|
||||||
color: #2A2A2A;
|
color: #2A2A2A;
|
||||||
font-weight: 800;
|
font-weight: 800;
|
||||||
margin-right: 6rpx;
|
margin-right: 6rpx;
|
||||||
|
|
@ -2618,6 +2736,7 @@
|
||||||
|
|
||||||
.target-shu {
|
.target-shu {
|
||||||
margin: 0 10rpx;
|
margin: 0 10rpx;
|
||||||
|
color: #919191;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2644,6 +2763,65 @@
|
||||||
border-radius: 35rpx;
|
border-radius: 35rpx;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
|
|
||||||
|
.edit-Frequency {
|
||||||
|
width: 90%;
|
||||||
|
margin-left: 5%;
|
||||||
|
font-size: 28rpx;
|
||||||
|
/* padding-top: 10rpx; */
|
||||||
|
|
||||||
|
.Frequency-one {
|
||||||
|
height: 80rpx;
|
||||||
|
width: 110%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.Frequency-box {
|
||||||
|
width: 40rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
border: 2rpx solid #D2D2D2;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
margin-left: 10rpx;
|
||||||
|
margin-right: 15rpx;
|
||||||
|
|
||||||
|
.box {
|
||||||
|
width: 35rpx;
|
||||||
|
height: 35rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.Frequency-add {
|
||||||
|
width: 58rpx;
|
||||||
|
height: 58rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 45rpx;
|
||||||
|
border: 2rpx solid #D2D2D2;
|
||||||
|
margin: 0 15rpx;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.Frequency-input {
|
||||||
|
width: 90rpx;
|
||||||
|
height: 58rpx;
|
||||||
|
font-size: 30rpx;
|
||||||
|
color: #0089FE;
|
||||||
|
border: 2rpx solid black;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
|
||||||
|
.center-input {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
text-align: center;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.edit-week {
|
.edit-week {
|
||||||
width: 90%;
|
width: 90%;
|
||||||
margin-left: 5%;
|
margin-left: 5%;
|
||||||
|
|
@ -2686,8 +2864,8 @@
|
||||||
right: 30rpx;
|
right: 30rpx;
|
||||||
bottom: 25rpx;
|
bottom: 25rpx;
|
||||||
width: 120rpx;
|
width: 120rpx;
|
||||||
height: 60rpx;
|
height: 55rpx;
|
||||||
font-size: 30rpx;
|
font-size: 32rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -2874,4 +3052,315 @@
|
||||||
background-color: #4690FF;
|
background-color: #4690FF;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-radius: 5rpx;
|
border-radius: 5rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forscroll {
|
||||||
|
width: 90%;
|
||||||
|
margin-left: 5%;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.instant-detail {
|
||||||
|
position: absolute;
|
||||||
|
width: 104%;
|
||||||
|
left: -2%;
|
||||||
|
top: 0;
|
||||||
|
height: 150rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
border: 2rpx solid rgba(0, 137, 254, 0.29);
|
||||||
|
border-radius: 25rpx;
|
||||||
|
padding-top: 17rpx;
|
||||||
|
padding-left: 25rpx;
|
||||||
|
|
||||||
|
.detail-title {
|
||||||
|
font-size: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.detail-contain {
|
||||||
|
width: 95%;
|
||||||
|
height: 100rpx;
|
||||||
|
margin-top: 5rpx;
|
||||||
|
color: #666666;
|
||||||
|
font-size: 25rpx;
|
||||||
|
/* background-color: red; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.triangle-instant {
|
||||||
|
position: absolute;
|
||||||
|
top: -8.34rpx;
|
||||||
|
left: 0;
|
||||||
|
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-instant {
|
||||||
|
position: absolute;
|
||||||
|
top: 1.2rpx;
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pop {
|
||||||
|
transform: scale(1.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.pack-title {
|
||||||
|
width: 100%;
|
||||||
|
height: 160rpx;
|
||||||
|
|
||||||
|
.pack-father {
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
.packs {
|
||||||
|
height: 100%;
|
||||||
|
min-width: 180rpx;
|
||||||
|
/* border: 1rpx solid black; */
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
white-space: nowrap;
|
||||||
|
/* 不换行 */
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
/* 超出隐藏 */
|
||||||
|
/* text-overflow: ellipsis; */
|
||||||
|
/* 显示省略号 */
|
||||||
|
.pack-icon {
|
||||||
|
width: 48rpx;
|
||||||
|
height: 48rpx;
|
||||||
|
margin-bottom: 5rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pack-detail {
|
||||||
|
width: 100%;
|
||||||
|
height: 300rpx;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
|
||||||
|
.detail-father {
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
color: #666666;
|
||||||
|
|
||||||
|
.details {
|
||||||
|
height: 150rpx;
|
||||||
|
min-width: 180rpx;
|
||||||
|
max-width: 180rpx;
|
||||||
|
/* border: 1rpx solid black; */
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
white-space: nowrap;
|
||||||
|
/* 不换行 */
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
|
||||||
|
.detail-icon {
|
||||||
|
width: 55rpx;
|
||||||
|
height: 55rpx;
|
||||||
|
margin-bottom: 5rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.pack-heng {
|
||||||
|
width: 100%;
|
||||||
|
height: 1rpx;
|
||||||
|
background-color: #E5E5E5;
|
||||||
|
margin-top: 13rpx;
|
||||||
|
margin-left: -12rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.packtargetmessage {
|
||||||
|
width: 200%;
|
||||||
|
height: 70rpx;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.packtargetmessage-icon {
|
||||||
|
width: 50rpx;
|
||||||
|
height: 50rpx;
|
||||||
|
margin-left: -5rpx;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.packtarget-font {
|
||||||
|
margin-left: 8rpx;
|
||||||
|
font-size: 27rpx;
|
||||||
|
color: #0089FE;
|
||||||
|
margin-top: 18rpx;
|
||||||
|
white-space: nowrap;
|
||||||
|
/* 不换行 */
|
||||||
|
overflow: hidden;
|
||||||
|
/* 超出隐藏 */
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
/* 显示省略号 */
|
||||||
|
width: 140rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.packtarget-strart {
|
||||||
|
/* margin-left: 8rpx; */
|
||||||
|
font-size: 50rpx;
|
||||||
|
color: #2A2A2A;
|
||||||
|
font-weight: 800;
|
||||||
|
|
||||||
|
margin-top: -2rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.packtarget-other {
|
||||||
|
/* min-width: 800rpx; */
|
||||||
|
/* margin-top: 10rpx; */
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
/* background-color: red; */
|
||||||
|
.packtarget-blue {
|
||||||
|
color: #0089FE;
|
||||||
|
}
|
||||||
|
|
||||||
|
.packtarget-shu {
|
||||||
|
margin: 0 10rpx;
|
||||||
|
color: #919191;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.packtarget-heng {
|
||||||
|
width: 100%;
|
||||||
|
height: 1rpx;
|
||||||
|
background-color: #E5E5E5;
|
||||||
|
margin-top: 3rpx;
|
||||||
|
margin-left: -12rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.packtarget-detail {
|
||||||
|
width: 100%;
|
||||||
|
height: 250rpx;
|
||||||
|
|
||||||
|
.detail-father {
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
color: #666666;
|
||||||
|
|
||||||
|
.details {
|
||||||
|
height: 125rpx;
|
||||||
|
min-width: 180rpx;
|
||||||
|
max-width: 180rpx;
|
||||||
|
/* border: 1rpx solid black; */
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
white-space: nowrap;
|
||||||
|
/* 不换行 */
|
||||||
|
overflow: hidden;
|
||||||
|
font-size: 25rpx;
|
||||||
|
|
||||||
|
.detail-icon {
|
||||||
|
width: 50rpx;
|
||||||
|
height: 50rpx;
|
||||||
|
margin-bottom: 5rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.packtarget-end {
|
||||||
|
width: 100%;
|
||||||
|
height: 200rpx;
|
||||||
|
display: flex;
|
||||||
|
padding-top:15rpx;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
|
||||||
|
.target-edit {
|
||||||
|
position: absolute;
|
||||||
|
right: 5rpx;
|
||||||
|
bottom: 5rpx;
|
||||||
|
width: 130rpx;
|
||||||
|
height: 60rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
background-color: #F5FAFF;
|
||||||
|
border: 2rpx solid #0080FC;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
color: #0089FE;
|
||||||
|
font-size: 33rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.end-icon {
|
||||||
|
width: 90rpx;
|
||||||
|
height: 90rpx;
|
||||||
|
margin-left: -5rpx;
|
||||||
|
margin-top: 5rpx;
|
||||||
|
margin-right: 5rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.packtarget-title {
|
||||||
|
width: 100%;
|
||||||
|
height: 40rpx;
|
||||||
|
display: flex;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.target-gray {
|
||||||
|
background-color: #F8F8FA;
|
||||||
|
border: 1rpx solid #D5D5D5;
|
||||||
|
display: flex;
|
||||||
|
height: 100%;
|
||||||
|
align-items: center;
|
||||||
|
padding: 0 10rpx;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
font-size: 23rpx;
|
||||||
|
color: #222222;
|
||||||
|
}
|
||||||
|
.target-black{
|
||||||
|
position: absolute;
|
||||||
|
top: 2.5rpx;
|
||||||
|
right: 0;
|
||||||
|
font-size: 29rpx;
|
||||||
|
/* margin-top: 3rpx; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.target-shu {
|
||||||
|
margin: 0 7rpx;
|
||||||
|
margin-top: 5rpx;
|
||||||
|
font-size: 23rpx;
|
||||||
|
color: #919191;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.packtarget-serviceContent{
|
||||||
|
width: 430rpx;
|
||||||
|
height: 100rpx;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
font-size: 25rpx;
|
||||||
|
color: #666666;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -45,6 +45,7 @@
|
||||||
:class=" targetRuler.index0 === index0 && targetRuler.index1 === index1 ? targetRuler.index1 ?`title-time-border-big`:`title-time-border-big-top` : `super-card-time-card` "
|
:class=" targetRuler.index0 === index0 && targetRuler.index1 === index1 ? targetRuler.index1 ?`title-time-border-big`:`title-time-border-big-top` : `super-card-time-card` "
|
||||||
:style="!targetRuler.bordershow && saveRulerTime.index0 === index0 && saveRulerTime.index1 === index1 ? {zIndex:999} : {borderBottom: '1rpx solid transparent'}"
|
:style="!targetRuler.bordershow && saveRulerTime.index0 === index0 && saveRulerTime.index1 === index1 ? {zIndex:999} : {borderBottom: '1rpx solid transparent'}"
|
||||||
:id="`a${index0}_${index1}`" style="position: relative;"
|
:id="`a${index0}_${index1}`" style="position: relative;"
|
||||||
|
@touchstart="handleTouchStart1(item1,$event)"
|
||||||
@click="rulerTouchClick(item1,index0,index1)"
|
@click="rulerTouchClick(item1,index0,index1)"
|
||||||
:data-index0="index0" :data-index1="index1">
|
:data-index0="index0" :data-index1="index1">
|
||||||
<view class="title-time-blue"
|
<view class="title-time-blue"
|
||||||
|
|
@ -91,7 +92,7 @@
|
||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
<view class="right-order">
|
<view class="right-order" @click="clickrighttoclean">
|
||||||
<view class="right-tags">
|
<view class="right-tags">
|
||||||
<view class="right-tags-title">
|
<view class="right-tags-title">
|
||||||
<view class="blue-shu" style="margin-left: 35rpx;"></view>
|
<view class="blue-shu" style="margin-left: 35rpx;"></view>
|
||||||
|
|
@ -182,26 +183,119 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="right-instant"
|
|
||||||
:style="isblue?{border:`4rpx dashed #0089FE`}:{border:`4rpx dashed #fff`}">
|
<view class="forfixed" @click.stop>
|
||||||
<view class="right-instant-title">
|
<view class="right-instant" v-show="!openmore"
|
||||||
<view class="blue-shu" style="margin-left: 30rpx;"></view>
|
:style="isblue==`1`?{border:`4rpx dashed #0089FE`}:{border:`4rpx dashed #fff`}">
|
||||||
<view class="blue-font">
|
<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 class="small-instant" v-show="!openmore">
|
||||||
|
|
||||||
|
<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"
|
||||||
|
: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%;"
|
||||||
|
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" />
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="right-instant-items">
|
<view class="right-instant-more" v-if="openmore" @click="deleteshake = false"
|
||||||
<image class="haven-img" v-if="!bottomItems.length"
|
:style="isblue?{border:`4rpx dashed #0089FE`}:{border:`4rpx dashed #fff`}">
|
||||||
src="/static/index/procurement/haven.png" mode="aspectFill"></image>
|
<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" style="height: 430rpx;">
|
||||||
|
<view class="small-instant">
|
||||||
|
<scroll-view style="height: 100%;width:100%;" scroll-with-animation scroll-y
|
||||||
|
:scroll-top="gettop">
|
||||||
|
<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>
|
||||||
|
<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%;"
|
||||||
|
src="/static/index/deleticon.png" mode="aspectFill"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="instant-detail"
|
||||||
|
:style="{top:`${(secondinstantshow[0]+1) *155 - 10}rpx`}"
|
||||||
|
v-show="secondinstantshow[0]!==-1">
|
||||||
|
<view class="triangle-instant"
|
||||||
|
:style="{left:`${(secondinstantshow[1]) * 32 + 15}%`}">
|
||||||
|
<view class="triangle-small-instant"></view>
|
||||||
|
</view>
|
||||||
|
<view class="detail-title">
|
||||||
|
{{ bottomItems[moreindex]?.directiveName }}
|
||||||
|
</view>
|
||||||
|
<view class="detail-contain">
|
||||||
|
{{ bottomItems[moreindex]?.serviceContent }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</scroll-view>
|
||||||
|
|
||||||
|
<view class="instant-more" style="bottom: -71rpx;" @click="openmore=false">
|
||||||
|
<image class="more-imge" style="transform: rotate(180deg)"
|
||||||
|
src="/static/index/down.png" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="right-tree" @click="editopen=false">
|
<view class="right-tree" @click="editopen=false">
|
||||||
<view class="right-servers">
|
<view class="right-servers">
|
||||||
<view :class="servertype===index?`servertarget`:`server`"
|
<view :class="servertype===index?`servertarget`:`server`"
|
||||||
v-for="(item,index) in [`服务指令`,`服务指令包`]" :key="index" @click="openserver(index)">
|
v-show="!ruleritem.directiveName" v-for="(item,index) in [`服务指令`,`服务指令包`]"
|
||||||
|
:key="index" @click="openserver(index)">
|
||||||
{{ item }}
|
{{ item }}
|
||||||
</view>
|
</view>
|
||||||
<view class="servers-heng" :style="servertype?{left:`294rpx`}:{}"></view>
|
<view class="servers-heng" v-show="!ruleritem.directiveName"
|
||||||
|
:style="servertype?{left:`294rpx`}:{}"></view>
|
||||||
|
|
||||||
|
<view class="servertarget" v-show="ruleritem.directiveName && ruleritem.izPackage==`N` "
|
||||||
|
v-for="(item,index) in [`服务指令`]" :key="index">
|
||||||
|
{{ item }}
|
||||||
|
</view>
|
||||||
|
<view class="servertarget" v-show="ruleritem.directiveName && ruleritem.izPackage==`Y` "
|
||||||
|
v-for="(item,index) in [`服务指令包`]" :key="index">
|
||||||
|
{{ item }}
|
||||||
|
</view>
|
||||||
|
<view class="servers-heng" v-show="ruleritem.directiveName"></view>
|
||||||
|
|
||||||
|
|
||||||
<image class="explain-icon" @click="explainopen=!explainopen"
|
<image class="explain-icon" @click="explainopen=!explainopen"
|
||||||
src="/static/index/procurement/explain.png" mode="aspectFill"></image>
|
src="/static/index/procurement/explain.png" mode="aspectFill"></image>
|
||||||
|
|
@ -213,13 +307,13 @@
|
||||||
双击服务指令可编辑矩阵
|
双击服务指令可编辑矩阵
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="three-items" v-show="!ruleritem.directiveName">
|
<view class="three-items" v-show="!ruleritem.directiveName && !servertype">
|
||||||
<view class="tree-item">
|
<view class="tree-item">
|
||||||
<scroll-view style="height: 100%;width:100%;" :scroll-y="canmove"
|
<scroll-view style="height: 100%;width:100%;" :scroll-y="canmove"
|
||||||
@scroll="handleScroll">
|
@scroll="handleScroll">
|
||||||
<view class="tree-card"
|
<view class="tree-card"
|
||||||
v-for="(item,index) in bigArray[upmenuIndex]?.children[downmenuIndex]?.children"
|
v-for="(item,index) in bigArray[upmenuIndex]?.children[downmenuIndex]?.children"
|
||||||
:key="index" @touchstart="handleTouchStart(item,index,$event)"
|
:key="index" @touchstart="handleTouchStart(item,$event)"
|
||||||
@click="clickaddnew(item,index)">
|
@click="clickaddnew(item,index)">
|
||||||
<image class="card-icon"
|
<image class="card-icon"
|
||||||
:src="index === thirdmenuIndex?serverUrl+item.immediateFileFocus:serverUrl+item.immediateFile"
|
:src="index === thirdmenuIndex?serverUrl+item.immediateFileFocus:serverUrl+item.immediateFile"
|
||||||
|
|
@ -259,7 +353,45 @@
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="target-items-father" v-if="ruleritem.directiveName">
|
<view class="three-items" v-show="!ruleritem.directiveName && servertype"
|
||||||
|
style="flex-direction: column;">
|
||||||
|
<scroll-view class="pack-title" scroll-with-animation :scroll-x="canmove">
|
||||||
|
<view class="pack-father">
|
||||||
|
<view class="packs" :style="packnumber==index?{color:`#0089FE`}:{}"
|
||||||
|
v-for="(item,index) in savePackagelist" :key="index"
|
||||||
|
@click="packclick(item,index)">
|
||||||
|
<image class="pack-icon"
|
||||||
|
:src=" `/static/index/pack${packnumber==index?`target`:``}.png`"
|
||||||
|
mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
{{ item.packageName }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
<view class="pack-heng">
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<scroll-view class="pack-detail" scroll-with-animation :scroll-y="canmove">
|
||||||
|
<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"
|
||||||
|
mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<view class="">
|
||||||
|
{{ splitString(item.directiveName)[0] }}
|
||||||
|
</view>
|
||||||
|
<view style="height: 3rpx;font-size: 20rpx;">
|
||||||
|
{{ splitString(item.directiveName)[1] ? `(${splitString(item.directiveName)[1]})`:``}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</scroll-view>
|
||||||
|
</view>
|
||||||
|
<view class="target-items-father"
|
||||||
|
v-if="ruleritem.directiveName && ruleritem.izPackage==`N`">
|
||||||
<view class="target-items">
|
<view class="target-items">
|
||||||
<view class="target-gray">
|
<view class="target-gray">
|
||||||
{{ ruleritem.categoryName }}
|
{{ ruleritem.categoryName }}
|
||||||
|
|
@ -304,36 +436,202 @@
|
||||||
<view class="target-smalltext">
|
<view class="target-smalltext">
|
||||||
{{ ruleritem.serviceContent }}
|
{{ ruleritem.serviceContent }}
|
||||||
</view>
|
</view>
|
||||||
<view class="target-edit" @click.stop="editopen = !editopen">
|
<view class="target-edit" @click.stop="edititems(ruleritem)" v-show="editingmode">
|
||||||
编辑
|
编辑
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="target-items-father"
|
||||||
|
v-if="ruleritem.directiveName && ruleritem.izPackage==`Y`">
|
||||||
|
<view class="packtargetmessage">
|
||||||
|
<image class="packtargetmessage-icon" :src=" `/static/index/packtarget.png`"
|
||||||
|
mode="aspectFill" />
|
||||||
|
<view class="packtarget-font">
|
||||||
|
{{ ruleritem.directiveName }}
|
||||||
|
</view>
|
||||||
|
<view class="packtarget-strart">
|
||||||
|
{{ ruleritem.startTime }}
|
||||||
|
</view>
|
||||||
|
<view class="packtarget-other">
|
||||||
|
<view class="packtarget-shu">
|
||||||
|
|
|
||||||
|
</view>
|
||||||
|
<text class="packtarget-blue">
|
||||||
|
{{ ruleritem.newtypename }}
|
||||||
|
</text>
|
||||||
|
<view class="packtarget-shu">
|
||||||
|
|
|
||||||
|
</view>
|
||||||
|
<view style="color: #919191;">
|
||||||
|
{{ ruleritem.serviceDuration }}分钟
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="packtarget-heng"></view>
|
||||||
|
<scroll-view class="packtarget-detail" scroll-with-animation :scroll-y="canmove">
|
||||||
|
<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>
|
||||||
|
<view class="">
|
||||||
|
{{ splitString(item.directiveName)[0] }}
|
||||||
|
</view>
|
||||||
|
<view style="height: 3rpx;font-size: 20rpx;">
|
||||||
|
{{ splitString(item.directiveName)[1] ? `(${splitString(item.directiveName)[1]})`:``}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
<view class="packtarget-heng"></view>
|
||||||
|
|
||||||
|
<view class="packtarget-end">
|
||||||
|
<image class="end-icon"
|
||||||
|
:src="serverUrl+ruleritem?.directivesList[packtargetindex]?.immediateFile"
|
||||||
|
mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<view class="">
|
||||||
|
<view class="packtarget-title">
|
||||||
|
<view class="target-gray">
|
||||||
|
{{ ruleritem?.directivesList[packtargetindex]?.categoryName }}
|
||||||
|
</view>
|
||||||
|
<view class="target-shu">
|
||||||
|
|
|
||||||
|
</view>
|
||||||
|
<view class="target-gray">
|
||||||
|
{{ ruleritem?.directivesList[packtargetindex]?.typeName }}
|
||||||
|
</view>
|
||||||
|
<view class="target-black">
|
||||||
|
{{ splitString(ruleritem?.directivesList[packtargetindex]?.directiveName)[0] }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="packtarget-serviceContent">
|
||||||
|
{{ ruleritem?.directivesList[packtargetindex]?.serviceContent }}
|
||||||
|
</view>
|
||||||
|
</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>
|
||||||
<view class="edit-open" v-show="editopen" @click.stop>
|
<view class="edit-open" v-show="editopen" @click.stop>
|
||||||
<view class="edit-menu">
|
<view class="edit-menu">
|
||||||
<view class="triangle">
|
<view class="triangle">
|
||||||
<view class="triangle-small"></view>
|
<view class="triangle-small"></view>
|
||||||
</view>
|
</view>
|
||||||
<view class="edit-tags" :style="edittype===index?{fontWeight:`700`}:{}"
|
<view class="edit-tags" :style="edittype===index?{fontWeight:`800`}:{}"
|
||||||
v-for="(item,index) in [`星期`,`日期`,`频率`]" :key="index"
|
v-for="(item,index) in [`频率`,`星期`,`日期`]" :key="index"
|
||||||
@click="clickedit(index) ">
|
@click="clickedit(index) ">
|
||||||
{{ item }}
|
{{ item }}
|
||||||
</view>
|
</view>
|
||||||
<view class="edit-heng" :style="{left:`${40+edittype*100}rpx`}"></view>
|
<view class="edit-heng" :style="{left:`${40+edittype*100}rpx`}"></view>
|
||||||
</view>
|
</view>
|
||||||
<view class="edit-week">
|
<view class="edit-Frequency" v-show="!edittype">
|
||||||
<view class="week-day" v-for="(item,index) in weekDays" :key="index"
|
<view class="Frequency-one" @click="clickeveryday">
|
||||||
v-show="!edittype">
|
<view class="Frequency-box"
|
||||||
|
:style="nosave.cycleTypeId==`1`?{borderColor:`#0089FE`}:{}">
|
||||||
|
<image class="box"
|
||||||
|
:src=" `/static/right${nosave.cycleTypeId==`1`?`target`:``}.png`" />
|
||||||
|
</view>
|
||||||
|
每天执行一次
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="Frequency-one" @click="clickmanyday">
|
||||||
|
<view class="Frequency-box"
|
||||||
|
:style="nosave.cycleTypeId==`5`&&nosave.cycleValue?{borderColor:`#0089FE`}:{}">
|
||||||
|
<image class="box"
|
||||||
|
:src=" `/static/right${nosave.cycleTypeId==`5`&&nosave.cycleValue?`target`:``}.png`" />
|
||||||
|
</view>
|
||||||
|
每隔
|
||||||
|
<view class="Frequency-add" @click="inputnum>0? inputnum--:``">
|
||||||
|
-
|
||||||
|
</view>
|
||||||
|
<view class="Frequency-input">
|
||||||
|
<input class="center-input" type="number" v-model="inputnum"
|
||||||
|
:maxlength="5" />
|
||||||
|
</view>
|
||||||
|
<view class="Frequency-add" @click="inputnum++">
|
||||||
|
+
|
||||||
|
</view>
|
||||||
|
天执行一次
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="Frequency-one" @click="clickonetime">
|
||||||
|
<view class="Frequency-box"
|
||||||
|
:style="nosave.cycleTypeId==`5`&&!nosave.cycleValue?{borderColor:`#0089FE`}:{}">
|
||||||
|
<image class="box"
|
||||||
|
:src=" `/static/right${nosave.cycleTypeId==`5`&&!nosave.cycleValue?`target`:``}.png`" />
|
||||||
|
</view>
|
||||||
|
临时一次
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="edit-week" v-show="edittype==1">
|
||||||
|
<view class="week-day"
|
||||||
|
:style="nosave.cycleTypeId==`3`&&nosave.cycleValue==index?{color:`#0089FE`}:{}"
|
||||||
|
v-for="(item,index) in weekDays" :key="index" @click="clickweektarget(index)">
|
||||||
{{ item }}
|
{{ item }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="edit-month">
|
<view class="edit-month" v-show="edittype==2" style="margin-top: 5rpx;">
|
||||||
<view class="month-day" v-for="(item,index) in monthDays" :key="index"
|
<view class="month-day"
|
||||||
v-show="edittype==1">
|
:style="nosave.cycleTypeId==`4`&&nosave.cycleValue==Number(item)?{color:`#0089FE`}:{}"
|
||||||
|
v-for="(item,index) in monthDays" :key="index" @click="clickmonthtarget(item)">
|
||||||
{{ item }}
|
{{ item }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="edit-right">
|
<view class="edit-right" @click="allisright">
|
||||||
确定
|
确定
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -488,7 +786,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch } from 'vue';
|
import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch } from 'vue';
|
||||||
import { onShow, onHide } from '@dcloudio/uni-app';
|
import { onShow, onHide } from '@dcloudio/uni-app';
|
||||||
import { getNclist, addBatch, addDirective, addInstant, deleteDirective, deleteInstant, editDirective } from "./api.js";
|
import { getNclist, addBatch, addDirective, addInstant, deleteDirective, editDirective } from "./api.js";
|
||||||
import { myArray } from './yaoshandiao.js';
|
import { myArray } from './yaoshandiao.js';
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
|
@ -501,29 +799,181 @@
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
isblue: {
|
isblue: {
|
||||||
type: Boolean,
|
type: Number,
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
sendxy: {
|
sendxy: {
|
||||||
type: Array,
|
type: Array,
|
||||||
required: true
|
required: true
|
||||||
}
|
},
|
||||||
|
targetrule: {
|
||||||
|
type: Array,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
});
|
});
|
||||||
watch(() => props.canmove, (newVal, oldVal) => {
|
watch(() => props.canmove, (newVal, oldVal) => {
|
||||||
if (oldVal === false && newVal === true) {
|
if (oldVal === false && newVal === true) {
|
||||||
// console.log("aaaaa", inArea(props.sendxy[0],props.sendxy[1]))
|
// console.log("aaaaa", inArea(props.sendxy[0],props.sendxy[1]))
|
||||||
if (inArea(props.sendxy[0], props.sendxy[1])) {
|
if (inArea(props.sendxy[0], props.sendxy[1])) {
|
||||||
console.log("添加即时指令")
|
addinstantcommand()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const clickrighttoclean = () => {
|
||||||
|
// console.log("啥")
|
||||||
|
openmore.value = false;
|
||||||
|
deleteshake.value = false
|
||||||
|
}
|
||||||
|
|
||||||
|
const clickeveryday = () => {
|
||||||
|
nosave.value.cycleTypeId = "1";
|
||||||
|
nosave.value.cycleValue = ""
|
||||||
|
nosave.value.optCount = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
const clickmanyday = () => {
|
||||||
|
nosave.value.cycleTypeId = "5";
|
||||||
|
// 去0
|
||||||
|
nosave.value.cycleValue = Number(inputnum.value).toString()
|
||||||
|
nosave.value.optCount = ""
|
||||||
|
}
|
||||||
|
const clickonetime = () => {
|
||||||
|
nosave.value.cycleTypeId = "5";
|
||||||
|
nosave.value.cycleValue = ""
|
||||||
|
nosave.value.optCount = "1"
|
||||||
|
}
|
||||||
|
|
||||||
|
const clickweektarget = (index : number) => {
|
||||||
|
nosave.value.cycleTypeId = "3";
|
||||||
|
nosave.value.cycleValue = index.toString()
|
||||||
|
nosave.value.optCount = ""
|
||||||
|
}
|
||||||
|
const clickmonthtarget = (index : string) => {
|
||||||
|
if (index) {
|
||||||
|
nosave.value.cycleTypeId = "4";
|
||||||
|
nosave.value.cycleValue = Number(index).toString()
|
||||||
|
nosave.value.optCount = ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const allisright = () => {
|
||||||
|
// 特殊指令
|
||||||
|
if (nosave.value.cycleTypeId == `5` && nosave.value.cycleValue) {
|
||||||
|
nosave.value.cycleValue = Number(inputnum.value).toString()
|
||||||
|
}
|
||||||
|
|
||||||
|
let allobject = ruleritem.value
|
||||||
|
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 data = {
|
||||||
|
id: allobject.id,
|
||||||
|
nuId: uni.getStorageSync('nuId'),
|
||||||
|
directiveId: allobject.directiveId,
|
||||||
|
positioning: saveEditIndex.value.index0.toString(),
|
||||||
|
positioningLong: saveEditIndex.value.index1.toString(),
|
||||||
|
tagName: timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1].tagName,
|
||||||
|
startTime: allobject.startTime,
|
||||||
|
izPackage: ruleritem.value.izPackage,
|
||||||
|
cycleTypeId: nosave.value.cycleTypeId,
|
||||||
|
cycleValue: nosave.value.cycleValue,
|
||||||
|
optCount: nosave.value.optCount,
|
||||||
|
optTime: ts,
|
||||||
|
}
|
||||||
|
// console.log("zzzz",data)
|
||||||
|
// return
|
||||||
|
editDirective(data).then((res) => {
|
||||||
|
console.log("kankan", data, res)
|
||||||
|
if (res.success) {
|
||||||
|
geteverything()
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
editopen.value = false
|
||||||
|
rulerTouchClick(timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1], saveEditIndex.value.index0, saveEditIndex.value.index1)
|
||||||
|
}, 300)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const inputnum = ref(1)
|
||||||
|
const secondinstantshow = ref([-1, -1])
|
||||||
|
const gettop = ref(0)
|
||||||
|
const clickinstant = (index : number) => {
|
||||||
|
if (moreindex.value !== index) {
|
||||||
|
moreindex.value = index
|
||||||
|
secondinstantshow.value = [Math.floor(index / 3), index % 3]
|
||||||
|
// console.log("点击啥了", bottomItems.value[index])
|
||||||
|
// bottomItems.value[index].serviceContent
|
||||||
|
setTimeout(() => {
|
||||||
|
gettop.value = 77.5 * secondinstantshow.value[0]
|
||||||
|
}, 200)
|
||||||
|
} else {
|
||||||
|
moreindex.value = -1
|
||||||
|
secondinstantshow.value = [-1, -1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const nosave = ref({
|
||||||
|
cycleTypeId: "",
|
||||||
|
cycleValue: "",
|
||||||
|
optCount: "",
|
||||||
|
})
|
||||||
|
const edititems = (item : any) => {
|
||||||
|
nosave.value.cycleTypeId = item.cycleTypeId;
|
||||||
|
nosave.value.cycleValue = item.cycleValue
|
||||||
|
nosave.value.optCount = item.optCount
|
||||||
|
// console.log("0000", nosave.value)
|
||||||
|
editopen.value = true
|
||||||
|
if (item.cycleTypeId == "3") {
|
||||||
|
edittype.value = 1
|
||||||
|
} else if (item.cycleTypeId == "4") {
|
||||||
|
edittype.value = 2
|
||||||
|
} else {
|
||||||
|
edittype.value = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const deleteshake = ref(false);
|
||||||
|
let t
|
||||||
|
const startdelete = () => t = setTimeout(() => {
|
||||||
|
if (editingmode.value) {
|
||||||
|
deleteshake.value = true
|
||||||
|
}
|
||||||
|
|
||||||
|
}, 1000)
|
||||||
|
const enddelete = () => clearTimeout(t)
|
||||||
|
const addinstantcommand = () => {
|
||||||
|
const exists = bottomItems.value.some((element : any) => {
|
||||||
|
return element.directiveId === postitem.value.id
|
||||||
|
})
|
||||||
|
|
||||||
|
if (exists) {
|
||||||
|
errshow.value = "请勿添加相同的服务指令"
|
||||||
|
openerror.value = true
|
||||||
|
return // ✅ 这次是真的 return 出函数了
|
||||||
|
}
|
||||||
|
let allobject = postitem.value
|
||||||
|
let postdata = {
|
||||||
|
nuId: uni.getStorageSync('nuId'),
|
||||||
|
directiveId: allobject.id,
|
||||||
|
izPackage: `N`,
|
||||||
|
cycleTypeId: 2,
|
||||||
|
}
|
||||||
|
addDirective(postdata).then((res) => {
|
||||||
|
console.log("kankan", postdata, res)
|
||||||
|
if (res.success) {
|
||||||
|
geteverything()
|
||||||
|
setTimeout(() => {
|
||||||
|
playFirstPop()
|
||||||
|
}, 200)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const moreindex = ref(-1)
|
||||||
const editingmode = ref(false);
|
const editingmode = ref(false);
|
||||||
const openerror = ref(false)
|
const openerror = ref(false)
|
||||||
const errshow = ref("")
|
const errshow = ref("")
|
||||||
|
|
||||||
const emit = defineEmits(['handmove', 'handsend'])
|
const emit = defineEmits(['handsend', `rulepush`])
|
||||||
|
|
||||||
const serverUrl = ref(uni.getStorageSync('imagebase'))
|
const serverUrl = ref(uni.getStorageSync('imagebase'))
|
||||||
const bodystatus = ref(false);
|
const bodystatus = ref(false);
|
||||||
|
|
@ -655,12 +1105,16 @@
|
||||||
return "right-top"
|
return "right-top"
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
const editopen = ref(false)
|
const editopen = ref(false);
|
||||||
|
const openmore = ref(false)
|
||||||
// 清理所有弹窗
|
// 清理所有弹窗
|
||||||
const cleanallopen = () => {
|
const cleanallopen = () => {
|
||||||
settingopen.value = false;
|
settingopen.value = false;
|
||||||
explainopen.value = false;
|
explainopen.value = false;
|
||||||
editopen.value = false
|
editopen.value = false;
|
||||||
|
openmore.value = false;
|
||||||
|
deleteshake.value = false;
|
||||||
|
packtargetindex.value = 0
|
||||||
}
|
}
|
||||||
// 这是二级菜单的动画的模板
|
// 这是二级菜单的动画的模板
|
||||||
const secondtemp = ref([])
|
const secondtemp = ref([])
|
||||||
|
|
@ -685,7 +1139,12 @@
|
||||||
lastTap.value = now
|
lastTap.value = now
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const clickopenmore = () => {
|
||||||
|
openmore.value = true;
|
||||||
|
deleteshake.value = false
|
||||||
|
moreindex.value = -1;
|
||||||
|
secondinstantshow.value = [-1, -1]
|
||||||
|
}
|
||||||
// 替换新的
|
// 替换新的
|
||||||
const getNew = () => {
|
const getNew = () => {
|
||||||
if (flyNumber.value.index0 === saveEditIndex.value.index0 && flyNumber.value.index1 === saveEditIndex.value.index1) {
|
if (flyNumber.value.index0 === saveEditIndex.value.index0 && flyNumber.value.index1 === saveEditIndex.value.index1) {
|
||||||
|
|
@ -1040,13 +1499,7 @@
|
||||||
if (downmenuIndex.value === index) {
|
if (downmenuIndex.value === index) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// iszhouqi.value = false;
|
|
||||||
// weekIndex.value = -1;
|
|
||||||
// monthIndex.value = -1;
|
|
||||||
// weekValue.value = "";
|
|
||||||
// monthValue.value = "";
|
|
||||||
downmenuIndex.value = index;
|
downmenuIndex.value = index;
|
||||||
// downdonghua.value = index;
|
|
||||||
thirdmenuIndex.value = 0;
|
thirdmenuIndex.value = 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -1103,6 +1556,8 @@
|
||||||
const showDetail = ref([-1, -1])
|
const showDetail = ref([-1, -1])
|
||||||
// 表格信息
|
// 表格信息
|
||||||
const ruleritem = ref({})
|
const ruleritem = ref({})
|
||||||
|
|
||||||
|
const packtargetindex = ref(0)
|
||||||
const rulerTouchClick = (item : any, index0 : number, index1 : number) => {
|
const rulerTouchClick = (item : any, index0 : number, index1 : number) => {
|
||||||
// isDelete.value = false;
|
// isDelete.value = false;
|
||||||
saveEditIndex.value.index0 = index0;
|
saveEditIndex.value.index0 = index0;
|
||||||
|
|
@ -1121,60 +1576,16 @@
|
||||||
ruleritem.value.newtypename = Number(ruleritem.value.cycleValue) + "日"
|
ruleritem.value.newtypename = Number(ruleritem.value.cycleValue) + "日"
|
||||||
break
|
break
|
||||||
case `5`:
|
case `5`:
|
||||||
ruleritem.value.newtypename = `每隔` + Number(ruleritem.value.cycleValue) + "天执行一次"
|
if (ruleritem.value.cycleValue) {
|
||||||
|
ruleritem.value.newtypename = Number(ruleritem.value.cycleValue) + "天执行一次"
|
||||||
|
} else {
|
||||||
|
ruleritem.value.newtypename = "临时一次"
|
||||||
|
}
|
||||||
|
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
// if(ruleritem.value.cycleTypeId){
|
cleanallopen()
|
||||||
// if(ruleritem.value.cycleValue)
|
|
||||||
// ruleritem.value.typename =
|
|
||||||
// }
|
|
||||||
|
|
||||||
console.log("点击表格", 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)
|
|
||||||
}
|
}
|
||||||
const shakyTable = ref(false);
|
const shakyTable = ref(false);
|
||||||
const reldata = ref([]);
|
const reldata = ref([]);
|
||||||
|
|
@ -1255,7 +1666,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
const killjishi = (id : string) => {
|
const killjishi = (id : string) => {
|
||||||
deleteInstant({ id: id }).then((res) => {
|
console.log("id有吗", id)
|
||||||
|
deleteDirective({ id: id }).then((res) => {
|
||||||
|
console.log("返回啥了", res)
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
geteverything()
|
geteverything()
|
||||||
}
|
}
|
||||||
|
|
@ -1593,9 +2006,10 @@
|
||||||
const emotionTagList = ref([]);
|
const emotionTagList = ref([]);
|
||||||
const bodyTagList = ref([]);
|
const bodyTagList = ref([]);
|
||||||
const geteverything = () => {
|
const geteverything = () => {
|
||||||
|
console.log("啥玩意啊", uni.getStorageSync('elderId'))
|
||||||
if (uni.getStorageSync('nuId') && uni.getStorageSync('elderId')) {
|
if (uni.getStorageSync('nuId') && uni.getStorageSync('elderId')) {
|
||||||
getNclist(uni.getStorageSync('nuId'), uni.getStorageSync('elderId')).then((res : any) => {
|
getNclist(uni.getStorageSync('nuId'), uni.getStorageSync('elderId')).then((res : any) => {
|
||||||
console.log("zzzz11111111111", res.result.serviceList)
|
console.log("即时指令", res.result.serviceList)
|
||||||
timearr.value = Array.from({ length: 24 }, (_, hour) => ({
|
timearr.value = Array.from({ length: 24 }, (_, hour) => ({
|
||||||
positioning: hour.toString(),
|
positioning: hour.toString(),
|
||||||
children: minuteArr.map(time => ({
|
children: minuteArr.map(time => ({
|
||||||
|
|
@ -1607,6 +2021,9 @@
|
||||||
timearr.value[res.positioning].children[res.positioningLong] = res;
|
timearr.value[res.positioning].children[res.positioningLong] = res;
|
||||||
})
|
})
|
||||||
bottomItems.value = res.result.instantList
|
bottomItems.value = res.result.instantList
|
||||||
|
if (!res.result.instantList.length) {
|
||||||
|
deleteshake.value = false
|
||||||
|
}
|
||||||
cansumit.value = true;
|
cansumit.value = true;
|
||||||
emotionTagList.value = res.result.emotionTagList;
|
emotionTagList.value = res.result.emotionTagList;
|
||||||
emotionTagListLook.value = []
|
emotionTagListLook.value = []
|
||||||
|
|
@ -1633,8 +2050,7 @@
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
savePackagelist.value = uni.getStorageSync('Packagelist') || []
|
savePackagelist.value = uni.getStorageSync('Packagelist') || []
|
||||||
let res = uni.getStorageSync('saveTree0')
|
let res = uni.getStorageSync('saveTree0')
|
||||||
console.log("包", savePackagelist.value
|
console.log("包", savePackagelist.value)
|
||||||
)
|
|
||||||
let goodArray = []
|
let goodArray = []
|
||||||
myArray.forEach((element : any) => {
|
myArray.forEach((element : any) => {
|
||||||
element?.children.forEach((element1 : any) => {
|
element?.children.forEach((element1 : any) => {
|
||||||
|
|
@ -1828,26 +2244,26 @@
|
||||||
let match = remainingStr.match(regex);
|
let match = remainingStr.match(regex);
|
||||||
if (match) {
|
if (match) {
|
||||||
// 添加括号前的部分(去掉空白)
|
// 添加括号前的部分(去掉空白)
|
||||||
if (match[1].trim()) {
|
if (match[1]?.trim()) {
|
||||||
result.push(match[1].trim());
|
result.push(match[1].trim());
|
||||||
}
|
}
|
||||||
// 添加括号内的内容
|
// 添加括号内的内容
|
||||||
if (match[2].trim()) {
|
if (match[2]?.trim()) {
|
||||||
result.push(match[2].trim());
|
result.push(match[2].trim());
|
||||||
}
|
}
|
||||||
// 更新剩余的字符串
|
// 更新剩余的字符串
|
||||||
remainingStr = remainingStr.replace(match[0], '').trim();
|
remainingStr = remainingStr.replace(match[0], '')?.trim();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 如果最后还有剩余部分,也加入结果
|
// 如果最后还有剩余部分,也加入结果
|
||||||
if (remainingStr.trim()) {
|
if (remainingStr?.trim()) {
|
||||||
result.push(remainingStr.trim());
|
result.push(remainingStr?.trim());
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
const totalColumns = 24; // 总列数
|
const totalColumns = 24; // 总列数
|
||||||
const totalRows = 11; // 总行数
|
const totalRows = 12; // 总行数
|
||||||
const visibleWidth = 1295; // 可视区域宽度 (rpx),基于 scalcType * widthType ≈ 2220
|
const visibleWidth = 1295; // 可视区域宽度 (rpx),基于 scalcType * widthType ≈ 2220
|
||||||
const visibleHeight = 1225; // 可视区域高度 (rpx),假设显示约5行时 heightType = 102.5
|
const visibleHeight = 1225; // 可视区域高度 (rpx),假设显示约5行时 heightType = 102.5
|
||||||
function centerCell() {
|
function centerCell() {
|
||||||
|
|
@ -1935,15 +2351,65 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
const popping = ref(false);
|
||||||
|
// 放大的动画
|
||||||
|
function playFirstPop() {
|
||||||
|
// 保证可重复触发:先清掉,再下一帧设置
|
||||||
|
popping.value = false;
|
||||||
|
requestAnimationFrame(() => {
|
||||||
|
popping.value = true;
|
||||||
|
// 0.2s 后取消(缩回)
|
||||||
|
setTimeout(() => {
|
||||||
|
popping.value = false;
|
||||||
|
}, 1000);
|
||||||
|
});
|
||||||
|
}
|
||||||
/***** 组件卸载 *****/
|
/***** 组件卸载 *****/
|
||||||
// onBeforeUnmount(() => {
|
// onBeforeUnmount(() => {
|
||||||
// cleanupAll()
|
// cleanupAll()
|
||||||
// })
|
// })
|
||||||
const longPressTimer = ref(null);
|
const longPressTimer = ref(null);
|
||||||
const redNameindex0 = ref([])
|
const isTuoing = ref(false);
|
||||||
const isTuoing = ref(false)
|
// 传递过去的对象
|
||||||
const handleTouchStart = (item : any, index : number, e : any) => {
|
const postitem = ref({});
|
||||||
|
const handleTouchStart1 = (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);
|
||||||
|
|
||||||
|
longPressTimer.value = setTimeout(() => {
|
||||||
|
if (isScrolling.value) return
|
||||||
|
if (item.directiveName) {
|
||||||
|
let reldata = []
|
||||||
|
const query = uni.createSelectorQuery()
|
||||||
|
query
|
||||||
|
.selectAll('.super-card-time-card')
|
||||||
|
.boundingClientRect((data : any) => {
|
||||||
|
data.forEach((res : any) => {
|
||||||
|
// 根据你的条件筛选元素
|
||||||
|
if (res.left > 88 && res.left < 723 && res.top < 622 && res.top > 32) {
|
||||||
|
reldata.push(res)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
isTuoing.value = true;
|
||||||
|
emit('handsend', item)
|
||||||
|
emit('rulepush', reldata)
|
||||||
|
postitem.value = item
|
||||||
|
|
||||||
|
})
|
||||||
|
.exec()
|
||||||
|
}
|
||||||
|
}, 200)
|
||||||
|
|
||||||
|
}
|
||||||
|
const handleTouchStart = (item : any, e : any) => {
|
||||||
|
// 只有编辑模式才能拖动
|
||||||
|
console.log("长按了", item)
|
||||||
if (!editingmode.value) return
|
if (!editingmode.value) return
|
||||||
// thirdmenuIndex.value = index
|
// thirdmenuIndex.value = index
|
||||||
shakyTable.value = false
|
shakyTable.value = false
|
||||||
|
|
@ -1951,12 +2417,11 @@
|
||||||
saveY.value = Math.floor(e.touches[0].pageY);
|
saveY.value = Math.floor(e.touches[0].pageY);
|
||||||
|
|
||||||
longPressTimer.value = setTimeout(() => {
|
longPressTimer.value = setTimeout(() => {
|
||||||
redNameindex0.value = [];
|
|
||||||
if (isScrolling.value) return
|
if (isScrolling.value) return
|
||||||
|
|
||||||
isTuoing.value = true;
|
isTuoing.value = true;
|
||||||
emit('handsend', item)
|
emit('handsend', item)
|
||||||
// emit('savename', item.title, reldata.value);
|
postitem.value = item
|
||||||
}, 200)
|
}, 200)
|
||||||
}
|
}
|
||||||
const isScrolling = ref(false)
|
const isScrolling = ref(false)
|
||||||
|
|
@ -2009,9 +2474,6 @@
|
||||||
singleTimer = null
|
singleTimer = null
|
||||||
}
|
}
|
||||||
lastClick.value = 0
|
lastClick.value = 0
|
||||||
// console.log('已经双击了',item)
|
|
||||||
// const openerror = ref(false)
|
|
||||||
// const errshow = ref("")
|
|
||||||
if (!editingmode.value) {
|
if (!editingmode.value) {
|
||||||
errshow.value = "添加服务指令,请切换成编辑模式"
|
errshow.value = "添加服务指令,请切换成编辑模式"
|
||||||
openerror.value = true;
|
openerror.value = true;
|
||||||
|
|
@ -2115,38 +2577,11 @@
|
||||||
positioningLong: saveEditIndex.value.index1.toString(),
|
positioningLong: saveEditIndex.value.index1.toString(),
|
||||||
tagName: timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1].tagName,
|
tagName: timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1].tagName,
|
||||||
startTime: formattedStart,
|
startTime: formattedStart,
|
||||||
izPackage: `N`,
|
izPackage: servertype.value ? `Y` : `N`,
|
||||||
cycleTypeId: 3,
|
cycleTypeId: 1,
|
||||||
cycleValue: 0,
|
|
||||||
optTime: ts,
|
|
||||||
}
|
}
|
||||||
// let postdata = {
|
|
||||||
// nuId: 2512101001,
|
|
||||||
// directiveId: 2013784872664961025,
|
|
||||||
// positioning: 8,
|
|
||||||
// positioningLong: 3,
|
|
||||||
// tagName: `上午时段服务指令包`,
|
|
||||||
// startTime: `08:15`,
|
|
||||||
// izPackage: `Y`,
|
|
||||||
// cycleTypeId: 3,
|
|
||||||
// cycleValue: 0,
|
|
||||||
// // optTime: ts,
|
|
||||||
// optTime: "2026-01-26 16:43:14"
|
|
||||||
// }
|
|
||||||
// {
|
|
||||||
// "nuId": "2512101001",
|
|
||||||
// "directiveId": "2013784872664961025",
|
|
||||||
// "positioning": "8",
|
|
||||||
// "positioningLong": "3",
|
|
||||||
// "tagName": "上午时段服务指令包",
|
|
||||||
// "startTime": "08:15",
|
|
||||||
// "izPackage": "Y",
|
|
||||||
// "cycleTypeId": 3,
|
|
||||||
// "cycleValue": 0,
|
|
||||||
// "optTime": "2026-01-26 16:43:14"
|
|
||||||
// }
|
|
||||||
addDirective(postdata).then((res) => {
|
addDirective(postdata).then((res) => {
|
||||||
console.log("kankan", postdata, res)
|
// console.log("kankan", postdata, res)
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
geteverything()
|
geteverything()
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
|
@ -2178,6 +2613,32 @@
|
||||||
|
|
||||||
return arr;
|
return arr;
|
||||||
}
|
}
|
||||||
|
const packnumber = ref(0)
|
||||||
|
const packclick = (item, index) => {
|
||||||
|
packnumber.value = index;
|
||||||
|
const now = Date.now()
|
||||||
|
if (now - lastClick.value < dblDelay) {
|
||||||
|
// 认定为双击
|
||||||
|
if (singleTimer) {
|
||||||
|
clearTimeout(singleTimer)
|
||||||
|
singleTimer = null
|
||||||
|
}
|
||||||
|
lastClick.value = 0
|
||||||
|
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
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
<view class="backgroundContainer" @touchmove.stop="getxy" @touchend.stop="cleanall">
|
<view class="backgroundContainer" @touchmove.stop="getxy" @touchend.stop="cleanall">
|
||||||
|
|
||||||
<!-- 手指拖动 -->
|
<!-- 手指拖动 -->
|
||||||
<view class="box" :style="boxStyle">
|
<view class="box" :style="boxStyle" v-if="!whoisit">
|
||||||
<view class="title-time-blue">
|
<view class="title-time-blue">
|
||||||
<image class="blue-img" lazy-load src="/static/index/target.png" />
|
<image class="blue-img" lazy-load src="/static/index/target.png" />
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -13,7 +13,35 @@
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
|
<view class="card-box" :style="boxStyle" v-if="whoisit">
|
||||||
|
<view class="title-time-blue-card">
|
||||||
|
<image class="blue-img" src="/static/index/bluetarget.png" />
|
||||||
|
</view>
|
||||||
|
<view class="card-bao" v-if="simpleobj.izPackage==`Y`">
|
||||||
|
包
|
||||||
|
</view>
|
||||||
|
<view class="title-time-border-hisOk">
|
||||||
|
<view class="title-time">
|
||||||
|
<view class="title-time-font-rel">
|
||||||
|
{{ splitString(simpleobj.directiveName)[0]}}
|
||||||
|
</view>
|
||||||
|
<view v-if="splitString(simpleobj.directiveName)[1]" class="title-time-font-tags">
|
||||||
|
({{ splitString(simpleobj.directiveName)[1]}})
|
||||||
|
</view>
|
||||||
|
<view class="card-time">
|
||||||
|
|
||||||
|
<view class="weight-time">
|
||||||
|
{{ simpleobj.startTime }}
|
||||||
|
<text style="margin: 0 3rpx;">
|
||||||
|
-
|
||||||
|
</text>
|
||||||
|
{{ simpleobj.endTime }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
<!-- 左侧菜单 -->
|
<!-- 左侧菜单 -->
|
||||||
<leftcontent :list="arrlist" @navurl="navurl" :userInfo="userInfo"></leftcontent>
|
<leftcontent :list="arrlist" @navurl="navurl" :userInfo="userInfo"></leftcontent>
|
||||||
<!-- 主页 -->
|
<!-- 主页 -->
|
||||||
|
|
@ -21,11 +49,11 @@
|
||||||
<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"
|
<bignurse :isshow="menuIndex==0"
|
||||||
v-if="swipedex==0&&specialPage==1&&uni.getStorageSync('elderId')&&uni.getStorageSync('nuId')" />
|
v-if="swipedex==0&&specialPage==1&&uni.getStorageSync('elderId')&&uni.getStorageSync('nuId')" />
|
||||||
<!-- 户嘱页 -->
|
<!-- 户嘱页 -->
|
||||||
<newnurse :isshow="menuIndex==1" v-if="swipedex==1" :canmove="startmoveit"
|
<newnurse :isshow="menuIndex==1" v-if="swipedex==1" :canmove="startmoveit" :sendxy="sendxy" :isblue='isblue' :targetrule="targetrule"
|
||||||
:sendxy="sendxy" :isblue='isblue' @handmove="handmove" @handsend="handsend" />
|
@handsend="handsend" @rulepush="rulepush" />
|
||||||
<!-- 医嘱 -->
|
<!-- 医嘱 -->
|
||||||
<doctorask v-if="swipedex==2&&uni.getStorageSync('elderId')&&uni.getStorageSync('nuId')" />
|
<doctorask v-if="swipedex==2&&uni.getStorageSync('elderId')&&uni.getStorageSync('nuId')" />
|
||||||
<logistics :isshow="menuIndex==3"
|
<logistics :isshow="menuIndex==3"
|
||||||
|
|
@ -82,12 +110,12 @@
|
||||||
|
|
||||||
getNcPackagelist().then((res : any) => {
|
getNcPackagelist().then((res : any) => {
|
||||||
//缓存指令包
|
//缓存指令包
|
||||||
console.log("缓存指令包",res)
|
console.log("缓存指令包", res)
|
||||||
uni.setStorageSync("Packagelist", res.result)
|
uni.setStorageSync("Packagelist", res.result)
|
||||||
})
|
})
|
||||||
getPermissionList({ employessId: uni.getStorageSync('userInfo').employessId }).then(res => {
|
getPermissionList({ employessId: uni.getStorageSync('userInfo').employessId }).then(res => {
|
||||||
listarr.value = res.result;
|
listarr.value = res.result;
|
||||||
console.log("这个是啥",listarr.value)
|
console.log("这个是啥", listarr.value)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
const gospecial = (index : number) => {
|
const gospecial = (index : number) => {
|
||||||
|
|
@ -202,7 +230,7 @@
|
||||||
let nuName = uni.getStorageSync('nuName')
|
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;
|
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 = [];
|
let tbr = [];
|
||||||
|
|
@ -334,13 +362,39 @@
|
||||||
title: ""
|
title: ""
|
||||||
})
|
})
|
||||||
const startmoveit = ref(true)
|
const startmoveit = ref(true)
|
||||||
|
const whoisit = ref(0);
|
||||||
|
const simpleobj = ref({
|
||||||
|
startTime: "",
|
||||||
|
endTime: "",
|
||||||
|
directiveName: "",
|
||||||
|
izPackage: '',
|
||||||
|
})
|
||||||
|
|
||||||
function handsend(look : any) {
|
function handsend(look : any) {
|
||||||
movelook.value.url = uni.getStorageSync('imagebase') + look.immediateFileFocus;
|
if (look.levle) {
|
||||||
if (!movelook.value.url) {
|
whoisit.value = 0;
|
||||||
movelook.value.url = `/static/index/sharelogo.png`
|
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
|
||||||
|
} else {
|
||||||
|
whoisit.value = 1;
|
||||||
|
simpleobj.value.startTime = look.startTime;
|
||||||
|
simpleobj.value.endTime = look.endTime;
|
||||||
|
simpleobj.value.directiveName = look.directiveName;
|
||||||
|
simpleobj.value.izPackage = look.izPackage;
|
||||||
|
|
||||||
|
startmoveit.value = false
|
||||||
|
// console.log("看看有啥",look)
|
||||||
}
|
}
|
||||||
movelook.value.title = look.title;
|
// movelook.value.url = uni.getStorageSync('imagebase') + look.immediateFileFocus;
|
||||||
startmoveit.value = false
|
// if (!movelook.value.url) {
|
||||||
|
// movelook.value.url = `/static/index/sharelogo.png`
|
||||||
|
// }
|
||||||
|
// movelook.value.title = look.title;
|
||||||
|
// startmoveit.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
//节流函数
|
//节流函数
|
||||||
|
|
@ -364,37 +418,108 @@
|
||||||
const animationData = ref({});
|
const animationData = ref({});
|
||||||
let ticking = false;
|
let ticking = false;
|
||||||
let handle = null;
|
let handle = null;
|
||||||
const sendxy = ref([0,0])
|
const sendxy = ref([0, 0])
|
||||||
const isblue = ref(false)
|
const isblue = ref(0)
|
||||||
const getxyrel = (event) => {
|
const getxyrel = (event) => {
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
if(!startmoveit.value){
|
if (!startmoveit.value) {
|
||||||
const touch = event.touches[0];
|
const touch = event.touches[0];
|
||||||
const a = touch.clientX.toFixed(2);
|
const a = touch.clientX.toFixed(2);
|
||||||
const b = touch.clientY.toFixed(2);
|
const b = touch.clientY.toFixed(2);
|
||||||
isblue.value = inArea(a,b)
|
|
||||||
|
isblue.value = inArea(a, b)
|
||||||
handmove([a,b])
|
// console.log(a, b)
|
||||||
|
handmove([a, b])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function inArea(x, y) {
|
const rules = ref([])
|
||||||
return (
|
const rulepush = (array : any) => {
|
||||||
x >= 790 &&
|
console.log("array", array)
|
||||||
x <= 1062 &&
|
rules.value = array
|
||||||
y >= 147 &&
|
|
||||||
y <= 255
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
const targetrule = ref([-1,-1])
|
||||||
|
function inArea(x, y) {
|
||||||
|
if (!whoisit.value) {
|
||||||
|
if (x >= 790 &&
|
||||||
|
x <= 1062 &&
|
||||||
|
y >= 147 &&
|
||||||
|
y <= 255) {
|
||||||
|
return 1
|
||||||
|
} 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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 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 getxy = throttle(getxyrel, 40);
|
||||||
const cleanall = (event) => {
|
const cleanall = (event) => {
|
||||||
// console.log("zzzz",event)
|
// console.log("zzzz",event)
|
||||||
const touch = event.changedTouches[0];
|
const touch = event.changedTouches[0];
|
||||||
const a = touch.clientX.toFixed(2);
|
const a = touch.clientX.toFixed(2);
|
||||||
const b = touch.clientY.toFixed(2);
|
const b = touch.clientY.toFixed(2);
|
||||||
sendxy.value = [a,b]
|
sendxy.value = [a, b]
|
||||||
handmove([-200,-200])
|
handmove([-200, -200])
|
||||||
startmoveit.value = true;
|
startmoveit.value = true;
|
||||||
isblue.value = false
|
isblue.value = 0
|
||||||
|
}
|
||||||
|
// 切割bigArray
|
||||||
|
function splitString(str) {
|
||||||
|
// 使用正则表达式找到所有括号的内容
|
||||||
|
let result = [];
|
||||||
|
let remainingStr = str;
|
||||||
|
// 正则匹配最外层括号(支持全角和半角)
|
||||||
|
let regex = /([^((]*)[((]([^))]+)[))]/;
|
||||||
|
while (regex.test(remainingStr)) {
|
||||||
|
let match = remainingStr.match(regex);
|
||||||
|
if (match) {
|
||||||
|
// 添加括号前的部分(去掉空白)
|
||||||
|
if (match[1].trim()) {
|
||||||
|
result.push(match[1].trim());
|
||||||
|
}
|
||||||
|
// 添加括号内的内容
|
||||||
|
if (match[2].trim()) {
|
||||||
|
result.push(match[2].trim());
|
||||||
|
}
|
||||||
|
// 更新剩余的字符串
|
||||||
|
remainingStr = remainingStr.replace(match[0], '').trim();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 如果最后还有剩余部分,也加入结果
|
||||||
|
if (remainingStr.trim()) {
|
||||||
|
result.push(remainingStr.trim());
|
||||||
|
}
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
@ -415,7 +540,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.box {
|
.box {
|
||||||
// pointer-events: none;
|
|
||||||
position: fixed;
|
position: fixed;
|
||||||
left: 0;
|
left: 0;
|
||||||
top: 0;
|
top: 0;
|
||||||
|
|
@ -460,4 +584,107 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.card-box {
|
||||||
|
position: fixed;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
Before Width: | Height: | Size: 138 KiB After Width: | Height: | Size: 167 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 788 B |
|
After Width: | Height: | Size: 729 B |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
|
@ -570,7 +570,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||||
)
|
)
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
const camera = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]], ["__file", "D:/项目/hldy_app_mini/pages/camera.nvue"]]);
|
const camera = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]], ["__file", "D:/hldy_app_mini/pages/camera.nvue"]]);
|
||||||
export {
|
export {
|
||||||
camera as default
|
camera as default
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -578,7 +578,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||||
)
|
)
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
const fullcamera = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]], ["__file", "D:/项目/hldy_app_mini/pages/fullcamera.nvue"]]);
|
const fullcamera = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]], ["__file", "D:/hldy_app_mini/pages/fullcamera.nvue"]]);
|
||||||
export {
|
export {
|
||||||
fullcamera as default
|
fullcamera as default
|
||||||
};
|
};
|
||||||
|
|
|
||||||