1
This commit is contained in:
parent
a5e190a98d
commit
622f507f6a
|
|
@ -59,3 +59,13 @@ export function createOutRequestByPmsOrders(data){
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//生成波次
|
||||||
|
export function createWaveRequestByOrders(data){
|
||||||
|
return request({
|
||||||
|
url: '/app/task/createWaveRequestByOrders',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
||||||
10
src/api/system/waveConstitute.js
Normal file
10
src/api/system/waveConstitute.js
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询波次构成列表
|
||||||
|
export function listWaveConstitute(query) {
|
||||||
|
return request({
|
||||||
|
url: '/system/waveConstitute/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
@ -1,214 +0,0 @@
|
||||||
<!-- 物料出库弹窗 -->
|
|
||||||
<template>
|
|
||||||
<el-dialog
|
|
||||||
title="物料出库"
|
|
||||||
:visible.sync="visible"
|
|
||||||
width="900px"
|
|
||||||
append-to-body
|
|
||||||
destroy-on-close
|
|
||||||
>
|
|
||||||
<div class="outbound-table">
|
|
||||||
<el-table :data="tableData" size="small" border>
|
|
||||||
<el-table-column label="物料编码" width="280">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-autocomplete
|
|
||||||
v-model="scope.row.materialCode"
|
|
||||||
:fetch-suggestions="searchMaterials"
|
|
||||||
:trigger-on-focus="false"
|
|
||||||
@select="(item) => handleMaterialSelect(item, scope.$index)"
|
|
||||||
placeholder="请输入物料编码或名称"
|
|
||||||
clearable
|
|
||||||
>
|
|
||||||
<template slot-scope="{ item }">
|
|
||||||
<div class="material-item">
|
|
||||||
<div class="material-code">{{ item.code }}</div>
|
|
||||||
<div class="material-desc">{{ item.description }}</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</el-autocomplete>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="物料描述" prop="materialDescription">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-input v-model="scope.row.materialDescription" readonly placeholder="物料描述" />
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="出库数量" width="150">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-input-number
|
|
||||||
v-model="scope.row.quantity"
|
|
||||||
:min="1"
|
|
||||||
controls-position="right"
|
|
||||||
placeholder="请输入数量"
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="操作" width="80" align="center">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-button
|
|
||||||
type="text"
|
|
||||||
icon="el-icon-delete"
|
|
||||||
@click="removeRow(scope.$index)"
|
|
||||||
:disabled="tableData.length === 1"
|
|
||||||
>删除</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
|
|
||||||
<div class="table-footer">
|
|
||||||
<el-button type="primary" icon="el-icon-plus" @click="addRow">新增行</el-button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div slot="footer" class="dialog-footer">
|
|
||||||
<el-button @click="handleCancel">取 消</el-button>
|
|
||||||
<el-button type="primary" @click="handleSubmit">确 定</el-button>
|
|
||||||
</div>
|
|
||||||
</el-dialog>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
name: 'OutboundDialog',
|
|
||||||
props: {
|
|
||||||
visible: {
|
|
||||||
type: Boolean,
|
|
||||||
default: false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
tableData: [
|
|
||||||
{
|
|
||||||
id: Date.now(),
|
|
||||||
materialCode: '',
|
|
||||||
materialDescription: '',
|
|
||||||
quantity: 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
// 搜索物料
|
|
||||||
async searchMaterials(query, callback) {
|
|
||||||
if (query.length < 2) {
|
|
||||||
callback([])
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
// 这里替换为实际的后端API调用
|
|
||||||
// const { data } = await getMaterialList({ keyword: query })
|
|
||||||
// callback(data.map(item => ({
|
|
||||||
// code: item.materialCode,
|
|
||||||
// description: item.materialName,
|
|
||||||
// value: item.materialCode
|
|
||||||
// })))
|
|
||||||
|
|
||||||
// 模拟数据,实际使用时替换为上面的API调用
|
|
||||||
const mockData = [
|
|
||||||
{ code: 'MAT001', description: '钢板', value: 'MAT001' },
|
|
||||||
{ code: 'MAT002', description: '铝板', value: 'MAT002' },
|
|
||||||
{ code: 'MAT003', description: '铜线', value: 'MAT003' }
|
|
||||||
].filter(item =>
|
|
||||||
item.code.toLowerCase().includes(query.toLowerCase()) ||
|
|
||||||
item.description.includes(query)
|
|
||||||
)
|
|
||||||
callback(mockData)
|
|
||||||
} catch (error) {
|
|
||||||
this.$message.error('获取物料列表失败')
|
|
||||||
callback([])
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
// 选择物料
|
|
||||||
handleMaterialSelect(item, index) {
|
|
||||||
this.$set(this.tableData[index], 'materialCode', item.code)
|
|
||||||
this.$set(this.tableData[index], 'materialDescription', item.description)
|
|
||||||
},
|
|
||||||
|
|
||||||
// 新增行
|
|
||||||
addRow() {
|
|
||||||
this.tableData.push({
|
|
||||||
id: Date.now(),
|
|
||||||
materialCode: '',
|
|
||||||
materialDescription: '',
|
|
||||||
quantity: 1
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
// 删除行
|
|
||||||
removeRow(index) {
|
|
||||||
if (this.tableData.length > 1) {
|
|
||||||
this.tableData.splice(index, 1)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
// 取消
|
|
||||||
handleCancel() {
|
|
||||||
this.$emit('update:visible', false)
|
|
||||||
this.resetForm()
|
|
||||||
},
|
|
||||||
|
|
||||||
// 提交
|
|
||||||
handleSubmit() {
|
|
||||||
// 验证数据
|
|
||||||
const invalidRow = this.tableData.find(item =>
|
|
||||||
!item.materialCode ||
|
|
||||||
!item.materialDescription ||
|
|
||||||
!item.quantity ||
|
|
||||||
item.quantity < 1
|
|
||||||
)
|
|
||||||
|
|
||||||
if (invalidRow) {
|
|
||||||
this.$message.warning('请填写完整的出库信息')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// 提交数据
|
|
||||||
this.$emit('submit', this.tableData)
|
|
||||||
this.handleCancel()
|
|
||||||
},
|
|
||||||
|
|
||||||
// 重置表单
|
|
||||||
resetForm() {
|
|
||||||
this.tableData = [
|
|
||||||
{
|
|
||||||
id: Date.now(),
|
|
||||||
materialCode: '',
|
|
||||||
materialDescription: '',
|
|
||||||
quantity: 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.outbound-table {
|
|
||||||
.material-item {
|
|
||||||
.material-code {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
.material-desc {
|
|
||||||
font-size: 12px;
|
|
||||||
color: #666;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-footer {
|
|
||||||
margin-top: 15px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: flex-start;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-autocomplete {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-input-number {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
@ -101,6 +101,15 @@
|
||||||
@click="handleOut"
|
@click="handleOut"
|
||||||
>出库</el-button>
|
>出库</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
plain
|
||||||
|
icon="el-icon-coin"
|
||||||
|
size="mini"
|
||||||
|
@click="generateWave"
|
||||||
|
>生成波次</el-button>
|
||||||
|
</el-col>
|
||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
|
|
@ -133,10 +142,16 @@
|
||||||
<el-table-column label="库存数量" align="center" prop="stockNum" />
|
<el-table-column label="库存数量" align="center" prop="stockNum" />
|
||||||
<el-table-column label="物料描述" align="center" prop="goodsDesc" />
|
<el-table-column label="物料描述" align="center" prop="goodsDesc" />
|
||||||
<el-table-column label="订单状态" align="center" prop="orderStatus" >
|
<el-table-column label="订单状态" align="center" prop="orderStatus" >
|
||||||
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<dict-tag :options="dict.type.out_order_status" :value="scope.row.orderStatus"/>
|
<dict-tag :options="dict.type.out_order_status" :value="scope.row.orderStatus"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column label="生成波次" align="center" prop="generateWave" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag :options="dict.type.generate_wave" :value="scope.row.generateWave"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="是否锁定" align="center" prop="isLock" >
|
<el-table-column label="是否锁定" align="center" prop="isLock" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<dict-tag :options="dict.type.stock_or_order_status" :value="scope.row.isLock"/>
|
<dict-tag :options="dict.type.stock_or_order_status" :value="scope.row.isLock"/>
|
||||||
|
|
@ -227,7 +242,7 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { listPmsOrderOut, getPmsOrderOut, delPmsOrderOut, addPmsOrderOut, updatePmsOrderOut,createOrderOut,updateOrderOut } from "@/api/system/pmsOrderOut";
|
import { listPmsOrderOut, getPmsOrderOut, delPmsOrderOut, addPmsOrderOut, updatePmsOrderOut,createOrderOut,updateOrderOut } from "@/api/system/pmsOrderOut";
|
||||||
import {createOutRequestByPmsOrders} from "@/api/system/task";
|
import {createOutRequestByPmsOrders,createWaveRequestByOrders} from "@/api/system/task";
|
||||||
import OutboundDialog from './components/OutboundDialog'
|
import OutboundDialog from './components/OutboundDialog'
|
||||||
import {getToken} from "@/utils/auth";
|
import {getToken} from "@/utils/auth";
|
||||||
import { queryListByGoodsId } from "@/api/system/stock";
|
import { queryListByGoodsId } from "@/api/system/stock";
|
||||||
|
|
@ -236,7 +251,7 @@ export default {
|
||||||
components: {
|
components: {
|
||||||
OutboundDialog
|
OutboundDialog
|
||||||
},
|
},
|
||||||
dicts: ["out_order_type", "out_order_status","stock_or_order_status"],
|
dicts: ["out_order_type", "out_order_status","stock_or_order_status","generate_wave"],
|
||||||
data() {
|
data() {
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|
@ -455,6 +470,53 @@ export default {
|
||||||
this.$modal.msgSuccess("删除成功");
|
this.$modal.msgSuccess("删除成功");
|
||||||
}).catch(() => {});
|
}).catch(() => {});
|
||||||
},
|
},
|
||||||
|
generateWave(row){
|
||||||
|
const recordIds = row.recordId || this.ids;
|
||||||
|
if (recordIds == "" || recordIds == undefined || recordIds.length == 0) {
|
||||||
|
this.$modal.msgError("请选择要出库的通知单列表!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var reqArr = [];
|
||||||
|
var error = false;
|
||||||
|
|
||||||
|
for (var j = 0; j < recordIds.length; j++) {
|
||||||
|
for (var i = 0; i < this.pmsOrderOutList.length; i++) {
|
||||||
|
if (recordIds[j] == this.pmsOrderOutList[i].recordId) {
|
||||||
|
if(this.pmsOrderOutList[i].shelvesNum ==0){
|
||||||
|
this.$modal.msgError("物料号为" + this.pmsOrderOutList[i].goodsId + "已出库完成!");
|
||||||
|
error = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if(this.pmsOrderOutList[i].generateWave ==1){
|
||||||
|
this.$modal.msgError("物料号为" + this.pmsOrderOutList[i].goodsId + "已生成波次!");
|
||||||
|
error = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
//生成波次,总出库数量直接等于订单出库数量
|
||||||
|
this.pmsOrderOutList[i].pickNum = this.pmsOrderOutList[i].goodsNum;
|
||||||
|
reqArr.push(this.pmsOrderOutList[i]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (error) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$modal
|
||||||
|
.confirm("请确认是否生成波次?")
|
||||||
|
.then(function () {
|
||||||
|
return createWaveRequestByOrders(reqArr);
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.getList();
|
||||||
|
this.$modal.msgSuccess("生成波次成功");
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.$modal.msgSuccess("生成波次异常");
|
||||||
|
});
|
||||||
|
},
|
||||||
handleOut(row){
|
handleOut(row){
|
||||||
const recordIds = row.recordId || this.ids;
|
const recordIds = row.recordId || this.ids;
|
||||||
if (recordIds == "" || recordIds == undefined || recordIds.length == 0) {
|
if (recordIds == "" || recordIds == undefined || recordIds.length == 0) {
|
||||||
|
|
|
||||||
|
|
@ -44,13 +44,13 @@
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
plain
|
plain
|
||||||
icon="el-icon-plus"
|
icon="el-icon-user-solid"
|
||||||
size="mini"
|
size="mini"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-hasPermi="['app:wave:add']"
|
v-hasPermi="['app:wave:add']"
|
||||||
>新增</el-button>
|
>执行出库</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<!-- <el-col :span="1.5">
|
||||||
<el-button
|
<el-button
|
||||||
type="success"
|
type="success"
|
||||||
plain
|
plain
|
||||||
|
|
@ -71,7 +71,7 @@
|
||||||
@click="handleDelete"
|
@click="handleDelete"
|
||||||
v-hasPermi="['app:wave:remove']"
|
v-hasPermi="['app:wave:remove']"
|
||||||
>删除</el-button>
|
>删除</el-button>
|
||||||
</el-col>
|
</el-col> -->
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button
|
||||||
type="warning"
|
type="warning"
|
||||||
|
|
@ -88,12 +88,29 @@
|
||||||
<el-table v-loading="loading" :data="waveList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="waveList" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
<el-table-column label="波次单号" align="center" prop="waveId" />
|
<el-table-column label="波次单号" align="center" prop="waveId" />
|
||||||
<el-table-column label="出库规则" align="center" prop="outRule" />
|
<el-table-column label="出库规则" align="center" prop="outRule" >
|
||||||
<el-table-column label="是否插队" align="center" prop="isChad" />
|
<template slot-scope="scope">
|
||||||
<el-table-column label="状态" align="center" prop="waveStatus" />
|
<dict-tag :options="dict.type.out_rule" :value="scope.row.outRule"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="是否插队" align="center" prop="isChad" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag :options="dict.type.cut_in_line" :value="scope.row.isChad"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="状态" align="center" prop="waveStatus" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag :options="dict.type.out_order_status" :value="scope.row.waveStatus"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column label="订单WBS" align="center" prop="orderWbs" />
|
<el-table-column label="订单WBS" align="center" prop="orderWbs" />
|
||||||
<el-table-column label="备注" align="center" prop="remark" />
|
<el-table-column label="备注" align="center" prop="remark" />
|
||||||
<el-table-column label="出库口" align="center" prop="waveDestination" />
|
<el-table-column label="出库口" align="center" prop="waveDestination" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag :options="dict.type.wave_destination" :value="scope.row.waveDestination"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
|
|
@ -154,6 +171,7 @@ import { listWave, getWave, delWave, addWave, updateWave } from "@/api/system/wa
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "Wave",
|
name: "Wave",
|
||||||
|
dicts: ["wave_destination", "out_rule", "out_order_status","cut_in_line"],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 遮罩层
|
// 遮罩层
|
||||||
|
|
|
||||||
207
src/views/system/waveConstitute/index.vue
Normal file
207
src/views/system/waveConstitute/index.vue
Normal file
|
|
@ -0,0 +1,207 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
|
<el-form-item label="波次号" prop="orderWave">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.orderWave"
|
||||||
|
placeholder="请输入波次号"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="物料号" prop="goodsId">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.goodsId"
|
||||||
|
placeholder="请输入物料号"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<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>
|
||||||
|
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="warning"
|
||||||
|
plain
|
||||||
|
icon="el-icon-download"
|
||||||
|
size="mini"
|
||||||
|
@click="handleExport"
|
||||||
|
v-hasPermi="['system:waveConstitute:export']"
|
||||||
|
>导出</el-button>
|
||||||
|
</el-col>
|
||||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-table v-loading="loading" :data="waveConstituteList" @selection-change="handleSelectionChange">
|
||||||
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
|
<el-table-column label="波次号" align="center" prop="orderWave" />
|
||||||
|
<!--<el-table-column label="记录号" align="center" prop="recordId" />-->
|
||||||
|
<el-table-column label="wms订单号" align="center" prop="orderId" />
|
||||||
|
<el-table-column label="物料编码" align="center" prop="goodsId" />
|
||||||
|
<el-table-column label="出库单号" align="center" prop="listId" />
|
||||||
|
<el-table-column label="出库单类型" align="center" prop="orderType" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag :options="dict.type.out_order_type" :value="scope.row.orderType"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="客户名称" align="center" prop="customerId" />
|
||||||
|
<el-table-column label="订单出库数量" align="center" prop="goodsNum" />
|
||||||
|
<el-table-column label="总出库数量" align="center" prop="pickNum" />
|
||||||
|
<el-table-column label="确认出库数量" align="center" prop="trNum" />
|
||||||
|
<el-table-column label="确认出库数量" align="center" prop="shelvesNum" />
|
||||||
|
<el-table-column label="库存数量" align="center" prop="stockNum" />
|
||||||
|
<el-table-column label="物料描述" align="center" prop="goodsDesc" />
|
||||||
|
<el-table-column label="订单状态" align="center" prop="orderStatus" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag :options="dict.type.out_order_status" :value="scope.row.orderStatus"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="是否锁定" align="center" prop="isLock" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag :options="dict.type.stock_or_order_status" :value="scope.row.isLock"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!--<el-table-column label="0:未生成 1:生成波次" align="center" prop="generateWave" />-->
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<pagination
|
||||||
|
v-show="total>0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="queryParams.pageNum"
|
||||||
|
:limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { listWaveConstitute} from "@/api/system/waveConstitute";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "WaveConstitute",
|
||||||
|
dicts: ["out_order_type", "out_order_status","stock_or_order_status"],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 遮罩层
|
||||||
|
loading: true,
|
||||||
|
// 选中数组
|
||||||
|
ids: [],
|
||||||
|
// 非单个禁用
|
||||||
|
single: true,
|
||||||
|
// 非多个禁用
|
||||||
|
multiple: true,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
// 波次构成表格数据
|
||||||
|
waveConstituteList: [],
|
||||||
|
// 弹出层标题
|
||||||
|
title: "",
|
||||||
|
// 是否显示弹出层
|
||||||
|
open: false,
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
generateWave: 1,
|
||||||
|
goodsId: null,
|
||||||
|
orderWave: null
|
||||||
|
},
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
// 表单校验
|
||||||
|
rules: {
|
||||||
|
listId: [
|
||||||
|
{ required: true, message: "出库单号不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
orderType: [
|
||||||
|
{ required: true, message: "出库单类型不能为空", trigger: "change" }
|
||||||
|
],
|
||||||
|
goodsId: [
|
||||||
|
{ required: true, message: "物料号不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
goodsNum: [
|
||||||
|
{ required: true, message: "订单出库数量不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
goodsDesc: [
|
||||||
|
{ required: true, message: "物料描述不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 查询波次构成列表 */
|
||||||
|
getList() {
|
||||||
|
this.loading = true;
|
||||||
|
listWaveConstitute(this.queryParams).then(response => {
|
||||||
|
this.waveConstituteList = response.rows;
|
||||||
|
this.total = response.total;
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 取消按钮
|
||||||
|
cancel() {
|
||||||
|
this.open = false;
|
||||||
|
this.reset();
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {
|
||||||
|
recordId: null,
|
||||||
|
orderId: null,
|
||||||
|
listId: null,
|
||||||
|
orderType: null,
|
||||||
|
customerId: null,
|
||||||
|
goodsId: null,
|
||||||
|
goodsNum: null,
|
||||||
|
pickNum: null,
|
||||||
|
trNum: null,
|
||||||
|
shelvesNum: null,
|
||||||
|
stockNum: null,
|
||||||
|
goodsDesc: null,
|
||||||
|
spare1: null,
|
||||||
|
spare2: null,
|
||||||
|
orderStatus: null,
|
||||||
|
isLock: null,
|
||||||
|
createTime: null,
|
||||||
|
createBy: null,
|
||||||
|
updateTime: null,
|
||||||
|
generateWave: 1,
|
||||||
|
orderWave: null
|
||||||
|
};
|
||||||
|
this.resetForm("form");
|
||||||
|
},
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
handleQuery() {
|
||||||
|
this.queryParams.pageNum = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
resetQuery() {
|
||||||
|
this.resetForm("queryForm");
|
||||||
|
this.handleQuery();
|
||||||
|
},
|
||||||
|
// 多选框选中数据
|
||||||
|
handleSelectionChange(selection) {
|
||||||
|
this.ids = selection.map(item => item.recordId)
|
||||||
|
this.single = selection.length!==1
|
||||||
|
this.multiple = !selection.length
|
||||||
|
},
|
||||||
|
/** 导出按钮操作 */
|
||||||
|
handleExport() {
|
||||||
|
this.download('system/waveConstitute/export', {
|
||||||
|
...this.queryParams
|
||||||
|
}, `waveConstitute_${new Date().getTime()}.xlsx`)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
Loading…
Reference in New Issue
Block a user