From 97667573dd1f176bccb9aa09c0bf71fbb16974e1 Mon Sep 17 00:00:00 2001
From: tian <3072314689@qq.com>
Date: 星期日, 28 九月 2025 18:19:43 +0800
Subject: [PATCH] 必选框

---
 src/views/archiveManager/archiveMaterial/index.vue |  155 +++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 117 insertions(+), 38 deletions(-)

diff --git a/src/views/archiveManager/archiveMaterial/index.vue b/src/views/archiveManager/archiveMaterial/index.vue
index b0b9a5c..9765d8c 100644
--- a/src/views/archiveManager/archiveMaterial/index.vue
+++ b/src/views/archiveManager/archiveMaterial/index.vue
@@ -24,16 +24,9 @@
               value-format="yyyy-MM-dd"
               placeholder="璇烽�夋嫨鏃ユ湡">
             </el-date-picker> -->
-  <el-col :span="8">
-                        <el-input v-model="form.date" placeholder="璇疯緭鍏ユ棩鏈�" />
-  </el-col>
+            <el-input v-model="form.date" placeholder="璇疯緭鍏ユ棩鏈� (鏍煎紡锛歽yyy-mm-dd)" style="width: 450px;" />
+            <!-- <div style="color: #999; font-size: 12px; margin-top: 4px;">璇疯緭鍏ユ纭殑鏃ユ湡鏍煎紡锛歽yyy-mm-dd</div> -->
           </el-form-item>
-      
-
-
-
-
-
           <!-- <el-form-item label="椤垫" prop="pageOrder">
             <el-input v-model="form.pageOrder" placeholder="璇疯緭鍏ラ〉娆�" />
           </el-form-item> -->
@@ -51,15 +44,16 @@
           </el-select>
           
         </el-form-item>
-        <el-form-item 
-  label="椤靛彿" 
-  prop="pageNumber"
-  v-if=" form.fileStyle !== '鍏朵粬鏉愭枡'"
->
+        <el-form-item label="椤靛彿" 
+          prop="pageNumber"
+          v-if=" form.fileStyle !== '鍏朵粬鏉愭枡'">
       <el-col :span="8">
   <el-input 
-    v-model="form.pageNumber" 
-    placeholder="璇疯緭鍏ラ〉鍙�" 
+    v-model.number="form.pageNumber" 
+    placeholder="璇疯緭鍏ラ〉鍙凤紙鏁板瓧绫诲瀷锛�" 
+    type="number" 
+    min="1"
+    oninput="value=value.replace(/[^\d]/g,'')" style="width: 450px;"
   /></el-col>
 </el-form-item>
           <el-form-item label="鎵�澶勯樁娈�" prop="stage">
@@ -178,7 +172,7 @@
 
 
 
-      <el-row :gutter="10" class="mb8">
+      <el-row :gutter="12" class="mb8">
         <el-col :span="1.5">
           <el-button
             type="primary"
@@ -220,6 +214,7 @@
             @click="handleExport"
             v-hasPermi="['system:materials:export']"
           >瀵煎嚭</el-button>
+        </el-col>
           <el-col :span="1.5">
           <el-button
             type="success"
@@ -229,6 +224,8 @@
             @click="handleImport"
             v-hasPermi="['system:materials:edit']"
           >鍏ㄩ儴闄勪欢瀵煎叆</el-button>
+
+
             <!-- 鍦ㄦ寜閽笅鏂规坊鍔犲鍏ュ璇濇 -->
   <el-dialog title="鎵归噺瀵煎叆闄勪欢" :visible.sync="importDialogVisible" width="50%">
     <el-upload
@@ -248,12 +245,38 @@
     >
       <el-button slot="trigger" size="small" type="primary">閫夋嫨鏂囦欢</el-button>
       <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">涓婁紶鍒版湇鍔″櫒</el-button>
-      <div slot="tip" class="el-upload__tip">鍙笂浼燩DF/DOC/XLS/JPG绛夋牸寮忔枃浠讹紝鍗曚釜鏂囦欢涓嶈秴杩�50MB</div>
+      <div slot="tip" class="el-upload__tip">鍙笂浼燡PG绛夋牸寮忔枃浠讹紝鍗曚釜鏂囦欢涓嶈秴杩�50MB</div>
     </el-upload>
   </el-dialog>
         </el-col>
-        
-        </el-col>
+        <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExportTemplate"
+          v-hasPermi="['system:materials:edit']"
+        >瀵煎叆妯℃澘涓嬭浇</el-button>
+      </el-col>
+
+        <el-col :span="1.5">
+
+        <el-upload
+          action=""
+
+          class="upload-demo"
+          :show-file-list="false"
+          :http-request="handleImportData"
+              accept=".xlsx,.xls"
+
+        >
+          <el-button size="mini"   type="primary"
+                     plain
+                     icon="el-icon-top">瀵煎叆</el-button>
+
+        </el-upload>
+      </el-col>
         <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
       </el-row>
 
@@ -286,7 +309,7 @@
         <el-table-column label="瀹藉害" align="center" prop="width" />
         <el-table-column label="楂樺害" align="center" prop="height" />
         <el-table-column label="澶у皬" align="center" prop="fileSize" />
-        <el-table-column label="闄勪欢鍙婂巻鍙插彂闂彿" align="center" prop="attachmentHistoryNumbers" />
+        <el-table-column label="闄勪欢鍙婂巻鍙插彂鏂囧彿" align="center" prop="attachmentHistoryNumbers" />
 
         <el-table-column label="鎿嶄綔" align="center" width="160" class-name="small-padding ">
           <template slot-scope="scope">
@@ -327,7 +350,7 @@
         <el-form ref="forms" :model="forms" :rules="rules" label-width="100px">
            <el-row>
            <el-col :span="8">
-               8<el-form-item label="璐d换鑰�" prop="creator">
+               <el-form-item label="璐d换鑰�" prop="creator">
                    <el-input v-model="forms.creator" placeholder="璇疯緭鍏ヨ矗浠昏��" />
                  </el-form-item>
            </el-col>
@@ -338,15 +361,13 @@
            </el-col>
            </el-row>
                  <el-form-item label="鏃ユ湡" prop="date">
+                  <el-input v-model="forms.date" placeholder="璇疯緭鍏ユ棩鏈� (鏍煎紡锛歽yyy-mm-dd)" style="width: 200px;" />
                    <!-- <el-date-picker clearable
                      v-model="forms.date"
-                type="date"
+                     type="date"
                      value-format="yyyy-MM-dd"
                      placeholder="璇烽�夋嫨鏃ユ湡">
                    </el-date-picker> -->
-
-                   <el-input v-model="forms.date" placeholder="璇疯緭鍏ユ棩鏈�" prop="date"/>
-             
                  </el-form-item>
                  <!-- <el-form-item label="椤垫" prop="pageOrder">
                    <el-input v-model="forms.pageOrder" placeholder="璇疯緭鍏ラ〉娆�" />
@@ -501,20 +522,27 @@
         />
       </el-form-item>
       <el-form-item label="鏃ユ湡" prop="date">
-        <el-date-picker clearable
+        <el-input v-model="queryParams.date" placeholder="璇疯緭鍏ユ棩鏈� (鏍煎紡锛歽yyy-mm-dd)" />
+        <div style="color: #999; font-size: 12px; margin-top: 4px;">璇疯緭鍏ユ纭殑鏃ユ湡鏍煎紡锛歽yyy-mm-dd</div>
+        <!-- <el-date-picker clearable
           v-model="queryParams.date"
           type="date"
           value-format="yyyy-MM-dd"
           placeholder="璇烽�夋嫨鏃ユ湡">
-        </el-date-picker>
+        </el-date-picker> -->
       </el-form-item>
       <el-form-item label="椤靛彿" prop="pageNumber">
-        <el-input
-          v-model="queryParams.pageNumber"
-          placeholder="璇疯緭鍏ラ〉鍙�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-col :span="8">
+          <el-input
+            v-model.number="queryParams.pageNumber"
+            placeholder="璇疯緭鍏ラ〉鍙凤紙鏁板瓧绫诲瀷锛�"
+            clearable
+            type="number"
+            min="1"
+            oninput="value=value.replace(/[^\d]/g,'')"
+            @keyup.enter.native="handleQuery"
+          />
+        </el-col>
       </el-form-item>
       <el-form-item label="椤垫" prop="pageOrder">
         <el-input
@@ -657,7 +685,7 @@
   </template>
 
   <script>
-  import { listMaterials, getMaterials, delMaterials, addMaterials, updateMaterials } from "@/api/system/materials"
+  import { listMaterials, enload, getMaterials, delMaterials, addMaterials, updateMaterials } from "@/api/system/materials"
 import { getToken } from '@/utils/auth'
 
   export default {
@@ -684,7 +712,9 @@
       // 娣诲姞瀵嗙骇閫夐」
         securityLevelOptions: [
           { value: '绉樺瘑', label: '绉樺瘑' },
-          { value: '鏅��', label: '鏅��' }
+          { value: '鏅��', label: '鏅��' },
+                    { value: '璇ラ〉鍙﹀瓨', label: '璇ラ〉鍙﹀瓨' }
+
         ],
           // 娣诲姞淇濈鏈熼檺閫夐」
           retentionPeriodOptions: [
@@ -780,8 +810,14 @@
             { required: true, message: "妗堝嵎棰樺悕涓嶈兘涓虹┖", trigger: "blur" }
           ],
           date: [
-            { required: true, message: "鏃ユ湡涓嶈兘涓虹┖", trigger: "blur" }
+            { required: true, message: "鏃ユ湡涓嶈兘涓虹┖", trigger: "blur" },
+            { pattern: /^\d{4}-\d{2}-\d{2}$/, message: "鏃ユ湡鏍煎紡蹇呴』涓簓yyy-mm-dd", trigger: "blur" }
           ],
+          pageNumber: [
+            { required: true, message: "椤靛彿涓嶈兘涓虹┖", trigger: "blur" },
+            { type: 'number', message: '椤靛彿蹇呴』涓烘暟瀛楃被鍨�', trigger: ['blur', 'change'] },
+            { pattern: /^\d+$/, message: '璇疯緭鍏ユ鏁存暟', trigger: 'blur' }
+          ]
         }
       }
     },
@@ -1032,7 +1068,50 @@
         this.download('system/materials/export', {
           ...this.queryParams
         }, `materials_${new Date().getTime()}.xlsx`)
-      }
+      },
+
+       /** 瀵煎叆妯℃澘涓嬭浇鎿嶄綔*/
+    handleExportTemplate()
+    {
+      this.download('/system/materials/model', {
+
+      }, `materials_${new Date().getTime()}.xlsx`)
+    },
+       /** 瀵煎叆鎿嶄綔*/
+    async handleImportData({file}){
+   // 妫�鏌ユ枃浠剁被鍨嬫槸鍚︿负xlsx
+  // if (!params.file.name.endsWith('.xlsx')) {
+  //   this.$message.error('璇蜂笂浼�.xlsx鏍煎紡鐨勬枃浠�');
+  //   return;
+  // }
+  const formData = new FormData();
+  formData.append('file', file);
+  formData.append('recordId', this.recordId)
+  alert(this.recordId)
+  console.log(file)
+
+  // 鏄剧ず鍔犺浇涓姸鎬�
+  const loading = this.$loading({
+    lock: true,
+    text: '涓婁紶涓�...',
+    spinner: 'el-icon-loading',
+    background: 'rgba(0, 0, 0, 0.7)'
+  });
+
+  enload(formData, {
+    headers: {
+      'Content-Type': 'multipart/form-data'
+    }
+  }).then(response => {
+    loading.close();
+    this.$message.success('瀵煎叆鎴愬姛');
+    this.getList();
+  }).catch(error => {
+    loading.close();
+    this.$message.error('瀵煎叆澶辫触: ' + (error.message || '鏈煡閿欒'));
+  });
+
+    }
     }
   }
   </script>

--
Gitblit v1.9.1