From 828641ce9d4178bbff9030ad19ce93d0267f185c Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 17 九月 2025 08:36:42 +0800
Subject: [PATCH] no message

---
 construction-data/src/components/datav/index.vue |  275 +++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 175 insertions(+), 100 deletions(-)

diff --git a/construction-data/src/components/datav/index.vue b/construction-data/src/components/datav/index.vue
index 58a98d2..e617d85 100644
--- a/construction-data/src/components/datav/index.vue
+++ b/construction-data/src/components/datav/index.vue
@@ -4,14 +4,14 @@
       <top-header/>
       <template>
         <el-row>
-          <el-col :span="15">
+          <el-col :span="13">
             <el-row class="header-left-task" type="flex" align="center" >
               <el-col v-for="(task, index) in tasks" :key="index" >
                 <el-row type="flex" align="center" justify="center" @click.native="borderClick(task)">
                   <dv-border-box-2>
                     <el-card class="header-card" >
                       <el-row>
-                        <el-col :span="4" v-for="(item, index) in Object.keys(waveLabels)" :key="index">
+                        <el-col class="heaer-label-column" v-for="(item, index) in Object.keys(waveLabels)" :key="index">
                           <div class="header-card-label" >{{ waveLabels[item] }}</div>
                           <div class="header-card-val" >{{ task[item] }}</div>
                         </el-col>
@@ -22,13 +22,11 @@
               </el-col>
             </el-row>
             <el-row class="detl-info-row">
-              <dv-border-box-2>
-                <el-card>
-                  <el-table :data="mergeTaskDetl" class="talbe-matnr" @row-click="selectRow">
-                    <el-table-column v-for="(item,index) in Object.keys(detlLabels)" :prop="item" :label="detlLabels[item]" :key="index"/>
-                  </el-table>
-                </el-card>
-              </dv-border-box-2>
+              <el-card class="detl-info-card">
+                <el-table :data="mergeTaskDetl" class="table-matnr" @row-click="selectRow">
+                  <el-table-column v-for="(item,index) in Object.keys(detlLabels)" :prop="item" :label="detlLabels[item]" :key="index"/>
+                </el-table>
+              </el-card>
             </el-row>
             <el-row class="pick-order-detl">
               <dv-border-box11 title="鎷h揣璁㈠崟鏄庣粏" class="detl-box-border">
@@ -41,31 +39,13 @@
               </dv-border-box11>
             </el-row>
           </el-col>
-          <el-col :span="9">
+          <el-col :span="11">
               <el-row class="order-box-row">
                 <dv-border-box-11 title="璁㈠崟瀹屾垚鎯呭喌" class="order-box">
                   <el-table :data="orders" v-if="orders.length > 0" class="order-table">
-                    <el-table-column v-for="(item, dex) in Object.keys(orderStatus)" :prop="item" :label="orderStatus[item]" :key="dex">
+                    <el-table-column v-for="(item, dex) in Object.keys(orderStatus)" :prop="item" :label="orderStatus[item]" :key="dex" >
                       <template slot-scope="scope">
-                        <el-popover
-                          placement="right"
-                          width="300"
-                          trigger="manual"
-                          v-model="visible"
-                          v-if="item === 'action'" >
-                          <template>
-                            <div>
-                              <span>閫夋嫨鐩爣鍙戣揣鍖�</span>
-                              <el-divider/>
-                              <el-row :gutter="15">
-                                <el-col v-for="(palt, index) in platforms" :key="index" class="platform" :span="7" @click.native="bindShipping(palt, scope)">
-                                  <div>{{palt.platformNo}}</div>
-                                </el-col>
-                              </el-row>
-                            </div>
-                          </template>
-                          <el-button slot="reference" type="text" @click.native.prevent="print(scope.$index, orders)">鎵撳嵃鏄庣粏</el-button>
-                        </el-popover>
+                        <el-button slot="reference" type="text" @click.native.prevent="print(scope.$index, orders)" class="btnPrint" v-if="item === 'action'" >鎵撳嵃鏄庣粏</el-button>
                         <div v-else class="ship-order-list">
                           {{scope.row[item]}}
                         </div>
@@ -73,20 +53,37 @@
                     </el-table-column>
                   </el-table>
                   <el-empty description="鏆傛棤鎶曟斁璁㈠崟" class="empty-padding" v-else></el-empty>
+                  <el-popover
+                    placement="right"
+                    trigger="manual"
+                    class="popover-order"
+                    v-model="visible">
+                    <template>
+                      <div>
+                        <span>閫夋嫨鐩爣鍙戣揣鍖�</span>
+                        <el-divider/>
+                        <el-row :gutter="15">
+                          <el-col v-for="(palt, index) in platforms" :key="index" :span="7" @click.native="bindShipping(palt)">
+                            <div class="platform" >{{palt.platformNo}}</div>
+                          </el-col>
+                        </el-row>
+                      </div>
+                    </template>
+                  </el-popover>
                 </dv-border-box-11>
               </el-row>
               <el-row type="flex" align="center" id="datav">
                 <dv-border-box-11  title="鎾澧�" class="pick-wall" >
-                  <el-row type="flex" align="center" justify="center" class="pick-wall-circle" >
-                    <el-col :span="1">
-                      <p class="pick-wall-tip"></p>
-                    </el-col>
-                    <el-col :span="22">
-                      <p>缁胯壊锛氫换鍔″凡瀹屾垚  榛勮壊锛氱瓑寰呬腑  绾㈣壊锛氭挱绉嶄腑</p>
-                    </el-col>
-                  </el-row>
+<!--                  <el-row type="flex" align="center" justify="center" class="pick-wall-circle" >-->
+<!--                    <el-col :span="1">-->
+<!--                      <p class="pick-wall-tip"></p>-->
+<!--                    </el-col>-->
+<!--                    <el-col :span="22">-->
+<!--                      <p>缁胯壊锛氫换鍔″凡瀹屾垚  榛勮壊锛氱瓑寰呬腑  绾㈣壊锛氭挱绉嶄腑</p>-->
+<!--                    </el-col>-->
+<!--                  </el-row>-->
                   <div class="pick-wall-box">
-                    <el-col :span="6" v-for="(item, index) in seedBracket" :key="index" @click.native="lightClick(item)">
+                    <el-col :span="6" v-for="(item, index) in seedBracket" :key="index" >
                       <div class="seed-bracket" :style="getLightStatus(item)" />
                     </el-col>
                   </div>
@@ -106,7 +103,7 @@
                   <el-row>
                     <el-col class="header-title">澶嶆牳褰撳墠浣滀笟涓暟閲�</el-col>
                     <el-col style="text-align: center">
-                      <el-col :span="10" class="content">鎬婚渶姹傛暟閲忥細</el-col>
+                      <el-col :span="10" class="content">闇�姹傛暟閲忥細</el-col>
                       <el-col :span="8" class="content-value">{{ selected.anfme }}</el-col>
                     </el-col>
                     <el-col>
@@ -120,7 +117,7 @@
                     <el-col>
                       <div class="header-title">鎷h揣鏁伴噺锛�</div>
                       <dv-border-box-10  class="box">
-                        <el-input type="text" v-model="workQty"></el-input>
+                        <el-input type="text" v-model="selected.revQty" disabled></el-input>
                       </dv-border-box-10>
                     </el-col>
                   </el-row>
@@ -191,13 +188,12 @@
     }
   },
   created () {
-    //鑾峰彇褰撳墠鎵ц浠诲姟
-    this.getWaves()
-    //鑾峰彇褰撳墠鎾澧欏簱浣嶄俊鎭�
-    this.getSeedLoc()
-    //鑾峰彇鎵�鏈夊彂璐ф殏瀛樺尯
-    this.getAllPlatforms()
+    let that = this
+    setInterval(() => {
+        that.refreshData()
+    }, 10000)
   },
+
   computed: {
     getLightStatus() {
       return (item)=> {
@@ -207,9 +203,20 @@
           return  'background: gainsboro;'
         }
       }
+    },
+    getWorkQty() {
+      return this.selected.anfme - this.selected.workQty
     }
   },
   methods: {
+    refreshData() {
+      //鑾峰彇褰撳墠鎵ц浠诲姟
+      this.getWaves()
+      //鑾峰彇褰撳墠鎾澧欏簱浣嶄俊鎭�
+      this.getSeedLoc()
+      //鑾峰彇鎵�鏈夊彂璐ф殏瀛樺尯
+      this.getAllPlatforms()
+    },
     printPage() {
       // let element = document.querySelector('#datav');
       // let el = this.$refs.datav
@@ -230,12 +237,16 @@
     },
     //鎷嶇伅瀹瑰櫒娴佸姩
     lightClick(item) {
+      if (item.platformId == null || item.platformId == undefined || item.platformId == '') {
+        this.$message.error('璇锋墦鍗拌鍗曟槑缁嗭紝骞堕�夋嫨鐩爣闆嗚揣鍖猴紒锛�')
+        return
+      }
       this.slapLight(item)
     },
     //璁㈠崟鍏ュ簱闆嗚揣鍖�,骞舵墦鍗板崟鎹�
-    bindShipping(plat, item) {
+    bindShipping(plat) {
       this.visible = false
-      let order = item.row
+      let order = this.selectOrder
       if (order == null) {
         this.$message.error("褰撳墠璁㈠崟淇℃伅涓嶅瓨鍦紝璇疯仈绯荤鐞嗗憳锛侊紒")
         return
@@ -244,6 +255,7 @@
       // eslint-disable-next-line no-undef
       $ajax.post('/api/bind/shipping/platform', {orderId: order.id, waveId: order.waveId, platformId: plat.id}).then(response => {
         if (response.code === 200) {
+          that.refreshData()
           //闅愯棌鍙戣揣鍖�,鎵ц鎵撳嵃
         } else {
           this.$message.error(response.msg)
@@ -320,7 +332,7 @@
       for (let i = 0; i < this.mergeTaskDetl.length; i++) {
         if (this.mergeTaskDetl[i].matnr === this.selected.matnr && this.workQty > this.mergeTaskDetl[i].anfme) {
             this.$message({
-              message: '鎷h揣鏁伴噺涓嶈兘澶т簬浠诲姟鏁伴噺锛侊紒',
+              message: '鎷h揣鏁伴噺搴旂瓑浜庝换鍔℃暟閲忥紒锛�',
               type: 'error'
             })
             return
@@ -329,7 +341,7 @@
       //闅愯棌寮规
       this.show = false
       // eslint-disable-next-line no-undef
-      $ajax.post('wave/sow/review', { waveSeedId: this.selected.id, reviewNum: this.workQty }).then(response => {
+      $ajax.post('wave/sow/review', { waveSeedId: this.selected.id, reviewNum: this.selected.revQty }).then(response => {
         if (response.code === 200) {
           this.getWaves()
         } else {
@@ -397,7 +409,7 @@
     getTaskDetl (data) {
       let that = this
       // eslint-disable-next-line no-undef
-      $ajax.post('wave/task/detl/qutify/', { taskNo: data.taskNo, matnr: data.matnr }).then(response => {
+      $ajax.post('wave/task/detl/qutify/', { taskNo: data.taskNo, matnr: data.matnr, waveNo: data.waveNo }).then(response => {
         if (response.code === 200) {
           that.taskDetls = []
           // this.show = false
@@ -410,8 +422,6 @@
 </script>
 
 <style lang="less">
-
-
   @media screen and (max-width: 1920px){
     #data-view {
       width: 100%;
@@ -431,22 +441,10 @@
         margin: 5px 0;
       }
 
-      .platform {
-        display: flex;
-        align-items: center;
-        justify-content: center;
-        height: 80px;
-        background-color: #03d3ec;
-        margin: 5px;
-        text-align: center;
-      }
-
       .pick-order-detl {
         padding: 0 15px;
-
         .detl-box-border {
-          height: 59vh;
-
+          height: 45vh;
           .detl-box-padding {
             height: 65px
           }
@@ -457,10 +455,8 @@
         text-align: center;
         color: white;
         margin: 20vh;
-
         .container {
           padding: 45px 60px;
-
           .btn {
             width: 30vh;height: 7vh;font-size: 23px;
           }
@@ -490,7 +486,7 @@
 
       .pick-wall {
         padding: 60px 10px 10px 10px;
-        height: 68vh;
+        height: 47vh;
 
         .pick-wall-box {
           .seed-bracket {
@@ -511,6 +507,10 @@
             background: #03d3ec;
             border-left: 5px solid #50bfff
           }
+
+          span {
+            margin: 2px;
+          }
         }
       }
 
@@ -524,27 +524,36 @@
           text-align: center;
           padding: 15px;
 
-          .header-card-label {
-            font-size: 25px;
-            font-style: oblique;
-            padding: 5px;
-            color: white;
-          }
-          .header-card-val {
-            font-size: 20px;
-            padding: 10px;
-            color: orange;
+          .heaer-label-column {
+            min-width: 170px;
+            width: auto;
+            .header-card-label {
+              font-size: 25px;
+              font-style: oblique;
+              padding: 5px;
+              color: white;
+            }
+            .header-card-val {
+              font-size: 20px;
+              padding: 10px;
+              color: orange;
+            }
           }
         }
       }
 
       .detl-info-row {
         padding: 0 15px;
+
+        .detl-info-card {
+
+        }
+
       }
 
       .order-box-row {
         width: 84vh;
-        height: 38vh;
+        height: 33vh;
 
         .order-box {
           padding:0px 30px;
@@ -553,6 +562,22 @@
             width: 74vh;
             padding-top: 65px;
             height: 275px;
+            overflow: hidden;
+            overflow-y: auto;
+
+            .popover-order {
+              width: 300px;
+
+              .platform {
+                display: flex;
+                align-items: center;
+                justify-content: center;
+                height: 80px;
+                background-color: #03d3ec;
+                margin: 5px;
+                text-align: center;
+              }
+            }
 
             .ship-order-list {
               font-size: 18px; color: white;
@@ -560,13 +585,16 @@
           }
         }
         .empty-padding {
-          padding-top: 65px;
+          padding-top: 105px;
+          .el-empty__image {
+            height: 100px;
+          }
         }
       }
       .order-detl-list {
         overflow: hidden;
         overflow-y: scroll;
-        height: 43vh;
+        height: 38vh;
         padding: 0 15px;
       }
 
@@ -620,8 +648,8 @@
         top: 0px !important;
       }
 
-      .talbe-matnr {
-        height: 26vh;
+      .table-matnr {
+        height: 16vh;
       }
 
       .el-table {
@@ -667,23 +695,58 @@
 @media screen and (max-width: 1281px)  {
   #data-view {
     .header-left-task {
-      .header-card {
-        margin: 5px;height: 90px;
-        padding: 5px;
+      padding: 5px 15px 5px 15px;
 
-        .header-card-label {
-          font-size: 18px;
-          padding: 5px;
+      .header-card {
+        margin: 2px;
+        height: 70px;
+        padding: 2px;
+
+        .el-card__body {
+          padding: 5px 20px;
         }
 
-        .header-card-val {
-          font-size: 14px;
+        .heaer-label-column{
+          max-width: 130px;
+          min-width: 75px;
+          width: auto;
+          .header-card-label {
+            font-size: 13px;
+            padding: 5px;
+          }
+
+          .header-card-val {
+            font-size: 11px;
+          }
+        }
+      }
+    }
+
+    .detl-info-row {
+      padding: 0 15px;
+
+      .detl-info-card {
+          padding: 0;
+        .el-card__body {
+          padding: 8px;
+        }
+      }
+
+      .el-table {
+        th.el-table__cell>.cell {
+          text-align: center;
+        }
+
+        .el-table__cell {
+          padding: 5px 0;
+          text-align: center;
+          width: auto;
         }
       }
     }
 
     .order-box-row {
-      width: 58vh;
+      width: 68vh;
       height: 28vh;
 
       .order-box {
@@ -693,38 +756,50 @@
           width: 74vh;
           padding-top: 65px;
           height: 275px;
+          overflow: hidden;
+          overflow-y: auto;
+
+          .btnPrint {
+            font-size: 9px;
+          }
 
           .ship-order-list {
-            font-size: 14px;
+            font-size: 10px;
+          }
+
+          .el-table__cell {
+            padding: 0;
           }
         }
       }
       .empty-padding {
         padding-top: 65px;
+        width: 30px;
+        height: 30px;
       }
     }
 
 
-    .talbe-matnr {
-      height: 20vh;
+    .table-matnr {
+      height: 15vh;
     }
 
     .el-table .cell {
-      font-size: 16px !important;
+      font-size: 10px !important;
     }
 
     .pick-order-detl {
       padding: 0 10px;
 
       .detl-box-border {
-        height: 39vh;
+        height: 49vh;
 
         .detl-box-padding {
           height: 65px
         }
 
         .order-detl-list {
-          height: 23vh;
+          height: 38vh;
         }
       }
     }

--
Gitblit v1.9.1