4 changed files with 370 additions and 0 deletions
-
3src/api/inventory/materialIssue.js
-
2src/api/issueNotify/issueNotify.js
-
17src/assets/scss/global.scss
-
348src/views/modules/inventory/materialIssue.vue
@ -0,0 +1,3 @@ |
|||
import {createAPI} from "../../utils/httpRequest"; |
|||
|
|||
export const queryList = (data)=> createAPI(`/bill/lading`,'post',data) |
|||
@ -0,0 +1,348 @@ |
|||
<script> |
|||
import {queryList} from "../../../api/inventory/materialIssue"; |
|||
import th from "element-ui/src/locale/lang/th"; |
|||
import {issueNotifyPageSearch, queryPickDetailList} from "../../../api/issueNotify/issueNotify"; |
|||
|
|||
export default { |
|||
name: 'MaterialIssue', |
|||
data(){ |
|||
return{ |
|||
queryLoading:false, |
|||
queryParams:{ |
|||
notifyNo: '', |
|||
site: this.$store.state.user.site, |
|||
ifsPickListNo: '', |
|||
thOrderNo: '', |
|||
orderNo: '', |
|||
notifyDateStart: '', |
|||
notifyDateEnd: '', |
|||
needDateStart: '', |
|||
needDateEnd: '', |
|||
page: 1, |
|||
limit: 50 |
|||
}, |
|||
dataList:[], |
|||
total:0, |
|||
columnList:[ |
|||
{ |
|||
columnProp: 'notifyNo', |
|||
columnLabel: '申请单号', |
|||
headerAlign: 'center', |
|||
align: 'left', |
|||
columnSortable: false, |
|||
columnWidth: 120, |
|||
columnHidden: false, |
|||
fixed: '' |
|||
}, |
|||
{ |
|||
columnProp: 'notifyDate', |
|||
columnLabel: '申请日期', |
|||
headerAlign: 'center', |
|||
align: 'center', |
|||
columnSortable: false, |
|||
columnWidth: 120, |
|||
columnHidden: false, |
|||
fixed: '' |
|||
}, |
|||
{ |
|||
columnProp: 'status', |
|||
columnLabel: '状态', |
|||
headerAlign: 'center', |
|||
align: 'left', |
|||
columnSortable: false, |
|||
columnWidth: 80, |
|||
columnHidden: false, |
|||
fixed: '' |
|||
}, |
|||
{ |
|||
columnProp: 'ifsPickListNo', |
|||
columnLabel: 'IFS提货单号', |
|||
headerAlign: 'center', |
|||
align: 'left', |
|||
columnSortable: false, |
|||
columnWidth: 130, |
|||
columnHidden: false, |
|||
fixed: '' |
|||
}, |
|||
{ |
|||
columnProp: 'thOrderNo', |
|||
columnLabel: '3H订单号', |
|||
headerAlign: 'center', |
|||
align: 'left', |
|||
columnSortable: false, |
|||
columnWidth: 130, |
|||
columnHidden: false, |
|||
fixed: '' |
|||
}, |
|||
{ |
|||
columnProp: 'needDate', |
|||
columnLabel: '要求发料日期', |
|||
headerAlign: 'center', |
|||
align: 'center', |
|||
columnSortable: false, |
|||
columnWidth: 120, |
|||
columnHidden: false, |
|||
fixed: '' |
|||
}, |
|||
{ |
|||
columnProp: 'orderNo', |
|||
columnLabel: '生产订单号', |
|||
headerAlign: 'center', |
|||
align: 'left', |
|||
columnSortable: false, |
|||
columnWidth: 130, |
|||
columnHidden: false, |
|||
fixed: '' |
|||
}, |
|||
{ |
|||
columnProp: 'createBy', |
|||
columnLabel: '申请人', |
|||
headerAlign: 'center', |
|||
align: 'left', |
|||
columnSortable: false, |
|||
columnWidth: 100, |
|||
columnHidden: false, |
|||
fixed: '' |
|||
}, |
|||
{ |
|||
columnProp: 'createDate', |
|||
columnLabel: '录入时间', |
|||
headerAlign: 'center', |
|||
align: 'center', |
|||
columnSortable: false, |
|||
columnWidth: 140, |
|||
columnHidden: false, |
|||
fixed: '' |
|||
}, |
|||
], |
|||
pickDetailVisible:false, |
|||
pickDetailList:[], |
|||
pickDetailLoading:false, |
|||
currentRow:{ |
|||
|
|||
}, |
|||
|
|||
} |
|||
}, |
|||
methods:{ |
|||
queryList(){ |
|||
this.queryLoading = true; |
|||
issueNotifyPageSearch(this.queryParams).then(({data}) => { |
|||
if (data && data.code === 0) { |
|||
// 此处假设返回数组,如需分页请根据后端返回数据进行调整 |
|||
this.dataList = data.page.list; |
|||
this.total = data.page.totalCount |
|||
} else { |
|||
this.$message.error(data.msg); |
|||
} |
|||
this.queryLoading = false; |
|||
}).catch((error)=>{ |
|||
this.$message.error(error) |
|||
this.queryLoading = false; |
|||
}) |
|||
}, |
|||
handleQueryPickDetail(row){ |
|||
this.currentRow = { |
|||
site:row.site, |
|||
ifsPickListNo:row.ifsPickListNo, |
|||
partNo:'', |
|||
} |
|||
this.queryPickDetailList(this.currentRow) |
|||
this.pickDetailVisible = true; |
|||
}, |
|||
queryPickDetailList(row){ |
|||
let params = { |
|||
site:this.$store.state.user.site, |
|||
ifsPickListNo:row.ifsPickListNo, |
|||
partNo:row.partNo, |
|||
} |
|||
this.pickDetailLoading = true; |
|||
this.pickDetailList = []; |
|||
queryPickDetailList(params).then(({data})=>{ |
|||
if (data && data.code === 0) { |
|||
this.pickDetailList = data.rows; |
|||
}else { |
|||
this.$message.error(data.msg); |
|||
} |
|||
this.pickDetailLoading = false; |
|||
}).catch((error)=>{ |
|||
this.$message.error(error) |
|||
this.pickDetailLoading = false; |
|||
}) |
|||
}, |
|||
handleCurrentChange(val){ |
|||
this.queryParams.page = val; |
|||
this.queryList(); |
|||
}, |
|||
handleSizeChange(val){ |
|||
this.queryParams.limit = val; |
|||
this.queryList(); |
|||
}, |
|||
}, |
|||
watch:{ |
|||
queryLoading(newValue){ |
|||
if (newValue){ |
|||
setTimeout(()=>{ |
|||
this.queryLoading = false; |
|||
},30000) |
|||
} |
|||
}, |
|||
pickDetailLoading(newValue){ |
|||
if (newValue){ |
|||
setTimeout(()=>{ |
|||
this.pickDetailLoading = false; |
|||
},30000) |
|||
} |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<template> |
|||
<div class="box-container"> |
|||
<el-form :model="queryParams" label-position="top" style="width: 1100px"> |
|||
<el-row :gutter="10"> |
|||
<el-col :span="3"> |
|||
<el-form-item label="申请单单号"> |
|||
<el-input v-model="queryParams.notifyNo" clearable></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="6"> |
|||
<el-form-item label="申请日期"> |
|||
<el-date-picker type="date" |
|||
v-model="queryParams.notifyDateStart" |
|||
style="width: 47%" |
|||
value-format="yyyy-MM-dd" |
|||
placeholder="选择日期" |
|||
/> |
|||
- |
|||
<el-date-picker type="date" |
|||
v-model="queryParams.notifyDateEnd" |
|||
style="width: 47%" |
|||
value-format="yyyy-MM-dd" |
|||
placeholder="选择日期"/> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="3"> |
|||
<el-form-item label="生产订单号"> |
|||
<el-input v-model="queryParams.orderNo" clearable></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="10"> |
|||
<el-col :span="3"> |
|||
<el-form-item label="IFS提货单号"> |
|||
<el-input v-model="queryParams.ifsPickListNo" clearable></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="6"> |
|||
<el-form-item label="要求发料日期"> |
|||
<el-date-picker type="date" |
|||
v-model="queryParams.needDateStart" |
|||
style="width: 47%" |
|||
value-format="yyyy-MM-dd" |
|||
placeholder="选择日期"/> |
|||
- |
|||
<el-date-picker type="date" |
|||
v-model="queryParams.needDateEnd" |
|||
style="width: 47%" |
|||
value-format="yyyy-MM-dd" |
|||
placeholder="选择日期"/> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="3"> |
|||
<el-form-item label="3H订单号"> |
|||
<el-input v-model="queryParams.thOrderNo" clearable></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="3"> |
|||
<el-form-item label=" "> |
|||
<el-button @click="queryList">查询</el-button> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
|
|||
<div style="height: calc(100% - 130px)"> |
|||
<el-table :data="dataList" v-loading="queryLoading" height="100%" border> |
|||
<el-table-column |
|||
v-for="(item, index) in columnList" :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> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column align="center" width="100" label="操作"> |
|||
<template slot-scope="scope"> |
|||
<a @click="handleQueryPickDetail(scope.row)">提货单汇总明细</a> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
<el-pagination |
|||
@size-change="handleSizeChange" |
|||
@current-change="handleCurrentChange" |
|||
:current-page.sync="queryParams.page" |
|||
:page-sizes="[50,100, 200, 300, 400]" |
|||
:page-size="queryParams.limit" |
|||
layout="total,sizes, prev, pager, next" |
|||
:total="total"> |
|||
</el-pagination> |
|||
|
|||
<el-dialog :visible.sync="pickDetailVisible" title="提货单明细" v-drag width="1200px" :close-on-click-modal="false"> |
|||
<el-form :model="currentRow" label-position="top"> |
|||
<el-row :gutter="10"> |
|||
<el-col :span="3"> |
|||
<el-form-item label="零件编码"> |
|||
<el-input v-model="currentRow.partNo" clearable></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="3"> |
|||
<el-form-item label=" "> |
|||
<el-button type="primary" @click="queryPickDetailList(currentRow)">查询</el-button> |
|||
<el-button type="primary" >发料</el-button> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
<div class="rq"> |
|||
<el-table :data="pickDetailList" border height="300px" v-loading="pickDetailLoading"> |
|||
<el-table-column label="提货单号" prop="pickListNo" header-align="center" align="left" min-width="100px"/> |
|||
<el-table-column label="所需数量" prop="requireQty" header-align="center" align="right" min-width="80px"/> |
|||
<el-table-column label="库存数量" prop="onHandQty" header-align="center" align="right" min-width="80px"/> |
|||
<el-table-column label="库存可用数量" prop="stockQty" header-align="center" align="right" min-width="80px"/> |
|||
<el-table-column label="WDR" prop="waivDevRejNo" header-align="center" align="center" min-width="60px"/> |
|||
<el-table-column label="零件编码" prop="rmPartNo" header-align="center" align="left" min-width="100px"/> |
|||
<el-table-column label="零件描述" prop="rmPartDesc" header-align="center" align="left" min-width="140px"/> |
|||
<el-table-column label="零件大类" prop="partFam" header-align="center" align="left" min-width="80px"/> |
|||
<el-table-column label="库位" prop="locationNo" header-align="center" align="left" min-width="80px"/> |
|||
<el-table-column label="批次" prop="batchNo" header-align="center" align="left" min-width="80px"/> |
|||
<el-table-column label="版本" prop="engChgLevel" header-align="center" align="left" min-width="80px"/> |
|||
<el-table-column label="序号" prop="activitySeq" header-align="center" align="left" min-width="80px"/> |
|||
<el-table-column label="下发数量" prop="issueQty" header-align="center" align="right" min-width="80px"> |
|||
<template slot-scope="scope"> |
|||
<el-input-number v-model="scope.row.issueQty" :controls="false" :step="0" :min="0" style="width: 100%"></el-input-number> |
|||
<!-- <el-input v-model="scope.row.issueQty"></el-input>--> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="已下发数量" prop="issuedQty" header-align="center" align="center" min-width="80px"/> |
|||
<el-table-column label="状态" prop="status" header-align="center" align="center" min-width="80px"/> |
|||
</el-table> |
|||
</div> |
|||
<el-footer style="text-align: center;line-height: 30px;height: 30px"> |
|||
<el-button @click="pickDetailVisible = false">关闭</el-button> |
|||
</el-footer> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<style scoped> |
|||
|
|||
</style> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue