| | |
| | | prop="status" |
| | | label="状态" |
| | | sortable="custom" |
| | | width="110" |
| | | width="80" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.status==='NEW'">新订单</div> |
| | |
| | | <el-table-column |
| | | prop="wo_code" |
| | | label="工单号" |
| | | min-width="160" |
| | | width="160" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | |
| | | /> |
| | | <el-table-column |
| | | prop="partname" |
| | | min-width="160" |
| | | width="160" |
| | | show-tooltip-when-overflow |
| | | label="产品名称" |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | | prop="stepname" |
| | | label="工序" |
| | | min-width="80" |
| | | show-tooltip-when-overflow |
| | | width="120" |
| | | sortable="custom" |
| | | /> |
| | | <!-- <el-table-column--> |
| | |
| | | prop="status" |
| | | label="状态" |
| | | sortable="custom" |
| | | width="110" |
| | | width="80" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.status==='NEW'">新订单</div> |
| | |
| | | <el-table-column |
| | | prop="wo_code" |
| | | label="工单号" |
| | | min-width="160" |
| | | width="160" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | | prop="partcode" |
| | | label="产品编码" |
| | | min-width="110" |
| | | width="110" |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | | prop="partname" |
| | | label="产品名称" |
| | | min-width="160" |
| | | width="160" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | | prop="stepname" |
| | | label="工序" |
| | | min-width="80" |
| | | width="120" |
| | | sortable="custom" |
| | | /> |
| | | <!-- <el-table-column--> |
| | |
| | | label="序号" |
| | | fixed |
| | | /> |
| | | |
| | | <el-table-column |
| | | prop="wo_code" |
| | | label="工单号" |
| | | min-width="160" |
| | | width="160" |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | | prop="partcode" |
| | | label="产品编码" |
| | | min-width="110" |
| | | width="110" |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | | prop="partname" |
| | | min-width="160" |
| | | width="160" |
| | | label="产品名称" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | | prop="stepname" |
| | | label="工序" |
| | | min-width="80" |
| | | width="120" |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | | prop="plan_qty" |
| | | label="任务数量" |
| | | min-width="110" |
| | | width="110" |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | |
| | | <el-table-column |
| | | prop="ng_qty" |
| | | label="不良数量" |
| | | min-width="150" |
| | | width="150" |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | | prop="bad_qty" |
| | | label="已报废数量" |
| | | min-width="120" |
| | | width="120" |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | |
| | | :value="item.code" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item v-if="dialogTitle==='自制报工'" label="备注:"> |
| | | <el-input v-model="dialogForm.remarks" type="textarea" style="width: 200px;" /> |
| | | </el-form-item> |
| | | <div v-if="dialogTitle==='自制报工'"> |
| | | <i class="el-icon-s-operation" style="color:#42b983;" /> 人员列表 |
| | |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item v-if="dialogTitle==='外协收料'" label="备注:"> |
| | | <el-input v-model="dialogForm.remarks" type="textarea" style="width: 200px;" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <div class="footerButton"> |
| | |
| | | <!-- 要打印的区域 --> |
| | | <div id="printMe2" style="padding: 30px;"> |
| | | <div |
| | | style="display: flex;width: 250px;height: 150px;border: 1px solid #000;text-align: center;font-size: 10px;" |
| | | style="display: flex;width: 300px;height: 150px;border: 1px solid #000;text-align: center;font-size: 10px;" |
| | | > |
| | | |
| | | <div style="width: 60px;display: flex;flex-direction: column;border-right: 1px solid #000"> |
| | | <div style="width: 80px;display: flex;flex-direction: column;border-right: 1px solid #000"> |
| | | <div |
| | | style="display: flex;height: 75%;border-bottom:1px solid #000;justify-content: center;align-items: center " |
| | | style="display: flex;height: 120px;border-bottom:1px solid #000;justify-content: center;align-items: center " |
| | | > |
| | | <div id="qrCode2" ref="qrCodeDiv2" /> |
| | | </div> |
| | | <div style="display: flex;height: 25%;justify-content: flex-start;align-items: center"> |
| | | <div style="margin-left: 5px;width: 40px">数量:</div> |
| | | {{ qrForm.startqty }} |
| | | <div style="display: flex;height: 30px;justify-content: flex-start;align-items: center"> |
| | | <div style="margin-left: 5px;width: 30px">数量:</div> |
| | | 10000 |
| | | <!-- {{ qrForm.startqty }}--> |
| | | </div> |
| | | </div> |
| | | |
| | | <div style="width:190px;display: flex;flex-direction: column"> |
| | | <div style="width:220px;display: flex;flex-direction: column"> |
| | | <div |
| | | style="display: flex;height: 25%;border-bottom:1px solid #000;justify-content: flex-start;align-items: center;text-align: left" |
| | | > |
| | |
| | | <div>{{ qrForm.nextstepname }}</div> |
| | | </div> |
| | | |
| | | <!-- {{ qrForm.operator }}--> |
| | | <!-- {{ qrForm.operatorTime }}--> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | <span slot="footer" class="dialog-footer"> |
| | | <div class="footerButton"> |
| | | <el-button @click="dialogVisible2 = false">取 消</el-button> |
| | |
| | | </el-form-item> |
| | | <el-form-item label="不良数量:"> |
| | | <div style="width: 200px">{{ badDialogForm.ng_qty }}</div> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="维修人员:"> |
| | | <el-select |
| | | v-model="badDialogForm.operation" |
| | | style="width: 200px;" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in badOperationArr" |
| | | :key="item.usercode" |
| | | :label="item.username" |
| | | :value="item.usercode" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | </el-form> |
| | |
| | | } from '@/api/scgl' |
| | | import { urlAddRandomNo, webapp_ws_ajax_run, webapp_ws_autoupdate } from '@/utils/grwebapp' |
| | | import QRCode from 'qrcodejs2' |
| | | import { getCookie } from '@/utils/auth' |
| | | import { handleDatetime2 } from '@/utils/global' |
| | | |
| | | const SER_HZ = /^[\u4e00-\u9fa5]+$/ |
| | | export default { |
| | |
| | | usergroupcode: '', // 班组编码 |
| | | reportuser: '', // 报工人员 |
| | | |
| | | startqtySum: '' // 不能超过的数值 |
| | | startqtySum: '', // 不能超过的数值 |
| | | |
| | | remarks: ''// 备注 |
| | | |
| | | }, |
| | | ZZuserArr: [], // 自制用户所有 |
| | |
| | | badTableData: [], // 不良处理列表table数据 |
| | | badTotal: 0, |
| | | badDialogVisible: false, |
| | | badDialogForm: {}, |
| | | badTableDataDialog: []// 不良对话框table表格 |
| | | badDialogForm: { |
| | | operation: getCookie('navTabId') |
| | | }, |
| | | badTableDataDialog: [], // 不良对话框table表格 |
| | | badOperationArr: [] // 维修人员数组 |
| | | } |
| | | }, |
| | | // computed: { |
| | |
| | | // this.dialogForm.startqty = obj.startqty |
| | | this.dialogForm.startqty = obj.noreportqty |
| | | |
| | | if (obj.nextstepname === null || obj.nextstepcode === '') { |
| | | this.dialogForm.nextstepname = obj.stepname |
| | | this.dialogForm.nextstepcode = obj.stepcode |
| | | } else { |
| | | this.dialogForm.nextstepname = obj.nextstepname |
| | | this.dialogForm.nextstepcode = obj.nextstepcode |
| | | } |
| | | this.dialogForm.nextstepname = obj.nextstepname |
| | | this.dialogForm.nextstepcode = obj.nextstepcode |
| | | |
| | | this.dialogForm.startqtySum = obj.noreportqty |
| | | }) |
| | |
| | | this.dialogForm.reportqty = obj.reportqty |
| | | this.dialogForm.noreportqty = obj.noreportqty |
| | | this.dialogForm.stepcode = obj.stepcode |
| | | if (obj.nextstepname === null || obj.nextstepcode === '') { |
| | | this.dialogForm.nextstepname = obj.stepname |
| | | this.dialogForm.nextstepcode = obj.stepcode |
| | | } else { |
| | | this.dialogForm.nextstepname = obj.nextstepname |
| | | this.dialogForm.nextstepcode = obj.nextstepcode |
| | | } |
| | | |
| | | this.dialogForm.nextstepname = obj.nextstepname |
| | | this.dialogForm.nextstepcode = obj.nextstepcode |
| | | |
| | | this.dialogForm.noputqty = obj.noputqty |
| | | this.dialogForm.stepseq = obj.seq |
| | | this.dialogForm.sqty = obj.startqty |
| | |
| | | |
| | | this.dialogForm.nextstepcode = '' // 下道工序编码 |
| | | |
| | | this.dialogForm.remarks = '' // 备注 |
| | | |
| | | this.userTableData = [] // 人员列表 |
| | | |
| | | this.$refs.dialogForm.clearValidate() |
| | |
| | | inuser: this.dialogForm.inuser, // 发料人员 |
| | | taskqty: this.dialogForm.planqty, // 任务数量 |
| | | sqty: this.dialogForm.sqty, // 收料数量 |
| | | remarks: this.dialogForm.remarks, // 备注 |
| | | ngqty: this.dialogForm.noputqty === '' ? 0 : this.dialogForm.noputqty, // 不良数量 |
| | | badcode: this.dialogForm.badcode.length < 1 ? '' : this.dialogForm.badcode.join(';')// 不良原因 |
| | | } |
| | |
| | | |
| | | if (this.dialogForm.nextstepcode !== '') { |
| | | this.WXprint2() |
| | | this.dialogVisible2 = true |
| | | } |
| | | this.dialogVisible2 = true |
| | | this.tabClick() |
| | | } else { |
| | | this.$message.error('收料失败!') |
| | |
| | | startqty: this.dialogForm.reportqty, // 开工数量 |
| | | // reportqty: this.dialogForm.reportqty, // 报工数量 |
| | | reportqty: this.dialogForm.startqty, // 报工数量 |
| | | remarks: this.dialogForm.remarks, // 备注 |
| | | ngqty: this.dialogForm.noputqty === '' ? 0 : this.dialogForm.noputqty, // 不良数量 |
| | | badcode: this.dialogForm.badcode.length < 1 ? '' : this.dialogForm.badcode.join(';')// 不良原因 |
| | | } |
| | |
| | | console.log(this.dialogForm.nextstepcode, 1) |
| | | if (this.dialogForm.nextstepcode !== '') { |
| | | this.ZZprint2() |
| | | this.dialogVisible2 = true |
| | | } |
| | | this.dialogVisible2 = true |
| | | this.tabClick() |
| | | } else { |
| | | this.$message.error('报工失败!') |
| | |
| | | Data: this.badTableDataDialog |
| | | } |
| | | // console.log(JSON.stringify(data), 1) |
| | | // this.badPrint() |
| | | // this.dialogVisible2 = true |
| | | // console.log(this.badDialogForm.operation, 1) |
| | | // this.badPrintOperator = |
| | | this.badPrint(this.badOperationArr.find(item => item.usercode === this.badDialogForm.operation).username) |
| | | this.dialogVisible2 = true |
| | | |
| | | EditOrderNgStepSeave(data).then(res => { |
| | | if (res.code === '200' || res.code === '301') { |
| | | this.getBadList() |
| | | this.badDialogVisible = false |
| | | return this.$message.success('保存成功!') |
| | | } |
| | | }) |
| | | // EditOrderNgStepSeave(data, this.badDialogForm.operation).then(res => { |
| | | // if (res.code === '200' || res.code === '301') { |
| | | // this.getBadList() |
| | | // this.badDialogVisible = false |
| | | // this.badPrint(this.badOperationArr.find(item => item.usercode === this.badDialogForm.operation).username) |
| | | // this.dialogVisible2 = true |
| | | // return this.$message.success('保存成功!') |
| | | // } |
| | | // }) |
| | | }, |
| | | badPrint() { |
| | | badPrint(username) { |
| | | this.qrForm.qrvalue = this.badDialogForm.wo_code + ';' + this.badDialogForm.nextstepcode |
| | | this.qrForm.startqty = this.badDialogForm.plan_qty |
| | | this.qrForm.wo_code = this.badDialogForm.wo_code |
| | | this.qrForm.partcode = this.badDialogForm.partcode |
| | | this.qrForm.partname = this.badDialogForm.partname |
| | | this.qrForm.nextstepname = this.badDialogForm.nextstepname |
| | | this.qrForm.operator = username |
| | | this.qrForm.operatorTime = handleDatetime2(new Date()) |
| | | console.log(this.qrForm, 22) |
| | | this.$nextTick(() => { |
| | | this.bindQRCode(this.qrForm.qrvalue) |
| | | }) |
| | |
| | | |
| | | handleCloseBad() { |
| | | this.badDialogForm = {} |
| | | this.badDialogForm.operation = getCookie('navTabId') |
| | | this.badTableDataDialog = [] |
| | | }, |
| | | // 点击维修处理按钮 |
| | | // 点击维修处理按钮 或 扫描条码的扫描回车事件 |
| | | async repairHandle(row) { |
| | | const { data: res1 } = await MesOrderSelectUser({ usercode: '' }) |
| | | this.badOperationArr = res1 |
| | | |
| | | console.log(row) |
| | | let data |
| | | if (row.wo_code) { |
| | |
| | | item.repair_qty = 0 |
| | | item.bad_qty = 0 |
| | | item.isVisible = 0 |
| | | // item.defect_code = [...new Set(item.defect_code.split(','))].join(',') |
| | | // item.defect_name = [...new Set(item.defect_name.split(','))].join(',') |
| | | }) |
| | | console.log(this.badTableDataDialog, 321) |
| | | this.badDialogVisible = true |