From 3f386968d4b5cbb002ad93483f86a5443159e18a Mon Sep 17 00:00:00 2001
From: 小小儁爺 <1694218219@qq.com>
Date: 星期六, 08 二月 2025 09:54:32 +0800
Subject: [PATCH] 1.递交

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

diff --git a/src/views/workOrder/produceOrderList.vue b/src/views/workOrder/produceOrderList.vue
index 65c40f0..e6ca71b 100644
--- a/src/views/workOrder/produceOrderList.vue
+++ b/src/views/workOrder/produceOrderList.vue
@@ -81,6 +81,14 @@
               <el-input v-model="form.partspec" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
 
+            <DateType
+              ref="DateTypeRef"
+              :is-expand-form="isExpandForm"
+              style="display:flex;justify-content: center;align-items: center;position: relative"
+              @DateTypeChange="DateTypeChange"
+              @cycleTimeChange="cycleTimeChange"
+            />
+
             <!--            <el-form-item-->
             <!--              v-show="isExpandForm"-->
             <!--              label="棰勮寮�宸ユ椂闂�"-->
@@ -89,7 +97,7 @@
             <!--            >-->
             <!--              <el-date-picker-->
             <!--                v-model="form.paystartdate"-->
-            <!--                type="daterange"-->
+            <!--                type="datetimerange"-->
             <!--                range-separator="~"-->
             <!--                class="timeMini"-->
             <!--                size="mini"-->
@@ -97,8 +105,12 @@
             <!--                :clearable="false"-->
             <!--                start-placeholder="寮�濮嬫棩鏈�"-->
             <!--                end-placeholder="缁撴潫鏃ユ湡"-->
+            <!--                :picker-options="pickerOptions"-->
+            <!--                value-format="yyyy-MM-dd"-->
+            <!--                @change="pickerChange"-->
             <!--              />-->
             <!--            </el-form-item>-->
+
             <!--            <el-form-item-->
             <!--              v-show="isExpandForm"-->
             <!--              label="棰勮瀹屽伐鏃堕棿"-->
@@ -160,6 +172,8 @@
           highlight-current-row
           :header-cell-style="this.$headerCellStyle"
           :cell-style="this.$cellStyle"
+          :summary-method="getSummaries"
+          show-summary
           @sort-change="sortChange"
           @selection-change="handleSelectionChange"
         >
@@ -310,6 +324,32 @@
           <!--            </template>-->
           <!--          </el-table-column>-->
           <el-table-column
+            prop="planenddate"
+            label="棰勮寮�宸ユ棩鏈�"
+            sortable="custom"
+            show-tooltip-when-overflow
+            width="130"
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.planenddate">{{ row.planenddate.substring(0, 11) }}</div>
+              <div v-else>/</div>
+            </template>
+          </el-table-column>
+
+          <el-table-column
+            prop="planstartdate"
+            label="棰勮瀹屽伐鏃ユ湡"
+            sortable="custom"
+            show-tooltip-when-overflow
+            width="130"
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.planstartdate">{{ row.planstartdate.substring(0, 11) }}</div>
+              <div v-else>/</div>
+            </template>
+          </el-table-column>
+
+          <el-table-column
             prop="saleOrderDeliveryDate"
             label="棰勮浜や粯鏃ユ湡"
             sortable="custom"
@@ -321,6 +361,7 @@
               <div v-else>/</div>
             </template>
           </el-table-column>
+
           <el-table-column
             show-tooltip-when-overflow
             prop="createuser"
@@ -399,8 +440,8 @@
       v-el-drag-dialog
       :title="operation==='add'?'鏂板':'涓嬭揪'"
       :visible.sync="dialogVisible"
-      width="860px"
-      top="15vh"
+      width="900px"
+      top="12vh"
       :close-on-click-modal="false"
       @closed="handleClose"
       @close="handleClose"
@@ -458,6 +499,8 @@
             style="width: 200px"
           />
         </el-form-item>
+        <!--        :picker-options="pickerOptions"-->
+
         <el-form-item label="棰勮浜や粯鏃ユ湡" prop="saleOrderDeliveryDate">
           <el-date-picker
             v-model="dialogForm.saleOrderDeliveryDate"
@@ -465,12 +508,44 @@
             size="mini"
             :clearable="false"
             class="dateMini"
-            :picker-options="pickerOptions"
             format="yyyy-MM-dd"
+            style="width: 200px"
             placeholder="閫夋嫨鏃ユ湡"
             :disabled="dialogForm.saleOrderDeliveryDateIsDisabled"
           />
         </el-form-item>
+
+        <div style="display: flex">
+          <el-form-item label="棰勮寮�宸ユ棩鏈�" prop="" style="display: flex">
+            <el-date-picker
+              v-model="dialogForm.paystartdate"
+              type="date"
+              size="mini"
+              style="width: 200px"
+              :clearable="false"
+              class="dateMini"
+              format="yyyy-MM-dd"
+              value-format="yyyy-MM-dd"
+              placeholder="閫夋嫨鏃ユ湡"
+            />
+          </el-form-item>
+
+          <el-form-item label="棰勮瀹屽伐鏃ユ湡" prop="" style="display: flex">
+            <el-date-picker
+              v-model="dialogForm.payenddate"
+              type="date"
+              size="mini"
+              style="width: 200px"
+              :clearable="false"
+              class="dateMini"
+              format="yyyy-MM-dd"
+              value-format="yyyy-MM-dd"
+              placeholder="閫夋嫨鏃ユ湡"
+            />
+          </el-form-item>
+
+        </div>
+
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
@@ -502,12 +577,13 @@
 } from '@/api/WorkOrder'
 import { SeaveSearchErpOrder } from '@/api/ErpSyncMes'
 import { PrentOrganizationNoCompany } from '@/api/GeneralBasicData'
+import DateType from '@/components/DateType'
 
 const SER_HZ = /^[\u4e00-\u9fa5]+$/
 export default {
   name: 'SCDD',
   components: {
-    Pagination
+    Pagination, DateType
   },
   directives: { elDragDialog, waves },
   data() {
@@ -540,11 +616,16 @@
         paystartdate: '', // 棰勮寮�宸ユ椂闂�
         payenddate: '', // 棰勮瀹屽伐鏃堕棿
         createdate: '', // 鍒涘缓鏃堕棿
+
+        datatype: 'ED', // 鏃堕棿绫诲瀷
+        timeValue: [], // 鏃堕棿鍊�
+
         prop: 'wo', // 鎺掑簭瀛楁
         order: 'desc', // 鎺掑簭瀛楁
         page: 1, // 绗嚑椤�
         rows: 20 // 姣忛〉澶氬皯鏉�
       },
+
       erporderstusArr: [
         { code: 'NEW', name: '鏂拌鍗�' },
         { code: 'CREATING', name: '閮ㄥ垎涓嬭揪' },
@@ -579,7 +660,10 @@
 
         clerkuser: '', // 閿�鍞笟鍔″憳
 
-        saleOrderDeliveryDate: '' // 棰勮浜や粯鏃ユ湡
+        saleOrderDeliveryDate: '', // 棰勮浜や粯鏃ユ湡
+
+        paystartdate: '', //   棰勮寮�宸ユ棩鏈�
+        payenddate: ''//  棰勮瀹屽伐鏃ユ湡
       },
       operation: '',
       dialogFormRules: {
@@ -626,34 +710,52 @@
     this.getHeight()
   },
   methods: {
+
+    DateTypeChange(value) {
+      this.form.datatype = value
+    },
+    cycleTimeChange(val) {
+      this.form.timeValue = val
+    },
+
+    pickerChange(value) {
+      console.log(value, 123)
+      this.cycleTime = null
+    },
+
     async getPrentOrganizationNoCompany() {
       const { data: res } = await PrentOrganizationNoCompany()
       this.wkshopcodeArr = res
     },
     async getErpOrderSearch() {
       console.log(this.form, 1)
-      let tempDate2 = this.form.paystartdate
-      if (tempDate2.length > 0) {
-        tempDate2 = handleDatetime(tempDate2[0]) + '~' + handleDatetime(tempDate2[1])
-      }
-
-      let tempDate = this.form.payenddate
-      if (tempDate.length > 0) {
-        tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1])
-      }
+      // let tempDate2 = this.form.paystartdate
+      // if (tempDate2.length > 0) {
+      //   tempDate2 = handleDatetime(tempDate2[0]) + '~' + handleDatetime(tempDate2[1])
+      // }
+      //
+      // let tempDate = this.form.payenddate
+      // if (tempDate.length > 0) {
+      //   tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1])
+      // }
 
       const data = {
-        wkshopcode: this.form.wkshopcode,
+
         erporderstus: this.form.erporderstus, // 璁㈠崟鐘舵�佺爜
+        wkshopcode: this.form.wkshopcode, // 杞﹂棿缂栫爜
         erpordercode: this.form.erpordercode, // 璁㈠崟缂栧彿
+        saleordercode: this.form.saleordercode, // 閿�鍞崟鍙�
+
         partcode: this.form.partcode, // 浜у搧缂栫爜
         partname: this.form.partname, // 浜у搧鍚嶇О
         partspec: this.form.partspec, // 浜у搧瑙勬牸
-        paystartdate: tempDate2, // 浜や粯鏃堕棿
-        payenddate: tempDate, // 浜や粯鏃堕棿
-        saleordercode: this.form.saleordercode,
+
+        datatype: this.form.datatype, // 鏃ユ湡绫诲瀷(璁″垝寮�宸�(PS)銆佽鍒掑畬宸�(PE)銆侀璁′氦浠�(ED))
+        searchdate: this.form.timeValue.join('~'), // 鏃堕棿娈�
+        // paystartdate: tempDate2, // 浜や粯鏃堕棿
+        // payenddate: tempDate, // 浜や粯鏃堕棿
+
         creatuser: this.form.creatuser, // 鍒涘缓浜哄憳
-        // createdate: this.form.createdate.toString().length > 0 ? handleDatetime(this.form.createdate) : '', // 鍒涘缓鏃堕棿
 
         prop: this.form.prop, // 鎺掑簭瀛楁
         order: this.form.order, // 鎺掑簭瀛楁
@@ -723,8 +825,14 @@
       this.form.paystartdate = ''
       this.form.payenddate = ''
       this.form.creatuser = ''
-      this.form.erpordercode = ''
+      this.form.saleordercode = ''
       this.form.createdate = ''
+
+      this.form.timeValue = []
+      this.cycleTime = null
+
+      this.$refs.DateTypeRef.clearValue()
+
       this.getErpOrderSearch()
     },
     // 鍗曢�夋閫変腑鑾峰彇褰撳墠琛屼俊鎭�
@@ -811,7 +919,10 @@
             'relse_qty': i.qty,
             'saleordercode': i.saleOrderCode,
             // 'saleOrderDeliveryDate': i.saleOrderDeliveryDate
-            'saleOrderDeliveryDate': handleDatetime(new Date()) + ' 00:00:00'
+            'saleOrderDeliveryDate': handleDatetime(new Date()) + ' 00:00:00',
+
+            'paystartdate': i.planstartdate,
+            'payenddate': i.planenddate
           })
         })
         // console.log(JSON.parse(JSON.stringify(data)))
@@ -871,6 +982,9 @@
         this.dialogForm.ordernum = 1
         this.dialogForm.relse_qty = row.relse_qty
         this.dialogForm.clerkuser = row.clerkuser
+
+        this.dialogForm.paystartdate = row.planstartdate
+        this.dialogForm.payenddate = row.planenddate
       })
     },
     // 瀵硅瘽妗嗗叧闂簨浠�
@@ -895,6 +1009,9 @@
         markqty: '', // 涓嬪崟鏁伴噺
         ordernum: '', // 涓嬪崟鍗曟暟
         relse_qty: '', // 宸蹭笅鍗曟暟閲�
+
+        payenddate: '', // 棰勮瀹屽伐鏃ユ湡
+        paystartdate: '', // 棰勮寮�宸ユ棩鏈�
 
         saleOrderDeliveryDate: '' // 棰勮浜や粯鏃ユ湡
       }
@@ -933,6 +1050,8 @@
             'erpqty': this.dialogForm.erpqty,
             'markqty': this.dialogForm.markqty,
             'ordernum': this.dialogForm.ordernum,
+            'payenddate': this.dialogForm.payenddate,
+            'paystartdate': this.dialogForm.paystartdate,
             'relse_qty': this.dialogForm.relse_qty,
             'saleOrderDeliveryDate': handleDatetime(this.dialogForm.saleOrderDeliveryDate) + ' 00:00:00'
           }
@@ -961,6 +1080,45 @@
     },
     tableRowClassName({ row, rowIndex }) {
       return 'custom-row'
+    },
+    getSummaries(param) {
+      const { columns, data } = param
+      const sums = []
+      const i = 7
+      columns.forEach((column, index) => {
+        if (index === i) {
+          sums[index] = '鎬绘暟'
+          return
+        }
+        const values = data.map(item => Number(item[column.property]))
+        if (column.property === 'qty') {
+          sums[index] = values.reduce((prev, curr) => {
+            const value = Number(curr)
+            if (!isNaN(value)) {
+              return prev + curr
+              // return Math.round(prev * 100) / 100 + Math.round(curr * 100) / 100
+            }
+          }, 0)
+
+          sums[index] += ' 鍗�'
+        }
+        if (column.property === 'relse_qty') {
+          sums[index] = values.reduce((prev, curr) => {
+            const value = Number(curr)
+            if (!isNaN(value)) {
+              return prev + curr
+              // return Math.round(prev * 100) / 100 + Math.round(curr * 100) / 100
+            }
+          }, 0)
+
+          sums[index] += ' 鍗�'
+        }
+      })
+
+      this.$nextTick(() => {
+        this.$refs.tableDataRef.doLayout()
+      })
+      return sums
     }
   }
 }
@@ -1106,7 +1264,8 @@
     margin-top: -3px;
   }
 }
-::v-deep .el-icon-delete  {
+
+::v-deep .el-icon-delete {
   cursor: pointer;
   margin-right: 0px !important;
 }
@@ -1123,5 +1282,11 @@
 .el-loading-text {
   font-size: 26px !important;
 }
+
+.el-picker-panel__footer {
+  display: flex !important;
+  justify-content: flex-end !important;
+}
+
 </style>
 

--
Gitblit v1.9.3