From 3d88285811ffb6930d70068d108398ceff08fd53 Mon Sep 17 00:00:00 2001 From: hdy <1105738590@qq.com> Date: 星期一, 15 一月 2024 10:08:01 +0800 Subject: [PATCH] 生产工单代码更新 --- jcdm-ui/src/views/main/om/productionOrde/index.vue | 230 ++++++++++++++++++++++++++++++--------------- jcdm-ui/src/views/main/sc/stationConf/index.vue | 20 +++- jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/domain/OmProductionOrdeInfo.java | 2 jcdm-main/src/main/resources/mapper/om/productionOrde/OmProductionOrdeInfoMapper.xml | 2 4 files changed, 172 insertions(+), 82 deletions(-) diff --git a/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/domain/OmProductionOrdeInfo.java b/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/domain/OmProductionOrdeInfo.java index ea3c884..7a01e12 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/domain/OmProductionOrdeInfo.java +++ b/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/domain/OmProductionOrdeInfo.java @@ -523,6 +523,8 @@ } + + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/jcdm-main/src/main/resources/mapper/om/productionOrde/OmProductionOrdeInfoMapper.xml b/jcdm-main/src/main/resources/mapper/om/productionOrde/OmProductionOrdeInfoMapper.xml index 1345685..2278b09 100644 --- a/jcdm-main/src/main/resources/mapper/om/productionOrde/OmProductionOrdeInfoMapper.xml +++ b/jcdm-main/src/main/resources/mapper/om/productionOrde/OmProductionOrdeInfoMapper.xml @@ -47,7 +47,7 @@ </resultMap> <sql id="selectOmProductionOrdeInfoVo"> - select id, work_order_no, sales_order_code,type_z, product_code, product_name, workshop_code, line_code, route_code, bom_code, recipe_code, plan_qty, actual_qty, bad_qty, scrap_qty, repair_qty, actual_online_qty, online_completion_mark, demand_date, plan_start_time, plan_end_time, actual_start_time, actual_end_time, serial_number, order_status, create_time, update_time, create_user, update_user, remarks, stream_number, custom, market_area_code, software_version_code, product_company_code, spare_field_1, spare_field_2, spare_field_3, spare_field_4 from om_production_orde_info + select id, work_order_no, sales_order_code,type_z,product_code, product_name, workshop_code, line_code, route_code, bom_code, recipe_code, plan_qty, actual_qty, bad_qty, scrap_qty, repair_qty, actual_online_qty, online_completion_mark, demand_date, plan_start_time, plan_end_time, actual_start_time, actual_end_time, serial_number, order_status, create_time, update_time, create_user, update_user, remarks, stream_number, custom, market_area_code, software_version_code, product_company_code, spare_field_1, spare_field_2, spare_field_3, spare_field_4 from om_production_orde_info </sql> <select id="selectOmProductionOrdeInfoList" parameterType="OmProductionOrdeInfo" resultMap="OmProductionOrdeInfoResult"> diff --git a/jcdm-ui/src/views/main/om/productionOrde/index.vue b/jcdm-ui/src/views/main/om/productionOrde/index.vue index 7628926..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,15 +112,15 @@ @click="moveUp(val => val, 'down')" >涓嬬Щ</el-button> </el-col> - <el-col :span="1.5"> <el-button type="primary" plain - icon="el-icon-plus" + icon="el-icon-createUpdate" size="mini" - @click="handleAdd" - v-hasPermi="['om:productionOrde:add']" + :disabled="single" + @click="CreatehandleUpdate" + v-hasPermi="['om:productionOrde:createUpdate']" >鐢熸垚</el-button> </el-col> @@ -190,6 +143,8 @@ <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"> @@ -289,8 +244,11 @@ <el-form-item label="浜у搧鍚嶇О" prop="productName"> <el-input v-model="form.productName" disabled placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�" /> </el-form-item> - <el-form-item label="浜у搧鍚嶇О" prop="productName"> + <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="璇烽�夋嫨杞﹂棿缂栧彿"> @@ -365,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> @@ -375,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 , }, @@ -387,6 +392,7 @@ titleName: '', options: [], lineOptions: [], + outputArray: [], showFlag:false, advancedShowSearch: false, workOrder: { @@ -412,6 +418,7 @@ title: "", // 鏄惁鏄剧ず寮瑰嚭灞� open: false, + Createopen: false, // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, @@ -434,8 +441,9 @@ idNums: null, typeZ: null, flag: null, - + adds:null, }, + // 琛ㄥ崟鍙傛暟 form: {}, updateStatusParameter: { @@ -447,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() { @@ -455,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 @@ -474,15 +519,8 @@ }); }, // 鍦ㄨ繖閲岀紪鍐欏鐞嗛�変腑浜嬩欢鐨勯�昏緫 - 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){ @@ -490,6 +528,7 @@ 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 => { @@ -528,6 +567,7 @@ // 鍙栨秷鎸夐挳 cancel() { this.open = false; + this.Createopen = false; this.reset(); }, // 琛ㄥ崟閲嶇疆 @@ -571,7 +611,8 @@ spareField2: null, spareField3: null, typeZ: null, - spareField4: null + spareField4: null, + adds:null }; this.resetForm("form"); }, @@ -606,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) { @@ -654,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> diff --git a/jcdm-ui/src/views/main/sc/stationConf/index.vue b/jcdm-ui/src/views/main/sc/stationConf/index.vue index 202325f..8b1089c 100644 --- a/jcdm-ui/src/views/main/sc/stationConf/index.vue +++ b/jcdm-ui/src/views/main/sc/stationConf/index.vue @@ -135,8 +135,8 @@ <el-select style="width: 100%" @change="handleSelectChangeprocessesCode(form.processesCode)" v-model="form.processesCode" placeholder="璇烽�夋嫨宸ュ簭缂栧彿"> <el-option v-for="item in options" - :key="item.index" - :label="item.processesName" + :key="item.processesCode" + :label="item.processesCode" :value="item.processesCode"> </el-option> </el-select> @@ -206,7 +206,17 @@ processesCodeQueryParams:{ pageNum: 1, pageSize: 10, - processesCodes: null, + processesCode: null, + processesName: null, + processesType: null, + ipAddress: null, + spareField1: null, + spareField2: null, + spareField3: null, + spareField4: null, + createUser: null, + updateUser: null, + remarks: null }, // 琛ㄥ崟鍙傛暟 form: {}, @@ -225,8 +235,8 @@ methods: { handleSelectChangeprocessesCode(selectedOption) { - this.processesCodeQueryParams.processesCodes = selectedOption; - listProcesses(this.queryParams).then(response => { + this.processesCodeQueryParams.processesCode = selectedOption; + listProcesses(this.processesCodeQueryParams).then(response => { this.form.processesName = response.rows[0].processesName; }); }, -- Gitblit v1.9.3