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