| | |
| | | <div class="bodyTopButtonGroup" style="justify-content: space-between"> |
| | | <div style="display: flex"> |
| | | <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> |
| | | <el-button v-waves type="primary" icon="el-icon-connection" @click="batchSend()">批量派发</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"> |
| | |
| | | <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 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;"> |
| | | <el-select |
| | | v-model="form.ordertype" |
| | | :popper-append-to-body="false" |
| | |
| | | :cell-style="this.$cellStyle" |
| | | @sort-change="sortChange" |
| | | @row-click="rowClick" |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <!-- <el-table-column--> |
| | | <!-- type="selection"--> |
| | | <!-- width="50"--> |
| | | <!-- />--> |
| | | <el-table-column |
| | | type="selection" |
| | | width="50" |
| | | fixed |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-radio |
| | | v-model="radioSelected" |
| | | :label="row.wo_code" |
| | | style="color: transparent;padding-left: 10px;" |
| | | /> |
| | | <!-- @change.native="getCurrentRow(row.wo_code)"--> |
| | | </template> |
| | | </el-table-column> |
| | | :selectable="selected" |
| | | /> |
| | | <!-- <el-table-column--> |
| | | <!-- width="50"--> |
| | | <!-- fixed--> |
| | | <!-- >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- <el-radio--> |
| | | <!-- v-model="radioSelected"--> |
| | | <!-- :label="row.wo_code"--> |
| | | <!-- style="color: transparent;padding-left: 10px;"--> |
| | | <!-- />--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <el-table-column |
| | | prop="RowNum" |
| | | width="50" |
| | |
| | | <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> |
| | | <!-- <div v-if="row.status==='NOSCHED'">待排程</div>--> |
| | | <!-- <div v-if="row.status==='SCHED'">已排程</div>--> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="saleOrderCode" |
| | | label="销售订单" |
| | | sortable="custom" |
| | | show-tooltip-when-overflow |
| | | min-width="160" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.saleOrderCode">{{ row.saleOrderCode }}</div> |
| | | <div v-else>/</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="wotype" |
| | | label="单据类型" |
| | | sortable="custom" |
| | |
| | | <div v-else>/</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="printcount" |
| | | label="打印次数" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | min-width="120" |
| | | /> |
| | | <el-table-column |
| | | prop="partcode" |
| | | label="产品编码" |
| | |
| | | <div v-else>/</div> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="route_name"--> |
| | | <!-- label="关联工艺路线"--> |
| | | <!-- min-width="110"--> |
| | | <!-- >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- <i v-if="row.route_name" class="el-icon-share" @click="routeClick(row)" />--> |
| | | <!-- <i v-else style="color:rgb(180 ,181, 185)" class="el-icon-share" @click="routeClick(row)" />--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | |
| | | <el-table-column |
| | | prop="plan_startdate" |
| | | label="计划开始时间" |
| | |
| | | /> |
| | | <el-table-column |
| | | label="操作" |
| | | width="120" |
| | | width="140" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div class="operationClass"> |
| | | <el-tooltip class="item" effect="dark" content="派发" placement="top"> |
| | | <i |
| | | :style="{color:$store.state.settings.theme}" |
| | | class="el-icon-connection" |
| | | style="cursor: pointer;margin-right: 15px" |
| | | @click="send('send',row)" |
| | | /> |
| | | </el-tooltip> |
| | | <el-tooltip class="item" effect="dark" content="工单关闭" placement="top"> |
| | | <i |
| | | :style="{color:$store.state.settings.theme}" |
| | | class="el-icon-switch-button" |
| | | style="cursor: pointer;margin-right: 15px" |
| | | @click="orderClose(row.wo_code)" |
| | | /> |
| | | </el-tooltip> |
| | | <el-tooltip class="item" effect="dark" content="打印工单" placement="top"> |
| | | <!-- <i--> |
| | | <!-- class="el-icon-tickets"--> |
| | |
| | | :style="{color:$store.state.settings.theme}" |
| | | class="el-icon-printer" |
| | | style="cursor: pointer;margin-right: 15px" |
| | | @click="handlePrint(row.wo_code)" |
| | | @click="handlePrint(row.wo_code,row.saleOrderCode)" |
| | | /> |
| | | </el-tooltip> |
| | | <el-tooltip v-del-tab-index class="item" effect="dark" content="删除" placement="top"> |
| | |
| | | /> |
| | | |
| | | <div class="elTableDiv"> |
| | | |
| | | <div |
| | | v-if="$store.state.settings.orgType === 'W'" |
| | | style="position:absolute;z-index: 1000;left: 20px;top: -50px" |
| | | > |
| | | <el-switch |
| | | v-model="switchButton" |
| | | style="display: block" |
| | | active-text="所有车间" |
| | | inactive-text="当前车间" |
| | | @change="rowClick" |
| | | /> |
| | | <!-- active-color="#13ce66"--> |
| | | <!-- inactive-color="#ff4949"--> |
| | | </div> |
| | | |
| | | <el-table |
| | | :data="tableDataDetail" |
| | | border |
| | |
| | | show-tooltip-when-overflow |
| | | prop="ng_qty" |
| | | /> |
| | | <el-table-column |
| | | label="操作" |
| | | width="120" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div class="operationClass"> |
| | | <el-tooltip class="item" effect="dark" content="打印工序" placement="top"> |
| | | <i |
| | | v-if="tableDataDetail.length!==row.seq" |
| | | class="el-icon-printer" |
| | | :style="{color:$store.state.settings.theme}" |
| | | style="cursor: pointer;margin-right: 15px" |
| | | @click="supplementSmallClick(row)" |
| | | /> |
| | | </el-tooltip> |
| | | <el-tooltip class="item" effect="dark" content="补打生产入库条码" placement="top"> |
| | | <i |
| | | v-if="tableDataDetail.length===row.seq" |
| | | class=" el-icon-camera" |
| | | :style="{color:$store.state.settings.theme}" |
| | | style="cursor: pointer;margin-right: 15px" |
| | | @click="getProductInHouseLabCode(row.wo_code)" |
| | | /> |
| | | </el-tooltip> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column--> |
| | | <!-- label="操作"--> |
| | | <!-- width="120"--> |
| | | <!-- fixed="right"--> |
| | | <!-- >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- <div class="operationClass">--> |
| | | <!-- <el-tooltip class="item" effect="dark" content="打印工序" placement="top">--> |
| | | <!-- <i--> |
| | | <!-- v-if="tableDataDetail.length!==row.seq"--> |
| | | <!-- class="el-icon-printer"--> |
| | | <!-- :style="{color:$store.state.settings.theme}"--> |
| | | <!-- style="cursor: pointer;margin-right: 15px"--> |
| | | <!-- @click="supplementSmallClick(row)"--> |
| | | <!-- />--> |
| | | <!-- </el-tooltip>--> |
| | | <!-- <el-tooltip class="item" effect="dark" content="补打生产入库条码" placement="top">--> |
| | | <!-- <i--> |
| | | <!-- v-if="tableDataDetail.length===row.seq"--> |
| | | <!-- class=" el-icon-camera"--> |
| | | <!-- :style="{color:$store.state.settings.theme}"--> |
| | | <!-- style="cursor: pointer;margin-right: 15px"--> |
| | | <!-- @click="getProductInHouseLabCode(row.wo_code)"--> |
| | | <!-- />--> |
| | | <!-- </el-tooltip>--> |
| | | <!-- </div>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | |
| | | <!--新增派发对话框--> |
| | | <el-dialog |
| | | v-el-drag-dialog |
| | |
| | | <!-- <el-input v-model="dialogForm.mesordercode" :disabled="operation!=='add'" 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-select |
| | | v-model="dialogForm.ordertype" |
| | | :popper-append-to-body="false" |
| | | style="width: 200px" |
| | | :disabled="operation!=='add'" |
| | | placeholder="请选择" |
| | | @change="mesordertypeChange" |
| | | > |
| | | |
| | | <el-option |
| | | v-for="item in ordertypeArr" |
| | | :key="item.code" |
| | | :label="item.name" |
| | | :value="item.code" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <div style="display: flex;flex-wrap: nowrap"> |
| | | <el-form-item label="源单单号"> |
| | | <el-input |
| | | v-model="dialogForm.sourceorder" |
| | | :disabled="dialogForm.ordertype==='PO'" |
| | | style="width: 172px" |
| | | /> |
| | | </el-form-item> |
| | | <!-- <div style="display: flex">--> |
| | | <el-form-item label="工单类型" prop="mesorderstus"> |
| | | <el-select |
| | | v-model="dialogForm.ordertype" |
| | | :popper-append-to-body="false" |
| | | style="width: 200px" |
| | | :disabled="operation!=='add'" |
| | | placeholder="请选择" |
| | | @change="mesordertypeChange" |
| | | > |
| | | <el-option |
| | | v-for="item in ordertypeArr" |
| | | :key="item.code" |
| | | :label="item.name" |
| | | :value="item.code" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- <div style="display: flex;flex-wrap: nowrap">--> |
| | | <el-form-item label="源单单号"> |
| | | <el-input |
| | | v-model="dialogForm.sourceorder" |
| | | :disabled="dialogForm.ordertype==='PO'" |
| | | style="width: 200px" |
| | | > |
| | | <el-button |
| | | v-waves |
| | | type="primary" |
| | | style="padding: 0 10px;margin-left: -8px;margin-top: 3px" |
| | | class="el-icon-search" |
| | | slot="append" |
| | | icon="el-icon-search" |
| | | :disabled="operation!=='add'||dialogForm.ordertype==='PO'" |
| | | @click="mesordertsourcesearchclick" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </el-input> |
| | | </el-form-item> |
| | | <!-- <el-button--> |
| | | <!-- v-waves--> |
| | | <!-- type="primary"--> |
| | | <!-- style="padding: 0 10px;margin-left: -8px;margin-top: 3px"--> |
| | | <!-- class="el-icon-search"--> |
| | | <!-- :disabled="operation!=='add'||dialogForm.ordertype==='PO'"--> |
| | | <!-- @click="mesordertsourcesearchclick"--> |
| | | <!-- />--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <el-form-item label="工单数量" prop="mesqty"> |
| | | <el-input |
| | | v-model="dialogForm.mesqty" |
| | |
| | | <el-form-item label="产品规格" prop="partspec"> |
| | | <el-input v-model="dialogForm.partspec" disabled style="width: 200px" /> |
| | | </el-form-item> |
| | | <div style="display: flex"> |
| | | <el-form-item label="生产车间" prop="wkshopcode"> |
| | | <el-select |
| | | v-model="dialogForm.wkshopcode" |
| | | filterable |
| | | :popper-append-to-body="false" |
| | | style="width: 200px;" |
| | | placeholder="请选择" |
| | | :disabled="dialogForm.partcode===''" |
| | | @change="val=>wkshopcodeChange(val,dialogForm.partcode)" |
| | | > |
| | | <el-option |
| | | v-for="item in wkshopArr" |
| | | :key="item.org_code" |
| | | :label="item.org_name" |
| | | :value="item.org_code" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <div style="display: flex;flex-wrap: nowrap"> |
| | | <el-form-item label="工艺路线" prop="routecode"> |
| | | <el-select |
| | | v-model="dialogForm.routecode" |
| | | filterable |
| | | :popper-append-to-body="false" |
| | | style="width: 172px" |
| | | placeholder="请选择" |
| | | :disabled="dialogForm.wkshopcode===''" |
| | | @change="routecodeChange" |
| | | > |
| | | <el-option |
| | | v-for="item in routeArr" |
| | | :key="item.code" |
| | | :label="item.name" |
| | | :value="item.code" |
| | | /> |
| | | </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" |
| | | @click="searchClick" |
| | | /> |
| | | <!-- :disabled="dialogForm.routecode===''"--> |
| | | |
| | | </div> |
| | | </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':''"> |
| | | <!-- <div style="display: flex">--> |
| | | <el-form-item label="生产车间" prop="wkshopcode"> |
| | | <el-select |
| | | v-model="dialogForm.bomId" |
| | | v-model="dialogForm.wkshopcode" |
| | | filterable |
| | | :disabled="dialogForm.isAps==='N'" |
| | | :popper-append-to-body="false" |
| | | style="width: 200px;" |
| | | placeholder="请选择" |
| | | :disabled="dialogForm.partcode===''" |
| | | @change="val=>wkshopcodeChange(val,dialogForm.partcode)" |
| | | > |
| | | <el-option |
| | | v-for="item in bomIdArr" |
| | | :key="item.id" |
| | | :label="item.version" |
| | | :value="item.id" |
| | | v-for="item in wkshopArr" |
| | | :key="item.org_code" |
| | | :label="item.org_name" |
| | | :value="item.org_code" |
| | | /> |
| | | </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="选择日期" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="计划完成时间" prop="planenddate"> |
| | | <el-date-picker |
| | | v-model="dialogForm.planenddate" |
| | | type="date" |
| | | :clearable="false" |
| | | value-format="yyyy-MM-dd" |
| | | style="width: 200px" |
| | | placeholder="选择日期" |
| | | :picker-options="pickerOptions" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="工单等级" prop="orderlev"> |
| | | |
| | | <!-- <div style="display: flex;flex-wrap: nowrap">--> |
| | | <el-form-item label="工艺路线" prop="routecode"> |
| | | <el-select |
| | | v-model="dialogForm.orderlev" |
| | | v-model="dialogForm.routecode" |
| | | filterable |
| | | :popper-append-to-body="false" |
| | | style="width: 200px" |
| | | placeholder="请选择" |
| | | :disabled="dialogForm.wkshopcode===''" |
| | | @change="routecodeChange" |
| | | > |
| | | <el-option |
| | | v-for="item in orderlevArr" |
| | | v-for="item in routeArr" |
| | | :key="item.code" |
| | | :label="item.name" |
| | | :value="item.code" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="工价管控" required> |
| | | <el-switch |
| | | v-model="dialogForm.is_steprice" |
| | | active-color="#13ce66" |
| | | inactive-color="#eee" |
| | | @change="routecodeChange" |
| | | /> |
| | | </el-form-item> |
| | | <!-- <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="选择日期"--> |
| | | <!-- />--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="计划完成时间" prop="planenddate">--> |
| | | <!-- <el-date-picker--> |
| | | <!-- v-model="dialogForm.planenddate"--> |
| | | <!-- type="date"--> |
| | | <!-- :clearable="false"--> |
| | | <!-- value-format="yyyy-MM-dd"--> |
| | | <!-- style="width: 200px"--> |
| | | <!-- placeholder="选择日期"--> |
| | | <!-- :picker-options="pickerOptions"--> |
| | | <!-- />--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="工单等级" prop="orderlev">--> |
| | | <!-- <el-select--> |
| | | <!-- v-model="dialogForm.orderlev"--> |
| | | <!-- filterable--> |
| | | <!-- :popper-append-to-body="false"--> |
| | | <!-- style="width: 200px"--> |
| | | <!-- placeholder="请选择"--> |
| | | <!-- >--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in orderlevArr"--> |
| | | <!-- :key="item.code"--> |
| | | <!-- :label="item.name"--> |
| | | <!-- :value="item.code"--> |
| | | <!-- />--> |
| | | <!-- </el-select>--> |
| | | <!-- </el-form-item>--> |
| | | |
| | | </el-form> |
| | | <div style="display: flex;justify-content: flex-end;margin-top: -50px;"> |
| | | {{ routeStepArr }} |
| | | </div> |
| | | |
| | | <!-- 工艺路线放大镜对话框--> |
| | | <el-dialog |
| | |
| | | style="display: flex;justify-content: space-between" |
| | | > |
| | | <div class="elForm"> |
| | | <el-form-item label="工单编号:" class="formContent"> |
| | | {{ formApprove.mesordercode }} |
| | | <el-form-item label="销售单号:" class="formContent"> |
| | | {{ formApprove.saleOrderCode }} |
| | | </el-form-item> |
| | | <el-form-item label="源单单号:" class="formContent"> |
| | | {{ formApprove.m_po }} |
| | | </el-form-item> |
| | | <el-form-item label="工单编号:" class="formContent"> |
| | | {{ formApprove.mesordercode }} |
| | | </el-form-item> |
| | | <el-form-item label="产品编码:" class="formContent"> |
| | | {{ formApprove.partcode }} |
| | |
| | | <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> |
| | | <el-button v-waves v-print="printObj" type="primary" @click="printObjGetApi">打 印</el-button> |
| | | </div> |
| | | </span> |
| | | </el-dialog> |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <el-divider /> |
| | | <div> |
| | | <i class="el-icon-s-operation" style="color:#42b983;" /> 默认工艺路线 |
| | | </div> |
| | | <div style="margin-top: 20px"> |
| | | <el-select |
| | | v-model="defaultroute_code" |
| | | filterable |
| | | style="width: 200px;" |
| | | placeholder="请选择" |
| | | class="defaultroute_code" |
| | | > |
| | | <el-option |
| | | v-for="item in defaultroute_codeArr" |
| | | :key="item.code" |
| | | :label="item.name" |
| | | :value="item.code" |
| | | /> |
| | | </el-select> |
| | | </div> |
| | | <!-- <el-divider />--> |
| | | <!-- <div>--> |
| | | <!-- <i class="el-icon-s-operation" style="color:#42b983;" /> 默认工艺路线--> |
| | | <!-- </div>--> |
| | | <!-- <div style="margin-top: 20px">--> |
| | | <!-- <el-select--> |
| | | <!-- v-model="defaultroute_code"--> |
| | | <!-- filterable--> |
| | | <!-- style="width: 200px;"--> |
| | | <!-- placeholder="请选择"--> |
| | | <!-- class="defaultroute_code"--> |
| | | <!-- >--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in defaultroute_codeArr"--> |
| | | <!-- :key="item.code"--> |
| | | <!-- :label="item.name"--> |
| | | <!-- :value="item.code"--> |
| | | <!-- />--> |
| | | <!-- </el-select>--> |
| | | <!-- </div>--> |
| | | <el-divider /> |
| | | <div style="margin-bottom: 10px"> |
| | | <i class="el-icon-s-operation" style="color:#42b983;" /> 工序列表 |
| | |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <!-- 批量派发对话框--> |
| | | <el-dialog |
| | | v-el-drag-dialog |
| | | title="批量派发" |
| | | :visible.sync="dialogVisible3" |
| | | width="900px" |
| | | top="10vh" |
| | | :close-on-click-modal="false" |
| | | @closed="handleClose3" |
| | | @close="handleClose3" |
| | | > |
| | | |
| | | <div style="height: 30px;width: 100%;margin-bottom: 10px;"> |
| | | <el-alert |
| | | v-if="formData3.filter(i => i.routecode==='').length>0" |
| | | :title="'当前选中'+multipleSelection.length+'个工单,有'+(formData3.filter(i => i.routecode==='').length)+'个工单未指定工艺路线,请指定!'" |
| | | type="error" |
| | | /> |
| | | </div> |
| | | <div style="height: 600px;padding-right: 20px;overflow: auto"> |
| | | |
| | | <div v-for="(i,index) in formData3" :key="index"> |
| | | <el-divider content-position="left">第{{ index+1 }}个工单</el-divider> |
| | | |
| | | <el-form |
| | | ref="dialogForm" |
| | | inline |
| | | :model="i" |
| | | style="margin-bottom: 20px" |
| | | label-width="110px" |
| | | > |
| | | <el-form-item |
| | | label="工单状态" |
| | | prop="mesorderstus" |
| | | > |
| | | <el-select |
| | | v-model="i.mesorderstus" |
| | | disabled |
| | | 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="工单编号" prop="mesordercode"> |
| | | <el-input v-model="i.mesordercode" disabled style="width: 200px" /> |
| | | </el-form-item> |
| | | <el-form-item label="工单类型" prop="mesorderstus"> |
| | | <el-select |
| | | v-model="i.ordertype" |
| | | :popper-append-to-body="false" |
| | | style="width: 200px" |
| | | :disabled="operation!=='add'" |
| | | placeholder="请选择" |
| | | @change="mesordertypeChange" |
| | | > |
| | | <el-option |
| | | v-for="item in ordertypeArr" |
| | | :key="item.code" |
| | | :label="item.name" |
| | | :value="item.code" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="源单单号"> |
| | | <el-input |
| | | v-model="i.sourceorder" |
| | | :disabled="i.ordertype==='PO'" |
| | | style="width: 200px" |
| | | > |
| | | <!-- <el-button--> |
| | | <!-- slot="append"--> |
| | | <!-- icon="el-icon-search"--> |
| | | <!-- :disabled="operation!=='add'||dialogForm.ordertype==='PO'"--> |
| | | <!-- @click="mesordertsourcesearchclick"--> |
| | | <!-- />--> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="工单数量" prop="mesqty"> |
| | | <el-input |
| | | v-model="i.mesqty" |
| | | oninput="value=value.replace(/[^0-9.]/g,'')" |
| | | :disabled="operation!=='add'" |
| | | style="width: 200px" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item |
| | | v-if="operation==='add'" |
| | | label="产品名称/编码" |
| | | prop="partcode" |
| | | > |
| | | <el-select |
| | | v-model="i.partcode" |
| | | filterable |
| | | :disabled="operation!=='add'" |
| | | :popper-append-to-body="false" |
| | | style="width: 200px" |
| | | placeholder="请选择" |
| | | @change="partcodeChangeDialog" |
| | | > |
| | | <el-option |
| | | v-for="item in partArr" |
| | | :key="item.partcode" |
| | | :label="item.partname+'/'+item.partcode" |
| | | :value="item.partcode" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item v-if="operation!=='add'" label="产品名称" prop="partname"> |
| | | <el-input v-model="i.partname" disabled style="width: 200px" /> |
| | | </el-form-item> |
| | | <el-form-item label="产品编码"> |
| | | <el-input v-model="i.partcode" disabled style="width: 200px" /> |
| | | </el-form-item> |
| | | <el-form-item label="产品规格" prop="partspec"> |
| | | <el-input v-model="i.partspec" disabled style="width: 200px" /> |
| | | </el-form-item> |
| | | <!-- <div style="display: flex">--> |
| | | <el-form-item label="生产车间" prop="wkshopcode"> |
| | | <el-input v-model="i.wkshopname" disabled style="width: 200px" /> |
| | | |
| | | <!-- <el-select--> |
| | | <!-- v-model="i.wkshopcode"--> |
| | | <!-- filterable--> |
| | | <!-- :popper-append-to-body="false"--> |
| | | <!-- style="width: 200px;"--> |
| | | <!-- placeholder="请选择"--> |
| | | <!-- disabled--> |
| | | <!-- >--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in wkshopArr"--> |
| | | <!-- :key="item.org_code"--> |
| | | <!-- :label="item.org_name"--> |
| | | <!-- :value="item.org_code"--> |
| | | <!-- />--> |
| | | <!-- </el-select>--> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="工艺路线"> |
| | | <el-select |
| | | v-model="i.routecode" |
| | | filterable |
| | | :popper-append-to-body="false" |
| | | style="width: 200px" |
| | | placeholder="请选择" |
| | | :disabled="i.wkshopcode===''" |
| | | > |
| | | <el-option |
| | | v-for="item in i.children" |
| | | :key="item.routecode" |
| | | :label="item.routename" |
| | | :value="item.routecode" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="工价管控" required> |
| | | <div style="display: flex;align-items: center;justify-content: space-between;width: 200px;"> |
| | | <el-switch |
| | | v-model="i.is_steprice" |
| | | active-color="#13ce66" |
| | | inactive-color="#eee" |
| | | style="width: 60px;" |
| | | @change="routecodeChange2(i)" |
| | | /> |
| | | |
| | | <el-button type="primary" @click="routeClick(i,routeIndex=index)">工艺选择</el-button> |
| | | </div> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-form> |
| | | |
| | | <div style="display: flex;justify-content: flex-end;margin-top: -50px;margin-right: 50px"> |
| | | {{ i.children.length>0? i.children.find(it=>it.routecode===i.routecode).stepname:'' }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <span slot="footer" class="dialog-footer"> |
| | | <div class="footerButton"> |
| | | <el-button v-waves @click="dialogVisible3=false">取 消</el-button> |
| | | <el-button |
| | | v-waves |
| | | type="primary" |
| | | :disabled="submitButtonIsDisabled" |
| | | @click="dialogVisibleConfirm3" |
| | | >确 定</el-button> |
| | | </div> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | import { |
| | | AddUpdateMesOrder, |
| | | ClosedMesOrder, |
| | | DeleteMesOrder, MesBadOrderSearch, JobCreationSonAddVison, |
| | | MesOrderSearch, PartSelectRoute, RouteSelectWkshop, SearchWorkStep, SelectRouteOrWkshop, |
| | | SelectRouteStep, AddMesOrderCodeSearch, ProductInHouseLabCode |
| | | DeleteMesOrder, |
| | | MesBadOrderSearch, |
| | | JobCreationSonAddVison, |
| | | MesOrderSearch, |
| | | PartSelectRoute, |
| | | RouteSelectWkshop, |
| | | SearchWorkStep, |
| | | SelectRouteOrWkshop, |
| | | SelectRouteStep, |
| | | AddMesOrderCodeSearch, |
| | | ProductInHouseLabCode, |
| | | UpdateMesOrderPrintCount, |
| | | BatchSearchRouteStep, |
| | | BatchWorkSave |
| | | } from '@/api/produceManager' |
| | | import { InventoryFileAssociationRoute, PartSelect, SaveInventoryFile } from '@/api/makeModel' |
| | | import { handleDatetime, handleDatetime2, validateCode } from '@/utils/global' |
| | |
| | | import waves from '@/directive/waves' |
| | | |
| | | export default { |
| | | name: 'GD', |
| | | name: 'WorkOrder', |
| | | components: { |
| | | Pagination |
| | | }, |
| | |
| | | partcode: '', // 产品编码 |
| | | ordertype: '', // ordertype |
| | | sourceorder: '', // 源单单号 |
| | | saleordercode: '', // 销售订单 |
| | | partname: '', // 产品名称 |
| | | partspec: '', // 产品规格 |
| | | creatuser: '', // 创建人员 |
| | |
| | | // { 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: '已排程' } |
| | | ], |
| | | total: 10, |
| | | radioSelected: '', |
| | |
| | | mesqty: '', // 工单数量 |
| | | |
| | | routecode: '', // 工艺路线编码 |
| | | |
| | | is_steprice: false, // 是否工价管理 |
| | | |
| | | wkshopcode: '', // 生产车间编码 |
| | | planstartdate: '', // 计划开始时间 |
| | | planenddate: '', // 计划完成时间 |
| | |
| | | }, |
| | | beforeOpenCallback(vue) { |
| | | vue.printLoading = true |
| | | console.log('打开之前') |
| | | console.log() |
| | | console.log('打开之前8888') |
| | | }, |
| | | openCallback(vue) { |
| | | vue.printLoading = false |
| | | console.log('执行了打印') |
| | | console.log('执行了打印9999') |
| | | }, |
| | | clickMounted(vue) { |
| | | console.log('点击了打印按钮1223451') |
| | | // vue.printContent.popTitle = vue.tableHead // 动态设置页眉 |
| | | } |
| | | }, |
| | | |
| | |
| | | // vue.dialogVisible = false |
| | | }, |
| | | beforeOpenCallback(vue) { |
| | | // window.print() |
| | | vue.printLoading = true |
| | | console.log('打开之前') |
| | | console.log() |
| | | console.log('打开之前000') |
| | | }, |
| | | openCallback(vue) { |
| | | vue.printLoading = false |
| | | console.log('执行了打印') |
| | | console.log('执行了打印eee') |
| | | }, |
| | | clickMounted(vue) { |
| | | console.log('点击了打印按钮1111') |
| | | // vue.printContent.popTitle = vue.tableHead // 动态设置页眉 |
| | | } |
| | | }, |
| | | qrForm: { |
| | |
| | | |
| | | isLastPrint: false, // 是否是末道打印 |
| | | lastPrintArr: [], // 末道打印的数组(所有) |
| | | lastPrintArrSelected: []// 末道打印的数组(选中) |
| | | lastPrintArrSelected: [], // 末道打印的数组(选中) |
| | | |
| | | switchButton: false, |
| | | |
| | | routeStepArr: '', |
| | | |
| | | dialogVisible3: false, |
| | | multipleSelection: [], |
| | | formData3: [], |
| | | |
| | | routeIndex: '' |
| | | // dialogFormRules2: { |
| | | // routecode: [ |
| | | // { required: true, message: '请选择工艺路线', trigger: ['blur', 'change'] } |
| | | // ] |
| | | // } |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | partspec: this.form.partspec, // 产品规格 |
| | | creatuser: this.form.creatuser, // 创建人员 |
| | | sourceorder: this.form.sourceorder, // 源单单号 |
| | | saleordercode: this.form.saleordercode, // 销售订单 |
| | | ordertype: this.form.ordertype, // 单据类型 |
| | | createdate: this.form.createdate.toString().length > 0 ? handleDatetime(this.form.createdate) : '', // 创建时间 |
| | | prop: this.form.prop, // 排序字段 |
| | |
| | | this.form.paydate = '' |
| | | this.form.creatuser = '' |
| | | this.form.sourceorder = '' |
| | | this.form.saleordercode = '' |
| | | this.form.creatuser = '' |
| | | this.form.ordertype = '' |
| | | this.getMesOrderSearch() |
| | |
| | | }, |
| | | // 工艺路线值改变 |
| | | async routecodeChange() { |
| | | const data = { |
| | | partcode: this.dialogForm.partcode, |
| | | routecode: this.dialogForm.routecode, |
| | | wkshopcode: this.dialogForm.wkshopcode |
| | | if (this.dialogForm.routecode) { |
| | | const data = { |
| | | partcode: this.dialogForm.partcode, |
| | | routecode: this.dialogForm.routecode, |
| | | wkshopcode: this.dialogForm.wkshopcode, |
| | | is_steprice: this.dialogForm.is_steprice ? 'Y' : 'N' |
| | | } |
| | | await SelectRouteOrWkshop(data).then((res) => { |
| | | console.log(res, 1) |
| | | |
| | | SelectRouteStep({ routecode: this.dialogForm.routecode }).then(res2 => { |
| | | console.log(res2) |
| | | this.routeStepArr = res2.data.map(i => i.stepname).join(',') |
| | | }) |
| | | |
| | | this.submitButtonIsDisabled = false |
| | | }).catch(err => { |
| | | // console.log(err, 2) |
| | | this.submitButtonIsDisabled = true |
| | | }) |
| | | } |
| | | await SelectRouteOrWkshop(data).then((res) => { |
| | | // console.log(res, 1) |
| | | this.submitButtonIsDisabled = false |
| | | }).catch(err => { |
| | | // console.log(err, 2) |
| | | this.submitButtonIsDisabled = true |
| | | }) |
| | | }, |
| | | // 生产车间值改变时 |
| | | async wkshopcodeChange(wkshopcode, partcode) { |
| | | async wkshopcodeChange(wkshopcode, partcode) { |
| | | const data = { |
| | | partcode, |
| | | wkshopcode |
| | |
| | | this.dialogVisibleTask = false |
| | | }, |
| | | // 派发 |
| | | send(operation) { |
| | | if (this.radioSelected.length < 1) { |
| | | return this.$message.info('请先选择工单!') |
| | | } |
| | | |
| | | const row = this.tableData.find(item => item.wo_code === this.radioSelected) |
| | | send(operation, row) { |
| | | // if (this.radioSelected.length < 1) { |
| | | // return this.$message.info('请先选择工单!') |
| | | // } |
| | | // |
| | | // const row = this.tableData.find(item => item.wo_code === this.radioSelected) |
| | | |
| | | if (row.status !== 'NEW') { |
| | | return this.$message.info('此工单为非新工单状态,不可派发!') |
| | |
| | | }) |
| | | }, |
| | | // 工单关闭事件 |
| | | orderClose() { |
| | | if (this.radioSelected.length < 1) { |
| | | return this.$message.info('请先选择工单!') |
| | | } |
| | | orderClose(wo_code) { |
| | | // if (this.radioSelected.length < 1) { |
| | | // return this.$message.info('请先选择工单!') |
| | | // } |
| | | console.log('工单关闭事件') |
| | | this.tableData.forEach(item => { |
| | | if (item.wo_code === this.radioSelected) { |
| | | if (item.status === 'START') { |
| | | return this.$message.info('当前工单未完工,无法关闭!') |
| | | } else if (item.status === 'CLOSED') { |
| | | if (item.wo_code === wo_code) { |
| | | // if (item.status === 'START') { |
| | | // return this.$message.info('当前工单未完工,无法关闭!') |
| | | // } else |
| | | if (item.status === 'CLOSED') { |
| | | return this.$message.info('工单已关闭,无需再关闭!') |
| | | } else { |
| | | this.$confirm('是否确认关闭工单?', '提示', { |
| | |
| | | }, |
| | | // 对话框关闭事件 |
| | | handleClose() { |
| | | this.routeStepArr = '' |
| | | this.dialogForm.partname = '' // 产品名称 |
| | | this.dialogForm.partspec = '' // 产品规格 |
| | | this.dialogForm.wkshopname = '' // 生产车间名称 |
| | |
| | | |
| | | this.dialogForm.routecode = '' // 工艺路线编码 |
| | | this.dialogForm.wkshopcode = '' // 生产车间编码 |
| | | this.dialogForm.is_steprice = false// 是否工价管理 |
| | | this.dialogForm.planstartdate = '' // 计划开始时间 |
| | | this.dialogForm.planenddate = '' // 计划完成时间 |
| | | this.dialogForm.orderlev = '' // 工单等级 |
| | |
| | | this.dialogVisibleSearch = false |
| | | }, |
| | | // 处理打印 |
| | | handlePrint(wo_code) { |
| | | handlePrint(wo_code, saleOrderCode) { |
| | | // const number = Math.random() * Math.random() |
| | | // this.number = number === 0 ? (10 + Math.random()) : number |
| | | // console.log(number) |
| | | |
| | | console.log(this.formApprove.saleOrderCode, 321) |
| | | this.formApprove.saleOrderCode = this.formApprove.saleOrderCode !== '' ? this.formApprove.saleOrderCode : saleOrderCode |
| | | const data2 = { |
| | | username: getCookie('admin'), |
| | | mesordercode: wo_code || this.dialogForm.mesordercode |
| | |
| | | |
| | | dialogVisibleConfirmClose() { |
| | | // this.dialogForm.mesordercode = '' |
| | | this.formApprove.saleOrderCode = '' |
| | | this.formApprove.mesordercode = '' |
| | | this.formApprove.m_po = '' |
| | | this.formApprove.partcode = '' |
| | |
| | | |
| | | this.tableDataPrint = [] |
| | | }, |
| | | |
| | | async printObjGetApi() { |
| | | const res = await UpdateMesOrderPrintCount({ wo_code: this.formApprove.mesordercode }) |
| | | if (res.code === '200') { |
| | | this.getMesOrderSearch() |
| | | } |
| | | }, |
| | | |
| | | // 补打按钮 |
| | | supplementClick() { |
| | | this.dialogVisibleTask = false |
| | |
| | | }, |
| | | /* 关联工艺路线模块*/ |
| | | // 关联工艺路线 |
| | | async routeClick(row) { |
| | | console.log(row) |
| | | // this.defaultroute_code = row.default_route |
| | | this.dialogFormRoute.projectCode = row.partcode |
| | | this.dialogFormRoute.projectName = row.partname |
| | | async routeClick(i) { |
| | | // console.log(row) |
| | | // // this.defaultroute_code = row.default_route |
| | | this.dialogFormRoute.projectCode = i.partcode |
| | | this.dialogFormRoute.projectName = i.partname |
| | | |
| | | const { data: res } = await InventoryFileAssociationRoute({ partcode: i.partcode }) |
| | | this.dialogFormRoute.routeOperationArr = res.filter(j => j.wkshopcode === i.wkshopcode) |
| | | |
| | | if (this.dialogFormRoute.routeOperationArr.length === 0) { |
| | | return this.$message.info('此车间下无工艺路线!') |
| | | } |
| | | |
| | | this.dialogVisibleRoute = true |
| | | const { data: res } = await InventoryFileAssociationRoute({ partcode: this.dialogFormRoute.projectCode }) |
| | | this.dialogFormRoute.routeOperationArr = res |
| | | |
| | | this.dialogFormRoute.routeOperationArr.forEach((item, index) => { |
| | | item.isSelected1 = false |
| | |
| | | if (item.flag === 'Y') { |
| | | item.isSelected2 = true |
| | | this.$nextTick(() => { |
| | | $('input:checkbox').eq(index).prop('checked', true) |
| | | $('.myCheckboxInput').eq(index).prop('checked', true) |
| | | }) |
| | | } |
| | | }) |
| | |
| | | }, |
| | | // 确定 |
| | | async routeDialogVisibleConfirm() { |
| | | const temp = this.dialogFormRoute.routeOperationArr.filter(item => item.isSelected2) |
| | | if (this.defaultroute_code === '' && temp.length > 0) { |
| | | return this.$message.info('默认工艺路线不能为空!') |
| | | if (!this.dialogFormRoute.routeOperationArr.find(i => i.isSelected2)) { |
| | | return this.$message.info('请先选择工艺路线!') |
| | | } |
| | | |
| | | // const temp = this.dialogFormRoute.routeOperationArr.filter(item => item.isSelected2) |
| | | // if (this.defaultroute_code === '' && temp.length > 0) { |
| | | // return this.$message.info('默认工艺路线不能为空!') |
| | | // } |
| | | |
| | | // 提交格式 |
| | | const data = [] |
| | | this.formData3[this.routeIndex].children = [] |
| | | this.dialogFormRoute.routeOperationArr.forEach(item => { |
| | | if (item.isSelected2) { |
| | | data.push({ code: item.code, name: item.name }) |
| | | // console.log(item, 8) |
| | | |
| | | data.push({ code: item.code, name: item.name, wkshopcode: this.formData3[this.routeIndex].wkshopcode, stepname: item.Data.map(i => { if (i.enable === 'Y') { return i.stepname } }).join(',') }) |
| | | this.formData3[this.routeIndex].children.push({ |
| | | routecode: item.code, |
| | | routename: item.name, |
| | | stepname: item.Data.map(i => { if (i.enable === 'Y') { return i.stepname } }).join(',') |
| | | }) |
| | | } |
| | | }) |
| | | |
| | | const res = await SaveInventoryFile(this.dialogFormRoute.projectCode, this.defaultroute_code, data) |
| | | if (res.code === '200') { |
| | | this.$message.success('保存成功!') |
| | | await this.getMesOrderSearch() |
| | | this.formData3[this.routeIndex].routecode = this.formData3[this.routeIndex].children[0].routecode |
| | | this.formData3[this.routeIndex].stepname = this.formData3[this.routeIndex].children[0].stepname |
| | | this.dialogVisibleRoute = false |
| | | } |
| | | }, |
| | |
| | | }, |
| | | // 行点击事件 |
| | | async rowClick(row, event, column) { |
| | | this.radioSelected = row.wo_code |
| | | const { data: res } = await SearchWorkStep({ wo_code: row.wo_code }) |
| | | this.formApprove.saleOrderCode = row.saleOrderCode |
| | | this.radioSelected = row.wo_code ? row.wo_code : this.radioSelected |
| | | const { data: res } = await SearchWorkStep({ |
| | | wo_code: this.radioSelected, |
| | | storg_code: this.$store.state.settings.orgType === 'W' ? (this.switchButton ? '' : getCookie('stu_torgcode')) : '' |
| | | }) |
| | | this.tableDataDetail = res |
| | | }, |
| | | // 打印工单 |
| | |
| | | |
| | | this.$forceUpdate() |
| | | }, 500) |
| | | }, |
| | | |
| | | handleSelectionChange(val) { |
| | | this.multipleSelection = val |
| | | |
| | | console.log(this.multipleSelection) |
| | | }, |
| | | // 批量派发 |
| | | async batchSend() { |
| | | if (this.multipleSelection.length === 0) { |
| | | return this.$message.info('请先勾选相对应的工单!') |
| | | } |
| | | const data = [] |
| | | this.multipleSelection.forEach(i => { |
| | | data.push({ |
| | | 'wkshopcode': i.wkshp_code, |
| | | 'code': i.partcode, |
| | | 'name': i.wo_code, |
| | | 'flag': '' |
| | | }) |
| | | }) |
| | | |
| | | const { data: res } = await BatchSearchRouteStep(data) |
| | | this.formData3 = [] |
| | | this.multipleSelection.forEach((item, index) => { |
| | | item.stepname = res[index].children.length > 0 ? res[index].children[0].stepname : '' |
| | | console.log(item.stepname) |
| | | // if (item.stepname) { |
| | | this.formData3.push({ |
| | | 'mesorderstus': item.status, |
| | | 'sourceorder': item.m_po, |
| | | 'ordertype': item.wotype, |
| | | 'mesordercode': item.wo_code, |
| | | 'partcode': item.partcode, |
| | | 'mesqty': item.plan_qty, |
| | | 'routecode': res[index].children.length > 0 ? res[index].children[0].routecode : '', |
| | | 'wkshopcode': item.wkshp_code, |
| | | 'wkshopname': item.wkshp_name, |
| | | 'partname': item.partname, |
| | | 'partspec': item.partspec, |
| | | 'planstartdate': item.plan_startdate, |
| | | 'planenddate': item.plan_enddate, |
| | | 'orderlev': item.piroque, |
| | | children: res[index].children.length > 0 ? res[index].children : [], |
| | | is_steprice: false, |
| | | |
| | | 'is_aps': '', |
| | | 'bom_id': '' |
| | | }) |
| | | // } |
| | | }) |
| | | |
| | | if (this.formData3.length === 0) { |
| | | return this.$message.info('未有符合可派发工单!') |
| | | } |
| | | |
| | | this.dialogVisible3 = true |
| | | }, |
| | | // 批量派发确定事件 |
| | | async dialogVisibleConfirm3() { |
| | | if (this.formData3.filter(i => i.routecode === '').length > 0) { |
| | | return this.$message.info('还有' + this.formData3.filter(i => i.routecode === '').length + '个工单未指定!') |
| | | } |
| | | |
| | | const data = [] |
| | | this.formData3.forEach(i => { |
| | | data.push({ |
| | | 'mesorderstus': i.mesorderstus, |
| | | 'sourceorder': i.sourceorder, |
| | | 'ordertype': i.ordertype, |
| | | 'mesordercode': i.mesordercode, |
| | | 'partcode': i.partcode, |
| | | 'mesqty': i.mesqty, |
| | | 'routecode': i.routecode, |
| | | 'wkshopcode': i.wkshopcode, |
| | | 'planstartdate': i.planstartdate, |
| | | 'planenddate': i.planenddate, |
| | | 'orderlev': i.orderlev, |
| | | 'is_aps': 'N', |
| | | 'bom_id': '' |
| | | }) |
| | | }) |
| | | |
| | | const res = await BatchWorkSave(data) |
| | | if (res.code === '200') { |
| | | this.dialogVisible3 = false |
| | | this.$message.success('批量派发成功!') |
| | | await this.getMesOrderSearch() |
| | | } else { |
| | | this.$message.error('批量派发失败!') |
| | | } |
| | | }, |
| | | // 批量派发关闭事件 |
| | | handleClose3() { |
| | | this.formData3 = [] |
| | | this.submitButtonIsDisabled = false |
| | | }, |
| | | selected(row, index) { |
| | | return row.status === 'NEW' |
| | | }, |
| | | |
| | | async routecodeChange2(val) { |
| | | if (val.routecode) { |
| | | const data = { |
| | | partcode: val.partcode, |
| | | routecode: val.routecode, |
| | | wkshopcode: val.wkshopcode, |
| | | is_steprice: val.is_steprice ? 'Y' : 'N' |
| | | } |
| | | await SelectRouteOrWkshop(data).then((res) => { |
| | | this.submitButtonIsDisabled = false |
| | | }).catch(err => { |
| | | // console.log(err, 2) |
| | | this.submitButtonIsDisabled = true |
| | | }) |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | </script> |