xuhuajiao
3 years ago
5 changed files with 298 additions and 587 deletions
-
238src/utils/archives.js
-
231src/views/archivesManage/archivesList/archivesAnjuan/index.vue
-
224src/views/archivesManage/archivesList/archivesJuannei/index.vue
-
173src/views/archivesManage/archivesList/archivesProject/index.vue
-
19src/views/archivesManage/archivesList/index.vue
@ -0,0 +1,238 @@ |
|||||
|
import qs from 'qs' |
||||
|
import { exportFile } from '@/utils/index' |
||||
|
import { FetchTableDisplayFields, FetchInitArchivesView, FetchFormDisplayFields } from '@/api/archivesManage/archivesList' |
||||
|
export const common = { |
||||
|
// 组件共用属性
|
||||
|
data() { |
||||
|
return { |
||||
|
permission: { |
||||
|
add: ['admin', 'archivesList:add'], |
||||
|
edit: ['admin', 'archivesList:edit'], |
||||
|
del: ['admin', 'archivesList:del'], |
||||
|
download: ['admin', 'archivesList:download'] |
||||
|
}, |
||||
|
page: { |
||||
|
page: 0, |
||||
|
size: 10, |
||||
|
total: 0 |
||||
|
}, |
||||
|
query: { |
||||
|
'queryType': null, |
||||
|
'queryTitle': null, |
||||
|
'recordNo': null, |
||||
|
'archiveCtgNo': null, |
||||
|
'archiveNo': null, |
||||
|
'responsibleby': null |
||||
|
}, |
||||
|
stateOptions: [ // 搜索 - 状态选择
|
||||
|
{ key: '1', label: '全部' }, |
||||
|
{ key: '2', label: '未装' }, |
||||
|
{ key: '3', label: '未入' }, |
||||
|
{ key: '4', label: '在库' }, |
||||
|
{ key: '5', label: '待借' }, |
||||
|
{ key: '6', label: '已借' } |
||||
|
], |
||||
|
tableDisplayFields: [], // table-list-title字段
|
||||
|
getTableDisplayFieldsLoading: false, // table-loading
|
||||
|
formVisible: false, |
||||
|
formTitle: '新建档案', |
||||
|
formPreviewData: [], // 预览界面data
|
||||
|
totalSumAll: 0, // 删除时,内部文件数据求和
|
||||
|
arrySort: [], // 多项sort-query
|
||||
|
selections: [], // table已选择的
|
||||
|
categoryId: null, // 上传附件使用
|
||||
|
parentsId: null, // 父id
|
||||
|
arcId: null, // 档案ID
|
||||
|
yearGroup: [], // 智能分类 - 年度
|
||||
|
uploadFileVisible: false // 上传附件
|
||||
|
} |
||||
|
}, |
||||
|
// 组件共用方法
|
||||
|
methods: { |
||||
|
// 搜索-select
|
||||
|
querySelect(name, val) { |
||||
|
this[name] = val |
||||
|
}, |
||||
|
// 案卷 / 卷内 / 文件 导出
|
||||
|
doExport(type) { |
||||
|
this.crud.downloadLoading = true |
||||
|
if (type === 0 && this.selectedCategory.isType === 2) { |
||||
|
this.parentsId = this.projectSelection.id |
||||
|
} else if (type === 1 && this.selectedCategory.isType === 2) { |
||||
|
this.parentsId = this.anjuanSelection.id |
||||
|
} else { |
||||
|
this.parentsId = null |
||||
|
} |
||||
|
const params = { |
||||
|
'categoryId': this.categoryId, |
||||
|
'parentsId': this.parentsId |
||||
|
} |
||||
|
exportFile(this.baseApi + '/api/archives/exportArchives?' + qs.stringify(params)) |
||||
|
this.crud.downloadLoading = false |
||||
|
}, |
||||
|
// table - 表头项
|
||||
|
getTableItemCommon(type) { |
||||
|
if (type === 0) { |
||||
|
this.categoryId = this.selectedCategory.id |
||||
|
} else if (type === 1) { |
||||
|
if (this.selectedCategory.isType === 2) { |
||||
|
if (this.selectedCategory.children.length !== 0) { |
||||
|
this.categoryId = this.selectedCategory.children[0].id |
||||
|
} |
||||
|
} else { |
||||
|
this.categoryId = this.selectedCategory.id |
||||
|
} |
||||
|
} else if (type === 2) { |
||||
|
if (this.selectedCategory.isType === 2) { |
||||
|
if (this.selectedCategory.children.length !== 0) { |
||||
|
this.categoryId = this.selectedCategory.children[0].children[0].id |
||||
|
} |
||||
|
} else if (this.selectedCategory.isType === 3) { |
||||
|
if (this.selectedCategory.children.length !== 0) { |
||||
|
this.categoryId = this.selectedCategory.children[0].id |
||||
|
} |
||||
|
} else { |
||||
|
this.categoryId = this.selectedCategory.id |
||||
|
} |
||||
|
} |
||||
|
this.getTableDisplayFieldsLoading = true |
||||
|
this.selections = [] |
||||
|
FetchTableDisplayFields({ categoryId: this.categoryId }).then(data => { |
||||
|
if (data) { |
||||
|
this.arrySort = [] |
||||
|
this.tableDisplayFields = data |
||||
|
this.getTableDisplayFieldsLoading = false |
||||
|
const orderSortArry = this.tableDisplayFields.filter(item => item.queue).sort((a, b) => a.queue - b.queue) |
||||
|
orderSortArry.forEach(item => { |
||||
|
this.arrySort.push(item.fieldName + ',' + item.displayOrderBy) |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// table - list
|
||||
|
getListCommon(name, page, type) { |
||||
|
if (type === 0) { |
||||
|
this.parentsId = null |
||||
|
} else if (type === 1) { |
||||
|
if (this.selectedCategory.isType === 3 || this.selectedCategory.isType === 5) { |
||||
|
this.parentsId = null |
||||
|
} else { |
||||
|
this.parentsId = this.projectSelection.id |
||||
|
} |
||||
|
} else if (type === 2) { |
||||
|
if (this.selectedCategory.isType !== 4) { |
||||
|
this.parentsId = this.anjuanSelection.id |
||||
|
} else { |
||||
|
this.parentsId = null |
||||
|
} |
||||
|
} |
||||
|
this.selections = [] |
||||
|
this.page.page = isNaN(page - 1) ? 0 : page - 1 |
||||
|
this.formVisible = false |
||||
|
this.getTableDisplayFieldsLoading = true |
||||
|
const params = { |
||||
|
'categoryId': this.categoryId, |
||||
|
'parentsId': this.parentsId, |
||||
|
'isdel': this.recycleMain.isdel, |
||||
|
'page': this.page.page, |
||||
|
'size': this.page.size, |
||||
|
'sort': this.arrySort, |
||||
|
'queryType': this.query.queryType, |
||||
|
'queryTitle': this.query.queryTitle, |
||||
|
'recordNo': this.query.recordNo, |
||||
|
'archiveCtgNo': this.query.archiveCtgNo, |
||||
|
'responsibleby': this.query.responsibleby, |
||||
|
'archiveNo': this.query.archiveNo, |
||||
|
'archiveYear': this.smartQuery.archiveYear, |
||||
|
'department': this.smartQuery.department, |
||||
|
'retention': this.smartQuery.retention, |
||||
|
'securityClass': this.smartQuery.securityClass, |
||||
|
'organizationMatter': this.smartQuery.organizationMatter |
||||
|
} |
||||
|
FetchInitArchivesView(params).then(data => { |
||||
|
this.getTableDisplayFieldsLoading = false |
||||
|
if (data) { |
||||
|
this[name] = data.list.content |
||||
|
this.yearGroup = data.yearGroup |
||||
|
this.page.total = data.list.totalElements |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 著录界面-form/详情-api
|
||||
|
handleForm(type, title) { |
||||
|
if (type === 'add') { |
||||
|
this.formTitle = '新增' + title |
||||
|
this.arcId = null |
||||
|
// this.parentsId = this[name].id //案卷和卷内有 不确定
|
||||
|
} else if (type === 'edit') { |
||||
|
this.arcId = this.selections[0].id |
||||
|
this.formTitle = '编辑' + title |
||||
|
} |
||||
|
this.formVisible = true |
||||
|
this.form.dictionaryConfigId = {} |
||||
|
this.formPreviewData = [] |
||||
|
// 档案预编辑获取字段
|
||||
|
const params = { |
||||
|
categoryId: this.categoryId, |
||||
|
archivesId: this.arcId |
||||
|
} |
||||
|
this.getFormInfo(params, type) |
||||
|
}, |
||||
|
getFormInfo(params, type) { |
||||
|
FetchFormDisplayFields(params).then(data => { |
||||
|
this.formPreviewData = data.showFiled |
||||
|
this.$nextTick(() => { |
||||
|
if (type === 'edit') { |
||||
|
this.$refs.previewForm.addOrUpdateForm = data.echo |
||||
|
} |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
// form - submit
|
||||
|
handlerArchivesSubmit() { |
||||
|
this.$refs.previewForm.submitForm('addOrUpdateForm', this.categoryId) |
||||
|
this.selections = [] |
||||
|
}, |
||||
|
// 选择删除
|
||||
|
toDelete(data) { |
||||
|
this.$refs.deltArchives.deleteVisible = true |
||||
|
this.getTotalSumAll() |
||||
|
}, |
||||
|
getTotalSumAll() { |
||||
|
this.totalSumAll = 0 |
||||
|
this.selections.map((item) => { if (!isNaN(item.children_num)) this.totalSumAll += item.children_num }) |
||||
|
if (isNaN(this.totalSumAll)) { |
||||
|
return 0 |
||||
|
} |
||||
|
return this.totalSumAll |
||||
|
}, |
||||
|
// 删除 - 关闭
|
||||
|
handleClose(done) { |
||||
|
this.formVisible = false |
||||
|
done() |
||||
|
}, |
||||
|
/* 重新渲染table组件 防止table-fixed 错位 配合watch-table数据 */ |
||||
|
doLayout() { |
||||
|
this.$nextTick(() => { |
||||
|
this.$refs.table.doLayout() |
||||
|
}) |
||||
|
}, |
||||
|
// 上传附件
|
||||
|
uploadFile() { |
||||
|
this.uploadFileVisible = true |
||||
|
this.arcId = this.selections[0].id |
||||
|
this.$nextTick(() => { |
||||
|
this.$refs.uploadFile.tableData = [] |
||||
|
this.$refs.uploadFile.getFileList() |
||||
|
}) |
||||
|
}, |
||||
|
// 还原
|
||||
|
handleRestore() { |
||||
|
this.$refs.restore.restoreVisible = true |
||||
|
} |
||||
|
}, |
||||
|
// 组件挂载时的共用方法
|
||||
|
mounted() { |
||||
|
|
||||
|
} |
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue