完善库存调整
This commit is contained in:
@@ -5,7 +5,7 @@ export default {
|
|||||||
// 查询分页列表
|
// 查询分页列表
|
||||||
listPage: function(params) {
|
listPage: function(params) {
|
||||||
return request({
|
return request({
|
||||||
url: '/wms/apiadmin/inventoryadjustment/listPage',
|
url: '/wms/apiadmin/inventoryadjustmentdetail/listPage',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: params,
|
data: params,
|
||||||
headers: {
|
headers: {
|
||||||
@@ -14,22 +14,22 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
// 商品库位库存列表
|
// 根据skusid查询库位库存
|
||||||
selInventoryByWareSid: function(params) {
|
selAvailBySkuSid: function(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/wms/apiadmin/warehouseinventory/selInventoryByWareSid',
|
url: '/wms/apiadmin/warehouseinventory/selAvailBySkuSid',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: params,
|
data: data,
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
// 保存调整单
|
// 保存调整差异量
|
||||||
saveOrUpdate: function(data) {
|
saveOrUpdate: function(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/wms/apiadmin/inventoryadjustment/saveOrUpdate',
|
url: '/wms/apiadmin/inventoryadjustment/adjustment',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: data,
|
data: data,
|
||||||
headers: {
|
headers: {
|
||||||
|
|||||||
@@ -10,20 +10,18 @@
|
|||||||
<div v-show="isSearchShow" class="search">
|
<div v-show="isSearchShow" class="search">
|
||||||
<el-form :inline="true" class="tab-header">
|
<el-form :inline="true" class="tab-header">
|
||||||
<el-form-item label="操作日期">
|
<el-form-item label="操作日期">
|
||||||
<el-date-picker v-model="listQuery.params.createDateStart" @change="selectTime1"
|
<el-date-picker v-model="listQuery.params.startTime" type="date" placeholder="选择日期"
|
||||||
type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
|
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;">
|
||||||
style="width: 200px;">
|
|
||||||
</el-date-picker> 至
|
</el-date-picker> 至
|
||||||
<el-date-picker v-model="listQuery.params.createDateEnd" @change="selectTime2"
|
<el-date-picker v-model="listQuery.params.endTime" type="date" placeholder="选择日期"
|
||||||
type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
|
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;">
|
||||||
style="width: 200px;">
|
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="单据编号">
|
<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>
|
||||||
<el-form-item label="商品">
|
<el-form-item label="商品">
|
||||||
<el-select v-model="listQuery.params.goodsSpuSid" placeholder="请选择"
|
<el-select v-model="listQuery.params.goodsSkuSid" placeholder="请选择"
|
||||||
style="width: 200px;">
|
style="width: 200px;">
|
||||||
<el-option v-for="(item,i) in goodsList" :key="i" :label="item.title"
|
<el-option v-for="(item,i) in goodsList" :key="i" :label="item.title"
|
||||||
:value="item.sid">
|
:value="item.sid">
|
||||||
@@ -31,14 +29,14 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="调整类型">
|
<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"
|
<el-option v-for="(item,i) in typeList" :key="i" :label="item.name"
|
||||||
:value="item.sid">
|
:value="item.sid">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="操作员">
|
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div class="btn" style="text-align: center;">
|
<div class="btn" style="text-align: center;">
|
||||||
@@ -139,8 +137,15 @@
|
|||||||
size: 10,
|
size: 10,
|
||||||
total: 0,
|
total: 0,
|
||||||
params: {
|
params: {
|
||||||
"createDateStart": "",
|
"menuUrl": "",
|
||||||
"createDateEnd": "",
|
"orgPath": "",
|
||||||
|
"userSid": "",
|
||||||
|
"type": "",
|
||||||
|
"billNo": "",
|
||||||
|
"endTime": "",
|
||||||
|
"startTime": "",
|
||||||
|
"goodsSkuSid": "",
|
||||||
|
"operator": "",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
sids: [],
|
sids: [],
|
||||||
@@ -223,13 +228,6 @@
|
|||||||
var pageindex = index + 1 + pagestart
|
var pageindex = index + 1 + pagestart
|
||||||
return pageindex
|
return pageindex
|
||||||
},
|
},
|
||||||
selectTime1() {
|
|
||||||
|
|
||||||
},
|
|
||||||
selectTime2() {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
dosearch() {
|
dosearch() {
|
||||||
this.listQuery.current = 1
|
this.listQuery.current = 1
|
||||||
this.loadList()
|
this.loadList()
|
||||||
@@ -240,8 +238,15 @@
|
|||||||
size: 10,
|
size: 10,
|
||||||
total: 0,
|
total: 0,
|
||||||
params: {
|
params: {
|
||||||
"createDateStart": "",
|
"menuUrl": "",
|
||||||
"createDateEnd": "",
|
"orgPath": "",
|
||||||
|
"userSid": "",
|
||||||
|
"type": "",
|
||||||
|
"billNo": "",
|
||||||
|
"endTime": "",
|
||||||
|
"startTime": "",
|
||||||
|
"goodsSkuSid": "",
|
||||||
|
"operator": "",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.loadList()
|
this.loadList()
|
||||||
|
|||||||
@@ -10,15 +10,15 @@
|
|||||||
<div v-show="isSearchShow" class="search">
|
<div v-show="isSearchShow" class="search">
|
||||||
<el-form :inline="true" class="tab-header">
|
<el-form :inline="true" class="tab-header">
|
||||||
<el-form-item label="仓库">
|
<el-form-item label="仓库">
|
||||||
<el-select v-model="listQuery.params.goodsSpuSid" placeholder="请选择"
|
<el-select v-model="listQuery.params.warehouseSid" placeholder="请选择"
|
||||||
style="width: 200px;">
|
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">
|
:value="item.sid">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="商品">
|
<el-form-item label="商品">
|
||||||
<el-select v-model="listQuery.params.goodsSpuSid" placeholder="请选择"
|
<el-select v-model="listQuery.params.goodsSkuSid" placeholder="请选择"
|
||||||
style="width: 200px;">
|
style="width: 200px;">
|
||||||
<el-option v-for="(item,i) in goodsList" :key="i" :label="item.title"
|
<el-option v-for="(item,i) in goodsList" :key="i" :label="item.title"
|
||||||
:value="item.sid">
|
:value="item.sid">
|
||||||
@@ -26,18 +26,24 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="品牌">
|
<el-form-item label="品牌">
|
||||||
<el-select v-model="listQuery.params.goodsSpuSid" placeholder="请选择"
|
<el-select v-model="listQuery.params.brandSid" placeholder="请选择" style="width: 200px;">
|
||||||
style="width: 200px;">
|
<el-option v-for="(item,i) in bankList" :key="i" :label="item.brandName"
|
||||||
<el-option v-for="(item,i) in goodsList" :key="i" :label="item.title"
|
: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">
|
:value="item.sid">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="差异量">
|
<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;" />
|
style="width: 100px;" />
|
||||||
至
|
至
|
||||||
<el-input v-model="listQuery.params.spec" placeholder="" clearable
|
<el-input v-model="listQuery.params.end" placeholder="" clearable
|
||||||
style="width: 100px;" />
|
style="width: 100px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
@@ -60,12 +66,12 @@
|
|||||||
@selection-change="selectionLineChangeHandle">
|
@selection-change="selectionLineChangeHandle">
|
||||||
<el-table-column fixed width="50" type="selection" align="center" />
|
<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 fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
|
||||||
<el-table-column prop="billNo" label="商品名称" align="center" />
|
<el-table-column prop="goodsSkuTitle" label="商品名称" align="center" />
|
||||||
<el-table-column prop="createDate" label="规格" align="center" />
|
<el-table-column prop="goodsSkuOwnSpec" label="规格" align="center" />
|
||||||
<el-table-column prop="createByName" label="编码" align="center" />
|
<el-table-column prop="goodsSkuCode" label="编码" align="center" />
|
||||||
<el-table-column prop="checkStateName" label="条码" align="center" />
|
<el-table-column prop="barCode" label="条码" align="center" />
|
||||||
<el-table-column prop="completeDate" label="实际库存" align="center" />
|
<el-table-column prop="useCount" label="实际库存" align="center" />
|
||||||
<el-table-column prop="completeDate" label="库存差异量" align="center" />
|
<el-table-column prop="count" label="库存差异量" align="center" />
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
<!-- End 项目列表 -->
|
<!-- End 项目列表 -->
|
||||||
@@ -85,15 +91,15 @@
|
|||||||
<!-- End 项目列表头部 -->
|
<!-- End 项目列表头部 -->
|
||||||
<!-- Start 项目列表 -->
|
<!-- Start 项目列表 -->
|
||||||
<div class="">
|
<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">
|
@selection-change="selectionLineChangeHandle">
|
||||||
<el-table-column fixed width="50" type="selection" align="center" />
|
<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 fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
|
||||||
<el-table-column prop="billNo" label="商品名称" align="center" />
|
<el-table-column prop="goodsSkuTitle" label="商品名称" align="center" />
|
||||||
<el-table-column prop="createDate" label="规格" align="center" />
|
<el-table-column prop="goodsSkuOwnSpec" label="规格" align="center" />
|
||||||
<el-table-column prop="createByName" label="编码" align="center" />
|
<el-table-column prop="goodsSkuCode" label="编码" align="center" />
|
||||||
<el-table-column prop="checkStateName" label="条码" align="center" />
|
<el-table-column prop="barCode" label="条码" align="center" />
|
||||||
<el-table-column prop="completeDate" label="实际库存" align="center" />
|
<el-table-column prop="useCount" label="实际库存" align="center" />
|
||||||
<el-table-column label="调整差异数量" align="center">
|
<el-table-column label="调整差异数量" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input ref="focusAssumptionInput"
|
<el-input ref="focusAssumptionInput"
|
||||||
@@ -116,6 +122,10 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import req from '@/api/storage/inventoryDifferential/inventoryDifferential.js'
|
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 ButtonBar from '@/components/ButtonBar'
|
||||||
import Pagination from '@/components/pagination'
|
import Pagination from '@/components/pagination'
|
||||||
import pageye from '@/components/pagination/pageye'
|
import pageye from '@/components/pagination/pageye'
|
||||||
@@ -154,15 +164,25 @@
|
|||||||
size: 10,
|
size: 10,
|
||||||
total: 0,
|
total: 0,
|
||||||
params: {
|
params: {
|
||||||
"createDateStart": "",
|
"menuUrl": "",
|
||||||
"createDateEnd": "",
|
"orgPath": "",
|
||||||
|
"userSid": "",
|
||||||
|
"typeSid": "",
|
||||||
|
"brandSid": "",
|
||||||
|
"end": "",
|
||||||
|
"start": "",
|
||||||
|
"goodsSkuSid": "",
|
||||||
|
"warehouseSid": "",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
sids: [],
|
sids: [],
|
||||||
selectionList: [],
|
selectionList: [],
|
||||||
warehouseAreaList: [],
|
warehouseList: [],
|
||||||
goodsList: [],
|
goodsList: [],
|
||||||
bankList: [],
|
bankList: [],
|
||||||
|
typeList: [],
|
||||||
|
rackNumList: [],
|
||||||
|
itemInfo: {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@@ -170,8 +190,44 @@
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.loadList()
|
this.loadList()
|
||||||
|
this.init()
|
||||||
},
|
},
|
||||||
methods: {
|
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) {
|
getNumber(val, limit) {
|
||||||
val = val.replace(/[^0-9-]/g, '') // 保留数字
|
val = val.replace(/[^0-9-]/g, '') // 保留数字
|
||||||
val = val.replace(/^00/, '0') // 开头不能有两个0
|
val = val.replace(/^00/, '0') // 开头不能有两个0
|
||||||
@@ -209,6 +265,9 @@
|
|||||||
},
|
},
|
||||||
loadList() {
|
loadList() {
|
||||||
this.tableLoading = true
|
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) => {
|
req.listPage(this.listQuery).then((resp) => {
|
||||||
this.tableLoading = false
|
this.tableLoading = false
|
||||||
if (resp.success) {
|
if (resp.success) {
|
||||||
@@ -242,21 +301,89 @@
|
|||||||
size: 10,
|
size: 10,
|
||||||
total: 0,
|
total: 0,
|
||||||
params: {
|
params: {
|
||||||
"createDateStart": "",
|
"menuUrl": "",
|
||||||
"createDateEnd": "",
|
"orgPath": "",
|
||||||
|
"userSid": "",
|
||||||
|
"typeSid": "",
|
||||||
|
"brandSid": "",
|
||||||
|
"end": "",
|
||||||
|
"start": "",
|
||||||
|
"goodsSkuSid": "",
|
||||||
|
"warehouseSid": "",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.loadList()
|
this.loadList()
|
||||||
},
|
},
|
||||||
toAdd() {
|
toAdd() {
|
||||||
// this.viewState = 2
|
if (this.selectionList.length != 1) {
|
||||||
// this.$refs['divadd'].showAdd()
|
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'),
|
||||||
|
}
|
||||||
|
|
||||||
|
req.selAvailBySkuSid(data).then(resp => {
|
||||||
|
this.rackNumList = resp.data
|
||||||
this.dialogVisible = true
|
this.dialogVisible = true
|
||||||
|
})
|
||||||
|
|
||||||
},
|
},
|
||||||
saveData() {
|
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() {
|
handleClose() {
|
||||||
this.dialogVisible = false
|
this.dialogVisible = false
|
||||||
|
|||||||
Reference in New Issue
Block a user