bug修复

This commit is contained in:
wuhongjian 2022-10-13 15:45:21 +08:00
parent e58b788f09
commit 7877cd2474
5 changed files with 421 additions and 340 deletions

View File

@ -2,16 +2,16 @@
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2022-08-25 14:37:49 * @Date: 2022-08-25 14:37:49
* @LastEditors: hisense.wuhongjian * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-10-12 15:25:01 * @LastEditTime: 2022-10-13 14:49:32
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
*/ */
var _global = {} var _global = {}
var CONFIGITEM = { var CONFIGITEM = {
// version: 'qingdao', // 青岛 // version: 'qingdao', // 青岛
// version: 'xihaian', // 西海岸 // version: 'xihaian', // 西海岸
// version: 'test', // 测试 version: 'test', // 测试
// version: 'frp', // 内网穿透 // version: 'frp', // 内网穿透
version: 'xihaian', // 开发 // version: 'xihaian', // 开发
vNum: 'v0.8.7.2', vNum: 'v0.8.7.2',
configData: { configData: {
// 青岛市大数据局 // 青岛市大数据局

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2020-07-07 16:03:23 * @Date: 2020-07-07 16:03:23
* @LastEditors: hisense.wuhongjian * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-08-29 09:55:56 * @LastEditTime: 2022-10-13 15:29:31
* @Description: 数据资源参数配置 * @Description: 数据资源参数配置
*/ */
// eslint-disable-next-line no-undef // eslint-disable-next-line no-undef
@ -51,10 +51,10 @@ if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
right: '海信网络科技股份有限公司', right: '海信网络科技股份有限公司',
}, },
address: [ address: [
{ // {
name: '鲁IC备00000000号', // name: 'IC00000000',
value: '政府标识码3702000106', // value: '3702000106',
}, // },
{ {
name: '版权所有:青岛市大数据发展管理局', name: '版权所有:青岛市大数据发展管理局',
value: '地址山东省青岛市香港中路17号市级机关办公楼', value: '地址山东省青岛市香港中路17号市级机关办公楼',
@ -523,6 +523,11 @@ else if (newLocation === 'xihaian') {
}, },
], ],
} }
xhaHasPermissionUser.list = ['xihaian01', 'xihaian02', 'xihaian03', 'xihaian04', 'admin'] xhaHasPermissionUser.list = [
'xihaian01',
'xihaian02',
'xihaian03',
'xihaian04',
'admin',
]
} }

View File

@ -1,3 +1,10 @@
<!--
* @Author: hisense.wuhongjian
* @Date: 2022-07-05 12:53:04
* @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-10-13 15:29:14
* @Description: 告诉大家这是什么
-->
<template> <template>
<div class="footer"> <div class="footer">
<div class="fotter-son"> <div class="fotter-son">
@ -18,10 +25,10 @@
<script setup> <script setup>
import { reactive } from 'vue' import { reactive } from 'vue'
let dataList = reactive([ let dataList = reactive([
{ // {
name: '鲁IC备00000000号', // name: 'IC00000000',
value: '政府标识码3702000106', // value: '3702000106',
}, // },
{ {
name: '版权所有:青岛市大数据发展管理局', name: '版权所有:青岛市大数据发展管理局',
value: '地址山东省青岛市香港中路17号市级机关办公楼', value: '地址山东省青岛市香港中路17号市级机关办公楼',

View File

@ -5,8 +5,13 @@
<div class="top"> <div class="top">
<div class="top-title"> <div class="top-title">
全部 全部
<div v-for="(item, index) in titleName" :key="index" class="tabAll" @click="changeCards(index)" <div
:class="{ sel: index == number }"> v-for="item in titleName"
:key="item.index"
class="tabAll"
@click="changeCards(item.index)"
:class="{ sel: item.index === number }"
>
<span> <span>
{{ item.name === '赋能场景' ? '典型赋能场景' : '打包模式' }} {{ item.name === '赋能场景' ? '典型赋能场景' : '打包模式' }}
</span> </span>
@ -15,26 +20,55 @@
<div class="resultListSearchInput-father" v-if="number === 0"> <div class="resultListSearchInput-father" v-if="number === 0">
<div class="resultListSearchInput-son"> <div class="resultListSearchInput-son">
模糊搜索 模糊搜索
<a-input-search v-model:value="searchValue" placeholder="请输入关键词" enter-button="搜索" size="large" <a-input-search
@search="getIntegrationList" @change="onSearch" class="resultListSearchInput" /> v-model:value="searchValue"
placeholder="请输入关键词"
enter-button="搜索"
size="large"
@search="getIntegrationList"
@change="onSearch"
class="resultListSearchInput"
/>
<button class="button-reset" @click="resetAction()">重置</button> <button class="button-reset" @click="resetAction()">重置</button>
<div class="hengxian"></div> <div class="hengxian"></div>
</div> </div>
</div> </div>
<div v-loading="loadingData"> <div v-loading="loadingData">
<searchResultList v-if="number === 0" v-show="resourceList.data && resourceList.data.length > 0" <searchResultList
:resourceList="resourceList" :resourceTotal="resourceTotal" @saveSearchCodition="saveSearchCodition" v-if="number === 0"
ref="searchResultListDom" :selectCardsname="number == 0 ? '融合服务' : '赋能场景'" /> v-show="resourceList.data && resourceList.data.length > 0"
<CanAssignCase v-else v-show="resourceList.data && resourceList.data.length > 0" :resourceList="resourceList" :resourceList="resourceList"
@saveSearchCodition="saveSearchCodition" :resourceTotal="resourceTotal" :resourceTotal="resourceTotal"
:selectCardsname="number == 0 ? '融合服务' : '赋能场景'" /> @saveSearchCodition="saveSearchCodition"
ref="searchResultListDom"
:selectCardsname="number == 0 ? '融合服务' : '赋能场景'"
/>
<CanAssignCase
v-else
v-show="resourceList.data && resourceList.data.length > 0"
:resourceList="resourceList"
@saveSearchCodition="saveSearchCodition"
:resourceTotal="resourceTotal"
:selectCardsname="number == 0 ? '融合服务' : '赋能场景'"
/>
<div class="pagination"> <div class="pagination">
<a-pagination v-if="resourceList.data && resourceList.data.length > 0" v-model:current="currentPage" <a-pagination
v-model:pageSize="currentPageSize" show-size-changer show-less-items show-quick-jumper v-if="resourceList.data && resourceList.data.length > 0"
:total="resourceTotal" :page-size-options="pageSizeOptions" @change="pageChange" v-model:current="currentPage"
@showSizeChange="onShowSizeChange" /> v-model:pageSize="currentPageSize"
show-size-changer
show-less-items
show-quick-jumper
:total="resourceTotal"
:page-size-options="pageSizeOptions"
@change="pageChange"
@showSizeChange="onShowSizeChange"
/>
</div> </div>
<div v-if="resourceList.data && resourceList.data.length <= 0" style="margin-top: 2rem"> <div
v-if="resourceList.data && resourceList.data.length <= 0"
style="margin-top: 2rem"
>
<a-empty /> <a-empty />
</div> </div>
</div> </div>
@ -43,357 +77,382 @@
<home-footer></home-footer> <home-footer></home-footer>
</template> </template>
<script> <script>
import HomeFooter from '@/views/newHome/components/Footer' import HomeFooter from '@/views/newHome/components/Footer'
import mybus from '@/myplugins/mybus' import mybus from '@/myplugins/mybus'
import { defineComponent, reactive, ref, toRefs, onMounted, nextTick } from 'vue' import {
import { getIntegrationServicesList } from '@/api/home.js' defineComponent,
import { useRouter } from 'vue-router' reactive,
import HomeHeader from '@/views/home/components/header' ref,
import searchResultList from '@/views/home/components/searchResultList.vue' toRefs,
import CanAssignCase from '@/views/home/components/CanAssignCase.vue' onMounted,
import { message } from 'ant-design-vue' nextTick,
} from 'vue'
import { getIntegrationServicesList } from '@/api/home.js'
import { useRouter } from 'vue-router'
import HomeHeader from '@/views/home/components/header'
import searchResultList from '@/views/home/components/searchResultList.vue'
import CanAssignCase from '@/views/home/components/CanAssignCase.vue'
import { message } from 'ant-design-vue'
export default defineComponent({ export default defineComponent({
beforeRouteLeave(to, from, next) { beforeRouteLeave(to, from, next) {
console.log('to---integrationServices--beforeRouteLeave------->', to) console.log('to---integrationServices--beforeRouteLeave------->', to)
console.log('from---integrationServices--beforeRouteLeave------->', from) console.log('from---integrationServices--beforeRouteLeave------->', from)
console.log('next---integrationServices--beforeRouteLeave------->', next) console.log('next---integrationServices--beforeRouteLeave------->', next)
if (to.name !== 'packagingDetails' && to.name !== 'integrationServicesDetails') { if (
localStorage.removeItem('integrationServices') to.name !== 'packagingDetails' &&
} to.name !== 'integrationServicesDetails'
next() ) {
}, localStorage.removeItem('integrationServices')
setup() { }
// next()
const loading = ref(true) },
const currentPage = ref(1) setup() {
const currentPageSize = ref(10) //
const pageSizeOptions = ref(['2', '5', '10', '20', '50']) const loading = ref(true)
const router = useRouter() const currentPage = ref(1)
const select = router.currentRoute.value.query.select const currentPageSize = ref(10)
const searchValue = ref('') const pageSizeOptions = ref(['2', '5', '10', '20', '50'])
const Cardsname = ref(select) const router = useRouter()
const resourceList = reactive({ data: [] }) const select = router.currentRoute.value.query.select
const resourceTotal = ref(0) const searchValue = ref('')
const loadingData = ref(false) const Cardsname = ref(select)
// const resourceList = reactive({ data: [] })
const titleName = ref([ const resourceTotal = ref(0)
{ const loadingData = ref(false)
name: '打包模式', //
}, const titleName = ref([
{ {
name: '赋能场景', name: '赋能场景',
}, index: 1,
]) },
const number = ref(0) {
// name: '打包模式',
const paramsGetResources = { index: 0,
page: currentPage.value, },
limit: currentPageSize.value, ])
type: titleName.value[number.value].name, let number = ref(1)
name: searchValue.value, //
orderField: 'create_date', const paramsGetResources = {
orderType: 'DESC', // ASC DESC page: currentPage.value,
} limit: currentPageSize.value,
const searchResultListDom = ref(null) type: titleName.value[number.value].name,
const storageSearchInfo = JSON.parse(localStorage.getItem('integrationServices')) name: searchValue.value,
// orderField: 'create_date',
const handleSetSearchData = () => { orderType: 'DESC', // ASC DESC
if (storageSearchInfo) { }
number.value = storageSearchInfo.type == '打包模式' ? 0 : 1; const searchResultListDom = ref(null)
// const storageSearchInfo = JSON.parse(
searchValue.value = storageSearchInfo.name; localStorage.getItem('integrationServices')
currentPage.value = storageSearchInfo.page; )
currentPageSize.value = storageSearchInfo.limit; //
paramsGetResources.limit = storageSearchInfo.limit; const handleSetSearchData = () => {
paramsGetResources.page = storageSearchInfo.page; if (storageSearchInfo) {
paramsGetResources.type = storageSearchInfo.type; number.value = storageSearchInfo.type == '打包模式' ? 1 : 0
// 使 //
nextTick(() => { searchValue.value = storageSearchInfo.name
searchResultListDom.value && searchResultListDom.value.changeCondition && searchResultListDom.value.changeCondition({ currentPage.value = storageSearchInfo.page
value: storageSearchInfo.orderField, currentPageSize.value = storageSearchInfo.limit
orderType: storageSearchInfo.orderType, paramsGetResources.limit = storageSearchInfo.limit
}, true) paramsGetResources.page = storageSearchInfo.page
paramsGetResources.type = storageSearchInfo.type
// 使
nextTick(() => {
searchResultListDom.value &&
searchResultListDom.value.changeCondition &&
searchResultListDom.value.changeCondition(
{
value: storageSearchInfo.orderField,
orderType: storageSearchInfo.orderType,
},
true
)
})
getIntegrationList()
}
}
const changeCards = (val) => {
//
number.value = val
paramsGetResources.type = titleName.value[number.value].name
resetAction()
}
//
const onSearch = () => {
currentPage.value = 1
getIntegrationList()
}
//
const resetAction = () => {
//
searchValue.value = ''
//
currentPage.value = 1
currentPageSize.value = 10
//
paramsGetResources.page = 1
paramsGetResources.limit = 10
paramsGetResources.orderField = 'create_date'
paramsGetResources.orderType = 'DESC'
mybus.emit('resetAction', {
type: titleName.value[number.value].name,
}) })
getIntegrationList() getIntegrationList()
} }
}
const changeCards = (val) => { //
// const getIntegrationList = () => {
number.value = val; loadingData.value = true
paramsGetResources.type = titleName.value[number.value].name; paramsGetResources.name = searchValue.value
resetAction() console.log(
} 'paramsGetResources------参数下发------>',
paramsGetResources
// )
const onSearch = () => { getIntegrationServicesList(paramsGetResources).then(
currentPage.value = 1 (res) => {
getIntegrationList() loadingData.value = false
} if (res.data.code !== 0) {
// return message.error(res.data.msg)
const resetAction = () => { }
// resourceList.data = res.data.data.list || []
searchValue.value = '' resourceTotal.value = res.data.data.total || 0
// },
currentPage.value = 1 (err) => {
currentPageSize.value = 10 loadingData.value = false
// message.error(err)
paramsGetResources.page = 1
paramsGetResources.limit = 10
paramsGetResources.orderField = 'create_date'
paramsGetResources.orderType = 'DESC'
mybus.emit('resetAction', {
type: titleName.value[number.value].name,
})
getIntegrationList()
}
//
const getIntegrationList = () => {
loadingData.value = true
paramsGetResources.name = searchValue.value;
console.log('paramsGetResources------参数下发------>', paramsGetResources);
getIntegrationServicesList(paramsGetResources).then(
(res) => {
loadingData.value = false
if (res.data.code !== 0) {
return message.error(res.data.msg)
} }
resourceList.data = res.data.data.list || [] )
resourceTotal.value = res.data.data.total || 0
},
(err) => {
loadingData.value = false
message.error(err)
}
)
}
mybus.on('paramsGetResources', (ids) => {
if (ids && ids.length > 0) {
paramsGetResources.deptIds = ids
} else {
delete paramsGetResources.deptIds
} }
getIntegrationList()
})
mybus.on('changePage', (page) => { mybus.on('paramsGetResources', (ids) => {
paramsGetResources.page = page if (ids && ids.length > 0) {
getIntegrationList() paramsGetResources.deptIds = ids
}) } else {
delete paramsGetResources.deptIds
}
getIntegrationList()
})
mybus.on('changeSelcted', () => { mybus.on('changePage', (page) => {
getIntegrationList() paramsGetResources.page = page
}) getIntegrationList()
})
mybus.on('refresh', () => { mybus.on('changeSelcted', () => {
paramsGetResources.page = 1 getIntegrationList()
currentPage.value = 1 })
getIntegrationList()
})
mybus.on('changeCondition', (condition) => {
paramsGetResources.orderField = condition.orderField
paramsGetResources.orderType = condition.orderType
getIntegrationList()
})
const pageChange = (val) => { mybus.on('refresh', () => {
currentPage.value = val paramsGetResources.page = 1
paramsGetResources.page = val currentPage.value = 1
getIntegrationList() // getIntegrationList()
} })
mybus.on('changeCondition', (condition) => {
paramsGetResources.orderField = condition.orderField
paramsGetResources.orderType = condition.orderType
getIntegrationList()
})
// const pageChange = (val) => {
const onShowSizeChange = (current, pageSize) => { currentPage.value = val
currentPage.value = current paramsGetResources.page = val
currentPageSize.value = pageSize getIntegrationList() //
paramsGetResources.page = current }
paramsGetResources.limit = pageSize
getIntegrationList()
}
// //
const saveSearchCodition = (n) => { const onShowSizeChange = (current, pageSize) => {
console.log('融合服务-----存储查询条件到本地------->', paramsGetResources); currentPage.value = current
localStorage.setItem( currentPageSize.value = pageSize
'integrationServices', paramsGetResources.page = current
JSON.stringify(paramsGetResources) paramsGetResources.limit = pageSize
)
}
onMounted(() => {
if (storageSearchInfo) {
handleSetSearchData()
} else {
getIntegrationList() getIntegrationList()
} }
})
return { //
searchValue, const saveSearchCodition = (n) => {
currentPage, console.log(
resourceList, '融合服务-----存储查询条件到本地------->',
resourceTotal, paramsGetResources
pageChange, )
Cardsname, localStorage.setItem(
getIntegrationList, 'integrationServices',
resetAction, JSON.stringify(paramsGetResources)
onSearch, )
currentPageSize, }
pageSizeOptions,
loading, onMounted(() => {
titleName, if (storageSearchInfo) {
changeCards, handleSetSearchData()
number, } else {
loadingData, getIntegrationList()
onShowSizeChange, }
saveSearchCodition, })
searchResultListDom,
} return {
}, searchValue,
components: { currentPage,
HomeHeader, resourceList,
HomeFooter, resourceTotal,
searchResultList, pageChange,
CanAssignCase, Cardsname,
}, getIntegrationList,
beforeUnmount() { resetAction,
mybus.off('paramsGetResources') onSearch,
mybus.off('changeCondition') currentPageSize,
mybus.off('refresh') pageSizeOptions,
mybus.off('changePage') loading,
}, titleName,
}) changeCards,
number,
loadingData,
onShowSizeChange,
saveSearchCodition,
searchResultListDom,
}
},
components: {
HomeHeader,
HomeFooter,
searchResultList,
CanAssignCase,
},
beforeUnmount() {
mybus.off('paramsGetResources')
mybus.off('changeCondition')
mybus.off('refresh')
mybus.off('changePage')
},
})
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.resultListSearchInput-father { .resultListSearchInput-father {
background: #f3f5f9; background: #f3f5f9;
padding: 0.2rem; padding: 0.2rem;
.resultListSearchInput-son { .resultListSearchInput-son {
background: #fff; background: #fff;
padding: 0.2rem 0.2rem 0rem 0.3rem; padding: 0.2rem 0.2rem 0rem 0.3rem;
.hengxian { .hengxian {
width: 100%; width: 100%;
height: 0.01rem; height: 0.01rem;
background: rgba(150, 144, 144, 0.3); background: rgba(150, 144, 144, 0.3);
margin-top: 0.2rem; margin-top: 0.2rem;
}
} }
} }
}
.resultListSearchInput { .resultListSearchInput {
margin-left: 0.1rem; margin-left: 0.1rem;
:deep(.ant-input) { :deep(.ant-input) {
width: 4rem; width: 4rem;
height: 0.36rem; height: 0.36rem;
background: #fff; background: #fff;
border-radius: 0.04rem; border-radius: 0.04rem;
}
:deep(.ant-input-search-button) {
width: 0.8rem;
height: 0.36rem;
background: #0087ff;
border-radius: 0.04rem !important;
font-size: 0.14rem;
font-weight: 400;
color: #fff;
line-height: 0.34rem;
margin-left: 0.1rem;
}
:deep(.ant-input-group-addon) {
left: 0 !important;
}
} }
:deep(.ant-input-search-button) { .button-reset {
border: 0;
outline: none;
width: 0.8rem; width: 0.8rem;
height: 0.36rem; height: 0.36rem;
background: #0087ff; background: #e1edfa;
border-radius: 0.04rem !important; border-radius: 0.04rem;
font-size: 0.14rem; font-size: 0.14rem;
font-weight: 400; font-weight: 400;
color: #fff; color: #0087ff;
line-height: 0.34rem; line-height: 0.34rem;
margin-left: 0.1rem; margin-left: 2.5rem;
cursor: pointer;
} }
:deep(.ant-input-group-addon) { .details-pageconetent {
left: 0 !important; height: 100%;
} width: 100%;
}
.button-reset {
border: 0;
outline: none;
width: 0.8rem;
height: 0.36rem;
background: #e1edfa;
border-radius: 0.04rem;
font-size: 0.14rem;
font-weight: 400;
color: #0087ff;
line-height: 0.34rem;
margin-left: 2.5rem;
cursor: pointer;
}
.details-pageconetent {
height: 100%;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
margin-top: 0.67rem;
position: relative;
background: rgba(245, 243, 243, 0.3);
.details-pageconetent-left {
max-height: 6.9rem;
position: absolute;
width: 2.5rem;
top: 0.17rem;
left: 2.5rem;
margin-right: 0.17rem;
overflow: auto;
}
.top {
min-height: 7.2rem;
position: relative;
width: 11.5rem;
display: flex; display: flex;
padding-top: 0.2rem; justify-content: center;
flex-direction: column; align-items: center;
font-size: 0.16rem; margin-top: 0.67rem;
justify-content: left; position: relative;
background: #f3f5f9; background: rgba(245, 243, 243, 0.3);
.pagination { .details-pageconetent-left {
background: #f3f5f9; max-height: 6.9rem;
padding-bottom: 0.6rem; position: absolute;
width: 2.5rem;
top: 0.17rem;
left: 2.5rem;
margin-right: 0.17rem;
overflow: auto;
} }
.top-title { .top {
padding: 0.2rem; min-height: 7.2rem;
position: relative;
width: 11.5rem;
display: flex; display: flex;
font-size: 18px; padding-top: 0.2rem;
flex-direction: column;
font-size: 0.16rem;
justify-content: left;
background: #f3f5f9;
.tabAll { .pagination {
background: #f3f5f9;
padding-bottom: 0.6rem;
}
.top-title {
padding: 0.2rem;
display: flex;
font-size: 18px; font-size: 18px;
color: #000000;
margin-right: 35px;
cursor: pointer;
}
.tabAll:nth-child(1) { .tabAll {
margin-left: 20px; font-size: 18px;
} color: #000000;
margin-right: 35px;
cursor: pointer;
}
.sel { .tabAll:nth-child(1) {
font-weight: 600; margin-left: 20px;
color: #0087ff; }
border-bottom: 0.02rem solid #0087ff;
.sel {
font-weight: 600;
color: #0087ff;
border-bottom: 0.02rem solid #0087ff;
}
} }
} }
} }
}
:deep(.ant-card-grid) { :deep(.ant-card-grid) {
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
-webkit-line-clamp: 1; -webkit-line-clamp: 1;
word-break: break-all; word-break: break-all;
} }
</style> </style>

View File

@ -92,15 +92,24 @@
> >
<div <div
class="top" class="top"
style="font-size: 0.24rem;text-align: center; margin-bottom: 0.3rem" style="font-size: 0.24rem; text-align: center; margin-bottom: 0.3rem"
> >
{{ i == 0 ? '基础设施' : i == 1 ? '组件服务' : '数据资源' }} {{ i == 0 ? '基础设施' : i == 1 ? '组件服务' : '数据资源' }}
</div> </div>
<div <div
class="data-count" class="data-count"
style="font-size: 0.14rem; text-align: right; margin-bottom: 0.2rem" style="font-size: 0.14rem; text-align: right; margin-bottom: 0.2rem"
> >
<span style="color:#909399;"> {{ i == 0 ? infrastructureCount : i == 1 ? componentCount : dataSourceCount }}条数据,示例数据如下</span> <span style="color: #909399">
{{
i == 0
? infrastructureCount
: i == 1
? componentCount
: dataSourceCount
}}条数据,示例数据如下
</span>
</div> </div>
<div class="bottom" style="display: flex; align-items: flex-start"> <div class="bottom" style="display: flex; align-items: flex-start">
<div class="title" :class="'title' + i"></div> <div class="title" :class="'title' + i"></div>
@ -679,7 +688,8 @@
// width: 100%; // width: 100%;
font-size: 16px; font-size: 16px;
} }
.data-count{} .data-count {
}
} }
.name-box { .name-box {