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, 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) const showbox = ref(false)
watch(()=>props.show, watch(()=>props.show,
()=>{ ()=>{
console.log(props.list)
if(props.show==true){ if(props.show==true){
setTimeout(()=>{ setTimeout(()=>{
showbox.value = true showbox.value = true
},50) },50)

View File

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

View File

@ -293,3 +293,17 @@ export const finishServe = (params) => {
data: 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 : '', medicationId: scroll.act3 > -1 ? TreeData.value[scroll.act1].children[scroll.act2].children[scroll.act3].key : '',
suppliers: gysidnum.value > -1 ? gysarr.value[gysidnum.value].suppliers : '' suppliers: gysidnum.value > -1 ? gysarr.value[gysidnum.value].suppliers : ''
} }
console.log(obj)
switch (props.typenum) { switch (props.typenum) {
case 0: case 0:
// //
getTreeDataWlnum(obj).then(res => { getTreeDataWlnum(obj).then(res => {
console.log(res)
num.value = res.result.totalSize; num.value = res.result.totalSize;
}) })
break; break;
@ -149,7 +147,6 @@
case 0: case 0:
// //
getMaterialTreeData({ 'nuId': uni.getStorageSync('nuId') }).then(res => { getMaterialTreeData({ 'nuId': uni.getStorageSync('nuId') }).then(res => {
console.log(res, uni.getStorageSync('nuId'))
TreeData.value = res.result; TreeData.value = res.result;
getTreelnum() getTreelnum()
}) })

View File

@ -1,55 +1,117 @@
<template> <template>
<view> <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 class="titletop">
出入库 出入库
</view> </view>
<view class="select"> <view class="select">
<view> <view>
<view>全部</view> <!-- <view @click="tive(1)" :class="actv==1?'act':''">全部</view> -->
<view>日期从近到远 <view @click="tive()">
<image src="/static/index/hulilist/xia.png" mode="aspectFill"></image> {{actv?'日期从近到远':'日期从远到近'}}
<image src="/static/index/hulilist/xia.png" class="guodu" :style="!actv?'transform: rotate(180deg);':''" mode="aspectFill"></image>
</view> </view>
</view> </view>
<view> <view>
<text>总计:100</text> <text>总计:{{wlobjs.crkzl}}</text>
<text>出库50</text> <text>出库{{wlobjs.cksl}}</text>
<text>入库50</text> <text>入库{{wlobjs.rksl}}</text>
</view> </view>
</view> </view>
<scroll-view scroll-y="true" class="crkscroll"> <scroll-view scroll-y="true" class="crkscroll" scroll-with-animation @scrolltolower="scrolltolower()">
<view class="cgrk" v-for="(v,i) in 15" :key='i'> <view class="cgrk" v-for="(v,i) in list" :key='i'>
<view> <view>
<text>采购入库</text> <text>{{v.crkType_dictText}}{{v.crkStatus_dictText}}</text>
<text>服务指令:生活用品请领</text> <text>{{v.content}}</text>
<text>2025-02-13 17:29:18</text> <text>{{v.createTime}}</text>
</view> </view>
<view> <view>
<text :class="i>5?'c':'l'">+50</text> <text :class="v.crkStatus!=1?'c':'l'">{{v.crkStatus==1?'+':'-'}}{{v.crkNum}}</text>
<text>库存96</text> <text>库存{{v.dqkcl}}</text>
<text>摘要:服务指令</text> <text> </text>
</view> </view>
</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> </scroll-view>
</view> </view>
</view> </view>
</template> </template>
<script> <script setup lang="ts">
export default { import { ref, onMounted, reactive, onBeforeUnmount, computed, nextTick ,defineComponent,watch} from 'vue';
props:{ import { queryCrkInfoNumList ,queryCrkInfoList } from '../api/lunpan.js'
crk:false const props = defineProps({
}, wl:{
data() { type:Object
return { },
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> </script>
<style scoped lang="less"> <style scoped lang="less">
// //
.unclass {
opacity: 0 !important;
}
.guodu { .guodu {
transition: .4s; transition: .4s;
-webkit-transform-style: preserve-3d; -webkit-transform-style: preserve-3d;
@ -81,8 +143,8 @@
.crkscroll { .crkscroll {
width: 100%; width: 100%;
height: calc(85vh - 14vw); height: calc(85vh - 15vw);
margin-top: 1vw;
.cgrk { .cgrk {
width: 100%; width: 100%;
height: 11vw; height: 11vw;
@ -185,6 +247,10 @@
} }
} }
.act{
background: linear-gradient(to bottom, #00C9FF, #0076FF);
color: #fff;
}
} }
} }

View File

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

View File

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