From 46528c3843ce67038ddb2e00dd3d3998c206a69e Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期一, 06 五月 2024 17:26:10 +0800
Subject: [PATCH] 1.递交

---
 src/views/workOrder/produceOrderList.vue |  211 ++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 162 insertions(+), 49 deletions(-)

diff --git a/src/views/workOrder/produceOrderList.vue b/src/views/workOrder/produceOrderList.vue
index dda5d5d..65c40f0 100644
--- a/src/views/workOrder/produceOrderList.vue
+++ b/src/views/workOrder/produceOrderList.vue
@@ -12,15 +12,10 @@
         <div style="display: flex">
           <el-button
             v-waves
-            icon="el-icon-switch-button"
-            @click="orderClose"
-          >鍏抽棴璁㈠崟
-          </el-button>
-          <el-button
-            v-waves
-            icon="el-icon-delete"
-            @click="orderDel"
-          >鍒犻櫎璁㈠崟
+            type="primary"
+            icon="el-icon-bottom"
+            @click="batchHandle"
+          >鎵归噺涓嬭揪
           </el-button>
         </div>
 
@@ -35,6 +30,22 @@
           style="display: flex;"
         >
           <div class="elForm">
+            <el-form-item label="杞﹂棿鍚嶇О" style=" display: flex;">
+              <el-select
+                v-model="form.wkshopcode"
+                filterable
+                :popper-append-to-body="false"
+                style="width: 200px"
+                placeholder="璇烽�夋嫨"
+              >
+                <el-option
+                  v-for="item in wkshopcodeArr"
+                  :key="item.torg_code"
+                  :label="item.torg_name"
+                  :value="item.torg_code"
+                />
+              </el-select>
+            </el-form-item>
             <el-form-item label="璁㈠崟鐘舵��" style=" display: flex;">
               <el-select
                 v-model="form.erporderstus"
@@ -59,7 +70,7 @@
               <el-input v-model="form.saleordercode" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
 
-            <el-form-item label="浜у搧缂栫爜" style=" display: flex;">
+            <el-form-item v-show="isExpandForm" label="浜у搧缂栫爜" style=" display: flex;">
               <el-input v-model="form.partcode" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
 
@@ -150,25 +161,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"
@@ -249,6 +262,18 @@
             sortable="custom"
           />
           <el-table-column
+            prop="clerkuser"
+            label="閿�鍞笟鍔″憳"
+            show-tooltip-when-overflow
+            width="150"
+            sortable="custom"
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.clerkuser">{{ row.clerkuser }}</div>
+              <div v-else>/</div>
+            </template>
+          </el-table-column>
+          <el-table-column
             prop="wkshp_name"
             label="鐢熶骇杞﹂棿"
             show-tooltip-when-overflow
@@ -323,7 +348,7 @@
           <el-table-column
             label="鎿嶄綔"
             fixed="right"
-            width="80"
+            width="120"
           >
             <template slot-scope="{row}">
               <div class="operationClass">
@@ -334,6 +359,23 @@
                     :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>
@@ -408,6 +450,14 @@
             style="width: 200px"
           />
         </el-form-item>
+
+        <el-form-item label="閿�鍞笟鍔″憳" prop="">
+          <el-input
+            v-model="dialogForm.clerkuser"
+            disabled
+            style="width: 200px"
+          />
+        </el-form-item>
         <el-form-item label="棰勮浜や粯鏃ユ湡" prop="saleOrderDeliveryDate">
           <el-date-picker
             v-model="dialogForm.saleOrderDeliveryDate"
@@ -421,7 +471,6 @@
             :disabled="dialogForm.saleOrderDeliveryDateIsDisabled"
           />
         </el-form-item>
-
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
@@ -444,8 +493,15 @@
 import { handleDatetime } from '@/utils/global'
 import elDragDialog from '@/directive/el-drag-dialog'
 import waves from '@/directive/waves'
-import { ClosedErpOrder, DeleteErpOrder, ErpOrderSearch, MarkSaveErpOrder } from '@/api/WorkOrder'
+import {
+  ClosedErpOrder,
+  DeleteErpOrder,
+  ErpOrderSearch,
+  MarkBatchSaveErpOrder,
+  MarkSaveErpOrder
+} from '@/api/WorkOrder'
 import { SeaveSearchErpOrder } from '@/api/ErpSyncMes'
+import { PrentOrganizationNoCompany } from '@/api/GeneralBasicData'
 
 const SER_HZ = /^[\u4e00-\u9fa5]+$/
 export default {
@@ -472,6 +528,7 @@
       mainHeight: 0,
       tableHeight: 0,
       form: {
+        wkshopcode: '', // 杞﹂棿缂栫爜
         erporderstus: '', // 璁㈠崟鐘舵�佺爜
         erpordercode: '', // 璁㈠崟缂栧彿
         partcode: '', // 浜у搧缂栫爜
@@ -494,6 +551,7 @@
         { code: 'CREATED', name: '鍏ㄩ儴涓嬭揪' },
         { code: 'CLOSED', name: '宸插叧闂�' }
       ],
+      wkshopcodeArr: [],
       total: 10,
       radioSelectedId: '',
       tableData: [],
@@ -518,6 +576,8 @@
         markqty: '', // 涓嬪崟鏁伴噺
         ordernum: '', // 涓嬪崟鍗曟暟
         relse_qty: '', // 宸蹭笅鍗曟暟閲�
+
+        clerkuser: '', // 閿�鍞笟鍔″憳
 
         saleOrderDeliveryDate: '' // 棰勮浜や粯鏃ユ湡
       },
@@ -544,7 +604,8 @@
         disabledDate(time) {
           return time.getTime() < Date.now() - 8.64e7
         }
-      }
+      },
+      multipleSelection: []
 
       // expireTimeOption: {
       //   disabledDate(time) {
@@ -557,12 +618,18 @@
   created() {
     this.getErpOrderSearch()
     // this.getPartSelect()// 鑾峰彇浜у搧缂栫爜淇℃伅
+
+    this.getPrentOrganizationNoCompany()
   },
   mounted() {
     window.addEventListener('resize', this.getHeight)
     this.getHeight()
   },
   methods: {
+    async getPrentOrganizationNoCompany() {
+      const { data: res } = await PrentOrganizationNoCompany()
+      this.wkshopcodeArr = res
+    },
     async getErpOrderSearch() {
       console.log(this.form, 1)
       let tempDate2 = this.form.paystartdate
@@ -576,6 +643,7 @@
       }
 
       const data = {
+        wkshopcode: this.form.wkshopcode,
         erporderstus: this.form.erporderstus, // 璁㈠崟鐘舵�佺爜
         erpordercode: this.form.erpordercode, // 璁㈠崟缂栧彿
         partcode: this.form.partcode, // 浜у搧缂栫爜
@@ -646,6 +714,7 @@
     },
     // 閲嶇疆
     reset() {
+      this.form.wkshopcode = ''
       this.form.erporderstus = ''
       this.form.erpordercode = ''
       this.form.partcode = ''
@@ -659,20 +728,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 {
@@ -681,7 +747,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()
@@ -695,12 +761,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 {
@@ -709,7 +772,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()
@@ -721,6 +784,55 @@
           }
         }
       })
+    },
+    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,
+            'sbid': i.sbid,
+            'erpordercode': i.wo,
+            'partcode': i.partcode,
+            'wkshopcode': i.wkshp_code,
+            'warehousecode': i.stck_code,
+            'erpqty': i.qty,
+            'markqty': i.qty,
+            'ordernum': 1,
+            'clerkuser': i.clerkuser,
+            'relse_qty': i.qty,
+            'saleordercode': i.saleOrderCode,
+            // 'saleOrderDeliveryDate': i.saleOrderDeliveryDate
+            'saleOrderDeliveryDate': handleDatetime(new Date()) + ' 00:00:00'
+          })
+        })
+        // console.log(JSON.parse(JSON.stringify(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'
+    },
+    handleSelectionChange(val) {
+      this.multipleSelection = val
     },
     // 鏂板鎸夐挳
     add(operation) {
@@ -758,6 +870,7 @@
         this.dialogForm.markqty = parseFloat(row.qty) - parseFloat(row.relse_qty)
         this.dialogForm.ordernum = 1
         this.dialogForm.relse_qty = row.relse_qty
+        this.dialogForm.clerkuser = row.clerkuser
       })
     },
     // 瀵硅瘽妗嗗叧闂簨浠�
@@ -816,7 +929,7 @@
             'partcode': this.dialogForm.partcode,
             'wkshopcode': this.dialogForm.wkshopcode,
             'warehousecode': this.dialogForm.warehousecode,
-
+            'clerkuser': this.dialogForm.clerkuser,
             'erpqty': this.dialogForm.erpqty,
             'markqty': this.dialogForm.markqty,
             'ordernum': this.dialogForm.ordernum,

--
Gitblit v1.9.3