From 51b05b093fa15dd477981372f67ae7b3b2747733 Mon Sep 17 00:00:00 2001
From: wujian <14790700720@163.com>
Date: 星期一, 23 九月 2024 08:49:29 +0800
Subject: [PATCH] change-3

---
 jcdm-ui/src/views/main/om/productionOrde/index.vue |  194 ++++++++++++++++++++++--------------------------
 1 files changed, 88 insertions(+), 106 deletions(-)

diff --git a/jcdm-ui/src/views/main/om/productionOrde/index.vue b/jcdm-ui/src/views/main/om/productionOrde/index.vue
index 0a0619e..4551649 100644
--- a/jcdm-ui/src/views/main/om/productionOrde/index.vue
+++ b/jcdm-ui/src/views/main/om/productionOrde/index.vue
@@ -41,7 +41,13 @@
     </el-form>
     <el-form :model="queryParams" ref="queryParams" size="small" :inline="true" v-show="advancedShowSearch" label-width="68px">
       <el-form-item label="鏈哄瀷" prop="typeZ">
-        <el-input v-model="queryParams.typeZ" placeholder="璇疯緭鍏ユ満鍨�" clearable @keyup.enter.native="handleQuery"/>
+        <el-select v-model="queryParams.typeZ" placeholder="璇烽�夋嫨鏈哄瀷" clearable>
+          <el-option
+            v-for="dict in typeSelectList"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"/>
+        </el-select>
       </el-form-item>
       <el-form-item label-width="130" label="鍙戝姩鏈哄彿" prop="engineNo">
         <el-input v-model="queryParams.engineNo" placeholder="璇疯緭鍏ュ彂鍔ㄦ満鍙�" clearable @keyup.enter.native="handleQuery"/>
@@ -51,16 +57,6 @@
 
     <el-card style="margin-top: 10px" class="box-card">
     <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['om:productionOrde:add']"
-        >鏂板</el-button>
-      </el-col>
       <el-col :span="1.5">
         <el-button
           type="success"
@@ -185,16 +181,13 @@
       </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" disabled placeholder="璇疯緭鍏ョ敓浜ц鍗�" />
         </el-form-item>
-        <el-form-item label="璁㈠崟缂栧彿" prop="salesOrderCode">
-          <el-input v-model="form.salesOrderCode" placeholder="璇疯緭鍏ヨ鍗曠紪鍙�" />
+        <el-form-item label="璁㈠崟缂栧彿" prop="productionNotice">
+          <el-input v-model="form.productionNotice" disabled 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-input v-model="form.productCode" disabled placeholder="璇疯緭鍏ヤ骇鍝佺紪鍙�" />
         </el-form-item>
         <el-form-item label="浜у搧鍚嶇О" prop="productName">
           <el-input v-model="form.productName" disabled placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�" />
@@ -202,75 +195,17 @@
         <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-form-item label="宸ュ崟鐘舵��" prop="orderStatus">
+          <el-select style="width: 93%" v-model="form.orderStatus" placeholder="璇烽�夋嫨宸ュ崟鐘舵��">
             <el-option
-              v-for="item in options"
-              :key="item.workshopCode"
-              :label="item.workshopName"
-              :value="item.workshopCode">
+              v-for="item in statuOptions"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value">
             </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="璇疯緭鍏ヤ骇鍝丅OM" />
-        </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>
@@ -278,7 +213,7 @@
       </div>
     </el-dialog>
 
-    <el-dialog v-dialogpop-up :title="title" :visible.sync="Createopen" width="400px" append-to-body>
+    <el-dialog v-dialogpop-up :title="title" :visible.sync="Createopen" width="500px" append-to-body>
        <span slot="title">
         <i class="el-icon-s-order"></i>
         {{titleName}}
@@ -292,14 +227,14 @@
                           v-model="form.dateTime"
                           type="date"
                           value-format="yyyy-MM-dd"
-                          placeholder="璇烽�夋嫨鏃ユ湡" @input="handleCodeChange">
+                          placeholder="璇烽�夋嫨鏃ユ湡" @input="handleCodeChangeData">
           </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-input type="number"   :maxlength="3"  :pattern="'[0-9]{3}'" v-model="form.startCode"  placeholder="璇疯緭鍏ヨ捣濮嬬紪鍙�" @input="handleCodeChangeStart"/>
         </el-form-item>
         <el-form-item   label="璧锋缂栧彿" prop="startEndCode">
           <el-input type="textarea" disabled v-model="form.startEndCode"/>
@@ -311,7 +246,7 @@
       </div>
     </el-dialog>
     </div>
-    <Detail v-if="showDetailFlag" :singleSelect="singleSelect"></Detail>
+    <Detail v-if="showDetailFlag" :singleSelect="singleSelect" @reserveChild = "reserveChild"></Detail>
   </div>
 </template>
 
@@ -343,6 +278,27 @@
   },
   data() {
     return {
+      statuOptions:[
+        {
+          label:"寰呬笅杈�",
+          value:"1"
+        },
+        {
+          label:"宸蹭笅杈�",
+          value:"2"
+        }
+      ],
+      typeSelectList: [
+        {
+          label:"380",
+          value:"380"
+        },
+        {
+          label:"280",
+          value:"280"
+        }
+      ],
+      typeZDateRules: '',
       showDetailFlag: false,
       singleSelect:{},
       titleName: '',
@@ -431,12 +387,6 @@
         year: [
           { required: true, message: "涓嶈兘涓虹┖", trigger: "blur" }
         ],
-        dateTime: [
-          { required: true, message: "涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        startCode: [
-          { required: true, message: "涓嶈兘涓虹┖", trigger: "blur" }
-        ],
       },
       change: {
         day: '',
@@ -478,22 +428,21 @@
     this.initWorkshop();
   },
   methods: {
-    //鏃ユ湡鎴栧紑濮嬬紪鍙疯緭鍏ユ椂
-    handleCodeChange(data){
+    reserveChild(){
+      this.showDetailFlag = false
+    },
+    handleCodeChangeData(){
+      console.log('1111111111111111')
       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 dateTimeRule = "";
+      if(dateTime !== null && dateTime !== 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) {
@@ -512,10 +461,31 @@
         dateTimeRule = dateTimeRule + this.markNo;
         this.form.dateTimeRule = dateTimeRule;//姝ゅ璧嬪�间笉鍔犳満鍨�
         dateTimeRule = this.form.typeZ +" "+dateTimeRule;//姝ゅ鍔犳満鍨嬶紝椤哄簭涓嶈兘棰犲��
-
-        //璧嬪�艰捣濮嬬紪鐮�
-        this.form.startEndCode =   dateTimeRule + String(parseInt(startCode)).padStart(3, '0') +"\n"+ dateTimeRule + String(parseInt(startCode) + parseInt(planQty)-1).padStart(3, '0') ;
       }
+      if (this.form.typeZ !== null && this.form.typeZ !== '' && dateTimeRule !== null && dateTimeRule !== '' ){
+        this.typeZDateRules = dateTimeRule
+        console.log('222222222222')
+        let queryParams = {
+          model: this.form.typeZ,
+          modelDate: this.form.dateTimeRule,
+        }
+        listModelNumber(queryParams).then(response => {
+          if(response.rows.length === 0){
+            this.form.startCode = 1
+          }else {
+            let max = response.rows[0].maxnumValue
+            this.form.startCode = parseInt(max) + 1
+          }
+          this.form.startEndCode =   this.typeZDateRules + String(parseInt(this.form.startCode)).padStart(3, '0') +"\n"+ this.typeZDateRules + String(parseInt(this.form.startCode) + parseInt(planQty)-1).padStart(3, '0') ;
+          });
+      }
+
+    },
+    handleCodeChangeStart(){
+      let planQty = this.form.planQty;
+      console.log('planQty',planQty)
+      //璧嬪�艰捣濮嬬紪鐮�
+      this.form.startEndCode =   this.typeZDateRules + String(parseInt(this.form.startCode)).padStart(3, '0') +"\n"+ this.typeZDateRules + String(parseInt(this.form.startCode) + parseInt(planQty)-1).padStart(3, '0') ;
     },
 
     getProductionNotice(){
@@ -743,8 +713,15 @@
           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;
+            console.log("res2121",response)
+            if (response.rows.length === 0){
+              this.$message.error('鏈煡鎵惧埌鐗╂枡缂栫爜瀵瑰簲缂栧彿锛�');
+              this.cancel()
+            } else {
+              this.markNo = response.rows[0].mark
+              this.form.typeL = response.rows[0].typeL;
+            }
+
           });
           this.form = response.data;
           this.form.idNums=id;
@@ -790,16 +767,21 @@
 
     /** 鐢熸垚绠变綋鏉$爜鎻愪氦鎸夐挳 */
     submitFormForBoxCode() {
+      if (this.form.startCode === null || this.form.startCode === ''){
+        this.$message.error('璧峰缂栧彿涓嶈兘涓虹┖!');
+        return;
+      }
       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鐨勬暟瀛楋紒');
+        this.$message.error('璇疯緭鍏�1-999鐨勬暟瀛楋紒');
         return;
       }
       listModelNumber(queryParams).then(response => {

--
Gitblit v1.9.3