From 1fcf1eb2f9d7a27077fe2fc8d447b6ea02b46f15 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 11 八月 2026 16:20:10 +0800
Subject: [PATCH] fix: 原料检重复检测单位列

---
 src/views/salesManagement/salesLedger/index.vue |  977 +++++++++++++-------------------------------------------
 1 files changed, 237 insertions(+), 740 deletions(-)

diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 5c643d7..21ee63d 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -3,42 +3,20 @@
     <div class="search_form">
       <el-form :model="searchForm" :inline="true">
         <el-form-item label="瀹㈡埛鍚嶇О锛�">
-          <el-input
-            v-model="searchForm.customerName"
-            placeholder="璇疯緭鍏�"
-            clearable
-            prefix-icon="Search"
-            @change="handleQuery"
-          />
+          <el-input v-model="searchForm.customerName" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
+            @change="handleQuery" />
         </el-form-item>
         <el-form-item label="閿�鍞悎鍚屽彿锛�">
-          <el-input
-            v-model="searchForm.salesContractNo"
-            placeholder="璇疯緭鍏�"
-            clearable
-            prefix-icon="Search"
-            @change="handleQuery"
-          />
+          <el-input v-model="searchForm.salesContractNo" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
+            @change="handleQuery" />
         </el-form-item>
         <el-form-item label="椤圭洰鍚嶇О锛�">
-          <el-input
-            v-model="searchForm.projectName"
-            placeholder="璇疯緭鍏�"
-            clearable
-            prefix-icon="Search"
-            @change="handleQuery"
-          />
+          <el-input v-model="searchForm.projectName" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
+            @change="handleQuery" />
         </el-form-item>
         <el-form-item label="褰曞叆鏃ユ湡锛�">
-          <el-date-picker
-            v-model="searchForm.entryDate"
-            value-format="YYYY-MM-DD"
-            format="YYYY-MM-DD"
-            type="daterange"
-            placeholder="璇烽�夋嫨"
-            clearable
-            @change="changeDaterange"
-          />
+          <el-date-picker v-model="searchForm.entryDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD" type="daterange"
+            placeholder="璇烽�夋嫨" clearable @change="changeDaterange" />
         </el-form-item>
         <el-form-item>
           <el-button type="primary" @click="handleQuery"> 鎼滅储 </el-button>
@@ -52,60 +30,34 @@
           <el-button type="primary" @click="openForm('add')">
             鏂板鍙拌处
           </el-button>
-          <el-button type="primary" plain @click="handleImport"
-            >瀵煎叆
+          <el-button type="primary" plain @click="handleImport">瀵煎叆
           </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>
-      <el-table
-        :data="tableData"
-        border
-        v-loading="tableLoading"
-        @selection-change="handleSelectionChange"
-        :expand-row-keys="expandedRowKeys"
-        :row-key="(row) => row.id"
-        :row-class-name="tableRowClassName"
-        show-summary
-        style="width: 100%"
-        :summary-method="summarizeMainTable"
-        @expand-change="expandChange"
-        height="calc(100vh - 18.5em)"
-      >
-        <el-table-column
-          align="center"
-          type="selection"
-          width="55"
-          fixed="left"
-        />
+      <el-table :data="tableData" border v-loading="tableLoading" @selection-change="handleSelectionChange"
+        :expand-row-keys="expandedRowKeys" :row-key="(row) => row.id" :row-class-name="tableRowClassName" show-summary
+        style="width: 100%" :summary-method="summarizeMainTable" @expand-change="expandChange"
+        height="calc(100vh - 18.5em)">
+        <el-table-column align="center" type="selection" width="55" fixed="left" />
         <el-table-column type="expand" width="60" fixed="left">
           <template #default="props">
-            <el-table
-              :data="props.row.children"
-              border
-              show-summary
-              :summary-method="
-                (param) => summarizeChildrenTable(param, props.row)
-              "
-            >
+            <el-table :data="props.row.children" border show-summary :summary-method="(param) => summarizeChildrenTable(param, props.row)
+              ">
               <el-table-column align="center" label="搴忓彿" type="index" />
               <el-table-column label="浜у搧澶х被" prop="productCategory" />
               <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" />
               <el-table-column label="鍗曚綅" prop="unit" />
               <el-table-column label="浜у搧鐘舵��" width="100px" align="center">
                 <template #default="scope">
-                  <el-tag v-if="scope.row.approveStatus === 1" type="success"
-                    >鍏呰冻
+                  <el-tag v-if="scope.row.approveStatus === 1" type="success">鍏呰冻
                   </el-tag>
-                  <el-tag
-                    v-else-if="
-                      scope.row.approveStatus === 0 &&
-                      scope.row.noQuantity === 0
-                    "
-                    type="success"
-                    >宸插嚭搴�
+                  <el-tag v-else-if="
+                    scope.row.approveStatus === 0 &&
+                    scope.row.noQuantity === 0
+                  " type="success">宸插嚭搴�
                   </el-tag>
                   <el-tag v-else type="danger">涓嶈冻 </el-tag>
                 </template>
@@ -122,21 +74,12 @@
                   <span>{{ scope.row.pendingApprovalQuantity || 0 }}</span>
                 </template>
               </el-table-column>
-              <el-table-column
-                label="蹇�掑叕鍙�"
-                prop="expressCompany"
-                show-overflow-tooltip
-              />
-              <el-table-column
-                label="蹇�掑崟鍙�"
-                prop="expressNumber"
-                show-overflow-tooltip
-              />
+              <el-table-column label="蹇�掑叕鍙�" prop="expressCompany" show-overflow-tooltip />
+              <el-table-column label="蹇�掑崟鍙�" prop="expressNumber" show-overflow-tooltip />
               <el-table-column label="鍙戣揣杞︾墝" minWidth="100px" align="center">
                 <template #default="scope">
                   <div>
-                    <el-tag type="success" v-if="scope.row.shippingCarNumber"
-                      >{{ scope.row.shippingCarNumber }}
+                    <el-tag type="success" v-if="scope.row.shippingCarNumber">{{ scope.row.shippingCarNumber }}
                     </el-tag>
                     <el-tag v-else type="info">- </el-tag>
                   </div>
@@ -153,32 +96,16 @@
                 </template>
               </el-table-column>
               <el-table-column label="鏁伴噺" prop="quantity" />
+              <el-table-column label="閫�璐ф暟閲�" prop="returnQuantity" />
               <el-table-column label="寰呭彂璐ф暟閲�" prop="noQuantity" />
               <el-table-column label="绋庣巼(%)" prop="taxRate" />
-              <el-table-column
-                label="鍚◣鍗曚环(鍏�)"
-                prop="taxInclusiveUnitPrice"
-                :formatter="sensitiveAmountFormatter"
-              />
-              <el-table-column
-                label="鍚◣鎬讳环(鍏�)"
-                prop="taxInclusiveTotalPrice"
-                :formatter="sensitiveAmountFormatter"
-              />
-              <el-table-column
-                label="涓嶅惈绋庢�讳环(鍏�)"
-                prop="taxExclusiveTotalPrice"
-                :formatter="sensitiveAmountFormatter"
-              />
+              <el-table-column label="鍚◣鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" :formatter="sensitiveAmountFormatter" />
+              <el-table-column label="鍚◣鎬讳环(鍏�)" prop="taxInclusiveTotalPrice" :formatter="sensitiveAmountFormatter" />
+              <el-table-column label="涓嶅惈绋庢�讳环(鍏�)" prop="taxExclusiveTotalPrice" :formatter="sensitiveAmountFormatter" />
               <!--鎿嶄綔-->
               <el-table-column Width="60px" label="鎿嶄綔" align="center">
                 <template #default="scope">
-                  <el-button
-                    link
-                    type="primary"
-                    :disabled="!canShip(scope.row)"
-                    @click="openDeliveryForm(scope.row)"
-                  >
+                  <el-button link type="primary" :disabled="!canShip(scope.row)" @click="openDeliveryForm(scope.row)">
                     鍙戣揣
                   </el-button>
                 </template>
@@ -187,125 +114,49 @@
           </template>
         </el-table-column>
         <el-table-column align="center" label="搴忓彿" type="index" width="60" />
-        <el-table-column
-          label="閿�鍞悎鍚屽彿"
-          prop="salesContractNo"
-          width="180"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          label="瀹㈡埛鍚嶇О"
-          prop="customerName"
-          width="300"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          label="涓氬姟鍛�"
-          prop="salesman"
-          width="100"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          label="椤圭洰鍚嶇О"
-          prop="projectName"
-          width="180"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          label="浠樻鏂瑰紡"
-          prop="paymentMethod"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          label="鍚堝悓閲戦(鍏�)"
-          prop="contractAmount"
+        <el-table-column label="閿�鍞悎鍚屽彿" prop="salesContractNo" width="180" show-overflow-tooltip />
+        <el-table-column label="瀹㈡埛鍚嶇О" prop="customerName" width="300" show-overflow-tooltip />
+        <el-table-column label="涓氬姟鍛�" prop="salesman" width="100" show-overflow-tooltip />
+        <el-table-column label="椤圭洰鍚嶇О" prop="projectName" width="180" show-overflow-tooltip />
+        <el-table-column label="浠樻鏂瑰紡" prop="paymentMethod" show-overflow-tooltip />
+        <el-table-column label="鍚堝悓閲戦(鍏�)" prop="contractAmount" width="220" show-overflow-tooltip
+          :formatter="formattedNumber" />
+        <!-- <el-table-column
+          label="瀹為檯鍚堝悓閲戦(鍏�)"
+          prop="netContractAmount"
           width="220"
           show-overflow-tooltip
           :formatter="formattedNumber"
-        />
-        <el-table-column
-          label="褰曞叆浜�"
-          prop="entryPersonName"
-          width="100"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          label="褰曞叆鏃ユ湡"
-          prop="entryDate"
-          width="120"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          label="绛捐鏃ユ湡"
-          prop="executionDate"
-          width="120"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          label="浜や粯鏃ユ湡"
-          prop="deliveryDate"
-          width="120"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          label="澶囨敞"
-          prop="remarks"
-          width="200"
-          show-overflow-tooltip
-        />
+        /> -->
+        <el-table-column label="褰曞叆浜�" prop="entryPersonName" width="100" show-overflow-tooltip />
+        <el-table-column label="褰曞叆鏃ユ湡" prop="entryDate" width="120" show-overflow-tooltip />
+        <el-table-column label="绛捐鏃ユ湡" prop="executionDate" width="120" show-overflow-tooltip />
+        <el-table-column label="浜や粯鏃ユ湡" prop="deliveryDate" width="120" show-overflow-tooltip />
+        <el-table-column label="澶囨敞" prop="remarks" width="200" show-overflow-tooltip />
         <el-table-column fixed="right" label="鎿嶄綔" width="220" align="center">
           <template #default="scope">
-            <el-button link type="primary" @click="openForm('view', scope.row)"
-              >璇︽儏
+            <el-button link type="primary" @click="openForm('view', scope.row)">璇︽儏
             </el-button>
-            <el-button
-              link
-              type="primary"
-              @click="openForm('edit', scope.row)"
-              :disabled="
-                !scope.row.isEdit ||
-                scope.row.hasProductionRecord ||
-                !canEditLedger(scope.row)
-              "
-              >缂栬緫
+            <el-button link type="primary" @click="openForm('edit', scope.row)" :disabled="!scope.row.isEdit ||
+              scope.row.hasProductionRecord ||
+              !canEditLedger(scope.row)
+              ">缂栬緫
             </el-button>
-            <el-button link type="primary" @click="openFileDialog(scope.row)"
-              >闄勪欢
+            <el-button link type="primary" @click="openFileDialog(scope.row)">闄勪欢
             </el-button>
           </template>
         </el-table-column>
       </el-table>
-      <pagination
-        v-show="total > 0"
-        :total="total"
-        layout="total, sizes, prev, pager, next, jumper"
-        :page="page.current"
-        :limit="page.size"
-        @pagination="paginationChange"
-      />
+      <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper"
+        :page="page.current" :limit="page.size" @pagination="paginationChange" />
     </div>
-    <FormDialog
-      v-model="dialogFormVisible"
-      :title="
-        operationType === 'add'
-          ? '鏂板閿�鍞彴璐﹂〉闈�'
-          : operationType === 'edit'
+    <FormDialog v-model="dialogFormVisible" :title="operationType === 'add'
+        ? '鏂板閿�鍞彴璐﹂〉闈�'
+        : operationType === 'edit'
           ? '缂栬緫閿�鍞彴璐﹂〉闈�'
           : '閿�鍞彴璐﹁鎯�'
-      "
-      :width="'70%'"
-      :operation-type="operationType"
-      @close="closeDia"
-      @confirm="submitForm"
-      @cancel="closeDia"
-    >
-      <el-form
-        :model="form"
-        label-width="140px"
-        label-position="top"
-        :rules="rules"
-        ref="formRef"
-      >
+      " :width="'70%'" :operation-type="operationType" @close="closeDia" @confirm="submitForm" @cancel="closeDia">
+      <el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef">
         <!-- 鎶ヤ环鍗曞鍏ュ叆鍙o細鏀惧湪琛ㄥ崟椤堕儴锛岄�夋嫨鍚庡弽鏄惧鎴�/涓氬姟鍛樼瓑 -->
         <el-row v-if="operationType === 'add'" style="margin-bottom: 10px">
           <el-col :span="24" style="text-align: right">
@@ -317,47 +168,26 @@
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="閿�鍞悎鍚屽彿锛�" prop="salesContractNo">
-              <div
-                style="
+              <div style="
                   display: flex;
                   align-items: center;
                   gap: 12px;
                   width: 100%;
-                "
-              >
-                <el-checkbox
-                  v-model="form.autoGenerateContractNo"
-                  v-if="operationType === 'add'"
-                  >鑷姩鐢熸垚
+                ">
+                <el-checkbox v-model="form.autoGenerateContractNo" v-if="operationType === 'add'">鑷姩鐢熸垚
                 </el-checkbox>
-                <el-input
-                  v-model="form.salesContractNo"
-                  :placeholder="
-                    form.autoGenerateContractNo ? '淇濆瓨鍚庤嚜鍔ㄧ敓鎴�' : '璇疯緭鍏�'
-                  "
-                  clearable
-                  :disabled="
-                    form.autoGenerateContractNo || operationType === 'view'
-                  "
-                />
+                <el-input v-model="form.salesContractNo" :placeholder="form.autoGenerateContractNo ? '淇濆瓨鍚庤嚜鍔ㄧ敓鎴�' : '璇疯緭鍏�'
+                  " clearable :disabled="form.autoGenerateContractNo || operationType === 'view'
+                    " />
               </div>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="涓氬姟鍛橈細" prop="salesman">
-              <el-select
-                v-model="form.salesman"
-                placeholder="璇烽�夋嫨"
-                clearable
-                :disabled="operationType === 'view'"
-                filterable
-              >
-                <el-option
-                  v-for="item in userList"
-                  :key="item.nickName"
-                  :label="item.nickName"
-                  :value="item.nickName"
-                />
+              <el-select v-model="form.salesman" placeholder="璇烽�夋嫨" clearable :disabled="operationType === 'view'"
+                filterable>
+                <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName"
+                  :value="item.nickName" />
               </el-select>
             </el-form-item>
           </el-col>
@@ -365,19 +195,9 @@
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="瀹㈡埛鍚嶇О锛�" prop="customerId">
-              <el-select
-                v-model="form.customerId"
-                placeholder="璇烽�夋嫨"
-                clearable
-                :disabled="operationType === 'view'"
-                filterable
-              >
-                <el-option
-                  v-for="item in customerOption"
-                  :key="item.id"
-                  :label="item.customerName"
-                  :value="item.id"
-                >
+              <el-select v-model="form.customerId" placeholder="璇烽�夋嫨" clearable :disabled="operationType === 'view'"
+                filterable>
+                <el-option v-for="item in customerOption" :key="item.id" :label="item.customerName" :value="item.id">
                   {{
                     item.customerName + "鈥斺��" + item.taxpayerIdentificationNumber
                   }}
@@ -387,151 +207,68 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="椤圭洰鍚嶇О锛�" prop="projectName">
-              <el-input
-                v-model="form.projectName"
-                placeholder="璇疯緭鍏�"
-                clearable
-                :disabled="operationType === 'view'"
-              />
+              <el-input v-model="form.projectName" placeholder="璇疯緭鍏�" clearable :disabled="operationType === 'view'" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="绛捐鏃ユ湡锛�" prop="executionDate">
-              <el-date-picker
-                style="width: 100%"
-                v-model="form.executionDate"
-                value-format="YYYY-MM-DD"
-                format="YYYY-MM-DD"
-                type="date"
-                placeholder="璇烽�夋嫨"
-                clearable
-                :disabled="operationType === 'view'"
-              />
+              <el-date-picker style="width: 100%" v-model="form.executionDate" value-format="YYYY-MM-DD"
+                format="YYYY-MM-DD" type="date" placeholder="璇烽�夋嫨" clearable :disabled="operationType === 'view'" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="浠樻鏂瑰紡">
-              <el-input
-                v-model="form.paymentMethod"
-                placeholder="璇疯緭鍏�"
-                clearable
-                :disabled="operationType === 'view'"
-              />
+              <el-input v-model="form.paymentMethod" placeholder="璇疯緭鍏�" clearable :disabled="operationType === 'view'" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="褰曞叆浜猴細" prop="entryPerson">
-              <el-select
-                v-model="form.entryPerson"
-                filterable
-                default-first-option
-                :reserve-keyword="false"
-                placeholder="璇烽�夋嫨"
-                clearable
-                :disabled="operationType === 'view'"
-                @change="changs"
-              >
-                <el-option
-                  v-for="item in userList"
-                  :key="item.userId"
-                  :label="item.nickName"
-                  :value="item.userId"
-                />
+              <el-select v-model="form.entryPerson" filterable default-first-option :reserve-keyword="false"
+                placeholder="璇烽�夋嫨" clearable :disabled="operationType === 'view'" @change="changs">
+                <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId" />
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="褰曞叆鏃ユ湡锛�" prop="entryDate">
-              <el-date-picker
-                style="width: 100%"
-                v-model="form.entryDate"
-                value-format="YYYY-MM-DD"
-                format="YYYY-MM-DD"
-                type="date"
-                placeholder="璇烽�夋嫨"
-                clearable
-                :disabled="operationType === 'view'"
-              />
+              <el-date-picker style="width: 100%" v-model="form.entryDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD"
+                type="date" placeholder="璇烽�夋嫨" clearable :disabled="operationType === 'view'" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="浜よ揣鏃ユ湡锛�" prop="entryDate">
-              <el-date-picker
-                style="width: 100%"
-                v-model="form.deliveryDate"
-                value-format="YYYY-MM-DD"
-                format="YYYY-MM-DD"
-                type="date"
-                placeholder="璇烽�夋嫨"
-                clearable
-                :disabled="operationType === 'view'"
-              />
+              <el-date-picker style="width: 100%" v-model="form.deliveryDate" value-format="YYYY-MM-DD"
+                format="YYYY-MM-DD" type="date" placeholder="璇烽�夋嫨" clearable :disabled="operationType === 'view'" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-form-item label="浜у搧淇℃伅锛�" prop="entryDate">
-            <el-button
-              v-if="operationType !== 'view'"
-              type="primary"
-              @click="openProductForm('add')"
-              >娣诲姞
+            <el-button v-if="operationType !== 'view'" type="primary" @click="openProductForm('add')">娣诲姞
             </el-button>
-            <el-button
-              v-if="operationType !== 'view'"
-              plain
-              type="danger"
-              @click="deleteProduct"
-              >鍒犻櫎
+            <el-button v-if="operationType !== 'view'" plain type="danger" @click="deleteProduct">鍒犻櫎
             </el-button>
           </el-form-item>
         </el-row>
-        <el-table
-          :data="productData"
-          border
-          @selection-change="productSelected"
-          show-summary
-          :summary-method="summarizeMainTable"
-        >
-          <el-table-column
-            align="center"
-            type="selection"
-            width="55"
-            v-if="operationType !== 'view'"
-            :selectable="(row) => !isProductShipped(row)"
-          />
-          <el-table-column
-            align="center"
-            label="搴忓彿"
-            type="index"
-            width="60"
-          />
+        <el-table :data="productData" border @selection-change="productSelected" show-summary
+          :summary-method="summarizeMainTable">
+          <el-table-column align="center" type="selection" width="55" v-if="operationType !== 'view'"
+            :selectable="(row) => !isProductShipped(row)" />
+          <el-table-column align="center" label="搴忓彿" type="index" width="60" />
           <el-table-column label="浜у搧澶х被" prop="productCategory" />
           <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" />
           <el-table-column label="鍗曚綅" prop="unit" />
           <el-table-column label="鏁伴噺" prop="quantity" />
           <el-table-column label="绋庣巼(%)" prop="taxRate" />
-          <el-table-column
-            label="鍚◣鍗曚环(鍏�)"
-            prop="taxInclusiveUnitPrice"
-            :formatter="formattedNumber"
-          />
-          <el-table-column
-            label="鍚◣鎬讳环(鍏�)"
-            prop="taxInclusiveTotalPrice"
-            :formatter="formattedNumber"
-          />
-          <el-table-column
-            label="涓嶅惈绋庢�讳环(鍏�)"
-            prop="taxExclusiveTotalPrice"
-            :formatter="formattedNumber"
-          />
+          <el-table-column label="鍚◣鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" :formatter="formattedNumber" />
+          <el-table-column label="鍚◣鎬讳环(鍏�)" prop="taxInclusiveTotalPrice" :formatter="formattedNumber" />
+          <el-table-column label="涓嶅惈绋庢�讳环(鍏�)" prop="taxExclusiveTotalPrice" :formatter="formattedNumber" />
           <el-table-column label="鏄惁鐢熶骇" prop="isProduction" width="150">
             <template #default="scope">
               <el-tag :type="scope.row.isProduction ? 'success' : 'info'">
@@ -539,21 +276,10 @@
               </el-tag>
             </template>
           </el-table-column>
-          <el-table-column
-            fixed="right"
-            label="鎿嶄綔"
-            min-width="60"
-            align="center"
-            v-if="operationType !== 'view'"
-          >
+          <el-table-column fixed="right" label="鎿嶄綔" min-width="60" align="center" v-if="operationType !== 'view'">
             <template #default="scope">
-              <el-button
-                link
-                type="primary"
-                size="small"
-                :disabled="isProductShipped(scope.row)"
-                @click="openProductForm('edit', scope.row, scope.$index)"
-                >缂栬緫
+              <el-button link type="primary" size="small" :disabled="isProductShipped(scope.row)"
+                @click="openProductForm('edit', scope.row, scope.$index)">缂栬緫
               </el-button>
             </template>
           </el-table-column>
@@ -561,173 +287,80 @@
         <el-row :gutter="30">
           <el-col :span="24">
             <el-form-item label="澶囨敞锛�" prop="remarks">
-              <el-input
-                v-model="form.remarks"
-                placeholder="璇疯緭鍏�"
-                clearable
-                type="textarea"
-                :rows="2"
-                :disabled="operationType === 'view'"
-              />
+              <el-input v-model="form.remarks" placeholder="璇疯緭鍏�" clearable type="textarea" :rows="2"
+                :disabled="operationType === 'view'" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row v-if="operationType !== 'view'" :gutter="30">
           <el-col :span="24">
             <el-form-item label="闄勪欢鏉愭枡锛�" prop="salesLedgerFiles">
-              <FileUpload
-                v-model:file-list="fileList"
-                :disabled="operationType === 'view'"
-              />
+              <FileUpload v-model:file-list="fileList" :disabled="operationType === 'view'" />
             </el-form-item>
           </el-col>
         </el-row>
       </el-form>
     </FormDialog>
     <!-- 浠庢姤浠峰崟瀵煎叆锛堜粎瀹℃壒閫氳繃锛� -->
-    <el-dialog
-      v-model="quotationDialogVisible"
-      title="閫夋嫨瀹℃壒閫氳繃鐨勯攢鍞姤浠峰崟"
-      width="80%"
-      :close-on-click-modal="false"
-    >
-      <div
-        style="
+    <el-dialog v-model="quotationDialogVisible" title="閫夋嫨瀹℃壒閫氳繃鐨勯攢鍞姤浠峰崟" width="80%" :close-on-click-modal="false">
+      <div style="
           margin-bottom: 12px;
           display: flex;
           gap: 12px;
           align-items: center;
-        "
-      >
-        <el-input
-          v-model="quotationSearchForm.quotationNo"
-          placeholder="璇疯緭鍏ユ姤浠峰崟鍙�"
-          clearable
-          style="max-width: 260px"
-          @change="fetchQuotationList"
-        />
-        <el-input
-          v-model="quotationSearchForm.customer"
-          placeholder="璇疯緭鍏ュ鎴峰悕绉�"
-          clearable
-          style="max-width: 260px"
-          @change="fetchQuotationList"
-        />
+        ">
+        <el-input v-model="quotationSearchForm.quotationNo" placeholder="璇疯緭鍏ユ姤浠峰崟鍙�" clearable style="max-width: 260px"
+          @change="fetchQuotationList" />
+        <el-input v-model="quotationSearchForm.customer" placeholder="璇疯緭鍏ュ鎴峰悕绉�" clearable style="max-width: 260px"
+          @change="fetchQuotationList" />
         <el-button type="primary" @click="fetchQuotationList">鎼滅储 </el-button>
         <el-button @click="resetQuotationSearch">閲嶇疆</el-button>
       </div>
-      <el-table
-        :data="quotationList"
-        border
-        stripe
-        v-loading="quotationLoading"
-        height="420px"
-      >
+      <el-table :data="quotationList" border stripe v-loading="quotationLoading" height="420px">
         <el-table-column align="center" label="搴忓彿" type="index" width="60" />
-        <el-table-column
-          prop="quotationNo"
-          label="鎶ヤ环鍗曞彿"
-          width="180"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          prop="customer"
-          label="瀹㈡埛鍚嶇О"
-          min-width="220"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          prop="salesperson"
-          label="涓氬姟鍛�"
-          width="120"
-          show-overflow-tooltip
-        />
+        <el-table-column prop="quotationNo" label="鎶ヤ环鍗曞彿" width="180" show-overflow-tooltip />
+        <el-table-column prop="customer" label="瀹㈡埛鍚嶇О" min-width="220" show-overflow-tooltip />
+        <el-table-column prop="salesperson" label="涓氬姟鍛�" width="120" show-overflow-tooltip />
         <el-table-column prop="quotationDate" label="鎶ヤ环鏃ユ湡" width="140" />
-        <el-table-column
-          prop="status"
-          label="瀹℃壒鐘舵��"
-          width="120"
-          align="center"
-        />
-        <el-table-column
-          prop="totalAmount"
-          label="鎶ヤ环閲戦(鍏�)"
-          width="160"
-          align="right"
-        >
+        <el-table-column prop="status" label="瀹℃壒鐘舵��" width="120" align="center" />
+        <el-table-column prop="totalAmount" label="鎶ヤ环閲戦(鍏�)" width="160" align="right">
           <template #default="scope">
             {{ Number(scope.row.totalAmount ?? 0).toFixed(2) }}
           </template>
         </el-table-column>
         <el-table-column fixed="right" label="鎿嶄綔" width="120" align="center">
           <template #default="scope">
-            <el-button type="primary" link @click="applyQuotation(scope.row)"
-              >閫夋嫨
+            <el-button type="primary" link @click="applyQuotation(scope.row)">閫夋嫨
             </el-button>
           </template>
         </el-table-column>
       </el-table>
-      <pagination
-        v-show="quotationPage.total > 0"
-        :total="quotationPage.total"
-        layout="total, sizes, prev, pager, next, jumper"
-        :page="quotationPage.current"
-        :limit="quotationPage.size"
-        @pagination="quotationPaginationChange"
-      />
+      <pagination v-show="quotationPage.total > 0" :total="quotationPage.total"
+        layout="total, sizes, prev, pager, next, jumper" :page="quotationPage.current" :limit="quotationPage.size"
+        @pagination="quotationPaginationChange" />
       <template #footer>
         <el-button @click="quotationDialogVisible = false">鍏抽棴</el-button>
       </template>
     </el-dialog>
-    <FormDialog
-      v-model="productFormVisible"
-      :title="productOperationType === 'add' ? '鏂板浜у搧' : '缂栬緫浜у搧'"
-      :width="'40%'"
-      :operation-type="productOperationType"
-      @close="closeProductDia"
-      @confirm="submitProduct"
-      @cancel="closeProductDia"
-    >
-      <el-form
-        :model="productForm"
-        label-width="140px"
-        label-position="top"
-        :rules="productRules"
-        ref="productFormRef"
-      >
+    <FormDialog v-model="productFormVisible" :title="productOperationType === 'add' ? '鏂板浜у搧' : '缂栬緫浜у搧'" :width="'40%'"
+      :operation-type="productOperationType" @close="closeProductDia" @confirm="submitProduct"
+      @cancel="closeProductDia">
+      <el-form :model="productForm" label-width="140px" label-position="top" :rules="productRules" ref="productFormRef">
         <el-row :gutter="30">
           <el-col :span="24">
             <el-form-item label="浜у搧澶х被锛�" prop="productCategory">
-              <el-tree-select
-                v-model="productForm.productCategory"
-                placeholder="璇烽�夋嫨"
-                clearable
-                filterable
-                check-strictly
-                @change="getModels"
-                :data="productOptions"
-                :render-after-expand="false"
-                style="width: 100%"
-              />
+              <el-tree-select v-model="productForm.productCategory" placeholder="璇烽�夋嫨" clearable filterable
+                check-strictly @change="getModels" :data="productOptions" :render-after-expand="false"
+                style="width: 100%" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="30">
           <el-col :span="24">
             <el-form-item label="瑙勬牸鍨嬪彿锛�" prop="productModelId">
-              <el-select
-                v-model="productForm.productModelId"
-                placeholder="璇烽�夋嫨"
-                clearable
-                @change="getProductModel"
-                filterable
-              >
-                <el-option
-                  v-for="item in modelOptions"
-                  :key="item.id"
-                  :label="item.model"
-                  :value="item.id"
-                />
+              <el-select v-model="productForm.productModelId" placeholder="璇烽�夋嫨" clearable @change="getProductModel"
+                filterable>
+                <el-option v-for="item in modelOptions" :key="item.id" :label="item.model" :value="item.id" />
               </el-select>
             </el-form-item>
           </el-col>
@@ -735,27 +368,13 @@
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="鍗曚綅锛�" prop="unit">
-              <el-input
-                v-model="productForm.unit"
-                placeholder="璇疯緭鍏�"
-                clearable
-              />
+              <el-input v-model="productForm.unit" placeholder="璇疯緭鍏�" clearable />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="绋庣巼(%)锛�" prop="taxRate">
-              <el-select
-                v-model="productForm.taxRate"
-                placeholder="璇烽�夋嫨"
-                clearable
-                @change="calculateFromTaxRate"
-              >
-                <el-option
-                  v-for="dict in tax_rate"
-                  :key="dict.value"
-                  :label="dict.label"
-                  :value="dict.value"
-                />
+              <el-select v-model="productForm.taxRate" placeholder="璇烽�夋嫨" clearable @change="calculateFromTaxRate">
+                <el-option v-for="dict in tax_rate" :key="dict.value" :label="dict.label" :value="dict.value" />
               </el-select>
             </el-form-item>
           </el-col>
@@ -763,66 +382,35 @@
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="鍚◣鍗曚环(鍏�)锛�" prop="taxInclusiveUnitPrice">
-              <el-input-number
-                :step="0.01"
-                :min="0"
-                v-model="productForm.taxInclusiveUnitPrice"
-                style="width: 100%"
-                :precision="2"
-                placeholder="璇疯緭鍏�"
-                clearable
-                @change="calculateFromUnitPrice"
-              />
+              <el-input-number :step="0.01" :min="0" v-model="productForm.taxInclusiveUnitPrice" style="width: 100%"
+                :precision="2" placeholder="璇疯緭鍏�" clearable @change="calculateFromUnitPrice" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="鏁伴噺锛�" prop="quantity">
-              <el-input-number
-                :step="0.1"
-                :min="0"
-                v-model="productForm.quantity"
-                placeholder="璇疯緭鍏�"
-                clearable
-                :precision="2"
-                @change="calculateFromQuantity"
-                style="width: 100%"
-              />
+              <el-input-number :step="0.1" :min="0" v-model="productForm.quantity" placeholder="璇疯緭鍏�" clearable
+                :precision="2" @change="calculateFromQuantity" style="width: 100%" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="鍚◣鎬讳环(鍏�)锛�" prop="taxInclusiveTotalPrice">
-              <el-input
-                v-model="productForm.taxInclusiveTotalPrice"
-                placeholder="璇疯緭鍏�"
-                clearable
-                @change="calculateFromTotalPrice"
-              />
+              <el-input v-model="productForm.taxInclusiveTotalPrice" placeholder="璇疯緭鍏�" clearable
+                @change="calculateFromTotalPrice" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item
-              label="涓嶅惈绋庢�讳环(鍏�)锛�"
-              prop="taxExclusiveTotalPrice"
-            >
-              <el-input
-                v-model="productForm.taxExclusiveTotalPrice"
-                placeholder="璇疯緭鍏�"
-                clearable
-                @change="calculateFromExclusiveTotalPrice"
-              />
+            <el-form-item label="涓嶅惈绋庢�讳环(鍏�)锛�" prop="taxExclusiveTotalPrice">
+              <el-input v-model="productForm.taxExclusiveTotalPrice" placeholder="璇疯緭鍏�" clearable
+                @change="calculateFromExclusiveTotalPrice" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="鍙戠エ绫诲瀷锛�" prop="invoiceType">
-              <el-select
-                v-model="productForm.invoiceType"
-                placeholder="璇烽�夋嫨"
-                clearable
-              >
+              <el-select v-model="productForm.invoiceType" placeholder="璇烽�夋嫨" clearable>
                 <el-option label="澧炴櫘绁�" value="澧炴櫘绁�" />
                 <el-option label="澧炰笓绁�" value="澧炰笓绁�" />
               </el-select>
@@ -840,35 +428,18 @@
       </el-form>
     </FormDialog>
     <!-- 瀵煎叆寮圭獥 -->
-    <FormDialog
-      v-model="importUpload.open"
-      :title="importUpload.title"
-      :width="'600px'"
-      @close="importUpload.open = false"
-      @confirm="submitImportFile"
-      @cancel="importUpload.open = false"
-    >
-      <el-upload
-        ref="importUploadRef"
-        :limit="1"
-        accept=".xlsx,.xls"
-        :action="importUpload.url"
-        :headers="importUpload.headers"
-        :before-upload="importUpload.beforeUpload"
-        :on-success="importUpload.onSuccess"
-        :on-error="importUpload.onError"
-        :on-progress="importUpload.onProgress"
-        :on-change="importUpload.onChange"
-        :auto-upload="false"
-        drag
-      >
+    <FormDialog v-model="importUpload.open" :title="importUpload.title" :width="'600px'"
+      @close="importUpload.open = false" @confirm="submitImportFile" @cancel="importUpload.open = false">
+      <el-upload ref="importUploadRef" :limit="1" accept=".xlsx,.xls" :action="importUpload.url"
+        :headers="importUpload.headers" :before-upload="importUpload.beforeUpload" :on-success="importUpload.onSuccess"
+        :on-error="importUpload.onError" :on-progress="importUpload.onProgress" :on-change="importUpload.onChange"
+        :auto-upload="false" drag>
         <i class="el-icon-upload"></i>
         <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
         <template #tip>
           <div class="el-upload__tip">
             浠呮敮鎸� xls/xlsx锛屽ぇ灏忎笉瓒呰繃 10MB銆�
-            <el-button link type="primary" @click="downloadTemplate"
-              >涓嬭浇瀵煎叆妯℃澘
+            <el-button link type="primary" @click="downloadTemplate">涓嬭浇瀵煎叆妯℃澘
             </el-button>
           </div>
         </template>
@@ -876,50 +447,31 @@
     </FormDialog>
     <!-- // todo 闄勪欢棰勮鐩稿叧 -->
     <!-- 闄勪欢鍒楄〃寮圭獥 -->
-    <FileList
-      v-if="fileDialogVisible"
-      v-model:visible="fileDialogVisible"
-      record-type="sales_ledger"
-      :record-id="recordId"
-    />
+    <FileList v-if="fileDialogVisible" v-model:visible="fileDialogVisible" record-type="sales_ledger"
+      :record-id="recordId" />
     <!-- 鎵撳嵃棰勮寮圭獥 -->
-    <el-dialog
-      v-model="printPreviewVisible"
-      title="鎵撳嵃棰勮"
-      width="90%"
-      :close-on-click-modal="false"
-      class="print-preview-dialog"
-    >
+    <el-dialog v-model="printPreviewVisible" title="鎵撳嵃棰勮" width="90%" :close-on-click-modal="false"
+      class="print-preview-dialog">
       <div class="print-preview-container">
         <div class="print-preview-header">
           <el-button type="primary" @click="executePrint">鎵ц鎵撳嵃 </el-button>
           <el-button @click="printPreviewVisible = false">鍏抽棴棰勮</el-button>
         </div>
         <div class="print-preview-content">
-          <div
-            v-if="printData.length === 0"
-            style="text-align: center; padding: 50px; color: #999"
-          >
+          <div v-if="printData.length === 0" style="text-align: center; padding: 50px; color: #999">
             鏆傛棤鎵撳嵃鏁版嵁
           </div>
-          <div
-            v-else
-            style="
+          <div v-else style="
               text-align: center;
               padding: 10px;
               color: #666;
               font-size: 14px;
               background: #e8f4fd;
               margin-bottom: 10px;
-            "
-          >
+            ">
             鍏� {{ printData.length }} 鏉℃暟鎹緟鎵撳嵃
           </div>
-          <div
-            v-for="(item, index) in printData"
-            :key="index"
-            class="print-page"
-          >
+          <div v-for="(item, index) in printData" :key="index" class="print-page">
             <div class="delivery-note">
               <div class="header">
                 <div class="document-title">闆跺敭鍙戣揣鍗�</div>
@@ -1021,28 +573,14 @@
       </div>
     </el-dialog>
     <!-- 鍙戣揣寮规 -->
-    <el-dialog
-      v-model="deliveryFormVisible"
-      title="鍙戣揣淇℃伅"
-      width="40%"
-      @close="closeDeliveryDia"
-    >
-      <el-form
-        :model="deliveryForm"
-        label-width="120px"
-        label-position="top"
-        :rules="deliveryRules"
-        ref="deliveryFormRef"
-      >
+    <el-dialog v-model="deliveryFormVisible" title="鍙戣揣淇℃伅" width="40%" @close="closeDeliveryDia">
+      <el-form :model="deliveryForm" label-width="120px" label-position="top" :rules="deliveryRules"
+        ref="deliveryFormRef">
         <el-row :gutter="30">
           <el-col :span="24">
             <el-form-item label="鍙戣揣绫诲瀷锛�" prop="type">
-              <el-select
-                v-model="deliveryForm.type"
-                placeholder="璇烽�夋嫨鍙戣揣绫诲瀷"
-                style="width: 100%"
-                @change="handleDeliveryTypeChange"
-              >
+              <el-select v-model="deliveryForm.type" placeholder="璇烽�夋嫨鍙戣揣绫诲瀷" style="width: 100%"
+                @change="handleDeliveryTypeChange">
                 <el-option label="璐ц溅" value="璐ц溅" />
                 <el-option label="蹇��" value="蹇��" />
               </el-select>
@@ -1050,41 +588,26 @@
           </el-col>
           <el-col :span="24">
             <el-form-item label="寰呭彂璐ф暟閲忥細">
-              <el-input
-                :model-value="currentDeliveryRow?.noQuantity"
-                disabled
-              />
+              <el-input :model-value="currentDeliveryRow?.noQuantity" disabled />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="30">
           <el-col :span="24" v-if="deliveryForm.type === '璐ц溅'">
             <el-form-item label="鍙戣揣杞︾墝鍙凤細" prop="shippingCarNumber">
-              <el-input
-                v-model="deliveryForm.shippingCarNumber"
-                placeholder="璇疯緭鍏ュ彂璐ц溅鐗屽彿"
-                clearable
-              />
+              <el-input v-model="deliveryForm.shippingCarNumber" placeholder="璇疯緭鍏ュ彂璐ц溅鐗屽彿" clearable />
             </el-form-item>
           </el-col>
           <el-col :span="24" v-else>
             <el-form-item label="蹇�掑叕鍙革細" prop="expressCompany">
-              <el-input
-                v-model="deliveryForm.expressCompany"
-                placeholder="璇疯緭鍏ュ揩閫掑叕鍙�"
-                clearable
-              />
+              <el-input v-model="deliveryForm.expressCompany" placeholder="璇疯緭鍏ュ揩閫掑叕鍙�" clearable />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="30" v-if="deliveryForm.type === '蹇��'">
           <el-col :span="24">
             <el-form-item label="蹇�掑崟鍙凤細" prop="expressNumber">
-              <el-input
-                v-model="deliveryForm.expressNumber"
-                placeholder="璇疯緭鍏ュ揩閫掑崟鍙�"
-                clearable
-              />
+              <el-input v-model="deliveryForm.expressNumber" placeholder="璇疯緭鍏ュ揩閫掑崟鍙�" clearable />
             </el-form-item>
           </el-col>
         </el-row>
@@ -1098,50 +621,22 @@
         <el-row :gutter="30">
           <el-col :span="24">
             <el-form-item label="搴撳瓨锛�" prop="batchNo">
-              <el-table
-                :data="deliveryForm.batchNoList"
-                border
-                size="small"
-                max-height="260"
-                style="width: 100%"
-              >
+              <el-table :data="deliveryForm.batchNoList" border size="small" max-height="260" style="width: 100%">
                 <el-table-column label="鎵瑰彿" prop="batchNo" min-width="180" />
-                <el-table-column
-                  label="浜у搧澶х被"
-                  prop="productName"
-                  min-width="100"
-                />
-                <el-table-column
-                  label="瑙勬牸鍨嬪彿"
-                  prop="model"
-                  min-width="100"
-                />
+                <el-table-column label="浜у搧澶х被" prop="productName" min-width="100" />
+                <el-table-column label="瑙勬牸鍨嬪彿" prop="model" min-width="100" />
                 <el-table-column label="鍗曚綅" prop="unit" min-width="100" />
-                <el-table-column
-                  label="搴撳瓨鏁伴噺"
-                  min-width="120"
-                  align="center"
-                >
+                <el-table-column label="搴撳瓨鏁伴噺" min-width="120" align="center">
                   <template #default="scope">
                     {{ getDeliveryBatchQuantity(scope.row) }}
                   </template>
                 </el-table-column>
-                <el-table-column
-                  label="鍙戣揣鏁伴噺"
-                  min-width="160"
-                  align="center"
-                >
+                <el-table-column label="鍙戣揣鏁伴噺" min-width="160" align="center">
                   <template #default="scope">
-                    <el-input-number
-                      v-model="scope.row.deliveryQuantity"
-                      :min="0"
-                      :max="getDeliveryBatchDeliveryMax(scope.row)"
-                      :precision="2"
-                      :step="0.01"
-                      controls-position="right"
-                      @change="handleDeliveryBatchQuantityChange(scope.row)"
-                      style="width: 100%"
-                    />
+                    <el-input-number v-model="scope.row.deliveryQuantity" :min="0"
+                      :max="getDeliveryBatchDeliveryMax(scope.row)" :precision="2" :step="0.01"
+                      controls-position="right" @change="handleDeliveryBatchQuantityChange(scope.row)"
+                      style="width: 100%" />
                   </template>
                 </el-table-column>
               </el-table>
@@ -1151,8 +646,7 @@
       </el-form>
       <template #footer>
         <div class="dialog-footer">
-          <el-button type="primary" @click="submitDelivery"
-            >纭鍙戣揣
+          <el-button type="primary" @click="submitDelivery">纭鍙戣揣
           </el-button>
           <el-button @click="closeDeliveryDia">鍙栨秷</el-button>
         </div>
@@ -2012,6 +1506,12 @@
     return;
   }
 
+  // 妫�鏌ユ槸鍚﹀彧鍓╀竴鏉℃暟鎹紝閿�鍞彴璐﹁嚦灏戜繚鐣欎竴鏉′骇鍝�
+  if (productData.value.length <= 1) {
+    proxy.$modal.msgWarning("閿�鍞彴璐﹁嚦灏戦渶瑕佷繚鐣欎竴鏉′骇鍝佹暟鎹�");
+    return;
+  }
+
   if (operationType.value === "add") {
     productData.value = productData.value.filter(
       (item) => !productSelectedRows.value.includes(item)
@@ -2160,7 +1660,7 @@
 };
 
 // 鎵撳嵃鍔熻兘
-  const handlePrint = async () => {
+const handlePrint = async () => {
   if (selectedRows.value.length === 0) {
     proxy.$modal.msgWarning("璇烽�夋嫨瑕佹墦鍗扮殑鏁版嵁");
     return;
@@ -2366,22 +1866,20 @@
                                                                                             <div>
                                                                                               <span class="label">鍙戣揣鏃ユ湡锛�</span>
                                                                                               <span class="value">${formatDate(
-                                                                                                item.createTime
-                                                                                              )}</span>
+      item.createTime
+    )}</span>
                                                                                             </div>
                                                                                             <div>
                                                                                               <span class="label">瀹㈡埛鍚嶇О锛�</span>
-                                                                                              <span class="value">${
-                                                                                                item.customerName
-                                                                                              }</span>
+                                                                                              <span class="value">${item.customerName
+      }</span>
                                                                                             </div>
                                                                                           </div>
                                                                                           <div class="info-row">
                                                                                             <span class="label">鍗曞彿锛�</span>
-                                                                                            <span class="value">${
-                                                                                              item.salesContractNo ||
-                                                                                              ""
-                                                                                            }</span>
+                                                                                            <span class="value">${item.salesContractNo ||
+      ""
+      }</span>
                                                                                           </div>
                                                                                         </div>
 
@@ -2398,50 +1896,43 @@
                                                                                               </tr>
                                                                                             </thead>
                                                                                             <tbody>
-                                                                                              ${
-                                                                                                item.products &&
-                                                                                                item
-                                                                                                  .products
-                                                                                                  .length >
-                                                                                                  0
-                                                                                                  ? item.products
-                                                                                                      .map(
-                                                                                                        (
-                                                                                                          product
-                                                                                                        ) => `
+                                                                                              ${item.products &&
+        item
+          .products
+          .length >
+        0
+        ? item.products
+          .map(
+            (
+              product
+            ) => `
                                                                                                   <tr>
-                                                                                                    <td>${
-                                                                                                      product.productCategory ||
-                                                                                                      ""
-                                                                                                    }</td>
-                                                                                                    <td>${
-                                                                                                      product.specificationModel ||
-                                                                                                      ""
-                                                                                                    }</td>
-                                                                                                    <td>${
-                                                                                                      product.unit ||
-                                                                                                      ""
-                                                                                                    }</td>
-                                                                                                    <td>${
-                                                                                                      product.taxInclusiveUnitPrice ||
-                                                                                                      "0"
-                                                                                                    }</td>
-                                                                                                    <td>${
-                                                                                                      product.quantity ||
-                                                                                                      "0"
-                                                                                                    }</td>
-                                                                                                    <td>${
-                                                                                                      product.taxInclusiveTotalPrice ||
-                                                                                                      "0"
-                                                                                                    }</td>
+                                                                                                    <td>${product.productCategory ||
+              ""
+              }</td>
+                                                                                                    <td>${product.specificationModel ||
+              ""
+              }</td>
+                                                                                                    <td>${product.unit ||
+              ""
+              }</td>
+                                                                                                    <td>${product.taxInclusiveUnitPrice ||
+              "0"
+              }</td>
+                                                                                                    <td>${product.quantity ||
+              "0"
+              }</td>
+                                                                                                    <td>${product.taxInclusiveTotalPrice ||
+              "0"
+              }</td>
                                                                                                   </tr>
                                                                                                 `
-                                                                                                      )
-                                                                                                      .join(
-                                                                                                        ""
-                                                                                                      )
-                                                                                                  : '<tr><td colspan="6" style="text-align: center; color: #999;">鏆傛棤浜у搧鏁版嵁</td></tr>'
-                                                                                              }
+          )
+          .join(
+            ""
+          )
+        : '<tr><td colspan="6" style="text-align: center; color: #999;">鏆傛棤浜у搧鏁版嵁</td></tr>'
+      }
                                                                                             </tbody>
                                                                                             <tfoot>
                                                                                               <tr>
@@ -2450,11 +1941,11 @@
                                                                                                 <td class="total-value"></td>
                                                                                                 <td class="total-value"></td>
                                                                                                 <td class="total-value">${getTotalQuantityForPrint(
-                                                                                                  item.products
-                                                                                                )}</td>
+        item.products
+      )}</td>
                                                                                                 <td class="total-value">${getTotalAmountForPrint(
-                                                                                                  item.products
-                                                                                                )}</td>
+        item.products
+      )}</td>
                                                                                               </tr>
                                                                                             </tfoot>
                                                                                           </table>
@@ -2478,16 +1969,15 @@
                                                                                           <div class="footer-row">
                                                                                             <div class="footer-item">
                                                                                               <span class="label">鎿嶄綔鍛橈細</span>
-                                                                                              <span class="value">${
-                                                                                                userStore.nickName ||
-                                                                                                "鎾曞紑鍓�"
-                                                                                              }</span>
+                                                                                              <span class="value">${userStore.nickName ||
+      "鎾曞紑鍓�"
+      }</span>
                                                                                             </div>
                                                                                             <div class="footer-item">
                                                                                               <span class="label">鎵撳嵃鏃ユ湡锛�</span>
                                                                                               <span class="value">${formatDateTime(
-                                                                                                new Date()
-                                                                                              )}</span>
+        new Date()
+      )}</span>
                                                                                             </div>
                                                                                           </div>
                                                                                         </div>
@@ -2851,6 +2341,12 @@
     return;
   }
 
+  // 瀹℃壒涓椂鎻愮ず鐢ㄦ埛宸叉湁寰呭鎵圭殑鍙戣揣璁板綍
+  const statusStr = row.shippingStatus ? String(row.shippingStatus).trim() : "";
+  if (statusStr === "瀹℃壒涓�") {
+    proxy.$modal.msgWarning("璇ヤ骇鍝佸瓨鍦ㄥ緟瀹℃壒鐨勫彂璐ц褰曪紝璇锋敞鎰忛伩鍏嶉噸澶嶆彁浜�");
+  }
+
   currentDeliveryRow.value = row;
   const batchNoList = await getDeliveryBatchNoList(
     row.productModelId || row.modelId
@@ -3177,8 +2673,9 @@
     page-break-inside: avoid;
     page-break-after: always;
   }
+
   .print-page:last-child {
     page-break-after: avoid;
   }
 }
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.9.3