feat:物料试剂

This commit is contained in:
houjunxiang
2026-03-27 17:32:11 +08:00
parent 904d1c4ea4
commit 0df3be4057
10 changed files with 416 additions and 4 deletions

View File

@@ -81,5 +81,39 @@ export default {
url: '/qms/resource/material-use-end-reuse/reuse', url: '/qms/resource/material-use-end-reuse/reuse',
method: 'PUT', method: 'PUT',
data data
}),
// 流程列表
getLifecycleList: params =>
request({
url: '/qms/resource/material-lifecycle/page',
method: 'GET',
params
}),
// 获取流程明细
getLifecycleDetail: params =>
request({
url: '/qms/resource/material-lifecycle/get',
method: 'GET',
params
}),
// 存盘点明细
inventoryCheckDetails: params =>
request({
url: '/qms/resource/material-inventory-check-detail/page',
method: 'GET',
params
}),
inventoryCheckInf: data =>
request({
url: '/qms/resource/material-lifecycle/inventory-inf',
method: 'PUT',
data
}),
// 盘点执行人提交盘点
submitInventoryCheck: params =>
request({
url: '/qms/resource/material-lifecycle/operator-submit',
method: 'PUT',
params
}) })
} }

View File

@@ -351,6 +351,27 @@
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, },
{
"path": "pages/material/inventoryCheck/index",
"style": {
"navigationBarTitleText": "库存盘点",
"navigationStyle": "custom"
}
},
{
"path": "pages/material/inventoryCheck/check",
"style": {
"navigationBarTitleText": "库存单",
"navigationStyle": "custom"
}
},
{
"path": "pages/material/inventoryCheck/detailList",
"style": {
"navigationBarTitleText": "盘点明细",
"navigationStyle": "custom"
}
},
{ {
"path": "pages/setting/UrlConfig", "path": "pages/setting/UrlConfig",
"style": { "style": {

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,63 @@
<template>
<navbar-back title="盘点明细"></navbar-back>
<uni-section type="line" :title="checkItemInfo.name" titleFontSize="15px"> </uni-section>
<view class="p4">
<scroll-view style="height: 85vh" scroll-y scroll-with-animation @scrolltolower="handleScrolltolower">
<view class="x-bc border-b" v-for="(item, index) in listData">
<view class="data-item">
<view
>批次号<text>{{ item.batchNo }}</text></view
>
<view
>物料编号<text>{{ item.infomationCode }}</text></view
>
<view
>存放位置<text>{{ item.locationCode }}</text></view
>
</view>
<u-icon v-if="item.present" class="mark" size="30" color="#5ac725" name="checkbox-mark"></u-icon>
</view>
<up-loadmore v-if="listData.length > 0" :status="loadStatus" />
<up-empty v-else mode="data" text="暂无数据" marginTop="50"> </up-empty>
</scroll-view>
</view>
</template>
<script setup>
import { computed, ref, watch } from 'vue'
import { onLoad, onShow } from '@dcloudio/uni-app'
import { useListData } from '@/nx/hooks/usePageListData'
import nx from '@/nx'
let checkItemInfo = ref({})
const searchParams = computed(() => {
return {
checkId: checkItemInfo.value. checkId,
itemId: checkItemInfo.value.itemId
}
})
const { listData, scrollToLower, loadStatus, getInitData } = useListData({
searchParams,
api: nx.$api.material.inventoryCheckDetails
})
function handleScrolltolower() {
scrollToLower()
}
onLoad(async options => {
checkItemInfo.value.itemId = options.itemId
checkItemInfo.value.checkId = options.checkId
checkItemInfo.value.name = options.name
getInitData()
})
</script>
<style lang="scss" scoped>
.data-item {
padding: 8px;
border-bottom: 1px solid #eee;
color: #909399;
text {
color: #000;
}
}
</style>

File diff suppressed because it is too large Load Diff

View File

@@ -63,7 +63,8 @@ const debouncedHandleScan = debounce(val => {
scanQRInfo.value = '' scanQRInfo.value = ''
if (nx.$router.getCurrentPage().route !== 'pages/material/openMark/index') return if (nx.$router.getCurrentPage().route !== 'pages/material/openMark/index') return
try { try {
materialCode.value = val const {code} = JSON.parse(val)
materialCode.value = code
getMaterialList() getMaterialList()
} catch (error) { } catch (error) {
uni.showToast({ uni.showToast({

View File

@@ -109,7 +109,8 @@ const debouncedHandleScan = debounce(val => {
scanQRInfo.value = '' scanQRInfo.value = ''
if (nx.$router.getCurrentPage().route !== 'pages/material/outbound/index') return if (nx.$router.getCurrentPage().route !== 'pages/material/outbound/index') return
try { try {
materialCode.value = val const {code} = JSON.parse(val)
materialCode.value = code
getMaterialList() getMaterialList()
} catch (error) { } catch (error) {
uni.showToast({ uni.showToast({

View File

@@ -81,7 +81,8 @@ const debouncedHandleScan = debounce(val => {
scanQRInfo.value = '' scanQRInfo.value = ''
if (nx.$router.getCurrentPage().route !== 'pages/material/useRecord/index') return if (nx.$router.getCurrentPage().route !== 'pages/material/useRecord/index') return
try { try {
materialCode.value = val const {code} = JSON.parse(val)
materialCode.value = code
getMaterialInfo() getMaterialInfo()
} catch (error) { } catch (error) {
uni.showToast({ uni.showToast({

View File

@@ -59,7 +59,8 @@ const debouncedHandleScan = debounce(val => {
scanQRInfo.value = '' scanQRInfo.value = ''
if (nx.$router.getCurrentPage().route !== 'pages/material/useUpMark/index') return if (nx.$router.getCurrentPage().route !== 'pages/material/useUpMark/index') return
try { try {
materialCode.value = val const {code} = JSON.parse(val)
materialCode.value = code
getMaterialList() getMaterialList()
} catch (error) { } catch (error) {
uni.showToast({ uni.showToast({

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB