feat:样品库管理

This commit is contained in:
houjunxiang
2025-11-27 18:04:49 +08:00
parent 6c86dc0760
commit 1bcfde72ee
6 changed files with 75 additions and 21 deletions

View File

@@ -3,7 +3,21 @@
<view class="pl8 pr8 pt8">
<view class="x-f">
<text class="pl6">领取人</text>
<uni-data-select v-model="receiverId" :localdata="range" placeholder="请选择样品领取人"></uni-data-select>
<uni-data-select
v-model="receiverId"
:localdata="assignUserRange"
placeholder="请选择样品领取人"
:clear="false"
></uni-data-select>
</view>
<view class="x-f mt10 mb10" v-if="warehouseRange.length > 1">
<text class="pl20">仓库</text>
<uni-data-select
v-model="warehouseCode"
:clear="false"
:localdata="warehouseRange"
placeholder="请选择仓库"
></uni-data-select>
</view>
<view class="border-b p6 x-f"
><view class="pr16">库管员</view><text>{{ userInfo.nickname }}</text></view
@@ -22,7 +36,7 @@
<uni-section v-if="sampleList.length > 0" type="line" title="调拨样品明细" titleFontSize="15px">
<template #right> <up-text type="error" size="18" bold :text="sampleList.length"></up-text></template>
<scroll-view style="height: 49vh" scroll-y scroll-with-animation>
<scroll-view style="height: 44vh" scroll-y scroll-with-animation>
<uni-card margin="5px" v-for="item in sampleList" class="sample-item">
<view
>样品名称<text class="black">{{ item.sampleName }}</text></view
@@ -52,7 +66,7 @@ import { debounce } from 'lodash'
const btnLoading = ref(false)
let sampleCode = ref('')
let sampleList = ref([])
const range = ref([])
const assignUserRange = ref([])
const userInfo = computed(() => nx.$store('user').userInfo)
const receiverId = ref('')
const { scanQRInfo } = toRefs(nx.$store('biz'))
@@ -85,7 +99,11 @@ async function createDispatchTempData() {
}
async function getScanSample() {
if (sampleCode.value === '') return
await nx.$api.sampleWarehouse.addDispatchSample({ id: dispatchTempId.value, sampleReturnCode: sampleCode.value })
await nx.$api.sampleWarehouse.addDispatchSample({
id: dispatchTempId.value,
sampleReturnCode: sampleCode.value,
warehouseCode: warehouseCode.value
})
getSampleList()
}
async function getSampleList() {
@@ -104,7 +122,7 @@ async function handleSubmit() {
})
}
btnLoading.value = true
const receiver = range.value.find(item => item.value === receiverId.value)?.text
const receiver = assignUserRange.value.find(item => item.value === receiverId.value)?.text
await nx.$api.sampleWarehouse
.execSampleDispatch({
id: dispatchTempId.value,
@@ -130,9 +148,22 @@ function handleReset() {
sampleList.value = []
createDispatchTempData()
}
onMounted(async () => {
const data = await nx.$api.user.getAssignUserList()
range.value = data.map(item => ({ text: item.nickname, value: item.id }))
const warehouseRange = ref([])
const warehouseCode = ref('')
function getWarehouseRange() {
nx.$api.sampleWarehouse.querySampleLocation({ warehouseType: '样品库' }).then(res => {
warehouseRange.value = res.map(item => ({ text: item.name, value: item.code }))
warehouseCode.value = res[0].code
})
}
function getAssignUserRange() {
nx.$api.user.getAssignUserList().then(res => {
assignUserRange.value = res.map(item => ({ text: item.nickname, value: item.id }))
})
}
onMounted(() => {
getAssignUserRange()
getWarehouseRange()
handleReset()
})
</script>