|
|
|
@ -259,7 +259,7 @@
|
|
|
|
|
</div>
|
|
|
|
|
</el-card>
|
|
|
|
|
|
|
|
|
|
<!-- 表单弹窗:无聊列表 -->
|
|
|
|
|
<!-- 表单弹窗:物料列表 -->
|
|
|
|
|
<materials ref="matOpenFormRef" @success="getList" />
|
|
|
|
|
</template>
|
|
|
|
|
<script setup lang="ts">
|
|
|
|
@ -267,12 +267,13 @@ import { ref } from 'vue'
|
|
|
|
|
import { useRoute } from 'vue-router'
|
|
|
|
|
import { dateFormatter, formatDate } from '@/utils/formatTime'
|
|
|
|
|
|
|
|
|
|
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
|
|
|
|
|
import { getIntDictOptions,getDictLabel, DICT_TYPE } from '@/utils/dict'
|
|
|
|
|
import { getAccessToken, getTenantId } from '@/utils/auth'
|
|
|
|
|
import { useUserStore } from '@/store/modules/user'
|
|
|
|
|
|
|
|
|
|
import * as CheckApi from '@/api/heli/storagecheck'
|
|
|
|
|
import * as CheckMatApi from '@/api/heli/storagecheckmat'
|
|
|
|
|
import * as MatApi from '@/api/heli/material'
|
|
|
|
|
|
|
|
|
|
import * as UserApi from '@/api/system/user'
|
|
|
|
|
import * as WhApi from '@/api/heli/warehouse'
|
|
|
|
@ -282,6 +283,7 @@ import * as PnApi from '@/api/heli/pn'
|
|
|
|
|
import type { UploadUserFile } from 'element-plus'
|
|
|
|
|
import { deleteFile, downloadFile, getFilePage } from '@/api/infra/file'
|
|
|
|
|
import download from '@/utils/download'
|
|
|
|
|
import materials from './materials.vue'
|
|
|
|
|
|
|
|
|
|
const reload = inject('reload')
|
|
|
|
|
|
|
|
|
@ -356,6 +358,7 @@ const getList = async (arrMat) => {
|
|
|
|
|
arrMat.forEach(row => {
|
|
|
|
|
row.cid = matCount
|
|
|
|
|
if(formData.value.matItemDOList.filter(item =>{item.matId == row.matId && item.whId==row.whId && item.rgId == row.rgId && item.pnId== row.pnId})==0){
|
|
|
|
|
row.matId = row.id
|
|
|
|
|
row.pnlist = ref([])
|
|
|
|
|
row.pnlist = pnList.value.filter(pn => pn.rg_id == row.rgId)
|
|
|
|
|
if(row.pnlist.length==0){
|
|
|
|
@ -454,12 +457,12 @@ const saveFormData = async () => {
|
|
|
|
|
//物料信息保存
|
|
|
|
|
if( formData.value.matItemDOList){
|
|
|
|
|
formData.value.matItemDOList.forEach((item) => {
|
|
|
|
|
item.stockId = formData.value.id
|
|
|
|
|
item.checkId = formData.value.id
|
|
|
|
|
item.whId = formData.value.whId
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
const dataMats = formData.value.matItemDOList as unknown as CheckMatApi.StorageCheckMatVO[]
|
|
|
|
|
//await CheckMatApi.createStorageMatBatch(dataMats, formData.value.id)
|
|
|
|
|
await CheckMatApi.createCheckMatBatch(dataMats, formData.value.id)
|
|
|
|
|
|
|
|
|
|
if (formData.value.matItemDOList !=undefined &&formData.value.matItemDOList.length > 0) {
|
|
|
|
|
//附件信息保存
|
|
|
|
@ -480,12 +483,23 @@ const saveFormData = async () => {
|
|
|
|
|
const submitForm = async () => {
|
|
|
|
|
// 校验表单
|
|
|
|
|
await formRef.value.validate()
|
|
|
|
|
// if (formData.value.matItemDOList ==undefined || formData.value.matItemDOList.length === 0) {
|
|
|
|
|
// message.alertWarning('请添加物料信息!')
|
|
|
|
|
// return
|
|
|
|
|
// }
|
|
|
|
|
if (formData.value.matItemDOList ==undefined || formData.value.matItemDOList.length === 0) {
|
|
|
|
|
message.alertWarning('请添加物料信息!')
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 校验子表单
|
|
|
|
|
try {
|
|
|
|
|
var isRepeat = false
|
|
|
|
|
formData.value.matItemDOList.forEach(item=>{
|
|
|
|
|
if(formData.value.matItemDOList.filter(mat =>mat.matId == item.matId && mat.pnId == item.pnId).length>1){
|
|
|
|
|
isRepeat = true
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
if(isRepeat){
|
|
|
|
|
message.alertWarning('存在相同库位的物料信息,请修改,避免重复盘点!')
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
await matSubFormRef.value.validate()
|
|
|
|
|
} catch (e) {
|
|
|
|
|
return
|
|
|
|
@ -524,8 +538,13 @@ const handleRg = async (rgid,scope) => {
|
|
|
|
|
const handlePn = async (pnid,scope) => {
|
|
|
|
|
//-------------------库位全数据
|
|
|
|
|
if(formData.value.matItemDOList.filter(item =>item.id == scope.row.id && item.whId==scope.row.whId && item.rgId == scope.row.rgId && item.pnId== pnid).length>1){
|
|
|
|
|
scope.row.matRest = 0
|
|
|
|
|
message.alertWarning('物料编码'+scope.row.matCode+',当前库位已存在,请修改,避免重复盘点')
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
var currentMatRest = await CheckApi.getStorageNowMatRest(scope.row.id,scope.row.pnId)
|
|
|
|
|
scope.row.matRest = currentMatRest
|
|
|
|
|
//-------------------
|
|
|
|
|
}
|
|
|
|
|
const handleSub = async (pNum,scope) => {
|
|
|
|
@ -556,12 +575,36 @@ onMounted(async () => {
|
|
|
|
|
|
|
|
|
|
formData.value = await CheckApi.getStorageCheck(query.id)
|
|
|
|
|
|
|
|
|
|
if(formData.value.matItemDOList==undefined){formData.value.matItemDOList=[]}
|
|
|
|
|
|
|
|
|
|
await init_page_wh()
|
|
|
|
|
await init_page_rg()
|
|
|
|
|
await init_page_pn()
|
|
|
|
|
|
|
|
|
|
const dataCheckMats = await CheckMatApi.getStorageCheckListByCheckID(query.id)
|
|
|
|
|
formData.value.matItemDOList = dataCheckMats
|
|
|
|
|
|
|
|
|
|
if(formData.value.matItemDOList==undefined){formData.value.matItemDOList=[]}
|
|
|
|
|
|
|
|
|
|
const dataMatSimples = await MatApi.getSimpList()
|
|
|
|
|
|
|
|
|
|
formData.value.matItemDOList.forEach(item =>{
|
|
|
|
|
var matFind = dataMatSimples.find( simp=> simp.id == item.matId)
|
|
|
|
|
item.cid = matCount
|
|
|
|
|
item.isCopy = 0
|
|
|
|
|
item.matName = matFind?.name
|
|
|
|
|
item.matCode = matFind?.code
|
|
|
|
|
item.matSpec = matFind?.spec
|
|
|
|
|
item.matUnit =getDictLabel(DICT_TYPE.HELI_MATERIAL_UNIT, matFind?.unit)
|
|
|
|
|
item.matType =getDictLabel(DICT_TYPE.HELI_MATERIAL_TYPE, matFind?.unit)
|
|
|
|
|
item.matBrand = matFind?.brand
|
|
|
|
|
item.shortName = matFind?.short_name
|
|
|
|
|
item.matSub = item.storageOkQty-item.matRest
|
|
|
|
|
item.pnlist = pnList.value.filter( pn=> pn.rg_id == item.rgId)
|
|
|
|
|
|
|
|
|
|
matCount = matCount +1
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 附件信息
|
|
|
|
|
let attParams = {
|
|
|
|
|
pageNo: 1,
|
|
|
|
|