Browse Source

完善盘点管理

zhanglei
guoxing 9 months ago
parent
commit
fb8465b50e
  1. 12
      yxt-as-ui/src/api/storage/stocktaking.js
  2. 31
      yxt-as-ui/src/api/warehouse/goodsShelves.js
  3. 143
      yxt-as-ui/src/views/storage/stocktaking/index.vue
  4. 162
      yxt-as-ui/src/views/storage/stocktaking/stocktakingInfo.vue
  5. 60
      yxt-as-ui/src/views/storage/stocktaking/stocktakingRackCodeDetail.vue
  6. 138
      yxt-as-ui/src/views/storage/stocktaking/stocktakingRackCodeList.vue

12
yxt-as-ui/src/api/storage/stocktaking.js

@ -6,7 +6,7 @@ export default {
createBill: function(data) { createBill: function(data) {
return request({ return request({
// baseURL: "http://127.0.0.1:4523/m1/4061550-0-default", // baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/v1/wmsinventorycheckbill/createBill', url: '/wms/v1/wmsinventorycheckbill/save',
method: 'post', method: 'post',
data: data, data: data,
headers: { headers: {
@ -32,9 +32,9 @@ export default {
billCreateReport: function(data) { billCreateReport: function(data) {
return request({ return request({
// baseURL: "http://127.0.0.1:4523/m1/4061550-0-default", // baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/v1/wmsinventorycheckbill/billCreateReport', url: '/wms/v1/wmsinventorycheckbill/createReport',
method: 'post', method: 'post',
data: data, params: data,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
@ -45,7 +45,7 @@ export default {
billDetail: function(params) { billDetail: function(params) {
return request({ return request({
// baseURL: "http://127.0.0.1:4523/m1/4061550-0-default", // baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/v1/wmsinventorycheckbill/billDetail', url: '/wms/v1/wmsinventorycheckbill/detailGoodPageList',
method: 'post', method: 'post',
data: params, data: params,
headers: { headers: {
@ -58,7 +58,7 @@ export default {
billStocktak: function(params) { billStocktak: function(params) {
return request({ return request({
// baseURL: "http://127.0.0.1:4523/m1/4061550-0-default", // baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/v1/wmsinventorycheckbill/billStocktak', url: '/wms/v1/wmsinventorycheckbill/detailRackPageList',
method: 'post', method: 'post',
data: params, data: params,
headers: { headers: {
@ -71,7 +71,7 @@ export default {
billRackCodeDetail: function(params) { billRackCodeDetail: function(params) {
return request({ return request({
// baseURL: "http://127.0.0.1:4523/m1/4061550-0-default", // baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/v1/wmsinventorycheckbill/billRackCodeDetail', url: '/wms/v1/wmsinventorycheckbill/detailRackGoodPageList',
method: 'post', method: 'post',
data: params, data: params,
headers: { headers: {

31
yxt-as-ui/src/api/warehouse/goodsShelves.js

@ -17,19 +17,34 @@ export default {
// 根据仓库查询库位 // 根据仓库查询库位
getWarehouseareas: function(data) { getWarehouseareas: function(data) {
return request({ return request({
url: '/wms/apiadmin/base/wmswarehousearea/selectAll', url: '/wms/apiadmin/base/wmswarehousearea/selectAll',
method: 'get', method: 'get',
params: data, params: data,
headers: { 'Content-Type': 'application/json' } headers: {
'Content-Type': 'application/json'
}
});
},
// 根据库区查询库位
getAllTypeByAreaSid: function(data) {
return request({
url: '/wms/apiadmin/base/wmswarehouserack/getAllTypeByAreaSid',
method: 'get',
params: data,
headers: {
'Content-Type': 'application/json'
}
}); });
}, },
// 修改是否可用状态 // 修改是否可用状态
updateIsEnable: function(sid,isEnable) { updateIsEnable: function(sid, isEnable) {
return request({ return request({
url: '/wms/apiadmin/base/wmswarehouserack/updateIsEnable/'+sid+"/"+isEnable url: '/wms/apiadmin/base/wmswarehouserack/updateIsEnable/' + sid + "/" + isEnable
}); });
}, },

143
yxt-as-ui/src/views/storage/stocktaking/index.vue

@ -23,15 +23,15 @@
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" /> format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" />
</el-form-item> </el-form-item>
<el-form-item label="盘库状态"> <el-form-item label="盘库状态">
<el-select v-model="queryParams.params.stocktakType" placeholder="请选择"> <el-select v-model="queryParams.params.checkState" placeholder="请选择">
<el-option v-for="item in stocktakTypeList" :key="item" :label="item.name" :value="item.name" /> <el-option v-for="item in checkStateList" :key="item.sid" :label="item.name" :value="item.name" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="盘点人"> <el-form-item label="盘点人">
<el-input v-model="queryParams.params.createByName" placeholder="" clearable /> <el-input v-model="queryParams.params.createByName" placeholder="" clearable />
</el-form-item> </el-form-item>
<el-form-item label="监盘人"> <el-form-item label="监盘人">
<el-input v-model="queryParams.params.finance" placeholder="" clearable /> <el-input v-model="queryParams.params.superviseName" 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;">
@ -54,42 +54,42 @@
<el-table-column fixed label="操作" align="center" width="220"> <el-table-column fixed label="操作" align="center" width="220">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="mini" @click="toDetail(scope.row)">查看</el-button> <el-button type="primary" size="mini" @click="toDetail(scope.row)">查看</el-button>
<el-button type="primary" size="mini" v-show="scope.row.isReport=='1'" <el-button type="primary" size="mini" v-show="scope.row.state=='0'"
@click="toEdit(scope.row)">办理</el-button> @click="toEdit(scope.row)">办理</el-button>
<el-button type="primary" size="mini" v-show="scope.row.isReport=='1'" <el-button type="primary" size="mini" v-show="scope.row.state=='0'"
@click="toReport(scope.row)">盘库报告</el-button> @click="toReport(scope.row)">盘库报告</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="nodeState" label="流程状态" width="120" align="center" /> <el-table-column prop="nodeState" label="流程状态" width="120" align="center" />
<el-table-column prop="deptName" label="部门" width="120" align="center" /> <el-table-column prop="deptName" label="部门" width="120" align="center" />
<el-table-column prop="billNo" label="盘点编号" width="120" align="center" /> <el-table-column prop="billNo" label="盘点编号" width="120" align="center" />
<el-table-column prop="createDate" label="生成日期" width="120" align="center" /> <el-table-column prop="createTime" label="生成日期" width="120" align="center" />
<el-table-column prop="createByName" label="盘点人" width="120" align="center" /> <el-table-column prop="createByName" label="盘点人" width="120" align="center" />
<el-table-column prop="finances" label="监盘人" width="120" align="center" /> <el-table-column prop="superviseName" label="监盘人" width="120" align="center" />
<el-table-column prop="stocktakType" label="盘库状态" width="120" align="center" /> <el-table-column prop="checkState" label="盘库状态" width="120" align="center" />
<el-table-column label="应盘" align="center"> <el-table-column label="应盘" align="center">
<el-table-column prop="ypNum" label="数量" align="center" width="100" /> <el-table-column prop="bookCount" label="数量" align="center" width="100" />
<el-table-column prop="ypMoney" label="金额" align="center" width="100" /> <el-table-column prop="bookAmount" label="金额" align="center" width="100" />
</el-table-column> </el-table-column>
<el-table-column label="实盘" align="center"> <el-table-column label="实盘" align="center">
<el-table-column prop="spNum" label="数量" align="center" width="100" /> <el-table-column prop="realCount" label="数量" align="center" width="100" />
<el-table-column prop="spMoney" label="金额" align="center" width="100" /> <el-table-column prop="realAmount" label="金额" align="center" width="100" />
</el-table-column> </el-table-column>
<el-table-column label="未盘" align="center"> <el-table-column label="未盘" align="center">
<el-table-column prop="wpNum" label="数量" align="center" width="100" /> <el-table-column prop="notCount" label="数量" align="center" width="100" />
<el-table-column prop="wpMoney" label="金额" align="center" width="100" /> <el-table-column prop="notAmount" label="金额" align="center" width="100" />
</el-table-column> </el-table-column>
<el-table-column label="盘盈" align="center"> <el-table-column label="盘盈" align="center">
<el-table-column prop="pyNum" label="数量" align="center" width="100" /> <el-table-column prop="profitCount" label="数量" align="center" width="100" />
<el-table-column prop="pyMoney" label="金额" align="center" width="100" /> <el-table-column prop="profitAmount" label="金额" align="center" width="100" />
</el-table-column> </el-table-column>
<el-table-column label="盘亏" align="center"> <el-table-column label="盘亏" align="center">
<el-table-column prop="pkNum" label="数量" align="center" width="100" /> <el-table-column prop="loseCount" label="数量" align="center" width="100" />
<el-table-column prop="pkMoney" label="金额" align="center" width="100" /> <el-table-column prop="loseAmount" label="金额" align="center" width="100" />
</el-table-column> </el-table-column>
<el-table-column label="盘损" align="center"> <el-table-column label="盘损" align="center">
<el-table-column prop="psNum" label="数量" align="center" width="100" /> <el-table-column prop="lossCount" label="数量" align="center" width="100" />
<el-table-column prop="psMoney" label="金额" align="center" width="100" /> <el-table-column prop="lossAmount" label="金额" align="center" width="100" />
</el-table-column> </el-table-column>
<el-table-column prop="remarks" label="备注" align="center" width="200" /> <el-table-column prop="remarks" label="备注" align="center" width="200" />
</el-table> </el-table>
@ -126,14 +126,15 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<div class="span-sty"><span class="must">*</span> 监盘人</div> <div class="span-sty"><span class="must">*</span> 监盘人</div>
<el-form-item prop="financeSid"> <el-form-item prop="superviseName">
<!-- <el-select v-model="formobj.financeNmae" placeholder="请选择" class="addinputInfo addinputw"> <el-select v-model="formobj.superviseName" placeholder="请选择" class="addinputInfo addinputw"
<el-option v-for="item in financeList" :key="item" :label="item.name" :value="item.sid" /> @change="selectFinance">
</el-select> --> <el-option v-for="item in financeList" :key="item.sid" :label="item.name" :value="item.sid" />
<el-select v-model="formobj.financeSid" placeholder="请选择" class="addinputInfo addinputw" filterable </el-select>
<!-- <el-select v-model="formobj.financeSid" placeholder="请选择" class="addinputInfo addinputw" filterable
multiple @change="selectFinance"> multiple @change="selectFinance">
<el-option v-for="item in financeList" :key="item" :label="item.name" :value="item.sid"></el-option> <el-option v-for="item in financeList" :key="item" :label="item.name" :value="item.sid"></el-option>
</el-select> </el-select> -->
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -171,7 +172,7 @@
getCurrentDate getCurrentDate
} from '@/utils/index.js' } from '@/utils/index.js'
import { import {
selFianceByOrgSidPath selAllByOrgSidPath
} from '@/api/Common/dictcommons' } from '@/api/Common/dictcommons'
export default { export default {
@ -232,14 +233,14 @@
"billNo": "", "billNo": "",
"createStartTime": "", "createStartTime": "",
"createEndTime": "", "createEndTime": "",
"stocktakType": "", "checkState": "",
"createByName": "", "createByName": "",
"finance": "" "superviseName": ""
} }
}, },
sids: [], sids: [],
selectionList: [], selectionList: [],
stocktakTypeList: [{ checkStateList: [{
sid: '1', sid: '1',
name: '未完成' name: '未完成'
}, },
@ -251,14 +252,18 @@
formobj: { formobj: {
createByName: window.sessionStorage.getItem('name'), createByName: window.sessionStorage.getItem('name'),
createBySid: window.sessionStorage.getItem('userSid'), createBySid: window.sessionStorage.getItem('userSid'),
deptSid: window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage
.getItem('defaultOrgPath').lastIndexOf('/') + 1),
deptName: window.sessionStorage.getItem('defaultOrgPathName').substring(window
.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1),
createDate: getCurrentDate(), createDate: getCurrentDate(),
financeSid: [], superviseName: '',
finances: [], superviseSid: '',
remarks: "" remarks: ""
}, },
financeList: [], financeList: [],
rules: { rules: {
financeSid: [{ superviseName: [{
required: true, required: true,
message: '监盘人不能为空', message: '监盘人不能为空',
trigger: 'change' trigger: 'change'
@ -272,13 +277,17 @@
created() { created() {
this.loadList() this.loadList()
selFianceByOrgSidPath({ selAllByOrgSidPath({
orgPath: window.sessionStorage.getItem('defaultOrgPath') orgSidPath: window.sessionStorage.getItem('defaultOrgPath')
}).then((res) => { }).then((res) => {
if (res.success) { if (res.success) {
this.financeList = res.data this.financeList = res.data
console.log("aaaaaa", this.financeList);
} }
}) })
}, },
methods: { methods: {
selectFinance(val) { selectFinance(val) {
@ -287,20 +296,25 @@
const choose = this.financeList.filter((item) => val.includes(item.sid)) const choose = this.financeList.filter((item) => val.includes(item.sid))
console.log('>>>>>>>>>selectFinance', choose) console.log('>>>>>>>>>selectFinance', choose)
this.formobj.superviseName = choose[0].name
this.formobj.superviseSid = choose[0].sid
this.formobj.finances = [] // this.formobj.finances = []
for (var i = 0; i < choose.length; i++) { // for (var i = 0; i < choose.length; i++) {
this.formobj.finances.push({ // this.formobj.finances.push({
name: choose[i].name, // name: choose[i].name,
sid: choose[i].sid // sid: choose[i].sid
}) // })
} // }
}, },
handleClose() { handleClose() {
this.dialogVisible = false this.dialogVisible = false
this.formobj.superviseName = ''
this.formobj.superviseSid = ''
this.formobj.remarks = ''
}, },
saveExamine() { saveExamine() {
@ -319,9 +333,13 @@
this.formobj = { this.formobj = {
createByName: window.sessionStorage.getItem('name'), createByName: window.sessionStorage.getItem('name'),
createBySid: window.sessionStorage.getItem('userSid'), createBySid: window.sessionStorage.getItem('userSid'),
deptSid: window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage
.getItem('defaultOrgPath').lastIndexOf('/') + 1),
deptName: window.sessionStorage.getItem('defaultOrgPathName').substring(window
.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1),
createDate: getCurrentDate(), createDate: getCurrentDate(),
financeSid: [], superviseName: '',
finances: [], superviseSid: '',
remarks: "" remarks: ""
} }
this.loadList() this.loadList()
@ -360,6 +378,9 @@
}, },
loadList() { loadList() {
this.tableLoading = true this.tableLoading = true
this.queryParams.params.userSid = window.sessionStorage.getItem('userSid')
this.queryParams.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
this.queryParams.params.menuUrl = this.$route.path
req.listPage(this.queryParams).then((resp) => { req.listPage(this.queryParams).then((resp) => {
this.tableLoading = false this.tableLoading = false
if (resp.success) { if (resp.success) {
@ -407,9 +428,9 @@
"billNo": "", "billNo": "",
"createStartTime": "", "createStartTime": "",
"createEndTime": "", "createEndTime": "",
"stocktakType": "", "checkState": "",
"createByName": "", "createByName": "",
"finance": "" "superviseName": ""
} }
} }
this.loadList() this.loadList()
@ -418,10 +439,11 @@
// this.viewState = 2 // this.viewState = 2
// this.$refs['divadd'].showAdd() // this.$refs['divadd'].showAdd()
this.dialogVisible = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['form_obj'].clearValidate() this.$refs['form_obj'].clearValidate()
}) })
this.dialogVisible = true
}, },
selectionLineChangeHandle(val) { selectionLineChangeHandle(val) {
console.log('val', val) console.log('val', val)
@ -437,7 +459,7 @@
console.log('toDetail', row) console.log('toDetail', row)
this.viewState = 5 this.viewState = 5
this.$refs['divinfo'].loadList(row.sid) this.$refs['divinfo'].showDetail(row.sid)
}, },
toShowBill() { toShowBill() {
@ -451,10 +473,10 @@
} }
this.viewState = 2 this.viewState = 2
this.$refs['divstocktak'].loadList(this.selectionList[0].sid) this.$refs['divstocktak'].showDetail(this.selectionList[0].sid)
}, },
toStocktak() { toStocktak() {
if (this.selectionList.length == 0) { if (this.selectionList.length != 1) {
this.$message({ this.$message({
type: 'warning', type: 'warning',
message: '请选择一条数据。', message: '请选择一条数据。',
@ -463,19 +485,20 @@
return return
} }
for (var i = this.selectionList.length - 1; i >= 0; i--) {
if (this.selectionList[i].isReport == '1') { if (this.selectionList[0].state == '0') {
this.$message({ this.$message({
type: 'warning', type: 'warning',
message: '所选记录已生成报告,不可重复生成。', message: '所选记录已生成报告,不可重复生成。',
showClose: true showClose: true
}) })
return return
} }
var params = {
sid: this.selectionList[0].sid
} }
req.billCreateReport(this.sids).then((resp) => { req.billCreateReport(params).then((resp) => {
if (resp.success) { if (resp.success) {
this.$message({ this.$message({
type: 'success', type: 'success',

162
yxt-as-ui/src/views/storage/stocktaking/stocktakingInfo.vue

@ -10,22 +10,34 @@
<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-input v-model="queryParams.params.warehouseName" placeholder="" clearable /> <el-select v-model="queryParams.params.warehouseName" placeholder="请选择仓库"
@change="selectWarehouseChange">
<el-option v-for="item in warehouseList" :key="item.sid" :label="item.warehouseName"
:value="item.sid" />
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="库区"> <el-form-item label="库区">
<el-input v-model="queryParams.params.warehouseAreaeName" placeholder="" clearable /> <el-select v-model="queryParams.params.warehouseAreaName" placeholder="请选择库区"
@change="selectWarehouseAreaChange">
<el-option v-for="item in warehouseAreaList" :key="item.sid" :label="item.areaName"
:value="item.sid" />
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="库位"> <el-form-item label="库位">
<el-input v-model="queryParams.params.warehouseRackName" placeholder="" clearable /> <el-select v-model="queryParams.params.warehouseRackName" placeholder="请选择库位">
<el-option v-for="item in warehouseRackList" :key="item.sid" :label="item.rackName"
:value="item.sid">
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="商品ID"> <el-form-item label="商品ID">
<el-input v-model="queryParams.params.goodsId" placeholder="" clearable /> <el-input v-model="queryParams.params.goodsID" placeholder="" clearable />
</el-form-item> </el-form-item>
<el-form-item label="商品名称"> <el-form-item label="商品名称">
<el-input v-model="queryParams.params.goodsName" placeholder="" clearable /> <el-input v-model="queryParams.params.goodsSkuTitle" placeholder="" clearable />
</el-form-item> </el-form-item>
<el-form-item label="商品图号"> <el-form-item label="商品图号">
<el-input v-model="queryParams.params.goodsCode" placeholder="" clearable /> <el-input v-model="queryParams.params.goodsSkuCode" 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;">
@ -44,21 +56,22 @@
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"> <el-table v-loading="tableLoading" :data="dataList" border style="width: 100%">
<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="goodsID" label="商品ID" width="120" align="center" /> <el-table-column prop="goodsID" label="商品ID" width="120" align="center" />
<el-table-column prop="goodsName" label="商品名称" width="120" align="center" /> <el-table-column prop="goodsSkuTitle" label="商品名称" width="120" align="center" />
<el-table-column prop="goodsCode" label="图号" width="120" align="center" /> <el-table-column prop="goodsSkuCode" label="图号" width="120" align="center" />
<el-table-column prop="warehouseName" label="仓库" width="120" align="center" /> <el-table-column prop="warehouseName" label="仓库" width="120" align="center" />
<el-table-column prop="warehouseAreaeName" label="库区" width="120" align="center" /> <el-table-column prop="warehouseArea" label="库区" width="120" align="center" />
<el-table-column prop="warehouseRackName" label="库位" width="120" align="center" /> <el-table-column prop="warehouseRackName" label="库位" width="120" align="center" />
<el-table-column prop="unit" label="单位" width="120" align="center" /> <el-table-column prop="unit" label="单位" width="120" align="center" />
<el-table-column prop="price" label="单价" width="120" align="center" /> <el-table-column prop="cost" label="单价" width="120" align="center" />
<el-table-column prop="inventoryNum" label="库存数量" width="120" align="center" /> <el-table-column prop="bookCount" label="库存数量" width="120" align="center" />
<el-table-column prop="inventoryMoeny" label="库存金额" width="120" align="center" /> <el-table-column prop="bookAmount" label="库存金额" width="120" align="center" />
<el-table-column prop="spNum" label="实盘数量" width="120" align="center" /> <el-table-column prop="realCount" label="实盘数量" width="120" align="center" />
<el-table-column prop="spMoney" label="实盘金额" width="120" align="center" /> <el-table-column prop="realCount" label="实盘金额" width="120" align="center" />
<el-table-column prop="state" label="状态" width="120" align="center" /> <el-table-column prop="state" label="状态" width="120" align="center" />
<el-table-column prop="ykNum" label="亏盈数" width="120" align="center" /> <el-table-column prop="profitAndLoseCount" label="亏盈数" width="120" align="center" />
<el-table-column prop="psNum" label="盘损数量" width="120" align="center" /> <el-table-column prop="profitAndLoseAmount" label="盈亏金额" width="120" align="center" />
<el-table-column prop="psMoney" label="盘损金额" width="120" align="center" /> <el-table-column prop="lossCount" label="盘损数量" width="120" align="center" />
<el-table-column prop="lossAmount" label="盘损金额" width="120" align="center" />
<el-table-column prop="remarks" label="备注" align="center" width="200" /> <el-table-column prop="remarks" label="备注" align="center" width="200" />
<el-table-column label="附件" align="center"> <el-table-column label="附件" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
@ -102,6 +115,9 @@
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'
import req2 from '@/api/warehouse/warehouse.js'
import req3 from '@/api/warehouse/warehouseArea.js'
import req4 from '@/api/warehouse/goodsShelves.js'
export default { export default {
components: { components: {
ButtonBar, ButtonBar,
@ -129,17 +145,22 @@
size: 10, size: 10,
total: 0, total: 0,
params: { params: {
"sid": "", "billSid": "",
"warehouseSid": "",
"warehouseName": "", "warehouseName": "",
"warehouseAreaeName": "", "warehouseAreaSid": "",
"warehouseRackName": "", "warehouseAreaName": "",
"goodsId": "", "warehouseRackSid": "",
"goodsName": "", "goodsID": "",
"goodsCode": "" "goodsSkuTitle": "",
"goodsSkuCode": ""
} }
}, },
billSid: "", billSid: "",
fileList: [] fileList: [],
warehouseList: [],
warehouseAreaList: [],
warehouseRackList: []
} }
}, },
mounted() { mounted() {
@ -149,6 +170,74 @@
}, },
methods: { methods: {
initData() {
var parpams = {
orgPath: window.sessionStorage.getItem('defaultOrgPath'),
}
req2.getAllWarehouse(parpams).then(resp => {
this.warehouseList = resp.data
})
},
getWarehouseArea(sid) {
this.queryParams.params.warehouseAreaSid = ''
this.queryParams.params.warehouseAreaName = ''
var params = {
ckSid: sid
}
req3.getAllWarehouseareaBysid(params).then(resp => {
console.log('>>>>>>>>>getAllWarehousearea', resp)
this.warehouseAreaList = resp.data
}).catch(() => {})
},
getAllTypeByAreaSid(sid) {
this.queryParams.params.warehouseRackSid = ''
this.queryParams.params.warehouseRackName = ''
var params = {
areaSid: sid
}
req4.getAllTypeByAreaSid(params).then(resp => {
console.log('>>>>>>>>>getAllTypeByAreaSid', resp)
this.warehouseRackList = resp.data
}).catch(() => {})
},
selectWarehouseChange(val) {
const choose = this.warehouseList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseChange', choose)
this.queryParams.params.warehouseSid = choose[0].sid
this.queryParams.params.warehouseName = choose[0].warehouseName
this.getWarehouseArea(choose[0].sid)
},
selectWarehouseAreaChange(val) {
const choose = this.warehouseAreaList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseAreaChange', choose)
this.queryParams.params.warehouseAreaSid = choose[0].sid
this.queryParams.params.warehouseAreaName = choose[0].areaName
this.getAllTypeByAreaSid(choose[0].sid)
},
selectWarehouseRackChange(val) {
const choose = this.warehouseRackList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseRackChange', choose)
this.queryParams.params.warehouseRackSid = choose[0].sid
this.queryParams.params.warehouseRackName = choose[0].rackName
},
showImage(paths) { showImage(paths) {
this.fileList = paths this.fileList = paths
this.dialogVisible = true this.dialogVisible = true
@ -175,11 +264,16 @@
} }
}, },
loadList(sid) { showDetail(sid) {
this.initData()
this.billSid = sid
this.queryParams.params.billSid = sid
this.loadList()
},
loadList() {
this.tableLoading = true this.tableLoading = true
this.billSid = sid
this.queryParams.params.sid = sid
req.billDetail(this.queryParams).then((resp) => { req.billDetail(this.queryParams).then((resp) => {
this.tableLoading = false this.tableLoading = false
@ -213,13 +307,15 @@
size: 10, size: 10,
total: 0, total: 0,
params: { params: {
"sid": this.billSid, "billSid": this.billSid,
"warehouseSid": "",
"warehouseName": "", "warehouseName": "",
"warehouseAreaeName": "", "warehouseAreaSid": "",
"warehouseRackName": "", "warehouseAreaName": "",
"goodsId": "", "warehouseRackSid": "",
"goodsName": "", "goodsID": "",
"goodsCode": "" "goodsSkuTitle": "",
"goodsSkuCode": ""
} }
} }
this.loadList() this.loadList()

60
yxt-as-ui/src/views/storage/stocktaking/stocktakingRackCodeDetail.vue

@ -10,13 +10,13 @@
<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="商品ID"> <el-form-item label="商品ID">
<el-input v-model="queryParams.params.goodsId" placeholder="" clearable /> <el-input v-model="queryParams.params.goodsID" placeholder="" clearable />
</el-form-item> </el-form-item>
<el-form-item label="商品名称"> <el-form-item label="商品名称">
<el-input v-model="queryParams.params.goodsName" placeholder="" clearable /> <el-input v-model="queryParams.params.goodsSkuTitle" placeholder="" clearable />
</el-form-item> </el-form-item>
<el-form-item label="商品图号"> <el-form-item label="商品图号">
<el-input v-model="queryParams.params.goodsCode" placeholder="" clearable /> <el-input v-model="queryParams.params.goodsSkuCode" 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;">
@ -35,21 +35,22 @@
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"> <el-table v-loading="tableLoading" :data="dataList" border style="width: 100%">
<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="goodsID" label="商品ID" width="120" align="center" /> <el-table-column prop="goodsID" label="商品ID" width="120" align="center" />
<el-table-column prop="goodsName" label="商品名称" width="120" align="center" /> <el-table-column prop="goodsSkuTitle" label="商品名称" width="120" align="center" />
<el-table-column prop="goodsCode" label="图号" width="120" align="center" /> <el-table-column prop="goodsSkuCode" label="图号" width="120" align="center" />
<el-table-column prop="warehouseName" label="仓库" width="120" align="center" /> <el-table-column prop="warehouseName" label="仓库" width="120" align="center" />
<el-table-column prop="warehouseAreaeName" label="库区" width="120" align="center" /> <el-table-column prop="warehouseArea" label="库区" width="120" align="center" />
<el-table-column prop="warehouseRackName" label="库位" width="120" align="center" /> <el-table-column prop="warehouseRackName" label="库位" width="120" align="center" />
<el-table-column prop="unit" label="单位" width="120" align="center" /> <el-table-column prop="unit" label="单位" width="120" align="center" />
<el-table-column prop="price" label="单价" width="120" align="center" /> <el-table-column prop="cost" label="单价" width="120" align="center" />
<el-table-column prop="inventoryNum" label="库存数量" width="120" align="center" /> <el-table-column prop="bookCount" label="库存数量" width="120" align="center" />
<el-table-column prop="inventoryMoeny" label="库存金额" width="120" align="center" /> <el-table-column prop="bookAmount" label="库存金额" width="120" align="center" />
<el-table-column prop="spNum" label="实盘数量" width="120" align="center" /> <el-table-column prop="realCount" label="实盘数量" width="120" align="center" />
<el-table-column prop="spMoney" label="实盘金额" width="120" align="center" /> <el-table-column prop="realCount" label="实盘金额" width="120" align="center" />
<el-table-column prop="state" label="状态" width="120" align="center" /> <el-table-column prop="state" label="状态" width="120" align="center" />
<el-table-column prop="ykNum" label="亏盈数" width="120" align="center" /> <el-table-column prop="profitAndLoseCount" label="亏盈数" width="120" align="center" />
<el-table-column prop="psNum" label="盘损数量" width="120" align="center" /> <el-table-column prop="profitAndLoseAmount" label="盈亏金额" width="120" align="center" />
<el-table-column prop="psMoney" label="盘损金额" width="120" align="center" /> <el-table-column prop="lossCount" label="盘损数量" width="120" align="center" />
<el-table-column prop="lossAmount" label="盘损金额" width="120" align="center" />
<el-table-column prop="remarks" label="备注" align="center" width="200" /> <el-table-column prop="remarks" label="备注" align="center" width="200" />
<el-table-column label="附件" align="center"> <el-table-column label="附件" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
@ -120,13 +121,15 @@
size: 10, size: 10,
total: 0, total: 0,
params: { params: {
"sid": "", "billSid": "",
"goodsId": "", "warehouseRackSid": "",
"goodsName": "", "goodsID": "",
"goodsCode": "" "goodsSkuTitle": "",
"goodsSkuCode": ""
} }
}, },
billSid: "", billSid: "",
warehouseRackSid: "",
fileList: [] fileList: []
} }
}, },
@ -163,12 +166,16 @@
} }
}, },
loadList(sid) { showDetail(sid, warehouseRackSid) {
this.tableLoading = true
this.billSid = sid this.billSid = sid
this.queryParams.params.sid = sid this.warehouseRackSid = warehouseRackSid
this.queryParams.params.billSid = sid
this.queryParams.params.warehouseRackSid = warehouseRackSid
this.loadList()
},
loadList() {
this.tableLoading = true
req.billRackCodeDetail(this.queryParams).then((resp) => { req.billRackCodeDetail(this.queryParams).then((resp) => {
this.tableLoading = false this.tableLoading = false
if (resp.success) { if (resp.success) {
@ -201,10 +208,11 @@
size: 10, size: 10,
total: 0, total: 0,
params: { params: {
"sid": this.billSid, "billSid": this.billSid,
"goodsId": "", "warehouseRackSid": this.warehouseRackSid,
"goodsName": "", "goodsID": "",
"goodsCode": "" "goodsSkuTitle": "",
"goodsSkuCode": ""
} }
} }
this.loadList() this.loadList()

138
yxt-as-ui/src/views/storage/stocktaking/stocktakingRackCodeList.vue

@ -10,20 +10,22 @@
<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="queryParams.params.warehouseName" placeholder="请选择仓库"> <el-select v-model="queryParams.params.warehouseName" placeholder="请选择仓库"
@change="selectWarehouseChange">
<el-option v-for="item in warehouseList" :key="item.sid" :label="item.warehouseName" <el-option v-for="item in warehouseList" :key="item.sid" :label="item.warehouseName"
:value="item.sid" /> :value="item.sid" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="库区"> <el-form-item label="库区">
<el-select v-model="queryParams.params.warehouseAreaeName" placeholder="请选择所属库位"> <el-select v-model="queryParams.params.warehouseAreaName" placeholder="请选择库区"
@change="selectWarehouseAreaChange">
<el-option v-for="item in warehouseAreaList" :key="item.sid" :label="item.areaName" <el-option v-for="item in warehouseAreaList" :key="item.sid" :label="item.areaName"
:value="item.sid" /> :value="item.sid" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="库位"> <el-form-item label="库位">
<el-select v-model="queryParams.params.warehouseRackName" placeholder="请选择"> <el-select v-model="queryParams.params.warehouseRackName" placeholder="请选择库位">
<el-option v-for="item in warehouseRackList" :key="item.sid" :label="item.areaCode" <el-option v-for="item in warehouseRackList" :key="item.sid" :label="item.rackName"
:value="item.sid"> :value="item.sid">
</el-option> </el-option>
</el-select> </el-select>
@ -50,31 +52,31 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="warehouseName" label="仓库" width="120" align="center" /> <el-table-column prop="warehouseName" label="仓库" width="120" align="center" />
<el-table-column prop="warehouseAreaeName" label="库区" width="120" align="center" /> <el-table-column prop="warehouseArea" label="库区" width="120" align="center" />
<el-table-column prop="warehouseRackName" label="库位" width="120" align="center" /> <el-table-column prop="warehouseRackName" label="库位" width="120" align="center" />
<el-table-column label="应盘" align="center"> <el-table-column label="应盘" align="center">
<el-table-column prop="ypNum" label="数量" align="center" width="100" /> <el-table-column prop="bookCount" label="数量" align="center" width="100" />
<el-table-column prop="ypMoney" label="金额" align="center" width="100" /> <el-table-column prop="bookAmount" label="金额" align="center" width="100" />
</el-table-column> </el-table-column>
<el-table-column label="实盘" align="center"> <el-table-column label="实盘" align="center">
<el-table-column prop="spNum" label="数量" align="center" width="100" /> <el-table-column prop="realCount" label="数量" align="center" width="100" />
<el-table-column prop="spMoney" label="金额" align="center" width="100" /> <el-table-column prop="realAmount" label="金额" align="center" width="100" />
</el-table-column> </el-table-column>
<el-table-column label="未盘" align="center"> <el-table-column label="未盘" align="center">
<el-table-column prop="wpNum" label="数量" align="center" width="100" /> <el-table-column prop="notCount" label="数量" align="center" width="100" />
<el-table-column prop="wpMoney" label="金额" align="center" width="100" /> <el-table-column prop="notAmount" label="金额" align="center" width="100" />
</el-table-column> </el-table-column>
<el-table-column label="盘盈" align="center"> <el-table-column label="盘盈" align="center">
<el-table-column prop="pyNum" label="数量" align="center" width="100" /> <el-table-column prop="profitCount" label="数量" align="center" width="100" />
<el-table-column prop="pyMoney" label="金额" align="center" width="100" /> <el-table-column prop="profitAmount" label="金额" align="center" width="100" />
</el-table-column> </el-table-column>
<el-table-column label="盘亏" align="center"> <el-table-column label="盘亏" align="center">
<el-table-column prop="pkNum" label="数量" align="center" width="100" /> <el-table-column prop="loseCount" label="数量" align="center" width="100" />
<el-table-column prop="pkMoney" label="金额" align="center" width="100" /> <el-table-column prop="loseAmount" label="金额" align="center" width="100" />
</el-table-column> </el-table-column>
<el-table-column label="盘损" align="center"> <el-table-column label="盘损" align="center">
<el-table-column prop="psNum" label="数量" align="center" width="100" /> <el-table-column prop="lossCount" label="数量" align="center" width="100" />
<el-table-column prop="psMoney" label="金额" align="center" width="100" /> <el-table-column prop="lossAmount" label="金额" align="center" width="100" />
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
@ -98,6 +100,9 @@
import Pagination from '@/components/pagination' import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye' import pageye from '@/components/pagination/pageye'
import stocktakingRackCodeDetail from './stocktakingRackCodeDetail.vue' import stocktakingRackCodeDetail from './stocktakingRackCodeDetail.vue'
import req2 from '@/api/warehouse/warehouse.js'
import req3 from '@/api/warehouse/warehouseArea.js'
import req4 from '@/api/warehouse/goodsShelves.js'
export default { export default {
components: { components: {
ButtonBar, ButtonBar,
@ -126,10 +131,12 @@
size: 10, size: 10,
total: 0, total: 0,
params: { params: {
"sid": "", "billSid": "",
"warehouseSid": "",
"warehouseName": "", "warehouseName": "",
"warehouseAreaeName": "", "warehouseAreaSid": "",
"warehouseRackName": "", "warehouseAreaName": "",
"warehouseRackSid": "",
} }
}, },
billSid: "", billSid: "",
@ -145,6 +152,75 @@
}, },
methods: { methods: {
initData() {
var parpams = {
orgPath: window.sessionStorage.getItem('defaultOrgPath'),
}
req2.getAllWarehouse(parpams).then(resp => {
this.warehouseList = resp.data
})
},
getWarehouseArea(sid) {
this.queryParams.params.warehouseAreaSid = ''
this.queryParams.params.warehouseAreaName = ''
var params = {
ckSid: sid
}
req3.getAllWarehouseareaBysid(params).then(resp => {
console.log('>>>>>>>>>getAllWarehousearea', resp)
this.warehouseAreaList = resp.data
}).catch(() => {})
},
getAllTypeByAreaSid(sid) {
this.queryParams.params.warehouseRackSid = ''
this.queryParams.params.warehouseRackName = ''
var params = {
areaSid: sid
}
req4.getAllTypeByAreaSid(params).then(resp => {
console.log('>>>>>>>>>getAllTypeByAreaSid', resp)
this.warehouseRackList = resp.data
}).catch(() => {})
},
selectWarehouseChange(val) {
const choose = this.warehouseList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseChange', choose)
this.queryParams.params.warehouseSid = choose[0].sid
this.queryParams.params.warehouseName = choose[0].warehouseName
this.getWarehouseArea(choose[0].sid)
},
selectWarehouseAreaChange(val) {
const choose = this.warehouseAreaList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseAreaChange', choose)
this.queryParams.params.warehouseAreaSid = choose[0].sid
this.queryParams.params.warehouseAreaName = choose[0].areaName
this.getAllTypeByAreaSid(choose[0].sid)
},
selectWarehouseRackChange(val) {
const choose = this.warehouseRackList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseRackChange', choose)
this.queryParams.params.warehouseRackSid = choose[0].sid
this.queryParams.params.warehouseRackName = choose[0].rackName
},
// //
clicksearchShow() { clicksearchShow() {
this.isSearchShow = !this.isSearchShow this.isSearchShow = !this.isSearchShow
@ -163,13 +239,15 @@
break break
} }
}, },
showDetail(sid) {
loadList(sid) { this.initData()
this.tableLoading = true
this.billSid = sid this.billSid = sid
this.queryParams.params.sid = sid this.queryParams.params.billSid = sid
this.loadList()
},
loadList() {
this.tableLoading = true
req.billStocktak(this.queryParams).then((resp) => { req.billStocktak(this.queryParams).then((resp) => {
this.tableLoading = false this.tableLoading = false
if (resp.success) { if (resp.success) {
@ -202,10 +280,12 @@
size: 10, size: 10,
total: 0, total: 0,
params: { params: {
"sid": this.billSid, "billSid": this.billSid,
"warehouseSid": "",
"warehouseName": "", "warehouseName": "",
"warehouseAreaeName": "", "warehouseAreaSid": "",
"warehouseRackName": "", "warehouseAreaName": "",
"warehouseRackSid": "",
} }
} }
this.loadList() this.loadList()
@ -214,7 +294,7 @@
toDetail(row) { toDetail(row) {
this.viewState = 2 this.viewState = 2
this.$refs['divSp'].loadList(row.sid) this.$refs['divSp'].showDetail(row.billSid, row.warehouseRackSid)
}, },
close() { close() {
this.$emit('doback') this.$emit('doback')

Loading…
Cancel
Save