| | |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | | |
| | | <el-table border v-loading="loading" :data="productionOrdeList" @selection-change="handleSelectionChange"> |
| | | <el-table border @row-click="handleRowClick" v-loading="loading" :data="productionOrdeList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column width="500" label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <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"> |
| | | <span>{{ scope.row.workOrderNo }}</span> |
| | | </router-link> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="订单编号" width="140" align="center" prop="salesOrderCode"> |
| | | </el-table-column> |
| | | <el-table-column label="产品编号" width="140" align="center" prop="productCode"> |
| | | </el-table-column> |
| | | <el-table-column label="产品名称" width="160" align="center" prop="productName"> |
| | | </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> |
| | | <el-table-column label="产线编号" align="center" prop="lineCode"> |
| | | </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="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="500" label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | | <!-- 工单状态(1创建、2已发布、3生产中、4已冻结、5已完工、6已关闭) --> |
| | | <el-button type="success" style="width: 72px" plain @click="handleCommand('3',scope.row.id)" v-if="scope.row.orderStatus === '1'" size="mini">开始</el-button> |
| | | <el-button style="width: 72px" plain @click="handleCommand('4',scope.row.id)" v-if="scope.row.orderStatus === '2'|| scope.row.orderStatus === '3'" type="warning" size="mini">冻结</el-button> |
| | | <el-button type="success" style="width: 72px" plain @click="handleCommand('3',scope.row.id)" v-if="scope.row.orderStatus === '1'" size="mini">开始</el-button> |
| | | <el-button style="width: 72px" plain @click="handleCommand('4',scope.row.id)" v-if="scope.row.orderStatus === '2'|| scope.row.orderStatus === '3'" type="warning" size="mini">冻结</el-button> |
| | | <el-button style="width: 72px" plain @click="handleCommand('3',scope.row.id)" v-if="scope.row.orderStatus === '4'" type="warning" size="mini">解冻</el-button> |
| | | <el-button style="width: 72px" plain @click="handleCommand('6',scope.row.id)" v-if="scope.row.orderStatus === '1'" type="danger" size="mini">关闭</el-button> |
| | | <el-button style="width: 72px" plain @click="handleCommand('1',scope.row.id)" v-if="scope.row.orderStatus === '6' " type="success" size="mini">启用</el-button> |
| | |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['om:productionOrde:remove']" |
| | | >删除</el-button> |
| | | <!-- 工单状态(1创建、2已发布、3生产中、4已冻结、5已完工、6已关闭) --> |
| | | <!-- <el-button type="success" :disabled="isDisabled1" style="width: 72px" plain @click="handleCommandStart('3',scope.row.id)" size="mini">开始</el-button>--> |
| | | <!-- <el-button style="width: 72px" :disabled="isDisabled2" plain @click="handleCommandDonejie('4',scope.row.id)" v-if="scope.row.orderStatus === '1'|| scope.row.orderStatus === '3'|| scope.row.orderStatus === '5'" type="warning" size="mini">冻结</el-button>--> |
| | | <!-- <el-button style="width: 72px" :disabled="isDisabled3" plain @click="handleCommandJieDong('3',scope.row.id)" v-if="scope.row.orderStatus === '4'" type="warning" size="mini">解冻</el-button>--> |
| | | <!-- <el-button style="width: 72px" :disabled="isDisabled4" plain @click="handleCommand('6',scope.row.id)" v-if="scope.row.orderStatus === '3' || scope.row.orderStatus === '1'|| scope.row.orderStatus === '4'|| scope.row.orderStatus === '5'" type="danger" size="mini">关闭</el-button>--> |
| | | <!-- <el-button style="width: 72px" :disabled="isDisabled5" plain @click="handleCommand('1',scope.row.id)" v-if="scope.row.orderStatus === '6' " type="success" size="mini">启用</el-button>--> |
| | | <!-- <el-button--> |
| | | <!-- size="mini"--> |
| | | <!-- type="success"--> |
| | | <!-- :disabled="isDisabled8"--> |
| | | <!-- style="width: 72px"--> |
| | | <!-- v-if="scope.row.orderStatus === '3' || scope.row.orderStatus === '1'|| scope.row.orderStatus === '4'|| scope.row.orderStatus === '5'"--> |
| | | <!-- icon="el-icon-edit"--> |
| | | <!-- @click="handleUpdate(scope.row)"--> |
| | | <!-- v-hasPermi="['om:productionOrde:edit']"--> |
| | | <!-- >修改</el-button>--> |
| | | <!-- <el-button--> |
| | | <!-- size="mini"--> |
| | | <!-- type="warning"--> |
| | | <!-- :disabled="isDisabled9"--> |
| | | <!-- style="width: 72px"--> |
| | | <!-- v-if="scope.row.orderStatus === '3'|| scope.row.orderStatus === '1'|| scope.row.orderStatus === '4'|| scope.row.orderStatus === '5'"--> |
| | | <!-- icon="el-icon-delete"--> |
| | | <!-- @click="handleDelete(scope.row)"--> |
| | | <!-- v-hasPermi="['om:productionOrde:remove']"--> |
| | | <!-- >删除</el-button>--> |
| | | <!-- <el-button style="width: 72px" :disabled="isDisabled6" v-if="scope.row.orderStatus === '1'|| scope.row.orderStatus === '3'|| scope.row.orderStatus === '4'" @click="handleCommandFinish('5',scope.row.id)" type="success" size="mini">完成</el-button>--> |
| | | <!-- <el-button style="width: 72px" :disabled="isDisabled7" v-if="scope.row.orderStatus === '5'" type="success" size="mini">已完工</el-button>--> |
| | | </template> |
| | | </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>--> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.order_state" :value="scope.row.orderStatus"/> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="生产工单号" width="130" align="center"> |
| | | <template slot-scope="scope"> |
| | | <router-link :to="{path: '/main/workReport-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="订单编号" align="center" prop="salesOrderCode"> |
| | | </el-table-column> |
| | | <el-table-column label="产品编号" align="center" prop="productCode"> |
| | | </el-table-column> |
| | | <el-table-column label="产品名称" align="center" prop="productName"> |
| | | </el-table-column> |
| | | <el-table-column label="车间编号" align="center" prop="workshopCode"> |
| | | </el-table-column> |
| | | <el-table-column label="产线编号" align="center" prop="lineCode"> |
| | | </el-table-column> |
| | | <el-table-column label="工艺流程" align="center" prop="routeCode"> |
| | | </el-table-column> |
| | | <el-table-column label="产品BOM" align="center" prop="bomCode"> |
| | | </el-table-column> |
| | | <el-table-column label="工艺配方" 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="不良数量" align="center" prop="badQty">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="报废数量" align="center" prop="scrapQty">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="返修数量" align="center" prop="repairQty">--> |
| | | <!-- </el-table-column>--> |
| | | <el-table-column label="实际上线数量" align="center" prop="actualOnlineQty"> |
| | | </el-table-column> |
| | | <el-table-column label="需求日期" align="center" prop="demandDate" width="180"> |
| | | </el-table-column> |
| | | <el-table-column label="计划开始时间" align="center" prop="planStartTime"> |
| | | </el-table-column> |
| | | <el-table-column label="计划结束时间" align="center" prop="planEndTime"> |
| | | </el-table-column> |
| | | <el-table-column label="实际开始时间" align="center" prop="actualStartTime"> |
| | | </el-table-column> |
| | | <el-table-column label="实际结束时间" align="center" prop="actualEndTime"> |
| | | </el-table-column> |
| | | <el-table-column :show-overflow-tooltip='true' label="创建时间" align="center" prop="createTime"> |
| | | </el-table-column> |
| | | <el-table-column :show-overflow-tooltip='true' label="更新时间" align="center" prop="updateTime"> |
| | | </el-table-column> |
| | | <el-table-column label="创建人" align="center" prop="createUser"> |
| | | </el-table-column> |
| | | <el-table-column label="修改人" align="center" prop="updateUser"> |
| | | </el-table-column> |
| | | <el-table-column label="备注" align="center" prop="remarks"> |
| | | </el-table-column> |
| | | <el-table-column label="流水号" align="center" prop="streamNumber"> |
| | | </el-table-column> |
| | | <el-table-column label="客户" align="center" prop="custom"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-card> |
| | |
| | | |
| | | <!-- 添加或修改生产工单对话框 --> |
| | | <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body> |
| | | <span slot="title"> |
| | | <i class="el-icon-s-order"></i> |
| | | {{titleName}} |
| | | </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-form-item label="订单编号" prop="salesOrderCode"> |
| | | <el-input v-model="form.salesOrderCode" placeholder="请输入订单编号" /> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="产品编号" prop="productCode">--> |
| | | <!-- <el-input v-model="form.productCode" placeholder="请输入产品编号" />--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item label="产品编号" prop="productCode"> |
| | | <el-input v-model="form.productCode" placeholder="请选择产品" > |
| | | <el-button slot="append" @click="handleSelectProduct" icon="el-icon-search"></el-button> |
| | |
| | | <el-input v-model="form.productName" disabled placeholder="请输入产品名称" /> |
| | | </el-form-item> |
| | | <el-form-item label="车间编号" prop="workshopCode"> |
| | | <el-input v-model="form.workshopCode" placeholder="请输入车间编号" /> |
| | | <el-select style="width: 93%" @change="handleSelectChange(form.processesCode)" v-model="form.processesCode" placeholder="请选择车间编号"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.workshopCode" |
| | | :label="item.workshopName" |
| | | :value="item.workshopCode"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="产线编号" prop="lineCode"> |
| | | <el-input v-model="form.lineCode" placeholder="请输入产线编号" /> |
| | | <el-form-item style="margin-left: -15px" label="产线编号" prop="lineCode"> |
| | | <el-select style="width: 93%" v-model="form.lineCode" placeholder="请选择产线编号"> |
| | | <el-option |
| | | v-for="item in lineOptions" |
| | | :key="item.lineCode" |
| | | :label="item.lineName" |
| | | :value="item.lineCode"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="工艺流程" disabled prop="routeCode"> |
| | | <el-input v-model="form.routeCode" placeholder="请输入工艺流程" /> |
| | | <el-form-item label="工艺流程" prop="routeCode"> |
| | | <el-input v-model="form.routeCode" disabled placeholder="请输入工艺流程" /> |
| | | </el-form-item> |
| | | <el-form-item label="产品BOM" disabled prop="bomCode"> |
| | | <el-input v-model="form.bomCode" placeholder="请输入产品BOM" /> |
| | | <el-form-item label="产品BOM" prop="bomCode"> |
| | | <el-input v-model="form.bomCode" disabled placeholder="请输入产品BOM" /> |
| | | </el-form-item> |
| | | <el-form-item label="工艺配方" prop="recipeCode"> |
| | | <el-input v-model="form.recipeCode" placeholder="请输入工艺配方" /> |
| | |
| | | <el-form-item label="计划数量" prop="planQty"> |
| | | <el-input v-model="form.planQty" 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="actualQty">--> |
| | | <!-- <el-input v-model="form.actualQty" placeholder="请输入实际数量" />--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item label="需求日期" prop="demandDate"> |
| | | <el-date-picker clearable |
| | | <el-date-picker style="width: 88%" clearable |
| | | v-model="form.demandDate" |
| | | type="date" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="请选择需求日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="顺序号" prop="serialNumber"> |
| | | <el-input v-model="form.serialNumber" placeholder="请输入顺序号" /> |
| | | </el-form-item> |
| | | <el-form-item label="备注" prop="remarks"> |
| | | <!-- <el-form-item style="margin-left: -30px" label="流水号" prop="streamNumber">--> |
| | | <!-- <el-input v-model="form.streamNumber" placeholder="请输入流水号" />--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item style="margin-left: -30px" label="备注" prop="remarks"> |
| | | <el-input v-model="form.remarks" placeholder="请输入备注" /> |
| | | </el-form-item> |
| | | <el-form-item label="流水号" prop="streamNumber"> |
| | | <el-input v-model="form.streamNumber" placeholder="请输入流水号" /> |
| | | </el-form-item> |
| | | <el-form-item label="客户" prop="custom"> |
| | | <el-input v-model="form.custom" placeholder="请输入客户" /> |
| | | </el-form-item> |
| | | |
| | | <!-- <el-form-item label="客户" prop="custom">--> |
| | | <!-- <el-input v-model="form.custom" placeholder="请输入客户" />--> |
| | | <!-- </el-form-item>--> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item style="margin-left: 10px" label-width="120" label="计划开始时间" prop="planStartTime"> |
| | | <el-date-picker clearable |
| | | v-model="form.planStartTime" |
| | | type="date" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="请选择计划开始时间"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item style="margin-left: 76px" label-width="120" label="计划结束时间" prop="planEndTime"> |
| | | <el-date-picker clearable |
| | | v-model="form.planEndTime" |
| | | type="date" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="请选择计划结束时间"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">确 定</el-button> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { listLineInfo } from "@/api/main/bs/lineInfo/lineInfo"; |
| | | import { listWorkshop } from "@/api/main/bs/workshop/workshop"; |
| | | import { listProductBom } from "@/api/main/bs/ProductBom/ProductBom"; |
| | | import { listTechnologyRoute} from "@/api/main/bs/technologyRoute/technologyRoute"; |
| | | import ItemSelect from "@/components/itemSelect/single.vue"; |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | titleName: '', |
| | | |
| | | isDisabled1: false, |
| | | isDisabled2: false, |
| | | isDisabled3: false, |
| | | isDisabled4: false, |
| | | isDisabled5: false, |
| | | isDisabled6: false, |
| | | isDisabled7: false, |
| | | isDisabled8: false, |
| | | isDisabled9: false, |
| | | |
| | | options: [], |
| | | lineOptions: [], |
| | | showFlag:false, |
| | | advancedShowSearch: false, |
| | | workOrder: { |
| | |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | this.initWorkshop(); |
| | | }, |
| | | methods: { |
| | | //完成 |
| | | handleCommandFinish(status,id){ |
| | | this.updateOrderState(status,id) |
| | | this.isDisabled1 = true; |
| | | this.isDisabled4 = true; |
| | | this.isDisabled8 = true; |
| | | this.isDisabled9 = true; |
| | | this.isDisabled6 = true; |
| | | this.isDisabled7 = true; |
| | | this.isDisabled2 = true; |
| | | }, |
| | | //解冻 |
| | | handleCommandJieDong(status,id){ |
| | | this.updateOrderState(status,id) |
| | | this.isDisabled1 = true; |
| | | this.isDisabled4 = true; |
| | | this.isDisabled8 = true; |
| | | this.isDisabled9 = true; |
| | | this.isDisabled6 = false; |
| | | this.isDisabled2 = false; |
| | | }, |
| | | //冻结 |
| | | handleCommandDonejie(status,id){ |
| | | this.updateOrderState(status,id) |
| | | this.isDisabled1 = true; |
| | | this.isDisabled4 = true; |
| | | this.isDisabled8 = true; |
| | | this.isDisabled9 = true; |
| | | this.isDisabled6 = true; |
| | | this.isDisabled2 = true; |
| | | |
| | | }, |
| | | //开始 |
| | | handleCommandStart(status,id){ |
| | | this.updateOrderState(status,id) |
| | | this.isDisabled1 = true; |
| | | this.isDisabled4 = true; |
| | | this.isDisabled8 = true; |
| | | this.isDisabled9 = true; |
| | | this.isDisabled2 = false; |
| | | }, |
| | | initWorkshop(){ |
| | | listWorkshop(this.queryParams).then(response => { |
| | | this.options = response.rows; |
| | | }); |
| | | }, |
| | | // 在这里编写处理选中事件的逻辑 |
| | | handleSelectChange(selectedOption) { |
| | | this.queryParams.workshopCode = selectedOption; |
| | | listLineInfo(this.queryParams).then(response => { |
| | | this.lineOptions = response.rows; |
| | | }); |
| | | }, |
| | | //物料选择弹出框 |
| | | onItemSelected(obj){ |
| | | if(obj !== undefined && obj !== null){ |
| | |
| | | this.form.productName = obj.materialName; |
| | | this.queryParams.productCode = productCode |
| | | listTechnologyRoute(this.queryParams).then(response => { |
| | | console.log(response.data) |
| | | this.form.routeCode = response.rows[0].routeCode; |
| | | }); |
| | | listProductBom(this.queryParams).then(response => { |
| | | console.log(response.row) |
| | | this.form.bomCode = response.rows[0].bomCode; |
| | | }); |
| | | |
| | | } |
| | | }, |
| | | handleSelectProduct(){ |
| | |
| | | this.advancedShowSearch = (this.advancedShowSearch) ? this.advancedShowSearch = false : this.advancedShowSearch = true; |
| | | }, |
| | | handleCommand(status,id) { |
| | | this.updateStatusParameter.id = id; |
| | | this.updateStatusParameter.orderStatus = status; |
| | | updateProductionOrde(this.updateStatusParameter).then(response => { |
| | | this.$modal.msgSuccess("修改成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | }, |
| | | updateOrderState(status,id){ |
| | | this.updateStatusParameter.id = id; |
| | | this.updateStatusParameter.orderStatus = status; |
| | | updateProductionOrde(this.updateStatusParameter).then(response => { |
| | |
| | | handleAdd() { |
| | | this.reset(); |
| | | this.open = true; |
| | | this.title = "添加生产工单"; |
| | | this.titleName = "添加生产工单"; |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | |
| | | getProductionOrde(id).then(response => { |
| | | this.form = response.data; |
| | | this.open = true; |
| | | this.title = "修改生产工单"; |
| | | this.titleName = "修改生产工单"; |
| | | }); |
| | | }, |
| | | /** 提交按钮 */ |
| | |
| | | } |
| | | }; |
| | | </script> |
| | | <style> |
| | | .el-dialog__header{ |
| | | /*background-color: #f8f8f8;*/ |
| | | background-color: #f8f8f9; |
| | | } |
| | | </style> |