From 5e528ddaa15385d1f98a1ef8e91f7deac113ae2e Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期一, 30 十月 2023 17:49:01 +0800
Subject: [PATCH] 1.订单批量下达  新增

---
 src/views/produceManager/produceOrder.vue |  169 ++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 122 insertions(+), 47 deletions(-)

diff --git a/src/views/produceManager/produceOrder.vue b/src/views/produceManager/produceOrder.vue
index dea6122..4b093a6 100644
--- a/src/views/produceManager/produceOrder.vue
+++ b/src/views/produceManager/produceOrder.vue
@@ -12,16 +12,23 @@
         <div style="display: flex">
           <el-button
             v-waves
-            icon="el-icon-switch-button"
-            @click="orderClose"
-          >鍏抽棴璁㈠崟
+            type="primary"
+            icon="el-icon-bottom"
+            @click="batchHandle"
+          >鎵归噺涓嬭揪
           </el-button>
-          <el-button
-            v-waves
-            icon="el-icon-delete"
-            @click="orderDel"
-          >鍒犻櫎璁㈠崟
-          </el-button>
+          <!--                  <el-button-->
+          <!--                    v-waves-->
+          <!--                    icon="el-icon-switch-button"-->
+          <!--                    @click="orderClose"-->
+          <!--                  >鍏抽棴璁㈠崟-->
+          <!--                  </el-button>-->
+          <!--                  <el-button-->
+          <!--                    v-waves-->
+          <!--                    icon="el-icon-delete"-->
+          <!--                    @click="orderDel"-->
+          <!--                  >鍒犻櫎璁㈠崟-->
+          <!--                  </el-button>-->
         </div>
 
       </div>
@@ -165,25 +172,27 @@
           :header-cell-style="this.$headerCellStyle"
           :cell-style="this.$cellStyle"
           @sort-change="sortChange"
-          @row-click="rowClick"
+          @selection-change="handleSelectionChange"
         >
-          <!--          <el-table-column-->
-          <!--            type="selection"-->
-          <!--            width="50"-->
-          <!--          />-->
+          <!--          @row-click="rowClick"-->
           <el-table-column
+            type="selection"
             width="50"
-            fixed
-          >
-            <template slot-scope="{row}">
-              <el-radio
-                v-model="radioSelectedId"
-                :label="row.id"
-                style="color: transparent;padding-left: 10px;"
-              />
-              <!--              @change.native="getCurrentRow(row.id)"-->
-            </template>
-          </el-table-column>
+            :selectable="selected"
+          />
+          <!--          <el-table-column-->
+          <!--            width="50"-->
+          <!--            fixed-->
+          <!--          >-->
+          <!--            <template slot-scope="{row}">-->
+          <!--              <el-radio-->
+          <!--                v-model="radioSelectedId"-->
+          <!--                :label="row.id"-->
+          <!--                style="color: transparent;padding-left: 10px;"-->
+          <!--              />-->
+          <!--              &lt;!&ndash;              @change.native="getCurrentRow(row.id)"&ndash;&gt;-->
+          <!--            </template>-->
+          <!--          </el-table-column>-->
           <el-table-column
             prop="RowNum"
             width="50"
@@ -338,17 +347,35 @@
           <el-table-column
             label="鎿嶄綔"
             fixed="right"
-            width="80"
+            width="120"
           >
             <template slot-scope="{row}">
               <div class="operationClass">
-                <el-tooltip class="item" effect="dark" content="涓嬭揪" placement="top">
+                <el-tooltip v-del-tab-index class="item" effect="dark" content="璁㈠崟涓嬭揪" placement="top">
                   <!--                <el-button v-waves type="text" @click="edit('edit',row)">涓嬭揪</el-button>-->
                   <i
                     class="el-icon-bottom"
                     :style="{color:$store.state.settings.theme}"
                     style="cursor: pointer;margin-left: 5px"
                     @click="edit('edit',row)"
+                  />
+                </el-tooltip>
+
+                <el-tooltip v-del-tab-index class="item" effect="dark" content="璁㈠崟鍏抽棴" placement="top">
+                  <i
+                    class="el-icon-switch-button"
+                    :style="{color:$store.state.settings.theme}"
+                    style="cursor: pointer;margin-left: 15px"
+                    @click="orderClose(row.id)"
+                  />
+                </el-tooltip>
+
+                <el-tooltip v-del-tab-index class="item" effect="dark" content="璁㈠崟鍒犻櫎" placement="top">
+                  <i
+                    class="el-icon-delete"
+                    :style="{color:$store.state.settings.theme}"
+                    style="cursor: pointer;margin-left: 15px"
+                    @click="orderDel(row.id)"
                   />
                 </el-tooltip>
               </div>
@@ -472,7 +499,13 @@
 
 <script>
 import Pagination from '@/components/Pagination'
-import { ClosedErpOrder, DeleteErpOrder, ErpOrderSearch, MarkSaveErpOrder } from '@/api/produceManager'
+import {
+  ClosedErpOrder,
+  DeleteErpOrder,
+  ErpOrderSearch,
+  MarkBatchSaveErpOrder,
+  MarkSaveErpOrder
+} from '@/api/produceManager'
 import { handleDatetime } from '@/utils/global'
 import { SeaveSearchErpOrder } from '@/api/ErpSyncMes'
 import elDragDialog from '@/directive/el-drag-dialog'
@@ -576,7 +609,8 @@
         disabledDate(time) {
           return time.getTime() < Date.now() - 8.64e7
         }
-      }
+      },
+      multipleSelection: []
 
       // expireTimeOption: {
       //   disabledDate(time) {
@@ -691,20 +725,17 @@
       this.getErpOrderSearch()
     },
     // 鍗曢�夋閫変腑鑾峰彇褰撳墠琛屼俊鎭�
-    getCurrentRow(id) {
-      this.radioSelectedId = id
-    },
-    rowClick(row) {
-      this.radioSelectedId = row.id
-    },
+    // getCurrentRow(id) {
+    //   this.radioSelectedId = id
+    // },
+    // rowClick(row) {
+    //   this.radioSelectedId = row.id
+    // },
 
     // 璁㈠崟鍒犻櫎
-    orderDel() {
-      if (this.radioSelectedId.length < 1) {
-        return this.$message.info('璇峰厛閫夋嫨璁㈠崟锛�')
-      }
+    orderDel(id) {
       this.tableData.forEach(item => {
-        if (item.id === this.radioSelectedId) {
+        if (item.id === id) {
           if (item.status === 'CLOSED') {
             return this.$message.info('姝よ鍗曞凡鍏抽棴锛屾棤娉曞垹闄わ紒')
           } else {
@@ -713,7 +744,7 @@
               cancelButtonText: '鍙栨秷',
               type: 'warning'
             }).then(() => {
-              DeleteErpOrder({ erpordercode: item.wo, erporderid: this.radioSelectedId }).then(res => {
+              DeleteErpOrder({ erpordercode: item.wo, erporderid: id }).then(res => {
                 if (res.code === '200') {
                   this.$message.success('璁㈠崟鍒犻櫎鎴愬姛!')
                   this.getErpOrderSearch()
@@ -727,12 +758,9 @@
       })
     },
     // 璁㈠崟鍏抽棴
-    async orderClose() {
-      if (this.radioSelectedId.length < 1) {
-        return this.$message.info('璇峰厛閫夋嫨璁㈠崟锛�')
-      }
+    async orderClose(id) {
       this.tableData.forEach(item => {
-        if (item.id === this.radioSelectedId) {
+        if (item.id === id) {
           if (item.status !== 'NEW') {
             return this.$message.info('姝よ鍗曢潪鏂拌鍗曪紝鏃犳硶鍏抽棴锛�')
           } else {
@@ -741,7 +769,7 @@
               cancelButtonText: '鍙栨秷',
               type: 'warning'
             }).then(() => {
-              ClosedErpOrder({ erpordercode: item.wo, erporderid: this.radioSelectedId }).then(res => {
+              ClosedErpOrder({ erpordercode: item.wo, erporderid: id }).then(res => {
                 if (res.code === '200') {
                   this.$message.success('璁㈠崟鍏抽棴鎴愬姛!')
                   this.getErpOrderSearch()
@@ -866,6 +894,53 @@
         }
       })
     },
+    handleSelectionChange(val) {
+      this.multipleSelection = val
+    },
+    batchHandle() {
+      this.$confirm('鏄惁鎵归噺涓嬭揪?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        if (this.multipleSelection.length === 0) {
+          return this.$message.info('璇峰厛閫夋嫨璁㈠崟锛�')
+        }
+        // console.log(JSON.parse(JSON.stringify(this.multipleSelection)))
+        const data = []
+        this.multipleSelection.forEach(i => {
+          data.push({
+            'erporderid': i.id,
+            'erpordercode': i.wo,
+            'partcode': i.partcode,
+            'wkshopcode': i.wkshp_code,
+            'warehousecode': i.stck_code,
+            'erpqty': i.qty,
+            'markqty': i.qty,
+            'ordernum': 1,
+            'relse_qty': i.qty,
+            'saleordercode': i.saleOrderCode,
+            // 'saleOrderDeliveryDate': i.saleOrderDeliveryDate
+            'saleOrderDeliveryDate': handleDatetime(new Date()) + ' 00:00:00'
+          })
+        })
+        // console.log(data)
+        MarkBatchSaveErpOrder(data).then(res => {
+          if (res.code === '200') {
+            this.multipleSelection = []
+            this.$message.success('鎵归噺涓嬭揪鎴愬姛锛�')
+            this.getErpOrderSearch()
+          } else {
+            this.$message.error('鎵归噺涓嬭揪澶辫触锛�')
+          }
+        })
+      }).catch(() => {
+        this.$message.info('宸插彇娑堜笅杈撅紒')
+      })
+    },
+    selected(row, index) {
+      return row.status === 'NEW'
+    },
     // 鑾峰彇椤甸潰楂樺害
     getHeight() {
       this.$nextTick(() => {

--
Gitblit v1.9.3