Browse Source

fix: 更新客户端访问路径 备件入库

master
宋国强 1 year ago
parent
commit
ce508cf808
  1. 4
      .env.production
  2. 5
      src/api/outLocation.ts
  3. 7
      src/api/sparePartsReturn.ts
  4. 7
      src/pages.json
  5. 263
      src/pages/inLocation/addForm.vue
  6. 557
      src/pages/inLocation/addForm1.vue
  7. 303
      src/pages/outLocation/addForm.vue
  8. 342
      src/pages/outLocation/addForm1.vue
  9. 110
      src/pages/sparePartsReturn/addForm.vue

4
.env.production

@ -1,2 +1,2 @@
VITE_BASE_URL=http://10.230.41.31:82/admin-api
VITE_BASE_URL_IMAGE=http://10.230.41.31:82/admin-api
VITE_BASE_URL=http://10.230.41.60:82/api/admin-api
VITE_BASE_URL_IMAGE=http://10.230.41.60:82/api/admin-api

5
src/api/outLocation.ts

@ -17,6 +17,11 @@ export function outLocationCreat(data) {
return http.post('/eam/item/item-out-location/create',data)
}
// PDA出库新增
export function outLocationCreatPDA(data) {
return http.post('/eam/item/item-out-location/createPDA',data)
}
// 根据库位编码查询备件信息
export const getByLocationNumber = async (params) => {
return http.get('/eam/item/item-accounts/getByLocationNumber',{params})

7
src/api/sparePartsReturn.ts

@ -4,7 +4,12 @@ import http from './http'
// return http.post('/eam/item-apply-request-main/inOperation',data)
// }
// 归还
// PC归还
export function create(data) {
return http.post('/eam/item/item-in-location/create',data)
}
// PDA归还
export function createPDA(data) {
return http.post('/eam/item/item-in-location/createPDA',data)
}

7
src/pages.json

@ -45,6 +45,13 @@
"navigationBarBackgroundColor": "#409eff",
"navigationBarTextStyle": "white"
}
},{
"path": "pages/outLocation/addForm1",
"style": {
"navigationBarTitleText": "出库信息",
"navigationBarBackgroundColor": "#409eff",
"navigationBarTextStyle": "white"
}
}, {
"path": "pages/scanCode/scanCode",
"style": {

263
src/pages/inLocation/addForm.vue

@ -2,38 +2,50 @@
<!-- 添加维修工单 -->
<view class="add-form-container">
<u-form :model="form" ref="formRef" label-width="160rpx">
<!-- <u-form-item label="归还人员" prop="reverterName" required>
<view class="select" @click="openSingleColumn('reverterId',form.reverterId,reverterUser)">
<view class="input" v-if='form.reverterId'>
{{selectFormat(form.reverterId,reverterUser)}}
</view>
<view class="placeholder" v-else>
{{`请选择归还人员`}}
</view>
<u-icon name="arrow-right" color="#aaaaaa" size="28"></u-icon>
</view>
<!-- <u-form-item label="入库原因" prop="res" required>
<u-input v-model="form.number" placeholder="请输入入库原因" />
</u-form-item> -->
<u-form-item label="归还人员" prop="returner">
<u-input v-model="form.returner" placeholder="请输入归还人"/>
</u-form-item>
<u-form-item label="库位" prop="locationNumber" required>
<u-input v-model="form.locationNumber" placeholder="请输入库位" @blur="blur()" @confirm="handelScanMsg"/>
</u-form-item>
<u-form-item label="备件编号" prop="itemNumber" required>
<u-input v-model="form.itemNumber" placeholder="请输入备件" disabled/>
</u-form-item>
<u-form-item label="备件名称" prop="itemNumber" required>
<u-input v-model="form.itemName" placeholder="根据备件编号获取" disabled />
</u-form-item>
<u-form-item label="数量" prop="qty" required>
<u-input v-model="form.qty" type="number" placeholder="请输入数量" />
</u-form-item>
<!-- <u-form-item label="描述" prop="describes" required>
<u-input v-model="form1.describes" placeholder="请输入描述" />
</u-form-item> -->
</u-form>
<view class="list">
<view class="title">
<span>*</span>归还备件
</view>
<view class="item " v-for="(item,index) in form.itemNumbers" :key="index">
<view class="item-box">
<view class="spare-title">
<view class="title-txt">
库位编号{{item.locationNumber}}
</view>
</view>
<view class="spare-title">
<view class="title-txt">
备件编号{{item.itemNumber}}
</view>
</view>
<view class="spare-title">
<view class="title-txt">
备件名称{{item.itemName}}
</view>
</view>
<u-row gutter="16">
<u-col :span="24">
<view class="dec">
数量{{item.qty}}
</view>
</u-col>
</u-row>
</view>
<u-icon name="minus-circle" color="#aaaaaa" size="60" @click="delSpareParts(index)"></u-icon>
</view>
<view class="add-btn">
<u-button type="primary" @click="open"><u-icon name="plus-circle" color="#ffffff"
size="36"></u-icon>添加备件</u-button>
</view>
</view>
<view class="footer">
<view class="btns">
<button class="reset" @click="reset">重置</button>
@ -41,7 +53,33 @@
</view>
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view>
</view>
<!-- 添加备件 -->
<u-popup v-model="isPopupShow" mode="center" border-radius="14">
<view class="popup-title">添加备件</view>
<scroll-view scroll-y="true" style="max-height:60vh;">
<view class="popup">
<u-form :model="form1" ref="form1Ref" label-width="160rpx">
<u-form-item label="库位编号" prop="locationNumber" required>
<u-input v-model="form1.locationNumber" placeholder="请输入库位编号" @blur="blur()" @confirm="handelScanMsg"/>
</u-form-item>
<u-form-item label="备件编号" prop="itemNumber" required>
<u-input v-model="form1.itemNumber" placeholder="请输入备件" disabled/>
</u-form-item>
<u-form-item label="备件名称" prop="itemNumber" required>
<u-input v-model="form1.itemName" placeholder="根据备件编号获取" disabled />
</u-form-item>
<u-form-item label="数量" prop="qty" required>
<u-input v-model="form1.qty" type="number" placeholder="请输入数量" />
</u-form-item>
</u-form>
</view>
</scroll-view>
<view class="popup-footer">
<view @click="isPopupShow = false">取消</view>
<view class="sure" @click="addSpare">确认</view>
</view>
</u-popup>
<u-select v-model="singleColumnShow" mode="single-column" :default-value='singleColumnDefaultValue'
:list="singleColumnList" @confirm="chooseSingleColumn"></u-select>
</view>
@ -59,7 +97,7 @@
import * as sparePartsReturnApi from "@/api/sparePartsReturn"
import * as sparePartsApi from "@/api/spareParts"
import * as locationApi from "@/api/location"
const isDisabled =ref(false);
const { proxy } = getCurrentInstance()
const loading = ref(false)
//
@ -92,27 +130,18 @@ const singleColumnShow = ref(false)
//
function submit() {
//
// if (!form.value.reverterId) {
// if (!form.value.returner) {
// proxy.$modal.showToast('')
// return;
// }
if (form.value.itemNumber==''|| form.value.itemNumber==null) {
if (form.value.itemNumbers.length === 0) {
proxy.$modal.showToast('请选择备件')
return;
}
if (form.value.locationNumber==''|| form.value.locationNumber==null) {
proxy.$modal.showToast('请选择库位')
return;
}
if (Number(form.value.qty) <= 0) {
proxy.$modal.showToast('出库数量需大于0')
return;
}
proxy.$modal.confirm('是否归还备件').then(() => {
proxy.$modal.loading('加载中')
loading.value = true
sparePartsReturnApi.create(form.value).then((res) => {
sparePartsReturnApi.createPDA(form.value).then((res) => {
proxy.$modal.closeLoading()
if (res.data) {
proxy.$modal.showToast('归还成功')
@ -133,12 +162,13 @@ const singleColumnShow = ref(false)
}
//
function reset() {
form.value.itemNumber=''
form.value.itemName=''
form.value.locationNumber=''
form.value.returner=''
form.value.qty=''
isShow.value= false
if (form.value.id) {
form.value.returner = '';
form.value.itemNumbers = []
} else {
form.value.returner = '';
form.value.itemNumbers = []
}
}
function selectFormat(val, array) {
@ -190,6 +220,10 @@ const singleColumnShow = ref(false)
//
function addSpare() {
//
if (!form1.value.locationNumber) {
proxy.$modal.showToast('请选择库位')
return;
}
if (!form1.value.itemNumber) {
proxy.$modal.showToast('请选择备件')
return;
@ -202,24 +236,11 @@ const singleColumnShow = ref(false)
proxy.$modal.showToast('请选择库位')
return;
}
if (!locationItem.value || locationItem.value.isInAccount === 'TRUE') {
proxy.$modal.showToast('该库位属于帐内库,请选择帐外库')
return;
}
if (itemNumber.value) {
proxy.$modal.showToast('该库位已绑定过其他备件')
return;
}
if (!form1.value.qty) {
proxy.$modal.showToast(`请输入数量`)
return;
}
if (!form1.value.describes) {
proxy.$modal.showToast(`请输入描述`)
return;
}
if (form.value.itemNumbers && form.value.itemNumbers.length > 0) {
let arr =form.value.itemNumbers.filter(item => item.itemNumber == form1.value.itemNumber)
if (arr && arr.length > 0) {
@ -238,36 +259,36 @@ const singleColumnShow = ref(false)
//
function getLocation() {
sparePartsApi.getByLocationNumber({
locationNumber: form.value.locationNumber
locationNumber: form1.value.locationNumber
}).then(res => {
if(!res.data){
if(res.msg){
proxy.$modal.showToast(res.msg)
msg.value = res.msg
form.value.locationNumber = ''
form1.value.locationNumber = ''
}else{
form.value.locationNumber = ''
form1.value.locationNumber = ''
proxy.$modal.showToast('找不到该库位')
}
return;
}
if(res.data.locationNumber==null){
proxy.$modal.showToast("找不到该库位")
form.value.locationNumber = ''
form.value.itemNumber = ''
form.value.itemName = ''
form1.value.locationNumber = ''
form1.value.itemNumber = ''
form1.value.itemName = ''
return;
}
locationItem.value = res.data
//
if (res.data.itemNumber !=null && res.data.itemNumber !='') {//
form.value.itemNumber = res.data.itemNumber
form.value.itemName = res.data.itemName
form1.value.itemNumber = res.data.itemNumber
form1.value.itemName = res.data.itemName
}else{
form.value.locationNumber = ''
form.value.itemNumber = ''
form.value.itemName = ''
form1.value.locationNumber = ''
form1.value.itemNumber = ''
form1.value.itemName = ''
proxy.$modal.showToast('该库位未绑定过备件')
return
}
@ -276,7 +297,7 @@ const singleColumnShow = ref(false)
})
}
function blur() {
if (form.value.locationNumber) {
if (form1.value.locationNumber) {
getLocation()
}
}
@ -286,97 +307,45 @@ const singleColumnShow = ref(false)
}
//
function getSparePartsInfo() {
sparePartsApi.getByItemNumber({
itemNumber: form.value.itemNumber,
sparePartsApi.getSparePartsReturnInfo({
number: form1.value.itemNumber,
}).then(res => {
if(!res.data){
proxy.$modal.showToast(res.msg)
msg.value = res.msg
itemNumber.value = ''
form.value.areaNumber = ''
form.value.locationNumber = '';
form.value.itemName = ''
form1.value.areaNumber = ''
form1.value.locationNumber = '';
form1.value.itemName = ''
return;
}
if(res.data.itemName==null || res.data.itemName==''){
proxy.$modal.showToast("找不到该备件")
form.value.itemNumber = ''
form.value.locationNumber = '';
return;
}
itemNumber.value = ''
form.value.itemName = res.data.itemName
if(res.data.locationNumber=='' || res.data.locationNumber==null){
isShow.value =true
isDisabled.value = false
form1.value.itemName = res.data.itemName
form1.value.deliveryQty = res.data.deliveryQty
form1.value.applyQty = res.data.applyQty
//
locationItem.value = res.data.list.filter(item=>item.isInAccount==='FALSE')[0]
if(locationItem.value){
form1.value.areaNumber = locationItem.value.areaNumber
form1.value.locationNumber = locationItem.value.locationNumber
isShow.value =false
}else{
form.value.locationNumber = res.data.locationNumber
isDisabled.value = true
form1.value.areaNumber = ''
form1.value.locationNumber = ''
isShow.value =true
}
//
// locationItem.value = res.data.list.filter(item=>item.isInAccount==='FALSE')[0]
// if(locationItem.value){
// form1.value.areaNumber = locationItem.value.areaNumber
// form1.value.locationNumber = locationItem.value.locationNumber
// isShow.value =false
// }else{
// form1.value.areaNumber = ''
// form1.value.locationNumber = ''
// }
}).catch((err)=>{
msg.value = err.msg
itemNumber.value = ''
form.value.areaNumber = ''
form.value.itemName = ''
form.value.applyQty = ''
form.value.deliveryQty = ''
form1.value.areaNumber = ''
form1.value.itemName = ''
form1.value.applyQty = ''
form1.value.deliveryQty = ''
locationList.value = [];
})
}
// function getSparePartsInfo() {
// sparePartsApi.getSparePartsReturnInfo({
// number: form1.value.itemNumber,
// }).then(res => {
// if(!res.data){
// proxy.$modal.showToast(res.msg)
// msg.value = res.msg
// itemNumber.value = ''
// form1.value.areaNumber = ''
// form1.value.locationNumber = '';
// form1.value.itemName = ''
// return;
// }
// itemNumber.value = ''
// form1.value.itemName = res.data.itemName
// form1.value.deliveryQty = res.data.deliveryQty
// form1.value.applyQty = res.data.applyQty
// //
// locationItem.value = res.data.list.filter(item=>item.isInAccount==='FALSE')[0]
// if(locationItem.value){
// form1.value.areaNumber = locationItem.value.areaNumber
// form1.value.locationNumber = locationItem.value.locationNumber
// isShow.value =false
// }else{
// form1.value.areaNumber = ''
// form1.value.locationNumber = ''
// isShow.value =true
// }
// }).catch((err)=>{
// msg.value = err.msg
// itemNumber.value = ''
// form1.value.areaNumber = ''
// form1.value.itemName = ''
// form1.value.applyQty = ''
// form1.value.deliveryQty = ''
// locationList.value = [];
// })
// }
function blur1() {
if (form.value.itemNumber) {
if (form1.value.itemNumber) {
getSparePartsInfo()
}
}

557
src/pages/inLocation/addForm1.vue

@ -0,0 +1,557 @@
<template>
<!-- 添加维修工单 -->
<view class="add-form-container">
<u-form :model="form" ref="formRef" label-width="160rpx">
<!-- <u-form-item label="归还人员" prop="reverterName" required>
<view class="select" @click="openSingleColumn('reverterId',form.reverterId,reverterUser)">
<view class="input" v-if='form.reverterId'>
{{selectFormat(form.reverterId,reverterUser)}}
</view>
<view class="placeholder" v-else>
{{`请选择归还人员`}}
</view>
<u-icon name="arrow-right" color="#aaaaaa" size="28"></u-icon>
</view>
</u-form-item> -->
<u-form-item label="归还人员" prop="returner">
<u-input v-model="form.returner" placeholder="请输入归还人"/>
</u-form-item>
<u-form-item label="库位" prop="locationNumber" required>
<u-input v-model="form.locationNumber" placeholder="请输入库位" @blur="blur()" @confirm="handelScanMsg"/>
</u-form-item>
<u-form-item label="备件编号" prop="itemNumber" required>
<u-input v-model="form.itemNumber" placeholder="请输入备件" disabled/>
</u-form-item>
<u-form-item label="备件名称" prop="itemNumber" required>
<u-input v-model="form.itemName" placeholder="根据备件编号获取" disabled />
</u-form-item>
<u-form-item label="数量" prop="qty" required>
<u-input v-model="form.qty" type="number" placeholder="请输入数量" />
</u-form-item>
<!-- <u-form-item label="描述" prop="describes" required>
<u-input v-model="form1.describes" placeholder="请输入描述" />
</u-form-item> -->
</u-form>
<view class="footer">
<view class="btns">
<button class="reset" @click="reset">重置</button>
<button class="sure" @click="submit" :loading='loading' :disabled='loading'>确定</button>
</view>
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view>
</view>
<u-select v-model="singleColumnShow" mode="single-column" :default-value='singleColumnDefaultValue'
:list="singleColumnList" @confirm="chooseSingleColumn"></u-select>
</view>
</template>
<script setup lang="ts">
import {
onLoad
} from '@dcloudio/uni-app'
import {
ref,
getCurrentInstance
} from 'vue'
import * as userApi from "@/api/user"
import * as sparePartsReturnApi from "@/api/sparePartsReturn"
import * as sparePartsApi from "@/api/spareParts"
import * as locationApi from "@/api/location"
const isDisabled =ref(false);
const { proxy } = getCurrentInstance()
const loading = ref(false)
//
const isPopupShow = ref(false)
const singleColumnShow = ref(false)
const singleColumnDefaultValue = ref([])
const singleColumnList = ref([])
const field = ref('')
const reverterUser = ref([])
const form = ref({
id: '',
number: '',
itemNumbers: []
})
const form1 = ref({
itemNumber: "",
itemName: '',
locationNumber: '',
qty: ''
})
const isShow = ref(false)
const locationList = ref([])//
const locationItem = ref('')//
const isFocus = ref(false)
const choosesingleColumnItem = ref()
const itemNumber = ref()
const msg = ref()
//
function submit() {
//
// if (!form.value.reverterId) {
// proxy.$modal.showToast('')
// return;
// }
if (form.value.itemNumber==''|| form.value.itemNumber==null) {
proxy.$modal.showToast('请选择备件')
return;
}
if (form.value.locationNumber==''|| form.value.locationNumber==null) {
proxy.$modal.showToast('请选择库位')
return;
}
if (Number(form.value.qty) <= 0) {
proxy.$modal.showToast('出库数量需大于0')
return;
}
proxy.$modal.confirm('是否归还备件').then(() => {
proxy.$modal.loading('加载中')
loading.value = true
sparePartsReturnApi.create(form.value).then((res) => {
proxy.$modal.closeLoading()
if (res.data) {
proxy.$modal.showToast('归还成功')
setTimeout(() => {
proxy.$tab.navigateBack()
loading.value = false
}, 1500)
} else {
proxy.$modal.showToast('归还失败')
loading.value = false
}
}).catch(() => {
proxy.$modal.closeLoading()
loading.value = false
})
})
}
//
function reset() {
form.value.itemNumber=''
form.value.itemName=''
form.value.locationNumber=''
form.value.returner=''
form.value.qty=''
isShow.value= false
}
function selectFormat(val, array) {
let str = array.filter(item => item.value == val)[0].label
return str
}
//
function openSingleColumn(fieldName, val, list) {
singleColumnList.value = list
field.value = fieldName
if (val) {
singleColumnDefaultValue.value = [list.findIndex(item => item.value == val)]
} else {
singleColumnDefaultValue.value = []
}
singleColumnShow.value = true
}
//
function chooseSingleColumn(e) {
form.value[field.value] = e[0].value
if(field.value == 'reverterId'){
choosesingleColumnItem.value = singleColumnList.value.filter(item => item.id == e[0].value)
form.value.reverterName = choosesingleColumnItem.value[0].name
}
singleColumnShow.value = false
}
//
async function getReverterUser() {
await userApi.getReverterUser().then(res => {
res.data.map(item => {
item.value = item.id
item.label = item.nickname
})
reverterUser.value = res.data
})
}
//
function open() {
form1.value = {
itemNumber: "",
itemName: '',
locationNumber: '',
qty: ''
}
isPopupShow.value = true
isShow.value= false
isFocus.value = true
}
//
function addSpare() {
//
if (!form1.value.itemNumber) {
proxy.$modal.showToast('请选择备件')
return;
}
if (!form1.value.itemName) {
proxy.$modal.showToast(msg.value)
return;
}
if (!form1.value.locationNumber) {
proxy.$modal.showToast('请选择库位')
return;
}
if (!locationItem.value || locationItem.value.isInAccount === 'TRUE') {
proxy.$modal.showToast('该库位属于帐内库,请选择帐外库')
return;
}
if (itemNumber.value) {
proxy.$modal.showToast('该库位已绑定过其他备件')
return;
}
if (!form1.value.qty) {
proxy.$modal.showToast(`请输入数量`)
return;
}
if (!form1.value.describes) {
proxy.$modal.showToast(`请输入描述`)
return;
}
if (form.value.itemNumbers && form.value.itemNumbers.length > 0) {
let arr =form.value.itemNumbers.filter(item => item.itemNumber == form1.value.itemNumber)
if (arr && arr.length > 0) {
proxy.$modal.showToast('该备件已添加')
return;
}
}
form.value.itemNumbers.push(form1.value)
isPopupShow.value = false
}
//
function delSpareParts(index) {
form.value.itemNumbers.splice(index, 1)
}
//
function getLocation() {
sparePartsApi.getByLocationNumber({
locationNumber: form.value.locationNumber
}).then(res => {
if(!res.data){
if(res.msg){
proxy.$modal.showToast(res.msg)
msg.value = res.msg
form.value.locationNumber = ''
}else{
form.value.locationNumber = ''
proxy.$modal.showToast('找不到该库位')
}
return;
}
if(res.data.locationNumber==null){
proxy.$modal.showToast("找不到该库位")
form.value.locationNumber = ''
form.value.itemNumber = ''
form.value.itemName = ''
return;
}
locationItem.value = res.data
//
if (res.data.itemNumber !=null && res.data.itemNumber !='') {//
form.value.itemNumber = res.data.itemNumber
form.value.itemName = res.data.itemName
}else{
form.value.locationNumber = ''
form.value.itemNumber = ''
form.value.itemName = ''
proxy.$modal.showToast('该库位未绑定过备件')
return
}
}).catch(()=>{
})
}
function blur() {
if (form.value.locationNumber) {
getLocation()
}
}
//
function handelScanMsg() {
getLocation()
}
//
function getSparePartsInfo() {
sparePartsApi.getByItemNumber({
itemNumber: form.value.itemNumber,
}).then(res => {
if(!res.data){
proxy.$modal.showToast(res.msg)
msg.value = res.msg
itemNumber.value = ''
form.value.areaNumber = ''
form.value.locationNumber = '';
form.value.itemName = ''
return;
}
if(res.data.itemName==null || res.data.itemName==''){
proxy.$modal.showToast("找不到该备件")
form.value.itemNumber = ''
form.value.locationNumber = '';
return;
}
itemNumber.value = ''
form.value.itemName = res.data.itemName
if(res.data.locationNumber=='' || res.data.locationNumber==null){
isShow.value =true
isDisabled.value = false
}else{
form.value.locationNumber = res.data.locationNumber
isDisabled.value = true
}
//
// locationItem.value = res.data.list.filter(item=>item.isInAccount==='FALSE')[0]
// if(locationItem.value){
// form1.value.areaNumber = locationItem.value.areaNumber
// form1.value.locationNumber = locationItem.value.locationNumber
// isShow.value =false
// }else{
// form1.value.areaNumber = ''
// form1.value.locationNumber = ''
// }
}).catch((err)=>{
msg.value = err.msg
itemNumber.value = ''
form.value.areaNumber = ''
form.value.itemName = ''
form.value.applyQty = ''
form.value.deliveryQty = ''
locationList.value = [];
})
}
// function getSparePartsInfo() {
// sparePartsApi.getSparePartsReturnInfo({
// number: form1.value.itemNumber,
// }).then(res => {
// if(!res.data){
// proxy.$modal.showToast(res.msg)
// msg.value = res.msg
// itemNumber.value = ''
// form1.value.areaNumber = ''
// form1.value.locationNumber = '';
// form1.value.itemName = ''
// return;
// }
// itemNumber.value = ''
// form1.value.itemName = res.data.itemName
// form1.value.deliveryQty = res.data.deliveryQty
// form1.value.applyQty = res.data.applyQty
// //
// locationItem.value = res.data.list.filter(item=>item.isInAccount==='FALSE')[0]
// if(locationItem.value){
// form1.value.areaNumber = locationItem.value.areaNumber
// form1.value.locationNumber = locationItem.value.locationNumber
// isShow.value =false
// }else{
// form1.value.areaNumber = ''
// form1.value.locationNumber = ''
// isShow.value =true
// }
// }).catch((err)=>{
// msg.value = err.msg
// itemNumber.value = ''
// form1.value.areaNumber = ''
// form1.value.itemName = ''
// form1.value.applyQty = ''
// form1.value.deliveryQty = ''
// locationList.value = [];
// })
// }
function blur1() {
if (form.value.itemNumber) {
getSparePartsInfo()
}
}
//
function handelScanMsg1() {
getSparePartsInfo()
}
onLoad(async(option) => {
getReverterUser()
})
</script>
<style lang="scss" scoped>
.add-form-container {
min-height: calc(100vh - 140rpx);
background: white;
padding: 0px 0rpx 140rpx;
}
.u-form-item {
padding: 20rpx 30rpx;
}
.disabled {
background: #f5f5f5;
}
.footer {
position: fixed;
bottom: 0px;
left: 0px;
width: 100%;
z-index: 22;
}
.btns {
display: flex;
button {
flex: 1;
}
.sure {
background: #409eff;
color: white;
border-radius: 0px;
&::after {
border: 1px solid #409eff;
border-radius: 0px;
}
}
.reset {
background: #F5F5F5;
border-radius: 0px;
&::after {
border-radius: 0px;
}
}
}
.right-button {
background: #409eff;
color: white;
padding: 0rpx 30rpx;
border-radius: 16rpx;
text-align: center;
font-size: 28rpx;
}
.select {
display: flex;
align-items: center;
height: 72rpx;
width: 100%;
.input {
flex: 1;
font-size: 28rpx;
color: #000000;
}
.placeholder {
flex: 1;
font-size: 28rpx;
color: rgb(192, 196, 204);
}
}
.title {
padding: 32rpx 0rpx;
position: relative;
span {
position: absolute;
left: -16rpx;
color: #fa3534;
top: 19px;
}
}
.list {
padding: 0rpx 30rpx;
.item {
display: flex;
margin-bottom: 20rpx;
.item-box {
background: #F5F5F5;
border-radius: 12rpx;
flex: 1;
width: 0rpx;
}
.spare-title {
padding: 20rpx 30rpx;
border-bottom: 1px solid #e4e4e4;
.title-txt {
color: #409eff;
font-size: 30rpx;
font-weight: bold;
}
}
.dec {
color: #9c9c9c;
padding: 20rpx 30rpx 20rpx;
}
}
}
.add-btn {
display: flex;
justify-content: flex-start;
align-items: center;
}
.popup-title {
text-align: center;
font-size: 32rpx;
font-weight: bold;
color: #409eff;
padding: 30rpx 30rpx 0px
}
.popup {
width: 600rpx;
padding: 30rpx 0rpx 30rpx;
}
.popup-footer {
display: flex;
border-top: 1px solid #e4e4e4;
view {
line-height: 100rpx;
flex: 1;
text-align: center;
&.sure {
color: #409eff;
}
}
}
::v-deep .u-checkbox-group {
display: grid !important;
}
</style>

303
src/pages/outLocation/addForm.vue

@ -1,36 +1,57 @@
<template>
<!-- 添加出库信息 -->
<!-- 添加维修工单 -->
<view class="add-form-container">
<u-form :model="form" ref="formRef" label-width="160rpx">
<u-form-item label="领用人" class='disabled'>
<u-input v-model="form.receiver" placeholder="请输入领用人" />
</u-form-item>
<u-form-item label="库位" prop="locationNumber" required>
<u-input v-model="form.locationNumber" placeholder="请输入库位" @blur="blur()"
@confirm="handelScanMsg" :focus='isFocus' />
</u-form-item>
<u-form-item label="备件名称" prop="itemName" required class="disabled">
<u-input v-model="form.itemName" disabled placeholder="请输入备件名称"/>
</u-form-item>
<u-form-item label="备件编码" prop="itemNumber" required class="disabled">
<u-input v-model="form.itemNumber" disabled placeholder="请输入备件编号" />
</u-form-item>
<u-form-item label="出库数量" prop="qty" required class="disabled">
<u-input v-model="form.qty" type="number" placeholder="请输入出库数量"/>
</u-form-item>
<u-form-item label="库存数量" prop="stockQty" required class="disabled">
<u-input v-model="form.stockQty" type="number" disabled placeholder="请输入库存数量" />
</u-form-item>
<!-- <u-form-item label="剩余出库数量" prop="totalReception" required class="disabled">
<u-input v-model="form1.totalReception" type="number" disabled placeholder="请输入出库数量" />
</u-form-item>
<u-form-item label="出库数量" prop="qty" required>
<u-input v-model="form1.qty" type="number" placeholder="请输入出库数量" />
</u-form-item>
<u-form-item label="描述" prop="describes">
<u-input v-model="form1.describes" placeholder="请输入描述" />
</u-form-item> -->
</u-form>
<view class="list">
<view class="title">
<span>*</span>出库信息
</view>
<view class="item " v-for="(item,index) in form.itemNumbers" :key="index">
<view class="item-box">
<view class="spare-title">
<view class="title-txt">
备件名称{{item.itemName}}
</view>
</view>
<u-row gutter="16">
<u-col :span="24">
<view class="dec">
出库数量{{item.qty}}
</view>
</u-col>
<u-col :span="24">
<view class="dec">
申请数量{{item.applyQty}}
</view>
</u-col>
<u-col :span="24">
<view class="dec">
库位编码{{item.locationNumber}}
</view>
</u-col>
<!-- <u-col :span="24">
<view class="dec">
库位名称{{item.locationName}}
</view>
</u-col> -->
<u-col :span="24">
<view class="dec">
库位类型{{item.isInAccount == 'FALSE'?'帐外库' :'帐内库'}}
</view>
</u-col>
</u-row>
</view>
<u-icon name="minus-circle" color="#aaaaaa" size="60" @click="delSpareParts(item,index)"></u-icon>
</view>
<view class="add-btn">
<u-button type="primary" @click="open"><u-icon name="plus-circle" color="#ffffff"
size="36"></u-icon>添加备件</u-button>
</view>
</view>
<view class="footer">
<view class="btns">
<button class="reset" @click="reset">重置</button>
@ -38,6 +59,42 @@
</view>
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view>
</view>
<!-- 添加备件 -->
<u-popup v-model="isPopupShow" mode="center" border-radius="14">
<view class="popup-title">添加备件</view>
<scroll-view scroll-y="true" style="max-height:60vh;">
<view class="popup">
<u-form :model="form1" ref="form1Ref" label-width="180rpx">
<u-form-item label="库位" prop="locationNumber" required>
<u-input v-model="form1.locationNumber" placeholder="请输入库位" @blur="blur()"
@confirm="handelScanMsg" :focus='isFocus' />
</u-form-item>
<u-form-item :label="`备件编号`" prop="itemNumber" required class="disabled">
<view class="select">
<u-input v-model="form1.itemNumber" placeholder="请选择备件" disabled />
</view>
</u-form-item>
<u-form-item :label="`备件名称`" prop="itemNumber" required class="disabled">
<view class="select">
<u-input v-model="form1.itemName" placeholder="请选择备件" disabled />
</view>
</u-form-item>
<u-form-item label="库存数量" prop="stockQty" required class="disabled">
<u-input v-model="form1.stockQty" type="number" disabled placeholder="请输入库存数量" />
</u-form-item>
<u-form-item label="出库数量" prop="qty" required>
<u-input v-model="form1.qty" type="number" placeholder="请输入出库数量" />
</u-form-item>
</u-form>
</view>
</scroll-view>
<view class="popup-footer">
<view @click="isPopupShow = false">取消</view>
<view class="sure" @click="addSpare">确认</view>
</view>
</u-popup>
</view>
</template>
@ -60,16 +117,20 @@
const form = ref({
id: '',
number: '',
stockQty:'',
qty:'',
receiver:'',
supplierName: '',
locationNumber: '',
itemName:'',
itemNumber:'',
itemNumbers: [],
subList: []
})
const form1 = ref({
itemNumber: "",
itemName: '',
locationNumber: '',
applyQty: '',
receiveQty: '',
stockQty: '',
totalReception:'',
qty: ''
})
const isShow = ref(false)
const isInAccount = ref('FALSE')
@ -77,33 +138,14 @@
const msg = ref('')
//
function submit() {
//
if (!form.value.locationNumber) {
proxy.$modal.showToast('请选择库位')
return;
}
if (!form.value.itemNumber) {
proxy.$modal.showToast('请选择备件')
return;
}
//
if (!form.value.qty) {
proxy.$modal.showToast('请选择出库数量')
return;
}
if (Number(form.value.qty) <= 0) {
proxy.$modal.showToast('出库数量需大于0')
return;
}
if (Number(form.value.qty)>Number(form.value.stockQty)) {
proxy.$modal.showToast('出库数量不能大于库存数量')
if (form.value.itemNumbers.length === 0) {
proxy.$modal.showToast('请添加出库信息')
return;
}
proxy.$modal.confirm('是否添加出库信息').then(() => {
proxy.$modal.loading('加载中')
loading.value = true
outLocationApi.outLocationCreat(form.value).then((res) => {
outLocationApi.outLocationCreatPDA(form.value).then((res) => {
proxy.$modal.closeLoading()
if (res.data) {
proxy.$modal.showToast('添加成功')
@ -124,44 +166,155 @@
}
//
function reset() {
form.value.locationNumber = ''
form.value.stockQty = ''
form.value.qty = ''
form.value.receiver = ''
form.value.itemName = ''
form.value.itemNumber = ''
form.value.itemNumbers = []
}
//
async function getInLocationDetail() {
// let itemNumbers = form.value.itemNumbers.map(item=>{
// return {
// itemNumber:item.itemNumber,
// qty:item.qty,
// locationNumber:item.locationNumber,
// }
// })
await outLocationApi.getOutLocationDetail({
id: form.value.id,
number: form.value.number,
// itemNumbers:itemNumbers || []
}).then(res => {
form.value.applyName = res.data.applyName
form.value.approveName = res.data.approveName
form.value.applyDeptName = res.data.applyDeptName
form.value.subList = res.data.subList
}).catch(() => { })
}
//
function open() {
form1.value = {
itemNumber: "",
itemName: '',
locationNumber: '',
applyQty: '',
receiveQty: '',
stockQty: '',
qty: ''
}
isPopupShow.value = true
isShow.value = false
isFocus.value = true
}
//
function addSpare() {
//
if (!form1.value.locationNumber) {
proxy.$modal.showToast('请选择库位')
return;
}
if (!form1.value.itemNumber) {
proxy.$modal.showToast(msg.value)
return;
}
if (!form1.value.qty) {
proxy.$modal.showToast(`请输入数量`)
return;
}
if (Number(form1.value.qty) > Number(form1.value.stockQty)) {
proxy.$modal.showToast('出库数量不可大于库存数量')
return;
}
if (form.value.itemNumbers && form.value.itemNumbers.length > 0) {
let arr = form.value.itemNumbers.filter(item => item.locationNumber == form1.value.locationNumber)
if (arr && arr.length > 0) {
proxy.$modal.showToast('该库位已添加')
return;
}
}
form.value.itemNumbers.push(form1.value)
isPopupShow.value = false
}
//
function delSpareParts(item,index) {
let bol = form.value.itemNumbers.some(cur=>cur.itemNumber == item.itemNumber&&item.isInAccount == 'FALSE'&&cur.isInAccount == 'TRUE')
if(bol){
proxy.$modal.showToast('请先删除该备件得帐内库')
return;
}
form.value.itemNumbers.splice(index, 1)
}
function getLocation() {
let itemNumbers = form.value.itemNumbers.map(item=>{
return {
itemNumber:item.itemNumber,
qty:item.qty,
locationNumber:item.locationNumber,
}
})
locationApi.getOutLocation({
number: form1.value.locationNumber,
id: form.value.id,
itemNumbers:itemNumbers
}).then(res => {
if (!res.data) {
msg.value = res.msg
form1.value.areaNumber = '';
form1.value.itemName = '';
form1.value.itemNumber = '';
form1.value.receiveQty ='';
form1.value.applyQty ='';
form1.value.stockQty = '';
form1.value.totalReception ='';
form1.value.isInAccount ='';
isInAccount.value ='';
return;
}
form1.value.areaNumber = res.data.areaNumber;
form1.value.itemName = res.data.itemName;
form1.value.itemNumber = res.data.itemNumber;
form1.value.receiveQty = res.data.receiveQty || 0;
form1.value.applyQty = res.data.applyQty || 0;
form1.value.stockQty = res.data.qty || 0;
form1.value.totalReception = res.data.totalReception || 0;
form1.value.isInAccount = res.data.isInAccount;
isInAccount.value = res.data.isInAccount || ''
// this.itemNumber = res.data.itemNumber || ''
}).catch((error) => {
msg.value = error.msg
form1.value.areaNumber = '';
form1.value.itemName = '';
form1.value.itemNumber = '';
form1.value.receiveQty = '';
form1.value.applyQty = '';
form1.value.stockQty = '';
isInAccount.value = '';
})
}
//
async function getByLocationNumber() {
await outLocationApi.getByLocationNumber({
locationNumber: form.value.locationNumber
locationNumber: form1.value.locationNumber
// itemNumbers:itemNumbers || []
}).then(res => {
if(!res.data.itemNumber){
proxy.$modal.showToast('该库位下无备件信息')
return;
}
form.value.itemName = res.data.itemName
form.value.itemNumber = res.data.itemNumber
form.value.stockQty = res.data.qty
form1.value.itemName = res.data.itemName
form1.value.itemNumber = res.data.itemNumber
form1.value.stockQty = res.data.qty
}).catch(() => { })
}
//
function open() {
isPopupShow.value = true
isShow.value = false
isFocus.value = true
}
function blur() {
if (form.value.locationNumber) {
if (form1.value.locationNumber) {
getByLocationNumber();
}
}
function handelScanMsg() {
getByLocationNumber
getLocation()
}
onLoad(async (option) => {
if (option.data && JSON.parse(decodeURIComponent(option.data)) && JSON.parse(decodeURIComponent(option

342
src/pages/outLocation/addForm1.vue

@ -0,0 +1,342 @@
<template>
<!-- 添加出库信息 -->
<view class="add-form-container">
<u-form :model="form" ref="formRef" label-width="160rpx">
<u-form-item label="领用人" class='disabled'>
<u-input v-model="form.receiver" placeholder="请输入领用人" />
</u-form-item>
<u-form-item label="库位" prop="locationNumber" required>
<u-input v-model="form.locationNumber" placeholder="请输入库位" @blur="blur()"
@confirm="handelScanMsg" :focus='isFocus' />
</u-form-item>
<u-form-item label="备件名称" prop="itemName" required class="disabled">
<u-input v-model="form.itemName" disabled placeholder="请输入备件名称"/>
</u-form-item>
<u-form-item label="备件编码" prop="itemNumber" required class="disabled">
<u-input v-model="form.itemNumber" disabled placeholder="请输入备件编号" />
</u-form-item>
<u-form-item label="出库数量" prop="qty" required class="disabled">
<u-input v-model="form.qty" type="number" placeholder="请输入出库数量"/>
</u-form-item>
<u-form-item label="库存数量" prop="stockQty" required class="disabled">
<u-input v-model="form.stockQty" type="number" disabled placeholder="请输入库存数量" />
</u-form-item>
<!-- <u-form-item label="剩余出库数量" prop="totalReception" required class="disabled">
<u-input v-model="form1.totalReception" type="number" disabled placeholder="请输入出库数量" />
</u-form-item>
<u-form-item label="出库数量" prop="qty" required>
<u-input v-model="form1.qty" type="number" placeholder="请输入出库数量" />
</u-form-item>
<u-form-item label="描述" prop="describes">
<u-input v-model="form1.describes" placeholder="请输入描述" />
</u-form-item> -->
</u-form>
<view class="footer">
<view class="btns">
<button class="reset" @click="reset">重置</button>
<button class="sure" @click="submit" :loading='loading' :disabled='loading'>确定</button>
</view>
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view>
</view>
</view>
</template>
<script setup lang="ts">
import {
onLoad
} from '@dcloudio/uni-app'
import {
ref,
getCurrentInstance
} from 'vue'
import * as outLocationApi from "@/api/outLocation"
import * as locationApi from "@/api/location"
const { proxy } = getCurrentInstance()
const loading = ref(false)
const orderList = ref([])//
//
const isPopupShow = ref(false)
const form = ref({
id: '',
number: '',
stockQty:'',
qty:'',
receiver:'',
supplierName: '',
locationNumber: '',
itemName:'',
itemNumber:'',
subList: []
})
const isShow = ref(false)
const isInAccount = ref('FALSE')
const isFocus = ref(false)
const msg = ref('')
//
function submit() {
//
if (!form.value.locationNumber) {
proxy.$modal.showToast('请选择库位')
return;
}
if (!form.value.itemNumber) {
proxy.$modal.showToast('请选择备件')
return;
}
//
if (!form.value.qty) {
proxy.$modal.showToast('请选择出库数量')
return;
}
if (Number(form.value.qty) <= 0) {
proxy.$modal.showToast('出库数量需大于0')
return;
}
if (Number(form.value.qty)>Number(form.value.stockQty)) {
proxy.$modal.showToast('出库数量不能大于库存数量')
return;
}
proxy.$modal.confirm('是否添加出库信息').then(() => {
proxy.$modal.loading('加载中')
loading.value = true
outLocationApi.outLocationCreat(form.value).then((res) => {
proxy.$modal.closeLoading()
if (res.data) {
proxy.$modal.showToast('添加成功')
setTimeout(() => {
proxy.$tab.navigateBack()
loading.value = false
}, 1500)
} else {
proxy.$modal.showToast('添加失败')
loading.value = false
}
}).catch(() => {
proxy.$modal.closeLoading()
loading.value = false
})
})
}
//
function reset() {
form.value.locationNumber = ''
form.value.stockQty = ''
form.value.qty = ''
form.value.receiver = ''
form.value.itemName = ''
form.value.itemNumber = ''
}
//
async function getByLocationNumber() {
await outLocationApi.getByLocationNumber({
locationNumber: form.value.locationNumber
// itemNumbers:itemNumbers || []
}).then(res => {
if(!res.data.itemNumber){
proxy.$modal.showToast('该库位下无备件信息')
return;
}
form.value.itemName = res.data.itemName
form.value.itemNumber = res.data.itemNumber
form.value.stockQty = res.data.qty
}).catch(() => { })
}
//
function open() {
isPopupShow.value = true
isShow.value = false
isFocus.value = true
}
function blur() {
if (form.value.locationNumber) {
getByLocationNumber();
}
}
function handelScanMsg() {
getByLocationNumber
}
onLoad(async (option) => {
if (option.data && JSON.parse(decodeURIComponent(option.data)) && JSON.parse(decodeURIComponent(option
.data)).id) {
let formData = JSON.parse(decodeURIComponent(option.data))
form.value.supplierName = formData.supplierName
form.value.number = formData.number
form.value.id = formData.id
}
//await getInLocationDetail()
})
</script>
<style lang="scss" scoped>
.add-form-container {
min-height: calc(100vh - 140rpx);
background: white;
padding: 0px 0rpx 140rpx;
}
.u-form-item {
padding: 20rpx 30rpx;
}
.disabled {
background: #f5f5f5;
}
.footer {
position: fixed;
bottom: 0px;
left: 0px;
width: 100%;
z-index: 22;
}
.btns {
display: flex;
button {
flex: 1;
}
.sure {
background: #409eff;
color: white;
border-radius: 0px;
&::after {
border: 1px solid #409eff;
border-radius: 0px;
}
}
.reset {
background: #F5F5F5;
border-radius: 0px;
&::after {
border-radius: 0px;
}
}
}
.right-button {
background: #409eff;
color: white;
padding: 0rpx 30rpx;
border-radius: 16rpx;
text-align: center;
font-size: 28rpx;
}
.select {
display: flex;
align-items: center;
height: 72rpx;
width: 100%;
.input {
flex: 1;
font-size: 28rpx;
color: #000000;
}
.placeholder {
flex: 1;
font-size: 28rpx;
color: rgb(192, 196, 204);
}
}
.title {
padding: 32rpx 0rpx;
position: relative;
span {
position: absolute;
left: -16rpx;
color: #fa3534;
top: 19px;
}
}
.list {
padding: 0rpx 30rpx;
.item {
display: flex;
margin-bottom: 20rpx;
.item-box {
background: #F5F5F5;
border-radius: 12rpx;
flex: 1;
width: 0rpx;
}
.spare-title {
padding: 20rpx 30rpx;
border-bottom: 1px solid #e4e4e4;
.title-txt {
color: #409eff;
font-size: 30rpx;
font-weight: bold;
}
}
.dec {
color: #9c9c9c;
padding: 20rpx 30rpx 20rpx;
}
}
}
.add-btn {
display: flex;
justify-content: flex-start;
align-items: center;
}
.popup-title {
text-align: center;
font-size: 32rpx;
font-weight: bold;
color: #409eff;
padding: 30rpx 30rpx 0px
}
.popup {
width: 600rpx;
padding: 30rpx 0rpx 30rpx;
}
.popup-footer {
display: flex;
border-top: 1px solid #e4e4e4;
view {
line-height: 100rpx;
flex: 1;
text-align: center;
&.sure {
color: #409eff;
}
}
}
::v-deep .u-checkbox-group {
display: grid !important;
}
</style>

110
src/pages/sparePartsReturn/addForm.vue

@ -6,16 +6,8 @@
<u-input v-model="form.number" placeholder="请输入入库原因" />
</u-form-item> -->
<u-form-item label="归还人员" prop="reverterName" required>
<view class="select" @click="openSingleColumn('reverterId',form.reverterId,reverterUser)">
<view class="input" v-if='form.reverterId'>
{{selectFormat(form.reverterId,reverterUser)}}
</view>
<view class="placeholder" v-else>
{{`请选择归还人员`}}
</view>
<u-icon name="arrow-right" color="#aaaaaa" size="28"></u-icon>
</view>
<u-form-item label="归还人员" prop="returner">
<u-input v-model="form.returner" placeholder="请输入归还人"/>
</u-form-item>
</u-form>
<view class="list">
@ -24,6 +16,16 @@
</view>
<view class="item " v-for="(item,index) in form.itemNumbers" :key="index">
<view class="item-box">
<view class="spare-title">
<view class="title-txt">
库位编号{{item.locationNumber}}
</view>
</view>
<view class="spare-title">
<view class="title-txt">
备件编号{{item.itemNumber}}
</view>
</view>
<view class="spare-title">
<view class="title-txt">
备件名称{{item.itemName}}
@ -57,28 +59,19 @@
<scroll-view scroll-y="true" style="max-height:60vh;">
<view class="popup">
<u-form :model="form1" ref="form1Ref" label-width="160rpx">
<u-form-item :label="`备件编号`" prop="itemNumber" required>
<view class="select">
<u-input v-model="form1.itemNumber" placeholder="请输入备件" @blur='blur1()' @confirm="handelScanMsg1" :focus='isFocus'/>
</view>
<u-form-item label="库位编号" prop="locationNumber" required>
<u-input v-model="form1.locationNumber" placeholder="请输入库位编号" @blur="blur()" @confirm="handelScanMsg"/>
</u-form-item>
<u-form-item :label="`备件名称`" prop="itemNumber" required class="disabled">
<view class="select">
<u-input v-model="form1.itemName" placeholder="根据备件编号获取" disabled />
</view>
<u-form-item label="备件编号" prop="itemNumber" required>
<u-input v-model="form1.itemNumber" placeholder="请输入备件" disabled/>
</u-form-item>
<u-form-item label="库位" prop="locationNumber" required v-if="isShow">
<u-input v-model="form1.locationNumber" placeholder="请输入库位" @blur="blur()" @confirm="handelScanMsg"/>
<view class="right-button" @click="chickRightButton">
扫描
</view>
<u-form-item label="备件名称" prop="itemNumber" required>
<u-input v-model="form1.itemName" placeholder="根据备件编号获取" disabled />
</u-form-item>
<u-form-item label="数量" prop="qty" required>
<u-input v-model="form1.qty" type="number" placeholder="请输入数量" />
</u-form-item>
<u-form-item label="描述" prop="describes" required>
<u-input v-model="form1.describes" placeholder="请输入描述" />
</u-form-item>
</u-form>
</view>
</scroll-view>
@ -137,10 +130,10 @@ const singleColumnShow = ref(false)
//
function submit() {
//
if (!form.value.reverterId) {
proxy.$modal.showToast('请选择归还人员')
return;
}
// if (!form.value.returner) {
// proxy.$modal.showToast('')
// return;
// }
if (form.value.itemNumbers.length === 0) {
proxy.$modal.showToast('请选择备件')
return;
@ -148,7 +141,7 @@ const singleColumnShow = ref(false)
proxy.$modal.confirm('是否归还备件').then(() => {
proxy.$modal.loading('加载中')
loading.value = true
sparePartsReturnApi.sparePartsReturn(form.value).then((res) => {
sparePartsReturnApi.createPDA(form.value).then((res) => {
proxy.$modal.closeLoading()
if (res.data) {
proxy.$modal.showToast('归还成功')
@ -170,10 +163,10 @@ const singleColumnShow = ref(false)
//
function reset() {
if (form.value.id) {
form.value.reverterId = '';
form.value.returner = '';
form.value.itemNumbers = []
} else {
form.value.reverterId = '';
form.value.returner = '';
form.value.itemNumbers = []
}
}
@ -227,6 +220,10 @@ const singleColumnShow = ref(false)
//
function addSpare() {
//
if (!form1.value.locationNumber) {
proxy.$modal.showToast('请选择库位')
return;
}
if (!form1.value.itemNumber) {
proxy.$modal.showToast('请选择备件')
return;
@ -239,24 +236,11 @@ const singleColumnShow = ref(false)
proxy.$modal.showToast('请选择库位')
return;
}
if (!locationItem.value || locationItem.value.isInAccount === 'TRUE') {
proxy.$modal.showToast('该库位属于帐内库,请选择帐外库')
return;
}
if (itemNumber.value) {
proxy.$modal.showToast('该库位已绑定过其他备件')
return;
}
if (!form1.value.qty) {
proxy.$modal.showToast(`请输入数量`)
return;
}
if (!form1.value.describes) {
proxy.$modal.showToast(`请输入描述`)
return;
}
if (form.value.itemNumbers && form.value.itemNumbers.length > 0) {
let arr =form.value.itemNumbers.filter(item => item.itemNumber == form1.value.itemNumber)
if (arr && arr.length > 0) {
@ -272,29 +256,41 @@ const singleColumnShow = ref(false)
function delSpareParts(index) {
form.value.itemNumbers.splice(index, 1)
}
//
function getLocation() {
locationApi.getLocation(form1.value.locationNumber).then(res => {
sparePartsApi.getByLocationNumber({
locationNumber: form1.value.locationNumber
}).then(res => {
if(!res.data){
if(res.msg){
proxy.$modal.showToast(res.msg)
msg.value = res.msg
form1.value.locationNumber = ''
}else{
form1.value.locationNumber = ''
proxy.$modal.showToast('找不到该库位')
}
return;
}
if(res.data.locationNumber==null){
proxy.$modal.showToast("找不到该库位")
form1.value.locationNumber = ''
form1.value.itemNumber = ''
form1.value.itemName = ''
return;
}
locationItem.value = res.data
form1.value.areaNumber = locationItem.value.areaNumber
//
if (form.value.itemNumbers && form.value.itemNumbers.length > 0) {
let arr = form.value.itemNumbers.filter(item => item.locationNumber == form1.value.locationNumber)
if (arr && arr.length > 0) {
itemNumber.value = 1
}else{
itemNumber.value = res.data.itemNumber || ''
}
if (res.data.itemNumber !=null && res.data.itemNumber !='') {//
form1.value.itemNumber = res.data.itemNumber
form1.value.itemName = res.data.itemName
}else{
itemNumber.value = res.data.itemNumber || ''
form1.value.locationNumber = ''
form1.value.itemNumber = ''
form1.value.itemName = ''
proxy.$modal.showToast('该库位未绑定过备件')
return
}
}).catch(()=>{

Loading…
Cancel
Save