From 04b8eff075a04db23e6f908855699b4d2954588c Mon Sep 17 00:00:00 2001 From: yyt <306727702@qq.com> Date: 星期四, 23 五月 2024 18:47:01 +0800 Subject: [PATCH] 380新产品,优化 --- jcdm-ui/src/views/main/om/productionOrde/index.vue | 517 +++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 341 insertions(+), 176 deletions(-) diff --git a/jcdm-ui/src/views/main/om/productionOrde/index.vue b/jcdm-ui/src/views/main/om/productionOrde/index.vue index 5c5df66..08a212b 100644 --- a/jcdm-ui/src/views/main/om/productionOrde/index.vue +++ b/jcdm-ui/src/views/main/om/productionOrde/index.vue @@ -1,31 +1,27 @@ <template> <div class="app-container"> + <div v-if="!showDetailFlag"> <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 style="margin-left: 14px" label="浜у搧缂栧彿" prop="productCode"> + <el-input v-model="queryParams.productCode" 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"> @@ -35,62 +31,20 @@ </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 label="鏈哄瀷" prop="typeZ"> + <el-input v-model="queryParams.typeZ" 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> - <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="璇疯緭鍏ヤ骇鍝丅OM" - 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> @@ -139,15 +93,27 @@ v-hasPermi="['om:productionOrde:export']" >瀵煎嚭</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="primary" + plain + icon="el-icon-edit" + size="mini" + :disabled="single" + @click="CreatehandleUpdate" + v-hasPermi="['om:productionOrde:createUpdate']" + >鐢熸垚</el-button> </el-col> <el-col :span="1.5"> <el-button @@ -155,102 +121,51 @@ plain icon="el-icon-download" size="mini" - :disabled="move" - @click="moveUp(val => val, 'down')" - >涓嬬Щ</el-button> + :disabled="!single" + @click="goToPage" + >寮�濮嬩綔涓�</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="120" align="center" prop="productionNotice"> + </el-table-column> + <el-table-column label="鐢熶骇璁㈠崟" width="140" 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="100" 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="120" align="center" prop="demandDate"> + </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="lineCode"> </el-table-column> - <el-table-column label="浜х嚎缂栧彿" align="center" prop="lineCode"> + + <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> - <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">瑙e喕</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 label="鎴愬搧鎻忚堪" width="320" align="center" prop="productName"> </el-table-column> </el-table> </el-card> @@ -272,7 +187,7 @@ </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="璇疯緭鍏ヨ鍗曠紪鍙�" /> @@ -285,6 +200,12 @@ </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="璇烽�夋嫨杞﹂棿缂栧彿"> @@ -359,6 +280,40 @@ </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> + <Detail v-if="showDetailFlag" :singleSelect="singleSelect"></Detail> </div> </template> @@ -368,19 +323,34 @@ 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,getProductionOrdes, 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"; +import Detail from "./detail.vue"; export default { name: "ProductionOrde", - dicts: ['order_state'], + dicts: ['order_state','year','month','day','subscription_type', 'sys_yes_no', 'data_type','sys_normal_disable'], components: { ItemSelect , + Detail }, data() { return { + showDetailFlag: false, + singleSelect:{}, titleName: '', options: [], lineOptions: [], + outputArray: [], showFlag:false, advancedShowSearch: false, workOrder: { @@ -406,6 +376,7 @@ title: "", // 鏄惁鏄剧ず寮瑰嚭灞� open: false, + Createopen: false, // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, @@ -426,9 +397,18 @@ productCompanyCode: null, frontEndId: 0, idNums: null, + typeZ: null, flag: null, - + adds:null, + productionNotice: null, + dateConditions: [], }, + materialQueryParams: { + pageNum: 1, + pageSize: 10, + materialCode: null, + }, + // 琛ㄥ崟鍙傛暟 form: {}, updateStatusParameter: { @@ -440,7 +420,57 @@ 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() { @@ -448,6 +478,70 @@ 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 = this.form.typeZ +" "+dateTimeRule;//姝ゅ鍔犳満鍨嬶紝椤哄簭涓嶈兘棰犲�� + + //璧嬪�艰捣濮嬬紪鐮� + 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 @@ -467,22 +561,18 @@ }); }, // 鍦ㄨ繖閲岀紪鍐欏鐞嗛�変腑浜嬩欢鐨勯�昏緫 - 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; }); @@ -519,6 +609,7 @@ // 鍙栨秷鎸夐挳 cancel() { this.open = false; + this.Createopen = false; this.reset(); }, // 琛ㄥ崟閲嶇疆 @@ -561,7 +652,10 @@ spareField1: null, spareField2: null, spareField3: null, - spareField4: null + typeZ: null, + spareField4: null, + adds:null, + idNums:null }; this.resetForm("form"); }, @@ -575,7 +669,7 @@ this.resetForm("queryForm"); this.handleQuery(); }, - // 澶氶�夋閫変腑鏁版嵁 + /** 澶氶�夋閫変腑鏁版嵁 */ handleSelectionChange(selection) { this.ids = selection.map(item => item.id) this.move = selection.length!==1 @@ -587,15 +681,38 @@ this.single = false this.multiple = false } + if(selection[0].orderStatus === '2' && selection.length === 1){ + this.singleSelect = selection[0] + } } - }, + /** 鏂板鎸夐挳鎿嶄綔 */ handleAdd() { this.initWorkshop(); this.reset(); this.open = true; - this.titleName = "娣诲姞鐢熶骇宸ュ崟"; + this.titleName = "娣诲姞鐢熶骇璁㈠崟"; + }, + /** 鍚屾鎸夐挳鎿嶄綔 */ + CreatehandleUpdate(Row) { + this.initWorkshop(); + this.reset(); + const id = Row.id || this.ids + getProductionOrdes(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.form.idNums=id; + this.Createopen = true; + this.titleName = "鐢熸垚绠变綋鏉$爜"; + // return Array.from({ length: parseInt(this.actualQty) }, (_, index) => index + 1); + }); }, /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { @@ -606,7 +723,7 @@ console.log(response.data) this.form = response.data; this.open = true; - this.titleName = "淇敼鐢熶骇宸ュ崟"; + this.titleName = "淇敼鐢熶骇璁㈠崟"; }); }, /** 鎻愪氦鎸夐挳 */ @@ -629,10 +746,53 @@ } }); }, + + /** 鐢熸垚绠变綋鏉$爜鎻愪氦鎸夐挳 */ + 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.idNums != 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(); @@ -644,13 +804,18 @@ this.download('om/productionOrde/export', { ...this.queryParams }, `productionOrde_${new Date().getTime()}.xlsx`) - } + }, + goToPage() { + this.showDetailFlag=true + console.log('this.showDetailFlag',this.showDetailFlag) + //鏇存柊瀹為檯鐢熶骇鏃ユ湡 + //updateOrderInfo(this.singleSelect) + }, } }; </script> <style lang="scss" scoped> -//::v-deep .el-dialog__header{ -// /*background-color: #f8f8f8;*/ -// background-color: #f8f8f9; -//} +.hidden-form-item { + display: none; +} </style> -- Gitblit v1.9.3