From a563ea879ef5fb6897e76d2df661e465dce2ab9b Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 01 六月 2026 15:02:27 +0800
Subject: [PATCH] Merge branch 'dev_新疆_大罗素马铃薯new' of http://114.132.189.42:9002/r/product-inventory-management into dev_新疆_大罗素马铃薯new

---
 src/views/inventoryManagement/dispatchLog/Record.vue |  543 +++++++++++++++++++++++++++++------------------------
 1 files changed, 296 insertions(+), 247 deletions(-)

diff --git a/src/views/inventoryManagement/dispatchLog/Record.vue b/src/views/inventoryManagement/dispatchLog/Record.vue
index dd47cb4..431fd24 100644
--- a/src/views/inventoryManagement/dispatchLog/Record.vue
+++ b/src/views/inventoryManagement/dispatchLog/Record.vue
@@ -1,41 +1,82 @@
 <template>
   <div>
     <div class="search_form" style="margin-bottom: 10px">
-      <div>
-        <span class="search_title ml10">鍑哄簱鏃ユ湡锛�</span>
-        <el-date-picker
-          v-model="searchForm.timeStr"
-          type="date"
-          placeholder="璇烽�夋嫨鏃ユ湡"
-          value-format="YYYY-MM-DD"
-          format="YYYY-MM-DD"
-          clearable
-          @change="handleQuery"
-        />
-        <span class="search_title ml10">鏉ユ簮锛�</span>
-        <el-select
-          v-model="searchForm.recordType"
-          style="width: 240px"
-          placeholder="璇烽�夋嫨"
-          clearable
-        >
-          <el-option
-            v-for="item in stockRecordTypeOptions"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value"
-          />
-        </el-select>
-        <el-button type="primary" @click="handleQuery" style="margin-left: 10px"
-          >鎼滅储</el-button
-        >
-      </div>
-      <div>
-        <el-button type="primary" @click="handleBatchApprove">瀹℃壒</el-button>
-        <el-button @click="handleOut">瀵煎嚭</el-button>
-        <el-button type="danger" plain @click="handleDelete">鍒犻櫎</el-button>
-        <el-button type="primary" plain @click="handlePrint">鎵撳嵃</el-button>
-      </div>
+      <el-form ref="searchFormRef" :model="searchForm" class="demo-form-inline">
+        <el-row :gutter="20">
+          <el-col :span="4">
+            <el-form-item label="鍑哄簱鏃ユ湡" prop="timeStr">
+              <el-date-picker
+                v-model="searchForm.timeStr"
+                type="date"
+                placeholder="璇烽�夋嫨鏃ユ湡"
+                value-format="YYYY-MM-DD"
+                format="YYYY-MM-DD"
+                clearable
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="4">
+            <el-form-item label="浜у搧澶х被" prop="productName">
+              <el-input
+                v-model="searchForm.productName"
+                style="width: 240px"
+                placeholder="璇疯緭鍏�"
+                clearable
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="4">
+            <el-form-item label="瑙勬牸鍨嬪彿" prop="model">
+              <el-input
+                v-model="searchForm.model"
+                style="width: 240px"
+                placeholder="璇疯緭鍏�"
+                clearable
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="4">
+            <el-form-item label="鎵瑰彿" prop="batchNo">
+              <el-input
+                v-model="searchForm.batchNo"
+                style="width: 240px"
+                placeholder="璇疯緭鍏�"
+                clearable
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="4">
+            <el-form-item label="鏉ユ簮" prop="recordType">
+              <el-select
+                v-model="searchForm.recordType"
+                style="width: 240px"
+                placeholder="璇烽�夋嫨"
+                clearable
+              >
+                <el-option
+                  v-for="item in stockRecordTypeOptions"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                />
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <!-- 鎸夐挳 -->
+          <el-col :span="4">
+            <el-form-item>
+              <el-button type="primary" @click="getList"> 鎼滅储 </el-button>
+              <el-button @click="resetSearch"> 閲嶇疆 </el-button>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+    <div class="actions">
+      <el-button type="primary" @click="handleBatchApprove">瀹℃壒</el-button>
+      <el-button @click="handleOut">瀵煎嚭</el-button>
+      <el-button type="danger" plain @click="handleDelete">鍒犻櫎</el-button>
+      <el-button type="primary" plain @click="handlePrint">鎵撳嵃</el-button>
     </div>
     <div class="table_list">
       <el-table
@@ -58,7 +99,7 @@
         />
         <el-table-column
           label="鍑哄簱鏃ユ湡"
-          prop="createTime"
+          prop="updateTime"
           show-overflow-tooltip
         />
         <el-table-column
@@ -162,12 +203,14 @@
 });
 const { searchForm } = toRefs(data);
 
-// 鏌ヨ鍒楄〃
-/** 鎼滅储鎸夐挳鎿嶄綔 */
-const handleQuery = () => {
+const searchFormRef = ref(null);
+
+const resetSearch = () => {
+  searchFormRef.value?.resetFields();
   page.current = 1;
   getList();
 };
+
 const paginationChange = (obj) => {
   page.current = obj.page;
   page.size = obj.limit;
@@ -363,238 +406,238 @@
 
   // 鏋勫缓鎵撳嵃鍐呭
   let printContent = `
-    <!DOCTYPE html>
-    <html>
-    <head>
-      <meta charset="UTF-8">
-      <title>鎵撳嵃棰勮</title>
-      <style>
-        body {
-          margin: 0;
-          padding: 0;
-          font-family: "SimSun", serif;
-          background: white;
-        }
-                                                     .print-page {
-            width: 200mm;
-            height: 75mm;
-            padding: 10mm;
-            padding-left: 20mm;
-            background: white;
-            box-sizing: border-box;
-            page-break-after: always;
-            page-break-inside: avoid;
-          }
-         .print-page:last-child {
-           page-break-after: avoid;
-         }
-        .delivery-note {
-          width: 100%;
-          height: 100%;
-          font-size: 12px;
-          line-height: 1.2;
-          display: flex;
-          flex-direction: column;
-          color: #000;
-        }
-        .header {
-          text-align: center;
-          margin-bottom: 8px;
-        }
-        .company-name {
-          font-size: 18px;
-          font-weight: bold;
-          margin-bottom: 4px;
-        }
-        .document-title {
-          font-size: 16px;
-          font-weight: bold;
-        }
-        .info-section {
-          margin-bottom: 8px;
-          display: flex;
-          justify-content: space-between;
-          align-items: center;
-        }
-        .info-row {
-          line-height: 20px;
-        }
-        .label {
-          font-weight: bold;
-          width: 60px;
-          font-size: 12px;
-        }
-        .value {
-          margin-right: 20px;
-          min-width: 80px;
-          font-size: 12px;
-        }
-                 .table-section {
-                 margin-bottom: 40px;
-          //  flex: 0.6;
-         }
-        .product-table {
-          width: 100%;
-          border-collapse: collapse;
-          border: 1px solid #000;
-        }
-                 .product-table th, .product-table td {
-           border: 1px solid #000;
-           padding: 6px;
-           text-align: center;
-           font-size: 12px;
-           line-height: 1.4;
-         }
-        .product-table th {
-          font-weight: bold;
-        }
-        .total-value {
-          font-weight: bold;
-        }
-        .footer-section {
-          margin-top: auto;
-        }
-        .footer-row {
-          display: flex;
-          margin-bottom: 3px;
-          line-height: 22px;
-          justify-content: space-between;
-        }
-        .footer-item {
-          display: flex;
-          margin-right: 20px;
-        }
-        .footer-item .label {
-          font-weight: bold;
-          width: 80px;
-          font-size: 12px;
-        }
-        .footer-item .value {
-          min-width: 80px;
-          font-size: 12px;
-        }
-        .address-item .address-value {
-          min-width: 200px;
-        }
-        @media print {
+      <!DOCTYPE html>
+      <html>
+      <head>
+        <meta charset="UTF-8">
+        <title>鎵撳嵃棰勮</title>
+        <style>
           body {
             margin: 0;
             padding: 0;
+            font-family: "SimSun", serif;
+            background: white;
           }
-                     .print-page {
-             margin: 0;
-             padding: 10mm;
-             /* padding-left: 20mm; */
-             page-break-inside: avoid;
-             page-break-after: always;
-           }
+                                                       .print-page {
+              width: 200mm;
+              height: 75mm;
+              padding: 10mm;
+              padding-left: 20mm;
+              background: white;
+              box-sizing: border-box;
+              page-break-after: always;
+              page-break-inside: avoid;
+            }
            .print-page:last-child {
              page-break-after: avoid;
            }
-        }
-      </style>
-    </head>
-    <body>
-  `;
+          .delivery-note {
+            width: 100%;
+            height: 100%;
+            font-size: 12px;
+            line-height: 1.2;
+            display: flex;
+            flex-direction: column;
+            color: #000;
+          }
+          .header {
+            text-align: center;
+            margin-bottom: 8px;
+          }
+          .company-name {
+            font-size: 18px;
+            font-weight: bold;
+            margin-bottom: 4px;
+          }
+          .document-title {
+            font-size: 16px;
+            font-weight: bold;
+          }
+          .info-section {
+            margin-bottom: 8px;
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+          }
+          .info-row {
+            line-height: 20px;
+          }
+          .label {
+            font-weight: bold;
+            width: 60px;
+            font-size: 12px;
+          }
+          .value {
+            margin-right: 20px;
+            min-width: 80px;
+            font-size: 12px;
+          }
+                   .table-section {
+                   margin-bottom: 40px;
+            //  flex: 0.6;
+           }
+          .product-table {
+            width: 100%;
+            border-collapse: collapse;
+            border: 1px solid #000;
+          }
+                   .product-table th, .product-table td {
+             border: 1px solid #000;
+             padding: 6px;
+             text-align: center;
+             font-size: 12px;
+             line-height: 1.4;
+           }
+          .product-table th {
+            font-weight: bold;
+          }
+          .total-value {
+            font-weight: bold;
+          }
+          .footer-section {
+            margin-top: auto;
+          }
+          .footer-row {
+            display: flex;
+            margin-bottom: 3px;
+            line-height: 22px;
+            justify-content: space-between;
+          }
+          .footer-item {
+            display: flex;
+            margin-right: 20px;
+          }
+          .footer-item .label {
+            font-weight: bold;
+            width: 80px;
+            font-size: 12px;
+          }
+          .footer-item .value {
+            min-width: 80px;
+            font-size: 12px;
+          }
+          .address-item .address-value {
+            min-width: 200px;
+          }
+          @media print {
+            body {
+              margin: 0;
+              padding: 0;
+            }
+                       .print-page {
+               margin: 0;
+               padding: 10mm;
+               /* padding-left: 20mm; */
+               page-break-inside: avoid;
+               page-break-after: always;
+             }
+             .print-page:last-child {
+               page-break-after: avoid;
+             }
+          }
+        </style>
+      </head>
+      <body>
+    `;
 
   // 涓烘瘡鏉℃暟鎹敓鎴愭墦鍗伴〉闈�
   printData.value.forEach((item, index) => {
     printContent += `
-      <div class="print-page">
-        <div class="delivery-note">
-          <div class="header">
-            <div class="document-title">闆跺敭鍙戣揣鍗�</div>
-          </div>
-          
-          <div class="info-section">
-            <div class="info-row">
-              <div>
-                <span class="label">鍙戣揣鏃ユ湡锛�</span>
-                <span class="value">${formatDate(item.createTime)}</span>
+        <div class="print-page">
+          <div class="delivery-note">
+            <div class="header">
+              <div class="document-title">闆跺敭鍙戣揣鍗�</div>
+            </div>
+            
+            <div class="info-section">
+              <div class="info-row">
+                <div>
+                  <span class="label">鍙戣揣鏃ユ湡锛�</span>
+                  <span class="value">${formatDate(item.createTime)}</span>
+                </div>
+                <div>
+                  <span class="label">瀹㈡埛鍚嶇О锛�</span>
+                  <span class="value">${item.supplierName}</span>
+                </div>
               </div>
-              <div>
-                <span class="label">瀹㈡埛鍚嶇О锛�</span>
-                <span class="value">${item.supplierName}</span>
+              <div class="info-row">
+                <span class="label">鍗曞彿锛�</span>
+                <span class="value">${item.code || ""}</span>
               </div>
             </div>
-            <div class="info-row">
-              <span class="label">鍗曞彿锛�</span>
-              <span class="value">${item.code || ""}</span>
-            </div>
-          </div>
 
-          <div class="table-section">
-            <table class="product-table">
-              <thead>
-                <tr>
-                  <th>浜у搧鍚嶇О</th>
-                  <th>瑙勬牸鍨嬪彿</th>
-                  <th>鍗曚綅</th>
-                  <th>鍗曚环</th>
-                  <th>闆跺敭鏁伴噺</th>
-                  <th>闆跺敭閲戦</th>
-                </tr>
-              </thead>
-              <tbody>
-                <tr>
-                  <td>${item.productName || "鐮傜伆鐮�"}</td>
-                  <td>${item.model || "鏍囧噯"}</td>
-                  <td>${item.unit || "鍧�"}</td>
-                  <td>${item.taxInclusiveUnitPrice || "0"}</td>
-                  <td>${item.inboundNum || "2000"}</td>
-                  <td>${item.taxInclusiveTotalPrice || "0"}</td>
-                </tr>
-              </tbody>
-              <tfoot>
-                <tr>
-                  <td class="label">鍚堣</td>
-                  <td class="total-value"></td>
-                  <td class="total-value"></td>
-                  <td class="total-value"></td>
-                  <td class="total-value">${item.inboundNum || "2000"}</td>
-                  <td class="total-value">${
-                    item.taxInclusiveTotalPrice || "0"
-                  }</td>
-                </tr>
-              </tfoot>
-            </table>
-          </div>
-
-          <div class="footer-section">
-            <div class="footer-row">
-              <div class="footer-item">
-                <span class="label">鏀惰揣鐢佃瘽锛�</span>
-                <span class="value"></span>
-              </div>
-              <div class="footer-item">
-                <span class="label">鏀惰揣浜猴細</span>
-                <span class="value"></span>
-              </div>
-              <div class="footer-item address-item">
-                <span class="label">鏀惰揣鍦板潃锛�</span>
-                <span class="value address-value"></span>
-              </div>
+            <div class="table-section">
+              <table class="product-table">
+                <thead>
+                  <tr>
+                    <th>浜у搧鍚嶇О</th>
+                    <th>瑙勬牸鍨嬪彿</th>
+                    <th>鍗曚綅</th>
+                    <th>鍗曚环</th>
+                    <th>闆跺敭鏁伴噺</th>
+                    <th>闆跺敭閲戦</th>
+                  </tr>
+                </thead>
+                <tbody>
+                  <tr>
+                    <td>${item.productName || "鐮傜伆鐮�"}</td>
+                    <td>${item.model || "鏍囧噯"}</td>
+                    <td>${item.unit || "鍧�"}</td>
+                    <td>${item.taxInclusiveUnitPrice || "0"}</td>
+                    <td>${item.inboundNum || "2000"}</td>
+                    <td>${item.taxInclusiveTotalPrice || "0"}</td>
+                  </tr>
+                </tbody>
+                <tfoot>
+                  <tr>
+                    <td class="label">鍚堣</td>
+                    <td class="total-value"></td>
+                    <td class="total-value"></td>
+                    <td class="total-value"></td>
+                    <td class="total-value">${item.inboundNum || "2000"}</td>
+                    <td class="total-value">${
+                      item.taxInclusiveTotalPrice || "0"
+                    }</td>
+                  </tr>
+                </tfoot>
+              </table>
             </div>
-            <div class="footer-row">
-              <div class="footer-item">
-                <span class="label">鎿嶄綔鍛橈細</span>
-                <span class="value">${userStore.nickName || "鎾曞紑鍓�"}</span>
+
+            <div class="footer-section">
+              <div class="footer-row">
+                <div class="footer-item">
+                  <span class="label">鏀惰揣鐢佃瘽锛�</span>
+                  <span class="value"></span>
+                </div>
+                <div class="footer-item">
+                  <span class="label">鏀惰揣浜猴細</span>
+                  <span class="value"></span>
+                </div>
+                <div class="footer-item address-item">
+                  <span class="label">鏀惰揣鍦板潃锛�</span>
+                  <span class="value address-value"></span>
+                </div>
               </div>
-              <div class="footer-item">
-                <span class="label">鎵撳嵃鏃ユ湡锛�</span>
-                <span class="value">${formatDateTime(new Date())}</span>
+              <div class="footer-row">
+                <div class="footer-item">
+                  <span class="label">鎿嶄綔鍛橈細</span>
+                  <span class="value">${userStore.nickName || "鎾曞紑鍓�"}</span>
+                </div>
+                <div class="footer-item">
+                  <span class="label">鎵撳嵃鏃ユ湡锛�</span>
+                  <span class="value">${formatDateTime(new Date())}</span>
+                </div>
               </div>
             </div>
           </div>
         </div>
-      </div>
-    `;
+      `;
   });
 
   printContent += `
-    </body>
-    </html>
-  `;
+      </body>
+      </html>
+    `;
 
   // 鍐欏叆鍐呭鍒版柊绐楀彛
   printWindow.document.write(printContent);
@@ -812,4 +855,10 @@
     page-break-after: avoid;
   }
 }
+
+.actions {
+  display: flex;
+  justify-content: flex-end;
+  margin-bottom: 10px;
+}
 </style>

--
Gitblit v1.9.3