2 changed files with 264 additions and 0 deletions
@ -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> |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue