parent
3dbef3a6d9
commit
3f90580b13
@ -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>
|
Loading…
Reference in new issue