| | |
| | | <el-button v-waves type="success" icon="el-icon-connection" @click="send">派发</el-button> |
| | | </div> |
| | | |
| | | <el-button v-waves icon="el-icon-switch-button" @click="orderClose">关闭工单</el-button> |
| | | <!-- <el-button v-waves icon="el-icon-switch-button" @click="orderClose">关闭工单</el-button>--> |
| | | </div> |
| | | |
| | | <div class="bodyTopFormGroup"> |
| | |
| | | style="display: flex;" |
| | | > |
| | | <div class="elForm"> |
| | | <el-form-item label="车间名称" style=" display: flex;"> |
| | | <el-select |
| | | v-model="form.wkshopcode" |
| | | filterable |
| | | :popper-append-to-body="false" |
| | | style="width: 200px" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in wkshopcodeArr" |
| | | :key="item.torg_code" |
| | | :label="item.torg_name" |
| | | :value="item.torg_code" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="工单状态" style=" display: flex;"> |
| | | <el-select |
| | | v-model="form.mesorderstus" |
| | |
| | | <el-form-item label="源单单号" style="display: flex;"> |
| | | <el-input v-model="form.sourceorder" style="width: 200px" placeholder="请输入" /> |
| | | </el-form-item> |
| | | <el-form-item label="销售订单" style="display: flex;"> |
| | | <el-form-item v-show="isExpandForm" label="销售订单" style="display: flex;"> |
| | | <el-input v-model="form.saleordercode" style="width: 200px" placeholder="请输入" /> |
| | | </el-form-item> |
| | | <el-form-item v-show="isExpandForm" label="单据类型" style=" display: flex;"> |
| | |
| | | <div v-else>/</div> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="data_sources"--> |
| | | <!-- show-tooltip-when-overflow--> |
| | | <!-- label="数据来源"--> |
| | | <!-- sortable="custom"--> |
| | | <!-- width="120"--> |
| | | <!-- />--> |
| | | |
| | | <el-table-column |
| | | prop="lm_user" |
| | |
| | | <i |
| | | class="el-icon-edit-outline" |
| | | :style="{color:$store.state.settings.theme}" |
| | | @click="edit('edit',row)" |
| | | @click.stop="edit('edit',row)" |
| | | /> |
| | | </el-tooltip> |
| | | |
| | | <el-tooltip v-del-tab-index class="item" effect="dark" content="删除" placement="top"> |
| | | <i class="el-icon-delete" :style="{color:$store.state.settings.theme}" @click="del(row)" /> |
| | | <i class="el-icon-delete" :style="{color:$store.state.settings.theme}" @click.stop="del(row)" /> |
| | | </el-tooltip> |
| | | |
| | | <el-tooltip class="item" effect="dark" content="打印工单" placement="top"> |
| | |
| | | :style="{color:$store.state.settings.theme}" |
| | | class="el-icon-printer" |
| | | style="cursor: pointer;margin-right: 15px" |
| | | @click="handlePrint(row.wo_code)" |
| | | @click.stop="handlePrint(row.wo_code)" |
| | | /> |
| | | </el-tooltip> |
| | | |
| | |
| | | class="el-icon-view" |
| | | style="cursor: pointer;" |
| | | :style="{color:$store.state.settings.theme}" |
| | | @click="edit('view',row)" |
| | | @click.stop="edit('view',row)" |
| | | /> |
| | | </el-tooltip> |
| | | |
| | |
| | | width="150" |
| | | /> |
| | | <el-table-column |
| | | label="工序单价" |
| | | show-tooltip-when-overflow |
| | | prop="stepprice" |
| | | /> |
| | | <el-table-column |
| | | label="已生产数量" |
| | | show-tooltip-when-overflow |
| | | prop="produceq_qty" |
| | |
| | | <!--新增派发对话框--> |
| | | <el-dialog |
| | | v-el-drag-dialog |
| | | :title="operation==='add'?'新增':'派发'" |
| | | :title="operation==='add'?'新增':'修改'" |
| | | :visible.sync="dialogVisible" |
| | | width="1200px" |
| | | top="8vh" |
| | |
| | | placeholder="请选择相对应工序" |
| | | @change="stepSelectedValueChange" |
| | | > |
| | | <!-- :disabled="!(dialogForm.mesorderstus==='NEW'||dialogForm.mesorderstus==='ALLO')"--> |
| | | <el-option |
| | | v-for="item in stepSelectArr" |
| | | :key="item.stepcode" |
| | |
| | | <el-button v-waves @click="dialogVisibleCancel">取 消</el-button> |
| | | <!-- <el-button v-waves v-if="operation==='add'" type="primary" @click="dialogVisibleConfirmPreview('add')">预览</el-button>--> |
| | | <el-button |
| | | v-if="operation!=='view'" |
| | | v-if="operation!=='view'&&(dialogForm.mesorderstus==='NEW'||dialogForm.mesorderstus==='ALLO')" |
| | | v-waves |
| | | type="primary" |
| | | :loading="$store.state.app.buttonIsDisabled" |
| | |
| | | <!-- size="mini"--> |
| | | <!-- />--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item label="工单状态" style=" display: flex;"> |
| | | <!-- <el-form-item label="工单状态" style=" display: flex;">--> |
| | | <!-- <el-select--> |
| | | <!-- v-model="sourceForm.mesordercode"--> |
| | | <!-- filterable--> |
| | | <!-- :popper-append-to-body="false"--> |
| | | <!-- style="width: 200px"--> |
| | | <!-- placeholder="请选择"--> |
| | | <!-- >--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in erporderstusArr"--> |
| | | <!-- :key="item.code"--> |
| | | <!-- :label="item.name"--> |
| | | <!-- :value="item.code"--> |
| | | <!-- />--> |
| | | <!-- </el-select>--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item label="车间名称" style=" display: flex;"> |
| | | <el-select |
| | | v-model="sourceForm.mesordercode" |
| | | v-model="sourceForm.wkshopcode" |
| | | filterable |
| | | :popper-append-to-body="false" |
| | | style="width: 200px" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in erporderstusArr" |
| | | :key="item.code" |
| | | :label="item.name" |
| | | :value="item.code" |
| | | v-for="item in wkshopcodeArr" |
| | | :key="item.torg_code" |
| | | :label="item.torg_name" |
| | | :value="item.torg_code" |
| | | /> |
| | | </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.mesordercode" 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-form-item v-show="isExpandDialog" label="产品名称" style=" display: flex;"> |
| | | <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-form-item> |
| | | <!-- <el-form-item v-show="isExpandDialog" label="产品规格" style=" display: flex;">--> |
| | | <!-- <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-form-item> |
| | |
| | | <div class="elTableDiv"> |
| | | <el-table |
| | | :data="sourceTableData" |
| | | :height="isExpandDialog?(tableHeight+60)+'px':(tableHeight+140)+'px'" |
| | | :height="isExpandDialog?(tableHeight+100)+'px':(tableHeight+140)+'px'" |
| | | border |
| | | :row-class-name="tableRowClassName" |
| | | :style="{width: 100+'%',height:isExpandDialog?(tableHeight+60)+'px':(tableHeight+140)+'px',}" |
| | | :style="{width: 100+'%',height:isExpandDialog?(tableHeight+100)+'px':(tableHeight+140)+'px',}" |
| | | highlight-current-row |
| | | :header-cell-style="this.$headerCellStyle" |
| | | :cell-style="this.$cellStyle" |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="RowNum" |
| | | prop="rowNum" |
| | | width="50" |
| | | fixed |
| | | label="序号" |
| | |
| | | /> |
| | | |
| | | <el-table-column |
| | | prop="bad_qty" |
| | | label="报废数量" |
| | | prop="laborbad_qty" |
| | | label="工废数量" |
| | | width="150" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | | prop="materielbad_qty" |
| | | label="料废数量" |
| | | width="150" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | |
| | | <div v-else>/</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="plan_startdate" |
| | | label="预计开工时间" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | width="130" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.plan_startdate">{{ row.plan_startdate.substring(0, 11) }}</div> |
| | | <div v-else>/</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="plan_enddate" |
| | | label="预计完工时间" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | width="130" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.plan_enddate">{{ row.plan_enddate.substring(0, 11) }}</div> |
| | | <div v-else>/</div> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="plan_startdate"--> |
| | | <!-- label="预计开工时间"--> |
| | | <!-- show-tooltip-when-overflow--> |
| | | <!-- sortable="custom"--> |
| | | <!-- width="130"--> |
| | | <!-- >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- <div v-if="row.plan_startdate">{{ row.plan_startdate.substring(0, 11) }}</div>--> |
| | | <!-- <div v-else>/</div>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="plan_enddate"--> |
| | | <!-- label="预计完工时间"--> |
| | | <!-- show-tooltip-when-overflow--> |
| | | <!-- sortable="custom"--> |
| | | <!-- width="130"--> |
| | | <!-- >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- <div v-if="row.plan_enddate">{{ row.plan_enddate.substring(0, 11) }}</div>--> |
| | | <!-- <div v-else>/</div>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <el-table-column |
| | | prop="lm_user" |
| | | label="创建人员" |
| | |
| | | <el-form-item label="工单数量:" class="formContent"> |
| | | {{ formApprove.plan_qty }} |
| | | </el-form-item> |
| | | <el-form-item label="工艺路线:" class="formContent"> |
| | | {{ formApprove.routename }} |
| | | </el-form-item> |
| | | <!-- <el-form-item label="工艺路线:" class="formContent">--> |
| | | <!-- {{ formApprove.routename }}--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item label="打印人员:" class="formContent"> |
| | | {{ username }} |
| | | <!-- {{ localStorage.getItem('username') }}--> |
| | | {{ formApprove.routename }} |
| | | </el-form-item> |
| | | <el-form-item label="打印时间:" class="formContent"> |
| | | {{ formApprove.lm_date }} |
| | |
| | | UpdateMesOrderStepSearch |
| | | } from '@/api/WorkOrder' |
| | | import { PartSelect } from '@/api/ProductModel' |
| | | import { PrentOrganization, StepData } from '@/api/GeneralBasicData' |
| | | import { PrentOrganization, PrentOrganizationNoCompany, StepData } from '@/api/GeneralBasicData' |
| | | import Sortable from 'sortablejs' |
| | | import ElDragSelect from '@/components/DragSelect' // base on element-ui |
| | | import ElDragSelect from '@/components/DragSelect' |
| | | import { MesOrderPrintSearch } from '@/api/GridReport' // base on element-ui |
| | | |
| | | export default { |
| | | name: 'WorkOrderList', |
| | |
| | | tableHeight: 0, |
| | | username: '', |
| | | form: { |
| | | wkshopcode: '', // 车间编码 |
| | | mesorderstus: '', // 工单状态码 |
| | | mesordercode: '', // 工单编号 |
| | | partcode: '', // 产品编码 |
| | |
| | | // { code: 'CREATED', name: '已关闭' } |
| | | { code: 'ALLO', name: '已派发' }, |
| | | { code: 'START', name: '开工' }, |
| | | { code: 'CLOSED', name: '完工' }, |
| | | { code: 'NOSCHED', name: '待排程' }, |
| | | { code: 'SCHED', name: '已排程' } |
| | | { code: 'CLOSED', name: '完工' } |
| | | // { code: 'NOSCHED', name: '待排程' }, |
| | | // { code: 'SCHED', name: '已排程' } |
| | | ], |
| | | wkshopcodeArr: [], |
| | | total: 10, |
| | | tableData: [], |
| | | dialogVisible: false, |
| | |
| | | wkshopname: '', // 生产车间名称 |
| | | |
| | | deliverydate: '', // 交付时间 |
| | | data_sources: '' // 数据来源 |
| | | data_sources: '', // 数据来源 |
| | | |
| | | mesmaxqty: 0// 工单的最大值 |
| | | }, |
| | | ordertypeArr: [// 工单类型 |
| | | { code: 'PO', name: '标准工单' }, |
| | |
| | | dialogVisibleSource: false, |
| | | sourceTableData: [], |
| | | sourceForm: { |
| | | wkshopcode: '', // 车间编码 |
| | | mesordercode: '', // 工单编号 |
| | | sourceorder: '', // 订单编号 |
| | | saleordercode: '', // 销售订单号 |
| | |
| | | this.getMesOrderSearch().then(res => { |
| | | if (res.code === '200') { |
| | | this.getSelect() |
| | | this.getPrentOrganizationNoCompany() |
| | | } |
| | | }) |
| | | }, |
| | | async getPrentOrganizationNoCompany() { |
| | | const { data: res } = await PrentOrganizationNoCompany() |
| | | this.wkshopcodeArr = res |
| | | }, |
| | | async getMesOrderSearch() { |
| | | // let tempDate = this.form.createdate |
| | |
| | | // } |
| | | |
| | | const data = { |
| | | wkshopcode: this.form.wkshopcode, |
| | | mesorderstus: this.form.mesorderstus, // 工单状态码 |
| | | mesordercode: this.form.mesordercode, // 工单编号 |
| | | partcode: this.form.partcode, // 产品编码 |
| | |
| | | |
| | | // 重置 |
| | | reset(val) { |
| | | this.form.wkshopcode = '' |
| | | this.form.mesorderstus = '' |
| | | this.form.mesordercode = '' |
| | | this.form.partcode = '' |
| | |
| | | }, |
| | | |
| | | selected(row, index) { |
| | | // && row.isstep === 'Y' |
| | | if (row.status === 'NEW') { |
| | | return true |
| | | } else { |
| | | return false |
| | | } |
| | | return row.status === 'NEW' && row.isstep === 'Y' |
| | | }, |
| | | // 派发 |
| | | send() { |
| | | if (this.multipleSelection.length === 0) { |
| | | return this.$message.info('请先勾选相对应的工单!') |
| | | } |
| | | |
| | | this.$confirm('是否确认派发?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | |
| | | MesOrderDistribution(this.multipleSelection).then(res => { |
| | | if (res.code === '200') { |
| | | this.$notify.success('派发成功!') |
| | | if (this.form.page > 1 && this.tableData.length === 1) { |
| | | this.form.page-- |
| | | } |
| | | this.getMesOrderSearch() |
| | | } |
| | | }) |
| | |
| | | this.dialogForm.partspec = row.partspec |
| | | this.dialogForm.wkshopcode = row.wkshp_code |
| | | this.dialogForm.deliverydate = row.saleOrderDeliveryDate.substring(0, 11) |
| | | this.dialogForm.mesqty = row.plan_qty |
| | | |
| | | const data = { |
| | | sourceid: this.dialogForm.sourceorderid, |
| | |
| | | data_sources: this.dialogForm.data_sources |
| | | } |
| | | const { data: res } = await UpdateMesOrderStepSearch(data) |
| | | this.dialogForm.mesqty = res.canupdate_qty |
| | | this.dialogForm.mesmaxqty = res.canupdate_qty |
| | | |
| | | res.stepdata.forEach(i => { |
| | | this.stepTableData.push( |
| | | { |
| | |
| | | return this.$message.info('源单单号不能为空!') |
| | | } |
| | | |
| | | if (this.dialogForm.data_sources === 'ERP' && this.dialogForm.mesmaxqty < this.dialogForm.mesqty) { |
| | | return this.$message.info('此工单的最大修改数值为:' + this.dialogForm.mesmaxqty) |
| | | } |
| | | |
| | | const workListSub = [] |
| | | this.stepTableData.forEach((i, j) => { |
| | | workListSub.push( |
| | |
| | | } |
| | | ) |
| | | }) |
| | | |
| | | if (workListSub.length === 0) { |
| | | return this.$message.info('工序不能为空!') |
| | | } |
| | | |
| | | const data = { |
| | | wostatus: this.dialogForm.mesorderstus, // 工单状态 |
| | |
| | | // console.log(number) |
| | | |
| | | const data2 = { |
| | | username: getCookie('admin'), |
| | | mesordercode: wo_code || this.dialogForm.mesordercode |
| | | } |
| | | MesOrderPrintSearch1(data2).then(res2 => { |
| | | MesOrderPrintSearch(data2).then(res2 => { |
| | | if (res2.code === '200') { |
| | | const res3 = res2.data.recordset |
| | | |
| | | this.tableDataPrint = res3 |
| | | this.formApprove.mesordercode = res3[0].wo_code |
| | | this.formApprove.m_po = res3[0].m_po |
| | | this.formApprove.m_po = res3[0].m_po || '/' |
| | | this.formApprove.partcode = res3[0].partcode |
| | | this.formApprove.partname = res3[0].partname |
| | | this.formApprove.partspec = res3[0].partspec |
| | | this.formApprove.partspec = res3[0].partspec || '/' |
| | | this.formApprove.plan_qty = res3[0].plan_qty |
| | | this.formApprove.routename = res3[0].routename |
| | | this.formApprove.routename = localStorage.getItem('username') // 打印人员 |
| | | this.formApprove.lm_date = res3[0].lm_date |
| | | |
| | | this.$nextTick(() => { |
| | |
| | | } |
| | | |
| | | const data = { |
| | | wkshopcode: this.form.wkshopcode, // 车间编码 |
| | | mesordercode: this.sourceForm.mesordercode, // 工单编号 |
| | | sourceorder: this.sourceForm.sourceorder, // 订单订单号 |
| | | saleordercode: this.sourceForm.sourceorder, // 订单订单号 |
| | | sourceorder: '', // 源单单号 |
| | | saleordercode: '', // 销售单号 |
| | | partcode: this.sourceForm.partcode, // 产品编码 |
| | | partname: this.sourceForm.partname, // 产品名称 |
| | | partspec: this.sourceForm.partspec, // 产品规格 |
| | |
| | | this.getMesBadOrderSearch() |
| | | }, |
| | | sourceReset() { |
| | | this.sourceForm.wkshopcode = '' |
| | | this.sourceForm.mesordercode = '' |
| | | this.sourceForm.sourceorder = '' |
| | | this.sourceForm.partcode = '' |
| | |
| | | dialogVisibleSourceClose() { |
| | | this.radioSelectedId = '' |
| | | |
| | | this.sourceForm.wkshopcode = '' |
| | | this.sourceForm.mesordercode = '' |
| | | this.sourceForm.sourceorder = '' |
| | | this.sourceForm.partcode = '' |