| | |
| | | <el-select |
| | | v-model="form.fileStyle" |
| | | placeholder="请选择材料类型" |
| | | @change="handleFileStyleChange" |
| | | > |
| | | <el-option |
| | | v-for="item in fileStyleOptions" |
| | |
| | | <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"> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { islegal, listMaterials, enload, getMaterials, delMaterials, addMaterials, updateMaterials } from "@/api/system/materials" |
| | | import { 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" |
| | |
| | | ], |
| | | title: [ |
| | | { required: true, message: "案卷题名不能为空", trigger: "blur" }, |
| | | // { pattern: /^[^\\/:*?"<>丨]+$/, message: "文件名不能包含 \\:*?"<>丨 等特殊字符", trigger: "blur" }, |
| | | { pattern: /^[^\\/:*?"<>丨]+$/, message: "文件名不能包含 \\\:*?<>丨 等特殊字符", trigger: "blur" }, |
| | | { max: 85, message: "最大长度为85个字符", trigger: "blur" } |
| | | ], |
| | | date: [ |
| | |
| | | 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 |
| | | var res = response.data.res |
| | | //alert(response.data.total) |
| | | if(fileCount!==response.data.total) |
| | | { |
| | | this.$modal.msgWarning('请选择与记录数一致的文件') |
| | | return |
| | | } |
| | | if(res) |
| | | { |
| | | // 执行上传 |
| | |
| | | /** 查询【请填写功能名称】列表 */ |
| | | getList() { |
| | | this.loading = true |
| | | |
| | | |
| | | // 处理档案号搜索逻辑,包括范围搜索 |
| | | const queryParams = { ...this.queryParams } |
| | | |
| | | |
| | | // 检查是否包含范围搜索符号 |
| | | if (queryParams.fileNumber && queryParams.fileNumber.includes('~')) { |
| | | const rangeParts = queryParams.fileNumber.split('~') |
| | |
| | | queryParams.fileNumberEnd = rangeParts[1].trim() |
| | | } |
| | | } |
| | | |
| | | |
| | | listMaterials(queryParams).then(response => { |
| | | console.log(response) |
| | | this.materialsList = response.data.data |
| | |
| | | this.showCreatorSuggestions = false; |
| | | }, |
| | | |
| | | // 处理材料类型变化 |
| | | handleFileStyleChange(value) { |
| | | // 当选择'其他材料'时,清空页码字段 |
| | | if (value === '其他材料') { |
| | | this.form.pageNumber = null; |
| | | } |
| | | }, |
| | | |
| | | // 表单重置 |
| | | reset() { |
| | | this.form = { |
| | |
| | | } |
| | | 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; // 阻止搜索,直到用户修正输入 |
| | | } |
| | | this.queryParams.pageNum = 1 |
| | | this.getList() |
| | | }, |