布局搜索中心
This commit is contained in:
@@ -720,10 +720,6 @@
|
||||
height: 18px !important;
|
||||
line-height: 18px !important;
|
||||
}
|
||||
|
||||
.text-left-select .ant-select {
|
||||
max-width: calc(100% - 126px) !important;
|
||||
}
|
||||
</style>
|
||||
<style lang="less" scoped>
|
||||
|
||||
@@ -923,4 +919,7 @@
|
||||
text-justify: inter-ideograph;
|
||||
word-break: break-all
|
||||
}
|
||||
::v-deep .ant-select{
|
||||
max-width: calc(100% - 126px) !important;
|
||||
}
|
||||
</style>
|
||||
+278
@@ -0,0 +1,278 @@
|
||||
<template>
|
||||
<div class="box">
|
||||
<div class="search-text-title">
|
||||
<span>{{$t('searchScope')}}:</span>
|
||||
<span>{{ queryParam.selectValue }}</span>
|
||||
</div>
|
||||
<a-checkbox-group v-model="checkboxText" v-if="conList.length > 0">
|
||||
<li v-for="(item,index) in conList" :key="item.id">
|
||||
<div style="margin-bottom: 10px;position: relative">
|
||||
<a-checkbox :value="item.id" class="checkbox-left"></a-checkbox>
|
||||
<div class="text-text-right"
|
||||
:class="{ 'null-input':item.checked }">
|
||||
<div class="text-header" @click="titleClick(item)">
|
||||
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5">
|
||||
<template slot="title">
|
||||
<span v-html="item.title"></span>
|
||||
</template>
|
||||
<span class="text-header-text" style="cursor: pointer" v-html="item.title"></span>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5">
|
||||
<template slot="title">
|
||||
<span v-html="item.content"></span>
|
||||
</template>
|
||||
<div class="text-content" @click="checkedClick(item)" v-html="item.content"
|
||||
>
|
||||
</div>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</a-checkbox-group>
|
||||
<div class="noData" v-else>
|
||||
暂无数据
|
||||
</div>
|
||||
<div class="page" v-if="conList.length > 0">
|
||||
<a-pagination
|
||||
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||
show-quick-jumper
|
||||
show-size-changer
|
||||
:page-size.sync="pageSize"
|
||||
:total="total"
|
||||
:current="pageNo"
|
||||
@change="pageOnChange"
|
||||
@showSizeChange="SizeChange"
|
||||
/>
|
||||
</div>
|
||||
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAction, postAction, downloadFile } from '@/api/manage'
|
||||
import { Base64 } from 'js-base64'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
name: 'monthlyReportRegulations',
|
||||
data() {
|
||||
return {
|
||||
checkboxText: [],
|
||||
url: {
|
||||
getInfoList: 'search/document/getFullTextInfoList'
|
||||
},
|
||||
loading: false,
|
||||
conList: [],
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
pageNo: 1,
|
||||
queryParam: {}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
checkboxText: function(value) {
|
||||
this.conList.forEach(val => {
|
||||
val.checked = false
|
||||
})
|
||||
if (value.length > 0) {
|
||||
this.conList.forEach(val => {
|
||||
value.forEach(res => {
|
||||
if (res === val.id) {
|
||||
val.checked = true
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
this.conList = [...this.conList]
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.conList = []
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
checkedClick(item) {
|
||||
if (item.checked) {
|
||||
this.checkboxText = this.checkboxText.filter(res => {
|
||||
return res !== item.id
|
||||
})
|
||||
} else {
|
||||
this.checkboxText.push(item.id)
|
||||
}
|
||||
},
|
||||
ResetSearch() {
|
||||
this.pageNo = 1
|
||||
this.checkboxText = []
|
||||
this.queryParam = {}
|
||||
this.getList()
|
||||
},
|
||||
fileClick(fileQuery) {
|
||||
let fileName = fileQuery.file_name
|
||||
let index1 = fileName.lastIndexOf('.')
|
||||
let index2 = fileName.length
|
||||
let fileSuffix = fileName.substring(index1, index2)
|
||||
if (fileSuffix == '.pdf') {
|
||||
window.open('/pdf/web/viewer.html?file=' + encodeURIComponent('/jero-boot/sys/common/pdf/viewFile?id=' + fileQuery.id.slice(0, 32) + '&userName=' + this.userInfo().username))
|
||||
} else if (fileSuffix == '.docx') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id.slice(0, 32) + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id.slice(0, 32) + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', fileQuery.file_name, { id: fileQuery.id.slice(0, 32) })
|
||||
}
|
||||
},
|
||||
pageOnChange(page, pageSize) {
|
||||
this.pageNo = page
|
||||
this.getList()
|
||||
},
|
||||
SizeChange(page, pageSize) {
|
||||
this.pageNo = 1
|
||||
this.pageSize = pageSize
|
||||
this.getList()
|
||||
},
|
||||
searchData(value) {
|
||||
this.queryParam.selectValue = value || undefined
|
||||
this.queryParam.selectValueTwo = undefined
|
||||
this.getList()
|
||||
},
|
||||
searchDataTwo(value) {
|
||||
this.queryParam.selectValueTwo = value
|
||||
this.getList()
|
||||
},
|
||||
getList() {
|
||||
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
|
||||
Object.keys(queryParam).forEach(val => {
|
||||
if (queryParam[val] instanceof Array) {
|
||||
queryParam[val] = queryParam[val].join(',')
|
||||
}
|
||||
})
|
||||
let checkboxText = JSON.parse(JSON.stringify(this.checkboxText))
|
||||
let query = {
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize,
|
||||
ids: checkboxText.join(','),
|
||||
...queryParam
|
||||
}
|
||||
this.loading = true
|
||||
postAction(this.url.getInfoList, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.conList = res.result.records
|
||||
this.total = res.result.total
|
||||
this.loading = false
|
||||
} else {
|
||||
this.conList = []
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
titleClick(item) {
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/docManage/library/detail',
|
||||
query: {
|
||||
id: item.id.slice(0, 32),
|
||||
title: item.title,
|
||||
serial_number: item.serial_number
|
||||
}
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.highlight-class {
|
||||
color: #21c9cc;
|
||||
}
|
||||
|
||||
.tooltip-index {
|
||||
max-width: 600px !important;
|
||||
}
|
||||
</style>
|
||||
<style scoped lang="less">
|
||||
.box {
|
||||
padding: 0 0 0 18px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.checkbox-left {
|
||||
float: left;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.text-text-right {
|
||||
padding: 19px 28px;
|
||||
box-sizing: border-box;
|
||||
margin-left: 38px;
|
||||
}
|
||||
|
||||
.null-input {
|
||||
background-color: #F2F4F8;
|
||||
}
|
||||
|
||||
.search-text-title {
|
||||
margin-bottom: 22px;
|
||||
}
|
||||
|
||||
.text-header {
|
||||
margin-bottom: 11px;
|
||||
|
||||
.text-header-text {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
color: #040B29;
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
/*span {*/
|
||||
/* margin-right: 52px;*/
|
||||
/* font-size: 16px;*/
|
||||
/* font-weight: bold;*/
|
||||
/* color: #040B29;*/
|
||||
/* display: inline-block;*/
|
||||
/* max-width: 500px;*/
|
||||
/* text-overflow: ellipsis;*/
|
||||
/* white-space: nowrap;*/
|
||||
/* overflow: hidden;*/
|
||||
/*}*/
|
||||
}
|
||||
|
||||
.text-content {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #040B29;
|
||||
opacity: 0.7;
|
||||
overflow: hidden;
|
||||
display: -webkit-box;
|
||||
text-overflow: ellipsis;
|
||||
/*! autoprefixer: off */
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 4;
|
||||
/*! autoprefixer: on;*/
|
||||
text-justify: inter-ideograph;
|
||||
word-break: break-all
|
||||
}
|
||||
|
||||
.page {
|
||||
text-align: right;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.noData {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
line-height: 10;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,546 @@
|
||||
<template>
|
||||
<div class="search-con-text">
|
||||
<div class="search-text-wrap">
|
||||
<div class="text-left">
|
||||
<div class="text-left-wrap">
|
||||
<div class="text-left-select">
|
||||
<span class="text-sel" :title="$t('problemClassification')">{{$t('problemClassification')}}</span>
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('problemClassification')"
|
||||
class="text-select"
|
||||
v-model="queryParamOne.showPermissions">
|
||||
<a-select-option v-for="(item, key) in tagList"
|
||||
:key="key"
|
||||
:value="item.id">
|
||||
<span style="display: inline-block;width: 100%" :title=" item.problemLabel ">
|
||||
{{ item.problemLabel}}
|
||||
</span>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
<div class="text-left-select">
|
||||
<span class="text-sel" :title="$t('market')">{{$t('market')}}</span>
|
||||
<j-dict-select-tag class="text-select" v-model="queryParamOne.applyMarket"
|
||||
:placeholder="$t('PleaseSelect')+$t('market')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'region'"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-page-search-submitButtons submitButtons">
|
||||
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
|
||||
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}
|
||||
</a-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-right">
|
||||
<div class="search-text-list">
|
||||
<div class="search-text-title">
|
||||
<div class="search-header-left">
|
||||
<span>{{$t('searchScope')}}:</span>
|
||||
<span>{{queryParamSeach}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-content">
|
||||
<a-checkbox-group v-model="checkboxText">
|
||||
<li v-for="item in conList" :key="item.id">
|
||||
<div style="margin-bottom: 10px;position: relative">
|
||||
<a-checkbox :value="item.id" class="checkbox-left"></a-checkbox>
|
||||
<div class="text-text-right"
|
||||
@click="checkedClick(item)"
|
||||
:class="{ 'null-input':item.checked }">
|
||||
<div class="text-header">
|
||||
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5">
|
||||
<template slot="title">
|
||||
<span v-html="item.title"></span>
|
||||
</template>
|
||||
<span style="cursor: pointer" v-html="item.title" @click="titleClick(item)"></span>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5">
|
||||
<template slot="title">
|
||||
<span v-html="item.content"></span>
|
||||
</template>
|
||||
<div class="text-content" @click="checkedClick(item)" v-html="item.content"
|
||||
>
|
||||
</div>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</a-checkbox-group>
|
||||
</div>
|
||||
<div class="page">
|
||||
<a-pagination
|
||||
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||
show-quick-jumper
|
||||
show-size-changer
|
||||
:page-size.sync="pageSize"
|
||||
:total="total"
|
||||
:current="pageNo"
|
||||
@change="pageOnChange"
|
||||
@showSizeChange="SizeChange"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a-modal
|
||||
:title="$t('viewFile')"
|
||||
:width="500"
|
||||
:visible="visible"
|
||||
@cancel="visible=false"
|
||||
>
|
||||
<template slot="footer">
|
||||
<a-button key="back" @click="visible = false">
|
||||
{{$t('cancel')}}
|
||||
</a-button>
|
||||
</template>
|
||||
<p v-for="(item,index) in fileList" :key="index"
|
||||
class="fileText" :title="item.fileName" @click="fileClick(item)">{{ item.fileName }}</p>
|
||||
</a-modal>
|
||||
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import eventBUs from '../../../../common/event'
|
||||
import { getAction, postAction, downloadFile } from '@/api/manage'
|
||||
import moment from 'moment'
|
||||
import { Base64 } from 'js-base64'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
name: 'problemKnowledgeBase',
|
||||
data() {
|
||||
return {
|
||||
searchOption: [],
|
||||
queryParam: {},
|
||||
visible: false,
|
||||
db_field_name: '',
|
||||
url: {
|
||||
queryCondition: 'search/document/queryCondition',
|
||||
getParagraphInfoList: 'search/document/getParagraphInfoList'//段落
|
||||
},
|
||||
selectedRowKeys: [],
|
||||
checkboxText: [],
|
||||
conList: [],
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
pageNo: 1,
|
||||
loading: false,
|
||||
selectModel: '',
|
||||
fileList: [],
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
queryParamSeach: '',
|
||||
mapOne: {},
|
||||
mapTwo: {},
|
||||
selectModelName: '',
|
||||
queryParamOne: {},
|
||||
searchQueryOne: {},
|
||||
orderBy: '1',
|
||||
orderByField: '',
|
||||
tagList: []
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
checkboxText: function(value) {
|
||||
this.conList.forEach(val => {
|
||||
val.checked = false
|
||||
})
|
||||
if (value.length > 0) {
|
||||
this.conList.forEach(val => {
|
||||
value.forEach(res => {
|
||||
if (res === val.id) {
|
||||
val.checked = true
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
this.conList = [...this.conList]
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getCondition()
|
||||
this.replacePage()
|
||||
this.getParagraphInfoList()
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
replacePage() {
|
||||
getAction('/problemKnowledgeBase/problemKnowledgeBaseClassifyEO/list', {}).then((res) => {
|
||||
if (res.success) {
|
||||
this.tagList = res.result
|
||||
} else {
|
||||
this.tagList = []
|
||||
}
|
||||
})
|
||||
},
|
||||
checkedClick(item) {
|
||||
if (item.checked) {
|
||||
this.checkboxText = this.checkboxText.filter(res => {
|
||||
return res !== item.id
|
||||
})
|
||||
} else {
|
||||
this.checkboxText.push(item.id)
|
||||
}
|
||||
},
|
||||
pageOnChange(page, pageSize) {
|
||||
this.queryParam = { ...this.queryParamOne, ...this.searchQueryOne }
|
||||
this.pageNo = page
|
||||
this.getParagraphInfoList(1)
|
||||
},
|
||||
SizeChange(page, pageSize) {
|
||||
this.queryParam = { ...this.queryParamOne, ...this.searchQueryOne }
|
||||
this.pageNo = 1
|
||||
this.pageSize = pageSize
|
||||
this.getParagraphInfoList(1)
|
||||
},
|
||||
getCondition() {
|
||||
let query = {
|
||||
flag: 1,
|
||||
searchFlag: 0
|
||||
}
|
||||
getAction(this.url.queryCondition, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.searchOption = res.result
|
||||
} else {
|
||||
this.searchOption = []
|
||||
}
|
||||
})
|
||||
},
|
||||
searchReset() {
|
||||
this.pageNo = 1
|
||||
this.queryParamOne = {}
|
||||
this.queryParam = { ...this.queryParamOne, ...this.searchQueryOne }
|
||||
this.queryParamSeach = ''
|
||||
this.getParagraphInfoList(1)
|
||||
},
|
||||
searchQuery() {
|
||||
this.ParamSeach()
|
||||
this.queryParam = { ...this.queryParamOne, ...this.searchQueryOne }
|
||||
this.pageNo = 1
|
||||
this.getParagraphInfoList(1)
|
||||
},
|
||||
ParamSeach() {
|
||||
let queryParam = JSON.parse(JSON.stringify(this.searchQueryOne))
|
||||
if (queryParam[this.selectModel]) {
|
||||
this.queryParamSeach = this.selectModelName + ':' + queryParam[this.selectModel]
|
||||
} else {
|
||||
this.queryParamSeach = ''
|
||||
}
|
||||
},
|
||||
searchData(data, selectModel, name) {
|
||||
this.queryParam = {}
|
||||
this.searchQueryOne = data || {}
|
||||
this.queryParam = { ...this.queryParamOne, ...data }
|
||||
this.selectModel = selectModel
|
||||
this.selectModelName = name
|
||||
this.ParamSeach()
|
||||
this.pageNo = 1
|
||||
this.getParagraphInfoList(1)
|
||||
},
|
||||
searchDataTwo(data, selectModel, name) {
|
||||
this.queryParam = {}
|
||||
this.searchQueryOne = data || {}
|
||||
this.queryParam = { ...this.queryParamOne, ...data }
|
||||
this.selectModel = selectModel
|
||||
this.selectModelName = name
|
||||
this.ParamSeach()
|
||||
this.pageNo = 1
|
||||
this.getParagraphInfoList(2)
|
||||
},
|
||||
ResetSearch() {
|
||||
this.queryParam = {}
|
||||
this.queryParamOne = {}
|
||||
this.searchQueryOne = {}
|
||||
this.checkboxText = []
|
||||
this.selectedRowKeys = []
|
||||
this.selectModel = ''
|
||||
this.selectModelName = ''
|
||||
this.ParamSeach()
|
||||
this.pageNo = 1
|
||||
this.getParagraphInfoList(1)
|
||||
},
|
||||
getParagraphInfoList(num) {
|
||||
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
|
||||
Object.keys(queryParam).forEach(val => {
|
||||
if (queryParam[val] instanceof Array) {
|
||||
queryParam[val] = queryParam[val].join(',')
|
||||
}
|
||||
if (val.includes('_name')) {
|
||||
delete queryParam[val]
|
||||
}
|
||||
})
|
||||
this.mapTwo = {}
|
||||
if (num == 1) {
|
||||
this.mapOne = queryParam
|
||||
} else if (num == 2) {
|
||||
this.mapTwo = queryParam
|
||||
let checkboxText = JSON.parse(JSON.stringify(this.checkboxText))
|
||||
this.mapTwo.ids = checkboxText.join(',')
|
||||
}
|
||||
let query = {
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize,
|
||||
mapOne: this.mapOne,
|
||||
mapTwo: this.mapTwo
|
||||
}
|
||||
this.loading = true
|
||||
postAction(this.url.getParagraphInfoList, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.conList = res.result.records
|
||||
this.total = res.result.total
|
||||
this.loading = false
|
||||
} else {
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
fileClick(fileQuery) {
|
||||
let fileName = fileQuery.fileName || fileQuery.file_name
|
||||
let index1 = fileName.lastIndexOf('.')
|
||||
let index2 = fileName.length
|
||||
let fileSuffix = fileName.substring(index1, index2)
|
||||
if (fileSuffix == '.pdf') {
|
||||
window.open('/pdf/web/viewer.html?file=' + encodeURIComponent('/jero-boot/sys/common/pdf/viewFile?id=' + fileQuery.id + '&userName=' + this.userInfo().username))
|
||||
} else if (fileSuffix == '.docx') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', fileQuery.fileName || fileQuery.file_name, { id: fileQuery.id })
|
||||
}
|
||||
},
|
||||
titleClick(item) {
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/docManage/library/detail',
|
||||
query: {
|
||||
id: item.id.slice(0, 32),
|
||||
title: item.title,
|
||||
serial_number: item.serial_number
|
||||
}
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.checkbox-left .ant-checkbox-inner {
|
||||
width: 18px !important;
|
||||
height: 18px !important;
|
||||
line-height: 18px !important;
|
||||
}
|
||||
|
||||
.tooltip-index {
|
||||
max-width: 600px !important;
|
||||
}
|
||||
</style>
|
||||
<style lang="less" scoped>
|
||||
.search-con-text {
|
||||
|
||||
.search-text-wrap {
|
||||
margin-top: -27px;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
|
||||
.text-left {
|
||||
width: 358px;
|
||||
padding: 24px 24px 24px 0;
|
||||
box-sizing: border-box;
|
||||
|
||||
.text-left-wrap {
|
||||
|
||||
.text-left-select {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 24px;
|
||||
line-height: 32px;
|
||||
|
||||
.text-sel {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #000F16;
|
||||
text-align: right;
|
||||
margin-right: 14px;
|
||||
width: 65px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.text-select {
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.text-right {
|
||||
width: calc(100% - 358px);
|
||||
position: relative;
|
||||
padding: 26px 0 22px 24px;
|
||||
box-sizing: border-box;
|
||||
border-left: 2px solid #E6E7EC;
|
||||
|
||||
.search-text-title {
|
||||
padding: 0 0 24px 0;
|
||||
|
||||
.search-header-left {
|
||||
width: calc(100% - 80px);
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
span {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #040B29;
|
||||
}
|
||||
|
||||
.search-header-right {
|
||||
float: right;
|
||||
margin-top: -7px;
|
||||
|
||||
a-icon {
|
||||
|
||||
border: 1px solid rgba(0, 0, 0, 0.65);
|
||||
cursor: pointer;
|
||||
padding: 2px 5px;
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
a-icon:last-child {
|
||||
border-right: 1px solid rgba(0, 0, 0, 0.65);
|
||||
}
|
||||
|
||||
.header-list {
|
||||
font-size: 20px;
|
||||
border: 1px solid gray;
|
||||
border-radius: 3px;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.header-list:hover {
|
||||
color: #00B3BE;
|
||||
border: 1px solid #00B3BE;
|
||||
}
|
||||
|
||||
.header-list-active {
|
||||
border: 1px solid #00B3BE;
|
||||
color: #00B3BE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.search-text-list {
|
||||
ul {
|
||||
padding: 0 0 0 18px;
|
||||
margin: 0;
|
||||
|
||||
li {
|
||||
list-style: none;
|
||||
|
||||
.text-content {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #040B29;
|
||||
opacity: 0.8;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.checkbox-left {
|
||||
float: left;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.text-text-right {
|
||||
padding: 19px 28px;
|
||||
box-sizing: border-box;
|
||||
margin-left: 38px;
|
||||
}
|
||||
|
||||
.null-input {
|
||||
background-color: #F2F4F8;
|
||||
}
|
||||
|
||||
.text-header {
|
||||
margin-bottom: 11px;
|
||||
|
||||
span {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
color: #040B29;
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.text-content {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #040B29;
|
||||
opacity: 0.7;
|
||||
overflow: hidden;
|
||||
display: -webkit-box;
|
||||
text-overflow: ellipsis;
|
||||
/*! autoprefixer: off */
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 4;
|
||||
/*! autoprefixer: on;*/
|
||||
text-justify: inter-ideograph;
|
||||
word-break: break-all
|
||||
}
|
||||
|
||||
.box-content {
|
||||
padding: 0 0 0 8px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.page {
|
||||
text-align: right;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.text-operation {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.submitButtons {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fileText {
|
||||
width: 100%;
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.textName {
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
display: -webkit-box;
|
||||
text-overflow: ellipsis;
|
||||
/*! autoprefixer: off */
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 1;
|
||||
/*! autoprefixer: on;*/
|
||||
text-justify: inter-ideograph;
|
||||
word-break: break-all
|
||||
}
|
||||
</style>
|
||||
@@ -23,7 +23,8 @@
|
||||
v-model="selectValueTwo"
|
||||
:maxLength="100"
|
||||
@keyup.enter.native="wholeOnSearch(selectValueTwo)"
|
||||
v-else-if="active === $t('whole')"
|
||||
v-else-if="active === $t('whole') || active === $t('problemKnowledgeBase')
|
||||
|| active === $t('monthlyReportRegulations')"
|
||||
class="inputSearch"
|
||||
:placeholder="$t('pleaseEnter')+$t('searchContent')"
|
||||
></a-input>
|
||||
@@ -33,18 +34,21 @@
|
||||
>{{$t('query')}}
|
||||
</a-button>
|
||||
<a-button class="textSearch"
|
||||
v-if="active === $t('whole')"
|
||||
v-if="active === $t('whole') || active === $t('problemKnowledgeBase')
|
||||
|| active === $t('monthlyReportRegulations')"
|
||||
@keyup.enter.native="wholeOnSearch(selectValueTwo)"
|
||||
@click="wholeOnSearch(selectValueTwo)"
|
||||
>{{$t('query')}}
|
||||
</a-button>
|
||||
<a-button class="textSearch"
|
||||
v-if="active === $t('whole') || active === $t('DocumentLibrary')"
|
||||
v-if="active === $t('whole') || active === $t('DocumentLibrary')
|
||||
|| active === $t('problemKnowledgeBase') || active === $t('monthlyReportRegulations')"
|
||||
@click="wholeTextSearch(selectValueTwo)"
|
||||
>{{$t('searchInResults')}}
|
||||
</a-button>
|
||||
<a-button class="textSearch"
|
||||
v-if="active === $t('whole') || active === $t('DocumentLibrary')"
|
||||
v-if="active === $t('whole') || active === $t('DocumentLibrary')
|
||||
|| active === $t('problemKnowledgeBase') || active === $t('monthlyReportRegulations')"
|
||||
@click="ResetSearch()"
|
||||
>{{$t('reset')}}
|
||||
</a-button>
|
||||
@@ -61,14 +65,18 @@
|
||||
<a-tab-pane :key="$t('whole')" :tab="$t('whole')"></a-tab-pane>
|
||||
<a-tab-pane :key="$t('DocumentLibrary')" :tab="$t('DocumentLibrary')" force-render>
|
||||
</a-tab-pane>
|
||||
<!-- <a-tab-pane :key="$t('KnowledgeDatabase')" :tab="$t('KnowledgeDatabase')"></a-tab-pane>-->
|
||||
<!-- <a-tab-pane :key="$t('DocumentComparisonLibrary')" :tab="$t('DocumentComparisonLibrary')"></a-tab-pane>-->
|
||||
<!-- <a-tab-pane :key="$t('weekly')" :tab="$t('weekly')"></a-tab-pane>-->
|
||||
<a-tab-pane :key="$t('problemKnowledgeBase')" :tab="$t('problemKnowledgeBase')" force-render>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane :key="$t('monthlyReportRegulations')" :tab="$t('monthlyReportRegulations')" force-render>
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
</div>
|
||||
</div>
|
||||
<whole ref="wholeRef" :url="url" v-if="active === $t('whole')"/>
|
||||
<DocumentLibrary ref="DocumentLibraryRef" v-else-if="active === $t('DocumentLibrary')"/>
|
||||
<problemKnowledgeBase ref="problemKnowledgeBaseRef" v-else-if="active === $t('problemKnowledgeBase')"/>
|
||||
<monthlyReportRegulations ref="monthlyReportRegulationsRef"
|
||||
v-else-if="active === $t('monthlyReportRegulations')"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -78,13 +86,17 @@
|
||||
<script>
|
||||
import whole from './components/whole'
|
||||
import DocumentLibrary from './components/DocumentLibrary'
|
||||
import problemKnowledgeBase from './components/problemKnowledgeBase'
|
||||
import monthlyReportRegulations from './components/monthlyReportRegulations'
|
||||
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
||||
|
||||
export default {
|
||||
name: 'searchCenter',
|
||||
components: {
|
||||
whole,
|
||||
DocumentLibrary
|
||||
DocumentLibrary,
|
||||
problemKnowledgeBase,
|
||||
monthlyReportRegulations
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -259,7 +271,7 @@
|
||||
}
|
||||
|
||||
::v-deep .input-group .ant-select-selection--single {
|
||||
height: 40px!important;
|
||||
height: 40px !important;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
|
||||
Reference in New Issue
Block a user