[update] 修改一般检索页面样式,添加OA单点登录

This commit is contained in:
lideqin
2024-02-26 17:25:56 +08:00
parent f63ea4bdaa
commit 6996c38303
3 changed files with 48 additions and 16 deletions
+3
View File
@@ -20,6 +20,8 @@ const checkOnlyUser = (params) => getAction('/sys/user/checkOnlyUser', params)
const changePassword = (params) => postAction('/sys/user/changePassword', params) const changePassword = (params) => postAction('/sys/user/changePassword', params)
// 单点登录获取用户信息 // 单点登录获取用户信息
const getSSOUserInfo = (params) => postAction('/iam/loginByOauth2', params) const getSSOUserInfo = (params) => postAction('/iam/loginByOauth2', params)
// OA单点登录
const getTodoSSOUserInfo = (params) => postAction('/oa/login', params)
// 上传手写章 // 上传手写章
const uploadHandStamp = (params) => postAction('/sys/user/uploadHandStamp', params) const uploadHandStamp = (params) => postAction('/sys/user/uploadHandStamp', params)
@@ -223,6 +225,7 @@ export {
getEnterpriseLevelMapList, getEnterpriseLevelMapList,
getSSOUserInfo, getSSOUserInfo,
getTodoSSOUserInfo,
uploadHandStamp, uploadHandStamp,
addAsmsInterface, addAsmsInterface,
+13 -2
View File
@@ -5,7 +5,7 @@ import NProgress from 'nprogress' // progress bar
import 'nprogress/nprogress.css' // progress bar style import 'nprogress/nprogress.css' // progress bar style
import { ACCESS_TOKEN, OAUTH2_LOGIN_PAGE_PATH, UI_CACHE_DB_DICT_DATA, USER_INFO, USER_NAME } from '@/store/mutation-types' import { ACCESS_TOKEN, OAUTH2_LOGIN_PAGE_PATH, UI_CACHE_DB_DICT_DATA, USER_INFO, USER_NAME } from '@/store/mutation-types'
import { generateIndexRouter, isOAuth2AppEnv, findFirstRoute, welcome } from '@/utils/util' import { generateIndexRouter, isOAuth2AppEnv, findFirstRoute, welcome } from '@/utils/util'
import { getSSOUserInfo } from './api/api' import { getSSOUserInfo, getTodoSSOUserInfo } from './api/api'
import { isCanLookDetail } from './api/enterpriseStandardLibraryApi' import { isCanLookDetail } from './api/enterpriseStandardLibraryApi'
import { updatePageHeight } from './components/tools/setting' import { updatePageHeight } from './components/tools/setting'
@@ -16,7 +16,18 @@ whiteList.push(OAUTH2_LOGIN_PAGE_PATH)
router.beforeEach(async (to, from, next) => { router.beforeEach(async (to, from, next) => {
// 单点登录 // 单点登录
if (to.query.code) { if (to.query.ticket) {
const { result } = await getTodoSSOUserInfo({ ticket: to.query.ticket })
const userInfo = result.userInfo
Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000)
Vue.ls.set(USER_NAME, userInfo.username, 7 * 24 * 60 * 60 * 1000)
Vue.ls.set(USER_INFO, userInfo, 7 * 24 * 60 * 60 * 1000)
Vue.ls.set(UI_CACHE_DB_DICT_DATA, result.sysAllDictItems, 7 * 24 * 60 * 60 * 1000)
store.commit('SET_TOKEN', result.token)
store.commit('SET_INFO', userInfo)
store.commit('SET_NAME', { username: userInfo.username, realname: userInfo.realname, welcome: welcome() })
store.commit('SET_AVATAR', userInfo.avatar)
} else if (to.query.code) {
const { result } = await getSSOUserInfo({ code: to.query.code }) const { result } = await getSSOUserInfo({ code: to.query.code })
const userInfo = result.userInfo const userInfo = result.userInfo
Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000) Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000)
+32 -14
View File
@@ -1,6 +1,6 @@
<template> <template>
<a-spin :spinning="loading || selectOptionLoading"> <a-spin :spinning="loading || selectOptionLoading">
<a-card :bordered="false"> <a-card :bordered="false" :bodyStyle="{height: cardHeight}">
<!-- 搜索框部分 --> <!-- 搜索框部分 -->
<div class="top-search-div"> <div class="top-search-div">
<div class="top-search-div-content"> <div class="top-search-div-content">
@@ -82,12 +82,12 @@
<!-- 全文检索 --> <!-- 全文检索 -->
<div v-html="item.content" class="result-content-wrapper"></div> <div v-html="item.content" class="result-content-wrapper"></div>
</template> </template>
<template v-else> <!--<template v-else>-->
<div v-if="item.resourceType !== '4'" class="result-content-wrapper"> <!-- <div v-if="item.resourceType !== '4'" class="result-content-wrapper">-->
{{ item.content }} <!-- {{ item.content }}-->
</div> <!-- </div>-->
<div v-else v-html="item.content" class="result-content-wrapper"></div> <!-- <div v-else v-html="item.content" class="result-content-wrapper"></div>-->
</template> <!--</template>-->
</div> </div>
</div> </div>
<a-pagination <a-pagination
@@ -121,10 +121,17 @@ import {
generalSearchFullTextSearch generalSearchFullTextSearch
} from '@/api/dashboard' } from '@/api/dashboard'
import { isHasPermission } from '@/utils/hasPermission' import { isHasPermission } from '@/utils/hasPermission'
import { mapGetters } from 'vuex'
export default { export default {
name: 'GeneralSearch', name: 'GeneralSearch',
components: { SearchHistoryModal }, components: { SearchHistoryModal },
computed: {
...mapGetters(['defaultHeight']),
cardHeight () {
return `calc(100vh - ${this.defaultHeight['user-info-height']} - ${this.defaultHeight['breadcrumb-height']}`
}
},
data () { data () {
return { return {
selectOptionLoading: false, // 其他筛选条件部分的loading selectOptionLoading: false, // 其他筛选条件部分的loading
@@ -467,7 +474,7 @@ export default {
@import '~@assets/less/common.less'; @import '~@assets/less/common.less';
/deep/ .ant-card-body { /deep/ .ant-card-body {
padding: 0; padding: 0;
height: calc(100vh - 45px - 59px - 12px); //height: calc(100vh - 45px - 59px - 12px);
box-sizing: border-box; box-sizing: border-box;
overflow: hidden; overflow: hidden;
display: flex; display: flex;
@@ -485,7 +492,7 @@ export default {
// 头部搜索区域 // 头部搜索区域
.top-search-div { .top-search-div {
width: 100%; width: 100%;
min-height: 124px; min-height: 98px;
background-image: url("../../../assets/image/searchPageBack.png"); background-image: url("../../../assets/image/searchPageBack.png");
background-size: 100% 100%; background-size: 100% 100%;
background-repeat: no-repeat; background-repeat: no-repeat;
@@ -514,12 +521,12 @@ export default {
// 筛选区域 // 筛选区域
.filter-area-div { .filter-area-div {
padding: 10px 20px; padding: 10px 20px;
box-sizing: border-box; //box-sizing: border-box;
max-height: 300px; max-height: 300px;
overflow-y: auto; overflow-y: auto;
.filter-row { .filter-row {
height: auto; height: auto;
line-height: 44px; line-height: 38px;
display: flex; display: flex;
} }
.label-col { .label-col {
@@ -536,8 +543,8 @@ export default {
flex-wrap: wrap; flex-wrap: wrap;
.option-div { .option-div {
width: auto; width: auto;
height: 32px; height: 26px;
line-height: 32px; line-height: 26px;
padding: 0 12px; padding: 0 12px;
cursor: pointer; cursor: pointer;
margin: 6px 4px; margin: 6px 4px;
@@ -571,7 +578,7 @@ export default {
.result-wrapper { .result-wrapper {
flex: 1; flex: 1;
overflow-y: auto; overflow-y: auto;
padding: 24px; padding: 16px 24px 0;
} }
// 高亮样式 // 高亮样式
@@ -592,6 +599,9 @@ export default {
.result-title-wrapper { .result-title-wrapper {
display: flex; display: flex;
align-items: center; align-items: center;
p {
margin-bottom: 0;
}
.result-title { .result-title {
color: #1D2129; color: #1D2129;
font-size: 18px; font-size: 18px;
@@ -634,11 +644,19 @@ export default {
} }
} }
.result-content-wrapper { .result-content-wrapper {
width: 100%;
max-height: 40px;
font-size: 14px; font-size: 14px;
font-family: PingFang SC-Regular, PingFang SC; font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400; font-weight: 400;
color: #1D2129; color: #1D2129;
line-height: 20px; line-height: 20px;
margin-top: 10px;
//display: -webkit-box; /* 将元素作为块级元素进行布局 */
//-webkit-box-orient: vertical; /* 垂直方向对齐 */
//-webkit-line-clamp: 2; /* 最多显示两行文本 */
overflow: hidden; /* 控制溢出内容不被显示 */
text-overflow: ellipsis; /* 当内容溢出时显示省略号 */
.result-field-span { .result-field-span {
margin-right: 12px; margin-right: 12px;
} }