Browse Source

备品备件

java8
ruanqi 11 months ago
parent
commit
16bbd015de
  1. 6
      src/api/ecss/ecss.js
  2. 652
      src/views/modules/ecss/codelnotifyConfirm.vue

6
src/api/ecss/ecss.js

@ -42,3 +42,9 @@ export const deleteHsCode= data => createAPI(`/ecss/coDel/deleteHsCode`,'post',d
export const searchCoDelPalletData= data => createAPI(`/ecss/coDel/searchCoDelPalletData`,'post',data) export const searchCoDelPalletData= data => createAPI(`/ecss/coDel/searchCoDelPalletData`,'post',data)
export const saveCoDelPalletDataByExcel= data => createAPI(`/ecss/coDel/saveCoDelPalletDataByExcel`,'post',data) export const saveCoDelPalletDataByExcel= data => createAPI(`/ecss/coDel/saveCoDelPalletDataByExcel`,'post',data)
export const searchEcssCoDelPalletHeaderData= data => createAPI(`/ecss/coDel/searchEcssCoDelPalletHeaderData`,'post',data)
export const searchEcssCoDelPalletDetailData= data => createAPI(`/ecss/coDel/searchEcssCoDelPalletDetailData`,'post',data)
export const savePalletHeader = data => createAPI(`/ecss/coDel/savePalletHeader`,'post',data)
export const deletePalletHeader = data => createAPI(`/ecss/coDel/deletePalletHeader`,'post',data)
export const savePalletDetail = data => createAPI(`/ecss/coDel/savePalletDetail`,'post',data)
export const deletePalletDetail = data => createAPI(`/ecss/coDel/deletePalletDetail`,'post',data)

652
src/views/modules/ecss/codelnotifyConfirm.vue

@ -132,7 +132,7 @@
<!-- </el-table-column>--> <!-- </el-table-column>-->
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="装修清单" name="pallet">
<el-tab-pane label="装箱明细" name="pallet">
<el-button @click="upLoadPallet()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'导入装箱单'}}</el-button> <el-button @click="upLoadPallet()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'导入装箱单'}}</el-button>
<el-table <el-table
:data="dataList3" :data="dataList3"
@ -169,8 +169,107 @@
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="手工装箱" name="box">
<el-button @click="newPalletModel()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'创建栈板'}}</el-button>
<el-table
:data="dataList4"
:height="height"
border
v-loading="dataListLoading"
style="width: 100%; ">
<el-table-column
header-align="center"
align="center"
width="150"
fixed="left"
label="操作">
<template slot-scope="scope">
<a type="text" size="small" v-if="currentRow.notifyStatus==='仓库已确认'" @click="boxDetailModel(scope.row)">箱明细</a>
<a type="text" size="small" v-if="currentRow.notifyStatus==='仓库已确认'" @click="updatePalletModel(scope.row)">修改</a>
<a type="text" size="small" v-if="currentRow.notifyStatus==='仓库已确认'" @click="deletePallet(scope.row)">删除</a>
</template>
</el-table-column>
<el-table-column
v-for="(item,index) in columnList4" :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>
<el-dialog title="栈板明细" :close-on-click-modal="false" v-drag :visible.sync="boxDetailModelFlag" width="600px">
<el-form label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-row :gutter="20">
<el-col :span="6">
<el-form-item :label="'发货通知单号'" >
<el-input v-model="boxDetailData.delNo" disabled ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'序号'" >
<el-input v-model="boxDetailData.seqNo" disabled ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="' '" >
<el-button @click="newBoxModel()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'新增箱'}}</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
:data="dataList5"
:height="height"
border
v-loading="dataListLoading"
style="width: 100%; ">
<el-table-column
header-align="center"
align="center"
width="150"
fixed="left"
label="操作">
<template slot-scope="scope">
<a type="text" size="small" v-if="currentRow.notifyStatus=='仓库已确认'" @click="updateBoxModel(scope.row)">修改</a>
<a type="text" size="small" v-if="currentRow.notifyStatus=='仓库已确认'" @click="deleteBox(scope.row)">删除</a>
</template>
</el-table-column>
<el-table-column
v-for="(item,index) in columnList5" :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-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" @click="boxDetailModelFlag=false">关闭</el-button>
</el-footer>
</el-dialog>
<el-dialog title="仓库确认" :close-on-click-modal="false" v-drag :visible.sync="confirmModelFlag" width="400px"> <el-dialog title="仓库确认" :close-on-click-modal="false" v-drag :visible.sync="confirmModelFlag" width="400px">
<el-form label-position="top" style="margin-left: 7px;margin-top: -5px;"> <el-form label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-row :gutter="20"> <el-row :gutter="20">
@ -200,10 +299,94 @@
</el-form> </el-form>
<el-footer style="height:40px;margin-top: 10px;text-align:center"> <el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" @click="confirmDo()">保存</el-button> <el-button type="primary" @click="confirmDo()">保存</el-button>
<el-button type="primary" @click="confirmModelFlag=false">关闭</el-button>
<el-button type="primary" @click="boxDetailModelFlag=false">关闭</el-button>
</el-footer>
</el-dialog>
<el-dialog title="维护栈板" :close-on-click-modal="false" v-drag :visible.sync="palletModelFlag" width="600px">
<el-form label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-row :gutter="20">
<el-col :span="6">
<el-form-item :label="'栈板编号'" >
<el-input v-model="palletModelData.palletRemark" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'数量'" >
<el-input v-model="palletModelData.palletQty" type="number" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'长(M)'" >
<el-input v-model="palletModelData.length" type="number" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'宽(M)'" >
<el-input v-model="palletModelData.width" type="number" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'高(M)'" >
<el-input v-model="palletModelData.height" type="number" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'体积'" >
<el-input v-model="palletModelData.volume" type="number" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'毛重'" >
<el-input v-model="palletModelData.grossWeight" type="number"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'净重'" >
<el-input v-model="palletModelData.netWeight" type="number" ></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" @click="savePalletHeader()">保存</el-button>
<el-button type="primary" @click="palletModelFlag=false">关闭</el-button>
</el-footer>
</el-dialog>
<el-dialog title="维护箱" :close-on-click-modal="false" v-drag :visible.sync="boxModelFlag" width="600px">
<el-form label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-row :gutter="20">
<el-col :span="6">
<el-form-item :label="'物料编码'" >
<el-input v-model="boxModelData.partNo" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'数量'" >
<el-input v-model="boxModelData.qty" type="number" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'PO'" >
<el-input v-model="boxModelData.poNo" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'箱数'" >
<el-input v-model="boxModelData.boxQty" type="boxQty" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'ROLLS'" >
<el-input v-model="boxModelData.rolls" type="number" ></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" @click="saveBoxHeader()">保存</el-button>
<el-button type="primary" @click="boxModelFlag=false">关闭</el-button>
</el-footer> </el-footer>
</el-dialog> </el-dialog>
<!-- 导入 --> <!-- 导入 -->
<pallet-upload-excel ref="palletUploadExcel" @refreshTable="searchPalletTable" v-drag></pallet-upload-excel> <pallet-upload-excel ref="palletUploadExcel" @refreshTable="searchPalletTable" v-drag></pallet-upload-excel>
@ -219,6 +402,12 @@
confirmEcssDel, confirmEcssDel,
cancerConfirmEcssDel, cancerConfirmEcssDel,
searchCoDelPalletData, searchCoDelPalletData,
searchEcssCoDelPalletHeaderData,
searchEcssCoDelPalletDetailData,
savePalletHeader,
deletePalletHeader,
savePalletDetail,
deletePalletDetail,
}from "@/api/ecss/ecss.js" }from "@/api/ecss/ecss.js"
import {getAllBuList}from '@/api/factory/site.js' import {getAllBuList}from '@/api/factory/site.js'
export default { export default {
@ -236,7 +425,16 @@
dataList:[], dataList:[],
dataList2:[], dataList2:[],
dataList3:[], dataList3:[],
dataList4:[],
dataList5:[],
boxDetailData:{
site:'',
buNo:'',
delNo:'',
seqNo:'',
},
dataListLoading: false, dataListLoading: false,
boxDetailModelFlag: false,
searchData: { searchData: {
page: 1, page: 1,
limit: 100, limit: 100,
@ -248,6 +446,39 @@
endDate:'', endDate:'',
username:this.$store.state.user.name, username:this.$store.state.user.name,
}, },
palletModelFlag:false,
palletModelData:{
addFlag:0,
site:'',
buNo:'',
delNo:'',
seqNo:'',
palletNo:'',
palletQty:'',
length:'',
width:'',
height:'',
volume:'',
grossWeight:'',
netWeight:'',
palletRemark:'',
},
boxModelFlag:false,
boxModelData:{
addFlag:0,
site:'',
buNo:'',
delNo:'',
seqNo:'',
itemNo:'',
partNo:'',
qty:'',
poNo:'',
boxQty:'',
rolls:'',
},
buttons:{ buttons:{
search:'查询', search:'查询',
}, },
@ -1207,6 +1438,226 @@
columnWidth: 50 columnWidth: 50
}, },
], ],
columnList4:[
{
userId: this.$store.state.user.name,
functionId: 801002,
serialNumber: '801002Table4SeqNo',
tableId: "801002Table4",
tableName: "装箱栈板主表",
columnProp: "seqNo",
headerAlign: "center",
align: "right",
columnLabel: "序号",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 40
},
{
userId: this.$store.state.user.name,
functionId: 801002,
serialNumber: '801002Table4PalletRemark',
tableId: "801002Table4",
tableName: "装箱栈板主表",
columnProp: "palletRemark",
headerAlign: "center",
align: "left",
columnLabel: "栈板码",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 801002,
serialNumber: '801002Table4PalletQty',
tableId: "801002Table4",
tableName: "装箱栈板主表",
columnProp: "palletQty",
headerAlign: "center",
align: "right",
columnLabel: "数量",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 50
},
{
userId: this.$store.state.user.name,
functionId: 801002,
serialNumber: '801002Table4Length',
tableId: "801002Table4",
tableName: "装箱栈板主表",
columnProp: "length",
headerAlign: "center",
align: "right",
columnLabel: "长(M)",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 50
},
{
userId: this.$store.state.user.name,
functionId: 801002,
serialNumber: '801002Table4Width',
tableId: "801002Table4",
tableName: "装箱栈板主表",
columnProp: "width",
headerAlign: "center",
align: "right",
columnLabel: "宽(M)",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 50
},
{
userId: this.$store.state.user.name,
functionId: 801002,
serialNumber: '801002Table4Height',
tableId: "801002Table4",
tableName: "装箱栈板主表",
columnProp: "height",
headerAlign: "center",
align: "right",
columnLabel: "高(M)",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 50
},
{
userId: this.$store.state.user.name,
functionId: 801002,
serialNumber: '801002Table4GrossWeight',
tableId: "801002Table4",
tableName: "装箱栈板主表",
columnProp: "grossWeight",
headerAlign: "center",
align: "right",
columnLabel: "毛重",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 50
},
{
userId: this.$store.state.user.name,
functionId: 801002,
serialNumber: '801002Table4NetWeight',
tableId: "801002Table4",
tableName: "装箱栈板主表",
columnProp: "netWeight",
headerAlign: "center",
align: "right",
columnLabel: "净重",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 50
},
],
columnList5:[
{
userId: this.$store.state.user.name,
functionId: 801002,
serialNumber: '801002Table5PartNo',
tableId: "801002Table5",
tableName: "栈板装箱明细",
columnProp: "partNo",
headerAlign: "center",
align: "left",
columnLabel: "物料编码",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 70
},
{
userId: this.$store.state.user.name,
functionId: 801002,
serialNumber: '801002Table5Qty',
tableId: "801002Table5",
tableName: "栈板装箱明细",
columnProp: "qty",
headerAlign: "center",
align: "right",
columnLabel: "数量",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 801002,
serialNumber: '801002Table5BoxQty',
tableId: "801002Table5",
tableName: "栈板装箱明细",
columnProp: "boxQty",
headerAlign: "center",
align: "right",
columnLabel: "箱数",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 70
},
{
userId: this.$store.state.user.name,
functionId: 801002,
serialNumber: '801002Table5Rolls',
tableId: "801002Table5",
tableName: "栈板装箱明细",
columnProp: "rolls",
headerAlign: "center",
align: "right",
columnLabel: "Rolls",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 70
},
],
currentRow:{}, currentRow:{},
} }
}, },
@ -1255,7 +1706,7 @@
}, },
refreshCurrentTabTable(){ refreshCurrentTabTable(){
if(this.currentRow===''||this.currentRow===null){ if(this.currentRow===''||this.currentRow===null){
this.currentRow={site:'',delNo:''}
this.currentRow={site:'',delNo:'',notifyStatus:''}
} }
if(this.activeName==='detail'){ if(this.activeName==='detail'){
searchEcssCoDelNotifyDetail(this.currentRow).then(({data}) => { searchEcssCoDelNotifyDetail(this.currentRow).then(({data}) => {
@ -1279,6 +1730,17 @@
} }
}); });
} }
if(this.activeName==='box'){
searchEcssCoDelPalletHeaderData(this.currentRow).then(({data}) => {
//
if (data && data.code == 0) {
this.dataList4 = data.rows
} else {
this.dataList4 = [];
}
});
}
}, },
tabClick (tab, event) { tabClick (tab, event) {
// //
@ -1337,6 +1799,12 @@
this.confirmModelFlag=true this.confirmModelFlag=true
}, },
upLoadPallet(){ upLoadPallet(){
if(this.dataList3.length>0){
this.$alert('已经有明细无法再次导入请去手工装箱全部删除!', '错误', {
confirmButtonText: '确定'
})
return false
}
if(this.currentRow.site===''||this.currentRow.site==null){ if(this.currentRow.site===''||this.currentRow.site==null){
this.$alert('请先选择发货通知单!', '错误', { this.$alert('请先选择发货通知单!', '错误', {
confirmButtonText: '确定' confirmButtonText: '确定'
@ -1362,6 +1830,182 @@
searchPalletTable(){ searchPalletTable(){
this.refreshCurrentTabTable(); this.refreshCurrentTabTable();
}, },
boxDetailModel(row){
this.boxDetailData=row
searchEcssCoDelPalletDetailData(row).then(({data}) => {
if (data.code === 0) {
this.dataList5 = data.rows
}
})
this.boxDetailModelFlag=true
},
updatePalletModel(row){
this.palletModelData=JSON.parse(JSON.stringify(row))
this.palletModelData.addFlag=1
this.palletModelFlag=true
},
newPalletModel(){
if(this.currentRow.site===''||this.currentRow.site==null){
this.$alert('请先选择发货通知单!', '错误', {
confirmButtonText: '确定'
})
return false
}
this.palletModelData={
addFlag:0,
site:this.currentRow.site,
buNo:this.currentRow.buNo,
delNo:this.currentRow.delNo,
seqNo:'',
palletNo:'',
palletQty:'',
length:'',
width:'',
height:'',
volume:'',
grossWeight:'',
netWeight:'',
palletRemark:'',
}
this.palletModelFlag=true
},
savePalletHeader(){
if(this.palletModelData.palletQty===''||this.palletModelData.palletQty==null){
this.$alert('请输入数量!', '错误', {
confirmButtonText: '确定'
})
return false
}
if(this.palletModelData.grossWeight===''||this.palletModelData.grossWeight==null){
this.$alert('请输入毛重!', '错误', {
confirmButtonText: '确定'
})
return false
}
if(this.palletModelData.netWeight===''||this.palletModelData.netWeight==null){
this.$alert('请输入净重!', '错误', {
confirmButtonText: '确定'
})
return false
}
savePalletHeader(this.palletModelData).then(({data}) => {
if (data && data.code === 0) {
this.refreshCurrentTabTable()
this.palletModelFlag=false;
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
},
deletePallet(row){
this.$confirm('确认删除此明细?', '提示').then(() => {
deletePalletHeader(row).then(({data}) => {
if (data && data.code === 0) {
this.refreshCurrentTabTable()
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
})
},
updateBoxModel(row){
this.boxModelData=JSON.parse(JSON.stringify(row))
this.boxModelData.addFlag=1
this.boxModelFlag=true
},
newBoxModel(){
this.boxModelData={
addFlag:0,
site:this.boxDetailData.site,
buNo:this.boxDetailData.buNo,
delNo:this.boxDetailData.delNo,
seqNo:this.boxDetailData.seqNo,
itemNo:'',
partNo:'',
qty:'',
poNo:'',
boxQty:'',
rolls:'',
}
this.boxModelFlag=true
},
saveBoxHeader(){
if(this.boxModelData.partNo===''||this.boxModelData.partNo==null){
this.$alert('请输入物料!', '错误', {
confirmButtonText: '确定'
})
return false
}
if(this.boxModelData.qty<=0||this.boxModelData.qty==null){
this.$alert('请输入数量!', '错误', {
confirmButtonText: '确定'
})
return false
}
savePalletDetail(this.boxModelData).then(({data}) => {
if (data && data.code === 0) {
searchEcssCoDelPalletDetailData(this.boxDetailData).then(({data}) => {
if (data.code === 0) {
this.dataList5 = data.rows
}
})
this.boxModelFlag=false;
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
},
deleteBox(row){
this.$confirm('确认删除此明细?', '提示').then(() => {
deletePalletDetail(row).then(({data}) => {
if (data && data.code === 0) {
searchEcssCoDelPalletDetailData(this.boxDetailData).then(({data}) => {
if (data.code === 0) {
this.dataList5 = data.rows
}
})
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
})
}
}, },
created() { created() {
this.getBu () this.getBu ()

Loading…
Cancel
Save