1.修正批量上料预处理垛位层数计算错误的问题

2.增加切割后摆放功能
3.修复班组人员职位为划线时的显示问题
4.作业计划查询板数修改为套料图数
master
董哲奇 2 months ago
parent 15c3182a21
commit 23d04b7a74

@ -6,7 +6,7 @@
"scripts": { "scripts": {
"dev": "vue-cli-service serve", "dev": "vue-cli-service serve",
"local": "vue-cli-service serve --mode local", "local": "vue-cli-service serve --mode local",
"server": "vue-cli-service serve --mode server", "serve": "vue-cli-service serve --mode server",
"test": "vue-cli-service serve --mode test", "test": "vue-cli-service serve --mode test",
"lint": "eslint --ext .js,.vue src", "lint": "eslint --ext .js,.vue src",
"build:test": "vue-cli-service build --mode test", "build:test": "vue-cli-service build --mode test",

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -36,8 +36,8 @@ export default {
props:{ props:{
_style:{ _style:{
type:Object, type:Object,
default:{ default:()=>{
width:'150px' return {width:'150px'}
} }
} }
}, },

@ -177,7 +177,7 @@ export default {
filterRender: { name: 'FilterCombination', }, filterRender: { name: 'FilterCombination', },
editRender:{ name: '$input', props: { type: 'date',labelFormat:"yyyy/MM/dd",valueFormat:"yyyy/MM/dd" }} editRender:{ name: '$input', props: { type: 'date',labelFormat:"yyyy/MM/dd",valueFormat:"yyyy/MM/dd" }}
}, },
{ field: 'bs', title: '数',width: 80, { field: 'bs', title: '套料图数',width: 80,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', }}, filterRender: { name: 'FilterCombination', }},
{ field: 'ylbs', title: '余料板数',width: 80, { field: 'ylbs', title: '余料板数',width: 80,

@ -5,7 +5,7 @@
<el-row> <el-row>
<el-col :span="4"> <el-col :span="4">
<el-form-item label="区域:"> <el-form-item label="区域:">
<el-select v-model="request.qy" placeholder="垛位" clearable> <el-select v-model="request.qy" placeholder="区域" clearable>
<el-option <el-option
v-for="item in qyList" v-for="item in qyList"
:key="item.value" :key="item.value"
@ -16,20 +16,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="20" style="text-align: right">
<el-form-item label="垛位号:">
<el-select v-model="request.dwh" placeholder="垛位号" clearable>
<el-option
v-for="item in dwList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="16" style="text-align: right">
<el-button type="primary" @click="initList()"></el-button> <el-button type="primary" @click="initList()"></el-button>
<el-button type="success" @click="add"></el-button> <el-button type="success" @click="add"></el-button>
<el-button type="success" @click="save"></el-button> <el-button type="success" @click="save"></el-button>
@ -78,7 +65,6 @@ export default {
height: "500px", height: "500px",
list:[], list:[],
qyList:[], qyList:[],
dwList:[],
projectData:[], projectData:[],
request:{ request:{
qy:'', qy:'',
@ -97,21 +83,6 @@ export default {
filterRender: { name: 'FilterCombination', }, filterRender: { name: 'FilterCombination', },
editRender:{ name: '$input', props: { placeholder: '请输入垛位号' }} editRender:{ name: '$input', props: { placeholder: '请输入垛位号' }}
}, },
{ field: 'dcCh', title: '船号', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
editRender:{ name: '$input', props: { placeholder: '请输入船号' }}
},
{ field: 'dcPl', title: '批量', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
editRender:{ name: '$input', props: { placeholder: '请输入批量' }}
},
{ field: 'dcFd', title: '分段', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
editRender:{ name: '$input', props: { placeholder: '请输入分段' }}
},
], ],
} }
}, },
@ -139,13 +110,15 @@ export default {
getBfwz(this.request).then(res=>{ getBfwz(this.request).then(res=>{
this.list=res.data this.list=res.data
const _qyList=[] const _qyList=[]
const _dwhList=[] const tmp=[]
this.list.forEach(item=>{ this.list.forEach(item=>{
if (tmp.includes(item.qy)){
return
}
tmp.push(item.qy)
_qyList.push({label:item.qy,value:item.qy}) _qyList.push({label:item.qy,value:item.qy})
_dwhList.push({label:item.dwh,value:item.dwh})
}) })
this.qyList=_qyList; this.qyList=_qyList;
this.dwList=_dwhList
}) })
}, },
cellClickEvent({row}){ cellClickEvent({row}){

@ -1,47 +1,15 @@
<template> <template>
<!-- <el-dialog title="收货地址" :visible.sync="dialogFormVisible">-->
<el-container> <el-container>
<el-header style="width: 100%; height: 80px;font-size: 12px"> <el-header style="width: 100%; height: 80px;font-size: 12px">
<el-form :inline="true" label-width="55px" label-position="right">
<el-form :inline="true" label-width="65px" label-position="left">
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="船号:"> <el-form-item label="船号:">
<vxe-pulldown ref="xDown4" transfer > <ProjectSelect ref="projectSelectRef" />
<template #default> </el-form-item>
<vxe-input <el-form-item label="批量:">
v-model="queryParam.dcCh" <el-input v-model="queryParam.dcPl" type="search" placeholder="批量" />
placeholder="船号"
style="height: 28px;
line-height: 28px; width: 140px;"
suffix-icon="vxe-icon--search"
@keyup="keyupEvent4"
@focus="focusEvent4"
/>
</template>
<template #dropdown>
<div class="my-dropdown mytable " style="width: 250px">
<vxe-grid
highlight-hover-row
height="auto"
:data="projectData"
:columns="projectColumns"
@cell-click="cellClickEvent"
show-overflow
>
<template #wgbsEdit="{ row}">
<vxe-checkbox v-model="row.wgbs" checked-value="Y" unchecked-value="N" disabled ></vxe-checkbox>
</template>
</vxe-grid>
</div>
</template>
</vxe-pulldown>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="2"> <el-col :span="2">
<el-form-item style="float: right" > <el-form-item style="float: right" >
@ -87,15 +55,13 @@
:custom-config="{ storage: true }" :custom-config="{ storage: true }"
:edit-config="{ trigger: 'click', mode: 'cell', showStatus: true}" :edit-config="{ trigger: 'click', mode: 'cell', showStatus: true}"
highlight-hover-row highlight-hover-row
:scroll-y="{enabled: true}" :scroll-y="{enabled: true}"
show-overflow show-overflow
show-header-overflow show-header-overflow
@checkbox-all="selectAllEvent"
@checkbox-change="selectChangeEvent"
/> />
</div> </div>
</el-main> </el-main>
</el-container> </el-container>
</el-container> </el-container>
@ -124,33 +90,28 @@ import {
yppyzcx, yppyzcx,
yppyzUpdate yppyzUpdate
} from "@/api/sjzx/bzzGL"; } from "@/api/sjzx/bzzGL";
import ProjectSelect from "@/components/ProjectSelect/index.vue";
import {getBFangDwxx} from "@/views/zyjhzx/bfang/comps/api";
export default { export default {
name:'xqdwcjcd', name:'Yppyz',
components: {ProjectSelect},
data() { data() {
return { return {
queryParam: { queryParam: {
dcCh:'', dcCh:'',
dcPl:'',
},
},inParam:{ inParam:{
rqfw:'', rqfw:'',
zt:"" zt:""
}, },
qyData:[],
list: [], list: [],
deptList: [],
clickList: [], clickList: [],
checkedList:[],
projectData:[], projectData:[],
projectColumns: [
{field: 'cbbm', title: '船号',width: 110},
{ field: 'wgbs', title: '完工标识', width: 80,
slots:{
default: 'wgbsEdit'
},
},
],
dictData:{}, dictData:{},
height: '500px', height: '500px',
tableColumn: [ tableColumn: [
{ type: 'checkbox', width: 50 , { type: 'checkbox', width: 50 ,
}, },
@ -218,12 +179,6 @@ export default {
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination' } filterRender: { name: 'FilterCombination' }
}, },
// editRender: {
// name: '$select', options: [],
// optionProps: {value: 'bm', label: 'bmsm'},
// props: {clearable: true}
// , events: {change: this.selectChange}
// },
{ {
field: 'xj', field: 'xj',
title: '下级',editRender: { name: 'input' }, title: '下级',editRender: { name: 'input' },
@ -231,14 +186,27 @@ export default {
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination' } filterRender: { name: 'FilterCombination' }
}, },
// { {
// field: 'ppch', field: 'qy',
// title: '',editRender: { name: 'input' }, title: '区域',editRender: { name: '$select',options:[],props: {clearable: true},events:{change:this.qyChange} },
// width: 120, width: 120,
// filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
// filterRender: { name: 'FilterCombination' } filterRender: { name: 'FilterCombination' }
// }, },
{
field: 'dwh',
title: '垛位号',editRender: { name: '$select' },
width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination' }
},
{
field: 'status',
title: '状态',
width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination' }
},
] ]
} }
}, },
@ -250,29 +218,8 @@ export default {
this.getHeight() this.getHeight()
this.initBase() this.initBase()
}, },
methods: { methods: {
cellClickEvent({row}) {
this.queryParam.dcCh = row.cbbm
this.$refs.xDown4.hidePanel()
},
focusEvent4() {
this.$refs.xDown4.showPanel()
},
keyupEvent4() {
if (this.queryParam.dcCh) {
this.projectData = this.projectData1.filter(row => row.cbbm.indexOf(this.queryParam.dcCh.toUpperCase()) > -1)
} else {
this.projectData = this.projectData1.slice(0)
}
},
initBase(){ initBase(){
getPgdBase({}).then(res=>{ getPgdBase({}).then(res=>{
this.dictData = res.data this.dictData = res.data
@ -281,7 +228,6 @@ export default {
this.projectData1=res.data.cbbm this.projectData1=res.data.cbbm
const select=this.$refs.xGrid.getColumnByField('dcCh') const select=this.$refs.xGrid.getColumnByField('dcCh')
const chList=[] const chList=[]
console.log(this.projectData1)
res.data.cbbm.forEach(item=>{ res.data.cbbm.forEach(item=>{
const data={ const data={
label:item.cbbm, label:item.cbbm,
@ -290,53 +236,55 @@ export default {
chList.push(data) chList.push(data)
}) })
select.editRender.options=chList select.editRender.options=chList
const sldw = this.$refs.xGrid.getColumnByField('kw') const sldw = this.$refs.xGrid.getColumnByField('kw')
sldw.editRender.options = this.dictData.qgkw sldw.editRender.options = this.dictData.qgkw
})
getBFangDwxx().then((res)=>{
this.qyData=res.data
const qyList=[]
Object.keys(this.qyData).forEach(key=>{
const qy={label:key,value:key};
qyList.push(qy)
})
// console.log(this.dictData) const qy = this.$refs.xGrid.getColumnByField('qy')
// const xGrid = this.$refs.xGrid qy.editRender.options=qyList
//
// const zt = xGrid.getColumnByField('zt')
// const yzt = xGrid.getColumnByField('yzt')
// zt.editRender.options = res.data.kwxxs
// yzt.editRender.options = res.data.kwxxs
}) })
}, },
initList() { initList() {
this.queryParam.dcCh=this.$refs.projectSelectRef.getDcch()
yppyzcx(this.queryParam).then((res) => { yppyzcx(this.queryParam).then((res) => {
this.list = res.data res.data?.forEach(item=>{
if (this.$refs.xGrid) { Object.values(this.qyData).forEach(dwList=>{
this.$refs.xGrid.loadData(this.list) dwList.forEach(dwxx=>{
if (dwxx.id===item.dwxxId){
item.qy=dwxx.qy
item.dwh=dwxx.dwh
} }
}) })
})
})
this.list = res.data
})
}, },
qyChange({row}){
plClick(){ const qy=row.qy
let selectRecords = this.$refs.xGrid.getCheckboxRecords() const dwList=[]
if(selectRecords.length>0){ const qyColumn = this.$refs.xGrid.getColumnByField('dwh')
for(let i = 0; i < selectRecords.length; i++) { this.qyData[qy]?.forEach(item=>{
if(this.inParam.zt !==''){ const dw={label:item.dwh,value:item.dwh};
selectRecords[i]. yzt= selectRecords[i]. zt dwList.push(dw)
selectRecords[i]. zt= this.inParam.zt })
qyColumn.editRender.options=dwList
} },
if(this.inParam.rqfw !==''){ selectAllEvent() {
selectRecords[i].rqfw = this.inParam.rqfw this.checkedList = this.$refs.xGrid.getCheckboxRecords();
} },
//
selectChangeEvent() {
} this.checkedList = this.$refs.xGrid.getCheckboxRecords();
this.$refs.xGrid.updateData(this.list)
}
}, },
selectChange(row) { selectChange(row) {
this.$refs.xGrid.clearActived() // this.$refs.xGrid.clearActived() //
this.$refs.xGrid.setActiveCell(row.row, row.column.property) // this.$refs.xGrid.setActiveCell(row.row, row.column.property) //
@ -354,7 +302,6 @@ export default {
switch (code) { switch (code) {
case 'insert': case 'insert':
this.$refs.xGrid.insertAt({ this.$refs.xGrid.insertAt({
}, -1).then(({ row }) => { }, -1).then(({ row }) => {
this.$refs.xGrid.setActiveRow(row) this.$refs.xGrid.setActiveRow(row)
}) })
@ -369,8 +316,6 @@ export default {
}) })
break break
case 'save': case 'save':
if (removeRecords.length !== 0) { if (removeRecords.length !== 0) {
yppyzUpdate({"remove":removeRecords}).then((response) => { yppyzUpdate({"remove":removeRecords}).then((response) => {
if (response.success) { if (response.success) {
@ -387,10 +332,17 @@ export default {
} }
}) })
} }
if (updateRecords.length !== 0) { if (updateRecords.length !== 0) {
updateRecords.forEach(item=>{
Object.values(this.qyData).forEach(dwList=>{
dwList.forEach(dwxx=>{
if (dwxx.qy===item.qy&&dwxx.dwh===item.dwh){
item.dwxxId=dwxx.id
item.status=1
}
})
})
})
yppyzUpdate({"edit":updateRecords}).then((response) => { yppyzUpdate({"edit":updateRecords}).then((response) => {
if (response.success) { if (response.success) {
const xTable = this.$refs.xGrid const xTable = this.$refs.xGrid
@ -400,6 +352,16 @@ export default {
}) })
} }
if (insertRecords.length !== 0) { if (insertRecords.length !== 0) {
insertRecords.forEach(item=>{
Object.values(this.qyData).forEach(dwList=>{
dwList.forEach(dwxx=>{
if (dwxx.qy===item.qy&&dwxx.dwh===item.dwh){
item.dwxxId=dwxx.id
item.status=1
}
})
})
})
yppyzUpdate({"add":insertRecords}).then((response) => { yppyzUpdate({"add":insertRecords}).then((response) => {
if (response.success) { if (response.success) {
this.list = this.list.concat(insertRecords) this.list = this.list.concat(insertRecords)

@ -0,0 +1,86 @@
<template>
<div class="viewpdf-box">
<div class="border-out">
<div class="border-inner">
<el-row :gutter="20">
<el-col :span="6" v-for="(item, index) in data" :key="index">
<dv-border-box-12>
<div class="viewpdf-flex" @click="ljShow(item.list)">
<img src="@/assets/KHCFDC_PDF.png" alt="" />
<div class="pdf-title">{{ item.tzbh }}</div>
</div>
</dv-border-box-12>
</el-col>
</el-row>
</div>
</div>
</div>
</template>
<script>
import {getDmppxxbList} from "@/api/jhzxgl/ypp";
import {EventBus} from "@/event-bus";
import {groupBy} from "@/utils";
export default {
name: "BFangShow",
data(){
return {
data:[]
}
},
created(list){
EventBus.$emit('bfSearch', list)
},
methods:{
ljShow(){
EventBus.$on('bfSearch', params => {
this.initData(params)
})
},
initData(params={dcch:'',pl:''}){
console.log(111)
if(!params.dcch){
this.$message.warning('请选择船号')
return;
}
getDmppxxbList(params).then((res) => {
const data=groupBy(res.data,(item)=>{
return item.tlth
})
console.log(data)
this.data=data
})
}
}
}
</script>
<style scoped>
.viewpdf-box {
width:81.6%;
position: absolute;
top:78px;
left:344px;
border: none;
margin: 0;
display: flex;
align-items: stretch;
height: calc(100vh - 105px);
.viewpdf-flex {
display: flex;
align-items: center;
font-size: 20px;
color: #fff;
margin-top: 4%;
padding: 20px;
cursor: pointer;
img {
width: 50px;
}
.pdf-title {
margin-left: 10px;
}
}
}
</style>

@ -1,6 +1,6 @@
<template> <template>
<div id="bfangTable"> <div id="bfangTable" v-if="showFlag">
<VxeGrid ref="hxPgd" v-bind="gridOptions" @checkbox-change="checkboxChange" @checkbox-all="checkboxAll" /> <VxeGrid ref="bFangRef" v-bind="gridOptions" @checkbox-change="checkboxChange" @checkbox-all="checkboxAll" />
</div> </div>
</template> </template>
@ -15,6 +15,8 @@ export default {
return { return {
gridOptions:{}, gridOptions:{},
zyq:'', zyq:'',
setInterval0:'',
showFlag:false,
} }
}, },
created(){ created(){
@ -22,7 +24,7 @@ export default {
this.gridOptions = options; this.gridOptions = options;
this.gridOptions.columns = columns; this.gridOptions.columns = columns;
this.zyq=this.$route.query.zyq this.zyq=this.$route.query.zyq
EventBus.$on('bfSearch', params => { EventBus.$on('ljShow', params => {
this.initData(params) this.initData(params)
}) })
}, },
@ -33,14 +35,9 @@ export default {
checkboxAll(){ checkboxAll(){
}, },
initData(params={dcch:'',pl:''}){ initData(list){
if(!params.dcch){ this.gridOptions.data = list;
this.$message.warning('请选择船号') this.showFlag=true
return;
}
getDmppxxbList(params).then((res) => {
this.gridOptions.data = res.data
})
} }
} }
} }

@ -3,6 +3,7 @@
<div id="bfang" class="bfang" ref="bfangRef" /> <div id="bfang" class="bfang" ref="bfangRef" />
<BFangSearch /> <BFangSearch />
<BFangTable ref="bfangTable" /> <BFangTable ref="bfangTable" />
<BFangShow />
<ZyjhSelectComp id="selectComp" ref="selRef" @initWorkers="initWorkers"/> <ZyjhSelectComp id="selectComp" ref="selRef" @initWorkers="initWorkers"/>
</div> </div>
</template> </template>
@ -17,10 +18,11 @@ import BFangTable from "@/views/zyjhzx/bfang/comps/BFangTable.vue";
import workers from "@/views/zyjhzx/bfang/comps/person"; import workers from "@/views/zyjhzx/bfang/comps/person";
import {getBzryByBz} from "@/api/zyjh"; import {getBzryByBz} from "@/api/zyjh";
import ZyjhSelectComp from "@/views/zyjhzx/components/SelectComp.vue"; import ZyjhSelectComp from "@/views/zyjhzx/components/SelectComp.vue";
import BFangShow from "@/views/zyjhzx/bfang/comps/BFangShow.vue";
export default { export default {
name: 'BFang', name: 'BFang',
components: {ZyjhSelectComp, BFangTable, SliaoSearch, BFangSearch}, components: {BFangShow, ZyjhSelectComp, BFangTable, SliaoSearch, BFangSearch},
data(){ data(){
return{ return{
workers:[], workers:[],

@ -48,7 +48,6 @@ export default {
this.deviceId=this.$route.query.deviceId||'' this.deviceId=this.$route.query.deviceId||''
this.data.zyType=this.$route.query.zyType||'0' this.data.zyType=this.$route.query.zyType||'0'
const path=this.$route.path.replace('/','') const path=this.$route.path.replace('/','')
console.log(path)
this.nextPath=this.nextPathName[path]?.path this.nextPath=this.nextPathName[path]?.path
if (path==='sliao'||path==='llfk'||path==='bfang'){ if (path==='sliao'||path==='llfk'||path==='bfang'){
this.qtbs=false this.qtbs=false

@ -163,10 +163,10 @@ export default {
const {bgGroup,group}=container() const {bgGroup,group}=container()
this.workerGroup=group this.workerGroup=group
this.layer.add(bgGroup) this.layer.add(bgGroup)
} }
const enablePosition=['班长','数控','龙门','划线']
getBzryByBz({zyq:this.$route.query.zyq,zt:bzType}).then(res=>{ getBzryByBz({zyq:this.$route.query.zyq,zt:bzType}).then(res=>{
res.data=res.data.filter(item=>item.position==='数控'||item.position==='龙门'||item.position==='班长') res.data=res.data.filter(item=>enablePosition.includes(item.position))
this.workers=res.data this.workers=res.data
this.setWorkers(res.data) this.setWorkers(res.data)
const that=this const that=this

Loading…
Cancel
Save