Browse Source

管理库更新修改

master
xuhuajiao 1 year ago
parent
commit
abcff4a47d
  1. 21
      src/api/archivesManage/library.js
  2. 7
      src/assets/styles/archives-manage.scss
  3. 16
      src/views/archivesManage/managementLibrary/anjuan/tableList.vue
  4. 2
      src/views/archivesManage/managementLibrary/file/index.vue
  5. 23
      src/views/archivesManage/managementLibrary/juannei/index.vue
  6. 126
      src/views/archivesManage/managementLibrary/module/archivesInfo/data.json
  7. 131
      src/views/archivesManage/managementLibrary/module/archivesInfo/index.vue
  8. 6
      src/views/archivesManage/managementLibrary/module/archivesInfo/metadata.json
  9. 166
      src/views/archivesManage/managementLibrary/module/collectHeader.vue
  10. 119
      src/views/archivesManage/managementLibrary/module/fourTestInfo/index.vue
  11. 81
      src/views/archivesManage/managementLibrary/module/handleInfo/index.vue
  12. 123
      src/views/archivesManage/managementLibrary/module/print/index.vue
  13. 68
      src/views/archivesManage/managementLibrary/module/uploadFile/index.vue
  14. 2
      src/views/archivesManage/managementLibrary/project/index.vue
  15. 2
      src/views/collectReorganizi/collectionLibrary/anjuan/tableList.vue
  16. 2
      src/views/collectReorganizi/collectionLibrary/file/index.vue
  17. 2
      src/views/collectReorganizi/collectionLibrary/juannei/index.vue
  18. 2
      src/views/collectReorganizi/collectionLibrary/module/collectHeader.vue
  19. 2
      src/views/collectReorganizi/collectionLibrary/project/index.vue
  20. 2
      src/views/components/archivesListModule/index.vue
  21. 25
      src/views/components/category/PreviewForm.vue

21
src/api/archivesManage/library.js

@ -0,0 +1,21 @@
import request from '@/utils/request'
import qs from 'qs'
export function FetchInitCategoryView(params) {
return request({
url: 'api/collect/initCategoryView' + '?' + qs.stringify(params, { indices: false }),
method: 'get'
})
}
export function collectEdit(data) {
return request({
url: 'api/collect/editArchives',
method: 'post',
data
})
}
export default {
collectEdit
}

7
src/assets/styles/archives-manage.scss

@ -113,6 +113,13 @@
border: 1px solid #E6E8ED; border: 1px solid #E6E8ED;
background-color: #F3F5F9; background-color: #F3F5F9;
} }
.row-open{
&.state-active{
color: #563be1 !important;
border-color: #b5a7fa !important;
background-color: #ebe7ff !important;
}
}
.row-physical{ .row-physical{
&.state-active{ &.state-active{
color: #0348F3 !important; color: #0348F3 !important;

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

@ -40,14 +40,21 @@
{{ scope.row[field.fieldName] }} {{ scope.row[field.fieldName] }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column v-if="!isRecycle && selectedCategory.arrangeType === 1" label="实体" width="88" align="center" :fixed="parentsData.fixedStatusBar ? false : 'right' ">
<el-table-column v-if="!isRecycle" label="开放" width="88" align="center" :fixed="parentsData.fixedStatusBar ? false : 'right' ">
<!-- slot-scope="scope" -->
<template>
<span class="row-state row-open state-active">已开放</span>
<!-- <span :class="['row-state', 'row-physical', scope.row.tid ? 'state-active' : '' ]">{{ scope.row.tid ? '有': '无' }}</span> -->
</template>
</el-table-column>
<el-table-column v-if="!isRecycle" label="实体" width="88" align="center" :fixed="parentsData.fixedStatusBar ? false : 'right' ">
<!-- slot-scope="scope" --> <!-- slot-scope="scope" -->
<template> <template>
<span class="row-state row-physical state-active"></span> <span class="row-state row-physical state-active"></span>
<!-- <span :class="['row-state', 'row-physical', scope.row.tid ? 'state-active' : '' ]">{{ scope.row.tid ? '有': '无' }}</span> --> <!-- <span :class="['row-state', 'row-physical', scope.row.tid ? 'state-active' : '' ]">{{ scope.row.tid ? '有': '无' }}</span> -->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column v-if="!isRecycle && selectedCategory.arrangeType === 1" label="标签" width="88" align="center" :fixed="parentsData.fixedStatusBar ? false : 'right' ">
<el-table-column v-if="!isRecycle" label="标签" width="88" align="center" :fixed="parentsData.fixedStatusBar ? false : 'right' ">
<template> <template>
<span class="row-state row-binding state-active">未绑</span> <span class="row-state row-binding state-active">未绑</span>
<!-- 未绑 / 已绑 --> <!-- 未绑 / 已绑 -->
@ -69,7 +76,7 @@
<!-- <span :class="['row-state', 'row-warehousing', (storageTxt[scope.$index] === '已入' )? 'state-active' : '' ]">{{ storageTxt[scope.$index] }}</span> --> <!-- <span :class="['row-state', 'row-warehousing', (storageTxt[scope.$index] === '已入' )? 'state-active' : '' ]">{{ storageTxt[scope.$index] }}</span> -->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column v-if="!isRecycle && selectedCategory.arrangeType === 1" label="借阅" width="88" align="center" :fixed="parentsData.fixedStatusBar ? false : 'right' ">
<el-table-column v-if="!isRecycle" label="借阅" width="88" align="center" :fixed="parentsData.fixedStatusBar ? false : 'right' ">
<template> <template>
<span class="row-state row-lending state-active">已借</span> <span class="row-state row-lending state-active">已借</span>
<!-- is_borrow 4 已归还 / 为空 - 未加入待借列表 - 在库 / 2 待借阅在待借列表/借出确认列表 - 待借 / 1待登记 - 不可借- 表示 / 3 待归还 - 已借 --> <!-- is_borrow 4 已归还 / 为空 - 未加入待借列表 - 在库 / 2 待借阅在待借列表/借出确认列表 - 待借 / 1待登记 - 不可借- 表示 / 3 待归还 - 已借 -->
@ -90,7 +97,7 @@
/> />
</div> </div>
<!-- 档案详情 --> <!-- 档案详情 -->
<ArchivesInfo ref="archivesInfo" :selected-category="selectedCategory" :arc-id="arcId" />
<ArchivesInfo ref="archivesInfo" :selected-category="selectedCategory" :arc-id="arcId" :is-title-type="isTitleType" />
</div> </div>
</template> </template>
@ -210,6 +217,7 @@ export default {
this.$refs.archivesInfo.detailTitle = '文件详情' this.$refs.archivesInfo.detailTitle = '文件详情'
this.$refs.archivesInfo.getDetial(3, row.id) this.$refs.archivesInfo.getDetial(3, row.id)
} }
this.$refs.archivesInfo.isFourTest = true
this.$refs.archivesInfo.archivesInfoVisible = true this.$refs.archivesInfo.archivesInfoVisible = true
this.$refs.archivesInfo.archivesTabIndex = 0 this.$refs.archivesInfo.archivesTabIndex = 0
}) })

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

@ -12,7 +12,7 @@
> >
<CollectHeader ref="collectHeaderRef" :is-title-type="isTitleType" :selected-category="selectedCategory" :selections="selections" :test="test" :is-recycle="isRecycle" /> <CollectHeader ref="collectHeaderRef" :is-title-type="isTitleType" :selected-category="selectedCategory" :selections="selections" :test="test" :is-recycle="isRecycle" />
<span class="closed-btn" @click="closeDrawer" /> <span class="closed-btn" @click="closeDrawer" />
<div class="collect-table">
<div>
<el-table <el-table
ref="table" ref="table"
v-loading="crud.loading || getTableDisplayFieldsLoading" v-loading="crud.loading || getTableDisplayFieldsLoading"

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

@ -50,20 +50,6 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column v-if="!isRecycle" label="实体" width="88" align="center" :fixed="parentsData.fixedStatusBar ? false : 'right' ">
<!-- slot-scope="scope" -->
<template>
<span class="row-state row-physical state-active"></span>
<!-- <span :class="['row-state', 'row-physical', scope.row.tid ? 'state-active' : '' ]">{{ scope.row.tid ? '有': '无' }}</span> -->
</template>
</el-table-column>
<el-table-column v-if="!isRecycle" label="标签" width="88" align="center" :fixed="parentsData.fixedStatusBar ? false : 'right' ">
<template>
<span class="row-state row-binding state-active">未绑</span>
<!-- 未绑 / 已绑 -->
<!-- <span :class="['row-state', 'row-binding', scope.row.tid ? 'state-active' : '' ]">{{ scope.row.tid ? '已绑': '未绑' }}</span> -->
</template>
</el-table-column>
<el-table-column v-if="!isRecycle" label="装盒" width="88" align="center" :fixed="parentsData.fixedStatusBar ? false : 'right' "> <el-table-column v-if="!isRecycle" label="装盒" width="88" align="center" :fixed="parentsData.fixedStatusBar ? false : 'right' ">
<!-- state-active 已装/已入/已借/已绑 --> <!-- state-active 已装/已入/已借/已绑 -->
<template> <template>
@ -79,13 +65,6 @@
<!-- <span :class="['row-state', 'row-warehousing', (storageTxt[scope.$index] === '已入' )? 'state-active' : '' ]">{{ storageTxt[scope.$index] }}</span> --> <!-- <span :class="['row-state', 'row-warehousing', (storageTxt[scope.$index] === '已入' )? 'state-active' : '' ]">{{ storageTxt[scope.$index] }}</span> -->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column v-if="!isRecycle" label="借阅" width="88" align="center" :fixed="parentsData.fixedStatusBar ? false : 'right' ">
<template>
<span class="row-state row-lending state-active">已借</span>
<!-- is_borrow 4 已归还 / 为空 - 未加入待借列表 - 在库 / 2 待借阅在待借列表/借出确认列表 - 待借 / 1待登记 - 不可借- 表示 / 3 待归还 - 已借 -->
<!-- <span :class="['row-state', 'row-lending', (borrowTxt[scope.$index] === '已借' )? 'state-active' : '' ]">{{ borrowTxt[scope.$index] }}</span> -->
</template>
</el-table-column>
</el-table> </el-table>
<!--分页组件--> <!--分页组件-->
@ -101,7 +80,7 @@
/> />
</div> </div>
<!-- 档案详情 --> <!-- 档案详情 -->
<ArchivesInfo ref="archivesInfo" :selected-category="selectedCategory" :arc-id="arcId" />
<ArchivesInfo ref="archivesInfo" :selected-category="selectedCategory" :arc-id="arcId" :is-title-type="isTitleType" />
<span class="closed-btn" @click="closeDrawer" /> <span class="closed-btn" @click="closeDrawer" />
</el-drawer> </el-drawer>
</template> </template>

126
src/views/archivesManage/managementLibrary/module/archivesInfo/data.json

@ -1,126 +0,0 @@
{
"code": 200,
"message": "操作成功",
"data": [
{
"fieldName": "item_no",
"fieldCnName": "项目号",
"editLength": 196,
"isLine": false,
"context": "JJ-2021-GZ-001"
},
{
"fieldName": "fonds_no",
"fieldCnName": "全宗号",
"editLength": 196,
"isLine": false,
"context": "档案室"
},
{
"fieldName": "archive_year",
"fieldCnName": "归档年度",
"editLength": 196,
"isLine": false,
"context": 2021
},
{
"fieldName": "retention",
"fieldCnName": "保管期限",
"editLength": 196,
"isLine": false,
"context": "永久"
},
{
"fieldName": "maintitle",
"fieldCnName": "项目名",
"editLength": 510,
"isLine": true,
"context": "档案室改造"
},
{
"fieldName": "security_class",
"fieldCnName": "密级",
"editLength": 196,
"isLine": false,
"context": "公开"
},
{
"fieldName": "responsibleby",
"fieldCnName": "责任者",
"editLength": 196,
"isLine": false,
"context": "许飞"
},
{
"fieldName": "organization_matter",
"fieldCnName": "机构(问题)",
"editLength": 196,
"isLine": false,
"context": "机关建设"
},
{
"fieldName": "department",
"fieldCnName": "部门名称",
"editLength": 196,
"isLine": false,
"context": "综合部"
},
{
"fieldName": "piece_qty",
"fieldCnName": "案卷数",
"editLength": 196,
"isLine": false,
"context": 3
},
{
"fieldName": "item_start_date",
"fieldCnName": "立项时间",
"editLength": 196,
"isLine": false,
"context": "2021-12-01 "
},
{
"fieldName": "item_end_date",
"fieldCnName": "结项时间",
"editLength": 196,
"isLine": false,
"context": "2022-08-25 "
},
{
"fieldName": "tid",
"fieldCnName": "TID",
"editLength": null,
"isLine": null,
"context": null
},
{
"fieldName": "case_name",
"fieldCnName": "盒名称",
"editLength": null,
"isLine": null,
"context": null
},
{
"fieldName": "folder_location",
"fieldCnName": "库房位置",
"editLength": null,
"isLine": null,
"context": null
},
{
"fieldName": "borrow_type",
"fieldCnName": "借阅状态",
"editLength": null,
"isLine": null,
"context": null
},
{
"fieldName": "barcode",
"fieldCnName": "条形码",
"editLength": null,
"isLine": null,
"context": null
}
],
"timestamp": 1689215199486
}

131
src/views/archivesManage/managementLibrary/module/archivesInfo/index.vue

@ -7,43 +7,24 @@
<!-- tab --> <!-- tab -->
<ul class="tab-nav"> <ul class="tab-nav">
<li :class="{'active-tab-nav': archivesTabIndex == 0}" @click="changeActiveTab(0)">基本信息</li> <li :class="{'active-tab-nav': archivesTabIndex == 0}" @click="changeActiveTab(0)">基本信息</li>
<li v-if="isHasFile" :class="{'active-tab-nav': archivesTabIndex == 1}" @click="changeActiveTab(1)">附件</li>
<li v-if="isHasFile" :class="{'active-tab-nav': archivesTabIndex == 1}" @click="changeActiveTab(1)">原文列表</li>
<li v-if="!isHasFile && isTitleType === 3" :class="{'active-tab-nav': archivesTabIndex == 5}" @click="changeActiveTab(5)">文件列表</li>
<li v-if="!isHasFile && isTitleType === 2" :class="{'active-tab-nav': archivesTabIndex == 5}" @click="changeActiveTab(5)">案卷列表</li>
<li :class="{'active-tab-nav': archivesTabIndex == 2}" @click="changeActiveTab(2)">元数据</li> <li :class="{'active-tab-nav': archivesTabIndex == 2}" @click="changeActiveTab(2)">元数据</li>
<li v-if="isFourTest" :class="{'active-tab-nav': archivesTabIndex == 3}" @click="changeActiveTab(3)">四性检测</li>
<li v-if="isFourTest && isHasFile" :class="{'active-tab-nav': archivesTabIndex == 4}" @click="changeActiveTab(4)">操作记录</li>
</ul> </ul>
<!-- 基本信息 --> <!-- 基本信息 -->
<div v-if="archivesTabIndex==0" class="base-info item-content"> <div v-if="archivesTabIndex==0" class="base-info item-content">
<el-row> <el-row>
<el-col v-for="(item,index) in archivesDetailsData" v-show="index<archivesDetailsData.length-5" :key="index" :span="item.isLine ? 24 : 12" class="base-info-item">
<el-col v-for="(item,index) in archivesDetailsData" :key="index" :span="item.isLine ? 24 : 12" class="base-info-item">
<span>{{ item.fieldCnName }}</span> <span>{{ item.fieldCnName }}</span>
<p :style="{ width: ( item.editLength ? item.editLength+'px' : '' ), flex: ( !item.editLength ? 1 : '' )}">{{ item.context }}</p> <p :style="{ width: ( item.editLength ? item.editLength+'px' : '' ), flex: ( !item.editLength ? 1 : '' )}">{{ item.context }}</p>
</el-col> </el-col>
</el-row> </el-row>
<el-row v-if="isDetailsInfo">
<el-col v-for="(item,index) in archivesDetailsData.slice(archivesDetailsData.length-5,archivesDetailsData.length)" :key="'last'+index" :span=" 12" class="base-info-item">
<span>{{ item.fieldCnName }}</span>
<div v-if="item.fieldName === 'folder_location' && item.context" :style="{ width: item.editLength+'px', marginTop:'-6px'}">
<div v-if="item.context.indexOf(',')">
<el-tag
v-for="(val,key) in item.context.split(',')"
:key="key"
:type="val"
effect="dark"
>
{{ val }}
</el-tag>
</div>
<div v-else-if="!item.context.indexOf(',')">
<el-tag effect="dark">{{ item.context }}</el-tag>
</div>
</div>
<div v-else :style="{ width: item.editLength+'px'}" :class="[ (item.fieldName === 'borrow_type') ? 'row-state row-lending' : '' ]">
{{ item.context }}
</div>
</el-col>
</el-row>
</div> </div>
<!-- 附件 --> <!-- 附件 -->
<UploadFile v-if="archivesTabIndex==1" ref="uploadFile" class="item-content" :is-upload-detail="false" :category-id="categoryId" :arc-id="arcId" />
<UploadFile v-if="archivesTabIndex==1" ref="uploadFile" class="item-content" :is-upload-detail="false" :selected-category="selectedCategory" :arc-id="arcId" />
<!-- 元数据 --> <!-- 元数据 -->
<div v-if="archivesTabIndex==2" class="metadata-cont item-content"> <div v-if="archivesTabIndex==2" class="metadata-cont item-content">
<pre v-highlightjs="xml_show"> <pre v-highlightjs="xml_show">
@ -52,6 +33,9 @@
</code> </code>
</pre> </pre>
</div> </div>
<FourTestInfo v-if="archivesTabIndex===3" />
<HandleInfo v-if="archivesTabIndex===4" />
<ArchivesListModule v-show="archivesTabIndex===5" ref="archivesListModuleRef" :selected-category="selectedCategory" :is-title-type="isTitleType" />
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
@ -59,22 +43,21 @@
<script> <script>
import { form } from '@crud/crud' import { form } from '@crud/crud'
import { FetchArchivesDetails, FetchArchivesMetadata } from '@/api/archivesManage/archivesList'
import { FetchDetailsById, FetchArchivesMetadata } from '@/api/collect/collect'
import UploadFile from '../uploadFile/index' import UploadFile from '../uploadFile/index'
import detailData from './data.json'
import metaData from './metadata.json'
import FourTestInfo from '../fourTestInfo/index'
import HandleInfo from '../handleInfo/index'
export default { export default {
name: 'ArchivesInfo', name: 'ArchivesInfo',
components: { UploadFile },
components: { UploadFile, FourTestInfo, HandleInfo },
mixins: [ mixins: [
form({}) form({})
], ],
// inject: ['recycleMain'],
props: { props: {
categoryId: {
type: String,
selectedCategory: {
type: Object,
default: function() { default: function() {
return ''
return {}
} }
}, },
arcId: { arcId: {
@ -82,14 +65,18 @@ export default {
default: function() { default: function() {
return '' return ''
} }
},
isTitleType: {
type: Number,
default: 2
} }
}, },
data() { data() {
return { return {
detailTitle: '', detailTitle: '',
isHasFile: false, // / isHasFile: false, // /
isFourTest: false,
isDetailsInfo: false, // 5 isDetailsInfo: false, // 5
isTidOrBorrow: true, // tid/
archivesInfoVisible: false, archivesInfoVisible: false,
archivesTabIndex: 0, archivesTabIndex: 0,
archivesDetailsData: [], archivesDetailsData: [],
@ -98,59 +85,55 @@ export default {
} }
}, },
created() { created() {
this.archivesDetailsData = detailData.data
this.archivesDetailsMetadata = metaData.data
}, },
mounted() { mounted() {
}, },
methods: { methods: {
getDetial(rowId) {
getDetial(collectLevel, rowId) {
const params = { const params = {
categoryId: this.categoryId,
archivesId: rowId
'categoryId': this.selectedCategory.id,
'categoryLevel': collectLevel,
'id': rowId
} }
FetchArchivesDetails(params).then(data => {
this.archivesDetailsData = data
// /
this.archivesDetailsData.forEach(item => {
if (item.fieldName === 'borrow_type') {
if (item.context === 1) {
item.context = '待登记'
} else if (item.context === 2) {
item.context = '待借阅'
} else if (item.context === 3) {
item.context = '待归还'
} else if (item.context === 4 || item.context === '' || item.context === null) {
item.context = '-'
} else if (item.context === -1) {
item.context = '在库'
}
}
})
// - tid/''
if (!this.isTidOrBorrow) {
const indexBorrow = this.archivesDetailsData.findIndex(item => item.fieldName === 'borrow_type')
const indexTid = this.archivesDetailsData.findIndex(item => item.fieldName === 'tid')
this.archivesDetailsData.splice(indexBorrow, 1)
this.archivesDetailsData.splice(indexTid, 1)
}
FetchDetailsById(params).then(data => {
this.archivesDetailsData = data.showFiled
.filter(field => field.fieldName in data.echo)
.map(field => ({
editLength: field.editLength,
isLine: field.isLine,
fieldCnName: field.fieldCnName,
fieldName: field.fieldName,
context: data.echo[field.fieldName]
}))
}) })
FetchArchivesMetadata(params).then(data => {
const metaDataParams = {
'categoryId': this.selectedCategory.id,
'categoryLevel': collectLevel,
'archivesId': rowId
}
FetchArchivesMetadata(metaDataParams).then(data => {
this.archivesDetailsMetadata = data this.archivesDetailsMetadata = data
}) })
}, },
setXml() { setXml() {
const xmlstr = this.archivesDetailsMetadata const xmlstr = this.archivesDetailsMetadata
// console.log('xmlstr:', xmlstr)
// console.log('xmljson:', this.$x2js.xml2js(xmlstr))
// console.log('jsonxml:', this.$x2js.js2xml(this.$x2js.xml2js(xmlstr)))
// this.xml_show = vkbeautify.xml(xmlstr)
this.xml_show = this.showXml(xmlstr) this.xml_show = this.showXml(xmlstr)
}, },
changeActiveTab(index) { changeActiveTab(index) {
this.archivesTabIndex = index this.archivesTabIndex = index
if (this.archivesTabIndex === 2) { if (this.archivesTabIndex === 2) {
this.setXml() this.setXml()
} else if (this.archivesTabIndex === 5) {
if (this.isTitleType === 2) {
this.$refs.archivesListModuleRef.detailLevel = 2
} else if (this.isTitleType === 3) {
this.$refs.archivesListModuleRef.detailLevel = 3
} else {
this.$refs.archivesListModuleRef.detailLevel = 4
}
this.$refs.archivesListModuleRef.parentId = this.arcId
this.$refs.archivesListModuleRef.isDetail = true
this.$refs.archivesListModuleRef.getViewTable()
} }
this.$nextTick(() => { this.$nextTick(() => {
if (this.$refs.uploadFile) { if (this.$refs.uploadFile) {
@ -162,6 +145,7 @@ export default {
// - // -
handleClose(done) { handleClose(done) {
this.archivesInfoVisible = false this.archivesInfoVisible = false
localStorage.removeItem('collectLevelList')
done() done()
}, },
// xml // xml
@ -250,10 +234,13 @@ export default {
.base-info, .base-info,
.metadata-cont{ .metadata-cont{
background-color: #F6F8FC; background-color: #F6F8FC;
} }
// //
.base-info{ .base-info{
padding: 20px 0; padding: 20px 0;
overflow: hidden;
overflow-y: scroll;
.base-info-item{ .base-info-item{
display: flex; display: flex;
flex-direction: row; flex-direction: row;
@ -281,4 +268,8 @@ code.hljs {
width: auto; width: auto;
color: #fff; color: #fff;
} }
.detail-tab .tab-nav{
margin: 15px 0 18px 0;
}
</style> </style>

6
src/views/archivesManage/managementLibrary/module/archivesInfo/metadata.json

@ -1,6 +0,0 @@
{
"code": 200,
"message": "操作成功",
"data": "<? xml version=\"1.0\" encoding=\"UTF-8\"?><元数据信息><内容描述><项目号>JJ-2021-GZ-001</项目号><全宗号>档案室</全宗号><项目名>档案室改造</项目名><保管期限>永久</保管期限><归档年度>2021</归档年度><密级>公开</密级><责任者>许飞</责任者><机构(问题)>机关建设</机构(问题)><部门名称>综合部</部门名称><案卷数>3</案卷数><立项时间>2021-12-01 </立项时间><结项时间>2022-08-25 </结项时间><项目开始时间>2022-05-01 </项目开始时间><项目结束时间>2022-07-31 </项目结束时间><备注></备注></内容描述><系统数据><库房名>null</库房名><盒号>null</盒号><存放位置>null</存放位置><标签编号>null</标签编号><条码号>null</条码号><子条目数>1</子条目数></系统数据></元数据信息>",
"timestamp": 1689215199496
}

166
src/views/archivesManage/managementLibrary/module/collectHeader.vue

@ -81,13 +81,13 @@
<el-menu-item index="2-4" @click="handleOnlineHandover">在线移交</el-menu-item> <el-menu-item index="2-4" @click="handleOnlineHandover">在线移交</el-menu-item>
<el-menu-item index="2-5" @click="handleOffLineHandover">离线移交</el-menu-item> <el-menu-item index="2-5" @click="handleOffLineHandover">离线移交</el-menu-item>
</el-menu-item-group> </el-menu-item-group>
<el-menu-item v-if="selectedCategory.isType === 2" index="2-6" @click="handleExportZip">导出ZIP包</el-menu-item>
<el-menu-item v-if="selectedCategory.isType === 2" index="2-7" @click="handleArcReturn">档案退回</el-menu-item>
<!-- <el-menu-item v-if="selectedCategory.isType === 2" index="2-6" @click="handleExportZip">导出ZIP包</el-menu-item> -->
<el-menu-item v-if="selectedCategory.arrangeType !== 3" index="2-7" @click="handleArcReturn">档案退回</el-menu-item>
<el-menu-item v-if="isTitleType === 3 " index="2-8" @click="handleJD(0)">开放审核</el-menu-item> <el-menu-item v-if="isTitleType === 3 " index="2-8" @click="handleJD(0)">开放审核</el-menu-item>
<el-menu-item v-if="isTitleType === 3 " index="2-9" @click="handleJD(1)">销毁鉴定</el-menu-item> <el-menu-item v-if="isTitleType === 3 " index="2-9" @click="handleJD(1)">销毁鉴定</el-menu-item>
</el-menu-item-group> </el-menu-item-group>
</el-submenu> </el-submenu>
<el-submenu index="3">
<el-submenu v-if="isTitleType !== 6" index="3">
<template slot="title"> <template slot="title">
<i class="iconfont icon-gengduo" /> <i class="iconfont icon-gengduo" />
<span>更多</span> <span>更多</span>
@ -104,6 +104,7 @@
<div v-if="isRecycle && (isTitleType === 2 || (isTitleType === 3 && selectedCategory.arrangeType !== 3))" class="collect-menu"> <div v-if="isRecycle && (isTitleType === 2 || (isTitleType === 3 && selectedCategory.arrangeType !== 3))" class="collect-menu">
<el-button class="filter-item" size="mini" type="success" @click="toRecover"><i class="iconfont icon-huifu" />恢复</el-button> <el-button class="filter-item" size="mini" type="success" @click="toRecover"><i class="iconfont icon-huifu" />恢复</el-button>
<el-button class="filter-item" size="mini" type="success" @click="toCompletelyDelete"><i class="iconfont icon-shanchu" />彻底删除</el-button> <el-button class="filter-item" size="mini" type="success" @click="toCompletelyDelete"><i class="iconfont icon-shanchu" />彻底删除</el-button>
<el-button class="filter-item" size="mini" type="success" :disabled="selections.length === 0" @click="handleExport"><i class="iconfont icon-daochu" />导出</el-button>
</div> </div>
<!--新增 / 编辑 表单组件--> <!--新增 / 编辑 表单组件-->
@ -131,48 +132,20 @@
</el-dialog> </el-dialog>
<!-- 绑定标签 --> <!-- 绑定标签 -->
<binding-tag-dlg ref="bindingTag" :binding-id="selections[0] && selections[0].id" :binding-type="1" binding-txt="档案" />
<binding-tag-dlg ref="bindingTag" :binding-id="selections[0] && selections[0].id" :binding-type="1" binding-txt="档案" @close-dialog="closeDialog" />
<!-- 装盒 / 分卷装盒 --> <!-- 装盒 / 分卷装盒 -->
<PackingBox ref="packingBox" :selected-category="selectedCategory" :selections="selections" />
<PackingBox ref="packingBox" :selected-category="selectedCategory" :selections="selections" @close-dialog="closeDialog" />
<!-- 在线移交 --> <!-- 在线移交 -->
<OnlineHandover ref="onlineHandover" :selected-category="selectedCategory" :selections="selections" />
<OnlineHandover ref="onlineHandover" :selected-category="selectedCategory" :selections="selections" @close-dialog="closeDialog" />
<!-- 离线移交 --> <!-- 离线移交 -->
<OffLineHandover ref="offLineHandover" :selected-category="selectedCategory" :selections="selections" />
<OffLineHandover ref="offLineHandover" :selected-category="selectedCategory" :selections="selections" @close-dialog="closeDialog" />
<!-- 导出zip --> <!-- 导出zip -->
<ExportZip ref="exportZip" :selected-category="selectedCategory" :selections="selections" />
<ExportZip ref="exportZip" :selected-category="selectedCategory" :selections="selections" @close-dialog="closeDialog" />
<!-- 开放审核 / 销毁鉴定 --> <!-- 开放审核 / 销毁鉴定 -->
<HandOverForm ref="formModule" :selected-category="selectedCategory" :selections="selections" />
<HandOverForm ref="formModule" :selected-category="selectedCategory" :selections="selections" @close-dialog="closeDialog" />
<!-- 打印 --> <!-- 打印 -->
<Print ref="printRef" />
<Print ref="printRef" :selected-category="selectedCategory" :collect-level="collectLevel" :selections="selections" @close-dialog="closeDialog" />
<!-- 回收站 - 恢复 -->
<el-dialog class="tip-dialog" title="提示" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :visible.sync="recoverVisible">
<div class="setting-dialog">
<div class="tip-content">
<p class="tipMsg">此恢复将会把所选条目及其子集一并恢复</p>
<span>你是否还要继续?</span>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="recoverVisible = false">取消</el-button>
<el-button type="primary" @click.native="handleRecover">确定</el-button>
</div>
</div>
</el-dialog>
<!-- 回收站 - 彻底删除 -->
<el-dialog class="tip-dialog" title="提示" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :visible.sync="completelyDeleteVisible">
<div class="setting-dialog">
<div class="tip-content">
<p class="tipMsg">此删除将把会所选条目与其子集彻底删除</p>
<span>你是否还要继续?</span>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="completelyDeleteVisible = false">取消</el-button>
<el-button type="primary" @click.native="handleCompletelyDelete">确定</el-button>
</div>
</div>
</el-dialog>
</div> </div>
<div style="display: flex; justify-content: space-between; height: 30px; line-height: 30px; padding: 0 10px; "> <div style="display: flex; justify-content: space-between; height: 30px; line-height: 30px; padding: 0 10px; ">
<span v-if="(isTitleType !== 2 && selectedCategory.arrangeType === 3 ) || ((isTitleType === 4 || isTitleType === 6) && selectedCategory.arrangeType === 2) || (isTitleType === 6 && selectedCategory.arrangeType === 1)" style="font-size: 12px;">{{ test }}</span> <span v-if="(isTitleType !== 2 && selectedCategory.arrangeType === 3 ) || ((isTitleType === 4 || isTitleType === 6) && selectedCategory.arrangeType === 2) || (isTitleType === 6 && selectedCategory.arrangeType === 1)" style="font-size: 12px;">{{ test }}</span>
@ -184,9 +157,10 @@
</template> </template>
<script> <script>
import CRUD, { crud } from '@crud/crud'
import { manageLibraryCrud } from '../mixins/index' import { manageLibraryCrud } from '../mixins/index'
import { FetchInitCategoryInputFieldByPid } from '@/api/system/category/category' import { FetchInitCategoryInputFieldByPid } from '@/api/system/category/category'
import { FetchDetailsById } from '@/api/collect/collect'
import { FetchDetailsById, FetchCompleteDelArchives, FetchRestoreArchives } from '@/api/collect/collect'
import { FetchArchivesClassTree } from '@/api/system/archivesClass' import { FetchArchivesClassTree } from '@/api/system/archivesClass'
import { FetchDictionaryTree } from '@/api/system/dict' import { FetchDictionaryTree } from '@/api/system/dict'
import Treeselect from '@riophae/vue-treeselect' import Treeselect from '@riophae/vue-treeselect'
@ -199,12 +173,14 @@ import OnlineHandover from './onlineHandover/index'
import OffLineHandover from './offLineHandover/index' import OffLineHandover from './offLineHandover/index'
import ExportZip from './exportZip/index' import ExportZip from './exportZip/index'
import HandOverForm from './handOverForm' import HandOverForm from './handOverForm'
import { downloadFile } from '@/utils/index'
import qs from 'qs'
import { downloadFile, exportFile } from '@/utils/index'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
export default { export default {
name: 'CollectHeader', name: 'CollectHeader',
components: { Treeselect, PreviewForm, BindingTagDlg, Print, PackingBox, OnlineHandover, OffLineHandover, ExportZip, HandOverForm }, components: { Treeselect, PreviewForm, BindingTagDlg, Print, PackingBox, OnlineHandover, OffLineHandover, ExportZip, HandOverForm },
mixins: [manageLibraryCrud],
mixins: [manageLibraryCrud, crud()],
props: { props: {
selectedCategory: { selectedCategory: {
type: Object, type: Object,
@ -281,12 +257,7 @@ export default {
formPreviewData: [], // data formPreviewData: [], // data
projectOptions: [], projectOptions: [],
classifyOptions: [], classifyOptions: [],
deleteVisible: false,
exportVisible: false,
downloadVisible: false,
recoverVisible: false,
completelyDeleteVisible: false,
isDesFormType: 'arcives', //
isDesFormType: 'manageArcives', //
arcId: null arcId: null
} }
}, },
@ -452,7 +423,6 @@ export default {
this.arcId = null this.arcId = null
} else if (type === 'edit') { } else if (type === 'edit') {
console.log(this.selections) console.log(this.selections)
this.arcId = this.selections[0].id
if (this.selections.length === 0) { if (this.selections.length === 0) {
this.$message('您还未勾选需要操作的条目,请先确认!') this.$message('您还未勾选需要操作的条目,请先确认!')
return false return false
@ -460,6 +430,7 @@ export default {
this.$message('编辑操作只可勾选唯一目标条目,请先确认!') this.$message('编辑操作只可勾选唯一目标条目,请先确认!')
return false return false
} }
this.arcId = this.selections[0].id
this.formTitle = '编辑' + this.collectTitle this.formTitle = '编辑' + this.collectTitle
} }
// this.form.dictionaryConfigId = {} // this.form.dictionaryConfigId = {}
@ -481,7 +452,7 @@ export default {
const showFiledAll = data.showFiled.filter(item => item.isSequence).sort((a, b) => a.isSequence - b.isSequence) const showFiledAll = data.showFiled.filter(item => item.isSequence).sort((a, b) => a.isSequence - b.isSequence)
this.$nextTick(() => { this.$nextTick(() => {
this.formPreviewData = showFiledAll this.formPreviewData = showFiledAll
this.isDesFormType = 'arcives'
this.isDesFormType = 'manageArcives'
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.previewForm.archivesType = 'edit' this.$refs.previewForm.archivesType = 'edit'
this.$refs.previewForm.addOrUpdateForm = data.echo this.$refs.previewForm.addOrUpdateForm = data.echo
@ -496,7 +467,7 @@ export default {
} }
FetchInitCategoryInputFieldByPid(params).then(data => { FetchInitCategoryInputFieldByPid(params).then(data => {
this.formPreviewData = data this.formPreviewData = data
this.isDesFormType = 'arcives'
this.isDesFormType = 'manageArcives'
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.previewForm.archivesType = 'add' this.$refs.previewForm.archivesType = 'add'
this.$refs.previewForm.FetchNoFormatField(this.selectedCategory.id) this.$refs.previewForm.FetchNoFormatField(this.selectedCategory.id)
@ -553,26 +524,16 @@ export default {
type: 'warning', type: 'warning',
dangerouslyUseHTMLString: true dangerouslyUseHTMLString: true
}).then(() => { }).then(() => {
// const archivesIds = []
// this.selections.forEach(val => {
// archivesIds.push(val.id)
// })
// const params = {
// 'categoryId': this.selectedCategory.id,
// 'categoryLevel': this.collectLevel,
// 'archivesIds': archivesIds
// }
// console.log(params)
// FetchUpdateArchivesNo(params).then((res) => {
// if (res.code !== 500) {
// this.crud.notify('', CRUD.NOTIFICATION_TYPE.SUCCESS)
// this.handleSearch(this.collectLevel)
// } else {
// this.crud.notify(res.message, CRUD.NOTIFICATION_TYPE.ERROR)
// }
// }).catch(err => {
// console.log(err)
// })
const archivesIds = []
this.selections.forEach(val => {
archivesIds.push(val.id)
})
const params = {
'categoryId': this.selectedCategory.id,
'categoryLevel': this.collectLevel,
'archivesIds': archivesIds
}
exportFile(this.baseApi + '/api/collect/exportDate?' + qs.stringify(params, { indices: false }))
}).catch(() => { }).catch(() => {
}) })
}, },
@ -604,10 +565,34 @@ export default {
this.$message('您还未勾选需要操作的条目,请先确认!') this.$message('您还未勾选需要操作的条目,请先确认!')
return false return false
} }
this.recoverVisible = true
},
handleRecover() {
this.recoverVisible = false
this.$confirm('此恢复将会把所选条目及其子集一并恢复' + '<span>你是否还要继续?</span>', '提示', {
confirmButtonText: '继续',
cancelButtonText: '取消',
type: 'warning',
dangerouslyUseHTMLString: true
}).then(() => {
const archivesIds = []
this.selections.forEach(val => {
archivesIds.push(val.id)
})
const params = {
'categoryId': this.selectedCategory.id,
'categoryLevel': this.collectLevel,
'archivesIds': archivesIds
}
FetchRestoreArchives(params).then((res) => {
if (res.code !== 500) {
console.log(res)
this.crud.notify(res, CRUD.NOTIFICATION_TYPE.SUCCESS)
this.handleSearch(this.collectLevel)
} else {
this.crud.notify('回复所选档案失败', CRUD.NOTIFICATION_TYPE.ERROR)
}
}).catch(err => {
console.log(err)
})
}).catch(() => {
})
}, },
// - // -
toCompletelyDelete() { toCompletelyDelete() {
@ -615,10 +600,33 @@ export default {
this.$message('您还未勾选需要操作的条目,请先确认!') this.$message('您还未勾选需要操作的条目,请先确认!')
return false return false
} }
this.completelyDeleteVisible = true
},
handleCompletelyDelete() {
this.completelyDeleteVisible = false
this.$confirm('此删除将把会所选条目与其子集彻底删除' + '<span>你是否还要继续?</span>', '提示', {
confirmButtonText: '继续',
cancelButtonText: '取消',
type: 'warning',
dangerouslyUseHTMLString: true
}).then(() => {
const archivesIds = []
this.selections.forEach(val => {
archivesIds.push(val.id)
})
const params = {
'categoryId': this.selectedCategory.id,
'categoryLevel': this.collectLevel,
'archivesIds': archivesIds
}
FetchCompleteDelArchives(params).then((res) => {
if (res.code !== 500) {
this.crud.notify(res, CRUD.NOTIFICATION_TYPE.SUCCESS)
this.handleSearch(this.collectLevel)
} else {
this.crud.notify('删除所选档案失败', CRUD.NOTIFICATION_TYPE.ERROR)
}
}).catch(err => {
console.log(err)
})
}).catch(() => {
})
}, },
// / // /
handlePackingBox(type) { handlePackingBox(type) {
@ -670,7 +678,7 @@ export default {
this.$message('您还未勾选需要操作的条目,请先确认!') this.$message('您还未勾选需要操作的条目,请先确认!')
return false return false
} }
this.$confirm('此移出将把会所选条目退回到预归档库' + '<span>你是否还要继续?</span>', '提示', {
this.$confirm('此移出将把会所选条目退回到收集库' + '<span>你是否还要继续?</span>', '提示', {
confirmButtonText: '继续', confirmButtonText: '继续',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning',

119
src/views/archivesManage/managementLibrary/module/fourTestInfo/index.vue

@ -0,0 +1,119 @@
<template>
<!--四性检测-档案详情内-->
<div class="fourTest-container">
<el-table :data="tableData" style="min-width: 100%" height="calc(100vh - 440px)">
<el-table-column prop="admin" label="检测人" min-width="60" />
<el-table-column prop="createTime" label="检测时间" min-width="180">
<template slot-scope="scope">
<div>{{ scope.row.createTime | parseTime }}</div>
</template>
</el-table-column>
<el-table-column prop="truth" label="真实性" align="center">
<template slot-scope="scope">
<span v-if="scope.row.truth===1" class="four-icon iconfont icon-zhengque" />
<span v-else class="four-icon iconfont icon-cuowu" />
</template>
</el-table-column>
<el-table-column prop="integrity" label="完整性" align="center">
<template slot-scope="scope">
<span v-if="scope.row.integrity===1" class="four-icon iconfont icon-zhengque" />
<span v-else class="four-icon iconfont icon-cuowu" />
</template>
</el-table-column>
<el-table-column prop="availability" label="可用性" align="center">
<template slot-scope="scope">
<span v-if="scope.row.availability===1" class="four-icon iconfont icon-zhengque" />
<span v-else class="four-icon iconfont icon-cuowu" />
</template>
</el-table-column>
<el-table-column prop="safety" label="安全性" align="center">
<template slot-scope="scope">
<span v-if="scope.row.safety===1" class="four-icon iconfont icon-zhengque" />
<span v-else class="four-icon iconfont icon-cuowu" />
</template>
</el-table-column>
<el-table-column prop="createDate" label="检测结果" min-width="220">
<template slot-scope="scope">
<div>共检测{{ scope.row.totalNum }}<span class="testSuccess">通过{{ scope.row.successNum }}</span><span class="testError">未通过{{ scope.row.errorNum }}</span></div>
</template>
</el-table-column>
</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>
</template>
<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
}
]
export default {
name: 'FourTestInfo',
components: { },
mixins: [],
data() {
return {
tableData: [{}, {}],
page: {
page: 1,
size: 10,
total: 0
}
}
},
created() {
},
mounted() {
this.tableData = data
},
methods: {
handleSizeChange(size) {
this.page.size = size
this.page.page = 1
},
handleCurrentPage(val) {
this.page.page = val
}
}
}
</script>
<style lang='scss' scoped>
@import "~@/assets/styles/collect-reorganizi.scss";
</style>

81
src/views/archivesManage/managementLibrary/module/handleInfo/index.vue

@ -0,0 +1,81 @@
<template>
<!--档案详情-操作记录-->
<div class="fourTest-container">
<el-table :data="tableData" style="min-width: 100%" height="calc(100vh - 440px)">
<el-table-column prop="type" label="操作类型" min-width="60" />
<el-table-column prop="isAgree" label="处理意见" min-width="60" />
<el-table-column prop="admin" label="处理人" min-width="60" />
<el-table-column prop="createTime" label="处理时间" min-width="180">
<template slot-scope="scope">
<div>{{ scope.row.createTime | parseTime }}</div>
</template>
</el-table-column>
<el-table-column prop="remark" label="备注" min-width="60" />
</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>
</template>
<script>
const data = [
{
'id': '005E76FEC5A2AAB368CA1F',
'admin': 'admin',
'type': '预归档新增',
'isAgree': '同意',
'createTime': 1660706815000,
'remark': ''
},
{
'id': '005E76FEC5A2AAB368CA1F2',
'admin': 'admin',
'type': '装盒',
'isAgree': '拒绝',
'createTime': 1660706815000,
'remark': ''
}
]
export default {
name: 'HandleInfo',
components: { },
mixins: [],
data() {
return {
tableData: [{}, {}],
page: {
page: 1,
size: 10,
total: 0
}
}
},
created() {
},
mounted() {
this.tableData = data
},
methods: {
handleSizeChange(size) {
this.page.size = size
this.page.page = 1
},
handleCurrentPage(val) {
this.page.page = val
}
}
}
</script>
<style lang='scss' scoped>
@import "~@/assets/styles/collect-reorganizi.scss";
</style>

123
src/views/archivesManage/managementLibrary/module/print/index.vue

@ -7,17 +7,17 @@
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="打印范围" prop="printRange"> <el-form-item label="打印范围" prop="printRange">
<el-radio-group v-model="form.printRange"> <el-radio-group v-model="form.printRange">
<el-radio label="勾选条目" />
<el-radio label="当页条目" />
<el-radio label="勾选条目" :disabled="form.printRange === '当页条目'" />
<el-radio label="当页条目" :disabled="form.printRange === '勾选条目'" />
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="选择模板" prop="module"> <el-form-item label="选择模板" prop="module">
<el-select v-model="form.module" placeholder="请选择" style="width: 360px;">
<el-select v-model="form.module" placeholder="请选择" value-key="value" style="width: 360px;">
<el-option <el-option
v-for="item in printModuleOptions" v-for="item in printModuleOptions"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value"
:value="item"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -29,68 +29,78 @@
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
<!-- :width="field.displayLength" -->
<div v-show="isHidden" id="print" ref="printId" class="intoExamine"> <div v-show="isHidden" id="print" ref="printId" class="intoExamine">
<h3 style="text-align: center; margin:20px 0; font-size: 24px;">{{ printTitle }}</h3> <h3 style="text-align: center; margin:20px 0; font-size: 24px;">{{ printTitle }}</h3>
<el-table :data="printData" border> <el-table :data="printData" border>
<el-table-column type="index" label="序号" width="55" align="center" /> <el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="档号" prop="archiveNo" align="center" width="180px" />
<el-table-column label="文号" prop="docNo" align="center" width="160" />
<el-table-column label="责任者" prop="responsibleby" align="center" />
<el-table-column label="题名" prop="maintitle" align="center" width="200px" />
<el-table-column label="日期" prop="create_time" align="center" width="100">
<el-table-column v-for="field in tableDisplayFields" :key="field.id" :label="field.fieldCnName" :align="field.displayformatType">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ parseTime(scope.row.create_time, '{y}-{m}-{d}') }}</div>
{{ scope.row[field.fieldName] }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="密级" prop="securityClass" align="center" />
<el-table-column label="页数" prop="pageQty" align="center" width="60" />
<el-table-column label="备注" prop="remarks" align="center" width="100px" />
</el-table> </el-table>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import CRUD, { presenter } from '@crud/crud'
import { FetchPrintData } from '@/api/collect/collect'
import html2canvas from 'html2canvas' import html2canvas from 'html2canvas'
import printJS from 'print-js' import printJS from 'print-js'
import printJson from './printData.json'
export default { export default {
name: 'Print', name: 'Print',
components: { }, components: { },
mixins: [presenter()],
cruds() {
return CRUD({
url: 'api/category/menu',
title: '',
optShow: {
mixins: [],
props: {
selectedCategory: {
type: Object,
default: function() {
return {}
}
},
collectLevel: {
type: Number,
default: function() {
return null
} }
})
},
selections: {
type: Array,
default: () => []
}
}, },
data() { data() {
return { return {
isHidden: false, isHidden: false,
printData: [], printData: [],
tableDisplayFields: [],
printTitle: '', printTitle: '',
printVisible: false, printVisible: false,
currentTable: [],
form: { form: {
printRange: '勾选条目', printRange: '勾选条目',
module: ''
module: '默认模板'
}, },
printModuleOptions: [ printModuleOptions: [
{ {
value: '案卷目录',
label: '案卷目录'
},
{
value: '卷内目录',
label: '卷内目录'
},
{
value: '文件目录',
label: '文件目录'
value: '默认模板',
label: '默认模板'
} }
// {
// value: '2',
// label: ''
// },
// {
// value: '3',
// label: ''
// },
// {
// value: '4',
// label: ''
// }
], ],
rules: { rules: {
printRange: [ printRange: [
@ -103,21 +113,43 @@ export default {
} }
}, },
created() { created() {
}, },
methods: { methods: {
onSubmitPrint(formName) { onSubmitPrint(formName) {
this.printTitle = this.form.module
this.printTitle = ''
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
if (valid) { if (valid) {
this.$message('submit!')
this.printVisible = false
this.$refs[formName].resetFields()
this.printData = printJson.data.archives
this.isHidden = true
this.$nextTick(() => {
this.printFn()
this.isHidden = false
let archivesIds
if (this.selections.length !== 0) {
archivesIds = this.selections.map(item => item.id)
} else {
archivesIds = this.currentTable.map(item => item.id)
}
const params = {
'categoryId': this.selectedCategory.id, // id
'archivesIds': archivesIds, // id
'templateId': null,
'categoryLevel': this.collectLevel
}
FetchPrintData(params).then((res) => {
if (res.code !== 500) {
this.printData = res.list
this.tableDisplayFields = res.queryShow
this.printVisible = false
this.isHidden = true
if (this.isHidden) {
const timer = setTimeout(() => {
this.printFn()
this.isHidden = false
clearTimeout(timer)
}, 100)
}
} else {
this.$message.error('获取打印数据失败')
}
this.$refs[formName].resetFields()
}) })
} else { } else {
console.log('error submit!!') console.log('error submit!!')
@ -210,7 +242,8 @@ export default {
height: inherit; height: inherit;
} }
.intoExamine{ .intoExamine{
margin: 0 auto;
border: 1px solid #000;
width: 100%;
} }
} }
</style> </style>

68
src/views/archivesManage/managementLibrary/module/uploadFile/index.vue

@ -28,7 +28,7 @@
{{ (scope.row.file_size / 1024).toFixed(2) + 'kB' }} {{ (scope.row.file_size / 1024).toFixed(2) + 'kB' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="file_dpi" label="分辨率" min-width="100" align="center">
<el-table-column prop="file_dpi" label="分辨率" min-width="120" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="!scope.row.file_dpi"> - </div> <div v-if="!scope.row.file_dpi"> - </div>
<div v-else> {{ scope.row.file_dpi }} </div> <div v-else> {{ scope.row.file_dpi }} </div>
@ -62,13 +62,12 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="create_time" label="创建时间" min-width="110" align="center" />
<!-- && !recycleMain.isRecycle -->
<el-table-column v-if="!isUploadDetail " label="操作" min-width="80" align="center">
<el-table-column prop="create_time" label="创建时间" min-width="130" align="center" />
<!-- <el-table-column v-if="!isUploadDetail && !parentsData.isRecycle" label="操作" min-width="80" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button class="file-down iconfont icon-weibiaoti-2" @click="downloadFile(scope.row)">下载</el-button> <el-button class="file-down iconfont icon-weibiaoti-2" @click="downloadFile(scope.row)">下载</el-button>
</template> </template>
</el-table-column>
</el-table-column> -->
</el-table> </el-table>
<!-- 点击缩略图看大图 --> <!-- 点击缩略图看大图 -->
@ -113,7 +112,8 @@
</template> </template>
<script> <script>
import { FetchInitArchiveFilesView, FetchEditFile, FetchDeleteFile, FetchFileSort } from '@/api/archivesManage/archivesList'
// import { FetchInitArchiveFilesView, FetchEditFile, FetchDeleteFile, FetchFileSort } from '@/api/archivesManage/archivesList'
import { FetchInitFileCategoryView } from '@/api/collect/collect'
import { archivesUpload } from '@/utils/upload' import { archivesUpload } from '@/utils/upload'
import { downloadFile, getCurrentTime } from '@/utils/index' import { downloadFile, getCurrentTime } from '@/utils/index'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
@ -125,16 +125,16 @@ export default {
mixins: [ mixins: [
form({}) form({})
], ],
// inject: ['recycleMain'],
inject: ['parentsData'],
props: { props: {
isUploadDetail: { isUploadDetail: {
type: Boolean, type: Boolean,
default: true default: true
}, },
categoryId: {
type: String,
selectedCategory: {
type: Object,
default: function() { default: function() {
return ''
return {}
} }
}, },
arcId: { arcId: {
@ -221,11 +221,12 @@ export default {
'categoryId': this.categoryId, 'categoryId': this.categoryId,
'jsonString': JSON.stringify(arrayUpload) 'jsonString': JSON.stringify(arrayUpload)
} }
FetchEditFile(params).then(data => {
this.$message.success('上传附件成功!')
this.crud.refresh()
this.getFileList()
})
console.log(params)
// FetchEditFile(params).then(data => {
// this.$message.success('!')
// this.crud.refresh()
// this.getFileList()
// })
}, },
// base64 // base64
getBase64(file) { getBase64(file) {
@ -252,10 +253,14 @@ export default {
// list // list
getFileList() { getFileList() {
const params = { const params = {
'categoryId': this.categoryId,
'archiveId': this.arcId
'categoryId': this.selectedCategory.id,
'archivesId': this.arcId,
'page': 0,
'size': 10
} }
FetchInitArchiveFilesView(params).then(data => {
console.log(params)
FetchInitFileCategoryView(params).then(data => {
console.log('darta', data)
this.tableData = data.returnlist this.tableData = data.returnlist
}) })
}, },
@ -284,13 +289,14 @@ export default {
'ids': ids, 'ids': ids,
'categoryId': this.categoryId 'categoryId': this.categoryId
} }
console.log(params)
// fetch // fetch
FetchDeleteFile(params).then(res => {
this.crud.delAllLoading = false
this.$message.success('删除成功!')
this.crud.refresh()
this.getFileList()
})
// FetchDeleteFile(params).then(res => {
// this.crud.delAllLoading = false
// this.$message.success('!')
// this.crud.refresh()
// this.getFileList()
// })
}, },
// - // -
rowDrop(className, targetName) { rowDrop(className, targetName) {
@ -327,12 +333,13 @@ export default {
'ids': ids, 'ids': ids,
'sequences': sequences 'sequences': sequences
} }
FetchFileSort(params).then((res) => {
this.sortVisible = false
this.$message.success('附件排序成功!')
this.crud.refresh()
this.getFileList()
})
console.log(params)
// FetchFileSort(params).then((res) => {
// this.sortVisible = false
// this.$message.success('!')
// this.crud.refresh()
// this.getFileList()
// })
}, },
// table // table
clickRowHandler(row) { clickRowHandler(row) {
@ -361,4 +368,5 @@ export default {
width: 60px; width: 60px;
height: 32px; height: 32px;
} }
</style> </style>

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

@ -55,7 +55,7 @@
/> />
</div> </div>
<!-- 档案详情 --> <!-- 档案详情 -->
<ArchivesInfo ref="archivesInfo" :selected-category="selectedCategory" :arc-id="arcId" />
<ArchivesInfo ref="archivesInfo" :selected-category="selectedCategory" :arc-id="arcId" :is-title-type="isTitleType" />
</div> </div>
</template> </template>

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

@ -67,7 +67,7 @@
import { header, form } from '@crud/crud' import { header, form } from '@crud/crud'
import { collectionLibraryCrud } from '../mixins/index' import { collectionLibraryCrud } from '../mixins/index'
import ArchivesInfo from '../module/archivesInfo/index' import ArchivesInfo from '../module/archivesInfo/index'
import collectHeader from '../module/collectHeader.vue'
import collectHeader from '../module/collectHeader'
export default { export default {
name: 'Sorted', name: 'Sorted',
components: { ArchivesInfo, collectHeader }, components: { ArchivesInfo, collectHeader },

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

@ -102,7 +102,7 @@
<script> <script>
import { collectionLibraryCrud } from '../mixins/index' import { collectionLibraryCrud } from '../mixins/index'
import { header, form } from '@crud/crud' import { header, form } from '@crud/crud'
import CollectHeader from '../module/collectHeader.vue'
import CollectHeader from '../module/collectHeader'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
export default { export default {
name: 'File', name: 'File',

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

@ -75,7 +75,7 @@
<script> <script>
import { collectionLibraryCrud } from '../mixins/index' import { collectionLibraryCrud } from '../mixins/index'
import { header, form } from '@crud/crud' import { header, form } from '@crud/crud'
import collectHeader from '../module/collectHeader.vue'
import collectHeader from '../module/collectHeader'
import ArchivesInfo from '../module/archivesInfo/index' import ArchivesInfo from '../module/archivesInfo/index'
export default { export default {
name: 'Juannei', name: 'Juannei',

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

@ -217,13 +217,11 @@ import { FetchArchivesClassTree } from '@/api/system/archivesClass'
import { FetchDictionaryTree } from '@/api/system/dict' import { FetchDictionaryTree } from '@/api/system/dict'
import Treeselect from '@riophae/vue-treeselect' import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css' import '@riophae/vue-treeselect/dist/vue-treeselect.css'
// import { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
import PreviewForm from '@/views/components/category/PreviewForm' import PreviewForm from '@/views/components/category/PreviewForm'
import UploadOriginal from './uploadOriginal/index' import UploadOriginal from './uploadOriginal/index'
import BigUpload from './uploadOriginal/bigUpload' import BigUpload from './uploadOriginal/bigUpload'
import BlukImport from './bulkImport/index' import BlukImport from './bulkImport/index'
import BlukEditing from './blukEditing/index' import BlukEditing from './blukEditing/index'
// import FileNumberAdjustment from './fileNumberAdjustment/index'
import FileSeqAdjustment from './fileSeqAdjustment/index' import FileSeqAdjustment from './fileSeqAdjustment/index'
import CombineFile from './combineFile/index' import CombineFile from './combineFile/index'
import InsertFile from './insertFile/index' import InsertFile from './insertFile/index'

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

@ -62,7 +62,7 @@
<script> <script>
import { collectionLibraryCrud } from '../mixins/index' import { collectionLibraryCrud } from '../mixins/index'
import { header, form } from '@crud/crud' import { header, form } from '@crud/crud'
import collectHeader from '../module/collectHeader.vue'
import collectHeader from '../module/collectHeader'
import ArchivesInfo from '../module/archivesInfo/index' import ArchivesInfo from '../module/archivesInfo/index'
export default { export default {

2
src/views/components/archivesListModule/index.vue

@ -5,7 +5,7 @@
v-loading="tableLoading" v-loading="tableLoading"
class="archives-table" class="archives-table"
:data="tableData" :data="tableData"
:height="isDetail ? 'calc(100vh - 382px)' :''"
:height="isDetail ? 'calc(100vh - 382px)':'auto'"
highlight-current-row highlight-current-row
style="width: 100%;" style="width: 100%;"
:row-key="rowKey" :row-key="rowKey"

25
src/views/components/category/PreviewForm.vue

@ -69,6 +69,16 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row v-if="isDesFormType === 'manageArcives'" class="preview-form-bottom">
<el-col>
<el-form-item label="实体" prop="isPhysical" class="pbysical-style">
<el-radio-group v-model="addOrUpdateForm.isPhysical">
<el-radio label="有" />
<el-radio label="无" />
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<!-- 弹框形式的内容展示 --> <!-- 弹框形式的内容展示 -->
@ -200,7 +210,6 @@ export default {
categoryId: null, categoryId: null,
result: null, result: null,
autoMatic: null, autoMatic: null,
// isType: 'category',
file: null, // change file: null, // change
fileNames: '', // - name fileNames: '', // - name
formatType: '', // - type formatType: '', // - type
@ -213,7 +222,6 @@ export default {
mergeFileArcIds: null, mergeFileArcIds: null,
mergeFileCategory: null, mergeFileCategory: null,
archivesType: null archivesType: null
// setParentsId: null
} }
}, },
computed: { computed: {
@ -365,7 +373,7 @@ export default {
} }
if (fieldInfo.mateData === 2) { if (fieldInfo.mateData === 2) {
let categoryId let categoryId
if (this.isDesFormType !== 'mergeFile' && this.isDesFormType !== 'arcives') {
if (this.isDesFormType !== 'mergeFile' && this.isDesFormType !== 'arcives' && this.isDesFormType !== 'manageArcives') {
categoryId = this.selectedCategory.pid categoryId = this.selectedCategory.pid
} else { } else {
categoryId = this.selectedCategory.id categoryId = this.selectedCategory.id
@ -462,7 +470,7 @@ export default {
this.isTableType = 2 this.isTableType = 2
this.tableTitle = '分类列表' this.tableTitle = '分类列表'
let categoryId let categoryId
if (this.isDesFormType !== 'mergeFile' && this.isDesFormType !== 'arcives') {
if (this.isDesFormType !== 'mergeFile' && this.isDesFormType !== 'arcives' && this.isDesFormType !== 'manageArcives') {
categoryId = this.selectedCategory.pid categoryId = this.selectedCategory.pid
} else { } else {
categoryId = this.selectedCategory.id categoryId = this.selectedCategory.id
@ -658,13 +666,6 @@ export default {
// //
editFormRow() { editFormRow() {
this.rules = {} this.rules = {}
// if (this.isDesFormType !== 'mergeFile' && this.isDesFormType !== 'arcives') {
// targetId = this.selectedCategory.pid
// } else {
// targetId = this.selectedCategory.id
// }
this.formPreviewData.map(item => { this.formPreviewData.map(item => {
if (item.isInputClass === 'select') { if (item.isInputClass === 'select') {
this.$set(item, 'options', []) this.$set(item, 'options', [])
@ -680,7 +681,7 @@ export default {
} }
if (item.fieldName === 'archival_category_code') { if (item.fieldName === 'archival_category_code') {
let targetNode let targetNode
if (this.isDesFormType !== 'mergeFile' && this.isDesFormType !== 'arcives') {
if (this.isDesFormType !== 'mergeFile' && this.isDesFormType !== 'arcives' && this.isDesFormType !== 'manageArcives') {
const targetId = this.selectedCategory.pid const targetId = this.selectedCategory.pid
targetNode = this.findNodeById(this.crud.data[0], targetId) targetNode = this.findNodeById(this.crud.data[0], targetId)
} else { } else {

Loading…
Cancel
Save