parent
f8656f7784
commit
38315315aa
@ -0,0 +1,232 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
import { VXETable } from 'vxe-table'
|
||||||
|
import XLSX from 'xlsx'
|
||||||
|
const init=function (that){
|
||||||
|
|
||||||
|
let list=[]
|
||||||
|
const butClick=function (){
|
||||||
|
data.options.formConfig.data.dcCh=that.$refs.projectSelectRef.getDcch()
|
||||||
|
getData(data.options.formConfig.data).then(res=>{
|
||||||
|
list=res.data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const 核对=function (){
|
||||||
|
const dcCh=that.$refs.xqProjectSelectRef.getDcch();
|
||||||
|
const dcPl=data.options.formConfig.data.xqpl
|
||||||
|
if (!dcCh||!dcPl){
|
||||||
|
VXETable.modal.message({ content: '请选择需求船号和批量', status: 'warning' })
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const table=that.$refs.vGrid
|
||||||
|
const list=table.getCheckboxRecords()
|
||||||
|
if (list.length===0){
|
||||||
|
VXETable.modal.message({ content: '请选择数据', status: 'warning' })
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
const _data={
|
||||||
|
dcCh:dcCh,
|
||||||
|
dcPl:dcPl,
|
||||||
|
ylList:list
|
||||||
|
}
|
||||||
|
核对数据(_data).then(res=>{
|
||||||
|
const data=res.data
|
||||||
|
for (const item of data) {
|
||||||
|
for (let it of list) {
|
||||||
|
if (it.id===item.id){
|
||||||
|
it=Object.assign(it,item)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const 保存=()=>{
|
||||||
|
const list=that.$refs.vGrid.getCheckboxRecords()
|
||||||
|
if (list.length>0){
|
||||||
|
edit(list).then(res=>{
|
||||||
|
VXETable.modal.message({ content: '成功', status: 'success' })
|
||||||
|
butClick()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const 打印=()=>{
|
||||||
|
const list=that.$refs.vGrid.getCheckboxRecords()
|
||||||
|
if (list.length>0){
|
||||||
|
print(list).then(res=>{
|
||||||
|
const workBook = XLSX.utils.book_new();
|
||||||
|
const _data=list.map(item=>{
|
||||||
|
return {
|
||||||
|
船号:item.使用船号,
|
||||||
|
批量:item.使用批量,
|
||||||
|
图纸编号:item.使用图纸,
|
||||||
|
余料编号:item.余料编号,
|
||||||
|
垛位:item.垛位
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const sheet=XLSX.utils.json_to_sheet(_data)
|
||||||
|
XLSX.utils.book_append_sheet(workBook, sheet, "sheet");
|
||||||
|
XLSX.writeFile(workBook, `${data.options.formConfig.dcCh}-${data.options.formConfig.dcPl}余料上料计划.xlsx`)
|
||||||
|
butClick()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const 退回=()=>{
|
||||||
|
const list=that.$refs.vGrid.getCheckboxRecords()
|
||||||
|
if(list.length>0){
|
||||||
|
rollback(list).then(()=>{
|
||||||
|
VXETable.modal.message({ content: '成功', status: 'success' })
|
||||||
|
butClick()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const useStatus=[
|
||||||
|
{label:'未使用',value:'0'},
|
||||||
|
{label:'未打印',value:'1'},
|
||||||
|
{label:'已打印',value:'2'},
|
||||||
|
{label:'已切割',value:'3'},
|
||||||
|
]
|
||||||
|
|
||||||
|
const formatUseStatus=({cellValue})=>{
|
||||||
|
for (const item of useStatus) {
|
||||||
|
if(item.value===cellValue){
|
||||||
|
return item.label
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return cellValue
|
||||||
|
}
|
||||||
|
|
||||||
|
const data={
|
||||||
|
options:{
|
||||||
|
height:800,
|
||||||
|
align:'center',
|
||||||
|
border: true,
|
||||||
|
resizable: true,
|
||||||
|
keepSource:true,
|
||||||
|
size:'mini',
|
||||||
|
showOverflow: true,
|
||||||
|
editConfig:{trigger: 'click', mode: 'cell', showStatus: true},
|
||||||
|
highlightCurrentRow:true,
|
||||||
|
formConfig:{
|
||||||
|
data:{
|
||||||
|
dcCh:'',
|
||||||
|
dcPl:'',
|
||||||
|
tzbh:'',
|
||||||
|
status:'',
|
||||||
|
xqch:'',
|
||||||
|
xqpl:'',
|
||||||
|
},
|
||||||
|
items:[
|
||||||
|
{ field: 'dcCh', title: '来源船只', span: 3,slots: { default: 'name_czbh' } },
|
||||||
|
{ field: 'dcPl', title: '来源批量', span: 3 ,itemRender: {name: '$input'}},
|
||||||
|
{ field: 'tzbh', title: '来源图号', span: 3 ,itemRender: {name: '$input'}},
|
||||||
|
{ field: 'status', title: '使用状态', span: 3 ,
|
||||||
|
itemRender: {name: '$select',props:{options:useStatus}}
|
||||||
|
},
|
||||||
|
{span: 12,
|
||||||
|
children:[
|
||||||
|
{ span: 14,align:'right',itemRender: {
|
||||||
|
name: '$button', props: {content:'查询',status:'primary'},events:{click:butClick}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ align:'right',itemRender: {
|
||||||
|
name: '$button', props: {content:'核对',status:'primary'},events:{click:核对}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ align:'right',itemRender: {
|
||||||
|
name: '$button', props: {content:'保存',status:'primary'},events:{click:保存}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ align:'right',itemRender: {
|
||||||
|
name: '$button', props: {content:'打印',status:'primary'},events:{click:打印}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ align:'right',itemRender: {
|
||||||
|
name: '$button', props: {content:'退回',status:'primary'},events:{click:退回}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{ field: 'xqch', title: '需求船只', span: 3,slots: { default: 'name_xqch' } },
|
||||||
|
{ field: 'xqpl', title: '需求批量', span: 3 ,itemRender: {name: '$input'}},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
columns:[
|
||||||
|
{ field: 'id', title: 'ID', width: 150 },
|
||||||
|
{ field: '余料编号', title: '余料编号', width: 150 },
|
||||||
|
{ field: '规格', title: '规格', width: 150 },
|
||||||
|
{ field: '板厚', title: '板厚', width: 100 },
|
||||||
|
{ field: '板宽', title: '板宽', width: 100 },
|
||||||
|
{ field: '板长', title: '板长', width: 100 },
|
||||||
|
{ field: '炉批号', title: '炉批号', width: 150 },
|
||||||
|
{ field: '重量', title: '重量', width: 120 },
|
||||||
|
{ field: '数量', title: '数量', width: 80 },
|
||||||
|
{ field: '垛位', title: '垛位', width: 100 },
|
||||||
|
{ field: '层数', title: '层数', width: 80 },
|
||||||
|
{ field: '来源船号', title: '来源船号', width: 120 },
|
||||||
|
{ field: '来源批量', title: '来源批量', width: 120 },
|
||||||
|
{ field: '来源图纸', title: '来源图纸', width: 150 },
|
||||||
|
{ field: '物品型号', title: '物品型号', width: 150 },
|
||||||
|
{ field: '物品规格', title: '物品规格', width: 150 },
|
||||||
|
{ field: '切割日期', title: '切割日期', width: 150 },
|
||||||
|
{ field: '使用船号', title: '使用船号', width: 120 },
|
||||||
|
{ field: '使用批量', title: '使用批量', width: 120 },
|
||||||
|
{ field: '使用分段', title: '使用分段', width: 120 },
|
||||||
|
{ field: '使用图纸', title: '使用图纸', width: 150 },
|
||||||
|
{ field: '使用日期', title: '使用日期', width: 150 },
|
||||||
|
{field: '使用状态', title: '使用状态', width: 120, formatter:formatUseStatus}
|
||||||
|
],
|
||||||
|
data:list,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
return data
|
||||||
|
}
|
||||||
|
|
||||||
|
const getData=(data)=>{
|
||||||
|
return request({
|
||||||
|
url: "/yl/list",
|
||||||
|
method: "post",
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const 核对数据=(data)=>{
|
||||||
|
return request({
|
||||||
|
url: "/yl/sl",
|
||||||
|
method: "post",
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const edit=(data)=>{
|
||||||
|
return request({
|
||||||
|
url: "/yl/edit",
|
||||||
|
method: "post",
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const print=(data)=>{
|
||||||
|
return request({
|
||||||
|
url: "/yl/print",
|
||||||
|
method: "post",
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const rollback=(data)=>{
|
||||||
|
return request({
|
||||||
|
url: "/yl/rollback",
|
||||||
|
method: "post",
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export default init
|
Loading…
Reference in new issue