| | |
| | | <div class="body" :style="{height:mainHeight+'px'}"> |
| | | |
| | | <div class="bodyTopButtonGroup"> |
| | | <el-button v-waves icon="el-icon-switch-button" type="success" @click="orderClose()">工单关闭</el-button> |
| | | <el-button v-waves icon="el-icon-switch-button" type="danger" @click="orderClose()">工单关闭</el-button> |
| | | <el-button v-waves icon="el-icon-thumb" type="success" @click="orderOpen()">工单启动</el-button> |
| | | </div> |
| | | |
| | | <div class="bodyTopFormGroup"> |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="工单编号" style=" display: flex;"> |
| | | <el-input v-model="form.mesordercode" placeholder="请输入" style="width: 200px" /> |
| | | <el-input v-model="form.mesordercode" placeholder="请输入" style="width: 200px"/> |
| | | </el-form-item> |
| | | <el-form-item label="源单单号" style="display: flex;"> |
| | | <el-input v-model="form.sourceorder" style="width: 200px" placeholder="请输入" /> |
| | | <el-input v-model="form.sourceorder" style="width: 200px" placeholder="请输入"/> |
| | | </el-form-item> |
| | | <el-form-item v-show="isExpandForm" label="销售订单" style="display: flex;"> |
| | | <el-input v-model="form.saleordercode" style="width: 200px" placeholder="请输入" /> |
| | | <el-input v-model="form.saleordercode" style="width: 200px" placeholder="请输入"/> |
| | | </el-form-item> |
| | | <el-form-item v-show="isExpandForm" label="单据类型" style=" display: flex;"> |
| | | <el-select |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item v-show="isExpandForm" label="产品编码" style=" display: flex;"> |
| | | <el-input v-model="form.partcode" style="width: 200px" placeholder="请输入" /> |
| | | <el-input v-model="form.partcode" style="width: 200px" placeholder="请输入"/> |
| | | </el-form-item> |
| | | <el-form-item v-show="isExpandForm" label="产品名称" style=" display: flex;"> |
| | | <el-input v-model="form.partname" style="width: 200px" placeholder="请输入" /> |
| | | <el-input v-model="form.partname" style="width: 200px" placeholder="请输入"/> |
| | | </el-form-item> |
| | | <el-form-item v-show="isExpandForm" label="产品规格" style=" display: flex;"> |
| | | <el-input v-model="form.partspec" style="width: 200px" placeholder="请输入" /> |
| | | <el-input v-model="form.partspec" style="width: 200px" placeholder="请输入"/> |
| | | </el-form-item> |
| | | <el-form-item v-show="isExpandForm" label="创建人员" style=" display: flex;"> |
| | | <el-input v-model="form.creatuser" style="width: 200px" placeholder="请输入" /> |
| | | <el-input v-model="form.creatuser" style="width: 200px" placeholder="请输入"/> |
| | | </el-form-item> |
| | | <el-form-item v-show="isExpandForm" label="创建时间" style=" display: flex;"> |
| | | <!-- <el-date-picker--> |
| | |
| | | <el-table-column |
| | | type="selection" |
| | | width="50" |
| | | :selectable="selected" |
| | | /> |
| | | <!-- :selectable="selected"--> |
| | | <el-table-column |
| | | prop="rowNum" |
| | | width="50" |
| | |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="saleOrderCode" |
| | | label="销售订单" |
| | | label="销售订单/预测单" |
| | | sortable="custom" |
| | | show-tooltip-when-overflow |
| | | min-width="160" |
| | |
| | | show-tooltip-when-overflow |
| | | width="100" |
| | | /> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="priuserdefnvc1"--> |
| | | <!-- label="客户名称"--> |
| | | <!-- width="110"--> |
| | | <!-- sortable="custom"--> |
| | | <!-- >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- {{ row.priuserdefnvc1 ? row.priuserdefnvc1 : '/' }}--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="priuserdefnvc6"--> |
| | | <!-- label="客户编码"--> |
| | | <!-- width="110"--> |
| | | <!-- sortable="custom"--> |
| | | <!-- >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- {{ row.priuserdefnvc6 ? row.priuserdefnvc6 : '/' }}--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="priuserdefnvc2"--> |
| | | <!-- label="对内名称"--> |
| | | <!-- width="110"--> |
| | | <!-- sortable="custom"--> |
| | | <!-- >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- {{ row.priuserdefnvc2 ? row.priuserdefnvc2 : '/' }}--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="priuserdefnvc3"--> |
| | | <!-- label="CTP日期"--> |
| | | <!-- width="110"--> |
| | | <!-- sortable="custom"--> |
| | | <!-- >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- {{ row.priuserdefnvc3 ? row.priuserdefnvc3 : '/' }}--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="priuserdefnvc4"--> |
| | | <!-- label="钢刀编号"--> |
| | | <!-- width="110"--> |
| | | <!-- sortable="custom"--> |
| | | <!-- >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- {{ row.priuserdefnvc4 ? row.priuserdefnvc4 : '/' }}--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="priuserdefnvc5"--> |
| | | <!-- label="盒型"--> |
| | | <!-- width="110"--> |
| | | <!-- sortable="custom"--> |
| | | <!-- >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- {{ row.priuserdefnvc5 ? row.priuserdefnvc5 : '/' }}--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="priuserdefnvc1"--> |
| | | <!-- label="客户名称"--> |
| | | <!-- width="110"--> |
| | | <!-- sortable="custom"--> |
| | | <!-- >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- {{ row.priuserdefnvc1 ? row.priuserdefnvc1 : '/' }}--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="priuserdefnvc6"--> |
| | | <!-- label="客户编码"--> |
| | | <!-- width="110"--> |
| | | <!-- sortable="custom"--> |
| | | <!-- >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- {{ row.priuserdefnvc6 ? row.priuserdefnvc6 : '/' }}--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="priuserdefnvc2"--> |
| | | <!-- label="对内名称"--> |
| | | <!-- width="110"--> |
| | | <!-- sortable="custom"--> |
| | | <!-- >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- {{ row.priuserdefnvc2 ? row.priuserdefnvc2 : '/' }}--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="priuserdefnvc3"--> |
| | | <!-- label="CTP日期"--> |
| | | <!-- width="110"--> |
| | | <!-- sortable="custom"--> |
| | | <!-- >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- {{ row.priuserdefnvc3 ? row.priuserdefnvc3 : '/' }}--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="priuserdefnvc4"--> |
| | | <!-- label="钢刀编号"--> |
| | | <!-- width="110"--> |
| | | <!-- sortable="custom"--> |
| | | <!-- >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- {{ row.priuserdefnvc4 ? row.priuserdefnvc4 : '/' }}--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="priuserdefnvc5"--> |
| | | <!-- label="盒型"--> |
| | | <!-- width="110"--> |
| | | <!-- sortable="custom"--> |
| | | <!-- >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- {{ row.priuserdefnvc5 ? row.priuserdefnvc5 : '/' }}--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <el-table-column |
| | | prop="wkshp_name" |
| | | label="生产车间" |
| | |
| | | /> |
| | | </el-tooltip> |
| | | |
| | | <el-tooltip class="item" effect="dark" content="工单关闭" placement="top"> |
| | | <el-tooltip class="item" effect="dark" :content="row.status!=='CLOSED'?'工单关闭':'工单启动'" placement="top"> |
| | | <i |
| | | v-if="row.status!=='CLOSED'" |
| | | class="el-icon-switch-button" |
| | | style="cursor: pointer;margin-left: 15px" |
| | | :style="{color:$store.state.settings.theme}" |
| | | :style="{color:'red'}" |
| | | @click.stop="orderClose(row)" |
| | | /> |
| | | <i |
| | | v-if="row.status==='CLOSED'" |
| | | class="el-icon-thumb" |
| | | style="cursor: pointer;margin-left: 15px" |
| | | :style="{color:$store.state.settings.theme}" |
| | | @click.stop="orderOpen(row)" |
| | | /> |
| | | </el-tooltip> |
| | | |
| | |
| | | |
| | | <el-form-item label="工单编号" prop="mesordercode"> |
| | | <!-- <el-input v-model="dialogForm.mesordercode" :disabled="operation!=='add'" style="width: 200px" />--> |
| | | <el-input v-model="dialogForm.mesordercode" disabled style="width: 200px" /> |
| | | <el-input v-model="dialogForm.mesordercode" disabled style="width: 200px"/> |
| | | </el-form-item> |
| | | <!-- <div style="display: flex">--> |
| | | <el-form-item label="工单类型" prop="mesorderstus"> |
| | |
| | | <!-- <el-input v-model="dialogForm.partcode" disabled style="width: 200px" />--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item label="产品规格" prop="partspec"> |
| | | <el-input v-model="dialogForm.partspec" disabled style="width: 200px" /> |
| | | <el-input v-model="dialogForm.partspec" disabled style="width: 200px"/> |
| | | </el-form-item> |
| | | <!-- :disabled="dialogForm.partcode===''"--> |
| | | <el-form-item label="所属车间" prop="wkshopcode"> |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="工单编号" style=" display: flex;"> |
| | | <el-input v-model="sourceForm.sourceorder" placeholder="请输入" style="width: 200px" /> |
| | | <el-input v-model="sourceForm.sourceorder" placeholder="请输入" style="width: 200px"/> |
| | | </el-form-item> |
| | | <el-form-item label="产品编码" style=" display: flex;"> |
| | | <el-input v-model="sourceForm.partcode" style="width: 200px" placeholder="请输入" /> |
| | | <el-input v-model="sourceForm.partcode" style="width: 200px" placeholder="请输入"/> |
| | | </el-form-item> |
| | | |
| | | <el-form-item v-show="isExpandDialog" label="产品名称" style=" display: flex;"> |
| | | <el-input v-model="sourceForm.partname" style="width: 200px" placeholder="请输入" /> |
| | | <el-input v-model="sourceForm.partname" style="width: 200px" placeholder="请输入"/> |
| | | </el-form-item> |
| | | <el-form-item v-show="isExpandDialog" label="产品规格" style=" display: flex;"> |
| | | <el-input v-model="sourceForm.partspec" style="width: 200px" placeholder="请输入" /> |
| | | <el-input v-model="sourceForm.partspec" style="width: 200px" placeholder="请输入"/> |
| | | </el-form-item> |
| | | <el-form-item v-show="isExpandDialog" label="创建人员" style=" display: flex;"> |
| | | <el-input v-model="sourceForm.creatuser" style="width: 200px" placeholder="请输入" /> |
| | | <el-input v-model="sourceForm.creatuser" style="width: 200px" placeholder="请输入"/> |
| | | </el-form-item> |
| | | |
| | | <el-form-item |
| | |
| | | justify-content: center; |
| | | position: relative;" |
| | | > |
| | | <div id="qrCode0" ref="qrCodeDiv0" /> |
| | | <div id="qrCode0" ref="qrCodeDiv0"/> |
| | | </div> |
| | | <div style="background-color: #fff;width: 20px;height:120px; position: absolute;right: 0" /> |
| | | <div style="background-color: #fff;width: 20px;height:120px; position: absolute;right: 0"/> |
| | | <div |
| | | style="z-index: 10;background-color:transparent;width: 120px;height:120px; position: absolute;right: 21px" |
| | | /> |
| | |
| | | align="center" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div :id="'qrCode'+row.seq" :ref="'qrCodeDiv'+row.seq" class="tableColumn" /> |
| | | <div :id="'qrCode'+row.seq" :ref="'qrCodeDiv'+row.seq" class="tableColumn"/> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | @close="handleCloseRoute" |
| | | > |
| | | <div> |
| | | <i class="el-icon-s-comment" style="color:#42b983;" /> 产品名称:{{ dialogFormRoute.projectName }} |
| | | <i class="el-icon-s-comment" style="color:#42b983;"/> 产品名称:{{ dialogFormRoute.projectName }} |
| | | </div> |
| | | <el-divider /> |
| | | <el-divider/> |
| | | <div style="margin-bottom: 10px"> |
| | | <i class="el-icon-s-operation" style="color:#42b983;" /> 工艺路线集合 |
| | | <i class="el-icon-s-operation" style="color:#42b983;"/> 工艺路线集合 |
| | | </div> |
| | | |
| | | <div class="myCheckboxGroup"> |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <el-divider /> |
| | | <el-divider/> |
| | | <div> |
| | | <i class="el-icon-s-operation" style="color:#42b983;" /> 默认工艺路线 |
| | | <i class="el-icon-s-operation" style="color:#42b983;"/> 默认工艺路线 |
| | | </div> |
| | | <div style="margin-top: 20px"> |
| | | <el-select |
| | |
| | | /> |
| | | </el-select> |
| | | </div> |
| | | <el-divider /> |
| | | <el-divider/> |
| | | <div style="margin-bottom: 10px"> |
| | | <i class="el-icon-s-operation" style="color:#42b983;" /> 工序列表 |
| | | <i class="el-icon-s-operation" style="color:#42b983;"/> 工序列表 |
| | | </div> |
| | | <div style="overflow-y: scroll"> |
| | | <el-table |
| | |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.enable==='Y'"> |
| | | <svg-icon icon-class="circleYes" style="margin-right: 2px" /> |
| | | <svg-icon icon-class="circleYes" style="margin-right: 2px"/> |
| | | 是 |
| | | </div> |
| | | <div v-if="row.enable==='N'"> |
| | | <svg-icon icon-class="circleNo" style="margin-right: 2px" /> |
| | | <svg-icon icon-class="circleNo" style="margin-right: 2px"/> |
| | | 否 |
| | | </div> |
| | | </template> |
| | |
| | | |
| | | <script> |
| | | import Pagination from '@/components/Pagination' |
| | | import { handleDatetime, handleDatetime2, validateCode } from '@/utils/global' |
| | | import { getCookie } from '@/utils/auth' |
| | | import {handleDatetime, handleDatetime2, validateCode} from '@/utils/global' |
| | | import {getCookie} from '@/utils/auth' |
| | | import QRCode from 'qrcodejs2' |
| | | import $ from 'jquery' |
| | | import elDragDialog from '@/directive/el-drag-dialog' |
| | |
| | | AddUpdateMesOrder, DeleteMesOrder, |
| | | MesBadOrderSearch, MesOrderDistribution, |
| | | MesOrderClosedSearch, |
| | | UpdateMesOrderStepSearch, MesOrderBitchClosedSeave |
| | | UpdateMesOrderStepSearch, MesOrderBitchClosedSeave, MesOrderBitchReverseClosedSeave |
| | | } from '@/api/WorkOrder' |
| | | import { PartSelect } from '@/api/ProductModel' |
| | | import { PrentOrganization, PrentOrganizationNoCompany, StepData } from '@/api/GeneralBasicData' |
| | | import {PartSelect} from '@/api/ProductModel' |
| | | import {PrentOrganization, PrentOrganizationNoCompany, StepData} from '@/api/GeneralBasicData' |
| | | import Sortable from 'sortablejs' |
| | | import ElDragSelect from '@/components/DragSelect' |
| | | import { MesOrderPrintSearch } from '@/api/GridReport' // base on element-ui |
| | | import {MesOrderPrintSearch} from '@/api/GridReport' // base on element-ui |
| | | |
| | | export default { |
| | | name: 'WorkOrderClose', |
| | | components: { |
| | | Pagination, ElDragSelect |
| | | }, |
| | | directives: { elDragDialog, waves }, |
| | | directives: {elDragDialog, waves}, |
| | | data() { |
| | | return { |
| | | mouseHoverType: 'mouseout', |
| | |
| | | // { code: 'CREATED', name: '已关闭' } |
| | | // { code: 'ALLO', name: '已派发' } |
| | | // 已关闭:CLOSED 未关闭:NOCLOSED |
| | | { code: 'NOCLOSED', name: '未关闭' }, |
| | | { code: 'CLOSED', name: '已关闭' } |
| | | {code: 'NOCLOSED', name: '未关闭'}, |
| | | {code: 'CLOSED', name: '已关闭'} |
| | | // { code: 'NOSCHED', name: '待排程' }, |
| | | // { code: 'SCHED', name: '已排程' } |
| | | ], |
| | |
| | | mesmaxqty: 0// 工单的最大值 |
| | | }, |
| | | ordertypeArr: [// 工单类型 |
| | | { code: 'PO', name: '标准工单' }, |
| | | { code: 'FO', name: '报废补单' } |
| | | {code: 'PO', name: '标准工单'}, |
| | | {code: 'FO', name: '报废补单'} |
| | | ], |
| | | partArr: [], // 产品信息 |
| | | wkshopArr: [], // 生产车间数组 |
| | | routeArr: [], // 工艺路线数组 |
| | | orderlevArr: [ |
| | | { code: 1, name: '特级' }, |
| | | { code: 2, name: '紧急' }, |
| | | { code: 3, name: '正常' } |
| | | {code: 1, name: '特级'}, |
| | | {code: 2, name: '紧急'}, |
| | | {code: 3, name: '正常'} |
| | | ], // 工单等级数组 |
| | | operation: '', |
| | | dialogFormRules: { |
| | | mesorderstus: [ |
| | | { required: true, message: '请选择订单状态', trigger: ['blur', 'change'] } |
| | | {required: true, message: '请选择订单状态', trigger: ['blur', 'change']} |
| | | ], |
| | | partcode: [ |
| | | { required: true, message: '请选择产品信息', trigger: ['blur', 'change'] } |
| | | {required: true, message: '请选择产品信息', trigger: ['blur', 'change']} |
| | | ], |
| | | mesordercode: [ |
| | | { required: true, validator: validateCode, trigger: ['blur', 'change'] } |
| | | {required: true, validator: validateCode, trigger: ['blur', 'change']} |
| | | ], |
| | | mesqty: [ |
| | | { required: true, message: '请输入工单数量', trigger: ['blur', 'change'] } |
| | | {required: true, message: '请输入工单数量', trigger: ['blur', 'change']} |
| | | ], |
| | | wkshopcode: [ |
| | | { required: true, message: '请选择生产车间', trigger: ['blur', 'change'] } |
| | | {required: true, message: '请选择生产车间', trigger: ['blur', 'change']} |
| | | ], |
| | | deliverydate: [ |
| | | { required: true, message: '请选择预计交付日期', trigger: ['blur', 'change'] } |
| | | {required: true, message: '请选择预计交付日期', trigger: ['blur', 'change']} |
| | | ], |
| | | planstartdate: [ |
| | | { required: true, message: '请选择开始时间', trigger: ['blur', 'change'] } |
| | | {required: true, message: '请选择开始时间', trigger: ['blur', 'change']} |
| | | ], |
| | | planenddate: [ |
| | | { required: true, message: '请选择结束时间', trigger: ['blur', 'change'] } |
| | | {required: true, message: '请选择结束时间', trigger: ['blur', 'change']} |
| | | ], |
| | | orderlev: [ |
| | | { required: true, message: '请选择工单等级', trigger: ['blur', 'change'] } |
| | | {required: true, message: '请选择工单等级', trigger: ['blur', 'change']} |
| | | ], |
| | | isAps: [ |
| | | { required: true, message: '请选择是否排程', trigger: ['blur', 'change'] } |
| | | {required: true, message: '请选择是否排程', trigger: ['blur', 'change']} |
| | | ], |
| | | bomId: [ |
| | | { required: true, message: '请选择物料清单', trigger: ['blur', 'change'] } |
| | | {required: true, message: '请选择物料清单', trigger: ['blur', 'change']} |
| | | ] |
| | | |
| | | }, |
| | |
| | | tableDataDetail: [], // 点击工单表的行 显示详细信息 |
| | | printSize: 0, |
| | | printSizeSelectArr: [// 宽*高 |
| | | { code: 0, name: '80*50' }, |
| | | { code: 1, name: '78*60' }, |
| | | { code: 2, name: '60*40' } |
| | | {code: 0, name: '80*50'}, |
| | | {code: 1, name: '78*60'}, |
| | | {code: 2, name: '60*40'} |
| | | // { code: 2, name: '50*60' }, |
| | | // { code: 3, name: '50*40' }, |
| | | // { code: 4, name: '50*80' }, |
| | |
| | | watch: { |
| | | 'stepSelectedValue': { |
| | | // deep: true, |
| | | handler: function(val) { |
| | | handler: function (val) { |
| | | // do something with the new and old value of stepSelectedValue |
| | | console.log(val, 1) |
| | | const arr = JSON.parse(JSON.stringify(this.stepTableData)) |
| | |
| | | const el = this.$refs.stepTableDataRef.$el.querySelectorAll('.el-table__body-wrapper > table > tbody')[0] |
| | | this.sortable = Sortable.create(el, { |
| | | ghostClass: 'sortable-ghost', // Class name for the drop placeholder, |
| | | setData: function(dataTransfer) { |
| | | setData: function (dataTransfer) { |
| | | // to avoid Firefox bug |
| | | // Detail see : https://github.com/RubaXa/Sortable/issues/1012 |
| | | dataTransfer.setData('Text', '') |
| | |
| | | } |
| | | }) |
| | | }, |
| | | tableRowClassName({ row, rowIndex }) { |
| | | tableRowClassName({row, rowIndex}) { |
| | | return 'custom-row' |
| | | }, |
| | | handleRequest() { |
| | |
| | | }) |
| | | }, |
| | | async getPrentOrganizationNoCompany() { |
| | | const { data: res } = await PrentOrganizationNoCompany() |
| | | const {data: res} = await PrentOrganizationNoCompany() |
| | | this.wkshopcodeArr = res |
| | | }, |
| | | async getMesOrderClosedSearch() { |
| | |
| | | this.total = res.count |
| | | |
| | | // this.form.createdate = tempDate |
| | | return { code: res.code } |
| | | return {code: res.code} |
| | | }, |
| | | async getSelect() { |
| | | // 获取产品信息 |
| | | const { data: res1 } = await PartSelect() |
| | | const {data: res1} = await PartSelect() |
| | | this.partArr = res1 |
| | | |
| | | // 获取组织 |
| | | const { data: res2 } = await PrentOrganization() |
| | | const {data: res2} = await PrentOrganization() |
| | | this.wkshopArr = res2 |
| | | |
| | | // 获取工序 |
| | | const { data: res3 } = await StepData() |
| | | const {data: res3} = await StepData() |
| | | this.stepSelectArr = res3 |
| | | }, |
| | | // 订单状态改变时 |
| | |
| | | this.form.mesorderstus = val |
| | | }, |
| | | // 排序改变时 |
| | | sortChange({ column, prop, order }) { |
| | | sortChange({column, prop, order}) { |
| | | if (order === 'descending') { |
| | | order = 'desc' |
| | | } else if (order === 'ascending') { |
| | |
| | | this.form.prop = prop |
| | | this.getMesOrderClosedSearch() |
| | | }, |
| | | sourceSortChange({ column, prop, order }) { |
| | | sourceSortChange({column, prop, order}) { |
| | | if (order === 'descending') { |
| | | order = 'desc' |
| | | } else if (order === 'ascending') { |
| | |
| | | }, |
| | | // 新增按钮 |
| | | async add(operation) { |
| | | const { data: res } = await AddMesOrderCodeSearch() |
| | | const {data: res} = await AddMesOrderCodeSearch() |
| | | this.dialogForm.mesordercode = res |
| | | this.operation = operation |
| | | this.dialogVisible = true |
| | |
| | | this.dialogVisibleTask = false |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.multipleSelection = val.map(i => i.wo_code) |
| | | // this.multipleSelection = val.map(i => i.wo_code) |
| | | this.multipleSelection = val |
| | | }, |
| | | |
| | | selected(row, index) { |
| | |
| | | wocode: this.dialogForm.mesordercode, |
| | | data_sources: this.dialogForm.data_sources |
| | | } |
| | | const { data: res } = await UpdateMesOrderStepSearch(data) |
| | | const {data: res} = await UpdateMesOrderStepSearch(data) |
| | | this.dialogForm.mesmaxqty = res.canupdate_qty |
| | | this.stepTableData = res.stepdata |
| | | // res.stepdata.forEach(i => { |
| | |
| | | }, |
| | | // 工单关闭事件 |
| | | async orderClose(row) { |
| | | this.$confirm('是否确认删除?', '提示', { |
| | | this.$confirm('是否确认关闭?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | if (row) { // 行关闭工单 |
| | | this.multipleSelection = [row.wo_code] |
| | | let data = null |
| | | if (row) { // 行启动工单 |
| | | data = [row.wo_code] |
| | | } else { |
| | | data = this.multipleSelection.filter(i => i.status === 'CLOSED').map(i => i.wo_code) |
| | | } |
| | | MesOrderBitchClosedSeave(this.multipleSelection).then(res => { |
| | | MesOrderBitchClosedSeave(data).then(res => { |
| | | if (res.code === '200') { |
| | | this.$notify.success('关闭成功!') |
| | | // if (this.form.page > 1 && this.tableData.length === 1) { |
| | | // this.form.page-- |
| | | // } |
| | | this.getMesOrderClosedSearch() |
| | | } |
| | | }) |
| | | }).catch(() => { |
| | | this.$notify.info('已取消删除!') |
| | | }) |
| | | }, |
| | | // 工单启动事件 |
| | | async orderOpen(row) { |
| | | this.$confirm('是否确认启动?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | let data = null |
| | | if (row) { // 行启动工单 |
| | | data = [row.wo_code] |
| | | } else { |
| | | data = this.multipleSelection.filter(i => i.status === 'CLOSED').map(i => i.wo_code) |
| | | } |
| | | |
| | | MesOrderBitchReverseClosedSeave(data).then(res => { |
| | | if (res.code === '200') { |
| | | this.$notify.success('启动成功!') |
| | | // if (this.form.page > 1 && this.tableData.length === 1) { |
| | | // this.form.page-- |
| | | // } |
| | |
| | | return this.$message.info('请先选择工艺路线!') |
| | | } |
| | | this.dialogVisibleSearch = true |
| | | const { data: res } = await SelectRouteStep({ routecode: this.dialogForm.routecode }) |
| | | const {data: res} = await SelectRouteStep({routecode: this.dialogForm.routecode}) |
| | | this.searchTableData = res |
| | | }, |
| | | dialogVisibleSearchBack() { |
| | |
| | | }, |
| | | // 补打生产入库条码 |
| | | async getProductInHouseLabCode(ordercode) { |
| | | const res = await ProductInHouseLabCode({ ordercode }) |
| | | const res = await ProductInHouseLabCode({ordercode}) |
| | | console.log(res) |
| | | this.isLastPrint = true |
| | | |
| | |
| | | this.dialogFormRoute.projectCode = row.partcode |
| | | this.dialogFormRoute.projectName = row.partname |
| | | this.dialogVisibleRoute = true |
| | | const { data: res } = await InventoryFileAssociationRoute({ partcode: this.dialogFormRoute.projectCode }) |
| | | const {data: res} = await InventoryFileAssociationRoute({partcode: this.dialogFormRoute.projectCode}) |
| | | this.dialogFormRoute.routeOperationArr = res |
| | | |
| | | this.dialogFormRoute.routeOperationArr.forEach((item, index) => { |
| | |
| | | const data = [] |
| | | this.dialogFormRoute.routeOperationArr.forEach(item => { |
| | | if (item.isSelected2) { |
| | | data.push({ code: item.code, name: item.name }) |
| | | data.push({code: item.code, name: item.name}) |
| | | } |
| | | }) |
| | | |
| | |
| | | wocode: row.wo_code, |
| | | data_sources: row.data_sources |
| | | } |
| | | const { data: res } = await UpdateMesOrderStepSearch(data) |
| | | const {data: res} = await UpdateMesOrderStepSearch(data) |
| | | this.tableDataDetail = res.stepdata |
| | | }, |
| | | // 工序删除 |
| | |
| | | }, |
| | | printMe2StylePadding(val) { |
| | | if (val === 0) { |
| | | return { paddingLeft: '10px', paddingTop: '5px' } |
| | | return {paddingLeft: '10px', paddingTop: '5px'} |
| | | } |
| | | if (val === 5) { |
| | | return { paddingLeft: '15px', paddingTop: '7px' } |
| | | return {paddingLeft: '15px', paddingTop: '7px'} |
| | | } |
| | | }, |
| | | |