¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <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="100" label="ç产éç¥å" prop="productName"> |
| | | <el-input v-model="queryParams.productionNotice" placeholder="请è¾å
¥ç产éç¥å" clearable @keyup.enter.native="handleQuery"/> |
| | | </el-form-item> |
| | | <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="typeZ"> |
| | | <el-input v-model="queryParams.typeZ" placeholder="请è¾å
¥æºå" clearable @keyup.enter.native="handleQuery"/> |
| | | </el-form-item> |
| | | <el-form-item style="float: right"> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">æç´¢</el-button> |
| | | <el-button type="warning" icon="el-icon-copy-document" size="mini" @click="advancedQuery">é«çº§æ¥è¯¢</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">éç½®</el-button> |
| | | </el-form-item> |
| | | </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-form-item> |
| | | </el-form> |
| | | </el-card> |
| | | |
| | | <el-card style="margin-top: 10px" class="box-card"> |
| | | <el-row :gutter="10" class="mb8"> |
| | | |
| | | <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" prop="productionNotice"> |
| | | </el-table-column> |
| | | <el-table-column label="ç产订å" width="160" align="center" prop="workOrderNo"> |
| | | </el-table-column> |
| | | <el-table-column label="æºå" width="160" align="center" prop="typeZ"> |
| | | </el-table-column> |
| | | <el-table-column label="产åç¼å·" width="150" align="center" prop="productCode"> |
| | | </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="planQty"> |
| | | </el-table-column> |
| | | <el-table-column label="å·¥ä½ä¸" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="å·²å®æ" width="160" align="center" prop="actualQty"> |
| | | </el-table-column> |
| | | <el-table-column label="å·²æ¥åº" width="160" align="center" prop="scrapQty"> |
| | | </el-table-column> |
| | | <el-table-column label="å®æç" width="160" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="åæ ¼ç" width="160" align="center"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-card> |
| | | |
| | | <pagination |
| | | v-show="total>0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | |
| | | <!-- æ·»å æä¿®æ¹ç产工å对è¯æ¡ --> |
| | | <el-dialog v-dialogpop-up :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> |
| | | <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-button slot="append" @click="handleSelectProduct" icon="el-icon-search"></el-button> |
| | | </el-input> |
| | | <ItemSelect ref="itemSelect" @onSelected="onItemSelected" > </ItemSelect> |
| | | </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="请éæ©è½¦é´ç¼å·"> |
| | | <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 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="å·¥èºæµç¨" prop="routeCode"> |
| | | <el-input v-model="form.routeCode" disabled placeholder="请è¾å
¥å·¥èºæµç¨" /> |
| | | </el-form-item> |
| | | <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> |
| | | <el-form-item label="计åæ°é" prop="planQty"> |
| | | <el-input v-model="form.planQty" placeholder="请è¾å
¥è®¡åæ°é" /> |
| | | </el-form-item> |
| | | <el-form-item label="éæ±æ¥æ" prop="demandDate"> |
| | | <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 style="margin-left: -30px" label="å¤æ³¨" prop="remarks"> |
| | | <el-input v-model="form.remarks" 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> |
| | | <el-button @click="cancel">å æ¶</el-button> |
| | | </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="80px"> |
| | | <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 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> |
| | | |
| | | <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"; |
| | | 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','year','month','day'], |
| | | components: { |
| | | ItemSelect , |
| | | }, |
| | | data() { |
| | | return { |
| | | titleName: '', |
| | | options: [], |
| | | lineOptions: [], |
| | | outputArray: [], |
| | | showFlag:false, |
| | | advancedShowSearch: false, |
| | | workOrder: { |
| | | status: 'ss' |
| | | }, |
| | | // é®ç½©å± |
| | | loading: true, |
| | | // éä¸æ°ç» |
| | | ids: [], |
| | | // éå个ç¦ç¨ |
| | | single: true, |
| | | // éå¤ä¸ªç¦ç¨ |
| | | multiple: true, |
| | | move: true, |
| | | selectedRowIndex: -1, // åå¨éä¸è¡çç´¢å¼ |
| | | // æ¾ç¤ºæç´¢æ¡ä»¶ |
| | | showSearch: true, |
| | | // æ»æ¡æ° |
| | | total: 0, |
| | | // ç产工åè¡¨æ ¼æ°æ® |
| | | productionOrdeList: [], |
| | | // å¼¹åºå±æ é¢ |
| | | title: "", |
| | | // æ¯å¦æ¾ç¤ºå¼¹åºå± |
| | | open: false, |
| | | Createopen: false, |
| | | // æ¥è¯¢åæ° |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | workOrderNo: null, |
| | | salesOrderCode: null, |
| | | productCode: null, |
| | | productName: null, |
| | | workshopCode: null, |
| | | lineCode: null, |
| | | routeCode: null, |
| | | bomCode: null, |
| | | recipeCode: null, |
| | | orderStatus: "2", |
| | | custom: null, |
| | | marketAreaCode: null, |
| | | softwareVersionCode: null, |
| | | productCompanyCode: null, |
| | | frontEndId: 0, |
| | | idNums: null, |
| | | typeZ: null, |
| | | flag: null, |
| | | adds:null, |
| | | productionNotice: null, |
| | | }, |
| | | materialQueryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | materialCode: null, |
| | | }, |
| | | |
| | | // 表ååæ° |
| | | form: {}, |
| | | updateStatusParameter: { |
| | | id: null, |
| | | orderStatus: null |
| | | }, |
| | | // 表åæ ¡éª |
| | | rules: { |
| | | 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: '', |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | 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; |
| | | //èµå¼èµ·å§ç¼ç |
| | | this.form.startEndCode = dateTimeRule + startCode + "----" + dateTimeRule + String(parseInt(startCode) + parseInt(planQty)-1).padStart(3, '0') ; |
| | | } |
| | | }, |
| | | |
| | | getProductionNotice(){ |
| | | getProductionNotice(this.queryParams).then(response => { |
| | | this.$modal.msgSuccess("æ¥æ¶æå"); |
| | | 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 |
| | | let str = JSON.stringify(ids); |
| | | let num = BigInt(str.replace(/[\[\]]/g, '')); |
| | | this.queryParams.frontEndId = num |
| | | this.queryParams.idNums = ids |
| | | this.queryParams.flag = val |
| | | upDownMove(this.queryParams).then(response => { |
| | | this.$modal.msgSuccess("移å¨æå"); |
| | | this.getList(); |
| | | }); |
| | | }, |
| | | initWorkshop(){ |
| | | listWorkshop(this.queryParams).then(response => { |
| | | this.options = response.rows; |
| | | }); |
| | | }, |
| | | // å¨è¿éç¼åå¤çéä¸äºä»¶çé»è¾ |
| | | |
| | | |
| | | //ç©æéæ©å¼¹åºæ¡ |
| | | onItemSelected(obj){ |
| | | if(obj !== undefined && obj !== null){ |
| | | let productCode = obj.materialCode; |
| | | this.form.productCode = productCode; |
| | | this.form.productName = obj.materialName; |
| | | 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; |
| | | }); |
| | | listProductBom(this.queryParams).then(response => { |
| | | this.form.bomCode = response.rows[0].bomCode; |
| | | }); |
| | | } |
| | | }, |
| | | handleSelectProduct(){ |
| | | this.$refs.itemSelect.showFlag = true; |
| | | }, |
| | | advancedQuery(){ |
| | | this.advancedShowSearch = (this.advancedShowSearch) ? this.advancedShowSearch = false : this.advancedShowSearch = true; |
| | | }, |
| | | handleCommand(status,id) { |
| | | console.log(status) |
| | | this.updateStatusParameter.id = id; |
| | | this.updateStatusParameter.orderStatus = status; |
| | | updateProductionOrde(this.updateStatusParameter).then(response => { |
| | | this.$modal.msgSuccess("ä¿®æ¹æå"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | }, |
| | | /** æ¥è¯¢ç产工åå表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | listProductionOrde(this.queryParams).then(response => { |
| | | this.productionOrdeList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | // åæ¶æé® |
| | | cancel() { |
| | | this.open = false; |
| | | this.Createopen = false; |
| | | this.reset(); |
| | | }, |
| | | // 表åéç½® |
| | | reset() { |
| | | this.form = { |
| | | id: null, |
| | | workOrderNo: null, |
| | | salesOrderCode: null, |
| | | productCode: null, |
| | | productName: null, |
| | | workshopCode: null, |
| | | lineCode: null, |
| | | routeCode: null, |
| | | bomCode: null, |
| | | recipeCode: null, |
| | | planQty: null, |
| | | actualQty: null, |
| | | badQty: null, |
| | | scrapQty: null, |
| | | repairQty: null, |
| | | actualOnlineQty: null, |
| | | onlineCompletionMark: null, |
| | | demandDate: null, |
| | | planStartTime: null, |
| | | planEndTime: null, |
| | | actualStartTime: null, |
| | | actualEndTime: null, |
| | | serialNumber: null, |
| | | orderStatus: null, |
| | | createTime: null, |
| | | updateTime: null, |
| | | createUser: null, |
| | | updateUser: null, |
| | | remarks: null, |
| | | streamNumber: null, |
| | | custom: null, |
| | | marketAreaCode: null, |
| | | softwareVersionCode: null, |
| | | productCompanyCode: null, |
| | | spareField1: null, |
| | | spareField2: null, |
| | | spareField3: null, |
| | | typeZ: null, |
| | | spareField4: null, |
| | | adds:null |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | | /** æç´¢æé®æä½ */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | /** éç½®æé®æä½ */ |
| | | resetQuery() { |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | // å¤éæ¡éä¸æ°æ® |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map(item => item.id) |
| | | this.move = selection.length!==1 |
| | | if(!selection.length){ |
| | | this.single = true |
| | | this.multiple = true |
| | | }else { |
| | | if(selection[0].orderStatus === '1' && selection.length === 1){ |
| | | this.single = false |
| | | this.multiple = false |
| | | } |
| | | } |
| | | |
| | | }, |
| | | /** æ°å¢æé®æä½ */ |
| | | handleAdd() { |
| | | this.initWorkshop(); |
| | | this.reset(); |
| | | this.open = true; |
| | | 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 = response.data; |
| | | this.Createopen = true; |
| | | this.titleName = "çæç®±ä½æ¡ç "; |
| | | // return Array.from({ length: parseInt(this.actualQty) }, (_, index) => index + 1); |
| | | }); |
| | | }, |
| | | /** ä¿®æ¹æé®æä½ */ |
| | | handleUpdate(row) { |
| | | this.initWorkshop(); |
| | | this.reset(); |
| | | const id = row.id || this.ids |
| | | getProductionOrde(id).then(response => { |
| | | console.log(response.data) |
| | | this.form = response.data; |
| | | this.open = true; |
| | | this.titleName = "ä¿®æ¹ç产订å"; |
| | | }); |
| | | }, |
| | | /** æ交æé® */ |
| | | submitForm() { |
| | | this.$refs["form"].validate(valid => { |
| | | if (valid) { |
| | | if (this.form.id != null) { |
| | | updateProductionOrde(this.form).then(response => { |
| | | this.$modal.msgSuccess("ä¿®æ¹æå"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } else { |
| | | addProductionOrde(this.form).then(response => { |
| | | this.$modal.msgSuccess("æ°å¢æå"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | /** çæç®±ä½æ¡ç æ交æé® */ |
| | | submitFormForBoxCode() { |
| | | let startCode = parseInt(this.form.startCode); |
| | | let queryParams = { |
| | | model: this.form.typeZ, |
| | | modelDate: this.form.dateTimeRule, |
| | | } |
| | | listModelNumber(queryParams).then(response => { |
| | | if(response.rows.length === 0){ |
| | | this.saveBoxCode() |
| | | }else { |
| | | let maxNumValue = response.rows[0].maxnumValue; |
| | | if(startCode<maxNumValue){ |
| | | this.$message.error('æ°å»ºçä¸è½æ¯æ¥è¯¢åºçå°'); |
| | | return; |
| | | }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() { |
| | | return delProductionOrde(ids); |
| | | }).then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("å é¤æå"); |
| | | }).catch(() => {}); |
| | | }, |
| | | /** 导åºæé®æä½ */ |
| | | handleExport() { |
| | | this.download('om/productionOrde/export', { |
| | | ...this.queryParams |
| | | }, `productionOrde_${new Date().getTime()}.xlsx`) |
| | | }, |
| | | |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .hidden-form-item { |
| | | display: none; |
| | | } |
| | | </style> |