Browse Source

完善库存调整

master
myTest383 8 months ago
parent
commit
f144feda07
  1. 14
      src/api/storage/inventoryDifferential/inventoryDifferential.js
  2. 47
      src/views/storage/inventoryAdjust/inventoryAdjust/inventoryAdjust.vue
  3. 183
      src/views/storage/inventoryAdjust/inventoryDifferential/inventoryDifferential.vue

14
src/api/storage/inventoryDifferential/inventoryDifferential.js

@ -5,7 +5,7 @@ export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/wms/apiadmin/inventoryadjustment/listPage',
url: '/wms/apiadmin/inventoryadjustmentdetail/listPage',
method: 'post',
data: params,
headers: {
@ -14,22 +14,22 @@ export default {
})
},
// 商品库位库存列表
selInventoryByWareSid: function(params) {
// 根据skusid查询库位库存
selAvailBySkuSid: function(data) {
return request({
url: '/wms/apiadmin/warehouseinventory/selInventoryByWareSid',
url: '/wms/apiadmin/warehouseinventory/selAvailBySkuSid',
method: 'post',
data: params,
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
// 保存调整
// 保存调整差异量
saveOrUpdate: function(data) {
return request({
url: '/wms/apiadmin/inventoryadjustment/saveOrUpdate',
url: '/wms/apiadmin/inventoryadjustment/adjustment',
method: 'post',
data: data,
headers: {

47
src/views/storage/inventoryAdjust/inventoryAdjust/inventoryAdjust.vue

@ -10,20 +10,18 @@
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="操作日期">
<el-date-picker v-model="listQuery.params.createDateStart" @change="selectTime1"
type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
style="width: 200px;">
<el-date-picker v-model="listQuery.params.startTime" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;">
</el-date-picker>
<el-date-picker v-model="listQuery.params.createDateEnd" @change="selectTime2"
type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
style="width: 200px;">
<el-date-picker v-model="listQuery.params.endTime" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;">
</el-date-picker>
</el-form-item>
<el-form-item label="单据编号">
<el-input v-model="listQuery.params.spec" placeholder="" clearable />
<el-input v-model="listQuery.params.billNo" placeholder="" clearable />
</el-form-item>
<el-form-item label="商品">
<el-select v-model="listQuery.params.goodsSpuSid" placeholder="请选择"
<el-select v-model="listQuery.params.goodsSkuSid" placeholder="请选择"
style="width: 200px;">
<el-option v-for="(item,i) in goodsList" :key="i" :label="item.title"
:value="item.sid">
@ -31,14 +29,14 @@
</el-select>
</el-form-item>
<el-form-item label="调整类型">
<el-select v-model="listQuery.params.typeSid" placeholder="请选择" style="width: 200px;">
<el-select v-model="listQuery.params.type" placeholder="请选择" style="width: 200px;">
<el-option v-for="(item,i) in typeList" :key="i" :label="item.name"
:value="item.sid">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="操作员">
<el-input v-model="listQuery.params.spec" placeholder="" clearable />
<el-input v-model="listQuery.params.operator" placeholder="" clearable />
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
@ -139,8 +137,15 @@
size: 10,
total: 0,
params: {
"createDateStart": "",
"createDateEnd": "",
"menuUrl": "",
"orgPath": "",
"userSid": "",
"type": "",
"billNo": "",
"endTime": "",
"startTime": "",
"goodsSkuSid": "",
"operator": "",
}
},
sids: [],
@ -223,13 +228,6 @@
var pageindex = index + 1 + pagestart
return pageindex
},
selectTime1() {
},
selectTime2() {
},
dosearch() {
this.listQuery.current = 1
this.loadList()
@ -240,8 +238,15 @@
size: 10,
total: 0,
params: {
"createDateStart": "",
"createDateEnd": "",
"menuUrl": "",
"orgPath": "",
"userSid": "",
"type": "",
"billNo": "",
"endTime": "",
"startTime": "",
"goodsSkuSid": "",
"operator": "",
}
}
this.loadList()

183
src/views/storage/inventoryAdjust/inventoryDifferential/inventoryDifferential.vue

@ -10,15 +10,15 @@
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="仓库">
<el-select v-model="listQuery.params.goodsSpuSid" placeholder="请选择"
<el-select v-model="listQuery.params.warehouseSid" placeholder="请选择"
style="width: 200px;">
<el-option v-for="(item,i) in goodsList" :key="i" :label="item.title"
<el-option v-for="(item,i) in warehouseList" :key="i" :label="item.warehouseName"
:value="item.sid">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="商品">
<el-select v-model="listQuery.params.goodsSpuSid" placeholder="请选择"
<el-select v-model="listQuery.params.goodsSkuSid" placeholder="请选择"
style="width: 200px;">
<el-option v-for="(item,i) in goodsList" :key="i" :label="item.title"
:value="item.sid">
@ -26,18 +26,24 @@
</el-select>
</el-form-item>
<el-form-item label="品牌">
<el-select v-model="listQuery.params.goodsSpuSid" placeholder="请选择"
style="width: 200px;">
<el-option v-for="(item,i) in goodsList" :key="i" :label="item.title"
<el-select v-model="listQuery.params.brandSid" placeholder="请选择" style="width: 200px;">
<el-option v-for="(item,i) in bankList" :key="i" :label="item.brandName"
:value="item.sid">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="类别">
<el-select v-model="listQuery.params.typeSid" placeholder="请选择" style="width: 200px;">
<el-option v-for="(item,i) in typeList" :key="i" :label="item.goodsTypeName"
:value="item.sid">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="差异量">
<el-input v-model="listQuery.params.spec" placeholder="" clearable
<el-input v-model="listQuery.params.start" placeholder="" clearable
style="width: 100px;" />
<el-input v-model="listQuery.params.spec" placeholder="" clearable
<el-input v-model="listQuery.params.end" placeholder="" clearable
style="width: 100px;" />
</el-form-item>
</el-form>
@ -60,12 +66,12 @@
@selection-change="selectionLineChangeHandle">
<el-table-column fixed width="50" type="selection" align="center" />
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="billNo" label="商品名称" align="center" />
<el-table-column prop="createDate" label="规格" align="center" />
<el-table-column prop="createByName" label="编码" align="center" />
<el-table-column prop="checkStateName" label="条码" align="center" />
<el-table-column prop="completeDate" label="实际库存" align="center" />
<el-table-column prop="completeDate" label="库存差异量" align="center" />
<el-table-column prop="goodsSkuTitle" label="商品名称" align="center" />
<el-table-column prop="goodsSkuOwnSpec" label="规格" align="center" />
<el-table-column prop="goodsSkuCode" label="编码" align="center" />
<el-table-column prop="barCode" label="条码" align="center" />
<el-table-column prop="useCount" label="实际库存" align="center" />
<el-table-column prop="count" label="库存差异量" align="center" />
</el-table>
</div>
<!-- End 项目列表 -->
@ -85,15 +91,15 @@
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"
<el-table v-loading="tableLoading" :data="rackNumList" border style="width: 100%"
@selection-change="selectionLineChangeHandle">
<el-table-column fixed width="50" type="selection" align="center" />
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="billNo" label="商品名称" align="center" />
<el-table-column prop="createDate" label="规格" align="center" />
<el-table-column prop="createByName" label="编码" align="center" />
<el-table-column prop="checkStateName" label="条码" align="center" />
<el-table-column prop="completeDate" label="实际库存" align="center" />
<el-table-column prop="goodsSkuTitle" label="商品名称" align="center" />
<el-table-column prop="goodsSkuOwnSpec" label="规格" align="center" />
<el-table-column prop="goodsSkuCode" label="编码" align="center" />
<el-table-column prop="barCode" label="条码" align="center" />
<el-table-column prop="useCount" label="实际库存" align="center" />
<el-table-column label="调整差异数量" align="center">
<template slot-scope="scope">
<el-input ref="focusAssumptionInput"
@ -116,6 +122,10 @@
<script>
import req from '@/api/storage/inventoryDifferential/inventoryDifferential.js'
import req2 from '@/api/goods/goods.js'
import req3 from '@/api/baseinfo/warehouse/warehouse.js'
import req4 from '@/api/goods/brand.js'
import req5 from '@/api/goods/category.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
@ -154,15 +164,25 @@
size: 10,
total: 0,
params: {
"createDateStart": "",
"createDateEnd": "",
"menuUrl": "",
"orgPath": "",
"userSid": "",
"typeSid": "",
"brandSid": "",
"end": "",
"start": "",
"goodsSkuSid": "",
"warehouseSid": "",
}
},
sids: [],
selectionList: [],
warehouseAreaList: [],
warehouseList: [],
goodsList: [],
bankList: [],
typeList: [],
rackNumList: [],
itemInfo: {}
}
},
mounted() {
@ -170,8 +190,44 @@
},
created() {
this.loadList()
this.init()
},
methods: {
init() {
var query = {
orgPath: window.sessionStorage.getItem('orgSidPath')
}
req2.getGoodsListAllByOrg(query).then((res) => {
if (res.success) {
this.goodsList = res.data
}
})
req4.getAllBrand(query).then((res) => {
if (res.success) {
this.bankList = res.data
}
})
req5.getAllType(query).then((res) => {
if (res.success) {
this.typeList = res.data
}
})
var parpams = {
orgPath: window.sessionStorage.getItem('orgSid'),
}
req3.getAllWarehouse(parpams).then(resp => {
this.warehouseList = resp.data
})
},
getNumber(val, limit) {
val = val.replace(/[^0-9-]/g, '') //
val = val.replace(/^00/, '0') // 0
@ -209,6 +265,9 @@
},
loadList() {
this.tableLoading = true
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
this.listQuery.params.orgPath = window.sessionStorage.getItem('orgSidPath')
this.listQuery.params.menuUrl = this.$route.path
req.listPage(this.listQuery).then((resp) => {
this.tableLoading = false
if (resp.success) {
@ -242,21 +301,89 @@
size: 10,
total: 0,
params: {
"createDateStart": "",
"createDateEnd": "",
"menuUrl": "",
"orgPath": "",
"userSid": "",
"typeSid": "",
"brandSid": "",
"end": "",
"start": "",
"goodsSkuSid": "",
"warehouseSid": "",
}
}
this.loadList()
},
toAdd() {
// this.viewState = 2
// this.$refs['divadd'].showAdd()
if (this.selectionList.length != 1) {
this.$message({
type: 'warning',
message: "请选择一条数据。",
showClose: true
})
return
}
this.itemInfo = this.selectionList[0]
var data = {
goodsSkuSid: this.selectionList[0].goodsSkuSid,
rackSid: this.selectionList[0].rackSid,
orgSid: window.sessionStorage.getItem('orgSid'),
}
this.dialogVisible = true
req.selAvailBySkuSid(data).then(resp => {
this.rackNumList = resp.data
this.dialogVisible = true
})
},
saveData() {
var total = 0
for (var i = 0; i < this.rackNumList.length; i++) {
var item = this.rackNumList[i]
if ((Number(item.useCount) + Number(item.count)) < 0) {
this.$message({
type: 'warning',
message: "调整后的实际库存不能为小于0。",
showClose: true
})
return
}
total += Number(item.count)
}
if (total != Number(this.itemInfo.count)) {
this.$message({
type: 'warning',
message: "调整总数量与差异总数量不一致。",
showClose: true
})
return
}
console.log("saveData", this.rackNumList);
var data = {
detailSid: this.itemInfo.sid,
list: this.rackNumList
}
req.saveOrUpdate(data).then(resp => {
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: '保存成功'
})
this.dialogVisible = false
this.loadList()
}
})
},
handleClose() {
this.dialogVisible = false

Loading…
Cancel
Save