库房单元首页完事

This commit is contained in:
Teng 2025-12-26 15:15:35 +08:00
parent 9556186dff
commit 30704cb62a
65 changed files with 1311 additions and 1180 deletions

View File

@ -568,9 +568,9 @@
type: Boolean,
required: true,
},
propsmove: {
type: Number
},
// propsmove: {
// type: Number
// },
isMain: {
type: Boolean
}
@ -708,302 +708,7 @@
}
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 typeNowtarget = ref(-1);
const photoplay = ref(false)

View File

@ -115,17 +115,6 @@
一级压疮防护
</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="width: 240rpx;height: 90rpx;margin-right: 40rpx;">
<view class="start-button">
@ -180,22 +169,22 @@
<view class="top-title">
护理单元
</view>
<view class="top-heng"></view>
<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)">
<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="first-line">
<view style="font-size: 1.2vw;">
护理单元01
{{ item.nuName }}
</view>
<view class="first-line-second">
{{ item.elderInfo?.name?`入住`:`空闲` }}
</view>
</view>
<view class="second-line">
NUID2506000001
NUID{{ item.nuId }}
</view>
</view>
</view>
@ -203,17 +192,17 @@
</view>
<view class="right-bottom">
<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>
</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">
{{ uni.getStorageSync('NUall').elderInfo?.name }}
{{ uni.getStorageSync('NUall').elderInfo?.name ? uni.getStorageSync('NUall').elderInfo?.name:`暂无长者` }}
</view>
<view class="message-view">
<view class="message-view" v-if="uni.getStorageSync('NUall').elderInfo?.name">
{{ uni.getStorageSync('NUall').elderInfo?.sex }}
<view class="message-shu"></view>
<view style="font-weight: 600;">
@ -224,14 +213,48 @@
<image class="message-img" :src="`/static/index/newindex/leftmenu/time.png`" />
{{ uni.getStorageSync('NUall').elderInfo?.startTime }}
</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">
{{ item }}
</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>
<script setup lang="ts">
@ -246,7 +269,8 @@
});
const leftMenuArray = ref([]);
const openleft = ref(false)
const menutarget = ref(0)
const clickmenu = (index : number) => {
@ -260,7 +284,7 @@
const tagarray = ["市医保", "半失能", "正常计费"]
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();
return currentYear - birthYear;
}
@ -296,24 +320,7 @@
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(
'/static/index/newindex/leftmenu',
'left',
@ -419,14 +426,19 @@
const getmenu = () => {
queryPadPageList().then((res => {
leftMenuArray.value = res.result.records;
leftMenuArray.value.forEach((element:any,index:number)=>{
if(element.nuId===uni.getStorageSync('NUall').nuId){
filteredMenu(0).forEach((element : any, index : number) => {
if (element.nuId === uni.getStorageSync('NUall').nuId) {
menutarget.value = index
}
})
}))
}
const lanjie = ref(false);
const gotolook = () => {
uni.navigateTo({
url: "/pages/watch/full"
})
}
</script>
<style scoped lang="less">
@ -437,7 +449,7 @@
transition: opacity 1s ease;
.right-top {
margin-top: 8vh;
margin-top: 80rpx;
width: 100%;
height: 50vh;
background-color: #fff;
@ -453,20 +465,13 @@
font-weight: 600;
}
.top-heng {
width: 90%;
margin-left: 5%;
height: 0.05vw;
background-color: #DCDCDC;
}
.top-list {
width: 100%;
height: 41vh;
.list-view {
width: 90%;
margin-left: 5%;
width: 86%;
margin-left: 7%;
height: 8vh;
border: 2rpx solid transparent;
border-radius: 7vw;
@ -537,6 +542,7 @@
margin-top: 0.5vw;
width: 9vw;
height: 9vw;
border: 1rpx solid #DCDCDC;
border-radius: 50%;
}
@ -566,7 +572,7 @@
}
.right-container-title-nav {
margin-top: 100rpx;
margin-top: 80rpx;
display: flex;
height: 20vh;
position: relative;
@ -656,21 +662,11 @@
z-index: 1;
}
.down-img {
width: 35rpx;
height: 35rpx;
}
.states-father {
display: flex;
margin: 0 20rpx;
}
.icon-img {
width: 55rpx;
height: 55rpx;
}
.start-button {
width: 100%;
height: 100%;
@ -1016,4 +1012,102 @@
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>

View File

@ -42,7 +42,7 @@
flex-direction: column;
justify-content: space-between;
align-items: center;
padding: 3.5vw 0 2.5vw 0;
padding: 3.8vw 0 2.5vw 0;
margin-right: 3vw;
.logo{
width: 3.8vw;

View File

@ -180,7 +180,7 @@
:style="{ animationDelay:`-${computeDelay(index0, index1).toFixed(2)}s` }">
<view class="title-time" v-if="item1.startTime"
v-show=" liang.index0 !== index0 || liang.index1 !== index1 || canmove"
style="flex-direction: column;">
<image v-show="item1.startTime"
style="width: 50rpx;height: 50rpx;margin: 0 auto;margin-top: 20rpx"
@ -592,49 +592,8 @@
canmove: {
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(
() => props.canmove,
() => {
@ -668,128 +627,7 @@
const bodystatustarget = ref(-1);
const facestatus = ref(false);
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 ----
注意虽然这是响应式但我们只在 rAF 里更新它受控更新避免频繁触发 Vue 渲染 */
@ -825,8 +663,7 @@
const facetarget = ref([]);
const addbody = (index : number) => {
if (bodyTagList.value[index].izSelected == 'Y') {
// console.log("///",bodyTagList.value[index])
// return
bodyTagList.value[index].izSelected = 'N';
} else {

View File

@ -75,7 +75,7 @@
pageNo: 1,
pageSize: 10,
nuId: uni.getStorageSync('nuId'),
elderId: uni.getStorageSync('NUall').elderId,
elderId: uni.getStorageSync('elderId'),
wlParamInfo: '',
categoryId: '',
typeId: '',

View File

@ -1,64 +1,16 @@
<template>
<view class="backgroundContainer" @touchmove="getxy" @touchend="cleanall">
<!-- 这些东西是为了拖动模式来设计的 -->
<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>
<view class="backgroundContainer">
<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" />
<!-- 设备页 -->
<equipment :isShow="menuIndexshowfifth" v-if="menuIndex==4" :propsmove="propsmove" :isMain="isMain"
@back="movecard(5)" @cleanmain="movecard(1)" @canback="canmoveit" />
<equipment :isShow="menuIndexshowfifth" v-if="menuIndex==4" />
<requestform :isShow="menuIndexshowfourth" v-if="menuIndex==3" />
<!-- 户嘱页 -->
<nurse :isold="isOld===2" :liang="indexNumber" :isshow="menuIndexshowsecond"
v-if="menuIndex==1&&isOld===2&&uni.getStorageSync('elderId')&&uni.getStorageSync('nuId')"
:propsmove="propsmove" :isMain="isMain" @vip="canmoveit" />
<nurse :isshow="menuIndexshowsecond"
v-if="menuIndex==1&&uni.getStorageSync('elderId')&&uni.getStorageSync('nuId')" />
<!-- 医嘱 -->
<doctorask v-if="menuIndex==2"/>
</view>
@ -66,7 +18,6 @@
<script setup lang="ts">
import { ref, onMounted, onBeforeUnmount, nextTick } from 'vue';
import type { Link } from "./index";
import index from "./component/index.vue"
import equipment from "./component/equipment.vue"
import requestform from "./component/pleasetake/takehome.vue"
@ -79,26 +30,18 @@
onMounted(() => {
menuIndex.value = -1;
nextTick(() => menuIndex.value = 0)
isOld.value = 2;
uni.getSystemInfoSync(); // global
uni.pageScrollTo; //
//
name.value = uni.getStorageSync('realname')
getServiceTree().then((res : any) => {
// console.log("{{{{{}}}}}",res) //
//
uni.setStorageSync("saveTree", res)
})
getNcPackagelist().then((res : any) => {
//
// console.log("{{{{{}}}}}",res)
uni.setStorageSync("Packagelist", res.result)
// console.log("????////",res.result)
})
})
const name = ref("");
//
function genPaths(base, prefix, count, ext = 'png', startIndex = 0, pad = false) {
return Array.from({ length: count }, (_, i) => {
@ -119,78 +62,7 @@
const navurl =(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);
@ -198,52 +70,9 @@
const menuIndexshowsecond = ref<boolean>(false);
const menuIndexshowfourth = 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) => {
uni.$emit('smallmonitor:isshow', false);
isMain.value = true;
targetIndex.value = index
menuIndex.value = index;
menuIndexshow.value = false
menuIndexshowsecond.value = false
@ -276,178 +105,13 @@
const clientY = ref(0);
const savename = ref("")
const canmove = ref(true)
const indexNumber = ref({
index0: 999,
index1: 999,
})
//
const canTrigger = ref(true);
//xy
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(() => {
//
setTimeout(() => {
changeMenu(menuIndex.value)
}, 50)
menuIndexshow.value = false
@ -456,108 +120,12 @@
}, 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>
<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 {
display: flex;
@ -569,167 +137,5 @@
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>

File diff suppressed because it is too large Load Diff

View File

@ -2,32 +2,60 @@
<view>
<view class="flex">
<leftcontent :list="tabbrarr" @navurl="navurl"></leftcontent>
<material></material>
<!-- 主页 -->
<index :isShow="menuop" v-if="!menuIndex" />
<!-- <material></material> -->
</view>
</view>
</template>
<script setup lang="ts">
import { ref, onMounted, onBeforeUnmount, nextTick } from 'vue';
import leftcontent from "@/pages/NursingNew/component/leftcontent/leftcontent.vue"
import material from "@/pages/procurement/material.vue";
const tabbrarr = ref([
{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/j0.png',urls:'/static/shouye/ck/j1.png'},
{name:'完结',url:'/static/shouye/ck/w0.png',urls:'/static/shouye/ck/w1.png'},
{name:'请领',url:'/static/shouye/ck/q0.png',urls:'/static/shouye/ck/q1.png'},
{name:'退货',url:'/static/shouye/ck/t0.png',urls:'/static/shouye/ck/t1.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'},
])
const navurl =(e)=>{
// changeMenu(e)
}
import { ref, onMounted, onBeforeUnmount, nextTick } from 'vue';
import leftcontent from "@/pages/NursingNew/component/leftcontent/leftcontent.vue"
import material from "@/pages/procurement/material.vue";
import index from "./component/index.vue"
const tabbrarr = ref([
{ 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/j0.png', urls: '/static/shouye/ck/j1.png' },
{ name: '完结', url: '/static/shouye/ck/w0.png', urls: '/static/shouye/ck/w1.png' },
{ name: '请领', url: '/static/shouye/ck/q0.png', urls: '/static/shouye/ck/q1.png' },
{ name: '退货', url: '/static/shouye/ck/t0.png', urls: '/static/shouye/ck/t1.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' },
])
const menuIndex = ref(-1)
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>
<style scoped lang="less">
.flex{
display: flex;
}
</style>
.flex {
display: flex;
position: relative;
width: 100%;
height: 100vh;
background-color: #eff0f4;
overflow: hidden;
z-index: 12;
}
</style>

View File

@ -60,6 +60,7 @@
uni.$on('fullmonitor:changeinit', (number) => {
this.$refs.monitor.initAutoPlay(number)
uni.setStorageSync('saveinit', number);
console.log("切换了",number)
this.suo = true;
});
uni.$on('fullmonitor:isshow', (bool) => this.isshow = bool);

View File

@ -314,6 +314,9 @@
uni.setStorageSync('nuName', data.nuName);
uni.setStorageSync('elderId', data.elderInfo ? data.elderInfo?.id : null);
uni.setStorageSync('NUall', data);
// uni.navigateTo({
// url: '/pages/Warehouse/warehome',
// })
uni.navigateTo({
url: '/pages/Warehouse/index/index',
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -54,6 +54,7 @@ const _sfc_main = {
uni.$on("fullmonitor:changeinit", (number) => {
this.$refs.monitor.initAutoPlay(number);
uni.setStorageSync("saveinit", number);
formatAppLog("log", "at pages/fullcamera.nvue:63", "切换了", number);
this.suo = true;
});
uni.$on("fullmonitor:isshow", (bool) => this.isshow = bool);
@ -73,7 +74,7 @@ const _sfc_main = {
uni.$on("fullmonitor:test", this.test);
},
onUnload() {
formatAppLog("log", "at pages/fullcamera.nvue:84", "fullcamera 卸载,清理事件");
formatAppLog("log", "at pages/fullcamera.nvue:85", "fullcamera 卸载,清理事件");
if (this.globalEvent && this.globalEvent.removeEventListener) {
this.globalEvent.removeEventListener("myEvent");
}
@ -100,30 +101,30 @@ const _sfc_main = {
methods: {
/* ------------------ 原有功能 ------------------ */
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() {
this.$refs.monitor.killView && this.$refs.monitor.killView();
},
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);
},
startAlarm() {
this.isAlarming = true;
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() {
this.isAlarming = false;
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) {
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() {
@ -160,7 +161,7 @@ const _sfc_main = {
}
try {
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);
});
uni.showToast({
@ -169,7 +170,7 @@ const _sfc_main = {
duration: 800
});
} catch (err) {
formatAppLog("error", "at pages/fullcamera.nvue:197", "snapShot 调用失败", err);
formatAppLog("error", "at pages/fullcamera.nvue:198", "snapShot 调用失败", err);
uni.showToast({
title: "snapShot 调用失败",
icon: "none"
@ -201,7 +202,7 @@ const _sfc_main = {
}
try {
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) {
uni.$emit(`fullmonitor:response:${payload.reqId}`, {
ok: true,
@ -215,7 +216,7 @@ const _sfc_main = {
icon: "none"
});
} catch (err) {
formatAppLog("error", "at pages/fullcamera.nvue:245", "startRecord 调用失败", err);
formatAppLog("error", "at pages/fullcamera.nvue:246", "startRecord 调用失败", err);
uni.showToast({
title: "startRecord 调用失败",
icon: "none"
@ -250,11 +251,11 @@ const _sfc_main = {
}
try {
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);
});
} catch (err) {
formatAppLog("error", "at pages/fullcamera.nvue:289", "stopRecord 调用失败", err);
formatAppLog("error", "at pages/fullcamera.nvue:290", "stopRecord 调用失败", err);
uni.showToast({
title: "stopRecord 调用失败",
icon: "none"
@ -289,7 +290,7 @@ const _sfc_main = {
}
try {
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) {
uni.$emit(`fullmonitor:response:${payload.reqId}`, {
ok: true,
@ -303,7 +304,7 @@ const _sfc_main = {
icon: "none"
});
} catch (err) {
formatAppLog("error", "at pages/fullcamera.nvue:341", "openTalk 调用失败", err);
formatAppLog("error", "at pages/fullcamera.nvue:342", "openTalk 调用失败", err);
uni.showToast({
title: "openTalk 调用失败",
icon: "none"
@ -335,7 +336,7 @@ const _sfc_main = {
}
try {
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) {
uni.$emit(`fullmonitor:response:${payload.reqId}`, {
ok: true,
@ -345,7 +346,7 @@ const _sfc_main = {
});
this.isTalking = false;
} catch (err) {
formatAppLog("error", "at pages/fullcamera.nvue:384", "stopTalk 调用失败", err);
formatAppLog("error", "at pages/fullcamera.nvue:385", "stopTalk 调用失败", err);
uni.showToast({
title: "stopTalk 调用失败",
icon: "none"
@ -363,19 +364,19 @@ const _sfc_main = {
// 处理来自模板 @onSnapShot 的事件event.detail
handleSnapShotEvent(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);
},
// 处理来自模板 @onRecord 的事件event.detail
handleRecordEvent(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);
},
// 处理来自模板 @onTalkStatus 的事件
handleTalkEvent(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 tips = payload && payload.tips;
uni.$emit("fullmonitor:talk:status", payload);
@ -443,7 +444,7 @@ const _sfc_main = {
let payload = res;
if (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) {
uni.$emit(`fullmonitor:response:${reqIdFromCallback}`, {
ok: !!payload.snapShotResult,
@ -479,7 +480,7 @@ const _sfc_main = {
icon: "none",
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) {
@ -500,7 +501,7 @@ const _sfc_main = {
let payload = res;
if (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) {
uni.$emit(`fullmonitor:response:${reqIdFromCallback}`, {
ok: !!(payload.recordUrl || payload.snapShotResult),
@ -524,7 +525,7 @@ const _sfc_main = {
duration: 1400
});
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) {
uni.showToast({
title: "录屏失败: " + payload.recordFailedReason,
@ -532,7 +533,7 @@ const _sfc_main = {
duration: 2e3
});
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 {
if (payload.snapShotResult === true) {
uni.showToast({