11 changed files with 815 additions and 26 deletions
-
8src/assets/styles/archives-manage.scss
-
3src/views/collectReorganizi/collectionLibrary/module/blukEditing/index.vue
-
133src/views/collectReorganizi/collectionLibrary/module/collectHeader.vue
-
22src/views/collectReorganizi/collectionLibrary/module/collectMoveFile/data.json
-
217src/views/collectReorganizi/collectionLibrary/module/collectMoveFile/index.vue
-
117src/views/collectReorganizi/collectionLibrary/module/collectMoveFile/tree.json
-
63src/views/collectReorganizi/collectionLibrary/module/combineFile/index.vue
-
166src/views/collectReorganizi/collectionLibrary/module/fileNumberAdjustment/index.vue
-
103src/views/collectReorganizi/collectionLibrary/module/insertFile/index.vue
-
7src/views/collectReorganizi/collectionLibrary/module/uploadOriginal/index.vue
-
2src/views/prearchiveLibrary/index.vue
@ -0,0 +1,22 @@ |
|||
[ |
|||
{ |
|||
"id": 1, |
|||
"label": "字段A", |
|||
"isType": 1 |
|||
}, |
|||
{ |
|||
"id": 2, |
|||
"label": "字段B", |
|||
"isType": 0 |
|||
}, |
|||
{ |
|||
"id": 3, |
|||
"label": "字段C", |
|||
"isType": 1 |
|||
}, |
|||
{ |
|||
"id": 4, |
|||
"label": "字段D", |
|||
"isType": 1 |
|||
} |
|||
] |
@ -0,0 +1,217 @@ |
|||
<template> |
|||
<!-- 移动 --> |
|||
<el-dialog class="collectMoveFile-dialog" title="移动" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :visible.sync="collectMoveFileVisible"> |
|||
<div class="collectMove-main"> |
|||
<div class="collectMove-left"> |
|||
<h3 class="arc-title arc-title-top">档案门类</h3> |
|||
<el-tree :data="treeList" :props="defaultProps" @node-click="handleNodeClick"> |
|||
<span slot-scope="{ node, data }" class="custom-tree-node"> |
|||
<span v-if="data.isType===1 " class="iconFolder"> |
|||
{{ data.cnName }} |
|||
</span> |
|||
<span v-if="data.isType===2 || data.isType === 3 || data.isType===5" class="iconArch"> |
|||
{{ data.cnName }} |
|||
</span> |
|||
<span v-if="data.isType===4" class="iconFile"> |
|||
{{ data.cnName }} |
|||
</span> |
|||
</span> |
|||
</el-tree> |
|||
</div> |
|||
<div class="collectMove-right"> |
|||
<div class="head-search"> |
|||
<el-input v-model="query.blurry" clearable size="small" placeholder="输入题名或档号搜索" prefix-icon="el-icon-search" style="width: 200px;" class="filter-item" @keyup.enter.native="crud.toQuery" /> |
|||
<rrOperation /> |
|||
</div> |
|||
<div class="table-list"> |
|||
<el-table :data="crud.data" style="width: 100%" height="380"> |
|||
<el-table-column type="selection" :reserve-selection="true" width="55" align="center" /> |
|||
<el-table-column prop="number" label="题名" width="120" /> |
|||
<el-table-column prop="operator" label="档号" width="120" /> |
|||
<el-table-column prop="operationType" label="年度" width="120" /> |
|||
<el-table-column prop="file" label="所属门类" width="160" /> |
|||
<el-table-column prop="createDate" label="所属分类" width="200" /> |
|||
<el-table-column prop="createDate" label="起始时间" width="200" /> |
|||
<el-table-column prop="createDate" label="终止时间" width="200" /> |
|||
</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 class="move-checked"> |
|||
<el-checkbox-group v-model="checkList"> |
|||
<div class="checkbox-style"> |
|||
<span>移动电子文件</span> |
|||
<el-checkbox label="移动电子文件" /> |
|||
</div> |
|||
<div class="checkbox-style"> |
|||
<span>保留原条目</span> |
|||
<el-checkbox label="保留原条目" /> |
|||
</div> |
|||
</el-checkbox-group> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button type="text" @click="collectMoveFileVisible = false">取消</el-button> |
|||
<el-button type="primary" @click.native="handleComfireCollectMoveFile">确定</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
import CRUD, { presenter, crud } from '@crud/crud' |
|||
import rrOperation from '@crud/RR.operation' |
|||
import treeJson from './tree.json' |
|||
export default { |
|||
name: 'CollectMoveFile', |
|||
components: { rrOperation }, |
|||
mixins: [presenter(), crud()], |
|||
cruds() { |
|||
return CRUD({ |
|||
url: 'api/archives-type/menu', |
|||
crudMethod: { }, |
|||
optShow: { |
|||
add: false, |
|||
edit: false, |
|||
del: false, |
|||
reset: true, |
|||
download: false, |
|||
group: false |
|||
} |
|||
}) |
|||
}, |
|||
data() { |
|||
return { |
|||
query: { |
|||
blurry: '' |
|||
}, |
|||
collectMoveFileVisible: false, |
|||
treeList: [], |
|||
defaultProps: { |
|||
children: 'children', |
|||
label: 'label' |
|||
}, |
|||
tableData: [], |
|||
page: { |
|||
page: 1, |
|||
size: 10, |
|||
total: 0 |
|||
}, |
|||
checkList: [] |
|||
} |
|||
}, |
|||
created() { |
|||
this.treeList = treeJson.data |
|||
}, |
|||
mounted() { |
|||
}, |
|||
methods: { |
|||
handleComfireCollectMoveFile() { |
|||
this.collectMoveFileVisible = false |
|||
}, |
|||
handleNodeClick(data) { |
|||
console.log(data) |
|||
}, |
|||
handleSizeChange(size) { |
|||
this.page.size = size |
|||
this.page.page = 1 |
|||
}, |
|||
handleCurrentPage(val) { |
|||
this.page.page = val |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang='scss' scoped> |
|||
.collectMoveFile-dialog{ |
|||
::v-deep .el-dialog{ |
|||
width: 895px; |
|||
.search-btn-box{ |
|||
.el-button{ |
|||
margin-left: 10px; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
.collectMove-main{ |
|||
display: flex; |
|||
justify-content: space-between; |
|||
height: 557px; |
|||
border: 1px solid #E6E8ED; |
|||
.collectMove-left{ |
|||
width: 297px; |
|||
.arc-title{ |
|||
position: relative; |
|||
height: 48px; |
|||
line-height: 48px; |
|||
text-align: center; |
|||
font-size: 16px; |
|||
color: #0C0E1E; |
|||
background-color: #F3F5F8; |
|||
&::after{ |
|||
content: ""; |
|||
position: absolute; |
|||
right: 12px; |
|||
bottom: 0; |
|||
} |
|||
} |
|||
.arc-title-top{ |
|||
&::after{ |
|||
width: 44px; |
|||
height: 35px; |
|||
background: url("~@/assets/images/collect/daml.png") no-repeat; |
|||
background-size: 100% 100%; |
|||
} |
|||
} |
|||
} |
|||
.collectMove-right{ |
|||
width: 579px; |
|||
border-left: 1px solid #E6E8ED; |
|||
.head-search{ |
|||
padding: 20px 20px 0 0; |
|||
justify-content: flex-end; |
|||
} |
|||
.table-list{ |
|||
height: 440px; |
|||
border-bottom: 1px solid #E6E8ED; |
|||
.el-pagination{ |
|||
margin: 15px 0 !important; |
|||
} |
|||
} |
|||
.move-checked{ |
|||
padding: 0 30px; |
|||
height: 42px; |
|||
line-height: 42px; |
|||
.el-checkbox-group{ |
|||
display: flex; |
|||
justify-content: flex-start; |
|||
} |
|||
.checkbox-style{ |
|||
font-size: 14px; |
|||
color: #0C0E1E; |
|||
margin-right: 30px; |
|||
} |
|||
.el-checkbox{ |
|||
margin-right: 20px; |
|||
::v-deep .el-checkbox__label{ |
|||
opacity: 0; |
|||
margin-left: -100px; |
|||
padding-left: 0; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
.dialog-footer{ |
|||
margin-top: 20px; |
|||
} |
|||
</style> |
@ -0,0 +1,117 @@ |
|||
{ |
|||
"code": 200, |
|||
"message": "操作成功", |
|||
"data": [ |
|||
{ |
|||
"id": "0ED1F5CF0EBAC01B914132", |
|||
"cnName": "档案", |
|||
"enName": "archives", |
|||
"pid": "0", |
|||
"isType": 1, |
|||
"categorySeq": 0, |
|||
"children": [ |
|||
{ |
|||
"id": "D70C5574B8DCE7A65F7037", |
|||
"cnName": "文书档案", |
|||
"enName": null, |
|||
"pid": "0ED1F5CF0EBAC01B914132", |
|||
"isType": 1, |
|||
"categorySeq": null, |
|||
"children": [ |
|||
{ |
|||
"id": "F0F59CC713C83AE4BAB99B", |
|||
"cnName": "文书档案(案卷)", |
|||
"enName": "tb_2023_06_21_1687319104861", |
|||
"pid": "D70C5574B8DCE7A65F7037", |
|||
"isType": 3, |
|||
"categorySeq": 1, |
|||
"children": [ |
|||
{ |
|||
"id": "CD135F6A77018CE04D4FDB", |
|||
"cnName": "文书档案(卷内)", |
|||
"enName": "tb_2023_06_21_1687319123605", |
|||
"pid": "F0F59CC713C83AE4BAB99B", |
|||
"isType": 4, |
|||
"categorySeq": null, |
|||
"children": [], |
|||
"remark": null, |
|||
"typeMetic": true, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1687319124000, |
|||
"update_time": 1687319124000 |
|||
} |
|||
], |
|||
"remark": null, |
|||
"typeMetic": true, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1687319105000, |
|||
"update_time": 1687319114000 |
|||
}, |
|||
{ |
|||
"id": "005E76FEC5A2AAB368CA1F", |
|||
"cnName": "文书档案(资料)", |
|||
"enName": "tb_2023_06_21_1687330804487", |
|||
"pid": "D70C5574B8DCE7A65F7037", |
|||
"isType": 5, |
|||
"categorySeq": 2, |
|||
"children": [], |
|||
"remark": null, |
|||
"typeMetic": true, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1687330805000, |
|||
"update_time": 1687330811000 |
|||
} |
|||
], |
|||
"remark": null, |
|||
"typeMetic": true, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1687243138000, |
|||
"update_time": 1687243138000 |
|||
}, |
|||
{ |
|||
"id": "D70C5574B8DCE7A65F7038", |
|||
"cnName": "基建档案", |
|||
"enName": null, |
|||
"pid": "0ED1F5CF0EBAC01B914132", |
|||
"isType": 1, |
|||
"categorySeq": null, |
|||
"children": [ |
|||
{ |
|||
"id": "F0F59CC713C83AE4BAB99B", |
|||
"cnName": "基建档案(项目)", |
|||
"enName": "tb_2023_06_21_1687319104861", |
|||
"pid": "D70C5574B8DCE7A65F7037", |
|||
"isType": 2, |
|||
"categorySeq": 1, |
|||
"children": [ |
|||
], |
|||
"remark": null, |
|||
"typeMetic": true, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1687319105000, |
|||
"update_time": 1687319114000 |
|||
} |
|||
], |
|||
"remark": null, |
|||
"typeMetic": true, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1687243138000, |
|||
"update_time": 1687243138000 |
|||
} |
|||
], |
|||
"remark": "", |
|||
"typeMetic": true, |
|||
"create_by": null, |
|||
"update_by": "admin", |
|||
"create_time": null, |
|||
"update_time": 1655112365000 |
|||
} |
|||
], |
|||
"timestamp": 1688967875784 |
|||
} |
@ -0,0 +1,63 @@ |
|||
<template> |
|||
<!-- 合卷 --> |
|||
<el-dialog class="fileUpload-dialog" title="合卷" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :visible.sync="combineFileVisible"> |
|||
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
|||
<el-form-item label="合并到" prop="combineNumber"> |
|||
<el-select v-model="form.combineNumber" placeholder="请选择" style="width: 400px;"> |
|||
<el-option |
|||
v-for="item in options" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value" |
|||
/> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button type="text" @click="combineFileVisible = false">取消</el-button> |
|||
<el-button type="primary" @click.native="handleComfireCombineFile">确定</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: 'CombineFile', |
|||
components: { }, |
|||
mixins: [], |
|||
data() { |
|||
return { |
|||
combineFileVisible: false, |
|||
form: { |
|||
combineNumber: '' |
|||
}, |
|||
options: [ |
|||
{ |
|||
value: '1', |
|||
label: '档号1' |
|||
} |
|||
], |
|||
rules: { |
|||
combineNumber: [ |
|||
{ required: true, message: '请选择', trigger: 'change' } |
|||
] |
|||
} |
|||
} |
|||
}, |
|||
created() { |
|||
}, |
|||
mounted() { |
|||
}, |
|||
methods: { |
|||
handleComfireCombineFile() { |
|||
this.combineFileVisible = false |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang='scss' scoped> |
|||
.dialog-footer{ |
|||
margin-top: 0; |
|||
} |
|||
</style> |
@ -0,0 +1,103 @@ |
|||
<template> |
|||
<!-- 插件 --> |
|||
<el-dialog class="insertFile-dialog" title="插件" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :visible.sync="insertFileVisible"> |
|||
<div class="head-search"> |
|||
<el-input v-model="query.blurry" clearable size="small" placeholder="输入题名搜索" prefix-icon="el-icon-search" style="width: 200px;" class="filter-item" @keyup.enter.native="crud.toQuery" /> |
|||
<rrOperation /> |
|||
</div> |
|||
<el-table :data="crud.data" style="width: 100%"> |
|||
<el-table-column type="selection" :reserve-selection="true" width="55" align="center" /> |
|||
<el-table-column prop="number" label="题名" width="120" /> |
|||
<el-table-column prop="operator" label="档号" width="120" /> |
|||
<el-table-column prop="operationType" label="年度" width="120" /> |
|||
<el-table-column prop="file" label="所属门类" width="160" /> |
|||
<el-table-column prop="createDate" label="所属分类" width="200" /> |
|||
<el-table-column prop="createDate" label="起始时间" width="200" /> |
|||
<el-table-column prop="createDate" label="终止时间" width="200" /> |
|||
</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 slot="footer" class="dialog-footer"> |
|||
<el-button type="text" @click="insertFileVisible = false">取消</el-button> |
|||
<el-button type="primary" @click.native="handleComfireInsertFile">确定</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
import CRUD, { presenter, crud } from '@crud/crud' |
|||
import rrOperation from '@crud/RR.operation' |
|||
export default { |
|||
name: 'InsertFile', |
|||
components: { rrOperation }, |
|||
mixins: [presenter(), crud()], |
|||
cruds() { |
|||
return CRUD({ |
|||
url: 'api/archives-type/menu', |
|||
crudMethod: { }, |
|||
optShow: { |
|||
add: false, |
|||
edit: false, |
|||
del: false, |
|||
reset: true, |
|||
download: false, |
|||
group: false |
|||
} |
|||
}) |
|||
}, |
|||
data() { |
|||
return { |
|||
query: { |
|||
blurry: '' |
|||
}, |
|||
insertFileVisible: false, |
|||
tableData: [], |
|||
page: { |
|||
page: 1, |
|||
size: 10, |
|||
total: 0 |
|||
} |
|||
} |
|||
}, |
|||
created() { |
|||
}, |
|||
mounted() { |
|||
}, |
|||
methods: { |
|||
handleComfireInsertFile() { |
|||
this.insertFileVisible = false |
|||
}, |
|||
handleSizeChange(size) { |
|||
this.page.size = size |
|||
this.page.page = 1 |
|||
}, |
|||
handleCurrentPage(val) { |
|||
this.page.page = val |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang='scss' scoped> |
|||
.insertFile-dialog{ |
|||
::v-deep .el-dialog{ |
|||
width: 815px; |
|||
.search-btn-box{ |
|||
.el-button{ |
|||
margin-left: 10px; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
.dialog-footer{ |
|||
margin-top: 20px; |
|||
} |
|||
</style> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue