库房单元首页完事
|
|
@ -568,9 +568,9 @@
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
propsmove: {
|
// propsmove: {
|
||||||
type: Number
|
// type: Number
|
||||||
},
|
// },
|
||||||
isMain: {
|
isMain: {
|
||||||
type: Boolean
|
type: Boolean
|
||||||
}
|
}
|
||||||
|
|
@ -708,302 +708,7 @@
|
||||||
}
|
}
|
||||||
removeTimers.clear()
|
removeTimers.clear()
|
||||||
})
|
})
|
||||||
watch(
|
|
||||||
() => props.propsmove,
|
|
||||||
() => {
|
|
||||||
if (movetype.value != -1) {
|
|
||||||
if (openrizhi.value) {
|
|
||||||
switch (props.propsmove) {
|
|
||||||
case 0:
|
|
||||||
|
|
||||||
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
if (typeNow.value == 3) {
|
|
||||||
if (ruletarget.value < 4) {
|
|
||||||
ruletarget.value++
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (ruletarget.value < 6) {
|
|
||||||
ruletarget.value++
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 3:
|
|
||||||
if (ruletarget.value) {
|
|
||||||
ruletarget.value--
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
if (typeNow.value == 1) {
|
|
||||||
if (ruletarget.value < 4) {
|
|
||||||
changetype(dianrizhi.value[ruletarget.value].type, ruletarget.value)
|
|
||||||
} else {
|
|
||||||
nextpage(ruletarget.value - dianrizhi.value.length)
|
|
||||||
}
|
|
||||||
} else if (typeNow.value == 2) {
|
|
||||||
if (ruletarget.value < 4) {
|
|
||||||
changetype(shuirizhi.value[ruletarget.value].type, ruletarget.value)
|
|
||||||
} else {
|
|
||||||
nextpage(ruletarget.value - shuirizhi.value.length)
|
|
||||||
}
|
|
||||||
}else if (typeNow.value == 3) {
|
|
||||||
if (ruletarget.value < 2) {
|
|
||||||
changetype(wenrizhi.value[ruletarget.value].type, ruletarget.value)
|
|
||||||
} else {
|
|
||||||
nextpage(ruletarget.value - wenrizhi.value.length)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
closeall()
|
|
||||||
default:
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if (openqingling.value || openlahzha.value || openbaoxiu.value || openhehzha.value || openchaobiao.value) {
|
|
||||||
switch (props.propsmove) {
|
|
||||||
case 0:
|
|
||||||
|
|
||||||
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
buttonposition.value = !buttonposition.value
|
|
||||||
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 3:
|
|
||||||
buttonposition.value = !buttonposition.value
|
|
||||||
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
if (buttonposition.value) {
|
|
||||||
if (openqingling.value) {
|
|
||||||
qingling()
|
|
||||||
}
|
|
||||||
if (openlahzha.value) {
|
|
||||||
kongzha(`10`)
|
|
||||||
}
|
|
||||||
if (openbaoxiu.value) {
|
|
||||||
baoxiu()
|
|
||||||
}
|
|
||||||
if (openhehzha.value) {
|
|
||||||
kongzha(`11`)
|
|
||||||
}
|
|
||||||
if (openchaobiao.value) {
|
|
||||||
chaobiao()
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
closeall()
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
closeall()
|
|
||||||
default:
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (movetype.value) {
|
|
||||||
case 0:
|
|
||||||
switch (props.propsmove) {
|
|
||||||
case 0:
|
|
||||||
movetype.value = -1
|
|
||||||
zeroIndex.value = -1
|
|
||||||
emit("back")
|
|
||||||
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
|
|
||||||
if (zeroIndex.value < allArray.value.length - 1) {
|
|
||||||
zeroIndex.value++
|
|
||||||
typeNowtarget.value = zeroIndex.value;
|
|
||||||
scrollLeft.value = zeroIndex.value * 130
|
|
||||||
changeallmessage()
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
|
|
||||||
if (typeNow.value) {
|
|
||||||
savetopindex.value = zeroIndex.value;
|
|
||||||
movetype.value = 1
|
|
||||||
zeroIndex.value = 0
|
|
||||||
} else {
|
|
||||||
savetopindex.value = zeroIndex.value;
|
|
||||||
movetype.value = 2
|
|
||||||
zeroIndex.value = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 3:
|
|
||||||
if (zeroIndex.value) {
|
|
||||||
zeroIndex.value--
|
|
||||||
typeNowtarget.value = zeroIndex.value;
|
|
||||||
scrollLeft.value = zeroIndex.value * 130
|
|
||||||
changeallmessage()
|
|
||||||
} else {
|
|
||||||
movetype.value = -1
|
|
||||||
zeroIndex.value = -1
|
|
||||||
emit("back")
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
typeNowtarget.value = zeroIndex.value;
|
|
||||||
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
|
|
||||||
switch (props.propsmove) {
|
|
||||||
case 0:
|
|
||||||
if (zeroIndex.value) {
|
|
||||||
zeroIndex.value--
|
|
||||||
} else {
|
|
||||||
movetype.value = 0
|
|
||||||
zeroIndex.value = savetopindex.value
|
|
||||||
typeNowtarget.value = savetopindex.value;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
zeroIndex.value = 0
|
|
||||||
movetype.value = 2
|
|
||||||
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
if (typeNow.value != 3) {
|
|
||||||
if (zeroIndex.value < 2) {
|
|
||||||
zeroIndex.value++
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
if (zeroIndex.value < 1) {
|
|
||||||
zeroIndex.value++
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 3:
|
|
||||||
// movetype.value = -1
|
|
||||||
// zeroIndex.value = -1
|
|
||||||
// emit("back")
|
|
||||||
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
if (typeNow.value != 3) {
|
|
||||||
if (!zeroIndex.value) {
|
|
||||||
openqingling.value = true;
|
|
||||||
emit("canback", true)
|
|
||||||
} else if (zeroIndex.value == 1) {
|
|
||||||
openchaobiao.value = true
|
|
||||||
emit("canback", true)
|
|
||||||
} else {
|
|
||||||
getrulevalue()
|
|
||||||
emit("canback", true)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (!zeroIndex.value) {
|
|
||||||
openchaobiao.value = true;
|
|
||||||
emit("canback", true)
|
|
||||||
} else if (zeroIndex.value == 1) {
|
|
||||||
|
|
||||||
getrulevalue()
|
|
||||||
emit("canback", true)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
switch (props.propsmove) {
|
|
||||||
case 0:
|
|
||||||
if (zeroIndex.value) {
|
|
||||||
zeroIndex.value--
|
|
||||||
} else {
|
|
||||||
movetype.value = 0
|
|
||||||
zeroIndex.value = savetopindex.value
|
|
||||||
typeNowtarget.value = savetopindex.value;
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
if (typeNow.value != 3) {
|
|
||||||
if (zeroIndex.value < 1) {
|
|
||||||
zeroIndex.value++
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 3:
|
|
||||||
if (typeNow.value) {
|
|
||||||
zeroIndex.value = 0
|
|
||||||
movetype.value = 1
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 4:
|
|
||||||
if (typeNow.value != 3) {
|
|
||||||
|
|
||||||
if (!typeNow.value && !zeroIndex.value) {
|
|
||||||
uni.navigateTo({
|
|
||||||
url: "/pages/watch/full"
|
|
||||||
})
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if (!zeroIndex.value) {
|
|
||||||
if (indexmessage.value.relayState === '1') {
|
|
||||||
openlahzha.value = true
|
|
||||||
emit("canback", true)
|
|
||||||
} else {
|
|
||||||
openhehzha.value = true
|
|
||||||
emit("canback", true)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
openbaoxiu.value = true;
|
|
||||||
emit("canback", true)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
else {
|
|
||||||
openbaoxiu.value = true;
|
|
||||||
emit("canback", true)
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
)
|
|
||||||
const typeNow = ref(-1);
|
const typeNow = ref(-1);
|
||||||
const typeNowtarget = ref(-1);
|
const typeNowtarget = ref(-1);
|
||||||
const photoplay = ref(false)
|
const photoplay = ref(false)
|
||||||
|
|
|
||||||
|
|
@ -115,17 +115,6 @@
|
||||||
一级压疮防护
|
一级压疮防护
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- <view style="display: flex;align-items: center;margin-top: 20rpx;">
|
|
||||||
<image class="down-img" :src="`/static/index/newindex/states/left.png`" />
|
|
||||||
<view v-for="(item,index) in downStates" :key="index" class="states-father">
|
|
||||||
<image class="icon-img" :src="item.url" />
|
|
||||||
<view style="margin-top: 15rpx;margin-left: 10rpx;">
|
|
||||||
{{item.name}}
|
|
||||||
</view>
|
|
||||||
|
|
||||||
</view>
|
|
||||||
<image class="down-img" :src="`/static/index/newindex/states/right.png`" />
|
|
||||||
</view> -->
|
|
||||||
<view style="display: flex;margin-top: 40rpx;">
|
<view style="display: flex;margin-top: 40rpx;">
|
||||||
<view style="width: 240rpx;height: 90rpx;margin-right: 40rpx;">
|
<view style="width: 240rpx;height: 90rpx;margin-right: 40rpx;">
|
||||||
<view class="start-button">
|
<view class="start-button">
|
||||||
|
|
@ -180,22 +169,22 @@
|
||||||
<view class="top-title">
|
<view class="top-title">
|
||||||
护理单元
|
护理单元
|
||||||
</view>
|
</view>
|
||||||
<view class="top-heng"></view>
|
|
||||||
<scroll-view class="top-list" scroll-y>
|
<scroll-view class="top-list" scroll-y>
|
||||||
<view class="list-view" :style="menutarget===index?{borderColor:`#8DD6FF`}:{}"
|
<view class="list-view" :style="menutarget===index?{borderColor:`#8DD6FF`,backgroundColor:`#F7F7F9`}:{}"
|
||||||
v-for="(item,index) in filteredMenu(0)" :key="index" @click="clickmenu(index)">
|
v-for="(item,index) in filteredMenu(0)" :key="index" @click="clickmenu(index)">
|
||||||
<image class="list-img" :src="`/static/index/newindex/leftmenu/NU${item.elderInfo?.name?`blue`:`white`}.png`" />
|
<image class="list-img"
|
||||||
|
:src="`/static/index/newindex/leftmenu/NU${item.elderInfo?.name?`blue`:`white`}.png`" />
|
||||||
<view class="">
|
<view class="">
|
||||||
<view class="first-line">
|
<view class="first-line">
|
||||||
<view style="font-size: 1.2vw;">
|
<view style="font-size: 1.2vw;">
|
||||||
护理单元01
|
{{ item.nuName }}
|
||||||
</view>
|
</view>
|
||||||
<view class="first-line-second">
|
<view class="first-line-second">
|
||||||
{{ item.elderInfo?.name?`入住`:`空闲` }}
|
{{ item.elderInfo?.name?`入住`:`空闲` }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="second-line">
|
<view class="second-line">
|
||||||
NUID:2506000001
|
NUID:{{ item.nuId }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -203,17 +192,17 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="right-bottom">
|
<view class="right-bottom">
|
||||||
<view class="bottom-title">
|
<view class="bottom-title">
|
||||||
<image class="bottom-carmera" src="/static/index/newindex/leftmenu/carmera.png" />
|
<image class="bottom-carmera" src="/static/index/newindex/leftmenu/carmera.png" @click="gotolook" />
|
||||||
<view class="blue-button">
|
<view class="blue-button">
|
||||||
长者标签
|
长者标签
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<image class="big-older" src="/static/index/newindex/leftmenu/older.png" />
|
<image class="big-older" :src="`/static/index/newindex/leftmenu/${uni.getStorageSync('NUall').elderInfo?.name?`older`:`nopeople`}.png`" />
|
||||||
<view class="name-weight">
|
<view class="name-weight">
|
||||||
{{ uni.getStorageSync('NUall').elderInfo?.name }}
|
{{ uni.getStorageSync('NUall').elderInfo?.name ? uni.getStorageSync('NUall').elderInfo?.name:`暂无长者` }}
|
||||||
</view>
|
</view>
|
||||||
<view class="message-view">
|
<view class="message-view" v-if="uni.getStorageSync('NUall').elderInfo?.name">
|
||||||
{{ uni.getStorageSync('NUall').elderInfo?.sex }}
|
{{ uni.getStorageSync('NUall').elderInfo?.sex }}
|
||||||
<view class="message-shu"></view>
|
<view class="message-shu"></view>
|
||||||
<view style="font-weight: 600;">
|
<view style="font-weight: 600;">
|
||||||
|
|
@ -224,14 +213,48 @@
|
||||||
<image class="message-img" :src="`/static/index/newindex/leftmenu/time.png`" />
|
<image class="message-img" :src="`/static/index/newindex/leftmenu/time.png`" />
|
||||||
{{ uni.getStorageSync('NUall').elderInfo?.startTime }}
|
{{ uni.getStorageSync('NUall').elderInfo?.startTime }}
|
||||||
</view>
|
</view>
|
||||||
<view class="message-bottom">
|
<view class="message-bottom" v-if="uni.getStorageSync('NUall').elderInfo?.name">
|
||||||
<view class="bottom-tags" v-for="(item,index) in tagarray" :key="index">
|
<view class="bottom-tags" v-for="(item,index) in tagarray" :key="index">
|
||||||
{{ item }}
|
{{ item }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="fixed-card" :style="openleft?{}:{right:`-33vw`}">
|
||||||
|
<view class="fixed-card-left">
|
||||||
|
<image class="card-left-img" :src="`/static/index/newindex/wendu/2.png`" />
|
||||||
|
<view class="">
|
||||||
|
库存盘点
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
<view class="big-time">
|
||||||
|
10:00 - 10:10
|
||||||
|
</view>
|
||||||
|
<view class="icon-people">
|
||||||
|
<image class="people-img" src="/static/index/newindex/leftmenu/iconleft.png" />
|
||||||
|
单人执行
|
||||||
|
<image style="margin-left: 1vw;" class="people-img"
|
||||||
|
src="/static/index/newindex/leftmenu/iconright.png" />
|
||||||
|
王金福
|
||||||
|
</view>
|
||||||
|
<view style="color: #555555;">
|
||||||
|
业务单号:P10120251010001
|
||||||
|
</view>
|
||||||
|
<view class="icon-button">
|
||||||
|
<view class="button-left">
|
||||||
|
开始服务
|
||||||
|
</view>
|
||||||
|
<view class="button-right">
|
||||||
|
结束服务
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="left-open" @click="openleft = !openleft">
|
||||||
|
<image :style="openleft?{}:{transform: `rotate(180deg)`}" class="open-img"
|
||||||
|
src="/static/index/newindex/leftmenu/openleft.png" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
|
@ -246,6 +269,7 @@
|
||||||
|
|
||||||
});
|
});
|
||||||
const leftMenuArray = ref([]);
|
const leftMenuArray = ref([]);
|
||||||
|
const openleft = ref(false)
|
||||||
|
|
||||||
const menutarget = ref(0)
|
const menutarget = ref(0)
|
||||||
|
|
||||||
|
|
@ -260,7 +284,7 @@
|
||||||
const tagarray = ["市医保", "半失能", "正常计费"]
|
const tagarray = ["市医保", "半失能", "正常计费"]
|
||||||
|
|
||||||
function calcAge(dateOfBirth : string) {
|
function calcAge(dateOfBirth : string) {
|
||||||
const birthYear = parseInt(dateOfBirth.slice(0, 4), 10);
|
const birthYear = parseInt(dateOfBirth?.slice(0, 4), 10);
|
||||||
const currentYear = new Date().getFullYear();
|
const currentYear = new Date().getFullYear();
|
||||||
return currentYear - birthYear;
|
return currentYear - birthYear;
|
||||||
}
|
}
|
||||||
|
|
@ -296,24 +320,7 @@
|
||||||
name: '协助执行'
|
name: '协助执行'
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
const downStates = ref([
|
|
||||||
{
|
|
||||||
url: "/static/index/newindex/states/0.png",
|
|
||||||
name: '狂躁'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
url: "/static/index/newindex/states/1.png",
|
|
||||||
name: '易怒'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
url: "/static/index/newindex/states/2.png",
|
|
||||||
name: '大体重'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
url: "/static/index/newindex/states/3.png",
|
|
||||||
name: '四肢'
|
|
||||||
},
|
|
||||||
])
|
|
||||||
const leftArray = ref(genPaths(
|
const leftArray = ref(genPaths(
|
||||||
'/static/index/newindex/leftmenu',
|
'/static/index/newindex/leftmenu',
|
||||||
'left',
|
'left',
|
||||||
|
|
@ -419,7 +426,7 @@
|
||||||
const getmenu = () => {
|
const getmenu = () => {
|
||||||
queryPadPageList().then((res => {
|
queryPadPageList().then((res => {
|
||||||
leftMenuArray.value = res.result.records;
|
leftMenuArray.value = res.result.records;
|
||||||
leftMenuArray.value.forEach((element:any,index:number)=>{
|
filteredMenu(0).forEach((element : any, index : number) => {
|
||||||
if (element.nuId === uni.getStorageSync('NUall').nuId) {
|
if (element.nuId === uni.getStorageSync('NUall').nuId) {
|
||||||
menutarget.value = index
|
menutarget.value = index
|
||||||
}
|
}
|
||||||
|
|
@ -427,6 +434,11 @@
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
const lanjie = ref(false);
|
const lanjie = ref(false);
|
||||||
|
const gotolook = () => {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: "/pages/watch/full"
|
||||||
|
})
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
|
|
@ -437,7 +449,7 @@
|
||||||
transition: opacity 1s ease;
|
transition: opacity 1s ease;
|
||||||
|
|
||||||
.right-top {
|
.right-top {
|
||||||
margin-top: 8vh;
|
margin-top: 80rpx;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 50vh;
|
height: 50vh;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
|
@ -453,20 +465,13 @@
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
.top-heng {
|
|
||||||
width: 90%;
|
|
||||||
margin-left: 5%;
|
|
||||||
height: 0.05vw;
|
|
||||||
background-color: #DCDCDC;
|
|
||||||
}
|
|
||||||
|
|
||||||
.top-list {
|
.top-list {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 41vh;
|
height: 41vh;
|
||||||
|
|
||||||
.list-view {
|
.list-view {
|
||||||
width: 90%;
|
width: 86%;
|
||||||
margin-left: 5%;
|
margin-left: 7%;
|
||||||
height: 8vh;
|
height: 8vh;
|
||||||
border: 2rpx solid transparent;
|
border: 2rpx solid transparent;
|
||||||
border-radius: 7vw;
|
border-radius: 7vw;
|
||||||
|
|
@ -537,6 +542,7 @@
|
||||||
margin-top: 0.5vw;
|
margin-top: 0.5vw;
|
||||||
width: 9vw;
|
width: 9vw;
|
||||||
height: 9vw;
|
height: 9vw;
|
||||||
|
|
||||||
border: 1rpx solid #DCDCDC;
|
border: 1rpx solid #DCDCDC;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
|
|
@ -566,7 +572,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.right-container-title-nav {
|
.right-container-title-nav {
|
||||||
margin-top: 100rpx;
|
margin-top: 80rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
height: 20vh;
|
height: 20vh;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
@ -656,21 +662,11 @@
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.down-img {
|
|
||||||
width: 35rpx;
|
|
||||||
height: 35rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.states-father {
|
.states-father {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin: 0 20rpx;
|
margin: 0 20rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-img {
|
|
||||||
width: 55rpx;
|
|
||||||
height: 55rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.start-button {
|
.start-button {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
@ -1016,4 +1012,102 @@
|
||||||
margin: 0 0.2vw;
|
margin: 0 0.2vw;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.fixed-card {
|
||||||
|
position: fixed;
|
||||||
|
right: 2.4vw;
|
||||||
|
top: 5.8vh;
|
||||||
|
width: 35vw;
|
||||||
|
height: 28vh;
|
||||||
|
background-color: rgba(239, 246, 255, 0.95);
|
||||||
|
border-radius: 1.5vw;
|
||||||
|
border: 1rpx solid #638DFF;
|
||||||
|
box-shadow: 0 2rpx 6rpx #A0B9FF;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
transition: all 0.5s ease;
|
||||||
|
|
||||||
|
.fixed-card-left {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.card-left-img {
|
||||||
|
width: 12vw;
|
||||||
|
height: 8vw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.big-time {
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 2.8vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-people {
|
||||||
|
display: flex;
|
||||||
|
margin: 0.3vw 0;
|
||||||
|
color: #555555;
|
||||||
|
|
||||||
|
.people-img {
|
||||||
|
width: 1.5vw;
|
||||||
|
height: 1.5vw;
|
||||||
|
margin-right: 0.3vw;
|
||||||
|
margin-top: 0.1vw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-button {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 1vw;
|
||||||
|
font-size: 1.5vw;
|
||||||
|
|
||||||
|
.button-left {
|
||||||
|
width: 8.5vw;
|
||||||
|
height: 3.3vw;
|
||||||
|
background-color: #fff;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
border-radius: 1.2vw;
|
||||||
|
border: 1rpx solid #C7D2E4;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-right {
|
||||||
|
width: 8.5vw;
|
||||||
|
height: 3.3vw;
|
||||||
|
background-color: #fff;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
border-radius: 1.2vw;
|
||||||
|
border: 1rpx solid #5AAEFF;
|
||||||
|
color: #249BFA;
|
||||||
|
margin-left: 1vw;
|
||||||
|
background: linear-gradient(to bottom, #fff, #D1EAFF);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.left-open {
|
||||||
|
position: absolute;
|
||||||
|
left: -1.5vw;
|
||||||
|
top: 50%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
width: 3vw;
|
||||||
|
height: 5vw;
|
||||||
|
border: 1rpx solid #B8C4DA;
|
||||||
|
background-color: #F2F7FD;
|
||||||
|
z-index: 999;
|
||||||
|
border-radius: 3vw;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
transition: all 0.5s ease;
|
||||||
|
|
||||||
|
.open-img {
|
||||||
|
width: 3vw;
|
||||||
|
height: 3vw;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 3.5vw 0 2.5vw 0;
|
padding: 3.8vw 0 2.5vw 0;
|
||||||
margin-right: 3vw;
|
margin-right: 3vw;
|
||||||
.logo{
|
.logo{
|
||||||
width: 3.8vw;
|
width: 3.8vw;
|
||||||
|
|
|
||||||
|
|
@ -180,7 +180,7 @@
|
||||||
:style="{ animationDelay:`-${computeDelay(index0, index1).toFixed(2)}s` }">
|
:style="{ animationDelay:`-${computeDelay(index0, index1).toFixed(2)}s` }">
|
||||||
|
|
||||||
<view class="title-time" v-if="item1.startTime"
|
<view class="title-time" v-if="item1.startTime"
|
||||||
v-show=" liang.index0 !== index0 || liang.index1 !== index1 || canmove"
|
|
||||||
style="flex-direction: column;">
|
style="flex-direction: column;">
|
||||||
<image v-show="item1.startTime"
|
<image v-show="item1.startTime"
|
||||||
style="width: 50rpx;height: 50rpx;margin: 0 auto;margin-top: 20rpx"
|
style="width: 50rpx;height: 50rpx;margin: 0 auto;margin-top: 20rpx"
|
||||||
|
|
@ -592,49 +592,8 @@
|
||||||
canmove: {
|
canmove: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
},
|
},
|
||||||
liang: {
|
|
||||||
type: Object,
|
|
||||||
},
|
|
||||||
isold: {
|
|
||||||
type: Boolean,
|
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
propsmove: {
|
|
||||||
type: Number
|
|
||||||
},
|
|
||||||
isMain: {
|
|
||||||
type: Boolean
|
|
||||||
}
|
|
||||||
});
|
|
||||||
watch(
|
|
||||||
() => props.isMain,
|
|
||||||
(newVal, oldVal) => {
|
|
||||||
// 仅在 isShow 为 true 时生效
|
|
||||||
if (!props.isshow) return
|
|
||||||
|
|
||||||
if (oldVal === true && newVal === false) {
|
});
|
||||||
saveEditIndex.value.index0 = 8
|
|
||||||
saveEditIndex.value.index1 = 0
|
|
||||||
isRule.value = true
|
|
||||||
} else if (oldVal === false && newVal === true) {
|
|
||||||
saveEditIndex.value.index0 = -1
|
|
||||||
saveEditIndex.value.index1 = -1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
watch(
|
|
||||||
() => props.isold,
|
|
||||||
() => {
|
|
||||||
if (props.isold) {
|
|
||||||
centerCell();
|
|
||||||
cardLeft.value = 1;
|
|
||||||
scrollTop.value = 1;
|
|
||||||
nextTick(() => {
|
|
||||||
scrollTop.value = 0;
|
|
||||||
cardLeft.value = 700
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
watch(
|
watch(
|
||||||
() => props.canmove,
|
() => props.canmove,
|
||||||
() => {
|
() => {
|
||||||
|
|
@ -668,128 +627,7 @@
|
||||||
const bodystatustarget = ref(-1);
|
const bodystatustarget = ref(-1);
|
||||||
const facestatus = ref(false);
|
const facestatus = ref(false);
|
||||||
const facestatustarget = ref(-1);
|
const facestatustarget = ref(-1);
|
||||||
watch(
|
|
||||||
() => props.propsmove,
|
|
||||||
() => {
|
|
||||||
|
|
||||||
if (facestatus.value) {
|
|
||||||
switch (props.propsmove) {
|
|
||||||
case 0:
|
|
||||||
if (facestatustarget.value - 3 > 0) {
|
|
||||||
facestatustarget.value = facestatustarget.value - 3
|
|
||||||
} else {
|
|
||||||
facestatustarget.value = 0
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
if (facestatustarget.value > 5) {
|
|
||||||
|
|
||||||
} else {
|
|
||||||
facestatustarget.value++
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
if (facestatustarget.value + 3 > 5) {
|
|
||||||
facestatustarget.value = 6
|
|
||||||
} else {
|
|
||||||
facestatustarget.value = facestatustarget.value + 3
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
if (facestatustarget.value) {
|
|
||||||
facestatustarget.value--
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
addface(facestatustarget.value)
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
openbody.value = false;
|
|
||||||
openface.value = false;
|
|
||||||
facestatus.value = false;
|
|
||||||
bodystatus.value = false;
|
|
||||||
topindex.value = 1
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if (bodystatus.value) {
|
|
||||||
switch (props.propsmove) {
|
|
||||||
case 0:
|
|
||||||
if (bodystatustarget.value - 3 > 0) {
|
|
||||||
bodystatustarget.value = bodystatustarget.value - 3
|
|
||||||
} else {
|
|
||||||
bodystatustarget.value = 0
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
if (bodystatustarget.value > 3) {
|
|
||||||
|
|
||||||
} else {
|
|
||||||
bodystatustarget.value++
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
if (bodystatustarget.value + 3 > 3) {
|
|
||||||
bodystatustarget.value = 4
|
|
||||||
} else {
|
|
||||||
bodystatustarget.value = bodystatustarget.value + 3
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
if (bodystatustarget.value) {
|
|
||||||
bodystatustarget.value--
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
addbody(bodystatustarget.value)
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
openbody.value = false;
|
|
||||||
openface.value = false;
|
|
||||||
facestatus.value = false;
|
|
||||||
bodystatus.value = false;
|
|
||||||
topindex.value = 0
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if (props.propsmove === 4) {
|
|
||||||
|
|
||||||
if (!isRule.value) {
|
|
||||||
switch (topindex.value) {
|
|
||||||
case 0:
|
|
||||||
openface.value = false
|
|
||||||
openbody.value = !openbody.value
|
|
||||||
bodystatus.value = true;
|
|
||||||
bodystatustarget.value = 0
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
openbody.value = false
|
|
||||||
openface.value = !openface.value
|
|
||||||
facestatus.value = true;
|
|
||||||
facestatustarget.value = 0
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
routerPush()
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
shareToWeixin()
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
addnewbutton()
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
if (isRule.value) {
|
|
||||||
movecard(props.propsmove)
|
|
||||||
} else {
|
|
||||||
movetop(props.propsmove)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
/* ---- 用于 transform 的响应式字符串 ----
|
/* ---- 用于 transform 的响应式字符串 ----
|
||||||
注意:虽然这是响应式,但我们只在 rAF 里更新它(受控更新),避免频繁触发 Vue 渲染 */
|
注意:虽然这是响应式,但我们只在 rAF 里更新它(受控更新),避免频繁触发 Vue 渲染 */
|
||||||
|
|
@ -825,8 +663,7 @@
|
||||||
const facetarget = ref([]);
|
const facetarget = ref([]);
|
||||||
const addbody = (index : number) => {
|
const addbody = (index : number) => {
|
||||||
if (bodyTagList.value[index].izSelected == 'Y') {
|
if (bodyTagList.value[index].izSelected == 'Y') {
|
||||||
// console.log("///",bodyTagList.value[index])
|
|
||||||
// return
|
|
||||||
bodyTagList.value[index].izSelected = 'N';
|
bodyTagList.value[index].izSelected = 'N';
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
nuId: uni.getStorageSync('nuId'),
|
nuId: uni.getStorageSync('nuId'),
|
||||||
elderId: uni.getStorageSync('NUall').elderId,
|
elderId: uni.getStorageSync('elderId'),
|
||||||
wlParamInfo: '',
|
wlParamInfo: '',
|
||||||
categoryId: '',
|
categoryId: '',
|
||||||
typeId: '',
|
typeId: '',
|
||||||
|
|
|
||||||
|
|
@ -1,64 +1,16 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="backgroundContainer" @touchmove="getxy" @touchend="cleanall">
|
<view class="backgroundContainer">
|
||||||
<!-- 这些东西是为了拖动模式来设计的 -->
|
|
||||||
<view class="move-font" v-show="savename && clientX" :animation="animationData">
|
|
||||||
{{savename}}
|
|
||||||
</view>
|
|
||||||
<view v-show="saveruler.cycleType"
|
|
||||||
:class="saveruler.cycleType=='日常' ? `title-time-border-yellow`:`title-time-border-pouple`"
|
|
||||||
:animation="animationData" style="font-size: 30rpx;overflow: hidden;">
|
|
||||||
<view class="title-time" v-show="saveruler.startTime" style="margin-top: 5rpx;">
|
|
||||||
<view class="title-time-time" style="font-size: 30rpx;">
|
|
||||||
{{saveruler.startTime + `-` + saveruler.endTime}}
|
|
||||||
</view>
|
|
||||||
<image class="title-time-button"
|
|
||||||
:src="saveruler.cycleType=='日常'?`/static/index/yellowbian.png`:`/static/index/puoplebian.png`" />
|
|
||||||
<view class="title-time-font">
|
|
||||||
{{saveruler.cycleType}}
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view style="margin-top: 20rpx;font-weight: 700;">
|
|
||||||
{{splitString(saveruler.directiveName)[0]}}
|
|
||||||
</view>
|
|
||||||
<view class="down-icons" :style="saveruler.cycleType!='日常'?{backgroundColor:`rgb(212,203,255)`}:{}"
|
|
||||||
v-show="splitString(saveruler.directiveName)[1]">
|
|
||||||
<view class="" v-for="(item,index) in splitString(saveruler.directiveName).slice(1)" :key="index">
|
|
||||||
<view class="icon" :style="saveruler.cycleType!='日常'?{backgroundColor:`rgb(123,97,255)`}:{}">
|
|
||||||
{{splitString(saveruler.directiveName)[1]}}
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<leftcontent :list="tabbrarr" @navurl="navurl"></leftcontent>
|
<leftcontent :list="tabbrarr" @navurl="navurl"></leftcontent>
|
||||||
<!-- <view class="left-container">
|
|
||||||
<view class="left-head">
|
|
||||||
<image class="left-head-img" src="/static/index/oldman.png" />
|
|
||||||
<text class="left-head-font">
|
|
||||||
{{ uni.getStorageSync('NUall').elderInfo?uni.getStorageSync('NUall').elderInfo.name:"" }}
|
|
||||||
</text>
|
|
||||||
</view>
|
|
||||||
<view class="menus-father">
|
|
||||||
<view v-for="(item,index) in leftMenuArray" :key="index" class="menu"
|
|
||||||
:class="targetIndex===index?'target':''"
|
|
||||||
:style="targetIndex === index ? { backgroundColor: '#ddf0ff' }: (index === menuIndex ? { backgroundColor: '#fff' } : {})"
|
|
||||||
@click="changeMenu(index)">
|
|
||||||
<donghua :width="`55rpx`" :height="`55rpx`" :links="item.url" :playing="index === menuIndex" />
|
|
||||||
<text style="font-size: 31rpx;margin-left: 15rpx;">
|
|
||||||
{{item.name}}
|
|
||||||
</text>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view> -->
|
|
||||||
<!-- 主页 -->
|
<!-- 主页 -->
|
||||||
<index :isShow="menuIndexshow" v-if="!menuIndex" />
|
<index :isShow="menuIndexshow" v-if="!menuIndex" />
|
||||||
<!-- 设备页 -->
|
<!-- 设备页 -->
|
||||||
<equipment :isShow="menuIndexshowfifth" v-if="menuIndex==4" :propsmove="propsmove" :isMain="isMain"
|
<equipment :isShow="menuIndexshowfifth" v-if="menuIndex==4" />
|
||||||
@back="movecard(5)" @cleanmain="movecard(1)" @canback="canmoveit" />
|
|
||||||
<requestform :isShow="menuIndexshowfourth" v-if="menuIndex==3" />
|
<requestform :isShow="menuIndexshowfourth" v-if="menuIndex==3" />
|
||||||
<!-- 户嘱页 -->
|
<!-- 户嘱页 -->
|
||||||
<nurse :isold="isOld===2" :liang="indexNumber" :isshow="menuIndexshowsecond"
|
<nurse :isshow="menuIndexshowsecond"
|
||||||
v-if="menuIndex==1&&isOld===2&&uni.getStorageSync('elderId')&&uni.getStorageSync('nuId')"
|
v-if="menuIndex==1&&uni.getStorageSync('elderId')&&uni.getStorageSync('nuId')" />
|
||||||
:propsmove="propsmove" :isMain="isMain" @vip="canmoveit" />
|
|
||||||
<!-- 医嘱 -->
|
<!-- 医嘱 -->
|
||||||
<doctorask v-if="menuIndex==2"/>
|
<doctorask v-if="menuIndex==2"/>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -66,7 +18,6 @@
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, onMounted, onBeforeUnmount, nextTick } from 'vue';
|
import { ref, onMounted, onBeforeUnmount, nextTick } from 'vue';
|
||||||
import type { Link } from "./index";
|
|
||||||
import index from "./component/index.vue"
|
import index from "./component/index.vue"
|
||||||
import equipment from "./component/equipment.vue"
|
import equipment from "./component/equipment.vue"
|
||||||
import requestform from "./component/pleasetake/takehome.vue"
|
import requestform from "./component/pleasetake/takehome.vue"
|
||||||
|
|
@ -80,25 +31,17 @@
|
||||||
menuIndex.value = -1;
|
menuIndex.value = -1;
|
||||||
nextTick(() => menuIndex.value = 0)
|
nextTick(() => menuIndex.value = 0)
|
||||||
|
|
||||||
isOld.value = 2;
|
|
||||||
uni.getSystemInfoSync(); // 确保 global 注入生效
|
|
||||||
uni.pageScrollTo; // 避免某些平台热更新惊群
|
|
||||||
// 被动监听提升拖拽性能
|
|
||||||
name.value = uni.getStorageSync('realname')
|
|
||||||
|
|
||||||
getServiceTree().then((res : any) => {
|
getServiceTree().then((res : any) => {
|
||||||
// console.log("{{{{{}}}}}",res) //缓存护嘱菜单
|
//缓存护嘱菜单
|
||||||
uni.setStorageSync("saveTree", res)
|
uni.setStorageSync("saveTree", res)
|
||||||
})
|
})
|
||||||
getNcPackagelist().then((res : any) => {
|
getNcPackagelist().then((res : any) => {
|
||||||
//缓存指令包
|
//缓存指令包
|
||||||
// console.log("{{{{{}}}}}",res)
|
|
||||||
uni.setStorageSync("Packagelist", res.result)
|
uni.setStorageSync("Packagelist", res.result)
|
||||||
// console.log("????////",res.result)
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
const name = ref("");
|
|
||||||
// 通用的生成函数
|
// 通用的生成函数
|
||||||
function genPaths(base, prefix, count, ext = 'png', startIndex = 0, pad = false) {
|
function genPaths(base, prefix, count, ext = 'png', startIndex = 0, pad = false) {
|
||||||
return Array.from({ length: count }, (_, i) => {
|
return Array.from({ length: count }, (_, i) => {
|
||||||
|
|
@ -119,78 +62,7 @@
|
||||||
const navurl =(e)=>{
|
const navurl =(e)=>{
|
||||||
changeMenu(e)
|
changeMenu(e)
|
||||||
}
|
}
|
||||||
const leftMenuArray = ref([
|
|
||||||
{
|
|
||||||
url: genPaths(
|
|
||||||
'/static/index/newindex/curve',
|
|
||||||
'home_',
|
|
||||||
5, // 张数
|
|
||||||
'png',
|
|
||||||
1, // 起始索引为 1
|
|
||||||
false // 不补零
|
|
||||||
), name: '首页'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
url: genPaths(
|
|
||||||
'/static/index/newindex/curve',
|
|
||||||
'nurse_',
|
|
||||||
8, // 张数
|
|
||||||
'png',
|
|
||||||
1, // 起始索引为 1
|
|
||||||
false // 不补零
|
|
||||||
), name: '护嘱'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
url: genPaths(
|
|
||||||
'/static/index/newindex/curve',
|
|
||||||
'doctor_',
|
|
||||||
6, // 张数
|
|
||||||
'png',
|
|
||||||
1, // 起始索引为 1
|
|
||||||
false // 不补零
|
|
||||||
), name: '医嘱'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
url: genPaths(
|
|
||||||
'/static/index/newindex/curve',
|
|
||||||
'logistics',
|
|
||||||
8, // 张数
|
|
||||||
'png',
|
|
||||||
0, // 起始索引为 1
|
|
||||||
false // 不补零
|
|
||||||
), name: '后勤'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
url: genPaths(
|
|
||||||
'/static/index/newindex/curve',
|
|
||||||
'device_',
|
|
||||||
7, // 张数
|
|
||||||
'png',
|
|
||||||
1, // 起始索引为 1
|
|
||||||
false // 不补零
|
|
||||||
), name: '设备'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
url: genPaths(
|
|
||||||
'/static/index/newindex/curve',
|
|
||||||
'return_',
|
|
||||||
1, // 张数
|
|
||||||
'png',
|
|
||||||
1, // 起始索引为 1
|
|
||||||
false // 不补零
|
|
||||||
), name: '返回'
|
|
||||||
},
|
|
||||||
// {
|
|
||||||
// url: genPaths(
|
|
||||||
// '/static/index/newindex/curve',
|
|
||||||
// 'return_',
|
|
||||||
// 8, // 张数
|
|
||||||
// 'png',
|
|
||||||
// 1, // 起始索引为 1
|
|
||||||
// false // 不补零
|
|
||||||
// ), name: '返回'
|
|
||||||
// },
|
|
||||||
])
|
|
||||||
|
|
||||||
// 当前选中的菜单索引
|
// 当前选中的菜单索引
|
||||||
const menuIndex = ref<number>(-1);
|
const menuIndex = ref<number>(-1);
|
||||||
|
|
@ -198,52 +70,9 @@
|
||||||
const menuIndexshowsecond = ref<boolean>(false);
|
const menuIndexshowsecond = ref<boolean>(false);
|
||||||
const menuIndexshowfourth = ref<boolean>(false);
|
const menuIndexshowfourth = ref<boolean>(false);
|
||||||
const menuIndexshowfifth = ref<boolean>(false);
|
const menuIndexshowfifth = ref<boolean>(false);
|
||||||
//旧表格还是新表格
|
|
||||||
const isOld = ref(-1);
|
|
||||||
// 当前选中的菜单索引
|
|
||||||
const roomTar = ref<number[]>([]);
|
|
||||||
//滑块按钮
|
|
||||||
const firstcurrentIndex = ref<number>(0);
|
|
||||||
const firstcurrentIndexup = ref<number>(0);
|
|
||||||
const secondcurrentIndexup = ref<number>(0);
|
|
||||||
const secondcurrentIndex = ref<number>(0);
|
|
||||||
const thirdcurrentIndex = ref<number>(0);
|
|
||||||
|
|
||||||
//切换表格新旧
|
|
||||||
const isOldchange = (res : number) => {
|
|
||||||
isOld.value = res;
|
|
||||||
}
|
|
||||||
const changesdonghua = (index : number) => {
|
|
||||||
if (menuIndex.value === index) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
menuIndex.value = index;
|
|
||||||
menuIndexshow.value = false
|
|
||||||
menuIndexshowsecond.value = false
|
|
||||||
menuIndexshowfourth.value = false;
|
|
||||||
menuIndexshowfifth.value = false
|
|
||||||
setTimeout(() => {
|
|
||||||
switch (index) {
|
|
||||||
case 0:
|
|
||||||
menuIndexshow.value = true
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
menuIndexshowsecond.value = true
|
|
||||||
case 3:
|
|
||||||
menuIndexshowfourth.value = true
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
menuIndexshowfifth.value = true;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
}
|
|
||||||
}, 50)
|
|
||||||
}
|
|
||||||
// 变更菜单
|
// 变更菜单
|
||||||
const changeMenu = (index : number) => {
|
const changeMenu = (index : number) => {
|
||||||
uni.$emit('smallmonitor:isshow', false);
|
|
||||||
isMain.value = true;
|
|
||||||
targetIndex.value = index
|
|
||||||
menuIndex.value = index;
|
menuIndex.value = index;
|
||||||
menuIndexshow.value = false
|
menuIndexshow.value = false
|
||||||
menuIndexshowsecond.value = false
|
menuIndexshowsecond.value = false
|
||||||
|
|
@ -276,178 +105,13 @@
|
||||||
const clientY = ref(0);
|
const clientY = ref(0);
|
||||||
const savename = ref("")
|
const savename = ref("")
|
||||||
const canmove = ref(true)
|
const canmove = ref(true)
|
||||||
const indexNumber = ref({
|
|
||||||
index0: 999,
|
|
||||||
index1: 999,
|
|
||||||
})
|
|
||||||
//翻页计时器
|
|
||||||
const canTrigger = ref(true);
|
|
||||||
//全局获得x轴和y轴
|
|
||||||
const animation = uni.createAnimation({
|
|
||||||
duration: 0,
|
|
||||||
timingFunction: 'linear',
|
|
||||||
delay: 0
|
|
||||||
});
|
|
||||||
const animationData = ref({});
|
|
||||||
let ticking = false;
|
|
||||||
let handle = null;
|
|
||||||
|
|
||||||
const getxyrel = (event) => {
|
|
||||||
const touch = event.touches[0];
|
|
||||||
clientX.value = 2 * (Math.floor(touch.clientX) - 100);
|
|
||||||
clientY.value = 2 * (Math.floor(touch.clientY) - 55);
|
|
||||||
animation.translate3d(clientX.value / 2, clientY.value / 2, 0).step({ duration: 0 });
|
|
||||||
animationData.value = animation.export();
|
|
||||||
|
|
||||||
|
|
||||||
// 遍历数组,找到点击区域所在的对
|
|
||||||
const translateX = Math.floor(touch.clientX) - 50;
|
|
||||||
const translateY = Math.floor(touch.clientY) - 25;
|
|
||||||
|
|
||||||
const clickedItem = fangkuaiValue.value.find(item => {
|
|
||||||
return translateX >= Math.floor(item.left) && translateX <= Math.floor(item.right) &&
|
|
||||||
translateY >= Math.floor(item.top) && translateY <= Math.floor(item.bottom);
|
|
||||||
});
|
|
||||||
if (clickedItem) {
|
|
||||||
const { index0, index1 } = clickedItem.dataset;
|
|
||||||
indexNumber.value.index0 = index0
|
|
||||||
indexNumber.value.index1 = index1
|
|
||||||
if (clientX.value < 200 && canTrigger.value && !isOld.value) {
|
|
||||||
ruler.value?.nextItems();
|
|
||||||
canTrigger.value = false;
|
|
||||||
setTimeout(() => {
|
|
||||||
canTrigger.value = true;
|
|
||||||
}, 1000);
|
|
||||||
}
|
|
||||||
// if (clientX.value < 350 && canTrigger.value && isOld.value===1) {
|
|
||||||
|
|
||||||
// rulernew.value?.nextItems();
|
|
||||||
// canTrigger.value = false;
|
|
||||||
// setTimeout(() => {
|
|
||||||
// canTrigger.value = true;
|
|
||||||
// }, 1000);
|
|
||||||
// }
|
|
||||||
} else {
|
|
||||||
indexNumber.value.index0 = 999
|
|
||||||
indexNumber.value.index1 = 999
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//节流
|
|
||||||
const getxy = throttle(getxyrel, 40);
|
|
||||||
|
|
||||||
const fangkuaiValue = ref([])
|
|
||||||
//所有适合的方块
|
|
||||||
const openname = (res : string, fangkuai : any) => {
|
|
||||||
savename.value = res;
|
|
||||||
canmove.value = false;
|
|
||||||
fangkuaiValue.value = fangkuai
|
|
||||||
}
|
|
||||||
const changefangkuang = (fangkuang : any) => {
|
|
||||||
fangkuaiValue.value = fangkuang
|
|
||||||
}
|
|
||||||
//移动方块
|
|
||||||
const saveruler = ref({
|
|
||||||
directiveName: "",
|
|
||||||
cycleType: "",
|
|
||||||
positioningLong: "0",
|
|
||||||
typeName: "",
|
|
||||||
startTime: "",
|
|
||||||
id: "",
|
|
||||||
endTime: "",
|
|
||||||
tagName: null
|
|
||||||
})
|
|
||||||
const openruler = (res : any, fangkuai : any) => {
|
|
||||||
saveruler.value = res
|
|
||||||
canmove.value = false;
|
|
||||||
fangkuaiValue.value = fangkuai
|
|
||||||
}
|
|
||||||
//解决拖动bug
|
|
||||||
const closename = () => {
|
|
||||||
savename.value = "";
|
|
||||||
canmove.value = true;
|
|
||||||
}
|
|
||||||
const ruler = ref(null)
|
|
||||||
const rulernew = ref(null)
|
|
||||||
//结束、禁止滑动
|
|
||||||
const cleanall = () => {
|
|
||||||
clientX.value = 9999;
|
|
||||||
clientY.value = 9999;
|
|
||||||
animation.translate3d(clientX.value / 2, clientY.value / 2, 0).step({ duration: 0 });
|
|
||||||
animationData.value = animation.export();
|
|
||||||
canmove.value = true;
|
|
||||||
indexNumber.value = {
|
|
||||||
index0: 999,
|
|
||||||
index1: 999,
|
|
||||||
};
|
|
||||||
if (savename.value) {
|
|
||||||
if (!isOld.value) {
|
|
||||||
ruler.value?.rulerEnd(savename.value);
|
|
||||||
} else {
|
|
||||||
}
|
|
||||||
} else if (saveruler.value.typeName) {
|
|
||||||
if (isOld.value === 0) {
|
|
||||||
ruler.value?.rulerMoveEnd(saveruler.value);
|
|
||||||
} else {
|
|
||||||
rulernew.value?.rulerMoveEnd(saveruler.value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
savename.value = "";
|
|
||||||
saveruler.value = {
|
|
||||||
directiveName: "",
|
|
||||||
cycleType: "",
|
|
||||||
positioningLong: "0",
|
|
||||||
typeName: "",
|
|
||||||
startTime: "",
|
|
||||||
id: "",
|
|
||||||
endTime: "",
|
|
||||||
tagName: null
|
|
||||||
};
|
|
||||||
}
|
|
||||||
//节流函数
|
|
||||||
function throttle(fn, delay) {
|
|
||||||
let lastExecutionTime = 0;
|
|
||||||
return function (...args) {
|
|
||||||
const now = Date.now();
|
|
||||||
if (now - lastExecutionTime >= delay) {
|
|
||||||
lastExecutionTime = now;
|
|
||||||
fn.apply(this, args);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
// 生命周期钩子
|
// 生命周期钩子
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
|
||||||
//首次加载和跳转回来需要重新做个动画
|
//首次加载和跳转回来需要重新做个动画
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
changeMenu(menuIndex.value)
|
changeMenu(menuIndex.value)
|
||||||
|
|
||||||
}, 50)
|
}, 50)
|
||||||
|
|
||||||
menuIndexshow.value = false
|
menuIndexshow.value = false
|
||||||
|
|
@ -456,108 +120,12 @@
|
||||||
}, 50)
|
}, 50)
|
||||||
|
|
||||||
});
|
});
|
||||||
//切换为主要模式
|
|
||||||
const isMain = ref(true);
|
|
||||||
//切换为右侧模式
|
|
||||||
// const isright = ref(false);
|
|
||||||
const targetIndex = ref(0);
|
|
||||||
const propsmove = ref(-1);
|
|
||||||
|
|
||||||
const canback = ref(false);
|
|
||||||
|
|
||||||
const canmoveit = (boolean : boolean) => {
|
|
||||||
canback.value = boolean
|
|
||||||
}
|
|
||||||
const movecard = (where : number) => {
|
|
||||||
if (where === 5) {
|
|
||||||
if (canback.value) {
|
|
||||||
propsmove.value = -1
|
|
||||||
nextTick(() => propsmove.value = where)
|
|
||||||
return
|
|
||||||
} else {
|
|
||||||
if (!isMain.value) {
|
|
||||||
isMain.value = true;
|
|
||||||
targetIndex.value = menuIndex.value
|
|
||||||
} else {
|
|
||||||
uni.navigateBack()
|
|
||||||
}
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isMain.value) {
|
|
||||||
switch (where) {
|
|
||||||
case 0:
|
|
||||||
if (targetIndex.value) {
|
|
||||||
targetIndex.value--
|
|
||||||
changesdonghua(targetIndex.value)
|
|
||||||
}
|
|
||||||
|
|
||||||
break
|
|
||||||
case 1:
|
|
||||||
isMain.value = false;
|
|
||||||
targetIndex.value = -1;
|
|
||||||
break
|
|
||||||
case 2:
|
|
||||||
if (targetIndex.value < leftMenuArray.value.length - 1) {
|
|
||||||
targetIndex.value++
|
|
||||||
changesdonghua(targetIndex.value)
|
|
||||||
}
|
|
||||||
|
|
||||||
break
|
|
||||||
case 3:
|
|
||||||
|
|
||||||
|
|
||||||
break
|
|
||||||
case 4:
|
|
||||||
if (targetIndex.value === 5) {
|
|
||||||
uni.navigateBack()
|
|
||||||
}
|
|
||||||
changesdonghua(targetIndex.value)
|
|
||||||
|
|
||||||
break
|
|
||||||
|
|
||||||
}
|
|
||||||
uni.$emit('smallmonitor:isshow', false);
|
|
||||||
} else {
|
|
||||||
propsmove.value = -1
|
|
||||||
nextTick(() => propsmove.value = where)
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.menus-father {
|
|
||||||
margin-top: 50rpx;
|
|
||||||
width: 100%;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
// justify-content: flex-start;
|
|
||||||
|
|
||||||
.menu {
|
|
||||||
height: 90rpx;
|
|
||||||
width: 230rpx;
|
|
||||||
border-radius: 60rpx;
|
|
||||||
margin: 25rpx 0;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
// margin-left: 30rpx;
|
|
||||||
// .menu-img{
|
|
||||||
// width: 65rpx;
|
|
||||||
// height: 65rpx;
|
|
||||||
// margin-right: 15rpx;
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.backgroundContainer {
|
.backgroundContainer {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -569,167 +137,5 @@
|
||||||
z-index: 12;
|
z-index: 12;
|
||||||
}
|
}
|
||||||
|
|
||||||
.move-font {
|
|
||||||
position: absolute;
|
|
||||||
z-index: 10;
|
|
||||||
pointer-events: none;
|
|
||||||
background-color: rgb(201, 232, 255);
|
|
||||||
border-radius: 20rpx;
|
|
||||||
border: 2rpx solid #fff;
|
|
||||||
width: 220rpx;
|
|
||||||
height: 100rpx;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 40rpx;
|
|
||||||
box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
|
|
||||||
will-change: transform;
|
|
||||||
}
|
|
||||||
|
|
||||||
.left-container {
|
|
||||||
width: 260rpx;
|
|
||||||
height: 100%;
|
|
||||||
// background-color: blue;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.left-head {
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
flex-direction: column;
|
|
||||||
width: 100%;
|
|
||||||
padding-left: 10rpx;
|
|
||||||
// background-color: red;
|
|
||||||
|
|
||||||
.left-head-img {
|
|
||||||
width: 120rpx;
|
|
||||||
height: 120rpx;
|
|
||||||
margin-top: 80rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.left-head-font {
|
|
||||||
font-weight: 700;
|
|
||||||
font-size: 32rpx;
|
|
||||||
height: 32rpx;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.title-time-border-yellow {
|
|
||||||
width: 255rpx;
|
|
||||||
height: 189rpx;
|
|
||||||
margin: 10rpx;
|
|
||||||
border: 1rpx solid #dae8fa;
|
|
||||||
background: linear-gradient(to bottom, #fff1db, #ffe2b2);
|
|
||||||
border-radius: 20rpx;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
flex-direction: column;
|
|
||||||
position: absolute;
|
|
||||||
z-index: 10;
|
|
||||||
}
|
|
||||||
|
|
||||||
.title-time-border-pouple {
|
|
||||||
width: 255rpx;
|
|
||||||
height: 189rpx;
|
|
||||||
margin: 10rpx;
|
|
||||||
border: 1rpx solid #dae8fa;
|
|
||||||
background: linear-gradient(to bottom, #f1eeff, #e3deff);
|
|
||||||
border-radius: 20rpx;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
flex-direction: column;
|
|
||||||
position: absolute;
|
|
||||||
z-index: 10;
|
|
||||||
}
|
|
||||||
|
|
||||||
.title-time {
|
|
||||||
display: flex;
|
|
||||||
width: 100%;
|
|
||||||
position: relative;
|
|
||||||
|
|
||||||
.title-time-time {
|
|
||||||
font-size: 32rpx;
|
|
||||||
margin-left: 27rpx;
|
|
||||||
margin-top: 12rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.title-time-button {
|
|
||||||
position: absolute;
|
|
||||||
top: -5rpx;
|
|
||||||
right: 0rpx;
|
|
||||||
width: 70rpx;
|
|
||||||
height: 70rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.title-time-font {
|
|
||||||
position: absolute;
|
|
||||||
top: 7rpx;
|
|
||||||
right: 5rpx;
|
|
||||||
font-size: 23rpx;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.down-icons {
|
|
||||||
margin-top: 20rpx;
|
|
||||||
width: 100%;
|
|
||||||
height: 50rpx;
|
|
||||||
background-color: rgb(255, 216, 126);
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
|
|
||||||
.icon {
|
|
||||||
margin: 0 5rpx;
|
|
||||||
font-size: 20rpx;
|
|
||||||
padding: 5rpx 10rpx;
|
|
||||||
background-color: rgb(255, 138, 0);
|
|
||||||
color: #fff;
|
|
||||||
border-radius: 5rpx;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.target {
|
|
||||||
--color: #99C9FD;
|
|
||||||
--thick: 2px;
|
|
||||||
--radius: 60rpx;
|
|
||||||
--outline-offset: 0rpx;
|
|
||||||
/* 外扩多少 */
|
|
||||||
|
|
||||||
/* 内层虚线(你现在用的) */
|
|
||||||
border-radius: var(--radius);
|
|
||||||
background-color: white;
|
|
||||||
/* 内部背景 */
|
|
||||||
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: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes scalePulse {
|
|
||||||
0% {
|
|
||||||
transform: scale(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
25% {
|
|
||||||
/* 先收缩一点点 */
|
|
||||||
transform: scale(0.94);
|
|
||||||
}
|
|
||||||
|
|
||||||
65% {
|
|
||||||
/* 再放大到略超出的感觉 */
|
|
||||||
transform: scale(1.08);
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
transform: scale(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|
@ -2,7 +2,9 @@
|
||||||
<view>
|
<view>
|
||||||
<view class="flex">
|
<view class="flex">
|
||||||
<leftcontent :list="tabbrarr" @navurl="navurl"></leftcontent>
|
<leftcontent :list="tabbrarr" @navurl="navurl"></leftcontent>
|
||||||
<material></material>
|
<!-- 主页 -->
|
||||||
|
<index :isShow="menuop" v-if="!menuIndex" />
|
||||||
|
<!-- <material></material> -->
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -11,6 +13,8 @@
|
||||||
import { ref, onMounted, onBeforeUnmount, nextTick } from 'vue';
|
import { ref, onMounted, onBeforeUnmount, nextTick } from 'vue';
|
||||||
import leftcontent from "@/pages/NursingNew/component/leftcontent/leftcontent.vue"
|
import leftcontent from "@/pages/NursingNew/component/leftcontent/leftcontent.vue"
|
||||||
import material from "@/pages/procurement/material.vue";
|
import material from "@/pages/procurement/material.vue";
|
||||||
|
import index from "./component/index.vue"
|
||||||
|
|
||||||
const tabbrarr = ref([
|
const tabbrarr = ref([
|
||||||
{ name: '首页', url: '/static/shouye/ck/h0.png', urls: '/static/shouye/ck/h1.png' },
|
{ name: '首页', url: '/static/shouye/ck/h0.png', urls: '/static/shouye/ck/h1.png' },
|
||||||
{ name: '采购', url: '/static/shouye/ck/c0.png', urls: '/static/shouye/ck/c1.png' },
|
{ name: '采购', url: '/static/shouye/ck/c0.png', urls: '/static/shouye/ck/c1.png' },
|
||||||
|
|
@ -21,13 +25,37 @@
|
||||||
{ name: '盘点', url: '/static/shouye/ck/p0.png', urls: '/static/shouye/ck/p1.png' },
|
{ name: '盘点', url: '/static/shouye/ck/p0.png', urls: '/static/shouye/ck/p1.png' },
|
||||||
{ name: '返回', url: '/static/shouye/sy/f0.png', urls: '/static/shouye/sy/f1.png' },
|
{ name: '返回', url: '/static/shouye/sy/f0.png', urls: '/static/shouye/sy/f1.png' },
|
||||||
])
|
])
|
||||||
const navurl =(e)=>{
|
const menuIndex = ref(-1)
|
||||||
// changeMenu(e)
|
const menuop = ref(false)
|
||||||
|
onMounted(()=>{
|
||||||
|
// 处理响应式
|
||||||
|
navurl(0)
|
||||||
|
})
|
||||||
|
const navurl = (e : number) => {
|
||||||
|
// 最后一个直接返回
|
||||||
|
if (e === tabbrarr.value.length - 1) {
|
||||||
|
uni.navigateBack()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
menuIndex.value = e;
|
||||||
|
// 这个是为了触发渐变动画
|
||||||
|
menuop.value = false
|
||||||
|
setTimeout(() => {
|
||||||
|
menuop.value = true
|
||||||
|
}, 50)
|
||||||
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
.flex {
|
.flex {
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
height: 100vh;
|
||||||
|
background-color: #eff0f4;
|
||||||
|
overflow: hidden;
|
||||||
|
z-index: 12;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
@ -60,6 +60,7 @@
|
||||||
uni.$on('fullmonitor:changeinit', (number) => {
|
uni.$on('fullmonitor:changeinit', (number) => {
|
||||||
this.$refs.monitor.initAutoPlay(number)
|
this.$refs.monitor.initAutoPlay(number)
|
||||||
uni.setStorageSync('saveinit', number);
|
uni.setStorageSync('saveinit', number);
|
||||||
|
console.log("切换了",number)
|
||||||
this.suo = true;
|
this.suo = true;
|
||||||
});
|
});
|
||||||
uni.$on('fullmonitor:isshow', (bool) => this.isshow = bool);
|
uni.$on('fullmonitor:isshow', (bool) => this.isshow = bool);
|
||||||
|
|
|
||||||
|
|
@ -314,6 +314,9 @@
|
||||||
uni.setStorageSync('nuName', data.nuName);
|
uni.setStorageSync('nuName', data.nuName);
|
||||||
uni.setStorageSync('elderId', data.elderInfo ? data.elderInfo?.id : null);
|
uni.setStorageSync('elderId', data.elderInfo ? data.elderInfo?.id : null);
|
||||||
uni.setStorageSync('NUall', data);
|
uni.setStorageSync('NUall', data);
|
||||||
|
// uni.navigateTo({
|
||||||
|
// url: '/pages/Warehouse/warehome',
|
||||||
|
// })
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pages/Warehouse/index/index',
|
url: '/pages/Warehouse/index/index',
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 332 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 102 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
|
@ -54,6 +54,7 @@ const _sfc_main = {
|
||||||
uni.$on("fullmonitor:changeinit", (number) => {
|
uni.$on("fullmonitor:changeinit", (number) => {
|
||||||
this.$refs.monitor.initAutoPlay(number);
|
this.$refs.monitor.initAutoPlay(number);
|
||||||
uni.setStorageSync("saveinit", number);
|
uni.setStorageSync("saveinit", number);
|
||||||
|
formatAppLog("log", "at pages/fullcamera.nvue:63", "切换了", number);
|
||||||
this.suo = true;
|
this.suo = true;
|
||||||
});
|
});
|
||||||
uni.$on("fullmonitor:isshow", (bool) => this.isshow = bool);
|
uni.$on("fullmonitor:isshow", (bool) => this.isshow = bool);
|
||||||
|
|
@ -73,7 +74,7 @@ const _sfc_main = {
|
||||||
uni.$on("fullmonitor:test", this.test);
|
uni.$on("fullmonitor:test", this.test);
|
||||||
},
|
},
|
||||||
onUnload() {
|
onUnload() {
|
||||||
formatAppLog("log", "at pages/fullcamera.nvue:84", "fullcamera 卸载,清理事件");
|
formatAppLog("log", "at pages/fullcamera.nvue:85", "fullcamera 卸载,清理事件");
|
||||||
if (this.globalEvent && this.globalEvent.removeEventListener) {
|
if (this.globalEvent && this.globalEvent.removeEventListener) {
|
||||||
this.globalEvent.removeEventListener("myEvent");
|
this.globalEvent.removeEventListener("myEvent");
|
||||||
}
|
}
|
||||||
|
|
@ -100,30 +101,30 @@ const _sfc_main = {
|
||||||
methods: {
|
methods: {
|
||||||
/* ------------------ 原有功能 ------------------ */
|
/* ------------------ 原有功能 ------------------ */
|
||||||
handleTelEvent(event) {
|
handleTelEvent(event) {
|
||||||
formatAppLog("log", "at pages/fullcamera.nvue:115", "Tel event detail:", event.detail);
|
formatAppLog("log", "at pages/fullcamera.nvue:116", "Tel event detail:", event.detail);
|
||||||
},
|
},
|
||||||
killView() {
|
killView() {
|
||||||
this.$refs.monitor.killView && this.$refs.monitor.killView();
|
this.$refs.monitor.killView && this.$refs.monitor.killView();
|
||||||
},
|
},
|
||||||
switchDisplay(mode) {
|
switchDisplay(mode) {
|
||||||
formatAppLog("log", "at pages/fullcamera.nvue:123", "zzzzz", mode);
|
formatAppLog("log", "at pages/fullcamera.nvue:124", "zzzzz", mode);
|
||||||
this.$refs.monitor && this.$refs.monitor.switchDisplayModeFragment(mode);
|
this.$refs.monitor && this.$refs.monitor.switchDisplayModeFragment(mode);
|
||||||
},
|
},
|
||||||
startAlarm() {
|
startAlarm() {
|
||||||
this.isAlarming = true;
|
this.isAlarming = true;
|
||||||
this.$refs.monitor.startOrStopManualAlarm(this.isAlarming, (res) => {
|
this.$refs.monitor.startOrStopManualAlarm(this.isAlarming, (res) => {
|
||||||
formatAppLog("log", "at pages/fullcamera.nvue:130", "startAlarm callback:", res);
|
formatAppLog("log", "at pages/fullcamera.nvue:131", "startAlarm callback:", res);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
stopAlarm() {
|
stopAlarm() {
|
||||||
this.isAlarming = false;
|
this.isAlarming = false;
|
||||||
this.$refs.monitor.startOrStopManualAlarm(this.isAlarming, (res) => {
|
this.$refs.monitor.startOrStopManualAlarm(this.isAlarming, (res) => {
|
||||||
formatAppLog("log", "at pages/fullcamera.nvue:136", "stopAlarm callback:", res);
|
formatAppLog("log", "at pages/fullcamera.nvue:137", "stopAlarm callback:", res);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
flipImage(type) {
|
flipImage(type) {
|
||||||
this.$refs.monitor.changeImageSwitch(type, (res) => {
|
this.$refs.monitor.changeImageSwitch(type, (res) => {
|
||||||
formatAppLog("log", "at pages/fullcamera.nvue:142", "flipImage callback:", res);
|
formatAppLog("log", "at pages/fullcamera.nvue:143", "flipImage callback:", res);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
resumeOrPause() {
|
resumeOrPause() {
|
||||||
|
|
@ -160,7 +161,7 @@ const _sfc_main = {
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
this.$refs.monitor.snapShot((res) => {
|
this.$refs.monitor.snapShot((res) => {
|
||||||
formatAppLog("log", "at pages/fullcamera.nvue:188", "snapShot callback:", res);
|
formatAppLog("log", "at pages/fullcamera.nvue:189", "snapShot callback:", res);
|
||||||
this._handleSnapshotResultFromNative(res, payload.reqId);
|
this._handleSnapshotResultFromNative(res, payload.reqId);
|
||||||
});
|
});
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
|
|
@ -169,7 +170,7 @@ const _sfc_main = {
|
||||||
duration: 800
|
duration: 800
|
||||||
});
|
});
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
formatAppLog("error", "at pages/fullcamera.nvue:197", "snapShot 调用失败", err);
|
formatAppLog("error", "at pages/fullcamera.nvue:198", "snapShot 调用失败", err);
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "snapShot 调用失败",
|
title: "snapShot 调用失败",
|
||||||
icon: "none"
|
icon: "none"
|
||||||
|
|
@ -201,7 +202,7 @@ const _sfc_main = {
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
this.$refs.monitor.startRecord((res) => {
|
this.$refs.monitor.startRecord((res) => {
|
||||||
formatAppLog("log", "at pages/fullcamera.nvue:230", "startRecord callback:", res);
|
formatAppLog("log", "at pages/fullcamera.nvue:231", "startRecord callback:", res);
|
||||||
if (payload.reqId) {
|
if (payload.reqId) {
|
||||||
uni.$emit(`fullmonitor:response:${payload.reqId}`, {
|
uni.$emit(`fullmonitor:response:${payload.reqId}`, {
|
||||||
ok: true,
|
ok: true,
|
||||||
|
|
@ -215,7 +216,7 @@ const _sfc_main = {
|
||||||
icon: "none"
|
icon: "none"
|
||||||
});
|
});
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
formatAppLog("error", "at pages/fullcamera.nvue:245", "startRecord 调用失败", err);
|
formatAppLog("error", "at pages/fullcamera.nvue:246", "startRecord 调用失败", err);
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "startRecord 调用失败",
|
title: "startRecord 调用失败",
|
||||||
icon: "none"
|
icon: "none"
|
||||||
|
|
@ -250,11 +251,11 @@ const _sfc_main = {
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
this.$refs.monitor.stopRecord((res) => {
|
this.$refs.monitor.stopRecord((res) => {
|
||||||
formatAppLog("log", "at pages/fullcamera.nvue:284", "stopRecord callback:", res);
|
formatAppLog("log", "at pages/fullcamera.nvue:285", "stopRecord callback:", res);
|
||||||
this._handleRecordResultFromNative(res, payload.reqId);
|
this._handleRecordResultFromNative(res, payload.reqId);
|
||||||
});
|
});
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
formatAppLog("error", "at pages/fullcamera.nvue:289", "stopRecord 调用失败", err);
|
formatAppLog("error", "at pages/fullcamera.nvue:290", "stopRecord 调用失败", err);
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "stopRecord 调用失败",
|
title: "stopRecord 调用失败",
|
||||||
icon: "none"
|
icon: "none"
|
||||||
|
|
@ -289,7 +290,7 @@ const _sfc_main = {
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
this.$refs.monitor.openTalk((res) => {
|
this.$refs.monitor.openTalk((res) => {
|
||||||
formatAppLog("log", "at pages/fullcamera.nvue:326", "openTalk callback:", res);
|
formatAppLog("log", "at pages/fullcamera.nvue:327", "openTalk callback:", res);
|
||||||
if (payload.reqId) {
|
if (payload.reqId) {
|
||||||
uni.$emit(`fullmonitor:response:${payload.reqId}`, {
|
uni.$emit(`fullmonitor:response:${payload.reqId}`, {
|
||||||
ok: true,
|
ok: true,
|
||||||
|
|
@ -303,7 +304,7 @@ const _sfc_main = {
|
||||||
icon: "none"
|
icon: "none"
|
||||||
});
|
});
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
formatAppLog("error", "at pages/fullcamera.nvue:341", "openTalk 调用失败", err);
|
formatAppLog("error", "at pages/fullcamera.nvue:342", "openTalk 调用失败", err);
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "openTalk 调用失败",
|
title: "openTalk 调用失败",
|
||||||
icon: "none"
|
icon: "none"
|
||||||
|
|
@ -335,7 +336,7 @@ const _sfc_main = {
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
this.$refs.monitor.stopTalk((res) => {
|
this.$refs.monitor.stopTalk((res) => {
|
||||||
formatAppLog("log", "at pages/fullcamera.nvue:374", "stopTalk callback:", res);
|
formatAppLog("log", "at pages/fullcamera.nvue:375", "stopTalk callback:", res);
|
||||||
if (payload.reqId) {
|
if (payload.reqId) {
|
||||||
uni.$emit(`fullmonitor:response:${payload.reqId}`, {
|
uni.$emit(`fullmonitor:response:${payload.reqId}`, {
|
||||||
ok: true,
|
ok: true,
|
||||||
|
|
@ -345,7 +346,7 @@ const _sfc_main = {
|
||||||
});
|
});
|
||||||
this.isTalking = false;
|
this.isTalking = false;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
formatAppLog("error", "at pages/fullcamera.nvue:384", "stopTalk 调用失败", err);
|
formatAppLog("error", "at pages/fullcamera.nvue:385", "stopTalk 调用失败", err);
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "stopTalk 调用失败",
|
title: "stopTalk 调用失败",
|
||||||
icon: "none"
|
icon: "none"
|
||||||
|
|
@ -363,19 +364,19 @@ const _sfc_main = {
|
||||||
// 处理来自模板 @onSnapShot 的事件(event.detail)
|
// 处理来自模板 @onSnapShot 的事件(event.detail)
|
||||||
handleSnapShotEvent(event) {
|
handleSnapShotEvent(event) {
|
||||||
const payload = event && event.detail ? event.detail : event;
|
const payload = event && event.detail ? event.detail : event;
|
||||||
formatAppLog("log", "at pages/fullcamera.nvue:404", "onSnapShot event:", payload);
|
formatAppLog("log", "at pages/fullcamera.nvue:405", "onSnapShot event:", payload);
|
||||||
this._handleSnapshotResultFromNative(payload);
|
this._handleSnapshotResultFromNative(payload);
|
||||||
},
|
},
|
||||||
// 处理来自模板 @onRecord 的事件(event.detail)
|
// 处理来自模板 @onRecord 的事件(event.detail)
|
||||||
handleRecordEvent(event) {
|
handleRecordEvent(event) {
|
||||||
const payload = event && event.detail ? event.detail : event;
|
const payload = event && event.detail ? event.detail : event;
|
||||||
formatAppLog("log", "at pages/fullcamera.nvue:412", "onRecord event:", payload);
|
formatAppLog("log", "at pages/fullcamera.nvue:413", "onRecord event:", payload);
|
||||||
this._handleRecordResultFromNative(payload);
|
this._handleRecordResultFromNative(payload);
|
||||||
},
|
},
|
||||||
// 处理来自模板 @onTalkStatus 的事件
|
// 处理来自模板 @onTalkStatus 的事件
|
||||||
handleTalkEvent(event) {
|
handleTalkEvent(event) {
|
||||||
const payload = event && event.detail ? event.detail : event;
|
const payload = event && event.detail ? event.detail : event;
|
||||||
formatAppLog("log", "at pages/fullcamera.nvue:419", "onTalkStatus event:", payload);
|
formatAppLog("log", "at pages/fullcamera.nvue:420", "onTalkStatus event:", payload);
|
||||||
const status = payload && payload.talkStatus;
|
const status = payload && payload.talkStatus;
|
||||||
const tips = payload && payload.tips;
|
const tips = payload && payload.tips;
|
||||||
uni.$emit("fullmonitor:talk:status", payload);
|
uni.$emit("fullmonitor:talk:status", payload);
|
||||||
|
|
@ -443,7 +444,7 @@ const _sfc_main = {
|
||||||
let payload = res;
|
let payload = res;
|
||||||
if (res.detail)
|
if (res.detail)
|
||||||
payload = res.detail;
|
payload = res.detail;
|
||||||
formatAppLog("log", "at pages/fullcamera.nvue:496", "snapshot payload normalized:", payload);
|
formatAppLog("log", "at pages/fullcamera.nvue:497", "snapshot payload normalized:", payload);
|
||||||
if (reqIdFromCallback) {
|
if (reqIdFromCallback) {
|
||||||
uni.$emit(`fullmonitor:response:${reqIdFromCallback}`, {
|
uni.$emit(`fullmonitor:response:${reqIdFromCallback}`, {
|
||||||
ok: !!payload.snapShotResult,
|
ok: !!payload.snapShotResult,
|
||||||
|
|
@ -479,7 +480,7 @@ const _sfc_main = {
|
||||||
icon: "none",
|
icon: "none",
|
||||||
duration: 2e3
|
duration: 2e3
|
||||||
});
|
});
|
||||||
formatAppLog("warn", "at pages/fullcamera.nvue:539", "snapshot failed reason:", err, payload);
|
formatAppLog("warn", "at pages/fullcamera.nvue:540", "snapshot failed reason:", err, payload);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
_handleRecordResultFromNative(res, reqIdFromCallback = null) {
|
_handleRecordResultFromNative(res, reqIdFromCallback = null) {
|
||||||
|
|
@ -500,7 +501,7 @@ const _sfc_main = {
|
||||||
let payload = res;
|
let payload = res;
|
||||||
if (res.detail)
|
if (res.detail)
|
||||||
payload = res.detail;
|
payload = res.detail;
|
||||||
formatAppLog("log", "at pages/fullcamera.nvue:561", "record payload normalized:", payload);
|
formatAppLog("log", "at pages/fullcamera.nvue:562", "record payload normalized:", payload);
|
||||||
if (reqIdFromCallback) {
|
if (reqIdFromCallback) {
|
||||||
uni.$emit(`fullmonitor:response:${reqIdFromCallback}`, {
|
uni.$emit(`fullmonitor:response:${reqIdFromCallback}`, {
|
||||||
ok: !!(payload.recordUrl || payload.snapShotResult),
|
ok: !!(payload.recordUrl || payload.snapShotResult),
|
||||||
|
|
@ -524,7 +525,7 @@ const _sfc_main = {
|
||||||
duration: 1400
|
duration: 1400
|
||||||
});
|
});
|
||||||
this.isRecording = false;
|
this.isRecording = false;
|
||||||
formatAppLog("log", "at pages/fullcamera.nvue:592", "录屏地址:", payload.recordUrl);
|
formatAppLog("log", "at pages/fullcamera.nvue:593", "录屏地址:", payload.recordUrl);
|
||||||
} else if (payload.recordFailedReason) {
|
} else if (payload.recordFailedReason) {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "录屏失败: " + payload.recordFailedReason,
|
title: "录屏失败: " + payload.recordFailedReason,
|
||||||
|
|
@ -532,7 +533,7 @@ const _sfc_main = {
|
||||||
duration: 2e3
|
duration: 2e3
|
||||||
});
|
});
|
||||||
this.isRecording = false;
|
this.isRecording = false;
|
||||||
formatAppLog("warn", "at pages/fullcamera.nvue:600", "record failed reason:", payload.recordFailedReason);
|
formatAppLog("warn", "at pages/fullcamera.nvue:601", "record failed reason:", payload.recordFailedReason);
|
||||||
} else {
|
} else {
|
||||||
if (payload.snapShotResult === true) {
|
if (payload.snapShotResult === true) {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
|
|
|
||||||