| | |
| | | <el-form |
| | | ref="form" |
| | | :model="form" |
| | | label-width="80px" |
| | | label-width="100px" |
| | | inline |
| | | style="display: flex;justify-content: space-between" |
| | | > |
| | | <div class="elForm"> |
| | | <el-form-item label="订单状态" style=" display: flex;"> |
| | | <el-form-item label-width="70px" label="订单状态" style=" display: flex;"> |
| | | <el-select |
| | | v-model="form.mesorderstus" |
| | | :popper-append-to-body="false" |
| | |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="产品编码" style=" display: flex;"> |
| | | <el-form-item v-show="isExpandForm" label-width="70px" label="产品编码" style=" display: flex;"> |
| | | <el-input v-model="form.partcode" style="width: 200px" placeholder="请输入" /> |
| | | </el-form-item> |
| | | <el-form-item v-show="isExpandForm" label="产品名称" style=" display: flex;"> |
| | |
| | | <el-form-item v-show="isExpandForm" label="创建人员" style=" display: flex;"> |
| | | <el-input v-model="form.creatuser" style="width: 200px" placeholder="请输入" /> |
| | | </el-form-item> |
| | | <el-form-item v-show="isExpandForm" label="创建时间" style=" display: flex;"> |
| | | <el-form-item v-show="isExpandForm" label-width="70px" label="创建时间" style=" display: flex;"> |
| | | <!-- <el-date-picker--> |
| | | <!-- v-model="form.createdate"--> |
| | | <!-- type="daterange"--> |
| | |
| | | /> |
| | | </el-form-item> |
| | | </div> |
| | | <div> |
| | | <div class="bodySearchReset"> |
| | | <el-button type="primary" icon="el-icon-search" @click="search">查询</el-button> |
| | | <el-button type="info" icon="el-icon-refresh" @click="reset">重置</el-button> |
| | | </div> |
| | | <!-- <div v-if="!isIpad" style="display: flex;align-items: start; margin-top: 15px;z-index: 2">--> |
| | | <!-- <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">新增</el-button>--> |
| | | <!-- <el-button type="primary" icon="el-icon-connection" @click="send('send')">派发</el-button>--> |
| | | <!-- <el-button type="primary" icon="el-icon-switch-button">订单关闭</el-button>--> |
| | | <!-- </div>--> |
| | | <!-- <div v-if="isIpad" style="display: flex;flex-direction: column;align-items: end">--> |
| | | <!-- <div style="display: flex;margin: 10px 0">--> |
| | | <!-- <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">新增</el-button>--> |
| | | <!-- <el-button type="primary" icon="el-icon-connection" @click="send('send')">派发</el-button>--> |
| | | <!-- </div>--> |
| | | <!-- <el-button type="primary" icon="el-icon-switch-button">订单关闭</el-button>--> |
| | | <!-- </div>--> |
| | | |
| | | <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened?'5%':'10%'}"> |
| | | <el-button type="primary" icon="el-icon-search" @click="search">查询</el-button> |
| | | <el-button type="info" icon="el-icon-refresh" @click="reset">重置</el-button> |
| | | </div> |
| | | |
| | | </el-form> |
| | | <div |
| | | class="bodyTopFormExpand" |
| | | > |
| | | <svg-icon |
| | | v-show="mouseHoverType==='mouseout'" |
| | | style="cursor: pointer" |
| | | :icon-class="!isExpandForm?'doubleDown3':'doubleUp3'" |
| | | @mouseenter="mouseHoverType=$event.type" |
| | | /> |
| | | <svg-icon |
| | | v-show="mouseHoverType==='mouseenter'" |
| | | style="cursor: pointer" |
| | | :icon-class="!isExpandForm?'doubleDown':'doubleUp'" |
| | | @click="isExpandForm=!isExpandForm" |
| | | @mouseout="mouseHoverType=$event.type" |
| | | /> |
| | | </div> |
| | | </div> |
| | | |
| | | <div |
| | | class="bodyTopFormExpand" |
| | | @click="isExpandForm=!isExpandForm" |
| | | > |
| | | <i |
| | | :class="!isExpandForm?'el-icon-arrow-down':'el-icon-arrow-up'" |
| | | :style="{color:'#42B983'}" |
| | | /></div> |
| | | |
| | | <div class="elTableDiv" style="margin-top: 0"> |
| | | <div class="elTableDiv"> |
| | | <el-table |
| | | ref="tableDataRef" |
| | | class="tableFixed" |
| | | :data="tableData" |
| | | :height="isExpandForm?tableHeight:(tableHeight+40)+'px'" |
| | | :height="isExpandForm?tableHeight:(tableHeight+80)+'px'" |
| | | border |
| | | :row-class-name="tableRowClassName" |
| | | :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+40)+'px'}" |
| | | :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+80)+'px'}" |
| | | highlight-current-row |
| | | :header-cell-style="this.$headerCellStyle" |
| | | :cell-style="this.$cellStyle" |
| | |
| | | v-model="radioSelected" |
| | | :label="row.wo_code" |
| | | style="color: transparent;padding-left: 10px;" |
| | | @change.native="getCurrentRow(row.wo_code)" |
| | | /> |
| | | <!-- @change.native="getCurrentRow(row.wo_code)"--> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | prop="partname" |
| | | min-width="150" |
| | | label="产品名称" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </div> |
| | | <el-form-item label="物料清单" prop="bomId"> |
| | | <el-select |
| | | v-model="dialogForm.bomId" |
| | | filterable |
| | | :popper-append-to-body="false" |
| | | style="width: 200px;" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in bomIdArr" |
| | | :key="item.code" |
| | | :label="item.name" |
| | | :value="item.code" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="计划开始时间" prop="planstartdate"> |
| | | <el-date-picker |
| | | v-model="dialogForm.planstartdate" |
| | |
| | | :value="item.code" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="是否排程" prop="isAps"> |
| | | <el-radio-group v-model="dialogForm.isAps"> |
| | | <el-radio key="Y" label="Y" value="Y">是</el-radio> |
| | | <el-radio key="N" label="N" value="N">否</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | |
| | | <div class="footerButton"> |
| | | <el-button @click="dialogVisibleCancel">取 消</el-button> |
| | | <!-- <el-button v-if="operation==='add'" type="primary" @click="dialogVisibleConfirmPreview('add')">预览</el-button>--> |
| | | <el-button type="primary" @click="dialogVisibleConfirm">确 定</el-button> |
| | | <el-button |
| | | type="primary" |
| | | :loading="$store.state.app.buttonIsDisabled" |
| | | :disabled="$store.state.app.buttonIsDisabled" |
| | | @click="dialogVisibleConfirm" |
| | | >确 定</el-button> |
| | | </div> |
| | | </span> |
| | | </el-dialog> |
| | |
| | | title="源单单号" |
| | | :visible.sync="dialogVisibleSource" |
| | | width="1200px" |
| | | top="5vh" |
| | | top="10vh" |
| | | class="dialogVisibleSearch" |
| | | :close-on-click-modal="false" |
| | | @close="dialogVisibleSourceClose" |
| | | > |
| | | <div class="bodyTopFormGroup" style="animation: move 1s linear"> |
| | | <div class="bodyTopFormGroup"> |
| | | <el-form |
| | | ref="sourceForm" |
| | | :model="sourceForm" |
| | |
| | | inline |
| | | style="display: flex;justify-content: space-between" |
| | | > |
| | | <div class="elForm"> |
| | | |
| | | <div class="elForm" style="justify-content: flex-start"> |
| | | <el-form-item |
| | | |
| | | label="预计开工时间" |
| | | label-width="100px" |
| | | style=" display: flex;font-size: 14px;margin-top: 3px" |
| | |
| | | </el-form-item> |
| | | |
| | | </div> |
| | | <div> |
| | | <div style="display: flex;align-items: start;margin-top: 5px;z-index: 2;justify-content: end"> |
| | | <el-button type="primary" icon="el-icon-search" @click="sourceSearch">查询</el-button> |
| | | <el-button type="info" icon="el-icon-refresh" @click="sourceReset">重置</el-button> |
| | | </div> |
| | | |
| | | <div style="display: flex;align-items: start;margin-top: 3px;z-index: 2;justify-content: end"> |
| | | <el-button type="primary" icon="el-icon-search" @click="sourceSearch">查询</el-button> |
| | | <el-button type="info" icon="el-icon-refresh" @click="sourceReset">重置</el-button> |
| | | </div> |
| | | |
| | | </el-form> |
| | | <div |
| | | class="bodyTopFormExpand" |
| | | > |
| | | <svg-icon |
| | | v-show="mouseHoverTypeDialog==='mouseout'" |
| | | style="cursor: pointer" |
| | | :icon-class="!isExpandDialog?'doubleDown3':'doubleUp3'" |
| | | @mouseenter="mouseHoverTypeDialog=$event.type" |
| | | /> |
| | | <svg-icon |
| | | v-show="mouseHoverTypeDialog==='mouseenter'" |
| | | style="cursor: pointer" |
| | | :icon-class="!isExpandDialog?'doubleDown':'doubleUp'" |
| | | @click="isExpandDialog=!isExpandDialog" |
| | | @mouseout="mouseHoverTypeDialog=$event.type" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <!-- <el-tooltip :content="!isExpandDialog?'点击展示更多':'收起'" placement="bottom">--> |
| | | <div |
| | | style="display:flex;justify-content: center; |
| | | align-items:center;background-color:#eee;cursor: pointer" |
| | | @click="isExpandDialog=!isExpandDialog" |
| | | > |
| | | <i |
| | | :class="!isExpandDialog?'el-icon-arrow-down':'el-icon-arrow-up'" |
| | | :style="{color:'#42B983'}" |
| | | /></div> |
| | | <!-- </el-tooltip>--> |
| | | |
| | | <div class="elTableDiv"> |
| | | <el-table |
| | | :data="sourceTableData" |
| | | :height="(tableHeight-100)+'px'" |
| | | :height="isExpandDialog?(tableHeight+60)+'px':(tableHeight+140)+'px'" |
| | | border |
| | | :row-class-name="tableRowClassName" |
| | | :style="{width: 100+'%',height:(tableHeight-100)+'px',}" |
| | | :style="{width: 100+'%',height:isExpandDialog?(tableHeight+60)+'px':(tableHeight+140)+'px',}" |
| | | highlight-current-row |
| | | :header-cell-style="this.$headerCellStyle" |
| | | :cell-style="this.$cellStyle" |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | mouseHoverType: 'mouseout', |
| | | mouseHoverTypeDialog: 'mouseout', |
| | | isExpandForm: false, |
| | | isIpad: false, |
| | | mainHeight: 0, |
| | | tableHeight: 0, |
| | |
| | | planstartdate: '', // 计划开始时间 |
| | | planenddate: '', // 计划完成时间 |
| | | orderlev: '', // 工单等级 |
| | | |
| | | isAps: 'N', // 是否排程 |
| | | bomId: '', // 物料清单id |
| | | OperType: '' // 操作类型 |
| | | }, |
| | | bomIdArr: [// 物料清单下拉 因为接口还没写,暂时用写死的值 |
| | | { code: 15, name: 'V5' }, |
| | | { code: 14, name: 'V1' }, |
| | | { code: 17, name: 'V7' }, |
| | | { code: 16, name: 'V6' } |
| | | ], |
| | | ordertypeArr: [// 工单类型 |
| | | { code: 'PO', name: '标准工单' }, |
| | | { code: 'FO', name: '报废补单' } |
| | |
| | | ], |
| | | orderlev: [ |
| | | { required: true, message: '请选择工单等级', trigger: ['blur', 'change'] } |
| | | ], |
| | | isAps: [ |
| | | { required: true, message: '请选择是否排程', trigger: ['blur', 'change'] } |
| | | ], |
| | | bomId: [ |
| | | { required: true, message: '请选择物料清单', trigger: ['blur', 'change'] } |
| | | ] |
| | | |
| | | }, |
| | |
| | | defaultroute_code: '', // 默认工艺路线选中值 |
| | | defaultroute_codeArr: '', // 默认工艺路线数组 |
| | | projectTableData: [], // 设备列表 |
| | | isExpandForm: false, // 表单是否展开,默认不展开 |
| | | tableDataDetail: [], // 点击工单表的行 显示详细信息 |
| | | printSize: 1, |
| | | printSizeSelectArr: [// 宽*高 |
| | |
| | | this.dialogForm.planstartdate = handleDatetime(new Date()) |
| | | this.dialogForm.planenddate = handleDatetime(new Date()) |
| | | this.dialogForm.orderlev = 3 |
| | | }, |
| | | |
| | | this.dialogForm.bomId = this.getMaxBomId() |
| | | }, |
| | | // 查找物料清单里面版本最大的值 |
| | | getMaxBomId() { |
| | | let max = 0// 最大值 |
| | | let code = ''// 最大值对应的code |
| | | this.bomIdArr.forEach(item => { |
| | | if (parseFloat(item.name.substring(1)) > max) { |
| | | max = parseFloat(item.name.substring(1)) |
| | | code = item.code |
| | | } |
| | | }) |
| | | return code |
| | | }, |
| | | // 产品信息值改变 |
| | | async partcodeChange(val) { |
| | | console.log(val, 22) |
| | |
| | | this.dialogForm.planstartdate = row.plan_startdate !== null ? row.plan_startdate : handleDatetime(new Date()) |
| | | this.dialogForm.planenddate = row.plan_enddate !== null ? row.plan_enddate : handleDatetime(new Date()) |
| | | this.dialogForm.orderlev = row.piroque !== null ? row.piroque : 3 // 等级 |
| | | |
| | | this.dialogForm.bomId = this.getMaxBomId() // 暂时写死 |
| | | }) |
| | | }, |
| | | // 删除按钮 |
| | |
| | | this.dialogForm.planstartdate = '' // 计划开始时间 |
| | | this.dialogForm.planenddate = '' // 计划完成时间 |
| | | this.dialogForm.orderlev = '' // 工单等级 |
| | | |
| | | this.dialogForm.isAps = 'N' // 是否排程 |
| | | this.dialogForm.bomId = this.getMaxBomId() |
| | | this.$refs.dialogForm.clearValidate() |
| | | }, |
| | | // 对话框取消 |
| | |
| | | if (this.dialogForm.ordertype === 'FO' && this.dialogForm.sourceorder.toString().trim().length <= 0) { |
| | | return this.$message.info('源单单号不能为空!') |
| | | } |
| | | |
| | | const data = { |
| | | // partname: this.dialogForm.partname, // 产品名称 |
| | | // partspec: this.dialogForm.partspec, // 产品规格 |
| | |
| | | planstartdate: this.dialogForm.planstartdate, // 计划开始时间 |
| | | planenddate: this.dialogForm.planenddate, // 计划完成时间 |
| | | orderlev: this.dialogForm.orderlev, // 工单等级 |
| | | is_aps: this.dialogForm.isAps, // 是否排程 |
| | | bom_id: this.dialogForm.bomId, // 是否排程 |
| | | OperType: this.operation === 'add' ? 'Add' : 'Update' |
| | | } |
| | | |
| | | this.$store.state.app.buttonIsDisabled = true |
| | | AddUpdateMesOrder(data).then(res => { |
| | | if (res.code === '200') { |
| | | this.dialogVisible = false |
| | |
| | | this.$message.success(this.operation === 'add' ? '添加成功!' : '派发成功!') |
| | | // this.dialogVisible = false |
| | | this.getMesOrderSearch() |
| | | this.$store.state.app.buttonIsDisabled = false |
| | | } else { |
| | | this.$message.error(this.operation === 'add' ? '添加失败!' : '派发失败!') |
| | | } |
| | |
| | | this.$nextTick(() => { |
| | | this.mainHeight = window.innerHeight - 85 |
| | | // this.tableHeight = this.mainHeight - 250 |
| | | this.tableHeight = this.mainHeight - 470 |
| | | this.tableHeight = this.mainHeight - 515 |
| | | if (window.innerHeight < 769) { |
| | | this.tableHeight = this.tableHeight - 20 |
| | | } |
| | |
| | | async rowClick(row, event, column) { |
| | | console.log(row, event, column) |
| | | console.log(row.wo_code, event, column) |
| | | this.radioSelected = row.wo_code |
| | | const { data: res } = await SearchWorkStep({ wo_code: row.wo_code }) |
| | | this.tableDataDetail = res |
| | | }, |
| | |
| | | margin-bottom: 0; |
| | | } |
| | | |
| | | //.elTableDiv { |
| | | .elTableDiv { |
| | | ::v-deep .el-radio__label { |
| | | display: none; |
| | | } |
| | | |
| | | //} |
| | | } |
| | | |
| | | .el-table::before { |
| | | height: 0; |