From 33845b056d3a9a580eaae1b5d1f7d89a340252ba Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期二, 09 十二月 2025 21:05:47 +0800
Subject: [PATCH] 修改了代码
---
src/views/archiveManager/archiveMaterial/index.vue | 167 ++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 133 insertions(+), 34 deletions(-)
diff --git a/src/views/archiveManager/archiveMaterial/index.vue b/src/views/archiveManager/archiveMaterial/index.vue
index 29e4c70..57442dd 100644
--- a/src/views/archiveManager/archiveMaterial/index.vue
+++ b/src/views/archiveManager/archiveMaterial/index.vue
@@ -15,8 +15,8 @@
<el-col :span="16">
<el-form-item label="璐d换鑰�" prop="creator">
<div class="title-search-wrapper">
- <el-input
- v-model="form.creator"
+ <el-input
+ v-model="form.creator"
placeholder="璇疯緭鍏ヨ矗浠昏��"
@input="handleCreatorInput"
@focus="showCreatorSuggestions = true"
@@ -87,6 +87,7 @@
<el-select
v-model="form.fileStyle"
placeholder="璇烽�夋嫨鏉愭枡绫诲瀷"
+ @change="handleFileStyleChange"
>
<el-option
v-for="item in fileStyleOptions"
@@ -404,13 +405,13 @@
<el-table-column label="鏄惁娑夊瘑鍙婃晱鎰熶俊鎭�" align="center" prop="isSensitive" />
<el-table-column label="鏄惁娉ㄩ攢" align="center" prop="isCanceled" />
- <el-table-column label="鏍煎紡" align="center" prop="format" />
+ <!-- <el-table-column label="鏍煎紡" align="center" prop="format" />
<el-table-column label="骞呴潰" align="center" prop="sizeType" />
<el-table-column label="姘村钩鍒嗚鲸鐜�" align="center" prop="horizontalResolution" />
<el-table-column label="鍨傜洿鍒嗚鲸鐜�" align="center" prop="verticalResolution" />
<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="fileSize" /> -->
<el-table-column label="闄勪欢鍙婂巻鍙插彂鏂囧彿" align="center" prop="attachmentHistoryNumbers" />
@@ -461,9 +462,9 @@
<el-form-item label="鏉愭枡绫诲瀷" prop="fileStyle">
<el-select
v-model="forms.fileStyle"
-
placeholder="璇烽�夋嫨鏉愭枡绫诲瀷"
clearable
+ @change="handleFileStyleChange2"
>
<el-option
v-for="item in fileStyleOptions"
@@ -473,7 +474,7 @@
/>
</el-select>
</el-form-item>
- <el-form-item label="椤靛彿" prop="pageNumber">
+ <el-form-item label="椤靛彿" prop="pageNumber" v-if="forms.fileStyle !== '鍏朵粬鏉愭枡'">
<el-col :span="8">
<el-input
v-model.number="forms.pageNumber"
@@ -616,9 +617,11 @@
<el-form-item label="鏂囦欢棰樺悕" prop="title">
<el-input
v-model="queryParams.title"
- placeholder="璇疯緭鍏ユ枃浠堕鐩�"
+ placeholder="璇疯緭鍏ユ枃浠堕鍚�"
clearable
@keyup.enter.native="handleQuery"
+ :validate-event="false"
+ @blur="validateQueryTitle"
/>
</el-form-item>
<el-form-item label="鏃ユ湡" prop="date">
@@ -785,7 +788,7 @@
</template>
<script>
- import { islegal, listMaterials, enload, getMaterials, delMaterials, addMaterials, updateMaterials } from "@/api/system/materials"
+ import {insertFile, getFileCount,islegal, 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"
@@ -795,6 +798,7 @@
name: "Materials",
data() {
return {
+ totalPageCount: 0,
// 璁板綍鍏冪礌鍒濆浣嶇疆鍜岀姸鎬�
originalOffsetLeft: 0,
originalWidth: 0,
@@ -920,22 +924,48 @@
// 琛ㄥ崟鏍¢獙
rules: {
creator: [
- // { required: true, message: "鍒涘缓鑰呬笉鑳戒负绌�", trigger: "blur" }
+ // { required: true, message: "鍒涘缓鑰呬笉鑳戒负绌�", trigger: "blur" },
+ { max: 85, message: "鏈�澶ч暱搴︿负85涓瓧绗�", trigger: "blur" }
],
title: [
- { required: true, message: "妗堝嵎棰樺悕涓嶈兘涓虹┖", trigger: "blur" }
+ { required: true, message: "妗堝嵎棰樺悕涓嶈兘涓虹┖", trigger: "blur" },
+ { pattern: /^[^\\/:*?"<>涓╙+$/, message: "鏂囦欢鍚嶄笉鑳藉寘鍚� \\\:*?<>涓� 绛夌壒娈婂瓧绗�", trigger: "blur" },
+ { max: 85, message: "鏈�澶ч暱搴︿负85涓瓧绗�", trigger: "blur" }
],
date: [
// { required: true, message: "鏃ユ湡涓嶈兘涓虹┖", trigger: "blur" },
- { pattern: /^\d{4}-\d{2}-\d{2}$/, message: "鏃ユ湡鏍煎紡蹇呴』涓簓yyy-mm-dd", trigger: "blur" }
+ { pattern: /^\d{4}-\d{2}-\d{2}$/, message: "鏃ユ湡鏍煎紡蹇呴』涓簓yyy-mm-dd", trigger: "blur" },
+ { max: 85, message: "鏈�澶ч暱搴︿负85涓瓧绗�", trigger: "blur" }
],
pageNumber: [
{ required: true, message: "椤靛彿涓嶈兘涓虹┖", trigger: "blur" },
{ type: 'number', message: '椤靛彿蹇呴』涓烘暟瀛楃被鍨�', trigger: ['blur', 'change'] },
- { pattern: /^\d+$/, message: '璇疯緭鍏ユ鏁存暟', trigger: 'blur' }
+ { pattern: /^[1-9]\d*$/, message: '璇疯緭鍏ュぇ浜�0鐨勬鏁存暟', trigger: 'blur' },
+ // { max: 85, message: "鏈�澶ч暱搴︿负85涓瓧绗�", trigger: "blur" }
],
stage: [
- { required: true, message: "鎵�澶勯樁娈典笉鑳戒负绌�", trigger: "change" }
+ { required: true, message: "鎵�澶勯樁娈典笉鑳戒负绌�", trigger: "change" },
+ { max: 85, message: "鏈�澶ч暱搴︿负85涓瓧绗�", trigger: "blur" }
+ ],
+ fileStyle: [
+ { required: true, message: "鏉愭枡绫诲瀷涓嶈兘涓虹┖", trigger: "change" },
+ { max: 85, message: "鏈�澶ч暱搴︿负85涓瓧绗�", trigger: "blur" }
+ ],
+ isAttachment: [
+ { required: true, message: "鏄惁涓洪檮浠朵笉鑳戒负绌�", trigger: "change" },
+ { max: 85, message: "鏈�澶ч暱搴︿负85涓瓧绗�", trigger: "blur" }
+ ],
+ retentionPeriod: [
+ { required: true, message: "淇濈鏈熼檺涓嶈兘涓虹┖", trigger: "change" },
+ { max: 85, message: "鏈�澶ч暱搴︿负85涓瓧绗�", trigger: "blur" }
+ ],
+ isSensitive: [
+ { required: true, message: "鏄惁鏁忔劅涓嶈兘涓虹┖", trigger: "change" },
+ { max: 85, message: "鏈�澶ч暱搴︿负85涓瓧绗�", trigger: "blur" }
+ ],
+ isCanceled: [
+ { required: true, message: "鏄惁娉ㄩ攢涓嶈兘涓虹┖", trigger: "change" },
+ { max: 85, message: "鏈�澶ч暱搴︿负85涓瓧绗�", trigger: "blur" }
]
}
}
@@ -963,6 +993,9 @@
created() {
//const roleId = this.$route.params && this.$route.params.roleId
const recordId = this.$route.params && this.$route.params.recordId
+
+ this.totalPageCount = this.$route.params && this.$route.params.pageCount
+ //alert(this.totalPageCount)
//alert(recordId)
this.recordId = recordId;
this.uploadUrl = process.env.VUE_APP_BASE_API +'/system/materials/upload/'+this.recordId
@@ -1007,6 +1040,11 @@
},
// 鎵撳紑瀵煎叆瀵硅瘽妗�
handleImport() {
+ //鐢熸垚鏂扮殑璁板綍
+ insertFile(this.recordId, this.totalPageCount).then(response => {
+ console.log(response)
+ // alert(3245)
+ })
this.importDialogVisible = true
},
// 鏂囦欢绉婚櫎
@@ -1029,26 +1067,31 @@
this.$modal.msgWarning('璇峰厛閫夋嫨鏂囦欢鍐嶄笂浼�')
return
}
- if(fileCount!==this.total)
- {
- this.$modal.msgWarning('璇烽�夋嫨涓庤褰曟暟涓�鑷寸殑鏂囦欢')
- return
- }
+ // alert(this.recordId)
+
+
//鍒ゆ柇椤靛彿涓庝笂浼犱笂浼犵殑鏂囦欢鐨勯〉鍙锋槸涓嶆槸涓�涓�瀵瑰簲鐨�
- islegal(this.recordId).then(response => {
- console.log(response.data)
- var res = response.data
- if(res)
+ // islegal(this.recordId).then(response => {
+ // console.log(response.data)
+ // var res = response.data.res
+ // console.log(res)
+ //alert(response.data.total)
+ if(fileCount!=this.totalPageCount)
+ {
+ this.$modal.msgWarning('璇烽�夋嫨涓庤褰曟暟涓�鑷寸殑鏂囦欢')
+ return
+ }
+ else
{
// 鎵ц涓婁紶
this.$refs.upload.submit()
this.getList()
}
- else
- {
- this.$modal.msgError("椤靛彿涓嶈繛缁紝璇蜂慨鏀逛负杩炵画姝g‘鐨勯〉鍙凤紒")
- }
- })
+ // else
+ // {
+ // this.$modal.msgError("椤靛彿涓嶈繛缁紝璇蜂慨鏀逛负杩炵画姝g‘鐨勯〉鍙凤紒")
+ // }
+ //})
},
clearFileList() {
@@ -1080,9 +1123,25 @@
/** 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛� */
getList() {
this.loading = true
- listMaterials(this.queryParams).then(response => {
+
+ // 澶勭悊妗f鍙锋悳绱㈤�昏緫锛屽寘鎷寖鍥存悳绱�
+ const queryParams = { ...this.queryParams }
+
+ // 妫�鏌ユ槸鍚﹀寘鍚寖鍥存悳绱㈢鍙�
+ if (queryParams.fileNumber && queryParams.fileNumber.includes('~')) {
+ const rangeParts = queryParams.fileNumber.split('~')
+ if (rangeParts.length === 2) {
+ // 瑙f瀽鑼冨洿鎼滅储鍙傛暟
+ // 淇濈暀鍘熷fileNumber鐢ㄤ簬鍏朵粬澶勭悊
+ queryParams.fileNumberStart = rangeParts[0].trim()
+ queryParams.fileNumberEnd = rangeParts[1].trim()
+ }
+ }
+
+ listMaterials(queryParams).then(response => {
console.log(response)
- this.materialsList = response.data.data
+ // 杩囨护鎺塿isible涓�0鐨勮褰�
+ this.materialsList = response.data.data.filter(item => item.visible !== 0)
this.total = response.data.total
this.loading = false
})
@@ -1177,7 +1236,7 @@
this.form.title = title;
this.showTitleSuggestions = false;
},
-
+
// 澶勭悊璐d换浜鸿緭鍏ヤ簨浠�
handleCreatorInput() {
// 娓呴櫎涔嬪墠鐨勫畾鏃跺櫒锛堥槻鎶栵級
@@ -1231,6 +1290,21 @@
this.showCreatorSuggestions = false;
},
+ // 澶勭悊鏉愭枡绫诲瀷鍙樺寲锛堟柊澧炶〃鍗曪級
+ handleFileStyleChange(value) {
+ // 褰撻�夋嫨'鍏朵粬鏉愭枡'鏃讹紝灏嗛〉鍙疯缃负0
+ if (value === '鍏朵粬鏉愭枡') {
+ this.form.pageNumber = null;
+ }
+ },
+ // 澶勭悊鏉愭枡绫诲瀷鍙樺寲锛堜慨鏀硅〃鍗曪級
+ handleFileStyleChange2(value) {
+ // 褰撻�夋嫨'鍏朵粬鏉愭枡'鏃讹紝灏嗛〉鍙疯缃负0
+ if (value === '鍏朵粬鏉愭枡') {
+ this.forms.pageNumber = null;
+ }
+ },
+
// 琛ㄥ崟閲嶇疆
reset() {
this.form = {
@@ -1263,8 +1337,24 @@
}
this.resetForm("form")
},
+
+ // 楠岃瘉鏌ヨ琛ㄥ崟涓殑鏂囦欢棰樺悕
+ validateQueryTitle() {
+ const illegalCharsPattern = /[\\/:*?<>涓╙/;
+ if (this.queryParams.title && illegalCharsPattern.test(this.queryParams.title)) {
+ this.$message.error("鏂囦欢鍚嶄笉鑳藉寘鍚� \\:/:*?<>涓� 绛夌壒娈婂瓧绗�");
+ this.queryParams.title = this.queryParams.title.replace(illegalCharsPattern, '');
+ }
+ },
/** 鎼滅储鎸夐挳鎿嶄綔 */
handleQuery() {
+ // 鎼滅储鍓嶆牎楠屾枃浠堕鍚�
+ const illegalCharsPattern = /[\\/:*?<>涓╙/;
+ if (this.queryParams.title && illegalCharsPattern.test(this.queryParams.title)) {
+ this.$message.error("鏂囦欢鍚嶄笉鑳藉寘鍚� \\:/:*?<>涓� 绛夌壒娈婂瓧绗�");
+ this.queryParams.title = this.queryParams.title.replace(illegalCharsPattern, '');
+ return; // 闃绘鎼滅储锛岀洿鍒扮敤鎴蜂慨姝h緭鍏�
+ }
this.queryParams.pageNum = 1
this.getList()
},
@@ -1291,6 +1381,10 @@
const materialId = row.materialId || this.ids
getMaterials(materialId).then(response => {
this.forms = response.data
+ // 濡傛灉鏉愭枡绫诲瀷鏄�"鍏朵粬鏉愭枡"锛屽皢椤靛彿璁剧疆涓�0
+ if (this.forms.fileStyle === '鍏朵粬鏉愭枡') {
+ this.forms.pageNumber = null;
+ }
this.open = true
this.title = "淇敼妗堝嵎璇︾粏淇℃伅"
})
@@ -1446,7 +1540,7 @@
// }
const formData = new FormData();
formData.append('file', file);
- // formData.append('recordId', this.recordId)
+ formData.append('recordId', this.recordId)
// alert(this.recordId)
console.log(file)
@@ -1508,8 +1602,13 @@
const rect = fixedRow.getBoundingClientRect();
const parentRect = fixedRow.parentNode.getBoundingClientRect();
- // 妫�鏌ュ厓绱犳槸鍚﹀簲璇ヨ繘鍏ユ偓娴姸鎬�
- if (rect.top <= 0) {
+ // 璁板綍鍏冪礌鐨勫師濮嬩綅缃紙鐩稿浜庢枃妗i《閮ㄧ殑浣嶇疆锛�
+ if (!this.originalTop) {
+ this.originalTop = rect.top + window.pageYOffset;
+ }
+
+ // 妫�鏌ュ厓绱犳槸鍚﹀簲璇ヨ繘鍏ユ偓娴姸鎬侊紙褰撴粴鍔ㄤ綅缃秴杩囧厓绱犲師濮嬩綅缃椂锛�
+ if (window.pageYOffset >= this.originalTop) {
// 鍙湪涓嶅湪floating鐘舵�佹椂娣诲姞锛岄伩鍏嶉噸澶嶆搷浣�
if (!fixedRow.classList.contains('floating')) {
// 璁板綍鍏冪礌鍘熷鐨勫乏鍋忕Щ閲忥紙鐩稿浜庣埗瀹瑰櫒锛�
@@ -1533,7 +1632,7 @@
}
}
} else {
- // 褰撳厓绱犲洖鍒拌鍙i《閮ㄤ互涓婃椂锛岀Щ闄ゆ偓娴姸鎬侊紝鎭㈠鍒版枃妗f祦涓�
+ // 褰撴粴鍔ㄤ綅缃洖鍒板厓绱犲師濮嬩綅缃互涓婃椂锛岀Щ闄ゆ偓娴姸鎬侊紝鎭㈠鍒版枃妗f祦涓�
if (fixedRow.classList.contains('floating')) {
// 绉婚櫎floating绫�
fixedRow.classList.remove('floating');
--
Gitblit v1.9.1