This commit is contained in:
wangweidong 2026-02-02 15:52:17 +08:00
parent 70ad2399bf
commit b742f08de1
9 changed files with 190 additions and 860 deletions

View File

@ -1,5 +1,5 @@
<template>
<view v-if="flag">
<view v-if="flag&&flags">
<view class="fixed-card" :style="openleft?{}:{right:`-34vw`}">
<view class="cardbg">
<image src="/static/index/newindex/states/cardbg.png" class="caimg"></image>
@ -82,6 +82,7 @@
import { startOrder, endOrder, editSubPicPath, editSubMp4, queryEmpList, transferOrder, assistOrder } from '@/pages/NursingNew/component/doctorask/api/api.js'
import timeing from './newgame/sxy-Timeing.vue'
const flag = ref(false)
const flags = ref(false)
const qcobj = ref({})
const openleft = ref(true)
const open = ref(0);
@ -144,6 +145,7 @@
}
const plsbuy = ref([])
const firstgetqueryCgdList = () => {
if(!flags.value){return}
form.nuId=uni.getStorageSync('nuId');
queryOrderlist(form).then(res => {
plsbuy.value = res.result.records

View File

@ -2,13 +2,8 @@
"name" : "护理单元",
"appid" : "__UNI__FB2D473",
"description" : "护理单元",
<<<<<<< HEAD
"versionName" : "1.0.028",
"versionCode" : 10028,
=======
"versionName" : "1.0.029",
"versionCode" : 10029,
>>>>>>> d85f0ba3d246357246f9a3023d63f206efe66fc3
"versionName" : "1.0.030",
"versionCode" : 10030,
"transformPx" : false,
/* 5+App */
"app-plus" : {

View File

@ -20,8 +20,8 @@
<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>
<swiper class="swiper" :circular="true" :indicator-dots="false" easing-function="easeInOutCubic"
:autoplay="autoplay" :interval="3000" :duration="500" :current="current" @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%)`} -->
@ -59,20 +59,17 @@
<image src="/static/index/newtarget.png" mode=""></image>
</view>
</view>
<image :src="!v.flag? serverUrl + v.immediateFile: serverUrl + v.immediateFileFocus" />
<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>
</scroll-view>
</view>
<!-- https://www.focusnu.com/nursingunit101/sys/common/static/temp/1_1760592730764.png -->
<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" />
<!-- <image :src="`/static/zhiniaoku.png`"
:style="!indexmessage?.previewFile?'width: 450rpx':'width: 650rpx'"
mode="aspectFill"/> -->
mode="heightFix" />
</view>
@ -139,8 +136,6 @@
</view>
</view>
<view class="right-menu">
<view class="zhezhao-top"></view>
<view class="zhezhao-bottom"></view>
<!-- <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)">
@ -267,7 +262,7 @@
</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>
<severcard ref="severcards" ></severcard>
</view>
@ -279,6 +274,7 @@
import timeing from './sxy-Timeing.vue'
import { queryOrderList, queryOrderInfoList, startOrder, endOrder, editSubPicPath, editSubMp4, queryEmpList, transferOrder, assistOrder, generateInstant } from '../../component/doctorask/api/api.js'
const open = ref(0)
const font = ref('')
const donghuaopo = ref(false);
const topbuttontarget = ref(0);
const ilanarr = ref([]);
@ -288,12 +284,12 @@
const servervideoUrl = ref(uni.getStorageSync('serverUrl') + '/sys/commonVideo/staticVideo/')
const serverpicUrl = ref(uni.getStorageSync('serverUrl') + '/sys/common/static/')
const current = ref(0)
const current2 = ref(0)
const autoplay = ref(false)
const severcards = ref<InstanceType<typeof ChildComponent>>()
const init = (e) => {
firstgetqueryCgdList(e);
setTimeout(()=>{
console.log(111)
severcards.value.firstgetqueryCgdList()
},120)
}
@ -302,12 +298,13 @@
})
const change = (e) => {
current.value = e.detail.current;
let a = e.detail.current;
plsbuy.value.forEach((v,i)=>{
if(i!=current.value&&v.izPackage=='Y'){
if(i!=a&&v.izPackage=='Y'){
v.flag = false
}
})
if(plsbuy.value[current.value].izStart=='Y'&&plsbuy.value[current.value].izFinish=='N'){
if(plsbuy.value[a].izStart=='Y'&&plsbuy.value[a].izFinish=='N'){
timeacde()
}
}
@ -333,14 +330,18 @@
}
const swip = (e) => {
if (current.value == 0 && e == -1) {
current.value = 4
current.value = plsbuy.value.length-1;
current2.value = current.value
return
}
if (current.value == 4 && e == 1) {
current.value = 0
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)
}
const form = reactive({
pageNo: 1,
@ -362,8 +363,8 @@
openerror.value = true
return
}else{
errmsg.value ='敬请期待~'
openerror.value = true
font.value ='敬请期待~'
open.value = 3
return
}
queryEmpList({ id: uni.getStorageSync('userInfo').id }).then(res => {
@ -648,7 +649,32 @@
});
}
}
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 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)){
return false
}else{
return true
}
}
const start = (v) => {
if(!cshigb()){
errmsg.value = "服务已超时,不能开始服务!"
openerror.value = true;
firstgetqueryCgdList(form.nuId);
return
}
if (v.izStart != 'N') { return }
startOrder({ id: v.id }).then(res => {
console.log(res)
@ -664,14 +690,20 @@
}
const endobj = ref({})
const end = (v) => {
if(!cshigb()){
errmsg.value = "服务已超时,不能结束服务指令!"
openerror.value = true;
firstgetqueryCgdList(form.nuId);
return
}
if (v.izStart == 'Y' && v.izFinish == 'N') {
endobj.value = v;
open.value = 3;
}
}
const ends = () => {
endOrder({ id: endobj.value.id }).then(res => {
console.log(res)
if (res.success) {
open.value = 0;
endobj.value = {};
@ -686,6 +718,9 @@
const errmsg = ref('')
const openerror = ref(false);
const errmsgclk = (e, k, indexmessage) => {
font.value ='敬请期待~'
open.value = 3
return
console.log(e, k, indexmessage)
if (k == 1) {
if(indexmessage.izPackage=='Y'&&e==0){
@ -896,7 +931,7 @@
height: 46.5vw;
position: relative;
background-color: #fff;
border-radius: 16px;
border-radius: 1.6vw;
margin-top: 0.5vw;
padding: 3vw 0 0;
.bots {

View File

@ -126,6 +126,7 @@ export default {
},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);

View File

@ -74,174 +74,7 @@
<errorshow :show="error" :font="msg" @close="error=false" style="left: 44%;"/>
<view class="mengban" v-if="jszlshow" @click="jszlshow = false"></view>
</view>
<view class="photo-father">
<view class="juzhong" style="margin-left: -30rpx;" :style="indexmessage?.startTime?{}:{filter: `grayscale(60%)`}">
<donghua :width="`1300rpx`" :height="`900rpx`" :links="blueArray" :playing="photoplay" :loop="true"
:interval="120" />
</view>
<view class="weight-time">
<view class="" v-if="indexmessage?.startTime">
{{ indexmessage?.startTime.slice(11, 16) }}
-
{{ indexmessage?.endTime.slice(11, 16) }}
</view>
<view style="height: 5vw;" v-show="!indexmessage?.startTime">
</view>
<view class="pao-father" v-show="indexmessage?.startTime">
<image class="pao-img" :src="`/static/index/newindex/states/pao.png`" />
<view style="z-index: 1;">
{{indexmessage?.izStart=='N'?'待执行':'执行中'}}
</view>
</view>
</view>
<tanchuang :show="open==3" font="是否结束服务指令?" @back="open = 0" @right="ends()"> </tanchuang>
<image class="big-img" v-if="topbuttontarget==0" :style="!indexmessage?.previewFile?'width: 450rpx':''"
:src="indexmessage?.previewFile? serverUrl + indexmessage?.previewFile: `/static/index/newindex/wendu/2.png`" mode="aspectFill"/>
<view style="display: flex;align-items: center;">
<view class="server-name" v-if="indexmessage?.startTime">
{{ indexmessage?.directiveName }}
</view>
</view>
<view style="display: flex;margin-top: 40rpx;" v-if="indexmessage?.startTime">
<view style="width: 240rpx;height: 90rpx;margin-right: 40rpx;">
<view :class="indexmessage?.izStart=='N'?'start-button':'end-button'" v-show="indexmessage?.startTime" @click="start(indexmessage)">
开始服务
</view>
</view>
<view style="width: 240rpx;height: 90rpx;">
<view :class="(indexmessage?.izStart=='Y'&& indexmessage?.izFinish=='N')?'start-button':'end-button'" @click="end(indexmessage)">
结束服务
</view>
</view>
</view>
<view class="mengban" v-if="zdxzdex>0" @click="zdxzdex=0"></view>
<view class="photowall" v-show="zdxzdex>0" :style="zdxzdex?{opacity:1}:{opacity:0}">
<view class="photowall-title">
<view class="photowall-name">
{{ zdxzdex==1?`转单执行`:`协助执行` }}
</view>
</view>
<scroll-view scroll-y="true" class="photowall-other" scroll-with-animation enable-flex v-if="zdxzdex>0">
<view class="photowall-other" >
<view class="bottom-title" v-for="(v,i) in zdxzarr" :key='i' @click="zdwu(v,i)"
style="border: 1px solid #f8f8f8;width: 16vw;margin: 0 0.8vw;;height: 17vw;border-radius: 1.1vw;background: #f8f8f8;display: flex;flex-direction: column;align-items: center;"
:style="v.flag?'border: 1px solid #0385FA;background: #fff !important;':''">
<image style="width: 9vw;height: 9vw;border-radius: 50%;margin: 1vw auto;"
:src="v.headPath?serverUrl+v.headPath:'/static/shouye/xd.png'" />
<view class="name-weight">
{{v.name }}
</view>
<view class="message-view" v-if="uni.getStorageSync('NUall').elderInfo?.name">
{{v.sex}}
<view class="message-shu"></view>
<view style="font-weight: 600;">
{{ v.height}}cm
</view>
<view class="message-shu"></view>
{{ v.weight}}Kg
</view>
</view>
</view>
</scroll-view>
<view style="position: absolute;right: 2vw;bottom: 0.8vw;height: 4vw;" >
<view
v-if="flag"
style="width: 8.2vw;
height: 3.3vw;
background: #EDEDEF;
border-radius: 1.6vw;
font-weight: 400;
font-size: 1.6vw;
color: #888888;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid #EDEDEF;
background: linear-gradient(0deg, #CAE0F9, #E9F4FF);
border: 1px solid rgba(3,133,250,0.34);
color: #0385FA;" @click="zhixingsub" >确定</view>
<view
v-if="!flag"
style="width: 8.2vw;
height: 3.3vw;
background: #EDEDEF;
border-radius: 1.6vw;
font-weight: 400;
font-size: 1.6vw;
color: #888888;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid #EDEDEF;
border: 1px solid rgba(3,133,250,0.34);
color: #999;" >确定</view>
</view>
<tanchuang :show="zxzd>0" :font="zdcont" @back="zxzd = 0" @right="tijiaozx()"> </tanchuang>
</view>
</view>
<view class="left-menu" v-show="indexmessage?.startTime">
<view style="margin: 30rpx 0;" @click="errmsgclk(0,1)">
<view class="left-ball" :style="indexmessage?.serviceContent!=''?'background-color: #fff;':'background-color:RGBA(228, 229, 231, 1);'">
<image class="left-menu-img" :src="'/static/index/newindex/leftmenu/left'+0+'.png'" />
</view>
</view>
<view style="margin: 30rpx 0;" @click="errmsgclk(1,1)">
<view class="left-ball" :style="indexmessage?.mp3File!=''?'background-color: #fff;':'background-color:RGBA(228, 229, 231, 1);'">
<image class="left-menu-img" :src="'/static/index/newindex/leftmenu/left'+1+'.png'" />
</view>
</view>
<view style="margin: 30rpx 0;" @click="errmsgclk(2,1)">
<view class="left-ball" :style="indexmessage?.mp4File!=''?'background-color: #fff;':'background-color:RGBA(228, 229, 231, 1);'">
<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" style="margin: 30rpx 0;" @click="errmsgclk(item,2)">
<view class="left-ball" :style="indexmessage?.izStart=='Y'?'background-color: #fff;':'background-color:RGBA(228, 229, 231, 1);'">
<image class="left-menu-img" :src="'/static/index/newindex/leftmenu/left'+item+'.png'" />
</view>
</view>
</view>
<view class="right-menu" v-show="indexmessage?.startTime" v-if="indexmessage?.optType==1">
<view class="zhezhao-top" @click="scrollTop -= 115"></view>
<view class="zhezhao-bottom" @click="scrollTop += 115"></view>
<image class="top-img" :src="`/static/index/newindex/rightmenu/top.png`"
@click="scrollTop>0? scrollTop -= 115:scrollTop=0" />
<scroll-view scroll-y="true" class="right-scroll" :scroll-top="scrollTop" @scroll="onScroll">
<view style="height: 20rpx;"> </view>
<view style="margin: 20rpx 0;width: 110rpx;margin-left: 20rpx;" @click="zhixing(1)">
<view class="white-circle" :style="indexmessage?.izStart=='Y'?'background-color:RGBA(228, 229, 231, 1)' : ''">
<image class="right-menu-img" :src="'/static/index/newindex/rightmenu/1.png'" />
<view class="right-menu-name">
转单执行
</view>
</view>
</view>
<view style="margin: 20rpx 0;width: 110rpx;margin-left: 20rpx;" @click="zhixing(2)">
<view class="white-circle">
<image class="right-menu-img" :src="'/static/index/newindex/rightmenu/2.png'" />
<view class="right-menu-name">
协助执行
</view>
</view>
</view>
<view style="height: 30rpx;">
</view>
</scroll-view>
<image class="top-img" :src="`/static/index/newindex/rightmenu/bottom.png`"
@click="scrollTop > (55* rightMenu.length) ? scrollTop = (55* rightMenu.length) : scrollTop += 115 " />
</view>
<serveswipe ref="serves" style="margin-top: -2.5vw;"></serveswipe>
</view>
<view class="index-content-right" :style="transition?{opacity: `1`}:{opacity: `0`}">
<view class="right-time">
@ -302,149 +135,17 @@
<view class="right-bottom">
<view class="bottom-title">
<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/${uni.getStorageSync('NUall').fzr?`warepeople`:`nopeople`}.png`" />
<view class="name-weight">
{{ uni.getStorageSync('NUall').fzr }}
</view>
<!-- <view class="name-weight">
{{ uni.getStorageSync('NUall').name ? uni.getStorageSync('NUall').fzrTel:`` }}
</view> -->
<view class="message-view" v-if="uni.getStorageSync('NUall').fzrTel">
{{ uni.getStorageSync('NUall').fzrTel }}
<!-- <view class="message-shu"></view>
<view style="font-weight: 600;">
{{ calcAge(uni.getStorageSync('NUall').elderInfo?.dateOfBirth) }}
</view>
<view class="message-shu"></view>
<image class="message-img" :src="`/static/index/newindex/leftmenu/time.png`" />
{{ uni.getStorageSync('NUall').elderInfo?.startTime }} -->
</view>
<!-- <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="mengban" v-if="topbuttontarget>0" @click="topbuttontarget=0"></view>
<view class="photowall" v-show="topbuttontarget>0" :style="donghuaopo?{opacity:1}:{opacity:0}">
<view class="photowall-title">
<view class="photowall-name">
{{ topbuttontarget==1?`照片`:`录像` }}
</view>
</view>
<scroll-view scroll-y="true" class="photowall-other" scroll-with-animation enable-flex v-if="topbuttontarget>0">
<view class="photowall-other" >
<view class="photowall-other-one" v-for="(item,index) in ilanarr" :key="index"
@click="previewImage(item,index,ilanarr)">
<view v-if="topbuttontarget==1" style="width: 100%;height: 70%;border-radius: 30rpx;position: relative;">
<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)"
style="width: 1.6vw;
height: 1.6vw;
z-index: 20;
position: absolute;
right: -1vw;
top: -0.7vw;
background: red;
display: flex;
justify-content: center;
border-radius: 50%;
align-items: center;"
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>
</view>
<view v-if="topbuttontarget==2" style="width: 100%;height: 70%;border-radius: 30rpx ;position: relative;" >
<video style="width: 100%;height: 100%;border-radius: 30rpx;" :id="'myVideo'+index"
:src="servervideoUrl+item"
mode="aspectFill" ></video>
<view @click.stop="ilanarr.splice(index,1)"
v-if="topbuttontarget>0&&(listobj.izStart=='Y'&& listobj.izFinish=='N')"
style="width: 1.6vw;
height: 1.6vw;
z-index: 20;
position: absolute;
right: -1vw;
top: -0.7vw;
background: red;
display: flex;
justify-content: center;
border-radius: 50%;
align-items: center;">
<image src="/static/index/warehouse/procurement/x.png" mode="aspectFill"
style="width: 1.4vw;
height: 1.4vw;"></image>
</view>
</view>
<!-- <view style="margin-top: 20rpx;">
<text style="color: #888888;">
上传时间:
</text>
<text style="margin-left: 15rpx;">
{{item.createTime.replace(/-/g, '.')}}
</text>
</view>
<view style="margin-top: 10rpx;">
<text style="color: #888888;letter-spacing: 8.9rpx;">
上传人:
</text>
<text>
{{item.createBy}}
</text>
</view> -->
</view>
<view class="photowall-other-one" v-if="topbuttontarget>0&&(listobj.izStart=='Y'&& listobj.izFinish=='N')">
<view style="width: 100%;height: 71%;display: flex;flex-direction: column;
justify-content: center;align-items: center;position: absolute;top:0vw;left: 0;
background-color:#fafdff ;border: 1rpx solid #78B1EB;border-radius: 30rpx;" @click="uplod(1)">
<image style="width: 70rpx;height: 70rpx;margin-bottom: 5rpx;"
src="/static/index/warehouse/procurement/picking/addphoto.png" />
<view style="color: #78B1EB;">
点击上传{{topbuttontarget==1?'图片':'录像'}}
</view>
</view>
</view>
<!-- <view class="noarray" v-if="!ilanarr.length">
<image class="noarray-img" src="/static/index/warehouse/procurement/picking/noarray.png"
mode="aspectFill" />
<view class="noarray-font">
暂无照片
</view>
</view> -->
</view>
</scroll-view>
<view style="position: absolute;right: 2vw;bottom: 0.8vw;height: 4vw;" v-if="topbuttontarget>0&&(listobj.izStart=='Y'&& listobj.izFinish=='N')">
<view
style="width: 8.2vw;
height: 3.3vw;
background: #EDEDEF;
border-radius: 1.6vw;
font-weight: 400;
font-size: 1.6vw;
color: #888888;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid #EDEDEF;
background: linear-gradient(0deg, #CAE0F9, #E9F4FF);
border: 1px solid rgba(3,133,250,0.34);
color: #0385FA;" @click="submit" >确定</view>
</view>
</view>
<tanchuang :show="open==1" font="是否删除此图片" @back="open = 0" @right="del1()"> </tanchuang>
<severcard ref="severcards"></severcard>
</template>
@ -452,6 +153,7 @@
import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch,reactive } from 'vue';
import { queryPadPageList } from '@/pages/watch/api/lunpan.js'
import { queryWorkOrderList,queryCountByType,queryAll } from '@/pages/NursingNew/component/api.js'
import serveswipe from '@/pages/NursingNew/component/leftcontent/serveswipe.vue';
import {queryOrderList,queryOrderInfoList,startOrder,endOrder,editSubPicPath,editSubMp4,queryEmpList,transferOrder,assistOrder,generateInstant} from '@/pages/NursingNew/component/doctorask/api/api.js'
const jszlshow = ref(false)
const props = defineProps({
@ -461,6 +163,10 @@
},
});
const serves = ref<InstanceType<typeof ChildComponent>>();
const inits = (e) =>{
serves.value.init(e);
}
const zdxzdex = ref(0)
const zdxzarr = ref(0)
@ -506,65 +212,8 @@
}
}
}
const zhixingsub = ()=>{
zxzd.value = zdxzdex.value
if(zdxzdex.value==1){
zdcont.value = "确认转单执行?"
}
if(zdxzdex.value==2){
zdcont.value = "确认协助执行?"
}
}
const zxzd = ref(0);
const zdcont = ref('');
const tijiaozx = ()=>{
if(zxzd.value == 1){
let s = {}
zdxzarr.value.forEach((item,i)=>{
if(item.flag){
s = item;
}
})
let obj = {
mainId:indexmessage.value.mainId,
employeeId:s.id,
employeeName:s.name
}
let nuId = uni.getStorageSync('nuId');
transferOrder(obj).then(res=>{
if(res.success){
firstgetqueryCgdList(nuId);
flag.value = false;
zxzd.value = 0;
zdxzdex.value = 0;
}
})
}
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 obj = {
mainId:indexmessage.value.mainId,
employeeId:id,
employeeName:name
}
assistOrder(obj).then(res=>{
if(res.success){
firstgetqueryCgdList(form.nuId)
flag.value = false;
zxzd.value = 0;
zdxzdex.value = 0;
}
})
}
}
const indexmessage = ref({});
const serverUrl = ref(uni.getStorageSync('imagebase') )
@ -577,243 +226,19 @@
nuId:uni.getStorageSync('nuId'),
workType:5
})
const plsbuy = ref([])
const firstgetqueryCgdList = (nuId) => {
form.nuId = nuId;
queryOrderList(form).then(res => {
if(res.result.records.length>0){
indexmessage.value = res.result.records[0];
}else{
indexmessage.value = {};
}
})
}
const clickLeftMenu = (index : any, item : object) => {
queryOrderInfoList({ mainId: item.id }).then(res => {
if(res.result.length>0){
indexmessage.value = res.result[0]
}else{
indexmessage.value = {};
}
})
}
const open = ref(0)
const donghuaopo = ref(false);
const topbuttontarget = ref(0);
const ilanarr = ref([]);
const listobj = ref({});
const ysptp = (v,i,r) =>{
// v.manuallyPicPath
if(r == 1&&v.manuallyPicPath){
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){
ilanarr.value = v.tplinkPath.split(",");
ilanarr.value = ilanarr.value.filter(item => item !== '');
}
else{
ilanarr.value = [];
}
listobj.value = v;
topbuttontarget.value = r;
donghuaopo.value = true;
}
const uplod = (v) => {
if(topbuttontarget.value==1){
uni.chooseImage({
count: 1, //9
sizeType: ['compressed'], //
sourceType: ['camera'], //
success: (e) => {
let ar = JSON.stringify(e.tempFilePaths)
uni.compressImage({
src: JSON.parse(ar)[0],
quality: 60,
success: res => {
sxdupld(res.tempFilePath)
// v.picPatharr.push(res.tempFilePath);
}
})
}
});
}else{
uni.chooseVideo({
sourceType: ['camera' ],
success: (e)=> {
uni.compressVideo({
src: e.tempFilePath,
quality: 'medium',
success: res => {
sxdupld(res.tempFilePath)
// v.picPatharr.push(res.tempFilePath);
}
})
// sxdupld(res.tempFilePath )
}
});
}
}
const sxdupld = (e) => {
let now = new Date();
let year = now.getFullYear();
let month = now.getMonth() + 1;
uni.uploadFile({
url: uni.getStorageSync('serverUrl') + '/sys/common/upload',
filePath: e,
name: 'file',
fileType:topbuttontarget.value==2?'video':'image',
formData: {
biz: year + '/' + month + (topbuttontarget.value==1?'/fwxm/manuallyPicPath':'/fwxm/manuallyMp4Path')
},
header: {
'X-Access-Token': uni.getStorageSync('token')
},
success: res => {
const data = JSON.parse(res.data);
ilanarr.value.push(data.message)
},
fail: () => {
uni.showToast({ title: '上传失败', icon: 'none' })
}
})
}
const submit = ()=>{
let sub = "";
ilanarr.value.forEach(item=>{
sub+=item+','
})
if(topbuttontarget.value == 1){
editSubPicPath({id:listobj.value.id,manuallyPicPath:sub}).then(res=>{
if(res.success){
topbuttontarget.value = 0;
donghuaopo.value = false;
firstgetqueryCgdList(form.nuId)
}
})
}else{
editSubMp4({id:listobj.value.id,manuallyMp4Path:sub}).then(res=>{
if(res.success){
topbuttontarget.value = 0;
donghuaopo.value = false;
firstgetqueryCgdList(form.nuId)
}
})
}
}
const previewImage = (v, i, arr) => {
if(topbuttontarget.value == 1){
let u = []
arr.forEach(e => {
u.push(serverUrl.value + e)
})
uni.previewImage({
current: i,
urls: u,
showmenu: false,
longPressActions: {
itemList: [],
}
})
}
}
const videoContext = ref(null)
const play = (e,i)=>{
videoContext.value = uni.createVideoContext('myVideo'+i);
videoContext.value.play()
}
const pici = ref(0);
const del = (v,i) =>{
pici.value = i;
}
const del1=()=>{
ilanarr.value.splice(pici.value,1);
open.value = 0
}
//
const openerror = ref(false);
const errmsg = ref('')
const errmsgclk = (e,k)=>{
if(k==1){
if(indexmessage.value?.izStart=='Y'){
switch (e){
case 0:
if(indexmessage.value?.serviceContent==''){return}
errmsg.value = indexmessage.value?.serviceContent
break;
case 1:
if(indexmessage.value?.mp3File==''){return}
errmsg.value = indexmessage.value?.mp3File
break;
case 2:
if(indexmessage.value?.mp4File==''){return}
errmsg.value = indexmessage.value?.mp4File
break;
default:
break;
}
openerror.value = true;
}
}else{
if(indexmessage.value?.izStart=='Y'){
switch (e){
case 3:
ysptp(indexmessage.value,0,1)
break;
case 4:
ysptp(indexmessage.value,0,2)
break;
default:
break;
}
}
}
}
const severcards = ref<InstanceType<typeof ChildComponent>>()
const start = (v) =>{
if(v.izStart!='N'){return}
startOrder({id:v.id}).then(res=>{
if(res.success){
v.izStart = "Y";
severcards.value.firstgetqueryCgdList()
}else{
}
})
}
const end = (v)=>{
if(indexmessage.value.izStart=='Y'&& indexmessage.value.izFinish=='N'){
open.value=3;
}
}
const ends = ()=>{
endOrder({id:indexmessage.value.id}).then(res=>{
if(res.success){
open.value=0;
severcards.value.firstgetqueryCgdList()
firstgetqueryCgdList(uni.getStorageSync('nuId'))
}else{
}
})
}
const leftMenuArray = ref([]);
const openleft = ref(false)
const menutarget = ref(0)
const emit = defineEmits(['swip'])
@ -825,8 +250,7 @@
uni.setStorageSync('nuName', data.nuName);
uni.setStorageSync('elderId', data?.elderInfo ? data.elderInfo?.id : null);
uni.setStorageSync('NUall', data);
severcards.value.firstgetqueryCgdList()
firstgetqueryCgdList(data.nuId);
inits(data.nuId)
emit('swip');
hlylhq(data.nuId )
zlfunc(data.nuId )
@ -906,61 +330,7 @@
return `${base}/${prefix}${idx}.${ext}`
})
}
const rightMenu = ref([
// {
// url: "/static/index/newindex/rightmenu/0.png",
// name: ''
// },
{
url: "/static/index/newindex/rightmenu/1.png",
name: '转单执行'
},
{
url: "/static/index/newindex/rightmenu/2.png",
name: '协助执行'
},
])
const leftArray = ref(genPaths(
'/static/index/newindex/leftmenu',
'left',
5, //
'png',
0, //
false //
))
const huliArray = ref(genPaths(
'/static/index/newindex/huli',
'care',
9, //
'png',
0, //
false //
))
const base = genPaths(
'/static/index/newindex/curve',
'curve_',
9,
'png',
1,
false
)
const blueArray = ref([
...base,
...[...base].reverse() // base
])
const basesmall = genPaths(
'/static/index/newindex/curve',
'breathe_',
9,
'png',
1,
false
)
const bluesmallArray = ref([
...basesmall,
...[...basesmall].reverse() // base
])
// 使watchisShow
@ -1021,6 +391,7 @@
transition.value = true;
}, 50)
})
const leftMenuArray = ref([])
const filteredMenu = (index : number) => {
return leftMenuArray.value.filter(item => Number(item.areaFlag) - 1 == index);
}
@ -1109,7 +480,7 @@
height: 430rpx;
margin-right: 3vw;
margin-bottom: 0%;
border-radius: 30rpx;
border-radius: 1.6vw;
display:flex;
position: relative;
video{
@ -1126,11 +497,10 @@
transition: opacity 1s ease;
margin-top: 25rpx;
.right-time{
// margin-top: 10rpx;
width: 100%;
height: 15vh;
background-color: #fff;
border-radius: 4vh;
border-radius: 1.6vw;
display: flex;
flex-direction: column;
justify-content: center;
@ -1154,7 +524,7 @@
width: 100%;
height: 35vh;
background-color: #fff;
border-radius: 4vh;
border-radius: 1.6vw;
margin-top: 25rpx;
.top-title {
@ -1221,7 +591,7 @@
width: 100%;
height: 38vh;
background-color: #fff;
border-radius: 3vh;
border-radius: 1.6vw;
padding-top: 1vh;
display: flex;
flex-direction: column;
@ -1281,6 +651,8 @@
position: relative;
font-size: 28rpx;
margin-top: 25rpx;
width: 105%;
left: -1vw;
}
.date {
@ -1291,112 +663,22 @@
.photo-father {
width: 100%;
height: 1100rpx;
display: flex;
flex-direction: column;
align-items: center;
position: relative;
margin-top: 0rpx;
}
.juzhong {
position: absolute;
top: 0%;
left: 50%;
transform: translate(-50%, -20%);
//
z-index: 1;
}
.weight-time {
font-weight: 800;
font-size: 70rpx;
margin-top: 30rpx;
position: relative;
margin-left: -50rpx;
}
.big-img {
margin-top: 40rpx;
margin-bottom: 40rpx;
width: 450rpx;
height: 450rpx;
z-index: 10;
}
.server-name {
font-size: 35rpx;
margin-right: 10rpx;
font-weight: 600;
}
.server-number {
font-size: 30rpx;
margin-right: 10rpx;
margin-top: 25rpx;
color: #666666;
}
.server-bgc {
width: 160rpx;
height: 50rpx;
display: flex;
justify-content: center;
align-items: center;
position: relative;
}
.bgc-img {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}
.bgc-font {
color: #fff;
z-index: 1;
}
.states-father {
display: flex;
margin: 0 20rpx;
}
.start-button {
width: 100%;
height: 100%;
background: linear-gradient(to bottom, #009DEF, #0076FF);
display: flex;
justify-content: center;
align-items: center;
border-radius: 40rpx;
color: #fff;
font-size: 30rpx;
}
.end-button {
width: 100%;
height: 100%;
background: linear-gradient(to bottom, #FFFFFF, #C8D0D9);
display: flex;
justify-content: center;
align-items: center;
border-radius: 40rpx;
font-size: 30rpx;
}
.title-card-right {
position: absolute;
right: 0;
top: 0;
width: 10vw;
height: 9.4vw;
border-radius: 2vw;
border-radius: 1.6vw;
background-color: #E4EBF4;
padding: 1.6vw;
margin-right: 1.5vw;

View File

@ -152,6 +152,7 @@
watch(
()=>props.show,
()=>{
console.log(props.caigouobj)
if(props.show){
let a = [
{

View File

@ -21,20 +21,25 @@
</view>
<view class="msitem guodu" >
<view>
<view>{{v.materialName}}</view><text>{{v.materialNo}}</text>
<view>{{v.materialName}}</view>
</view>
<view>
<text style="white-space: nowrap;margin-top: 1.2vw;"> 物料编码: {{v.materialNo}}</text>
</view>
<view>
<text style="white-space: nowrap;"> 规格型号: {{v.specificationModel}}</text>
</view>
<view>
<text v-if="v.multiUnitType=='1'">采购单价: {{Number(v.oneUnitPrice).toFixed(2) }} </text>
<text v-if="v.multiUnitType=='1'">采购单位: {{ v.oneUnit}}</text>
<text v-if="v.multiUnitType=='2'">采购单价: {{Number(v.twoUnitPrice).toFixed(2) }} </text>
<text v-if="v.multiUnitType=='2'">采购单位: {{ v.twoUnit}}</text>
<text v-if="v.multiUnitType=='3'">采购单价: {{ Number(v.referenceUnitPrice).toFixed(2)}} </text>
<text v-if="v.multiUnitType=='3'">采购单位: {{ v.materialUnits}}</text>
</view>
<view>
<text v-if="v.multiUnitType=='1'">采购单位: {{ v.oneUnit}}</text>
<text v-if="v.multiUnitType=='2'">采购单位: {{ v.twoUnit}}</text>
<text v-if="v.multiUnitType=='3'">采购单位: {{ v.materialUnits}}</text>
</view>
<view class="wlsy">
<view>
<text>{{v.kcsl}}</text>
<text>库存数量</text>
@ -176,14 +181,14 @@
}
.fler {
width: 44vw;
height: 15.6vw;
height: 22.3vw;
}
}
.carditem {
width: 44vw;
height: 14.5vw;
background: rgba(255, 255, 255, 0.4);
height: 21.2vw;
background: rgba(255, 255, 255, 1);
border-radius: 1.6vw;
position: relative;
margin-bottom: 1.1vw;
@ -202,7 +207,7 @@
right: -14vw;
>view {
width: 7vw;
width: 5.7vw;
height: 100%;
font-weight: 400;
font-size: 1.5vw;
@ -242,13 +247,13 @@
.add {
width: 4.5vw;
height: 14.5vw;
display: inline-flex;
height: 100%;
position: absolute;
display: flex;
justify-content: center;
align-items: center;
position: relative;
top: -2vw;
top: 0vw;
right:1.2vw;
>view {
width: 4.5vw;
height: 1.8vw;
@ -263,7 +268,7 @@
align-items: center;
position: absolute;
top: 0.8vw;
right: 0vw;
right:1.6vw;
}
image {
@ -276,72 +281,18 @@
width: 25vw;
height: 100%;
padding: 1vw;
display: inline-block;
position: absolute;
left:15vw;
top: 0;
>view {
margin-top: 0.25vw;
&:nth-child(4) {
width: 100%;
height: 3.4vw;
display: flex;
justify-content: space-between;
>view {
width: 33.3%;
height: 100%;
display: flex;
flex-direction: column;
position: relative;
margin-top:1vw;
&:nth-child(1) {
width: 30%;
align-items: left;
}
&:nth-child(2) {
width: 40%;
align-items: center;
}
&:nth-child(3) {
width: 30%;
text-align: right;
align-items: right;
}
&:nth-child(2)::after {
content: '';
position: absolute;
right: 0;
width: 100%;
height: 2.2vw;
border-left: 1px solid #C9C9C9;
border-right: 1px solid #C9C9C9;
top: 0.6vw;
}
text {
&:nth-child(1) {
font-weight: bold;
font-size: 1.7vw;
color: #555555;
}
&:nth-child(2) {
font-weight: 400;
font-size: 1.1vw;
color: #999999;
}
}
}
}
&:nth-child(2),
&:nth-child(3) {
&:nth-child(3),
&:nth-child(4),
&:nth-child(5){
display: flex;
justify-content: space-between;
margin-top: 0.25vw;
text {
font-weight: 400;
font-size: 1.4vw;
@ -355,12 +306,12 @@
justify-content: space-between;
align-items: center;
height: 2vw;
margin-top: 1vw;
>view {
width: 19vw;
height: 2vw;
font-weight: bold;
font-size: 1.6vw;
font-size:1.8vw;
color: #222222;
text-overflow: ellipsis;
overflow: hidden;
@ -375,18 +326,77 @@
}
}
}
>.wlsy{
width: 100%;
height: 3.4vw;
display: flex;
justify-content: space-between;
margin-top: 0.5vw;
>view {
width: 33.3%;
height: 100%;
display: flex;
flex-direction: column;
position: relative;
margin-top:1vw;
&:nth-child(1) {
width: 30%;
align-items: left;
}
&:nth-child(2) {
width: 40%;
align-items: center;
}
&:nth-child(3) {
width: 30%;
text-align: right;
align-items: right;
}
&:nth-child(2)::after {
content: '';
position: absolute;
right: 0;
width: 100%;
height: 2.2vw;
border-left: 1px solid #C9C9C9;
border-right: 1px solid #C9C9C9;
top: 0.6vw;
}
text {
&:nth-child(1) {
font-weight: bold;
font-size: 1.8vw;
color: #555555;
}
&:nth-child(2) {
font-weight: 400;
font-size: 1.2vw;
color: #999999;
}
}
}
}
}
// .spleft{
// margin-left: -15vw !important;
// }
.speitem {
width: 13vw;
width: 14.8vw;
height: 100%;
display: inline-flex;
position: absolute;
display:flex;
flex-direction: column;
position: relative;
top: -2vw;
top: 0;
left: 0;
justify-content: center;
align-items: center;
.cardp {
width: 12.5vw;
@ -421,8 +431,8 @@
}
}
.imghs{
width: 9vw;
height: 8vw;
width: 12vw;
height: 12vw;
margin: 0.8vw auto 0.25vw;
padding: 0.2vw;
background: #fff;

View File

@ -5,9 +5,9 @@
<view>
<image src="/static/index/procurement/ddj.png" mode="aspectFill"></image>
</view>
<view style="text-align: center;">{{ font }}</view>
<view style="text-align: center;" :style="fontsize">{{ font }}</view>
<view>
<view @click="$emit('back')">取消</view>
<view @click="$emit('back')" v-if="close">取消</view>
<view class="qd" @click="$emit('right')">确定</view>
</view>
</view>
@ -27,6 +27,8 @@
type: String,
default: ''
},
fontsize:'',
close:true
},
methods: {
@ -49,7 +51,7 @@
bottom: 0;
margin: auto;
padding: 2.8vw;
z-index: 9120000000000000000000000000000000000000000000000000000000;
z-index: 9120 ;
>view {
&:nth-child(4) {

View File

@ -342,6 +342,7 @@
}
const queryInvo = () => {
queryInvoicingList(form).then(res => {
console.log(res)
res.result.records.forEach(item => {
item.zk = false;
item.scrollleft = 0;
@ -548,14 +549,14 @@
.kcyj {
width: 100%;
height: 10vw;
height: 11vw;
display: flex;
margin-top: 1vw;
position: relative;
.kaprght {
width: 32vw;
height: 10vw;
height: 10.9vw;
margin-left: 0.6vw;
position: absolute;
right: 0;
@ -713,8 +714,8 @@
.kjlt {
width: 3.2vw;
height: 10vw;
background: rgba(255, 255, 255, 0.5);
height: 10.9vw;
background: rgba(255, 255, 255, 1);
border-radius: 1.1vw;
writing-mode: vertical-rl;
align-items: center;
@ -742,7 +743,7 @@
justify-content: center;
letter-spacing: 3px;
width: 3.2vw;
height: 10vw;
height: 10.9vw;
position: absolute;
top: 0;
border-radius: 1.1vw;
@ -787,7 +788,7 @@
.kcscrol {
width: 54.4vw;
height: 10vw;
height: 10.9vw;
white-space: nowrap;
margin-left: 0.6vw;
position: relative;
@ -796,8 +797,8 @@
.yjbox {
display: inline-block;
width: 14vw;
height: 10vw;
background: rgba(255, 255, 255, 0.4);
height: 10.9vw;
background: rgba(255, 255, 255, 1);
border-radius: 1.1vw;
margin-right: 0.6vw;
position: relative;
@ -863,16 +864,17 @@
border-radius: 1.6vw;
display: flex;
align-items: center;
margin-top: 0.7vw;
margin-top: 0.4vw;
position: relative;
.ipt {
display: flex;
align-items: center;
width: 24.2vw;
background: #E2E4E9;
border-radius: 1.65vw;
height: 3.3vw;
background: #FFFFFF;
border: 1px solid #D2D2D2;
image {
width: 2.2vw;
@ -932,7 +934,7 @@
width: 7.3vw;
height: 3.3vw;
margin: 0 0 0 0.7vw;
background: rgba(255, 255, 255, 0.6);
background: rgba(255, 255, 255, 1);
border: 1px solid #D9DADC;
color: #555555;