| | |
| | | <div class="app-container"> |
| | | <el-card class="box-card"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
| | | <el-form-item label-width="80" label="生产工单号" prop="workOrderNo"> |
| | | <el-input |
| | | v-model="queryParams.workOrderNo" |
| | | placeholder="请输入生产工单号" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | <el-form-item label-width="100" label="生产通知单" prop="productName"> |
| | | <el-input v-model="queryParams.productionNotice" placeholder="请输入生产通知单" clearable @keyup.enter.native="handleQuery"/> |
| | | </el-form-item> |
| | | <el-form-item label="产品名称" prop="productName"> |
| | | <el-input |
| | | v-model="queryParams.productName" |
| | | placeholder="请输入产品名称" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | <el-form-item label-width="80" label="生产订单" prop="workOrderNo"> |
| | | <el-input v-model="queryParams.workOrderNo" placeholder="请输入生产订单" clearable @keyup.enter.native="handleQuery"/> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="产品名称" prop="productName">--> |
| | | <!-- <el-input v-model="queryParams.productName" placeholder="请输入产品名称" clearable @keyup.enter.native="handleQuery"/>--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item label="工单状态" prop="orderStatus"> |
| | | <el-select v-model="queryParams.orderStatus" placeholder="请选择工单状态" clearable> |
| | | <el-option |
| | | v-for="dict in dict.type.order_state" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | :value="dict.value"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item style="float: right"> |
| | |
| | | </el-form> |
| | | <el-form :model="queryParams" ref="queryParams" size="small" :inline="true" v-show="advancedShowSearch" label-width="68px"> |
| | | <el-form-item style="margin-left: 14px" label="产品编号" prop="productCode"> |
| | | <el-input |
| | | v-model="queryParams.productCode" |
| | | placeholder="请输入产品编号" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | <el-input v-model="queryParams.productCode" placeholder="请输入产品编号" clearable @keyup.enter.native="handleQuery"/> |
| | | </el-form-item> |
| | | <el-form-item label="订单编号" prop="salesOrderCode"> |
| | | <el-input |
| | | v-model="queryParams.salesOrderCode" |
| | | placeholder="请输入订单编号" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | <el-form-item label="机型" prop="typeZ"> |
| | | <el-input v-model="queryParams.typeZ" placeholder="请输入机型" clearable @keyup.enter.native="handleQuery"/> |
| | | </el-form-item> |
| | | <el-form-item label="车间编号" prop="workshopCode"> |
| | | <el-input |
| | | v-model="queryParams.workshopCode" |
| | | placeholder="请输入车间编号" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="产线编号" prop="lineCode"> |
| | | <el-input |
| | | v-model="queryParams.lineCode" |
| | | placeholder="请输入产线编号" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item style="margin-left: 7px" label-width="80" label="产品BOM" prop="bomCode"> |
| | | <el-input |
| | | v-model="queryParams.bomCode" |
| | | placeholder="请输入产品BOM" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="工艺流程" prop="routeCode"> |
| | | <el-input |
| | | v-model="queryParams.routeCode" |
| | | placeholder="请输入工艺流程" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="工艺配方" prop="recipeCode"> |
| | | <el-input |
| | | v-model="queryParams.recipeCode" |
| | | placeholder="请输入工艺配方" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | <el-form-item label-width="130" label="通知单生成日期" prop="dateConditions"> |
| | | <el-date-picker |
| | | v-model="queryParams.dateConditions" |
| | | type="datetimerange" |
| | | :picker-options="pickerOptions" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | align="right"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-card> |
| | |
| | | v-hasPermi="['om:productionOrde:export']" |
| | | >导出</el-button> |
| | | </el-col> |
| | | <!-- <el-col :span="1.5">--> |
| | | <!-- <el-button--> |
| | | <!-- type="warning"--> |
| | | <!-- plain--> |
| | | <!-- icon="el-icon-upload2"--> |
| | | <!-- :disabled="move"--> |
| | | <!-- size="mini"--> |
| | | <!-- @click="moveUp(val => val, 'up')"--> |
| | | <!-- >上移</el-button>--> |
| | | <!-- </el-col>--> |
| | | <!-- <el-col :span="1.5">--> |
| | | <!-- <el-button--> |
| | | <!-- type="warning"--> |
| | | <!-- plain--> |
| | | <!-- icon="el-icon-download"--> |
| | | <!-- size="mini"--> |
| | | <!-- :disabled="move"--> |
| | | <!-- @click="moveUp(val => val, 'down')"--> |
| | | <!-- >下移</el-button>--> |
| | | <!-- </el-col>--> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | type="success" |
| | | plain |
| | | icon="el-icon-upload2" |
| | | :disabled="move" |
| | | icon="el-icon-wind-power" |
| | | size="mini" |
| | | @click="moveUp(val => val, 'up')" |
| | | >上移</el-button> |
| | | @click="getProductionNotice" |
| | | v-hasPermi="['om:productionOrde:receive']" |
| | | >接收</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-download" |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="move" |
| | | @click="moveUp(val => val, 'down')" |
| | | >下移</el-button> |
| | | :disabled="single" |
| | | @click="CreatehandleUpdate" |
| | | v-hasPermi="['om:productionOrde:createUpdate']" |
| | | >生成</el-button> |
| | | </el-col> |
| | | |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | | |
| | | <el-table border v-loading="loading" :data="productionOrdeList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="生产工单号" width="160" align="center"> |
| | | <el-table-column label="生产通知单号" width="160" align="center" prop="productionNotice"> |
| | | </el-table-column> |
| | | <el-table-column label="生产订单" width="160" align="center"> |
| | | <template slot-scope="scope"> |
| | | <router-link :to="{path: '/main/workReport-data/index/', query: {workOrderNo: scope.row.workOrderNo} }" class="link-type"> |
| | | <router-link :to="{path: '/main/orderScheduling-data/index/', query: {workOrderNo: scope.row.workOrderNo} }" class="link-type"> |
| | | <span>{{ scope.row.workOrderNo }}</span> |
| | | </router-link> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="订单编号" width="140" align="center" prop="salesOrderCode"> |
| | | <el-table-column label="机型" width="160" align="center" prop="typeZ"> |
| | | </el-table-column> |
| | | <el-table-column label="产品编号" width="140" align="center" prop="productCode"> |
| | | <el-table-column label="需求数量" align="center" prop="planQty"> |
| | | </el-table-column> |
| | | <el-table-column label="产品名称" width="160" align="center" prop="productName"> |
| | | <el-table-column label="产品编号" width="150" align="center" prop="productCode"> |
| | | </el-table-column> |
| | | <!-- <el-table-column label="实际数量" width="160" align="center" prop="actualQty">--> |
| | | <!-- </el-table-column>--> |
| | | <el-table-column label="工单状态" align="center" prop="orderStatus"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.order_state" :value="scope.row.orderStatus"/> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="车间编号" align="center" prop="workshopCode"> |
| | | <!-- <el-table-column label="工厂" align="center" prop="workshopCode">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="仓库" align="center">--> |
| | | <!-- </el-table-column>--> |
| | | <el-table-column label="产线" align="center" prop="lineCode"> |
| | | </el-table-column> |
| | | <el-table-column label="产线编号" align="center" prop="lineCode"> |
| | | <!-- <el-table-column label="订单类型" align="center">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="ZWS" align="center">--> |
| | | <!-- </el-table-column>--> |
| | | |
| | | <!-- <el-table-column label="工艺流程" width="140" align="center" prop="routeCode">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="产品BOM" width="140" align="center" prop="bomCode">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="工艺配方" width="140" align="center" prop="recipeCode">--> |
| | | <!-- </el-table-column>--> |
| | | |
| | | <!-- <el-table-column label="实际数量" align="center" prop="actualQty">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="实际上线数量" width="100" align="center" prop="actualOnlineQty">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="需求日期" align="center" prop="demandDate" width="180">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="计划开始时间" width="160" align="center" prop="planStartTime">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="计划结束时间" width="160" align="center" prop="planEndTime">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="实际开始时间" width="160" align="center" prop="actualStartTime">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="实际结束时间" width="160" align="center" prop="actualEndTime">--> |
| | | <!-- </el-table-column>--> |
| | | |
| | | <!-- <el-table-column width="160" label="更新时间" align="center" prop="updateTime">--> |
| | | <!-- </el-table-column>--> |
| | | <el-table-column label="通知单制单人" width="80" align="center" prop="createUser"> |
| | | </el-table-column> |
| | | <el-table-column label="工艺流程" width="140" align="center" prop="routeCode"> |
| | | <el-table-column width="160" label="通知生成日期" align="center" prop="createTime"> |
| | | </el-table-column> |
| | | <el-table-column label="产品BOM" width="140" align="center" prop="bomCode"> |
| | | <el-table-column label="成品描述" width="320" align="center" prop="productName"> |
| | | </el-table-column> |
| | | <el-table-column label="工艺配方" width="140" align="center" prop="recipeCode"> |
| | | </el-table-column> |
| | | <el-table-column label="计划数量" align="center" prop="planQty"> |
| | | </el-table-column> |
| | | <el-table-column label="实际数量" align="center" prop="actualQty"> |
| | | </el-table-column> |
| | | <el-table-column label="实际上线数量" width="100" align="center" prop="actualOnlineQty"> |
| | | </el-table-column> |
| | | <el-table-column label="需求日期" align="center" prop="demandDate" width="180"> |
| | | </el-table-column> |
| | | <el-table-column label="计划开始时间" width="160" align="center" prop="planStartTime"> |
| | | </el-table-column> |
| | | <el-table-column label="计划结束时间" width="160" align="center" prop="planEndTime"> |
| | | </el-table-column> |
| | | <el-table-column label="实际开始时间" width="160" align="center" prop="actualStartTime"> |
| | | </el-table-column> |
| | | <el-table-column label="实际结束时间" width="160" align="center" prop="actualEndTime"> |
| | | </el-table-column> |
| | | <el-table-column width="160" label="创建时间" align="center" prop="createTime"> |
| | | </el-table-column> |
| | | <el-table-column width="160" label="更新时间" align="center" prop="updateTime"> |
| | | </el-table-column> |
| | | <el-table-column label="创建人" width="80" align="center" prop="createUser"> |
| | | </el-table-column> |
| | | <el-table-column label="修改人" width="80" align="center" prop="updateUser"> |
| | | </el-table-column> |
| | | <el-table-column label="备注" width="100" align="center" prop="remarks"> |
| | | </el-table-column> |
| | | <el-table-column label="流水号" align="center" prop="streamNumber"> |
| | | </el-table-column> |
| | | <el-table-column label="客户" width="80" align="center" prop="custom"> |
| | | </el-table-column> |
| | | <el-table-column fixed="right" width="350" label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | | <!-- 工单状态(1创建、2已发布、3生产中、4已冻结、5已完工、6已关闭) --> |
| | | <el-button type="success" :disabled="scope.row.orderStatus !== '1'" style="width: 72px" plain @click="handleCommand('3',scope.row.id)" size="mini">开始</el-button> |
| | | <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '2' && scope.row.orderStatus !== '3'" v-if="scope.row.orderStatus !== '2'&& scope.row.orderStatus !== '4'" plain @click="handleCommand('4',scope.row.id)" type="warning" size="mini">冻结</el-button> |
| | | <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '4'" v-if="scope.row.orderStatus === '4'" plain @click="handleCommand('3',scope.row.id)" type="warning" size="mini">解冻</el-button> |
| | | <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '1'" plain @click="handleCommand('6',scope.row.id)" v-if="scope.row.orderStatus === '1'||scope.row.orderStatus === '3'||scope.row.orderStatus === '4'||scope.row.orderStatus === '5'" type="danger" size="mini">关闭</el-button> |
| | | <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '6'" plain @click="handleCommand('1',scope.row.id)" v-if="scope.row.orderStatus === '6' " type="success" size="mini">启用</el-button> |
| | | <!-- <el-button--> |
| | | <!-- :disabled="scope.row.orderStatus !== '1'"--> |
| | | <!-- size="mini"--> |
| | | <!-- type="success"--> |
| | | <!-- style="width: 72px"--> |
| | | <!-- icon="el-icon-edit"--> |
| | | <!-- @click="handleUpdate(scope.row)"--> |
| | | <!-- v-hasPermi="['om:productionOrde:edit']"--> |
| | | <!-- >修改</el-button>--> |
| | | <!-- <el-button--> |
| | | <!-- :disabled="scope.row.orderStatus !== '1'"--> |
| | | <!-- size="mini"--> |
| | | <!-- type="warning"--> |
| | | <!-- style="width: 72px"--> |
| | | <!-- icon="el-icon-delete"--> |
| | | <!-- @click="handleDelete(scope.row)"--> |
| | | <!-- v-hasPermi="['om:productionOrde:remove']"--> |
| | | <!-- >删除</el-button>--> |
| | | <el-button style="width: 72px" :disabled="scope.row.orderStatus === '4'||scope.row.orderStatus === '6'" v-if="scope.row.orderStatus !== '5'" @click="handleCommand('5',scope.row.id)" type="success" size="mini">完成</el-button> |
| | | <el-button style="width: 72px" :disabled="scope.row.orderStatus === '5'" v-if="scope.row.orderStatus === '5'" type="success" size="mini">已完工</el-button> <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '6'" plain @click="handleCommand('1',scope.row.id)" v-if="scope.row.orderStatus === '6' " type="success" size="mini">启用</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column label="修改人" width="80" align="center" prop="updateUser">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="备注" width="100" align="center" prop="remarks">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="流水号" align="center" prop="streamNumber">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="客户" width="80" align="center" prop="custom">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column fixed="right" width="350" label="操作" align="center" class-name="small-padding fixed-width">--> |
| | | <!-- <template slot-scope="scope">--> |
| | | <!-- <!– 工单状态(1创建、2已发布、3生产中、4已冻结、5已完工、6已关闭) –>--> |
| | | <!-- <el-button type="success" :disabled="scope.row.orderStatus !== '1'" style="width: 72px" plain @click="handleCommand('3',scope.row.id)" size="mini">--> |
| | | <!-- 开始</el-button>--> |
| | | <!-- <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '2' && scope.row.orderStatus !== '3'" v-if="scope.row.orderStatus !== '2'&& scope.row.orderStatus !== '4'" plain @click="handleCommand('4',scope.row.id)" type="warning" size="mini">--> |
| | | <!-- 冻结</el-button>--> |
| | | <!-- <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '4'" v-if="scope.row.orderStatus === '4'" plain @click="handleCommand('3',scope.row.id)" type="warning" size="mini">--> |
| | | <!-- 解冻</el-button>--> |
| | | <!-- <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '1'" plain @click="handleCommand('6',scope.row.id)" v-if="scope.row.orderStatus === '1'||scope.row.orderStatus === '3'||scope.row.orderStatus === '4'||scope.row.orderStatus === '5'" type="danger" size="mini">--> |
| | | <!-- 关闭</el-button>--> |
| | | <!-- <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '6'" plain @click="handleCommand('1',scope.row.id)" v-if="scope.row.orderStatus === '6' " type="success" size="mini">--> |
| | | <!-- 启用</el-button>--> |
| | | <!-- <el-button style="width: 72px" :disabled="scope.row.orderStatus === '4'||scope.row.orderStatus === '6'" v-if="scope.row.orderStatus !== '5'" @click="handleCommand('5',scope.row.id)" type="success" size="mini">--> |
| | | <!-- 完成</el-button>--> |
| | | <!-- <el-button style="width: 72px" :disabled="scope.row.orderStatus === '5'" v-if="scope.row.orderStatus === '5'" type="success" size="mini">已完工</el-button> <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '6'" plain @click="handleCommand('1',scope.row.id)" v-if="scope.row.orderStatus === '6' " type="success" size="mini">--> |
| | | <!-- 启用</el-button>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | </el-table> |
| | | </el-card> |
| | | |
| | |
| | | </span> |
| | | <el-form ref="form" inline :model="form" :rules="rules" label-width="80px"> |
| | | <el-form-item label="工单号" prop="workOrderNo"> |
| | | <el-input v-model="form.workOrderNo" placeholder="请输入生产工单号" /> |
| | | <el-input v-model="form.workOrderNo" placeholder="请输入生产订单" /> |
| | | </el-form-item> |
| | | <el-form-item label="订单编号" prop="salesOrderCode"> |
| | | <el-input v-model="form.salesOrderCode" placeholder="请输入订单编号" /> |
| | |
| | | </el-form-item> |
| | | <el-form-item label="产品名称" prop="productName"> |
| | | <el-input v-model="form.productName" disabled placeholder="请输入产品名称" /> |
| | | </el-form-item> |
| | | <el-form-item label="种类" prop="productName"> |
| | | <el-input v-model="form.typeZ" disabled placeholder="请输入种类" /> |
| | | </el-form-item> |
| | | <el-form-item label="实际数量" prop="actualQty"> |
| | | <el-input v-model="form.actualQty" placeholder="请输入实际数量" /> |
| | | </el-form-item> |
| | | <el-form-item label="车间编号" prop="workshopCode"> |
| | | <el-select style="width: 93%" @change="handleSelectChange(form.workshopCode)" v-model="form.workshopCode" placeholder="请选择车间编号"> |
| | |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog v-dialogpop-up :title="title" :visible.sync="Createopen" width="400px" append-to-body> |
| | | <span slot="title"> |
| | | <i class="el-icon-s-order"></i> |
| | | {{titleName}} |
| | | </span> |
| | | <el-form ref="form" inline :model="form" :rules="CreateRules" label-width="100px"> |
| | | <el-form-item label="机型" prop="typeZ"> |
| | | <el-input disabled v-model="form.typeZ" placeholder="请输入机型" /> |
| | | </el-form-item> |
| | | <el-form-item label="日期" prop="dateTime"> |
| | | <el-date-picker clearable |
| | | v-model="form.dateTime" |
| | | type="date" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="请选择日期" @input="handleCodeChange"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item class="hidden-form-item" label="日期规则" prop="dateTimeRule"> |
| | | <el-input v-model="form.dateTimeRule"/> |
| | | </el-form-item> |
| | | <el-form-item label="起始编号" prop="startCode"> |
| | | <el-input type="number" :maxlength="3" :pattern="'[0-9]{3}'" v-model="form.startCode" placeholder="请输入起始编号" @input="handleCodeChange"/> |
| | | </el-form-item> |
| | | <el-form-item label="起止编号" prop="startEndCode"> |
| | | <el-input type="textarea" disabled v-model="form.startEndCode"/> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitFormForBoxCode">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | import { listProductBom } from "@/api/main/bs/ProductBom/ProductBom"; |
| | | import { listTechnologyRoute} from "@/api/main/bs/technologyRoute/technologyRoute"; |
| | | import ItemSelect from "@/components/itemSelect/single.vue"; |
| | | import { upDownMove, listProductionOrde, getProductionOrde, delProductionOrde, addProductionOrde, updateProductionOrde } from "@/api/main/om/productionOrde/productionOrde"; |
| | | import { addOrderSchedulingForBoxCode,getProductionNotice, upDownMove, listProductionOrde, getProductionOrde, delProductionOrde, addProductionOrde, updateProductionOrde } from "@/api/main/om/productionOrde/productionOrde"; |
| | | import { |
| | | listOrderScheduling, |
| | | getOrderScheduling, |
| | | delOrderScheduling, |
| | | addOrderScheduling, |
| | | updateOrderScheduling, |
| | | generateNumbers |
| | | } from "@/api/main/bs/orderScheduling/orderScheduling"; |
| | | import {listMaterial} from "@/api/main/bs/material/material"; |
| | | import {listModelNumber} from "@/api/main/bs/modelNumber/modelNumber"; |
| | | |
| | | export default { |
| | | name: "ProductionOrde", |
| | | dicts: ['order_state'], |
| | | dicts: ['order_state','year','month','day'], |
| | | components: { |
| | | ItemSelect , |
| | | }, |
| | |
| | | titleName: '', |
| | | options: [], |
| | | lineOptions: [], |
| | | outputArray: [], |
| | | showFlag:false, |
| | | advancedShowSearch: false, |
| | | workOrder: { |
| | |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | Createopen: false, |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | |
| | | productCompanyCode: null, |
| | | frontEndId: 0, |
| | | idNums: null, |
| | | typeZ: null, |
| | | flag: null, |
| | | |
| | | adds:null, |
| | | productionNotice: null, |
| | | dateConditions: [], |
| | | }, |
| | | materialQueryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | materialCode: null, |
| | | }, |
| | | |
| | | // 表单参数 |
| | | form: {}, |
| | | updateStatusParameter: { |
| | |
| | | id: [ |
| | | { required: true, message: "ID不能为空", trigger: "blur" } |
| | | ], |
| | | } |
| | | }, |
| | | CreateRules: { |
| | | day: [ |
| | | { required: true, message: "不能为空", trigger: "blur" } |
| | | ], |
| | | month: [ |
| | | { required: true, message: "不能为空", trigger: "blur" } |
| | | ], |
| | | year: [ |
| | | { required: true, message: "不能为空", trigger: "blur" } |
| | | ], |
| | | dateTime: [ |
| | | { required: true, message: "不能为空", trigger: "blur" } |
| | | ], |
| | | startCode: [ |
| | | { required: true, message: "不能为空", trigger: "blur" } |
| | | ], |
| | | }, |
| | | change: { |
| | | day: '', |
| | | month: '', |
| | | year: '', |
| | | }, |
| | | markNo: '', |
| | | pickerOptions: { |
| | | shortcuts: [{ |
| | | text: '最近一周', |
| | | onClick(picker) { |
| | | const end = new Date(); |
| | | const start = new Date(); |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 7); |
| | | picker.$emit('pick', [start, end]); |
| | | } |
| | | }, { |
| | | text: '最近一个月', |
| | | onClick(picker) { |
| | | const end = new Date(); |
| | | const start = new Date(); |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); |
| | | picker.$emit('pick', [start, end]); |
| | | } |
| | | }, { |
| | | text: '最近三个月', |
| | | onClick(picker) { |
| | | const end = new Date(); |
| | | const start = new Date(); |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); |
| | | picker.$emit('pick', [start, end]); |
| | | } |
| | | }] |
| | | }, |
| | | }; |
| | | }, |
| | | created() { |
| | |
| | | this.initWorkshop(); |
| | | }, |
| | | methods: { |
| | | //日期或开始编号输入时 |
| | | handleCodeChange(data){ |
| | | let dateTime = this.form.dateTime; |
| | | let planQty = this.form.planQty; |
| | | let startCode = this.form.startCode |
| | | if(dateTime !== null && dateTime !== undefined |
| | | && startCode !== null && startCode !== undefined) { |
| | | let dateTimes = dateTime.split("-"); |
| | | let year = dateTimes[0]; |
| | | let month = dateTimes[1]; |
| | | let day = dateTimes[2]; |
| | | let dictYear = this.dict.type.year; |
| | | let dictMonth = this.dict.type.month; |
| | | let startCode = this.form.startCode |
| | | let dateTimeRule = ""; |
| | | |
| | | //年 |
| | | for (let i = 0; i < dictYear.length; i++) { |
| | | if (year === dictYear[i].label) { |
| | | dateTimeRule = dictYear[i].value |
| | | // this.form.startEndCode = startEndCode; |
| | | } |
| | | } |
| | | //月 |
| | | for (let i = 0; i < dictMonth.length; i++) { |
| | | if (month === dictMonth[i].label) { |
| | | dateTimeRule = dateTimeRule + dictMonth[i].value; |
| | | } |
| | | } |
| | | //日 |
| | | dateTimeRule = dateTimeRule + day; |
| | | dateTimeRule = dateTimeRule + this.markNo; |
| | | this.form.dateTimeRule = dateTimeRule;//此处赋值不加机型 |
| | | dateTimeRule = dateTimeRule + this.form.typeZ;//此处加机型,顺序不能颠倒 |
| | | |
| | | //赋值起始编码 |
| | | this.form.startEndCode = dateTimeRule + String(parseInt(startCode)).padStart(3, '0') + " " + dateTimeRule + String(parseInt(startCode) + parseInt(planQty)-1).padStart(3, '0') ; |
| | | } |
| | | }, |
| | | |
| | | getProductionNotice(){ |
| | | getProductionNotice(this.queryParams).then(response => { |
| | | |
| | | this.$modal.msgSuccess(response.msg); |
| | | this.queryParams = {} |
| | | this.getList(); |
| | | }); |
| | | }, |
| | | //数组生成 |
| | | changeDay(day){ |
| | | this.change.day = day; |
| | | let adds =this.form.typeZ+this.change.year+this.change.month+this.change.day+this.form.actualQty; |
| | | this.form.adds = adds |
| | | }, |
| | | changeMonth(day){ |
| | | this.change.month = day; |
| | | let adds =this.form.typeZ+this.change.year+this.change.month+this.change.day+this.form.actualQty; |
| | | this.form.adds = adds |
| | | }, |
| | | changeYear(day){ |
| | | this.change.year = day; |
| | | let adds =this.form.typeZ+this.change.year+this.change.month+this.change.day+this.form.actualQty; |
| | | this.form.adds = adds |
| | | }, |
| | | moveUp(row, val){ |
| | | console.log(val) |
| | | const ids = row.id || this.ids |
| | |
| | | }); |
| | | }, |
| | | // 在这里编写处理选中事件的逻辑 |
| | | handleSelectChange(selectedOption) { |
| | | this.form.lineCode = null; |
| | | let params = { |
| | | workshopCode: selectedOption |
| | | }; |
| | | listLineInfo(params).then(response => { |
| | | this.lineOptions = response.rows; |
| | | }); |
| | | }, |
| | | |
| | | |
| | | //物料选择弹出框 |
| | | onItemSelected(obj){ |
| | | if(obj !== undefined && obj !== null){ |
| | | let productCode = obj.materialCode; |
| | | this.form.productCode = productCode; |
| | | this.form.productName = obj.materialName; |
| | | this.queryParams.productCode = productCode |
| | | this.form.typeZ = obj.typeZ; |
| | | this.typeL = obj.typeZ; |
| | | this.queryParams.productCode = productCode; |
| | | this.queryParams.typeZ = typeZ |
| | | listTechnologyRoute(this.queryParams).then(response => { |
| | | this.form.routeCode = response.rows[0].routeCode; |
| | | }); |
| | |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.open = false; |
| | | this.Createopen = false; |
| | | this.reset(); |
| | | }, |
| | | // 表单重置 |
| | |
| | | spareField1: null, |
| | | spareField2: null, |
| | | spareField3: null, |
| | | spareField4: null |
| | | typeZ: null, |
| | | spareField4: null, |
| | | adds:null |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | |
| | | this.initWorkshop(); |
| | | this.reset(); |
| | | this.open = true; |
| | | this.titleName = "添加生产工单"; |
| | | this.titleName = "添加生产订单"; |
| | | }, |
| | | /** 同步按钮操作 */ |
| | | CreatehandleUpdate(Row) { |
| | | this.initWorkshop(); |
| | | this.reset(); |
| | | const id = Row.id || this.ids |
| | | getProductionOrde(id).then(response => { |
| | | console.log(response.data) |
| | | console.log(response.data.productCode) |
| | | this.materialQueryParams.materialCode = response.data.productCode; |
| | | listMaterial(this.materialQueryParams).then(response => { |
| | | this.markNo = response.rows[0].mark |
| | | this.form.typeL = response.rows[0].typeL; |
| | | }); |
| | | this.form = response.data; |
| | | this.Createopen = true; |
| | | this.titleName = "生成箱体条码"; |
| | | // return Array.from({ length: parseInt(this.actualQty) }, (_, index) => index + 1); |
| | | }); |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | |
| | | console.log(response.data) |
| | | this.form = response.data; |
| | | this.open = true; |
| | | this.titleName = "修改生产工单"; |
| | | this.titleName = "修改生产订单"; |
| | | }); |
| | | }, |
| | | /** 提交按钮 */ |
| | |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | /** 生成箱体条码提交按钮 */ |
| | | submitFormForBoxCode() { |
| | | let startCode = parseInt(this.form.startCode); |
| | | let queryParams = { |
| | | model: this.form.typeZ, |
| | | modelDate: this.form.dateTimeRule, |
| | | } |
| | | if(startCode>999){ |
| | | this.$message.error('起始编号超出最大范围,请输入1-999的数字!'); |
| | | return; |
| | | }else if(startCode<1){ |
| | | this.$message.error('起始编号超出最小范围,请输入1-999的数字!'); |
| | | return; |
| | | } |
| | | listModelNumber(queryParams).then(response => { |
| | | if(response.rows.length === 0){ |
| | | this.saveBoxCode() |
| | | }else { |
| | | let maxNumValue = response.rows[0].maxnumValue; |
| | | if(startCode<=maxNumValue){ |
| | | this.$message.error('箱体条码重复,请重新输入起始编号!'); |
| | | }else { |
| | | this.saveBoxCode() |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | saveBoxCode(){ |
| | | this.$refs["form"].validate(valid => { |
| | | if (valid) { |
| | | if (this.form.id != null) { |
| | | addOrderSchedulingForBoxCode(this.form).then(response => { |
| | | this.$modal.msgSuccess("保存成功"); |
| | | this.Createopen = false; |
| | | this.getList(); |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | | const ids = row.id || this.ids; |
| | | this.$modal.confirm('是否确认删除生产工单编号为"' + ids + '"的数据项?').then(function() { |
| | | this.$modal.confirm('是否确认删除生产订单编号为"' + ids + '"的数据项?').then(function() { |
| | | return delProductionOrde(ids); |
| | | }).then(() => { |
| | | this.getList(); |
| | |
| | | this.download('om/productionOrde/export', { |
| | | ...this.queryParams |
| | | }, `productionOrde_${new Date().getTime()}.xlsx`) |
| | | } |
| | | }, |
| | | |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | //::v-deep .el-dialog__header{ |
| | | // /*background-color: #f8f8f8;*/ |
| | | // background-color: #f8f8f9; |
| | | //} |
| | | .hidden-form-item { |
| | | display: none; |
| | | } |
| | | </style> |