feat:物料试剂
This commit is contained in:
@@ -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
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
21
pages.json
21
pages.json
@@ -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": {
|
||||||
|
|||||||
177
pages/material/inventoryCheck/check.vue
Normal file
177
pages/material/inventoryCheck/check.vue
Normal file
File diff suppressed because it is too large
Load Diff
63
pages/material/inventoryCheck/detailList.vue
Normal file
63
pages/material/inventoryCheck/detailList.vue
Normal 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>
|
||||||
113
pages/material/inventoryCheck/index.vue
Normal file
113
pages/material/inventoryCheck/index.vue
Normal file
File diff suppressed because it is too large
Load Diff
@@ -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({
|
||||||
|
|||||||
@@ -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({
|
||||||
|
|||||||
@@ -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({
|
||||||
|
|||||||
@@ -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({
|
||||||
|
|||||||
BIN
static/images/menus/inventoryCheck .png
Normal file
BIN
static/images/menus/inventoryCheck .png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 10 KiB |
Reference in New Issue
Block a user