From 4a6d69f3ff895918b1b8f1e8e9b122ed8fcd5afa Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期四, 24 十一月 2022 17:15:47 +0800
Subject: [PATCH] 1.自动排程实现静态部分

---
 src/views/scgl/gd.vue |  129 ++++++++++++++++++++++++++++++++++--------
 1 files changed, 104 insertions(+), 25 deletions(-)

diff --git a/src/views/scgl/gd.vue b/src/views/scgl/gd.vue
index a132a69..6117cb5 100644
--- a/src/views/scgl/gd.vue
+++ b/src/views/scgl/gd.vue
@@ -146,8 +146,8 @@
                 v-model="radioSelected"
                 :label="row.wo_code"
                 style="color: transparent;padding-left: 10px;"
-                @change.native="getCurrentRow(row.wo_code)"
               />
+              <!--              @change.native="getCurrentRow(row.wo_code)"-->
             </template>
           </el-table-column>
           <el-table-column
@@ -169,6 +169,8 @@
               <div v-if="row.status==='ALLO'">宸叉淳鍙�</div>
               <div v-if="row.status==='START'">寮�宸�</div>
               <div v-if="row.status==='CLOSED'">瀹屽伐</div>
+              <div v-if="row.status==='NOSCHED'">寰呮帓绋�</div>
+              <div v-if="row.status==='SCHED'">宸叉帓绋�</div>
             </template>
           </el-table-column>
           <el-table-column
@@ -182,7 +184,12 @@
             label="婧愬崟鍗曞彿"
             sortable="custom"
             min-width="160"
-          />
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.m_po">{{ row.m_po }}</div>
+              <div v-else>/</div>
+            </template>
+          </el-table-column>
           <el-table-column
             prop="wotype"
             label="鍗曟嵁绫诲瀷"
@@ -205,6 +212,7 @@
             prop="partname"
             min-width="150"
             label="浜у搧鍚嶇О"
+            show-tooltip-when-overflow
             sortable="custom"
           />
           <el-table-column
@@ -587,12 +595,36 @@
             </el-select>
           </el-form-item>
         </div>
+        <el-form-item label="鏄惁鎺掔▼" prop="isAps">
+          <el-radio-group v-model="dialogForm.isAps" style="width:200px" @change="changeIsAps">
+            <el-radio key="Y" label="Y" value="Y">鏄�</el-radio>
+            <el-radio key="N" label="N" value="N">鍚�</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="鐗╂枡娓呭崟" :prop="dialogForm.isAps==='Y'?'bomId':''">
+          <el-select
+            v-model="dialogForm.bomId"
+            filterable
+            :disabled="dialogForm.isAps==='N'"
+            :popper-append-to-body="false"
+            style="width: 200px;"
+            placeholder="璇烽�夋嫨"
+          >
+            <el-option
+              v-for="item in bomIdArr"
+              :key="item.id"
+              :label="item.version"
+              :value="item.id"
+            />
+          </el-select>
+        </el-form-item>
         <el-form-item label="璁″垝寮�濮嬫椂闂�" prop="planstartdate">
           <el-date-picker
             v-model="dialogForm.planstartdate"
             type="date"
             :clearable="false"
             value-format="yyyy-MM-dd"
+            :picker-options="pickerOptions"
             style="width: 200px"
             placeholder="閫夋嫨鏃ユ湡"
           />
@@ -605,6 +637,7 @@
             value-format="yyyy-MM-dd"
             style="width: 200px"
             placeholder="閫夋嫨鏃ユ湡"
+            :picker-options="pickerOptions"
           />
         </el-form-item>
         <el-form-item label="宸ュ崟绛夌骇" prop="orderlev">
@@ -623,6 +656,7 @@
             />
           </el-select>
         </el-form-item>
+
       </el-form>
 
       <!--        宸ヨ壓璺嚎鏀惧ぇ闀滃璇濇-->
@@ -1262,7 +1296,11 @@
                 style="display: flex;height: 96px;border-bottom:1px solid #000;
               justify-content: center;align-items: center;position: relative"
               >
-                <div id="qrCode2" ref="qrCodeDiv2" style="overflow-y: hidden;height:60px;position: absolute;left: 14px;" />
+                <div
+                  id="qrCode2"
+                  ref="qrCodeDiv2"
+                  style="overflow-y: hidden;height:60px;position: absolute;left: 14px;"
+                />
               </div>
               <div
                 style="display: flex;height: 32px;justify-content: flex-start;border-bottom:1px solid #000;align-items: center"
@@ -1319,7 +1357,11 @@
                 style="display: flex;height: 96px;border-bottom:1px solid #000;
               justify-content: center;align-items: center;position: relative"
               >
-                <div id="qrCode2" ref="qrCodeDiv2" style="overflow-y: hidden;height:60px;position: absolute;left: 14px;" />
+                <div
+                  id="qrCode2"
+                  ref="qrCodeDiv2"
+                  style="overflow-y: hidden;height:60px;position: absolute;left: 14px;"
+                />
               </div>
               <div
                 style="display: flex;height: 32px;justify-content: flex-start;border-bottom:1px solid #000;align-items: center"
@@ -1376,7 +1418,11 @@
                 style="display: flex;height: 60px;border-bottom:1px solid #000;
               justify-content: center;align-items: center;position: relative"
               >
-                <div id="qrCode2" ref="qrCodeDiv2" style="overflow-y: hidden;height:60px;position: absolute;left: 14px;" />
+                <div
+                  id="qrCode2"
+                  ref="qrCodeDiv2"
+                  style="overflow-y: hidden;height:60px;position: absolute;left: 14px;"
+                />
               </div>
               <div
                 style="display: flex;height: 20px;justify-content: flex-start;border-bottom:1px solid #000;align-items: center"
@@ -1557,7 +1603,7 @@
 import {
   AddUpdateMesOrder,
   ClosedMesOrder,
-  DeleteMesOrder, ErpOrderSearch,
+  DeleteMesOrder, ErpOrderSearch, JobCreationSonAddVison,
   MesOrderSearch, PartSelectRoute, RouteSelectWkshop, SearchWorkStep,
   SelectRouteStep
 } from '@/api/scgl'
@@ -1604,7 +1650,9 @@
         // { code: 'CREATED', name: '宸插叧闂�' }
         { code: 'ALLO', name: '宸叉淳鍙�' },
         { code: 'START', name: '寮�宸�' },
-        { code: 'CLOSED', name: '瀹屽伐' }
+        { code: 'CLOSED', name: '瀹屽伐' },
+        { code: 'NOSCHED', name: '寰呮帓绋�' },
+        { code: 'SCHED', name: '宸叉帓绋�' }
       ],
       total: 10,
       radioSelected: '',
@@ -1629,9 +1677,11 @@
         planstartdate: '', // 璁″垝寮�濮嬫椂闂�
         planenddate: '', // 璁″垝瀹屾垚鏃堕棿
         orderlev: '', // 宸ュ崟绛夌骇
-
+        isAps: 'N', // 鏄惁鎺掔▼
+        bomId: '', // 鐗╂枡娓呭崟id
         OperType: '' // 鎿嶄綔绫诲瀷
       },
+      bomIdArr: [], // 鐗╂枡娓呭崟涓嬫媺
       ordertypeArr: [// 宸ュ崟绫诲瀷
         { code: 'PO', name: '鏍囧噯宸ュ崟' },
         { code: 'FO', name: '鎶ュ簾琛ュ崟' }
@@ -1672,6 +1722,12 @@
         ],
         orderlev: [
           { required: true, message: '璇烽�夋嫨宸ュ崟绛夌骇', trigger: ['blur', 'change'] }
+        ],
+        isAps: [
+          { required: true, message: '璇烽�夋嫨鏄惁鎺掔▼', trigger: ['blur', 'change'] }
+        ],
+        bomId: [
+          { required: true, message: '璇烽�夋嫨鐗╂枡娓呭崟', trigger: ['blur', 'change'] }
         ]
 
       },
@@ -1785,7 +1841,12 @@
         // { code: 3, name: '50*40' },
         // { code: 4, name: '50*80' },
         // { code: 5, name: '40*30' }
-      ]
+      ],
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() < Date.now() - 8.64e7
+        }
+      }
     }
   },
   created() {
@@ -1902,10 +1963,8 @@
       this.dialogForm.planenddate = handleDatetime(new Date())
       this.dialogForm.orderlev = 3
     },
-
     // 浜у搧淇℃伅鍊兼敼鍙�
     async partcodeChange(val) {
-      console.log(val, 22)
       const { data: res } = await PartSelectRoute({ partcode: val })
       this.routeArr = res
 
@@ -1933,6 +1992,18 @@
       const { data: res2 } = await RouteSelectWkshop(data)
       this.wkshopArr = res2
       this.dialogForm.wkshopcode = ''
+    },
+    // 鏄惁鎺掔▼鍊兼敼鍙樻椂
+    changeIsAps(val) {
+      if (val === 'N') {
+        this.dialogForm.bomId = ''
+      }
+      if (val === 'Y') {
+        JobCreationSonAddVison({ partnumber: this.dialogForm.partcode }).then(res => {
+          this.bomIdArr = res.data
+          this.dialogForm.bomId = this.bomIdArr[0].id
+        })
+      }
     },
     // 宸ュ簭浠诲姟
     async check(row) {
@@ -1991,7 +2062,7 @@
       }).then(() => {
         console.log(row, 1)
         const data = {
-          souceid: row.sourceid,
+          souceid: row.sourceid ? row.sourceid : '',
           wocode: row.wo_code,
           m_po: row.m_po,
           orderqty: row.plan_qty
@@ -2054,6 +2125,8 @@
       // const { data: res } = await PartSelectRpute({ partcode: val })
       // this.routeArr = res
       // this.dialogForm.routecode = ''
+      this.dialogForm.isAps = 'N'
+      this.dialogForm.bomId = ''
       this.partcodeChange(val)
     },
     // 瀵硅瘽妗嗗叧闂簨浠�
@@ -2076,7 +2149,10 @@
       this.dialogForm.planstartdate = '' // 璁″垝寮�濮嬫椂闂�
       this.dialogForm.planenddate = '' // 璁″垝瀹屾垚鏃堕棿
       this.dialogForm.orderlev = '' // 宸ュ崟绛夌骇
+      this.dialogForm.isAps = 'N' // 鏄惁鎺掔▼
+      this.dialogForm.bomId = ''
 
+      this.bomIdArr = []
       this.$refs.dialogForm.clearValidate()
     },
     // 瀵硅瘽妗嗗彇娑�
@@ -2108,6 +2184,8 @@
             planstartdate: this.dialogForm.planstartdate, // 璁″垝寮�濮嬫椂闂�
             planenddate: this.dialogForm.planenddate, // 璁″垝瀹屾垚鏃堕棿
             orderlev: this.dialogForm.orderlev, // 宸ュ崟绛夌骇
+            is_aps: this.dialogForm.isAps, // 鏄惁鎺掔▼
+            bom_id: this.dialogForm.bomId, // 鐗╂枡娓呭崟id
             OperType: this.operation === 'add' ? 'Add' : 'Update'
           }
           this.$store.state.app.buttonIsDisabled = true
@@ -2209,9 +2287,9 @@
             // div.scrollTop = div.scrollHeight // 婊氬姩鏉′綅浜庢渶搴曢儴
             div.scrollTop = 0 // 婊氬姩鏉′綅浜庢渶椤堕儴
           })
+          this.dialogVisibleApprove = true
         }
       })
-      this.dialogVisibleApprove = true
     },
     dialogVisibleTaskClose() {
       this.dialogForm.mesordercode = ''
@@ -2524,9 +2602,8 @@
       this.defaultroute_codeArr = this.dialogFormRoute.routeOperationArr.filter(item => item.isSelected2)
     },
     //  琛岀偣鍑讳簨浠�
-    async   rowClick(row, event, column) {
-      console.log(row, event, column)
-      console.log(row.wo_code, event, column)
+    async rowClick(row, event, column) {
+      this.radioSelected = row.wo_code
       const { data: res } = await SearchWorkStep({ wo_code: row.wo_code })
       this.tableDataDetail = res
     },
@@ -2672,12 +2749,12 @@
   margin-bottom: 0;
 }
 
-//.elTableDiv {
-::v-deep .el-radio__label {
-  display: none;
-}
+.elTableDiv {
+  ::v-deep .el-radio__label {
+    display: none;
+  }
 
-//}
+}
 
 .el-table::before {
   height: 0;
@@ -2846,16 +2923,18 @@
   //}
 }
 
-::v-deep .el-select__caret{
+::v-deep .el-select__caret {
   display: flex;
   align-items: center;
   justify-content: center;
 }
-.tableFixed{
-  ::v-deep .el-table__fixed-right{
+
+.tableFixed {
+  ::v-deep .el-table__fixed-right {
     height: 100% !important;
   }
-  ::v-deep .el-table__fixed{
+
+  ::v-deep .el-table__fixed {
     height: 100% !important;
   }
 }

--
Gitblit v1.9.3