This commit is contained in:
wangweidong 2025-12-12 17:32:23 +08:00
commit 2747b32521
15 changed files with 455 additions and 382 deletions

View File

@ -1,5 +1,5 @@
<!-- 使用示例 已经全局暴露了直接用--> <!-- 使用示例 已经全局暴露了直接用-->
<!-- <errorshow :show="openerror" font="确定将本次请领清单中的所有物料都移除吗?" @close="openerror=false" /> --> <!-- <errorshow :show="openmessage" :font="errormessage" @close="openmessage=false" /> -->
<template> <template>
<view> <view>
<view class="addall" v-if="show"> <view class="addall" v-if="show">

View File

@ -140,7 +140,7 @@
method: 'GET', method: 'GET',
dataType:'json', dataType:'json',
success: (res) => { success: (res) => {
console.log("?????",res) // console.log("?????",res)
// this.$emit('chuandinew',this.updated2version) // this.$emit('chuandinew',this.updated2version)
if(res.statusCode===404){ if(res.statusCode===404){
return return

View File

@ -22,7 +22,7 @@
<view>-</view> <view>-</view>
</view> </view>
</view> </view>
<view class="que" v-if="Material.length==0&&timeout"> <view class="que guodu" v-if="Material.length==0&&timeout" :style="qb?'width:65.8vw':'' " >
<image src="/static/index/procurement/que.png" mode="aspectFill"></image> <image src="/static/index/procurement/que.png" mode="aspectFill"></image>
<view>暂无数据</view> <view>暂无数据</view>
</view> </view>
@ -30,19 +30,28 @@
style="position: absolute;width: 10vw;height: 10vw;"></defaultr> --> style="position: absolute;width: 10vw;height: 10vw;"></defaultr> -->
</scroll-view> </scroll-view>
<view class="kjlt more guodu" :style="qb?'width:15vw':'' " @touchstart="ts" @touchmove="canmove" <view class="kjlt more guodu" :style="qb?'width:15vw':'' " @touchstart="ts" @touchmove="canmove"
v-if="Material.length>0"> >
<view @click="zksq" class="righ0"> <view @click="zksq" class="righ0">
{{!qb?'更多':'收起'}} {{!qb?'更多':'收起'}}
<image class="guodu" :style="qb?'transform: rotate(180deg);':''" <image class="guodu" :style="qb?'transform: rotate(180deg);':''"
src="/static/index/procurement/zjt.png" mode="aspectFill"></image> src="/static/index/procurement/zjt.png" mode="aspectFill"></image>
</view> </view>
<view class="guodu" :class="qb?(moredex==1?'avt':''):'righ0'" @click="moredex = moredex==1?0:1; "> <view class="guodu" v-if="Material.length" :class="qb?(moredex==1?'avt':''):'righ0'" @click="moredex = moredex==1?0:1; ">
批量移除 批量移除
</view> </view>
<view class="guodu" :class="qb?(moredex==2?'avt':''):'righ0'" @click="moredex=2; "> <view class="guodu" v-if="Material.length" :class="qb?(moredex==2?'avt':''):'righ0'" @click="moredex=2; ">
清空列表 清空列表
</view> </view>
<view class="guodu" :class="qb?(moredex==3?'avt':''):'righ0'" @click="moredex=3;emit('submit')"> <view class="guodu" v-if="Material.length" :class="qb?(moredex==3?'avt':''):'righ0'" @click="moredex=3;emit('submit')">
提交请领单
</view>
<view class="guodu" v-if="!Material.length" style="background-color: #e8e8e8;" :class="qb?(moredex==1?'avt':''):'righ0'">
批量移除
</view>
<view class="guodu" v-if="!Material.length" style="background-color: #e8e8e8;" :class="qb?(moredex==2?'avt':''):'righ0'">
清空列表
</view>
<view class="guodu" v-if="!Material.length" style="background-color: #e8e8e8;" :class="qb?(moredex==3?'avt':''):'righ0'">
提交请领单 提交请领单
</view> </view>
</view> </view>
@ -63,7 +72,7 @@
}); });
const emit = defineEmits(['delall', 'del', 'submit']) const emit = defineEmits(['delall', 'del', 'submit'])
const serverUrl = ref(uni.getStorageSync('serverUrl') + '/sys/common/static/') const serverUrl = ref(uni.getStorageSync('serverUrl') + '/sys/common/static/')
const qb = ref(false) const qb = ref(true)
const moredex = ref(0) const moredex = ref(0)
watch(() => props.Material, watch(() => props.Material,
() => { () => {
@ -71,6 +80,11 @@
qb.value = false; qb.value = false;
moredex.value = 0; moredex.value = 0;
} }
if(props.Material.length == 1) {
if(!qb.value){
qb.value = true;
}
}
}) })
const delall = () => { const delall = () => {
emit('delall'); emit('delall');
@ -83,13 +97,13 @@
emit('del', v) emit('del', v)
} }
const zksq = () => { const zksq = () => {
if (props.Material.length == 0) { // if (props.Material.length == 0) {
uni.showToast({ // uni.showToast({
icon: 'none', // icon: 'none',
title: '请添加请领物料!' // title: ''
}) // })
return // return
} // }
qb.value = !qb.value; qb.value = !qb.value;
moredex.value = 0; moredex.value = 0;
moveleft(); moveleft();
@ -166,7 +180,7 @@
display: flex; display: flex;
justify-content: center; justify-content: center;
letter-spacing: 3px; letter-spacing: 3px;
font-size: 1.4vw; font-size: 1.5vw;
position: relative; position: relative;
z-index: 10; z-index: 10;
@ -198,9 +212,11 @@
margin-left: 0.6vw; margin-left: 0.6vw;
position: relative; position: relative;
background: RGBA(239, 240, 244, 1); background: RGBA(239, 240, 244, 1);
.righ0 { .righ0 {
right: 0 !important; right: 0 !important;
} }
view { view {
@ -350,7 +366,7 @@
position: fixed; position: fixed;
top: 0; top: 0;
left: 0; left: 0;
width: 82.2vw; width: 77.5vw;
height: 10vw; height: 10vw;
background: rgba(245, 246, 248, 1); background: rgba(245, 246, 248, 1);
display: flex; display: flex;

View File

@ -27,11 +27,11 @@
<view> <view>
<view> <view>
<text>{{v.qlNum?v.qlNum:'--'}}</text> <text>{{v.qlNum?v.qlNum:'--'}}</text>
<text>退货数量</text> <text>请领数量</text>
</view> </view>
<view> <view>
<text>{{v.materialInfo?.materialUnits}}</text> <text>{{v.materialInfo?.materialUnits}}</text>
<text>退货单位</text> <text>请领单位</text>
</view> </view>
</view> </view>
</view> </view>
@ -366,12 +366,10 @@
} }
} }
.itembox{ .itembox{
width: 55vw; width: 55vw;
height: calc(100vh - 15vw); height: calc(100vh - 11.5vw);
padding:1vw 0.5vw 1vw; padding:0vw 0.5vw 1vw;
.box{ .box{
width: 100%; width: 100%;
display: grid; display: grid;

View File

@ -1,7 +1,7 @@
<template> <template>
<view> <view>
<view class="mengban" @click="emit('fill')" v-if="show"> </view> <view class="mengban" @click="emit('fill')" v-if="show"> </view>
<view class="takitem guodu" :class="show?'':'unclass'" :style="showbox?'z-index:220':'z-index:-2'"> <view class="takitem guodu" :class="show?'':'unclass'" :style="showbox?'z-index:220':'z-index:-2'">
<view class="tit"> <view class="tit">
请领物料 请领物料
</view> </view>
@ -9,7 +9,9 @@
<view class="zuo"> <view class="zuo">
<view class="carp"> <view class="carp">
<view class="zuoimg tp"> <view class="zuoimg tp">
<image :src="objtake?.materialImg?serverUrl+objtake?.materialImg:'/static/index/procurement/k.png'" mode="aspectFill"/> <image
:src="objtake?.materialImg?serverUrl+objtake?.materialImg:'/static/index/procurement/k.png'"
mode="aspectFill" />
</view> </view>
<view class="youcont"> <view class="youcont">
<view>{{objtake?.materialName}}</view> <view>{{objtake?.materialName}}</view>
@ -26,29 +28,30 @@
<view> <view>
<view> <view>
规格型号 规格型号
<text style="white-space: nowrap;">{{objtake?.specificationModel}}</text> <text style="white-space: nowrap;width:20vw ;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">{{objtake?.specificationModel}}</text>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<view class="qinggou-font"> <view class="qinggou-font">
数量 数量
</view> </view>
<view class="stringShow-father"> <view class="stringShow-father">
<view class="jj" @click="jjnum(-1)" @longpress="handleTouchStart(-1)" @touchend="handleTouchEnd"> <view class="jj" @click="jjnum(-1)" @longpress="handleTouchStart(-1)"
@touchend="handleTouchEnd">
- -
</view> </view>
<view class="stringShow-kuai"> <view class="stringShow-kuai">
<view v-for="(item,index) in stringShow" :key="index" :style="sx==true?'color: red':''"> <view v-for="(item,index) in stringShow" :key="index" :style="sx==true?'color: red':''">
{{item}} {{item}}
</view> </view>
</view> </view>
<view class="jj" @click="jjnum(1)" @longpress="handleTouchStart(1)" @touchend="handleTouchEnd"> <view class="jj" @click="jjnum(1)" @longpress="handleTouchStart(1)" @touchend="handleTouchEnd">
+ +
</view> </view>
</view> </view>
</view> </view>
<view class="you"> <view class="you">
<view class="calculator-father"> <view class="calculator-father">
@ -57,18 +60,17 @@
@click="clickKuai(item,index)"> @click="clickKuai(item,index)">
清零 清零
</view> </view>
<view class="calculator-kuai" v-else-if="item==`AE`" <view class="calculator-kuai" v-else-if="item==`AE`" @click="clickKuai(item,index)">
@click="clickKuai(item,index)"> <image src="/static/cleanone.png" mode="aspectFill"
<image src="/static/cleanone.png" mode="aspectFill" style="width: 50%;height: 50%;margin-left: -5rpx;"></image> style="width: 50%;height: 50%;margin-left: -5rpx;"></image>
</view> </view>
<view class="calculator-kuai" v-else <view class="calculator-kuai" v-else @click="clickKuai(item,index)">
@click="clickKuai(item,index)">
{{item}} {{item}}
</view> </view>
</view> </view>
</view> </view>
<view class="plsbuy-bottom"> <view class="plsbuy-bottom">
<view class="quxiao" @click="emit('fill')"> <view class="quxiao" @click="emit('fill')">
取消 取消
</view> </view>
<view class="plsbuy-bottom-blue" @click="closeIt"> <view class="plsbuy-bottom-blue" @click="closeIt">
@ -82,321 +84,346 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch, reactive } from 'vue'; import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch, reactive } from 'vue';
const props = defineProps({ const props = defineProps({
objtake: { objtake: {
type: Object, type: Object,
required: true required: true
}, },
show: { show: {
type: Boolean type: Boolean
}, },
num:{ num: {
type:Number type: Number
} }
}) })
const serverUrl = ref(uni.getStorageSync('serverUrl') + '/sys/common/static/') const serverUrl = ref(uni.getStorageSync('serverUrl') + '/sys/common/static/')
const emit = defineEmits([ 'fill' ,'right']) const emit = defineEmits(['fill', 'right'])
const showbox = ref(false) const showbox = ref(false)
watch(()=>props.show, watch(() => props.show,
()=>{ () => {
if(props.show==true){ if (props.show == true) {
relNumber.value = props.num ? props.num : 1; relNumber.value = props.num ? props.num : 1;
stringShow.value = toFixed4ByPadStart(relNumber.value) stringShow.value = toFixed4ByPadStart(relNumber.value)
setTimeout(()=>{ setTimeout(() => {
showbox.value = true showbox.value = true
},50) }, 50)
}else{ } else {
showbox.value = false; showbox.value = false;
isZero.value = false; isZero.value = false;
} }
}) })
const sx = ref(false) const sx = ref(false)
const calculatorArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, "AC", 0, "AE"]; const calculatorArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, "AC", 0, "AE"];
const stringShow = ref("0000"); const stringShow = ref("0000");
const relNumber = ref(1); const relNumber = ref(1);
const isZero = ref(false); const isZero = ref(false);
const clickKuai = (item : any, index : number) => { const clickKuai = (item : any, index : number) => {
if (item == "AC") { if (item == "AC") {
relNumber.value = 0; relNumber.value = 0;
stringShow.value = "0000"; stringShow.value = "0000";
return return
} }
if (item == "AE") { if (item == "AE") {
relNumber.value = Math.trunc(relNumber.value / 10) relNumber.value = Math.trunc(relNumber.value / 10)
stringShow.value = toFixed4ByPadStart(relNumber.value); stringShow.value = toFixed4ByPadStart(relNumber.value);
return return
} }
if(isZero.value == false&&item>0){ if (isZero.value == false && item > 0) {
isZero.value = true; isZero.value = true;
relNumber.value = item; relNumber.value = item;
stringShow.value = toFixed4ByPadStart(relNumber.value); stringShow.value = toFixed4ByPadStart(relNumber.value);
return return
} }
if (digitCountByString(relNumber.value) > 3) { if (digitCountByString(relNumber.value) > 3) {
} else {
if (!relNumber.value) {
relNumber.value = item
} else { } else {
if (!relNumber.value) { relNumber.value = relNumber.value * 10 + item;
relNumber.value = item
} else {
relNumber.value = relNumber.value * 10 + item;
}
stringShow.value = toFixed4ByPadStart(relNumber.value)
} }
}
const InteroutId = ref(null)
const handleTouchStart = (e:number)=> {
Interval(e)
}
const handleTouchEnd=()=> {
clearInterval(InteroutId.value);
//
}
const Interval = (e:number)=>{
InteroutId.value = setInterval(() => {
jjnum(e);
}, 120);
}
const jjnum = (e:number)=>{
let num = 9999;
if(relNumber.value>=num&&e==1){relNumber.value = num; return}
if(relNumber.value<=1&&e==-1){relNumber.value = 1; return}
relNumber.value+=e;
stringShow.value = toFixed4ByPadStart(relNumber.value) stringShow.value = toFixed4ByPadStart(relNumber.value)
// emit('jjnum',e)
} }
const times = ref(false) }
const closeIt = () => { const InteroutId = ref(null)
if(relNumber.value == 0){ const handleTouchStart = (e : number) => {
uni.showToast({ Interval(e)
icon:'none', }
title:"数量不能为0" const handleTouchEnd = () => {
}) clearInterval(InteroutId.value);
return //
} }
if(times.value == false){ const Interval = (e : number) => {
times.value = true; InteroutId.value = setInterval(() => {
emit('right', relNumber.value,props.objtake ) jjnum(e);
setTimeout(()=>{ }, 120);
times.value = false; }
},1500) const jjnum = (e : number) => {
} let num = 9999;
if (relNumber.value >= num && e == 1) { relNumber.value = num; return }
if (relNumber.value <= 1 && e == -1) { relNumber.value = 1; return }
relNumber.value += e;
stringShow.value = toFixed4ByPadStart(relNumber.value)
// emit('jjnum',e)
}
const times = ref(false)
const closeIt = () => {
if (relNumber.value == 0) {
uni.showToast({
icon: 'none',
title: "数量不能为0"
})
return
} }
function digitCountByString(n) { if (times.value == false) {
const s = Math.abs(n).toString(); times.value = true;
return s.length; emit('right', relNumber.value, props.objtake)
} setTimeout(() => {
function toFixed4ByPadStart(n) { times.value = false;
const intPart = Math.floor(Math.abs(n)); }, 1500)
return String(intPart).padStart(4, '0');
} }
}
function digitCountByString(n) {
const s = Math.abs(n).toString();
return s.length;
}
function toFixed4ByPadStart(n) {
const intPart = Math.floor(Math.abs(n));
return String(intPart).padStart(4, '0');
}
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
.takitem{ .takitem {
width: 53.3vw; width: 53.3vw;
height: 36vw; height: 36vw;
background: rgba(255, 255, 255, 0.98); background: rgba(255, 255, 255, 0.98);
box-shadow: 0rpx 0rpx 1.3vw 0rpx rgba(163,167,182,0.16); box-shadow: 0rpx 0rpx 1.3vw 0rpx rgba(163, 167, 182, 0.16);
border-radius: 1.6vw; border-radius: 1.6vw;
position: fixed; position: fixed;
z-index: 100; z-index: 100;
top: 13vw; top: 13vw;
right: 23.4vw; right: 23.4vw;
padding: 2vw; padding: 2vw;
.you{
.plsbuy-bottom { .you {
width: 100%; .plsbuy-bottom {
margin-top: 3vw; width: 100%;
height: 7vw; margin-top: 3vw;
display: flex; height: 7vw;
justify-content: flex-end; display: flex;
font-size: 35rpx; justify-content: flex-end;
view{ font-size: 35rpx;
display: flex;
justify-content: center; view {
align-items: center; display: flex;
width: 9.1vw; justify-content: center;
height: 3.8vw; align-items: center;
color: rgba(92, 121, 146, 1); width: 9.1vw;
border-radius:1.9vw; height: 3.8vw;
font-size: 1.8vw; color: rgba(92, 121, 146, 1);
border: 1px solid #EDEDEF; border-radius: 1.9vw;
margin-left: 1vw; font-size: 1.8vw;
} border: 1px solid #EDEDEF;
.quxiao{ margin-left: 1vw;
background: #EDEDEF;
color: #888888;
}
.plsbuy-bottom-blue {
background: linear-gradient(0deg, #CAE0F9, #E9F4FF);
border: 1px solid rgba(3,133,250,0.34);
color: #0385FA;
}
}
.calculator-father {
width: 19vw;
height: 20vw;
margin :0 auto 0;
flex-wrap: wrap;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
.calculator-kuai {
display: flex;
justify-content: center;
align-items: center;
background: url('/static/index/procurement/bt.png') no-repeat;
background-size: 100% 100%;
font-size: 42rpx;
font-weight: 500;
margin: 12rpx 20rpx 0 20rpx;
width: 4.4vw;
height: 4.4vw;
}
.calculator-kuai:active{
background: linear-gradient(to bottom, #00C9FF, #0076FF);
color: #fff;
font-size: 45rpx;
font-weight: 500;
border-radius: 1.6vw;
}
}
}
.stringShow-father {
width: 100%;
height:7vw;
margin-top:0.5vw;
display: flex;
align-items: center;
justify-content: flex-end;
.jj{
width: 5vw;
height: 5vw;
margin: 0 1vw;
display: flex;
justify-content: center;
align-items: center;
background: url('/static/index/procurement/bt.png') no-repeat;
background-size: 100% 100%;
border-radius: 45rpx;
font-size: 42rpx;
}
.jj:active{
background: linear-gradient(to bottom, #00C9FF, #0076FF);
color: #fff;
display: flex;
justify-content: center;
align-items: center;
background-color: #DCDCEE;
border-radius: 45rpx;
font-size: 45rpx;
font-weight: 500;
}
.stringShow-kuai {
display: flex;
align-items: center;
width: 11.5vw;
height: 5vw;
background: #F3F5F9;
border-radius: 1vw;
border: 1px solid #CBCFD0;
justify-content: space-around;
box-shadow: 0rpx 0.1vw 0.3vw 0rpx rgba(140,143,153,0.17) inset;
view{
display: flex;
justify-content: center;
align-items: center;
font-size: 42rpx;
font-weight: 500;
width:2.5vw;
height: 5vw;
}
}
}
.qinggou-font {
font-size: 1.4vw;
font-weight: 500;
text-align: center;
margin-left: 1.5vw;
} }
.cont{ .quxiao {
width: 100%; background: #EDEDEF;
height: 26.5vw; color: #888888;
display: flex; }
justify-content: space-between;
padding-top: 1.7vw; .plsbuy-bottom-blue {
.zuo{ background: linear-gradient(0deg, #CAE0F9, #E9F4FF);
width: 27vw; border: 1px solid rgba(3, 133, 250, 0.34);
height: 100%; color: #0385FA;
.carp{ }
width: 100%; }
height: 16vw;
display: flex; .calculator-father {
justify-content: space-between; width: 19vw;
padding-top: 1.8vw; height: 20vw;
.youcont{ margin: 0 auto 0;
width: 17vw; flex-wrap: wrap;
height: 100%; display: grid;
>view{ grid-template-columns: 1fr 1fr 1fr;
&:nth-child(2),&:nth-child(3){
width: 100%; .calculator-kuai {
height: 3.6vw; display: flex;
display: flex; justify-content: center;
justify-content: space-between; align-items: center;
margin-top: 1.8vw; background: url('/static/index/procurement/bt.png') no-repeat;
>view{ background-size: 100% 100%;
font-weight: 400; font-size: 42rpx;
font-size: 1.1vw; font-weight: 500;
color: #888888; margin: 12rpx 20rpx 0 20rpx;
display: flex; width: 4.4vw;
flex-direction: column; height: 4.4vw;
justify-content: space-between; }
text{
font-weight: 300; .calculator-kuai:active {
font-size: 1.4vw; background: linear-gradient(to bottom, #00C9FF, #0076FF);
color: #222222; color: #fff;
} font-size: 45rpx;
} font-weight: 500;
} border-radius: 1.6vw;
&:nth-child(1){ }
width: 17vw; }
height: 1.8vw; }
font-weight: bold;
font-size: 1.6vw; .stringShow-father {
color: #222222; width: 100%;
white-space: nowrap; height: 7vw;
text-overflow: ellipsis; margin-top: 0.5vw;
overflow: hidden; display: flex;
line-height: 1.8vw; align-items: center;
} justify-content: flex-end;
}
} .jj {
.zuoimg{ width: 5vw;
width: 8vw; height: 5vw;
height: 8vw; margin: 0 1vw;
image{ display: flex;
width: 100%; justify-content: center;
height: 100%; align-items: center;
} background: url('/static/index/procurement/bt.png') no-repeat;
} background-size: 100% 100%;
border-radius: 45rpx;
} font-size: 42rpx;
} }
}
.jj:active {
.tit{ background: linear-gradient(to bottom, #00C9FF, #0076FF);
width: 100%; color: #fff;
height: 2.6vw; display: flex;
border-bottom: 1px solid #E5E5E5; justify-content: center;
font-weight: 400; align-items: center;
font-size: 1.6vw; background-color: #DCDCEE;
color: #333333; border-radius: 45rpx;
line-height: 2.1vw; font-size: 45rpx;
} font-weight: 500;
} }
.mengban{
.stringShow-kuai {
display: flex;
align-items: center;
width: 11.5vw;
height: 5vw;
background: #F3F5F9;
border-radius: 1vw;
border: 1px solid #CBCFD0;
justify-content: space-around;
box-shadow: 0rpx 0.1vw 0.3vw 0rpx rgba(140, 143, 153, 0.17) inset;
view {
display: flex;
justify-content: center;
align-items: center;
font-size: 42rpx;
font-weight: 500;
width: 2.5vw;
height: 5vw;
}
}
}
.qinggou-font {
font-size: 1.4vw;
font-weight: 500;
text-align: center;
margin-left: 1.5vw;
}
.cont {
width: 100%;
height: 26.5vw;
display: flex;
justify-content: space-between;
padding-top: 1.7vw;
.zuo {
width: 27vw;
height: 100%;
.carp {
width: 100%;
height: 16vw;
display: flex;
justify-content: space-between;
padding-top: 1.8vw;
.youcont {
width: 17vw;
height: 100%;
>view {
&:nth-child(2),
&:nth-child(3) {
width: 100%;
height: 3.6vw;
display: flex;
justify-content: space-between;
margin-top: 1.8vw;
>view {
font-weight: 400;
font-size: 1.1vw;
color: #888888;
display: flex;
flex-direction: column;
justify-content: space-between;
text {
font-weight: 300;
font-size: 1.4vw;
color: #222222;
}
}
}
&:nth-child(1) {
width: 17vw;
height: 1.8vw;
font-weight: bold;
font-size: 1.6vw;
color: #222222;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
line-height: 1.8vw;
}
}
}
.zuoimg {
width: 8vw;
height: 8vw;
image {
width: 100%;
height: 100%;
}
}
}
}
}
.tit {
width: 100%;
height: 2.6vw;
border-bottom: 1px solid #E5E5E5;
font-weight: 400;
font-size: 1.6vw;
color: #333333;
line-height: 2.1vw;
}
}
.mengban {
width: 100vw; width: 100vw;
height: 100vh; height: 100vh;
position: fixed; position: fixed;
@ -405,18 +432,22 @@
left: 0; left: 0;
background: RGBA(239, 240, 244, 0.55); background: RGBA(239, 240, 244, 0.55);
} }
.hei0 { .hei0 {
height: 0 !important; height: 0 !important;
view{
view {
height: 0 !important; height: 0 !important;
} }
} }
.unclass { .unclass {
opacity: 0 !important; opacity: 0 !important;
} }
.guodu { .guodu {
transition: .4s; transition: .4s;
-webkit-transform-style: preserve-3d; -webkit-transform-style: preserve-3d;
-webkit-overflow-scrolling: touch; -webkit-overflow-scrolling: touch;
} }
</style> </style>

View File

@ -93,9 +93,10 @@
</view> </view>
<view class="middle-heng-father"> <view class="middle-heng-father">
<image class="middle-ball-img" style="width: 32rpx;height: 32rpx;" v-if="v?.status === '2' || v?.status === '3'" src="/static/index/requestform/iserror.png" /> <image class="middle-ball-img" style="width: 32rpx;height: 32rpx;"
<view class="middle-ball" v-if="v?.status === '2' || v?.status === '3'"
v-else-if="v?.status === '1'"> src="/static/index/requestform/iserror.png" />
<view class="middle-ball" v-else-if="v?.status === '1'">
</view> </view>
<image class="middle-ball-img" v-else src="/static/index/requestform/isok.png" /> <image class="middle-ball-img" v-else src="/static/index/requestform/isok.png" />
</view> </view>
@ -210,13 +211,14 @@
</defaultr> </defaultr>
</scroll-view> </scroll-view>
</view> </view>
<errorshow :show="openerror" :font="errormessage" @close="openerror=false" />
</view> </view>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch, reactive } from 'vue'; import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch, reactive } from 'vue';
import { onShow, onLoad, onHide, onPageScroll } from "@dcloudio/uni-app" import { onShow, onLoad, onHide, onPageScroll } from "@dcloudio/uni-app"
import { queryQld, queryQldWlInfo, transRead, cancellation,confirmReceipt } from '../api/api.js' import { queryQld, queryQldWlInfo, transRead, cancellation, confirmReceipt } from '../api/api.js'
import nomessage from '../common/nomessage.vue' import nomessage from '../common/nomessage.vue'
import defaultr from '../common/default.vue' import defaultr from '../common/default.vue'
const props = defineProps({ const props = defineProps({
@ -235,6 +237,7 @@
// console.log("??????",newVal, oldVal) // console.log("??????",newVal, oldVal)
// falsetrue0.2 // falsetrue0.2
if (!oldVal && newVal) { if (!oldVal && newVal) {
cannomessage.value = true
transition.value = false; transition.value = false;
chongzhi() chongzhi()
// firstgetqueryCgdList(); // firstgetqueryCgdList();
@ -265,7 +268,7 @@
selectType.value = index selectType.value = index
plzinfo.pageNo = 1; plzinfo.pageNo = 1;
plzinfo.canpull = true; plzinfo.canpull = true;
switch (index) { switch (index) {
case 0: case 0:
plzinfo.status = `1,2,4,5` plzinfo.status = `1,2,4,5`
@ -338,7 +341,7 @@
nomessageshow.value = true; nomessageshow.value = true;
return return
} }
cannomessage.value = false cannomessage.value = false
plsbuy.value = [] plsbuy.value = []
plsbuy.value.push(...res.result.records) plsbuy.value.push(...res.result.records)
@ -356,7 +359,7 @@
rightarray.value.push(...element.result) rightarray.value.push(...element.result)
rightdonghua.value = true; rightdonghua.value = true;
}) })
}else{ } else {
rightarray.value = [] rightarray.value = []
} }
@ -428,19 +431,22 @@
const serverUrl = ref("") const serverUrl = ref("")
onLoad(() => { onLoad(() => {
// console.log("",uni.getStorageSync('NUall')) // console.log("",uni.getStorageSync('NUall'))
serverUrl.value = uni.getStorageSync('serverUrl') + '/sys/common/static/'; serverUrl.value = uni.getStorageSync('serverUrl') + '/sys/common/static/';
// getSelectList(); // getSelectList();
}) })
const openerror = ref(false);
const errormessage = ref("")
const badshow = ref(false) const badshow = ref(false)
const zuofei = () => { const zuofei = () => {
cancellation({ qldNo: plsbuy.value[lefttarget.value].qldNo }).then((res : any) => { cancellation({ qldNo: plsbuy.value[lefttarget.value].qldNo }).then((res : any) => {
console.log('作废', res) console.log('作废', res)
badshow.value = false badshow.value = false
if(res.success){ if (res.success) {
plsbuy.value[lefttarget.value] = res.result.result plsbuy.value[lefttarget.value] = res.result.result
}else{ } else {
plzinfo.pageNo = 1; plzinfo.pageNo = 1;
plzinfo.canpull = true; plzinfo.canpull = true;
leftscrolltop.value = 1 leftscrolltop.value = 1
@ -450,13 +456,19 @@
lefttarget.value = 0 lefttarget.value = 0
firstgetqueryCgdList(); firstgetqueryCgdList();
} }
setTimeout(() => { setTimeout(() => {
uni.showToast({ if (res.success) {
title: res.success?res.result.message:res.message, uni.showToast({
icon: 'none', // 'none' title: res.result.message,
duration: 3000 icon: 'none', // 'none'
}) duration: 3000
})
} else {
openerror.value = true;
errormessage.value = res.message
}
}, 300) }, 300)
}) })
@ -469,11 +481,11 @@
nuId: uni.getStorageSync('nuId') nuId: uni.getStorageSync('nuId')
} }
confirmReceipt(param).then((res : any) => { confirmReceipt(param).then((res : any) => {
console.log('收货', param,res) console.log('收货', param, res)
shouhuoshow.value = false shouhuoshow.value = false
if(res.success){ if (res.success) {
plsbuy.value[lefttarget.value] = res.result.result plsbuy.value[lefttarget.value] = res.result.result
}else{ } else {
plzinfo.pageNo = 1; plzinfo.pageNo = 1;
leftscrolltop.value = 1 leftscrolltop.value = 1
setTimeout(() => { setTimeout(() => {
@ -483,15 +495,20 @@
plzinfo.canpull = true; plzinfo.canpull = true;
firstgetqueryCgdList(); firstgetqueryCgdList();
} }
setTimeout(() => { setTimeout(() => {
uni.showToast({ if (res.success) {
title: res.success?res.result.message:res.message, uni.showToast({
icon: 'none', // 'none' title: res.result.message,
duration: 3000 icon: 'none', // 'none'
}) duration: 3000
})
} else {
openerror.value = true;
errormessage.value = res.message
}
}, 300) }, 300)
}) })
} }
</script> </script>
@ -883,7 +900,7 @@
.other-contain-right { .other-contain-right {
width: 64%; width: 64%;
margin-left: 1%; margin-left: 1%;
height: 103.5%; height: 100.5%;
.right-contain { .right-contain {
width: 100%; width: 100%;

View File

@ -182,6 +182,7 @@
(newVal, oldVal) => { (newVal, oldVal) => {
// falsetrue0.2 // falsetrue0.2
if (!oldVal && newVal) { if (!oldVal && newVal) {
cannomessage.value = true
transition.value = false; transition.value = false;
plzinfo.pageNo = 1; plzinfo.pageNo = 1;
plzinfo.canpull = true; plzinfo.canpull = true;
@ -415,10 +416,13 @@
let obj = { let obj = {
nuId:plzinfo.nuId, nuId:plzinfo.nuId,
elderId:plzinfo.elderId, elderId:plzinfo.elderId,
qldNo:plsbuy.value[lefttarget.value].qldNo qldNo:plsbuy.value[lefttarget.value].qldNo,
nuName:uni.getStorageSync('nuName'),
elderName:uni.getStorageSync(`NUall`).elderInfo.name
} }
submitQld(obj).then(res=>{ submitQld(obj).then(res=>{
console.log(res) console.log("?????",obj,res)
if(res.success&&res.result.status=='success'){ if(res.success&&res.result.status=='success'){
uni.showToast({ uni.showToast({
icon:'success', icon:'success',
@ -581,7 +585,7 @@
.left-menu-scroll { .left-menu-scroll {
margin-bottom: 3%; margin-bottom: 3%;
height: 100%; height: 100.5%;
width: 100%; width: 100%;
.pls-card { .pls-card {
width: 98%; width: 98%;

View File

@ -38,7 +38,7 @@
</view> </view>
<view class="qlthbtn-red" v-if="isRead"></view> <view class="qlthbtn-red" v-if="isRead"></view>
</view> </view>
<view class="qlthbtn" @click="thshow = true"> <view class="qlthbtn" style="width: 8vw;" @click="thshow = true">
<image src="/static/index/requestform/ql2.png" mode="aspectFill"></image> <image src="/static/index/requestform/ql2.png" mode="aspectFill"></image>
<view class="shx-font"> <view class="shx-font">
退货 退货
@ -96,9 +96,9 @@
form.medicationId = ''; form.medicationId = '';
form.pageNo = 1; form.pageNo = 1;
form.wlParamInfo = '', form.wlParamInfo = '',
config() getreddian()
config()
wuliao() wuliao()
getreddian()
if (!oldVal && newVal) { if (!oldVal && newVal) {
transition.value = false; transition.value = false;
setTimeout(() => { setTimeout(() => {
@ -134,7 +134,7 @@
nuId: uni.getStorageSync('nuId') nuId: uni.getStorageSync('nuId')
} }
queryQld(plzinfo0).then((res : any) => { queryQld(plzinfo0).then((res : any) => {
if (res.result.records[0].izYgRead == `N`) { if ( res.result.records.length) {
isRead.value = true; isRead.value = true;
} else { } else {
isRead.value = false; isRead.value = false;
@ -149,7 +149,8 @@
nuId: uni.getStorageSync('nuId') nuId: uni.getStorageSync('nuId')
} }
queryQld(plzinfo1).then((res : any) => { queryQld(plzinfo1).then((res : any) => {
if (res.result.records[0].izYgRead == `N`) { // console.log("22",res.result)
if (res.result.records.length) {
isQingling.value = true; isQingling.value = true;
} else { } else {
isQingling.value = false; isQingling.value = false;
@ -169,6 +170,7 @@
const listarr = ref([]) const listarr = ref([])
const status = ref('loadmore') const status = ref('loadmore')
const config = () => { const config = () => {
queryInvoicingList(form).then(res => { queryInvoicingList(form).then(res => {
res.result.records.forEach(item => { res.result.records.forEach(item => {
item.zk = false; item.zk = false;
@ -337,9 +339,12 @@
const tijiao = () => { const tijiao = () => {
let obj = { let obj = {
nuId: form.nuId, nuId: form.nuId,
elderId: form.elderId elderId: form.elderId,
nuName: uni.getStorageSync('nuName'),
elderName: uni.getStorageSync(`NUall`).elderInfo.name
} }
submitQld(obj).then(res => { submitQld(obj).then(res => {
console.log("?????",obj,res)
if (res.success && res.result.status == 'success') { if (res.success && res.result.status == 'success') {
uni.showToast({ uni.showToast({
icon: 'success', icon: 'success',
@ -352,7 +357,7 @@
}, 800) }, 800)
} else { } else {
// console.log("!!!!!",res) // console.log("!!!!!",res)
errmsg.value = res.result.message?res.result.message:res.message errmsg.value = res.result.message ? res.result.message : res.message
openerror.value = true; openerror.value = true;
} }
}) })

View File

@ -129,7 +129,7 @@
border-radius: 1.65vw; border-radius: 1.65vw;
border: 1rpx solid #D9DADC; border: 1rpx solid #D9DADC;
font-weight: 400; font-weight: 400;
font-size: 1.2vw; font-size: 1.4vw;
color: #222; color: #222;
display: flex; display: flex;
justify-content: center; justify-content: center;

View File

@ -30,7 +30,8 @@
<view class="heng-blue" :style="{ left: `${selectType === 0 ? 18 : 18 + selectType * 30}%` }"> <view class="heng-blue" :style="{ left: `${selectType === 0 ? 18 : 18 + selectType * 30}%` }">
</view> </view>
</view> </view>
<view class="right-button" @click="addshow=true">
<view class="right-button" @click="addnew">
<image src="/static/index/requestform/addnew.png" /> <image src="/static/index/requestform/addnew.png" />
<view> <view>
新增 新增
@ -521,13 +522,14 @@
if(res.success){ if(res.success){
addshow.value = false addshow.value = false
chongzhi() chongzhi()
setTimeout(()=>{ uni.navigateTo({url:'/pages/procurement/addtory'})
uni.showToast({ // setTimeout(()=>{
title: `新增成功`, // uni.showToast({
icon: 'none', // 'none' // title: ``,
duration: 2000 // icon: 'none', // 'none'
}) // duration: 2000
},50) // })
// },50)
}else{ }else{
openmessage.value = true openmessage.value = true
errormessage.value = res.message errormessage.value = res.message

View File

@ -416,7 +416,7 @@
const clickLeftMenu = (index : any, item : any) => { const clickLeftMenu = (index : any, item : any) => {
let num = Math.ceil((index + 1)) let num = Math.ceil((index + 1))
leftscrolltop.value = (num - 2) * 175.4; leftscrolltop.value = (num - 2) * 175;
if (item.izYgRead == 'N') { if (item.izYgRead == 'N') {
let param = { let param = {
status: `yg`, status: `yg`,
@ -793,7 +793,7 @@
.left-menu-scroll { .left-menu-scroll {
margin-top: 3%; margin-top: 3%;
height: 91%; height: 89%;
width: 100%; width: 100%;
// position: relative; // position: relative;
// overflow: auto; // overflow: auto;

View File

@ -708,7 +708,7 @@
uni.setStorageSync('nuName', filteredMenu.value[savetypeNow.value].nuName); uni.setStorageSync('nuName', filteredMenu.value[savetypeNow.value].nuName);
uni.setStorageSync('customerId', filteredMenu.value[savetypeNow.value].elderInfo ? filteredMenu.value[savetypeNow.value].elderInfo?.id : null); uni.setStorageSync('customerId', filteredMenu.value[savetypeNow.value].elderInfo ? filteredMenu.value[savetypeNow.value].elderInfo?.id : null);
uni.setStorageSync('NUall', filteredMenu.value[savetypeNow.value]); uni.setStorageSync('NUall', filteredMenu.value[savetypeNow.value]);
// console.log("??????1111", filteredMenu.value[savetypeNow.value])
if (!typeNow.value) { if (!typeNow.value) {
uni.navigateTo({ uni.navigateTo({
url: '/pages/NursingNew/index' url: '/pages/NursingNew/index'

View File

@ -1,8 +1,8 @@
{ {
"hash": "9e248234", "hash": "63b19973",
"configHash": "17f5f5b6", "configHash": "f0a71f11",
"lockfileHash": "285de26d", "lockfileHash": "e88c1aa2",
"browserHash": "f287ed85", "browserHash": "b680c5d4",
"optimized": {}, "optimized": {},
"chunks": {} "chunks": {}
} }

View File

@ -574,7 +574,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
) )
]); ]);
} }
const camera = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]], ["__file", "D:/项目/hldy_app_mini/pages/camera.nvue"]]); const camera = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]], ["__file", "D:/hldy_app_mini/pages/camera.nvue"]]);
export { export {
camera as default camera as default
}; };

View File

@ -577,7 +577,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
) )
]); ]);
} }
const fullcamera = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]], ["__file", "D:/项目/hldy_app_mini/pages/fullcamera.nvue"]]); const fullcamera = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]], ["__file", "D:/hldy_app_mini/pages/fullcamera.nvue"]]);
export { export {
fullcamera as default fullcamera as default
}; };