From fc98e676332302c4b835f8fa4ed42d72e177801f Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期二, 14 十月 2025 16:57:02 +0800
Subject: [PATCH] 增加了对应的代码
---
src/views/archiveManager/archiveMaterial/index.vue | 244 ++++++++++++++++++++++++++++++++++++++----------
1 files changed, 194 insertions(+), 50 deletions(-)
diff --git a/src/views/archiveManager/archiveMaterial/index.vue b/src/views/archiveManager/archiveMaterial/index.vue
index b0b9a5c..83b9619 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">
@@ -168,6 +162,10 @@
<el-button type="primary" @click="resetForms">閲嶇疆</el-button>
<el-button @click="cancel">鍙� 娑�</el-button>
+
+
+ <el-button type="warning" @click="cancelAuthUser">閫�鍥炵鐞嗗憳</el-button>
+
</div>
@@ -178,7 +176,7 @@
- <el-row :gutter="10" class="mb8">
+ <el-row :gutter="12" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
@@ -220,6 +218,7 @@
@click="handleExport"
v-hasPermi="['system:materials:export']"
>瀵煎嚭</el-button>
+ </el-col>
<el-col :span="1.5">
<el-button
type="success"
@@ -229,6 +228,8 @@
@click="handleImport"
v-hasPermi="['system:materials:edit']"
>鍏ㄩ儴闄勪欢瀵煎叆</el-button>
+
+
<!-- 鍦ㄦ寜閽笅鏂规坊鍔犲鍏ュ璇濇 -->
<el-dialog title="鎵归噺瀵煎叆闄勪欢" :visible.sync="importDialogVisible" width="50%">
<el-upload
@@ -242,18 +243,46 @@
: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>
- <div slot="tip" class="el-upload__tip">鍙笂浼燩DF/DOC/XLS/JPG绛夋牸寮忔枃浠讹紝鍗曚釜鏂囦欢涓嶈秴杩�50MB</div>
+ <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>
+ <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 +315,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 +356,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 +367,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 +528,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,16 +691,19 @@
</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'
+import store from '@/store'
+import { updateStatusById } from "@/api/system/records"
+import {delArchiverecordstouserByReIdAndUid} from "@/api/system/archiverecordstouser"
export default {
name: "Materials",
data() {
return {
importDialogVisible: false,
fileList: [],
- uploadUrl: process.env.VUE_APP_BASE_API +'/system/materials/upload', // 鏇挎崲涓哄疄闄呯殑涓婁紶鎺ュ彛
+ uploadUrl: process.env.VUE_APP_BASE_API +'/system/materials/upload/'+this.recordId, // 鏇挎崲涓哄疄闄呯殑涓婁紶鎺ュ彛
headers: {
Authorization: 'Bearer ' + getToken()
},
@@ -684,7 +721,9 @@
// 娣诲姞瀵嗙骇閫夐」
securityLevelOptions: [
{ value: '绉樺瘑', label: '绉樺瘑' },
- { value: '鏅��', label: '鏅��' }
+ { value: '鏅��', label: '鏅��' },
+ { value: '璇ラ〉鍙﹀瓨', label: '璇ラ〉鍙﹀瓨' }
+
],
// 娣诲姞淇濈鏈熼檺閫夐」
retentionPeriodOptions: [
@@ -780,8 +819,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' }
+ ]
}
}
},
@@ -797,7 +842,7 @@
const recordId = this.$route.params && this.$route.params.recordId
//alert(recordId)
this.recordId = recordId;
-
+ this.uploadUrl = process.env.VUE_APP_BASE_API +'/system/materials/upload/'+this.recordId
// alert('Bearer ' + getToken())
this.reset()
this.form.securityLevel = '鏅��' // 璁剧疆瀵硅瘽妗嗚〃鍗曢粯璁ゅ��
@@ -827,8 +872,10 @@
this.$refs.upload.clearFiles();
// 鍏抽棴涓婁紶瀵硅瘽妗�
this.importDialogVisible = false;
- // 鍒锋柊鍒楄〃鏁版嵁
- this.getList(); // 杩欓噷鍙互璋冪敤鎺ュ彛鍏宠仈涓婁紶鐨勬枃浠跺拰褰撳墠璁板綍
+ // 鍒锋柊鍒楄〃鏁版嵁
+ this.getList(); // 杩欓噷鍙互璋冪敤鎺ュ彛鍏宠仈涓婁紶鐨勬枃浠跺拰褰撳墠璁板綍
+ //鏇存柊妗f鐨勭姸鎬�
+
} else {
// alert(234)
console.log(response)
@@ -847,9 +894,29 @@
handlePreview(file) {
console.log(file)
},
+ handleFileChange(file, fileList) {
+ console.log('褰撳墠鏂囦欢鍒楄〃:', fileList);
+ this.fileList = fileList;
+ },
// 鎻愪氦涓婁紶
submitUpload() {
+ // 鑾峰彇褰撳墠閫夋嫨鐨勬枃浠舵暟閲�
+ const fileCount = this.fileList.length
+ if (fileCount === 0) {
+ this.$modal.msgWarning('璇峰厛閫夋嫨鏂囦欢鍐嶄笂浼�')
+ return
+ }
+ if(fileCount!==this.total)
+ {
+ this.$modal.msgWarning('璇烽�夋嫨涓庤褰曟暟涓�鑷寸殑鏂囦欢')
+ return
+ }
+ // 鎵ц涓婁紶
this.$refs.upload.submit()
+ },
+ clearFileList() {
+ this.fileList = [];
+ this.$modal.msgSuccess('宸叉竻绌轰笂浼犲垪琛�');
},
handleKeyDown(e) {
// 鍦╧eydown浜嬩欢涓洿鏃╁湴闃绘榛樿琛屼负
@@ -867,6 +934,10 @@
if ((e.ctrlKey || e.metaKey) && e.key === 'd') {
e.preventDefault();
this.resetForms();
+ }
+ if ((e.ctrlKey || e.metaKey) && e.key === 'w') {
+ e.preventDefault();
+ this.closeCurrentTab();
}
},
/** 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛� */
@@ -980,15 +1051,19 @@
})
},
resetForms()
- {
+ {
this.reset()
- this.form.securityLevel = '鏅��' // 璁剧疆瀵硅瘽妗嗚〃鍗曢粯璁ゅ��
- this.form.isSensitive = '鍚�' // 璁剧疆瀵硅瘽妗嗚〃鍗曢粯璁ゅ��
- this.form.isCanceled = '鍚�' // 璁剧疆瀵硅瘽妗嗚〃鍗曢粯璁ゅ��
- this.form.isAttachment = '鍚�' // 璁剧疆瀵硅瘽妗嗚〃鍗曢粯璁ゅ��
- this.form.isDiagram = '鍚�' // 璁剧疆瀵硅瘽妗嗚〃鍗曢粯璁ゅ��
- this.form.retentionPeriod = '姘镐箙' // 璁剧疆瀵硅瘽妗嗚〃鍗曢粯璁ゅ��
- },
+ this.form.securityLevel = '鏅��'
+ this.form.isSensitive = '鍚�'
+ this.form.isCanceled = '鍚�'
+ this.form.isAttachment = '鍚�'
+ this.form.isDiagram = '鍚�'
+ this.form.retentionPeriod = '姘镐箙'
+ },
+ closeCurrentTab() {
+ this.$store.dispatch('tagsView/delView', this.$route)
+ this.$router.push('/archiveManager/infoManager')
+ },
submitForm()
{
console.log(this.form)
@@ -1032,7 +1107,76 @@
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 || '鏈煡閿欒'));
+ });
+
+ },
+ /** 鍙栨秷鎺堟潈鎸夐挳鎿嶄綔 */
+ cancelAuthUser(row) {
+ const recordId = this.recordId
+ var userId = store.state.user.id
+ var _this = this
+ // alert(userId)
+ // alert(userId)
+ // alert(this.queryParams.archiveRecordsId)
+ // alert(row.sysUser.userName)
+ this.$modal.confirm('纭瑕佸彇娑堣鐢ㄦ埛鐨�"' + '' + '"鎺堟潈鍚楋紵').then(function() {
+ return delArchiverecordstouserByReIdAndUid({ recordId: recordId, userId: userId })
+ }).then(() => {
+ // this.getList()
+ //淇敼妗堝嵎鐨勭姸鎬�
+ // var id = row.id
+ var status = '鏈笂浼犻檮浠�'
+ updateStatusById(status, recordId).then(response=>{
+ // this.$modal.msgSuccess("鎻愪氦鎴愬姛")
+ // this.getList()
+ _this.$store.dispatch('tagsView/delView', this.$route);
+ _this.$router.push('/archiveManager/infoManager')
+ _this.$modal.msgSuccess("鍙栨秷鎺堟潈鎴愬姛")
+ })
+
+ }).catch(() => {})
+ },
}
}
</script>
--
Gitblit v1.9.1