| | |
| | | |
| | | <div class="bodyTopButtonGroup" style="justify-content: space-between"> |
| | | <div style="display: flex"> |
| | | <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 v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">新增</el-button> |
| | | <el-button v-waves type="primary" icon="el-icon-connection" @click="send('send')">派发</el-button> |
| | | </div> |
| | | |
| | | <el-button 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"> |
| | | <el-form |
| | | ref="form" |
| | | :model="form" |
| | | label-width="80px" |
| | | label-width="100px" |
| | | inline |
| | | style="display: flex;justify-content: space-between" |
| | | style="display: flex;" |
| | | > |
| | | <div class="elForm"> |
| | | <el-form-item label="订单状态" style=" display: flex;"> |
| | | <el-form-item 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 label="工单编号" style=" display: flex;"> |
| | | <el-input v-model="form.mesordercode" placeholder="请输入" style="width: 200px" /> |
| | | </el-form-item> |
| | | <el-form-item label="源单单号" style="display: flex;"> |
| | |
| | | /> |
| | | </el-select> |
| | | </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.partcode" style="width: 200px" placeholder="请输入" /> |
| | | </el-form-item> |
| | | <el-form-item v-show="isExpandForm" label="产品名称" style=" display: flex;"> |
| | |
| | | /> |
| | | </el-form-item> |
| | | </div> |
| | | <div> |
| | | <div style="display: flex;align-items: start;justify-content:end;margin-top: 5px;z-index: 2"> |
| | | <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? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"> |
| | | <el-button v-waves type="primary" icon="el-icon-search" @click="search">查询</el-button> |
| | | <el-button v-waves 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 |
| | |
| | | /> |
| | | <el-table-column |
| | | prop="status" |
| | | label="订单状态" |
| | | label="工单状态" |
| | | sortable="custom" |
| | | width="110" |
| | | show-tooltip-when-overflow |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.status==='NEW'">新工单</div> |
| | |
| | | <div v-if="row.status==='ALLO'">已派发</div> |
| | | <div v-if="row.status==='START'">开工</div> |
| | | <div v-if="row.status==='CLOSED'">完工</div> |
| | | <div v-if="row.status==='NOSCHED'">待排程</div> |
| | | <div v-if="row.status==='SCHED'">已排程</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="wo_code" |
| | | label="工单编号" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | min-width="160" |
| | | /> |
| | |
| | | prop="m_po" |
| | | label="源单单号" |
| | | sortable="custom" |
| | | show-tooltip-when-overflow |
| | | min-width="160" |
| | | /> |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.m_po">{{ row.m_po }}</div> |
| | | <div v-else>/</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="wotype" |
| | | label="单据类型" |
| | | sortable="custom" |
| | | show-tooltip-when-overflow |
| | | min-width="120" |
| | | > |
| | | <template slot-scope="{row}"> |
| | |
| | | <el-table-column |
| | | prop="partcode" |
| | | label="产品编码" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | min-width="120" |
| | | /> |
| | |
| | | prop="partname" |
| | | min-width="150" |
| | | label="产品名称" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | |
| | | prop="plan_qty" |
| | | label="工单数" |
| | | sortable="custom" |
| | | show-tooltip-when-overflow |
| | | width="100" |
| | | /> |
| | | <el-table-column |
| | | prop="wkshp_name" |
| | | label="生产车间" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | width="120" |
| | | > |
| | |
| | | <el-table-column |
| | | prop="plan_startdate" |
| | | label="计划开始时间" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | width="160" |
| | | > |
| | |
| | | label="计划结束时间" |
| | | sortable="custom" |
| | | width="160" |
| | | show-tooltip-when-overflow |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.plan_enddate">{{ row.plan_enddate }}</div> |
| | |
| | | <el-table-column |
| | | prop="piroque" |
| | | label="工单等级" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | width="120" |
| | | > |
| | |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="lm_user" |
| | | show-tooltip-when-overflow |
| | | label="创建人员" |
| | | sortable="custom" |
| | | width="120" |
| | |
| | | <el-table-column |
| | | prop="lm_date" |
| | | label="创建时间" |
| | | show-tooltip-when-overflow |
| | | width="160" |
| | | sortable="custom" |
| | | /> |
| | |
| | | <!-- @click="check(row)"--> |
| | | <!-- />--> |
| | | <i |
| | | class="el-icon-tickets" |
| | | style="cursor: pointer;color: #42b983;margin-right: 15px" |
| | | :style="{color:$store.state.settings.theme}" |
| | | class="el-icon-printer" |
| | | style="cursor: pointer;margin-right: 15px" |
| | | @click="handlePrint(row.wo_code)" |
| | | /> |
| | | </el-tooltip> |
| | | <el-tooltip v-del-tab-index class="item" effect="dark" content="删除" placement="top"> |
| | | <i class="el-icon-delete" @click="del(row)" /> |
| | | <i class="el-icon-delete" :style="{color:$store.state.settings.theme}" @click="del(row)" /> |
| | | </el-tooltip> |
| | | </div> |
| | | </template> |
| | |
| | | /> |
| | | <el-table-column |
| | | prop="wo_code" |
| | | show-tooltip-when-overflow |
| | | label="工单编号" |
| | | width="160" |
| | | /> |
| | |
| | | prop="partcode" |
| | | label="产品编码" |
| | | width="150" |
| | | show-tooltip-when-overflow |
| | | /> |
| | | <el-table-column |
| | | prop="partname" |
| | | label="产品名称" |
| | | width="200" |
| | | show-tooltip-when-overflow |
| | | /> |
| | | |
| | | <el-table-column |
| | | label="工序编码" |
| | | prop="stepcode" |
| | | show-tooltip-when-overflow |
| | | width="150" |
| | | /> |
| | | <el-table-column |
| | | label="工序名称" |
| | | show-tooltip-when-overflow |
| | | prop="stepname" |
| | | width="150" |
| | | /> |
| | | <el-table-column |
| | | label="任务数量" |
| | | show-tooltip-when-overflow |
| | | prop="plan_qty" |
| | | /> |
| | | <el-table-column |
| | | label="合格数量" |
| | | show-tooltip-when-overflow |
| | | prop="good_qty" |
| | | /> |
| | | <el-table-column |
| | | label="不良数量" |
| | | show-tooltip-when-overflow |
| | | prop="ng_qty" |
| | | /> |
| | | <el-table-column |
| | |
| | | <div class="operationClass"> |
| | | <el-tooltip class="item" effect="dark" content="打印工序" placement="top"> |
| | | <i |
| | | class="el-icon-tickets" |
| | | style="cursor: pointer;color: #42b983;margin-right: 15px" |
| | | class="el-icon-printer" |
| | | :style="{color:$store.state.settings.theme}" |
| | | style="cursor: pointer;margin-right: 15px" |
| | | @click="supplementSmallClick(row)" |
| | | /> |
| | | </el-tooltip> |
| | |
| | | </div> |
| | | <!--新增派发对话框--> |
| | | <el-dialog |
| | | v-el-drag-dialog |
| | | :title="operation==='add'?'新增':'派发'" |
| | | :visible.sync="dialogVisible" |
| | | width="840px" |
| | |
| | | label-width="110px" |
| | | > |
| | | <el-form-item |
| | | label="订单状态" |
| | | label="工单状态" |
| | | prop="mesorderstus" |
| | | > |
| | | <el-select |
| | |
| | | /> |
| | | </el-form-item> |
| | | <el-button |
| | | v-waves |
| | | type="primary" |
| | | style="padding: 0 10px;margin-left: -8px;margin-top: 3px" |
| | | class="el-icon-search" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-button |
| | | v-waves |
| | | type="primary" |
| | | style="padding: 0 10px;margin-left: -8px;margin-top:3px" |
| | | class="el-icon-search" |
| | |
| | | style="width: 200px;" |
| | | placeholder="请选择" |
| | | :disabled="dialogForm.routecode===''" |
| | | @change="wkshopcodeChange" |
| | | > |
| | | <el-option |
| | | v-for="item in wkshopArr" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </div> |
| | | <el-form-item label="是否排程" prop="isAps"> |
| | | <el-radio-group v-model="dialogForm.isAps" style="width:200px" @change="changeIsAps"> |
| | | <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-item label="物料清单" :prop="dialogForm.isAps==='Y'?'bomId':''"> |
| | | <el-select |
| | | v-model="dialogForm.bomId" |
| | | filterable |
| | | :disabled="dialogForm.isAps==='N'" |
| | | :popper-append-to-body="false" |
| | | style="width: 200px;" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in bomIdArr" |
| | | :key="item.id" |
| | | :label="item.version" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="计划开始时间" prop="planstartdate"> |
| | | <el-date-picker |
| | | v-model="dialogForm.planstartdate" |
| | | type="date" |
| | | :clearable="false" |
| | | value-format="yyyy-MM-dd" |
| | | :picker-options="pickerOptions" |
| | | style="width: 200px" |
| | | placeholder="选择日期" |
| | | /> |
| | |
| | | value-format="yyyy-MM-dd" |
| | | style="width: 200px" |
| | | placeholder="选择日期" |
| | | :picker-options="pickerOptions" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="工单等级" prop="orderlev"> |
| | |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | </el-form> |
| | | |
| | | <!-- 工艺路线放大镜对话框--> |
| | |
| | | /> |
| | | <el-table-column |
| | | prop="stepcode" |
| | | show-tooltip-when-overflow |
| | | label="工序编码" |
| | | /> |
| | | <el-table-column |
| | | prop="stepname" |
| | | label="工序名称" |
| | | show-tooltip-when-overflow |
| | | /> |
| | | <el-table-column |
| | | prop="flwtype" |
| | | label="工序类型" |
| | | show-tooltip-when-overflow |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.flwtype==='W'">外协</div> |
| | |
| | | <el-table-column |
| | | prop="descr" |
| | | label="工序描述" |
| | | show-tooltip-when-overflow |
| | | fixed="right" |
| | | /> |
| | | </el-table> |
| | |
| | | |
| | | <span slot="footer" class="dialog-footer"> |
| | | <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 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="!sumbitBottonIsDisabled" |
| | | v-waves |
| | | type="primary" |
| | | :loading="$store.state.app.buttonIsDisabled" |
| | | :disabled="$store.state.app.buttonIsDisabled" |
| | | @click="dialogVisibleConfirm" |
| | | >确 定</el-button> |
| | | |
| | | <el-button |
| | | v-if="sumbitBottonIsDisabled" |
| | | v-waves |
| | | type="primary" |
| | | disabled |
| | | @click="dialogVisibleConfirm" |
| | | >确 定</el-button> |
| | | </div> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <!-- 工序任务对话框--> |
| | | <el-dialog |
| | | v-el-drag-dialog |
| | | title="工序任务" |
| | | :visible.sync="dialogVisibleTask" |
| | | width="840px" |
| | |
| | | @close="dialogVisibleTaskClose" |
| | | > |
| | | <el-button |
| | | v-waves |
| | | style="margin-bottom: 15px" |
| | | type="primary" |
| | | @click="supplementClick" |
| | |
| | | /> |
| | | <el-table-column |
| | | prop="wo_code" |
| | | show-tooltip-when-overflow |
| | | label="工单编号" |
| | | width="200" |
| | | /> |
| | | <el-table-column |
| | | prop="stepcode" |
| | | label="工序编码" |
| | | show-tooltip-when-overflow |
| | | /> |
| | | <el-table-column |
| | | prop="stepname" |
| | | show-tooltip-when-overflow |
| | | label="工序名称" |
| | | /> |
| | | <!-- <el-table-column--> |
| | |
| | | <!-- />--> |
| | | <el-table-column |
| | | prop="plan_qty" |
| | | show-tooltip-when-overflow |
| | | label="任务数量" |
| | | /> |
| | | <el-table-column |
| | | prop="good_qty" |
| | | show-tooltip-when-overflow |
| | | label="合格数量" |
| | | /> |
| | | <el-table-column |
| | | prop="ng_qty" |
| | | show-tooltip-when-overflow |
| | | label="不良数量" |
| | | /> |
| | | <el-table-column |
| | |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" style="padding: 0;" @click="supplementSmallClick(row)">补打</el-button> |
| | | <el-button v-waves type="text" style="padding: 0;" @click="supplementSmallClick(row)">补打</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <span slot="footer" class="dialog-footer"> |
| | | <div class="footerButton"> |
| | | <el-button @click="dialogVisibleBack">返 回</el-button> |
| | | <!-- <el-button type="primary" @click="dialogVisibleConfirm">确 定</el-button>--> |
| | | <el-button v-waves @click="dialogVisibleBack">返 回</el-button> |
| | | <!-- <el-button v-waves type="primary" @click="dialogVisibleConfirm">确 定</el-button>--> |
| | | </div> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <!-- 源单单号对话框--> |
| | | <el-dialog |
| | | v-el-drag-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-date-picker--> |
| | | <!-- v-model="sourceForm.paystartdate"--> |
| | | <!-- type="daterange"--> |
| | | <!-- range-separator="~"--> |
| | | <!-- class="timeMini"--> |
| | | <!-- size="mini"--> |
| | | <!-- style="width: 200px;display: flex;line-height: 34px;height: 34px;font-size: 14px!important;"--> |
| | | <!-- :clearable="false"--> |
| | | <!-- start-placeholder="开始日期"--> |
| | | <!-- end-placeholder="结束日期"--> |
| | | <!-- />--> |
| | | <!-- <!– :picker-options="expireTimeOption"–>--> |
| | | |
| | | <el-form-item |
| | | |
| | | label="预计开工时间" |
| | | label-width="100px" |
| | | style=" display: flex;font-size: 14px;margin-top: 3px" |
| | | > |
| | | <el-date-picker |
| | | v-model="sourceForm.paystartdate" |
| | | type="daterange" |
| | | range-separator="~" |
| | | class="timeMini" |
| | | size="mini" |
| | | style="width: 200px;display: flex;line-height: 34px;height: 34px;font-size: 14px!important;" |
| | | :clearable="false" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | /> |
| | | <!-- :picker-options="expireTimeOption"--> |
| | | |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="预计完工时间" |
| | | label-width="100px" |
| | | style=" display: flex;font-size: 14px;margin-top: 3px" |
| | | > |
| | | <el-date-picker |
| | | v-model="sourceForm.payenddate" |
| | | type="daterange" |
| | | :clearable="false" |
| | | class="timeMini" |
| | | range-separator="~" |
| | | start-placeholder="开始日期" |
| | | style="width: 200px;display: flex;line-height: 34px ;height: 34px ;font-size: 14px !important;" |
| | | end-placeholder="结束日期" |
| | | size="mini" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="订单状态" style=" display: flex;"> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item--> |
| | | <!-- label="预计完工时间"--> |
| | | <!-- label-width="100px"--> |
| | | <!-- style=" display: flex;font-size: 14px;margin-top: 3px"--> |
| | | <!-- >--> |
| | | <!-- <el-date-picker--> |
| | | <!-- v-model="sourceForm.payenddate"--> |
| | | <!-- type="daterange"--> |
| | | <!-- :clearable="false"--> |
| | | <!-- class="timeMini"--> |
| | | <!-- range-separator="~"--> |
| | | <!-- start-placeholder="开始日期"--> |
| | | <!-- style="width: 200px;display: flex;line-height: 34px ;height: 34px ;font-size: 14px !important;"--> |
| | | <!-- end-placeholder="结束日期"--> |
| | | <!-- size="mini"--> |
| | | <!-- />--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item label="工单状态" style=" display: flex;"> |
| | | <el-select |
| | | v-model="sourceForm.erporderstus" |
| | | v-model="sourceForm.mesordercode" |
| | | filterable |
| | | :popper-append-to-body="false" |
| | | style="width: 200px" |
| | |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item v-show="isExpandDialog" label="订单编号" style=" display: flex;"> |
| | | <el-input v-model="sourceForm.erpordercode" placeholder="请输入" style="width: 200px" /> |
| | | <el-form-item label="工单编号" style=" display: flex;"> |
| | | <el-input v-model="sourceForm.sourceorder" placeholder="请输入" style="width: 200px" /> |
| | | </el-form-item> |
| | | <el-form-item v-show="isExpandDialog" label="产品编码" style=" display: flex;"> |
| | | <el-form-item label="产品编码" style=" display: flex;"> |
| | | <el-input v-model="sourceForm.partcode" style="width: 200px" placeholder="请输入" /> |
| | | </el-form-item> |
| | | |
| | |
| | | <el-input v-model="sourceForm.creatuser" style="width: 200px" placeholder="请输入" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item |
| | | v-show="isExpandDialog" |
| | | label="创建时间" |
| | | label-width="100px" |
| | | style=" display: flex;font-size: 14px;margin-top: 3px" |
| | | > |
| | | <el-date-picker |
| | | v-model="sourceForm.createdate" |
| | | type="daterange" |
| | | range-separator="~" |
| | | class="timeMini" |
| | | size="mini" |
| | | style="width: 200px;display: flex;line-height: 34px;height: 34px;font-size: 14px!important;" |
| | | :clearable="false" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | /> |
| | | <!-- :picker-options="expireTimeOption"--> |
| | | |
| | | </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 v-waves type="primary" icon="el-icon-search" @click="sourceSearch">查询</el-button> |
| | | <el-button v-waves 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" |
| | | @sort-change="sourceSortChange" |
| | | @row-click="getCurrentRowSource" |
| | | > |
| | | <!-- <el-table-column--> |
| | | <!-- type="selection"--> |
| | |
| | | v-model="radioSelectedId" |
| | | :label="row.id" |
| | | style="color: transparent;padding-left: 10px;" |
| | | @change.native="getCurrentRowSource(row.id)" |
| | | /> |
| | | <!-- @change.native="getCurrentRowSource(row.id)"--> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | fixed |
| | | label="序号" |
| | | /> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="status"--> |
| | | <!-- label="工单状态"--> |
| | | <!-- show-tooltip-when-overflow--> |
| | | <!-- sortable="custom"--> |
| | | <!-- width="110"--> |
| | | <!-- >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- <div v-if="row.status==='NEW'">新订单</div>--> |
| | | <!-- <div v-if="row.status==='CREATING'">部分下达</div>--> |
| | | <!-- <div v-if="row.status==='CREATED'">全部下达</div>--> |
| | | <!-- <div v-if="row.status==='CLOSED'">已关闭</div>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <el-table-column |
| | | prop="status" |
| | | label="订单状态" |
| | | sortable="custom" |
| | | width="110" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.status==='NEW'">新订单</div> |
| | | <div v-if="row.status==='CREATING'">部分下达</div> |
| | | <div v-if="row.status==='CREATED'">全部下达</div> |
| | | <div v-if="row.status==='CLOSED'">已关闭</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="wo" |
| | | label="订单编号" |
| | | sortable="custom" |
| | | label="工单编号" |
| | | prop="wo_code" |
| | | show-tooltip-when-overflow |
| | | min-width="150" |
| | | /> |
| | | sortable="custom" |
| | | > |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- <div v-if="row.m_po">{{ row.m_po }}</div>--> |
| | | <!-- <div v-else>{{ row.wo_code }}</div>--> |
| | | <!-- </template>--> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="partcode" |
| | | label="产品编码" |
| | | sortable="custom" |
| | | show-tooltip-when-overflow |
| | | min-width="150" |
| | | /> |
| | | <el-table-column |
| | | prop="partname" |
| | | label="产品名称" |
| | | sortable="custom" |
| | | show-tooltip-when-overflow |
| | | min-width="150" |
| | | /> |
| | | <el-table-column |
| | | prop="partspec" |
| | | label="产品规格" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | min-width="110" |
| | | > |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="qty" |
| | | label="订单数量" |
| | | prop="plan_qty" |
| | | label="任务数量" |
| | | width="150" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | /> |
| | | |
| | | <el-table-column |
| | | prop="relse_qty" |
| | | label="已下单数量" |
| | | prop="bad_qty" |
| | | label="报废数量" |
| | | width="150" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | /> |
| | | |
| | | <!-- <el-table-column--> |
| | | <!-- prop="relse_qty"--> |
| | | <!-- show-tooltip-when-overflow--> |
| | | <!-- label="已下单数量"--> |
| | | <!-- width="150"--> |
| | | <!-- sortable="custom"--> |
| | | <!-- />--> |
| | | <el-table-column |
| | | prop="wkshp_name" |
| | | label="生产车间" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | width="150" |
| | | > |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="planstartdate" |
| | | prop="plan_startdate" |
| | | label="预计开工时间" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | width="130" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.planstartdate">{{ row.planstartdate.substring(0, 11) }}</div> |
| | | <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="planenddate" |
| | | prop="plan_enddate" |
| | | label="预计完工时间" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | width="130" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.planenddate">{{ row.planenddate.substring(0, 11) }}</div> |
| | | <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="createuser" |
| | | prop="lm_user" |
| | | label="创建人员" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | width="150" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.createuser">{{ row.createuser }}</div> |
| | | <div v-if="row.lm_user">{{ row.lm_user }}</div> |
| | | <div v-else>/</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="createdate" |
| | | prop="lm_date" |
| | | label="创建时间" |
| | | show-tooltip-when-overflow |
| | | width="130" |
| | | sortable="custom" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.createdate">{{ row.createdate.substring(0, 11) }}</div> |
| | | <div v-if="row.lm_date">{{ row.lm_date.substring(0, 11) }}</div> |
| | | <div v-else>/</div> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- <div class="operationClass">--> |
| | | <!-- <el-tooltip class="item" effect="dark" content="下达" placement="top">--> |
| | | <!-- <!– <el-button type="text" @click="edit('edit',row)">下达</el-button>–>--> |
| | | <!-- <!– <el-button v-waves type="text" @click="edit('edit',row)">下达</el-button>–>--> |
| | | <!-- <i--> |
| | | <!-- class="el-icon-bottom"--> |
| | | <!-- style="color:#42b983;cursor: pointer;margin-left: 5px"--> |
| | |
| | | align="right" |
| | | layout="total,prev, pager, next,sizes" |
| | | popper-class="select_bottom" |
| | | @pagination="getErpOrderSearch" |
| | | @pagination="getMesBadOrderSearch" |
| | | /> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <div class="footerButton"> |
| | | <el-button @click="dialogVisibleSourceBack">返 回</el-button> |
| | | <el-button type="primary" @click="dialogVisibleSourceConfirm">确 定</el-button> |
| | | <el-button v-waves @click="dialogVisibleSourceBack">返 回</el-button> |
| | | <el-button v-waves type="primary" @click="dialogVisibleSourceConfirm">确 定</el-button> |
| | | </div> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <!--打印预览对话框 大标签--> |
| | | <el-dialog |
| | | v-el-drag-dialog |
| | | title="" |
| | | :visible.sync="dialogVisibleApprove" |
| | | width="812px" |
| | |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <div class="footerButton"> |
| | | <el-button @click="dialogVisibleBackPreview">返 回</el-button> |
| | | <!-- <el-button v-if="operation==='add'" type="primary" @click="dialogVisibleConfirm">确 定</el-button>--> |
| | | <!-- <el-button type="primary" @click="dialogVisibleConfirm">确 定/打 印</el-button>--> |
| | | <el-button v-print="printObj" type="primary">打 印</el-button> |
| | | <el-button v-waves @click="dialogVisibleBackPreview">返 回</el-button> |
| | | <!-- <el-button v-waves v-if="operation==='add'" type="primary" @click="dialogVisibleConfirm">确 定</el-button>--> |
| | | <!-- <el-button v-waves type="primary" @click="dialogVisibleConfirm">确 定/打 印</el-button>--> |
| | | <el-button v-waves v-print="printObj" type="primary">打 印</el-button> |
| | | </div> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <!--打印预览页面 小标签--> |
| | | <el-dialog |
| | | v-el-drag-dialog |
| | | title="预览" |
| | | :visible.sync="dialogVisible2" |
| | | width="1140" |
| | |
| | | style="display: flex;height: 96px;border-bottom:1px solid #000; |
| | | justify-content: center;align-items: center;position: relative" |
| | | > |
| | | <div id="qrCode2" ref="qrCodeDiv2" style="overflow-y: hidden;height:60px;position: absolute;left: 14px;" /> |
| | | <div |
| | | id="qrCode2" |
| | | ref="qrCodeDiv2" |
| | | style="overflow-y: hidden;height:60px;position: absolute;left: 14px;" |
| | | /> |
| | | </div> |
| | | <div |
| | | style="display: flex;height: 32px;justify-content: flex-start;border-bottom:1px solid #000;align-items: center" |
| | |
| | | style="display: flex;height: 96px;border-bottom:1px solid #000; |
| | | justify-content: center;align-items: center;position: relative" |
| | | > |
| | | <div id="qrCode2" ref="qrCodeDiv2" style="overflow-y: hidden;height:60px;position: absolute;left: 14px;" /> |
| | | <div |
| | | id="qrCode2" |
| | | ref="qrCodeDiv2" |
| | | style="overflow-y: hidden;height:60px;position: absolute;left: 14px;" |
| | | /> |
| | | </div> |
| | | <div |
| | | style="display: flex;height: 32px;justify-content: flex-start;border-bottom:1px solid #000;align-items: center" |
| | |
| | | |
| | | </div> |
| | | <div |
| | | v-if="printSize===2" |
| | | style="display: flex;width: 220px;height: 130px;border: 1px solid #000;text-align: center;font-size: 12px" |
| | | > |
| | | |
| | | <div style="width: 70px;display: flex;flex-direction: column;border-right: 1px solid #000"> |
| | | <div |
| | | style="display: flex;height: 60%;border-bottom:1px solid #000; |
| | | justify-content: center;align-items: center;position: relative" |
| | | > |
| | | <div |
| | | id="qrCode2" |
| | | ref="qrCodeDiv2" |
| | | style="overflow-y: hidden;height:71%;position: absolute;left: 7px;" |
| | | /> |
| | | </div> |
| | | <div |
| | | style="display: flex;height: 20%;justify-content: flex-start;border-bottom:1px solid #000;align-items: center" |
| | | > |
| | | <div style="margin-left: 3px; ">数量:{{ qrForm.startqty }}</div> |
| | | </div> |
| | | <div style="display: flex;height: 20%;justify-content: flex-start;align-items: center;"> |
| | | <div style="margin-left: 3px; ">操作:{{ qrForm.operator }}</div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | <div style="width:150px;display: flex;flex-direction: column"> |
| | | <div |
| | | style="display: flex;height: 20%;border-bottom:1px solid #000;justify-content: flex-start;align-items: center;text-align: left" |
| | | > |
| | | <div style="margin-left: 3px;">编号:{{ qrForm.wo_code }}</div> |
| | | |
| | | </div> |
| | | <div |
| | | style="display: flex;height: 20%;border-bottom:1px solid #000;justify-content: flex-start;align-items: center ;text-align: left" |
| | | > |
| | | <div style="margin-left: 3px;">产品编码:{{ qrForm.partcode }}</div> |
| | | |
| | | </div> |
| | | <div |
| | | style="display: flex;height: 20%;border-bottom:1px solid #000 ;justify-content: flex-start;align-items: center;text-align: left" |
| | | > |
| | | <div style="margin-left: 3px;">产品名称:{{ qrForm.partname }}</div> |
| | | |
| | | </div> |
| | | <div |
| | | style="display: flex;height: 20%;border-bottom:1px solid #000 ;justify-content: flex-start;align-items: center;text-align: left" |
| | | > |
| | | <div style="margin-left: 3px;">下道工序:{{ qrForm.nextstepname }}</div> |
| | | |
| | | </div> |
| | | <div style="display: flex;height: 20%;justify-content: flex-start;align-items: center;text-align: left"> |
| | | <div style=" margin-left: 3px;">时间: {{ qrForm.operatorTime }}</div> |
| | | <!-- <div>{{ qrForm.operatorTime?qrForm.operatorTime.substring(5):'' }}</div>--> |
| | | <!-- <div>{{ qrForm.operatorTime }}</div>--> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | <div |
| | | v-if="printSize===5" |
| | | style="display: flex;width: 140px;height: 80px;border: 1px solid #000;text-align: center;font-size: 10px;" |
| | | > |
| | |
| | | style="display: flex;height: 60px;border-bottom:1px solid #000; |
| | | justify-content: center;align-items: center;position: relative" |
| | | > |
| | | <div id="qrCode2" ref="qrCodeDiv2" style="overflow-y: hidden;height:60px;position: absolute;left: 14px;" /> |
| | | <div |
| | | id="qrCode2" |
| | | ref="qrCodeDiv2" |
| | | style="overflow-y: hidden;height:60px;position: absolute;left: 14px;" |
| | | /> |
| | | </div> |
| | | <div |
| | | style="display: flex;height: 20px;justify-content: flex-start;border-bottom:1px solid #000;align-items: center" |
| | |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <div class="footerButton"> |
| | | <el-button @click="dialogVisible2 = false">取 消</el-button> |
| | | <el-button v-print="printObj2" type="primary">打 印</el-button> |
| | | <el-button v-waves @click="dialogVisible2 = false">取 消</el-button> |
| | | <el-button v-waves v-print="printObj2" type="primary">打 印</el-button> |
| | | </div> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <!-- 工艺路线对话框--> |
| | | <el-dialog |
| | | v-el-drag-dialog |
| | | :close-on-click-modal="false" |
| | | title="关联工艺路线" |
| | | :visible.sync="dialogVisibleRoute" |
| | |
| | | <el-table-column |
| | | prop="stepcode" |
| | | label="工序编码" |
| | | show-tooltip-when-overflow |
| | | /> |
| | | <el-table-column |
| | | prop="stepname" |
| | | label="工序名称" |
| | | show-tooltip-when-overflow |
| | | /> |
| | | <el-table-column |
| | | prop="enable" |
| | |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <div class="footerButton"> |
| | | <el-button @click="routeDialogVisibleCancel">取 消</el-button> |
| | | <el-button type="primary" @click="routeDialogVisibleConfirm">确 定</el-button> |
| | | <el-button v-waves @click="routeDialogVisibleCancel">取 消</el-button> |
| | | <el-button v-waves type="primary" @click="routeDialogVisibleConfirm">确 定</el-button> |
| | | </div> |
| | | </span> |
| | | </el-dialog> |
| | |
| | | import { |
| | | AddUpdateMesOrder, |
| | | ClosedMesOrder, |
| | | DeleteMesOrder, ErpOrderSearch, |
| | | MesOrderSearch, PartSelectRoute, RouteSelectWkshop, SearchWorkStep, |
| | | DeleteMesOrder, MesBadOrderSearch, JobCreationSonAddVison, |
| | | MesOrderSearch, PartSelectRoute, RouteSelectWkshop, SearchWorkStep, SelectRouteOrWkshop, |
| | | SelectRouteStep |
| | | } from '@/api/scgl' |
| | | import { InventoryFileAssociationRoute, PartSelect, SaveInventoryFile } from '@/api/zzmx' |
| | |
| | | import { urlAddRandomNo, webapp_ws_ajax_run, webapp_ws_autoupdate } from '@/utils/grwebapp' |
| | | import QRCode from 'qrcodejs2' |
| | | import $ from 'jquery' |
| | | import elDragDialog from '@/directive/el-drag-dialog' |
| | | import waves from '@/directive/waves' |
| | | |
| | | export default { |
| | | name: 'GD', |
| | | components: { |
| | | Pagination |
| | | }, |
| | | directives: { elDragDialog, waves }, |
| | | data() { |
| | | return { |
| | | mouseHoverType: 'mouseout', |
| | | mouseHoverTypeDialog: 'mouseout', |
| | | isExpandForm: false, |
| | | isIpad: false, |
| | | mainHeight: 0, |
| | | tableHeight: 0, |
| | |
| | | // { code: 'CREATED', name: '已关闭' } |
| | | { code: 'ALLO', name: '已派发' }, |
| | | { code: 'START', name: '开工' }, |
| | | { code: 'CLOSED', name: '完工' } |
| | | { code: 'CLOSED', name: '完工' }, |
| | | { code: 'NOSCHED', name: '待排程' }, |
| | | { code: 'SCHED', name: '已排程' } |
| | | ], |
| | | total: 10, |
| | | radioSelected: '', |
| | |
| | | planstartdate: '', // 计划开始时间 |
| | | planenddate: '', // 计划完成时间 |
| | | orderlev: '', // 工单等级 |
| | | |
| | | isAps: 'N', // 是否排程 |
| | | bomId: '', // 物料清单id |
| | | OperType: '' // 操作类型 |
| | | }, |
| | | bomIdArr: [], // 物料清单下拉 |
| | | 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'] } |
| | | ] |
| | | |
| | | }, |
| | |
| | | dialogVisibleSource: false, |
| | | sourceTableData: [], |
| | | sourceForm: { |
| | | erporderstus: '', // 订单状态码 |
| | | erpordercode: '', // 订单编号 |
| | | mesordercode: '', // 订单状态码 |
| | | sourceorder: '', // 工单编号 |
| | | partcode: '', // 产品编码 |
| | | partname: '', // 产品名称 |
| | | partspec: '', // 产品规格 |
| | | creatuser: '', // 创建人员 |
| | | // paystartdate: '', // 交付时间 |
| | | paystartdate: '', // 预计开工时间 |
| | | payenddate: '', // 预计完工时间 |
| | | // paystartdate: '', // 预计开工时间 |
| | | // payenddate: '', // 预计完工时间 |
| | | createdate: '', // 创建时间 |
| | | prop: 'createdate', // 排序字段 |
| | | |
| | | prop: 'lm_date', // 排序字段 |
| | | order: 'desc', // 排序字段 |
| | | page: 1, // 第几页 |
| | | rows: 20 // 每页多少条 |
| | |
| | | defaultroute_code: '', // 默认工艺路线选中值 |
| | | defaultroute_codeArr: '', // 默认工艺路线数组 |
| | | projectTableData: [], // 设备列表 |
| | | isExpandForm: false, // 表单是否展开,默认不展开 |
| | | tableDataDetail: [], // 点击工单表的行 显示详细信息 |
| | | printSize: 1, |
| | | printSize: 2, |
| | | printSizeSelectArr: [// 宽*高 |
| | | { code: 0, name: '80*50' }, |
| | | { code: 1, name: '78*60' } |
| | | { 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' }, |
| | | // { code: 5, name: '40*30' } |
| | | ] |
| | | ], |
| | | pickerOptions: { |
| | | disabledDate(time) { |
| | | return time.getTime() < Date.now() - 8.64e7 |
| | | } |
| | | }, |
| | | sumbitBottonIsDisabled: false |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | } |
| | | this.sourceForm.order = order |
| | | this.sourceForm.prop = prop |
| | | this.getErpOrderSearch() |
| | | this.getMesBadOrderSearch() |
| | | }, |
| | | // 查询 |
| | | search() { |
| | |
| | | this.dialogForm.planenddate = handleDatetime(new Date()) |
| | | this.dialogForm.orderlev = 3 |
| | | }, |
| | | |
| | | // 产品信息值改变 |
| | | async partcodeChange(val) { |
| | | console.log(val, 22) |
| | | const { data: res } = await PartSelectRoute({ partcode: val }) |
| | | this.routeArr = res |
| | | |
| | |
| | | } |
| | | |
| | | this.dialogForm.wkshopcode = '' |
| | | |
| | | this.sumbitBottonIsDisabled = false |
| | | }, |
| | | // 工艺路线值改变 |
| | | async routecodeChange(val) { |
| | |
| | | const { data: res2 } = await RouteSelectWkshop(data) |
| | | this.wkshopArr = res2 |
| | | this.dialogForm.wkshopcode = '' |
| | | |
| | | this.sumbitBottonIsDisabled = false |
| | | }, |
| | | // 生产车间值改变时 |
| | | wkshopcodeChange(val) { |
| | | const data = { |
| | | partcode: this.dialogForm.partcode, |
| | | routecode: this.dialogForm.routecode, |
| | | wkshopcode: val |
| | | } |
| | | SelectRouteOrWkshop(data).then((res) => { |
| | | // console.log(res, 1) |
| | | }).catch(err => { |
| | | // console.log(err, 2) |
| | | this.sumbitBottonIsDisabled = true |
| | | }) |
| | | }, |
| | | |
| | | // 是否排程值改变时 |
| | | changeIsAps(val) { |
| | | if (val === 'N') { |
| | | this.dialogForm.bomId = '' |
| | | } |
| | | if (val === 'Y') { |
| | | JobCreationSonAddVison({ partnumber: this.dialogForm.partcode }).then(res => { |
| | | this.bomIdArr = res.data |
| | | this.dialogForm.bomId = this.bomIdArr[0].id |
| | | }) |
| | | } |
| | | }, |
| | | // 工序任务 |
| | | async check(row) { |
| | |
| | | }, |
| | | // 删除按钮 |
| | | async del(row) { |
| | | if (row.status === 'START' || row.status === 'CLOSED') { |
| | | if (row.status === 'START' || row.status === 'CLOSED' || row.status === 'SCHED') { |
| | | return this.$message.info('此工单不可删除!') |
| | | } |
| | | this.$confirm('是否确认删除?', '提示', { |
| | |
| | | }).then(() => { |
| | | console.log(row, 1) |
| | | const data = { |
| | | souceid: row.sourceid, |
| | | souceid: row.sourceid ? row.sourceid : '', |
| | | wocode: row.wo_code, |
| | | m_po: row.m_po, |
| | | orderqty: row.plan_qty |
| | |
| | | // const { data: res } = await PartSelectRpute({ partcode: val }) |
| | | // this.routeArr = res |
| | | // this.dialogForm.routecode = '' |
| | | this.dialogForm.isAps = 'N' |
| | | this.dialogForm.bomId = '' |
| | | this.partcodeChange(val) |
| | | }, |
| | | // 对话框关闭事件 |
| | |
| | | this.dialogForm.planstartdate = '' // 计划开始时间 |
| | | this.dialogForm.planenddate = '' // 计划完成时间 |
| | | this.dialogForm.orderlev = '' // 工单等级 |
| | | this.dialogForm.isAps = 'N' // 是否排程 |
| | | this.dialogForm.bomId = '' |
| | | |
| | | this.bomIdArr = [] |
| | | this.$refs.dialogForm.clearValidate() |
| | | this.sumbitBottonIsDisabled = false |
| | | }, |
| | | // 对话框取消 |
| | | dialogVisibleCancel() { |
| | |
| | | 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, // 物料清单id |
| | | 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 |
| | | } |
| | | this.isIpad = window.innerHeight < 769 && window.innerWidth < 1367 |
| | | this.$refs.tableDataRef.doLayout() |
| | | }) |
| | | }, |
| | | // 工艺路线放大镜点击 |
| | |
| | | // div.scrollTop = div.scrollHeight // 滚动条位于最底部 |
| | | div.scrollTop = 0 // 滚动条位于最顶部 |
| | | }) |
| | | this.dialogVisibleApprove = true |
| | | } |
| | | }) |
| | | this.dialogVisibleApprove = true |
| | | }, |
| | | dialogVisibleTaskClose() { |
| | | this.dialogForm.mesordercode = '' |
| | |
| | | bindQRCode2(text) { |
| | | new QRCode(this.$refs.qrCodeDiv2, { |
| | | text: text, |
| | | width: 60, |
| | | height: 60, |
| | | width: this.printSize !== 2 ? 60 : 55, |
| | | height: this.printSize !== 2 ? 60 : 55, |
| | | colorDark: '#000', // 二维码颜色 |
| | | colorLight: '#ffffff', // 二维码背景色 |
| | | correctLevel: QRCode.CorrectLevel.L// 容错率,L/M/H |
| | |
| | | return this.$message.info('工单类型为报废补单情况下可选择!') |
| | | } |
| | | |
| | | this.getErpOrderSearch() |
| | | this.getMesBadOrderSearch() |
| | | |
| | | this.dialogVisibleSource = true |
| | | }, |
| | | async getErpOrderSearch() { |
| | | let tempDate2 = this.sourceForm.paystartdate |
| | | if (tempDate2.length > 0) { |
| | | tempDate2 = handleDatetime(tempDate2[0]) + '~' + handleDatetime(tempDate2[1]) |
| | | } |
| | | async getMesBadOrderSearch() { |
| | | // let tempDate2 = this.sourceForm.paystartdate |
| | | // if (tempDate2.length > 0) { |
| | | // tempDate2 = handleDatetime(tempDate2[0]) + '~' + handleDatetime(tempDate2[1]) |
| | | // } |
| | | |
| | | let tempDate = this.sourceForm.payenddate |
| | | let tempDate = this.sourceForm.createdate |
| | | if (tempDate.length > 0) { |
| | | tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1]) |
| | | } |
| | | |
| | | const data = { |
| | | erporderstus: this.sourceForm.erporderstus, // 订单状态码 |
| | | erpordercode: this.sourceForm.erpordercode, // 订单编号 |
| | | mesordercode: this.sourceForm.mesordercode, // 订单状态码 |
| | | sourceorder: this.sourceForm.sourceorder, // 工单编号 |
| | | partcode: this.sourceForm.partcode, // 产品编码 |
| | | partname: this.sourceForm.partname, // 产品名称 |
| | | partspec: this.sourceForm.partspec, // 产品规格 |
| | | paystartdate: tempDate2, // 交付时间 |
| | | payenddate: tempDate, // 交付时间 |
| | | // paystartdate: tempDate2, // 交付时间 |
| | | // payenddate: tempDate, // 交付时间 |
| | | creatuser: this.sourceForm.creatuser, // 创建人员 |
| | | createdate: tempDate, // 创建时间 |
| | | |
| | | prop: this.sourceForm.prop, // 排序字段 |
| | | order: this.sourceForm.order, // 排序字段 |
| | |
| | | |
| | | } |
| | | |
| | | const res = await ErpOrderSearch(data) |
| | | this.sourceTableData = res.data.filter(item => item.status !== 'NEW') |
| | | const res = await MesBadOrderSearch(data) |
| | | this.sourceTableData = res.data |
| | | this.sourceFormTotal = res.count |
| | | }, |
| | | // 单选框选中获取当前行信息 |
| | | getCurrentRowSource(id) { |
| | | this.radioSelectedId = id |
| | | // getCurrentRowSource2(id) { |
| | | // this.radioSelectedId = id |
| | | // }, |
| | | // 单选框选中获取当前行信息 |
| | | getCurrentRowSource(row, event, column) { |
| | | this.radioSelectedId = row.id |
| | | this.dialogForm.mesqty = row.bad_qty |
| | | }, |
| | | sourceSearch() { |
| | | this.getErpOrderSearch() |
| | | this.getMesBadOrderSearch() |
| | | }, |
| | | sourceReset() { |
| | | this.sourceForm.erporderstus = '' |
| | | this.sourceForm.erpordercode = '' |
| | | this.sourceForm.mesordercode = '' |
| | | this.sourceForm.sourceorder = '' |
| | | this.sourceForm.partcode = '' |
| | | this.sourceForm.partname = '' |
| | | this.sourceForm.partspec = '' |
| | | this.sourceForm.paystartdate = '' |
| | | this.sourceForm.payenddate = '' |
| | | // this.sourceForm.paystartdate = '' |
| | | // this.sourceForm.payenddate = '' |
| | | this.sourceForm.creatuser = '' |
| | | this.sourceForm.createdate = '' |
| | | this.getErpOrderSearch() |
| | | this.getMesBadOrderSearch() |
| | | }, |
| | | dialogVisibleSourceClose() { |
| | | this.radioSelectedId = '' |
| | | |
| | | this.sourceForm.erporderstus = '' |
| | | this.sourceForm.erpordercode = '' |
| | | this.sourceForm.mesordercode = '' |
| | | this.sourceForm.sourceorder = '' |
| | | this.sourceForm.partcode = '' |
| | | this.sourceForm.partname = '' |
| | | this.sourceForm.partspec = '' |
| | |
| | | console.log(this.radioSelectedId) |
| | | this.sourceTableData.forEach(item => { |
| | | if (item.id === this.radioSelectedId) { |
| | | this.dialogForm.sourceorder = item.wo |
| | | this.dialogForm.sourceorder = item.wo_code |
| | | this.dialogForm.partcode = item.partcode |
| | | this.dialogForm.partspec = item.partspec |
| | | } |
| | |
| | | this.defaultroute_codeArr = this.dialogFormRoute.routeOperationArr.filter(item => item.isSelected2) |
| | | }, |
| | | // 行点击事件 |
| | | async rowClick(row, event, column) { |
| | | console.log(row, event, column) |
| | | console.log(row.wo_code, event, column) |
| | | async rowClick(row, event, column) { |
| | | this.radioSelected = row.wo_code |
| | | const { data: res } = await SearchWorkStep({ wo_code: row.wo_code }) |
| | | this.tableDataDetail = res |
| | | }, |
| | |
| | | |
| | | <style lang="scss" scoped> |
| | | $main_color: #42b983; |
| | | |
| | | .dialogVisibleRoute { |
| | | .myCheckboxGroup { |
| | | display: flex; |
| | |
| | | margin-bottom: 0; |
| | | } |
| | | |
| | | //.elTableDiv { |
| | | ::v-deep .el-radio__label { |
| | | display: none; |
| | | } |
| | | .elTableDiv { |
| | | ::v-deep .el-radio__label { |
| | | display: none; |
| | | } |
| | | |
| | | //} |
| | | } |
| | | |
| | | .el-table::before { |
| | | height: 0; |
| | |
| | | //} |
| | | } |
| | | |
| | | ::v-deep .el-select__caret{ |
| | | ::v-deep .el-select__caret { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .tableFixed { |
| | | ::v-deep .el-table__fixed-right { |
| | | height: 100% !important; |
| | | } |
| | | |
| | | ::v-deep .el-table__fixed { |
| | | height: 100% !important; |
| | | } |
| | | } |
| | | </style> |
| | | <style> |
| | | |