|
|
@ -56,59 +56,68 @@ |
|
|
</div> |
|
|
</div> |
|
|
<div class="content-wrap"> |
|
|
<div class="content-wrap"> |
|
|
<div v-if="selectedCellInfo" class="cabinet-info"> |
|
|
<div v-if="selectedCellInfo" class="cabinet-info"> |
|
|
<div style="display: flex; justify-content: flex-start;"> |
|
|
|
|
|
<div class="info-row"> |
|
|
|
|
|
<span class="info-label">编号:</span> |
|
|
|
|
|
<span class="info-value">{{ selectedCellInfo.id }}</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="info-row"> |
|
|
|
|
|
<span class="info-label">绑定状态:</span> |
|
|
|
|
|
<span :class="['info-value', !selectedCellInfo.bound ? 'unbound' : '']"> |
|
|
|
|
|
{{ selectedCellInfo.bound ? '已绑定' : '未绑定' }} |
|
|
|
|
|
</span> |
|
|
|
|
|
|
|
|
<div class="cabinet-info-title"> |
|
|
|
|
|
<p class="title-left">层位信息</p> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div style="display: flex; justify-content: space-between; align-items: center;"> |
|
|
|
|
|
<div style="display: flex; justify-content: flex-start;"> |
|
|
|
|
|
<div class="info-row"> |
|
|
|
|
|
<span class="info-label">编号:</span> |
|
|
|
|
|
<span class="info-value">{{ selectedCellInfo.id }}</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="info-row"> |
|
|
|
|
|
<span class="info-label">绑定状态:</span> |
|
|
|
|
|
<span :class="['info-value', !selectedCellInfo.bound ? 'unbound' : '']"> |
|
|
|
|
|
{{ selectedCellInfo.bound ? '已绑定' : '未绑定' }} |
|
|
|
|
|
</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="info-row"> |
|
|
|
|
|
<span class="info-label">绑定目标:</span> |
|
|
|
|
|
<span class="info-value"> |
|
|
|
|
|
{{ selectedCellInfo.bound ? selectedCellInfo.borrowName : '-' }} |
|
|
|
|
|
</span> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="info-row"> |
|
|
|
|
|
<span class="info-label">绑定目标:</span> |
|
|
|
|
|
<span class="info-value"> |
|
|
|
|
|
{{ selectedCellInfo.bound ? selectedCellInfo.borrowName : '-' }} |
|
|
|
|
|
</span> |
|
|
|
|
|
|
|
|
<div> |
|
|
|
|
|
<el-button v-if="!selectedCellInfo.bound" size="mini" @click="borrowerListVisible = true"> |
|
|
|
|
|
<i class="iconfont icon-bendiguajie" /> |
|
|
|
|
|
绑定 |
|
|
|
|
|
</el-button> |
|
|
|
|
|
<el-button v-else :loading="unbindLoading" class="unbind-btn" size="mini" @click="unbindCell"> |
|
|
|
|
|
<i class="iconfont icon-jiebang" /> |
|
|
|
|
|
解绑 |
|
|
|
|
|
</el-button> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div> |
|
|
|
|
|
<el-button v-if="!selectedCellInfo.bound" size="mini" @click="borrowerListVisible = true"> |
|
|
|
|
|
<i class="iconfont icon-bendiguajie" /> |
|
|
|
|
|
绑定 |
|
|
|
|
|
</el-button> |
|
|
|
|
|
<el-button v-else :loading="unbindLoading" class="unbind-btn" size="mini" @click="unbindCell"> |
|
|
|
|
|
<i class="iconfont icon-jiebang" /> |
|
|
|
|
|
解绑 |
|
|
|
|
|
</el-button> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
<div class="container-wrap"> |
|
|
<div class="container-wrap"> |
|
|
<span class="right-top-line" /> |
|
|
<span class="right-top-line" /> |
|
|
<span class="left-bottom-line" /> |
|
|
<span class="left-bottom-line" /> |
|
|
|
|
|
<div class="cabinet-table-title"> |
|
|
|
|
|
<p class="title-left">在架信息</p> |
|
|
|
|
|
<span>共 <i style="color: #1890ff; font-weight: bold;">{{ miodData.length }}</i> 件</span> |
|
|
|
|
|
</div> |
|
|
<el-table |
|
|
<el-table |
|
|
ref="table" |
|
|
ref="table" |
|
|
v-loading="crud.loading" |
|
|
v-loading="crud.loading" |
|
|
class="archives-table" |
|
|
class="archives-table" |
|
|
:data="miodData" |
|
|
:data="miodData" |
|
|
style="width: 100%;" |
|
|
style="width: 100%;" |
|
|
height="calc(100vh - 260px)" |
|
|
|
|
|
|
|
|
height="calc(100vh - 334px)" |
|
|
@cell-dblclick="tableDoubleClick" |
|
|
@cell-dblclick="tableDoubleClick" |
|
|
> |
|
|
> |
|
|
<el-table-column type="index" label="序号" width="60" /> |
|
|
<el-table-column type="index" label="序号" width="60" /> |
|
|
<el-table-column prop="reg_no" label="登记号" width="120" /> |
|
|
|
|
|
<el-table-column prop="details_type" label="文件类型" width="100"> |
|
|
|
|
|
|
|
|
<el-table-column prop="regNo" label="收文号" width="120" /> |
|
|
|
|
|
<el-table-column prop="detailsType" label="文件类型" width="100"> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<el-tag v-if="scope.row.details_type === 1">原件</el-tag> |
|
|
|
|
|
|
|
|
<el-tag v-if="scope.row.detailsType === 1">原件</el-tag> |
|
|
<el-tag v-else>复印件</el-tag> |
|
|
<el-tag v-else>复印件</el-tag> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column prop="maintitle" label="公文题名" min-width="140" show-overflow-tooltip /> |
|
|
<el-table-column prop="maintitle" label="公文题名" min-width="140" show-overflow-tooltip /> |
|
|
<el-table-column prop="doc_no" label="发文字号" width="120" /> |
|
|
|
|
|
<el-table-column prop="doc_department" label="所属文件" width="120" /> |
|
|
|
|
|
<el-table-column prop="actual_return_time" label="操作" align="center" width="110"> |
|
|
|
|
|
|
|
|
<el-table-column prop="docNo" label="来文字号" min-width="120" /> |
|
|
|
|
|
<el-table-column prop="docDepartment" label="所属文件" width="120" /> |
|
|
|
|
|
<el-table-column prop="actual_return_time" label="操作" align="center" width="140"> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<el-button size="mini" style="padding: 5px;" :loading="removalLoaing[scope.$index]" @click="handleBatchDel(scope.$index, scope.row)"> |
|
|
<el-button size="mini" style="padding: 5px;" :loading="removalLoaing[scope.$index]" @click="handleBatchDel(scope.$index, scope.row)"> |
|
|
<i class="iconfont icon-xiajia" /> |
|
|
<i class="iconfont icon-xiajia" /> |
|
|
@ -151,7 +160,7 @@ |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column prop="create_time" label="操作" width="80"> |
|
|
<el-table-column prop="create_time" label="操作" width="80"> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<el-button :disabled="scope.row.cabinetId" :loading="bindLoading[scope.$index]" size="mini" style="padding: 5px;" @click="handleBindCell(scope.$index, scope.row)"> {{ scope.row.cabinetId ? '已绑定' : '绑定' }}</el-button> |
|
|
|
|
|
|
|
|
<el-button :disabled="scope.row.cabinetId !== null" :loading="bindLoading[scope.$index]" size="mini" style="padding: 5px;" @click="handleBindCell(scope.$index, scope.row)"> {{ scope.row.cabinetId ? '已绑定' : '绑定' }}</el-button> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
</el-table> |
|
|
</el-table> |
|
|
@ -173,7 +182,7 @@ |
|
|
<script> |
|
|
<script> |
|
|
import CRUD, { presenter, crud } from '@crud/crud' |
|
|
import CRUD, { presenter, crud } from '@crud/crud' |
|
|
import { FetchInitBorrowerList } from '@/api/system/borrower' |
|
|
import { FetchInitBorrowerList } from '@/api/system/borrower' |
|
|
import { FetchCabinetBingBorrower, FetchCabinetUnbingBorrower, FetchDocumentCirculationCabinetById } from '@/api/system/documentArchives' |
|
|
|
|
|
|
|
|
import { FetchCabinetBingBorrower, FetchCabinetUnbingBorrower, FetchDocumentCirculationCabinetById, FetchUnpublish } from '@/api/system/documentArchives' |
|
|
import MidoArchivesInfo from '@/views/archivesMIOD/miodLibrary/module/detail' |
|
|
import MidoArchivesInfo from '@/views/archivesMIOD/miodLibrary/module/detail' |
|
|
import { mapGetters } from 'vuex' |
|
|
import { mapGetters } from 'vuex' |
|
|
|
|
|
|
|
|
@ -197,7 +206,6 @@ export default { |
|
|
}, |
|
|
}, |
|
|
data() { |
|
|
data() { |
|
|
return { |
|
|
return { |
|
|
detailArcData: [], |
|
|
|
|
|
categoryId: null, |
|
|
categoryId: null, |
|
|
parentInfo: null, |
|
|
parentInfo: null, |
|
|
pageType: 'miodRecord', |
|
|
pageType: 'miodRecord', |
|
|
@ -289,7 +297,7 @@ export default { |
|
|
if (item.type === 'empty') return |
|
|
if (item.type === 'empty') return |
|
|
this.selectedCell = item.id |
|
|
this.selectedCell = item.id |
|
|
this.selectedCellInfo = item |
|
|
this.selectedCellInfo = item |
|
|
this.getMiodData() |
|
|
|
|
|
|
|
|
this.getDocumentCirculationCabinetById() |
|
|
}, |
|
|
}, |
|
|
[CRUD.HOOK.beforeRefresh]() { |
|
|
[CRUD.HOOK.beforeRefresh]() { |
|
|
this.crud.params.page = undefined |
|
|
this.crud.params.page = undefined |
|
|
@ -354,8 +362,9 @@ export default { |
|
|
id: this.selectedCellInfo.originalData.id |
|
|
id: this.selectedCellInfo.originalData.id |
|
|
} |
|
|
} |
|
|
FetchDocumentCirculationCabinetById(params).then((res) => { |
|
|
FetchDocumentCirculationCabinetById(params).then((res) => { |
|
|
|
|
|
console.log('res', res) |
|
|
if (res.code !== 500) { |
|
|
if (res.code !== 500) { |
|
|
this.detailArcData = res.data || [] |
|
|
|
|
|
|
|
|
this.miodData = res.detailsList || [] |
|
|
} else { |
|
|
} else { |
|
|
this.$message({ message: '获取文件流转柜详情失败', type: 'error', offset: 8 }) |
|
|
this.$message({ message: '获取文件流转柜详情失败', type: 'error', offset: 8 }) |
|
|
} |
|
|
} |
|
|
@ -364,22 +373,6 @@ export default { |
|
|
this.$message({ message: '获取文件流转柜详情失败', type: 'error', offset: 8 }) |
|
|
this.$message({ message: '获取文件流转柜详情失败', type: 'error', offset: 8 }) |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
getMiodData() { |
|
|
|
|
|
const params = { |
|
|
|
|
|
id: this.selectedCellInfo.originalData.id |
|
|
|
|
|
} |
|
|
|
|
|
console.log('params', params) |
|
|
|
|
|
// FetchCabinetBingBorrower(params).then((res) => { |
|
|
|
|
|
// console.log('res', res) |
|
|
|
|
|
// if (res.code !== 500) { |
|
|
|
|
|
// this.miodData = res.data || [] |
|
|
|
|
|
// } else { |
|
|
|
|
|
// this.$message({ message: '获取' + this.selectedCellInfo.id + '号文件数据失败', type: 'error', offset: 8 }) |
|
|
|
|
|
// } |
|
|
|
|
|
// }).catch(err => { |
|
|
|
|
|
// console.log(err) |
|
|
|
|
|
// }) |
|
|
|
|
|
}, |
|
|
|
|
|
handleBindCell(index, item) { |
|
|
handleBindCell(index, item) { |
|
|
this.$set(this.bindLoading, index, true) |
|
|
this.$set(this.bindLoading, index, true) |
|
|
this.$confirm('此操作将绑定当前借阅者' + '<span>你是否还要继续?</span>', '提示', { |
|
|
this.$confirm('此操作将绑定当前借阅者' + '<span>你是否还要继续?</span>', '提示', { |
|
|
@ -491,6 +484,7 @@ export default { |
|
|
this.getBorrowerList() |
|
|
this.getBorrowerList() |
|
|
}, |
|
|
}, |
|
|
handleBatchDel(index, data) { |
|
|
handleBatchDel(index, data) { |
|
|
|
|
|
console.log('data', data) |
|
|
this.$set(this.removalLoaing, index, true) |
|
|
this.$set(this.removalLoaing, index, true) |
|
|
this.$confirm('此操作将下架当前公文' + '<span>你是否还要继续?</span>', '提示', { |
|
|
this.$confirm('此操作将下架当前公文' + '<span>你是否还要继续?</span>', '提示', { |
|
|
confirmButtonText: '继续', |
|
|
confirmButtonText: '继续', |
|
|
@ -498,20 +492,21 @@ export default { |
|
|
type: 'warning', |
|
|
type: 'warning', |
|
|
dangerouslyUseHTMLString: true |
|
|
dangerouslyUseHTMLString: true |
|
|
}).then(() => { |
|
|
}).then(() => { |
|
|
const params = data.map(item => { |
|
|
|
|
|
return item.id |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
const params = { |
|
|
|
|
|
'documentTid': data.regNo |
|
|
|
|
|
} |
|
|
console.log(params) |
|
|
console.log(params) |
|
|
// FetchDelAssistEnter(params).then((res) => { |
|
|
|
|
|
// if (res.code !== 500) { |
|
|
|
|
|
// this.$message({ message: '删除成功', type: 'success', offset: 8 }) |
|
|
|
|
|
// this.crud.refresh() |
|
|
|
|
|
// } else { |
|
|
|
|
|
// this.$message({ message: '删除失败', type: 'error', offset: 8 }) |
|
|
|
|
|
// } |
|
|
|
|
|
// }).catch(err => { |
|
|
|
|
|
// console.log(err) |
|
|
|
|
|
// }) |
|
|
|
|
|
|
|
|
FetchUnpublish(params).then((res) => { |
|
|
|
|
|
console.log('res', res) |
|
|
|
|
|
if (res.code !== 500) { |
|
|
|
|
|
this.$message({ message: '手动下架成功', type: 'success', offset: 8 }) |
|
|
|
|
|
this.crud.refresh() |
|
|
|
|
|
} else { |
|
|
|
|
|
this.$message({ message: '手动下架失败', type: 'error', offset: 8 }) |
|
|
|
|
|
} |
|
|
|
|
|
}).catch(err => { |
|
|
|
|
|
console.log(err) |
|
|
|
|
|
}) |
|
|
this.$set(this.removalLoaing, index, false) |
|
|
this.$set(this.removalLoaing, index, false) |
|
|
}).catch(() => { |
|
|
}).catch(() => { |
|
|
this.$set(this.removalLoaing, index, false) |
|
|
this.$set(this.removalLoaing, index, false) |
|
|
@ -649,9 +644,9 @@ export default { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.cabinet-info { |
|
|
.cabinet-info { |
|
|
display: flex; |
|
|
|
|
|
justify-content: space-between; |
|
|
|
|
|
align-items: center; |
|
|
|
|
|
|
|
|
// display: flex; |
|
|
|
|
|
// justify-content: space-between; |
|
|
|
|
|
// align-items: center; |
|
|
// margin-top: 15px; |
|
|
// margin-top: 15px; |
|
|
padding: 12px; |
|
|
padding: 12px; |
|
|
background: #fff; |
|
|
background: #fff; |
|
|
@ -700,4 +695,38 @@ export default { |
|
|
border-color:#F6A5A0; |
|
|
border-color:#F6A5A0; |
|
|
background: rgba(252,49,49,0.2); |
|
|
background: rgba(252,49,49,0.2); |
|
|
} |
|
|
} |
|
|
|
|
|
.cabinet-info-title{ |
|
|
|
|
|
display: flex; |
|
|
|
|
|
justify-content: space-between; |
|
|
|
|
|
align-items: center; |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
margin-bottom: 6px; |
|
|
|
|
|
font-size: 14px; |
|
|
|
|
|
} |
|
|
|
|
|
.cabinet-table-title{ |
|
|
|
|
|
font-size: 14px; |
|
|
|
|
|
display: flex; |
|
|
|
|
|
justify-content: space-between; |
|
|
|
|
|
align-items: center; |
|
|
|
|
|
padding: 12px; |
|
|
|
|
|
background: #fff; |
|
|
|
|
|
border-radius: 6px; |
|
|
|
|
|
border: 1px solid #e8e8e8; |
|
|
|
|
|
margin-bottom: 12px; |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
.title-left{ |
|
|
|
|
|
display: flex; |
|
|
|
|
|
justify-content: flex-start; |
|
|
|
|
|
align-items: center; |
|
|
|
|
|
color: #000; |
|
|
|
|
|
&::before{ |
|
|
|
|
|
content: ''; |
|
|
|
|
|
display: inline-block; |
|
|
|
|
|
width: 6px; |
|
|
|
|
|
height: 16px; |
|
|
|
|
|
background: #1890ff; |
|
|
|
|
|
margin-right: 4px; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
</style> |
|
|
</style> |