|
|
|
@ -1,4 +1,12 @@ |
|
|
|
<script> |
|
|
|
import {removeShipmentBox, updateShipmentBox, updateShipmentBoxStatus} from '../../../../api/shipment/box' |
|
|
|
import { |
|
|
|
getShipmentRollAllData, |
|
|
|
getShipmentRollDataList, |
|
|
|
removeShipmentRollData, |
|
|
|
saveShipmentRollData |
|
|
|
} from '../../../../api/shipment/roll' |
|
|
|
|
|
|
|
export default { |
|
|
|
name: 'shipmentBox', |
|
|
|
props:{ |
|
|
|
@ -12,8 +20,150 @@ export default { |
|
|
|
}, |
|
|
|
}, |
|
|
|
data(){ |
|
|
|
|
|
|
|
return { |
|
|
|
open:false, |
|
|
|
endOpen:false, |
|
|
|
form:{}, |
|
|
|
endForm:{}, |
|
|
|
rollDataList:[], |
|
|
|
endDataList:[], |
|
|
|
} |
|
|
|
}, |
|
|
|
methods:{ |
|
|
|
handleAddBox(){ |
|
|
|
this.$emit('add','') |
|
|
|
}, |
|
|
|
handleScanRoll(row){ |
|
|
|
this.form = {...row} |
|
|
|
this.$nextTick(()=>{ |
|
|
|
this.$refs.inputRollNo.focus() |
|
|
|
}) |
|
|
|
this.getDataList(); |
|
|
|
this.open = true; |
|
|
|
}, |
|
|
|
getDataList(){ |
|
|
|
let params = { |
|
|
|
...this.form |
|
|
|
} |
|
|
|
getShipmentRollDataList(params).then(({data})=>{ |
|
|
|
if (data && data.code === 0){ |
|
|
|
this.rollDataList = data.rows |
|
|
|
}else { |
|
|
|
this.$message.warning(data.msg) |
|
|
|
} |
|
|
|
}).catch((error)=>{ |
|
|
|
this.$message.error(error) |
|
|
|
}) |
|
|
|
}, |
|
|
|
handleUpdateBoxStatus(row){ |
|
|
|
let params = { |
|
|
|
...row |
|
|
|
} |
|
|
|
updateShipmentBoxStatus(params).then(({data})=>{ |
|
|
|
if (data && data.code === 0){ |
|
|
|
this.$message.success(data.msg) |
|
|
|
this.$emit('refresh') |
|
|
|
}else { |
|
|
|
this.$message.warning(data.msg) |
|
|
|
} |
|
|
|
}).catch((error)=>{ |
|
|
|
this.$message.error(error) |
|
|
|
}) |
|
|
|
}, |
|
|
|
handleRemoveBox(row){ |
|
|
|
this.$confirm('确定要删除这条数据?', '提示', { |
|
|
|
confirmButtonText: '确定', |
|
|
|
cancelButtonText: '取消', |
|
|
|
type: 'warning' |
|
|
|
}).then(()=>{ |
|
|
|
removeShipmentBox(row).then(({data})=>{ |
|
|
|
if (data && data.code === 0){ |
|
|
|
this.$emit('refresh') |
|
|
|
this.$message.success(data.msg) |
|
|
|
}else { |
|
|
|
this.$message.warning(data.msg) |
|
|
|
} |
|
|
|
}).catch((error)=>{ |
|
|
|
this.$message.error(error) |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
handleRollScan(e){ |
|
|
|
let val = e.target.value.trim(); |
|
|
|
if (!val){ |
|
|
|
this.$message.warning('请输入条码') |
|
|
|
this.form.rollNo = '' |
|
|
|
return |
|
|
|
} |
|
|
|
let scanRow = val.split(';') |
|
|
|
let params = { |
|
|
|
...this.form, |
|
|
|
id:null, |
|
|
|
rollNo:scanRow[0], |
|
|
|
site:this.form.site, |
|
|
|
createBy:this.$store.state.user.name, |
|
|
|
} |
|
|
|
saveShipmentRollData(params).then(({data})=>{ |
|
|
|
if (data && data.code === 0){ |
|
|
|
this.$message.success(data.msg) |
|
|
|
// 查询 roll |
|
|
|
this.getDataList(); |
|
|
|
}else { |
|
|
|
this.$message.warning(data.msg) |
|
|
|
} |
|
|
|
this.form.rollNo = '' |
|
|
|
}).catch((error)=>{ |
|
|
|
this.form.rollNo = '' |
|
|
|
this.$message.error(error) |
|
|
|
}) |
|
|
|
|
|
|
|
}, |
|
|
|
handleGetRollDataList(row){ |
|
|
|
this.form = { |
|
|
|
...row, |
|
|
|
openDetail:true, |
|
|
|
} |
|
|
|
this.getDataList(); |
|
|
|
this.open = true; |
|
|
|
}, |
|
|
|
handleRollRemove(row){ |
|
|
|
this.$confirm('确定要删除这条数据?', '提示', { |
|
|
|
confirmButtonText: '确定', |
|
|
|
cancelButtonText: '取消', |
|
|
|
type: 'warning' |
|
|
|
}).then(()=>{ |
|
|
|
removeShipmentRollData(row).then(({data})=>{ |
|
|
|
if (data && data.code === 0){ |
|
|
|
this.getDataList(); |
|
|
|
this.$message.success(data.msg) |
|
|
|
}else { |
|
|
|
this.$message.warning(data.msg) |
|
|
|
} |
|
|
|
}).catch((error)=>{ |
|
|
|
this.$message.error(error) |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
handleEndBox(){ |
|
|
|
this.endForm = { |
|
|
|
warehouseId:'', |
|
|
|
shipmentDate:'', |
|
|
|
} |
|
|
|
let params = { |
|
|
|
...this.form, |
|
|
|
} |
|
|
|
getShipmentRollAllData(params).then(({data})=>{ |
|
|
|
if (data && data.code === 0){ |
|
|
|
this.endDataList = data.rows |
|
|
|
this.endOpen = true; |
|
|
|
}else { |
|
|
|
this.$message.warning(data.msg) |
|
|
|
} |
|
|
|
}).catch((error)=>{ |
|
|
|
this.$message.error(error) |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
</script> |
|
|
|
@ -21,21 +171,122 @@ export default { |
|
|
|
<template> |
|
|
|
<div> |
|
|
|
<div style="display: flex;justify-content: space-between;"> |
|
|
|
<div><el-button type="primary" >新增箱子</el-button></div> |
|
|
|
<div><el-button type="primary" @click="$emit('lastOutShipment')">最终出库</el-button></div> |
|
|
|
<div><el-button type="primary" @click="handleAddBox">新增箱子</el-button></div> |
|
|
|
<div><el-button type="primary" @click="handleEndBox">最终出库</el-button></div> |
|
|
|
</div> |
|
|
|
<el-table :data="dataList" style="width: 100%" border :height="height"> |
|
|
|
<el-table-column prop="boxNo" label="箱号" width="400" header-align="center" align="left"></el-table-column> |
|
|
|
<el-table-column prop="boxNoStr" label="箱号" width="200" header-align="center" align="left"></el-table-column> |
|
|
|
<el-table-column prop="createBy" label="录入人" width="100" header-align="center" align="left"></el-table-column> |
|
|
|
<el-table-column prop="createDate" label="录入时间" width="200" header-align="center" align="center"></el-table-column> |
|
|
|
<el-table-column prop="status" label="状态" width="100" header-align="center" align="center"></el-table-column> |
|
|
|
<el-table-column align="center" label="操作"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-link >查看</el-link> |
|
|
|
<el-link @click="handleScanRoll(scope.row)" v-if="scope.row.status==='未封箱'">扫描</el-link> |
|
|
|
<el-link v-if="scope.row.status==='未封箱'" @click="handleUpdateBoxStatus(scope.row)">封箱</el-link> |
|
|
|
<el-link v-if="scope.row.status==='未封箱'" @click="handleRemoveBox(scope.row)">删除</el-link> |
|
|
|
<el-link @click="handleGetRollDataList(scope.row)">查看</el-link> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
|
|
|
|
<el-dialog title="扫描" :visible.sync="open" v-drag :close-on-click-modal="false" append-to-body width="1000px"> |
|
|
|
<el-form :model="form" label-width="100px" label-position="top" > |
|
|
|
<el-row :gutter="10"> |
|
|
|
<el-col :span="4"> |
|
|
|
<el-form-item label="发货ID"> |
|
|
|
<el-input v-model="form.shipmentId" disabled></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="4"> |
|
|
|
<el-form-item label="箱号"> |
|
|
|
<el-input v-model="form.boxNoStr" disabled></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row :gutter="10"> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-form-item label="请扫描"> |
|
|
|
<el-input v-model="form.rollNo" :disabled="form.openDetail" ref="inputRollNo" @keyup.enter.native="handleRollScan" placeholder="请输入扫描的条码"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="24"> |
|
|
|
<el-form-item label="已扫描列表"> |
|
|
|
<el-table :data="rollDataList" border :height="200"> |
|
|
|
<el-table-column width="60" label="操作" align="center"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-link @click="handleRollRemove(scope.row)">删除</el-link> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="partNo" width="100" header-align="center" label="物料编码"></el-table-column> |
|
|
|
<el-table-column prop="partDesc" width="200" header-align="center" label="物料名称"></el-table-column> |
|
|
|
<el-table-column prop="rollNo" width="100" header-align="center" label="卷号"></el-table-column> |
|
|
|
<el-table-column prop="rollQty" width="60" header-align="center" align="right" label="数量"></el-table-column> |
|
|
|
<el-table-column prop="batchNo" width="60" header-align="center" label="批号"></el-table-column> |
|
|
|
<el-table-column prop="ref" width="60" header-align="center" align="left" label="WD"></el-table-column> |
|
|
|
<el-table-column prop="manufacturerTime" width="150" header-align="center" align="center" label="生产日期"></el-table-column> |
|
|
|
<el-table-column prop="expirationDate" width="150" header-align="center" align="center" label="失效日期"></el-table-column> |
|
|
|
<el-table-column prop="locationId" width="100" header-align="center" align="center" label="库位"></el-table-column> |
|
|
|
<el-table-column prop="createBy" width="100" header-align="center" label="Created By"></el-table-column> |
|
|
|
<el-table-column prop="createTime" width="150" header-align="center" align="center" label="Created Time"></el-table-column> |
|
|
|
</el-table> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
</el-form> |
|
|
|
<el-footer style="height: 20px"></el-footer> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<el-dialog title="最终出库" :visible.sync="endOpen" v-drag :close-on-click-modal="false" append-to-body width="800px"> |
|
|
|
<el-form :model="endForm" label-width="100px" label-position="top" > |
|
|
|
<el-row :gutter="10"> |
|
|
|
<el-col :span="4"> |
|
|
|
<el-form-item label="仓库"> |
|
|
|
<el-select v-model="endForm.warehouseId" placeholder="请选择仓库"> |
|
|
|
<el-option value="材料" label="材料"></el-option> |
|
|
|
<el-option value="成品" label="成品"></el-option> |
|
|
|
<el-option value="车间" label="车间"></el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="4"> |
|
|
|
<el-form-item label="出库日期"> |
|
|
|
<el-date-picker |
|
|
|
style="width: 100%" |
|
|
|
v-model="endForm.shipmentDate" |
|
|
|
type="date" |
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
placeholder="选择日期"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="4" :offset="12"> |
|
|
|
<el-form-item label=" "> |
|
|
|
<div style="float: right;"><el-button type="primary" >最终出库</el-button></div> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row :gutter="10"> |
|
|
|
<el-col :span="24"> |
|
|
|
<el-form-item label="已扫描信息汇总"> |
|
|
|
<el-table :data="endDataList" border :height="200"> |
|
|
|
<el-table-column prop="partNo" min-width="100" header-align="center" label="物料编码"></el-table-column> |
|
|
|
<el-table-column prop="partDesc" min-width="200" header-align="center" label="物料描述"></el-table-column> |
|
|
|
<el-table-column prop="total" min-width="100" header-align="center" align="right" label="总数量"></el-table-column> |
|
|
|
<el-table-column prop="totalBox" min-width="100" header-align="center" align="right" label="总箱数"></el-table-column> |
|
|
|
<el-table-column prop="totalRoll" min-width="100" header-align="center" align="right" label="总卷数"></el-table-column> |
|
|
|
</el-table> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
</el-form> |
|
|
|
<el-footer style="height: 20px"></el-footer> |
|
|
|
</el-dialog> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<style scoped> |
|
|
|
|
|
|
|
/deep/ .el-form-item--medium .el-form-item__content{ |
|
|
|
height: auto; |
|
|
|
} |
|
|
|
</style> |