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.
197 lines
7.0 KiB
197 lines
7.0 KiB
<template>
|
|
<div>
|
|
<el-table :data="tableData" style="width: 100%" height="320" @cell-dblclick="tableDoubleClick">
|
|
<el-table-column type="index" align="center" width="55" />
|
|
<el-table-column prop="fondsName" label="所属全宗" min-width="120" />
|
|
<el-table-column prop="categoryName" label="门类名称" min-width="120" />
|
|
<el-table-column prop="categoryLevel" label="整理方式">
|
|
<template slot-scope="scope">
|
|
<span>{{ scope.row.categoryLevel === 2 ? '案卷整理' : '按件整理' }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="archiveNo" label="项目号/档号" min-width="200" />
|
|
<el-table-column prop="maintitle" label="题名" min-width="200" />
|
|
<el-table-column v-if="isUtilize" prop="utilizeType" label="利用方式" width="300">
|
|
<template slot-scope="scope">
|
|
<el-checkbox-group v-model="scope.row.utilizeType" class="checkbox-style">
|
|
<el-checkbox v-for="item in uselist" :key="item.value" :label="item.value" disabled>{{ item.label }}</el-checkbox>
|
|
</el-checkbox-group>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column v-if="isUtilize" prop="utilizeState" label="是否允许借阅" align="center" width="160">
|
|
<template slot-scope="scope">
|
|
<el-select
|
|
v-if="isFlowableForm"
|
|
v-model="scope.row.utilizeState"
|
|
placeholder="请选择"
|
|
style="width: 140px;"
|
|
@change="handleChange(scope.row.archivesId,$event)"
|
|
>
|
|
<el-option
|
|
v-for="item in utilizeStateOptions"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value"
|
|
/>
|
|
</el-select>
|
|
<div v-else>
|
|
<!-- 实体利用状态 -1.未确认流程(未审批) 0.无需借阅 1.同意借阅 2.不允许借阅 3.已归还 -->
|
|
<span v-if="scope.row.utilizeState === -1" class="row-state soon-state">审批中</span>
|
|
<span v-if="scope.row.utilizeState === 0" class="row-state end-state">无需借阅</span>
|
|
<span v-if="scope.row.utilizeState === 1" class="row-state end-state">同意借阅</span>
|
|
<span v-if="scope.row.utilizeState === 2" class="row-state cancel-state">不允许借阅</span>
|
|
<span v-if="scope.row.utilizeState === 3" class="row-state end-state">已归还</span>
|
|
</div>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<el-pagination :page-size.sync="setPage.size" :total="setPage.total" :current-page.sync="setPage.page+1" style="margin-top: 8px;" layout="total, prev, pager, next, sizes" @size-change="sizeChangeHandler($event)" @current-change="pageChangeHandler" />
|
|
<ArchivesInfo ref="archivesInfo" :category-id="categoryId" :arc-id="arcId" :is-title-type="isTitleType" />
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import ArchivesInfo from '@/views/components/archivesDetail/detail'
|
|
import { parseTime } from '@/utils/index'
|
|
|
|
export default {
|
|
name: 'BusinessDetails',
|
|
components: { ArchivesInfo },
|
|
props: {
|
|
tableData: {
|
|
type: Array,
|
|
default: null
|
|
},
|
|
isUtilize: {
|
|
type: Boolean,
|
|
default: false
|
|
},
|
|
isFlowableForm: {
|
|
type: Boolean,
|
|
default: false
|
|
},
|
|
setPage: {
|
|
type: Object,
|
|
default: function() {
|
|
return {
|
|
total: 0,
|
|
size: 10,
|
|
page: 0
|
|
}
|
|
}
|
|
},
|
|
baseInfo: {
|
|
type: Object,
|
|
default: function() {
|
|
return { }
|
|
}
|
|
}
|
|
},
|
|
data() {
|
|
return {
|
|
categoryId: null,
|
|
arcId: '',
|
|
isTitleType: 3,
|
|
uselist: [
|
|
{
|
|
value: 1,
|
|
label: '电子查看'
|
|
},
|
|
{
|
|
value: 2,
|
|
label: '下载'
|
|
},
|
|
// {
|
|
// value: 3,
|
|
// label: '打印'
|
|
// }
|
|
{
|
|
value: 4,
|
|
label: '实体借阅'
|
|
}
|
|
],
|
|
utilizeStateOptions: [
|
|
{
|
|
value: 1,
|
|
label: '同意借阅'
|
|
},
|
|
{
|
|
value: 2,
|
|
label: '不允许借阅'
|
|
}
|
|
]
|
|
|
|
}
|
|
},
|
|
mounted() {
|
|
},
|
|
methods: {
|
|
formatDate(date) {
|
|
const year = date.getFullYear()
|
|
const month = String(date.getMonth() + 1).padStart(2, '0')
|
|
const day = String(date.getDate()).padStart(2, '0')
|
|
const hours = String(date.getHours()).padStart(2, '0')
|
|
const minutes = String(date.getMinutes()).padStart(2, '0')
|
|
const seconds = String(date.getSeconds()).padStart(2, '0')
|
|
|
|
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
|
|
},
|
|
handleChange(id, value) {
|
|
this.$emit('select-change', { id, value })
|
|
},
|
|
// table - 双击查看详情
|
|
tableDoubleClick(row) {
|
|
// 利用得情况会是true
|
|
// console.log('666baseInfo', this.baseInfo)
|
|
// console.log('baseInfo.status === 3 ???', this.baseInfo.status)
|
|
// console.log('giveStartTime ???', parseTime(this.baseInfo.giveStartTime))
|
|
// console.log('giveEndTime ???', parseTime(this.baseInfo.giveEndTime))
|
|
// console.log('isUtilize', this.isUtilize)
|
|
// console.log('row', row)
|
|
|
|
this.categoryId = row.categoryPid
|
|
this.arcId = row.archivesId
|
|
this.$nextTick(() => {
|
|
const currentDate = new Date()
|
|
const formattedDate = this.formatDate(currentDate)
|
|
// console.log('currentDate', currentDate)
|
|
// console.log(parseTime(this.baseInfo.giveStartTime))
|
|
const isStartTimeValid = parseTime(this.baseInfo.giveStartTime) <= formattedDate
|
|
const isEndTimeValid = parseTime(this.baseInfo.giveEndTime) >= formattedDate
|
|
console.log(isStartTimeValid)
|
|
console.log(isEndTimeValid)
|
|
// 根据条件设置 isShowUtilizeHandleBtn
|
|
if (this.isUtilize && this.baseInfo.status === 3 && isStartTimeValid && isEndTimeValid) {
|
|
this.$refs.archivesInfo.isShowUtilizeHandleBtn = true
|
|
} else {
|
|
this.$refs.archivesInfo.isShowUtilizeHandleBtn = false
|
|
}
|
|
this.$refs.archivesInfo.archivesInfoVisible = true
|
|
this.$refs.archivesInfo.archivesTabIndex = 0
|
|
this.$refs.archivesInfo.isFourTest = true
|
|
if (row.categoryLevel === 2) {
|
|
this.$refs.archivesInfo.isHasFile = false
|
|
this.$refs.archivesInfo.detailTitle = '案卷详情'
|
|
this.$refs.archivesInfo.getDetial(2, row.archivesId)
|
|
} else {
|
|
this.$refs.archivesInfo.isHasFile = true
|
|
this.$refs.archivesInfo.detailTitle = '文件详情'
|
|
this.$refs.archivesInfo.getDetial(3, row.archivesId)
|
|
}
|
|
})
|
|
},
|
|
// 当前页改变
|
|
pageChangeHandler(e) {
|
|
this.$emit('page-change', e)
|
|
},
|
|
// 每页条数改变
|
|
sizeChangeHandler(e) {
|
|
this.$emit('size-change', e)
|
|
}
|
|
}
|
|
}
|
|
|
|
</script>
|
|
|
|
<style lang='scss' scoped>
|
|
</style>
|