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
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>
|