| | |
| | | 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="请输入日期 (格式:yyyy-mm-dd)" style="width: 450px;" /> |
| | | <!-- <div style="color: #999; font-size: 12px; margin-top: 4px;">请输入正确的日期格式:yyyy-mm-dd</div> --> |
| | | </el-form-item> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <!-- <el-form-item label="页次" prop="pageOrder"> |
| | | <el-input v-model="form.pageOrder" placeholder="请输入页次" /> |
| | | </el-form-item> --> |
| | |
| | | </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"> |
| | |
| | | |
| | | |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-row :gutter="12" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | |
| | | @click="handleExport" |
| | | v-hasPermi="['system:materials:export']" |
| | | >导出</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="success" |
| | |
| | | @click="handleImport" |
| | | v-hasPermi="['system:materials:edit']" |
| | | >全部附件导入</el-button> |
| | | |
| | | |
| | | <!-- 在按钮下方添加导入对话框 --> |
| | | <el-dialog title="批量导入附件" :visible.sync="importDialogVisible" width="50%"> |
| | | <el-upload |
| | |
| | | > |
| | | <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">可上传PDF/DOC/XLS/JPG等格式文件,单个文件不超过50MB</div> |
| | | <div slot="tip" class="el-upload__tip">可上传JPG等格式文件,单个文件不超过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> |
| | | |
| | |
| | | <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"> |
| | |
| | | <el-form ref="forms" :model="forms" :rules="rules" label-width="100px"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | 8<el-form-item label="责任者" prop="creator"> |
| | | <el-form-item label="责任者" prop="creator"> |
| | | <el-input v-model="forms.creator" placeholder="请输入责任者" /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | </el-col> |
| | | </el-row> |
| | | <el-form-item label="日期" prop="date"> |
| | | <el-input v-model="forms.date" placeholder="请输入日期 (格式:yyyy-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="请输入页次" /> |
| | |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="日期" prop="date"> |
| | | <el-date-picker clearable |
| | | <el-input v-model="queryParams.date" placeholder="请输入日期 (格式:yyyy-mm-dd)" /> |
| | | <div style="color: #999; font-size: 12px; margin-top: 4px;">请输入正确的日期格式:yyyy-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 |
| | |
| | | </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 { |
| | |
| | | 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() |
| | | }, |
| | |
| | | // 添加密级选项 |
| | | securityLevelOptions: [ |
| | | { value: '秘密', label: '秘密' }, |
| | | { value: '普通', label: '普通' } |
| | | { value: '普通', label: '普通' }, |
| | | { value: '该页另存', label: '该页另存' } |
| | | |
| | | ], |
| | | // 添加保管期限选项 |
| | | retentionPeriodOptions: [ |
| | |
| | | { required: true, message: "案卷题名不能为空", trigger: "blur" } |
| | | ], |
| | | date: [ |
| | | { required: true, message: "日期不能为空", trigger: "blur" } |
| | | { required: true, message: "日期不能为空", trigger: "blur" }, |
| | | { pattern: /^\d{4}-\d{2}-\d{2}$/, message: "日期格式必须为yyyy-mm-dd", trigger: "blur" } |
| | | ], |
| | | pageNumber: [ |
| | | { required: true, message: "页号不能为空", trigger: "blur" }, |
| | | { type: 'number', message: '页号必须为数字类型', trigger: ['blur', 'change'] }, |
| | | { pattern: /^\d+$/, message: '请输入正整数', trigger: 'blur' } |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | |
| | | 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 = '普通' // 设置对话框表单默认值 |
| | |
| | | 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> |