From 931aebc875a4d927aae21a36250e2008616c02e4 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期一, 01 九月 2025 16:19:00 +0800
Subject: [PATCH] Merge remote-tracking branch 'refs/remotes/origin/dev_erjitaocan' into dev

---
 src/views/procurementManagement/paymentHistory/index.vue                   |    4 
 src/views/procurementManagement/procurementInvoiceLedger/index.vue         |   18 +
 src/views/procurementManagement/invoiceEntry/index.vue                     |    4 
 src/views/inventoryManagement/stockWarning/index.vue                       |   64 ++--
 src/views/procurementManagement/paymentEntry/index.vue                     |   46 +-
 src/views/energyManagement/meterCollection/index.vue                       |    6 
 .env.staging                                                               |    4 
 src/views/equipmentManagement/gasTank/simple.vue                           |    6 
 src/views/basicData/customerFile/index.vue                                 |   37 +-
 src/layout/components/Sidebar/Logo.vue                                     |    2 
 index.html                                                                 |    4 
 vite.config.js                                                             |    3 
 src/views/collaborativeApproval/knowledgeBase/index.vue                    |    6 
 src/views/inventoryManagement/dispatchLog/index.vue                        |    6 
 src/views/collaborativeApproval/attendanceManagement/index.vue             |    6 
 src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue |   13 
 src/views/collaborativeApproval/meetingBoard/index.vue                     |   12 
 src/views/productionManagement/safetyMonitoring/index.vue                  |    4 
 src/views/equipmentManagement/upkeep/Modal/MaintenanceModal.vue            |    2 
 .env.development                                                           |    4 
 src/views/login.vue                                                        |    2 
 src/views/collaborativeApproval/notificationManagement/index.vue           |   12 
 package.json                                                               |    2 
 .env.production                                                            |    4 
 src/views/collaborativeApproval/rpaManagement/index.vue                    |    6 
 src/views/collaborativeApproval/noticeManagement/index.vue                 |  518 ++++++++++++++++++------------------
 src/views/energyManagement/dynamicEnergySaving/index.vue                   |    6 
 27 files changed, 404 insertions(+), 397 deletions(-)

diff --git a/.env.development b/.env.development
index 1a63995..aeebf98 100644
--- a/.env.development
+++ b/.env.development
@@ -1,8 +1,8 @@
 # 椤甸潰鏍囬
-VITE_APP_TITLE = 鑺浜戯紙绠$悊淇℃伅绯荤粺锛�
+VITE_APP_TITLE = 鍩烘櫤娌逛簳绠$悊绯荤粺
 
 # 寮�鍙戠幆澧冮厤缃�
 VITE_APP_ENV = 'development'
 
-# 鑺浜戯紙绠$悊淇℃伅绯荤粺锛�/寮�鍙戠幆澧�
+# 鍩烘櫤娌逛簳绠$悊绯荤粺/寮�鍙戠幆澧�
 VITE_APP_BASE_API = '/dev-api'
diff --git a/.env.production b/.env.production
index fa28cfc..4cde885 100644
--- a/.env.production
+++ b/.env.production
@@ -1,10 +1,10 @@
 # 椤甸潰鏍囬
-VITE_APP_TITLE = 鑺浜戯紙绠$悊淇℃伅绯荤粺锛�
+VITE_APP_TITLE = 鍩烘櫤娌逛簳绠$悊绯荤粺
 
 # 鐢熶骇鐜閰嶇疆
 VITE_APP_ENV = 'production'
 
-# 鑺浜戯紙绠$悊淇℃伅绯荤粺锛�/鐢熶骇鐜
+# 鍩烘櫤娌逛簳绠$悊绯荤粺/鐢熶骇鐜
 VITE_APP_BASE_API = '/prod-api'
 
 # 鏄惁鍦ㄦ墦鍖呮椂寮�鍚帇缂╋紝鏀寔 gzip 鍜� brotli
diff --git a/.env.staging b/.env.staging
index 468abb3..f4d770d 100644
--- a/.env.staging
+++ b/.env.staging
@@ -1,10 +1,10 @@
 # 椤甸潰鏍囬
-VITE_APP_TITLE = 鑺浜戯紙绠$悊淇℃伅绯荤粺锛�
+VITE_APP_TITLE = 鍩烘櫤娌逛簳绠$悊绯荤粺
 
 # 鐢熶骇鐜閰嶇疆
 VITE_APP_ENV = 'staging'
 
-# 鑺浜戯紙绠$悊淇℃伅绯荤粺锛�/鐢熶骇鐜
+# 鍩烘櫤娌逛簳绠$悊绯荤粺/鐢熶骇鐜
 VITE_APP_BASE_API = '/stage-api'
 
 # 鏄惁鍦ㄦ墦鍖呮椂寮�鍚帇缂╋紝鏀寔 gzip 鍜� brotli
diff --git a/index.html b/index.html
index c72b2b8..68fd1bf 100644
--- a/index.html
+++ b/index.html
@@ -6,8 +6,8 @@
   <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
   <meta name="renderer" content="webkit">
   <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
-  <link rel="icon" href="/favicon.ico">
-  <title>鑺浜戯紙绠$悊淇℃伅绯荤粺锛�</title>
+  <link rel="icon" href="/JZYJico.ico">
+  <title>鍩烘櫤娌逛簳绠$悊绯荤粺</title>
   <!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
   <style>
     html,
diff --git a/package.json b/package.json
index a2507f4..ce94b30 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
 {
   "name": "ruoyi",
   "version": "3.8.9",
-  "description": "鑺浜戯紙绠$悊淇℃伅绯荤粺锛�",
+  "description": "鍩烘櫤娌逛簳绠$悊绯荤粺",
   "author": "鑻ヤ緷",
   "license": "MIT",
   "type": "module",
diff --git a/src/layout/components/Sidebar/Logo.vue b/src/layout/components/Sidebar/Logo.vue
index 898085b..2f5d0a9 100644
--- a/src/layout/components/Sidebar/Logo.vue
+++ b/src/layout/components/Sidebar/Logo.vue
@@ -16,7 +16,7 @@
 <script setup>
 import { ref, computed, onMounted, watch } from 'vue'
 import useUserStore from '@/store/modules/user'
-import defaultLogo from '@/assets/logo/logo.png' // 瀵煎叆榛樿logo
+import defaultLogo from '@/assets/indexViews/JZYJLogo.png' // 瀵煎叆榛樿logo
 
 defineProps({
   collapse: {
diff --git a/src/views/basicData/customerFile/index.vue b/src/views/basicData/customerFile/index.vue
index a706616..8043d1a 100644
--- a/src/views/basicData/customerFile/index.vue
+++ b/src/views/basicData/customerFile/index.vue
@@ -92,25 +92,6 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row :gutter="30" v-for="(contact, index) in formYYs.contactList" :key="index">
-          <el-col :span="12">
-            <el-form-item label="鑱旂郴浜猴細" prop="contactPerson">
-              <el-input v-model="contact.contactPerson" placeholder="璇疯緭鍏�" clearable  />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="鑱旂郴鐢佃瘽锛�" prop="contactPhone">
-              <div style="display: flex; align-items: center;width: 100%;">
-                <el-input v-model="contact.contactPhone" placeholder="璇疯緭鍏�" clearable />
-                <el-button   @click="removeContact(index)" type="danger" circle style="margin-left: 5px;">
-                  <el-icon><Close /></el-icon>
-                </el-button>
-              </div>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-button @click="addNewContact" style="margin-bottom: 10px;">+ 鏂板鑱旂郴浜�</el-button>
-
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="閾惰鍩烘湰鎴凤細" prop="basicBankAccount">
@@ -142,6 +123,24 @@
             </el-form-item>
           </el-col>
         </el-row>
+				<el-row :gutter="30" v-for="(contact, index) in formYYs.contactList" :key="index">
+					<el-col :span="12">
+						<el-form-item label="鑱旂郴浜猴細" prop="contactPerson">
+							<el-input v-model="contact.contactPerson" placeholder="璇疯緭鍏�" clearable  />
+						</el-form-item>
+					</el-col>
+					<el-col :span="12">
+						<el-form-item label="鑱旂郴鐢佃瘽锛�" prop="contactPhone">
+							<div style="display: flex; align-items: center;width: 100%;">
+								<el-input v-model="contact.contactPhone" placeholder="璇疯緭鍏�" clearable />
+								<el-button   @click="removeContact(index)" type="danger" circle style="margin-left: 5px;">
+									<el-icon><Close /></el-icon>
+								</el-button>
+							</div>
+						</el-form-item>
+					</el-col>
+				</el-row>
+				<el-button @click="addNewContact" style="margin-bottom: 10px;">+ 鏂板鑱旂郴浜�</el-button>
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="缁存姢浜猴細" prop="maintainer">
diff --git a/src/views/collaborativeApproval/attendanceManagement/index.vue b/src/views/collaborativeApproval/attendanceManagement/index.vue
index 37b3d59..e46ff26 100644
--- a/src/views/collaborativeApproval/attendanceManagement/index.vue
+++ b/src/views/collaborativeApproval/attendanceManagement/index.vue
@@ -353,9 +353,9 @@
 
 // 妯℃嫙鏁版嵁
 const holidayData = ref([
-  { id: '1', name: '鏄ヨ妭', type: 'legal', startDate: '2024-02-10', endDate: '2024-02-17', days: 8, status: 'active' },
-  { id: '2', name: '娓呮槑鑺�', type: 'legal', startDate: '2024-04-05', endDate: '2024-04-05', days: 1, status: 'active' },
-  { id: '3', name: '鍔冲姩鑺�', type: 'legal', startDate: '2024-05-01', endDate: '2024-05-05', days: 5, status: 'active' }
+  { id: '1', name: '鏄ヨ妭', type: 'legal', startDate: '2025-02-10', endDate: '2025-02-17', days: 8, status: 'active' },
+  { id: '2', name: '娓呮槑鑺�', type: 'legal', startDate: '2025-04-05', endDate: '2025-04-05', days: 1, status: 'active' },
+  { id: '3', name: '鍔冲姩鑺�', type: 'legal', startDate: '2025-05-01', endDate: '2025-05-05', days: 5, status: 'active' }
 ])
 
 const annualData = ref([
diff --git a/src/views/collaborativeApproval/knowledgeBase/index.vue b/src/views/collaborativeApproval/knowledgeBase/index.vue
index f944859..287972c 100644
--- a/src/views/collaborativeApproval/knowledgeBase/index.vue
+++ b/src/views/collaborativeApproval/knowledgeBase/index.vue
@@ -412,7 +412,7 @@
     keyPoints: "缁胯壊閫氶亾鏉′欢,绠�鍖栨祦绋�,瀹℃壒鏉冮檺,鏃堕棿鎺у埗",
     creator: "寮犵粡鐞�",
     usageCount: 15,
-    createTime: "2024-01-15 10:30:00"
+    createTime: "2025-01-15 10:30:00"
   },
   {
     id: "2",
@@ -425,7 +425,7 @@
     keyPoints: "椤圭洰鍗忚皟,瀹氭湡浼氳,缁熶竴鎰忚,璐熻矗浜哄埗搴�",
     creator: "鏉庝富绠�",
     usageCount: 8,
-    createTime: "2024-01-14 15:20:00"
+    createTime: "2025-01-14 15:20:00"
   },
   {
     id: "3",
@@ -438,7 +438,7 @@
     keyPoints: "绱ф�ュ垎绾�,鏍囧噯鍒跺畾,娴佺▼绠�鍖�,鍙婃椂澶勭悊",
     creator: "鐜嬩笓鍛�",
     usageCount: 12,
-    createTime: "2024-01-13 09:15:00"
+    createTime: "2025-01-13 09:15:00"
   }
 ];
 
diff --git a/src/views/collaborativeApproval/meetingBoard/index.vue b/src/views/collaborativeApproval/meetingBoard/index.vue
index 63c74f9..f60287a 100644
--- a/src/views/collaborativeApproval/meetingBoard/index.vue
+++ b/src/views/collaborativeApproval/meetingBoard/index.vue
@@ -161,8 +161,8 @@
     id: 1,
     title: '浜у搧寮�鍙戝懆浼�',
     status: 'ongoing',
-    startTime: '2024-01-15 09:00:00',
-    endTime: '2024-01-15 10:30:00',
+    startTime: '2025-01-15 09:00:00',
+    endTime: '2025-01-15 10:30:00',
     location: '浼氳瀹',
     host: '寮犵粡鐞�',
     participants: ['寮犵粡鐞�', '鏉庡伐绋嬪笀', '鐜嬭璁″笀', '璧垫祴璇曞憳'],
@@ -177,8 +177,8 @@
     id: 2,
     title: '瀹㈡埛闇�姹傝瘎瀹′細',
     status: 'upcoming',
-    startTime: '2024-01-15 14:00:00',
-    endTime: '2024-01-15 15:00:00',
+    startTime: '2025-01-15 14:00:00',
+    endTime: '2025-01-15 15:00:00',
     location: '绾夸笂浼氳',
     host: '闄堟�荤洃',
     participants: ['闄堟�荤洃', '鍒樹骇鍝佺粡鐞�', '瀛欏鎴风粡鐞�', '瀹㈡埛浠h〃'],
@@ -192,8 +192,8 @@
     id: 3,
     title: '鍥㈤槦寤鸿娲诲姩',
     status: 'completed',
-    startTime: '2024-01-14 16:00:00',
-    endTime: '2024-01-14 18:00:00',
+    startTime: '2025-01-14 16:00:00',
+    endTime: '2025-01-14 18:00:00',
     location: '鍏徃澶у巺',
     host: '浜轰簨閮�',
     participants: ['鍏ㄤ綋鍛樺伐'],
diff --git a/src/views/collaborativeApproval/noticeManagement/index.vue b/src/views/collaborativeApproval/noticeManagement/index.vue
index 16cee35..b19d2ac 100644
--- a/src/views/collaborativeApproval/noticeManagement/index.vue
+++ b/src/views/collaborativeApproval/noticeManagement/index.vue
@@ -2,30 +2,30 @@
   <div class="app-container">
     <!-- 鎼滅储琛ㄥ崟 -->
     <div class="search_form">
-      <!--      <div>-->
-      <!--        <span class="search_title">鍏憡鏍囬锛�</span>-->
-      <!--        <el-input-->
-      <!--            v-model="searchForm.title"-->
-      <!--            style="width: 240px"-->
-      <!--            placeholder="璇疯緭鍏ュ叕鍛婃爣棰樻悳绱�"-->
-      <!--            @change="handleQuery"-->
-      <!--            clearable-->
-      <!--            :prefix-icon="Search"-->
-      <!--        />-->
-      <!--        <span class="search_title ml10">鍏憡绫诲瀷锛�</span>-->
-      <!--        <el-select v-model="searchForm.type" clearable @change="handleQuery" style="width: 240px">-->
-      <!--          <el-option label="鏀惧亣閫氱煡" :value="1"/>-->
-      <!--          <el-option label="璁惧缁翠慨閫氱煡" :value="2"/>-->
-      <!--        </el-select>-->
-      <!--        <span class="search_title ml10">鐘舵�侊細</span>-->
-      <!--        <el-select v-model="searchForm.status" clearable @change="handleQuery" style="width: 240px">-->
-      <!--          <el-option label="鑽夌" :value="0"/>-->
-      <!--          <el-option label="宸插彂甯�" :value="1"/>-->
-      <!--          <el-option label="宸蹭笅绾�" :value="2"/>-->
-      <!--        </el-select>-->
-      <!--        <el-button type="primary" @click="handleQuery" style="margin-left: 10px">鎼滅储</el-button>-->
-      <!--        <el-button @click="resetQuery" style="margin-left: 10px">閲嶇疆</el-button>-->
-      <!--      </div>-->
+      <div>
+        <span class="search_title">鍏憡鏍囬锛�</span>
+        <el-input
+          v-model="searchForm.noticeTitle"
+          style="width: 240px"
+          placeholder="璇疯緭鍏ュ叕鍛婃爣棰樻悳绱�"
+          @change="handleQuery"
+          clearable
+          :prefix-icon="Search"
+        />
+        <span class="search_title ml10">鍏憡绫诲瀷锛�</span>
+        <el-select v-model="searchForm.noticeType" clearable @change="handleQuery" style="width: 240px">
+          <el-option label="鏀惧亣閫氱煡" value="1" />
+          <el-option label="璁惧缁翠慨閫氱煡" value="2" />
+        </el-select>
+        <span class="search_title ml10">鐘舵�侊細</span>
+        <el-select v-model="searchForm.status" clearable @change="handleQuery" style="width: 240px">
+          <el-option label="鑽夌" value="0" />
+          <el-option label="宸插彂甯�" value="1" />
+          <el-option label="宸蹭笅绾�" value="2" />
+        </el-select>
+        <el-button type="primary" @click="handleQuery" style="margin-left: 10px">鎼滅储</el-button>
+        <el-button @click="resetQuery" style="margin-left: 10px">閲嶇疆</el-button>
+      </div>
       <div>
         <el-button type="primary" @click="openForm('add')">鏂板鍏憡</el-button>
         <el-button type="danger" plain @click="handleDelete" :disabled="!selectedIds.length">鍒犻櫎</el-button>
@@ -35,24 +35,22 @@
     <!-- 閫氱煡鍏憡鏉� -->
     <div class="notice-board">
       <!-- 鏀惧亣閫氱煡鍖哄煙 -->
-      <div class="notice-section" v-if="holidayNoticeCount > 0">
+      <div class="notice-section" v-if="holidayNotices.length > 0">
         <div class="section-header">
           <h3>馃搮 鏀惧亣閫氱煡</h3>
-          <span class="section-count">{{ holidayNoticeCount }}鏉�</span>
+          <span class="section-count">{{ holidayNotices.length }}鏉�</span>
         </div>
         <div class="notice-cards">
-          <div
-              v-for="notice in holidayNotices"
-              :key="notice.id"
-              class="notice-card holiday-card"
-              :class="{ 'urgent': notice.priority === '3' }"
+          <div 
+            v-for="notice in holidayNotices" 
+            :key="notice.id"
+            class="notice-card holiday-card"
+            :class="{ 'urgent': notice.priority === '3' }"
           >
             <div class="card-header">
               <div class="card-title">
-                <el-icon class="holiday-icon">
-                  <Calendar/>
-                </el-icon>
-                {{ notice.title }}
+                <el-icon class="holiday-icon"><Calendar /></el-icon>
+                {{ notice.noticeTitle }}
               </div>
               <div class="card-actions">
                 <el-button link type="primary" @click="handleEdit(notice)">缂栬緫</el-button>
@@ -60,7 +58,7 @@
               </div>
             </div>
             <div class="card-content">
-              <p>{{ notice.content }}</p>
+              <p>{{ notice.noticeContent }}</p>
             </div>
             <div class="card-footer">
               <div class="card-meta">
@@ -72,47 +70,35 @@
                 </span>
               </div>
               <div class="card-info">
-                <span class="creator">{{ notice.createUserName }}</span>
+                <span class="creator">{{ notice.createBy }}</span>
                 <span class="time">{{ notice.createTime }}</span>
               </div>
             </div>
             <div class="card-remark" v-if="notice.remark">
-              <el-icon>
-                <InfoFilled/>
-              </el-icon>
+              <el-icon><InfoFilled /></el-icon>
               <span>{{ notice.remark }}</span>
             </div>
           </div>
         </div>
       </div>
-
-      <pagination
-          v-if="holidayNoticePage.total > 0"
-          :total="holidayNoticePage.total"
-          :page="holidayNoticePage.current"
-          :limit="holidayNoticePage.size"
-          @pagination="handleHolidayNoticeCurrentChange"
-      />
 
       <!-- 璁惧缁翠慨閫氱煡鍖哄煙 -->
-      <div class="notice-section" v-if="maintenanceNoticeCount > 0">
+      <div class="notice-section" v-if="maintenanceNotices.length > 0">
         <div class="section-header">
           <h3>馃敡 璁惧缁翠慨閫氱煡</h3>
-          <span class="section-count">{{ maintenanceNoticeCount }}鏉�</span>
+          <span class="section-count">{{ maintenanceNotices.length }}鏉�</span>
         </div>
         <div class="notice-cards">
-          <div
-              v-for="notice in maintenanceNotices"
-              :key="notice.id"
-              class="notice-card maintenance-card"
-              :class="{ 'urgent': notice.priority === '3' }"
+          <div 
+            v-for="notice in maintenanceNotices" 
+            :key="notice.id"
+            class="notice-card maintenance-card"
+            :class="{ 'urgent': notice.priority === '3' }"
           >
             <div class="card-header">
               <div class="card-title">
-                <el-icon class="maintenance-icon">
-                  <Tools/>
-                </el-icon>
-                {{ notice.title }}
+                <el-icon class="maintenance-icon"><Tools /></el-icon>
+                {{ notice.noticeTitle }}
               </div>
               <div class="card-actions">
                 <el-button link type="primary" @click="handleEdit(notice)">缂栬緫</el-button>
@@ -120,7 +106,7 @@
               </div>
             </div>
             <div class="card-content">
-              <p>{{ notice.content }}</p>
+              <p>{{ notice.noticeContent }}</p>
             </div>
             <div class="card-footer">
               <div class="card-meta">
@@ -132,54 +118,44 @@
                 </span>
               </div>
               <div class="card-info">
-                <span class="creator">{{ notice.createUserName }}</span>
+                <span class="creator">{{ notice.createBy }}</span>
                 <span class="time">{{ notice.createTime }}</span>
               </div>
             </div>
             <div class="card-remark" v-if="notice.remark">
-              <el-icon>
-                <InfoFilled/>
-              </el-icon>
+              <el-icon><InfoFilled /></el-icon>
               <span>{{ notice.remark }}</span>
             </div>
           </div>
         </div>
       </div>
 
-      <pagination
-          v-if="maintenanceNoticePage.total > 0"
-          :total="maintenanceNoticePage.total"
-          :page="maintenanceNoticePage.current"
-          :limit="maintenanceNoticePage.size"
-          @pagination="handleMaintenanceNoticeCurrentChange"
-      />
-
       <!-- 绌虹姸鎬� -->
-      <div class="empty-state" v-if="holidayNotices.length === 0 && maintenanceNotices.length === 0">
-        <el-empty description="鏆傛棤閫氱煡鍏憡"/>
+      <div class="empty-state" v-if="filteredNotices.length === 0">
+        <el-empty description="鏆傛棤閫氱煡鍏憡" />
       </div>
     </div>
 
     <!-- 鏂板/缂栬緫瀵硅瘽妗� -->
-    <el-dialog
-        :title="dialogTitle"
-        v-model="dialogVisible"
-        width="800px"
-        append-to-body
-        @close="resetForm"
+    <el-dialog 
+      :title="dialogTitle" 
+      v-model="dialogVisible" 
+      width="800px" 
+      append-to-body
+      @close="resetForm"
     >
       <el-form ref="formRef" :model="form" :rules="rules" label-width="100px">
         <el-row>
           <el-col :span="12">
-            <el-form-item label="鍏憡鏍囬" prop="title">
-              <el-input v-model="form.title" placeholder="璇疯緭鍏ュ叕鍛婃爣棰�"/>
+            <el-form-item label="鍏憡鏍囬" prop="noticeTitle">
+              <el-input v-model="form.noticeTitle" placeholder="璇疯緭鍏ュ叕鍛婃爣棰�" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="鍏憡绫诲瀷" prop="type">
-              <el-select v-model="form.type" placeholder="璇烽�夋嫨鍏憡绫诲瀷" style="width: 100%">
-                <el-option label="鏀惧亣閫氱煡" :value="1"/>
-                <el-option label="璁惧缁翠慨閫氱煡" :value="2"/>
+            <el-form-item label="鍏憡绫诲瀷" prop="noticeType">
+              <el-select v-model="form.noticeType" placeholder="璇烽�夋嫨鍏憡绫诲瀷" style="width: 100%">
+                <el-option label="鏀惧亣閫氱煡" value="1" />
+                <el-option label="璁惧缁翠慨閫氱煡" value="2" />
               </el-select>
             </el-form-item>
           </el-col>
@@ -188,18 +164,18 @@
           <el-col :span="12">
             <el-form-item label="鐘舵��">
               <el-radio-group v-model="form.status">
-                <el-radio :value="0">鑽夌</el-radio>
-                <el-radio :value="1">宸插彂甯�</el-radio>
-                <el-radio :value="2">宸蹭笅绾�</el-radio>
+                <el-radio value="0">鑽夌</el-radio>
+                <el-radio value="1">宸插彂甯�</el-radio>
+                <el-radio value="2">宸蹭笅绾�</el-radio>
               </el-radio-group>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="浼樺厛绾�">
               <el-select v-model="form.priority" placeholder="璇烽�夋嫨浼樺厛绾�" style="width: 100%">
-                <el-option label="鏅��" :value="1"/>
-                <el-option label="閲嶈" :value="2"/>
-                <el-option label="绱ф��" :value="3"/>
+                <el-option label="鏅��" value="1" />
+                <el-option label="閲嶈" value="2" />
+                <el-option label="绱ф��" value="3" />
               </el-select>
             </el-form-item>
           </el-col>
@@ -208,12 +184,12 @@
           <el-col :span="24">
             <el-form-item label="鍏憡鍐呭" prop="noticeContent">
               <el-input
-                  v-model="form.content"
-                  type="textarea"
-                  :rows="6"
-                  placeholder="璇疯緭鍏ュ叕鍛婂唴瀹�"
-                  maxlength="500"
-                  show-word-limit
+                v-model="form.noticeContent"
+                type="textarea"
+                :rows="6"
+                placeholder="璇疯緭鍏ュ叕鍛婂唴瀹�"
+                maxlength="500"
+                show-word-limit
               />
             </el-form-item>
           </el-col>
@@ -222,12 +198,12 @@
           <el-col :span="24">
             <el-form-item label="澶囨敞">
               <el-input
-                  v-model="form.remark"
-                  type="textarea"
-                  :rows="3"
-                  placeholder="璇疯緭鍏ュ娉ㄤ俊鎭�"
-                  maxlength="200"
-                  show-word-limit
+                v-model="form.remark"
+                type="textarea"
+                :rows="3"
+                placeholder="璇疯緭鍏ュ娉ㄤ俊鎭�"
+                maxlength="200"
+                show-word-limit
               />
             </el-form-item>
           </el-col>
@@ -244,51 +220,45 @@
 </template>
 
 <script setup>
-import {Search, Calendar, Tools, InfoFilled} from "@element-plus/icons-vue";
-import {onMounted, ref, reactive, toRefs, computed} from "vue";
-import {ElMessage, ElMessageBox} from "element-plus";
+import { Search, Calendar, Tools, InfoFilled } from "@element-plus/icons-vue";
+import { onMounted, ref, reactive, toRefs, computed } from "vue";
+import { ElMessage, ElMessageBox } from "element-plus";
 import useUserStore from "@/store/modules/user";
-import {
-  addNotice,
-  delNotice,
-  getCount,
-  listNotice,
-  updateNotice
-} from "../../../api/collaborativeApproval/noticeManagement.js";
-import pagination from "../../../components/PIMTable/Pagination.vue";
 
 const userStore = useUserStore();
 
 // 鍝嶅簲寮忔暟鎹�
 const data = reactive({
   searchForm: {
-    title: "",
-    type: undefined,
-    status: undefined,
+    noticeTitle: "",
+    noticeType: "",
+    status: "",
   },
   form: {
     id: undefined,
-    title: "",
-    type: null,
-    content: "",
-    status: 0,
-    priority: 1,
+    noticeTitle: "",
+    noticeType: "",
+    noticeContent: "",
+    status: "0",
+    priority: "1",
     remark: "",
+    createBy: "",
+    createTime: "",
   },
   rules: {
-    title: [
-      {required: true, message: "鍏憡鏍囬涓嶈兘涓虹┖", trigger: "blur"}
+    noticeTitle: [
+      { required: true, message: "鍏憡鏍囬涓嶈兘涓虹┖", trigger: "blur" }
     ],
-    type: [
-      {required: true, message: "璇烽�夋嫨鍏憡绫诲瀷", trigger: "change"}
+    noticeType: [
+      { required: true, message: "璇烽�夋嫨鍏憡绫诲瀷", trigger: "change" }
     ],
-    content: [
-      {required: true, message: "鍏憡鍐呭涓嶈兘涓虹┖", trigger: "blur"}
+    noticeContent: [
+      { required: true, message: "鍏憡鍐呭涓嶈兘涓虹┖", trigger: "blur" }
     ]
   }
 });
 
-const {searchForm, form, rules} = toRefs(data);
+const { searchForm, form, rules } = toRefs(data);
 
 // 椤甸潰鐘舵��
 const dialogVisible = ref(false);
@@ -296,28 +266,127 @@
 const selectedIds = ref([]);
 const formRef = ref();
 
+// 妯℃嫙鏁版嵁 - 鏍规嵁娉曞畾鑺傚亣鏃ヨ璁�
+const mockData = [
+  {
+    id: 1,
+    noticeTitle: "2024骞存槬鑺傛斁鍋囬�氱煡",
+    noticeType: "1",
+    priority: "2",
+    status: "1",
+    noticeContent: "鏍规嵁鍥藉姟闄㈠姙鍏巺閫氱煡锛�2024骞存槬鑺傛斁鍋囧畨鎺掑涓嬶細2鏈�10鏃ワ紙鍒濅竴锛夎嚦2鏈�17鏃ワ紙鍒濆叓锛夋斁鍋囪皟浼戯紝鍏�8澶┿��2鏈�4鏃ワ紙鏄熸湡鏃ワ級銆�2鏈�18鏃ワ紙鏄熸湡鏃ワ級涓婄彮銆傝鍚勯儴闂ㄦ彁鍓嶅仛濂藉伐浣滃畨鎺掋��",
+    remark: "鏀惧亣鏈熼棿璇蜂繚鎸佹墜鏈虹晠閫氾紝濡傛湁绱ф�ヤ簨鍔″強鏃惰仈绯�",
+    createBy: "浜轰簨閮�",
+    createTime: "2025-01-15 10:30:00"
+  },
+  {
+    id: 2,
+    noticeTitle: "2024骞存竻鏄庤妭鏀惧亣閫氱煡",
+    noticeType: "1",
+    priority: "1",
+    status: "1",
+    noticeContent: "鏍规嵁鍥藉姟闄㈠姙鍏巺閫氱煡锛�2024骞存竻鏄庤妭鏀惧亣瀹夋帓濡備笅锛�4鏈�4鏃ワ紙鏄熸湡鍥涳級鑷�4鏈�6鏃ワ紙鏄熸湡鍏級鏀惧亣璋冧紤锛屽叡3澶┿��4鏈�7鏃ワ紙鏄熸湡鏃ワ級涓婄彮銆�",
+    remark: "璇峰悇閮ㄩ棬鍋氬ソ鍊肩彮瀹夋帓锛岀‘淇濊妭鏃ユ湡闂村悇椤瑰伐浣滄甯歌繍杞�",
+    createBy: "琛屾斂閮�",
+    createTime: "2025-01-14 14:20:00"
+  },
+  {
+    id: 3,
+    noticeTitle: "2024骞村姵鍔ㄨ妭鏀惧亣閫氱煡",
+    noticeType: "1",
+    priority: "1",
+    status: "1",
+    noticeContent: "鏍规嵁鍥藉姟闄㈠姙鍏巺閫氱煡锛�2024骞村姵鍔ㄨ妭鏀惧亣瀹夋帓濡備笅锛�5鏈�1鏃ワ紙鏄熸湡涓夛級鑷�5鏈�5鏃ワ紙鏄熸湡鏃ワ級鏀惧亣璋冧紤锛屽叡5澶┿��4鏈�28鏃ワ紙鏄熸湡鏃ワ級銆�5鏈�11鏃ワ紙鏄熸湡鍏級涓婄彮銆�",
+    remark: "鏀惧亣鍓嶈鍏抽棴鐢垫簮锛岄攣濂介棬绐楋紝娉ㄦ剰瀹夊叏",
+    createBy: "琛屾斂閮�",
+    createTime: "2025-01-13 09:15:00"
+  },
+  {
+    id: 4,
+    noticeTitle: "2024骞寸鍗堣妭鏀惧亣閫氱煡",
+    noticeType: "1",
+    priority: "1",
+    status: "1",
+    noticeContent: "鏍规嵁鍥藉姟闄㈠姙鍏巺閫氱煡锛�2024骞寸鍗堣妭鏀惧亣瀹夋帓濡備笅锛�6鏈�8鏃ワ紙鏄熸湡鍏級鑷�6鏈�10鏃ワ紙鏄熸湡涓�锛夋斁鍋囪皟浼戯紝鍏�3澶┿��6鏈�11鏃ワ紙鏄熸湡浜岋級涓婄彮銆�",
+    remark: "绁濆ぇ瀹剁鍗堣妭蹇箰锛岄槚瀹跺垢绂忥紒",
+    createBy: "琛屾斂閮�",
+    createTime: "2025-01-12 16:30:00"
+  },
+  {
+    id: 5,
+    noticeTitle: "2024骞翠腑绉嬭妭鏀惧亣閫氱煡",
+    noticeType: "1",
+    priority: "1",
+    status: "1",
+    noticeContent: "鏍规嵁鍥藉姟闄㈠姙鍏巺閫氱煡锛�2024骞翠腑绉嬭妭鏀惧亣瀹夋帓濡備笅锛�9鏈�15鏃ワ紙鏄熸湡鏃ワ級鑷�9鏈�17鏃ワ紙鏄熸湡浜岋級鏀惧亣璋冧紤锛屽叡3澶┿��9鏈�14鏃ワ紙鏄熸湡鍏級涓婄彮銆�",
+    remark: "涓浣宠妭锛岀澶у鍥㈠渾缇庢弧锛屽垢绂忓畨搴凤紒",
+    createBy: "琛屾斂閮�",
+    createTime: "2025-01-11 11:20:00"
+  },
+  {
+    id: 6,
+    noticeTitle: "2024骞村浗搴嗚妭鏀惧亣閫氱煡",
+    noticeType: "1",
+    priority: "2",
+    status: "1",
+    noticeContent: "鏍规嵁鍥藉姟闄㈠姙鍏巺閫氱煡锛�2024骞村浗搴嗚妭鏀惧亣瀹夋帓濡備笅锛�10鏈�1鏃ワ紙鏄熸湡浜岋級鑷�10鏈�7鏃ワ紙鏄熸湡涓�锛夋斁鍋囪皟浼戯紝鍏�7澶┿��9鏈�29鏃ワ紙鏄熸湡鏃ワ級銆�10鏈�12鏃ワ紙鏄熸湡鍏級涓婄彮銆�",
+    remark: "鍥藉簡鏈熼棿璇峰悇閮ㄩ棬鍋氬ソ鍊肩彮瀹夋帓锛岀‘淇濆畨鍏ㄧǔ瀹�",
+    createBy: "琛屾斂閮�",
+    createTime: "2025-01-10 15:45:00"
+  },
+  {
+    id: 7,
+    noticeTitle: "A杞﹂棿鐢熶骇绾垮勾搴︽淇�氱煡",
+    noticeType: "2",
+    priority: "2",
+    status: "1",
+    noticeContent: "A杞﹂棿鐢熶骇绾垮皢浜�2024骞�1鏈�20鏃ワ紙鍛ㄥ叚锛夎繘琛屽勾搴︽淇淮鎶わ紝棰勮鍋滃伐8灏忔椂銆傛淇唴瀹瑰寘鎷細璁惧娓呮磥銆佹鼎婊戜繚鍏汇�佸畨鍏ㄨ缃鏌ョ瓑銆傝鐢熶骇閮ㄩ棬鎻愬墠璋冩暣鐢熶骇璁″垝銆�",
+    remark: "缁翠慨鏈熼棿璇风浉鍏充汉鍛橀厤鍚堬紝纭繚妫�淇伐浣滃畨鍏ㄩ『鍒╄繘琛�",
+    createBy: "璁惧閮�",
+    createTime: "2025-01-14 14:20:00"
+  },
+  {
+    id: 8,
+    noticeTitle: "B杞﹂棿璁惧棰勯槻鎬х淮鎶ら�氱煡",
+    noticeType: "2",
+    priority: "1",
+    status: "1",
+    noticeContent: "B杞﹂棿鍏抽敭璁惧灏嗕簬2024骞�1鏈�25鏃ヨ繘琛岄闃叉�х淮鎶わ紝棰勮鍋滃伐4灏忔椂銆傜淮鎶ゅ唴瀹瑰寘鎷細璁惧妫�鏌ャ�侀浂浠舵洿鎹€�佹�ц兘娴嬭瘯绛夈�傝鐩稿叧閮ㄩ棬閰嶅悎銆�",
+    remark: "缁存姢瀹屾垚鍚庡皢杩涜璇曡繍琛岋紝纭繚璁惧姝e父杩愯",
+    createBy: "璁惧閮�",
+    createTime: "2025-01-13 09:15:00"
+  }
+];
 
 // 璁$畻灞炴��
 const filteredNotices = computed(() => {
   let filtered = [...mockData];
-
+  
   if (searchForm.value.noticeTitle) {
-    filtered = filtered.filter(item =>
-        item.noticeTitle.includes(searchForm.value.noticeTitle)
+    filtered = filtered.filter(item => 
+      item.noticeTitle.includes(searchForm.value.noticeTitle)
     );
   }
   if (searchForm.value.noticeType) {
-    filtered = filtered.filter(item =>
-        item.noticeType === searchForm.value.noticeType
+    filtered = filtered.filter(item => 
+      item.noticeType === searchForm.value.noticeType
     );
   }
   if (searchForm.value.status !== "") {
-    filtered = filtered.filter(item =>
-        item.status === searchForm.value.status
+    filtered = filtered.filter(item => 
+      item.status === searchForm.value.status
     );
   }
-
+  
   return filtered;
+});
+
+const holidayNotices = computed(() => {
+  return filteredNotices.value.filter(notice => notice.noticeType === "1");
+});
+
+const maintenanceNotices = computed(() => {
+  return filteredNotices.value.filter(notice => notice.noticeType === "2");
 });
 
 // 鏂规硶瀹氫箟
@@ -327,19 +396,19 @@
 
 const resetQuery = () => {
   searchForm.value = {
-    title: "",
-    type: "",
+    noticeTitle: "",
+    noticeType: "",
     status: ""
   };
 };
 
 const getPriorityText = (priority) => {
-  const priorityMap = {"1": "鏅��", "2": "閲嶈", "3": "绱ф��"};
+  const priorityMap = { "1": "鏅��", "2": "閲嶈", "3": "绱ф��" };
   return priorityMap[priority] || "鏅��";
 };
 
 const getStatusText = (status) => {
-  const statusMap = {"0": "鑽夌", "1": "宸插彂甯�", "2": "宸蹭笅绾�"};
+  const statusMap = { "0": "鑽夌", "1": "宸插彂甯�", "2": "宸蹭笅绾�" };
   return statusMap[status] || "鏈煡";
 };
 
@@ -348,12 +417,14 @@
     dialogTitle.value = "鏂板鍏憡";
     form.value = {
       id: undefined,
-      title: "",
-      type: undefined,
-      content: "",
-      status: 0,
-      priority: 1,
+      noticeTitle: "",
+      noticeType: "",
+      noticeContent: "",
+      status: "0",
+      priority: "1",
       remark: "",
+      createBy: userStore.name || "褰撳墠鐢ㄦ埛",
+      createTime: new Date().toLocaleString()
     };
   }
   dialogVisible.value = true;
@@ -361,24 +432,29 @@
 
 const handleEdit = (row) => {
   dialogTitle.value = "缂栬緫鍏憡";
-  form.value = {...row};
+  form.value = { ...row };
   dialogVisible.value = true;
+};
+
+const handleSelectionChange = (selection) => {
+  selectedIds.value = selection.map(item => item.id);
 };
 
 const handleDelete = (id) => {
   ElMessageBox.confirm(
-      "纭鍒犻櫎杩欐潯鍏憡鍚楋紵",
-      "鎻愮ず",
-      {
-        confirmButtonText: "纭畾",
-        cancelButtonText: "鍙栨秷",
-        type: "warning"
-      }
+    "纭鍒犻櫎杩欐潯鍏憡鍚楋紵",
+    "鎻愮ず",
+    {
+      confirmButtonText: "纭畾",
+      cancelButtonText: "鍙栨秷",
+      type: "warning"
+    }
   ).then(() => {
-    delNotice(id).then(res => {
+    const index = mockData.findIndex(item => item.id === id);
+    if (index > -1) {
+      mockData.splice(index, 1);
       ElMessage.success("鍒犻櫎鎴愬姛");
-      resetTable()
-    })
+    }
   });
 };
 
@@ -387,83 +463,25 @@
     if (valid) {
       if (form.value.id) {
         // 缂栬緫妯″紡
-        updateNotice(form.value).then(res => {
-          ElMessage.success("淇敼鎴愬姛");
-          resetTable()
-        })
+        const index = mockData.findIndex(item => item.id === form.value.id);
+        if (index > -1) {
+          mockData[index] = { ...form.value };
+        }
+        ElMessage.success("淇敼鎴愬姛");
       } else {
         // 鏂板妯″紡
-        addNotice(form.value).then(res => {
-          ElMessage.success("鏂板鎴愬姛");
-          resetTable()
-        })
+        const newId = Math.max(...mockData.map(item => item.id)) + 1;
+        const newNotice = {
+          ...form.value,
+          id: newId,
+          createTime: new Date().toLocaleString()
+        };
+        mockData.unshift(newNotice);
+        ElMessage.success("鏂板鎴愬姛");
       }
       dialogVisible.value = false;
     }
   });
-};
-
-const holidayNoticeCount = ref()
-const maintenanceNoticeCount = ref()
-const fetchCount = () => {
-  getCount().then(res => {
-    holidayNoticeCount.value = res.data.filter(item => {
-      return item.type === 1
-    })[0].count;
-    maintenanceNoticeCount.value = res.data.filter(item => {
-      return item.type === 2
-    })[0].count;
-  });
-}
-
-const holidayNotices = ref([])
-const maintenanceNotices = ref([])
-const holidayNoticePage = ref({
-  total: 0,
-  current: 1,
-  size: 6
-})
-
-const maintenanceNoticePage = ref({
-  total: 0,
-  current: 1,
-  size: 6
-})
-
-const fetchHolidayNotices = () => {
-  listNotice({...holidayNoticePage.value, type: 1}).then(res => {
-    holidayNotices.value = res.data.records
-    holidayNoticePage.value.total = res.data.total
-  });
-};
-
-const fetchMaintenanceNotices = () => {
-  listNotice({...holidayNoticePage.value, type: 2}).then(res => {
-    maintenanceNotices.value = res.data.records
-    maintenanceNoticePage.value.total = res.data.total
-  });
-};
-
-const handleHolidayNoticeCurrentChange = (val) => {
-  holidayNoticePage.value.size = val.limit
-  holidayNoticePage.value.current = val.page
-  fetchHolidayNotices()
-};
-
-const handleMaintenanceNoticeCurrentChange = (val) => {
-  maintenanceNoticePage.value.size = val.limit
-  maintenanceNoticePage.value.current = val.page
-  fetchMaintenanceNotices()
-};
-
-const resetTable = () => {
-  holidayNoticePage.value.current = 1
-  holidayNoticePage.value.size = 6
-  maintenanceNoticePage.value.current = 1
-  maintenanceNoticePage.value.size = 6
-  fetchHolidayNotices()
-  fetchMaintenanceNotices()
-  fetchCount()
 };
 
 const resetForm = () => {
@@ -472,9 +490,7 @@
 
 // 鐢熷懡鍛ㄦ湡
 onMounted(() => {
-  fetchCount()
-  fetchHolidayNotices()
-  fetchMaintenanceNotices()
+  // 椤甸潰鍔犺浇瀹屾垚
 });
 </script>
 
@@ -629,35 +645,13 @@
   font-weight: 500;
 }
 
-.priority-1 {
-  background: #f0f9ff;
-  color: #0369a1;
-}
+.priority-1 { background: #f0f9ff; color: #0369a1; }
+.priority-2 { background: #fef3c7; color: #d97706; }
+.priority-3 { background: #fef2f2; color: #dc2626; }
 
-.priority-2 {
-  background: #fef3c7;
-  color: #d97706;
-}
-
-.priority-3 {
-  background: #fef2f2;
-  color: #dc2626;
-}
-
-.status-0 {
-  background: #f3f4f6;
-  color: #6b7280;
-}
-
-.status-1 {
-  background: #d1fae5;
-  color: #059669;
-}
-
-.status-2 {
-  background: #fef3c7;
-  color: #d97706;
-}
+.status-0 { background: #f3f4f6; color: #6b7280; }
+.status-1 { background: #d1fae5; color: #059669; }
+.status-2 { background: #fef3c7; color: #d97706; }
 
 .card-info {
   display: flex;
@@ -698,12 +692,12 @@
   .notice-cards {
     grid-template-columns: 1fr;
   }
-
+  
   .search_form {
     flex-direction: column;
     gap: 15px;
   }
-
+  
   .search_form > div {
     width: 100%;
   }
diff --git a/src/views/collaborativeApproval/notificationManagement/index.vue b/src/views/collaborativeApproval/notificationManagement/index.vue
index 288acf1..3138e51 100644
--- a/src/views/collaborativeApproval/notificationManagement/index.vue
+++ b/src/views/collaborativeApproval/notificationManagement/index.vue
@@ -567,9 +567,9 @@
     status: "published",
     content: "鏍规嵁鍥藉瑙勫畾锛岀粨鍚堝叕鍙稿疄闄呮儏鍐碉紝鐜板皢2024骞存槬鑺傛斁鍋囧畨鎺掗�氱煡濡備笅...",
     departments: ["鎶�鏈儴", "閿�鍞儴", "浜轰簨閮�", "璐㈠姟閮�", "杩愯惀閮�", "甯傚満閮�", "瀹㈡湇閮�"],
-    expireDate: "2024-02-15",
+    expireDate: "2025-02-15",
     syncMethods: ["wechat", "dingtalk", "email"],
-    createTime: "2024-01-15 10:30:00"
+    createTime: "2025-01-15 10:30:00"
   },
   {
     id: "2",
@@ -579,9 +579,9 @@
     status: "published",
     content: "鎶�鏈儴瀹氫簬姣忓懆浜斾笅鍗�2鐐瑰彫寮�鍛ㄤ緥浼氾紝璇峰悇浣嶅悓浜嬪噯鏃跺弬鍔�...",
     departments: ["鎶�鏈儴"],
-    expireDate: "2024-01-20",
+    expireDate: "2025-01-20",
     syncMethods: ["wechat", "dingtalk"],
-    createTime: "2024-01-14 15:20:00"
+    createTime: "2025-01-14 15:20:00"
   },
   {
     id: "3",
@@ -591,9 +591,9 @@
     status: "draft",
     content: "涓虹淮鎶ゅ叕鍙告甯哥З搴忥紝瑙勮寖鍛樺伐琛屼负锛岀幇瀵硅繚鍙嶅叕鍙歌瀹氱殑琛屼负杩涜澶勭綒...",
     departments: ["浜轰簨閮�", "鎶�鏈儴", "閿�鍞儴"],
-    expireDate: "2024-02-13",
+    expireDate: "2025-02-13",
     syncMethods: ["wechat", "email"],
-    createTime: "2024-01-13 09:15:00"
+    createTime: "2025-01-13 09:15:00"
   }
 ];
 
diff --git a/src/views/collaborativeApproval/rpaManagement/index.vue b/src/views/collaborativeApproval/rpaManagement/index.vue
index 51cef73..63b9bd0 100644
--- a/src/views/collaborativeApproval/rpaManagement/index.vue
+++ b/src/views/collaborativeApproval/rpaManagement/index.vue
@@ -215,21 +215,21 @@
     programName: "璁㈠崟澶勭悊RPA",
     status: "running",
     description: "鑷姩澶勭悊瀹㈡埛璁㈠崟锛屽寘鎷獙璇併�佸垎閰嶅拰纭",
-    createTime: "2024-01-15 10:30:00"
+    createTime: "2025-01-15 10:30:00"
   },
   {
     id: "2",
     programName: "搴撳瓨鍚屾RPA",
     status: "stopped",
     description: "鍚屾澶氫釜浠撳簱鐨勫簱瀛樻暟鎹紝纭繚鏁版嵁涓�鑷存��",
-    createTime: "2024-01-14 15:20:00"
+    createTime: "2025-01-14 15:20:00"
   },
   {
     id: "3",
     programName: "鎶ヨ〃鐢熸垚RPA",
     status: "error",
     description: "鑷姩鐢熸垚姣忔棩閿�鍞姤琛ㄥ拰搴撳瓨鎶ヨ〃",
-    createTime: "2024-01-13 09:15:00"
+    createTime: "2025-01-13 09:15:00"
   }
 ];
 
diff --git a/src/views/energyManagement/dynamicEnergySaving/index.vue b/src/views/energyManagement/dynamicEnergySaving/index.vue
index eb6f0b1..b641276 100644
--- a/src/views/energyManagement/dynamicEnergySaving/index.vue
+++ b/src/views/energyManagement/dynamicEnergySaving/index.vue
@@ -237,21 +237,21 @@
     version: 'v2.1.0',
     status: 'active',
     accuracy: '94.2%',
-    lastUpdate: '2024-01-15 14:30:00'
+    lastUpdate: '2025-01-15 14:30:00'
   },
   {
     modelName: '鍦板眰鍘嬪姏棰勬祴妯″瀷',
     version: 'v1.8.5',
     status: 'active',
     accuracy: '91.7%',
-    lastUpdate: '2024-01-14 09:15:00'
+    lastUpdate: '2025-01-14 09:15:00'
   },
   {
     modelName: '鑳借�楀垎鏋愭ā鍨�',
     version: 'v2.0.3',
     status: 'standby',
     accuracy: '89.3%',
-    lastUpdate: '2024-01-13 16:45:00'
+    lastUpdate: '2025-01-13 16:45:00'
   }
 ])
 
diff --git a/src/views/energyManagement/meterCollection/index.vue b/src/views/energyManagement/meterCollection/index.vue
index 8b2636b..dfa5617 100644
--- a/src/views/energyManagement/meterCollection/index.vue
+++ b/src/views/energyManagement/meterCollection/index.vue
@@ -227,7 +227,7 @@
         power: '75.5',
         powerFactor: '0.85',
         status: '姝e父',
-        lastUpdateTime: '2024-01-15 10:30:00'
+        lastUpdateTime: '2025-01-15 10:30:00'
       },
       {
         id: 2,
@@ -241,7 +241,7 @@
         power: '45.2',
         powerFactor: '0.92',
         status: '姝e父',
-        lastUpdateTime: '2024-01-15 10:25:00'
+        lastUpdateTime: '2025-01-15 10:25:00'
       }
     ]
     this.pagination.total = this.meterList.length
@@ -408,7 +408,7 @@
         power: '50.0',
         powerFactor: '0.85',
         status: '姝e父',
-        lastUpdateTime: '2024-01-15 12:00:00'
+        lastUpdateTime: '2025-01-15 12:00:00'
       }
       this.detailDialogVisible = true
     },
diff --git a/src/views/equipmentManagement/gasTank/simple.vue b/src/views/equipmentManagement/gasTank/simple.vue
index 92e88df..4cb2d76 100644
--- a/src/views/equipmentManagement/gasTank/simple.vue
+++ b/src/views/equipmentManagement/gasTank/simple.vue
@@ -233,7 +233,7 @@
 const maintenanceRecords = ref([
   {
     id: 1,
-    date: '2024-01-15',
+    date: '2025-01-15',
     type: 'inspection',
     title: '骞村害妫�楠�',
     description: '鎸夌収TSG 21-2016鏍囧噯杩涜骞村害妫�楠岋紝璁惧鐘舵�佽壇濂�',
@@ -241,7 +241,7 @@
   },
   {
     id: 2,
-    date: '2024-02-20',
+    date: '2025-02-20',
     type: 'maintenance',
     title: '瀹夊叏闃�缁存姢',
     description: '鏇存崲瀹夊叏闃�瀵嗗皝鍦堬紝鏍″噯鍘嬪姏璁惧畾鍊�',
@@ -249,7 +249,7 @@
   },
   {
     id: 3,
-    date: '2024-03-10',
+    date: '2025-03-10',
     type: 'inspection',
     title: '鍘嬪姏娴嬭瘯',
     description: '杩涜鍘嬪姏瀹瑰櫒姘村帇璇曢獙锛岀鍚堣璁¤姹�',
diff --git a/src/views/equipmentManagement/upkeep/Modal/MaintenanceModal.vue b/src/views/equipmentManagement/upkeep/Modal/MaintenanceModal.vue
index 1b5a7d4..0afd512 100644
--- a/src/views/equipmentManagement/upkeep/Modal/MaintenanceModal.vue
+++ b/src/views/equipmentManagement/upkeep/Modal/MaintenanceModal.vue
@@ -30,7 +30,7 @@
   modalOptions,
   handleConfirm,
   closeModal,
-} = useModal({ title: "璁惧缁翠慨" });
+} = useModal({ title: "璁惧淇濆吇" });
 
 /**
  * @desc 淇濆瓨淇濆吇
diff --git a/src/views/inventoryManagement/dispatchLog/index.vue b/src/views/inventoryManagement/dispatchLog/index.vue
index 997fb15..2f12a60 100644
--- a/src/views/inventoryManagement/dispatchLog/index.vue
+++ b/src/views/inventoryManagement/dispatchLog/index.vue
@@ -46,7 +46,7 @@
         <el-table-column
           label="鍑哄簱鏃ユ湡"
           prop="createTime"
-          min-width="250"
+          min-width="130"
           show-overflow-tooltip
         />
         <el-table-column
@@ -82,13 +82,13 @@
         <el-table-column
           label="鍚◣鍗曚环(鍏�)"
           prop="taxInclusiveUnitPrice"
-          width="100"
+          width="200"
           show-overflow-tooltip
         />
         <el-table-column
           label="鍚◣鎬讳环(鍏�)"
           prop="taxInclusiveTotalPrice"
-          width="100"
+          width="200"
           show-overflow-tooltip
         />
         <el-table-column
diff --git a/src/views/inventoryManagement/stockWarning/index.vue b/src/views/inventoryManagement/stockWarning/index.vue
index 3694265..bd0ccaf 100644
--- a/src/views/inventoryManagement/stockWarning/index.vue
+++ b/src/views/inventoryManagement/stockWarning/index.vue
@@ -558,11 +558,11 @@
       warningLevel: '绱ф��',
       warningThreshold: 20,
       isEnabled: true,
-      warningTime: '2024-01-15 08:30:00',
+      warningTime: '2025-01-15 08:30:00',
       warningDuration: 3,
-      lastUpdateTime: '2024-01-15 10:00:00',
-      expectedRefillTime: '2024-01-16 14:00:00',
-      expectedShortageTime: '2024-01-15 18:30:00', // 浠婂ぉ涓嬪崍6:30缂烘皵
+      lastUpdateTime: '2025-01-15 10:00:00',
+      expectedRefillTime: '2025-01-16 14:00:00',
+      expectedShortageTime: '2025-01-15 18:30:00', // 浠婂ぉ涓嬪崍6:30缂烘皵
       warningRule: '褰撴皵浣撻噺浣庝簬20%鏃惰Е鍙戦璀�'
     },
     {
@@ -581,11 +581,11 @@
       warningLevel: '閲嶈',
       warningThreshold: 10,
       isEnabled: true,
-      warningTime: '2024-01-14 16:20:00',
+      warningTime: '2025-01-14 16:20:00',
       warningDuration: 2,
-      lastUpdateTime: '2024-01-15 09:15:00',
-      expectedRefillTime: '2024-01-17 09:00:00',
-      expectedShortageTime: '2024-01-18 12:00:00', // 3澶╁悗缂烘皵
+      lastUpdateTime: '2025-01-15 09:15:00',
+      expectedRefillTime: '2025-01-17 09:00:00',
+      expectedShortageTime: '2025-01-18 12:00:00', // 3澶╁悗缂烘皵
       warningRule: '褰撳帇鍔涜秴杩�8MPa鏃惰Е鍙戦璀�'
     },
     {
@@ -604,11 +604,11 @@
       warningLevel: '涓�鑸�',
       warningThreshold: 5,
       isEnabled: true,
-      warningTime: '2024-01-13 11:45:00',
+      warningTime: '2025-01-13 11:45:00',
       warningDuration: 1,
-      lastUpdateTime: '2024-01-15 08:45:00',
-      expectedRefillTime: '2024-01-20 10:00:00',
-      expectedShortageTime: '2024-01-22 15:30:00', // 7澶╁悗缂烘皵
+      lastUpdateTime: '2025-01-15 08:45:00',
+      expectedRefillTime: '2025-01-20 10:00:00',
+      expectedShortageTime: '2025-01-22 15:30:00', // 7澶╁悗缂烘皵
       warningRule: '褰撴俯搴﹁秴杩�60掳C鏃惰Е鍙戦璀�'
     },
     {
@@ -627,11 +627,11 @@
       warningLevel: '绱ф��',
       warningThreshold: 15,
       isEnabled: true,
-      warningTime: '2024-01-15 07:15:00',
+      warningTime: '2025-01-15 07:15:00',
       warningDuration: 4,
-      lastUpdateTime: '2024-01-15 11:30:00',
-      expectedRefillTime: '2024-01-15 16:00:00',
-      expectedShortageTime: '2024-01-15 14:00:00', // 浠婂ぉ涓嬪崍2鐐圭己姘�
+      lastUpdateTime: '2025-01-15 11:30:00',
+      expectedRefillTime: '2025-01-15 16:00:00',
+      expectedShortageTime: '2025-01-15 14:00:00', // 浠婂ぉ涓嬪崍2鐐圭己姘�
       warningRule: '褰撴娴嬪埌姘斾綋娉勬紡鏃惰Е鍙戦璀�'
     },
     {
@@ -650,11 +650,11 @@
       warningLevel: '閲嶈',
       warningThreshold: 20,
       isEnabled: false,
-      warningTime: '2024-01-14 14:30:00',
+      warningTime: '2025-01-14 14:30:00',
       warningDuration: 2,
-      lastUpdateTime: '2024-01-15 09:00:00',
-      expectedRefillTime: '2024-01-19 08:00:00',
-      expectedShortageTime: '2024-01-21 10:00:00', // 6澶╁悗缂烘皵
+      lastUpdateTime: '2025-01-15 09:00:00',
+      expectedRefillTime: '2025-01-19 08:00:00',
+      expectedShortageTime: '2025-01-21 10:00:00', // 6澶╁悗缂烘皵
       warningRule: '褰撴皵浣撻噺浣庝簬20%鏃惰Е鍙戦璀�'
     },
     {
@@ -673,11 +673,11 @@
       warningLevel: '涓�鑸�',
       warningThreshold: 8,
       isEnabled: true,
-      warningTime: '2024-01-12 09:20:00',
+      warningTime: '2025-01-12 09:20:00',
       warningDuration: 1,
-      lastUpdateTime: '2024-01-15 08:30:00',
-      expectedRefillTime: '2024-01-25 14:00:00',
-      expectedShortageTime: '2024-01-28 16:00:00', // 13澶╁悗缂烘皵
+      lastUpdateTime: '2025-01-15 08:30:00',
+      expectedRefillTime: '2025-01-25 14:00:00',
+      expectedShortageTime: '2025-01-28 16:00:00', // 13澶╁悗缂烘皵
       warningRule: '褰撳帇鍔涜秴杩�8MPa鏃惰Е鍙戦璀�'
     },
     {
@@ -696,11 +696,11 @@
       warningLevel: '閲嶈',
       warningThreshold: 6,
       isEnabled: true,
-      warningTime: '2024-01-11 16:45:00',
+      warningTime: '2025-01-11 16:45:00',
       warningDuration: 1,
-      lastUpdateTime: '2024-01-15 07:45:00',
-      expectedRefillTime: '2024-01-30 09:00:00',
-      expectedShortageTime: '2024-02-05 12:00:00', // 21澶╁悗缂烘皵
+      lastUpdateTime: '2025-01-15 07:45:00',
+      expectedRefillTime: '2025-01-30 09:00:00',
+      expectedShortageTime: '2025-02-05 12:00:00', // 21澶╁悗缂烘皵
       warningRule: '褰撴俯搴﹁秴杩�60掳C鏃惰Е鍙戦璀�'
     },
     {
@@ -719,11 +719,11 @@
       warningLevel: '绱ф��',
       warningThreshold: 12,
       isEnabled: true,
-      warningTime: '2024-01-15 06:30:00',
+      warningTime: '2025-01-15 06:30:00',
       warningDuration: 5,
-      lastUpdateTime: '2024-01-15 12:15:00',
-      expectedRefillTime: '2024-01-15 20:00:00',
-      expectedShortageTime: '2024-01-15 17:30:00', // 浠婂ぉ涓嬪崍5:30缂烘皵
+      lastUpdateTime: '2025-01-15 12:15:00',
+      expectedRefillTime: '2025-01-15 20:00:00',
+      expectedShortageTime: '2025-01-15 17:30:00', // 浠婂ぉ涓嬪崍5:30缂烘皵
       warningRule: '褰撴娴嬪埌姘斾綋娉勬紡鏃惰Е鍙戦璀�'
     }
   ]
diff --git a/src/views/login.vue b/src/views/login.vue
index 5300637..960f097 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -181,7 +181,7 @@
 <style lang='scss' scoped>
 .login {
   height: 100%;
-  background-image: url("../assets/images/login-background.png");
+  background-image: url("../assets/indexViews/JZYJView.png");
   background-size: cover;
   position: relative;
 }
diff --git a/src/views/procurementManagement/invoiceEntry/index.vue b/src/views/procurementManagement/invoiceEntry/index.vue
index 256377f..4b25c38 100644
--- a/src/views/procurementManagement/invoiceEntry/index.vue
+++ b/src/views/procurementManagement/invoiceEntry/index.vue
@@ -165,7 +165,7 @@
       },
     },
     {
-      label: "宸插紑绁ㄩ噾棰�(鍏�)",
+      label: "宸叉潵绁ㄩ噾棰�(鍏�)",
       prop: "receiptPaymentAmount",
       width:200,
       formatData: (val) => {
@@ -173,7 +173,7 @@
       },
     },
     {
-      label: "寰呭紑绁ㄩ噾棰�(鍏�)",
+      label: "寰呮潵绁ㄩ噾棰�(鍏�)",
       prop: "unReceiptPaymentAmount",
       width:200,
       formatData: (val) => {
diff --git a/src/views/procurementManagement/paymentEntry/index.vue b/src/views/procurementManagement/paymentEntry/index.vue
index 107ee30..0749292 100644
--- a/src/views/procurementManagement/paymentEntry/index.vue
+++ b/src/views/procurementManagement/paymentEntry/index.vue
@@ -221,31 +221,31 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="鐧昏浜猴細" prop="registrant">
-              <el-input
-                v-model="form.registrant"
-                placeholder="璇疯緭鍏�"
-                clearable
-                disabled
-              />
-            </el-form-item>
-          </el-col>
+					<el-col :span="12">
+						<el-form-item label="浠樻鏃ユ湡锛�" prop="paymentDate">
+							<el-date-picker
+								style="width: 100%"
+								v-model="form.paymentDate"
+								value-format="YYYY-MM-DD"
+								format="YYYY-MM-DD"
+								type="date"
+								placeholder="璇烽�夋嫨"
+								clearable
+							/>
+						</el-form-item>
+					</el-col>
         </el-row>
         <el-row :gutter="30">
-          <el-col :span="12">
-            <el-form-item label="浠樻鏃ユ湡锛�" prop="paymentDate">
-              <el-date-picker
-                style="width: 100%"
-                v-model="form.paymentDate"
-                value-format="YYYY-MM-DD"
-                format="YYYY-MM-DD"
-                type="date"
-                placeholder="璇烽�夋嫨"
-                clearable
-              />
-            </el-form-item>
-          </el-col>
+					<el-col :span="12">
+						<el-form-item label="鐧昏浜猴細" prop="registrant">
+							<el-input
+								v-model="form.registrant"
+								placeholder="璇疯緭鍏�"
+								clearable
+								disabled
+							/>
+						</el-form-item>
+					</el-col>
           <el-col :span="12">
             <el-form-item label="鐧昏鏃ユ湡锛�" prop="registrationtDate">
               <el-input
diff --git a/src/views/procurementManagement/paymentHistory/index.vue b/src/views/procurementManagement/paymentHistory/index.vue
index 714c670..7c71979 100644
--- a/src/views/procurementManagement/paymentHistory/index.vue
+++ b/src/views/procurementManagement/paymentHistory/index.vue
@@ -63,6 +63,10 @@
 const isShowSummarySon = ref(true);
 const tableColumn = ref([
   {
+    label: "閲囪喘鍚堝悓鍙�",
+    prop: "purchaseContractNumber",
+  },
+  {
     label: "浠樻鏃ユ湡",
     prop: "paymentDate",
   },
diff --git a/src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue b/src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue
index 77789c4..f939be4 100644
--- a/src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue
+++ b/src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue
@@ -53,7 +53,7 @@
 defineOptions({
   name: "鏉ョエ鍙拌处琛ㄥ崟",
 });
-
+const temFutureTickets = ref(0)
 const { form, resetForm } = useFormData({
   id: undefined,
   purchaseContractNumber: undefined, // 閲囪喘鍚堝悓鍙�
@@ -77,6 +77,7 @@
     form.ticketsAmount = data.ticketsAmount.toFixed(2);
     form.taxInclusiveUnitPrice = data.taxInclusiveUnitPrice;
     form.futureTickets = data.futureTickets;
+    temFutureTickets.value = data.futureTickets;
   }
 };
 
@@ -86,16 +87,14 @@
 		proxy.$modal.msgWarning("鍚◣鍗曚环涓嶈兘涓洪浂鎴栨湭瀹氫箟");
 		return;
 	}
-	
-	if (Number(form.ticketsNum) > Number(form.futureTickets)) {
+	if (Number(form.ticketsNum) > Number(temFutureTickets.value)) {
 		proxy.$modal.msgWarning("寮�绁ㄦ暟涓嶅緱澶т簬鏈紑绁ㄦ暟");
-		form.ticketsNum = form.futureTickets
-		return;
+		form.ticketsNum = temFutureTickets.value
 	}
 	
 	// 纭繚鎵�鏈夋暟鍊奸兘杞崲涓烘暟瀛楃被鍨嬭繘琛岃绠�
-	const ticketsAmount = Number(val) * Number(form.taxInclusiveUnitPrice);
-	const futureTickets = Number(form.futureTickets) - Number(val);
+	const ticketsAmount = Number(form.ticketsNum) * Number(form.taxInclusiveUnitPrice);
+	const futureTickets = Number(temFutureTickets.value) - Number(form.ticketsNum);
 	form.futureTickets = Number(futureTickets.toFixed(2));
 	form.ticketsAmount = Number(ticketsAmount.toFixed(2));
 };
diff --git a/src/views/procurementManagement/procurementInvoiceLedger/index.vue b/src/views/procurementManagement/procurementInvoiceLedger/index.vue
index 255f3ac..8ad8799 100644
--- a/src/views/procurementManagement/procurementInvoiceLedger/index.vue
+++ b/src/views/procurementManagement/procurementInvoiceLedger/index.vue
@@ -162,14 +162,19 @@
       width: 150,
     },
     {
-      label: "瀹㈡埛鍚嶇О",
-      prop: "customerName",
+      label: "椤圭洰鍚嶇О",
+      prop: "projectName",
       width: 240,
     },
     {
       label: "渚涘簲鍟嗗悕绉�",
       prop: "supplierName",
       width: 240,
+    },
+    {
+      label: "浜у搧澶х被",
+      prop: "productCategory",
+      width: 150,
     },
     {
       label: "瑙勬牸鍨嬪彿",
@@ -190,12 +195,17 @@
       },
     },
     {
-      label: "寮�绁ㄦ棩鏈�",
+      label: "鏈鏉ョエ鏁�",
+      prop: "ticketsNum",
+      width: 110,
+    },
+    {
+      label: "鏉ョエ鏃ユ湡",
       prop: "createdAt",
       width: 110,
     },
     {
-      label: "寮�绁ㄩ噾棰�",
+      label: "鏉ョエ閲戦(鍏�)",
       prop: "ticketsAmount",
       width: 200,
       formatData: (cell) => {
diff --git a/src/views/productionManagement/safetyMonitoring/index.vue b/src/views/productionManagement/safetyMonitoring/index.vue
index 8416914..12922e7 100644
--- a/src/views/productionManagement/safetyMonitoring/index.vue
+++ b/src/views/productionManagement/safetyMonitoring/index.vue
@@ -295,7 +295,7 @@
 			emergencyRecords: [
 				{
 					id: 'EM001',
-					time: '2024-01-15 14:35:12',
+					time: '2025-01-15 14:35:12',
 					location: '鍌ㄧ綈T-003',
 					type: '鐢茬兎瓒呮爣',
 					status: 'resolved',
@@ -303,7 +303,7 @@
 				},
 				{
 					id: 'EM002',
-					time: '2024-01-15 14:35:15',
+					time: '2025-01-15 14:35:15',
 					location: '鍘嬬缉鏈篊-002',
 					type: '纭寲姘㈣秴鏍�',
 					status: 'processing',
diff --git a/vite.config.js b/vite.config.js
index 3e5d9bc..dc4c52c 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -9,7 +9,8 @@
   const baseUrl =
     VITE_APP_ENV == "development"
       ? "http://114.132.189.42:8089" // 寮�鍙戠幆澧冨悗绔帴鍙�
-      : "http://114.132.189.42:7003"; // 鐢熶骇鐜鍚庣鎺ュ彛
+      // : "http://114.132.189.42:8068"; // 闊﹀痉瀹炰笟鐢熶骇鐜鍚庣鎺ュ彛
+      : "http://114.132.189.42:8078"; // 鍩烘櫤娌逛簳鐢熶骇鐜鍚庣鎺ュ彛
 
   return {
     // 閮ㄧ讲鐢熶骇鐜鍜屽紑鍙戠幆澧冧笅鐨刄RL銆�

--
Gitblit v1.9.3