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