|
|
|
<template>
|
|
|
|
<VxeGrid ref="qgpgd" v-bind="gridOptions" @cell-click="cellClick" @current-change="getCurrentData" @checkbox-change="checkboxChange" @checkbox-all="checkboxAll" />
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import { VXETable } from 'vxe-table'
|
|
|
|
import paoWanPgdConfig from './pgdTable'
|
|
|
|
import {getDw, getForemanByWorker, getPgd, getPgd2, getYdjhByZtOrForeman, zx} from "@/api/zyjh";
|
|
|
|
import {EventBus} from "@/event-bus";
|
|
|
|
|
|
|
|
export default {
|
|
|
|
name: 'QgePgd',
|
|
|
|
props: {
|
|
|
|
worker:{
|
|
|
|
type:Function,
|
|
|
|
default:function (){}
|
|
|
|
},
|
|
|
|
workers:{
|
|
|
|
type:Array,
|
|
|
|
default:[]
|
|
|
|
},
|
|
|
|
dw:{
|
|
|
|
type:Array,
|
|
|
|
default: []
|
|
|
|
}
|
|
|
|
},
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
gridOptions: {},
|
|
|
|
list: {},
|
|
|
|
currentWorker:null,
|
|
|
|
zt:null,
|
|
|
|
setExt:null,
|
|
|
|
zyq:null,
|
|
|
|
}
|
|
|
|
},
|
|
|
|
sockets:{
|
|
|
|
zyjhzx(data){
|
|
|
|
if (this.deviceId!==data.msg.deviceId&&data.msg.actionType!=='开始报工'){
|
|
|
|
return
|
|
|
|
}
|
|
|
|
//工单号尾号长度
|
|
|
|
const djhWhLengh=4
|
|
|
|
const tmpList=this.list.filter(item=>item.djh===data.msg.orderNumber||item.djh.slice(-djhWhLengh)===data.msg.orderNumber)
|
|
|
|
if (tmpList.length>1){
|
|
|
|
this.list=tmpList
|
|
|
|
this.gridOptions.data=tmpList
|
|
|
|
this.$message.warning('短号有重复,请使用全工单号重新派工!!!')
|
|
|
|
return
|
|
|
|
}
|
|
|
|
let errorFlag=true
|
|
|
|
for (const item of this.list) {
|
|
|
|
if (item.djh===data.msg.orderNumber||item.djh.slice(-djhWhLengh)===data.msg.orderNumber){
|
|
|
|
const tmpArr=[{
|
|
|
|
id:item.id,
|
|
|
|
qgfkry:this.$props.worker().userCode,
|
|
|
|
zt:item.zt,
|
|
|
|
dcCh:item.dcCh,
|
|
|
|
dcPl:item.dcPl,
|
|
|
|
tzbh:item.tzbh,
|
|
|
|
sllph:item.sllph
|
|
|
|
}]
|
|
|
|
this.baogong(tmpArr,item)
|
|
|
|
errorFlag=false
|
|
|
|
break
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (errorFlag){
|
|
|
|
setTimeout(()=>{
|
|
|
|
EventBus.$emit('error', {
|
|
|
|
msg:'识别失败'
|
|
|
|
})
|
|
|
|
},3000)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
created() {
|
|
|
|
const {options,columns,setExt}=paoWanPgdConfig()
|
|
|
|
this.setExt=setExt
|
|
|
|
this.gridOptions = options
|
|
|
|
this.gridOptions.columns = columns
|
|
|
|
this.zyq=this.$route.query.zyq
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
baogong(tmpArr,data){
|
|
|
|
let ycldwInfo=null
|
|
|
|
for (const dw of this.dw) {
|
|
|
|
for (const info of dw.list) {
|
|
|
|
if (data.dcCh===info.czbh&&data.dcPl===info.pl&&data.dcFd===info.fd&&data.tzbh===info.tlth){
|
|
|
|
ycldwInfo=info
|
|
|
|
break
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (!ycldwInfo){
|
|
|
|
ycldwInfo={}
|
|
|
|
}
|
|
|
|
zx({
|
|
|
|
field:'qgfkrq',
|
|
|
|
zxZtName:'QGFK',
|
|
|
|
list:tmpArr,
|
|
|
|
ycldwInfo:ycldwInfo
|
|
|
|
}).then(res=>{
|
|
|
|
if (res.success){
|
|
|
|
window.localStorage.removeItem('zyjh')
|
|
|
|
this.initData(this.$props.worker().userCode,'61')
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
initData(worker, zt) {
|
|
|
|
this.currentWorker=worker
|
|
|
|
this.zt=zt
|
|
|
|
getForemanByWorker({worker:worker}).then(result=>{
|
|
|
|
getDw({type:'llj'}).then(res=>{
|
|
|
|
this.gridOptions.ycldw=res.data
|
|
|
|
getYdjhByZtOrForeman({foreman:result.data.userCode,zt:zt,field:'qgpgry',zyq:this.zyq}).then(res => {
|
|
|
|
res.data.forEach(item=>{
|
|
|
|
item._lx=item.tzbh.substring(5,6)
|
|
|
|
})
|
|
|
|
this.list=res.data
|
|
|
|
this.gridOptions.data = res.data
|
|
|
|
this.setExt('workers',this.$props.workers)
|
|
|
|
})
|
|
|
|
})
|
|
|
|
})
|
|
|
|
},
|
|
|
|
getCurrentData() {
|
|
|
|
const data = this.$refs.qgpgd.getCurrentRecord()
|
|
|
|
window.localStorage.setItem("qgfk", JSON.stringify(data))
|
|
|
|
},
|
|
|
|
checkboxAll({checked}) {
|
|
|
|
const worker = this.$props.worker()
|
|
|
|
if (!worker) {
|
|
|
|
this.$message.warning('请选择操作人')
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (checked) {
|
|
|
|
this.fankgui(worker)
|
|
|
|
}
|
|
|
|
},
|
|
|
|
checkboxChange({checked, row}) {
|
|
|
|
const worker = this.$props.worker()
|
|
|
|
if (!worker) {
|
|
|
|
this.$message.warning('请选择操作人')
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (checked) {
|
|
|
|
this.fankgui(worker)
|
|
|
|
}
|
|
|
|
},
|
|
|
|
fankgui(worker) {
|
|
|
|
VXETable.modal.confirm('您确定报工吗?').then(async res => {
|
|
|
|
if (res === 'confirm') {
|
|
|
|
const list = this.$refs.qgpgd.getCheckboxRecords()
|
|
|
|
for (const item of list) {
|
|
|
|
const tmpArr = []
|
|
|
|
const data = {
|
|
|
|
id: item.id,
|
|
|
|
qgfkry: worker.userCode,
|
|
|
|
zt: item.zt,
|
|
|
|
dcCh:item.dcCh,
|
|
|
|
dcPl:item.dcPl,
|
|
|
|
tzbh:item.tzbh,
|
|
|
|
sllph:item.sllph
|
|
|
|
}
|
|
|
|
tmpArr.push(data)
|
|
|
|
let ycldwInfo = null
|
|
|
|
for (const dw of this.dw) {
|
|
|
|
for (const info of dw.list) {
|
|
|
|
if (item.dcCh === info.czbh && item.dcPl === info.pl && item.dcFd === info.fd && item.tzbh === info.tlth) {
|
|
|
|
ycldwInfo = info
|
|
|
|
break
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
const data1 = {
|
|
|
|
type: this.type,
|
|
|
|
field: 'qgfkrq',
|
|
|
|
zxZtName: 'QGFK',
|
|
|
|
list: tmpArr,
|
|
|
|
ycldwInfo: ycldwInfo
|
|
|
|
}
|
|
|
|
await zx(data1)
|
|
|
|
}
|
|
|
|
this.initData(this.$props.worker().userCode, '61')
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
cellClick({row}) {
|
|
|
|
this.$emit('pgdClick',row)
|
|
|
|
this.$emit('initPgd', row)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|