| | |
| | | <div class="app-container"> |
| | | <h2 class="title-border">添加案卷详细记录</h2> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="100px"> |
| | | |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="文件编号" prop="documentNumber"> |
| | | <el-input ref="documentNumberInput" v-model="form.documentNumber" placeholder="请输入文件编号" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-col :span="16"> |
| | | <el-form-item label="责任者" prop="creator"> |
| | | <el-input v-model="form.creator" placeholder="请输入责任者" /> |
| | | </el-form-item> |
| | |
| | | </el-row> |
| | | <el-row> |
| | | |
| | | <el-col :span="8"> |
| | | <el-col :span="16"> |
| | | <el-form-item label="文件题名" prop="title"> |
| | | <el-input v-model="form.title" placeholder="请输入文件题名" /> |
| | | </el-form-item> |
| | |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | |
| | | |
| | | </el-form-item> |
| | | <el-form-item label="页号" |
| | | <el-form-item label="页号" |
| | | prop="pageNumber" |
| | | v-if=" form.fileStyle !== '其他材料'"> |
| | | <el-col :span="8"> |
| | | <el-input |
| | | v-model.number="form.pageNumber" |
| | | placeholder="请输入页号(数字类型)" |
| | | type="number" |
| | | <el-input |
| | | 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="remarks"> |
| | | <el-col :span="8"> |
| | | <el-input v-model="form.remarks" placeholder="请输入备注" /> |
| | | </el-col> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="公开属性" prop="publicity"> |
| | | <el-select |
| | | v-model="form.publicity" |
| | | placeholder="请选择公开属性" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="item in publicityOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="是否为附件" prop="isAttachment"> |
| | | <el-select |
| | | v-model="form.isAttachment" |
| | | placeholder="请选择是否为附件" |
| | | > |
| | | <el-option |
| | | v-for="item in isAttachmentOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | |
| | | <el-form-item label="所处阶段" prop="stage"> |
| | | <el-select |
| | | v-model="form.stage" |
| | |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="公开属性" prop="publicity"> |
| | | |
| | | <el-form-item label="密级" prop="securityLevel"> |
| | | <el-select |
| | | v-model="form.publicity" |
| | | placeholder="请选择公开属性" |
| | | v-model="form.securityLevel" |
| | | placeholder="请选择密级" |
| | | > |
| | | <el-option |
| | | v-for="item in publicityOptions" |
| | | v-for="item in securityLevelOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="是否为附件" prop="isAttachment"> |
| | | <el-select |
| | | v-model="form.isAttachment" |
| | | placeholder="请选择是否为附件" |
| | | > |
| | | <el-option |
| | | v-for="item in isAttachmentOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="保管期限" prop="retentionPeriod"> |
| | | <el-select |
| | |
| | | </el-form-item> |
| | | |
| | | <!-- 对话框表单中的密级 --> |
| | | <el-form-item label="密级" prop="securityLevel"> |
| | | <el-select |
| | | v-model="form.securityLevel" |
| | | placeholder="请选择密级" |
| | | > |
| | | <el-option |
| | | v-for="item in securityLevelOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | |
| | | |
| | | |
| | |
| | | <el-button type="primary" @click="resetForms">重置</el-button> |
| | | |
| | | <el-button @click="cancel">取 消</el-button> |
| | | |
| | | |
| | | <el-button type="warning" @click="cancelAuthUser">退回管理员</el-button> |
| | | |
| | | </div> |
| | | |
| | | |
| | |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | |
| | | >导出</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | icon="el-icon-delete" |
| | |
| | | v-hasPermi="['system:materials:remove']" |
| | | >删除</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | v-hasPermi="['system:materials:export']" |
| | | >导出</el-button> |
| | | </el-col> |
| | | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="success" |
| | |
| | | class="upload-demo" |
| | | ref="upload" |
| | | :action="uploadUrl" |
| | | :headers="headers" |
| | | :data="uploadParams" |
| | | :headers="headers" |
| | | :data="uploadParams" |
| | | :on-success="handleSuccess" |
| | | :on-error="handleError" |
| | | :on-preview="handlePreview" |
| | |
| | | |
| | | <el-table v-loading="loading" :data="materialsList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="操作" align="center" width="160" class-name="small-padding "> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['system:materials:edit']" |
| | | >修改</el-button> |
| | | <!-- <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['system:materials:edit']" |
| | | >导入附件</el-button> --> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['system:materials:remove']" |
| | | >删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="文件材料序号" align="center" prop="fileNumber" /> |
| | | <el-table-column label="文件编号" align="center" prop="documentNumber" /> |
| | | |
| | | <el-table-column label="责任者" align="center" prop="creator" /> |
| | | <el-table-column label="文件题名" align="center" prop="title" /> |
| | |
| | | <span>{{ parseTime(scope.row.date, '{y}-{m}-{d}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="页号" sortable align="center" prop="pageNumber" /> |
| | | <el-table-column label="页次" sortable align="center" prop="pageOrder" /> |
| | | <el-table-column label="页号" sortable align="center" prop="pageNumber" /> |
| | | <el-table-column label="备注" align="center" prop="remarks" /> |
| | | <el-table-column label="页次" sortable align="center" prop="pageOrder" /> |
| | | |
| | | <el-table-column label="所处阶段" sortable align="center" prop="stage" /> |
| | | <el-table-column label="公开属性" sortable align="center" prop="publicity" /> |
| | | <el-table-column label="所处阶段" sortable align="center" width="180" prop="stage" /> |
| | | <el-table-column label="公开属性" sortable align="center" width="180" prop="publicity" /> |
| | | <el-table-column label="是否为附图及附件" align="center" prop="isAttachment" /> |
| | | |
| | | <el-table-column label="保管期限" align="center" prop="retentionPeriod" /> |
| | | <el-table-column label="密级" align="center" prop="securityLevel" /> |
| | | <el-table-column label="材料类型" align="fileStyle" prop="fileStyle" /> |
| | | |
| | | <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="fileSize" /> |
| | | <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-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['system:materials:edit']" |
| | | >修改</el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['system:materials:edit']" |
| | | >导入附件</el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['system:materials:remove']" |
| | | >删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | |
| | | </el-table> |
| | | |
| | | <pagination |
| | |
| | | <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> |
| | | |
| | | <el-form ref="forms" :model="forms" :rules="rules" label-width="100px"> |
| | | |
| | | |
| | | <el-form-item label="文件编号" prop="documentNumber"> |
| | | <el-input v-model="forms.documentNumber" placeholder="请输入文件编号" /> |
| | | </el-form-item> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-col :span="16"> |
| | | <el-form-item label="责任者" prop="creator"> |
| | | <el-input v-model="forms.creator" placeholder="请输入责任者" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="文件题名" prop="title"> |
| | | <el-input v-model="forms.title" placeholder="请输入文件题名" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | <el-form-item label="文件题名" prop="title"> |
| | | <el-input v-model="forms.title" placeholder="请输入文件题名" /> |
| | | </el-form-item> |
| | | <el-form-item label="日期" prop="date"> |
| | | <el-input v-model="forms.date" placeholder="请输入日期 (格式:yyyy-mm-dd)" style="width: 200px;" /> |
| | | <!-- <el-date-picker clearable |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | |
| | | <el-form-item label="备注" prop="remarks"> |
| | | <el-input v-model="forms.remarks" placeholder="请输入备注" /> |
| | | </el-form-item> |
| | | <el-form-item label="所处阶段" prop="stage"> |
| | | <el-select |
| | | v-model="forms.stage" |
| | |
| | | <script> |
| | | 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() { |
| | |
| | | uploadUrl: process.env.VUE_APP_BASE_API +'/system/materials/upload/'+this.recordId, // 替换为实际的上传接口 |
| | | headers: { |
| | | Authorization: 'Bearer ' + getToken() |
| | | }, |
| | | }, |
| | | uploadParams: { |
| | | type: 'material' // 自定义上传类型 |
| | | }, |
| | |
| | | securityLevelOptions: [ |
| | | { value: '秘密', label: '秘密' }, |
| | | { value: '普通', label: '普通' }, |
| | | { value: '该页另存', label: '该页另存' } |
| | | |
| | | { value: '该页另存', label: '该页另存' }, |
| | | { value: '内部用途', label: '内部用途' }, |
| | | { value: '内部用图', label: '内部用图' }, |
| | | ], |
| | | // 添加保管期限选项 |
| | | retentionPeriodOptions: [ |
| | |
| | | // 表单校验 |
| | | rules: { |
| | | creator: [ |
| | | { required: true, message: "创建者不能为空", trigger: "blur" } |
| | | // { required: true, message: "创建者不能为空", trigger: "blur" } |
| | | ], |
| | | title: [ |
| | | { 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' } |
| | | ], |
| | | stage: [ |
| | | { required: true, message: "所处阶段不能为空", trigger: "change" } |
| | | ] |
| | | } |
| | | } |
| | |
| | | this.$refs.upload.clearFiles(); |
| | | // 关闭上传对话框 |
| | | this.importDialogVisible = false; |
| | | // 刷新列表数据 |
| | | this.getList(); // 这里可以调用接口关联上传的文件和当前记录 |
| | | // 刷新列表数据 |
| | | this.getList(); // 这里可以调用接口关联上传的文件和当前记录 |
| | | //更新档案的状态 |
| | | |
| | | } else { |
| | | // alert(234) |
| | | console.log(response) |
| | |
| | | if ((e.ctrlKey || e.metaKey) && e.key === 'd') { |
| | | e.preventDefault(); |
| | | this.resetForms(); |
| | | } |
| | | if ((e.ctrlKey || e.metaKey) && e.key === 'w') { |
| | | e.preventDefault(); |
| | | this.closeCurrentTab(); |
| | | } |
| | | }, |
| | | /** 查询【请填写功能名称】列表 */ |
| | |
| | | }) |
| | | }, |
| | | 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) |
| | | this.form.recordId = this.recordId |
| | | console.log("==============+++++++++++++++============") |
| | | |
| | | // 保存当前表单中需要保留的字段值 |
| | | const preservedValues = { |
| | | documentNumber: this.form.documentNumber, |
| | | creator: this.form.creator, |
| | | title: this.form.title, |
| | | date: this.form.date, |
| | | pageNumber: this.form.pageNumber, |
| | | remarks: this.form.remarks, |
| | | stage: this.form.stage // 所处阶段保持跟上一条一致 |
| | | }; |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | addMaterials(this.form).then(response => { |
| | | this.$modal.msgSuccess("新增成功") |
| | | // this.opens = false |
| | | |
| | | |
| | | // 创建新表单,保留特定字段,重置其他字段 |
| | | this.form = { |
| | | materialId: null, |
| | | recordId: this.recordId, |
| | | // 保留的字段 |
| | | documentNumber: preservedValues.documentNumber, |
| | | creator: preservedValues.creator, |
| | | title: preservedValues.title, |
| | | date: preservedValues.date, |
| | | pageNumber: preservedValues.pageNumber, |
| | | remarks: preservedValues.remarks, |
| | | stage: preservedValues.stage, |
| | | // 重置为空的字段 |
| | | publicity: null, |
| | | // 重置为默认值的字段 |
| | | fileStyle: '文字材料', // 材料类型默认为文字材料 |
| | | securityLevel: '普通', // 密级默认为普通 |
| | | isAttachment: '否', // 是否为附件默认为否 |
| | | isSensitive: '否', // 是否敏感默认为否 |
| | | isCanceled: '否', // 是否注销默认为否 |
| | | // 其他需要重置的字段 |
| | | isDiagram: '否', |
| | | retentionPeriod: '永久', |
| | | format: null, |
| | | sizeType: null, |
| | | horizontalResolution: null, |
| | | verticalResolution: null, |
| | | width: null, |
| | | height: null, |
| | | fileSize: null, |
| | | attachmentHistoryNumbers: null, |
| | | createdAt: null, |
| | | updatedAt: null |
| | | }; |
| | | |
| | | // 保存成功后,光标跳回文件编号输入框 |
| | | this.$nextTick(() => { |
| | | this.$refs.documentNumberInput.focus(); |
| | | }); |
| | | this.getList() |
| | | }) |
| | | } |
| | | else |
| | | { |
| | | this.$message.error('请填写所有必填字段'); |
| | | |
| | | } |
| | | }) |
| | | }, |
| | | /** 提交按钮 */ |
| | |
| | | if (this.forms.materialId != null) { |
| | | updateMaterials(this.forms).then(response => { |
| | | this.$modal.msgSuccess("修改成功") |
| | | // 修改成功后,光标跳回文件编号输入框 |
| | | this.$nextTick(() => { |
| | | this.$refs.documentNumberInput.focus(); |
| | | }); |
| | | this.open = false |
| | | this.getList() |
| | | }) |
| | |
| | | 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> |