From ba6ea01d3fe185f760f6c847a5dceaf14c01ef05 Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期三, 14 一月 2026 21:16:24 +0800
Subject: [PATCH] 修改了代码

---
 src/views/archiveManager/archiveMaterial/index.vue |  176 ++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 132 insertions(+), 44 deletions(-)

diff --git a/src/views/archiveManager/archiveMaterial/index.vue b/src/views/archiveManager/archiveMaterial/index.vue
index fa1d883..0ca1e00 100644
--- a/src/views/archiveManager/archiveMaterial/index.vue
+++ b/src/views/archiveManager/archiveMaterial/index.vue
@@ -2,7 +2,7 @@
     <div class="app-container">
 
       <div v-if="sho">
-         <h2 class="title-border">娣诲姞妗堝嵎璇︾粏璁板綍   {褰撳墠褰曞叆浜唟{total}}鏉</h2>
+         <h2 class="title-border">娣诲姞妗堝嵎璇︾粏璁板綍   {褰撳墠褰曞叆浜唟{total}}鏉  {褰撳墠妗e彿涓猴細 {{recordStrId}} } {褰撳墠鏂囧彿涓猴細 {{inquiryNumber}} }  </h2>
  <el-form ref="form" :model="form" :rules="rules" label-width="100px">
 
    <el-row>
@@ -26,7 +26,11 @@
                 placeholder="璇疯緭鍏ヨ矗浠昏��"
                 @input="handleCreatorInput"
                 @focus="showCreatorSuggestions = true"
-                @blur="handleCreatorBlur"
+
+                        @keydown.up.prevent="handleKeyUp"
+                        @keydown.down.prevent="handleKeyDown"
+                        @keydown.enter.prevent="handleKeyEnter"
+                        ref="creatorInput"
               />
               <!-- 涓嬫媺寤鸿妗� -->
               <div
@@ -37,7 +41,7 @@
                   v-for="(item, index) in creatorSuggestions"
                   :key="index"
                   class="suggestion-item"
-                  @mousedown="selectCreatorSuggestion(item)"
+                  @mousedown.prevent="selectCreatorSuggestion(item)"
                 >
                   {{ item }}
                 </div>
@@ -308,43 +312,7 @@
           >鍒犻櫎</el-button>
         </el-col>
 
-          <el-col :span="1.5">
-          <el-button
-          v-if="sho"
-            type="success"
-            plain
-            icon="el-icon-edit"
-            size="mini"
-            @click="handleImport"
-            v-hasPermi="['system:materials:edit']"
-          >鍏ㄩ儴闄勪欢瀵煎叆</el-button>
 
-
-            <!-- 鍦ㄦ寜閽笅鏂规坊鍔犲鍏ュ璇濇 -->
-  <el-dialog title="鎵归噺瀵煎叆闄勪欢" :visible.sync="importDialogVisible" width="50%">
-    <el-upload
-      class="upload-demo"
-      ref="upload"
-      :action="uploadUrl"
-      :headers="headers"
-      :data="uploadParams"
-      :on-success="handleSuccess"
-      :on-error="handleError"
-      :on-preview="handlePreview"
-      :on-remove="handleRemove"
-      :file-list="fileList"
-        :on-change="handleFileChange"
-      :auto-upload="false"
-      multiple
-      accept=".jpg,.png"
-    >
-      <el-button slot="trigger" size="small" type="primary">閫夋嫨鏂囦欢</el-button>
-      <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">涓婁紶鍒版湇鍔″櫒</el-button>
-      <el-button style="margin-left: 10px;" size="small" type="danger" @click="clearFileList">娓呯┖鍒楄〃</el-button>
-      <div slot="tip" class="el-upload__tip">鍙笂浼燡PG绛夋牸寮忔枃浠讹紝鍗曚釜鏂囦欢涓嶈秴杩�50MB</div>
-    </el-upload>
-  </el-dialog>
-        </el-col>
         <el-col :span="1.5">
         <el-button
           type="warning"
@@ -373,6 +341,44 @@
 
         </el-upload>
       </el-col>
+      <el-col :span="1.5">
+              <el-button
+              v-if="sho"
+                type="success"
+                plain
+                icon="el-icon-edit"
+                size="mini"
+                @click="handleImport"
+                v-hasPermi="['system:materials:edit']"
+              >鍏ㄩ儴闄勪欢瀵煎叆</el-button>
+              宸茬粡涓婁紶浜� {{this.fileCut}} 寮犻檮浠讹紝杩樿涓婁紶 {{this.totalPageCount-this.fileCut}} 寮犻檮浠�
+
+
+                <!-- 鍦ㄦ寜閽笅鏂规坊鍔犲鍏ュ璇濇 -->
+      <el-dialog title="鎵归噺瀵煎叆闄勪欢" :visible.sync="importDialogVisible" width="50%">
+        <el-upload
+          class="upload-demo"
+          ref="upload"
+          :action="uploadUrl"
+          :headers="headers"
+          :data="uploadParams"
+          :on-success="handleSuccess"
+          :on-error="handleError"
+          :on-preview="handlePreview"
+          :on-remove="handleRemove"
+          :file-list="fileList"
+            :on-change="handleFileChange"
+          :auto-upload="false"
+          multiple
+          accept=".jpg,.png"
+        >
+          <el-button slot="trigger" size="small" type="primary">閫夋嫨鏂囦欢</el-button>
+          <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">涓婁紶鍒版湇鍔″櫒</el-button>
+          <el-button style="margin-left: 10px;" size="small" type="danger" @click="clearFileList">娓呯┖鍒楄〃</el-button>
+          <div slot="tip" class="el-upload__tip">鍙笂浼燡PG绛夋牸寮忔枃浠讹紝鍗曚釜鏂囦欢涓嶈秴杩�50MB</div>
+        </el-upload>
+      </el-dialog>
+            </el-col>
         <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
       </el-row>
 
@@ -404,17 +410,17 @@
               </template>
             </el-table-column>
                 <el-table-column label="鏂囦欢鏉愭枡搴忓彿" align="center" prop="fileNumber" />
-        <el-table-column label="鏂囦欢缂栧彿" align="center" prop="documentNumber" />
+        <el-table-column label="鏂囦欢缂栧彿" align="center" prop="documentNumber" width="180"/>
 
-        <el-table-column label="璐d换鑰�" align="center" prop="creator" />
-        <el-table-column label="鏂囦欢棰樺悕" align="center" prop="title" />
+        <el-table-column label="璐d换鑰�" align="center" prop="creator" width="180"/>
+        <el-table-column label="鏂囦欢棰樺悕" align="center" prop="title" width="220"/>
         <el-table-column label="鏃ユ湡" align="center" prop="date" width="180">
           <template slot-scope="scope">
             <span>{{ parseTime(scope.row.date, '{y}-{m}-{d}') }}</span>
           </template>
         </el-table-column>
         <el-table-column label="椤靛彿" sortable align="center" prop="pageNumber"  />
-        <el-table-column label="澶囨敞" align="center" prop="remarks" />
+        <el-table-column label="澶囨敞" align="center" prop="remarks" width="180"/>
             <!--          <el-table-column label="椤垫" sortable align="center" prop="pageOrder"  />
 --->
         <el-table-column label="鎵�澶勯樁娈�" sortable align="center" width="180" prop="stage" />
@@ -820,6 +826,8 @@
     name: "Materials",
     data() {
       return {
+        //闄勪欢鏁伴噺
+        fileCut: 0,
         //鏄惁鏄剧ず鐩稿叧鍐呭
         sho: true,
         totalPageCount: 0,
@@ -885,6 +893,8 @@
           { value: '06-涓氬姟鏁版嵁', label: '06-涓氬姟鏁版嵁' },
         ],
         recordId: null,
+        inquiryNumber: '',
+        recordStrId: '',
         // 閬僵灞�
         loading: true,
         // 閫変腑鏁扮粍
@@ -1029,7 +1039,8 @@
     created() {
       //const roleId = this.$route.params && this.$route.params.roleId
       const recordId = this.$route.params && this.$route.params.recordId
-
+      this.recordStrId = this.$route.params && this.$route.params.recordStrId
+      this.inquiryNumber = this.$route.params && this.$route.params.inquiryNumber
       this.totalPageCount = this.$route.params && this.$route.params.pageCount
 
       this.sho = this.$route.params && this.$route.params.sho
@@ -1052,9 +1063,44 @@
 
         this.queryParams.recordId = recordId
         this.getList()
+        getFileCount(recordId).then(response=>{
+          this.fileCut = response.length
+         // alert(this.fileCut)
+        })
       }
     },
     methods: {
+      // 杈撳叆浜嬩欢锛堢ず渚嬶細鍙牴鎹緭鍏ュ唴瀹硅繃婊ゅ缓璁垪琛級
+          handleCreatorInput(val) {
+            // 閲嶇疆閫変腑绱㈠紩
+            this.selectedIndex = -1;
+            // 杩欓噷鏇挎崲鎴愪綘鐨勫疄闄呭缓璁垪琛ㄨ幏鍙栭�昏緫
+            // this.creatorSuggestions = ['寮犱笁', '鏉庡洓', '鐜嬩簲', '璧靛叚'].filter(item =>
+            //   item.includes(val)
+            // );
+          },
+          // 涓婃柟鍚戦敭閫昏緫
+          handleKeyUp() {
+            if (!this.showCreatorSuggestions || this.creatorSuggestions.length === 0) return;
+            // 鍚戜笂鍒囨崲锛屽埌椤跺垯鍥炲埌鏈�鍚庝竴椤�
+            this.selectedIndex = this.selectedIndex <= 0
+              ? this.creatorSuggestions.length - 1
+              : this.selectedIndex - 1;
+          },
+          // 涓嬫柟鍚戦敭閫昏緫
+          handleKeyDown() {
+            if (!this.showCreatorSuggestions || this.creatorSuggestions.length === 0) return;
+            // 鍚戜笅鍒囨崲锛屽埌搴曞垯鍥炲埌绗竴椤�
+            this.selectedIndex = this.selectedIndex >= this.creatorSuggestions.length - 1
+              ? 0
+              : this.selectedIndex + 1;
+          },
+          // 鍥炶溅閫変腑褰撳墠楂樹寒椤�
+          handleKeyEnter() {
+            if (this.selectedIndex >= 0 && this.selectedIndex < this.creatorSuggestions.length) {
+              this.selectCreatorSuggestion(this.creatorSuggestions[this.selectedIndex]);
+            }
+          },
         // 涓婁紶澶辫触鍥炶皟
     handleError(err, file, fileList) {
       // 澶辫触璁℃暟+1
@@ -1090,6 +1136,10 @@
         // 鍏抽棴涓婁紶瀵硅瘽妗�
         this.importDialogVisible = false;
         // 鍒锋柊鍒楄〃鏁版嵁
+        getFileCount(recordId).then(response=>{
+          this.fileCut = response.length
+         // alert(this.fileCut)
+        })
         this.getList();
       }
     },
@@ -1122,6 +1172,7 @@
         this.$modal.msgWarning('璇峰厛閫夋嫨鏂囦欢鍐嶄笂浼�')
         return
       }
+
      // alert(this.recordId)
 
 
@@ -1138,11 +1189,38 @@
        // }
      //  else
        {
+
+         // 瀹氫箟鍏佽鐨勬渶澶у��
+         const maxValue = this.totalPageCount;
+
+         // 杩囨护fileList鏁扮粍锛屼繚鐣欐暟瀛楅儴鍒嗕笉瓒呰繃maxValue鐨勫厓绱�
+         this.fileList = this.fileList.filter(item => {
+          // 姝ラ1锛氭娴嬫槸鍚﹀寘鍚腑鏂囷紙[\u4e00-\u9fa5]鏄腑鏂囩殑Unicode鑼冨洿锛�
+             const hasChinese = /[\u4e00-\u9fa5]/.test(item.name);
+             // 鏈変腑鏂囩洿鎺ヨ繑鍥瀎alse锛屽垹闄よ鍏冪礌
+             if (hasChinese) return false;
+
+           // 姝ラ1锛氭彁鍙杗ame涓殑绾暟瀛楅儴鍒�
+           // 姝e垯琛ㄨ揪寮忚В閲婏細\d+ 鍖归厤涓�涓垨澶氫釜鏁板瓧
+           const numStr = item.name.match(/\d+/);
+
+           // 澶勭悊娌℃湁鏁板瓧鐨勬儏鍐碉紙杩斿洖false锛屼細琚繃婊ゆ帀锛�
+           if (!numStr) return false;
+
+           // 姝ラ2锛氬皢鏁板瓧瀛楃涓茶浆涓烘暟瀛�
+           const num = parseInt(numStr[0], 10);
+
+           // 姝ラ3锛氬垽鏂槸鍚﹀皬浜庣瓑浜庢渶澶у��
+           return num <= maxValue;
+         });
+
+
          // 鍒濆鍖栦笂浼犵姸鎬佽鏁�
          this.uploadSuccessCount = 0;
          this.uploadFailCount = 0;
          this.totalUploadFiles = fileCount;
          // 鎵ц涓婁紶
+         console.log(this.fileList)
            this.$refs.upload.submit()
       //     this.getList()
        }
@@ -1332,6 +1410,16 @@
       selectCreatorSuggestion(creator) {
         this.form.creator = creator;
         this.showCreatorSuggestions = false;
+        // 鎵嬪姩瑙﹀彂 input 浜嬩欢锛岀‘淇濊〃鍗曢獙璇佺瓑閫昏緫姝e父
+            this.$nextTick(() => {
+              const inputElement = this.$el.querySelector('textarea');
+              if (inputElement) {
+                inputElement.focus();
+                // 灏嗗厜鏍囧畾浣嶅埌鏂囨湰鏈熬
+                const length = inputElement.value.length;
+                inputElement.setSelectionRange(length, length);
+              }
+            });
       },
 
       // 澶勭悊鏉愭枡绫诲瀷鍙樺寲

--
Gitblit v1.9.1