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 searchSoReceiveBoxesData = data => createAPI('/boxForNotification/searchSoReceiveBoxesData','post',data)
export const newSoReceiveBoxesData = data => createAPI('/boxForNotification/newSoReceiveBoxesData','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 border
v-loading="dataListLoading" v-loading="dataListLoading"
style="width: 100%; "> 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 <el-table-column
v-for="(item,index) in columnList" :key="index" v-for="(item,index) in columnList" :key="index"
:sortable="item.columnSortable" :sortable="item.columnSortable"
@ -29,12 +39,77 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </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> </div>
</template> </template>
<script> <script>
import {newSoReceiveBoxesData, searchSoReceiveBoxesData} from '../../../api/boxManage/boxManage'
import {newSoReceiveBoxesData, searchBoxDetail, searchSoReceiveBoxesData} from '../../../api/boxManage/boxManage'
export default { export default {
components: { components: {
@ -184,6 +259,16 @@ export default {
}, },
], ],
modelList:[], modelList:[],
boxData:{
site:'',
orderNo:'',
boxNo:'',
buNo:'',
wareHouseID:'',
rollsQty: 0,
},
boxModelFlag: false,
} }
}, },
methods: { methods: {
@ -225,6 +310,14 @@ export default {
if (data && data.code == 0) { if (data && data.code == 0) {
this.$message.success( '操作成功') this.$message.success( '操作成功')
this.searchTable(); 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 { } else {
this.$alert(data.msg, '错误', { this.$alert(data.msg, '错误', {
confirmButtonText: '确定' 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=""> <el-tab-pane label="装箱清单" name="boxing" style="">
<boxing ref="boxing"></boxing> <boxing ref="boxing"></boxing>
</el-tab-pane> </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> </el-tabs>
@ -96,7 +118,7 @@
import excel from "@/utils/excel-util.js"; import excel from "@/utils/excel-util.js";
import boxing from "./com_saleBoxManage_boxing.vue" import boxing from "./com_saleBoxManage_boxing.vue"
import {searchOutboundNotification} from '../../../api/qc/outbound_notification'
import {getOutboundDetail, searchOutboundNotification} from '../../../api/qc/outbound_notification'
export default { export default {
@ -123,6 +145,7 @@ export default {
totalPage: 0, totalPage: 0,
tagNo:'', tagNo:'',
mainDataList:[], mainDataList:[],
detailList:[],
dataListLoading: false, dataListLoading: false,
activeName: 'boxing', activeName: 'boxing',
columnArray1: [ columnArray1: [
@ -235,6 +258,99 @@ export default {
fixed: false 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'), exportName: '发货通知单'+this.dayjs().format('YYYYMMDDHHmmss'),
} }
}, },
@ -298,6 +414,9 @@ export default {
if(this.activeName==='boxing'){ if(this.activeName==='boxing'){
this.refreshBoxingTable(); this.refreshBoxingTable();
} }
if(this.activeName==='outboundDetail'){
this.refreshDetailTable();
}
}, },
async exportExcel() { async exportExcel() {
@ -324,7 +443,16 @@ export default {
} }
this.$refs.boxing.init(inData) 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() { created() {
// //

Loading…
Cancel
Save