Browse Source

生产查询

master
常熟吴彦祖 4 months ago
parent
commit
ae0383837b
  1. 1
      src/api/boxManage/boxManage.js
  2. 112
      src/views/modules/boxManage/com_saleBoxManage_boxing.vue
  3. 134
      src/views/modules/boxManage/saleBoxManage.vue

1
src/api/boxManage/boxManage.js

@ -3,3 +3,4 @@ import { createAPI } from "@/utils/httpRequest.js";
export const searchSoReceiveBoxesData = data => createAPI('/boxForNotification/searchSoReceiveBoxesData','post',data)
export const newSoReceiveBoxesData = data => createAPI('/boxForNotification/newSoReceiveBoxesData','post',data)
export const searchBoxDetail = data => createAPI('/boxForNotification/searchBoxDetail','post',data)

112
src/views/modules/boxManage/com_saleBoxManage_boxing.vue

@ -12,6 +12,16 @@
border
v-loading="dataListLoading"
style="width: 100%; ">
<el-table-column
header-align="center"
align="center"
width="150"
label="操作">
<template slot-scope="scope">
<a type="text" size="small" @click="boxModelOpen(scope.row)">装箱</a>
<a type="text" size="small" v-if="scope.row.status==='未封箱'" @click="deleteHandle(scope.row.id)">封箱</a>
</template>
</el-table-column>
<el-table-column
v-for="(item,index) in columnList" :key="index"
:sortable="item.columnSortable"
@ -29,12 +39,77 @@
</template>
</el-table-column>
</el-table>
<el-dialog title="卷清单" :visible.sync="boxModelFlag" width="700px" @close="searchTable" style="margin-top: 7px" v-drag :close-on-click-modal="false">
<el-form inline="inline" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-row>
<el-form-item label="销售发货单号">
<el-input v-model="boxData.orderNo" disabled style="width: 130px"></el-input>
</el-form-item>
<el-form-item label="箱号">
<el-input v-model="boxData.boxNo" disabled style="width: 130px"></el-input>
</el-form-item>
<el-form-item label="所在仓库">
<el-input v-model="boxData.wareHouseID" disabled style="width: 130px"></el-input>
</el-form-item>
<el-form-item label="扫描装箱">
<el-input v-model="boxData.wareHouseID" style="width: 200px"></el-input>
</el-form-item>
</el-row>
</el-form>
<el-table
:height="300"
:data="modelList"
stripe
border
style="width: 100%;">
<el-table-column
prop="finalRollNo"
header-align="center"
align="center"
min-width="100"
label="卷号">
</el-table-column>
<el-table-column
prop="partNo"
header-align="center"
align="left"
min-width="100"
label="物料编码">
</el-table-column>
<el-table-column
prop="rollQty"
header-align="center"
align="right"
min-width="100"
label="数量">
</el-table-column>
<el-table-column
prop="receivedDate"
header-align="center"
align="right"
min-width="100"
label="装箱日期">
</el-table-column>
<el-table-column
prop="receivedBy"
header-align="center"
align="right"
min-width="100"
label="装箱人">
</el-table-column>
</el-table>
<el-footer style="height:40px;margin-top: 25px;text-align:center">
<el-button @click="boxModelFlag = false">关闭</el-button>
</el-footer>
</el-dialog>
</div>
</template>
<script>
import {newSoReceiveBoxesData, searchSoReceiveBoxesData} from '../../../api/boxManage/boxManage'
import {newSoReceiveBoxesData, searchBoxDetail, searchSoReceiveBoxesData} from '../../../api/boxManage/boxManage'
export default {
components: {
@ -184,6 +259,16 @@ export default {
},
],
modelList:[],
boxData:{
site:'',
orderNo:'',
boxNo:'',
buNo:'',
wareHouseID:'',
rollsQty: 0,
},
boxModelFlag: false,
}
},
methods: {
@ -225,6 +310,14 @@ export default {
if (data && data.code == 0) {
this.$message.success( '操作成功')
this.searchTable();
let data2={
site: this.searchData.site,
boxNo: data.boxNo,
buNo: this.searchData.buNo,
}
console.log(data2)
this.searchBox(data2)
this.boxModelFlag = true
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
@ -233,6 +326,23 @@ export default {
})
})
},
boxModelOpen(row){
let inData={
site: row.site,
boxNo: row.boxNo,
buNo: row.buNo,
}
this.searchBox(inData)
this.boxModelFlag = true
},
searchBox(inData){
searchBoxDetail(inData).then(({data}) => {
if (data && data.code == 0) {
this.modelList=data.rows
this.boxData=data.row
}
})
}
},
}

134
src/views/modules/boxManage/saleBoxManage.vue

@ -81,7 +81,29 @@
<el-tab-pane label="装箱清单" name="boxing" style="">
<boxing ref="boxing"></boxing>
</el-tab-pane>
<el-tab-pane label="出库单明细" name="outboundDetail">
<el-table
:data="detailList"
:height="height - 20"
border
style="width: 100%;">
<el-table-column
v-for="(item,index) in columnDetailList" :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">
<span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
@ -96,7 +118,7 @@
import excel from "@/utils/excel-util.js";
import boxing from "./com_saleBoxManage_boxing.vue"
import {searchOutboundNotification} from '../../../api/qc/outbound_notification'
import {getOutboundDetail, searchOutboundNotification} from '../../../api/qc/outbound_notification'
export default {
@ -123,6 +145,7 @@ export default {
totalPage: 0,
tagNo:'',
mainDataList:[],
detailList:[],
dataListLoading: false,
activeName: 'boxing',
columnArray1: [
@ -235,6 +258,99 @@ export default {
fixed: false
},
],
columnDetailList: [
{
columnProp: 'relatedOrderNo',
headerAlign: "center",
align: "left",
columnLabel: '销售订单号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
},
{
columnProp: 'relatedOrderLineNo',
headerAlign: "center",
align: "right",
columnLabel: '销售订单行号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
},
{
columnProp: 'partNo',
headerAlign: "center",
align: "left",
columnLabel: '物料编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120,
},
{
columnProp: 'partDesc',
headerAlign: "center",
align: "left",
columnLabel: '物料名称',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 200,
},
{
columnProp: 'orderQty',
headerAlign: "center",
align: "right",
columnLabel: '销售订单数量',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
},
{
columnProp: 'requiredQty',
headerAlign: "center",
align: "right",
columnLabel: '要求发货数量',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
},
{
columnProp: 'unit',
headerAlign: "center",
align: "left",
columnLabel: '单位',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
},
],
exportName: '发货通知单'+this.dayjs().format('YYYYMMDDHHmmss'),
}
},
@ -298,6 +414,9 @@ export default {
if(this.activeName==='boxing'){
this.refreshBoxingTable();
}
if(this.activeName==='outboundDetail'){
this.refreshDetailTable();
}
},
async exportExcel() {
@ -324,7 +443,16 @@ export default {
}
this.$refs.boxing.init(inData)
},
refreshDetailTable(){
let templateData = {
site: this.currentRow.site,
buNo: this.currentRow.buNo,
orderNo: this.currentRow.orderNo,
}
getOutboundDetail(templateData).then(({data}) => {
this.detailList = data.rows
})
},
},
created() {
//

Loading…
Cancel
Save