From 578e02d0cb4604f8ff3a02e895f12707856fae59 Mon Sep 17 00:00:00 2001 From: hdy <1105738590@qq.com> Date: 星期一, 15 一月 2024 14:35:14 +0800 Subject: [PATCH] 物料信息代码更新 --- jcdm-ui/src/views/main/om/productionOrde/index.vue | 282 +++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 185 insertions(+), 97 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..2910162 100644 --- a/jcdm-ui/src/views/main/om/productionOrde/index.vue +++ b/jcdm-ui/src/views/main/om/productionOrde/index.vue @@ -3,20 +3,10 @@ <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-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-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> @@ -24,8 +14,7 @@ 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"> @@ -36,61 +25,25 @@ </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-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-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-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-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-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-input v-model="queryParams.recipeCode" placeholder="璇疯緭鍏ュ伐鑹洪厤鏂�" clearable @keyup.enter.native="handleQuery"/> </el-form-item> </el-form> </el-card> @@ -159,6 +112,18 @@ @click="moveUp(val => val, 'down')" >涓嬬Щ</el-button> </el-col> + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-createUpdate" + size="mini" + :disabled="single" + @click="CreatehandleUpdate" + v-hasPermi="['om:productionOrde:createUpdate']" + >鐢熸垚</el-button> + </el-col> + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> @@ -176,6 +141,10 @@ <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="绉嶇被" width="160" align="center" prop="typeZ"> + </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"> @@ -225,31 +194,20 @@ <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> + <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 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> @@ -285,6 +243,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 +323,52 @@ </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="year"> + <el-select @change="changeYear(form.year)" v-model="form.year" placeholder="璇烽�夋嫨骞翠唤" clearable> + <el-option v-for="dict in dict.type.year" + :key="dict.value" + :label="dict.label" + :value="dict.value"/> + </el-select> + </el-form-item> + <el-form-item label="鏈堜唤" prop="month"> + <el-select @change="changeMonth(form.month)" v-model="form.month" placeholder="璇烽�夋嫨鏈堜唤" clearable> + <el-option v-for="dict in dict.type.month" + :key="dict.value" + :label="dict.label" + :value="dict.value"/> + </el-select> + </el-form-item> + <el-form-item label="鏃ユ湡" prop="day"> + <el-select @change="changeDay(form.day)" v-model="form.day" placeholder="璇烽�夋嫨鏃ユ湡" clearable> + <el-option v-for="dict in dict.type.day" + :key="dict.value" + :label="dict.label" + :value="dict.value"/> + </el-select> + </el-form-item> + <el-form-item label="鏁伴噺" prop="actualQty"> + <el-input disabled v-model="form.actualQty" placeholder="璇疯緭鍏ユ暟閲�" /> + </el-form-item> + <el-form-item label="缂栫爜" prop="adds"> + <el-input disabled v-model="form.adds" placeholder="璇风敓鎴愮紪鐮�" /> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="CreateSubmitForm">纭� 瀹�</el-button> + <el-button @click="cancel">鍙� 娑�</el-button> + </div> + </el-dialog> + </div> </template> @@ -369,10 +379,11 @@ 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 { listOrderScheduling, getOrderScheduling, delOrderScheduling, addOrderScheduling, updateOrderScheduling,generateNumbers } from "@/api/main/bs/orderScheduling/orderScheduling"; export default { name: "ProductionOrde", - dicts: ['order_state'], + dicts: ['order_state','year','month','day'], components: { ItemSelect , }, @@ -381,6 +392,7 @@ titleName: '', options: [], lineOptions: [], + outputArray: [], showFlag:false, advancedShowSearch: false, workOrder: { @@ -406,6 +418,7 @@ title: "", // 鏄惁鏄剧ず寮瑰嚭灞� open: false, + Createopen: false, // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, @@ -426,9 +439,11 @@ productCompanyCode: null, frontEndId: 0, idNums: null, + typeZ: null, flag: null, - + adds:null, }, + // 琛ㄥ崟鍙傛暟 form: {}, updateStatusParameter: { @@ -440,7 +455,23 @@ 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" } + ], + }, + change: { + day: '', + month: '', + year: '', + }, }; }, created() { @@ -448,6 +479,27 @@ this.initWorkshop(); }, methods: { + //鏁扮粍鐢熸垚 + + + + 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 +519,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 +567,7 @@ // 鍙栨秷鎸夐挳 cancel() { this.open = false; + this.Createopen = false; this.reset(); }, // 琛ㄥ崟閲嶇疆 @@ -561,7 +610,9 @@ spareField1: null, spareField2: null, spareField3: null, - spareField4: null + typeZ: null, + spareField4: null, + adds:null }; this.resetForm("form"); }, @@ -596,6 +647,22 @@ 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) + this.form = response.data; + this.Createopen = true; + this.titleName = "鐢熸垚璁㈠崟"; + // return Array.from({ length: parseInt(this.actualQty) }, (_, index) => index + 1); + }); + this.$modal.msgSuccess(Row.actualQty); + + }, /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { @@ -644,7 +711,28 @@ this.download('om/productionOrde/export', { ...this.queryParams }, `productionOrde_${new Date().getTime()}.xlsx`) - } + }, + /** 鎻愪氦鎸夐挳 */ + CreateSubmitForm() { + this.$refs["form"].validate(valid => { + if (valid) { + if (this.form.orderNumber != null) { + updateOrderScheduling(this.form).then(response => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.open = false; + this.getList(); + }); + } else { + addOrderScheduling(this.form).then(response => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.open = false; + this.getList(); + }); + } + } + }); + }, + } }; </script> -- Gitblit v1.9.3