Merge branch 'dev-sy-11-18'

This commit is contained in:
BianLzhaoMin 2024-11-19 16:27:14 +08:00
commit 26c1e3d2dc
4 changed files with 160 additions and 33 deletions

View File

@ -104,22 +104,61 @@
</template> </template>
<script setup> <script setup>
import { ref } from 'vue' import { ref, onUnmounted } from 'vue'
import { getOutboundDetailsAPI } from '@/services/picking/outbound.js' import { getOutboundDetailsAPI } from '@/services/picking/outbound.js'
import { onLoad } from '@dcloudio/uni-app' import { onLoad } from '@dcloudio/uni-app'
const detailsList = ref([]) const detailsList = ref([])
const query = defineProps() // const query = defineProps() //
//
const leaseApplyInfo = ref({
leaseUnit: '', //
leaseProject: '', //
maTypeName: '', //
typeName: '', //
unitName: '', //
storageNum: '', //
preNum: '', //
parentId: query.id, // id
id: '', // id
typeId: '', // typeId
manageType: '', // manageType
})
// //
const getOutboundDetailsData = async () => { const getOutboundDetailsData = async () => {
const { data: res } = await getOutboundDetailsAPI(query.id) const { data: res } = await getOutboundDetailsAPI(query.id)
detailsList.value = res.leaseApplyDetailsList detailsList.value = res.leaseApplyDetailsList
console.log('详情数据', res) leaseApplyInfo.value.leaseUnit = res.leaseApplyInfo.leaseUnit
leaseApplyInfo.value.leaseProject = res.leaseApplyInfo.leaseProject
// console.log('', res)
} }
// //
const onCodingItem = (item) => { const onCodingItem = (item) => {
const { status, manageType } = item //
const {
status,
manageType,
maTypeName,
typeName,
storageNum,
preNum,
alNum,
unitName,
id,
typeId,
} = item
leaseApplyInfo.value.maTypeName = maTypeName
leaseApplyInfo.value.typeName = typeName
leaseApplyInfo.value.unitName = unitName
leaseApplyInfo.value.storageNum = storageNum
leaseApplyInfo.value.preNum = preNum
leaseApplyInfo.value.alNum = alNum
leaseApplyInfo.value.id = id
leaseApplyInfo.value.typeId = typeId
leaseApplyInfo.value.manageType = manageType
if (status == 2) { if (status == 2) {
uni.showToast({ title: '该物资已完成出库!', icon: 'none' }) uni.showToast({ title: '该物资已完成出库!', icon: 'none' })
@ -133,12 +172,25 @@ const onCodingItem = (item) => {
codingUrl = '/pages/picking/outbound/num-outbound' // codingUrl = '/pages/picking/outbound/num-outbound' //
} }
uni.navigateTo({ url: codingUrl }) // leaseApplyInfo json
uni.navigateTo({ url: `${codingUrl}?queryParams=${JSON.stringify(leaseApplyInfo.value)}` })
} }
// //
onLoad(() => { onLoad(() => {
getOutboundDetailsData() getOutboundDetailsData()
//
uni.$on('onUpdate', () => {
// console.log('')
//
getOutboundDetailsData()
})
})
//
onUnmounted(() => {
uni.$off('onUpdate') //
}) })
</script> </script>

View File

@ -116,6 +116,7 @@
import { ref, computed } from 'vue' import { ref, computed } from 'vue'
import { getPickingOutboundListAPI } from '@/services/picking/outbound.js' import { getPickingOutboundListAPI } from '@/services/picking/outbound.js'
import { onLoad } from '@dcloudio/uni-app' import { onLoad } from '@dcloudio/uni-app'
import { onShow } from '@dcloudio/uni-app'
const total = ref(0) // const total = ref(0) //
const active = ref(1) // tap const active = ref(1) // tap
@ -160,6 +161,11 @@ onLoad(() => {
getTableList() getTableList()
}) })
onShow(() => {
tableList.value = []
getTableList()
})
// //
const onScrollTolower = () => { const onScrollTolower = () => {
if (total.value > tableList.value.length) { if (total.value > tableList.value.length) {

View File

@ -6,83 +6,142 @@
<uni-row :gutter="24"> <uni-row :gutter="24">
<uni-col :span="6">领料单位</uni-col> <uni-col :span="6">领料单位</uni-col>
<uni-col :span="18" <uni-col :span="18"
><div class="cont">{{ item.createTime }}</div></uni-col ><div class="cont">{{ queryParams.leaseUnit }}</div></uni-col
> >
</uni-row> </uni-row>
<uni-row :gutter="24"> <uni-row :gutter="24">
<uni-col :span="6">领料工程</uni-col> <uni-col :span="6">领料工程</uni-col>
<uni-col :span="18" <uni-col :span="18"
><div class="cont">{{ item.code }}</div></uni-col ><div class="cont">{{ queryParams.leaseProject }}</div></uni-col
> >
</uni-row> </uni-row>
<uni-row :gutter="24"> <uni-row :gutter="24">
<uni-col :span="6">物资类型</uni-col> <uni-col :span="6">物资类型</uni-col>
<uni-col :span="18" <uni-col :span="18"
><div class="cont">{{ item.purchaseMaTypeName }}</div></uni-col ><div class="cont">{{ queryParams.maTypeName }}</div></uni-col
> >
</uni-row> </uni-row>
<uni-row :gutter="24"> <uni-row :gutter="24">
<uni-col :span="6">规格型号</uni-col> <uni-col :span="6">规格型号</uni-col>
<uni-col :span="18" <uni-col :span="18"
><div class="cont">{{ item.purchaseMaNumber }}</div></uni-col ><div class="cont">{{ queryParams.typeName }}</div></uni-col
> >
</uni-row> </uni-row>
<uni-row :gutter="24"> <uni-row :gutter="24">
<uni-col :span="6">单位</uni-col> <uni-col :span="6">单位</uni-col>
<uni-col :span="18"><div class="cont"></div></uni-col> <uni-col :span="18">
<div class="cont">{{ queryParams.unitName }}</div>
</uni-col>
</uni-row> </uni-row>
<uni-row :gutter="24"> <uni-row :gutter="24">
<uni-col :span="6">库存数量</uni-col> <uni-col :span="6">库存数量</uni-col>
<uni-col :span="18"> <uni-col :span="18">
<div class="cont">{{ item.leasePerson }}</div> <div class="cont">{{ queryParams.storageNum }}</div>
</uni-col> </uni-col>
</uni-row> </uni-row>
<uni-row :gutter="24"> <uni-row :gutter="24">
<uni-col :span="6">预领数量</uni-col> <uni-col :span="6">预领数量</uni-col>
<uni-col :span="18"> <uni-col :span="18">
<div class="cont">{{ item.alNum }}</div> <div class="cont">{{ queryParams.preNum }}</div>
</uni-col> </uni-col>
</uni-row> </uni-row>
<uni-row :gutter="24"> <uni-row :gutter="24">
<uni-col :span="6">已领数量</uni-col> <uni-col :span="6">已领数量</uni-col>
<uni-col :span="18"> <uni-col :span="18">
<div class="cont">{{ item.alNum }}</div> <div class="cont">{{ queryParams.alNum }}</div>
</uni-col> </uni-col>
</uni-row> </uni-row>
<uni-row :gutter="24"> <uni-row :gutter="24">
<uni-col :span="6">出库数量</uni-col> <uni-col :span="6">出库数量</uni-col>
<uni-col :span="18"> <uni-col :span="18">
<div class="cont" style="width: 200rpx"> <div class="cont" style="width: 200rpx">
<uni-number-box :min="0" :max="100"></uni-number-box> <uni-number-box
:min="0"
:max="maxNum"
v-model="outboundNum"
@change="onChangeNumber"
/>
</div> </div>
</uni-col> </uni-col>
</uni-row> </uni-row>
<view class="outbound-btn"> 出库 </view> <view class="outbound-btn" @tap="onHandleOutbound"> 出库 </view>
</view> </view>
</view> </view>
</template> </template>
<script setup> <script setup>
import { ref } from 'vue' import { computed, ref } from 'vue'
import { getPickingOutboundListAPI } from '@/services/picking/outbound.js' import { setOutboundNumAPI } from '@/services/picking/outbound.js'
import { onLoad } from '@dcloudio/uni-app' const outboundNum = ref(0)
const query = defineProps() //
const queryParams = JSON.parse(query.queryParams)
// //
const getTableList = async () => { const maxNum = computed(() => {
console.log('queryParams.value查询参数', queryParams.value) // 1.
const res = await getPickingOutboundListAPI(queryParams.value) const waitNum = queryParams.preNum - queryParams.alNum
if (res.total > tableList.value.length) {
tableList.value = [...tableList.value, ...res.rows] // 2.
} else { return queryParams.storageNum > waitNum ? waitNum : queryParams.storageNum
finish.value = true })
// change
const onChangeNumber = (e) => {
if (e == maxNum.value) {
uni.showToast({
title: '已达到当前物资最大出库数量!',
icon: 'none',
})
} }
} }
// //
onLoad(() => { const onHandleOutbound = async () => {
getTableList() if (outboundNum.value === 0) {
}) uni.showToast({
title: '出库数量不能为0',
icon: 'none',
})
return
}
//
const { maTypeName, typeName, preNum, alNum, id, typeId, parentId, manageType } = queryParams
//
const params = {
alNum,
id,
parentId,
typeId,
manageType,
typeName,
maTypeName,
inputNum: outboundNum.value,
leaseType: 0,
outNum: preNum,
}
const res = await setOutboundNumAPI({ leaseOutDetailsList: [params] })
console.log('出库结果', res)
if (res.code === 200) {
uni.showToast({
title: '出库成功!',
icon: 'none',
})
setTimeout(() => {
//
uni.navigateBack({
delta: 1,
success() {
uni.$emit('onUpdate')
},
})
}, 500)
}
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@ -158,9 +217,9 @@ onLoad(() => {
.outbound-btn { .outbound-btn {
width: 70%; width: 70%;
margin: 15rpx auto; margin: 25rpx auto;
height: 68rpx; height: 65rpx;
line-height: 68rpx; line-height: 65rpx;
text-align: center; text-align: center;
background-color: #19be6b; background-color: #19be6b;
border-radius: 12rpx; border-radius: 12rpx;

View File

@ -1,7 +1,7 @@
import { http } from '@/utils/http' import { http } from '@/utils/http'
/** /**
* 领料出库 ---- 列表查询接口 * 领料出库 ---- 列表查询
*/ */
export const getPickingOutboundListAPI = (data) => { export const getPickingOutboundListAPI = (data) => {
return http({ return http({
@ -19,3 +19,13 @@ export const getOutboundDetailsAPI = (id) => {
url: `/material/lease_apply_info/${id}`, url: `/material/lease_apply_info/${id}`,
}) })
} }
/**
* 领料出库 ---- 数量出库
*/
export const setOutboundNumAPI = (data) => {
return http({
method: 'POSt',
url: '/material/lease_apply_info/leaseOut',
data,
})
}