合并代码

This commit is contained in:
Teng 2026-02-03 15:13:24 +08:00
parent 163fd78ac1
commit 068018786e
44 changed files with 662 additions and 545 deletions

View File

@ -92,7 +92,7 @@
const form = reactive({
pageNo: 1,
pageSize: 10,
employeeId: uni.getStorageSync('userInfo').employessId,
employeeId: uni.getStorageSync('userInfo').employeesId,
nuId: uni.getStorageSync('nuId'),
workType: 2
})

View File

@ -2,8 +2,8 @@
"name" : "护理单元",
"appid" : "__UNI__FB2D473",
"description" : "护理单元",
"versionName" : "1.0.030",
"versionCode" : 10030,
"versionName" : "1.0.031",
"versionCode" : 10031,
"transformPx" : false,
/* 5+App */
"app-plus" : {

View File

@ -198,7 +198,7 @@
const form = reactive({
pageNo: 1,
pageSize: 10,
employeeId:uni.getStorageSync('userInfo').employessId,
employeeId:uni.getStorageSync('userInfo').employeesId,
nuId:uni.getStorageSync('nuId')
})
const open = ref(0)

View File

@ -297,7 +297,7 @@
const form = reactive({
pageNo: 1,
pageSize: 10,
employeeId:uni.getStorageSync('userInfo').employessId,
employeeId:uni.getStorageSync('userInfo').employeesId,
nuId:uni.getStorageSync('nuId'),
workType:5
})
@ -444,6 +444,7 @@
ilanarr.value = v.manuallyPicPath.split(",");
ilanarr.value = ilanarr.value.filter(item => item !== '');
}else if(r == 2&&v.manuallyMp4Path){
ilanarr.value = v.manuallyMp4Path.split(",");
ilanarr.value = ilanarr.value.filter(item => item !== '');
}else if(r == 3&&v.tplinkPath){
@ -663,10 +664,10 @@
nuId:nuId,
elderId:elderId
}
queryAll(data).then(res=>{
zlarr.value = res.result;
shtab(fwzlindex.value)
})
// queryAll(data).then(res=>{
// zlarr.value = res.result;
// shtab(fwzlindex.value)
// })
}
const shtab = (e)=>{
fwzlindex.value = e;
@ -892,7 +893,7 @@
// let data = {
// nuId: uni.getStorageSync('NUall').nuId,
// employeeId: uni.getStorageSync('userInfo').employessId,
// employeeId: uni.getStorageSync('userInfo').employeesId,
// workType: 5
// }
// queryWorkOrderList(data).then((res : any) => {

View File

@ -3,8 +3,9 @@
<view class="swipeservwe">
<view class="swper" v-if="plsbuy.length==0">
<view class="photo-father">
<image class="big-img" style="width: 550rpx;top:30%;" :src="`/static/index/newindex/wendu/2.png`" mode="aspectFill"/>
<view class="juzhong" style=" filter:grayscale(60%)" >
<image class="big-img" style="width: 550rpx;top:30%;" :src="`/static/index/newindex/wendu/2.png`"
mode="aspectFill" />
<view class="juzhong" style=" filter:grayscale(60%)">
<donghua :width="`1300rpx`" :height="`900rpx`" :links="blueArray" :playing="true" :loop="true"
:interval="120" />
</view>
@ -18,10 +19,11 @@
<image class="pao-img" :src="`/static/index/newindex/states/ris.png`" />
</view>
<view class="bots" v-if="plsbuy.length>1">
<view v-for="(v,i) in plsbuy" :key='i' :class="current==i?'dot':''" :style="v?.chaoshitime?'background:red':''" @click="change({'detail':{'current':i}})"></view>
<view v-for="(v,i) in plsbuy" :key='i' :class="current==i?'dot':''"
:style="v?.chaoshitime?'background:red':''" @click="change({'detail':{'current':i}})"></view>
</view>
<swiper class="swiper" :circular="true" :indicator-dots="false"
:autoplay="autoplay" :interval="3000" :duration="500" :current="current2" @change="change">
<swiper class="swiper" :circular="true" :indicator-dots="false" :autoplay="autoplay" :interval="3000"
:duration="500" :current="current2" @change="change">
<swiper-item v-for="(indexmessage,i) in plsbuy" :key="i" class="swper">
<view class="photo-father">
<!-- {filter: `grayscale(60%)`} -->
@ -29,15 +31,32 @@
<donghua :width="`1000rpx`" :height="`700rpx`" :links="blueArray" :playing="current==i"
:loop="true" :interval="120" />
</view>
<view class="timedjs" v-if="current==i&&indexmessage?.izStart=='Y'" >
<view class="timedjs" v-if="current==i&&indexmessage?.izStart=='Y'">
<text>服务倒计时</text>
<timeing :initTime="djstinme" :timeoutDuration="Number(indexmessage.timeoutDuration)*60" @timeend="timeend"></timeing>
<timeing v-if="indexmessage?.serviceDuration" :initTime="djstinme"
:timeoutDuration="Number(indexmessage.timeoutDuration)*60" @timeend="timeend"></timeing>
<view class="no-time-all" v-else>
<view class="no-time-view">
<image class="no-time" src="/static/index/newindex/states/always.png" />
<view class="no-text">
MIN
</view>
</view>
<text style="color: #959595;font-size: 1.9vw;padding: 0 5rpx;">:</text>
<view class="no-time-view">
<image class="no-time" src="/static/index/newindex/states/always.png" />
<view class="no-text">
SEC
</view>
</view>
</view>
</view>
<view class="weight-time">
<view>
{{ indexmessage?.startTime.slice(11, 16) }}
<text style="font-size: 1.8vw;font-weight: 500;" v-if="indexmessage?.serviceDuration">
|&nbsp; {{indexmessage?.serviceDuration}}分钟
|&nbsp; {{indexmessage?.serviceDuration ?indexmessage?.serviceDuration: ``}}分钟
</text>
</view>
<view style="height: 4vw;"> </view>
@ -48,28 +67,35 @@
</view>
</view>
</view>
<view class="big-img" v-if="indexmessage.izPackage=='Y'&&indexmessage?.izStart=='N'&&!indexmessage.flag" @click="indexmessage.flag = true">
<view class="big-img"
v-if="indexmessage.izPackage=='Y'&&indexmessage?.izStart=='N'&&!indexmessage.flag"
@click="indexmessage.flag = true">
<image :src="`/static/zlb.png`" :style=" 'width: 450rpx' " mode="aspectFill" />
</view>
<view class="cardbox" v-if="indexmessage.izPackage=='Y'&&indexmessage?.izStart=='Y'||indexmessage.flag">
<view class="cardbox"
v-if="indexmessage.izPackage=='Y'&&indexmessage?.izStart=='Y'||indexmessage.flag">
<scroll-view scroll-y="true" class="scrollcard" @touchmove.stop>
<view class="itemcard" v-for="(v,s) in indexmessage.servebao" :class="{'act':v.flag,'last':v.last}" :key='s' @click="zldex(v,indexmessage.servebao,s)">
<view class="itemcard" v-for="(v,s) in indexmessage.servebao"
:class="{'act':v.flag,'last':v.last}" :key='s'
@click="zldex(v,indexmessage.servebao,s)">
<view class="brcard">
<view class="bgs" v-if="v.last">
<image src="/static/index/newtarget.png" mode=""></image>
</view>
</view>
</view>
<image :src="!v.flag? (v.immediateFile?serverUrl + v.immediateFile:'/static/logo.png'): ( v.immediateFileFocus?serverUrl + v.immediateFileFocus:'/static/logotarget.png')" />
<image
:src="!v.flag? (v.immediateFile?serverUrl + v.immediateFile:'/static/logo.png'): ( v.immediateFileFocus?serverUrl + v.immediateFileFocus:'/static/logotarget.png')" />
<text>{{v.match[0]}}</text>
<view v-if="v.match[1]" style="position: relative;z-index: 2;">({{v.match[1]}})</view>
<view v-if="v.match[1]" style="position: relative;z-index: 2;">({{v.match[1]}})
</view>
</view>
</scroll-view>
</view>
<view class="big-img" v-if="indexmessage.izPackage=='N' ">
<image :style="!indexmessage?.previewFile?'width: 450rpx':' '"
:src="indexmessage?.previewFile? serverUrl + indexmessage?.previewFile: `/static/index/newindex/wendu/2.png`"
mode="heightFix" />
mode="heightFix" />
</view>
@ -107,8 +133,7 @@
<view class="left-menu">
<view @click="errmsgclk(0,1,indexmessage)">
<view class="left-ball"
:style="indexmessage?.serviceContent!=''?' ':'opacity: 0.4'">
<view class="left-ball" :style="indexmessage?.serviceContent!=''?' ':'opacity: 0.4'">
<image class="left-menu-img"
:src="'/static/index/newindex/leftmenu/left'+0+'.png'" />
</view>
@ -120,16 +145,15 @@
:src="'/static/index/newindex/leftmenu/left'+1+'.png'" />
</view>
</view>
<view @click="errmsgclk(2,1,indexmessage)" >
<view @click="errmsgclk(2,1,indexmessage)">
<view class="left-ball"
:style="indexmessage?.mp4File!=''&&indexmessage.izPackage!='Y'?' ':'opacity: 0.4'">
<image class="left-menu-img"
:src="'/static/index/newindex/leftmenu/left'+2+'.png'" />
</view>
</view>
<view v-for="(item,index) in [3,4]" :key="index" @click="errmsgclk(item,2,indexmessage)">
<view class="left-ball"
:style="indexmessage?.izStart=='Y'?' ':'opacity: 0.4'">
<view v-for="(item,index) in [3,4]" :key="index" @click="errmsgclk(item,2,indexmessage)">
<view class="left-ball" :style="indexmessage?.izStart=='Y'?' ':'opacity: 0.4'">
<image class="left-menu-img"
:src="'/static/index/newindex/leftmenu/left'+item+'.png'" />
</view>
@ -138,7 +162,8 @@
<view class="right-menu">
<!-- <image class="top-img" :src="`/static/index/newindex/rightmenu/top.png`" /> -->
<view class="right-scroll">
<view style="margin:1.5vw 0;width: 4vw;margin-left: 20rpx;" @click="zhixing(1,indexmessage)">
<view style="margin:1.5vw 0;width: 4vw;margin-left: 20rpx;"
@click="zhixing(1,indexmessage)">
<view class="white-circle" :style="indexmessage?.izStart=='Y'?'opacity: 0.4' : ''">
<image class="right-menu-img" :src="'/static/index/newindex/rightmenu/1.png'" />
<view class="right-menu-name">
@ -146,7 +171,8 @@
</view>
</view>
</view>
<view style="margin:1.5vw 0;width:4vw;margin-left: 20rpx;" @click="zhixing(2,indexmessage)">
<view style="margin:1.5vw 0;width:4vw;margin-left: 20rpx;"
@click="zhixing(2,indexmessage)">
<view class="white-circle" :style="indexmessage?.izStart=='Y'?'opacity: 0.4' : ''">
<image class="right-menu-img" :src="'/static/index/newindex/rightmenu/2.png'" />
<view class="right-menu-name">
@ -219,7 +245,8 @@
<image style="width: 100%;height: 100%;border-radius: 30rpx;"
:src="item?serverpicUrl + item:'/static/ceshiyaoshan.png'" mode="aspectFill"
:lazy-load="true" />
<view @click.stop="open=1;del(item,index)" class="del" v-if="topbuttontarget>0&&(listobj.izStart=='Y'&& listobj.izFinish=='N')">
<view @click.stop="open=1;del(item,index)" class="del"
v-if="topbuttontarget>0&&(listobj.izStart=='Y'&& listobj.izFinish=='N')">
<image src="/static/index/warehouse/procurement/x.png" mode="aspectFill" style="width: 1.4vw;
height: 1.4vw;"></image>
</view>
@ -229,11 +256,12 @@
<video style="width: 100%;height: 100%;border-radius: 30rpx;" :id="'myVideo'+index"
:src="servervideoUrl+item" direction="180" mode="aspectFill"></video>
<view @click.stop="ilanarr.splice(index,1)"
v-if="topbuttontarget>0&&(listobj.izStart=='Y'&& listobj.izFinish=='N')" class="shanchu">
v-if="topbuttontarget>0&&(listobj.izStart=='Y'&& listobj.izFinish=='N')"
class="shanchu">
<image src="/static/index/warehouse/procurement/x.png" mode="aspectFill" style="width: 1.4vw;
height: 1.4vw;"></image>
</view>
</view>
</view>
</view>
<view class="photowall-other-one"
v-if="topbuttontarget>0&&(listobj.izStart=='Y'&& listobj.izFinish=='N')">
@ -261,10 +289,11 @@
</view>
</view>
<tanchuang :show="open==1" font="是否删除此图片" @back="open = 0" @right="del1()"> </tanchuang>
<errorshow :show="openerror" :font="errmsg" @close="openerror=false" style="left: 44%;"/>
<tanchuang :show="open==3" :font="font" @back="open = 0" @right="del1()" fontsize="font-size:2.2vw" :close="false"> </tanchuang>
<errorshow :show="openerror" :font="errmsg" @close="openerror=false" style="left: 44%;" />
<tanchuang :show="open==3" :font="font" @back="open = 0" @right="del1()" fontsize="font-size:2.2vw"
:close="false"> </tanchuang>
<severcard ref="severcards" ></severcard>
<severcard ref="severcards"></severcard>
</view>
</template>
@ -289,9 +318,9 @@
const severcards = ref<InstanceType<typeof ChildComponent>>()
const init = (e) => {
firstgetqueryCgdList(e);
setTimeout(()=>{
setTimeout(() => {
severcards.value.firstgetqueryCgdList()
},120)
}, 120)
}
defineExpose({
init
@ -299,54 +328,54 @@
const change = (e) => {
current.value = e.detail.current;
let a = e.detail.current;
plsbuy.value.forEach((v,i)=>{
if(i!=a&&v.izPackage=='Y'){
plsbuy.value.forEach((v, i) => {
if (i != a && v.izPackage == 'Y') {
v.flag = false
}
})
if(plsbuy.value[a].izStart=='Y'&&plsbuy.value[a].izFinish=='N'){
if (plsbuy.value[a].izStart == 'Y' && plsbuy.value[a].izFinish == 'N') {
timeacde()
}
}
const djstinme = ref(0)
const timeacde = ()=>{
const timeacde = () => {
let obj = plsbuy.value[current.value];
let timestampMs = new Date(obj.endTime).getTime();
let times = new Date().getTime();
let djs = timestampMs - times;
let times = new Date().getTime();
let djs = timestampMs - times;
// let timeendamp = timestampMs + (Number(plsbuy.value[current.value].timeoutDuration)*60);
console.log(timestampMs,'结束时间戳')
console.log(times,'当前时间戳')
console.log(Math.round(djs/1000),'倒计时时间戳')
djstinme.value = Math.round(djs/1000);
if(djstinme.value<0){
console.log(timestampMs, '结束时间戳')
console.log(times, '当前时间戳')
console.log(Math.round(djs / 1000), '倒计时时间戳')
djstinme.value = Math.round(djs / 1000);
if (djstinme.value < 0) {
plsbuy.value[current.value].chaoshitime = true
}
}
const timeend = () =>{
const timeend = () => {
//
plsbuy.value.splice(current.value,1)
plsbuy.value.splice(current.value, 1)
firstgetqueryCgdList(form.nuId)
}
const swip = (e) => {
if (current.value == 0 && e == -1) {
current.value = plsbuy.value.length-1;
current.value = plsbuy.value.length - 1;
current2.value = current.value
return
}
if (current.value == plsbuy.value.length-1 && e == 1) {
if (current.value == plsbuy.value.length - 1 && e == 1) {
current.value = 0;
current2.value = current.value
return
}
current.value += e;
current2.value = current.value
console.log(current.value,current.value)
console.log(current.value, current.value)
}
const form = reactive({
pageNo: 1,
pageSize: 10,
employeeId: uni.getStorageSync('userInfo').employessId,
employeeId: uni.getStorageSync('userInfo').employeesId,
nuId: uni.getStorageSync('nuId'),
workType: 5
})
@ -357,82 +386,83 @@
})
const zdxzdex = ref(0)
const zdxzarr = ref(0)
const zhixing = (e,indexmessage) => {
if (indexmessage?.izStart == 'Y' ) {
errmsg.value = (e==1?"服务中不能转单执行!":'服务中不能协助执行!')
const zhixing = (e, indexmessage) => {
if (indexmessage?.izStart == 'Y') {
errmsg.value = (e == 1 ? "服务中不能转单执行!" : '服务中不能协助执行!')
openerror.value = true
return
}else{
font.value ='敬请期待~'
} else {
font.value = '敬请期待~'
open.value = 3
return
}
queryEmpList({ id: uni.getStorageSync('userInfo').id }).then(res => {
console.log(res)
zdxzarr.value = res.result;
zdxzarr.value.forEach(item => {
item.flag = false
console.log(item.headPath)
})
zdxzdex.value = e;
})
//
// queryEmpList({ id: uni.getStorageSync('userInfo').id }).then(res => {
// console.log(res)
// zdxzarr.value = res.result;
// zdxzarr.value.forEach(item => {
// item.flag = false
// console.log(item.headPath)
// })
// zdxzdex.value = e;
// })
}
const plsbuy = ref([])
const flag = ref(false)
const zdwu = (e,k)=>{
if(zdxzdex.value==1){
e.flag = !e.flag;
zdxzarr.value.forEach((item,i)=>{
if(i!=k){
item.flag = false
}
})
flag.value = e.flag
const zdwu = (e, k) => {
if (zdxzdex.value == 1) {
e.flag = !e.flag;
zdxzarr.value.forEach((item, i) => {
if (i != k) {
item.flag = false
}
})
flag.value = e.flag
}
if(zdxzdex.value==2){
e.flag = !e.flag;
let arr = [];
zdxzarr.value.forEach((item,i)=>{
if(item.flag){
arr.push(1)
}
})
if(arr.length==0){
flag.value = false;
}else{
flag.value = true;
}
if (zdxzdex.value == 2) {
e.flag = !e.flag;
let arr = [];
zdxzarr.value.forEach((item, i) => {
if (item.flag) {
arr.push(1)
}
})
if (arr.length == 0) {
flag.value = false;
} else {
flag.value = true;
}
}
}
const zhixingsub = ()=>{
const zhixingsub = () => {
zxzd.value = zdxzdex.value
if(zdxzdex.value==1){
zdcont.value = "确认转单执行?"
if (zdxzdex.value == 1) {
zdcont.value = "确认转单执行?"
}
if(zdxzdex.value==2){
zdcont.value = "确认协助执行?"
if (zdxzdex.value == 2) {
zdcont.value = "确认协助执行?"
}
}
const zxzd = ref(0);
const zdcont = ref('');
const tijiaozx = ()=>{
if(zxzd.value == 1){
const tijiaozx = () => {
if (zxzd.value == 1) {
let s = {}
zdxzarr.value.forEach((item,i)=>{
if(item.flag){
s = item;
}
zdxzarr.value.forEach((item, i) => {
if (item.flag) {
s = item;
}
})
let obj = {
mainId:indexmessage.value.mainId,
employeeId:s.id,
employeeName:s.name,
beforeBy:indexmessage.value.employeeId,
beforeByName:indexmessage.value.employeeName
mainId: indexmessage.value.mainId,
employeeId: s.id,
employeeName: s.name,
beforeBy: indexmessage.value.employeeId,
beforeByName: indexmessage.value.employeeName
}
let nuId = uni.getStorageSync('nuId');
transferOrder(obj).then(res=>{
if(res.success){
transferOrder(obj).then(res => {
if (res.success) {
firstgetqueryCgdList(nuId);
flag.value = false;
zxzd.value = 0;
@ -440,27 +470,27 @@
}
})
}
if(zxzd.value == 2){
if (zxzd.value == 2) {
let userinfo = uni.getStorageSync('userInfo')
let id = userinfo.id+',';
let name = userinfo.realname+',';
zdxzarr.value.forEach((item,i)=>{
if(item.flag){
id+=item.id+','
name+=item.name+','
}
let id = userinfo.id + ',';
let name = userinfo.realname + ',';
zdxzarr.value.forEach((item, i) => {
if (item.flag) {
id += item.id + ','
name += item.name + ','
}
})
id = id.slice(0, -1);
name = name.slice(0, -1);
let obj = {
mainId:indexmessage.value.mainId,
optIds:id,
optNames:name,
beforeBy:indexmessage.value.employeeId,
beforeByName:indexmessage.value.employeeName
mainId: indexmessage.value.mainId,
optIds: id,
optNames: name,
beforeBy: indexmessage.value.employeeId,
beforeByName: indexmessage.value.employeeName
}
assistOrder(obj).then(res=>{
if(res.success){
assistOrder(obj).then(res => {
if (res.success) {
firstgetqueryCgdList(form.nuId)
// clickLeftMenu(0,{id:indexmessage.value.mainId})
flag.value = false;
@ -470,66 +500,66 @@
})
}
}
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();
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;
}
if (remainingStr?.trim()) {
result.push(remainingStr?.trim());
}
return result;
}
const clickLeftMenu = (index : any, item : object) => {
queryOrderInfoList({ mainId: item.id }).then(res => {
if (res.result.length > 0) {
res.result.forEach((item,i)=>{
res.result.forEach((item, i) => {
item.flag = false;
item.match = splitString(item.directiveName)
item.match = splitString(item.directiveName)
})
plsbuy.value[index].servebao = res.result
}
plsbuy.value[index].servebao = res.result
}
})
}
// const indexmessage = ref({});
const firstgetqueryCgdList = (nuId) => {
form.nuId = nuId;
queryOrderList(form).then(res => {
queryOrderList(form).then(res => {
console.log(res.result.records)
if (res.result.records.length > 0) {
res.result.records.forEach((item,l)=>{
item.flag = false ;
res.result.records.forEach((item, l) => {
item.flag = false;
item.servebao = [];
let timestampMs = new Date(item.endTime).getTime();
let times = new Date().getTime();
let djs = timestampMs - times;
if(djs<0){
let times = new Date().getTime();
let djs = timestampMs - times;
if (djs < 0) {
item.chaoshitime = true
}
if(item.izPackage=='Y'){
clickLeftMenu(l,item)
if (item.izPackage == 'Y') {
clickLeftMenu(l, item)
}
})
plsbuy.value = res.result.records;
change({detail:{current:current.value}})
change({ detail: { current: current.value } })
} else {
plsbuy.value = [];
}
})
}
const submit = () => {
let sub = "";
ilanarr.value.forEach(item => {
@ -578,11 +608,11 @@
videoContext.value.play()
}
const pici = ref(0);
const del = (v,i) =>{
const del = (v, i) => {
pici.value = i;
}
const del1=()=>{
ilanarr.value.splice(pici.value,1);
const del1 = () => {
ilanarr.value.splice(pici.value, 1);
open.value = 0
}
const sxdupld = (e) => {
@ -649,28 +679,28 @@
});
}
}
const cshigb = ()=>{
const cshigb = () => {
let obj = plsbuy.value[current.value];
let timestampMs = new Date(obj.endTime).getTime();
let times = new Date().getTime();
let djs = timestampMs - times;
let times = new Date().getTime();
let djs = timestampMs - times;
// let timeendamp = timestampMs + (Number(plsbuy.value[current.value].timeoutDuration)*60);
console.log(timestampMs,'结束时间戳')
console.log(times,'当前时间戳')
console.log(Math.round(djs/1000),'倒计时时间戳')
djstinme.value = Math.round(djs/1000);
let timeoutDuration = Number(obj.timeoutDuration)*60
if(times > timestampMs+(timeoutDuration*1000)){
console.log(timestampMs, '结束时间戳')
console.log(times, '当前时间戳')
console.log(Math.round(djs / 1000), '倒计时时间戳')
djstinme.value = Math.round(djs / 1000);
let timeoutDuration = Number(obj.timeoutDuration) * 60
if (times > timestampMs + (timeoutDuration * 1000)) {
return false
}else{
} else {
return true
}
}
const start = (v) => {
if(!cshigb()){
errmsg.value = "服务已超时,不能开始服务!"
if (!cshigb()) {
errmsg.value = "服务已超时,不能开始服务!"
openerror.value = true;
firstgetqueryCgdList(form.nuId);
return
@ -690,7 +720,7 @@
}
const endobj = ref({})
const end = (v) => {
if(!cshigb()){
if (!cshigb()) {
errmsg.value = "服务已超时,不能结束服务指令!"
openerror.value = true;
firstgetqueryCgdList(form.nuId);
@ -718,67 +748,68 @@
const errmsg = ref('')
const openerror = ref(false);
const errmsgclk = (e, k, indexmessage) => {
font.value ='敬请期待~'
font.value = '敬请期待~'
open.value = 3
return
console.log(e, k, indexmessage)
if (k == 1) {
if(indexmessage.izPackage=='Y'&&e==0){
if(indexmessage.flag||indexmessage.izStart == 'Y'){
let last = indexmessage.servebao.find(item => item.last === true);
console.log(last)
if(!!last){
errmsg.value = last?.serviceContent==''?'暂无数据':last?.serviceContent
openerror.value = true;
}else{
errmsg.value = indexmessage?.serviceContent
openerror.value = true;
}
}else{
errmsg.value = indexmessage?.serviceContent
openerror.value = true;
}
}
if (indexmessage?.izStart == 'Y'&&indexmessage.izPackage!='Y') {
switch (e) {
case 0:
if (indexmessage?.serviceContent == '') { return }
errmsg.value = indexmessage?.serviceContent
break;
case 1:
if (indexmessage?.mp3File == '') { return }
errmsg.value = indexmessage?.mp3File
break;
case 2:
if (indexmessage?.mp4File == '') { return }
errmsg.value = indexmessage?.mp4File
break;
//
// console.log(e, k, indexmessage)
// if (k == 1) {
// if(indexmessage.izPackage=='Y'&&e==0){
default:
break;
}
openerror.value = true;
}
} else {
if (indexmessage?.izStart == 'Y') {
// if(indexmessage.flag||indexmessage.izStart == 'Y'){
// let last = indexmessage.servebao.find(item => item.last === true);
// console.log(last)
// if(!!last){
// errmsg.value = last?.serviceContent==''?'':last?.serviceContent
// openerror.value = true;
// }else{
// errmsg.value = indexmessage?.serviceContent
// openerror.value = true;
// }
// }else{
// errmsg.value = indexmessage?.serviceContent
// openerror.value = true;
// }
switch (e) {
case 3:
ysptp(indexmessage, 0, 1)
break;
case 4:
ysptp(indexmessage, 0, 2)
break;
// }
default:
break;
}
}
// if (indexmessage?.izStart == 'Y'&&indexmessage.izPackage!='Y') {
// switch (e) {
// case 0:
// if (indexmessage?.serviceContent == '') { return }
// errmsg.value = indexmessage?.serviceContent
// break;
// case 1:
// if (indexmessage?.mp3File == '') { return }
// errmsg.value = indexmessage?.mp3File
// break;
// case 2:
// if (indexmessage?.mp4File == '') { return }
// errmsg.value = indexmessage?.mp4File
// break;
}
// default:
// break;
// }
// openerror.value = true;
// }
// } else {
// if (indexmessage?.izStart == 'Y') {
// switch (e) {
// case 3:
// ysptp(indexmessage, 0, 1)
// break;
// case 4:
// ysptp(indexmessage, 0, 2)
// break;
// default:
// break;
// }
// }
// }
}
const ysptp = (v, i, r) => {
// v.manuallyPicPath
@ -805,32 +836,32 @@
const fwzldex = ref(-1);
const fwzlarr = ref(0);
const fwzlbobj = ref({})
const zldex = (e,f,k) => {
const zldex = (e, f, k) => {
e.flag = !e.flag
if(e.flag){
if (e.flag) {
e.last = true;
f.forEach((item,i)=>{
if(k!=i){
f.forEach((item, i) => {
if (k != i) {
item.last = false;
}
})
}else{
if(e.last == false){return}
} else {
if (e.last == false) { return }
e.last = false;
let arr = []
f.forEach((item,i)=>{
if(item.flag){
f.forEach((item, i) => {
if (item.flag) {
arr.push(i)
}
})
if(arr.length==0){
}else{
f[arr[arr.length-1]].last = true;
fwzlbobj.value = f[arr.length-1]
if (arr.length == 0) {
} else {
f[arr[arr.length - 1]].last = true;
fwzlbobj.value = f[arr.length - 1]
}
}
}
const base = genPaths(
@ -868,7 +899,7 @@
</script>
<style scoped lang="less">
.shanchu{
.shanchu {
width: 1.6vw;
height: 1.6vw;
z-index: 20;
@ -881,7 +912,8 @@
border-radius: 50%;
align-items: center;
}
.del{
.del {
width: 1.6vw;
height: 1.6vw;
z-index: 20;
@ -894,6 +926,7 @@
border-radius: 50%;
align-items: center;
}
.uplods {
width: 100%;
height: 71%;
@ -934,6 +967,7 @@
border-radius: 1.6vw;
margin-top: 0.5vw;
padding: 3vw 0 0;
.bots {
width: 60%;
position: absolute;
@ -982,13 +1016,15 @@
right: 1.5vw;
}
}
.swiper {
width: 100%;
height: 100%;
}
.swper {
width: 100%;
height: 100%;
@ -1129,33 +1165,38 @@
}
}
.brcard{
.brcard {
width: 11.2vw;
height: 8vw;
border-radius: 1.6vw;
border: 2rpx solid #DCDCDC;
position: absolute;
top: 0vw;
bottom:0vw;
background: rgba(255,255,255,0.5);
bottom: 0vw;
background: rgba(255, 255, 255, 0.5);
z-index: 0;
}
.bgs{
.bgs {
width: 11.2vw;
height: 8vw;
position: absolute;
top: -1.05vw;
left:-0.15vw;
image{
left: -0.15vw;
image {
width: 103%;
height: 105%;
}
}
.act {
.brcard{
background: rgba(255,255,255,0.6);
.brcard {
background: rgba(255, 255, 255, 0.6);
border: 2rpx dashed #0089FE;
}
text,
view {
color: #017DE9;
@ -1263,12 +1304,14 @@
}
}
.left-menu {
position: absolute;
top: 37%;
left:5.3vw;
left: 5.3vw;
transform: translateY(-50%);
>view{
>view {
margin: 0.8vw 0;
}
}
@ -1286,7 +1329,7 @@
display: flex;
justify-content: center;
align-items: center;
background: #F1F2F3;
background: #F1F2F3;
.left-menu-img {
@ -1307,7 +1350,7 @@
.top-img {
width: 4.9vw;
height:4.9vw;
height: 4.9vw;
padding: 0 50rpx;
}
@ -1929,4 +1972,36 @@
}
}
}
.no-time-all {
display: flex;
align-items: center;
.no-time-view {
display: flex;
justify-content: center;
align-items: center;
width: 110rpx;
height: 100rpx;
background-color: #eaeaea;
position: relative;
border-radius: 10rpx;
.no-text {
position: absolute;
bottom: 2rpx;
left: 50%;
transform: translateX(-50%);
// font-size: 23rpx;
font-size: 0.7vw;
font-weight: 600;
// color: #666;
}
.no-time {
width: 70%;
height: 70%;
}
}
}
</style>

View File

@ -1,226 +1,233 @@
<template>
<view style="display: flex;align-items: center;" :class="!isDown?'red':''">
<view style="display: flex;align-items: center;" :class="!isDown?'red':''">
<view class="box" id="box_minute" @click="chongzhi()">
<view class="top child text" id="top" >{{ Math.floor(topTime / 60) }}</view>
<view class="flip child" id="flip" :style="{ transform: transformInfomin?transformInfo:'' }">
<view class="flip_face child text" :style="{ zIndex: faceZindexmin || 0 }" id="flip_face" >
{{ Math.floor(bottomTime / 60) }}
</view>
<view class="flip_back child text" :style="backZindex&&transformInfomin ? { zIndex: backZindex } : {}" id="flip_back" >
{{ Math.floor(topTime / 60) }}
<text>MIN</text>
</view>
</view>
<view class="bottom child text" id="bottom" >
{{ Math.floor(bottomTime / 60) }}
<text>MIN</text>
</view>
<view class="top child text" id="top">{{ Math.floor(topTime / 60) }}</view>
<view class="flip child" id="flip" :style="{ transform: transformInfomin?transformInfo:'' }">
<view class="flip_face child text" :style="{ zIndex: faceZindexmin || 0 }" id="flip_face">
{{ Math.floor(bottomTime / 60) }}
</view>
<view class="flip_back child text" :style="backZindex&&transformInfomin ? { zIndex: backZindex } : {}"
id="flip_back">
{{ Math.floor(topTime / 60) }}
<text>MIN</text>
</view>
</view>
<view class="bottom child text" id="bottom">
{{ Math.floor(bottomTime / 60) }}
<text>MIN</text>
</view>
</view>
<text style="color: #959595;font-size: 1.9vw;padding: 0 5rpx;">:</text>
<view class="box" id="box_minute" :class="!isDown?'red':''">
<view class="top child text" id="top">{{ (topTime % 60)<10?'0'+(topTime % 60) : (topTime % 60) }}</view>
<view class="flip child" id="flip" :style="{ transform: transformInfo }" >
<view class="flip_face child text" :style="{ zIndex: faceZindex || 0 }" id="flip_face" >
{{ (bottomTime % 60)<10? '0'+(bottomTime % 60) : (bottomTime % 60)}}
</view>
<view class="flip_back child text" :style="backZindex ? { zIndex: backZindex } : {}" id="flip_back" >
{{ (topTime % 60)<10?'0'+(topTime % 60) : (topTime % 60) }}
<text >SEC</text>
</view>
</view>
<view class="bottom child text" id="bottom">
{{ (bottomTime % 60)<10? '0'+(bottomTime % 60) : (bottomTime % 60) }}
<text >SEC</text>
</view>
<view class="box" id="box_minute" :class="!isDown?'red':''">
<view class="top child text" id="top">{{ (topTime % 60)<10?'0'+(topTime % 60) : (topTime % 60) }}</view>
<view class="flip child" id="flip" :style="{ transform: transformInfo }">
<view class="flip_face child text" :style="{ zIndex: faceZindex || 0 }" id="flip_face">
{{ (bottomTime % 60)<10? '0'+(bottomTime % 60) : (bottomTime % 60)}}
</view>
<view class="flip_back child text" :style="backZindex ? { zIndex: backZindex } : {}" id="flip_back">
{{ (topTime % 60)<10?'0'+(topTime % 60) : (topTime % 60) }}
<text>SEC</text>
</view>
</view>
<view class="bottom child text" id="bottom">
{{ (bottomTime % 60)<10? '0'+(bottomTime % 60) : (bottomTime % 60) }}
<text>SEC</text>
</view>
</view>
</view>
</template>
<script>
export default {
props: {
initTime: {
//
type: Number,
default:185,
},
// isDown: {
// //
// type: Boolean,
// default: true,
// },
threshold: {
//
type: Number,
default: 0,
},
timeoutDuration:{
//
type: Number,
default: 0,
}
},
data() {
return {
topTime: Math.abs(this.initTime),
bottomTime: Math.abs(this.initTime),
faceZindex: 1,
backZindex: 0,
transformInfo: "perspective(500rpx) rotateX(0deg)",
transformInfomin: false,
faceZindexmin: 1,
backZindexmin: 0,
mintime:0,
timer: null,
timerTwo: null,
isDown:true
};
},
mounted() {
this.cycle();
},
methods: {
OneCycle(n) {
//
let num = 0;
this.transformInfo = "perspective(500rpx) rotateX(0deg)";
this.faceZindex = 1;
this.backZindex = 0;
this.bottomTime = this.isDown? n : n-1;
let minutes = Math.floor(n / 60);
if (this.timer) {
clearInterval(this.timer);
}
this.timer = setInterval(() => {
num++;
if (num > 50) {
num = 0;
clearInterval(this.timer);
return;
}
if (num === 1) {
if (this.isDown) {
this.topTime = n - 1 < this.threshold ? n : n - 1; // 60 0
this.mintime = Math.floor(this.topTime / 60)
if(minutes != this.mintime &&!this.transformInfomin){
this.transformInfomin = true;
}else{
this.transformInfomin = false;
}
} else {
this.topTime = n + 1 > this.threshold ? n : n + 1;
this.mintime = Math.floor(this.topTime / 60)
if(minutes != this.mintime &&!this.transformInfomin){
this.transformInfomin = true;
}else{
this.transformInfomin = false;
}
}
export default {
props: {
initTime: {
//
type: Number,
default: 185,
},
// isDown: {
// //
// type: Boolean,
// default: true,
// },
threshold: {
//
type: Number,
default: 0,
},
timeoutDuration: {
//
type: Number,
default: 0,
}
},
data() {
return {
topTime: Math.abs(this.initTime),
bottomTime: Math.abs(this.initTime),
faceZindex: 1,
backZindex: 0,
transformInfo: "perspective(500rpx) rotateX(0deg)",
transformInfomin: false,
faceZindexmin: 1,
backZindexmin: 0,
mintime: 0,
timer: null,
timerTwo: null,
isDown: true
};
},
mounted() {
this.cycle();
},
methods: {
OneCycle(n) {
//
let num = 0;
this.transformInfo = "perspective(500rpx) rotateX(0deg)";
this.faceZindex = 1;
this.backZindex = 0;
this.bottomTime = this.isDown ? n : n - 1;
let minutes = Math.floor(n / 60);
if (this.timer) {
clearInterval(this.timer);
}
this.timer = setInterval(() => {
num++;
if (num > 50) {
num = 0;
clearInterval(this.timer);
return;
}
if (num === 1) {
if (this.isDown) {
this.topTime = n - 1 < this.threshold ? n : n - 1; // 60 0
this.mintime = Math.floor(this.topTime / 60)
if (minutes != this.mintime && !this.transformInfomin) {
this.transformInfomin = true;
} else {
this.transformInfomin = false;
}
} else {
this.topTime = n + 1 > this.threshold ? n : n + 1;
this.mintime = Math.floor(this.topTime / 60)
if (minutes != this.mintime && !this.transformInfomin) {
this.transformInfomin = true;
} else {
this.transformInfomin = false;
}
}
}
this.faceZindex = num <= 25? 1 : 0;
this.backZindex = num <= 25? 0 : 1;
this.faceZindex = num <= 25 ? 1 : 0;
this.backZindex = num <= 25 ? 0 : 1;
this.transformInfo = `perspective(500rpx) rotateX(-${(180 * num) / 50}deg)`;
},10); // 50
},
cycle() {
console.log(this.initTime)
let minutes = Math.floor(this.initTime / 60);
this.isDown = this.initTime>0?true:false
let time = Math.abs(this.initTime);
// console.log(minutes,time)
this.timerTwo = setInterval(() => {
const flag = this.isDown ? time - 1 : time + 1;
if (flag === this.threshold) {
this.isDown = false
// clearInterval(this.timerTwo);
// clearInterval(this.timer);
}
if(flag >= this.timeoutDuration+2 && this.isDown == false){
clearInterval(this.timerTwo);
clearInterval(this.timer);
this.$emit('timeend')
}
this.OneCycle(time);
this.isDown ? time-- : time++;
}, 1000);
},
},
};
this.transformInfo = `perspective(500rpx) rotateX(-${(180 * num) / 50}deg)`;
}, 10); // 50
},
cycle() {
console.log(this.initTime)
let minutes = Math.floor(this.initTime / 60);
this.isDown = this.initTime > 0 ? true : false
let time = Math.abs(this.initTime);
// console.log(minutes,time)
this.timerTwo = setInterval(() => {
const flag = this.isDown ? time - 1 : time + 1;
if (flag === this.threshold) {
this.isDown = false
// clearInterval(this.timerTwo);
// clearInterval(this.timer);
}
if (flag >= this.timeoutDuration + 2 && this.isDown == false) {
clearInterval(this.timerTwo);
clearInterval(this.timer);
this.$emit('timeend')
}
this.OneCycle(time);
this.isDown ? time-- : time++;
}, 1000);
},
},
};
</script>
<style scoped lang="less">
.red{
color: red !important;
view{
.red {
color: red !important;
view {
color: red !important;
}
}
}
.box {
position: relative;
box-sizing: border-box;
}
.box .child {
min-width: 5.1vw;
height: 2.5vw;
overflow: hidden;
}
.box {
position: relative;
box-sizing: border-box;
}
.box > .top {
background-color: #eaeaea;
line-height: 5vw;
border-bottom: 2rpx solid #fff;
border-radius: 4px 4px 0 0;
}
.box .child {
min-width: 5.1vw;
height: 2.5vw;
overflow: hidden;
}
.box .flip {
position: absolute;
top: 0rpx;
z-index: 1;
transform-origin: bottom;
border-radius: 4rpx 4rpx 0 0;
}
.box>.top {
background-color: #eaeaea;
line-height: 5vw;
border-bottom: 2rpx solid #fff;
border-radius: 8px 8px 0 0;
}
.box .flip .flip_face {
position: absolute;
background: #eaeaea;
line-height: 5vw;
z-index: 1;
border-bottom: 2rpx solid #fff;
}
.box .flip {
position: absolute;
top: 0rpx;
z-index: 1;
transform-origin: bottom;
border-radius: 8rpx 8rpx 0 0;
}
.box .flip .flip_back {
position: absolute;
background-color: #eaeaea;
line-height: 0rpx;
transform: perspective(500rpx) rotateX(0deg) rotateY(-180deg) rotate(180deg);
border-top: 2rpx solid #fff;
}
.box .flip .flip_face {
position: absolute;
background: #eaeaea;
line-height: 5vw;
z-index: 1;
border-bottom: 2rpx solid #fff;
}
.box .bottom {
background-color: #f4f4f4;
line-height: 0rpx;
border-top: 1rpx solid #fff;
border-radius: 0 0 4px 4px;
}
.box .flip .flip_back {
position: absolute;
background-color: #eaeaea;
line-height: 0rpx;
transform: perspective(500rpx) rotateX(0deg) rotateY(-180deg) rotate(180deg);
border-top: 2rpx solid #fff;
}
.text {
text-align: center;
font-size: 3.4vw;
font-weight: 900;
color: #666;
position: relative;
>text{
position: absolute;
width: 100%;
text-align: center;
bottom: 0vw;
line-height:1vw;
left: 0;
font-size: 0.7vw;
}
}
</style>
.box .bottom {
background-color: #f4f4f4;
line-height: 0rpx;
border-top: 1rpx solid #fff;
border-radius: 0 0 8px 8px;
}
.text {
text-align: center;
font-size: 3.4vw;
font-weight: 900;
color: #666;
position: relative;
>text {
position: absolute;
width: 100%;
text-align: center;
bottom: 0vw;
line-height: 1vw;
left: 0;
font-size: 0.7vw;
}
}
</style>

View File

@ -1,7 +1,6 @@
<!-- 护嘱 -->
<template>
<view class="right-container" :style="isshow?{opacity: `1`}:{opacity: `0`}"
@click="bottomisShaking=false;">
<view class="right-container" :style="isshow?{opacity: `1`}:{opacity: `0`}" @click="bottomisShaking=false;">
<severcard></severcard>
<view class="doctorsay-container-view">
<view class="doctorsay-container-container">
@ -14,7 +13,6 @@
<text class="boom-text">
{{item.tagName}}
</text>
</view>
</view>
</view>
@ -64,7 +62,7 @@
</view>
<view :class="getClass(item1,index0,index1)"
style="font-size: 30rpx;overflow: hidden;"
:style="{ animationDelay:`-${computeDelay(index0, index1).toFixed(2)}s`,border:saveEditIndex.index0 == index0 && saveEditIndex.index1 == index1 && !isTuoing? `2rpx solid #46B2F6`:'' }">
:style="{ animationDelay:`-${computeDelay(index0, index1).toFixed(2)}s`,border:saveEditIndex.index0 == index0 && saveEditIndex.index1 == index1 && !isTuoing && item1.startTime? `2rpx solid #46B2F6`:'' }">
<view class="title-time" v-if="item1.startTime"
style="flex-direction: column;">
@ -135,7 +133,6 @@
</view>
</view>
<image class="haven-img" v-if="!bodyTagListLook.length"
src="/static/index/procurement/haven.png" mode="aspectFill"></image>
@ -329,7 +326,6 @@
<view class="servers-heng" :style="ruleritem.izPackage==`Y`?{left:`114rpx`}:{}"
v-show="ruleritem.directiveName"></view>
<image class="explain-icon" @click="explainopen=!explainopen" style="top: 0;"
src="/static/index/procurement/explain.png" mode="aspectFill"></image>
@ -409,9 +405,7 @@
</view>
</view>
</scroll-view>
<view class="pack-heng">
</view>
<view class="pack-heng"></view>
<scroll-view class="pack-detail" scroll-with-animation :scroll-y="canmovechange">
<view class="detail-father">
<view class="details"
@ -798,10 +792,33 @@
}
});
const canmovechange = ref(true)
const canmovechange = ref(true);
const nextpageing = ref(false)
let nextPageTimer = null
//
onBeforeUnmount(() => {
if (nextPageTimer) {
clearTimeout(nextPageTimer)
nextPageTimer = null
}
})
watch(() => props.howtomove, (newVal : [number, number], oldVal : [number, number]) => {
if (oldVal[0] === 2) {
// true
nextpageing.value = true
//
if (nextPageTimer) {
clearTimeout(nextPageTimer)
}
// 1 false
nextPageTimer = setTimeout(() => {
nextpageing.value = false
nextPageTimer = null
}, 1000)
const nextX = notrelxy.value[0] + newVal[0]
if (nextX >= 0 && nextX <= 23) {
notrelxy.value[0] = nextX
@ -1005,7 +1022,7 @@
const openerror = ref(false)
const errshow = ref("")
const emit = defineEmits(['handsend', `rulepush`])
const emit = defineEmits(['handsend', `rulepush`, `cleanall`])
const serverUrl = ref(uni.getStorageSync('imagebase'))
const bodystatus = ref(false);
@ -1084,7 +1101,7 @@
let item = timearr.value[Number(props.sendxy[0])]?.children[Number(Number(props.sendxy[1]))]
if (!item.id) {
doChangeNew()
}
}
}
const doChangeNew = () => {
let object = postitem.value;
@ -1186,7 +1203,7 @@
}
const isDelete = ref(false);
//
function pseudoRandom(index0, index1) {
@ -1208,6 +1225,11 @@
: (cb) => setTimeout(cb, 16);
function handleScrolltime(e) {
//
if (killbaddata.value && !canmovechange.value && !nextpageing.value) {
emit('cleanall')
// console.log("")
}
killbaddata.value = true
//
const scrollTop = (e && e.detail && (e.detail.scrollTop ?? e.detail.scrollY)) || 0;
@ -1229,6 +1251,12 @@
const killbaddata = ref(true)
function handleTop(e) {
//
if (killbaddata.value && !canmovechange.value && !nextpageing.value) {
emit('cleanall')
// console.log("")
}
killbaddata.value = true
leftIn.value = e.detail.scrollLeft
}
@ -1379,7 +1407,7 @@
title: "护理日程分享",
summary: "九泰护理日程测试",
imageUrl: "https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni@2x.png",
});
}
//
@ -1638,10 +1666,10 @@
const emotionTagList = ref([]);
const bodyTagList = ref([]);
const geteverything = () => {
if (uni.getStorageSync('nuId') && uni.getStorageSync('elderId')) {
getNclist(uni.getStorageSync('nuId'), uni.getStorageSync('elderId')).then((res : any) => {
timearr.value = Array.from({ length: 24 }, (_, hour) => ({
positioning: hour.toString(),
children: minuteArr.map(time => ({
@ -1837,7 +1865,7 @@
} else {
if (data.filter(item => item.izSelected === 'Y').length !== 2) {
data[index].izSelected = 'Y'
}
}
}
listsave.value = data
}
@ -1850,7 +1878,7 @@
const openserver = (index : number) => {
servertype.value = index
}
onBeforeUnmount(() => {
if (animTimer) clearTimeout(animTimer)
@ -1938,6 +1966,7 @@
})
.exec()
canmovechange.value = false;
// nextpageing.value = false
}, 300)
}
@ -1996,7 +2025,7 @@
})
.exec()
}
}, 800)
}, 500)
}
const handleTouchStart = (item : any, e : any) => {
@ -2012,7 +2041,7 @@
isTuoing.value = true;
emit('handsend', item)
postitem.value = item
}, 800)
}, 500)
}
const isScrolling = ref(false)
//
@ -2067,7 +2096,7 @@
let cycleValue = "";
if (allobject.cycleTypeId == 1) {
cycleType = "日常"
}
}
const startHour = Number(saveEditIndex.value.index0)
const startMinute = Number(timearr.value[saveEditIndex.value.index0].children[saveEditIndex.value.index1].tagName)
const endMinute = startMinute + Number(allobject.serviceDuration)

View File

@ -197,7 +197,7 @@
const form = reactive({
pageNo: 1,
pageSize: 10,
employeeId:uni.getStorageSync('userInfo').employessId,
employeeId:uni.getStorageSync('userInfo').employeesId,
nuId:uni.getStorageSync('nuId')
})
const open = ref(0)

View File

@ -7,7 +7,7 @@
</view>
<image class="card-icon" :src="movelook.url" mode="aspectFill"></image>
<view class="card-text" style="margin-top: 0;" :style="movelook.title.length>6?{fontSize:`24rpx`}:{}">
<view class="card-text" style="margin-top: 0;" :style="movelook.title.length>6?{fontSize:`24rpx`}:{}">
{{ movelook.title }}
</view>
@ -40,7 +40,8 @@
</view>
</view>
</view>
<view class="delete-view" :style="isblue==`3`?{backgroundColor: `rgba(255, 239, 239, 0.8)`}:{}" v-if="!startmoveit&&whoisit">
<view class="delete-view" :style="isblue==`3`?{backgroundColor: `rgba(255, 239, 239, 0.8)`}:{}"
v-if="!startmoveit&&whoisit">
<image class="delete-img" :src="`/static/index/trash${isblue==`3`?`target`:``}.png`" />
</view>
<!-- 左侧菜单 -->
@ -53,8 +54,8 @@
<bignurse :isshow="menuIndex==0"
v-if="swipedex==0&&specialPage==1&&uni.getStorageSync('elderId')&&uni.getStorageSync('nuId')" />
<!-- 户嘱页 -->
<newnurse :isshow="menuIndex==1" v-if="swipedex==1" :canmove="startmoveit" :sendxy="targetrule" :isblue='isblue' :howtomove="howtomove"
:targetrule="targetrule" @handsend="handsend" @rulepush="rulepush" />
<newnurse :isshow="menuIndex==1" v-if="swipedex==1" :canmove="startmoveit" :sendxy="targetrule" :isblue='isblue'
:howtomove="howtomove" :targetrule="targetrule" @handsend="handsend" @rulepush="rulepush" @cleanall="cleanall" />
<!-- 医嘱 -->
<doctorask v-if="swipedex==2&&uni.getStorageSync('elderId')&&uni.getStorageSync('nuId')" />
<logistics :isshow="menuIndex==3"
@ -114,9 +115,9 @@
// console.log("", res)
uni.setStorageSync("Packagelist", res.result)
})
getPermissionList({ employessId: uni.getStorageSync('userInfo').employessId }).then(res => {
getPermissionList({ employeesId: uni.getStorageSync('userInfo').employeesId }).then(res => {
listarr.value = res.result;
// console.log("", listarr.value)
console.log("这个是啥", listarr.value)
})
})
const gospecial = (index : number) => {
@ -233,6 +234,7 @@
queryPadPageList({ 'pageNo': -1, 'nuName': nuName }).then((res => {
let arr = res.result.records[0].permissionList;
arrlist.value = [{ name: '首页', url: '/static/shouye/sy/h0.png', urls: '/static/shouye/sy/h1.png', type: 'hldy' }];
let tbr = [];
// console.log("xxxx",arr)
@ -245,6 +247,7 @@
tbr.push(v);
}
})
// console.log("",tbr)
tbr.forEach(item => {
let obj = tabbrarr.value.find(r =>
r.type == item.menuCode
@ -254,7 +257,7 @@
}
})
}
let back = [
{ name: '请领', url: '/static/shouye/sy/l0.png', urls: '/static/shouye/sy/l1.png', type: 'hldy_ql' },
{ name: '物联', url: '/static/shouye/sy/g0.png', urls: '/static/shouye/sy/g1.png', type: 'wl' },
@ -369,7 +372,7 @@
const movelook = ref({
url: "",
title: "",
type:0
type: 0
})
const startmoveit = ref(true)
const whoisit = ref(0);
@ -392,14 +395,14 @@
movelook.value.title = look.title;
movelook.value.type = 0;
startmoveit.value = false
} else if(look.packageName){
} else if (look.packageName) {
whoisit.value = 0;
movelook.value.url = `/static/index/packtarget.png`
movelook.value.title = look.packageName;
movelook.value.type = 1;
startmoveit.value = false
}
else {
whoisit.value = 1;
simpleobj.value.startTime = look.startTime;
@ -495,13 +498,13 @@
}
const getxy = throttle(getxyrel, 40);
const cleanall = (event) => {
setTimeout(()=>{
if (whoisit.value) {
detectorEnd(); // handmove([a,b])
}
handmove([-200, -200])
startmoveit.value = true;
},100)
// setTimeout(()=>{
if (whoisit.value) {
detectorEnd(); // handmove([a,b])
}
handmove([-200, -200])
startmoveit.value = true;
// },100)
}
// bigArray
function splitString(str) {
@ -537,13 +540,13 @@
// [-1/0/1, -1/0/1]x, y
function getDir(x, y) {
const dx = (x <= 150 ? -1 : (x >= 710 && x < 825? 1 : 0));
const dx = (x <= 150 ? -1 : (x >= 710 && x < 825 ? 1 : 0));
const dy = (y <= 80 ? -1 : (y >= 550 ? 1 : 0));
return [dx, dy];
}
const howtomove = ref([2,2])
const howtomove = ref([2, 2])
// ---------- ----------
let windowTimer = null; // 500ms id
let windowStartDir = null; // [dx,dy]

View File

@ -222,7 +222,7 @@
const form = reactive({
pageNo: 1,
pageSize: 10,
employeeId:uni.getStorageSync('userInfo').employessId,
employeeId:uni.getStorageSync('userInfo').employeesId,
nuId:uni.getStorageSync('nuId'),
workType:5
})
@ -273,10 +273,10 @@
nuId:nuId,
// elderId:elderId
}
queryAll(data).then(res=>{
console.log(res)
zlarr.value = res.result.invoicing;
})
// queryAll(data).then(res=>{
// console.log(res)
// zlarr.value = res.result.invoicing;
// })
}
const zldex = (e) =>{
if(e>-1&&e==fwzldex.value){

View File

@ -145,7 +145,7 @@
const listarr = ref([])
const swip = ()=>{
let nuId = uni.getStorageSync('nuId');
getPermissionList({employessId:uni.getStorageSync('userInfo').employessId}).then(res=>{
getPermissionList({employeesId:uni.getStorageSync('userInfo').employeesId}).then(res=>{
res.result.forEach(item=>{
if(item.nuId == nuId){
listarr.value = item.dataList

View File

@ -399,7 +399,7 @@
}
const gotoindex = () => {
if (uni.getStorageSync('userInfo')) {
initWs(`wss://www.focusnu.com/ws101/sdWebsocket/${uni.getStorageSync('userInfo').employessId}`, {
initWs(`wss://www.focusnu.com/ws101/sdWebsocket/${uni.getStorageSync('userInfo').employeesId}`, {
debug: true,
heartbeatInterval: 25000,
autoConnect: false, //

View File

@ -121,11 +121,12 @@
<script setup lang="ts">
import { ref, onMounted, reactive, onBeforeUnmount, computed, nextTick } from 'vue';
import { getServiceTree0, getServiceTree1, getServiceTree2 } from '@/pages/NursingNew/component/nurse/api.js'
import { onBackPress, onShow, onHide } from "@dcloudio/uni-app"
import { onBackPress, onShow, onHide,onUnload } from "@dcloudio/uni-app"
import { queryPadPageList, queryDepartTreeSync } from '@/pages/watch/api/lunpan.js'
import ZyUpdate from '@/component/zy-upgrade/zy-upgrade.vue'
import exit from "@/component/public/exit.vue"
onBackPress(() => {
return true; //
})
@ -159,7 +160,7 @@
// console.log("zzzzzzzzzzzzzzzzzzzzzzzzzzzz")
queryPadPageList().then((res => {
leftMenuArray.value = res.result.records;
console.log("????111111111111", leftMenuArray.value)
// console.log("????111111111111", leftMenuArray.value)
}))
fontnumber.value = uni.getStorageSync('orgListName');
queryDepartTreeSync().then(res => {
@ -379,6 +380,7 @@
}
const ceshijump = () => {
// try {
// const Intent = plus.android.importClass('android.content.Intent')
// const Uri = plus.android.importClass('android.net.Uri')

View File

@ -29,8 +29,8 @@
<view class="kjlt" >
库存预警
</view>
<scroll-view scroll-x="true" class="kcscrol guodu"
:style="tx?(qb?'width:38.2vw':'width:47.2vw') : (qb?'width:71.2vw':'width:80.2vw') "
<scroll-view scroll-x="true" class="kcscrol guodu"
:style="tx?(qb?'width:39.2vw':'width:48.2vw') : (qb?'width:72.2vw':'width:81.2vw') "
scroll-with-animation :scroll-left="scrollleft" @scroll="onScroll" @scrolltolower="scrolltolower(1)">
<view class="yjbox" v-for="(v,i) in Material" :key="i" @click="clickaddcar(v,i)">
<image :src="v.materialImg?serverUrl+v.materialImg:'/static/index/procurement/k.png'"

View File

@ -21,7 +21,7 @@ export const queryPadPageList = (params) => {
export const getPermissionList = (params) => {
return request({
url: `${uni.getStorageSync('serverUrl')}/api/employessInfo/getPermissionList`,
url: `${uni.getStorageSync('serverUrl')}/api/employeesInfo/getPermissionList`,
method: 'get',
data: params,
})

View File

@ -188,7 +188,7 @@
userInfo.value = uni.getStorageSync('userInfo');
}
const avaxg = () =>{
editAvatar({avatar:userInfo.value.avatar,id:userInfo.value.id,employessId:userInfo.value.employessId}).then(res=>{
editAvatar({avatar:userInfo.value.avatar,id:userInfo.value.id,employeesId:userInfo.value.employeesId}).then(res=>{
if(res.success){
uni.setStorageSync('userInfo', userInfo.value);
uni.showToast({

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -7,8 +7,8 @@
"id": "__UNI__FB2D473",
"name": "护理单元",
"version": {
"name": "1.0.030",
"code": 10030
"name": "1.0.031",
"code": 10031
},
"description": "护理单元",
"developer": {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 858 B

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__FB2D473","name":"护理单元","version":{"name":"1.0.030","code":10030},"description":"护理单元","developer":{"name":"","email":"","url":""},"permissions":{"Share":{},"VideoPlayer":{},"Camera":{},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"render":"always","id":"1","kernel":"WKWebview"},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"nativePlugins":{"MonitorModule":{"__plugin_info__":{"name":"MonitorModule","description":"bugly升级","platforms":"Android","url":"","android_package_name":"","ios_bundle_id":"","isCloud":false,"bought":-1,"pid":"","parameters":{}}}},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#000000"},"uniStatistics":{"enable":false},"allowsInlineMediaPlayback":true,"uni-app":{"control":"uni-v3","vueVersion":"3","compilerVersion":"4.76","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal","webView":{"minUserAgentVersion":"49.0"}}},"app-harmony":{"useragent":{"value":"uni-app","concatenate":true},"uniStatistics":{"enable":false}},"screenOrientation":["landscape-primary","landscape-secondary"],"launch_path":"__uniappview.html"}
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__FB2D473","name":"护理单元","version":{"name":"1.0.031","code":10031},"description":"护理单元","developer":{"name":"","email":"","url":""},"permissions":{"Share":{},"VideoPlayer":{},"Camera":{},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"render":"always","id":"1","kernel":"WKWebview"},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"nativePlugins":{"MonitorModule":{"__plugin_info__":{"name":"MonitorModule","description":"bugly升级","platforms":"Android","url":"","android_package_name":"","ios_bundle_id":"","isCloud":false,"bought":-1,"pid":"","parameters":{}}}},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#000000"},"uniStatistics":{"enable":false},"allowsInlineMediaPlayback":true,"uni-app":{"control":"uni-v3","vueVersion":"3","compilerVersion":"4.76","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal","webView":{"minUserAgentVersion":"49.0"}}},"app-harmony":{"useragent":{"value":"uni-app","concatenate":true},"uniStatistics":{"enable":false}},"screenOrientation":["landscape-primary","landscape-secondary"],"launch_path":"__uniappview.html"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 858 B

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB