From 1bcfde72ee2e84ca91f0129fe48dc355fd94a53c Mon Sep 17 00:00:00 2001 From: houjunxiang Date: Thu, 27 Nov 2025 18:04:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=A0=B7=E5=93=81=E5=BA=93=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nx/api/sampleWarehouse.js | 6 +++ .../dispatchGiveBack/index.vue | 16 +++---- .../execChangeLocation/index.vue | 2 +- .../sampleDispatchInternal/index.vue | 47 +++++++++++++++---- pages/sampleWarehouse/sampleSearch/index.vue | 16 +++++-- pages/sampleWarehouse/sampleTakeOff/index.vue | 9 +++- 6 files changed, 75 insertions(+), 21 deletions(-) diff --git a/nx/api/sampleWarehouse.js b/nx/api/sampleWarehouse.js index d3706ca..91e2135 100644 --- a/nx/api/sampleWarehouse.js +++ b/nx/api/sampleWarehouse.js @@ -77,5 +77,11 @@ export default { url: 'qms/business-sub-sample/execTakeOff', method: 'POST', data + }), + // 根据权限查询样品库 + querySampleLocation: () => + request({ + url: '/qms/config-warehouse-location/selectListWithPermission', + method: 'GET' }) } diff --git a/pages/sampleWarehouse/dispatchGiveBack/index.vue b/pages/sampleWarehouse/dispatchGiveBack/index.vue index db02d06..30c18e0 100644 --- a/pages/sampleWarehouse/dispatchGiveBack/index.vue +++ b/pages/sampleWarehouse/dispatchGiveBack/index.vue @@ -24,21 +24,21 @@ - + 调拨人:{{ item.borrowUser }} + 调拨时间:{{ nx.$dayjs(item.borrowTime).format('YYYY-MM-DD HH:mm:ss') }} + 样品名称:{{ item.sampleName }} - 调拨人:{{ item.borrowUser }} - + 样品编号:{{ item.sampleReturnCode }} - 调拨时间:{{ nx.$dayjs(item.borrowTime).format('YYYY-MM-DD HH:mm:ss') }} 归库编码:{{ item.sampleReturnCode }} { }) async function getSampleList() { if (changeCode.value === '') return - let params = { pageSize: 999, pageNo: 1, returnStatus: 'completed' } + let params = { pageSize: 999, pageNo: 1, returnStatus: 'completed', sampleFlowNodeKey: 'flw_sample_storage' } if (changeType.value === 'sample') { params.sampleReturnCode = changeCode.value } else { diff --git a/pages/sampleWarehouse/sampleDispatchInternal/index.vue b/pages/sampleWarehouse/sampleDispatchInternal/index.vue index 8b6697f..5b78d98 100644 --- a/pages/sampleWarehouse/sampleDispatchInternal/index.vue +++ b/pages/sampleWarehouse/sampleDispatchInternal/index.vue @@ -3,7 +3,21 @@ 领取人: - + + + + 仓库: + 库管员:{{ userInfo.nickname }} - + 样品名称:{{ item.sampleName }} 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() }) diff --git a/pages/sampleWarehouse/sampleSearch/index.vue b/pages/sampleWarehouse/sampleSearch/index.vue index 8b4ec64..d1e9f77 100644 --- a/pages/sampleWarehouse/sampleSearch/index.vue +++ b/pages/sampleWarehouse/sampleSearch/index.vue @@ -23,6 +23,15 @@ >样品名称:{{ sampleData.sampleName }} + - 样品编号:{{ sampleData.sampleCode }} + + 样品编号:{{ sampleData.sampleCode }} + 归库编码:{{ sampleData.sampleReturnCode }} @@ -94,6 +103,7 @@ async function getSampleDetail() { sampleData.value = {} const { list } = await nx.$api.sampleWarehouse.queryReturnToStockSample({ sampleReturnCode: sampleCode.value, + sampleFlowNodeKey: 'flw_sample_storage', pageSize: 10, pageNo: 1 }) diff --git a/pages/sampleWarehouse/sampleTakeOff/index.vue b/pages/sampleWarehouse/sampleTakeOff/index.vue index 850926b..bed25ae 100644 --- a/pages/sampleWarehouse/sampleTakeOff/index.vue +++ b/pages/sampleWarehouse/sampleTakeOff/index.vue @@ -118,12 +118,19 @@ onShow(() => { async function getSampleList() { if (targetCode.value === '') return - let params = { pageSize: 999, pageNo: 1, returnStatus: 'completed', dispatchStatus: '0' } + let params = { + pageSize: 999, + pageNo: 1, + returnStatus: 'completed', + dispatchStatus: '0', + sampleFlowNodeKey: 'flw_sample_storage' + } if (takeOffType.value === 'sample') { params.sampleReturnCode = targetCode.value } else { params.warehouseLocationCode = targetCode.value } + sampleList.value = [] const { list } = await nx.$api.sampleWarehouse.queryReturnToStockSample(params) if (list.length === 0) { return uni.showToast({ title: '未查询到该样品信息', icon: 'none' })