阅行客电子档案
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.

846 lines
26 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. <template>
  2. <div class="result-main">
  3. <div class="result-left">
  4. <el-collapse v-model="activeNames" @change="handleChange">
  5. <el-collapse-item title="全宗" name="1">
  6. <el-input
  7. v-model="filterFondsText"
  8. class="quick-search"
  9. placeholder="快速检索"
  10. suffix-icon="el-icon-search"
  11. />
  12. <el-tree
  13. ref="tree"
  14. :data="fondsOptions"
  15. show-checkbox
  16. default-expand-all
  17. node-key="id"
  18. :props="{children: 'children', label: 'fondsName'}"
  19. :filter-node-method="filterFondsNode"
  20. @check-change="getFondsCheckedKeys"
  21. />
  22. </el-collapse-item>
  23. <el-collapse-item title="档案门类" name="2">
  24. <el-input
  25. v-model="filterCategoryText"
  26. class="quick-search"
  27. placeholder="快速检索"
  28. suffix-icon="el-icon-search"
  29. />
  30. <el-tree
  31. ref="treeCategory"
  32. :data="categoryOptions"
  33. show-checkbox
  34. default-expand-all
  35. node-key="id"
  36. :props="{children: 'children', label: 'cnName'}"
  37. :filter-node-method="filterCategoryNode"
  38. @check-change="getCategoryCheckedKeys"
  39. />
  40. </el-collapse-item>
  41. <el-collapse-item title="档案分类" name="3">
  42. <el-input
  43. v-model="filterClassifyText"
  44. class="quick-search"
  45. placeholder="快速检索"
  46. suffix-icon="el-icon-search"
  47. />
  48. <!-- <div class="propListHeader">
  49. <el-checkbox v-model="checkAll" :indeterminate="isIndeterminate" @change="checkAllChange">全部选择</el-checkbox>
  50. </div> -->
  51. <el-tree
  52. ref="treeClassify"
  53. v-loading="classifyLoading"
  54. :data="classifyOptions"
  55. show-checkbox
  56. default-expand-all
  57. node-key="id"
  58. :props="{children: 'children', label: 'name'}"
  59. :filter-node-method="filterClassifyNode"
  60. @check-change="getClassifyCheckedKeys"
  61. />
  62. </el-collapse-item>
  63. <el-collapse-item title="档案层级" name="4">
  64. <el-input
  65. v-model="filterLevelText"
  66. class="quick-search"
  67. placeholder="快速检索"
  68. suffix-icon="el-icon-search"
  69. />
  70. <el-tree
  71. ref="treeLevel"
  72. :data="levelOptions"
  73. show-checkbox
  74. default-expand-all
  75. node-key="value"
  76. :props="{children: 'children', label: 'label'}"
  77. :filter-node-method="filterLevelNode"
  78. @check-change="getLevelCheckedKeys"
  79. />
  80. </el-collapse-item>
  81. </el-collapse>
  82. </div>
  83. <div class="result-right">
  84. <div class="right-header">
  85. <div class="head-search">
  86. <!-- <el-select
  87. v-model="status"
  88. multiple
  89. collapse-tags
  90. placeholder="状态(支持多选)"
  91. >
  92. <el-option
  93. v-for="item in statusOptions"
  94. :key="item.value"
  95. :label="item.label"
  96. :value="item.value"
  97. />
  98. </el-select> -->
  99. <div class="search-input">
  100. <el-input v-model="searchkeywords" placeholder="请输入检索关键字" class="input-with-select" @keyup.enter.native="handledResultSearch('search')">
  101. <el-button slot="append" icon="el-icon-search" @click="handledResultSearch('search')">搜索</el-button>
  102. </el-input>
  103. </div>
  104. <span class="change-search" @click="returnAdvanced">高级检索</span>
  105. </div>
  106. <div class="search-tip">
  107. <div v-if="isCommon">检索 <span>{{ keywords }}</span> 成功获得<i>{{ page.total }}</i>条结果</div>
  108. <div v-else>检索成功获得<i>{{ page.total }}</i>条结果<p>高级检索 点击查看检索条件</p></div>
  109. </div>
  110. </div>
  111. <div v-loading="resultLoading">
  112. <div v-if="resultData.length !== 0" class="result-list">
  113. <el-row v-for="(item,index) in resultData" :key="index" class="result-item" @dblclick.native="handleDetail(item)">
  114. <div class="result-item-title"><span>{{ getFileType(item.categoryLevel) }}</span><p>{{ item.maintitle }}</p></div>
  115. <p class="result-item-content" v-html="highlightKeywords(item.matekey)" />
  116. <div class="result-item-info">
  117. <p>档号{{ item.archiveNo }}</p>
  118. <p>全宗{{ item.fondsName }}</p>
  119. <p>档案门类{{ item.categoryName }}</p>
  120. <p>档案分类{{ item.archivesClassName }}</p>
  121. </div>
  122. <div class="item-top-tag">
  123. <span v-if="item.isEntity === 1">实体</span>
  124. <span v-if="item.tid !== null">标签</span>
  125. <span v-if="item.caseNo !== null">装盒</span>
  126. <span v-if="item.folderLocation !== '' && item.folderLocation !== null">入库</span>
  127. <span v-if="item.isBorrow">借阅</span>
  128. <span v-if="item.processStatus > 1" style="color: #ff8329;border-color: #febd98;background-color: #fff3e5;">审批锁定</span>
  129. <span v-else style="color: #a6adb6;border: 1px solid #e6e8ed;background-color: #f3f5f9;">空闲</span>
  130. </div>
  131. <div class="item-bottom-handle">
  132. <span @click.stop="handleDetail(item)">查看详情</span>
  133. <i v-if="item.categoryLevel === 3" class="iconfont icon-liuchengfaqi" @click.stop="initiateLending(item)" />
  134. <i v-if="item.categoryLevel === 3" class="iconfont icon-jiarujieyueche" @click.stop="addLending(item)" />
  135. </div>
  136. </el-row>
  137. </div>
  138. <!--分页组件-->
  139. <el-pagination
  140. v-if="resultData.length !== 0"
  141. :current-page="page.page"
  142. :total="page.total"
  143. :page-size="page.size"
  144. :pager-count="5"
  145. layout="total, prev, pager, next, sizes"
  146. @size-change="handleSizeChange"
  147. @current-change="handleCurrentPage"
  148. />
  149. <el-empty v-else description="暂无更多数据" />
  150. </div>
  151. </div>
  152. <!-- 档案详情 -->
  153. <ArchivesInfo ref="archivesInfo" :category-id="categoryId" :arc-id="arcId" :is-title-type="isTitleType" />
  154. <LendForm ref="lendFormRef" />
  155. </div>
  156. </template>
  157. <script >
  158. import { crud } from '@crud/crud'
  159. import { FetchInitSearchFonds, FetchInitSearchCategory, FetchInitSearchArchiveCtgNo, FetchResearch, FetchSeniorSearch } from '@/api/archiveUtilize/archiveUtilize'
  160. import { FetchAddBorrowCar } from '@/api/archiveUtilize/cart'
  161. import ArchivesInfo from '@/views/components/archivesDetail/detail'
  162. import LendForm from '../../utillizeRecord/module/utilizationProcess'
  163. import store from '@/store'
  164. import { mapGetters } from 'vuex'
  165. export default {
  166. name: 'ResultList',
  167. components: { ArchivesInfo, LendForm },
  168. mixins: [crud()],
  169. props: {
  170. isCommon: {
  171. type: Boolean,
  172. default: true
  173. }
  174. },
  175. data() {
  176. return {
  177. isTitleType: 3,
  178. activeNames: ['1'],
  179. filterFondsText: '',
  180. fondsOptions: [],
  181. filterCategoryText: '',
  182. categoryOptions: [],
  183. filterLevelText: '',
  184. levelOptions: [
  185. {
  186. label: '电子原文',
  187. value: '4'
  188. },
  189. {
  190. label: '文件',
  191. value: '3'
  192. },
  193. {
  194. label: '案卷',
  195. value: '2'
  196. },
  197. {
  198. label: '项目',
  199. value: '1'
  200. }
  201. ],
  202. filterClassifyText: '',
  203. classifyOptions: [],
  204. // statusOptions: [
  205. // {
  206. // label: '未装盒',
  207. // value: '未装盒'
  208. // },
  209. // {
  210. // label: '已装盒',
  211. // value: '已装盒'
  212. // },
  213. // {
  214. // label: '未入库',
  215. // value: '未入库'
  216. // },
  217. // {
  218. // label: '已入库',
  219. // value: '已入库'
  220. // },
  221. // {
  222. // label: '无实体',
  223. // value: '无实体'
  224. // },
  225. // {
  226. // label: '有实体',
  227. // value: '有实体'
  228. // },
  229. // {
  230. // label: '实体在库',
  231. // value: '实体在库'
  232. // },
  233. // {
  234. // label: '实体待借',
  235. // value: '实体待借'
  236. // },
  237. // {
  238. // label: '实体已借',
  239. // value: '实体已借'
  240. // }
  241. // ],
  242. // status: null,
  243. searchkeywords: '',
  244. keywords: '',
  245. categoryId: null,
  246. arcId: '',
  247. page: {
  248. page: 1,
  249. size: 10,
  250. total: 0
  251. },
  252. checkAll: false,
  253. isIndeterminate: false,
  254. fondsKeys: null,
  255. categoryKeys: null,
  256. classifysKeys: null,
  257. levelsKeys: null,
  258. resultData: [],
  259. classifyLoading: false,
  260. resultLoading: false,
  261. condition: ''
  262. }
  263. },
  264. computed: {
  265. ...mapGetters([
  266. 'user'
  267. ])
  268. },
  269. watch: {
  270. filterFondsText(val) {
  271. this.$refs.tree.filter(val)
  272. },
  273. filterCategoryText(val) {
  274. this.$refs.treeCategory.filter(val)
  275. },
  276. filterLevelText(val) {
  277. this.$refs.treeLevel.filter(val)
  278. },
  279. filterClassifyText(val) {
  280. this.$refs.treeClassify.filter(val)
  281. }
  282. },
  283. mounted() {
  284. this.getFondsDatas()
  285. this.getCategoryDataTree()
  286. this.getArchiveCtgNo(null)
  287. if (localStorage.getItem('searchKeywords')) {
  288. this.searchkeywords = localStorage.getItem('searchKeywords')
  289. this.keywords = localStorage.getItem('searchKeywords')
  290. }
  291. },
  292. methods: {
  293. getFileType(categoryLevel) {
  294. if (categoryLevel === 1) {
  295. return '项目'
  296. } else if (categoryLevel === 2) {
  297. return '案卷'
  298. } else if (categoryLevel === 3) {
  299. return '文件'
  300. } else if (categoryLevel === 4) {
  301. return '电子原文'
  302. }
  303. return ''
  304. },
  305. highlightKeywords(text) {
  306. if (!text) {
  307. return false
  308. }
  309. const cleanedText = text.replace(/,/g, ' ') // 将逗号替换为空格
  310. if (this.keywords.includes(' ')) {
  311. // 包含多个关键字时,使用正则表达式匹配并标红
  312. const highlightedText = cleanedText.replace(new RegExp(this.keywords.split(' ').join('|'), 'gi'), match => {
  313. return "<span style='color: red'>" + match + '</span>'
  314. })
  315. return highlightedText
  316. } else {
  317. // 只包含一个关键字时,直接标红
  318. const highlightedText = cleanedText.replace(new RegExp(this.keywords, 'gi'), match => {
  319. return "<span style='color: red'>" + match + '</span>'
  320. })
  321. return highlightedText
  322. }
  323. },
  324. handledResultSearch(type) {
  325. if (this.searchkeywords) {
  326. if (type === 'search') {
  327. this.page.page = 1
  328. }
  329. console.log('this.page.page', this.page.page)
  330. this.$emit('common-search')
  331. this.resultData = []
  332. this.resultLoading = true
  333. this.keywords = this.searchkeywords
  334. const params = {
  335. 'keywords': this.searchkeywords,
  336. 'archiveCtgNos': this.classifysKeys, // 档案分类
  337. 'categoryIds': this.categoryKeys, // 档案门类
  338. 'categoryLevel': this.levelsKeys, // 档案层级
  339. 'fondsNos': this.fondsKeys, // 全宗
  340. 'searchFondsId': this.user.fonds.id,
  341. 'page': this.page.page - 1,
  342. 'size': this.page.size
  343. }
  344. FetchResearch(params).then((res) => {
  345. this.resultData = res.content
  346. this.page.total = res.totalElements
  347. setTimeout(() => {
  348. this.resultLoading = false
  349. }, 600)
  350. }).catch(err => {
  351. console.log(err)
  352. })
  353. } else {
  354. this.$message({ message: '请输入检索关键字段', type: 'error', offset: 8 })
  355. }
  356. },
  357. getSeniorSearch() {
  358. this.searchkeywords = ''
  359. this.resultData = []
  360. this.resultLoading = true
  361. const params = {
  362. 'condition': this.condition,
  363. 'archiveCtgNos': this.classifysKeys, // 档案分类
  364. 'categoryIds': this.categoryKeys, // 档案门类
  365. 'categoryLevel': this.levelsKeys, // 档案层级
  366. 'fondsNos': this.fondsKeys, // 全宗
  367. 'page': this.page.page - 1,
  368. 'size': this.page.size
  369. }
  370. FetchSeniorSearch(params).then(res => {
  371. this.resultData = res.content
  372. this.page.total = res.totalElements
  373. setTimeout(() => {
  374. this.resultLoading = false
  375. }, 600)
  376. })
  377. },
  378. getFondsDatas() {
  379. FetchInitSearchFonds().then(res => {
  380. this.fondsOptions = res
  381. })
  382. },
  383. getCategoryDataTree() {
  384. FetchInitSearchCategory().then(res => {
  385. this.categoryOptions = res
  386. })
  387. },
  388. getArchiveCtgNo(categoryIds) {
  389. this.classifyOptions = []
  390. this.classifyLoading = true
  391. const params = {
  392. 'categoryIds': categoryIds,
  393. 'search': null
  394. }
  395. FetchInitSearchArchiveCtgNo(params).then(res => {
  396. this.classifyOptions = res
  397. this.classifyLoading = false
  398. })
  399. },
  400. handleChange(val) {
  401. console.log(val)
  402. },
  403. filterFondsNode(value, data) {
  404. if (!value) return true
  405. return data.fondsName.indexOf(value) !== -1
  406. },
  407. filterCategoryNode(value, data) {
  408. if (!value) return true
  409. return data.cnName.indexOf(value) !== -1
  410. },
  411. filterLevelNode(value, data) {
  412. if (!value) return true
  413. return data.label.indexOf(value) !== -1
  414. },
  415. filterClassifyNode(value, data) {
  416. if (!value) return true
  417. return data.name.indexOf(value) !== -1
  418. },
  419. getFondsCheckedKeys() {
  420. const checkedKeys = this.$refs.tree.getCheckedNodes()
  421. if (checkedKeys.length === 0) {
  422. this.fondsKeys = null
  423. } else {
  424. this.fondsKeys = checkedKeys.map(item => item.fondsId)
  425. }
  426. if (this.isCommon) {
  427. this.handledResultSearch('search')
  428. } else {
  429. this.getSeniorSearch()
  430. }
  431. },
  432. getCategoryCheckedKeys() {
  433. const checkedKeys = this.$refs.treeCategory.getCheckedNodes()
  434. if (checkedKeys.length === 0) {
  435. this.categoryKeys = null
  436. } else {
  437. this.categoryKeys = checkedKeys.map(item => item.id)
  438. }
  439. this.getArchiveCtgNo(this.categoryKeys)
  440. if (this.isCommon) {
  441. this.handledResultSearch('search')
  442. } else {
  443. this.getSeniorSearch()
  444. }
  445. },
  446. checkAllChange() {
  447. this.isIndeterminate = false// 设置全选按钮样式不为半选
  448. if (this.checkAll) { // 全选
  449. this.$nextTick(() => { // 这个如果要默认全选就必须加,否则会报错“setCheckedNodes”未定义
  450. this.$refs.treeClassify.setCheckedNodes(this.classifyOptions)
  451. })
  452. // this.
  453. } else { // 取消选中
  454. this.$nextTick(() => {
  455. this.$refs.treeClassify.setCheckedKeys([])
  456. })
  457. }
  458. },
  459. getClassifyCheckedKeys() {
  460. const checkedKeys = this.$refs.treeClassify.getCheckedNodes()
  461. if (checkedKeys.length === 0) {
  462. this.classifysKeys = null
  463. } else {
  464. this.classifysKeys = checkedKeys.map(item => item.code)
  465. }
  466. if (this.isCommon) {
  467. this.handledResultSearch('search')
  468. } else {
  469. this.getSeniorSearch()
  470. }
  471. },
  472. getLevelCheckedKeys() {
  473. const checkedKeys = this.$refs.treeLevel.getCheckedNodes()
  474. if (checkedKeys.length === 0) {
  475. this.levelsKeys = null
  476. } else {
  477. this.levelsKeys = checkedKeys.map(item => item.value)
  478. }
  479. if (this.isCommon) {
  480. this.handledResultSearch('search')
  481. } else {
  482. this.getSeniorSearch()
  483. }
  484. },
  485. returnAdvanced() {
  486. this.$emit('close-result')
  487. },
  488. handleDetail(row) {
  489. this.categoryId = row.categoryPid
  490. this.arcId = row.archivesId
  491. this.$nextTick(() => {
  492. console.log('this.$refs.archivesInfo', this.$refs.archivesInfo)
  493. this.$refs.archivesInfo.archivesInfoVisible = true
  494. this.$refs.archivesInfo.archivesTabIndex = 0
  495. this.$refs.archivesInfo.isFourTest = true
  496. if (row.categoryLevel === 2) {
  497. this.$refs.archivesInfo.isHasFile = false
  498. this.$refs.archivesInfo.detailTitle = '案卷详情'
  499. this.$refs.archivesInfo.getDetial(2, row.archivesId)
  500. } else {
  501. this.$refs.archivesInfo.isHasFile = true
  502. this.$refs.archivesInfo.detailTitle = '文件详情'
  503. this.$refs.archivesInfo.getDetial(3, row.archivesId)
  504. }
  505. })
  506. },
  507. initiateLending(item) {
  508. this.$confirm('当前档案即将发起借阅' + '<span>你是否还要继续?</span>', '提示', {
  509. confirmButtonText: '继续',
  510. cancelButtonText: '取消',
  511. type: 'warning',
  512. dangerouslyUseHTMLString: true
  513. }).then(() => {
  514. // this.$message({ message: '确定发起借阅', type: 'success', offset: 8 })
  515. console.log('item', item)
  516. this.$nextTick(() => {
  517. this.$refs.lendFormRef.detailArcData = []
  518. this.$refs.lendFormRef.lendFormVisible = true
  519. item.checkedId = [1]
  520. item.childMenu = [{
  521. value: 1,
  522. label: '电子查看'
  523. },
  524. {
  525. value: 2,
  526. label: '下载'
  527. },
  528. {
  529. value: 3,
  530. label: '打印'
  531. },
  532. {
  533. value: 4,
  534. label: '实体借阅'
  535. }]
  536. this.$refs.lendFormRef.detailArcData.push(item)
  537. })
  538. }).catch(() => {
  539. })
  540. },
  541. addLending(data) {
  542. this.$confirm('当前档案是否加入借阅车' + '<span>你是否还要继续?</span>', '提示', {
  543. confirmButtonText: '继续',
  544. cancelButtonText: '取消',
  545. type: 'warning',
  546. dangerouslyUseHTMLString: true
  547. }).then(() => {
  548. const params = {
  549. 'archivesId': data.archivesId
  550. }
  551. FetchAddBorrowCar(params).then(res => {
  552. if (res) {
  553. this.$message({ message: '加入借阅车成功', type: 'success', offset: 8 })
  554. store.dispatch('initborrowCar').then(() => {})
  555. } else {
  556. this.$message({ message: '当前所属档案已在借阅车,请勿重复操作', type: 'error', offset: 8 })
  557. }
  558. })
  559. }).catch(() => {
  560. })
  561. },
  562. handleSizeChange(size) {
  563. this.page.size = size
  564. this.page.page = 1
  565. this.handledResultSearch('page')
  566. },
  567. handleCurrentPage(val) {
  568. this.page.page = val
  569. this.handledResultSearch('page')
  570. },
  571. closeDialog() {
  572. }
  573. }
  574. }
  575. </script>
  576. <style lang='scss' scoped>
  577. .result-main{
  578. display: flex;
  579. justify-content: space-between;
  580. height: calc(100vh - 140px);
  581. .result-left{
  582. position: relative;
  583. width: 265px;
  584. height: calc(100%);
  585. padding: 20px;
  586. background-color: #fff;
  587. box-shadow: 4px 0px 4px 0px rgba(0,0,0,0.04);
  588. z-index: 9999;
  589. ::v-deep .el-collapse{
  590. border: none;
  591. height: calc(100%);
  592. overflow: hidden;
  593. overflow-y: scroll;
  594. .el-collapse-item__header{
  595. padding-left: 13px;
  596. height: 32px;
  597. background-color: #F3F6FA;
  598. border-radius: 3px 3px 3px 3px;
  599. opacity: 1;
  600. border: 1px solid #CBD1DC;
  601. .el-icon-arrow-right:before{
  602. font-family: "iconfont" !important;
  603. font-style: normal;
  604. -webkit-font-smoothing: antialiased;
  605. -moz-osx-font-smoothing: grayscale;
  606. content: "\e629";
  607. font-size: 6px;
  608. color: #545B65;
  609. }
  610. .el-collapse-item__arrow.is-active{
  611. transform: rotate(180deg);
  612. }
  613. }
  614. .el-collapse-item{
  615. margin-bottom: 16px;
  616. .el-collapse-item__wrap{
  617. padding: 12px;
  618. margin-top: -1px;
  619. border: 1px solid #CBD1DC;
  620. // border-top: none;
  621. border-radius: 0 0 3px 3px;
  622. }
  623. .el-collapse-item__content{
  624. padding-bottom: 0;
  625. .quick-search{
  626. margin-bottom: 16px;
  627. }
  628. .el-tree{
  629. max-height: calc(100vh/4 - 25px);
  630. overflow: hidden;
  631. overflow-y: scroll;
  632. .el-tree-node__content {
  633. height: 30px;
  634. }
  635. .el-tree-node__expand-icon{
  636. font-size: 12px;
  637. display: none;
  638. }
  639. .el-tree-node__label{
  640. font-size: 14px;
  641. }
  642. }
  643. }
  644. }
  645. }
  646. }
  647. .result-right{
  648. flex: 1;
  649. // background-color: #fff;
  650. .right-header{
  651. padding: 20px 20px 14px 20px;
  652. background-color: #fff;
  653. .head-search{
  654. margin-bottom: 10px;
  655. .search-input{
  656. margin-left: 10px;
  657. .input-with-select{
  658. ::v-deep .el-input__inner{
  659. width: 320px;
  660. }
  661. }
  662. ::v-deep .el-input-group__append{
  663. width: auto;
  664. padding: 0 20px 0 0 !important;
  665. border-color: #0348F3;
  666. .el-button{
  667. background-color: #0348F3 !important;
  668. color: #fff;
  669. }
  670. }
  671. }
  672. }
  673. .change-search{
  674. cursor: default;
  675. margin-left: 12px;
  676. font-size: 14px;
  677. color: #0348F3;
  678. line-height: 32px;
  679. }
  680. .search-tip{
  681. font-size: 14px;
  682. line-height: 22px;
  683. color: #545B65;
  684. span{
  685. color: #ED4A41;
  686. }
  687. i{
  688. font-style: normal;
  689. padding: 0 4px;
  690. }
  691. p{
  692. display: inline-block;
  693. padding-left: 12px;
  694. font-size: 12px;
  695. color: #A6ADB6;
  696. }
  697. }
  698. }
  699. .result-list{
  700. margin: 20px 0 0 0;
  701. padding: 0 20px;
  702. height: calc(100vh - 296px);
  703. overflow: hidden;
  704. overflow-y: scroll;
  705. .result-item{
  706. position: relative;
  707. padding: 16px 16px 10px 16px;
  708. margin-bottom: 16px;
  709. font-size: 14px;
  710. background-color: #fff;
  711. border-radius: 3px;
  712. .result-item-title{
  713. display: flex;
  714. justify-content: flex-start;
  715. margin-bottom: 8px;
  716. font-size: 16px;
  717. line-height: 24px;
  718. color: #0C0E1E;
  719. span{
  720. display: block;
  721. padding: 0 8px;
  722. margin-right: 6px;
  723. height: 22px;
  724. line-height: 22px;
  725. font-size: 12px;
  726. border-radius: 3px;
  727. background-color: #CAE1FF;
  728. color: #0348F3;
  729. }
  730. p{
  731. max-width: 1050px;
  732. }
  733. }
  734. .result-item-content{
  735. overflow: hidden;
  736. text-overflow: ellipsis;
  737. display: -webkit-box;
  738. -webkit-box-orient: vertical;
  739. -webkit-line-clamp: 1;
  740. color: #545B65;
  741. }
  742. .result-item-info{
  743. margin-top: 4px;
  744. font-size: 12px;
  745. line-height: 20px;
  746. color: #868E98;
  747. }
  748. .item-top-tag{
  749. position: absolute;
  750. right: 16px;
  751. top: 16px;
  752. display: flex;
  753. justify-content: flex-start;
  754. flex-wrap: nowrap;
  755. align-items: center;
  756. span{
  757. display: block;
  758. // width: 42px;
  759. padding: 0 4px;
  760. height: 22px;
  761. line-height: 22px;
  762. text-align: center;
  763. font-size: 12px;
  764. background-color: #E8F8F5;
  765. border: 1px solid #B1EBDF;
  766. border-radius: 3px;
  767. color: #2ECAAC;
  768. margin-left: 10px;
  769. }
  770. }
  771. .item-bottom-handle{
  772. position: absolute;
  773. right: 16px;
  774. bottom: 10px;
  775. display: flex;
  776. justify-content: flex-start;
  777. flex-wrap: nowrap;
  778. align-items: center;
  779. font-size: 14px;
  780. color: #0348F3;
  781. cursor: pointer;
  782. span{
  783. display: block;
  784. }
  785. i{
  786. display: block;
  787. margin-left: 26px;
  788. }
  789. }
  790. }
  791. }
  792. }
  793. }
  794. .el-pagination{
  795. margin: 10px 16px 0 10px !important;
  796. }
  797. ::v-deep .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{
  798. background-color: transparent !important;
  799. }
  800. ::v-deep .el-tree .el-tree-node.is-current>.el-tree-node__content .el-tree-node__label{
  801. background-color: transparent !important;
  802. color: #0C0E1E !important;
  803. }
  804. ::v-deep .el-tree .is-current>.el-tree-node__content{
  805. background-color: transparent !important;
  806. color: #0C0E1E !important;
  807. }
  808. ::v-deep .el-collapse::-webkit-scrollbar,
  809. ::v-deep .el-collapse-item__content::-webkit-scrollbar,
  810. ::v-deep .el-tree::-webkit-scrollbar {
  811. width: 5px !important;
  812. height: 5px !important;
  813. background-color: #fff !important;
  814. }
  815. ::v-deep .el-collapse::-webkit-scrollbar-thumb{
  816. border-radius: 3px;
  817. background-color: #fff !important;
  818. }
  819. ::v-deep .el-collapse-item__content::-webkit-scrollbar-thumb,
  820. ::v-deep .el-tree::-webkit-scrollbar-thumb {
  821. border-radius: 3px;
  822. background-color: #4578F6 !important;
  823. // background-color: #fff !important;
  824. }
  825. ::v-deep .el-collapse::-webkit-scrollbar-thumb:hover,
  826. ::v-deep .el-collapse-item__content::-webkit-scrollbar-thumb:hover,
  827. ::v-deep .el-tree::-webkit-scrollbar-thumb:hover {
  828. // background-color: #4578F6 !important;
  829. background-color: #fff !important;
  830. }
  831. ::v-deep .el-collapse::-webkit-scrollbar-corner,
  832. ::v-deep .el-collapse-item__content::-webkit-scrollbar-corner,
  833. ::v-deep .el-tree::-webkit-scrollbar-corner {
  834. background-color: #DDE8FB !important;
  835. }
  836. </style>