阅行客电子档案
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

231 lines
7.3 KiB

<template>
<div>
<el-dialog class="detail-dialog" append-to-body :close-on-click-modal="false" :modal-append-to-body="false" title="档案盒详情" :visible.sync="detailVisible">
<div class="setting-dialog">
<div class="detail-tab tab-content">
<ul class="tab-nav">
<li :class="{'active-tab-nav': caseTabIndex == 0}" @click="changeActiveTab(0)">基本信息</li>
<li :class="{'active-tab-nav': caseTabIndex == 1}" @click="changeActiveTab(1)">盒内档案</li>
</ul>
<div v-if="caseTabIndex===0" class="base-info">
<ul>
<li>
<span>所在库:</span>
<p>{{ rowData && rowData.collectFormal===1 ? '收集库' : (rowData.collectFormal===3 ? '管理库':'') }}</p>
</li>
<li>
<span>门类:</span>
<p>{{ rowData && rowData.cnName }}</p>
</li>
<li>
<span>盒号:</span>
<p>{{ rowData && rowData.caseCode }}</p>
</li>
<li>
<span>状态:</span>
<p>{{ rowData && rowData.depositNum ? '已装':'未装' }}</p>
</li>
<li>
<span>盒名称:</span>
<p>{{ rowData && rowData.caseName }}</p>
</li>
<li>
<span>规格:</span>
<p>{{ rowData && rowData && rowData.caseSpecs }}</p>
</li>
</ul>
<ul>
<li>
<span>全宗:</span>
<p>{{ rowData && rowData.caseFonds }}</p>
</li>
<li>
<span>年度:</span>
<p>{{ rowData && rowData.caseYear }}</p>
</li>
<li>
<span>保管期限:</span>
<p>{{ rowData && rowData.caseRetention }}</p>
</li>
<li>
<span>密级:</span>
<p>{{ rowData && rowData.caseClass }}</p>
</li>
<li>
<span>开始件号:</span>
<p>{{ rowData && rowData.startItemNo }}</p>
</li>
<li>
<span>结束件号:</span>
<p>{{ rowData && rowData.endItemNo }}</p>
</li>
</ul>
<ul>
<li>
<span>装盒人:</span>
<p>{{ rowData && rowData.packing }}</p>
</li>
<li>
<span>装盒日期:</span>
<p>{{ rowData && rowData.packDate | parseTime }}</p>
</li>
<li>
<span>检查人:</span>
<p>{{ rowData && rowData.check }}</p>
</li>
<li>
<span>检查日期:</span>
<p>{{ rowData && rowData.checkDate | parseTime }}</p>
</li>
</ul>
<ul class="case-detail-row">
<li>
<span>电子标签:</span>
<p>{{ rowData && rowData.tid }}</p>
</li>
<li>
<span>条码:</span>
<p>{{ rowData && rowData.barcode }}</p>
</li>
<li>
<span>存放位置:</span>
<p>{{ rowData && !rowData.folderLocationDetails ? '-' : rowData.folderLocationDetails }}</p>
</li>
</ul>
<ul>
<li>
<span>备注:</span>
<p>{{ rowData && rowData.caseNotes }}</p>
</li>
</ul>
</div>
<div v-if="caseTabIndex===1 && tableData.length !== 0 && queryFields.includes('record_no')" class="double-click-btn"><i class="iconfont icon-zhuyi-lan" /><span>双击列表数据查看详情</span></div>
<el-table
v-show="caseTabIndex===1"
ref="table"
:data="tableData"
style="width: 100%;"
row-key="id"
height="342px"
@cell-dblclick="tableDoubleClick"
>
<el-table-column type="index" label="序号" width="55" align="center" />
<template v-for="(field, index) in queryFields">
<el-table-column
v-if="field !== 'id'"
:key="index"
:prop="field"
:label="queryCnFields[index]"
:show-overflow-tooltip="true"
:width="field === 'archive_no' ? '260px' : '120px'"
:formatter="formatCell"
/>
</template>
</el-table>
</div>
</div>
</el-dialog>
<el-dialog class="detail-dialog" append-to-body :close-on-click-modal="false" :modal-append-to-body="false" title="文件列表" :visible.sync="fileVisible">
<div class="setting-dialog">
<el-table
ref="table"
:data="fileTableData"
style="width: 100%;"
row-key="id"
height="342px"
>
<el-table-column type="index" label="序号" width="55" align="center" />
<template v-for="(field, index) in queryFields">
<el-table-column
v-if="field !== 'id'"
:key="index"
:prop="field"
:label="queryCnFields[index]"
:show-overflow-tooltip="true"
:width="field === 'archive_no' ? '260px' : '120px'"
:formatter="formatCell"
/>
</template>
</el-table>
</div>
</el-dialog>
</div>
</template>
<script>
import { findArchiveInCase } from '@/api/archivesKeeping/caseManage'
export default {
data() {
return {
caseTabIndex: 0,
detailVisible: false,
rowData: {},
tableData: [],
collectLevel: null,
selectedItem: null,
queryCnFields: null,
queryFields: null,
fileVisible: false,
fileTableData: []
}
},
methods: {
changeActiveTab(data) {
this.caseTabIndex = data
},
formatCell(row, column) {
if (row[column.property] === 'null' || row[column.property] === null) {
return ''
} else {
return row[column.property]
}
},
tableDoubleClick(row) {
if (row.id) {
const params = {
'caseId': this.rowData.id, // 档案盒id
'archivesId': row.id// 档案id
}
findArchiveInCase(params).then(res => {
this.fileTableData = res.archives_o
this.fileVisible = true
})
}
}
}
}
</script>
<style lang="scss" scoped>
.base-info{
background: #F6F8FC;
padding: 20px;
ul{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
margin: 10px 0;
li{
display: flex;
justify-content: flex-start;
width: 50%;
font-size: 14px;
color: #545B65;
line-height: 35px;
span{
display: block;
width: 120px;
font-weight: bold;
text-align: right;
color: #0C0E1E;
}
}
}
.case-detail-row{
li{
width: 100%;
}
}
}
</style>