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