仓库-样式调整,出库记录,出库单,批量查看调整

This commit is contained in:
2024-04-29 16:59:32 +08:00
parent 5511e3babf
commit 1302d172fc
13 changed files with 612 additions and 451 deletions

View File

@@ -1,6 +1,6 @@
<template>
<div>
<el-dialog v-bind="$attrs" v-on="$listeners" @open="onOpen" @close="onClose" title="批次出库" width="80%">
<el-dialog v-bind="$attrs" v-on="$listeners" @open="onOpen" @close="onClose" title="批次出库" width="80%" :close-on-click-modal="false">
<el-form ref="elForm" :model="formData" size="medium" label-width="100px">
<el-row type="flex" justify="start" align="top" :gutter="15">
<el-form-item label="出库单" prop="fkOutOrderId">
@@ -42,7 +42,7 @@
</el-table>
<pagination class="mt10" background :total="total" :page.sync="formData.pageNum" :limit.sync="formData.pageSize" @pagination="getList" />
<div slot="footer">
<el-button @click="close">取消</el-button>
<el-button type="info" @click="close">取消</el-button>
<el-button type="primary" @click="handelConfirm" :disabled="dataList.length===0">按所勾选出库</el-button>
</div>
</el-dialog>
@@ -99,6 +99,15 @@
this.outOrderOptions = [];
this.PackageCodeOptions = [];
},
// 不关闭弹窗
endAction(){
this.$refs['elForm'].resetFields()
this.$emit("refresh");
this.dataList = [];
this.total = 0;
this.outOrderOptions = [];
this.PackageCodeOptions = [];
},
handelConfirm() {
this.$refs['elForm'].validate(valid => {
if (!valid) return
@@ -205,7 +214,7 @@
doPatchOutProduction(data).then((res) => {
if (res.code === 200 || res.data === "ok") {
this.$message.success("批量操作成功!")
this.close();
this.endAction();
} else {
this.$message.error(res.msg)
}
@@ -241,7 +250,7 @@
doPatchOutProduction(data).then((res) => {
if (res.code === 200 || res.data === "ok") {
this.$message.success("批量操作成功!")
this.close();
this.endAction();
} else {
this.$message.error(res.msg)
}

View File

@@ -1,10 +1,10 @@
<template>
<div>
<el-dialog v-bind="$attrs" v-on="$listeners" @open="onOpen" @close="onClose" title="物料选择">
<el-dialog v-bind="$attrs" v-on="$listeners" @open="onOpen" @close="onClose" title="物料选择" width="80%" :close-on-click-modal="false">
<el-form ref="elForm" :model="formData" :rules="rules" size="mini" label-width="80px">
<el-row type="flex" justify="start" align="top" :gutter="10">
<el-form-item label="物料号" prop="partnumber">
<el-input v-model="formData.partnumber" placeholder="请输入物料号" clearable :style="{ width: '100%' }"> </el-input>
<el-input v-model="formData.partnumber" placeholder="请输入物料号(零件号)" clearable :style="{ width: '100%' }"> </el-input>
</el-form-item>
<el-form-item label="U8编码" prop="u8InventoryCode">
<el-input v-model="formData.u8InventoryCode" placeholder="请输入U8编码" clearable :style="{ width: '100%' }"></el-input>
@@ -15,7 +15,7 @@
</el-row>
<el-row type="flex" justify="start" align="top" :gutter="10">
<el-form-item label="" prop="search">
<el-button type="primary" icon="el-icon-search" size="medium" @click="getList">搜索</el-button>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
</el-form-item>
</el-row>

View File

@@ -1,35 +1,29 @@
<template>
<div>
<el-dialog v-bind="$attrs" v-on="$listeners" @open="onOpen" @close="onClose" :title="title" width="800px">
<el-dialog v-bind="$attrs" v-on="$listeners" @open="onOpen" @close="onClose" :title="title" width="80%" :close-on-click-modal="false">
<el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px"> </el-form>
<!-- 出库计划列表 -->
<div>
<!-- 数据区域 -->
<el-table :data="dataList" v-loading="loading" ref="table" border highlight-current-row max-height="400px">
<el-table-column prop="patchcode" label="批次号" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="materialCode" label="物料号" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="packageCode" label="批次号" align="center" :show-overflow-tooltip="true" min-width="140" />
<el-table-column prop="partnumber" label="物料号(零件号)" align="center" :show-overflow-tooltip="true" min-width="140" />
<el-table-column prop="description" label="描述" align="center" :show-overflow-tooltip="true" min-width="160" />
<el-table-column prop="warehouseCode" label="所属仓库" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="packageNum" label="批次箱数" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="partnumberNum" label="批次零件数" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="requireNum" label="需求零件" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="patchtime" label="批次时间" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="outorder" label="出库顺序" align="center">
<el-table-column prop="requireNum" label="零件总需求" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="outPackageNum" label="已出箱" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="outPartnumberNum" label="已出零件" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="packagePlanNum" label="计划箱" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="partnumberPlanNum" label="计划零件" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="packageNum" label="仓库箱" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="partnumberNum" label="仓库零件" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="isOver" label="是否出完" align="center">
<template slot-scope="scope">
<el-input v-model.number="scope.row.outorder" placeholder="请输入出库顺序" />
</template>
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" width="80">
<template slot-scope="scope">
<el-button
size="mini"
v-hasPermi="['business:wmoutorder:edit']"
type="success"
icon="el-icon-edit"
title="保存"
@click="handleUpdate(scope.row)"
></el-button>
<el-tag v-if="scope.row.isOver" type="success" effect="dark">已出完</el-tag>
<el-tag v-else type="info" effect="dark">未出完</el-tag>
</template>
</el-table-column>
<el-table-column prop="outOrder" label="计划顺序" align="center" :show-overflow-tooltip="true" />
</el-table>
<!-- <pagination
class="mt10"
@@ -63,7 +57,7 @@ export default {
pageSize: 10,
},
// 弹出层标题
title: '出库计划',
title: '出库详情',
// 数据列表
dataList: [],
// 总记录数
@@ -98,8 +92,9 @@ export default {
setTimeout(() => {
this.loading = false
}, 30000)
WmOutOrderApi.generateOutorderplan({ shipment_num: this.planKey }).then((res) => {
WmOutOrderApi.getOutOrderPlanAndOutProductionNum({ shipment_num: this.planKey }).then((res) => {
if (res.code === 200) {
console.log(res);
this.dataList = res.data
// 计划出库批次清单
this.loading = false

View File

@@ -0,0 +1,185 @@
<template>
<div class="app-container">
<el-form :model="queryParams" size="small" label-position="right" inline ref="queryForm" :label-width="labelWidth" v-show="showSearch" @submit.native.prevent>
<el-form-item label="出库单" prop="shipmentNum">
<el-input v-model="queryParams.shipmentNum" placeholder="请输入出库单号" :clearable="true" />
</el-form-item>
<el-form-item label=" ">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<vxe-table border :header-cell-style="headerCellStyle" :row-style="rowClassStyle" keep-source resizable ref="xTable" :loading="loading" max-height="800" :row-config="{isHover: true}" :tree-config="{
transform: true,
rowField: 'packageCodeClient_son',
parentField: 'packageCodeClient_short_parent',
lazy: true,
hasChild: 'hasChild',
loadMethod: loadChildrenMethod }" :edit-config="{ trigger: 'manual', mode: 'row' }" :data="dataList">
<vxe-column field="shipmentNum" title="出库单号" tree-node min-width="100"></vxe-column>
<vxe-column field="partnumber" title="零件号" min-width="100"></vxe-column>
<vxe-column field="description" title="描述" min-width="120"></vxe-column>
<vxe-column field="packageCode" title="批次号" min-width="180"></vxe-column>
<vxe-column field="locationCode" title="库位编码"></vxe-column>
<vxe-column field="packageNum" title="箱数"></vxe-column>
<vxe-column field="goodsNumAction" title="已出">
</vxe-column>
<!-- <vxe-column field="goodsNumAction" title="库存" :edit-render="{}">
<template #edit="{ row }">
<vxe-input v-model="row.goodsNumAction" type="text"></vxe-input>
</template>
</vxe-column>
<vxe-column title="操作" width="160">
<template #default="{ row }">
<template v-if="$refs.xTable.isActiveByRow(row)">
<vxe-button @click="saveRowEvent(row)">保存</vxe-button>
<vxe-button @click="cancelRowEvent(row)">取消</vxe-button>
</template>
<template v-else>
<vxe-button @click="editRowEvent(row)">编辑</vxe-button>
</template>
</template>
</vxe-column> -->
<vxe-column field="outTime" title="出库时间" min-width="120"></vxe-column>
<vxe-column field="remark" title="备注"></vxe-column>
</vxe-table>
<pagination class="mt10" background :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
</div>
</template>
<script>
import * as WmGoodsBatchApi from '@/api/wmsManagement/wmGoodsBatchSearch.js'
export default {
name: 'PatchSearch6',
data() {
return {
labelWidth: '100px',
formLabelWidth: '100px',
// 遮罩层
loading: false,
// 显示搜索条件
showSearch: true,
// 查询参数
queryParams: {
partnumber: '',
packageCode: '',
// 出库单号
shipmentNum:'',
pageNum: 1,
pageSize: 10,
// 查询类别:1-树父节点 2-树子节点
type: 1,
// 聚合模型类别:1-根据批次号 2-根据零件号 3-根据出库单
model: 3,
// 查询类别:1-入库 2-出库
category: 2
},
dataList: [],
total: 0,
}
},
mounted() {
this.getList()
},
methods: {
// 查询数据
getList() {
this.loading = true
setTimeout(() => {
this.loading = false
}, 30000)
let data = this.queryParams;
WmGoodsBatchApi.GetBatchTreeTableData(data).then(res => {
if (res.code === 200) {
this.total = res.data.totalNum;
this.dataList = res.data.result;
this.loading = false
} else {
this.loading = false
}
})
},
loadChildrenMethod({ row }) {
return new Promise(resolve => {
const data = {
type: 2,
model: 3,
category: 2,
shipmentNum: row.packageCodeClient_son,
}
WmGoodsBatchApi.GetBatchTreeTableData(data).then(res => {
if (res.code === 200) {
resolve(res.data.result);
}
})
})
},
//todo 处理搜索请求
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
resetQuery() {
this.queryParams.partnumber = ''
this.queryParams.packageCode = ''
},
//todo 修改库存
editRowEvent(row) {
const $table = this.$refs.xTable
$table.setActiveRow(row)
},
saveRowEvent(row) {
const $table = this.$refs.xTable
$table
.clearActived()
.then(() => {
this.loading = true
//提交修改
const query = { id: row.id, stack_num: row.goodsNumAction }
return updateactualInventoryQuantity(query)
})
.then((res) => {
if (res.code == 200 && res.data > 0) {
this.$notify.success('修改成功')
this.getList()
}
})
},
cancelRowEvent(row) {
const $table = this.$refs.xTable
$table.clearActived().then(() => {
// 还原行数据
$table.revertData(row)
//this.getList()
})
},
// 表格头部颜色配置
headerCellStyle({ column }) {
const data = {
backgroundColor: '#C0C4CC',
color: '#303133'
}
return data
},
rowClassStyle({ row, column, rowIndex }) {
let data = {
backgroundColor: '#F2F6FC',
color: '#303133'
}
if (rowIndex % 2 > 0) {
data.backgroundColor = '#EBEEF5'
}
// if( row.description === '此零件号不在物料清单内!'){
// data.backgroundColor = '#F56C6C';
// data.color = '#FFFFFF'
// }
return data
},
},
}
</script>
<style scoped>
</style>

View File

@@ -4,9 +4,6 @@
<el-form-item label="短批次号" prop="packageCodeClient">
<el-input v-model="queryParams.packageCode" placeholder="请输入批次号" :clearable="true" />
</el-form-item>
<el-form-item label="零件号" prop="partnumber">
<el-input v-model="queryParams.partnumber" placeholder="请输入零件号" :clearable="true" />
</el-form-item>
<el-form-item label=" ">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -25,7 +22,7 @@
<vxe-column field="description" title="描述" min-width="120"></vxe-column>
<vxe-column field="locationCode" title="库位编码"></vxe-column>
<vxe-column field="packageNum" title="箱数"></vxe-column>
<vxe-column field="goodsNumAction" title="库存">
<vxe-column field="goodsNumAction" title="已出">
</vxe-column>
<!-- <vxe-column field="goodsNumAction" title="库存" :edit-render="{}">
<template #edit="{ row }">
@@ -66,6 +63,8 @@
queryParams: {
partnumber: '',
packageCode: '',
// 出库单号
shipmentNum:'',
pageNum: 1,
pageSize: 10,
// 查询类别:1-树父节点 2-树子节点

View File

@@ -25,7 +25,7 @@
<vxe-column field="packageCode" title="批次号" min-width="180"></vxe-column>
<vxe-column field="locationCode" title="库位编码"></vxe-column>
<vxe-column field="packageNum" title="箱数"></vxe-column>
<vxe-column field="goodsNumAction" title="库存">
<vxe-column field="goodsNumAction" title="已出">
</vxe-column>
<!-- <vxe-column field="goodsNumAction" title="库存" :edit-render="{}">
<template #edit="{ row }">
@@ -66,6 +66,8 @@
queryParams: {
partnumber: '',
packageCode: '',
// 出库单号
shipmentNum:'',
pageNum: 1,
pageSize: 10,
// 查询类别:1-树父节点 2-树子节点
@@ -154,7 +156,7 @@
//this.getList()
})
},
// 表格颜色配置
// 表格头部颜色配置
headerCellStyle({ column }) {
const data = {
backgroundColor: '#C0C4CC',