Browse Source

page分页/四性检测报告

master
xuhuajiao 4 months ago
parent
commit
c9b2f8146a
  1. 20
      src/api/collect/collect.js
  2. 7
      src/views/archiveKeeping/caseManage/caseList/index.vue
  3. 7
      src/views/archiveKeeping/caseManage/caseLog/index.vue
  4. 7
      src/views/archiveKeeping/inStorage/pendingInArchive/anjuan/tableList.vue
  5. 7
      src/views/archiveKeeping/inStorage/pendingInArchive/file/index.vue
  6. 7
      src/views/archiveKeeping/inStorage/pendingInArchive/juannei/index.vue
  7. 7
      src/views/archiveKeeping/inStorage/pendingInArchive/project/index.vue
  8. 7
      src/views/archiveKeeping/inStorage/pendingInCase/index.vue
  9. 7
      src/views/archiveKeeping/tidManage/tidList/index.vue
  10. 7
      src/views/archiveKeeping/tidManage/tidLog/index.vue
  11. 7
      src/views/archivesManage/managementLibrary/anjuan/tableList.vue
  12. 7
      src/views/archivesManage/managementLibrary/file/index.vue
  13. 7
      src/views/archivesManage/managementLibrary/juannei/index.vue
  14. 7
      src/views/archivesManage/managementLibrary/project/index.vue
  15. 7
      src/views/collectReorganizi/collectionLibrary/anjuan/tableList.vue
  16. 7
      src/views/collectReorganizi/collectionLibrary/file/index.vue
  17. 7
      src/views/collectReorganizi/collectionLibrary/juannei/index.vue
  18. 20
      src/views/collectReorganizi/collectionLibrary/module/archivesInfo/index.vue
  19. 3
      src/views/collectReorganizi/collectionLibrary/module/collectHeader.vue
  20. 110
      src/views/collectReorganizi/collectionLibrary/module/fourTest/index.vue
  21. 80
      src/views/collectReorganizi/collectionLibrary/module/fourTestInfo/index.vue
  22. 7
      src/views/collectReorganizi/collectionLibrary/project/index.vue
  23. 447
      src/views/fourTestReport/index.vue

20
src/api/collect/collect.js

@ -232,6 +232,24 @@ export function FetchFourCheck(data) {
}) })
} }
// 根据档案获取四性检测记录列表
export function FetchFourCheckRecord(params) {
return request({
url: 'api/collect/getFourCheckRecord',
method: 'get',
params
})
}
// 根据检测单id获取四性检测记录
export function FetchFourCheckRecordTreeByReportId(params) {
return request({
url: 'api/collect/getFourCheckRecordTreeByReportId',
method: 'get',
params
})
}
// 彻底删除档案 // 彻底删除档案
export function FetchCompleteDelArchives(data) { export function FetchCompleteDelArchives(data) {
return request({ return request({
@ -319,6 +337,8 @@ export default {
FetchReturnReDocument, FetchReturnReDocument,
FetchPreFastToArchives, FetchPreFastToArchives,
FetchFourCheck, FetchFourCheck,
FetchFourCheckRecord,
FetchFourCheckRecordTreeByReportId,
FetchBecomeDocumentConfirm, FetchBecomeDocumentConfirm,
FetchCompleteDelArchives, FetchCompleteDelArchives,
FetchRestoreArchives, FetchRestoreArchives,

7
src/views/archiveKeeping/caseManage/caseList/index.vue

@ -73,7 +73,12 @@
@selection-change="crud.selectionChangeHandler" @selection-change="crud.selectionChangeHandler"
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="序号" width="55" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ (crud.page.page === 1 ? 0 : (crud.page.page === 0 ? 0 : crud.page.page - 1)) * crud.page.size + scope.$index + 1 }}</span>
</template>
</el-table-column>
<!-- <el-table-column type="index" label="序号" width="55" align="center" /> -->
<el-table-column prop="createTime" label="状态" align="center" width="80"> <el-table-column prop="createTime" label="状态" align="center" width="80">
<template slot-scope="scope"> <template slot-scope="scope">
<span :class="getClassByStorageType(scope.row)">{{ scope.row.storageType | storageTypeStatus }}</span> <span :class="getClassByStorageType(scope.row)">{{ scope.row.storageType | storageTypeStatus }}</span>

7
src/views/archiveKeeping/caseManage/caseLog/index.vue

@ -56,7 +56,12 @@
@row-click="clickRowHandler" @row-click="clickRowHandler"
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="序号" width="55" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ (crud.page.page === 1 ? 0 : (crud.page.page === 0 ? 0 : crud.page.page - 1)) * crud.page.size + scope.$index + 1 }}</span>
</template>
</el-table-column>
<!-- <el-table-column type="index" label="序号" width="55" align="center" /> -->
<el-table-column prop="operationType" label="类型" align="center" width="110"> <el-table-column prop="operationType" label="类型" align="center" width="110">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.operationType === 1 ? '装盒' : '拆盒' }}</div> <div>{{ scope.row.operationType === 1 ? '装盒' : '拆盒' }}</div>

7
src/views/archiveKeeping/inStorage/pendingInArchive/anjuan/tableList.vue

@ -19,7 +19,12 @@
@select="handleCurrentChange" @select="handleCurrentChange"
> >
<el-table-column type="selection" :reserve-selection="true" width="55" align="center" /> <el-table-column type="selection" :reserve-selection="true" width="55" align="center" />
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="序号" width="55" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ (page.page === 1 ? 0 : (page.page === 0 ? 0 : page.page - 1)) * page.size + scope.$index + 1 }}</span>
</template>
</el-table-column>
<!-- <el-table-column type="index" label="序号" width="55" align="center" /> -->
<el-table-column :label="storageType==='log'?'类型':'状态'" width="88" align="center"> <el-table-column :label="storageType==='log'?'类型':'状态'" width="88" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <span class="row-state row-warehousing state-active">已入</span> --> <!-- <span class="row-state row-warehousing state-active">已入</span> -->

7
src/views/archiveKeeping/inStorage/pendingInArchive/file/index.vue

@ -30,7 +30,12 @@
@select="handleCurrentChange" @select="handleCurrentChange"
> >
<el-table-column type="selection" width="55" :reserve-selection="true" align="center" /> <el-table-column type="selection" width="55" :reserve-selection="true" align="center" />
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="序号" width="55" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ (page.page === 1 ? 0 : (page.page === 0 ? 0 : page.page - 1)) * page.size + scope.$index + 1 }}</span>
</template>
</el-table-column>
<!-- <el-table-column type="index" label="序号" width="55" align="center" /> -->
<el-table-column prop="file_name" label="原文名称" show-overflow-tooltip min-width="140" /> <el-table-column prop="file_name" label="原文名称" show-overflow-tooltip min-width="140" />
<el-table-column prop="file_type" label="格式" min-width="60" align="center" /> <el-table-column prop="file_type" label="格式" min-width="60" align="center" />
<el-table-column prop="file_size" label="大小" min-width="85" align="center"> <el-table-column prop="file_size" label="大小" min-width="85" align="center">

7
src/views/archiveKeeping/inStorage/pendingInArchive/juannei/index.vue

@ -28,7 +28,12 @@
@select="handleCurrentChange" @select="handleCurrentChange"
> >
<el-table-column type="selection" width="55" :reserve-selection="true" align="center" /> <el-table-column type="selection" width="55" :reserve-selection="true" align="center" />
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="序号" width="55" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ (page.page === 1 ? 0 : (page.page === 0 ? 0 : page.page - 1)) * page.size + scope.$index + 1 }}</span>
</template>
</el-table-column>
<!-- <el-table-column type="index" label="序号" width="55" align="center" /> -->
<el-table-column label="原文" prop="child" width="55" align="center"> <el-table-column label="原文" prop="child" width="55" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.child === '' ? 0 : scope.row.child }} {{ scope.row.child === '' ? 0 : scope.row.child }}

7
src/views/archiveKeeping/inStorage/pendingInArchive/project/index.vue

@ -19,7 +19,12 @@
@select="handleCurrentChange" @select="handleCurrentChange"
> >
<el-table-column type="selection" :reserve-selection="true" width="55" align="center" /> <el-table-column type="selection" :reserve-selection="true" width="55" align="center" />
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="序号" width="55" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ (page.page === 1 ? 0 : (page.page === 0 ? 0 : page.page - 1)) * page.size + scope.$index + 1 }}</span>
</template>
</el-table-column>
<!-- <el-table-column type="index" label="序号" width="55" align="center" /> -->
<el-table-column label="案卷" prop="child" width="55" align="center"> <el-table-column label="案卷" prop="child" width="55" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.child === '' ? 0 : scope.row.child }} {{ scope.row.child === '' ? 0 : scope.row.child }}

7
src/views/archiveKeeping/inStorage/pendingInCase/index.vue

@ -62,7 +62,12 @@
@selection-change="selectionChangeHandler" @selection-change="selectionChangeHandler"
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="序号" width="55" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ (crud.page.page === 1 ? 0 : (crud.page.page === 0 ? 0 : crud.page.page - 1)) * crud.page.size + scope.$index + 1 }}</span>
</template>
</el-table-column>
<!-- <el-table-column type="index" label="序号" width="55" align="center" /> -->
<el-table-column prop="createTime" :label="storageType==='log'?'类型':'状态'" align="center" width="80"> <el-table-column prop="createTime" :label="storageType==='log'?'类型':'状态'" align="center" width="80">
<template slot-scope="scope"> <template slot-scope="scope">
<span :class="getClassByStorageType(scope.row)">{{ scope.row.storageType | storageTypeStatus }}</span> <span :class="getClassByStorageType(scope.row)">{{ scope.row.storageType | storageTypeStatus }}</span>

7
src/views/archiveKeeping/tidManage/tidList/index.vue

@ -56,7 +56,12 @@
@selection-change="crud.selectionChangeHandler" @selection-change="crud.selectionChangeHandler"
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="序号" width="55" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ (crud.page.page === 1 ? 0 : (crud.page.page === 0 ? 0 : crud.page.page - 1)) * crud.page.size + scope.$index + 1 }}</span>
</template>
</el-table-column>
<!-- <el-table-column type="index" label="序号" width="55" align="center" /> -->
<el-table-column prop="depositNum" label="绑定对象" align="center" min-width="56"> <el-table-column prop="depositNum" label="绑定对象" align="center" min-width="56">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.isType === 1">档案</span> <span v-if="scope.row.isType === 1">档案</span>

7
src/views/archiveKeeping/tidManage/tidLog/index.vue

@ -70,7 +70,12 @@
@row-click="clickRowHandler" @row-click="clickRowHandler"
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column type="index" label="序号" align="center" width="55" />
<el-table-column label="序号" width="55" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ (crud.page.page === 1 ? 0 : (crud.page.page === 0 ? 0 : crud.page.page - 1)) * crud.page.size + scope.$index + 1 }}</span>
</template>
</el-table-column>
<!-- <el-table-column type="index" label="序号" width="55" align="center" /> -->
<el-table-column prop="operType" label="类型" align="center" min-width="60"> <el-table-column prop="operType" label="类型" align="center" min-width="60">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.operType === 1" class="bind-state"><i class="iconfont icon-bendiguajie" />绑定</span> <span v-if="scope.row.operType === 1" class="bind-state"><i class="iconfont icon-bendiguajie" />绑定</span>

7
src/views/archivesManage/managementLibrary/anjuan/tableList.vue

@ -19,7 +19,12 @@
@select="handleCurrentChange" @select="handleCurrentChange"
> >
<el-table-column type="selection" :reserve-selection="true" width="55" align="center" /> <el-table-column type="selection" :reserve-selection="true" width="55" align="center" />
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="序号" width="55" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ (page.page === 1 ? 0 : (page.page === 0 ? 0 : page.page - 1)) * page.size + scope.$index + 1 }}</span>
</template>
</el-table-column>
<!-- <el-table-column type="index" label="序号" width="55" align="center" /> -->
<el-table-column :label="selectedCategory.arrangeType === 1 ? '原文':'卷内'" prop="child" width="55" align="center"> <el-table-column :label="selectedCategory.arrangeType === 1 ? '原文':'卷内'" prop="child" width="55" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.child === '' ? 0 : scope.row.child }} {{ scope.row.child === '' ? 0 : scope.row.child }}

7
src/views/archivesManage/managementLibrary/file/index.vue

@ -30,7 +30,12 @@
@select="handleCurrentChange" @select="handleCurrentChange"
> >
<el-table-column type="selection" width="55" :reserve-selection="true" align="center" /> <el-table-column type="selection" width="55" :reserve-selection="true" align="center" />
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="序号" width="55" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ (page.page === 1 ? 0 : (page.page === 0 ? 0 : page.page - 1)) * page.size + scope.$index + 1 }}</span>
</template>
</el-table-column>
<!-- <el-table-column type="index" label="序号" width="55" align="center" /> -->
<el-table-column prop="file_name" label="原文名称" show-overflow-tooltip min-width="140" /> <el-table-column prop="file_name" label="原文名称" show-overflow-tooltip min-width="140" />
<el-table-column prop="file_type" label="格式" min-width="60" align="center" /> <el-table-column prop="file_type" label="格式" min-width="60" align="center" />
<el-table-column prop="file_size" label="大小" min-width="85" align="center"> <el-table-column prop="file_size" label="大小" min-width="85" align="center">

7
src/views/archivesManage/managementLibrary/juannei/index.vue

@ -28,7 +28,12 @@
@select="handleCurrentChange" @select="handleCurrentChange"
> >
<el-table-column type="selection" width="55" :reserve-selection="true" align="center" /> <el-table-column type="selection" width="55" :reserve-selection="true" align="center" />
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="序号" width="55" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ (page.page === 1 ? 0 : (page.page === 0 ? 0 : page.page - 1)) * page.size + scope.$index + 1 }}</span>
</template>
</el-table-column>
<!-- <el-table-column type="index" label="序号" width="55" align="center" /> -->
<el-table-column label="原文" prop="child" width="55" align="center"> <el-table-column label="原文" prop="child" width="55" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.child === '' ? 0 : scope.row.child }} {{ scope.row.child === '' ? 0 : scope.row.child }}

7
src/views/archivesManage/managementLibrary/project/index.vue

@ -20,7 +20,12 @@
@select="handleCurrentChange" @select="handleCurrentChange"
> >
<el-table-column type="selection" :reserve-selection="true" width="55" align="center" /> <el-table-column type="selection" :reserve-selection="true" width="55" align="center" />
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="序号" width="55" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ (page.page === 1 ? 0 : (page.page === 0 ? 0 : page.page - 1)) * page.size + scope.$index + 1 }}</span>
</template>
</el-table-column>
<!-- <el-table-column type="index" label="序号" width="55" align="center" /> -->
<el-table-column label="案卷" prop="child" width="55" align="center"> <el-table-column label="案卷" prop="child" width="55" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.child === '' ? 0 : scope.row.child }} {{ scope.row.child === '' ? 0 : scope.row.child }}

7
src/views/collectReorganizi/collectionLibrary/anjuan/tableList.vue

@ -19,7 +19,12 @@
@select="handleCurrentChange" @select="handleCurrentChange"
> >
<el-table-column type="selection" :reserve-selection="true" width="55" align="center" /> <el-table-column type="selection" :reserve-selection="true" width="55" align="center" />
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="序号" width="55" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ (page.page === 1 ? 0 : (page.page === 0 ? 0 : page.page - 1)) * page.size + scope.$index + 1 }}</span>
</template>
</el-table-column>
<!-- <el-table-column type="index" label="序号" width="55" align="center" /> -->
<el-table-column :label="selectedCategory.arrangeType === 1 || (selectedCategory.arrangeType !==1 && activeIndex===1) ? '原文':'卷内'" prop="child" width="55" align="center"> <el-table-column :label="selectedCategory.arrangeType === 1 || (selectedCategory.arrangeType !==1 && activeIndex===1) ? '原文':'卷内'" prop="child" width="55" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.child === '' ? 0 : scope.row.child }} {{ scope.row.child === '' ? 0 : scope.row.child }}

7
src/views/collectReorganizi/collectionLibrary/file/index.vue

@ -29,7 +29,12 @@
@select="handleCurrentChange" @select="handleCurrentChange"
> >
<el-table-column type="selection" width="55" :reserve-selection="true" align="center" /> <el-table-column type="selection" width="55" :reserve-selection="true" align="center" />
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="序号" width="55" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ (page.page === 1 ? 0 : (page.page === 0 ? 0 : page.page - 1)) * page.size + scope.$index + 1 }}</span>
</template>
</el-table-column>
<!-- <el-table-column type="index" label="序号" width="55" align="center" /> -->
<el-table-column prop="file_name" label="原文名称" show-overflow-tooltip min-width="140" /> <el-table-column prop="file_name" label="原文名称" show-overflow-tooltip min-width="140" />
<el-table-column prop="file_type" label="格式" min-width="60" align="center" /> <el-table-column prop="file_type" label="格式" min-width="60" align="center" />
<el-table-column prop="file_size" label="大小" min-width="85" align="center"> <el-table-column prop="file_size" label="大小" min-width="85" align="center">

7
src/views/collectReorganizi/collectionLibrary/juannei/index.vue

@ -27,7 +27,12 @@
@select="handleCurrentChange" @select="handleCurrentChange"
> >
<el-table-column type="selection" width="55" :reserve-selection="true" align="center" /> <el-table-column type="selection" width="55" :reserve-selection="true" align="center" />
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="序号" width="55" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ (page.page === 1 ? 0 : (page.page === 0 ? 0 : page.page - 1)) * page.size + scope.$index + 1 }}</span>
</template>
</el-table-column>
<!-- <el-table-column type="index" label="序号" width="55" align="center" /> -->
<el-table-column label="原文" prop="child" width="55" align="center"> <el-table-column label="原文" prop="child" width="55" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.child === '' ? 0 : scope.row.child }} {{ scope.row.child === '' ? 0 : scope.row.child }}

20
src/views/collectReorganizi/collectionLibrary/module/archivesInfo/index.vue

@ -39,7 +39,7 @@
</code> </code>
</pre> </pre>
</div> </div>
<FourTestInfo v-if="archivesTabIndex===3" />
<FourTestInfo v-show="archivesTabIndex===3" ref="fourTestInfoRefs" />
<HandleInfo v-if="archivesTabIndex===4" /> <HandleInfo v-if="archivesTabIndex===4" />
<ArchivesListModule v-show="archivesTabIndex===5" ref="archivesListModuleRef" :selected-category="selectedCategory" :is-title-type="isTitleType" :is-collect="isCollect" /> <ArchivesListModule v-show="archivesTabIndex===5" ref="archivesListModuleRef" :selected-category="selectedCategory" :is-title-type="isTitleType" :is-collect="isCollect" />
</div> </div>
@ -140,6 +140,10 @@ export default {
this.archivesTabIndex = index this.archivesTabIndex = index
if (this.archivesTabIndex === 2) { if (this.archivesTabIndex === 2) {
this.setXml() this.setXml()
} else if (this.archivesTabIndex === 3) {
console.log(this.$refs.fourTestInfoRefs)
this.$refs.fourTestInfoRefs.currentArcId = this.arcId
this.$refs.fourTestInfoRefs.getFourCheckRecord(this.arcId)
} else if (this.archivesTabIndex === 5) { } else if (this.archivesTabIndex === 5) {
if (this.isTitleType === 2) { if (this.isTitleType === 2) {
this.$refs.archivesListModuleRef.detailLevel = 2 this.$refs.archivesListModuleRef.detailLevel = 2
@ -160,6 +164,20 @@ export default {
} }
}) })
}, },
// getFourCheckRecord() {
// const params = {
// 'archivesId': this.arcId
// }
// FetchFourCheckRecord(params).then(data => {
// console.log(data)
// if (data.content && data.content.length !== 0) {
// this.$refs.fourTestInfoRefs.tableData = data.content
// this.$refs.fourTestInfoRefs.page.total = data.totalElements
// } else {
// this.$refs.fourTestInfoRefs.tableData = []
// }
// })
// },
// - // -
handleClose(done) { handleClose(done) {
this.archivesInfoVisible = false this.archivesInfoVisible = false

3
src/views/collectReorganizi/collectionLibrary/module/collectHeader.vue

@ -1044,6 +1044,9 @@ export default {
return false return false
} }
this.$refs.fourTestRef.fourTestVisible = true this.$refs.fourTestRef.fourTestVisible = true
this.selections.forEach((item, index) => {
this.$set(this.selections[index], 'reportResult', {})
})
this.$refs.fourTestRef.tableData = this.selections this.$refs.fourTestRef.tableData = this.selections
}, },
// //

110
src/views/collectReorganizi/collectionLibrary/module/fourTest/index.vue

@ -1,29 +1,43 @@
<template> <template>
<!--四性检测--> <!--四性检测-->
<el-dialog class="fileUpload-dialog" title="四性检测" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :visible.sync="fourTestVisible">
<el-dialog v-loading="loading" class="fileUpload-dialog" title="四性检测" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :visible.sync="fourTestVisible" :before-close="handleCloseDialog">
<div class="setting-dialog"> <div class="setting-dialog">
<div class="fourTest-container"> <div class="fourTest-container">
<el-table :data="tableData">
<el-table :data="tableData" @cell-dblclick="tableDoubleClick">
<el-table-column type="index" label="序号" width="55" align="center" /> <el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column prop="archive_no" label="档号" min-width="220" show-overflow-tooltip /> <el-table-column prop="archive_no" label="档号" min-width="220" show-overflow-tooltip />
<el-table-column prop="maintitle" label="题名" width="160" show-overflow-tooltip /> <el-table-column prop="maintitle" label="题名" width="160" show-overflow-tooltip />
<el-table-column prop="operationType" label="准确性" />
<el-table-column prop="file" label="完整性" />
<el-table-column prop="createDate" label="可用性" />
<el-table-column prop="createDate" label="安全性" />
<el-table-column prop="reportResult" label="真实性" align="center">
<template slot-scope="scope">
<span v-if="scope.row.reportResult.authenticity===1" class="four-icon iconfont icon-zhengque" />
<span v-else-if="scope.row.reportResult.authenticity===0" class="four-icon iconfont icon-cuowu" />
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column prop="reportResult" label="完整性" align="center">
<template slot-scope="scope">
<span v-if="scope.row.reportResult.integrity===1" class="four-icon iconfont icon-zhengque" />
<span v-else-if="scope.row.reportResult.integrity===0" class="four-icon iconfont icon-cuowu" />
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column prop="reportResult" label="可用性" align="center">
<template slot-scope="scope">
<span v-if="scope.row.reportResult.usability===1" class="four-icon iconfont icon-zhengque" />
<span v-else-if="scope.row.reportResult.usability===0" class="four-icon iconfont icon-cuowu" />
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column prop="reportResult" label="安全性" align="center">
<template slot-scope="scope">
<span v-if="scope.row.reportResult.safety===1" class="four-icon iconfont icon-zhengque" />
<span v-else-if="scope.row.reportResult.safety===0" class="four-icon iconfont icon-cuowu" />
<span v-else>-</span>
</template>
</el-table-column>
</el-table> </el-table>
<!--分页组件-->
<!-- <el-pagination
:current-page="page.page"
:total="page.total"
:page-size="page.size"
:pager-count="5"
layout="total, prev, pager, next, sizes"
@size-change="handleSizeChange"
@current-change="handleCurrentPage"
/> -->
</div> </div>
<div slot="footer" class="dialog-footer">
<div v-if="!isCheck" slot="footer" class="dialog-footer">
<el-button type="text" @click="fourTestVisible = false">取消</el-button> <el-button type="text" @click="fourTestVisible = false">取消</el-button>
<el-button type="primary" @click.native="handleComfireTest">确定</el-button> <el-button type="primary" @click.native="handleComfireTest">确定</el-button>
</div> </div>
@ -51,7 +65,9 @@ export default {
}, },
data() { data() {
return { return {
loading: false,
fourTestVisible: false, fourTestVisible: false,
isCheck: false,
tableData: [], tableData: [],
page: { page: {
page: 1, page: 1,
@ -66,6 +82,8 @@ export default {
}, },
methods: { methods: {
handleComfireTest() { handleComfireTest() {
this.loading = true
const archivesId = this.tableData.map(item => item.id) const archivesId = this.tableData.map(item => item.id)
const params = { const params = {
'categoryId': this.selectedCategory.id, 'categoryId': this.selectedCategory.id,
@ -75,33 +93,57 @@ export default {
FetchFourCheck(params).then(res => { FetchFourCheck(params).then(res => {
console.log(res) console.log(res)
if (res.code !== 500) { if (res.code !== 500) {
// if (res.result) {
this.$message({ message: '检测成功' + res.success.length + '条数据, 检测失败' + res.fail.length + '条数据', type: 'success', offset: 8 })
// } else {
// this.$message({
// message: '' + res.fail.length + '',
// type: 'success'
// })
// }
if (res.result) {
this.$message({ message: '检测成功' + res.success.length + '条数据, 检测失败' + res.fail.length + '条数据', type: 'success', offset: 8 })
} else {
this.$message({ message: '检测成功' + res.success.length + '条数据, 检测失败' + res.fail.length + '条数据', type: 'error', offset: 8 })
}
this.updateTableData(res.resultList, this.tableData)
console.log(this.tableData)
} else { } else {
this.$message({ message: '检测失败', type: 'error', offset: 8 }) this.$message({ message: '检测失败', type: 'error', offset: 8 })
} }
this.fourTestVisible = false
this.loading = false
setTimeout(() => {
this.isCheck = true
}, 200)
}) })
}, },
handleSizeChange(size) {
this.page.size = size
this.page.page = 1
updateTableData(resultList, table) {
resultList.forEach(result => {
const index = this.tableData.findIndex(item => item.id === result.archivesId)
if (index !== -1) {
// 使 Vue.set
this.$set(this.tableData[index], 'reportResult', result)
// this.$set(this.tableData[index], 'integrity', result.integrity)
// this.$set(this.tableData[index], 'usability', result.usability)
// this.$set(this.tableData[index], 'safety', result.safety)
// this.$set(this.tableData[index], 'reportId', result.id)
}
})
}, },
handleCurrentPage(val) {
this.page.page = val
tableDoubleClick(row) {
const routeData = this.$router.resolve({
path: '/fourTestReport',
query: {}
})
localStorage.setItem('fourTestStorage', JSON.stringify(row.reportResult))
window.open(routeData.href, '_blank')
},
handleCloseDialog(done) {
//
this.isCheck = false
this.fourTestVisible = false
//
// done()
} }
} }
} }
</script> </script>
<style lang='scss' scoped> <style lang='scss' scoped>
::v-deep .el-dialog{
width: 815px;
}
@import "~@/assets/styles/collect-reorganizi.scss";
::v-deep .el-dialog{
width: 815px;
}
</style> </style>

80
src/views/collectReorganizi/collectionLibrary/module/fourTestInfo/index.vue

@ -2,15 +2,15 @@
<!--四性检测-档案详情内--> <!--四性检测-档案详情内-->
<div class="fourTest-container"> <div class="fourTest-container">
<el-table :data="tableData" style="min-width: 100%" height="calc(100vh - 440px)" @cell-dblclick="tableDoubleClick"> <el-table :data="tableData" style="min-width: 100%" height="calc(100vh - 440px)" @cell-dblclick="tableDoubleClick">
<el-table-column prop="admin" label="检测人" min-width="60" />
<el-table-column prop="createTime" label="检测时间" min-width="180">
<el-table-column prop="create_by" label="检测人" min-width="80" />
<el-table-column prop="create_time" label="检测时间" min-width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.createTime | parseTime }}</div>
<div>{{ scope.row.create_time | parseTime }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="truth" label="真实性" align="center">
<el-table-column prop="authenticity" label="真实性" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.truth===1" class="four-icon iconfont icon-zhengque" />
<span v-if="scope.row.authenticity===1" class="four-icon iconfont icon-zhengque" />
<span v-else class="four-icon iconfont icon-cuowu" /> <span v-else class="four-icon iconfont icon-cuowu" />
</template> </template>
</el-table-column> </el-table-column>
@ -20,9 +20,9 @@
<span v-else class="four-icon iconfont icon-cuowu" /> <span v-else class="four-icon iconfont icon-cuowu" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="availability" label="可用性" align="center">
<el-table-column prop="usability" label="可用性" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.availability===1" class="four-icon iconfont icon-zhengque" />
<span v-if="scope.row.usability===1" class="four-icon iconfont icon-zhengque" />
<span v-else class="four-icon iconfont icon-cuowu" /> <span v-else class="four-icon iconfont icon-cuowu" />
</template> </template>
</el-table-column> </el-table-column>
@ -32,14 +32,15 @@
<span v-else class="four-icon iconfont icon-cuowu" /> <span v-else class="four-icon iconfont icon-cuowu" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="createDate" label="检测结果" min-width="220">
<el-table-column label="检测结果" min-width="250">
<template slot-scope="scope"> <template slot-scope="scope">
<div>共检测{{ scope.row.totalNum }}<span class="testSuccess">通过{{ scope.row.successNum }}</span><span class="testError">未通过{{ scope.row.errorNum }}</span></div>
<div>共检测{{ scope.row.checkNum }}<span class="testSuccess">通过{{ scope.row.passNum }}</span><span class="testError">未通过{{ scope.row.failNum }}</span></div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!--分页组件--> <!--分页组件-->
<el-pagination <el-pagination
v-if="tableData.length !== 0"
:current-page="page.page" :current-page="page.page"
:total="page.total" :total="page.total"
:page-size="page.size" :page-size="page.size"
@ -52,45 +53,17 @@
</template> </template>
<script> <script>
const data = [
{
'id': '005E76FEC5A2AAB368CA1F',
'admin': 'admin',
'archive_no': 'YXK-2022-JJ-001 ',
'maintitle': '文书档案001',
'createTime': 1660706815000,
'truth': 0,
'integrity': 1,
'availability': 0,
'safety': 0,
'totalNum': 5,
'successNum': 1,
'errorNum': 0
},
{
'id': '005E76FEC5A2AAB368CA1F2',
'admin': 'admin',
'archive_no': 'YXK-2022-JJ-002 ',
'maintitle': '文书档案001',
'createTime': 1660706815000,
'truth': 0,
'integrity': 1,
'availability': 1,
'safety': 0,
'totalNum': 5,
'successNum': 1,
'errorNum': 0
}
]
import { FetchFourCheckRecord } from '@/api/collect/collect'
export default { export default {
name: 'FourTestInfo', name: 'FourTestInfo',
components: { }, components: { },
mixins: [], mixins: [],
data() { data() {
return { return {
tableData: [{}, {}],
currentArcId: null,
tableData: [],
page: { page: {
page: 1,
page: 0,
size: 10, size: 10,
total: 0 total: 0
} }
@ -100,20 +73,39 @@ export default {
}, },
mounted() { mounted() {
this.tableData = data
}, },
methods: { methods: {
getFourCheckRecord(arcId) {
const params = {
'archivesId': arcId,
'page': this.page.page,
'size': this.page.size
}
FetchFourCheckRecord(params).then(data => {
if (data.content && data.content.length !== 0) {
this.tableData = data.content
this.page.total = data.totalElements
} else {
this.tableData = []
this.page.total = 0
}
})
},
handleSizeChange(size) { handleSizeChange(size) {
this.page.size = size this.page.size = size
this.page.page = 1
this.page.page = 0
this.getFourCheckRecord(this.currentArcId)
}, },
handleCurrentPage(val) { handleCurrentPage(val) {
this.page.page = val this.page.page = val
this.getFourCheckRecord(this.currentArcId)
}, },
tableDoubleClick(row) { tableDoubleClick(row) {
const routeData = this.$router.resolve({ const routeData = this.$router.resolve({
path: '/fourTestReport', path: '/fourTestReport',
query: {}})
query: {}
})
localStorage.setItem('fourTestStorage', JSON.stringify(row))
window.open(routeData.href, '_blank') window.open(routeData.href, '_blank')
} }
} }

7
src/views/collectReorganizi/collectionLibrary/project/index.vue

@ -20,7 +20,12 @@
@select="handleCurrentChange" @select="handleCurrentChange"
> >
<el-table-column type="selection" :reserve-selection="true" width="55" align="center" /> <el-table-column type="selection" :reserve-selection="true" width="55" align="center" />
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="序号" width="55" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ (page.page === 1 ? 0 : (page.page === 0 ? 0 : page.page - 1)) * page.size + scope.$index + 1 }}</span>
</template>
</el-table-column>
<!-- <el-table-column type="index" label="序号" width="55" align="center" /> -->
<el-table-column label="案卷" prop="child" width="55" align="center"> <el-table-column label="案卷" prop="child" width="55" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.child === '' ? 0 : scope.row.child }} {{ scope.row.child === '' ? 0 : scope.row.child }}

447
src/views/fourTestReport/index.vue

@ -1,50 +1,405 @@
<template> <template>
<div class="preview-wrapper"> <div class="preview-wrapper">
<div class="collect-header" style="justify-content: flex-start; border-top: none; ">
<h4 class="is-file" style="flex:none;">四性检测报告</h4>
<span style="font-size: 12px; flex: 1; line-height: 42px;">所属文件{{ parentArchiveNo }}</span>
<div class="collect-header" style="display: flex; justify-content: space-between;">
<h4 class="is-file">四性检测详情</h4>
<div class="preview-btn" style="margin-right: 20px;">
<el-button class="iconfont icon-xiazai" @click="downloadFile(fileCurrent)">导出</el-button>
<el-button v-print="printObj" class="iconfont icon-dayin">打印</el-button>
</div>
</div> </div>
<div class="main-content"> <div class="main-content">
<div class="content-list"> <div class="content-list">
<h4 class="arc-title">原文列表</h4>
<ul v-if="allFileTables.length!==0" class="file-list">
<h4 class="arc-title">文件名称</h4>
<!-- <ul v-if="allFileTables.length!==0" class="file-list">
<li v-for="(item,index) in allFileTables" :key="index" :class="{'active-file': item.id == fileCurrent.id}" @click="selectFile(item)"> <li v-for="(item,index) in allFileTables" :key="index" :class="{'active-file': item.id == fileCurrent.id}" @click="selectFile(item)">
<span>{{ item.file_name }}</span> <span>{{ item.file_name }}</span>
<i class="iconfont icon-attachment" /> <i class="iconfont icon-attachment" />
</li> </li>
</ul>
</ul> -->
<el-tree
v-if="allFileTables.length!==0"
ref="tree"
node-key="archivesId"
:data="allFileTables"
:props="defaultProps"
:highlight-current="true"
:default-expand-all="true"
:expand-on-click-node="false"
@node-click="handleNodeClick"
/>
<el-empty v-else :image-size="100" /> <el-empty v-else :image-size="100" />
</div> </div>
<div id="printArea" ref="output" v-loading="loading" class="content-right">
<div class="report-header">
<h5>四性检测报告</h5>
<p>报告编号{{ currentReportInfo && currentReportInfo.reportNo }}</p>
</div>
<div v-if="reportData" class="report-baseInfo">
<div class="report-title"><span>基础信息</span></div>
<ul class="baseInfo-txt">
<li><span>检测范围</span>真实性完整性可用性安全性</li>
<li><span>检测结论</span>
<span v-if="reportData.current.failNum === 0 || (reportData.current.checkNum === reportData.current.passNum)" class="row-state end-state">通过</span>
<span v-else class="row-state cancel-state">未通过</span>
</li>
<li><span>检测耗时</span>{{ reportData.current.checkTime }} ms</li>
<li v-if="currentReportInfo.categoryLevel === 2"><span>检测总数</span>{{ reportData.current.checkNum }} </li>
<li v-else><span>检测总数</span>{{ reportData.current.checkNum }} </li>
<li><span>所属门类</span>{{ reportData.parent.categoryName }}</li>
<li><span>所在级别</span>{{ currentReportInfo.categoryLevel === 2 ? '案卷级' : (currentReportInfo.categoryLevel === 3 && reportData.subset.length === 0 ? '文件级' : '卷内级') }}</li>
<li>
<span>档案档号</span>
{{
(currentReportInfo.categoryLevel === 2 || (currentReportInfo.categoryLevel === 3 && reportData.subset.length === 0))
? reportData.parent?.archivesNo ?? ''
: (currentReportInfo.categoryLevel === 3 && reportData.subset.length !== 0)
? getArchivesSubet(currentReportInfo.archivesId)?.archivesNo ?? ''
: ''
}}
</li>
<li><span>档案题名</span>
{{
(currentReportInfo.categoryLevel === 2 || (currentReportInfo.categoryLevel === 3 && reportData.subset.length === 0))
? reportData.parent?.archivesName ?? ''
: (currentReportInfo.categoryLevel === 3 && reportData.subset.length !== 0)
? getArchivesSubet(currentReportInfo.archivesId)?.archivesName ?? ''
: ''
}}
</li>
<li v-if="currentReportInfo.categoryLevel === 2">
<span>检测详情</span>总共检测 {{ checkDetails.total }} 条卷内通过 <span style="color: #12C37A;">{{ checkDetails.pass }}</span> 未通过 <span style="color: #ED4A41;">{{ checkDetails.fail }}</span>
</li>
<li v-if="currentReportInfo.categoryLevel === 3 && reportData.subset.length === 0">
<span>检测详情</span>总共检测 {{ checkDetails.total }} 通过 <span style="color: #12C37A;">{{ checkDetails.pass }}</span> 未通过 <span style="color: #ED4A41;">{{ checkDetails.fail }}</span>
</li>
<li v-if="currentReportInfo.categoryLevel === 3 && reportData.subset.length !== 0">
<span>检测详情</span>总共检测 {{ subsetCheckDetails.total }} 通过 <span style="color: #12C37A;">{{ subsetCheckDetails.pass }}</span> 未通过 <span style="color: #ED4A41;">{{ subsetCheckDetails.fail }}</span>
</li>
</ul>
</div>
<div v-if="currentReportInfo && currentReportInfo.categoryLevel === 3">
<div class="report-checkItem">
<div class="report-title"><span>真实性检测</span></div>
<el-table ref="table" class="fixed-table" :data="checkItemAllData.authenticity">
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column :show-overflow-tooltip="true" prop="secondaryClassId" label="分类" min-width="150" />
<el-table-column :show-overflow-tooltip="true" prop="detectionCode" label="检测编号" min-width="100" />
<el-table-column :show-overflow-tooltip="true" prop="detectionProject" label="检测项目" min-width="200" />
<el-table-column :show-overflow-tooltip="true" prop="detectionObjective" label="检测目的" min-width="200" />
<el-table-column :show-overflow-tooltip="true" prop="detectionObject" label="检测对象" min-width="140" />
<el-table-column :show-overflow-tooltip="true" prop="detectionAccording" label="检测依据和方法" min-width="140" />
<el-table-column prop="checkDetails" label="检测详情" min-width="140">
<template slot-scope="scope">
<el-popover
popper-class="myPopover"
placement="top"
width="300"
trigger="hover"
>
<div slot="reference">{{ scope.row.checkDetails }}</div>
<div>{{ scope.row.checkDetails }}</div>
</el-popover>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" prop="checkResult" label="检测结论" min-width="80">
<template slot-scope="scope">
<span v-if="scope.row.checkResult==='成功'" class="row-state end-state">通过</span>
<span v-else class="row-state cancel-state">未通过</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="report-checkItem">
<div class="report-title"><span>完整性检测</span></div>
<el-table ref="table" class="fixed-table" :data="checkItemAllData.integrity">
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column :show-overflow-tooltip="true" prop="secondaryClassId" label="分类" min-width="150" />
<el-table-column :show-overflow-tooltip="true" prop="detectionCode" label="检测编号" min-width="100" />
<el-table-column :show-overflow-tooltip="true" prop="detectionProject" label="检测项目" min-width="200" />
<el-table-column :show-overflow-tooltip="true" prop="detectionObjective" label="检测目的" min-width="200" />
<el-table-column :show-overflow-tooltip="true" prop="detectionObject" label="检测对象" min-width="140" />
<el-table-column :show-overflow-tooltip="true" prop="detectionAccording" label="检测依据和方法" min-width="140" />
<el-table-column prop="checkDetails" label="检测详情" min-width="140">
<template slot-scope="scope">
<el-popover
popper-class="myPopover"
placement="top"
width="300"
trigger="hover"
>
<div slot="reference">{{ scope.row.checkDetails }}</div>
<div>{{ scope.row.checkDetails }}</div>
</el-popover>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" prop="checkResult" label="检测结论" min-width="80">
<template slot-scope="scope">
<span v-if="scope.row.checkResult==='成功'" class="row-state end-state">通过</span>
<span v-else class="row-state cancel-state">未通过</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="report-checkItem">
<div class="report-title"><span>可用性检测</span></div>
<el-table ref="table" class="fixed-table" :data="checkItemAllData.usability">
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column :show-overflow-tooltip="true" prop="secondaryClassId" label="分类" min-width="150" />
<el-table-column :show-overflow-tooltip="true" prop="detectionCode" label="检测编号" min-width="100" />
<el-table-column :show-overflow-tooltip="true" prop="detectionProject" label="检测项目" min-width="200" />
<el-table-column :show-overflow-tooltip="true" prop="detectionObjective" label="检测目的" min-width="200" />
<el-table-column :show-overflow-tooltip="true" prop="detectionObject" label="检测对象" min-width="140" />
<el-table-column :show-overflow-tooltip="true" prop="detectionAccording" label="检测依据和方法" min-width="140" />
<el-table-column prop="checkDetails" label="检测详情" min-width="140">
<template slot-scope="scope">
<el-popover
popper-class="myPopover"
placement="top"
width="300"
trigger="hover"
>
<div slot="reference">{{ scope.row.checkDetails }}</div>
<div>{{ scope.row.checkDetails }}</div>
</el-popover>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" prop="checkResult" label="检测结论" min-width="80">
<template slot-scope="scope">
<span v-if="scope.row.checkResult==='成功'" class="row-state end-state">通过</span>
<span v-else class="row-state cancel-state">未通过</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="report-checkItem">
<div class="report-title"><span>安全性检测</span></div>
<el-table ref="table" class="fixed-table" :data="checkItemAllData.safety">
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column :show-overflow-tooltip="true" prop="secondaryClassId" label="分类" min-width="150" />
<el-table-column :show-overflow-tooltip="true" prop="detectionCode" label="检测编号" min-width="100" />
<el-table-column :show-overflow-tooltip="true" prop="detectionProject" label="检测项目" min-width="200" />
<el-table-column :show-overflow-tooltip="true" prop="detectionObjective" label="检测目的" min-width="200" />
<el-table-column :show-overflow-tooltip="true" prop="detectionObject" label="检测对象" min-width="140" />
<el-table-column :show-overflow-tooltip="true" prop="detectionAccording" label="检测依据和方法" min-width="140" />
<el-table-column prop="checkDetails" label="检测详情" min-width="140">
<template slot-scope="scope">
<el-popover
popper-class="myPopover"
placement="top"
width="300"
trigger="hover"
>
<div slot="reference">{{ scope.row.checkDetails }}</div>
<div>{{ scope.row.checkDetails }}</div>
</el-popover>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" prop="checkResult" label="检测结论" min-width="80">
<template slot-scope="scope">
<span v-if="scope.row.checkResult==='成功'" class="row-state end-state">通过</span>
<span v-else class="row-state cancel-state">未通过</span>
</template>
</el-table-column>
</el-table>
</div>
</div>
</div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { FetchFourCheckRecordTreeByReportId } from '@/api/collect/collect'
import { downloadFile } from '@/utils/index'
import { mapGetters } from 'vuex'
// import html2canvas from 'html2canvas' // html2Canvasprint-js
// import printJS from 'print-js'
export default { export default {
name: 'FourTestReport', name: 'FourTestReport',
components: { components: {
}, },
data() { data() {
return { return {
parentArchiveNo: null,
loading: false,
currentReportInfo: null,
allFileTables: [], allFileTables: [],
fileCurrent: null
defaultProps: {
children: 'children',
label: 'label'
},
reportData: null,
checkItemAllData: {
authenticity: [],
integrity: [],
usability: [],
safety: []
},
printObj: {
id: 'printArea',
preview: true, // false
previewTitle: '四性检测报告', //
previewPrintBtnLabel: '预览结束,开始打印',
zIndex: 20002, // z-index20002
extraCss: '', // css
extraHead: '<meta http-equiv="Content-Language"content="zh-cn"/>,<style> #printArea { height: auto !important; } <style>', //
previewBeforeOpenCallback() { console.log('正在加载预览窗口!') }, // callback
previewOpenCallback() { console.log('已经加载完预览窗口,预览打开了!') }, // callback
beforeOpenCallback() { console.log('开始打印之前!') }, // callback
openCallback() { console.log('执行打印了!') }, // callback
closeCallback() { console.log('关闭了打印工具!') }, // callback(or)
clickMounted() { console.log('点击v-print绑定的按钮了!') },
// url: 'http://192.168.99.67:11100/downloadFile/category/AE8B188F0C0314F9BE31B8/82FBCAE96CBC9F50809838/7f3df862-f36d-4061-9c3e-e81556420742.pdf', // URL
// asyncUrl (reslove) {
// setTimeout(() => {
// reslove('http://localhost:8080/')
// }, 2000)
// },
standard: '',
extarCss: ''
}
}
},
computed: {
...mapGetters([
'baseApi'
]),
checkDetails() {
return {
total: this.reportData.current.checkNum,
pass: this.reportData.current.passNum,
fail: this.reportData.current.failNum
}
},
subsetCheckDetails() {
return {
total: this.getArchivesSubet(this.currentReportInfo.archivesId).checkNum,
pass: this.getArchivesSubet(this.currentReportInfo.archivesId).passNum,
fail: this.getArchivesSubet(this.currentReportInfo.archivesId).failNum
}
} }
}, },
created() { created() {
if (localStorage.getItem('fourTestStorage')) {
this.currentReportInfo = JSON.parse(localStorage.getItem('fourTestStorage'))
}
}, },
mounted() { mounted() {
if (this.$route.query.archiveNo) {
this.parentArchiveNo = this.$route.query.archiveNo
}
this.getFourCheckRecordTreeByReportId()
}, },
methods: { methods: {
handleNodeClick(data) {
this.loading = true
this.currentReportInfo = data
this.getFourCheckRecordTreeByReportId()
},
getFourCheckRecordTreeByReportId() {
this.loading = true
const params = {
'reportId': this.currentReportInfo.id
}
FetchFourCheckRecordTreeByReportId(params).then((res) => {
this.reportData = res
//
const parent = {
archivesId: res.parent.archivesId,
categoryLevel: res.parent.categoryLevel,
id: res.parent.id,
label: res.parent.archivesName ?? '',
reportNo: res.parent.reportNo,
children: []
}
const children = res.subset.map(subsetItem => ({
archivesId: subsetItem.archivesId,
categoryLevel: subsetItem.categoryLevel,
id: subsetItem.id,
reportNo: subsetItem.reportNo,
label: subsetItem.archivesName
}))
parent.children = children
const treeData = [parent]
this.allFileTables = treeData
this.$nextTick(() => {
this.setCurrentKey(this.currentReportInfo.archivesId)
})
//
res.details.forEach(item => {
switch (item.primaryClassId) {
case '真实性检测':
this.checkItemAllData.authenticity.push(item)
break
case '完整性检测':
this.checkItemAllData.integrity.push(item)
break
case '可用性检测':
this.checkItemAllData.usability.push(item)
break
case '安全性检测':
this.checkItemAllData.safety.push(item)
break
default:
console.log('暂无分类')
}
})
this.loading = false
})
},
getArchivesSubet(archivesId) {
if (this.currentReportInfo.categoryLevel !== 2) {
const matchedSubset = this.reportData.subset.find(subsetItem => subsetItem.archivesId === archivesId)
console.log('matchedSubset', matchedSubset)
return matchedSubset || null
}
},
setCurrentKey(key) {
if (this.$refs.tree) {
this.$refs.tree.setCurrentKey(key)
}
},
downloadFile(row) {
const url = this.baseApi + '/downloadFile' + row.file_path
fetch(url).then(res => res.blob()).then(blob => {
downloadFile(blob, row.file_name.split('.')[0], row.file_type)
}).catch(() => {
this.$message({ message: '下载文件失败!', type: 'error', offset: 8 })
})
}
} }
} }
</script> </script>
<style lang="scss">
.print-content {
background-color: red;
}
.el-tooltip__popper {
max-width: 300px;
line-height: 20px !important;
}
.el-popover {
font-size: 12px;
background: #303133;
border: 1px solid #303133;
line-height: 20px !important;
color: #fff;
}
.el-popover[x-placement^=top] .popper__arrow{
border-top-color: #303133;
}
.el-popover[x-placement^=top] .popper__arrow::after{
border-top-color: #303133;
}
</style>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "~@/assets/styles/mixin.scss";
.preview-wrapper{ .preview-wrapper{
width: 100%;
height: 100%;
overflow: hidden;
background-color: #f6f8fc; background-color: #f6f8fc;
.collect-header{ .collect-header{
background-color: #fff; background-color: #fff;
@ -54,12 +409,13 @@ export default {
.main-content{ .main-content{
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
width: calc(100%);
width: 100%;
height: calc(100vh - 75px); height: calc(100vh - 75px);
background-color: #fff;
overflow: hidden;
.content-list{ .content-list{
width: 300px; width: 300px;
background-color: #fff;
.arc-title{ .arc-title{
height: 48px; height: 48px;
line-height: 48px; line-height: 48px;
@ -96,5 +452,70 @@ export default {
} }
} }
} }
.content-right{
width: calc(100% - 300px);
// background-color: yellow;
padding-bottom: 20px;
overflow: hidden;
overflow-y: scroll;
.report-header{
padding: 10px 20px;
height: 200px;
background-color: #1890ff;
color: #fff;
h5{
font-size: 24px;
line-height: 48px;
}
}
.report-baseInfo{
margin: -100px 20px 0 20px;
background-color: #fff;
padding: 20px;
border-radius: 10px;
overflow: hidden;
.baseInfo-txt{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
li{
width: 40%;
font-size: 14px;
line-height: 28px;
color:#606266;
span{
color: #0c0e1e;
}
.row-state{
@include process-status-style;
}
}
}
}
.report-title{
margin-bottom: 20px;
border-bottom: 1px solid #edeff3;
span{
display: inline-block;
padding-bottom: 10px;
font-weight: 600;
border-bottom: 3px solid #0348f3;
}
}
.report-checkItem{
background-color: #fff;
padding: 20px;
border-radius: 10px;
margin: 20px 20px 0 20px;
overflow: hidden;
}
}
}
::v-deep .el-popover__reference{
max-width: 200px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
} }
</style> </style>
Loading…
Cancel
Save