Browse Source

收集库-移动

master
xuhuajiao 1 year ago
parent
commit
14d1e0344a
  1. 6
      src/assets/styles/archives-manage.scss
  2. 5
      src/views/archiveUtilize/archiveEditing/module/detail.vue
  3. 2
      src/views/archiveUtilize/archiveEditing/module/material.vue
  4. 186
      src/views/archiveUtilize/archiveEditing/module/onlineEditing.vue
  5. 5
      src/views/archivesManage/managementLibrary/anjuan/tableList.vue
  6. 1
      src/views/archivesManage/managementLibrary/file/index.vue
  7. 3
      src/views/archivesManage/managementLibrary/juannei/index.vue
  8. 3
      src/views/archivesManage/managementLibrary/project/index.vue
  9. 6
      src/views/collectReorganizi/collectionLibrary/anjuan/tableList.vue
  10. 1
      src/views/collectReorganizi/collectionLibrary/file/index.vue
  11. 1
      src/views/collectReorganizi/collectionLibrary/juannei/index.vue
  12. 10
      src/views/collectReorganizi/collectionLibrary/mixins/index.js
  13. 2
      src/views/collectReorganizi/collectionLibrary/module/collectHeader.vue
  14. 132
      src/views/collectReorganizi/collectionLibrary/module/collectMoveFile/index.vue
  15. 1
      src/views/collectReorganizi/collectionLibrary/project/index.vue

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

@ -464,9 +464,9 @@
.el-button.is-disabled,
.el-button.is-disabled:hover,
.el-button.is-disabled:focus{
background-color: #02255F;
color: #13439E;
border-color: #02255F;
color: #b4c8fb;
border-color: #b4c8fb;
background-color: #f2f5fe;
}
}

5
src/views/archiveUtilize/archiveEditing/module/detail.vue

@ -61,7 +61,7 @@
<!-- 在线编研 -->
<div v-if="archivesTabIndex===2">
在线编研
<OnlineEditing />
</div>
</div>
</div>
@ -73,9 +73,10 @@
<script>
import Material from './material.vue'
import OnlineEditing from './onlineEditing.vue'
export default {
name: 'ArchiveEditingDetail',
components: { Material },
components: { Material, OnlineEditing },
props: {
// selectedCategory: {
// type: Object,

2
src/views/archiveUtilize/archiveEditing/module/material.vue

@ -109,7 +109,7 @@ import CRUD, { presenter, crud } from '@crud/crud'
import pagination from '@crud/Pagination'
export default {
name: 'RecordList',
name: 'Material',
components: { pagination },
mixins: [presenter(), crud()],
cruds() {

186
src/views/archiveUtilize/archiveEditing/module/onlineEditing.vue

@ -0,0 +1,186 @@
<template>
<div>
<div class="head-container">
<crudOperation />
</div>
<el-table
ref="table"
:data="crud.data"
style="width: 100%;"
height="calc(100vh - 485px)"
@cell-dblclick="tableDoubleClick"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column type="selection" :reserve-selection="true" width="55" align="center" />
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column prop="username" label="档号" align="center" />
<el-table-column prop="description" label="题名" />
<el-table-column prop="browser" label="操作人" align="center" />
<el-table-column prop="createTime" label="加入时间" width="200">
<template slot-scope="scope">
<div>{{ scope.row.createTime | parseTime }}</div>
</template>
</el-table-column>
</el-table>
<pagination v-if="crud.data.length !== 0" />
<el-dialog title="利用详情" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :visible.sync="lendDetail" :before-close="handleCloseDialog">
<div class="setting-dialog">
<el-form ref="form" :model="form" inline label-width="100px">
<el-form-item label="利用人" prop="user">
<el-input v-model="form.user" style="width: 280px;" disabled />
</el-form-item>
<el-form-item label="利用流程" prop="process">
<el-input v-model="form.process" style="width: 280px;" disabled />
</el-form-item>
<el-form-item label="开始时间" prop="startDate">
<el-input v-model="form.startDate" style="width: 280px;" disabled />
</el-form-item>
<el-form-item label="结束时间" prop="endDate">
<el-input v-model="form.endDate" style="width: 280px;" disabled />
</el-form-item>
<el-row>
<el-form-item label="利用事由" prop="remark">
<el-input v-model="form.remark" type="textarea" :rows="4" style="width: 703px;" disabled />
</el-form-item>
</el-row>
<el-row>
<el-form-item label="状态" prop="status">
<span class="row-state soon-state">即将到期</span>
<span class="row-state end-state">利用中</span>
<span class="row-state cancel-state">已过期</span>
</el-form-item>
</el-row>
</el-form>
<el-table
ref="table"
:data="detailArcData"
style="width: 100%;"
height="calc(100vh - 560px)"
>
<el-table-column type="index" label="序号" align="center" width="55" />
<el-table-column prop="title" label="档案文件">
<template>
<div class="title-style"><span>文件</span>档号题名</div>
</template>
</el-table-column>
<el-table-column prop="description" label="利用方式" width="340">
<template>
<el-checkbox-group v-model="checkList" class="checkbox-style">
<el-checkbox label="电子查看" disabled />
<el-checkbox label="下载" disabled />
<el-checkbox label="打印" disabled />
<el-checkbox label="实体借阅" disabled />
</el-checkbox-group>
</template>
</el-table-column>
<el-table-column prop="createTime" label="实体借阅状态" align="center" width="110">
<template>
<div>
<span class="row-state soon-state">即将到期</span>
<!-- <span class="row-state end-state">利用中</span>
<span class="row-state cancel-state">已过期</span> -->
</div>
</template>
</el-table-column>
</el-table>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click.native="handleCloseDialog">关闭</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import CRUD, { presenter, crud } from '@crud/crud'
import pagination from '@crud/Pagination'
import crudOperation from '@crud/CRUD.operation'
export default {
name: 'OnlineEditing',
components: { pagination, crudOperation },
mixins: [presenter(), crud()],
cruds() {
return CRUD({
url: 'api/log/initLog',
title: '在线编研',
optShow: {
add: true,
edit: true,
del: true,
download: true,
reset: false,
group: false
}
})
},
props: {
activeIndex: {
type: Number,
default: 0
}
},
data() {
return {
selections: [],
keyWord: null,
options: [
{ value: 'username', label: '利用人' },
{ value: 'account', label: '利用事由' }
],
optionVal: '',
startTime: null,
endTime: null,
lendDetail: false,
form: {
user: '张三',
process: '档案借阅流程-张三-2023-01-01',
startDate: '2016-09-21 08:50:08',
endDate: '2016-10-21 08:50:08',
remark: '利用事由'
},
detailArcData: [],
checkList: ['电子查看', '实体借阅']
}
},
watch: {
activeIndex: function(newValue, oldValue) {
console.log('newValue', newValue)
this.crud.query.isType = newValue
this.crud.toQuery()
}
},
mounted() {
},
methods: {
[CRUD.HOOK.beforeRefresh]() {
this.crud.query.isType = this.activeIndex
},
resetQuery() {
},
tableDoubleClick(row) {
this.lendDetail = true
},
handleCloseDialog(done) {
this.lendDetail = false
//
// done()
}
}
}
</script>
<style lang="scss" scoped>
::v-deep .el-checkbox-group{
.el-checkbox{
margin-right: 10px !important;
}
}
::v-deep .el-pagination{
margin: 24px 0 10px 0 !important
}
</style>

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

@ -9,6 +9,7 @@
:data="anjuanData"
highlight-current-row
style="width: 100%;"
height="calc(100vh - 352px)"
:row-class-name="tableRowClassName"
:row-key="rowKey"
@select-all="selectAll"
@ -246,6 +247,8 @@ export default {
this.page.page = 1
if (this.selectedCategory.arrangeType === 3) {
this.getViewTable(2, this.parentsData.parentsProjectId)
} else if (this.selectedCategory.arrangeType === 1) {
this.getViewTable(3, null)
} else {
this.getViewTable(2, null)
}
@ -254,6 +257,8 @@ export default {
this.page.page = val
if (this.selectedCategory.arrangeType === 3) {
this.getViewTable(2, this.parentsData.parentsProjectId)
} else if (this.selectedCategory.arrangeType === 1) {
this.getViewTable(3, null)
} else {
this.getViewTable(2, null)
}

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

@ -20,6 +20,7 @@
:data="fileData"
highlight-current-row
style="width: 100%;"
height="calc(100vh - 352px)"
:row-class-name="tableRowClassName"
:row-key="rowKey"
@select-all="selectAll"

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

@ -18,6 +18,7 @@
:data="junneiData"
highlight-current-row
style="width: 100%;"
height="calc(100vh - 352px)"
:row-class-name="tableRowClassName"
:row-key="rowKey"
@select-all="selectAll"
@ -152,7 +153,7 @@ export default {
selectedCategory: function(newValue, oldValue) {
},
tableDisplayFields(val) {
// this.doLayout()
this.doLayout()
}
},
created() {

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

@ -10,6 +10,7 @@
:data="projectData"
highlight-current-row
style="width: 100%;"
height="calc(100vh - 352px)"
:row-key="rowKey"
:row-class-name="tableRowClassName"
@select-all="selectAll"
@ -110,7 +111,7 @@ export default {
selectedCategory: function(newValue, oldValue) {
},
tableDisplayFields(val) {
// this.doLayout()
this.doLayout()
}
},
created() {

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

@ -9,6 +9,7 @@
:data="anjuanData"
highlight-current-row
style="width: 100%;"
height="calc(100vh - 418px)"
:row-class-name="tableRowClassName"
:row-key="rowKey"
@select-all="selectAll"
@ -243,6 +244,7 @@ export default {
handleSizeChange(size) {
this.page.size = size
this.page.page = 1
console.log('this.activeIndex', this.activeIndex)
if (this.activeIndex === 1) {
// if (this.selectedCategory.arrangeType === 3) {
// this.getViewTable(3, this.parentsData.parentsProjectId)
@ -253,6 +255,8 @@ export default {
} else {
if (this.selectedCategory.arrangeType === 3) {
this.getViewTable(2, this.parentsData.parentsProjectId)
} else if (this.selectedCategory.arrangeType === 1) {
this.getViewTable(3, null)
} else {
this.getViewTable(2, null)
}
@ -270,6 +274,8 @@ export default {
} else {
if (this.selectedCategory.arrangeType === 3) {
this.getViewTable(2, this.parentsData.parentsProjectId)
} else if (this.selectedCategory.arrangeType === 1) {
this.getViewTable(3, null)
} else {
this.getViewTable(2, null)
}

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

@ -19,6 +19,7 @@
:data="fileData"
highlight-current-row
style="width: 100%;"
height="calc(100vh - 418px)"
:row-class-name="tableRowClassName"
:row-key="rowKey"
@select-all="selectAll"

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

@ -17,6 +17,7 @@
:data="junneiData"
highlight-current-row
style="width: 100%;"
height="calc(100vh - 418px)"
:row-class-name="tableRowClassName"
:row-key="rowKey"
@select-all="selectAll"

10
src/views/collectReorganizi/collectionLibrary/mixins/index.js

@ -67,14 +67,22 @@ export const collectionLibraryCrud = {
this.$parent.$parent.getTableDisplayFieldsLoading = true
this.parentsId = this.parentsData.parentsAnjuanId
} else if (this.isTitleType === 6) {
console.log('isTitleType', this.isTitleType)
console.log('isTitleTypehh', this.isTitleType)
// 原文
if (this.selectedCategory.arrangeType === 1) {
this.parentsId = this.parentsData.parentsAnjuanId
console.log('this.parentsId1', this.parentsId)
this.$parent.getTableDisplayFieldsLoading = true
} else {
this.$parent.$parent.getTableDisplayFieldsLoading = true
console.log('this.parentsData', this.parentsData)
console.log('this.activeIndex', this.activeIndex)
console.log('this.selectedCategory.arrangeType', this.selectedCategory.arrangeType)
console.log('this.parentsData.parentsAnjuanId', this.parentsData.parentsAnjuanId)
console.log('this.parentsData.parentsJuanneiId', this.parentsData.parentsJuanneiId)
console.log('this.categoryLevel', categoryLevel)
this.parentsId = this.parentsData.parentsJuanneiId
console.log('this.parentsId2', this.parentsId)
}
}

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

@ -497,7 +497,6 @@ export default {
this.arcId = null
} else if (type === 'edit') {
console.log(this.selections)
this.arcId = this.selections[0].id
if (this.selections.length === 0) {
this.$message('您还未勾选需要操作的条目,请先确认!')
return false
@ -505,6 +504,7 @@ export default {
this.$message('编辑操作只可勾选唯一目标条目,请先确认!')
return false
}
this.arcId = this.selections[0].id
this.formTitle = '编辑' + this.collectTitle
}
// this.form.dictionaryConfigId = {}

132
src/views/collectReorganizi/collectionLibrary/module/collectMoveFile/index.vue

@ -1,16 +1,24 @@
<template>
<!-- 移动 -->
<el-dialog class="collectMoveFile-dialog" title="移动" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :visible.sync="collectMoveFileVisible" :before-close="handleCloseDialog">
<el-dialog class="collectMoveFile-dialog" title="移动" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :visible.sync="collectMoveFileVisible" :before-close="handleCloseDialog" @open="open">
<div class="collectMove-main">
<div class="collectMove-left">
<CategoryTree ref="categoryTree" @nodeClick="handleNodeClick" />
</div>
<div class="collectMove-right">
<div class="head-search">
<el-input v-model="query.search" clearable size="small" placeholder="输入题名或档号搜索" prefix-icon="el-icon-search" style="width: 200px;" class="filter-item" @keyup.enter.native="getViewTableList" @clear="getViewTableList" />
<el-button class="filter-item filter-search" style="margin: 0 10px;" size="mini" type="success" icon="el-icon-search" @click="getViewTableList">搜索</el-button>
<el-button class="filter-item filter-refresh" size="mini" type="warning" icon="el-icon-refresh-left" @click="resetQuery">重置</el-button>
<div class="collectMove-header">
<div v-if="currentCategory && currentCategory.arrangeType===3" class="detail-tab tab-content">
<ul class="tab-nav">
<li :class="{'active-tab-nav': tabIndex == 0}" @click="changeActiveTab(0)">项目列表</li>
<li :class="{'active-tab-nav': tabIndex == 1}" @click="changeActiveTab(1)">案卷列表</li>
</ul>
</div>
<div class="head-search">
<el-input v-model="query.search" clearable size="small" placeholder="输入题名或档号搜索" prefix-icon="el-icon-search" style="width: 200px;" class="filter-item" @keyup.enter.native="getViewTableList" @clear="getViewTableList" />
<el-button class="filter-item filter-search" style="margin: 0 10px;" size="mini" type="success" icon="el-icon-search" @click="getViewTableList">搜索</el-button>
<el-button class="filter-item filter-refresh" size="mini" type="warning" icon="el-icon-refresh-left" @click="resetQuery">重置</el-button>
</div>
</div>
<div class="table-list">
<el-table
@ -69,7 +77,7 @@
</div>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="handleCloseDialog">取消</el-button>
<el-button type="primary" @click.native="handleComfireCollectMoveFile">确定</el-button>
<el-button type="primary" :disabled="currentCategory&&currentCategory.arrangeType===3&&moveSelections.length===0&&collectLevel===2 " @click.native="handleComfireCollectMoveFile">确定</el-button>
</div>
</el-dialog>
</template>
@ -118,7 +126,8 @@ export default {
total: 0
},
moveFile: true,
isReserve: false
isReserve: false,
tabIndex: 0
}
},
mounted() {
@ -134,17 +143,31 @@ export default {
handleNodeClick(data) {
if (data) {
this.currentCategory = data
this.getViewTable()
if (this.currentCategory.isType !== 1) {
this.getViewTable()
} else {
this.tableDisplayFields = []
this.tableData = []
}
}
},
open() {
this.handleNodeClick()
this.getViewTable()
},
getViewTable() {
this.loading = true
this.tableDisplayFields = []
console.log('this.collectLevel', this.currentCategory.arrangeType)
if (this.currentCategory.arrangeType === 1) {
this.currentLevel = 3
} else {
} else if (this.currentCategory.arrangeType === 2) {
this.currentLevel = 2
} else {
if (this.tabIndex === 1) {
this.currentLevel = 2
} else {
this.currentLevel = 1
}
}
FetchInitCategoryViewTable({ categoryId: this.currentCategory.id, categoryLevel: this.currentLevel }).then((res) => {
if (res) {
@ -182,16 +205,25 @@ export default {
this.loading = false
})
},
changeActiveTab(data) {
this.tabIndex = data
this.getViewTable()
this.moveSelections = []
},
clickRowHandler(row) {
this.moveSelections = []
this.$refs.table.clearSelection()
this.$refs.table.toggleRowSelection(row)
this.moveSelections.push(row)
// this.moveSelections.push(row)
},
selectionChangeHandler(selection, row) {
this.moveSelections = selection
},
handleComfireCollectMoveFile() {
console.log('this.collectLevel', this.collectLevel)
console.log('this.selectedCategory', this.selectedCategory)
console.log('this.selections', this.selections)
console.log(this.moveSelections)
if (this.moveSelections.length > 1) {
this.$message('该操作只可勾选唯一目标条目,请先确认!')
return false
@ -201,7 +233,24 @@ export default {
} else if (this.currentCategory.arrangeType === 2) {
this.toCategoryLevel = 2
} else {
this.toCategoryLevel = 1
console.log(this.collectLevel)
if (this.collectLevel === 3) {
if (this.moveSelections.length === 0) {
this.toCategoryLevel = 3
} else {
if (this.tabIndex === 1) {
this.toCategoryLevel = 2
} else {
this.toCategoryLevel = 3
}
}
} else {
if (this.tabIndex === 1) {
this.toCategoryLevel = 2
} else {
this.toCategoryLevel = 1
}
}
}
if (this.collectLevel === 2) {
if (this.toCategoryLevel === 3) {
@ -209,16 +258,39 @@ export default {
return false
}
}
if (this.selectedCategory.id === this.currentCategory.id) {
this.$message('正在移动的档案只可移动到其他位置,不可选择本身!')
return false
}
const archivesIds = this.selections.map(item => item.id)
const toArchivesIds = this.moveSelections.map(item => item.id)
// const toArchivesIds = this.moveSelections.map(item => item.id)
let toArchivesId
if (this.moveSelections.length === 0) {
toArchivesId = null
} else {
if (this.collectLevel === 3) {
console.log('this.tabIndex66', this.tabIndex)
if (this.tabIndex === 1) {
toArchivesId = this.moveSelections[0].id
} else {
if (this.selectedCategory.arrangeType === 1) {
toArchivesId = this.moveSelections[0].id
} else {
toArchivesId = null
}
}
} else {
toArchivesId = this.moveSelections[0].id
}
}
const params = {
'isReserve': this.isReserve, //
'categoryId': this.selectedCategory.id, // id
'categoryLevel': this.collectLevel, //
'reserve': this.isReserve, // true false
'categoryId': this.selectedCategory.id, // id
'categoryLevel': this.collectLevel, //
'archivesIds': archivesIds, // id
'toCategoryId': this.currentCategory.id, // id
'toCategoryLevel': this.toCategoryLevel, //
'archivesIds': archivesIds, // id
'toArchivesIds': toArchivesIds // id ()
'toArchivesId': toArchivesId // id ()
}
console.log(params)
FetchMove(params).then((res) => {
@ -229,7 +301,7 @@ export default {
} else {
this.$message.error('移动失败')
}
this.collectMoveFileVisible = false
this.handleCloseDialog()
})
},
handleSizeChange(size) {
@ -249,6 +321,7 @@ export default {
this.$refs.table.clearSelection()
this.moveSelections = []
this.collectMoveFileVisible = false
this.isReserve = false
//
// done()
}
@ -288,8 +361,10 @@ export default {
width: 579px;
border-left: 1px solid #E6E8ED;
.head-search{
padding: 20px 20px 0 0;
// padding: 0 20px 0 0;
flex: 1;
justify-content: flex-end;
margin-bottom: 0;
}
.table-list{
height: 440px;
@ -324,6 +399,23 @@ export default {
}
}
}
.collectMove-header{
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px 20px 20px 0;
.detail-tab .tab-nav{
margin: 0;
border-bottom: none;
}
.detail-tab .tab-nav li{
margin-right: 20px;
}
.detail-tab .tab-nav li.active-tab-nav{
padding-bottom: 0;
}
}
.dialog-footer{
margin-top: 20px;
}

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

@ -10,6 +10,7 @@
:data="projectData"
highlight-current-row
style="width: 100%;"
height="calc(100vh - 418px)"
:row-key="rowKey"
:row-class-name="tableRowClassName"
@select-all="selectAll"

Loading…
Cancel
Save