周五提交
This commit is contained in:
parent
5ad9994ec9
commit
0d40622e76
|
|
@ -918,7 +918,6 @@
|
|||
openchaobiao.value = true
|
||||
emit("canback", true)
|
||||
} else {
|
||||
|
||||
getrulevalue()
|
||||
emit("canback", true)
|
||||
}
|
||||
|
|
@ -1029,13 +1028,15 @@
|
|||
const getrulevalue = () => {
|
||||
rizhivalue.value.pageNo = 1;
|
||||
relrule.value = []
|
||||
ruletarget.value = 0
|
||||
ruletarget.value = 0;
|
||||
ruletype.value = 0;
|
||||
if (typeNow.value == 1) {
|
||||
rizhivalue.value.cid = indexmessage.value.cid;
|
||||
rizhivalue.value.type = dianrizhi.value[0].type;
|
||||
electricityMeterListArray(rizhivalue.value).then((element : any) => {
|
||||
if (element.code == 200) {
|
||||
relrule.value = element.result.records;
|
||||
// console.log("????",relrule.value)
|
||||
openrizhi.value = true
|
||||
}
|
||||
})
|
||||
|
|
@ -1046,6 +1047,7 @@
|
|||
electricityMeterListArray(rizhivalue.value).then((element : any) => {
|
||||
if (element.code == 200) {
|
||||
relrule.value = element.result.records;
|
||||
// console.log("????111",relrule.value)
|
||||
openrizhi.value = true
|
||||
}
|
||||
})
|
||||
|
|
@ -1245,7 +1247,8 @@
|
|||
}
|
||||
|
||||
const chaobiao = () => {
|
||||
closeall()
|
||||
closeall();
|
||||
|
||||
if (typeNow.value == 1) {
|
||||
electricityMeteleRead(indexmessage.value.cid, indexmessage.value.address).then((res : any) => {
|
||||
uni.showToast({
|
||||
|
|
|
|||
|
|
@ -1817,8 +1817,11 @@
|
|||
top: 220rpx;
|
||||
left: -17rpx;
|
||||
width: 60rpx;
|
||||
height: 1210rpx;
|
||||
height: 1000rpx;
|
||||
margin-top: 10rpx;
|
||||
/* background-color: red; */
|
||||
overflow: hidden;
|
||||
z-index: 9999;
|
||||
/* background: linear-gradient(to bottom, #c4dbf4, #c9c2ef, #c6dcf3); */
|
||||
/* border-bottom: 2rpx solid #fff; */
|
||||
/* border-left: 2rpx solid #fff; */
|
||||
|
|
@ -1833,7 +1836,7 @@
|
|||
}
|
||||
|
||||
.boom {
|
||||
height: 1270rpx;
|
||||
height: 2500rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
/* // justify-content: center; */
|
||||
|
|
@ -2055,8 +2058,8 @@
|
|||
width: 100%;
|
||||
height: 100%;
|
||||
padding: 20rpx;
|
||||
|
||||
.specia-title{
|
||||
|
||||
.specia-title {
|
||||
width: 100%;
|
||||
height: 100rpx;
|
||||
font-size: 40rpx;
|
||||
|
|
@ -2065,9 +2068,314 @@
|
|||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.specia-cards{
|
||||
|
||||
.specia-cards {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 容器默认隐藏,透明度为 0,不接受点击 */
|
||||
.neuro-wrapper {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
z-index: 999;
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
transition: opacity 0.3s ease;
|
||||
}
|
||||
|
||||
/* 显示时透明度过渡到 1,可接受点击 */
|
||||
.neuro-wrapper.is-active {
|
||||
opacity: 1;
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
/* 遮罩层,半透明黑色 */
|
||||
.neuro-mask {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
/* 拟态框 固定尺寸 + 阴影样式 + 相对定位于 wrapper */
|
||||
.neuro-box {
|
||||
position: relative;
|
||||
width: 600rpx;
|
||||
height: 450rpx;
|
||||
border-radius: 30rpx;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
z-index: 1;
|
||||
padding: 0 5%;
|
||||
}
|
||||
|
||||
.button {
|
||||
width: 47%;
|
||||
background-color: #ddf0ff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #007CFF;
|
||||
border: 1rpx solid #007CFF;
|
||||
font-size: 25rpx;
|
||||
border-radius: 30rpx;
|
||||
}
|
||||
|
||||
.title {
|
||||
margin-top: 70rpx;
|
||||
font-size: 33rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.card-font {
|
||||
margin-top: 70rpx;
|
||||
width: 600rpx;
|
||||
justify-content: center;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.button-white {
|
||||
width: 47%;
|
||||
border: 2rpx solid #c3cacd;
|
||||
background: linear-gradient(to bottom, #f3f3f5, #dee4e9);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 25rpx;
|
||||
border-radius: 30rpx;
|
||||
}
|
||||
|
||||
.delete-button-father {
|
||||
position: absolute;
|
||||
bottom: 60rpx;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
width: 100%;
|
||||
height: 70rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 0 50rpx;
|
||||
}
|
||||
|
||||
.right-container-title-nav {
|
||||
margin-top: 60rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 60rpx;
|
||||
position: relative;
|
||||
font-size: 28rpx;
|
||||
|
||||
.new-weight {
|
||||
margin-left: 30rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.right-icons {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: -5rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.white-button {
|
||||
width: 160rpx;
|
||||
height: 70rpx;
|
||||
border-radius: 40rpx;
|
||||
background-color: #E6E7EB;
|
||||
margin-left: 20rpx;
|
||||
margin-top: 10rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
.white-img {
|
||||
width: 35rpx;
|
||||
height: 35rpx;
|
||||
margin-right: 10rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.left-top {
|
||||
border-top-left-radius: 0 !important;
|
||||
}
|
||||
|
||||
.right-top {
|
||||
border-top-right-radius: 0 !important;
|
||||
}
|
||||
|
||||
.left-bottom {
|
||||
border-bottom-left-radius: 0 !important
|
||||
}
|
||||
|
||||
.right-bottom {
|
||||
border-bottom-right-radius: 0 !important;
|
||||
}
|
||||
|
||||
.mark {
|
||||
font-size: 29rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.marknone {
|
||||
font-size: 29rpx;
|
||||
color: #999;
|
||||
display: flex;
|
||||
margin-top: 5rpx;
|
||||
}
|
||||
|
||||
.tri-down {
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-left: 10rpx solid transparent;
|
||||
/* s/2 */
|
||||
border-right: 10rpx solid transparent;
|
||||
/* s/2 */
|
||||
border-top: 17.32rpx solid #999;
|
||||
/* 0.866 * s */
|
||||
margin: 0rpx 0rpx 0 15rpx;
|
||||
}
|
||||
|
||||
.mark-bgc {
|
||||
position: absolute;
|
||||
top: 50rpx;
|
||||
left: 0;
|
||||
width: 450rpx;
|
||||
background-color: #fff;
|
||||
z-index: 999;
|
||||
border-radius: 30rpx;
|
||||
padding-bottom: 30rpx;
|
||||
transition: opacity 0.3s ease;
|
||||
}
|
||||
|
||||
.blue-button {
|
||||
margin-top: 60rpx;
|
||||
width: 150rpx;
|
||||
height: 70rpx;
|
||||
border-radius: 40rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #007CFF;
|
||||
font-size: 30rpx;
|
||||
background: linear-gradient(to bottom, #e7f4ff, #c5e5ff);
|
||||
border: 2rpx solid #9AD1FF;
|
||||
}
|
||||
|
||||
.firsttarget {
|
||||
--color: #99C9FD;
|
||||
--thick: 2px;
|
||||
--radius: 50rpx;
|
||||
--outline-offset: 10rpx;
|
||||
/* 外扩多少 */
|
||||
/* 内层虚线(你现在用的) */
|
||||
border-radius: var(--radius);
|
||||
/* 内部背景 */
|
||||
animation: scalePulse 360ms cubic-bezier(.2, .8, .2, 1);
|
||||
/* 外层虚线:放在 outline(不会影响元素尺寸) */
|
||||
outline: var(--thick) dashed var(--color);
|
||||
outline-offset: var(--outline-offset);
|
||||
/* 保证文本 / 子元素在最上层 */
|
||||
position: relative;
|
||||
z-index: 999;
|
||||
}
|
||||
|
||||
.secondtarget {
|
||||
--color: #99C9FD;
|
||||
--thick: 2px;
|
||||
--radius: 10rpx;
|
||||
--outline-offset: 0rpx;
|
||||
/* 外扩多少 */
|
||||
/* 内层虚线(你现在用的) */
|
||||
border-radius: var(--radius);
|
||||
/* 内部背景 */
|
||||
animation: scalePulse 360ms cubic-bezier(.2, .8, .2, 1);
|
||||
/* 外层虚线:放在 outline(不会影响元素尺寸) */
|
||||
outline: var(--thick) dashed var(--color);
|
||||
outline-offset: var(--outline-offset);
|
||||
/* 保证文本 / 子元素在最上层 */
|
||||
position: relative;
|
||||
z-index: 999;
|
||||
}
|
||||
|
||||
.xian-bian {
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 999;
|
||||
border-right: 1rpx solid transparent;
|
||||
border-image: repeating-linear-gradient(180deg, #A9ACB1 0px, #A9ACB1 6rpx, transparent 6rpx, transparent 12rpx) 1;
|
||||
}
|
||||
|
||||
.pulic-time {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #99C9FD;
|
||||
font-size: 35rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.zhiling-card {
|
||||
width: calc(100% - 20rpx);
|
||||
height: 200rpx;
|
||||
background-color: rgba(255, 255, 255, 0.3);
|
||||
margin-left: 20rpx;
|
||||
border-radius: 30rpx;
|
||||
border: 2rpx solid rgb(229, 233, 249);
|
||||
position: relative;
|
||||
margin-bottom: 10rpx;
|
||||
padding: 20rpx 30rpx;
|
||||
overflow: hidden;
|
||||
|
||||
.zhiling-card-button {
|
||||
position: absolute;
|
||||
top: 0rpx;
|
||||
right: 0rpx;
|
||||
width: 120rpx;
|
||||
height: 40rpx;
|
||||
}
|
||||
|
||||
.zhiling-card-font {
|
||||
position: absolute;
|
||||
top: 0rpx;
|
||||
right: 0rpx;
|
||||
width: 120rpx;
|
||||
height: 40rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #fff;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
|
||||
.bag {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 20rpx;
|
||||
|
||||
.bag-one {
|
||||
// margin-right: 10rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.overlay {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
/* 半透明黑色 */
|
||||
z-index: 998;
|
||||
}
|
||||
|
|
@ -101,8 +101,8 @@
|
|||
<view class="doctorsay-container-container">
|
||||
<view class="super-card">
|
||||
<view class="boom-father">
|
||||
<view class="boom">
|
||||
<view :style="{ marginTop: `-${2 *moveDownNumber}rpx` }">
|
||||
<view class="boom" :style="{ transform: transformStyle }">
|
||||
<view>
|
||||
<view v-for="(item,index) in timearr[0].children" :key="index">
|
||||
<view class="boom-son" v-show="item.tagName">
|
||||
<text class="boom-text">
|
||||
|
|
@ -113,6 +113,12 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="boom" :style="{ transform: transformStyle }" ref="leftLabels">
|
||||
<view v-for="(item, index) in timearr[0].children" :key="index" class="boom-son"
|
||||
v-show="item.tagName">
|
||||
<text class="boom-text">{{ item.tagName }}</text>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
|
||||
<view class="super-card-container">
|
||||
|
|
@ -153,7 +159,7 @@
|
|||
请选择服务指令迁移的目标单元格
|
||||
|
||||
</view>
|
||||
<view class="time-button-black-spe"
|
||||
<!-- <view class="time-button-black-spe"
|
||||
:style="{left:saveEditIndex.index0?`-220rpx`:`0`}"
|
||||
v-if="saveEditIndex.index0 == index0 && saveEditIndex.index1 == index1 && index1==0 && isDelete">
|
||||
是否确认删除该服务指令
|
||||
|
|
@ -164,7 +170,7 @@
|
|||
v-if="saveEditIndex.index0 == index0 && saveEditIndex.index1 == index1 && index1 && isDelete">
|
||||
是否确认删除该服务指令
|
||||
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="title-time-blue"
|
||||
v-show="saveEditIndex.index0 == index0 && saveEditIndex.index1 == index1 && isRule">
|
||||
</view>
|
||||
|
|
@ -366,6 +372,9 @@
|
|||
<view class="under-button-black" v-if="isop">
|
||||
不能重复添加相同的即时服务指令
|
||||
</view>
|
||||
<view class="under-button-black" v-if="isempty">
|
||||
请选择服务指令来进行操作
|
||||
</view>
|
||||
<view class="white-circle" @click="changecard">
|
||||
<image class="white-circle-img"
|
||||
:src="`/static/index/keyimg/movebutton${isMove ? 'blue' : ''}.png`" />
|
||||
|
|
@ -384,9 +393,8 @@
|
|||
:src="`/static/index/keyimg/open${open ? 'blue' : ''}.png`" />
|
||||
</view>
|
||||
<view style="position: relative;">
|
||||
<view ref="btnRef" class="white-circle-click-father"
|
||||
:style="{color:buttonBlue?`#fff`:``}" :class="{ anim: buttonBlue }"
|
||||
@click="addnewbutton">
|
||||
<view class="white-circle-click-father" :style="{color:buttonBlue?`#fff`:``}"
|
||||
:class="{ anim: buttonBlue }" @click="addnewbutton">
|
||||
<view style="z-index: 999;">
|
||||
确定
|
||||
</view>
|
||||
|
|
@ -525,6 +533,45 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view :class="['neuro-wrapper', deletedonghua ? 'is-active' : '']" v-if="isDelete">
|
||||
<!-- 遮罩层,点击触发关闭 -->
|
||||
<view class="neuro-mask" @click="isDelete=false"></view>
|
||||
<!-- 拟态框,阻止冒泡点击 -->
|
||||
<view class="neuro-box" @click.stop>
|
||||
|
||||
<view class="delete-button-father">
|
||||
<view class="button-white" @click="isDelete=false">取消</view>
|
||||
<view class="button" @click="openDelete()">确定</view>
|
||||
</view>
|
||||
|
||||
<view class="title">确定要删除指令吗</view>
|
||||
<view class="title-time-border-yellow"
|
||||
style="font-size: 30rpx;overflow: hidden;width: 240rpx;height: 170rpx;">
|
||||
|
||||
<view class="title-time" style="flex-direction: column;">
|
||||
<image style="width: 60rpx;height: 60rpx;margin: 0 auto;margin-top: 10rpx"
|
||||
:src="timearr[saveEditIndex.index0].children[saveEditIndex.index1].netImmediateFile" />
|
||||
<view class="title-time-time" style="font-size: 30rpx;">
|
||||
{{timearr[saveEditIndex.index0].children[saveEditIndex.index1].startTime + `-` + timearr[saveEditIndex.index0].children[saveEditIndex.index1].endTime}}
|
||||
</view>
|
||||
<image class="title-time-button" style="width: 80rpx;height: 48rpx;"
|
||||
v-if="timearr[saveEditIndex.index0].children[saveEditIndex.index1].cycleType!='日常'"
|
||||
src="/static/index/newruler/jiao.png" />
|
||||
<view class="title-time-font" style="right: 10rpx;top: 5rpx;font-size: 23rpx;"
|
||||
v-if="timearr[saveEditIndex.index0].children[saveEditIndex.index1].cycleType!='日常'">
|
||||
{{ timearr[saveEditIndex.index0].children[saveEditIndex.index1].cycleType == '1' ? '日常' : timearr[saveEditIndex.index0].children[saveEditIndex.index1].cycleType == '2' ? '周期' : '即时' }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="title-time-font-rel">
|
||||
{{splitString(timearr[saveEditIndex.index0].children[saveEditIndex.index1].directiveName)[0]}}
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<!-- <view class="card-font">
|
||||
确定要删除指令吗
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
|
@ -744,6 +791,14 @@
|
|||
}
|
||||
}
|
||||
)
|
||||
|
||||
/* ---- 用于 transform 的响应式字符串 ----
|
||||
注意:虽然这是响应式,但我们只在 rAF 里更新它(受控更新),避免频繁触发 Vue 渲染 */
|
||||
const transformStyle = ref('translate3d(0, 0, 0)');
|
||||
/* rAF / 计数器变量 */
|
||||
let lastY = 0;
|
||||
let ticking = false;
|
||||
|
||||
const bodydonghua = ref(false)
|
||||
const openbody = ref(false)
|
||||
const openface = ref(false)
|
||||
|
|
@ -774,7 +829,7 @@
|
|||
// console.log("///",bodyTagList.value[index])
|
||||
// return
|
||||
bodyTagList.value[index].izSelected = '0';
|
||||
|
||||
|
||||
} else {
|
||||
let targetNumber = 0;
|
||||
bodyTagList.value.forEach((element : any) => {
|
||||
|
|
@ -906,6 +961,17 @@
|
|||
|
||||
// 替换新的
|
||||
const getNew = () => {
|
||||
if (timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1].id) {
|
||||
deleteDirective({ id: timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1].id }).then((res : any) => {
|
||||
doChangeNew()
|
||||
})
|
||||
} else {
|
||||
doChangeNew()
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
const doChangeNew = () => {
|
||||
let object = JSON.parse(JSON.stringify(timearr.value[flyNumber.value.index0].children[flyNumber.value.index1]))
|
||||
indexsave.value = [saveEditIndex.value.index0, saveEditIndex.value.index1]
|
||||
// 旧的tagName保存了
|
||||
|
|
@ -974,6 +1040,7 @@
|
|||
downList.value = bigArray.value[index]?.children
|
||||
thirdmenuIndex.value = 0;
|
||||
}
|
||||
const isempty = ref(false);
|
||||
const changecard = () => {
|
||||
isDelete.value = false;
|
||||
open.value = false;
|
||||
|
|
@ -985,6 +1052,12 @@
|
|||
flyNumber.value.index1 = saveEditIndex.value.index1;
|
||||
isMove.value = true
|
||||
}
|
||||
else {
|
||||
isempty.value = true;
|
||||
setTimeout(() => {
|
||||
isempty.value = false;
|
||||
}, 1500)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1140,10 +1213,17 @@
|
|||
if (timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1].directiveName) {
|
||||
if (!isDelete.value) {
|
||||
isDelete.value = true;
|
||||
setTimeout(() => deletedonghua.value = true, 50)
|
||||
|
||||
} else {
|
||||
isDelete.value = false;
|
||||
deleteRuler(saveEditIndex.value.index0, saveEditIndex.value.index1);
|
||||
}
|
||||
} else {
|
||||
isempty.value = true;
|
||||
setTimeout(() => {
|
||||
isempty.value = false;
|
||||
}, 1500)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1168,12 +1248,32 @@
|
|||
// 在作用域中声明一个定时器变量
|
||||
let throttleTimer = null;
|
||||
//监听拖拽
|
||||
const dragOffset = ref(0);
|
||||
const moveDownNumber = ref(0)
|
||||
// const dragOffset = ref(0);
|
||||
// const moveDownNumber = ref(0)
|
||||
/* 兼容:如果不支持 requestAnimationFrame,就用 setTimeout */
|
||||
const requestAnimationFrame =
|
||||
typeof window !== 'undefined' && window.requestAnimationFrame
|
||||
? window.requestAnimationFrame
|
||||
: (cb) => setTimeout(cb, 16);
|
||||
function handleScrolltime(e) {
|
||||
let num = e.detail.scrollTop
|
||||
let formattedNum = parseFloat(num.toFixed(2));
|
||||
moveDownNumber.value = formattedNum
|
||||
// let num = e.detail.scrollTop
|
||||
// let formattedNum = parseFloat(num.toFixed(2));
|
||||
// moveDownNumber.value = formattedNum
|
||||
// uni-app 的 scroll 事件通常把位置放在 e.detail.scrollTop
|
||||
// 为保险,先做容错判断
|
||||
const scrollTop = (e && e.detail && (e.detail.scrollTop ?? e.detail.scrollY)) || 0;
|
||||
lastY = scrollTop;
|
||||
|
||||
// 如果还在等待上一帧更新,就直接返回;否则安排下一帧更新
|
||||
if (!ticking) {
|
||||
ticking = true;
|
||||
requestAnimationFrame(() => {
|
||||
// 把 transform 更新为负的 scrollTop(向上平移)
|
||||
// 使用 translate3d 触发 GPU 合成层
|
||||
transformStyle.value = `translate3d(0, -${lastY}px, 0)`;
|
||||
ticking = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
const leftIn = ref(0)
|
||||
function handleTop(e) {
|
||||
|
|
@ -1375,7 +1475,7 @@
|
|||
//表格点击开始
|
||||
const showDetail = ref([-1, -1])
|
||||
const rulerTouchClick = (item : any, index0 : number, index1 : number) => {
|
||||
|
||||
isDelete.value = false;
|
||||
saveEditIndex.value.index0 = index0;
|
||||
saveEditIndex.value.index1 = index1;
|
||||
centerCell();
|
||||
|
|
@ -1585,8 +1685,24 @@
|
|||
}
|
||||
|
||||
const addnew = () => {
|
||||
|
||||
// console.log("9999", timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1])
|
||||
|
||||
if (isDelete.value) {
|
||||
isDelete.value = false;
|
||||
deleteRuler(saveEditIndex.value.index0, saveEditIndex.value.index1);
|
||||
return
|
||||
}
|
||||
if (isMove.value) {
|
||||
getNew()
|
||||
return
|
||||
}
|
||||
let haveValue = false;
|
||||
if (timearr.value[saveEditIndex.value.index0]?.children[saveEditIndex.value.index1].directiveName) {
|
||||
haveValue = true
|
||||
}
|
||||
// return
|
||||
if (iszhiling.value) {
|
||||
|
||||
let allobject = savePackagelist.value[forthmenuIndex.value];
|
||||
// console.log("special",allobject)
|
||||
|
||||
|
|
@ -1615,7 +1731,7 @@
|
|||
const formattedEnd = `${String(endHour)}:${String(endMinute % 60).padStart(2, '0')}`
|
||||
|
||||
let param = {
|
||||
id: "",
|
||||
id: haveValue ? timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1].id : "",
|
||||
nuId: uni.getStorageSync('nuId'),
|
||||
nuName: uni.getStorageSync('nuName'),
|
||||
customerId: uni.getStorageSync('customerId'),
|
||||
|
|
@ -1650,12 +1766,23 @@
|
|||
}
|
||||
whereEvent(data);
|
||||
// saveAll()
|
||||
doaddDirective(param);
|
||||
if (haveValue) {
|
||||
editDirective(param).then((res : any) => {
|
||||
if (res.success) {
|
||||
geteverything()
|
||||
}
|
||||
|
||||
})
|
||||
} else {
|
||||
doaddDirective(param);
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
let stopIt = false;
|
||||
let allobject = bigArray.value[upmenuIndex.value].children[downmenuIndex.value].children[thirdmenuIndex.value]
|
||||
|
||||
if (allobject.cycleType === "即时护理") {
|
||||
scrollLeft.value = 1;
|
||||
bottomItems.value.forEach((element : any, index : number) => {
|
||||
|
|
@ -1673,6 +1800,8 @@
|
|||
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'),
|
||||
|
|
@ -1704,15 +1833,6 @@
|
|||
if (saveEditIndex.value.index1 === -1 && saveEditIndex.value.index0 === -1) {
|
||||
return
|
||||
}
|
||||
if (isDelete.value) {
|
||||
isDelete.value = false;
|
||||
deleteRuler(saveEditIndex.value.index0, saveEditIndex.value.index1);
|
||||
return
|
||||
}
|
||||
if (isMove.value) {
|
||||
getNew()
|
||||
return
|
||||
}
|
||||
flyNumber.value.index0 = -1;
|
||||
flyNumber.value.index1 = -1;
|
||||
isMove.value = false;
|
||||
|
|
@ -1738,10 +1858,12 @@
|
|||
}
|
||||
})
|
||||
cycleValue = cycleTypeIndex.toString()
|
||||
|
||||
} else {
|
||||
cycleType = monthValue.value + "号";
|
||||
cycleValue = monthValue.value
|
||||
}
|
||||
console.log("重要", cycleValue)
|
||||
iszhouqi.value = false;
|
||||
weekIndex.value = -1;
|
||||
monthIndex.value = -1;
|
||||
|
|
@ -1755,6 +1877,7 @@
|
|||
const formattedStart = `${String(startHour)}:${String(startMinute).padStart(2, '0')}`
|
||||
const formattedEnd = `${String(endHour)}:${String(endMinute % 60).padStart(2, '0')}`
|
||||
let param = {
|
||||
id: haveValue ? timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1].id : "",
|
||||
nuId: uni.getStorageSync('nuId'),
|
||||
nuName: uni.getStorageSync('nuName'),
|
||||
customerId: uni.getStorageSync('customerId'),
|
||||
|
|
@ -1788,7 +1911,18 @@
|
|||
index1: saveEditIndex.value.index1
|
||||
}
|
||||
whereEvent(data);
|
||||
doaddDirective(param);
|
||||
if (haveValue) {
|
||||
editDirective(param).then((res : any) => {
|
||||
if (res.success) {
|
||||
geteverything()
|
||||
}
|
||||
|
||||
})
|
||||
} else {
|
||||
doaddDirective(param);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
const cleansettimeout = ref(null);
|
||||
const cleansettimeoutrel = ref(null);
|
||||
|
|
@ -2001,6 +2135,7 @@
|
|||
onBeforeUnmount(() => {
|
||||
if (animTimer) clearTimeout(animTimer)
|
||||
uni.$off('where', findback);
|
||||
ticking = false;
|
||||
|
||||
})
|
||||
function findback(data : any) {
|
||||
|
|
@ -2091,225 +2226,10 @@
|
|||
iszhiling.value = !iszhiling.value
|
||||
forthmenuIndex.value = 0;
|
||||
}
|
||||
const deletedonghua = ref(false);
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
// 主页的css
|
||||
@import './index';
|
||||
|
||||
.right-container-title-nav {
|
||||
margin-top: 60rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 60rpx;
|
||||
position: relative;
|
||||
font-size: 28rpx;
|
||||
|
||||
.new-weight {
|
||||
margin-left: 30rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.right-icons {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: -5rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.white-button {
|
||||
width: 160rpx;
|
||||
height: 70rpx;
|
||||
border-radius: 40rpx;
|
||||
background-color: #E6E7EB;
|
||||
margin-left: 20rpx;
|
||||
margin-top: 10rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
.white-img {
|
||||
width: 35rpx;
|
||||
height: 35rpx;
|
||||
margin-right: 10rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.left-top {
|
||||
border-top-left-radius: 0 !important;
|
||||
}
|
||||
|
||||
.right-top {
|
||||
border-top-right-radius: 0 !important;
|
||||
}
|
||||
|
||||
.left-bottom {
|
||||
border-bottom-left-radius: 0 !important
|
||||
}
|
||||
|
||||
.right-bottom {
|
||||
border-bottom-right-radius: 0 !important;
|
||||
}
|
||||
|
||||
.mark {
|
||||
font-size: 29rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.marknone {
|
||||
font-size: 29rpx;
|
||||
color: #999;
|
||||
display: flex;
|
||||
margin-top: 5rpx;
|
||||
}
|
||||
|
||||
.tri-down {
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-left: 10rpx solid transparent;
|
||||
/* s/2 */
|
||||
border-right: 10rpx solid transparent;
|
||||
/* s/2 */
|
||||
border-top: 17.32rpx solid #999;
|
||||
/* 0.866 * s */
|
||||
margin: 0rpx 0rpx 0 15rpx;
|
||||
}
|
||||
|
||||
.mark-bgc {
|
||||
position: absolute;
|
||||
top: 50rpx;
|
||||
left: 0;
|
||||
width: 450rpx;
|
||||
background-color: #fff;
|
||||
z-index: 999;
|
||||
border-radius: 30rpx;
|
||||
padding-bottom: 30rpx;
|
||||
transition: opacity 0.3s ease;
|
||||
}
|
||||
|
||||
.blue-button {
|
||||
margin-top: 60rpx;
|
||||
width: 150rpx;
|
||||
height: 70rpx;
|
||||
border-radius: 40rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #007CFF;
|
||||
font-size: 30rpx;
|
||||
background: linear-gradient(to bottom, #e7f4ff, #c5e5ff);
|
||||
border: 2rpx solid #9AD1FF;
|
||||
}
|
||||
|
||||
.firsttarget {
|
||||
--color: #99C9FD;
|
||||
--thick: 2px;
|
||||
--radius: 50rpx;
|
||||
--outline-offset: 10rpx;
|
||||
/* 外扩多少 */
|
||||
/* 内层虚线(你现在用的) */
|
||||
border-radius: var(--radius);
|
||||
/* 内部背景 */
|
||||
animation: scalePulse 360ms cubic-bezier(.2, .8, .2, 1);
|
||||
/* 外层虚线:放在 outline(不会影响元素尺寸) */
|
||||
outline: var(--thick) dashed var(--color);
|
||||
outline-offset: var(--outline-offset);
|
||||
/* 保证文本 / 子元素在最上层 */
|
||||
position: relative;
|
||||
z-index: 999;
|
||||
}
|
||||
|
||||
.secondtarget {
|
||||
--color: #99C9FD;
|
||||
--thick: 2px;
|
||||
--radius: 10rpx;
|
||||
--outline-offset: 0rpx;
|
||||
/* 外扩多少 */
|
||||
/* 内层虚线(你现在用的) */
|
||||
border-radius: var(--radius);
|
||||
/* 内部背景 */
|
||||
animation: scalePulse 360ms cubic-bezier(.2, .8, .2, 1);
|
||||
/* 外层虚线:放在 outline(不会影响元素尺寸) */
|
||||
outline: var(--thick) dashed var(--color);
|
||||
outline-offset: var(--outline-offset);
|
||||
/* 保证文本 / 子元素在最上层 */
|
||||
position: relative;
|
||||
z-index: 999;
|
||||
}
|
||||
|
||||
.xian-bian {
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 999;
|
||||
border-right: 1rpx solid transparent;
|
||||
border-image: repeating-linear-gradient(180deg, #A9ACB1 0px, #A9ACB1 6rpx, transparent 6rpx, transparent 12rpx) 1;
|
||||
}
|
||||
|
||||
.pulic-time {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #99C9FD;
|
||||
font-size: 35rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.zhiling-card {
|
||||
width: calc(100% - 20rpx);
|
||||
height: 200rpx;
|
||||
background-color: rgba(255, 255, 255, 0.3);
|
||||
margin-left: 20rpx;
|
||||
border-radius: 30rpx;
|
||||
border: 2rpx solid rgb(229, 233, 249);
|
||||
position: relative;
|
||||
margin-bottom: 10rpx;
|
||||
padding: 20rpx 30rpx;
|
||||
overflow: hidden;
|
||||
|
||||
.zhiling-card-button {
|
||||
position: absolute;
|
||||
top: 0rpx;
|
||||
right: 0rpx;
|
||||
width: 120rpx;
|
||||
height: 40rpx;
|
||||
}
|
||||
|
||||
.zhiling-card-font {
|
||||
position: absolute;
|
||||
top: 0rpx;
|
||||
right: 0rpx;
|
||||
width: 120rpx;
|
||||
height: 40rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #fff;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
|
||||
.bag {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 20rpx;
|
||||
|
||||
.bag-one {
|
||||
// margin-right: 10rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.overlay {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
/* 半透明黑色 */
|
||||
z-index: 998;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -173,14 +173,7 @@
|
|||
), name: '设备'
|
||||
},
|
||||
{
|
||||
url: genPaths(
|
||||
'/static/index/newindex/kufang',
|
||||
'storeroom_',
|
||||
11, // 张数
|
||||
'png',
|
||||
1, // 起始索引为 1
|
||||
false // 不补零
|
||||
), name: '返回'
|
||||
url: [`/static/back.png`], name: '返回'
|
||||
},
|
||||
// {
|
||||
// url: genPaths(
|
||||
|
|
@ -193,24 +186,6 @@
|
|||
// ), name: '返回'
|
||||
// },
|
||||
])
|
||||
const menuArray = ref([
|
||||
{ url: '/static/index/lefticon/index.png', name: '首页' },
|
||||
{ url: '/static/index/lefticon/nurse.png', name: '护嘱' },
|
||||
{ url: '/static/index/lefticon/doctor.png', name: '医嘱' },
|
||||
{ url: '/static/index/lefticon/give.png', name: '请领' },
|
||||
{ url: '/static/index/lefticon/wifi.png', name: '设备' },
|
||||
{ url: '/static/index/lefticon/back.png', name: '返回' }
|
||||
])
|
||||
|
||||
// 初始化左侧菜单列表
|
||||
const iconList = ref<Link[]>([
|
||||
{ url: '/static/index/lefticon/index.png', targetUrl: '/static/index/lefticontarget/blueindex.png' },
|
||||
{ url: '/static/index/lefticon/nurse.png', targetUrl: '/static/index/lefticontarget/bluenurse.png' },
|
||||
{ url: '/static/index/lefticon/doctor.png', targetUrl: '/static/index/lefticontarget/bluedoctor.png' },
|
||||
{ url: '/static/index/lefticon/give.png', targetUrl: '/static/index/lefticontarget/givedark.png' },
|
||||
{ url: '/static/index/lefticon/wifi.png', targetUrl: '/static/index/lefticontarget/bluewifi.png' },
|
||||
{ url: '/static/index/lefticon/back.png', targetUrl: '/static/index/lefticontarget/blueback.png' }
|
||||
]);
|
||||
|
||||
// 当前选中的菜单索引
|
||||
const menuIndex = ref<number>(-1);
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -25,6 +25,14 @@
|
|||
}
|
||||
})
|
||||
const ballarray = ref([
|
||||
{
|
||||
name:'返回',
|
||||
url:""
|
||||
},
|
||||
{
|
||||
name:'详情',
|
||||
url:""
|
||||
},
|
||||
{
|
||||
name:'周期',
|
||||
url:""
|
||||
|
|
@ -73,7 +81,7 @@
|
|||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
width: 100%;
|
||||
height: 400rpx;
|
||||
height: 600rpx;
|
||||
// background-color: red;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
|
|
|||
|
|
@ -125,8 +125,8 @@
|
|||
position: fixed;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
height: 40vh;
|
||||
// background: #eff0f4;
|
||||
height: 55vh;
|
||||
// background: red;
|
||||
z-index: 1000;
|
||||
border-top-left-radius: 80rpx;
|
||||
border-bottom-left-radius: 80rpx;
|
||||
|
|
|
|||
|
|
@ -1,40 +1,9 @@
|
|||
<template>
|
||||
<view class="doctorsay-container-container">
|
||||
<!-- <view class="doctorsay-container-title">
|
||||
<view class="doctorsay-container-left">
|
||||
<view class="doctorsay-container-left-gun"></view>
|
||||
<view class="doctorsay-container-left-font">时间矩阵</view>
|
||||
</view>
|
||||
|
||||
<view class="doctorsay-container-right">
|
||||
<view class="titlebutton-father">
|
||||
<view v-for="(item,index) in jiajianArray" :key="index">
|
||||
<view class="titlebutton" @click="changeType(index)">
|
||||
{{item}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="titlebutton-father">
|
||||
<view v-for="(item,index) in buttonArray" :key="index">
|
||||
<view :class="getClassItem(index)" @click="changeTarget(index)">
|
||||
{{item}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="doctorsay-container-right-kuai-cheng"></view>
|
||||
<view class="doctorsay-container-kuai-font">日常</view>
|
||||
<view class="doctorsay-container-right-kuai-zi"></view>
|
||||
<view class="doctorsay-container-kuai-font">周期</view>
|
||||
<view class="doctorsay-container-juzhen" @click="routerBack">
|
||||
返回
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="super-card">
|
||||
<view class="super-card-container">
|
||||
|
||||
<scroll-view style="height: 100%;width: 100%;" :scroll-left="scrollLeft" scroll-x
|
||||
<scroll-view style="height: 100%;width: 100%;" :scroll-left="scrollLeft" scroll-x scroll-with-animation
|
||||
:show-scrollbar="false">
|
||||
|
||||
<view :style="{width:widthType * 24 + `rpx`}" style="display: flex;">
|
||||
|
|
@ -48,7 +17,7 @@
|
|||
<view style="display: flex;height: calc(100% - 80rpx);position: relative;"
|
||||
:style="{width:widthType * 24 + `rpx`}">
|
||||
<view class="xian-bian"></view>
|
||||
<scroll-view scroll-y :show-scrollbar="false" :scroll-top="scrollTop">
|
||||
<scroll-view scroll-y :show-scrollbar="false" :scroll-top="scrollTop" scroll-with-animation>
|
||||
<view style="display: flex;height: 100%;">
|
||||
<view v-for="(item0,index0) in changetimearr" :key="index0">
|
||||
<view class="super-card-time-und" :style="{width:widthType + `rpx`}">
|
||||
|
|
@ -56,9 +25,10 @@
|
|||
<view v-for="(item1,index1) in item0.children" style="width: 100%;"
|
||||
:key="index1">
|
||||
<view :style="{height:heightType + `rpx`}" class="super-card-time-card"
|
||||
@touchend="handleTap(item1,index0,index1)" :data-index0="index0"
|
||||
@click="handleTap(item1,index0,index1)" :data-index0="index0"
|
||||
:data-index1="index1">
|
||||
<view :class="getClass(item1,index0,index1)" :style="scalcType >= 11 && item1.cycleType !== '日常' && item1.startTime ? { backgroundColor: '#c5e5ff' } : {}"
|
||||
<view :class="getClass(item1,index0,index1)"
|
||||
:style="scalcType >= 11 && item1.cycleType !== '日常' && item1.startTime ? { backgroundColor: '#c5e5ff' } : {}"
|
||||
style="font-size: 30rpx;position: relative;">
|
||||
<view class="title-time-blue"
|
||||
v-show="clickX == index0 && clickY == index1">
|
||||
|
|
@ -67,7 +37,7 @@
|
|||
style="flex-direction: column;overflow: hidden;">
|
||||
<image v-show="item1.startTime"
|
||||
style="width: 50rpx;height: 50rpx;margin: 0 auto;"
|
||||
:src="item1.netImmediateFile" />
|
||||
:src="item1.netImmediateFile?item1.netImmediateFile:`/static/logo.png`" />
|
||||
<view class="title-time-time" style="font-size: 30rpx;"
|
||||
v-show="scalcType<10">
|
||||
{{item1.startTime + `-` + item1.endTime}}
|
||||
|
|
@ -87,39 +57,11 @@
|
|||
v-show="scalcType<11">
|
||||
{{splitString(item1.directiveName)[0]}}
|
||||
</view>
|
||||
<!-- <view class="title-time" v-if="item1.startTime"
|
||||
style="margin-top: 0rpx;">
|
||||
<view class="title-time-time" style="font-size: 25rpx;"
|
||||
v-show="scalcType<10">
|
||||
{{item1.startTime + `-` + item1.endTime}}
|
||||
</view>
|
||||
<image class="title-time-button" v-show="scalcType<10"
|
||||
:src="item1.cycleType=='日常'?`/static/index/yellowbian.png`:`/static/index/puoplebian.png`" />
|
||||
<view class="title-time-font" v-show="scalcType<10">
|
||||
{{item1.cycleType}}
|
||||
</view>
|
||||
</view> -->
|
||||
<!-- <view v-show="scalcType>=10" style="margin: auto;"
|
||||
:style="{fontSize: cardFont + `rpx`}">
|
||||
{{item1.cycleType}}
|
||||
<view
|
||||
v-if="clickX == index0 && clickY == index1 && !item1.startTime"
|
||||
class="pulic-time">
|
||||
{{(item0.positioning.length == 1 ? ('0' + item0.positioning) : item0.positioning) + ":" + timeArray[index1]}}
|
||||
</view>
|
||||
<view v-show="scalcType<10"
|
||||
:style="splitString(item1.directiveName)[1] ? {}:{marginTop:`20rpx`}"
|
||||
style="font-weight: 700;font-size: 24rpx;">
|
||||
{{splitString(item1.directiveName)[0]}}
|
||||
</view>
|
||||
<view class="down-icons" v-show="scalcType<10"
|
||||
:style="item1.cycleType!='日常'?{backgroundColor:`rgb(212,203,255)`}:{}"
|
||||
v-if="splitString(item1.directiveName)[1]">
|
||||
<view class=""
|
||||
v-for="(item,index) in splitString(item1.directiveName).slice(1)"
|
||||
:key="index">
|
||||
<view class="icon"
|
||||
:style="item1.cycleType!='日常'?{backgroundColor:`rgb(123,97,255)`}:{}">
|
||||
{{splitString(item1.directiveName)[index + 1]}}
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
|
@ -140,7 +82,7 @@
|
|||
</specialDrawerVue>
|
||||
<!-- 轮盘 -->
|
||||
<!-- <joystick @movecard="movecard" /> -->
|
||||
<arrowkeys @movecard="movecard" />
|
||||
<!-- <arrowkeys @movecard="movecard" /> -->
|
||||
<!-- 长按的弹出层` -->
|
||||
<!-- <view v-show="isopen" class="popup-overlay" @click="isopen=false"> -->
|
||||
<view class="popup-overlay-content" v-show="isopen"
|
||||
|
|
@ -182,6 +124,9 @@
|
|||
type darkFanstype = {
|
||||
darkFans : boolean
|
||||
}
|
||||
const timeArray = [
|
||||
`00`, `05`, `10`, `15`, `20`, `25`, `30`, `35`, `40`, `45`, `50`, `55`
|
||||
];
|
||||
const buttonArray = ref(["全部", "日常", "周期"]);
|
||||
const jiajianArray = ref(["放大", "缩小"]);
|
||||
const buttonTarget = ref(0);
|
||||
|
|
@ -218,22 +163,36 @@
|
|||
const clickball = (index : number) => {
|
||||
switch (index) {
|
||||
case 0:
|
||||
changeTarget(2)
|
||||
uni.navigateBack()
|
||||
break
|
||||
case 1:
|
||||
changeType(0)
|
||||
if (clickX.value && clickY.value) {
|
||||
if(isopen.value){
|
||||
isopen.value = false
|
||||
}else{
|
||||
rulerTouchClick(changetimearr.value[clickX.value].children[clickY.value], clickX.value, clickY.value)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
break
|
||||
case 2:
|
||||
changeTarget(1)
|
||||
changeTarget(2)
|
||||
break
|
||||
case 3:
|
||||
changeType(1)
|
||||
changeType(0)
|
||||
break
|
||||
case 4:
|
||||
changeTarget(0)
|
||||
changeTarget(1)
|
||||
break
|
||||
case 5:
|
||||
if (scalcType.value ===7) {
|
||||
changeType(1)
|
||||
break
|
||||
case 6:
|
||||
changeTarget(0)
|
||||
break
|
||||
case 7:
|
||||
if (scalcType.value === 7) {
|
||||
changeRuler(false)
|
||||
} else {
|
||||
changeRuler(true)
|
||||
|
|
@ -436,7 +395,7 @@
|
|||
widthType.value = 320;
|
||||
heightType.value = 256;
|
||||
break;
|
||||
|
||||
|
||||
}
|
||||
|
||||
// 按宽度比例计算期望高度
|
||||
|
|
@ -462,29 +421,23 @@
|
|||
const clickTimer = ref(null)
|
||||
function handleTap(item : any, index0 : number, index1 : number) {
|
||||
const now = Date.now()
|
||||
if(isopen.value){
|
||||
isopen.value = false
|
||||
}
|
||||
// 先清除之前的单击定时器,防止误触
|
||||
if (clickTimer.value != null) {
|
||||
clearTimeout(clickTimer.value)
|
||||
}
|
||||
// 如果两次触摸间隔小于 250ms,则判定双击
|
||||
if (now - lastTap.value < 250) {
|
||||
// message.value = '检测到双击事件'
|
||||
// console.log('双击逻辑执行')
|
||||
if (item.startTime) {
|
||||
closeIsOpen(index0, index1)
|
||||
}
|
||||
|
||||
lastTap.value = 0 // 重置,避免连续三次触发
|
||||
} else {
|
||||
// 延迟 250ms 执行单击逻辑,以等待可能的第二次触摸
|
||||
// clickTimer.value = setTimeout(() => {
|
||||
// rulerTouchClick(item, index0, index1, e)
|
||||
// }, 250)
|
||||
if (item.directiveName) {
|
||||
clickX.value = index0;
|
||||
clickY.value = index1;
|
||||
}
|
||||
|
||||
clickX.value = index0;
|
||||
clickY.value = index1;
|
||||
lastTap.value = now
|
||||
}
|
||||
}
|
||||
|
|
@ -1363,4 +1316,15 @@
|
|||
border-bottom: 1rpx solid transparent;
|
||||
border-image: repeating-linear-gradient(90deg, #A9ACB1 0px, #A9ACB1 6rpx, transparent 6rpx, transparent 12rpx) 1;
|
||||
}
|
||||
|
||||
.pulic-time {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #99C9FD;
|
||||
font-size: 35rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
</style>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1 +1 @@
|
|||
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__FB2D473","name":"护理单元","version":{"name":"1.7.3","code":173},"description":"护理单元","developer":{"name":"","email":"","url":""},"permissions":{"Share":{},"Camera":{},"VideoPlayer":{},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"autoclose":true,"delay":0,"target":"id:1","waiting":true},"popGesture":"close","launchwebview":{"render":"always","id":"1","kernel":"WKWebview"},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"distribute":{"icons":{"android":{"hdpi":"icon-android-hdpi.png","xhdpi":"icon-android-xhdpi.png","xxhdpi":"icon-android-xxhdpi.png","xxxhdpi":"icon-android-xxxhdpi.png"},"ios":{"appstore":"unpackage/res/icons/1024x1024.png","ipad":{"app":"unpackage/res/icons/76x76.png","app@2x":"unpackage/res/icons/152x152.png","notification":"unpackage/res/icons/20x20.png","notification@2x":"unpackage/res/icons/40x40.png","proapp@2x":"unpackage/res/icons/167x167.png","settings":"unpackage/res/icons/29x29.png","settings@2x":"unpackage/res/icons/58x58.png","spotlight":"unpackage/res/icons/40x40.png","spotlight@2x":"unpackage/res/icons/80x80.png"},"iphone":{"app@2x":"unpackage/res/icons/120x120.png","app@3x":"unpackage/res/icons/180x180.png","notification@2x":"unpackage/res/icons/40x40.png","notification@3x":"unpackage/res/icons/60x60.png","settings@2x":"unpackage/res/icons/58x58.png","settings@3x":"unpackage/res/icons/87x87.png","spotlight@2x":"unpackage/res/icons/80x80.png","spotlight@3x":"unpackage/res/icons/120x120.png"},"prerendered":"false"}},"google":{"abiFilters":["armeabi-v7a","arm64-v8a","x86"],"minSdkVersion":22,"permissions":["<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>","<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-feature android:name=\"android.hardware.camera\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>","<uses-permission android:name=\"android.permission.REQUEST_INSTALL_PACKAGES\"/>"],"packagename":"uni.app.UNIFB2D473","aliasname":"__uni__fb2d473","password":"Z4Urhm9jqwqMGoeQNpGzJA==","storepwd":"Z4Urhm9jqwqMGoeQNpGzJA==","keypwd":"Z4Urhm9jqwqMGoeQNpGzJA==","keystore":"google-keystore.keystore","custompermissions":true},"apple":{"dSYMs":false,"plistcmds":["Add :UIFileSharingEnabled bool true"],"devices":"universal"},"plugins":{"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}},"share":{"weixin":{"UniversalLinks":"","appid":"wxda748470da82886e"}}},"debug":true,"syncDebug":true,"orientation":"portrait-primary"},"nativePlugins":{"MonitorModule":{}},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#F8F8F8"},"uniStatistics":{"enable":false},"allowsInlineMediaPlayback":true,"uni-app":{"control":"uni-v3","vueVersion":"3","compilerVersion":"4.84","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal","webView":{"minUserAgentVersion":"49.0"}},"adid":"122926210510"},"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.7.3","code":173},"description":"护理单元","developer":{"name":"","email":"","url":""},"permissions":{"Share":{},"Camera":{},"VideoPlayer":{},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"autoclose":true,"delay":0,"target":"id:1","waiting":true},"popGesture":"close","launchwebview":{"render":"always","id":"1","kernel":"WKWebview"},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"distribute":{"icons":{"android":{"hdpi":"icon-android-hdpi.png","xhdpi":"icon-android-xhdpi.png","xxhdpi":"icon-android-xxhdpi.png","xxxhdpi":"icon-android-xxxhdpi.png"},"ios":{"appstore":"unpackage/res/icons/1024x1024.png","ipad":{"app":"unpackage/res/icons/76x76.png","app@2x":"unpackage/res/icons/152x152.png","notification":"unpackage/res/icons/20x20.png","notification@2x":"unpackage/res/icons/40x40.png","proapp@2x":"unpackage/res/icons/167x167.png","settings":"unpackage/res/icons/29x29.png","settings@2x":"unpackage/res/icons/58x58.png","spotlight":"unpackage/res/icons/40x40.png","spotlight@2x":"unpackage/res/icons/80x80.png"},"iphone":{"app@2x":"unpackage/res/icons/120x120.png","app@3x":"unpackage/res/icons/180x180.png","notification@2x":"unpackage/res/icons/40x40.png","notification@3x":"unpackage/res/icons/60x60.png","settings@2x":"unpackage/res/icons/58x58.png","settings@3x":"unpackage/res/icons/87x87.png","spotlight@2x":"unpackage/res/icons/80x80.png","spotlight@3x":"unpackage/res/icons/120x120.png"},"prerendered":"false"}},"google":{"abiFilters":["armeabi-v7a","arm64-v8a","x86"],"minSdkVersion":22,"permissions":["<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>","<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-feature android:name=\"android.hardware.camera\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>","<uses-permission android:name=\"android.permission.REQUEST_INSTALL_PACKAGES\"/>"],"packagename":"uni.app.UNIFB2D473","aliasname":"__uni__fb2d473","password":"Z4Urhm9jqwqMGoeQNpGzJA==","storepwd":"Z4Urhm9jqwqMGoeQNpGzJA==","keypwd":"Z4Urhm9jqwqMGoeQNpGzJA==","keystore":"google-keystore.keystore","custompermissions":true},"apple":{"dSYMs":false,"plistcmds":["Add :UIFileSharingEnabled bool true"],"devices":"universal"},"plugins":{"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}},"share":{"weixin":{"UniversalLinks":"","appid":"wxda748470da82886e"}}},"debug":true,"syncDebug":true,"orientation":"portrait-primary"},"nativePlugins":{"MonitorModule":{}},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#F8F8F8"},"uniStatistics":{"enable":false},"allowsInlineMediaPlayback":true,"uni-app":{"control":"uni-v3","vueVersion":"3","compilerVersion":"4.85","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal","webView":{"minUserAgentVersion":"49.0"}},"adid":"122926210510"},"app-harmony":{"useragent":{"value":"uni-app","concatenate":true},"uniStatistics":{"enable":false}},"screenOrientation":["landscape-primary","landscape-secondary"],"launch_path":"__uniappview.html"}
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -148,7 +148,7 @@
|
|||
"uni-app": {
|
||||
"control": "uni-v3",
|
||||
"vueVersion": "3",
|
||||
"compilerVersion": "4.84",
|
||||
"compilerVersion": "4.85",
|
||||
"nvueCompiler": "uni-app",
|
||||
"renderer": "auto",
|
||||
"nvue": {
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue