2 changed files with 359 additions and 0 deletions
@ -0,0 +1,13 @@ |
|||
import { createAPI } from "@/utils/httpRequest.js"; |
|||
|
|||
// ========== 立库内空托盘类型修改 ========== - rqrq
|
|||
|
|||
// 查询立库内空托盘列表 - rqrq
|
|||
export const getEmptyPalletList = data => createAPI('/wcsSystem/emptyPalletType/list', 'post', data) |
|||
|
|||
// 根据pallet_family获取可选的托盘类型列表 - rqrq
|
|||
export const getPalletTypesByFamily = data => createAPI('/wcsSystem/emptyPalletType/getPalletTypes', 'post', data) |
|||
|
|||
// 修改托盘类型 - rqrq
|
|||
export const updatePalletType = data => createAPI('/wcsSystem/emptyPalletType/updateType', 'post', data) |
|||
|
|||
@ -0,0 +1,346 @@ |
|||
<template> |
|||
<div class="mod-config"> |
|||
<!-- 查询表单 - rqrq --> |
|||
<el-form :inline="true" label-position="top" style="margin-top: 1px; margin-left: 0px;"> |
|||
<el-form-item label="托盘ID"> |
|||
<el-input v-model="queryData.palletId" style="width: 120px" placeholder="托盘ID" clearable @keyup.enter.native="getDataList()"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="托盘类型"> |
|||
<el-input v-model="queryData.palletType" style="width: 120px" placeholder="托盘类型" clearable @keyup.enter.native="getDataList()"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="托盘大分类"> |
|||
<el-select v-model="queryData.palletFamily" style="width: 120px" placeholder="请选择" clearable> |
|||
<el-option label="全部" value=""></el-option> |
|||
<el-option label="钢托盘(A01)" value="A01"></el-option> |
|||
<el-option label="围托盘(A02)" value="A02"></el-option> |
|||
<el-option label="平托盘(A03)" value="A03"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
|
|||
<el-form-item label=" "> |
|||
<el-button type="primary" @click="getDataList()">查询</el-button> |
|||
<el-button @click="resetQuery()">重置</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
|
|||
<!-- 数据表格 - rqrq --> |
|||
<el-table |
|||
:data="dataList" |
|||
:height="height" |
|||
border |
|||
highlight-current-row |
|||
v-loading="dataListLoading" |
|||
style="width: 100%;"> |
|||
<el-table-column |
|||
prop="palletId" |
|||
header-align="center" |
|||
align="center" |
|||
label="托盘ID" |
|||
min-width="120"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="palletType" |
|||
header-align="center" |
|||
align="center" |
|||
label="托盘类型" |
|||
min-width="100"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="typeDesc" |
|||
header-align="center" |
|||
align="center" |
|||
label="类型描述" |
|||
min-width="120"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="palletFamilyDesc" |
|||
header-align="center" |
|||
align="center" |
|||
label="托盘大分类" |
|||
min-width="100"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="callingFlag" |
|||
header-align="center" |
|||
align="center" |
|||
label="是否被调用" |
|||
min-width="100"> |
|||
<template slot-scope="scope"> |
|||
<el-tag |
|||
:type="scope.row.callingFlag === 'Y' ? 'warning' : 'success'" |
|||
size="small"> |
|||
{{ scope.row.callingFlag === 'Y' ? '是' : '否' }} |
|||
</el-tag> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="locationCode" |
|||
header-align="center" |
|||
align="center" |
|||
label="所在站点" |
|||
min-width="120"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="wcsLocation" |
|||
header-align="center" |
|||
align="center" |
|||
label="WCS库位" |
|||
min-width="120"> |
|||
</el-table-column> |
|||
|
|||
<!-- 操作列 - rqrq --> |
|||
<el-table-column |
|||
header-align="center" |
|||
align="center" |
|||
fixed="right" |
|||
width="100" |
|||
label="操作"> |
|||
<template slot-scope="scope"> |
|||
<a type="text" @click="openEditDialog(scope.row)">修改类型</a> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
|
|||
<!-- 分页 - rqrq --> |
|||
<el-pagination |
|||
@size-change="sizeChangeHandle" |
|||
@current-change="currentChangeHandle" |
|||
:current-page="pageIndex" |
|||
:page-sizes="[20, 50, 100, 1000]" |
|||
:page-size="pageSize" |
|||
:total="totalPage" |
|||
layout="total, sizes, prev, pager, next, jumper"> |
|||
</el-pagination> |
|||
|
|||
<!-- 修改类型弹窗 - rqrq --> |
|||
<el-dialog |
|||
title="修改托盘类型" |
|||
:visible.sync="editDialogVisible" |
|||
:close-on-click-modal="false" |
|||
v-drag |
|||
width="500px"> |
|||
<el-form :model="editForm" label-position="top" style="margin-top: 1px; margin-left: 0px;"> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="12"> |
|||
<el-form-item label="托盘ID"> |
|||
<el-input v-model="editForm.palletId" disabled></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<el-form-item label="当前类型"> |
|||
<el-input v-model="editForm.currentTypeDesc" disabled></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="24"> |
|||
<el-form-item label="新托盘类型"> |
|||
<el-select |
|||
v-model="editForm.newPalletType" |
|||
placeholder="请选择托盘类型" |
|||
style="width: 100%" |
|||
v-loading="typeOptionsLoading"> |
|||
<el-option |
|||
v-for="item in palletTypeOptions" |
|||
:key="item.palletType" |
|||
:label="item.palletType + ' - ' + item.typeDesc" |
|||
:value="item.palletType"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button type="primary" @click="saveEdit" :disabled="saveLoading"> |
|||
{{ saveLoading ? '保存中...' : '确定' }} |
|||
</el-button> |
|||
<el-button @click="editDialogVisible = false" :disabled="saveLoading">取消</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
getEmptyPalletList, |
|||
getPalletTypesByFamily, |
|||
updatePalletType |
|||
} from '@/api/wcsSystem/emptyPalletType.js' |
|||
|
|||
export default { |
|||
data() { |
|||
return { |
|||
// 查询条件 - rqrq |
|||
queryData: { |
|||
site: this.$store.state.user.site, |
|||
palletId: '', |
|||
palletType: '', |
|||
palletFamily: '', |
|||
page: 1, |
|||
limit: 20 |
|||
}, |
|||
// 表格高度 - rqrq |
|||
height: 450, |
|||
// 数据列表 - rqrq |
|||
dataList: [], |
|||
// 分页参数 - rqrq |
|||
pageIndex: 1, |
|||
pageSize: 20, |
|||
totalPage: 0, |
|||
dataListLoading: false, |
|||
// 修改弹窗相关 - rqrq |
|||
editDialogVisible: false, |
|||
saveLoading: false, |
|||
typeOptionsLoading: false, |
|||
editForm: { |
|||
palletId: '', |
|||
palletFamily: '', |
|||
currentType: '', |
|||
currentTypeDesc: '', |
|||
newPalletType: '' |
|||
}, |
|||
palletTypeOptions: [] |
|||
} |
|||
}, |
|||
mounted() { |
|||
this.$nextTick(() => { |
|||
// 计算表格高度 - rqrq |
|||
this.height = window.innerHeight - 220; |
|||
}) |
|||
}, |
|||
activated() { |
|||
this.getDataList() |
|||
}, |
|||
methods: { |
|||
// 获取数据列表 - rqrq |
|||
getDataList() { |
|||
this.dataListLoading = true |
|||
this.queryData.page = this.pageIndex |
|||
this.queryData.limit = this.pageSize |
|||
|
|||
getEmptyPalletList(this.queryData).then(({data}) => { |
|||
this.dataListLoading = false |
|||
if (data && data.code === 0) { |
|||
this.dataList = data.page.list || [] |
|||
this.totalPage = data.page.totalCount || 0 |
|||
} else { |
|||
this.dataList = [] |
|||
this.totalPage = 0 |
|||
this.$message.error(data.msg || '查询失败') |
|||
} |
|||
}).catch(error => { |
|||
this.dataListLoading = false |
|||
console.error('查询空托盘列表失败:', error) |
|||
this.$message.error('查询失败') |
|||
}) |
|||
}, |
|||
|
|||
// 重置查询条件 - rqrq |
|||
resetQuery() { |
|||
this.queryData = { |
|||
site: this.$store.state.user.site, |
|||
palletId: '', |
|||
palletType: '', |
|||
palletFamily: '', |
|||
page: 1, |
|||
limit: 20 |
|||
} |
|||
this.pageIndex = 1 |
|||
this.getDataList() |
|||
}, |
|||
|
|||
// 每页数量变化 - rqrq |
|||
sizeChangeHandle(val) { |
|||
this.pageSize = val |
|||
this.pageIndex = 1 |
|||
this.getDataList() |
|||
}, |
|||
|
|||
// 当前页变化 - rqrq |
|||
currentChangeHandle(val) { |
|||
this.pageIndex = val |
|||
this.getDataList() |
|||
}, |
|||
|
|||
// 打开修改弹窗 - rqrq |
|||
openEditDialog(row) { |
|||
this.editForm = { |
|||
palletId: row.palletId, |
|||
palletFamily: row.palletFamily, |
|||
currentType: row.palletType, |
|||
currentTypeDesc: row.palletType + ' - ' + (row.typeDesc || ''), |
|||
newPalletType: row.palletType |
|||
} |
|||
this.palletTypeOptions = [] |
|||
this.editDialogVisible = true |
|||
this.loadPalletTypeOptions(row.palletFamily) |
|||
}, |
|||
|
|||
// 加载托盘类型选项 - rqrq |
|||
loadPalletTypeOptions(palletFamily) { |
|||
this.typeOptionsLoading = true |
|||
|
|||
getPalletTypesByFamily({ |
|||
site: this.$store.state.user.site, |
|||
palletFamily: palletFamily |
|||
}).then(({data}) => { |
|||
if (data && data.code === 0) { |
|||
this.palletTypeOptions = data.rows || [] |
|||
} else { |
|||
this.palletTypeOptions = [] |
|||
this.$message.error(data.msg || '获取托盘类型失败') |
|||
} |
|||
}).catch(error => { |
|||
console.error('获取托盘类型失败:', error) |
|||
this.palletTypeOptions = [] |
|||
this.$message.error('获取托盘类型失败') |
|||
}).finally(() => { |
|||
this.typeOptionsLoading = false |
|||
}) |
|||
}, |
|||
|
|||
// 保存修改 - rqrq |
|||
saveEdit() { |
|||
if (!this.editForm.newPalletType) { |
|||
this.$message.warning('请选择新的托盘类型') |
|||
return |
|||
} |
|||
|
|||
if (this.editForm.newPalletType === this.editForm.currentType) { |
|||
this.$message.warning('新类型与当前类型相同,无需修改') |
|||
return |
|||
} |
|||
|
|||
this.saveLoading = true |
|||
|
|||
updatePalletType({ |
|||
site: this.$store.state.user.site, |
|||
palletId: this.editForm.palletId, |
|||
palletType: this.editForm.newPalletType |
|||
}).then(({data}) => { |
|||
if (data && data.code === 0) { |
|||
this.$message.success('修改成功') |
|||
this.editDialogVisible = false |
|||
this.getDataList() |
|||
} else { |
|||
this.$alert(data.msg || '修改失败', '错误') |
|||
} |
|||
}).catch(error => { |
|||
console.error('修改托盘类型失败:', error) |
|||
this.$message.error('修改失败') |
|||
}).finally(() => { |
|||
this.saveLoading = false |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
/* 表格样式优化 - rqrq */ |
|||
.mod-config { |
|||
padding: 10px; |
|||
} |
|||
</style> |
|||
|
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue