parent
023e6c0ca5
commit
2d6b0097a8
16 changed files with 1881 additions and 850 deletions
@ -0,0 +1,513 @@ |
||||
<template> |
||||
<basic-container> |
||||
<!-- 领料出库 --> |
||||
<avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" v-model:page="page" ref="crud" |
||||
@search-change="searchChange" @search-reset="searchReset" :before-open="beforeOpen" |
||||
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange" |
||||
@refresh-change="refreshChange" @on-load="onLoad" @row-save="rowSave"> |
||||
<template #menu-left> |
||||
<el-button type="primary" @click="addFn">新增出库</el-button> |
||||
<el-button type="primary" @click="handleOut">批量打印</el-button> |
||||
<el-button type="primary" @click="outboundFn">批量出库</el-button> |
||||
<el-button type="primary" @click="closeOrder" plain>批量关闭</el-button> |
||||
</template> |
||||
<template #menu="scope"> |
||||
<el-button type="text" @click="detailsFn(scope.row)">详情 </el-button> |
||||
<el-button type="text" @click="editFn(scope.row)" v-if="scope.row.status == '1'">打印 |
||||
</el-button> |
||||
<el-button type="text" @click="ouboundFn(scope.row)" v-if="scope.row.status == '1'">出库 |
||||
</el-button> |
||||
<el-button type="text" @click="handleEdit(scope.row)" v-if="scope.row.status == '1'">修改 |
||||
</el-button> |
||||
<el-button type="text" @click="handleDelete(scope.row)" v-if="scope.row.status == '1'">删除 |
||||
</el-button> |
||||
<el-button type="text" @click="handleScrap(scope.row)" v-if="scope.row.status == '2'">报废 |
||||
</el-button> |
||||
</template> |
||||
</avue-crud> |
||||
<addOut v-if="isAddOpen" :showDialog="isAddOpen" @closeDialog="closeDialog"> </addOut> |
||||
<detailsDialog v-if="isDetailsOpen" :showDialog="isDetailsOpen" @closeDialog="closeDialog" :rowItem="rowItem"> |
||||
</detailsDialog> |
||||
<outboundDialog v-if="isOutboundOpen" :showDialog="isOutboundOpen" :rowItem="rowItem" @closeDialog="closeDialog" @confirmOutbound="confirmOutbound"></outboundDialog> |
||||
</basic-container> |
||||
</template> |
||||
<script> |
||||
import addOut from "./components/addDialog.vue"; |
||||
import detailsDialog from "./components/detailsDialog.vue"; |
||||
import outboundDialog from "./components/outboundDialog.vue"; |
||||
export default { |
||||
components: { |
||||
addOut, |
||||
detailsDialog, |
||||
outboundDialog, |
||||
}, |
||||
data() { |
||||
return { |
||||
loading: false, |
||||
data: [], |
||||
form: {}, |
||||
page: { |
||||
pageSize: 10, |
||||
currentPage: 1, |
||||
total: 0, |
||||
}, |
||||
selectionList: [], |
||||
option: { |
||||
columnSort: true, |
||||
tip: false, |
||||
height: "auto", |
||||
align: "center", |
||||
calcHeight: 32, |
||||
simplePage: false, |
||||
searchShow: true, |
||||
searchMenuSpan: 6, |
||||
searchIcon: true, |
||||
searchIndex: 3, |
||||
tree: false, |
||||
border: true, |
||||
index: false, |
||||
selection: true, |
||||
viewBtn: false, |
||||
delBtn: false, |
||||
editBtn: false, |
||||
editBtnText: "修改", |
||||
editBtnIcon: " ", |
||||
delBtnIcon: " ", |
||||
addBtn: false, |
||||
labelWidth: 140, |
||||
searchLabelWidth: 120, |
||||
menu: true, |
||||
menuWidth: 300, |
||||
menuBtn: true, |
||||
menuBtnIcon: 'el-icon-menu', |
||||
menuBtnTitle: '操作', |
||||
menuList: [ |
||||
{ label: '详情', value: 'details' }, |
||||
{ label: '打印', value: 'print', display: (row) => row.status == '1' }, |
||||
{ label: '出库', value: 'outbound', display: (row) => row.status == '1' }, |
||||
{ label: '修改', value: 'edit', display: (row) => row.status == '1' }, |
||||
{ label: '删除', value: 'delete', display: (row) => row.status == '1' }, |
||||
{ label: '报废', value: 'scrap', display: (row) => row.status == '2' } |
||||
], |
||||
dialogWidth: 1200, |
||||
dialogClickModal: false, |
||||
searchEnter: true, |
||||
excelBtn: true, |
||||
gridBtn: false, |
||||
searchShowBtn: false, |
||||
showOverflowTooltip: true, |
||||
searchLabelPosition: "left", |
||||
searchLabelPosition: "left", |
||||
searchGutter: 24, |
||||
searchSpan: 6, |
||||
menuAlign: "left", |
||||
gridBtn: false, |
||||
searchMenuPosition: "right", |
||||
addBtnIcon: " ", |
||||
viewBtnIcon: " ", |
||||
delBtnIcon: " ", |
||||
editBtnIcon: " ", |
||||
|
||||
column: [ |
||||
{ |
||||
label: "出库单号", |
||||
prop: "brCode", |
||||
search: false, |
||||
width: 120, |
||||
searchLabelWidth: 75, |
||||
}, |
||||
{ |
||||
label: "车间订单号", |
||||
prop: "woCode", |
||||
search: true, |
||||
width: 120, |
||||
searchLabelWidth: 100, |
||||
}, |
||||
{ |
||||
label: "零件号", |
||||
prop: "partCode", |
||||
search: true, |
||||
width: 120, |
||||
searchLabelWidth: 70, |
||||
}, |
||||
{ |
||||
label: "零件名称", |
||||
prop: "partName", |
||||
search: false, |
||||
width: 120, |
||||
}, |
||||
{ |
||||
label: "批次号", |
||||
prop: "batchNo", |
||||
search: false, |
||||
width: 120, |
||||
}, |
||||
{ |
||||
label: "流程卡号", |
||||
prop: "processCardNo", |
||||
search: true, |
||||
width: 120, |
||||
}, |
||||
{ |
||||
label: "生产数量", |
||||
prop: "okNum", |
||||
search: false, |
||||
width: 120, |
||||
}, |
||||
|
||||
{ |
||||
label: "物料编号", |
||||
prop: "c_materiel_id", |
||||
search: true, |
||||
width: 120, |
||||
}, |
||||
{ |
||||
label: "物料名称", |
||||
prop: "partNames", |
||||
search: false, |
||||
width: 120, |
||||
}, |
||||
{ |
||||
label: "物料需求数量", |
||||
prop: "xuqiushuliang", |
||||
search: false, |
||||
width: 120, |
||||
}, |
||||
{ |
||||
label: "库房", |
||||
prop: "bsStoreRoomSet", |
||||
search: false, |
||||
width: 120, |
||||
}, |
||||
{ |
||||
label: "库位", |
||||
prop: "goodsKuwei", |
||||
search: false, |
||||
width: 120, |
||||
}, |
||||
{ |
||||
label: "是否印字", |
||||
prop: "isPrint", |
||||
search: false, |
||||
width: 120, |
||||
type: "select", |
||||
dicData: [ |
||||
{ |
||||
label: "是", |
||||
value: "1" |
||||
}, |
||||
{ |
||||
label: "否", |
||||
value: "0" |
||||
} |
||||
] |
||||
}, |
||||
{ |
||||
label: "粉重", |
||||
prop: "powderWeight", |
||||
search: false, |
||||
width: 120, |
||||
}, |
||||
{ |
||||
label: "材料号", |
||||
prop: "materialCode", |
||||
search: false, |
||||
width: 120, |
||||
}, |
||||
{ |
||||
label: "成型厚度", |
||||
prop: "chengxinghoudu", |
||||
search: false, |
||||
width: 120, |
||||
}, |
||||
{ |
||||
label: "炉批号", |
||||
prop: "luPiHao", |
||||
search: false, |
||||
width: 120, |
||||
}, |
||||
{ |
||||
label: "物料出库数量", |
||||
prop: "chukushuliang", |
||||
search: false, |
||||
width: 120, |
||||
}, |
||||
// { |
||||
// label: "物料批次号", |
||||
// prop: "goodbatchNo", |
||||
// search: false, |
||||
// width: 120, |
||||
// }, |
||||
|
||||
{ |
||||
label: "状态", |
||||
prop: "status", |
||||
search: true, |
||||
width: 120, |
||||
searchLabelWidth: 60, |
||||
type: "select", |
||||
dicData: [ |
||||
{ |
||||
label: "待出库", |
||||
value: "1", |
||||
}, |
||||
{ |
||||
label: "已出库", |
||||
value: "2", |
||||
}, |
||||
{ |
||||
label: "已报废", |
||||
value: "3", |
||||
}, |
||||
{ |
||||
label: "订单完成", |
||||
value: "4", |
||||
}, |
||||
], |
||||
}, |
||||
{ |
||||
label: "预计领料日期", |
||||
prop: "goodsCode", |
||||
search: true, |
||||
width: 120, |
||||
searchLabelWidth: 100, |
||||
hide: true, |
||||
type: "date", |
||||
searchRange: true, |
||||
startPlaceholder: "开始时间", |
||||
endPlaceholder: "结束时间", |
||||
}, |
||||
{ |
||||
label: "预计使用时间", |
||||
prop: "times", |
||||
search: false, |
||||
width: 120, |
||||
}, |
||||
{ |
||||
label: "创建时间", |
||||
prop: "createTime", |
||||
search: false, |
||||
width: 120, |
||||
type: "datetime", |
||||
}, |
||||
{ |
||||
label: "创建人", |
||||
prop: "createUserName", |
||||
search: false, |
||||
width: 120, |
||||
}, |
||||
{ |
||||
label: "出库时间", |
||||
prop: "outboundTime", |
||||
search: false, |
||||
width: 120, |
||||
type: "datetime", |
||||
}, |
||||
{ |
||||
label: "出库人", |
||||
prop: "outboundUserName", |
||||
search: false, |
||||
width: 120, |
||||
}, |
||||
], |
||||
}, |
||||
isAddOpen: false, |
||||
isDetailsOpen: false, |
||||
isOutboundOpen: false, |
||||
rowItem: {}, |
||||
}; |
||||
}, |
||||
mounted() { }, |
||||
methods: { |
||||
addFn() { |
||||
this.isAddOpen = true; |
||||
}, |
||||
detailsFn(row) { |
||||
this.isDetailsOpen = true; |
||||
this.rowItem = row; |
||||
}, |
||||
outboundFn() { |
||||
this.isOutboundOpen = true; |
||||
}, |
||||
closeDialog() { |
||||
this.isAddOpen = false; |
||||
this.isDetailsOpen = false; |
||||
this.isOutboundOpen = false; |
||||
}, |
||||
// 多选 |
||||
selectionChange(list) { |
||||
this.selectionList = list; |
||||
}, |
||||
// 批量出库 |
||||
handleOut() { |
||||
// this.$confirm('确定将选择数据删除?', { |
||||
// confirmButtonText: '确定', |
||||
// cancelButtonText: '取消', |
||||
// type: 'warning', |
||||
// }) |
||||
// .then(() => { |
||||
// return remove(row.id); |
||||
// }) |
||||
// .then(() => { |
||||
// this.onLoad(this.page); |
||||
// this.$message({ |
||||
// type: 'success', |
||||
// message: '操作成功!', |
||||
// }); |
||||
// }); |
||||
}, |
||||
closeOrder() { |
||||
this.$confirm("确定是否关闭订单?", { |
||||
confirmButtonText: "确定", |
||||
cancelButtonText: "取消", |
||||
type: "warning", |
||||
}) |
||||
.then(() => { |
||||
// return remove(row.id); |
||||
}) |
||||
.then(() => { |
||||
// this.onLoad(this.page); |
||||
// this.$message({ |
||||
// type: 'success', |
||||
// message: '操作成功!', |
||||
// }); |
||||
}); |
||||
}, |
||||
// 出库 |
||||
ouboundFn(row) { |
||||
// 打开出库对话框,传入当前行数据 |
||||
this.isOutboundOpen = true; |
||||
// 保存当前行数据,确保实际出库玻璃饼型号和实际库位字段可以编辑 |
||||
this.rowItem = { |
||||
...row, |
||||
actualPartCode: row.actualPartCode || 'A', |
||||
actualKuwei: row.actualKuwei || '库位一' |
||||
}; |
||||
}, |
||||
// 修改 |
||||
handleEdit(row) { |
||||
this.isAddOpen = true; |
||||
}, |
||||
|
||||
// 删除 |
||||
handleDelete(row) { |
||||
this.$confirm('确定将选择数据删除?', { |
||||
confirmButtonText: '确定', |
||||
cancelButtonText: '取消', |
||||
type: 'warning' |
||||
}) |
||||
}, |
||||
// 报废 |
||||
handleScrap(row) { |
||||
this.$confirm('确定将此记录标记为报废?', { |
||||
confirmButtonText: '确定', |
||||
cancelButtonText: '取消', |
||||
type: 'warning' |
||||
}).then(() => { |
||||
|
||||
const index = this.data.findIndex(item => item.brCode === row.brCode); |
||||
if (index !== -1) { |
||||
this.data[index].status = 3; |
||||
this.data[index].statusName = "已报废"; |
||||
this.$message.success('标记报废成功'); |
||||
} |
||||
}).catch(() => { }); |
||||
}, |
||||
onLoad() { |
||||
this.data = [ |
||||
{ |
||||
brCode: "aaaa", |
||||
woCode: "WO-090899899", |
||||
partCode: "E6-78787-E1", |
||||
partName: "零件一", |
||||
batchNo: "9098900", |
||||
okNum: "88", |
||||
c_materiel_id: "89", |
||||
partNames: "8989", |
||||
xuqiushuliang: 99, |
||||
chukushuliang: 67, |
||||
goodbatchNo: "898989", |
||||
bsStoreRoomSet: "仓库一", |
||||
goodsKuwei: "库位一", |
||||
status: 1, |
||||
statusName: "待出库", |
||||
times: "2025-09-08", |
||||
}, |
||||
{ |
||||
brCode: "aaaa", |
||||
woCode: "WO-090899899", |
||||
partCode: "E6-78787-E1", |
||||
partName: "零件一", |
||||
batchNo: "9098900", |
||||
okNum: "88", |
||||
c_materiel_id: "89", |
||||
partNames: "8989", |
||||
xuqiushuliang: 99, |
||||
chukushuliang: 67, |
||||
goodbatchNo: "898989", |
||||
bsStoreRoomSet: "仓库一", |
||||
goodsKuwei: "库位一", |
||||
status: 2, |
||||
statusName: "已出库", |
||||
times: "2025-09-08", |
||||
}, |
||||
{ |
||||
brCode: "aaaa", |
||||
woCode: "WO-090899899", |
||||
partCode: "E6-78787-E1", |
||||
partName: "零件一", |
||||
batchNo: "9098900", |
||||
okNum: "88", |
||||
c_materiel_id: "89", |
||||
partNames: "8989", |
||||
xuqiushuliang: 99, |
||||
chukushuliang: 67, |
||||
goodbatchNo: "898989", |
||||
bsStoreRoomSet: "仓库一", |
||||
goodsKuwei: "库位一", |
||||
status: 1, |
||||
statusName: "", |
||||
times: "2025-09-08", |
||||
}, |
||||
{ |
||||
brCode: "aaaa", |
||||
woCode: "WO-090899899", |
||||
partCode: "E6-78787-E1", |
||||
partName: "零件一", |
||||
batchNo: "9098900", |
||||
okNum: "88", |
||||
c_materiel_id: "89", |
||||
partNames: "8989", |
||||
xuqiushuliang: 99, |
||||
chukushuliang: 67, |
||||
goodbatchNo: "898989", |
||||
bsStoreRoomSet: "仓库一", |
||||
goodsKuwei: "库位一", |
||||
status: 4, |
||||
statusName: "订单完成", |
||||
times: "2025-09-08", |
||||
}, |
||||
{ |
||||
brCode: "aaaa", |
||||
woCode: "WO-090899899", |
||||
partCode: "E6-78787-E1", |
||||
partName: "零件一", |
||||
batchNo: "9098900", |
||||
okNum: "88", |
||||
c_materiel_id: "89", |
||||
partNames: "8989", |
||||
xuqiushuliang: 99, |
||||
chukushuliang: 67, |
||||
goodbatchNo: "898989", |
||||
bsStoreRoomSet: "仓库一", |
||||
goodsKuwei: "库位一", |
||||
status: 1, |
||||
statusName: "待出库", |
||||
times: "2025-09-08", |
||||
}, |
||||
]; |
||||
this.page.total = this.data.length; |
||||
}, |
||||
}, |
||||
}; |
||||
</script> |
||||
Loading…
Reference in new issue