| | |
| | | <template> |
| | | <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="creator"> |
| | | <el-input v-model="form.creator" placeholder="请输入责任者" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | |
| | | <el-col :span="8"> |
| | | <el-form-item label="文件题名" prop="title"> |
| | | <el-input v-model="form.title" placeholder="请输入文件题名" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-form-item label="日期" prop="date"> |
| | | <!-- <el-date-picker clearable |
| | | v-model="form.date" |
| | | type="date" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="请选择日期"> |
| | | </el-date-picker> --> |
| | | <el-col :span="8"> |
| | | <el-input v-model="form.date" placeholder="请输入日期" /> |
| | | </el-col> |
| | | </el-form-item> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <!-- <el-form-item label="页次" prop="pageOrder"> |
| | | <el-input v-model="form.pageOrder" placeholder="请输入页次" /> |
| | | </el-form-item> --> |
| | | <el-form-item label="材料类型" prop="fileStyle"> |
| | | <el-select |
| | | v-model="form.fileStyle" |
| | | placeholder="请选择材料类型" |
| | | > |
| | | <el-option |
| | | v-for="item in fileStyleOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="页号" |
| | | prop="pageNumber" |
| | | v-if=" form.fileStyle !== '其他材料'" |
| | | > |
| | | <el-col :span="8"> |
| | | <el-input |
| | | v-model="form.pageNumber" |
| | | placeholder="请输入页号" |
| | | /></el-col> |
| | | </el-form-item> |
| | | <el-form-item label="所处阶段" prop="stage"> |
| | | <el-select |
| | | v-model="form.stage" |
| | | placeholder="请选择所处阶段" |
| | | > |
| | | <el-option |
| | | v-for="item in stageOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="公开属性" prop="publicity"> |
| | | <el-select |
| | | v-model="form.publicity" |
| | | placeholder="请选择公开属性" |
| | | > |
| | | <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="retentionPeriod"> |
| | | <el-select |
| | | v-model="form.retentionPeriod" |
| | | placeholder="请选择保管期限" |
| | | > |
| | | <el-option |
| | | v-for="item in retentionPeriodOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </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-form-item label="是否敏感" prop="isSensitive"> |
| | | <el-select |
| | | v-model="form.isSensitive" |
| | | 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="isCanceled"> |
| | | <el-select |
| | | v-model="form.isCanceled" |
| | | placeholder="请输入是否注销" |
| | | > |
| | | <el-option |
| | | v-for="item in isAttachmentOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer" @keydown.enter="submitForm"> |
| | | <el-button type="primary" @click="submitForm">确 定</el-button> |
| | | <el-button type="primary" @click="resetForms">重置</el-button> |
| | | |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | |
| | | |
| | | |
| | | <div class="title-border"></div> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <el-row :gutter="12" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAdd" |
| | | v-hasPermi="['system:materials:add']" |
| | | >搜索</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="success" |
| | | plain |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleUpdate" |
| | | v-hasPermi="['system:materials:edit']" |
| | | >修改</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="multiple" |
| | | @click="handleDelete" |
| | | 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" |
| | | plain |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | @click="handleImport" |
| | | v-hasPermi="['system:materials:edit']" |
| | | >全部附件导入</el-button> |
| | | |
| | | |
| | | <!-- 在按钮下方添加导入对话框 --> |
| | | <el-dialog title="批量导入附件" :visible.sync="importDialogVisible" width="50%"> |
| | | <el-upload |
| | | class="upload-demo" |
| | | ref="upload" |
| | | :action="uploadUrl" |
| | | :headers="headers" |
| | | :data="uploadParams" |
| | | :on-success="handleSuccess" |
| | | :on-error="handleError" |
| | | :on-preview="handlePreview" |
| | | :on-remove="handleRemove" |
| | | :file-list="fileList" |
| | | :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">可上传JPG等格式文件,单个文件不超过50MB</div> |
| | | </el-upload> |
| | | </el-dialog> |
| | | </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 v-loading="loading" :data="materialsList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="文件材料序号" align="center" prop="fileNumber" /> |
| | | |
| | | <el-table-column label="责任者" align="center" prop="creator" /> |
| | | <el-table-column label="文件题名" align="center" prop="title" /> |
| | | <el-table-column label="日期" align="center" prop="date" width="180"> |
| | | <template slot-scope="scope"> |
| | | <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="stage" /> |
| | | <el-table-column label="公开属性" sortable align="center" 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="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="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="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 |
| | | v-show="total>0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> |
| | | |
| | | <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-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="date"> |
| | | <!-- <el-date-picker clearable |
| | | v-model="forms.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="fileStyle"> |
| | | <el-select |
| | | v-model="forms.fileStyle" |
| | | |
| | | placeholder="请选择文字材料" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="item in fileStyleOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | |
| | | <el-form-item label="所处阶段" prop="stage"> |
| | | <el-select |
| | | v-model="forms.stage" |
| | | placeholder="请选择所处阶段" |
| | | > |
| | | <el-option |
| | | v-for="item in stageOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="公开属性" prop="publicity"> |
| | | <el-select |
| | | v-model="forms.publicity" |
| | | placeholder="请选择公开属性" |
| | | > |
| | | <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="forms.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 |
| | | v-model="forms.retentionPeriod" |
| | | placeholder="请选择保管期限" |
| | | > |
| | | <el-option |
| | | v-for="item in retentionPeriodOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <!-- 对话框表单中的密级 --> |
| | | <el-form-item label="密级" prop="securityLevel"> |
| | | <el-select |
| | | v-model="forms.securityLevel" |
| | | placeholder="请选择密级" |
| | | > |
| | | <el-option |
| | | v-for="item in securityLevelOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | |
| | | |
| | | <el-form-item label="是否敏感" prop="isSensitive"> |
| | | <el-select |
| | | v-model="forms.isSensitive" |
| | | 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="isCanceled"> |
| | | <el-select |
| | | v-model="forms.isCanceled" |
| | | placeholder="请输入是否注销" |
| | | > |
| | | <el-option |
| | | v-for="item in isAttachmentOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForms">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | |
| | | |
| | | |
| | | |
| | | </el-dialog> |
| | | <!-- 添加或修改【请填写功能名称】对话框 --> |
| | | <el-dialog :title="titles" :visible.sync="opens" width="800px" append-to-body> |
| | | |
| | | |
| | | |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
| | | <el-form-item label="责任者" prop="creator"> |
| | |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="文字材料" prop="fileStyle"> |
| | | <el-select |
| | | v-model="queryParams.fileStyle" |
| | | |
| | | placeholder="请选择文字材料" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="item in fileStyleOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | |
| | | <el-form-item label="所处阶段" prop="stage"> |
| | | <el-select |
| | | v-model="queryParams.stage" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="是否敏感" prop="isSensitive"> |
| | | |
| | | |
| | | |
| | | |
| | | <el-select |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="是否注销" prop="isCanceled"> |
| | | |
| | | |
| | | |
| | | <el-select |
| | | v-model="queryParams.isCanceled" |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAdd" |
| | | v-hasPermi="['system:materials:add']" |
| | | >新增</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="success" |
| | | plain |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleUpdate" |
| | | v-hasPermi="['system:materials:edit']" |
| | | >修改</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="multiple" |
| | | @click="handleDelete" |
| | | 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> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | | |
| | | <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" prop="creator" /> |
| | | <el-table-column label="文件题名" align="center" prop="title" /> |
| | | <el-table-column label="日期" align="center" prop="date" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.date, '{y}-{m}-{d}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="页号" align="center" prop="pageNumber" /> |
| | | <el-table-column label="页次" align="center" prop="pageOrder" /> |
| | | <el-table-column label="所处阶段" align="center" prop="stage" /> |
| | | <el-table-column label="公开属性" align="center" 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="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="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="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 |
| | | v-show="total>0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | |
| | | <!-- 添加或修改【请填写功能名称】对话框 --> |
| | | <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
| | | <el-form-item label="责任者" prop="creator"> |
| | | <el-input v-model="form.creator" placeholder="请输入责任者" /> |
| | | </el-form-item> |
| | | <el-form-item label="文件题名" prop="title"> |
| | | <el-input v-model="form.title" placeholder="请输入文件题名" /> |
| | | </el-form-item> |
| | | <el-form-item label="日期" prop="date"> |
| | | <el-date-picker clearable |
| | | v-model="form.date" |
| | | type="date" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="请选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="页号" prop="pageNumber"> |
| | | <el-input v-model="form.pageNumber" placeholder="请输入页号" /> |
| | | </el-form-item> |
| | | <el-form-item label="页次" prop="pageOrder"> |
| | | <el-input v-model="form.pageOrder" placeholder="请输入页次" /> |
| | | </el-form-item> |
| | | <el-form-item label="所处阶段" prop="stage"> |
| | | <el-select |
| | | v-model="form.stage" |
| | | placeholder="请选择所处阶段" |
| | | > |
| | | <el-option |
| | | v-for="item in stageOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="公开属性" prop="publicity"> |
| | | <el-select |
| | | v-model="form.publicity" |
| | | placeholder="请选择公开属性" |
| | | > |
| | | <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="retentionPeriod"> |
| | | <el-select |
| | | v-model="form.retentionPeriod" |
| | | placeholder="请选择保管期限" |
| | | > |
| | | <el-option |
| | | v-for="item in retentionPeriodOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </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-form-item label="是否敏感" prop="isSensitive"> |
| | | <el-select |
| | | v-model="form.isSensitive" |
| | | 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="isCanceled"> |
| | | <el-select |
| | | v-model="form.isCanceled" |
| | | placeholder="请输入是否注销" |
| | | > |
| | | <el-option |
| | | v-for="item in isAttachmentOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </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 { |
| | | name: "Materials", |
| | | data() { |
| | | return { |
| | | // 添加密级选项 |
| | | importDialogVisible: false, |
| | | fileList: [], |
| | | uploadUrl: process.env.VUE_APP_BASE_API +'/system/materials/upload', // 替换为实际的上传接口 |
| | | headers: { |
| | | Authorization: 'Bearer ' + getToken() |
| | | }, |
| | | uploadParams: { |
| | | type: 'material' // 自定义上传类型 |
| | | }, |
| | | // 添加材料类型选项 |
| | | fileStyleOptions: [ |
| | | { value: '文字材料', label: '文字材料' }, |
| | | { value: '图样材料', label: '图样材料' }, |
| | | { value: '照片材料', label: '照片材料' }, |
| | | { value: '其他材料', label: '其他材料' }, |
| | | ], |
| | | |
| | | // 添加密级选项 |
| | | securityLevelOptions: [ |
| | | { value: '秘密', label: '秘密' }, |
| | | { value: '普通', label: '普通' } |
| | | { value: '普通', label: '普通' }, |
| | | { value: '该页另存', label: '该页另存' } |
| | | |
| | | ], |
| | | // 添加保管期限选项 |
| | | retentionPeriodOptions: [ |
| | |
| | | { value: '02-办案过程材料', label: '02-办案过程材料' }, |
| | | { value: '03-结论性文件', label: '03-结论性文件' }, |
| | | { value: '04-其他材料', label: '04-其他材料' }, |
| | | { value: '05-档案变更材料', label: '05-档案变更材料' } |
| | | { value: '05-档案变更材料', label: '05-档案变更材料' }, |
| | | { value: '06-业务数据', label: '06-业务数据' }, |
| | | ], |
| | | recordId: null, |
| | | // 遮罩层 |
| | |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | titles: "", |
| | | opens: false, |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | |
| | | // ... 其他form属性保持不变 ... |
| | | securityLevel: '普通' // 设置对话框表单默认值 |
| | | }, |
| | | forms: |
| | | {}, |
| | | // 表单校验 |
| | | rules: { |
| | | creator: [ |
| | | { required: true, message: "$comment不能为空", trigger: "blur" } |
| | | { required: true, message: "创建者不能为空", trigger: "blur" } |
| | | ], |
| | | title: [ |
| | | { required: true, message: "$comment不能为空", trigger: "blur" } |
| | | { required: true, message: "案卷题名不能为空", trigger: "blur" } |
| | | ], |
| | | date: [ |
| | | { required: true, message: "$comment不能为空", trigger: "blur" } |
| | | { required: true, message: "日期不能为空", trigger: "blur" } |
| | | ], |
| | | } |
| | | } |
| | | }, |
| | | mounted() { |
| | | // 改为监听keydown事件 |
| | | document.addEventListener('keydown', this.handleKeyDown) |
| | | }, |
| | | beforeDestroy() { |
| | | document.removeEventListener('keydown', this.handleKeyDown) |
| | | }, |
| | | created() { |
| | | //const roleId = this.$route.params && this.$route.params.roleId |
| | | const recordId = this.$route.params && this.$route.params.recordId |
| | | alert(recordId) |
| | | //alert(recordId) |
| | | this.recordId = recordId; |
| | | |
| | | // alert('Bearer ' + getToken()) |
| | | this.reset() |
| | | this.form.securityLevel = '普通' // 设置对话框表单默认值 |
| | | this.form.isSensitive = '否' // 设置对话框表单默认值 |
| | | this.form.isCanceled = '否' // 设置对话框表单默认值 |
| | | this.form.isAttachment = '否' // 设置对话框表单默认值 |
| | | this.form.isDiagram = '否' // 设置对话框表单默认值 |
| | | this.form.retentionPeriod = '永久' // 设置对话框表单默认值 |
| | | if (recordId) { |
| | | |
| | | this.queryParams.recordId = recordId |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | // 上传失败回调 |
| | | handleError(err, file, fileList) { |
| | | this.$modal.msgError("上传失败: " + err.message) |
| | | // 清除上传列表 |
| | | this.$refs.upload.clearFiles(); |
| | | }, |
| | | // 上传成功回调 |
| | | handleSuccess(response, file, fileList) { |
| | | if (response.code === 200) { |
| | | this.$modal.msgSuccess("上传成功") |
| | | // 清除上传列表 |
| | | this.$refs.upload.clearFiles(); |
| | | // 关闭上传对话框 |
| | | this.importDialogVisible = false; |
| | | // 刷新列表数据 |
| | | this.getList(); // 这里可以调用接口关联上传的文件和当前记录 |
| | | } else { |
| | | // alert(234) |
| | | console.log(response) |
| | | this.$modal.msgError(response.msg) |
| | | } |
| | | }, |
| | | // 打开导入对话框 |
| | | handleImport() { |
| | | this.importDialogVisible = true |
| | | }, |
| | | // 文件移除 |
| | | handleRemove(file, fileList) { |
| | | this.fileList = fileList |
| | | }, |
| | | // 文件预览 |
| | | handlePreview(file) { |
| | | console.log(file) |
| | | }, |
| | | // 提交上传 |
| | | submitUpload() { |
| | | this.$refs.upload.submit() |
| | | }, |
| | | handleKeyDown(e) { |
| | | // 在keydown事件中更早地阻止默认行为 |
| | | if ((e.ctrlKey || e.metaKey) && e.key === 's') { |
| | | e.preventDefault() |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | this.submitForm(); |
| | | } else { |
| | | this.$message.error('请填写所有必填字段'); |
| | | } |
| | | }); |
| | | } |
| | | // 新增Ctrl+D快捷键 |
| | | if ((e.ctrlKey || e.metaKey) && e.key === 'd') { |
| | | e.preventDefault(); |
| | | this.resetForms(); |
| | | } |
| | | }, |
| | | /** 查询【请填写功能名称】列表 */ |
| | | getList() { |
| | | this.loading = true |
| | |
| | | cancel() { |
| | | this.open = false |
| | | this.reset() |
| | | }, |
| | | resets() { |
| | | this.forms = { |
| | | materialId: null, |
| | | creator: null, |
| | | title: null, |
| | | date: null, |
| | | pageNumber: null, |
| | | pageOrder: null, |
| | | stage: null, |
| | | publicity: null, |
| | | isAttachment: null, |
| | | isDiagram: null, |
| | | retentionPeriod: null, |
| | | securityLevel: null, |
| | | isSensitive: null, |
| | | isCanceled: null, |
| | | format: null, |
| | | sizeType: null, |
| | | horizontalResolution: null, |
| | | verticalResolution: null, |
| | | width: null, |
| | | height: null, |
| | | fileSize: null, |
| | | attachmentHistoryNumbers: null, |
| | | remarks: null, |
| | | createdAt: null, |
| | | updatedAt: null, |
| | | recordId: null |
| | | } |
| | | this.resetForm("forms") |
| | | }, |
| | | // 表单重置 |
| | | reset() { |
| | |
| | | }, |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | | this.reset() |
| | | this.form.securityLevel = '普通' // 设置对话框表单默认值 |
| | | this.form.isSensitive = '否' // 设置对话框表单默认值 |
| | | this.form.isCanceled = '否' // 设置对话框表单默认值 |
| | | this.form.isAttachment = '否' // 设置对话框表单默认值 |
| | | this.form.isDiagram = '否' // 设置对话框表单默认值 |
| | | this.form.retentionPeriod = '永久' // 设置对话框表单默认值 |
| | | this.open = true |
| | | this.title = "添加案卷详细信息" |
| | | |
| | | this.opens = true |
| | | this.titles = "搜索案卷详细信息" |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | this.reset() |
| | | this.resets() |
| | | const materialId = row.materialId || this.ids |
| | | getMaterials(materialId).then(response => { |
| | | this.form = response.data |
| | | this.forms = response.data |
| | | this.open = true |
| | | this.title = "修改案卷详细信息" |
| | | }) |
| | | }, |
| | | resetForms() |
| | | { |
| | | this.reset() |
| | | this.form.securityLevel = '普通' // 设置对话框表单默认值 |
| | | this.form.isSensitive = '否' // 设置对话框表单默认值 |
| | | this.form.isCanceled = '否' // 设置对话框表单默认值 |
| | | this.form.isAttachment = '否' // 设置对话框表单默认值 |
| | | this.form.isDiagram = '否' // 设置对话框表单默认值 |
| | | this.form.retentionPeriod = '永久' // 设置对话框表单默认值 |
| | | }, |
| | | submitForm() |
| | | { |
| | | console.log(this.form) |
| | | this.form.recordId = this.recordId |
| | | console.log("==============+++++++++++++++============") |
| | | addMaterials(this.form).then(response => { |
| | | this.$modal.msgSuccess("新增成功") |
| | | // this.opens = false |
| | | |
| | | this.getList() |
| | | }) |
| | | }, |
| | | /** 提交按钮 */ |
| | | submitForm() { |
| | | this.$refs["form"].validate(valid => { |
| | | submitForms() { |
| | | this.$refs["forms"].validate(valid => { |
| | | if (valid) { |
| | | if (this.form.materialId != null) { |
| | | updateMaterials(this.form).then(response => { |
| | | if (this.forms.materialId != null) { |
| | | updateMaterials(this.forms).then(response => { |
| | | this.$modal.msgSuccess("修改成功") |
| | | this.open = false |
| | | this.getList() |
| | | }) |
| | | } else { |
| | | console.log(this.form) |
| | | this.form.recordId = this.recordId |
| | | console.log("==============+++++++++++++++============") |
| | | addMaterials(this.form).then(response => { |
| | | this.$modal.msgSuccess("新增成功") |
| | | this.open = false |
| | | this.getList() |
| | | }) |
| | | |
| | | } |
| | | } |
| | | }) |
| | |
| | | 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> |
| | | <style scoped> |
| | | .title-border { |
| | | border-bottom: 1px solid #dcdfe6; |
| | | padding-bottom: 10px; |
| | | margin-bottom: 20px; |
| | | } |
| | | </style> |