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

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

@ -6,7 +6,7 @@
"scripts": {
"dev": "vue-cli-service serve",
"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",
"lint": "eslint --ext .js,.vue src",
"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:{
_style:{
type:Object,
default:{
width:'150px'
default:()=>{
return {width:'150px'}
}
}
},

@ -177,7 +177,7 @@ export default {
filterRender: { name: 'FilterCombination', },
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: '' } }],
filterRender: { name: 'FilterCombination', }},
{ field: 'ylbs', title: '余料板数',width: 80,

@ -5,7 +5,7 @@
<el-row>
<el-col :span="4">
<el-form-item label="区域:">
<el-select v-model="request.qy" placeholder="垛位" clearable>
<el-select v-model="request.qy" placeholder="区域" clearable>
<el-option
v-for="item in qyList"
:key="item.value"
@ -16,20 +16,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<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-col :span="20" style="text-align: right">
<el-button type="primary" @click="initList()"></el-button>
<el-button type="success" @click="add"></el-button>
<el-button type="success" @click="save"></el-button>
@ -78,7 +65,6 @@ export default {
height: "500px",
list:[],
qyList:[],
dwList:[],
projectData:[],
request:{
qy:'',
@ -97,21 +83,6 @@ export default {
filterRender: { name: 'FilterCombination', },
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=>{
this.list=res.data
const _qyList=[]
const _dwhList=[]
const tmp=[]
this.list.forEach(item=>{
if (tmp.includes(item.qy)){
return
}
tmp.push(item.qy)
_qyList.push({label:item.qy,value:item.qy})
_dwhList.push({label:item.dwh,value:item.dwh})
})
this.qyList=_qyList;
this.dwList=_dwhList
})
},
cellClickEvent({row}){

@ -1,47 +1,15 @@
<template>
<!-- <el-dialog title="收货地址" :visible.sync="dialogFormVisible">-->
<el-container>
<el-header style="width: 100%; height: 80px;font-size: 12px">
<el-form :inline="true" label-width="65px" label-position="left">
<el-form :inline="true" label-width="55px" label-position="right">
<el-row>
<el-col :span="22">
<el-form-item label="船号:">
<vxe-pulldown ref="xDown4" transfer >
<template #default>
<vxe-input
v-model="queryParam.dcCh"
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>
<ProjectSelect ref="projectSelectRef" />
</el-form-item>
<el-form-item label="批量:">
<el-input v-model="queryParam.dcPl" type="search" placeholder="批量" />
</el-form-item>
</el-col>
<el-col :span="2">
<el-form-item style="float: right" >
@ -87,15 +55,13 @@
:custom-config="{ storage: true }"
:edit-config="{ trigger: 'click', mode: 'cell', showStatus: true}"
highlight-hover-row
:scroll-y="{enabled: true}"
show-overflow
show-header-overflow
@checkbox-all="selectAllEvent"
@checkbox-change="selectChangeEvent"
/>
</div>
</el-main>
</el-container>
</el-container>
@ -124,33 +90,28 @@ import {
yppyzcx,
yppyzUpdate
} from "@/api/sjzx/bzzGL";
import ProjectSelect from "@/components/ProjectSelect/index.vue";
import {getBFangDwxx} from "@/views/zyjhzx/bfang/comps/api";
export default {
name:'xqdwcjcd',
name:'Yppyz',
components: {ProjectSelect},
data() {
return {
queryParam: {
dcCh:'',
},inParam:{
dcPl:'',
},
inParam:{
rqfw:'',
zt:""
},
qyData:[],
list: [],
deptList: [],
clickList: [],
checkedList:[],
projectData:[],
projectColumns: [
{field: 'cbbm', title: '船号',width: 110},
{ field: 'wgbs', title: '完工标识', width: 80,
slots:{
default: 'wgbsEdit'
},
},
],
dictData:{},
height: '500px',
tableColumn: [
{ type: 'checkbox', width: 50 ,
},
@ -218,12 +179,6 @@ export default {
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination' }
},
// editRender: {
// name: '$select', options: [],
// optionProps: {value: 'bm', label: 'bmsm'},
// props: {clearable: true}
// , events: {change: this.selectChange}
// },
{
field: 'xj',
title: '下级',editRender: { name: 'input' },
@ -231,14 +186,27 @@ export default {
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination' }
},
// {
// field: 'ppch',
// title: '',editRender: { name: 'input' },
// width: 120,
// filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
// filterRender: { name: 'FilterCombination' }
// },
{
field: 'qy',
title: '区域',editRender: { name: '$select',options:[],props: {clearable: true},events:{change:this.qyChange} },
width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
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.initBase()
},
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(){
getPgdBase({}).then(res=>{
this.dictData = res.data
@ -281,7 +228,6 @@ export default {
this.projectData1=res.data.cbbm
const select=this.$refs.xGrid.getColumnByField('dcCh')
const chList=[]
console.log(this.projectData1)
res.data.cbbm.forEach(item=>{
const data={
label:item.cbbm,
@ -290,53 +236,55 @@ export default {
chList.push(data)
})
select.editRender.options=chList
const sldw = this.$refs.xGrid.getColumnByField('kw')
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 xGrid = this.$refs.xGrid
//
// const zt = xGrid.getColumnByField('zt')
// const yzt = xGrid.getColumnByField('yzt')
// zt.editRender.options = res.data.kwxxs
// yzt.editRender.options = res.data.kwxxs
const qy = this.$refs.xGrid.getColumnByField('qy')
qy.editRender.options=qyList
})
},
initList() {
this.queryParam.dcCh=this.$refs.projectSelectRef.getDcch()
yppyzcx(this.queryParam).then((res) => {
res.data?.forEach(item=>{
Object.values(this.qyData).forEach(dwList=>{
dwList.forEach(dwxx=>{
if (dwxx.id===item.dwxxId){
item.qy=dwxx.qy
item.dwh=dwxx.dwh
}
})
})
})
this.list = res.data
if (this.$refs.xGrid) {
this.$refs.xGrid.loadData(this.list)
}
})
},
plClick(){
let selectRecords = this.$refs.xGrid.getCheckboxRecords()
if(selectRecords.length>0){
for(let i = 0; i < selectRecords.length; i++) {
if(this.inParam.zt !==''){
selectRecords[i]. yzt= selectRecords[i]. zt
selectRecords[i]. zt= this.inParam.zt
}
if(this.inParam.rqfw !==''){
selectRecords[i].rqfw = this.inParam.rqfw
}
}
this.$refs.xGrid.updateData(this.list)
}
qyChange({row}){
const qy=row.qy
const dwList=[]
const qyColumn = this.$refs.xGrid.getColumnByField('dwh')
this.qyData[qy]?.forEach(item=>{
const dw={label:item.dwh,value:item.dwh};
dwList.push(dw)
})
qyColumn.editRender.options=dwList
},
selectAllEvent() {
this.checkedList = this.$refs.xGrid.getCheckboxRecords();
},
//
selectChangeEvent() {
this.checkedList = this.$refs.xGrid.getCheckboxRecords();
},
selectChange(row) {
this.$refs.xGrid.clearActived() //
this.$refs.xGrid.setActiveCell(row.row, row.column.property) //
@ -354,7 +302,6 @@ export default {
switch (code) {
case 'insert':
this.$refs.xGrid.insertAt({
}, -1).then(({ row }) => {
this.$refs.xGrid.setActiveRow(row)
})
@ -369,8 +316,6 @@ export default {
})
break
case 'save':
if (removeRecords.length !== 0) {
yppyzUpdate({"remove":removeRecords}).then((response) => {
if (response.success) {
@ -387,10 +332,17 @@ export default {
}
})
}
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) => {
if (response.success) {
const xTable = this.$refs.xGrid
@ -400,6 +352,16 @@ export default {
})
}
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) => {
if (response.success) {
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>
<div id="bfangTable">
<VxeGrid ref="hxPgd" v-bind="gridOptions" @checkbox-change="checkboxChange" @checkbox-all="checkboxAll" />
<div id="bfangTable" v-if="showFlag">
<VxeGrid ref="bFangRef" v-bind="gridOptions" @checkbox-change="checkboxChange" @checkbox-all="checkboxAll" />
</div>
</template>
@ -15,6 +15,8 @@ export default {
return {
gridOptions:{},
zyq:'',
setInterval0:'',
showFlag:false,
}
},
created(){
@ -22,7 +24,7 @@ export default {
this.gridOptions = options;
this.gridOptions.columns = columns;
this.zyq=this.$route.query.zyq
EventBus.$on('bfSearch', params => {
EventBus.$on('ljShow', params => {
this.initData(params)
})
},
@ -33,14 +35,9 @@ export default {
checkboxAll(){
},
initData(params={dcch:'',pl:''}){
if(!params.dcch){
this.$message.warning('请选择船号')
return;
}
getDmppxxbList(params).then((res) => {
this.gridOptions.data = res.data
})
initData(list){
this.gridOptions.data = list;
this.showFlag=true
}
}
}

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

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

@ -163,10 +163,10 @@ export default {
const {bgGroup,group}=container()
this.workerGroup=group
this.layer.add(bgGroup)
}
const enablePosition=['班长','数控','龙门','划线']
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.setWorkers(res.data)
const that=this

Loading…
Cancel
Save