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

2.增加切割后摆放功能
master
董哲奇 2 months ago
parent 3dbef3a6d9
commit 3f90580b13

@ -8,7 +8,7 @@ import getPageTitle from '@/utils/get-page-title'
NProgress.configure({ showSpinner: false }) // NProgress Configuration NProgress.configure({ showSpinner: false }) // NProgress Configuration
const whiteList = ['/menu','/login', '/auth-redirect','/kban','/sliao','/pwpg','/pwfk','/llpg','/llfk','/hxpg','/hxfk','/qgpg','/qgfk','/ljian','/baogong'] // no redirect whitelist const whiteList = ['/menu','/login', '/auth-redirect','/kban','/sliao','/pwpg','/pwfk','/llpg','/llfk','/hxpg','/hxfk','/qgpg','/qgfk','/ljian','/baogong','/bfang'] // no redirect whitelist
// const whiteList = ['/menu','/login', '/auth-redirect','/kban','/ljian','/baogong'] // const whiteList = ['/menu','/login', '/auth-redirect','/kban','/ljian','/baogong']
const checkBmList=['/sliao','/pwpg','/pwfk','/llpg','/llfk','/hxpg','/hxfk','/qgpg','/qgfk'] const checkBmList=['/sliao','/pwpg','/pwfk','/llpg','/llfk','/hxpg','/hxfk','/qgpg','/qgfk']

@ -113,6 +113,12 @@ export const constantRoutes = [
component: () => import('@/views/zyjhzx/qgefkui/index'), component: () => import('@/views/zyjhzx/qgefkui/index'),
hidden: true hidden: true
}, },
//摆放
{
path: '/bfang',
component: () => import('@/views/zyjhzx/bfang/index'),
hidden: true
},
//零件 //零件
{ {
path: '/ljian', path: '/ljian',

@ -0,0 +1,71 @@
<template>
<div id="bFangSearch" ref="bFangSearchRef">
<ProjectSelect ref="projectSelectRef" clearable :_style="{width:'115px'}"/>
<VxeInput v-model="queryParam.pl" clearable style="width: 110px" placeholder="请输入批量"/>
<VxeButton status="primary" content="查询" @click="search" />
<VxeSelect v-model="plParam.qy" ref="qyRef" clearable :options="qyList" @change="qyChange" style="margin-left: 10px;width: 125px" placeholder="选择区域"/>
<VxeSelect v-model="plParam.dw" ref="dwRef" clearable :options="dwList" style="width: 115px" placeholder="选择垛位"/>
<VxeButton status="primary" content="批量" @click="pl" />
<VxeButton status="primary" content="提交" @click="tj" />
</div>
</template>
<script>
import ProjectSelect from "@/components/ProjectSelect/index.vue";
import {getBFangDwxx} from "@/views/zyjhzx/bfang/comps/api";
import {EventBus} from "@/event-bus";
export default {
name: 'BFangSearch',
components: {ProjectSelect},
data(){
return {
qyList:[],
dwList:[],
qyData:{},
plParam:{
qy:'',
dw:''
},
queryParam:{
pl:'',
}
}
},
mounted() {
this.getDw()
},
methods:{
search(){
this.queryParam.dcch=this.$refs.projectSelectRef.getDcch()
EventBus.$emit('bfSearch', this.queryParam)
},
tj(){
},
pl(){
},
qyChange({value}){
this.dwList=[]
this.qyData[value]?.forEach(item=>{
const dw={label:item.dwh,value:item.dwh};
this.dwList.push(dw)
})
},
getDw(){
getBFangDwxx().then((res)=>{
this.qyData=res.data
this.qyList=[]
Object.keys(this.qyData).forEach(key=>{
const qy={label:key,value:key};
this.qyList.push(qy)
})
})
},
getData(){
}
}
}
</script>

@ -0,0 +1,59 @@
<template>
<div id="bfangTable">
<VxeGrid ref="hxPgd" v-bind="gridOptions" @checkbox-change="checkboxChange" @checkbox-all="checkboxAll" />
</div>
</template>
<script>
import tableConfig from './table';
import {EventBus} from "@/event-bus";
import {getDmppxxbList} from "@/api/jhzxgl/ypp";
export default {
name: 'BFangTable',
data(){
return {
gridOptions:{},
zyq:'',
}
},
created(){
const {options,columns} = tableConfig();
this.gridOptions = options;
this.gridOptions.columns = columns;
this.zyq=this.$route.query.zyq
EventBus.$on('bfSearch', params => {
this.initData(params)
})
},
methods:{
checkboxChange(){
},
checkboxAll(){
},
initData(params={dcch:'',pl:''}){
if(!params.dcch){
this.$message.warning('请选择船号')
return;
}
getDmppxxbList(params).then((res) => {
this.gridOptions.data = res.data
})
}
}
}
</script>
<style scoped>
#bfangTable {
width:81.6%;
height: auto;
position: absolute;
top:78px;
left:344px;
border: none;
margin: 0;
}
</style>

@ -0,0 +1,8 @@
import request from '@/utils/request'
export function getBFangDwxx() {
return request({
url: '/zyjh/getBFangDwxx',
method: 'get',
})
}

@ -0,0 +1,36 @@
import Konva from "konva";
const container=function (width=0,height=0,container){
const stage = new Konva.Stage({
container: container,
width: width,
height: height,
});
const layer = new Konva.Layer({
id:"1"
});
stage.add(layer)
// layer.draw();
const imageObj = new Image();
const imgSize=width
imageObj.src = require('@/assets/kban/bg.png');
imageObj.onload = function () {
const shape = new Konva.Image({
x: 0,
y: 0,
width: imgSize,
height:this.height,
image: imageObj,
});
layer.add(shape)
shape.zIndex(0)
}
return {
stage,layer
}
}
export default container

@ -0,0 +1,153 @@
import Konva from "konva";
export default function (width,height){
const _width=width*0.167,_height=height*0.949
const container=function (){
const x=16,y=72
const group=new Konva.Group({
x:0,
y:0,
width:_width,
height:_height,
draggable:true,
dragBoundFunc:function (pos){
return {
x:x,
y:pos.y
}
},
})
const bgGroup=new Konva.Group({
x:x,
y:y,
width:_width,
height:_height,
})
bgGroup.clipFunc(function(ctx) {
ctx.rect(0, 0, _width, _height*0.969);
});
bgGroup.add(group)
const imageObj = new Image();
imageObj.src = require('@/assets/sliao/personbg.png');
imageObj.onload = function () {
const shape = new Konva.Image({
x: 0,
y: 0,
width: _width,
height:_height*0.975,
image: this,
});
bgGroup.add(shape)
shape.zIndex(0)
}
return {bgGroup,group}
}
let currentWork=null;
let selectedShape=null;
const getCurrentWorker=function (){
return currentWork
}
const person=function (index,persons={}){
const alignSize=2
const width=(_width-5)/alignSize,height=110
const x=index%alignSize*width+index%alignSize+5,y=height*(Math.floor(index/alignSize))+(Math.floor(index/alignSize)+1)*10
const group=new Konva.Group({
x:x,
y:y,
width:width,
height:height
})
const selectObj = new Image();
selectObj.src = require('@/assets/sliao/selected.png');
let selectShape=null
const setSelectShape=function (shape){
selectShape=shape
}
selectObj.onload = function () {
const shape = new Konva.Image({
x: width-width*0.3,
y: 2,
width: width*0.25,
height:height*0.25,
image: this,
visible:false
});
group.add(shape)
shape.zIndex(0)
setSelectShape(shape)
}
group.on('click touchstart',function (){
currentWork=persons
window.localStorage.setItem('worker',JSON.stringify(currentWork))
if (selectedShape){
selectedShape.hide()
if (selectedShape===selectShape){
selectedShape=null
return
}
}
selectedShape=selectShape
selectedShape.show()
})
const bgObj = new Image();
bgObj.src = require('@/assets/sliao/personbg1.png');
bgObj.onload = function () {
const shape = new Konva.Image({
x: 0,
y: 0,
offsetX:4,
width: width,
height:height,
image: this,
});
group.add(shape)
shape.zIndex(0)
}
const imageObj = new Image();
imageObj.src = require('@/assets/sliao/headImage.png');
imageObj.onload = function () {
const shape = new Konva.Image({
x: 0,
y: 0,
offsetX:-4,
offsetY:-10,
width: width*0.89,
height:height*0.85,
image: this,
});
group.add(shape)
shape.zIndex(0)
}
const text=new Konva.Text({
x:0,
y:height,
width:width,
height:height*0.1,
fill:'#fff',
text: persons.userName,
align: 'center',
verticalAlign:'middle',
fontSize:12
})
group.add(text)
return group
}
return{
container,person,getCurrentWorker
}
}

@ -0,0 +1,78 @@
import Konva from "konva";
const search=function (){
const group=new Konva.Group({
x:20,
y:52
})
const selectRect=new Konva.Rect({
x: 0,
y: 0,
fill:'#ffffff',
width: 110,
height:20,
stroke:'white',
strokeWidth:1,
})
group.add(selectRect)
const plRect=new Konva.Rect({
x: 115,
y: 0,
fill:'#ffffff',
width: 110,
height:20,
stroke:'white',
strokeWidth:1,
})
group.add(plRect)
const fdRect=new Konva.Rect({
x: 325,
y: 0,
fill:'#ffffff',
width: 110,
height:20,
stroke:'white',
strokeWidth:1,
})
group.add(fdRect)
const kwRect=new Konva.Rect({
x: 345,
y: 0,
fill:'#ffffff',
width: 100,
height:20,
stroke:'white',
strokeWidth:1,
})
group.add(kwRect)
const lxRect=new Konva.Rect({
x: 450,
y: 0,
fill:'#ffffff',
width: 105,
height:20,
stroke:'white',
strokeWidth:1,
})
group.add(lxRect)
// const sljhrqRect=new Konva.Rect({
// x: 345,
// y: 0,
// fill:'#ffffff',
// width: 115,
// height:20,
// stroke:'white',
// strokeWidth:1,
// })
// group.add(sljhrqRect)
return {
group
}
}
export default search

@ -0,0 +1,408 @@
export default function () {
const options={
height:840,
align:'center',
border: true,
resizable: true,
keepSource:true,
size:'mini',
showOverflow: true,
scrollY:{enable:true},
editConfig:{trigger: 'click', mode: 'cell', showStatus: true},
highlightCurrentRow:true,
data:[],
}
const columns = [
{ type: 'checkbox', width: 40 },
{ type: 'seq', width: 40, title: '序号' },
{ field: 'ppzt', title: '状态', width: 90, formatter: ['dictFormat', 'PPZT'],
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'czbh', title: '船号', width: 90,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'pl', title: '批量', width: 90,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'fd', title: '分段', width: 90,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'kw', title: '跨位', width: 90,formatter: ['dictFormat', 'QGKW'],
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'zl', title: '组立', width: 100,formatter: ['dictFormat','ZLLB'],
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'tlth', title: '套料图号', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'ljbh', title: '零件编号', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
// { field: 'ljmc', title: '零件名称', width: 100,
// filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
// filterRender: { name: 'FilterCombination', },
// },
{ field: 'ljgg', title: '零件规格', width: 90,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'ljcz', title: '零件材质', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'sl', title: '数量', width: 70,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qfxqrqxz', title: '前方需求小组期', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qq', title: '区域', width: 90,editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dw', title: '垛位', width: 120,editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dzjz', title: '大组极重', minWidth: "70",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'zxfdxq', title: '总装部最新分段需求期', minWidth: "90",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'xzglxq', title: '钢料需求(小组)', minWidth: "100",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dzglxq', title: '钢料需求(大组)', minWidth: "100",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'xdb', title: 'X大板', minWidth: "100",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'xskj', title: 'X数控件', minWidth: "100",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'xpt', title: 'X平铁', minWidth: "100",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'xyw', title: 'X压弯', minWidth: "100",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'xxc', title: 'X型材', minWidth: "100",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'xtxc', title: 'X二次装T型材', minWidth: "100",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'ddb', title: 'D大板', minWidth: "100",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dqb', title: 'D曲板', minWidth: "100",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dxc', title: 'D型材T', minWidth: "100",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dsj', title: 'D散件', minWidth: "100",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dgdh', title: '打磨工单号', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dmsbbh', title: '打磨设备编号', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dmcd', title: '打磨打磨长度', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dmjhrq', title: '打磨计划日期', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dmXfry', title: '打磨派工人', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dmXfrq', title: '打磨派工日期', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dscry', title: '打磨生产人员', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dmFkry', title: '打磨反馈人', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dmFkrq', title: '打磨反馈日期', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'pgdh', title: '坡口工单号', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'pkjhrq', title: '坡口计划日期', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'pgdh', title: '坡口工单号', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'pksbbh', title: '坡口设备编号', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'pklx', title: '坡口类型', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'pkcd', title: '坡口长度', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'pkXfry', title: '坡口派工人员', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'pkXfrq', title: '坡口派工日期', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'pscry', title: '坡口生产人员', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'pkFkrq', title: '坡口反馈日期', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'pkFkry', title: '坡口反馈人', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgdh', title: ' 曲工单号', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qjgjhrq', title: '曲加工计划期', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qsbbh', title: '曲设备编号', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qscry', title: '曲生产人员', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qjgXfry', title: '曲派工人员', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qjgXfrq', title: '曲派工日期', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qjgFkry', title: '曲反馈人', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qjgFkrq', title: '曲反馈日期', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
//-------------------------------------------
// --------------------------------------------------------------
{
field: 'slfkry',
title: '上料反馈人',
width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination' }
},
{
field: 'slfkrq',
title: '上料反馈日期',
width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination' }
},
{
field: 'pwfkry',
title: '抛丸反馈人',
width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination' }
},
{
field: 'pwfkrq',
title: '抛丸反馈日期',
width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination' }
},
{
field: 'llfkry',
title: '理料反馈人',
width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination' }
},
{
field: 'llfkrq',
title: '理料反馈日期',
width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination' }
},
{
field: 'hxfkrq',
title: '划线反馈日期',
width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination' }
},
{
field: 'hxfkry',
title: '划线反馈人员',
width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination' }
},
{
field: 'qgfkry',
title: '切割反馈人',
width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination' }
},
{
field: 'qgfkrq',
title: '切割反馈日期',
width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination' }
},
{
field: 'sljhrq',
title: '上料计划日期',
width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination' }
},
{
field: 'pwjhrq',
title: '抛丸计划日期',
width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination' }
},
{
field: 'lljhrq',
title: '理料计划日期',
width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination' }
},
{
field: 'hxjhrq',
title: '划线计划日期',
width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination' }
},
{
field: 'qgjhrq',
title: '切割计划日期',
width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination' }
},
]
return {options,columns}
}

@ -0,0 +1,40 @@
import Konva from "konva";
const title=function (width,height,title) {
const group=new Konva.Group({
x: 0,
y: 0,
width: width,
height: 20,
})
const imageObj = new Image();
imageObj.src = require('@/assets/kban/logo.png');
imageObj.onload = function () {
const shape = new Konva.Image({
x: 0,
y: 0,
width: width*0.86,
height:41,
image: imageObj,
});
group.add(shape)
}
const text=new Konva.Text({
x: 0,
y: 8,
width: width,
height: 20,
text: title,
align: 'center',
fill:'#fff',
fontSize: 32,
fontStyle:'bold'
})
group.add(text)
return group
}
export default title

@ -0,0 +1,129 @@
<template>
<div>
<div id="bfang" class="bfang" ref="bfangRef" />
<BFangSearch />
<BFangTable ref="bfangTable" />
<ZyjhSelectComp id="selectComp" ref="selRef" @initWorkers="initWorkers"/>
</div>
</template>
<script>
import container from "@/views/zyjhzx/bfang/comps/container";
import drawTitle from "@/views/zyjhzx/bfang/comps/title";
import BFangSearch from "@/views/zyjhzx/bfang/comps/BFangSearch.vue";
import initSearch from "@/views/zyjhzx/bfang/comps/search";
import SliaoSearch from "@/views/zyjhzx/components/SliaoSearch.vue";
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";
export default {
name: 'BFang',
components: {ZyjhSelectComp, BFangTable, SliaoSearch, BFangSearch},
data(){
return{
workers:[],
title:'摆 放 报 工',
zyq:'',
stage:null,
layer:null,
}
},
mounted() {
this.zyq=this.$route.params.zyq;
this.initKonvaStage();
},
created(){},
methods:{
search(){},
initWorkers(bzType){
if (this.workerGroup){
this.workerGroup.destroyChildren()
}else{
const {container,person,getCurrentWorker}=workers(this.width,this.height)
this.person=person
this.getCurrentWorker=getCurrentWorker
const {bgGroup,group}=container()
this.workerGroup=group
this.layer.add(bgGroup)
}
getBzryByBz({zyq:this.$route.query.zyq,zt:bzType}).then(res=>{
res.data=res.data.filter(item=>item.position==='数控'||item.position==='龙门'||item.position==='班长')
this.workers=res.data
const that=this
for (let i=0;i<res.data.length;i++){
const item=res.data[i]
const worker=this.person(i,item)
worker.on('click touchstart',function (){
that.currentWorker=item
that.$refs.hxpgd.initData(that.currentWorker.userCode,'51')
})
this.workerGroup.add(worker)
}
this.workerGroup.x(0)
this.workerGroup.y(0)
})
},
initKonvaStage(){
this.width=this.$refs.bfangRef.clientWidth
this.height=this.$refs.bfangRef.clientHeight
const {stage,layer}=container(this.width,this.height,'bfang')
this.stage=stage
this.layer=layer
const title=drawTitle(this.width,this.height,this.title)
this.layer.add(title)
const {group}=initSearch()
this.layer.add(group)
this.initWorkers(this.$refs.selRef.getData().bzType)
}
}
}
</script>
<style>
#selectComp {
width:50%;
height: auto;
position: absolute;
top:10px;
left:20px;
border: none;
margin: 0;
}
.vxe-button{
top: 0px;
width: 80px;
height: 22px !important;
}
.vxe-input{
width: 115px;
}
#bFangSearch {
position: absolute;
top:45px;
left:15px;
border: none;
margin: 0;
}
#bFangSearch input{
border: none;
background: none;
outline: none;
}
#bfang {
background: #ddd;
overflow: hidden;
width: 100%;
height: 100vh;
aspect-ratio: 16/9;
}
</style>

@ -48,8 +48,9 @@ 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('/','')
this.nextPath=this.nextPathName[path].path console.log(path)
if (path==='sliao'||path==='llfk'){ this.nextPath=this.nextPathName[path]?.path
if (path==='sliao'||path==='llfk'||path==='bfang'){
this.qtbs=false this.qtbs=false
} }
if (path==='ljian'){ if (path==='ljian'){

@ -203,7 +203,7 @@ export default {
ydjh:item, ydjh:item,
ydid:item.id, ydid:item.id,
dwId:dw.id, dwId:dw.id,
ceng:dw.list.length+1, ceng:item.slyclcs,
czbh:item.dcCh, czbh:item.dcCh,
pl:item.dcPl, pl:item.dcPl,
fd:item.dcFd, fd:item.dcFd,
@ -219,7 +219,6 @@ export default {
nbsbm:item.nbsbm, nbsbm:item.nbsbm,
bfr:this.getCurrentWorker()?.userCode, bfr:this.getCurrentWorker()?.userCode,
type:'YCL', type:'YCL',
} }
jh.push(data) jh.push(data)
}) })

Loading…
Cancel
Save