This commit is contained in:
Teng 2026-01-14 16:00:59 +08:00
commit 6f989bef84
12 changed files with 285 additions and 52 deletions

View File

@ -0,0 +1,229 @@
<template>
<view>
<view class="fixed-card" :style="openleft?{}:{right:`-34vw`}" >
<view class="fixed-card-left">
<image class="card-left-img" :style="!qcobj?.previewFile?'width: 450rpx':''"
:src="qcobj?.previewFile? 'https://www.focusnu.com/media/upFiles/' + qcobj?.previewFile: `/static/index/newindex/wendu/2.png`" mode="aspectFill"/>
<view class="">
{{qcobj.directiveName}}
</view>
</view>
<view>
<view class="big-time">
{{qcobj.startTime?.slice(11, 16) }} - {{qcobj.endTime?.slice(11, 16) }}
</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" />
{{qcobj.employeeName}}
</view>
<view class="icon-button">
<view class="" :class="qcobj.izStart=='N'?'button-right':'button-left'" @click="start()">
开始服务
</view>
<view :class="(qcobj.izFinish=='N'&&qcobj.izStart=='Y')?'button-right':'button-left'" @click="end()">
结束服务
</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>
<tanchuang :show="open>0" font="是否结束服务指令?" @back="open = 0" @right="ends()"> </tanchuang>
</view>
</template>
<script setup lang="ts">
import { ref, onMounted, reactive, onBeforeUnmount, computed, nextTick, defineComponent,watch } from 'vue';
import { queryOrderlist,startDirectiveServe,finishDirectiveServe,queryOrderInfoList } from '@/pages/procurement/api/lunpan.js'
import { startOrder,endOrder,editSubPicPath,editSubMp4,queryEmpList,transferOrder,assistOrder} from '@/pages/NursingNew/component/doctorask/api/api.js'
const qcobj = ref({})
const openleft = ref(true)
const open = ref(0);
const zdcont = ref('');
const serverUrl = ref(uni.getStorageSync('serverUrl') + '/sys/common/static/')
const emit = defineEmits([ 'start' ,'end'])
const form = reactive({
pageNo: 1,
pageSize: 10,
employeeId:uni.getStorageSync('userInfo').employessId,
nuId:uni.getStorageSync('nuId')
})
onMounted(()=>{
firstgetqueryCgdList()
})
const firstgetqueryCgdList = () => {
console.log(form)
queryOrderlist(form).then(res => {
console.log(res)
if(res.result.records.length>0){
clickLeftMenu(0,res.result.records[0])
}else{
qcobj.value = {};
}
})
}
const clickLeftMenu = (index : any, item : object) => {
queryOrderInfoList({ mainId: item.id }).then(res => {
if(res.result.length>0){
qcobj.value = res.result[0];
openleft.value = qcobj.value.izStart=='N'?true:false;
}else{
qcobj.value = {};
}
})
}
const start = () => {
if(qcobj.value.izStart!='N'){return}
startOrder({ id: qcobj.value.id }).then(res => {
if (res.success) {
qcobj.value.izStart = 'Y';
clickLeftMenu(0,{id:qcobj.value.mainId})
} else {
uni.showToast({
icon: 'none',
title: res.message
})
}
})
}
// const end = () => {
// if(qcobj.value.izFinish!='N'&&qcobj.value.izStart!='Y'){return}
// finishDirectiveServe({ id: qcobj.value.id }).then(res => {
// if (res.success) {
// qcobj.value.izFinish = 'Y';
// firstgetqueryCgdList()
// } else {
// uni.showToast({
// icon: 'none',
// title: res.message
// })
// }
// })
// }
const end = (v)=>{
if(qcobj.value.izStart=='Y'&& qcobj.value.izFinish=='N'){
open.value=3;
}
}
const ends = ()=>{
endOrder({id:qcobj.value.id}).then(res=>{
if(res.success){
open.value=0;
firstgetqueryCgdList()
}else{
}
})
}
</script>
<style lang="less" scoped>
.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;
}
}
.fixed-card {
position: fixed;
right: 1vw;
top: 2vh;
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;
z-index: 999;
.fixed-card-left {
display: flex;
flex-direction: column;
align-items: center;
margin: 0 2vw;
.card-left-img {
width: 12vw;
height: 8vw;
}
}
.big-time {
font-weight: 600;
font-size: 1.8vw;
padding-left: 1vw;
}
.icon-people {
display: flex;
margin: 0.3vw 0;
color: #555555;
width: 18vw;
padding-left: 1vw;
.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;
width: 18vw;
justify-content: space-around;
.button-left {
width: 8vw;
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: 8vw;
height: 3.3vw;
background-color: #fff;
display: flex;
justify-content: center;
align-items: center;
border-radius: 1.2vw;
border: 1rpx solid #5AAEFF;
color: #249BFA;
background: linear-gradient(to bottom, #fff, #D1EAFF);
}
}
}
</style>

View File

@ -5,6 +5,7 @@ import uView from './uni_modules/vk-uview-ui'
import donghua from '@/component/public/donghua.vue'
import errorshow from '@/component/public/errorshow.vue'
import tanchuang from '@/pages/procurement/components/tanchuang.vue'
import severcard from '@/component/public/severcard.vue'
// import WsRequest from '@/common/websocket.js' // default 导入,文件必须有 export default
export function createApp() {
@ -26,6 +27,7 @@ export function createApp() {
app.component('donghua', donghua)
app.component('tanchuang', tanchuang)
app.component('errorshow', errorshow)
app.component('severcard', severcard)
return { app }
}

View File

@ -369,7 +369,7 @@
</view>
<image src="/static/index/card/zanw.png" mode="aspectFill"
v-if="emotionTagList.length==0"
style="width: 5.4vw;height: 5.4vw;margin-top: -0.7vw;"></image>
style="width: 5.4vw;height: 5.4vw;margin-top: -0.7vw;margin-left: -1vw;"></image>
</view>
</view>
<view class="carfd" v-if="zzbqshow">
@ -383,7 +383,7 @@
<text>{{v.tagName}}</text>
</view>
<image src="/static/index/card/zanw.png" mode="aspectFill" v-if="bodyTagList.length==0"
style="width: 5.4vw;height: 5.4vw;margin-top: -0.7vw;"></image>
style="width: 5.4vw;height: 5.4vw;margin-top: -0.7vw;margin-left: 1.2vw;"></image>
</view>
</view>
</view>
@ -665,7 +665,9 @@
let obj = {
mainId:indexmessage.value.mainId,
employeeId:s.id,
employeeName:s.name
employeeName:s.name,
beforeBy:indexmessage.value.employeeId,
beforeByName:indexmessage.value.employeeName
}
let nuId = uni.getStorageSync('nuId');
transferOrder(obj).then(res=>{
@ -687,11 +689,16 @@
name+=item.name+','
}
})
id = id.slice(0, -1);
name = name.slice(0, -1);
let obj = {
mainId:indexmessage.value.mainId,
employeeId:id,
employeeName:name
optIds:id,
optNames:name,
beforeBy:indexmessage.value.employeeId,
beforeByName:indexmessage.value.employeeName
}
console.log(obj)
assistOrder(obj).then(res=>{
if(res.success){
clickLeftMenu(0,{id:indexmessage.value.mainId})
@ -705,6 +712,7 @@
const plsbuy = ref([])
const firstgetqueryCgdList = (nuId) => {
form.nuId = nuId;
console.log(form)
queryOrderList(form).then(res => {
if(res.result.records.length>0){
clickLeftMenu(0,res.result.records[0])
@ -772,7 +780,7 @@
success: (e)=> {
uni.compressVideo({
src: e.tempFilePath,
quality: 60,
quality: 'medium',
success: res => {
sxdupld(res.tempFilePath)
// v.picPatharr.push(res.tempFilePath);
@ -875,7 +883,6 @@
});
const errmsgclk = (e,k)=>{
console.log(indexmessage.value,k)
if(k==1){
if(indexmessage.value?.izStart=='Y'){
switch (e){
@ -1138,7 +1145,6 @@
})
const filteredMenu = (index : number) => {
// console.log(leftMenuArray.value.filter(item => Number(item.areaFlag) - 1 == index))
return leftMenuArray.value.filter(item => Number(item.areaFlag) - 1 == index);
}
const getmenu = () => {
@ -1281,7 +1287,9 @@
const clicktag = (item, index) => {
tagtarget.value = index;
detail.value = getStatusDesc(item.tagName)
leftnumber.value = getleft(index)
leftnumber.value = getleft(index);
bodyTagList.value = [];
emotionTagList.value = [];
}
</script>
@ -1354,19 +1362,20 @@
border-radius: 4vh;
.top-title {
width: 100%;
height: 7vh;
width: 80%;
height: 6vh;
display: flex;
align-items: center;
margin-left: 2vw;
font-size: 1.4vw;
font-weight: 600;
border-bottom: 1px solid #F2F2F2;
}
.top-list {
width: 100%;
height: 26vh;
margin-top: 1vw;
.list-view {
width: 86%;
margin-left: 7%;
@ -1501,7 +1510,7 @@
display: flex;
justify-content: space-between;
align-items: center;
width: 80%;
width: 90%;
.right-container-tem-text {
font-size: 30rpx;

View File

@ -399,7 +399,7 @@
.carditem{
width: 28.3vw;
height: 13vw;
background: rgba(245, 246, 248, 1);
background: rgba(255, 255, 255, 0.6);
border-radius: 1.1vw;
position: relative;
overflow: hidden;

View File

@ -56,6 +56,7 @@
<submits :show="subshow" :list="addMaterial" @fill="subshow = false" @config="tijiao"></submits>
<tanchuang @back="thshow = false" :show="thshow" font="是否发起退货流程?" @right="thclk"></tanchuang>
<errorshow :show="openerror" :font="errmsg" @close="openerror=false" />
<severcard></severcard>
</view>
</template>

View File

@ -79,10 +79,10 @@
})
}
const tabbrarr = ref([
{ name: '护理矩阵', url: '/static/shouye/sy/n0.png', urls: '/static/shouye/sy/n1.png' ,type:'kzgn_hljz'},
{ name: '医疗矩阵', url: '/static/shouye/sy/y0.png', urls: '/static/shouye/sy/y1.png' ,type:'kzgn_yljz'},
{ name: '后勤矩阵', url: '/static/shouye/sy/l0.png', urls: '/static/shouye/sy/l1.png' ,type:'kzgn_hqjz'},
{ name: '库房矩阵', url: '/static/shouye/sy/l0.png', urls: '/static/shouye/sy/l1.png' ,type:'kzgn_kfjz'},
{ name: '护理', url: '/static/shouye/sy/n0.png', urls: '/static/shouye/sy/n1.png' ,type:'kzgn_hljz'},
{ name: '医疗', url: '/static/shouye/sy/y0.png', urls: '/static/shouye/sy/y1.png' ,type:'kzgn_yljz'},
{ name: '后勤', url: '/static/shouye/sy/l0.png', urls: '/static/shouye/sy/l1.png' ,type:'kzgn_hqjz'},
{ name: '库房', url: '/static/shouye/sy/l0.png', urls: '/static/shouye/sy/l1.png' ,type:'kzgn_kfjz'},
])
const specialPage = ref(0)
const navurl = (e,v) => {

View File

@ -1188,19 +1188,20 @@
margin-top: 25rpx;
.top-title {
width: 100%;
height: 7vh;
width: 80%;
height: 6vh;
display: flex;
align-items: center;
margin-left: 2vw;
font-size: 1.4vw;
font-weight: 600;
border-bottom: 1px solid #F2F2F2;
}
.top-list {
width: 100%;
height: 26vh;
margin-top: 1vw;
.list-view {
width: 86%;
margin-left: 7%;

View File

@ -42,10 +42,10 @@
import nurse from "@/pages/NursingNew/component/nurse/index.vue"
const tabbrarr = ref([
{ name: '护理矩阵', url: '/static/shouye/sy/n0.png', urls: '/static/shouye/sy/n1.png' ,type:'kzgn_hljz'},
{ name: '医疗矩阵', url: '/static/shouye/sy/y0.png', urls: '/static/shouye/sy/y1.png' ,type:'kzgn_yljz'},
{ name: '后勤矩阵', url: '/static/shouye/sy/l0.png', urls: '/static/shouye/sy/l1.png' ,type:'kzgn_hqjz'},
{ name: '库房矩阵', url: '/static/shouye/sy/l0.png', urls: '/static/shouye/sy/l1.png' ,type:'kzgn_kfjz'},
{ name: '护理', url: '/static/shouye/sy/n0.png', urls: '/static/shouye/sy/n1.png' ,type:'kzgn_hljz'},
{ name: '医疗', url: '/static/shouye/sy/y0.png', urls: '/static/shouye/sy/y1.png' ,type:'kzgn_yljz'},
{ name: '后勤', url: '/static/shouye/sy/l0.png', urls: '/static/shouye/sy/l1.png' ,type:'kzgn_hqjz'},
{ name: '库房', url: '/static/shouye/sy/l0.png', urls: '/static/shouye/sy/l1.png' ,type:'kzgn_kfjz'},
])
const menuop = ref(0)
const swipdex = ref(0)

View File

@ -38,7 +38,7 @@
</view>
<view class="juzhentag tp" @click="housactive(6)">
<view class="blue-bgc" style="background: #7BC2FF;width: 8vw;">
库房矩阵
库房
<view class="triangle-middle" style="border-top: 0.5vw solid #7BC2FF"></view>
</view>
<image class="blue-imge" src="/static/index/warehouse/home/z.png" mode=""></image>

View File

@ -431,4 +431,18 @@ export const queryOrderList = (params) => {
data: params,
})
}
export const queryOrderInfoList = (params) => {
return request({
url: `${uni.getStorageSync('serverUrl')}/api/pad/serviceorder/queryOrderInfoList`,
method: 'get',
data: params,
})
}
// 服务指令左侧
export const queryOrderlist = (params) => {
return request({
url: `${uni.getStorageSync('serverUrl')}/api/pad/serviceorder/queryOrderList`,
method: 'get',
data: params,
})
}

View File

@ -347,7 +347,7 @@
.ifclass {
width: 36vw;
height: 85vh;
height: 83vh;
position: fixed;
z-index: 120;
background: rgba(255, 255, 255, 0.98);
@ -360,7 +360,7 @@
.btnbotm {
width: 100%;
height: 4vw;
margin-top: 3vw;
margin-top:1.5vw;
display: flex;
justify-content: flex-end;
align-items: end;

View File

@ -276,23 +276,11 @@
})
}
})
// startServe({ id: v.id }).then(res => {
// if (res.success) {
// th(v, i)
// } else {
// uni.showToast({
// icon: 'none',
// title: res.message
// })
// }
// })
}
const end = () => {
finishDirectiveServe({ id: qcobj.value.id }).then(res => {
if (res.success) {
qcobj.value.izFinish = 'Y';
// th(tharrlist.value[cardindex.value],cardindex.value);
qCareList(tharrlist.value[cardindex.value])
} else {
uni.showToast({
@ -301,17 +289,6 @@
})
}
})
// finishServe({ id: v.id }).then(res => {
// console.log(res)
// if (res.success) {
// th(v, i)
// } else {
// uni.showToast({
// icon: 'none',
// title: res.message
// })
// }
// })
}
const status = ref('loadmore')