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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -38,7 +38,7 @@
.buttons-father { .buttons-father {
width: 100%; width: 100%;
height: 90rpx; height: 70rpx;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
.flexend{ .flexend{
@ -80,7 +80,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;
@ -88,10 +88,21 @@
box-shadow: 0.5rpx 3rpx 3rpx #dadee1; box-shadow: 0.5rpx 3rpx 3rpx #dadee1;
margin: 0 0 0 0.5vw; margin: 0 0 0 0.5vw;
color: #555555; 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 { image {
width: 1.8vw; width: 1.5vw;
height: 1.8vw; height: 1.5vw;
margin: 0 0.2vw 0 0; margin: 0.1vw 0.3vw 0 0;
} }
} }
@ -135,6 +146,7 @@
.shx-font { .shx-font {
margin-top: 3rpx; margin-top: 3rpx;
// font-size: 1.4vw;
// margin-left: -5rpx; // margin-left: -5rpx;
} }
} }

View File

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

View File

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