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 |   94 ++++++++++++++++++++++++++---------------------
 1 files changed, 52 insertions(+), 42 deletions(-)

diff --git a/src/views/scgl/gd.vue b/src/views/scgl/gd.vue
index 1730c68..6117cb5 100644
--- a/src/views/scgl/gd.vue
+++ b/src/views/scgl/gd.vue
@@ -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="鍗曟嵁绫诲瀷"
@@ -588,19 +595,26 @@
             </el-select>
           </el-form-item>
         </div>
-        <el-form-item label="鐗╂枡娓呭崟" prop="bomId">
+        <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.code"
-              :label="item.name"
-              :value="item.code"
+              :key="item.id"
+              :label="item.version"
+              :value="item.id"
             />
           </el-select>
         </el-form-item>
@@ -610,6 +624,7 @@
             type="date"
             :clearable="false"
             value-format="yyyy-MM-dd"
+            :picker-options="pickerOptions"
             style="width: 200px"
             placeholder="閫夋嫨鏃ユ湡"
           />
@@ -622,6 +637,7 @@
             value-format="yyyy-MM-dd"
             style="width: 200px"
             placeholder="閫夋嫨鏃ユ湡"
+            :picker-options="pickerOptions"
           />
         </el-form-item>
         <el-form-item label="宸ュ崟绛夌骇" prop="orderlev">
@@ -640,12 +656,7 @@
             />
           </el-select>
         </el-form-item>
-        <el-form-item label="鏄惁鎺掔▼" prop="isAps">
-          <el-radio-group v-model="dialogForm.isAps">
-            <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>
 
       <!--        宸ヨ壓璺嚎鏀惧ぇ闀滃璇濇-->
@@ -1592,7 +1603,7 @@
 import {
   AddUpdateMesOrder,
   ClosedMesOrder,
-  DeleteMesOrder, ErpOrderSearch,
+  DeleteMesOrder, ErpOrderSearch, JobCreationSonAddVison,
   MesOrderSearch, PartSelectRoute, RouteSelectWkshop, SearchWorkStep,
   SelectRouteStep
 } from '@/api/scgl'
@@ -1639,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: '',
@@ -1668,12 +1681,7 @@
         bomId: '', // 鐗╂枡娓呭崟id
         OperType: '' // 鎿嶄綔绫诲瀷
       },
-      bomIdArr: [// 鐗╂枡娓呭崟涓嬫媺  鍥犱负鎺ュ彛杩樻病鍐欙紝鏆傛椂鐢ㄥ啓姝荤殑鍊�
-        { code: 15, name: 'V5' },
-        { code: 14, name: 'V1' },
-        { code: 17, name: 'V7' },
-        { code: 16, name: 'V6' }
-      ],
+      bomIdArr: [], // 鐗╂枡娓呭崟涓嬫媺
       ordertypeArr: [// 宸ュ崟绫诲瀷
         { code: 'PO', name: '鏍囧噯宸ュ崟' },
         { code: 'FO', name: '鎶ュ簾琛ュ崟' }
@@ -1833,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() {
@@ -1949,24 +1962,9 @@
       this.dialogForm.planstartdate = handleDatetime(new Date())
       this.dialogForm.planenddate = handleDatetime(new Date())
       this.dialogForm.orderlev = 3
-
-      this.dialogForm.bomId = this.getMaxBomId()
-    },
-    // 鏌ユ壘鐗╂枡娓呭崟閲岄潰鐗堟湰鏈�澶х殑鍊�
-    getMaxBomId() {
-      let max = 0// 鏈�澶у��
-      let code = ''// 鏈�澶у�煎搴旂殑code
-      this.bomIdArr.forEach(item => {
-        if (parseFloat(item.name.substring(1)) > max) {
-          max = parseFloat(item.name.substring(1))
-          code = item.code
-        }
-      })
-      return code
     },
     // 浜у搧淇℃伅鍊兼敼鍙�
     async partcodeChange(val) {
-      console.log(val, 22)
       const { data: res } = await PartSelectRoute({ partcode: val })
       this.routeArr = res
 
@@ -1994,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) {
@@ -2038,8 +2048,6 @@
         this.dialogForm.planstartdate = row.plan_startdate !== null ? row.plan_startdate : handleDatetime(new Date())
         this.dialogForm.planenddate = row.plan_enddate !== null ? row.plan_enddate : handleDatetime(new Date())
         this.dialogForm.orderlev = row.piroque !== null ? row.piroque : 3 // 绛夌骇
-
-        this.dialogForm.bomId = this.getMaxBomId() // 鏆傛椂鍐欐
       })
     },
     // 鍒犻櫎鎸夐挳
@@ -2117,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)
     },
     // 瀵硅瘽妗嗗叧闂簨浠�
@@ -2140,7 +2150,9 @@
       this.dialogForm.planenddate = '' // 璁″垝瀹屾垚鏃堕棿
       this.dialogForm.orderlev = '' // 宸ュ崟绛夌骇
       this.dialogForm.isAps = 'N' // 鏄惁鎺掔▼
-      this.dialogForm.bomId = this.getMaxBomId()
+      this.dialogForm.bomId = ''
+
+      this.bomIdArr = []
       this.$refs.dialogForm.clearValidate()
     },
     // 瀵硅瘽妗嗗彇娑�
@@ -2173,7 +2185,7 @@
             planenddate: this.dialogForm.planenddate, // 璁″垝瀹屾垚鏃堕棿
             orderlev: this.dialogForm.orderlev, // 宸ュ崟绛夌骇
             is_aps: this.dialogForm.isAps, // 鏄惁鎺掔▼
-            bom_id: this.dialogForm.bomId, // 鏄惁鎺掔▼
+            bom_id: this.dialogForm.bomId, // 鐗╂枡娓呭崟id
             OperType: this.operation === 'add' ? 'Add' : 'Update'
           }
           this.$store.state.app.buttonIsDisabled = true
@@ -2275,9 +2287,9 @@
             // div.scrollTop = div.scrollHeight // 婊氬姩鏉′綅浜庢渶搴曢儴
             div.scrollTop = 0 // 婊氬姩鏉′綅浜庢渶椤堕儴
           })
+          this.dialogVisibleApprove = true
         }
       })
-      this.dialogVisibleApprove = true
     },
     dialogVisibleTaskClose() {
       this.dialogForm.mesordercode = ''
@@ -2591,8 +2603,6 @@
     },
     //  琛岀偣鍑讳簨浠�
     async rowClick(row, event, column) {
-      console.log(row, event, column)
-      console.log(row.wo_code, event, column)
       this.radioSelected = row.wo_code
       const { data: res } = await SearchWorkStep({ wo_code: row.wo_code })
       this.tableDataDetail = res

--
Gitblit v1.9.3