常熟吴彦祖 3 weeks ago
parent
commit
a77166fc64
  1. 1
      src/api/production/generateReport.js
  2. 263
      src/views/modules/production/outboundLabelScanDetail.vue

1
src/api/production/generateReport.js

@ -83,6 +83,7 @@ export const scanLabel = data=>createAPI('/board/scanLabel','post',data);
export const checkIsPacking = data=>createAPI('/board/checkIsPacking','get',data); export const checkIsPacking = data=>createAPI('/board/checkIsPacking','get',data);
export const searchOutboundLabelScanList = data=>createAPI('/outbound/label/list','post',data); export const searchOutboundLabelScanList = data=>createAPI('/outbound/label/list','post',data);
export const queryEarlierInboundBagList = data=>createAPI('/outbound/label/fifo/list','post',data); export const queryEarlierInboundBagList = data=>createAPI('/outbound/label/fifo/list','post',data);
export const searchOutboundLabelDetailPage = data=>createAPI('/outbound/label/detail/page','post',data);
export const getTCPPackagePrintDataList = data =>createAPI('/board/getTCPPackagePrintDataList','post',data) export const getTCPPackagePrintDataList = data =>createAPI('/board/getTCPPackagePrintDataList','post',data)

263
src/views/modules/production/outboundLabelScanDetail.vue

@ -0,0 +1,263 @@
<script>
import scanForm from "./scanForm.vue";
import dayjs from "dayjs";
import {Decimal} from "decimal.js";
import {queryStandardWeight, searchOutboundLabelDetailPage} from "../../../api/production/generateReport";
export default {
name: "outboundLabelScanDetail",
components: {
scanForm
},
data() {
return {
height: 200,
tableLoading: false,
searchData: {
site: "",
startDate: "",
endDate: "",
customerId: "",
delNotifyNo: "",
shipFlag: false,
partDesc: "",
partNo: "",
orderNo: "",
no: 1,
size: 50,
total: 0
},
detailList: [],
scanFlag: false,
allNum: 0,
notifyQty: 0,
delNotifyDetail: {}
}
},
mounted() {
this.$nextTick(() => {
this.height = window.innerHeight - 260
})
},
created() {
},
methods: {
// - rqrq
searchDetailPage() {
const params = JSON.parse(JSON.stringify(this.searchData))
params.shipFlag = this.searchData.shipFlag ? 'Y' : ''
this.tableLoading = true
searchOutboundLabelDetailPage(params).then(({data}) => {
this.tableLoading = false
if (data && data.code === 0) {
const page = data.page || {}
this.detailList = page.records || []
this.searchData.total = page.total || 0
} else {
this.$message.warning(data.msg)
}
}).catch((error) => {
this.tableLoading = false
this.$message.error(error)
})
},
sizeChangeHandle(val) {
this.searchData.size = val
this.searchData.no = 1
this.searchDetailPage()
},
currentChangeHandle(val) {
this.searchData.no = val
this.searchDetailPage()
},
getSignNumber(number) {
if (number === null || number === undefined || number === '') {
return number
}
return new Decimal(number).toSignificantDigits().toNumber()
},
// - rqrq
clickScan(row) {
this.delNotifyDetail = JSON.parse(JSON.stringify(row))
this.allNum = this.delNotifyDetail.allNum || 0
this.notifyQty = this.delNotifyDetail.notifyQty || 0
const params = {
site: row.site,
partNo: row.partNo
}
queryStandardWeight(params).then(({data}) => {
if (data && data.code === 0 && data.row) {
this.delNotifyDetail.standardWeight = data.row.standardWeight
} else {
this.delNotifyDetail.standardWeight = 0
}
}).catch(() => {
})
this.scanFlag = true
},
changeAllNum(val) {
this.allNum = val
this.delNotifyDetail.allNum = val
}
}
}
</script>
<template>
<div style="padding: 10px">
<el-form ref="searchDataForm" label-position="top" :model="searchData" label-width="80px">
<el-row :gutter="20">
<el-col :span="6">
<el-row>
<el-col :span="11">
<el-form-item label="通知单日期">
<el-date-picker
style="width: 100%"
:editable="false"
v-model="searchData.startDate"
value-format="yyyy-MM-dd"
type="date">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="2">
<el-form-item label=" " style="text-align: center">
-->
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label=" ">
<el-date-picker
style="width: 100%"
:editable="false"
v-model="searchData.endDate"
value-format="yyyy-MM-dd"
type="date">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-col>
<el-col :span="3">
<el-form-item label="客户编号">
<el-input v-model="searchData.customerId" clearable/>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="通知单单号">
<el-input v-model="searchData.delNotifyNo" clearable/>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="工厂编号" prop="site">
<el-select filterable v-model="searchData.site" default-first-option style="width: 100%">
<el-option label="全部" value=""></el-option>
<el-option label="1-沪声" value="1"></el-option>
<el-option label="2-赫艾" value="2"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="产品型号">
<el-input v-model="searchData.partDesc" clearable/>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="物料编码">
<el-input v-model="searchData.partNo" clearable/>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="销售订单号">
<el-input v-model="searchData.orderNo" clearable/>
</el-form-item>
</el-col>
<el-col :span="2">
<el-form-item :label="' '">
<el-button type="primary" style="height: 20px;font-size: 14px;line-height: 10px" @click="searchDetailPage"> </el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
:data="detailList"
v-loading="tableLoading"
:height="height"
border stripe
style="margin-top: 10px;">
<el-table-column label="操作" width="90" header-align="center" fixed align="center">
<template slot-scope="{row}">
<el-link style="cursor: pointer" @click="clickScan(row)">扫描记录</el-link>
</template>
</el-table-column>
<el-table-column prop="site" header-align="center" align="left" width="90" label="工厂编码"/>
<el-table-column prop="delNotifyNo" header-align="center" align="left" width="150" label="通知单号"/>
<el-table-column prop="delNotifyItemNo" header-align="center" align="left" width="120" label="通知单号序号">
<template slot-scope="{row}">
{{ getSignNumber(row.delNotifyItemNo) }}
</template>
</el-table-column>
<el-table-column prop="partNo" header-align="center" align="left" width="120" label="产品编码"/>
<el-table-column prop="partDescription" header-align="center" align="left" width="180" label="产品名称规格" show-overflow-tooltip/>
<el-table-column prop="approveResultFlag" header-align="center" align="left" width="130" label="出货检验结果">
<template slot-scope="{row}">
<span v-if="row.approveResultFlag === 'Y'">合格</span>
<span v-else-if="row.approveResultFlag === 'N'">不合格</span>
<span v-else>待检验</span>
</template>
</el-table-column>
<el-table-column prop="notifyQty" header-align="center" align="right" width="120" label="通知单数量"/>
<el-table-column prop="shipQty" header-align="center" align="right" width="120" label="发货数量"/>
<el-table-column prop="allNum" header-align="center" align="right" width="120" label="扫描数量">
<template slot-scope="{row}">
{{ row.allNum ? row.allNum : 0 }}
</template>
</el-table-column>
<el-table-column prop="UMId" header-align="center" align="left" width="120" label="销售计量单位"/>
<el-table-column prop="orderNo" header-align="center" align="left" width="140" label="销售订单号"/>
<el-table-column prop="itemNo" header-align="center" align="left" width="100" label="订单序号"/>
<el-table-column prop="customerPONo" header-align="center" align="left" width="150" label="客户采购订单号"/>
<el-table-column prop="orderType" header-align="center" align="left" width="120" label="订单类型"/>
<el-table-column prop="custPartNo" header-align="center" align="left" width="150" label="客户产品编号"/>
<el-table-column prop="intSales" header-align="center" align="left" width="120" label="内部销售"/>
<el-table-column prop="extSales" header-align="center" align="left" width="120" label="外部销售"/>
<el-table-column prop="subOrderType" header-align="center" align="left" width="180" label="零部件订单类型"/>
<el-table-column prop="techInfo" header-align="center" align="left" width="150" label="技术注意事项"/>
<el-table-column prop="detailRemark" header-align="center" align="left" width="180" label="明细备注" show-overflow-tooltip/>
<el-table-column prop="notifyDate" header-align="center" align="left" width="120" label="通知单日期"/>
<el-table-column prop="customerId" header-align="center" align="left" width="120" label="客户编码"/>
<el-table-column prop="customerName" header-align="center" align="left" width="120" label="客户名称"/>
<el-table-column prop="billAirwayNo" header-align="center" align="left" width="120" label="运单号"/>
<el-table-column prop="forwarderId" header-align="center" align="left" width="90" label="货代"/>
<el-table-column prop="headerRemark" header-align="center" align="left" min-width="140" label="通知单备注" show-overflow-tooltip/>
<el-table-column prop="receiver" header-align="center" align="left" width="100" label="经手人"/>
<el-table-column prop="delAddId" header-align="center" align="left" width="120" label="送货地址" show-overflow-tooltip/>
<el-table-column prop="creditFlag" header-align="center" align="left" width="100" label="退货标记"/>
<el-table-column prop="shipFlag" header-align="center" align="left" width="100" label="是否发货"/>
<el-table-column prop="shipResult" header-align="center" align="left" width="150" label="发货状态信息"/>
<el-table-column prop="realShipDate" header-align="center" align="left" width="120" label="实际发货日期"/>
</el-table>
<div style="font-size: 18px;margin-top: 10px;">
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="searchData.no"
:page-sizes="[50, 100, 500, 1000]"
:page-size="searchData.size"
:total="searchData.total"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
</div>
<scan-form :is-report="true" :scan-flag.sync="scanFlag" @changeAllNum="changeAllNum" :all-num="allNum" :notify-qty="notifyQty" :detail="delNotifyDetail"></scan-form>
</div>
</template>
<style scoped>
.el-select-dropdown__item{
font-size: 18px;
}
</style>
Loading…
Cancel
Save