This commit is contained in:
Teng 2025-12-11 17:30:09 +08:00
parent f979ef5297
commit 55cfb1fa54
15 changed files with 407 additions and 267 deletions

View File

@ -3,7 +3,12 @@
<view class="kcyj">
<view class="kjlt">
请领物料
<view class="mhao" v-if="Material.length>0">{{Material.length}}</view>
<view class="mhao" v-if="Material.length>0">
<view class="mhao-font">
{{Material.length}}
</view>
</view>
</view>
<scroll-view scroll-x="true" class="kcscrol guodu" @scroll="onScroll" scroll-with-animation
:scroll-left="scrollleft" :style="qb?'width:calc(100% - 21.8vw)':'width:calc(100% - 10vw)' ">
@ -17,8 +22,12 @@
<view>-</view>
</view>
</view>
<defaultr cont="暂无数据" v-if="Material.length==0&&timeout"
style="position: absolute;width: 10vw;height: 10vw;"></defaultr>
<view class="que" v-if="Material.length==0&&timeout">
<image src="/static/index/procurement/que.png" mode="aspectFill"></image>
<view>暂无数据</view>
</view>
<!-- <defaultr cont="暂无数据" v-if="Material.length==0&&timeout"
style="position: absolute;width: 10vw;height: 10vw;"></defaultr> -->
</scroll-view>
<view class="kjlt more guodu" :style="qb?'width:15vw':'' " @touchstart="ts" @touchmove="canmove"
v-if="Material.length>0">
@ -163,17 +172,12 @@
.mhao {
position: absolute;
top: -0.9vw;
/* 根据视觉需要微调 */
right: -0.5vw;
top: -0.2vw;
/* 根据视觉需要微调 */
right: -0.2vw;
box-sizing: border-box;
width: 1.8vw;
/* 保证两位数也能容纳(可改成 2vw 以更宽松) */
height: 1.8vw;
/* 圆高line-height 要与它匹配 */
padding: 0 0.15vw;
/* 给两位数一点水平缓冲 */
border-radius: 50%;
border: 1px solid #FF4E4E;
color: #FF4E4E;
@ -182,8 +186,11 @@
justify-content: center;
background: transparent;
writing-mode: horizontal-tb;
/* <- 关键:让内部按横排显示数字(不被父写排规则影响) */
overflow: hidden;
.mhao-font{
font-size: 25rpx;
letter-spacing: -0.05em; /* 负值 = 字符之间更近 */
}
}
}
@ -337,4 +344,34 @@
-webkit-transform-style: preserve-3d;
-webkit-overflow-scrolling: touch;
}
.que{
width: 16vw;
height: 16vw;
position: fixed;
top: 0;
left: 0;
width: 82.2vw;
height: 10vw;
background: rgba(245, 246, 248, 1);
display: flex;
justify-content: center;
align-items: center;
border-radius: 20rpx;
image{
width: 12vw;
height: 12vw;
}
view{
width: 12vw;
text-align: center;
position: absolute;
bottom: 0.5vw;
left: 50%;
transform: translateX(-50%);
font-weight: 300;
font-size: 1.4vw;
color: #555555;
}
}
</style>

View File

@ -371,7 +371,7 @@
.itembox{
width: 100%;
height: 64vh;
height: 66vh;
padding:1vw 2vw 0 0;
.box{

View File

@ -335,7 +335,7 @@
min-width: 8vw;
height: 3.8vw;
background: #EDEDEF;
border-radius: 1.6vw;
border-radius: 3vw;
padding: 0 2vw;
margin-left: 1vw;
border: 1px solid #EDEDEF;

View File

@ -307,7 +307,7 @@
font-size: 1.6vw;
color: #222222;
height: 3vw;
padding-top: 1.3vw;
padding-top: 1.2vw;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;

View File

@ -7,8 +7,8 @@
<view class="leftbox">
<image :src="objtake?.materialImg?serverUrl+objtake?.materialImg:'/static/index/procurement/k.png'" mode="aspectFill"/>
<view>
<text>耗材用品</text>
<text>复健用品</text>
<view>{{ objtake?.categoryId_dictText }}</view>
<view>{{ objtake?.typeId_dictText }}</view>
</view>
</view>
<view class="youcont">
@ -70,15 +70,15 @@ import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch, reactive }
const showbox = ref(false)
watch(()=>props.show,
()=>{
console.log(props.objtake)
// console.log(`11111111111`,props.objtake)
if(props.show==true){
let obj = {
nuId:uni.getStorageSync('nuId'),
elderId:uni.getStorageSync('NUall').id,
elderId:uni.getStorageSync('NUall').elderId,
wlId:props.objtake.wlId
}
queryMaterialInfo(obj).then(res=>{
console.log(res)
console.log(`wuobj`,res)
wuobj.value = res.result
})
setTimeout(()=>{
@ -113,6 +113,7 @@ import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch, reactive }
}
.quxiao{
background: #EDEDEF;
color: #888888;
}
.plsbuy-bottom-blue {
background: linear-gradient(0deg, #CAE0F9, #E9F4FF);
@ -142,14 +143,16 @@ import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch, reactive }
width: 14.2vw;
height: 100%;
border-right: 2px solid #E5E5E5;
view {
width: 100%;
margin-top: 0.6vw;
display: flex;
justify-content: space-around;
text {
// justify-content: space-around;
flex-direction: column;
align-items: center;
view {
width: 6vw;
height: 2vw;
border-radius: 1vw;

View File

@ -211,7 +211,7 @@
font-size: 1.6vw;
color: #222222;
height: 3vw;
padding-top: 1.3vw;
padding-top: 1.2vw;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
@ -266,6 +266,7 @@
font-weight: 400;
font-size: 1.4vw;
color: #555555;
margin-left: 1.1vw;
}
.itemcan{
width: 100%;
@ -273,6 +274,8 @@
display: flex;
justify-content: space-between;
align-items: center;
padding-left: 1vw;
padding-right: 1vw;
text{
font-weight: 400;
font-size: 1.4vw;
@ -280,7 +283,7 @@
}
}
.tit {
width: 100%;
width: 96.5%;
height: 3.5vw;
line-height: 6vw;
font-weight: 400;
@ -290,6 +293,8 @@
justify-content: space-between;
align-items: center;
border-bottom: 1px solid #E5E5E5;
margin: 0 1vw;
}
}
.mengban{

View File

@ -318,6 +318,7 @@
font-size: 1.4vw;
font-weight: 500;
text-align: center;
margin-left: 1.5vw;
}
.cont{

View File

@ -10,8 +10,8 @@
<view class="leftbox">
<image :src="objtake?.materialImg?serverUrl+objtake?.materialImg:'/static/index/procurement/k.png'" mode="aspectFill"/>
<view>
<text>耗材用品</text>
<text>复健用品</text>
<view v-if="objtake?.categoryId_dictText">{{objtake?.categoryId_dictText}}</view>
<view v-if="objtake?.typeId_dictText">{{objtake?.typeId_dictText}}</view>
</view>
</view>
<view class="youcont">
@ -176,7 +176,8 @@
.dian{
width: 0.5vw;
height: 0.5vw;
margin: 01.6vw;
margin: 1.6vw;
margin-right: 1vw;
background: #888888;
border-radius: 50%;
position: relative;
@ -193,24 +194,25 @@
background: white;
}
.riqi{
min-width: 7.2vw;
width: 12vw;
height: 2vw;
background: #F9F9FA;
border-radius: 1vw;
border: 1px solid #D2D2D2;
border: 1rpx solid #D2D2D2;
display: flex;
justify-content: center;
align-items: center;
font-weight: 400;
font-size: 1vw;
color: #888888;
padding: 0 0.6vw;
padding: 0 0.4vw;
}
.qlr{
width: 11vw;
font-weight: 400;
font-size: 1.3vw;
font-size: 1.2vw;
color: #999999;
margin-left: 1.8vw;
margin-left: 1vw;
text{
color: #333;
}
@ -250,12 +252,14 @@
view {
width: 100%;
margin-top: 0.6vw;
margin-top: 0.3vw;
display: flex;
justify-content: space-around;
text {
min-width: 4.8vw;
flex-direction: column;
align-items: center;
// justify-content: space-around;
view {
width: 6vw;
height: 2vw;
border-radius: 1vw;
border: 1px solid #D2D2D2;
@ -291,7 +295,7 @@
height: 3.6vw;
display: flex;
justify-content: flex-start;
margin-top: 1.8vw;
margin-top: 1.6vw;
>view {
width: 50%;
@ -312,15 +316,15 @@
&:nth-child(1) {
width: 100%;
height: 1.8vw;
height: 2vw;
font-weight: bold;
font-size: 1.6vw;
font-size: 1.5vw;
color: #222222;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
line-height: 1.8vw;
}
}
}
@ -366,6 +370,7 @@
}
.quxiao{
background: #EDEDEF;
color: #888888;
}
.plsbuy-bottom-blue {
background: linear-gradient(0deg, #CAE0F9, #E9F4FF);

View File

@ -232,7 +232,7 @@
watch(
() => props.isShow,
(newVal, oldVal) => {
console.log("??????",newVal, oldVal)
// console.log("??????",newVal, oldVal)
// falsetrue0.2
if (!oldVal && newVal) {
transition.value = false;
@ -333,7 +333,7 @@
const firstgetqueryCgdList = () => {
queryQld(plzinfo).then((res : any) => {
transition.value = true;
// console.log("kankan",plzinfo,res)
// console.log("kankan",res)
if (((res.message === "缺少参数") || (!res.result?.total)) && cannomessage.value) {
nomessageshow.value = true;
return
@ -356,6 +356,8 @@
rightarray.value.push(...element.result)
rightdonghua.value = true;
})
}else{
rightarray.value = []
}
if (res.result.records.length < plzinfo.pageSize) {

View File

@ -10,7 +10,7 @@
作废
</view>
</view>
<view class="right-button" style="width: 11vw;" @click="tijiaoshow=true">
<view class="right-button" style="width: 11vw;" @click="tijiaoshow=true" v-if="rightarray.length">
<image src="/static/index/warehouse/procurement/picking/caigou.png" />
<view>
提交请购单
@ -183,7 +183,8 @@
// falsetrue0.2
if (!oldVal && newVal) {
transition.value = false;
// console.log("????",transition.value)
plzinfo.pageNo = 1;
plzinfo.canpull = true;
setTimeout(() => {
transition.value = true;
lefttarget.value = 0;
@ -286,7 +287,7 @@
plsbuy.value = [];
// console.log(res)
plsbuy.value.push(...res.result.records)
// console.log("", plzinfo)
console.log("入参", plzinfo)
console.log("查看数组", res.result.records)
alltotal.value = res.result.total
@ -426,6 +427,7 @@
setTimeout(()=>{
plsbuy.value[lefttarget.value] = res.result.result
tijiaoshow.value = false;
rightinfolist();
},800)
}else{

View File

@ -1,9 +1,9 @@
<template>
<view v-if="isShow">
<view v-if="isShow">
<view class="buttons-father">
<view class="boxtwo">
<view class="ipt">
<input type="text" placeholder="物料名称/物料简拼" v-model="form.wlParamInfo" @confirm="search"/>
<input type="text" placeholder="物料名称/物料简拼" v-model="form.wlParamInfo" @confirm="search" />
<image src="/static/index/procurement/x.png" mode="aspectFill" v-if="form.wlParamInfo"
@click="search(0)"></image>
</view>
@ -16,8 +16,7 @@
筛选
</view>
</view>
<view class="shx" @click="chongzhi"
v-if="form.categoryId!=''||form.wlParamInfo!='' " >
<view class="shx" @click="chongzhi" v-if="form.categoryId!=''||form.wlParamInfo!='' ">
<image src="/static/index/requestform/chongzhi.png" mode="aspectFill"></image>
<view class="shx-font">
重置
@ -30,12 +29,14 @@
<view class="shx-font" @click="changePage(1)">
请领单
</view>
<view class="qlthbtn-red" v-if="isQingling"></view>
</view>
<view class="qlthbtn">
<image src="/static/index/requestform/ql1.png" mode="aspectFill"></image>
<view class="shx-font" @click="changePage(2)">
回退单
</view>
<view class="qlthbtn-red" v-if="isRead"></view>
</view>
<view class="qlthbtn" @click="thshow = true">
<image src="/static/index/requestform/ql2.png" mode="aspectFill"></image>
@ -46,21 +47,22 @@
</view>
</view>
<addwl :Material="addMaterial" @delall="delall" @del="adddel" @submit="submit"></addwl>
<carditem :InvoicingList="listarr" @scrolltolower="scrolltolower" :status="status" @comfig="comfig"></carditem>
<carditem :InvoicingList="listarr" @scrolltolower="scrolltolower" :status="status" @comfig="comfig"></carditem>
<takeing :show="takeshow" :objtake="objtake" @fill="takeshow = false" @right="right"></takeing>
<cgdclass @confirm="confirm" :show="ification" :typenum="0" ref="classication" @fill="ification = false"></cgdclass>
<medetails :show="detaishow" @fill="detaishow = false" @confirm="confirm" :objtake="objtake"></medetails>
<cgdclass @confirm="confirm" :show="ification" :typenum="0" ref="classication" @fill="ification = false">
</cgdclass>
<medetails :show="detaishow" @fill="detaishow = false" @confirm="confirm" :objtake="objtake"></medetails>
<tanchuang @back="tanshow = false" :show="tanshow" font="确定将该物料从本次请领清单中移除吗?" @right="del"></tanchuang>
<takerecord :objtake="objtake" :show="recordshow" @fill="recordshow = false"></takerecord>
<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" />
<errorshow :show="openerror" :font="errmsg" @close="openerror=false" />
</view>
</template>
<script setup lang="ts">
import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch, reactive } from 'vue';
import { queryInvoicingList,wlzd,queryGwcInfo,addGwc ,deleteGwcWl,removeAllGwc,submitQld,requireTH} from '../api/api.js'
import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch, reactive } from 'vue';
import { queryInvoicingList, wlzd, queryGwcInfo, addGwc, deleteGwcWl, removeAllGwc, submitQld, requireTH, queryQld } from '../api/api.js'
import addwl from '../common/addwl.vue';
import carditem from '../common/carditem.vue';
import takeing from '../common/takeing.vue';
@ -70,28 +72,33 @@
import takerecord from '../common/takerecord.vue';
import submits from '../common/submits.vue'
const form = reactive({
pageNo:1,
pageSize:10,
nuId:uni.getStorageSync('nuId'),
elderId:uni.getStorageSync('NUall').elderId,
wlParamInfo:'',
categoryId:'',
typeId:'',
medicationId:''
pageNo: 1,
pageSize: 10,
nuId: uni.getStorageSync('nuId'),
elderId: uni.getStorageSync('NUall').elderId,
wlParamInfo: '',
categoryId: '',
typeId: '',
medicationId: ''
})
const props = defineProps({
isShow: {
type: Boolean
type: Boolean
},
});
const transition = ref(false);
watch(
() => props.isShow,
(newVal, oldVal) => {
form.pageNo = 1;
listarr.value = [];
config()
wuliao()
form.categoryId = '';
form.typeId = '';
form.medicationId = '';
form.pageNo = 1;
form.wlParamInfo = '',
config()
wuliao()
getreddian()
if (!oldVal && newVal) {
transition.value = false;
setTimeout(() => {
@ -100,7 +107,7 @@
} else {
transition.value = false;
}
}
)
const takeshow = ref(false)
@ -114,21 +121,56 @@
const errmsg = ref('')
const classication = ref<InstanceType<typeof ChildComponent>>()
const addMaterial = ref([])
const wuliao = () =>{
let obj = {
nuId:form.nuId,
elderId:form.elderId
const isRead = ref(false)
const isQingling = ref(false)
const getreddian = () => {
let plzinfo0 = {
pageNo: 1,
pageSize: 1,
searchContent: "",
status: "3",
elderId: uni.getStorageSync('NUall').elderId,
nuId: uni.getStorageSync('nuId')
}
queryGwcInfo(obj).then(res=>{
console.log(res)
queryQld(plzinfo0).then((res : any) => {
if (res.result.records[0].izYgRead == `N`) {
isRead.value = true;
} else {
isRead.value = false;
}
})
let plzinfo1 = {
pageNo: 1,
pageSize: 1,
searchContent: "",
status: "4",
elderId: uni.getStorageSync('NUall').elderId,
nuId: uni.getStorageSync('nuId')
}
queryQld(plzinfo1).then((res : any) => {
if (res.result.records[0].izYgRead == `N`) {
isQingling.value = true;
} else {
isQingling.value = false;
}
})
}
const wuliao = () => {
let obj = {
nuId: form.nuId,
elderId: form.elderId
}
queryGwcInfo(obj).then(res => {
// console.log(res)
addMaterial.value = res.result
})
}
const listarr = ref([])
const status = ref('loadmore')
const config = ()=>{
queryInvoicingList(form).then(res=>{
res.result.records.forEach(item=>{
const config = () => {
queryInvoicingList(form).then(res => {
res.result.records.forEach(item => {
item.zk = false;
item.scrollleft = 0;
})
@ -136,15 +178,15 @@
status.value = (res.result.total == listarr.value.length ? 'nomore' : 'loadmore')
})
}
const thclk =() =>{
requireTH({nuId:form.nuId,elderId:form.elderId}).then(res=>{
if(res.success){
const thclk = () => {
requireTH({ nuId: form.nuId, elderId: form.elderId }).then(res => {
if (res.success) {
thshow.value = false;
uni.showToast({
icon:'none',
title:res.message
icon: 'none',
title: res.message
})
}else{
} else {
thshow.value = false;
errmsg.value = res.message;
openerror.value = true;
@ -157,189 +199,190 @@
listarr.value = [];
config();
}
const scrolltolower = ( ) => {
if (status.value=='loading'||status.value=='nomore') { return }
status.value = 'loading';
form.pageNo++;
config()
}
const submit = ()=>{
const scrolltolower = () => {
if (status.value == 'loading' || status.value == 'nomore') { return }
status.value = 'loading';
form.pageNo++;
config()
}
const submit = () => {
wuliao();
subshow.value = true;
}
const adddel = (v)=>{
listarr.value.forEach(item=>{
if(item.wlId == v.wlId){
const adddel = (v) => {
listarr.value.forEach(item => {
if (item.wlId == v.wlId) {
objtake.value = item
}
})
if(!objtake.value.wlId){
if (!objtake.value.wlId) {
objtake.value = v;
}
tanshow.value = true;
console.log(objtake.value)
}
const del = ()=>{
const del = () => {
let obj = {
nuId:form.nuId,
elderId:form.elderId,
wlId:objtake.value.wlId
nuId: form.nuId,
elderId: form.elderId,
wlId: objtake.value.wlId
}
console.log(obj)
deleteGwcWl(obj).then(res=>{
if(res.success){
deleteGwcWl(obj).then(res => {
if (res.success) {
wuliao();
tanshow.value = false;
objtake.value.isAdd = null;
objtake.value.qlNum = null;
}else{
} else {
errmsg.value = res.message;
openerror.value = true;
}
})
}
const delall = () =>{
console.log({nuId:form.nuId, elderId:form.elderId})
removeAllGwc({nuId:form.nuId, elderId:form.elderId}).then(res=>{
if(res.success){
wuliao();
listarr.value.forEach(item=>{
const delall = () => {
console.log({ nuId: form.nuId, elderId: form.elderId })
removeAllGwc({ nuId: form.nuId, elderId: form.elderId }).then(res => {
if (res.success) {
wuliao();
listarr.value.forEach(item => {
item.isAdd = null;
item.qlNum = null;
item.gwcId = null;
})
}else{
errmsg.value = res.message;
openerror.value = true;
}
})
}
const objtake = ref({})
const comfig=(v,i,t)=>{
// console.log(v,i,t)
switch (t){
case 0:
objtake.value = v;
if(v.isAdd==1){
tanshow.value = true;
}else{
takeshow.value = true;
}
break;
case 1:
objtake.value = v;
recordshow.value = true;
break;
case 2:
objtake.value = v;
detaishow.value = true;
break;
case 3:
let obj = {
nuId:form.nuId,
elderId:form.elderId,
wlId:v.wlId,
izZd:v.zhiDingId?false:true
}
wlzd(obj).then(res=>{
console.log(obj,res)
if(res.success){
// objtake.value = v;
// objtake.value.zk = false;
// objtake.value.scrollleft = 0;
// objtake.value = v.zhiDingId?false:true;
// listarr.value.splice(i,1);
// listarr.value.unshift(v)
listarr.value = [];
form.pageNo = 1;
config()
}else{
errmsg.value = res.message;
openerror.value = true;
}
})
break;
default:
break;
}
}
const right = (e,v) =>{
console.log(v)
let obj = {
kfId:v.nuId,
wlId:v.wlId,
qlNum:e,
nuId:form.nuId,
elderId:form.elderId
}
addGwc(obj).then(res=>{
if(res.success){
takeshow.value = false;
v.isAdd = 1;
v.qlNum = e;
wuliao();
}else{
} else {
errmsg.value = res.message;
openerror.value = true;
}
})
}
const tijiao = ()=>{
let obj = {
nuId:form.nuId,
elderId:form.elderId
}
submitQld(obj).then(res=>{
console.log("入参",obj,"res",res)
if(res.success&&res.result.status=='success'){
uni.showToast({
icon:'success',
title:'提交成功'
const objtake = ref({})
const comfig = (v, i, t) => {
console.log(`看看数据`, v, i, t)
switch (t) {
case 0:
objtake.value = v;
if (v.isAdd == 1) {
tanshow.value = true;
} else {
takeshow.value = true;
}
break;
case 1:
objtake.value = v;
recordshow.value = true;
break;
case 2:
objtake.value = v;
detaishow.value = true;
break;
case 3:
let obj = {
nuId: form.nuId,
elderId: form.elderId,
wlId: v.wlId,
izZd: v.zhiDingId ? false : true
}
wlzd(obj).then(res => {
console.log(obj, res)
if (res.success) {
// objtake.value = v;
// objtake.value.zk = false;
// objtake.value.scrollleft = 0;
// objtake.value = v.zhiDingId?false:true;
// listarr.value.splice(i,1);
// listarr.value.unshift(v)
listarr.value = [];
form.pageNo = 1;
config()
} else {
errmsg.value = res.message;
openerror.value = true;
}
})
setTimeout(()=>{
break;
default:
break;
}
}
const right = (e, v) => {
console.log(v)
let obj = {
kfId: v.nuId,
wlId: v.wlId,
qlNum: e,
nuId: form.nuId,
elderId: form.elderId
}
addGwc(obj).then(res => {
if (res.success) {
takeshow.value = false;
v.isAdd = 1;
v.qlNum = e;
wuliao();
} else {
errmsg.value = res.message;
openerror.value = true;
}
})
}
const tijiao = () => {
let obj = {
nuId: form.nuId,
elderId: form.elderId
}
submitQld(obj).then(res => {
console.log("入参", obj, "res", res)
if (res.success && res.result.status == 'success') {
uni.showToast({
icon: 'success',
title: '提交成功'
})
setTimeout(() => {
subshow.value = false;
wuliao();
},800)
}else{
changePage(1)
}, 800)
} else {
errmsg.value = res.result.message;
openerror.value = true;
}
})
}
const confirm = (e)=>{
const confirm = (e) => {
form.categoryId = e.categoryId;
form.typeId = e.typeId;
form.medicationId = e.medicationId;
form.pageNo=1;
form.pageNo = 1;
listarr.value = [];
config();
ification.value = false;
console.log(e)
}
const chongzhi=()=>{
const chongzhi = () => {
form.categoryId = '';
form.typeId = '';
form.medicationId = '';
form.pageNo=1;
form.wlParamInfo= '',
listarr.value = [];
classication.value.typescroll(1,-1,{});
form.pageNo = 1;
form.wlParamInfo = '',
listarr.value = [];
classication.value.typescroll(1, -1, {});
classication.value.qingkong();
classication.value.config();
}
const emit = defineEmits(['changePageNumber']) //
const changePage = (index:number) => {
emit('changePageNumber', index)
const changePage = (index : number) => {
emit('changePageNumber', index)
}
</script>
<style lang="less" scoped>
@import "../css/take.less";
</style>
</style>

View File

@ -38,7 +38,7 @@
.buttons-father {
width: 100%;
height: 90rpx;
height: 70rpx;
display: flex;
justify-content: space-between;
.flexend{
@ -80,7 +80,7 @@
border-radius: 1.65vw;
border: 1rpx solid #D9DADC;
font-weight: 400;
font-size: 1.2vw;
font-size: 1.4vw;
color: #222;
display: flex;
justify-content: center;
@ -88,10 +88,21 @@
box-shadow: 0.5rpx 3rpx 3rpx #dadee1;
margin: 0 0 0 0.5vw;
color: #555555;
position: relative;
.qlthbtn-red{
position: absolute;
right: -0vw;
top: -0vw;
width: 1vw;
height: 1vw;
background-color: rgba(255, 78, 78, 1);
border-radius: 50%;
}
image {
width: 1.8vw;
height: 1.8vw;
margin: 0 0.2vw 0 0;
width: 1.5vw;
height: 1.5vw;
margin: 0.1vw 0.3vw 0 0;
}
}
@ -135,6 +146,7 @@
.shx-font {
margin-top: 3rpx;
// font-size: 1.4vw;
// margin-left: -5rpx;
}
}

View File

@ -355,3 +355,12 @@ export const outbound = (params) => {
data: params,
})
}
// 盘点单所有的接口
// 获得列表
export const queryPddList = (params) => {
return request({
url: `${uni.getStorageSync('serverUrl')}/api/pad/invoicing/pdd/queryPddList`,
method: 'get',
data: params,
})
}

View File

@ -2,7 +2,7 @@
<view class="all-bgc">
<view class="buttons-father">
<view class="ipt">
<input type="text" v-model="plzinfo.searchContent" placeholder="盘点单号/盘点人/盘点日期"
<input type="text" v-model="plzinfo.pddInfo" placeholder="盘点单号/盘点人/盘点日期"
@confirm="clickconfirm" />
</view>
<view class="scr" @click="clickconfirm">
@ -68,22 +68,22 @@
<scroll-view scroll-y="true" scroll-with-animation class="all-scroll" :scroll-top="leftscrolltop"
:lower-threshold="200">
<view class="scroll-items">
<view class="scroll-item" v-for="(item,index) in [1,1,1,1,1,1,1,1,1,1,1,1,1]" :key="index">
<view class="scroll-item" v-for="(item,index) in plsbuy" :key="index">
<view class="scroll-item-title">
<view class="scroll-title-left">
<view class="title-font">
101P20251020001
{{ item.pddNo }}
</view>
<view class="title-success" v-if="index>3">
<view class="title-success" v-if="item.pydNum>0">
盘盈
</view>
<view class="title-error" v-if="index<5 && index">
<view class="title-error" v-if="item.pkdNum>0">
盘亏
</view>
</view>
<view class="scroll-title-right">
{{ index?`已完成`:`盘点中` }}
{{ item.pddType_dictText }}
</view>
</view>
@ -91,7 +91,7 @@
<view class="middle-heng"></view>
<view class="contect-one">
<view class="contect-title">
2025.10.03
{{ item.pddStartTime.split(' ')[0] }}
</view>
<view class="middle-heng-father">
@ -111,11 +111,11 @@
<view class="contect-one">
<view class="contect-title">
{{ index?`2025.10.03`: ``}}
{{ item.pddEndTime.split(' ')[0] }}
</view>
<view class="middle-heng-father">
<view class="middle-ball" v-if="!index" style="background-color: #EEEEEE;"></view>
<view class="middle-ball" v-if="item.pddType=='2'" style="background-color: #EEEEEE;"></view>
<image class="middle-ball-img" v-else src="/static/index/requestform/isok.png" />
</view>
<view class="end-font">
@ -123,7 +123,7 @@
盘点结束
</view>
<view style="color: #888888;">
{{ index?`[ 王嘉尔 ]`: `` }}
{{ item.pddType=='2'?`[ 王嘉尔 ]`: `` }}
</view>
</view>
</view>
@ -131,7 +131,7 @@
<view class="scroll-item-end">
<image class="title-imge" src="/static/home.png" mode="aspectFit"></image>
<view class="title-font">
生活用品库
{{ item.nuName}}
</view>
</view>
@ -341,16 +341,16 @@
盘点状态
</view>
<view class="more-statues-father">
<view :class="plzinfo.cgdType==`0,1`?`more-statues-button-target`:`more-statues-button`"
@click="plzinfo.cgdType=`0,1`;">
<view :class="plzinfo.pddType==``?`more-statues-button-target`:`more-statues-button`"
@click="plzinfo.pddType=``;firstgetqueryCgdList()">
全部
</view>
<view :class="plzinfo.cgdType==`0`?`more-statues-button-target`:`more-statues-button`"
@click="plzinfo.cgdType=`0`;">
<view :class="plzinfo.pddType==`1`?`more-statues-button-target`:`more-statues-button`"
@click="plzinfo.pddType=`1`;firstgetqueryCgdList()">
盘点中
</view>
<view :class="plzinfo.cgdType==`1`?`more-statues-button-target`:`more-statues-button`"
@click="plzinfo.cgdType=`1`;">
<view :class="plzinfo.pddType==`2`?`more-statues-button-target`:`more-statues-button`"
@click="plzinfo.pddType=`2`;firstgetqueryCgdList()">
已完成
</view>
</view>
@ -398,8 +398,8 @@
盘盈/盘亏
</view>
<view class="selected">
<view class="selected-item" @click="plzinfo.get=!plzinfo.get">
<view class="selected-kuai" v-if="!plzinfo.get">
<view class="selected-item" @click="clickkuai(`1`)">
<view class="selected-kuai" v-if="plzinfo.pydOrPkd!='1,2'&&plzinfo.pydOrPkd!='1'">
</view>
<view class="selected-kuai-target" v-else >
@ -409,8 +409,8 @@
盘盈单
</view>
</view>
<view class="selected-item" @click="plzinfo.lose=!plzinfo.lose">
<view class="selected-kuai" v-if="!plzinfo.lose">
<view class="selected-item" @click="clickkuai(`2`)">
<view class="selected-kuai" v-if="plzinfo.pydOrPkd!='1,2'&&plzinfo.pydOrPkd!='2'">
</view>
<view class="selected-kuai-target" v-else >
@ -440,7 +440,7 @@
<script setup lang="ts">
import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch, reactive } from 'vue';
import { onShow, onLoad, onHide, onPageScroll } from "@dcloudio/uni-app"
import { queryQld, queryQldWlInfo, newtransRead, orderReturn, outbound } from './api/lunpan.js'
import { queryPddList, queryQldWlInfo, newtransRead, orderReturn, outbound } from './api/lunpan.js'
import nomessage from './components/nomessage.vue'
import defaultr from './components/default.vue'
import calendar from '@/component/public/calendar.vue'
@ -485,7 +485,7 @@
const dateget = (res : datetype) => {
plzinfo.startTime = res.start;
plzinfo.endTime = res.end;
firstgetqueryCgdList()
}
const lanjie = ref(false);
@ -505,17 +505,15 @@
switch (index) {
case 0:
plzinfo.status = `1,4,5`
plzinfo.pddType = ``
break
case 1:
plzinfo.status = `1`
plzinfo.pddType = `1`
break
case 2:
plzinfo.status = `4`
break
case 3:
plzinfo.status = `5`
plzinfo.pddType = `2`
break
}
firstgetqueryCgdList()
}
@ -538,7 +536,7 @@
if (chongzhiLock) return
chongzhiLock = true
xiaohui.value = false;
plzinfo.searchContent = ""
plzinfo.pddInfo = ""
plzinfo.startTime = ""
plzinfo.endTime = ""
plzinfo.get = false
@ -555,19 +553,43 @@
const alltotal = ref(0);
const lefttarget = ref(0)
const plzinfo = reactive({
nuId: uni.getStorageSync('nuId'),
pageNo: 1,
pageSize: 5,
pageSize: 9,
canpull: true,
searchContent: "",
status: "1,4,5",
cgdType: "0,1",
pddInfo: "",
pddNo:"",
pddStartBy:"",
pydOrPkd:"",
pddType:"",
startTime: "",
endTime: "",
get:false,
lose:false
})
const clickkuai = (index:string) => {
if(plzinfo.pydOrPkd=""){
if(index=='1'){
if(plzinfo.pydOrPkd=='2'){
plzinfo.pydOrPkd = `1,2`
}else if(plzinfo.pydOrPkd==''){
plzinfo.pydOrPkd = `1`
}else{
plzinfo.pydOrPkd = `2`
}
}
if(index=='2'){
if(plzinfo.pydOrPkd=='1'){
plzinfo.pydOrPkd = `1,2`
}else if(plzinfo.pydOrPkd==''){
plzinfo.pydOrPkd = `2`
}else{
plzinfo.pydOrPkd = `1`
}
}
}
firstgetqueryCgdList()
}
const nomessageshow = ref(false);
const leftscrolltop = ref(0)
@ -576,9 +598,9 @@
const cannomessage = ref(true)
const rightdonghua = ref(true);
const firstgetqueryCgdList = () => {
queryQld(plzinfo).then((res : any) => {
queryPddList(plzinfo).then((res : any) => {
transition.value = true;
// console.log("kankan", plzinfo, res)
console.log("kankan", plzinfo, res)
if (((res.message === "缺少参数") || (!res.result?.total)) && cannomessage.value) {
nomessageshow.value = true;
return
@ -589,15 +611,15 @@
plsbuy.value.push(...res.result.records)
alltotal.value = res.result.total
if (res.result.records.length) {
rightdonghua.value = false;
// if (res.result.records.length) {
// rightdonghua.value = false;
queryQldWlInfo({ qldNo: res.result.records[0].qldNo }).then((element : any) => {
rightarray.value = []
rightarray.value.push(...element.result)
rightdonghua.value = true;
})
}
// queryQldWlInfo({ qldNo: res.result.records[0].qldNo }).then((element : any) => {
// rightarray.value = []
// rightarray.value.push(...element.result)
// rightdonghua.value = true;
// })
// }
if (res.result.records.length < plzinfo.pageSize) {
plzinfo.canpull = false;

View File

@ -371,17 +371,16 @@
plsbuy.value = []
plsbuy.value.push(...res.result.records)
alltotal.value = res.result.total
console.log("?????",res.result.records[0].qldNo)
if (res.result.records.length) {
rightdonghua.value = false;
queryQldWlInfo({ qldNo: res.result.records[0].qldNo }).then((element : any) => {
console.log("111111111",element)
rightarray.value = []
rightarray.value.push(...element.result)
rightdonghua.value = true;
})
}else{
rightarray.value = []
}
if (res.result.records.length < plzinfo.pageSize) {