|
|
@ -1,69 +1,65 @@ |
|
|
|
<template> |
|
|
|
<div> |
|
|
|
<div> |
|
|
|
<div class="head-container"> |
|
|
|
<h2>模糊检索</h2> |
|
|
|
<div> |
|
|
|
<div class="search-input"> |
|
|
|
<el-input v-model="keywords" placeholder="请输入内容" class="input-with-select" style="width:50%;" @keyup.enter.native="dimSearch"> |
|
|
|
<el-select slot="prepend" v-model="select" placeholder="请选择"> |
|
|
|
<el-option |
|
|
|
v-for="item in options" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
/> |
|
|
|
</el-select> |
|
|
|
<el-button slot="append" icon="el-icon-search" @click="dimSearch" /> |
|
|
|
</el-input> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="search-main"> |
|
|
|
<div class="head-container"> |
|
|
|
<h2 v-if="this.$route.path.indexOf('dashboard') === -1">模糊检索</h2> |
|
|
|
<div class="search-input"> |
|
|
|
<el-input v-model="keywords" placeholder="请输入内容" class="input-with-select" style="width:50%;" @keyup.enter.native="dimSearch"> |
|
|
|
<el-select slot="prepend" v-model="select" placeholder="请选择"> |
|
|
|
<el-option |
|
|
|
v-for="item in options" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
/> |
|
|
|
</el-select> |
|
|
|
<el-button slot="append" icon="el-icon-search" @click="handleSearch" /> |
|
|
|
</el-input> |
|
|
|
</div> |
|
|
|
<div class="search-result"> |
|
|
|
<div v-show="isShow" class="search-title"> |
|
|
|
<p>检索结果</p> |
|
|
|
<p>本次检索结果共计{{ resNum }}条数据</p> |
|
|
|
</div> |
|
|
|
<div v-show="resNum > 0"> |
|
|
|
<el-table |
|
|
|
ref="table" |
|
|
|
v-loading="loading" |
|
|
|
:data="tableData" |
|
|
|
style="width: 100%;" |
|
|
|
height="calc(100vh - 493px)" |
|
|
|
@row-dblclick="handleDbClick" |
|
|
|
> |
|
|
|
<!-- <el-table-column type="selection" width="55" align="center" /> --> |
|
|
|
<el-table-column type="index" label="序号" width="90" align="center" /> |
|
|
|
<el-table-column prop="child" label="子条数目" align="center" min-width="150" /> |
|
|
|
<el-table-column prop="category_type" label="门类级别" align="center" min-width="100"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<!-- 门类级别 --> |
|
|
|
<span v-if="scope.row.category_type === 5" style="width:56px">文件级</span> |
|
|
|
<span v-if="scope.row.category_type === 4" style="width:56px">卷内级</span> |
|
|
|
<span v-if="scope.row.category_type === 3" style="width:56px">案卷级</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="case_name" label="门类名称" align="center" min-width="150" /> |
|
|
|
<el-table-column prop="fonds_no" label="全宗号" align="center" min-width="180" /> |
|
|
|
<el-table-column prop="archive_no" label="档号" align="center" min-width="180" /> |
|
|
|
<el-table-column prop="archive_year" label="归档年度" align="center" min-width="100" /> |
|
|
|
<el-table-column prop="maintitle" label="题名" align="center" min-width="180" /> |
|
|
|
<el-table-column prop="security_class" label="保密程度" align="center" min-width="100" /> |
|
|
|
<el-table-column prop="department" label="部门" align="center" min-width="100" /> |
|
|
|
<el-table-column prop="case_name" label="盒名称" align="center" min-width="180" /> |
|
|
|
<el-table-column prop="folder_location_details" label="所在位置" align="center" min-width="180" /> |
|
|
|
<el-table-column prop="create_time" label="创建时间" align="center" min-width="180"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div>{{ scope.row.create_time | parseTime }}</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
<el-pagination :page-size.sync="page.size" :total="page.total" :current-page.sync="page.page" style="margin-top: 8px;" layout="total, prev, pager, next, sizes" @size-change="sizeChangeHandler($event)" @current-change="pageChangeHandler" /> |
|
|
|
</div> |
|
|
|
<!-- 详情 --> |
|
|
|
<detailDialog ref="detailDom" /> |
|
|
|
</div> |
|
|
|
<div v-if="this.$route.path.indexOf('dashboard') === -1" class="search-result"> |
|
|
|
<div v-show="isShow" class="search-title"> |
|
|
|
<p>检索结果</p> |
|
|
|
<p>本次检索结果共计{{ resNum }}条数据</p> |
|
|
|
</div> |
|
|
|
<div v-show="resNum > 0"> |
|
|
|
<el-table |
|
|
|
ref="table" |
|
|
|
v-loading="loading" |
|
|
|
:data="tableData" |
|
|
|
style="width: 100%;" |
|
|
|
height="calc(100vh - 493px)" |
|
|
|
@row-dblclick="handleDbClick" |
|
|
|
> |
|
|
|
<!-- <el-table-column type="selection" width="55" align="center" /> --> |
|
|
|
<el-table-column type="index" label="序号" width="90" align="center" /> |
|
|
|
<el-table-column prop="child" label="子条数目" align="center" min-width="150" /> |
|
|
|
<el-table-column prop="category_type" label="门类级别" align="center" min-width="100"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<!-- 门类级别 --> |
|
|
|
<span v-if="scope.row.category_type === 5" style="width:56px">文件级</span> |
|
|
|
<span v-if="scope.row.category_type === 4" style="width:56px">卷内级</span> |
|
|
|
<span v-if="scope.row.category_type === 3" style="width:56px">案卷级</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="case_name" label="门类名称" align="center" min-width="150" /> |
|
|
|
<el-table-column prop="fonds_no" label="全宗号" align="center" min-width="180" /> |
|
|
|
<el-table-column prop="archive_no" label="档号" align="center" min-width="180" /> |
|
|
|
<el-table-column prop="archive_year" label="归档年度" align="center" min-width="100" /> |
|
|
|
<el-table-column prop="maintitle" label="题名" align="center" min-width="180" /> |
|
|
|
<el-table-column prop="security_class" label="保密程度" align="center" min-width="100" /> |
|
|
|
<el-table-column prop="department" label="部门" align="center" min-width="100" /> |
|
|
|
<el-table-column prop="case_name" label="盒名称" align="center" min-width="180" /> |
|
|
|
<el-table-column prop="folder_location_details" label="所在位置" align="center" min-width="180" /> |
|
|
|
<el-table-column prop="create_time" label="创建时间" align="center" min-width="180"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div>{{ scope.row.create_time | parseTime }}</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
<el-pagination :page-size.sync="page.size" :total="page.total" :current-page.sync="page.page" style="margin-top: 8px;" layout="total, prev, pager, next, sizes" @size-change="sizeChangeHandler($event)" @current-change="pageChangeHandler" /> |
|
|
|
</div> |
|
|
|
<!-- 详情 --> |
|
|
|
<detailDialog ref="detailDom" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
@ -102,7 +98,16 @@ export default { |
|
|
|
query: null, |
|
|
|
page: null, |
|
|
|
size: null |
|
|
|
} |
|
|
|
}, |
|
|
|
homeSearchWords: '', |
|
|
|
homeSearchSelect: '' |
|
|
|
} |
|
|
|
}, |
|
|
|
mounted() { |
|
|
|
if (localStorage.getItem('homeSearchWords') !== null) { |
|
|
|
this.keywords = localStorage.getItem('homeSearchWords') |
|
|
|
this.select = localStorage.getItem('homeSearchSelect') |
|
|
|
this.dimSearch() |
|
|
|
} |
|
|
|
}, |
|
|
|
methods: { |
|
|
@ -111,12 +116,9 @@ export default { |
|
|
|
const params = { |
|
|
|
'categoryId': row.category_id, |
|
|
|
'archivesId': row.archives_id |
|
|
|
// 'categoryId': '5EB3DE8FF78BBC64729E43', |
|
|
|
// 'archivesId': 'D63A2DFA58C02E09CB196C' |
|
|
|
} |
|
|
|
FetchArchivesDetails(params).then(res => { |
|
|
|
if (res) { |
|
|
|
// console.log(res, 'res') |
|
|
|
const rowData = {} |
|
|
|
res.forEach(item => { |
|
|
|
rowData[item.fieldName] = item.context |
|
|
@ -130,6 +132,16 @@ export default { |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 首页 / 搜索页切换操作 |
|
|
|
handleSearch() { |
|
|
|
if (this.$route.path.indexOf('dashboard') !== -1) { |
|
|
|
this.$router.push('/archivesManage/archivesSearch') |
|
|
|
localStorage.setItem('homeSearchWords', this.keywords) |
|
|
|
localStorage.setItem('homeSearchSelect', this.select) |
|
|
|
} else { |
|
|
|
this.dimSearch() |
|
|
|
} |
|
|
|
}, |
|
|
|
// 搜索 |
|
|
|
dimSearch() { |
|
|
|
this.loading = true |
|
|
@ -141,6 +153,8 @@ export default { |
|
|
|
this.page.total = 0 |
|
|
|
this.page.size = 10 |
|
|
|
this.page.page = 1 |
|
|
|
localStorage.removeItem('homeSearchWords') |
|
|
|
localStorage.removeItem('homeSearchSelect') |
|
|
|
} else { |
|
|
|
this.params.criteria = this.select |
|
|
|
this.params.query = this.keywords.replace(/\s+/ig, ' ') |
|
|
@ -153,11 +167,12 @@ export default { |
|
|
|
// 调用搜索接口 |
|
|
|
doQuery(params) { |
|
|
|
queryVagueArchives(params).then(res => { |
|
|
|
// console.log(res, 'res') |
|
|
|
this.tableData = res.content |
|
|
|
this.page.total = res.totalElements |
|
|
|
this.resNum = res.totalElements |
|
|
|
this.isShow = true |
|
|
|
localStorage.removeItem('homeSearchWords') |
|
|
|
localStorage.removeItem('homeSearchSelect') |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 每页条数改变 |
|
|
@ -183,9 +198,9 @@ export default { |
|
|
|
</script> |
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
|
// @import "~@/assets/styles/archives-manage.scss"; |
|
|
|
// @import "~@/assets/styles/lend-manage.scss"; |
|
|
|
|
|
|
|
.search-main{ |
|
|
|
width: 100%; |
|
|
|
} |
|
|
|
.head-container{ |
|
|
|
padding: 100px 0 30px 0; |
|
|
|
text-align: center; |
|
|
@ -202,7 +217,6 @@ export default { |
|
|
|
align-items: center; |
|
|
|
justify-content: center; |
|
|
|
& .search-input { |
|
|
|
// width: 796px; |
|
|
|
& .el-select .el-input { |
|
|
|
width: 130px; |
|
|
|
} |
|
|
@ -224,11 +238,8 @@ export default { |
|
|
|
width: 125px; |
|
|
|
background-color: #339cff; |
|
|
|
border: 1px solid #339cff; |
|
|
|
border-radius: 34px; |
|
|
|
border-radius: 34px 0 0 34px; |
|
|
|
border-right: 0; |
|
|
|
border-top-right-radius: 0; |
|
|
|
border-bottom-right-radius: 0; |
|
|
|
|
|
|
|
} |
|
|
|
::v-deep .el-input__inner { |
|
|
|
color: #fff; |
|
|
|