Browse Source

档案管理界面

master
xuhuajiao 1 year ago
parent
commit
cd16556cac
  1. 12
      src/assets/styles/archives-manage.scss
  2. 28
      src/views/archivesManage/destructionList/index.vue
  3. 183
      src/views/archivesManage/exportTask/index.vue
  4. 66
      src/views/archivesManage/exportTask/module/detail.vue
  5. 2
      src/views/archivesManage/managementLibrary/anjuan/tableList.vue
  6. 2
      src/views/archivesManage/managementLibrary/file/index.vue
  7. 141
      src/views/archivesManage/managementLibrary/module/collectHeader.vue
  8. 95
      src/views/archivesManage/managementLibrary/module/exportZip/index.vue
  9. 127
      src/views/archivesManage/managementLibrary/module/handOverForm.vue
  10. 98
      src/views/archivesManage/managementLibrary/module/offLineHandover/index.vue
  11. 120
      src/views/archivesManage/managementLibrary/module/onlineHandover/index.vue
  12. 29
      src/views/archivesManage/managementLibrary/module/packingBox/index.vue
  13. 28
      src/views/archivesManage/moveInventory/index.vue
  14. 152
      src/views/archivesManage/openInventory/index.vue
  15. 79
      src/views/archivesManage/openInventory/module/detail.vue
  16. 28
      src/views/archivesManage/recycled/index.vue
  17. 1
      src/views/collectReorganizi/collectionLibrary/module/blukEditing/index.vue

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

@ -259,13 +259,13 @@
}
.file-down,
.packing-handle-btn,
.packing-recall-btn{
.packing-recall-btn,
.handOver-btn{
display: block;
width: 64px;
height: 28px;
line-height: 26px;
padding: 0;
color: #41A4FF !important;
border-radius: 3px;
margin: 0 auto;
&::before{
@ -285,10 +285,12 @@
.packing-handle-btn{
background-color: transparent !important;
border-color: #41A4FF !important;
color: #41A4FF !important;
}
.packing-recall-btn{
background-color: $arcRed;
border-color: $arcRed;
background-color: transparent !important;
border-color: #FD7359 !important;
color: #FD7359 !important;
}
@ -470,7 +472,7 @@
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
margin-top: 2vh !important;
margin-top: 0 !important;
}
// .el-dialog__body{
// padding: 0;

28
src/views/archivesManage/destructionList/index.vue

@ -0,0 +1,28 @@
<template>
<div>
<InventoryModule :invent-type="2" />
</div>
</template>
<script>
import InventoryModule from '../openInventory/index'
export default {
name: 'DestructionList',
components: { InventoryModule },
data() {
return {
isRecycle: true
}
},
computed: {
},
created() {
},
methods: {
}
}
</script>
<style lang='scss' scoped>
</style>

183
src/views/archivesManage/exportTask/index.vue

@ -0,0 +1,183 @@
<template>
<!-- 开放清册 -->
<div class="app-container row-container">
<div class="connection-header collect-header" style="margin-bottom: 20px;">
<div class="head-search" style="margin-bottom: 0;">
<el-select
v-model="selectStatus"
style="margin-right: 10px; width: 100px;"
placeholder="请选择"
>
<el-option
v-for="item in statusOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
<el-input v-model="query.search" clearable size="small" placeholder="输入关键字可模糊搜索" prefix-icon="el-icon-search" style="width: 200px;" class="filter-item" @keyup.enter.native="handleSearch()" @clear="handleSearch()" />
<el-button class="filter-item filter-search" size="mini" type="success" icon="el-icon-search" @click="handleSearch()">搜索</el-button>
<el-button class="filter-item filter-refresh" size="mini" type="warning" icon="el-icon-refresh-left" @click="resetQuery">重置</el-button>
</div>
<el-button size="mini" :disabled="selections.length === 0" @click="doExport(selections)">
<i class="iconfont icon-daochu" />
导出
</el-button>
</div>
<el-table ref="table" :data="tableData" style="width: 100%;" height="calc(100vh - 330px)" @select="handleCurrentChange" @selection-change="selectionChangeHandler" @row-dblclick="handleDetail">
<el-table-column type="selection" align="center" width="55" />
<el-table-column prop="title" label="导出类型" />
<el-table-column prop="title" label="包名" />
<el-table-column prop="reason" label="任务条数" />
<el-table-column prop="reason" label="操作人" />
<el-table-column prop="dept" label="任务状态">
<template>
<span class="row-state ing-state">导出中</span>
<span class="row-state end-state">导出成功</span>
<span class="row-state cancel-state">导出失败</span>
</template>
</el-table-column>
<el-table-column prop="create_time" label="操作时间">
<template slot-scope="scope">
<div>{{ scope.row.create_time | parseTime }}</div>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<el-pagination
v-if="tableData.length !== 0"
: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"
/>
<Detail ref="mDetail" />
</div>
</template>
<script>
import Detail from './module/detail'
import { mapGetters } from 'vuex'
const data = [
{
'id': '005E76FEC5A2AAB368CA1F',
'code': '230c4a438fa84b2c9a0405c99e7f5cb1',
'status': 1,
'remark': null,
'create_by': 'admin',
'create_time': 1687330805000
},
{
'id': '005E76FEC5A2AAB368CA1F',
'code': '230c4a438fa84b2c9a0405c99e7f5cb2',
'status': 0,
'remark': '请检查zip包格式是否正确',
'create_by': 'admin',
'create_time': 1687330805000
}
]
export default {
name: 'ExportTask',
components: { Detail },
data() {
return {
statusOptions: [
{
label: '全部',
value: '全部'
},
{
label: '导出中',
value: '导出中'
},
{
label: '导出成功',
value: '导出成功'
},
{
label: '导出失败',
value: '导出失败'
}
],
selectStatus: '全部',
query: {
search: ''
},
tableData: [],
selections: [],
page: {
page: 1,
size: 10,
total: 0
}
}
},
computed: {
...mapGetters([
'baseApi'
])
},
created() {
this.tableData = data
},
mounted() {
},
methods: {
resetQuery() {
this.query = {}
},
handleSearch() {
},
handleDetail() {
this.$refs.mDetail.detialVisible = true
},
//
handleCurrentChange(selection, row) {
console.log('触发单选', row)
this.selections = selection
},
handleSizeChange(size) {
this.page.size = size
this.page.page = 1
},
handleCurrentPage(val) {
this.page.page = val
},
selectionChangeHandler(val) {
this.selections = val
},
doExport(data) {
this.$confirm('此操作将导出所选数据' + '<span>你是否还要继续?</span>', '提示', {
confirmButtonText: '继续',
cancelButtonText: '取消',
type: 'warning',
dangerouslyUseHTMLString: true
}).then(() => {
const ids = []
data.forEach(val => {
ids.push(val.id)
})
// const params = {
// 'roleIds': ids
// }
// exportFile(this.baseApi + '/api/role/exportRole?' + qs.stringify(params, { indices: false }))
}).catch(() => {
})
}
}
}
</script>
<style lang="scss" scoped>
@import "~@/assets/styles/collect-reorganizi.scss";
.connection-header{
padding: 0 !important;
}
</style>

66
src/views/archivesManage/exportTask/module/detail.vue

@ -0,0 +1,66 @@
<template>
<!-- 详情 -->
<el-dialog title="导出任务详情" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :visible.sync="detialVisible">
<div class="setting-dialog">
<ul class="hitch-info">
<li><span>包名</span>离线移交包001</li>
<li><span>操作时间</span>2016-09-21 08:50:08</li>
<li><span>操作人</span>admin</li>
<li><span>导出方式</span>离线移交</li>
<li><span>任务状态</span><i class="row-state end-state">导出成功</i></li>
</ul>
<div style="display: flex; justify-content: flex-end; margin-bottom: 12px;">
<el-button class="task-btn"><i class="iconfont icon-xiazai" />下载文件</el-button>
</div>
<el-table ref="table" :data="tableData" style="width: 100%;">
<el-table-column type="index" align="center" width="55" label="序号" />
<el-table-column prop="name" label="所属全宗" />
<el-table-column prop="reason2" label="门类名称" />
<el-table-column prop="reason2" label="整理方式" />
<el-table-column prop="reason2" label="项目号/档号" />
<el-table-column prop="reason2" label="题名" />
<el-table-column prop="reason" label="状态" align="center">
<template>
<span class="row-state end-state">成功</span>
<span class="row-state cancel-state">失败</span>
</template>
</el-table-column>
</el-table>
</div>
</el-dialog>
</template>
<script>
const data = [{}, {}]
export default {
name: 'Detail',
components: { },
data() {
return {
detialVisible: false,
tableData: []
}
},
created() {
},
mounted() {
this.tableData = data
},
methods: {
}
}
</script>
<style lang='scss' scoped>
@import "~@/assets/styles/collect-reorganizi.scss";
.row-state{
font-style: normal;
padding: 0 8px;
}
.task-btn{
width: 104px;
height: 32px;
line-height: 30px;
padding: 0;
}
</style>

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

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

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

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

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

@ -78,13 +78,13 @@
</el-menu-item-group>
<el-menu-item-group v-if="selectedCategory.isType === 2" class="collect-submenu-group submenu-tree">
<template slot="title">档案移交</template>
<el-menu-item index="2-4">在线移交</el-menu-item>
<el-menu-item index="2-5">离线移交</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-group>
<el-menu-item v-if="selectedCategory.isType === 2" index="2-6">导出ZIP包</el-menu-item>
<el-menu-item v-if="selectedCategory.isType === 2" index="2-7">档案退回</el-menu-item>
<el-menu-item v-if="isTitleType === 3 " index="2-8">开放鉴定</el-menu-item>
<el-menu-item v-if="isTitleType === 3 " index="2-9">销毁鉴定</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.isType === 2" 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-9" @click="handleJD(1)">销毁鉴定</el-menu-item>
</el-menu-item-group>
</el-submenu>
<el-submenu index="3">
@ -133,21 +133,15 @@
<!-- 绑定标签 -->
<binding-tag-dlg ref="bindingTag" :binding-id="selections[0] && selections[0].id" :binding-type="1" binding-txt="档案" />
<!-- 装盒 / 分卷装盒 -->
<PackingBox ref="packingBox" :selected-category="selectedCategory" />
<!-- 导出 -->
<el-dialog class="tip-dialog" title="导出" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :visible.sync="exportVisible">
<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="downloadVisible = false">取消</el-button>
<el-button type="primary" @click.native="handleExportConfirm">确定</el-button>
</div>
</div>
</el-dialog>
<PackingBox ref="packingBox" :selected-category="selectedCategory" :selections="selections" />
<!-- 在线移交 -->
<OnlineHandover ref="onlineHandover" :selected-category="selectedCategory" :selections="selections" />
<!-- 离线移交 -->
<OffLineHandover ref="offLineHandover" :selected-category="selectedCategory" :selections="selections" />
<!-- 导出zip -->
<ExportZip ref="exportZip" :selected-category="selectedCategory" :selections="selections" />
<!-- 开放审核 / 销毁鉴定 -->
<HandOverForm ref="formModule" :selected-category="selectedCategory" :selections="selections" />
<!-- 打印 -->
<Print ref="printRef" />
@ -201,11 +195,15 @@ import PreviewForm from '@/views/components/category/PreviewForm'
import Print from './print/index'
import BindingTagDlg from '@/views/components/BindingTagDlg'
import PackingBox from './packingBox/index'
// import { exportFile } from '@/utils/index'
import OnlineHandover from './onlineHandover/index'
import OffLineHandover from './offLineHandover/index'
import ExportZip from './exportZip/index'
import HandOverForm from './handOverForm'
import { downloadFile } from '@/utils/index'
import { mapGetters } from 'vuex'
export default {
name: 'CollectHeader',
components: { Treeselect, PreviewForm, BindingTagDlg, Print, PackingBox },
components: { Treeselect, PreviewForm, BindingTagDlg, Print, PackingBox, OnlineHandover, OffLineHandover, ExportZip, HandOverForm },
mixins: [manageLibraryCrud],
props: {
selectedCategory: {
@ -545,10 +543,38 @@ export default {
},
//
handleExport() {
this.exportVisible = true
},
handleExportConfirm() {
this.exportVisible = false
if (this.selections.length === 0) {
this.$message('您还未勾选需要操作的条目,请先确认!')
return 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
// }
// 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)
// })
}).catch(() => {
})
},
//
handlePrint() {
@ -565,6 +591,12 @@ export default {
this.$message('下载操作只可勾选唯一目标条目,请先确认!')
return false
}
const url = this.baseApi + '/downloadFile' + this.selections[0].file_path
fetch(url).then(res => res.blob()).then(blob => {
downloadFile(blob, this.selections[0].file_name.split('.')[0], this.selections[0].file_type)
}).catch(() => {
this.$message.error('下载文件失败!')
})
},
// -
toRecover() {
@ -588,6 +620,7 @@ export default {
handleCompletelyDelete() {
this.completelyDeleteVisible = false
},
// /
handlePackingBox(type) {
if (this.selections.length === 0) {
this.$message('您还未勾选需要操作的条目,请先确认!')
@ -601,6 +634,60 @@ export default {
// }
this.$refs.packingBox.packingVisible = true
this.$refs.packingBox.isPackingOrPartType = type
if (type === 0) {
this.$refs.packingBox.packingTitle = '装盒'
} else {
this.$refs.packingBox.packingTitle = '分卷装盒'
}
},
// 线
handleOnlineHandover() {
if (this.selections.length === 0) {
this.$message('您还未勾选需要操作的条目,请先确认!')
return false
}
this.$refs.onlineHandover.onlineHandoverVisible = true
},
// 线
handleOffLineHandover() {
if (this.selections.length === 0) {
this.$message('您还未勾选需要操作的条目,请先确认!')
return false
}
this.$refs.offLineHandover.offLineHandoverVisible = true
},
// zip
handleExportZip() {
if (this.selections.length === 0) {
this.$message('您还未勾选需要操作的条目,请先确认!')
return false
}
this.$refs.exportZip.exportZipVisible = true
},
// 退
handleArcReturn() {
if (this.selections.length === 0) {
this.$message('您还未勾选需要操作的条目,请先确认!')
return false
}
this.$confirm('此移出将把会所选条目退回到预归档库' + '<span>你是否还要继续?</span>', '提示', {
confirmButtonText: '继续',
cancelButtonText: '取消',
type: 'warning',
dangerouslyUseHTMLString: true
}).then(() => {
console.log('subimit')
}).catch(() => {
})
},
// /
handleJD(type) {
if (type === 0) {
this.$refs.formModule.overDetialTitle = '开放审核-流程'
} else {
this.$refs.formModule.overDetialTitle = '销毁鉴定-流程'
}
this.$refs.formModule.overDetialVisible = true
},
closeDialog(data) {
this.formVisible = false

95
src/views/archivesManage/managementLibrary/module/exportZip/index.vue

@ -0,0 +1,95 @@
<template>
<div>
<!--导出ZIP包-->
<el-dialog class="offlineDialog" title="导出ZIP包" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :visible.sync="exportZipVisible" :before-close="handleClose">
<div class="setting-dialog">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="导出内容" prop="exportRange">
<el-checkbox v-model="form.catalog" label="件目录" disabled />
<el-checkbox v-model="form.file" label="电子原文" />
</el-form-item>
<el-form-item label="导出包名称" prop="name">
<el-input v-model="form.name" style="width: 400px;" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="handleClose">取消</el-button>
<el-button type="primary" @click.native="onSubmitExport('form')">确定</el-button>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
name: 'ExportZip',
components: { },
props: {
selectedCategory: {
type: Object,
default: function() {
return {}
}
},
selections: {
type: Array,
default: () => []
}
},
data() {
return {
exportZipVisible: false,
form: {
catalog: true,
file: false,
name: ''
},
rules: {
name: [
{ required: true, message: '请输入导出包名称', trigger: 'blur' }
]
}
}
},
created() {
},
methods: {
onSubmitExport(formName) {
this.printTitle = this.form.module
this.$refs[formName].validate((valid) => {
if (valid) {
this.$message('submit!')
this.exportZipVisible = false
this.$refs[formName].resetFields()
} else {
console.log('error submit!!')
return false
}
})
},
// dialog - close
handleClose(done) {
this.form = {}
this.$refs.form.resetFields()
this.exportZipVisible = false
// done()
}
}
}
</script>
<style lang='scss' scoped>
.offlineDialog{
::v-deep .el-dialog{
width: 590px !important;
.el-dialog__body{
padding: 15px 0;
}
.dialog-footer{
margin-top: 40px;
}
}
}
</style>

127
src/views/archivesManage/managementLibrary/module/handOverForm.vue

@ -0,0 +1,127 @@
<template>
<el-dialog class="detail-dialog" :title="overDetialTitle" :visible.sync="overDetialVisible" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :before-close="handleClose">
<div class="setting-dialog">
<div class="detail-tab tab-content">
<ul class="tab-nav" style="padding: 0;">
<li :class="{'active-tab-nav': activeIndex == 0 }" @click="changeActiveTab(0)">流程表单</li>
<li :class="{'active-tab-nav': activeIndex == 1 }" @click="changeActiveTab(1)">流程图</li>
</ul>
<div v-if="activeIndex == 0">
<el-form ref="form" :model="form" :rules="rules" inline label-width="110px">
<el-form-item label="标题" prop="title">
<el-input v-model="form.title" style="width: 280px;" />
</el-form-item>
<el-form-item label="申请时间" prop="date">
<el-input v-model="form.date" style="width: 280px;" disabled />
</el-form-item>
<el-form-item label="申请人" prop="applicant">
<el-input v-model="form.applicant" style="width: 280px;" disabled />
</el-form-item>
<el-form-item label="申请人部门" prop="dept">
<el-input v-model="form.dept" style="width: 280px;" disabled />
</el-form-item>
<el-form-item label="申请理由" prop="remark">
<el-input v-model="form.remark" type="textarea" style="width: 660px;" :rows="4" />
</el-form-item>
</el-form>
<el-table
ref="table"
:data="tableData"
style="min-width: 100%"
height="300"
>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="fonds" label="所属全宗" min-width="80" align="center" />
<el-table-column prop="fondsName" label="门类名称" min-width="120" align="center" />
<el-table-column prop="fondsAddr" label="整理方式" min-width="100" align="center" />
<el-table-column prop="fondsAddr" label="项目号/档号" min-width="160" align="center" />
<el-table-column prop="fondsAddr" label="题名" min-width="160" align="center" />
</el-table>
</div>
<div v-if="activeIndex == 1" class="tab-img">
<img :src="'data:image/jpeg;base64,'+ srcImg" alt="" :onerror="defaultImg">
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitHandOverForm">提交</el-button>
</div>
</div>
</el-dialog>
</template>
<script>
const data = [{}, {}]
export default {
name: 'HandOverForm',
components: { },
props: {
selectedCategory: {
type: Object,
default: function() {
return {}
}
}
},
data() {
return {
overDetialTitle: '',
activeIndex: 0,
overDetialVisible: false,
form: {
title: null,
date: null,
applicant: null,
dept: null,
remark: null
},
rules: {
title: [
{ required: true, message: '标题不可为空', trigger: 'blur' }
]
},
defaultImg: 'this.src="' + require('@/assets/images/system/default-img.jpg') + '"',
srcImg: null
}
},
created() {
this.tableData = data
},
methods: {
changeActiveTab(data) {
this.activeIndex = data
if (this.activeIndex === 0) {
console.log('流程表单')
} else if (this.activeIndex === 1) {
console.log('流程图')
}
},
submitHandOverForm() {
this.$refs['form'].validate((valid) => {
if (valid) {
alert('submit!')
} else {
console.log('error submit!!')
return false
}
})
},
// dialog - close
handleClose(done) {
this.overDetialVisible = false
this.$refs['form'].resetFields()
done()
}
}
}
</script>
<style lang="scss" scoped>
.tab-img{
height: 440px;
overflow: hidden;
img{
display: block;
width: 100%;
// height: 100%;
}
}
</style>

98
src/views/archivesManage/managementLibrary/module/offLineHandover/index.vue

@ -0,0 +1,98 @@
<template>
<div>
<el-dialog class="offlineDialog" title="离线移交" :visible.sync="offLineHandoverVisible" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :before-close="handleClose">
<div class="setting-dialog">
<div class="selct-data-head">
<p v-if="selectedCategory.arrangeType === 1">数据来源文件<span>{{ selections.length }}</span>条数据</p>
<!-- totalSumAll -->
<p v-else>数据来源案卷<span>{{ selections.length }}</span>条数据 卷内<span>{{ 111 }}</span>条数据</p>
</div>
<el-form ref="offLineForm" :model="offLineForm" :rules="rules" label-width="126px">
<el-form-item label="导出移交包名称" prop="name">
<el-input v-model="offLineForm.name" style="width: 400px;" />
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="handleClose">取消</el-button>
<el-button type="primary" @click="submitOffLine">确认</el-button>
</div>
</el-dialog>
<HandOverForm ref="handoverForm" :selected-category="selectedCategory" />
</div>
</template>
<script>
const data = [{}, {}]
import HandOverForm from '../handOverForm'
export default {
name: 'OffLineHandover',
components: { HandOverForm },
// inject: ['caseData', 'recycleMain'],
props: {
selectedCategory: {
type: Object,
default: function() {
return {}
}
},
selections: {
type: Array,
default: () => []
}
},
data() {
return {
offLineHandoverVisible: false,
offLineForm: {
name: null
},
rules: {
name: [
{ required: true, message: '请输入移交包名称', trigger: 'blur' }
]
}
}
},
created() {
this.tableData = data
},
methods: {
submitOffLine() {
this.$refs['offLineForm'].validate((valid) => {
if (valid) {
this.offLineHandoverVisible = false
this.$refs.handoverForm.overDetialVisible = true
this.$refs.handoverForm.overDetialTitle = '离线移交-流程'
} else {
console.log('error submit!!')
return false
}
})
},
// dialog - close
handleClose(done) {
this.offLineForm = {}
this.$refs.offLineForm.resetFields()
this.offLineHandoverVisible = false
// done()
}
}
}
</script>
<style lang="scss" scoped>
.offlineDialog{
::v-deep .el-dialog{
width: 590px !important;
.el-dialog__body{
padding: 15px 0;
}
.selct-data-head{
margin-bottom: 20px;
}
.dialog-footer{
margin-top: 0;
}
}
}
</style>

120
src/views/archivesManage/managementLibrary/module/onlineHandover/index.vue

@ -0,0 +1,120 @@
<template>
<div>
<el-dialog title="在线移交" :visible.sync="onlineHandoverVisible" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :before-close="handleClose">
<div class="setting-dialog">
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px;">
<div class="head-search" style="margin-bottom: 0;">
<!-- 搜索 -->
<el-input v-model="query.search" clearable size="small" placeholder="请输入全宗号或全宗名称检索" style="width:260px;margin-right: 10px;" class="filter-item" @keyup.enter.native="getListOver" @clear="getListOver" />
<el-button class="filter-item filter-search" size="mini" type="success" icon="el-icon-search" @click="getListOver">搜索</el-button>
</div>
<div class="selct-data-head">
<p v-if="selectedCategory.arrangeType === 1">数据来源文件<span>{{ selections.length }}</span>条数据</p>
<!-- totalSumAll -->
<p v-else>数据来源案卷<span>{{ selections.length }}</span>条数据 卷内<span>{{ 111 }}</span>条数据</p>
</div>
</div>
<el-table
ref="table"
:data="tableData"
style="min-width: 100%"
height="calc(100vh - 500px)"
>
<el-table-column prop="create_date" label="操作" width="90" align="center">
<template slot-scope="scope">
<el-button class="handOver-btn" @click="handleHandOver(scope.row)"><i class="iconfont icon-yijiao" />移交</el-button>
</template>
</el-table-column>
<el-table-column prop="fonds" label="全宗号" min-width="80" align="center" />
<el-table-column prop="fondsName" label="全宗名称" min-width="100" align="center" />
<el-table-column prop="fondsAddr" label="全宗简称" min-width="100" align="center" />
</el-table>
<!--分页组件-->
<el-pagination
v-if="tableData.length !== 0"
: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>
</el-dialog>
<HandOverForm ref="handoverForm" :selected-category="selectedCategory" />
</div>
</template>
<script>
const data = [{}, {}]
import HandOverForm from '../handOverForm'
export default {
name: 'OnlineHandover',
components: { HandOverForm },
// inject: ['caseData', 'recycleMain'],
props: {
selectedCategory: {
type: Object,
default: function() {
return {}
}
},
selections: {
type: Array,
default: () => []
}
},
data() {
return {
query: {
search: ''
},
onlineHandoverVisible: false,
tableData: [],
page: {
page: 1,
size: 10,
total: 0
}
}
},
created() {
this.tableData = data
},
methods: {
getListOver() {
},
handleHandOver(row) {
this.onlineHandoverVisible = false
this.$refs.handoverForm.overDetialVisible = true
this.$refs.handoverForm.overDetialTitle = '在线移交-流程'
},
handleSizeChange(size) {
this.page.size = size
this.page.page = 1
this.getListOver()
},
handleCurrentPage(val) {
this.page.page = val
this.getListOver()
},
// dialog - close
handleClose(done) {
this.onlineHandoverVisible = false
done()
}
}
}
</script>
<style lang="scss" scoped>
.el-table .el-button{
padding: 0;
}
.handOver-btn{
.iconfont{
font-size: 14px !important;
}
}
</style>

29
src/views/archivesManage/managementLibrary/module/packingBox/index.vue

@ -1,5 +1,5 @@
<template>
<el-dialog class="partPackingDialog" title="装盒" :visible.sync="packingVisible" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :before-close="handleClose">
<el-dialog class="partPackingDialog" :title="packingTitle" :visible.sync="packingVisible" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :before-close="handleClose">
<div class="setting-dialog">
<div class="packing-head">
<div class="head-search">
@ -112,8 +112,8 @@
@row-click="clickRowHandler"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="文件" prop="children_num" width="55" align="center" />
<!-- <el-table-column prop="fonds" label="全宗" min-width="100" align="center" /> -->
<!-- <el-table-column label="文件" prop="children_num" width="55" align="center" /> -->
<el-table-column v-for="field in tableDisplayFields" :key="field.id" :label="field.fieldCnName" :align="field.displayformatType" :width="field.displayLength" show-overflow-tooltip>
<template slot="header">
<el-tooltip
@ -142,7 +142,7 @@
height="calc(100vh/2 - 200px)"
>
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="文件" prop="children_num" width="55" align="center" />
<!-- <el-table-column label="文件" prop="children_num" width="55" align="center" /> -->
<el-table-column v-for="field in tableDisplayFields" :key="field.id" :label="field.fieldCnName" :align="field.displayformatType" :width="field.displayLength" show-overflow-tooltip>
<template slot="header">
<el-tooltip
@ -162,7 +162,8 @@
</div>
</div>
<div v-if="isPackingOrPartType" slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleComfireCartoning">保存</el-button>
<el-button type="text">取消</el-button>
<el-button type="primary" @click="handleComfireCartoning">确定</el-button>
</div>
</div>
</el-dialog>
@ -191,7 +192,6 @@ const data = [
'create_time': 1695628425000,
'update_time': 1702971551000
}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}
]
export default {
name: 'Packing',
@ -207,26 +207,20 @@ export default {
default: function() {
return {}
}
},
selections: {
type: Array,
default: () => []
}
// collectLevel: {
// type: Number,
// default: function() {
// return null
// }
// }
// selections: {
// type: Array,
// default: () => []
// }
},
data() {
return {
packingTitle: '装盒',
packingData: [],
tableData: [],
selectTableData: [],
archivesTable: [],
selectArchivesTable: [],
selections: [],
tid: null,
caseName: null,
barcode: null,
@ -245,6 +239,7 @@ export default {
// select -
this.inputSelect = this.queryOption[0].value
this.tableData = data
this.selectTableData = data
},
methods: {
// -select

28
src/views/archivesManage/moveInventory/index.vue

@ -0,0 +1,28 @@
<template>
<div>
<InventoryModule :invent-type="3" />
</div>
</template>
<script>
import InventoryModule from '../openInventory/index'
export default {
name: 'MoveInventory',
components: { InventoryModule },
data() {
return {
isRecycle: true
}
},
computed: {
},
created() {
},
methods: {
}
}
</script>
<style lang='scss' scoped>
</style>

152
src/views/archivesManage/openInventory/index.vue

@ -0,0 +1,152 @@
<template>
<!-- 开放清册 -->
<div class="app-container row-container">
<div class="connection-header collect-header" style="margin-bottom: 20px;">
<div class="head-search" style="margin-bottom: 0;">
<el-input v-model="query.search" clearable size="small" placeholder="输入关键字可模糊搜索" prefix-icon="el-icon-search" style="width: 200px;" class="filter-item" @keyup.enter.native="handleSearch()" @clear="handleSearch()" />
<el-button class="filter-item filter-search" size="mini" type="success" icon="el-icon-search" @click="handleSearch()">搜索</el-button>
<el-button class="filter-item filter-refresh" size="mini" type="warning" icon="el-icon-refresh-left" @click="resetQuery">重置</el-button>
</div>
<el-button size="mini" :disabled="selections.length === 0" @click="doExport(selections)">
<i class="iconfont icon-daochu" />
导出
</el-button>
</div>
<el-table ref="table" :data="tableData" style="width: 100%;" height="calc(100vh - 330px)" @select="handleCurrentChange" @selection-change="selectionChangeHandler" @row-dblclick="handleDetail">
<el-table-column type="selection" align="center" width="55" />
<el-table-column v-if="inventType===3" prop="title" label="类型" />
<el-table-column prop="title" label="标题" />
<el-table-column prop="reason" label="申请理由" />
<el-table-column prop="reason" label="申请人" />
<el-table-column prop="dept" label="申请部门" />
<el-table-column prop="create_time" label="申请时间">
<template slot-scope="scope">
<div>{{ scope.row.create_time | parseTime }}</div>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<el-pagination
v-if="tableData.length !== 0"
: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"
/>
<Detail ref="mDetail" :invent-type="inventType" />
</div>
</template>
<script>
import Detail from './module/detail'
import { mapGetters } from 'vuex'
const data = [
{
'id': '005E76FEC5A2AAB368CA1F',
'code': '230c4a438fa84b2c9a0405c99e7f5cb1',
'status': 1,
'remark': null,
'create_by': 'admin',
'create_time': 1687330805000
},
{
'id': '005E76FEC5A2AAB368CA1F',
'code': '230c4a438fa84b2c9a0405c99e7f5cb2',
'status': 0,
'remark': '请检查zip包格式是否正确',
'create_by': 'admin',
'create_time': 1687330805000
}
]
export default {
name: 'OpenInventory',
components: { Detail },
props: {
inventType: {
type: Number,
default: 1
}
},
data() {
return {
query: {
search: ''
},
tableData: [],
selections: [],
page: {
page: 1,
size: 10,
total: 0
}
}
},
computed: {
...mapGetters([
'baseApi'
])
},
created() {
this.tableData = data
},
mounted() {
},
methods: {
resetQuery() {
this.query = {}
},
handleSearch() {
},
handleDetail() {
this.$refs.mDetail.detialVisible = true
},
//
handleCurrentChange(selection, row) {
console.log('触发单选', row)
this.selections = selection
},
handleSizeChange(size) {
this.page.size = size
this.page.page = 1
},
handleCurrentPage(val) {
this.page.page = val
},
selectionChangeHandler(val) {
this.selections = val
},
doExport(data) {
this.$confirm('此操作将导出所选数据' + '<span>你是否还要继续?</span>', '提示', {
confirmButtonText: '继续',
cancelButtonText: '取消',
type: 'warning',
dangerouslyUseHTMLString: true
}).then(() => {
const ids = []
data.forEach(val => {
ids.push(val.id)
})
// const params = {
// 'roleIds': ids
// }
// exportFile(this.baseApi + '/api/role/exportRole?' + qs.stringify(params, { indices: false }))
}).catch(() => {
})
}
}
}
</script>
<style lang="scss" scoped>
@import "~@/assets/styles/collect-reorganizi.scss";
.connection-header{
padding: 0 !important;
}
</style>

79
src/views/archivesManage/openInventory/module/detail.vue

@ -0,0 +1,79 @@
<template>
<!-- 详情 -->
<el-dialog :title="detialTitle" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :visible.sync="detialVisible">
<div class="setting-dialog">
<ul class="hitch-info">
<li><span>标题</span>230c4a438fa84b2c9a0405c99e7f5cb1</li>
<li><span>申请时间</span>2016-09-21 08:50:08</li>
<li><span>申请人</span>admin</li>
<li><span>申请部门</span>档案室</li>
<li><span>申请理由</span>达到开放标准</li>
<li v-if="inventType===3"><span>移交类型</span>外部移交</li>
</ul>
<el-table ref="table" :data="tableData" style="width: 100%;">
<el-table-column type="index" align="center" width="55" label="序号" />
<el-table-column prop="name" label="所属全宗" />
<el-table-column prop="reason2" label="门类名称" />
<el-table-column prop="reason2" label="整理方式" />
<el-table-column prop="reason2" label="项目号/档号" />
<el-table-column prop="reason2" label="题名" />
<el-table-column v-if="inventType===1" prop="reason" label="开放状态" align="center">
<template>
<span class="row-state end-state">开放</span>
</template>
</el-table-column>
<el-table-column v-if="inventType===2" prop="reason2" label="归档日期" />
<el-table-column v-if="inventType===2" prop="reason2" label="存档年限" />
<el-table-column v-if="inventType===2" prop="reason2" label="销毁日期" />
<el-table-column v-if="inventType===3" prop="reason2" label="移交日期" />
</el-table>
</div>
</el-dialog>
</template>
<script>
const data = [{}, {}]
export default {
name: 'Detail',
components: { },
props: {
inventType: {
type: Number,
default: 1
}
},
data() {
return {
detialVisible: false,
tableData: []
}
},
computed: {
detialTitle() {
if (this.inventType === 1) {
return '开放清册详情'
} else if (this.inventType === 2) {
return '销毁清册详情'
} else if (this.inventType === 3) {
return '移交清册详情'
}
return ''
}
},
created() {
},
mounted() {
this.tableData = data
},
methods: {
}
}
</script>
<style lang='scss' scoped>
@import "~@/assets/styles/collect-reorganizi.scss";
.row-state{
font-style: normal;
padding: 0 8px;
}
</style>

28
src/views/archivesManage/recycled/index.vue

@ -0,0 +1,28 @@
<template>
<div>
<CollectModule :is-recycle="isRecycle" />
</div>
</template>
<script>
import CollectModule from '../managementLibrary/index'
export default {
name: 'Recycled',
components: { CollectModule },
data() {
return {
isRecycle: true
}
},
computed: {
},
created() {
},
methods: {
}
}
</script>
<style lang='scss' scoped>
</style>

1
src/views/collectReorganizi/collectionLibrary/module/blukEditing/index.vue

@ -36,7 +36,6 @@
:value="item.dictionaryName"
/>
</el-select> -->
<treeselect
v-if="editForm.updateField.mateData === 3"
v-model="editForm.updateContext"

Loading…
Cancel
Save