You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

675 lines
21 KiB

<template>
<div class="mod-config yzz">
<!-- 查询条件 - rqrq -->
<el-form label-position="top" style="margin-top: 1px; margin-left: 0px;">
<el-form :inline="true" label-position="top" style="margin-top: 0px">
<el-form-item label="工厂">
<el-input v-model="searchData.site" style="width: 100px" disabled></el-input>
</el-form-item>
<el-form-item label="领料单号">
<el-input v-model="searchData.notifyNo" style="width: 140px" clearable></el-input>
</el-form-item>
<el-form-item label="订单号">
<el-input v-model="searchData.soorderNo" style="width: 140px" clearable></el-input>
</el-form-item>
<el-form-item label="订单类型">
<el-select v-model="searchData.orderType" placeholder="请选择" style="width: 120px">
<el-option label="全部" value=""></el-option>
<el-option label="shoporder" value="shoporder"></el-option>
<el-option label="shipment" value="shipment"></el-option>
<el-option label="slittingorder" value="slittingorder"></el-option>
</el-select>
</el-form-item>
<el-form-item label="推送WCS">
<el-select v-model="searchData.pushWmsFlag" placeholder="请选择" style="width: 100px">
<el-option label="全部" value=""></el-option>
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
</el-select>
</el-form-item>
<el-form-item label="立库取出">
<el-select v-model="searchData.transportFlag" placeholder="请选择" style="width: 100px">
<el-option label="全部" value=""></el-option>
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="' '">
<el-button type="primary" @click="searchTable()">查询</el-button>
</el-form-item>
</el-form>
</el-form>
<!-- 主表 - 申请单订单列表 - rqrq -->
<el-table
:data="dataList"
@row-click="changeData"
:height="height"
border
highlight-current-row
ref="mainTable"
v-loading="dataListLoading"
style="width: 100%;">
<el-table-column
v-for="(item,index) in columnList1"
:key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed==''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<!-- 推送WCS特殊显示 - rqrq -->
<span v-if="item.columnProp === 'pushWmsFlag'" :style="{color: scope.row.pushWmsFlag === 'Y' ? '#67C23A' : '#909399'}">
{{ scope.row.pushWmsFlag === 'Y' ? '是' : '否' }}
</span>
<!-- 立库取出特殊显示 - rqrq -->
<span v-else-if="item.columnProp === 'transportFlag'" :style="{color: scope.row.transportFlag === 'Y' ? '#67C23A' : '#909399'}">
{{ scope.row.transportFlag === 'Y' ? '是' : '否' }}
</span>
<!-- 订单类型特殊显示(中文)- rqrq -->
<span v-else-if="item.columnProp === 'orderType'" :style="{color: getOrderTypeColor(scope.row.orderType), fontWeight: 'bold'}">
{{ getOrderTypeText(scope.row.orderType) }}
</span>
<!-- 普通列显示 -->
<span v-else-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
</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-tabs style="font-size: 12px;min-height: 200px;margin-top:10px" class="customer-tab" v-model="activeName" type="border-card">
<el-tab-pane label="预留标签清单" name="labelDetail">
<el-table
:data="detailList"
:height="detailHeight"
border
v-loading="detailLoading"
style="width: 100%;">
<el-table-column
v-for="(item,index) in columnList2"
:key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed==''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<!-- 立库取出特殊显示 - rqrq -->
<span v-if="item.columnProp === 'outWcsFlag'" :style="{color: scope.row.outWcsFlag === 'Y' ? '#67C23A' : '#909399'}">
{{ scope.row.outWcsFlag === 'Y' ? '是' : '否' }}
</span>
<!-- 发料标志特殊显示 - rqrq -->
<span v-else-if="item.columnProp === 'issureFlag'" :style="{color: scope.row.issureFlag === 'Y' ? '#67C23A' : '#909399'}">
{{ scope.row.issureFlag === 'Y' ? '是' : '否' }}
</span>
<!-- 订单类型特殊显示(中文)- rqrq -->
<span v-else-if="item.columnProp === 'orderType'" :style="{color: getOrderTypeColor(scope.row.orderType), fontWeight: 'bold'}">
{{ getOrderTypeText(scope.row.orderType) }}
</span>
<!-- 普通列显示 -->
<span v-else-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
import {
searchNotifyOrderList,
searchMaterialListDetail
} from '@/api/automatedWarehouse/notifyDetailQuery.js'
export default {
name: 'notifyDetailQuery',
data() {
return {
height: 200,
detailHeight: 200,
activeName: 'labelDetail',
dataListLoading: false,
detailLoading: false,
dataList: [],
detailList: [],
currentRow: null,
pageIndex: 1,
pageSize: 50,
totalPage: 0,
searchData: {
page: 1,
limit: 50,
site: this.$store.state.user.site,
notifyNo: '',
soorderNo: '',
orderType: '',
pushWmsFlag: '',
transportFlag: ''
},
// 主表列配置 - rqrq
columnList1: [
{
userId: this.$store.state.user.name,
functionId: 801001,
serialNumber: '801001Table1NotifyNo',
tableId: '801001Table1',
tableName: '申请单订单列表',
columnProp: 'notifyNo',
headerAlign: 'center',
align: 'left',
columnLabel: '领料单号',
columnHidden: false,
columnImage: false,
columnSortable: true,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 140,
showOverflowTooltip: true
},
{
userId: this.$store.state.user.name,
functionId: 801001,
serialNumber: '801001Table1ItemNo',
tableId: '801001Table1',
tableName: '申请单订单列表',
columnProp: 'itemNo',
headerAlign: 'center',
align: 'right',
columnLabel: '序号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 60,
showOverflowTooltip: true
},
{
userId: this.$store.state.user.name,
functionId: 801001,
serialNumber: '801001Table1SoorderNo',
tableId: '801001Table1',
tableName: '申请单订单列表',
columnProp: 'soorderNo',
headerAlign: 'center',
align: 'left',
columnLabel: '订单号',
columnHidden: false,
columnImage: false,
columnSortable: true,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 140,
showOverflowTooltip: true
},
{
userId: this.$store.state.user.name,
functionId: 801001,
serialNumber: '801001Table1OrderType',
tableId: '801001Table1',
tableName: '申请单订单列表',
columnProp: 'orderType',
headerAlign: 'center',
align: 'center',
columnLabel: '订单类型',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
showOverflowTooltip: true
},
{
userId: this.$store.state.user.name,
functionId: 801001,
serialNumber: '801001Table1FgPartNo',
tableId: '801001Table1',
tableName: '申请单订单列表',
columnProp: 'fgPartNo',
headerAlign: 'center',
align: 'left',
columnLabel: '工单物料',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
showOverflowTooltip: true
},
{
userId: this.$store.state.user.name,
functionId: 801001,
serialNumber: '801001Table1ReleaseNo',
tableId: '801001Table1',
tableName: '申请单订单列表',
columnProp: 'releaseNo',
headerAlign: 'center',
align: 'left',
columnLabel: '发布号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80,
showOverflowTooltip: true
},
{
userId: this.$store.state.user.name,
functionId: 801001,
serialNumber: '801001Table1SequenceNo',
tableId: '801001Table1',
tableName: '申请单订单列表',
columnProp: 'sequenceNo',
headerAlign: 'center',
align: 'left',
columnLabel: '序号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80,
showOverflowTooltip: true
},
{
userId: this.$store.state.user.name,
functionId: 801001,
serialNumber: '801001Table1NeedDate',
tableId: '801001Table1',
tableName: '申请单订单列表',
columnProp: 'needDate',
headerAlign: 'center',
align: 'center',
columnLabel: '要求发料时间',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 130,
showOverflowTooltip: true
},
{
userId: this.$store.state.user.name,
functionId: 801001,
serialNumber: '801001Table1LocationNo',
tableId: '801001Table1',
tableName: '申请单订单列表',
columnProp: 'locationNo',
headerAlign: 'center',
align: 'left',
columnLabel: '配送站点',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
showOverflowTooltip: true
},
{
userId: this.$store.state.user.name,
functionId: 801001,
serialNumber: '801001Table1AreaDesc',
tableId: '801001Table1',
tableName: '申请单订单列表',
columnProp: 'areaDesc',
headerAlign: 'center',
align: 'left',
columnLabel: '配送区域',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
showOverflowTooltip: true
},
{
userId: this.$store.state.user.name,
functionId: 801001,
serialNumber: '801001Table1PushWmsFlag',
tableId: '801001Table1',
tableName: '申请单订单列表',
columnProp: 'pushWmsFlag',
headerAlign: 'center',
align: 'center',
columnLabel: '推送WCS',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80,
showOverflowTooltip: true
},
{
userId: this.$store.state.user.name,
functionId: 801001,
serialNumber: '801001Table1TransportFlag',
tableId: '801001Table1',
tableName: '申请单订单列表',
columnProp: 'transportFlag',
headerAlign: 'center',
align: 'center',
columnLabel: '立库取出',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80,
showOverflowTooltip: true
}
],
// 明细表列配置 - rqrq
columnList2: [
{
userId: this.$store.state.user.name,
functionId: 801001,
serialNumber: '801001Table2ItemNo',
tableId: '801001Table2',
tableName: '预留标签清单表',
columnProp: 'itemNo',
headerAlign: 'center',
align: 'right',
columnLabel: '订单序号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80,
showOverflowTooltip: true
},
{
userId: this.$store.state.user.name,
functionId: 801001,
serialNumber: '801001Table2BomItemNo',
tableId: '801001Table2',
tableName: '预留标签清单表',
columnProp: 'bomItemNo',
headerAlign: 'center',
align: 'right',
columnLabel: '订单物料行号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
showOverflowTooltip: true
},
{
userId: this.$store.state.user.name,
functionId: 801001,
serialNumber: '801001Table2ComponentPartNo',
tableId: '801001Table2',
tableName: '预留标签清单表',
columnProp: 'componentPartNo',
headerAlign: 'center',
align: 'left',
columnLabel: '物料号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120,
showOverflowTooltip: true
},
{
userId: this.$store.state.user.name,
functionId: 801001,
serialNumber: '801001Table2SerialNo',
tableId: '801001Table2',
tableName: '预留标签清单表',
columnProp: 'serialNo',
headerAlign: 'center',
align: 'left',
columnLabel: '标签号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 150,
showOverflowTooltip: true
},
{
userId: this.$store.state.user.name,
functionId: 801001,
serialNumber: '801001Table2TaskRef',
tableId: '801001Table2',
tableName: '预留标签清单表',
columnProp: 'taskRef',
headerAlign: 'center',
align: 'left',
columnLabel: '立库任务号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120,
showOverflowTooltip: true
},
{
userId: this.$store.state.user.name,
functionId: 801001,
serialNumber: '801001Table2TaskItem',
tableId: '801001Table2',
tableName: '预留标签清单表',
columnProp: 'taskItem',
headerAlign: 'center',
align: 'right',
columnLabel: '立库任务行号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
showOverflowTooltip: true
},
{
userId: this.$store.state.user.name,
functionId: 801001,
serialNumber: '801001Table2TaskSeq',
tableId: '801001Table2',
tableName: '预留标签清单表',
columnProp: 'taskSeq',
headerAlign: 'center',
align: 'right',
columnLabel: '任务序号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80,
showOverflowTooltip: true
},
{
userId: this.$store.state.user.name,
functionId: 801001,
serialNumber: '801001Table2OrderType',
tableId: '801001Table2',
tableName: '预留标签清单表',
columnProp: 'orderType',
headerAlign: 'center',
align: 'center',
columnLabel: '订单类型',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
showOverflowTooltip: true
},
{
userId: this.$store.state.user.name,
functionId: 801001,
serialNumber: '801001Table2OutWcsFlag',
tableId: '801001Table2',
tableName: '预留标签清单表',
columnProp: 'outWcsFlag',
headerAlign: 'center',
align: 'center',
columnLabel: '立库取出',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80,
showOverflowTooltip: true
},
]
}
},
mounted() {
// 计算表格高度 - rqrq
this.height = (window.innerHeight - 280) / 2
this.detailHeight = (window.innerHeight - 280) / 2
},
methods: {
// 获取订单类型颜色 - rqrq
getOrderTypeColor(orderType) {
switch (orderType) {
case 'shoporder':
return '#409EFF' // 蓝色
case 'shipment':
return '#67C23A' // 绿色
case 'slittingorder':
return '#E6A23C' // 橙色
default:
return '#909399' // 灰色
}
},
// 获取订单类型中文文本 - rqrq
getOrderTypeText(orderType) {
switch (orderType) {
case 'shoporder':
return '生产订单'
case 'shipment':
return '销售发货'
case 'slittingorder':
return '分切订单'
default:
return orderType || '-'
}
},
// 查询主表数据 - rqrq
searchTable() {
this.dataListLoading = true
this.searchData.page = this.pageIndex
this.searchData.limit = this.pageSize
searchNotifyOrderList(this.searchData).then(({ data }) => {
if (data && data.code === 0) {
this.dataList = data.page.list
this.totalPage = data.page.totalCount
} else {
this.dataList = []
this.totalPage = 0
}
}).catch(() => {
this.$message.error('查询失败')
}).finally(() => {
this.dataListLoading = false
})
},
// 主表行点击事件 - rqrq
changeData(row) {
this.currentRow = JSON.parse(JSON.stringify(row))
this.getDetailList()
},
// 查询明细数据 - rqrq
getDetailList() {
if (!this.currentRow) {
this.detailList = []
return
}
this.detailLoading = true
const queryData = {
site: this.currentRow.site,
notifyNo: this.currentRow.notifyNo,
itemNo: this.currentRow.itemNo
}
searchMaterialListDetail(queryData).then(({ data }) => {
if (data && data.code === 0) {
this.detailList = data.rows || []
} else {
this.detailList = []
}
}).catch(() => {
this.$message.error('查询明细失败')
}).finally(() => {
this.detailLoading = false
})
},
// 分页大小改变 - rqrq
sizeChangeHandle(val) {
this.pageSize = val
this.pageIndex = 1
this.searchTable()
},
// 当前页改变 - rqrq
currentChangeHandle(val) {
this.pageIndex = val
this.searchTable()
}
}
}
</script>
<style scoped>
/deep/ .customer-tab .el-tabs__content {
padding: 5px !important;
}
</style>