This commit is contained in:
wangweidong 2025-12-08 16:59:28 +08:00
parent 8f7eb03e47
commit 7c0a5b5551
8 changed files with 199 additions and 92 deletions

View File

@ -120,3 +120,10 @@ export const submitQld = (params) => {
data: params,
})
}
export const requireTH = (params) => {
return request({
url: `${uni.getStorageSync('serverUrl')}/api/pad/invoicing/thd/requireTH`,
method: 'post',
data: params,
})
}

View File

@ -84,9 +84,7 @@
const showbox = ref(false)
watch(()=>props.show,
()=>{
console.log(props.list)
if(props.show==true){
setTimeout(()=>{
showbox.value = true
},50)

View File

@ -37,7 +37,7 @@
回退单
</view>
</view>
<view class="qlthbtn">
<view class="qlthbtn" @click="thshow = true">
<image src="/static/index/requestform/ql2.png" mode="aspectFill"></image>
<view class="shx-font">
退货
@ -53,12 +53,14 @@
<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" />
</view>
</template>
<script setup lang="ts">
import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch, reactive } from 'vue';
import { queryInvoicingList,wlzd,queryGwcInfo,addGwc ,deleteGwcWl,removeAllGwc,submitQld} from '../api/api.js'
import { queryInvoicingList,wlzd,queryGwcInfo,addGwc ,deleteGwcWl,removeAllGwc,submitQld,requireTH} from '../api/api.js'
import addwl from '../common/addwl.vue';
import carditem from '../common/carditem.vue';
import takeing from '../common/takeing.vue';
@ -83,6 +85,9 @@
const tanshow = ref(false)
const recordshow = ref(false)
const subshow = ref(false)
const thshow = ref(false)
const openerror = ref(false)
const errmsg = ref('')
const classication = ref<InstanceType<typeof ChildComponent>>()
onMounted(()=>{
config()
@ -111,6 +116,21 @@
status.value = (res.result.total == listarr.value.length ? 'nomore' : 'loadmore')
})
}
const thclk =() =>{
requireTH({nuId:form.nuId,elderId:form.elderId}).then(res=>{
if(res.success){
thshow.value = false;
uni.showToast({
icon:'none',
title:res.message
})
}else{
thshow.value = false;
errmsg.value = res.message;
openerror.value = true;
}
})
}
const search = (x : number) => {
if (x === 0) { form.wlParamInfo = '' }
form.pageNo = 1;
@ -155,10 +175,8 @@
objtake.value.isAdd = null;
objtake.value.qlNum = null;
}else{
uni.showToast({
icon:'none',
title:res.message
})
errmsg.value = res.message;
openerror.value = true;
}
})
}
@ -173,10 +191,8 @@
item.gwcId = null;
})
}else{
uni.showToast({
icon:'none',
title:res.message
})
errmsg.value = res.message;
openerror.value = true;
}
})
}
@ -225,10 +241,8 @@
config()
}else{
uni.showToast({
icon:'none',
title:res.message
})
errmsg.value = res.message;
openerror.value = true;
}
})
@ -254,10 +268,8 @@
v.qlNum = e;
wuliao();
}else{
uni.showToast({
icon:'none',
title:res.message
})
errmsg.value = res.message;
openerror.value = true;
}
})
}
@ -277,12 +289,9 @@
wuliao();
},800)
}else{
uni.showToast({
icon:'none',
title:res.result.message
})
errmsg.value = res.result.message;
openerror.value = true;
}
console.log(res)
})
}
const confirm = (e)=>{

View File

@ -293,3 +293,17 @@ export const finishServe = (params) => {
data: params,
})
}
export const queryCrkInfoNumList = (params) => {
return request({
url: `${uni.getStorageSync('serverUrl')}/api/pad/invoicing/queryCrkInfoNumList`,
method: 'get',
data: params,
})
}
export const queryCrkInfoList = (params) => {
return request({
url: `${uni.getStorageSync('serverUrl')}/api/pad/invoicing/queryCrkInfoList`,
method: 'get',
data: params,
})
}

View File

@ -119,12 +119,10 @@
medicationId: scroll.act3 > -1 ? TreeData.value[scroll.act1].children[scroll.act2].children[scroll.act3].key : '',
suppliers: gysidnum.value > -1 ? gysarr.value[gysidnum.value].suppliers : ''
}
console.log(obj)
switch (props.typenum) {
case 0:
//
getTreeDataWlnum(obj).then(res => {
console.log(res)
num.value = res.result.totalSize;
})
break;
@ -149,7 +147,6 @@
case 0:
//
getMaterialTreeData({ 'nuId': uni.getStorageSync('nuId') }).then(res => {
console.log(res, uni.getStorageSync('nuId'))
TreeData.value = res.result;
getTreelnum()
})

View File

@ -1,55 +1,117 @@
<template>
<view>
<view class="crkcard guodu" :class="crk?'':'uncrkcard'">
<view class="crkcard guodu" :class="show?'':'unclass'" :style="showbox?'z-index:220':'z-index:-2'">
<view class="titletop">
出入库
</view>
<view class="select">
<view>
<view>全部</view>
<view>日期从近到远
<image src="/static/index/hulilist/xia.png" mode="aspectFill"></image>
<!-- <view @click="tive(1)" :class="actv==1?'act':''">全部</view> -->
<view @click="tive()">
{{actv?'日期从近到远':'日期从远到近'}}
<image src="/static/index/hulilist/xia.png" class="guodu" :style="!actv?'transform: rotate(180deg);':''" mode="aspectFill"></image>
</view>
</view>
<view>
<text>总计:100</text>
<text>出库50</text>
<text>入库50</text>
<text>总计:{{wlobjs.crkzl}}</text>
<text>出库{{wlobjs.cksl}}</text>
<text>入库{{wlobjs.rksl}}</text>
</view>
</view>
<scroll-view scroll-y="true" class="crkscroll">
<view class="cgrk" v-for="(v,i) in 15" :key='i'>
<scroll-view scroll-y="true" class="crkscroll" scroll-with-animation @scrolltolower="scrolltolower()">
<view class="cgrk" v-for="(v,i) in list" :key='i'>
<view>
<text>采购入库</text>
<text>服务指令:生活用品请领</text>
<text>2025-02-13 17:29:18</text>
<text>{{v.crkType_dictText}}{{v.crkStatus_dictText}}</text>
<text>{{v.content}}</text>
<text>{{v.createTime}}</text>
</view>
<view>
<text :class="i>5?'c':'l'">+50</text>
<text>库存96</text>
<text>摘要:服务指令</text>
<text :class="v.crkStatus!=1?'c':'l'">{{v.crkStatus==1?'+':'-'}}{{v.crkNum}}</text>
<text>库存{{v.dqkcl}}</text>
<text> </text>
</view>
</view>
<view style="height:2vw;width: 100%;display: flex;align-items: center;justify-content: center;">
<u-loadmore :status="status" :loadText="{nomore:'暂无更多数据'}" v-if="list.length>3" />
</view>
</scroll-view>
</view>
</view>
</template>
<script>
export default {
props:{
crk:false
},
data() {
return {
};
<script setup lang="ts">
import { ref, onMounted, reactive, onBeforeUnmount, computed, nextTick ,defineComponent,watch} from 'vue';
import { queryCrkInfoNumList ,queryCrkInfoList } from '../api/lunpan.js'
const props = defineProps({
wl:{
type:Object
},
show: {
type: Boolean,
default:false,
required: true,
},
})
const actv = ref(true);
const tive = ()=>{
actv.value = !actv.value;
pageNo.value = 1;
list.value = [];
InfoList()
}
const showbox = ref(false)
watch(()=>props.show,
()=>{
if(props.show==true){
InfoNum();
InfoList();
setTimeout(()=>{
showbox.value = true;
},10)
}else{
pageNo.value = 1;
setTimeout(() => {
showbox.value = false;
list.value = [];
}, 400)
}
})
const pageNo = ref(1);
const list = ref([])
const InfoList = () =>{
let obj = {
wlId:props.wl.wlId,
nuId:props.wl.nuId,
colomnDesc:actv.value?'desc':'asc',//ascdesc
pageNo:pageNo.value,
pageSize:10
}
queryCrkInfoList(obj).then(res=>{
console.log(res.result.records)
list.value.push(...res.result.records);
status.value = (res.result.total == list.value.length ? 'nomore' : 'loadmore')
})
}
const status = ref('loadmore')
const scrolltolower = () =>{
if (status.value == 'loading' || status.value == 'nomore') { return }
status.value = 'loading';
pageNo.value++;
InfoList()
}
const wlobjs = ref({})
const InfoNum = () =>{
queryCrkInfoNumList({wlId:props.wl.wlId,nuId:props.wl.nuId}).then(res=>{
wlobjs.value = res.result;
})
}
</script>
<style scoped lang="less">
//
.unclass {
opacity: 0 !important;
}
.guodu {
transition: .4s;
-webkit-transform-style: preserve-3d;
@ -81,8 +143,8 @@
.crkscroll {
width: 100%;
height: calc(85vh - 14vw);
height: calc(85vh - 15vw);
margin-top: 1vw;
.cgrk {
width: 100%;
height: 11vw;
@ -162,7 +224,7 @@
color: #555555;
}
}
&:nth-child(1) {
justify-content: flex-end;
@ -185,6 +247,10 @@
}
}
.act{
background: linear-gradient(to bottom, #00C9FF, #0076FF);
color: #fff;
}
}
}

View File

@ -30,7 +30,7 @@
库存预警
</view>
<scroll-view scroll-x="true" class="kcscrol guodu"
:style="tx?(qb?'width:46.4vw':'width:55.4vw') : (qb?'width:78.4vw':'width:86.4vw') "
:style="tx?(qb?'width:46.4vw':'width:55.4vw') : (qb?'width:77.4vw':'width:86.4vw') "
scroll-with-animation :scroll-left="scrollleft" @scroll="onScroll" @scrolltolower="scrolltolower(1)">
<view class="yjbox" v-for="(v,i) in Material" :key="i" @click="clickaddcar(v,i)">
<image :src="v.materialImg?serverUrl+v.materialImg:'/static/index/procurement/k.png'"
@ -114,16 +114,17 @@
<detail :InvoicingList="[caigouobj]" @addcartory="addcartory" :show="detailsshow"></detail>
<view class="mengban" v-if="crkflag" @click="crkflag = false"></view>
<inboundoutbound :crk="crkflag"></inboundoutbound>
<inboundoutbound :show="crkflag" :wl="crkobj"></inboundoutbound>
<view class="mengban" v-if="moredex==2" @click="moredex=0"></view>
<addall :show="moredex==2" @back="moredex=0" @config="config"></addall>
<errorshow :show="openerror" :font="errmsg" @close="openerror=false" />
</view>
</template>
<script setup lang="ts">
import { ref, onMounted, reactive, onBeforeUnmount, computed, nextTick, defineComponent, inject } from 'vue';
import { queryInvoicingList, queryWlInfoByWlId, addShoppingCartList, queryShoppingCartList,queryCgdWaringList } from './api/lunpan.js'
import { queryInvoicingList, queryWlInfoByWlId, addShoppingCartList, queryShoppingCartList,queryCgdWaringList,queryCrkInfoNumList } from './api/lunpan.js'
import { onShow, onLoad, onHide, onPageScroll } from "@dcloudio/uni-app"
import calculator from './components/calculator.vue'
import classification from './components/classification.vue'
@ -148,7 +149,8 @@
const caigouobj = ref({})
const status = ref('loadmore')
const statustory = ref('loadmore')
const openerror = ref(false)
const errmsg = ref('')
const scrolltop = ref(0)
const serverUrl = ref('')
const form = reactive({
@ -195,9 +197,7 @@
const Material = ref([])
const getWaringMaterial = () => {
console.log(warn)
queryCgdWaringList(warn).then(res => {
console.log(res.result)
res.result.records.forEach(item => {
item.zk = false;
item.scrollleft = 0;
@ -391,10 +391,15 @@
dhbl: type.num
}
addShoppingCartList([dt]).then(res => {
uni.showToast({
icon: res.success ? 'success' : 'none',
title: res.message
})
if(res.success){
uni.showToast({
icon:res.success?'success':'none',
title:res.message
})
}else{
errmsg.value = res.message;
openerror.value = true;
}
setTimeout(() => {
timers.value = true;
@ -456,7 +461,9 @@
lastTap.value = now
}
}
const crkobj = ref({})
const crk = (v, i) => {
crkobj.value = v;
crkflag.value = true
}
</script>

View File

@ -51,6 +51,7 @@
<calculator :show="addflag" :caigouobj="caigouobj" @colse="addflag = false" @right="right"></calculator>
<view class="mengban" v-if="caigouflag" @click="caigouflag = false"></view>
<purorder :arrlist="generatedOrder" :show="caigouflag" @cloe="caigouflag = false" @config="configr"></purorder>
<errorshow :show="openerror" :font="errmsg" @close="openerror=false" />
</view>
</template>
@ -68,6 +69,8 @@
const addflag = ref(false)
const ification = ref(false)
const caigouobj = ref({})
const openerror = ref(false)
const errmsg = ref('')
const form = reactive({
nuId: uni.getStorageSync('nuId'),
pageNo: 1,
@ -79,7 +82,7 @@
suppliers:''
})
const InvoicingList = ref([])
const status = ref('loading')
const status = ref('loadmore')
const open = ref(0)
onShow(()=>{
InvoicingList.value = [];
@ -154,12 +157,11 @@
form.pageNo=1;
InvoicingList.value = [];
chongzhi()
}else{
errmsg.value = res.message;
openerror.value = true;
}
open.value = 0;
// uni.showToast({
// icon:res.success?'success':'none',
// title:res.message
// })
open.value = 0;
})
}
const delobj = ref({})
@ -171,18 +173,23 @@
const delindex =()=>{
let delstr = delobj.value.id;
deleteQgInfoById(delstr).then(res=>{
uni.showToast({
icon:res.success?'success':'none',
title:res.message
})
setTimeout(()=>{
if(res.success){
if(res.success){
uni.showToast({
icon:res.success?'success':'none',
title:res.message
})
setTimeout(()=>{
InvoicingList.value.splice(delobj.value.index,1);
open.value = 0;
status.value = InvoicingList.value.length == 0 ? 'nomore' : 'loadmore';
classication.value.getTreelnum()
}
},800)
},800)
}else{
errmsg.value = res.message;
openerror.value = true;
}
})
}
@ -208,19 +215,23 @@
console.log(dt)
eddShoppingCartList(dt).then(res=>{
uni.showToast({
icon:res.success?'success':'none',
title:res.message
})
setTimeout(()=>{
timers.value=true;
if(res.success){
timers.value=true;
if(res.success){
setTimeout(()=>{
addflag.value = false;
form.pageNo=1;
InvoicingList.value = [];
queryInvo();
}
},700)
},700)
uni.showToast({
icon:res.success?'success':'none',
title:res.message
})
}else{
errmsg.value = res.message;
openerror.value = true;
}
})
}
const caigouflag = ref(false)
@ -250,10 +261,8 @@
caigouflag.value = true;
uni.hideLoading();
}else{
uni.showToast({
title:res.message,
icon:'none'
})
errmsg.value = res.message;
openerror.value = true;
}
})
}