From fd2be4592ad78d5f76fa287721a0153fad9f6ea6 Mon Sep 17 00:00:00 2001
From: 董国庆 <364620639@qq.com>
Date: 星期四, 25 六月 2026 23:27:23 +0800
Subject: [PATCH] Merge branch 'deploy-2.0' into delete_station

---
 src/views/testDemo/testPlanManagement/components/VehicleSelectModal.vue               |    4 
 src/views/transaction/pricingManagement/index.vue                                     |   17 +-
 src/views/transaction/order/orderManagement/index.vue                                 |    3 
 src/views/operations/attendance/plan/copy.vue                                         |   20 +-
 src/views/assetManagement/vehicleManagement/operatingVehicle/index.vue                |   17 +-
 src/views/testDemo/specialPointManagement/components/SelectPointModal.vue             |    4 
 src/views/userContent/contentCenter/components/AgreementListForm.vue                  |   44 ++++--
 src/views/operations/personnel/personnelManagement/index.vue                          |    2 
 src/views/assetManagement/fleetManagement/components/StaffSelectModal.vue             |    4 
 src/styles/index.css                                                                  |   34 +++++
 src/views/transaction/passwordFreeStrategy/index.vue                                  |   17 +-
 src/views/testDemo/testPlanManagement/components/PointSelectModal.vue                 |    4 
 src/views/transaction/directServiceManagement/components/CruisePlanSelectModal.vue    |    4 
 src/views/userContent/active/activityManagement/add.vue                               |    4 
 src/views/userContent/active/coupon/BatchSendModal.vue                                |    4 
 src/views/userContent/active/activityManagement/components/UserSelectModal.vue        |    4 
 src/views/operations/cruiseCheckInRule/index.vue                                      |   17 +-
 src/views/userContent/active/coupon/index.vue                                         |    6 
 src/views/operations/taskOrder/taskOrderCenter/index.vue                              |   17 +-
 src/views/assetManagement/vehicleManagement/components/VehicleMaterialSelectModal.vue |   11 -
 src/views/operations/attendance/plan/edit.vue                                         |   23 ++-
 src/views/assetManagement/fleetManagement/components/VehicleSelectModal.vue           |    4 
 src/views/testDemo/testPlanManagement/components/AssignVehicleModal.vue               |    4 
 src/views/testDemo/testPlanManagement/components/ManageTestVehicleModal.vue           |    4 
 src/components/custom/OperationLogModal.vue                                           |    4 
 src/views/assetManagement/vehicleManagement/inventoryVehicle/index.vue                |   17 +-
 src/views/userContent/active/activityManagement/components/CouponSelectModal.vue      |    4 
 src/views/transaction/directServiceManagement/components/UserSelectModal.vue          |    4 
 src/views/businessOperations/cruise/patrol-points/components/SelectPointModal.vue     |    4 
 src/views/testDemo/testPointManagement/index.vue                                      |    4 
 src/views/businessOperations/cruise/parade-plan/detail.vue                            |    4 
 src/views/operations/taskOrder/pendingReassignment/components/ReassignModal.vue       |    4 
 32 files changed, 187 insertions(+), 130 deletions(-)

diff --git a/src/components/custom/OperationLogModal.vue b/src/components/custom/OperationLogModal.vue
index 651f1ae..9a0e352 100644
--- a/src/components/custom/OperationLogModal.vue
+++ b/src/components/custom/OperationLogModal.vue
@@ -326,8 +326,8 @@
         <span class="modal-title">{{ title }}</span>
       </template>
       <template #header-extra>
-        <div class="cursor-pointer" @click="handleClose">
-          <span class="modal-close-icon">×</span>
+        <div class="modal-close-trigger" @click="handleClose">
+          <span class="modal-close-icon modal-close-text">×</span>
         </div>
       </template>
 
diff --git a/src/styles/index.css b/src/styles/index.css
index 7af4f63..6482568 100644
--- a/src/styles/index.css
+++ b/src/styles/index.css
@@ -25,3 +25,37 @@
   pointer-events: none !important;
   cursor: default !important;
 }
+
+.modal-close-trigger {
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  width: 28px;
+  height: 28px;
+  border-radius: 6px;
+  cursor: pointer;
+  user-select: none;
+  transition: background-color 0.2s ease, color 0.2s ease;
+}
+
+.modal-close-trigger:hover {
+  background-color: rgba(23, 31, 38, 0.08);
+}
+
+.modal-close-trigger:active {
+  background-color: rgba(23, 31, 38, 0.14);
+}
+
+.modal-close-trigger > * {
+  pointer-events: none;
+}
+
+.modal-close-text {
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  width: 10px;
+  height: 10px;
+  font-size: 18px;
+  line-height: 1;
+}
diff --git a/src/views/assetManagement/fleetManagement/components/StaffSelectModal.vue b/src/views/assetManagement/fleetManagement/components/StaffSelectModal.vue
index 7bf735d..493253b 100644
--- a/src/views/assetManagement/fleetManagement/components/StaffSelectModal.vue
+++ b/src/views/assetManagement/fleetManagement/components/StaffSelectModal.vue
@@ -309,8 +309,8 @@
         <span style="font-size: 16px; font-weight: bold">选择成员</span>
       </template>
       <template #header-extra>
-        <div text @click="handleCancel">
-          <span style="font-size: 18px;width: 10px;height: 10px;">×</span>
+        <div class="modal-close-trigger" text  @click="handleCancel">
+          <span class="modal-close-text">×</span>
         </div>
       </template>
 
diff --git a/src/views/assetManagement/fleetManagement/components/VehicleSelectModal.vue b/src/views/assetManagement/fleetManagement/components/VehicleSelectModal.vue
index bc5d5d8..c56075c 100644
--- a/src/views/assetManagement/fleetManagement/components/VehicleSelectModal.vue
+++ b/src/views/assetManagement/fleetManagement/components/VehicleSelectModal.vue
@@ -279,8 +279,8 @@
         <span style="font-size: 16px; font-weight: bold">添加车辆</span>
       </template>
       <template #header-extra>
-        <div text @click="handleCancel">
-          <span style="font-size: 18px; width: 10px; height: 10px">×</span>
+        <div class="modal-close-trigger" text  @click="handleCancel">
+          <span class="modal-close-text">×</span>
         </div>
       </template>
 
diff --git a/src/views/assetManagement/vehicleManagement/components/VehicleMaterialSelectModal.vue b/src/views/assetManagement/vehicleManagement/components/VehicleMaterialSelectModal.vue
index def890e..acb3573 100644
--- a/src/views/assetManagement/vehicleManagement/components/VehicleMaterialSelectModal.vue
+++ b/src/views/assetManagement/vehicleManagement/components/VehicleMaterialSelectModal.vue
@@ -138,8 +138,8 @@
       </template>
 
       <template #header-extra>
-        <div class="close-btn" @click="handleCancel">
-          <span class="close-icon">×</span>
+        <div class="close-btn modal-close-trigger" @click="handleCancel">
+          <span class="close-icon modal-close-text">×</span>
         </div>
       </template>
 
@@ -212,12 +212,7 @@
 }
 
 .close-btn {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  width: 20px;
-  height: 20px;
-  cursor: pointer;
+  flex-shrink: 0;
 }
 
 .close-icon {
diff --git a/src/views/assetManagement/vehicleManagement/inventoryVehicle/index.vue b/src/views/assetManagement/vehicleManagement/inventoryVehicle/index.vue
index 06b3903..b1cc46b 100644
--- a/src/views/assetManagement/vehicleManagement/inventoryVehicle/index.vue
+++ b/src/views/assetManagement/vehicleManagement/inventoryVehicle/index.vue
@@ -416,6 +416,14 @@
     render: (row) => {
       return (
         <NSpace wrap={false} size={8}>
+          <NButton
+            text
+            v-permission="50119"
+            type="primary"
+            onClick={() => handleDetail(row)}
+          >
+            详情
+          </NButton>
           {row.status == '1' && (
             <NButton
               text
@@ -446,14 +454,7 @@
               更新信息
             </NButton>
           )}
-          <NButton
-            text
-            v-permission="50119"
-            type="primary"
-            onClick={() => handleDetail(row)}
-          >
-            详情
-          </NButton>
+          
           {/* <NButton
             text
             v-permission="50120"
diff --git a/src/views/assetManagement/vehicleManagement/operatingVehicle/index.vue b/src/views/assetManagement/vehicleManagement/operatingVehicle/index.vue
index 519490f..bb32135 100644
--- a/src/views/assetManagement/vehicleManagement/operatingVehicle/index.vue
+++ b/src/views/assetManagement/vehicleManagement/operatingVehicle/index.vue
@@ -404,20 +404,21 @@
         <NSpace justify="flex-start" wrap={false} size={8}>
           <NButton
             text
-            v-permission="50134"
-            type="primary"
-            onClick={() => handleConvertToInventory(row)}
-          >
-            转为在库车辆
-          </NButton>
-          <NButton
-            text
             v-permission="50131"
             type="primary"
             onClick={() => handleViewDetail(row)}
           >
             详情
           </NButton>
+          <NButton
+            text
+            v-permission="50134"
+            type="primary"
+            onClick={() => handleConvertToInventory(row)}
+          >
+            转为在库车辆
+          </NButton>
+          
         </NSpace>
       )
     },
diff --git a/src/views/businessOperations/cruise/parade-plan/detail.vue b/src/views/businessOperations/cruise/parade-plan/detail.vue
index 825b099..500a744 100644
--- a/src/views/businessOperations/cruise/parade-plan/detail.vue
+++ b/src/views/businessOperations/cruise/parade-plan/detail.vue
@@ -902,13 +902,13 @@
 
     <div
       class="absolute bottom-0 left-0 right-0 flex justify-end gap-3 bg-white px-6 py-4"
-      style="box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1); z-index: 100"
+      style="box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1); z-index: 100" v-if="isEdit"
     >
       <NButton style="width: 84px; height: 32px" @click="handleBack">
         返回
       </NButton>
       <NButton
-        v-if="isEdit"
+        
         type="primary"
         style="width: 84px; height: 32px"
         @click="handleSave"
diff --git a/src/views/businessOperations/cruise/patrol-points/components/SelectPointModal.vue b/src/views/businessOperations/cruise/patrol-points/components/SelectPointModal.vue
index ee76aed..d5e9e03 100644
--- a/src/views/businessOperations/cruise/patrol-points/components/SelectPointModal.vue
+++ b/src/views/businessOperations/cruise/patrol-points/components/SelectPointModal.vue
@@ -264,8 +264,8 @@
         <span style="font-size: 16px; font-weight: bold">选择点位</span>
       </template>
       <template #header-extra>
-        <div text @click="handleCancel">
-          <span style="font-size: 18px; width: 10px; height: 10px">×</span>
+        <div class="modal-close-trigger" text  @click="handleCancel">
+          <span class="modal-close-text">×</span>
         </div>
       </template>
       <div class="flex flex-col h-full overflow-hidden">
diff --git a/src/views/operations/attendance/plan/copy.vue b/src/views/operations/attendance/plan/copy.vue
index 8157619..05318cf 100644
--- a/src/views/operations/attendance/plan/copy.vue
+++ b/src/views/operations/attendance/plan/copy.vue
@@ -496,15 +496,17 @@
     >
       <div class="schedule-selector-header">
         <span class="schedule-selector-title">排班选择</span>
-        <n-icon size="20" class="cursor-pointer" @click="closeScheduleModal">
-          <svg
-            xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
-            stroke-linecap="round" stroke-linejoin="round"
-          >
-            <line x1="18" y1="6" x2="6" y2="18" />
-            <line x1="6" y1="6" x2="18" y2="18" />
-          </svg>
-        </n-icon>
+        <div class="modal-close-trigger" @click="closeScheduleModal">
+          <n-icon size="20">
+            <svg
+              xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
+              stroke-linecap="round" stroke-linejoin="round"
+            >
+              <line x1="18" y1="6" x2="6" y2="18" />
+              <line x1="6" y1="6" x2="18" y2="18" />
+            </svg>
+          </n-icon>
+        </div>
       </div>
       <div class="schedule-selector-content">
         <div
diff --git a/src/views/operations/attendance/plan/edit.vue b/src/views/operations/attendance/plan/edit.vue
index 31be6eb..c63bb50 100644
--- a/src/views/operations/attendance/plan/edit.vue
+++ b/src/views/operations/attendance/plan/edit.vue
@@ -508,7 +508,8 @@
                             <line x1="15" y1="9" x2="9" y2="15" />
                             <line x1="9" y1="9" x2="15" y2="15" />
                           </svg>
-                        </n-icon> -->
+                          </n-icon>
+        </div> -->
                         <img v-if="shifts && shifts.length > 0" src="/src/assets/point/warn.png" class="cell-delete-icon" @click.stop="openDeleteConfirm(teamIndex, dateIndex)">
                       </span>
                     </div>
@@ -539,15 +540,17 @@
     >
       <div class="schedule-selector-header">
         <span class="schedule-selector-title">排班选择</span>
-        <n-icon size="20" class="cursor-pointer" @click="closeScheduleModal">
-          <svg
-            xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
-            stroke-linecap="round" stroke-linejoin="round"
-          >
-            <line x1="18" y1="6" x2="6" y2="18" />
-            <line x1="6" y1="6" x2="18" y2="18" />
-          </svg>
-        </n-icon>
+        <div class="modal-close-trigger" @click="closeScheduleModal">
+          <n-icon size="20">
+            <svg
+              xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
+              stroke-linecap="round" stroke-linejoin="round"
+            >
+              <line x1="18" y1="6" x2="6" y2="18" />
+              <line x1="6" y1="6" x2="18" y2="18" />
+            </svg>
+          </n-icon>
+        </div>
       </div>
       <div class="schedule-selector-content">
         <div
diff --git a/src/views/operations/cruiseCheckInRule/index.vue b/src/views/operations/cruiseCheckInRule/index.vue
index c5dedcd..e2eaff3 100644
--- a/src/views/operations/cruiseCheckInRule/index.vue
+++ b/src/views/operations/cruiseCheckInRule/index.vue
@@ -96,14 +96,6 @@
         <div class="flex items-center justify-start gap-2">
           <span
             class="cursor-pointer"
-            v-permission="202642962"
-            style={{ color: '#0068FF' }}
-            onClick={() => handleEdit(row)}
-          >
-            编辑
-          </span>
-          <span
-            class="cursor-pointer"
             v-permission="202642963"
             style={{ color: '#0068FF' }}
             onClick={() => handleDetail(row)}
@@ -112,6 +104,15 @@
           </span>
           <span
             class="cursor-pointer"
+            v-permission="202642962"
+            style={{ color: '#0068FF' }}
+            onClick={() => handleEdit(row)}
+          >
+            编辑
+          </span>
+          
+          <span
+            class="cursor-pointer"
             v-permission="202642964"
             style={{ color: '#0068FF' }}
             onClick={() => handleDelete(row)}
diff --git a/src/views/operations/personnel/personnelManagement/index.vue b/src/views/operations/personnel/personnelManagement/index.vue
index 249f7e3..ec70395 100644
--- a/src/views/operations/personnel/personnelManagement/index.vue
+++ b/src/views/operations/personnel/personnelManagement/index.vue
@@ -410,8 +410,8 @@
       <div class="flex items-center gap-16px">
 
         {/* <a v-permission="70115" style={{ color: '#0068FF', cursor: 'pointer' }} onClick={() => handleEdit(row)}>编辑</a> */}
-        <a v-permission="70117" style={{ color: '#0068FF', cursor: 'pointer' }} onClick={() => handleResetPassword(row)}>重置密码</a>
         <a v-permission="70111" style={{ color: '#0068FF', cursor: 'pointer' }} onClick={() => router.push(`/operations/personnel/personnelManagement/detail/${row.id}`)}>详情</a>
+        <a v-permission="70117" style={{ color: '#0068FF', cursor: 'pointer' }} onClick={() => handleResetPassword(row)}>重置密码</a>
         <a v-permission="70118" style={{ color: '#0068FF', cursor: 'pointer' }} onClick={() => handleDelete(row)}>删除</a>
         <NSwitch
           v-permission="70116"
diff --git a/src/views/operations/taskOrder/pendingReassignment/components/ReassignModal.vue b/src/views/operations/taskOrder/pendingReassignment/components/ReassignModal.vue
index 337f3a3..4b86aec 100644
--- a/src/views/operations/taskOrder/pendingReassignment/components/ReassignModal.vue
+++ b/src/views/operations/taskOrder/pendingReassignment/components/ReassignModal.vue
@@ -314,8 +314,8 @@
         <span style="font-size: 16px; font-weight: bold; color: #1F1F1F;">任务改派</span>
       </template>
       <template #header-extra>
-        <div text class="cursor-pointer" @click="handleCancel">
-          <span style="font-size: 18px; width: 10px; height: 10px; color: #999;">×</span>
+        <div text class="cursor-pointer modal-close-trigger"  @click="handleCancel">
+          <span class="modal-close-text" style="color: #999;">×</span>
         </div>
       </template>
 
diff --git a/src/views/operations/taskOrder/taskOrderCenter/index.vue b/src/views/operations/taskOrder/taskOrderCenter/index.vue
index 8fba73f..4abb606 100644
--- a/src/views/operations/taskOrder/taskOrderCenter/index.vue
+++ b/src/views/operations/taskOrder/taskOrderCenter/index.vue
@@ -524,6 +524,14 @@
     render: (row) => {
       return (
         <NSpace>
+          <NButton
+            text
+            v-permission="7054"
+            type="primary"
+            onClick={() => handleDetail(row)}
+          >
+            详情
+          </NButton>
           {(row.status === 0 || row.status === 1) && (
             <NButton
               text
@@ -534,14 +542,7 @@
               分配
             </NButton>
           )}
-          <NButton
-            text
-            v-permission="7054"
-            type="primary"
-            onClick={() => handleDetail(row)}
-          >
-            详情
-          </NButton>
+          
           <NButton
             text
             v-permission="7055"
diff --git a/src/views/testDemo/specialPointManagement/components/SelectPointModal.vue b/src/views/testDemo/specialPointManagement/components/SelectPointModal.vue
index 7d9343f..6901b62 100644
--- a/src/views/testDemo/specialPointManagement/components/SelectPointModal.vue
+++ b/src/views/testDemo/specialPointManagement/components/SelectPointModal.vue
@@ -196,8 +196,8 @@
         <span style="font-size: 16px; font-weight: bold">选择点位</span>
       </template>
       <template #header-extra>
-        <div text @click="handleCancel">
-          <span style="font-size: 18px;width: 10px;height: 10px;">×</span>
+        <div class="modal-close-trigger" text  @click="handleCancel">
+          <span class="modal-close-text">×</span>
         </div>
       </template>
       <div class="mb-4 flex items-end gap-4">
diff --git a/src/views/testDemo/testPlanManagement/components/AssignVehicleModal.vue b/src/views/testDemo/testPlanManagement/components/AssignVehicleModal.vue
index 02bce7a..bde19d0 100644
--- a/src/views/testDemo/testPlanManagement/components/AssignVehicleModal.vue
+++ b/src/views/testDemo/testPlanManagement/components/AssignVehicleModal.vue
@@ -286,8 +286,8 @@
         <span style="font-size: 16px; font-weight: bold">{{ modalTitle }}</span>
       </template>
       <template #header-extra>
-        <div class="cursor-pointer" text @click="handleCancel">
-          <span style="font-size: 18px; width: 10px; height: 10px">×</span>
+        <div class="cursor-pointer modal-close-trigger" text  @click="handleCancel">
+          <span class="modal-close-text">×</span>
         </div>
       </template>
 
diff --git a/src/views/testDemo/testPlanManagement/components/ManageTestVehicleModal.vue b/src/views/testDemo/testPlanManagement/components/ManageTestVehicleModal.vue
index c455748..8efba9c 100644
--- a/src/views/testDemo/testPlanManagement/components/ManageTestVehicleModal.vue
+++ b/src/views/testDemo/testPlanManagement/components/ManageTestVehicleModal.vue
@@ -426,8 +426,8 @@
         <span style="font-size: 16px; font-weight: bold">管理测试车辆</span>
       </template>
       <template #header-extra>
-        <div class="cursor-pointer" text @click="handleCancel">
-          <span style="font-size: 18px; width: 10px; height: 10px">×</span>
+        <div class="cursor-pointer modal-close-trigger" text  @click="handleCancel">
+          <span class="modal-close-text">×</span>
         </div>
       </template>
 
diff --git a/src/views/testDemo/testPlanManagement/components/PointSelectModal.vue b/src/views/testDemo/testPlanManagement/components/PointSelectModal.vue
index a3ab049..b35abdd 100644
--- a/src/views/testDemo/testPlanManagement/components/PointSelectModal.vue
+++ b/src/views/testDemo/testPlanManagement/components/PointSelectModal.vue
@@ -224,8 +224,8 @@
         <span style="font-size: 16px; font-weight: bold">选择点位</span>
       </template>
       <template #header-extra>
-        <div text @click="handleCancel">
-          <span style="font-size: 18px; width: 10px; height: 10px">×</span>
+        <div class="modal-close-trigger" text  @click="handleCancel">
+          <span class="modal-close-text">×</span>
         </div>
       </template>
 
diff --git a/src/views/testDemo/testPlanManagement/components/VehicleSelectModal.vue b/src/views/testDemo/testPlanManagement/components/VehicleSelectModal.vue
index 8b78a0f..501e570 100644
--- a/src/views/testDemo/testPlanManagement/components/VehicleSelectModal.vue
+++ b/src/views/testDemo/testPlanManagement/components/VehicleSelectModal.vue
@@ -223,8 +223,8 @@
         <span style="font-size: 16px; font-weight: bold">选择测试车辆</span>
       </template>
       <template #header-extra>
-        <div text @click="handleCancel">
-          <span style="font-size: 18px; width: 10px; height: 10px">×</span>
+        <div class="modal-close-trigger" text  @click="handleCancel">
+          <span class="modal-close-text">×</span>
         </div>
       </template>
 
diff --git a/src/views/testDemo/testPointManagement/index.vue b/src/views/testDemo/testPointManagement/index.vue
index 71df42b..06b76c2 100644
--- a/src/views/testDemo/testPointManagement/index.vue
+++ b/src/views/testDemo/testPointManagement/index.vue
@@ -10,8 +10,8 @@
 import { uploadSingleFile } from '@/utils/upload'
 
 // 定义地图图标在线链接
-const MARK_ICON_RED = 'https://huishou-1323682843.cos.ap-nanjing.myqcloud.com/images/36c926b7-1e6d-4310-86c2-a71b69dc49b7.png'
-const MARK_ICON_GREEN = 'https://huishou-1323682843.cos.ap-nanjing.myqcloud.com/images/8f048a0f-3c36-4b6e-ae14-77d85bc919bf.png'
+const MARK_ICON_RED = 'https://huishou-1323682843.cos.ap-nanjing.myqcloud.com/images/d8c0a834-069f-4e11-8130-1257d73ef449.png'
+const MARK_ICON_GREEN = 'https://huishou-1323682843.cos.ap-nanjing.myqcloud.com/images/ab2e2d89-ea82-4081-9729-ab212460c375.png'
 const MARK_ICON_BLUE = 'https://huishou-1323682843.cos.ap-nanjing.myqcloud.com/images/73a51310-2871-4c4a-a763-8e1a59a31f50.png'
 
 const router = useRouter()
diff --git a/src/views/transaction/directServiceManagement/components/CruisePlanSelectModal.vue b/src/views/transaction/directServiceManagement/components/CruisePlanSelectModal.vue
index 6ea7c76..61600d3 100644
--- a/src/views/transaction/directServiceManagement/components/CruisePlanSelectModal.vue
+++ b/src/views/transaction/directServiceManagement/components/CruisePlanSelectModal.vue
@@ -200,8 +200,8 @@
         <span style="font-size: 16px; font-weight: bold; color: #1F1F1F;">设置巡游计划</span>
       </template>
       <template #header-extra>
-        <div text class="cursor-pointer" @click="handleCancel">
-          <span style="font-size: 18px; width: 10px; height: 10px; color: #999;">×</span>
+        <div text class="cursor-pointer modal-close-trigger"  @click="handleCancel">
+          <span class="modal-close-text" style="color: #999;">×</span>
         </div>
       </template>
 
diff --git a/src/views/transaction/directServiceManagement/components/UserSelectModal.vue b/src/views/transaction/directServiceManagement/components/UserSelectModal.vue
index c07ce84..aef90f7 100644
--- a/src/views/transaction/directServiceManagement/components/UserSelectModal.vue
+++ b/src/views/transaction/directServiceManagement/components/UserSelectModal.vue
@@ -268,8 +268,8 @@
         <span style="font-size: 16px; font-weight: bold; color: #1F1F1F;">选择用户</span>
       </template>
       <template #header-extra>
-        <div text class="cursor-pointer" @click="handleCancel">
-          <span style="font-size: 18px; width: 10px; height: 10px; color: #999;">×</span>
+        <div text class="cursor-pointer modal-close-trigger"  @click="handleCancel">
+          <span class="modal-close-text" style="color: #999;">×</span>
         </div>
       </template>
 
diff --git a/src/views/transaction/order/orderManagement/index.vue b/src/views/transaction/order/orderManagement/index.vue
index d1f2763..56c704c 100644
--- a/src/views/transaction/order/orderManagement/index.vue
+++ b/src/views/transaction/order/orderManagement/index.vue
@@ -224,6 +224,9 @@
   { label: '待评价', value: 9, type: 'default', color: '#FFF8E6', textColor: '#FF9000' },
   { label: '已完成', value: 10, type: 'success', color: '#DCF5DD', textColor: '#0BB52D' },
   { label: '已取消', value: 0, type: 'default', color: '#171F260D', textColor: '#171F26CC' },
+  { label: '退款中', value: 11, type: 'warning', color: '#FFF8E6', textColor: '#FF9000' },
+  { label: '已退款', value: 12, type: 'success', color: '#DCF5DD', textColor: '#0BB52D' },
+  { label: '退款失败', value: 13, type: 'error', color: '#FFF8E6', textColor: '#FF9000' },
 ]
 
 const columns = computed<DataTableColumns<any>>(() => [
diff --git a/src/views/transaction/passwordFreeStrategy/index.vue b/src/views/transaction/passwordFreeStrategy/index.vue
index 87fca7e..4dcffdf 100644
--- a/src/views/transaction/passwordFreeStrategy/index.vue
+++ b/src/views/transaction/passwordFreeStrategy/index.vue
@@ -227,14 +227,6 @@
         <div class="flex items-center justify-start gap-2">
           <NButton
             text
-            v-permission="202642951"
-            type="primary"
-            onClick={() => handleEdit(row)}
-          >
-            编辑
-          </NButton>
-          <NButton
-            text
             v-permission="202642952"
             type="primary"
             onClick={() => handleDetail(row)}
@@ -243,6 +235,15 @@
           </NButton>
           <NButton
             text
+            v-permission="202642951"
+            type="primary"
+            onClick={() => handleEdit(row)}
+          >
+            编辑
+          </NButton>
+          
+          <NButton
+            text
             v-permission="202642953"
             type="primary"
             onClick={() => handleDelete(row)}
diff --git a/src/views/transaction/pricingManagement/index.vue b/src/views/transaction/pricingManagement/index.vue
index 8fb9f14..10f2a70 100644
--- a/src/views/transaction/pricingManagement/index.vue
+++ b/src/views/transaction/pricingManagement/index.vue
@@ -120,20 +120,21 @@
           </NButton> */}
           <NButton
             text
-            v-permission="6023"
-            type="primary"
-            onClick={() => router.push({ name: 'setPrice', query: { id: row.id, type: 'add', category: row.pricingType } })}
-          >
-            设置价格
-          </NButton>
-          <NButton
-            text
             v-permission="6024"
             type="primary"
             onClick={() => router.push({ name: 'pricingDetail', query: { id: row.id, type: 'view', category: row.pricingType } })}
           >
             详情
           </NButton>
+          <NButton
+            text
+            v-permission="6023"
+            type="primary"
+            onClick={() => router.push({ name: 'setPrice', query: { id: row.id, type: 'add', category: row.pricingType } })}
+          >
+            设置价格
+          </NButton>
+          
           {/* <NButton
             text
             v-permission="6025"
diff --git a/src/views/userContent/active/activityManagement/add.vue b/src/views/userContent/active/activityManagement/add.vue
index be0dbd3..60eeb26 100644
--- a/src/views/userContent/active/activityManagement/add.vue
+++ b/src/views/userContent/active/activityManagement/add.vue
@@ -567,7 +567,7 @@
 function createUserColumns(groupIndex: number): DataTableColumns<any> {
   return [
     { title: '用户名称', key: 'nickName', width: 150 },
-    { title: '白名单账号', key: 'account' },
+    { title: '白名单账号', key: 'account',width:220 },
     {
       title: '状态',
       key: 'status',
@@ -2177,7 +2177,7 @@
 .custom-tabs {
   position: fixed;
   background-color: rgb(244, 246, 248);
-  z-index: 9999;
+  z-index: 999;
   padding: 12px 12px 0 12px;
 }
 :deep(.n-upload-trigger--image-card) {
diff --git a/src/views/userContent/active/activityManagement/components/CouponSelectModal.vue b/src/views/userContent/active/activityManagement/components/CouponSelectModal.vue
index c1d3fb6..493baed 100644
--- a/src/views/userContent/active/activityManagement/components/CouponSelectModal.vue
+++ b/src/views/userContent/active/activityManagement/components/CouponSelectModal.vue
@@ -249,8 +249,8 @@
         <span style="font-size: 16px; font-weight: bold">选择优惠券</span>
       </template>
       <template #header-extra>
-        <div @click="showModal = false">
-          <span style="font-size: 18px; width: 10px; height: 10px;cursor: pointer;">×</span>
+        <div class="modal-close-trigger"  @click="showModal = false">
+          <span class="modal-close-text">×</span>
         </div>
       </template>
       <div class="flex flex-col h-full overflow-hidden">
diff --git a/src/views/userContent/active/activityManagement/components/UserSelectModal.vue b/src/views/userContent/active/activityManagement/components/UserSelectModal.vue
index d1878d8..8d7a71c 100644
--- a/src/views/userContent/active/activityManagement/components/UserSelectModal.vue
+++ b/src/views/userContent/active/activityManagement/components/UserSelectModal.vue
@@ -231,8 +231,8 @@
         <span style="font-size: 16px; font-weight: bold">选择用户</span>
       </template>
       <template #header-extra>
-        <div @click="showModal = false">
-          <span style="font-size: 18px; width: 10px; height: 10px;cursor: pointer;">×</span>
+        <div class="modal-close-trigger"  @click="showModal = false">
+          <span class="modal-close-text">×</span>
         </div>
       </template>
       <div class="flex flex-col h-full overflow-hidden">
diff --git a/src/views/userContent/active/coupon/BatchSendModal.vue b/src/views/userContent/active/coupon/BatchSendModal.vue
index 7c7f3e5..b4c3401 100644
--- a/src/views/userContent/active/coupon/BatchSendModal.vue
+++ b/src/views/userContent/active/coupon/BatchSendModal.vue
@@ -225,8 +225,8 @@
         <span style="font-size: 16px; font-weight: bold">选择用户</span>
       </template>
       <template #header-extra>
-        <div @click="showModal = false">
-          <span style="font-size: 18px; width: 10px; height: 10px;cursor: pointer;">×</span>
+        <div class="modal-close-trigger"  @click="showModal = false">
+          <span class="modal-close-text">×</span>
         </div>
       </template>
       <div class="flex flex-col h-full overflow-hidden">
diff --git a/src/views/userContent/active/coupon/index.vue b/src/views/userContent/active/coupon/index.vue
index 413c2a9..383ace6 100644
--- a/src/views/userContent/active/coupon/index.vue
+++ b/src/views/userContent/active/coupon/index.vue
@@ -476,14 +476,14 @@
       const status = Number(row.status)
       return (
         <n-space size={12}>
+          <NButton text type="primary" v-permission="302314" onClick={() => handleDetail(row)}>
+            详情
+          </NButton>
           {status === 2 && (
             <NButton v-permission="302313" text type="primary" onClick={() => handleSend(row)}>
               发券
             </NButton>
           )}
-          <NButton text type="primary" v-permission="302314" onClick={() => handleDetail(row)}>
-            详情
-          </NButton>
           {status === 1 && (
             <NButton text type="primary" v-permission="302316" onClick={() => handleEdit(row)}>
               编辑
diff --git a/src/views/userContent/contentCenter/components/AgreementListForm.vue b/src/views/userContent/contentCenter/components/AgreementListForm.vue
index 12d05e3..cae9607 100644
--- a/src/views/userContent/contentCenter/components/AgreementListForm.vue
+++ b/src/views/userContent/contentCenter/components/AgreementListForm.vue
@@ -2,7 +2,7 @@
 import noDataImg from "@/assets/element-img/no-data.png";
 import { computed, h, onMounted, ref, watch } from "vue";
 import { useRouter } from "vue-router";
-import { NButton, NDataTable, NPopconfirm, NSpace, useMessage } from "naive-ui";
+import { NButton, NDataTable, NSpace, useDialog, useMessage } from "naive-ui";
 import type { DataTableColumns } from "naive-ui";
 import OperationLogModal from "@/components/custom/OperationLogModal.vue";
 import dragIcon from "@/assets/point/union.png";
@@ -31,6 +31,7 @@
 }
 
 const router = useRouter();
+const dialog = useDialog();
 const message = useMessage();
 const tableLoading = ref(false);
 const deleteLoadingId = ref<number | null>(null);
@@ -92,20 +93,15 @@
               { default: () => "编辑" }
             ),
             h(
-              NPopconfirm,
-              { onPositiveClick: () => handleDelete(row) },
+              NButton,
               {
-                trigger: () =>
-                  h(
-                    NButton,
-                    {
-                      text: true,
-                      type: "primary",
-                      loading: deleteLoadingId.value === row.id,
-                    },
-                    { default: () => "删除" }
-                  ),
-                default: () => "确认删除该协议吗?",
+                text: true,
+                type: "primary",
+                loading: deleteLoadingId.value === row.id,
+                onClick: () => handleDelete(row),
+              },
+              {
+                default: () => "删除",
               }
             ),
           ],
@@ -207,6 +203,22 @@
 }
 
 async function handleDelete(row: AgreementItem) {
+  if (deleteLoadingId.value === row.nameId) return;
+
+  dialog.warning({
+    maskClosable: false,
+    title: "确认删除",
+    content: `确认删除协议"${row.title}"吗?`,
+    positiveText: "确定",
+    negativeText: "取消",
+    autoFocus: false,
+    onPositiveClick: async () => {
+      await executeDelete(row);
+    },
+  });
+}
+
+async function executeDelete(row: AgreementItem) {
   deleteLoadingId.value = row.nameId;
   try {
     const res = await deleteLoginAgreement(row.nameId);
@@ -214,8 +226,10 @@
       message.success("删除成功");
       await loadList();
     } else {
-      // message.error(res?.msg || '删除失败')
+      message.error(res?.msg || "删除失败");
     }
+  } catch (error: any) {
+    message.error(error?.message || "删除失败");
   } finally {
     deleteLoadingId.value = null;
   }

--
Gitblit v1.7.1