Compare commits

..

3 Commits

8 changed files with 973 additions and 1013 deletions

View File

@ -23,6 +23,8 @@ const infrastructure = {}
const mapTestNum = {}
//
const footerDataList = {}
// 西--
const xhaHasPermissionUser = {}
// qingdao
if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
whoShow.itShowQingDao = true
@ -521,4 +523,6 @@ else if (newLocation === 'xihaian') {
},
],
}
xhaHasPermissionUser.list = ['xihaian01', 'xihaian02', 'xihaian03', 'xihaian04', 'admin']
}

View File

@ -236,6 +236,14 @@ export function selectResourceListByDept(params) {
params,
})
}
// 西--
export function selectResourceListByDeptName(params) {
return request({
url: '/resourcecar/selectResourceListByDeptName',
method: 'get',
params,
})
}
//
export function queryApplicationRelByResourceId(params) {
return request({

View File

@ -10,7 +10,7 @@
<a-dropdown>
<span class="ant-dropdown-link">
<a-avatar :src="avatar" />
{{ username }}
{{ realName }}
<DownOutlined />
</span>
<template v-slot:overlay>
@ -27,7 +27,7 @@
import { DownOutlined } from '@ant-design/icons-vue'
import user from '@/assets/home/user.png'
import { useStore } from 'vuex'
import { computed } from 'vue'
import { computed, onMounted } from 'vue'
import { useRoute, useRouter } from 'vue-router'
export default {
@ -49,7 +49,8 @@
}
return {
avatar: user,
username: computed(() => store.getters['user/username']),
// username: computed(() => store.getters['user/username']),
realName: computed(() => store.getters['user/realName']),
logout,
}
},
@ -60,6 +61,7 @@
display: flex;
align-items: center;
justify-content: center;
.ant-dropdown-link {
display: block;
// min-height: 64px;

View File

@ -14,6 +14,7 @@ import { message, notification } from 'ant-design-vue'
const state = () => ({
accessToken: getAccessToken(),
username: '',
realName: '',
userId: '',
avatar: '',
role: 0, //
@ -21,6 +22,7 @@ const state = () => ({
const getters = {
accessToken: (state) => state.accessToken,
username: (state) => state.username,
realName: (state) => state.realName,
avatar: (state) => state.avatar,
role: (state) => state.role,
userId: (state) => state.userId,
@ -45,6 +47,15 @@ const mutations = {
setUsername(state, username) {
state.username = username
},
/**
* @author chuzhixin 1204505056@qq.com
* @description 设置真实用户名
* @param {*} state
* @param {*} username
*/
setRealname(state, realName) {
state.realName = realName
},
//
setRole(state, role) {
state.role = role
@ -75,6 +86,7 @@ const actions = {
})
commit('setAvatar', 'https://i.gtimg.cn/club/item/face/img/2/15922_100.gif')
commit('setUsername', 'admin(未开启登录拦截)')
commit('setRealname', 'admin(未开启登录拦截)')
},
/**
* @author chuzhixin 1204505056@qq.com
@ -120,7 +132,8 @@ const actions = {
return false
}
// debugger
commit('setUsername', data.data.realName)
commit('setUsername', data.data.username)
commit('setRealname', data.data.realName)
commit('setRole', data.data.roleIdList.length)
commit('setUserId', data.data.id)
// TODO

View File

@ -450,7 +450,7 @@ import DetailsPageResource from '@/views/home/components/DetailsPageResource.vue
import infrastructurePage from '@/views/home/infrastructurePage.vue'
import detailsPageInfrastructureTree from '@/views/home/detailsPageInfrastructureTree.vue'
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
import { useStore } from 'vuex'
import { message } from 'ant-design-vue'
import {
titleNameArray,
@ -521,6 +521,13 @@ export default defineComponent({
orderType: 'DESC', // ASC DESC
}
const store = useStore()
//
const user = ref({
username: store.getters['user/username'],
realName: store.getters['user/realName'],
})
const searchResultListDom = ref(null)
//
@ -1268,8 +1275,10 @@ export default defineComponent({
}
const changeCards = (name) => {
// 西-
if(whoShow1.value.itShowXiHaiAn && name !== '基础设施') {
return message.warn('正在建设中!')
if(whoShow1.value.itShowXiHaiAn) {
if(name !== '基础设施' && !xhaHasPermissionUser.list.includes(user.value.username)) {
return message.warn('暂无权限')
}
}
resourceList.data = []
videoList.data = []

View File

@ -4,7 +4,7 @@
props.showView === 'algorithm-details' ? '' : '',
]">
<div class="name" @click="goToHome">
<div class="name-bg" v-if="!whoShow1.itShowXiHaiAn"></div>
<div class="name-bg" v-if="!itShowXiHaiAn"></div>
<div class="name-bg-xihaian" v-else></div>
<div class="name-content">
<p>城市云脑通用能力服务平台</p>
@ -57,10 +57,10 @@
<i class="img"></i>
<a-tooltip placement="bottom">
<template #title>
<span>{{ user.username }}</span>
<span>{{ user.realName }}</span>
</template>
<span class="name" @click="jumpPage({ name: '个人中心', key: 'personalCenter' })">
{{ user.username }}
{{ user.realName }}
</span>
</a-tooltip>
<span @click="logout" class="out">退出</span>
@ -102,34 +102,29 @@ const store = useStore()
const router = useRouter()
const route = useRoute()
const whoShow1 = ref(whoShow)
const itShowXiHaiAn = ref(whoShow.itShowXiHaiAn)
//
const user = ref({
username: store.getters['user/username'],
realName: store.getters['user/realName'],
})
// user.username.value = store.getters(['user/username'])
const select = ref(router.currentRoute.value.name)
const mynoticeFlag = ref(false)
const mynoticeData = ref([])
console.log('navListManagement------------>', navListManagement)
// eslint-disable-next-line no-undef
const navList = ref(navListManagement.navList)
console.log('navList------------>', navList)
const props = defineProps({
showView: { type: String, default: '' },
})
// //
// getUser().then((res) => {
// user.value = res.data.data
// // console.log('user===============>', user.value)
// })
// 退
const logout = async () => {
await store.dispatch('user/logout')
window.sessionStorage.setItem('visits', JSON.stringify([]))
// 西
if (!whoShow1.itShowXiHaiAn) {
if (!itShowXiHaiAn.value) {
if (recordRoute) {
const fullPath = route.fullPath
router.push(`/login?redirect=${fullPath}`)
@ -147,10 +142,10 @@ const goToHome = () => {
//
const jumpPage = (item) => {
// 西
if (whoShow1.itShowXiHaiAn) {
if (itShowXiHaiAn.value) {
let _arr = ['共享门户', '能力云图', '能力统计', '需求中心', '赋能案例']
if (_arr.includes(item.name)) {
return message.warn('正在建设中!')
if (_arr.includes(item.name) && !xhaHasPermissionUser.list.includes(user.value.username)) {
return message.warn('暂无权限')
}
}
select.value = item.key

View File

@ -12,75 +12,22 @@
</div>
<div class="right">
<div class="sousuokuang">
<a-input-search
v-model:value="name"
placeholder="请输入关键词"
enter-button="搜索"
size="large"
@search="getList('init')"
/>
<a-input-search v-model:value="name" placeholder="请输入关键词" enter-button="搜索" size="large"
@search="getList('init')" />
</div>
<a-popconfirm
v-if="checkedListAbility.length != 0"
title="是否进行批量删除?"
ok-text="是"
cancel-text="否"
@confirm="delList"
@cancel="cancel"
>
<a-button
type="primary"
style="
width: 1rem;
height: 0.36rem;
margin-right: 0.12rem;
border-radius: 2px;
background: #fff;
color: #0558e1;
"
@click="ceshiFunction()"
>
<a-popconfirm v-if="checkedListAbility.length != 0" title="是否进行批量删除?" ok-text="" cancel-text=""
@confirm="handleDelete" @cancel="cancel">
<a-button type="primary" class="collect-btn" @click="ceshiFunction()">
批量删除
</a-button>
</a-popconfirm>
<a-button
v-else
type="primary"
style="
width: 1rem;
height: 0.36rem;
margin-right: 0.12rem;
border-radius: 2px;
background: #fff;
color: #0558e1;
"
@click="ceshiFunction()"
>
<a-button v-else type="primary" class="collect-btn" @click="ceshiFunction()">
批量删除
</a-button>
<a-button
type="primary"
style="
width: 1rem;
height: 0.36rem;
border-radius: 2px;
background: #fff;
color: #0558e1;
"
@click="collection"
>
<a-button type="primary" v-if="!itShowXiHaiAn" class="collect-btn" @click="collection">
批量收藏
</a-button>
<a-button
type="primary"
style="
width: 1rem;
height: 0.36rem;
margin-left: 0.12rem;
border-radius: 2px;
"
@click="apply"
>
<a-button type="primary" class="apply-btn" @click="apply">
一键申请
</a-button>
</div>
@ -89,10 +36,7 @@
<div class="item" v-for="(val, valIndex) in list" :key="val.id">
<div class="item-top" @click="showBottom(val)">
<div>
<a-checkbox
:checked="val.checked"
@click.stop="checkedDept(val)"
></a-checkbox>
<a-checkbox :checked="val.checked" @click.stop="checkedDept(val)"></a-checkbox>
<span style="margin-left: 0.2rem" v-if="itShowXiHaiAn">
{{ val.deptName}}
</span>
@ -104,17 +48,12 @@
<UpOutlined v-show="val.show" />
</div>
<div class="item-bottom" v-show="val.show">
<a-list
class="demo-loadmore-list"
:loading="val.initLoading"
item-layout="horizontal"
:data-source="val.children"
>
<a-list class="demo-loadmore-list" :loading="val.initLoading" item-layout="horizontal"
:data-source="val.children">
<template #renderItem="{ item }">
<a-list-item>
<a-skeleton avatar :title="false" :loading="item.loading" active>
<a-list-item-meta
:description="
<a-list-item-meta :description="
item.description ||
(item.note1 && JSON.parse(item.note1) &&
JSON.parse(item.note1)[0] &&
@ -123,25 +62,19 @@
JSON.parse(item.note1).length +
'个摄像头') ||
''
"
style="position: relative"
>
" style="position: relative">
<template #title>
<div>
<a-tooltip>
<template #title>{{ item.resourceName }}</template>
<span
@click="
<span @click="
showItem(
item.resourceId,
item.type,
item.delFlag,
item.note1
)
"
style="cursor: pointer"
class="name"
>
" style="cursor: pointer" class="name">
{{ item.resourceName }}
</span>
</a-tooltip>
@ -150,76 +83,41 @@
<!-- // todo -->
<span class="time">
<span v-if="!itShowXiHaiAn">加购时间:{{ item.time }}</span>
<a-popconfirm
title="是否删除该记录?"
ok-text="是"
cancel-text="否"
@confirm="delOne(item, valIndex)"
@cancel="cancel"
>
<a-button
type="primary"
style="
<a-popconfirm title="是否删除该记录?" ok-text="" cancel-text="" @confirm="handleDelete(item, valIndex)"
@cancel="cancel">
<a-button type="primary" style="
width: 0.7rem;
height: 0.3rem;
margin-left: 0.12rem;
border-radius: 2px;
background: #fff;
color: #0558e1;
"
@click="del"
>
" @click="del">
删除
</a-button>
</a-popconfirm>
</span>
<svg
t="1652233950228"
class="icon"
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="5970"
data-spm-anchor-id="a313x.7781069.0.i8"
width="50"
height="50"
v-if="item.delFlag == 4 || item.delFlag == 5"
style="position: absolute; top: 0; left: 1rem"
>
<svg t="1652233950228" class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="5970" data-spm-anchor-id="a313x.7781069.0.i8" width="50"
height="50" v-if="item.delFlag == 4 || item.delFlag == 5"
style="position: absolute; top: 0; left: 1rem">
<path
d="M955.22053 256C813.82053 11.2 500.72053-72.6 255.92053 68.8S-72.67947 523.2 68.72053 768 523.22053 1096.6 768.02053 955.2c244.7-141.2 328.6-454.1 187.4-698.8 0-0.1-0.1-0.3-0.2-0.4zM762.02053 944.7c-239 138.1-544.8 56.2-682.9-182.8S22.92053 217.1 261.92053 79.1s544.8-56.2 682.9 182.8c137.9 239 56.1 544.6-182.8 682.8z"
fill="#515151"
opacity=".5"
p-id="5971"
></path>
fill="#515151" opacity=".5" p-id="5971"></path>
<path
d="M898.12053 289.2C775.02053 76 502.42053 2.9 289.22053 126 76.02053 249.1 3.02053 521.6 126.02053 734.8 249.12053 948 521.62053 1021.1 734.82053 898 947.92053 774.9 1021.02053 502.4 898.12053 289.2zM731.62053 892.8C521.32053 1014.3 252.42053 942.2 131.02053 731.9 9.52053 521.6 81.62053 252.7 291.92053 131.3 502.12053 9.9 771.02053 81.8 892.42053 292c121.5 210.3 49.5 479.3-160.8 600.8z"
fill="#515151"
opacity=".5"
p-id="5972"
></path>
fill="#515151" opacity=".5" p-id="5972"></path>
<path
d="M323.62053 176.8c3.6-2 6 0.8 8.8 2.8 6 4.4 12.4 8.8 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 13.6-5.6 20.8 4.8 6 10 11.6 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.4 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.4-1.9-3.9-4.7-4.4-7.7l-7.2-20.5-25.2-6.4c-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 4-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.7-0.8-0.3-1.6 0.6-2zM200.72053 289.2c3.6-2 6 0.8 8.8 2.8 6.4 4.4 12.4 8.4 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 13.6-5.6 20.8 4.8 6 10 11.6 14.8 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.4-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.8 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.2-2-3.8-4.7-4.4-7.7l-7.2-20.5c-8.4-2-16.8-4.4-25.2-6.4-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 3.6-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.4-1.2 0-1.6 0.8-2.4l0.2 0.4z m276.6-159.6c3.6-2 6 0.8 8.8 2.8 6.4 4.4 12.4 8.4 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 14-5.6 20.8 4.8 6 10 12 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.8 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.2-2-3.8-4.7-4.4-7.7l-7.2-20.5-25.2-6.4c-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 4-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.8-1.2-0.4-1.6 0.4-2.4l0.2 0.4z m141.9 29.6c3.6-2 6 0.8 8.8 2.8l18.8 12.8c7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 14-5.6 20.8 4.8 6 10 12 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4-7.7 0.4-15.2 0.8-22.4 0.8-4.4 6.8-8.4 13.2-12.8 20-1.6 2.4-4 5.1-7.2 4-2.4-1.9-3.9-4.7-4.4-7.7l-7.2-20.5c-8.4-2-16.8-4.4-25.2-6.4-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 4-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.5-1.2 0.2-1.6 0.6-2zM150.02053 430c3.6-2 6 0.8 8.8 2.8 6.4 4.4 12.4 8.4 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-4 14-5.6 20.8 4.8 6 10 11.6 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.8 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.2-2-3.8-4.7-4.4-7.7l-7.2-20.5-25.2-6.4c-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 3.6-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.7-0.8-0.3-1.5 0.6-2z m558.9 414.4c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-2-14-3.6-20.8-5.6-2.8-7.2-5.1-14.4-7.7-21.6-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.1 4.4-0.7 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.5-1.1 0.8-1.1 1.6-1.1h0.1z m-158.8 50c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.1-3.7-5.6-3.6-7.7-4-6.8-1.6-14-3.6-20.8-5.6l-7.7-22c-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.3 4.3-0.9 6.4-1.6l14.4-4.8c2-1 4.2-1.7 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.4-0.8 0.8-0.8 1.7-0.7z m276.5-159.6c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-2-14-3.6-20.8-5.6-2.8-7.2-5.1-14.4-7.7-21.6-1.2-3.6-2.8-6.4-5.6-6.8s-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.2 4.4-0.7 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0-0.8 0.8-1.2 1.6-1.2l0.1 0.1z m45.6-137.6c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-1.6-14-3.6-20.8-5.6l-7.7-22c-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.3 4.3-0.9 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.2-0.7 0.6-0.7 1.4-0.7h0.3zM402.72053 868c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-2-14-3.6-20.8-5.6-2.8-7.2-5.1-14.4-7.7-21.6-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.3 4.3-0.9 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.5-0.8 1-1.1 1.7-1.1z"
fill="#515151"
opacity=".5"
p-id="5973"
></path>
fill="#515151" opacity=".5" p-id="5973"></path>
<path
d="M386.42053 590.4l-43.8-75.9L207.02053 592.7l10.2 17.7L334.02053 543l23.4 40.4-90.5 52.2-13.5-23.4-18.7 10.8 53.1 92c9.1 15.8 21.2 19.5 36.4 10.7l98.8-57c6.2-3.6 11-9.3 13.4-16.1-1.4-15.9-6.2-31.2-14.2-45l-21.4 4.8c6.7 10.3 11 21.9 12.8 34-1 3.3-3.2 6-6.1 7.8l-88.3 51c-6.2 3.6-11.1 2.1-14.8-4.3l-27.3-47.4 109.3-63.1z m2.9-103.2l10.4 18.1 65.6-37.9 79.9 138.4 18.6-10.8-55.9-96.9c18.8-0.9 43.2-0.6 73 0.7l1.5-23.1c-29.8-0.3-58.4 0.4-86 2.6l-12.5-21.6 74.9-43.2-10.4-18.1-159.1 91.8zM669.52053 329l38.2 66.2 61.4-35.4-38.1-66.1-61.5 35.3z m72.4 24.2l-26.3 15.2-19-33 26.3-15.2 19 33zM599.02053 356.7l7.9 13.7-23.3 13.5 9.8 17 21.8-12.6c7.5 18.7 6.6 39.6-2.5 57.6l20.7 4.4c10.3-23.1 10.3-49.4 0-72.5l18.8-10.9c6 9.2 10.7 19.2 14.2 29.7 0.3 5-2.6 9.7-7.2 11.7-2.9 1.2-6.4 2.8-10.9 4.9l14.1 14.1c3.7-1.3 7.3-2.9 10.7-4.8 8.6-3.9 14.4-12.2 15.2-21.6-5.4-22.1-14.6-43-27.4-61.8l-36.1 20.8-7.9-13.7-17.9 10.5z m29.9 108.1l10 17.4 53.2-30.7c-7.8 23.7-20.6 45.4-37.5 63.6l20.6 11.1c18.6-24.2 30-53.1 33-83.4l29.8 51.5 18.4-10.7-29.8-51.5c27.4 11.5 57.2 16.3 86.9 14.1l3.5-23.5c-24.7 5.1-50.1 5-74.8-0.1l53.5-30.9-10-17.3-69.3 40-7.3-12.6-18.4 10.7L698.02053 425l-69.1 39.8z"
fill="#515151"
opacity=".5"
p-id="5974"
></path>
fill="#515151" opacity=".5" p-id="5974"></path>
</svg>
</template>
<template #avatar>
<a-checkbox
:checked="item.checked"
@click.stop="checkedItem(val, item)"
></a-checkbox>
<div
class="tx"
:class="
<a-checkbox :checked="item.checked" @click.stop="checkedItem(val, item)"></a-checkbox>
<div class="tx" v-if="!itShowXiHaiAn" :class="
item.type == '基础设施'
? 'sxt'
: item.type == '应用资源'
@ -233,36 +131,19 @@
: item.componentType == '业务组件'
? 'ywzj'
: ''
"
></div>
"></div>
</template>
</a-list-item-meta>
</a-skeleton>
</a-list-item>
</template>
</a-list>
<!-- <a-pagination
v-model:current="val.pageNum"
v-model:page-size="val.pageSize"
:total="val.count"
@change="pageChange2(val)"
:key="showKey"
:hideOnSinglePage="true"
></a-pagination> -->
</div>
</div>
</div>
<a-modal
v-model:visible="videoVisible"
title="已申请摄像头列表"
@ok="videoVisible = false"
>
<a-table
:columns="columns"
:data-source="xVideoList"
bordered
:pagination="{ defaultPageSize: 6 }"
>
<a-modal v-model:visible="videoVisible" title="已申请摄像头列表" @ok="videoVisible = false">
<a-table :columns="columns" :data-source="xVideoList" bordered :pagination="{ defaultPageSize: 6 }">
<template #bodyCell="{ column, text }">
<!-- <template>
<a>{{ text }}</a>
@ -270,19 +151,7 @@
</template>
</a-table>
</a-modal>
<!-- <a-pagination
v-model:current="pageNum"
v-model:page-size="pageSize"
:page-size-options="pageSizeOptions"
:total="total"
show-size-changer
@change="pageChange"
:key="showKey"
>
<template #buildOptionText="props">
<span>{{ props.value }}/</span>
</template>
</a-pagination> -->
</template>
<script setup>
import { onMounted, ref } from 'vue'
@ -295,12 +164,12 @@
scInsert,
selectResourceCarGroupByDept,
selectResourceListByDept,
selectResourceListByDeptName,
} from '@/api/personalCenter'
const router = useRouter()
//
const pageNum = ref('1')
const pageSize = ref('99999')
// const pageSizeOptions = ref(['5', '10', '20'])
const videoVisible = ref(false)
const xVideoList = ref([])
const total = ref(0)
@ -322,19 +191,13 @@
const name = ref('')
const type = ref('')
const list = ref([])
const itShowXiHaiAn = whoShow.itShowXiHaiAn;
const itShowXiHaiAn = ref(whoShow.itShowXiHaiAn);
//
onMounted(() => {
getList('init')
})
//
const collection = () => {
// console.log(
// '=================',
// checkedList.value,
// list.value,
// scInsert
// )
let scArr = []
if (checkedListAbility.value.length === 0) {
message.warning('请选择需要收藏的数据')
@ -533,12 +396,13 @@
}
// console.log('===============>', load.value)
//
list.value = res.data.data.list
list.value = res.data.data.list || []
console.log('list.value------------>', list.value);
if (index || index === 0) {
list.value[index].show = true
showNew(list.value[index])
}
total.value = res.data.data.deptCount
showKey.value++
if (type == 'init' || type == 'changePage') {
@ -547,27 +411,29 @@
})
}
// deptid
const getListByDeptId = (item) => {
console.log(item, 'item')
const getListByDeptId = async (item) => {
console.log('通过deptid或者deptName查询列表------------>', item);
if (item.children.length == 0) {
let _obj = {
pageNum: item.pageNum,
pageSize: item.pageSize,
deptId: item.deptId || '',
name: name.value,
}
let res;
// 西 todo
if (whoShow.itShowXiHaiAn) {
_obj.key = item.deptName
_obj.deptName = item.deptName;
res = await selectResourceListByDeptName(_obj)
} else {
_obj.deptId = item.deptId || '';
res = await selectResourceListByDept(_obj)
}
selectResourceListByDept(_obj).then((res) => {
console.log('res----根据部门查询-------->', res);
// console.log(
// '=============>',
// item,
// checkedListAbility.value
// )
res.data.data.map((val) => {
item.initLoading = false
if (res.data.code !== 0) {
return message.error(res.data.msg)
}
(res.data.data || []).map((val) => {
if (
(!item.load || item.load < Number(item.pageNum)) &&
load.value <= Number(pageNum.value)
@ -586,11 +452,6 @@
val.checked = false
}
} else {
// console.log(
// '++++++++++++++',
// checkedListAbility.value,
// val.id
// )
if (
checkedListAbility.value.indexOf(val.id) > -1 ||
(item.load < Number(item.pageNum) &&
@ -609,11 +470,8 @@
if (item.load < Number(item.pageNum)) {
item.load = Number(item.pageNum)
}
// console.log('==============>>', item.load)
item.children = res.data.data
item.show = true
item.initLoading = false
})
}
}
//
@ -790,10 +648,23 @@
message.warning('请先选择需要操作的数据!')
}
}
const delOne = (item, index) => {
// console.log(item)
// delOne delList handleDelete
const handleDelete = (item, index) => {
console.log('item------------>', item);
let delArr = [];
//
if (item) {
delArr = [item.id]
} else {
//
if (checkedListAbility.value.length == 0) {
return message.warning('请先选择需要操作的数据!')
} else {
delArr = checkedListAbility.value
}
}
sgcDel({
ids: [item.id],
ids: delArr
}).then((res) => {
if (res.data.msg === 'success') {
message.success('删除成功')
@ -863,7 +734,6 @@
if (arr.length > 0) {
console.log('一键申请===================>', arr)
localStorage.setItem('applyList', JSON.stringify(arr))
return;
router.push({
path: '/apply',
})
@ -873,27 +743,33 @@
</script>
<style lang="less" scoped>
.ant-list {
// max-height: 5.3rem;
.ant-list-item {
width: 100%;
padding: 0.24rem 0.2rem;
.ant-list-item-meta {
align-items: center;
:deep(.ant-list-item-meta-avatar) {
padding-left: 0.2rem;
margin-right: 0.3rem;
}
.time {
margin-left: 0.3rem;
font-size: 0.12rem;
color: #ccc;
}
.type {
margin-left: 0.1rem;
padding: 0.03rem 0.1rem;
background: #00a7e3;
color: #fff;
}
:deep(.ant-list-item-meta-description) {
margin-top: 0.1rem;
max-height: 0.22rem;
@ -908,18 +784,22 @@
}
}
}
.ant-list::-webkit-scrollbar {
width: 0 !important;
}
.top {
margin: 0.1rem;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid #f0f0f0;
.left {
display: flex;
align-items: center;
p {
height: 0.18rem;
line-height: 0.14rem;
@ -927,35 +807,44 @@
margin-bottom: 0;
border-left: 1px solid #212121;
}
.reverseSelection {
margin-right: 0.1rem;
cursor: pointer;
}
.reverseSelection:hover {
color: #0058e1;
}
span {
margin-left: 0.1rem;
}
.num {
margin-left: 0;
color: #0087ff;
font-size: 0.2rem;
}
}
.right {
display: flex;
align-items: center;
justify-content: space-around;
button {
margin-bottom: 0.1rem;
}
.sousuokuang {
width: 3.25rem;
margin: 0.1rem 0rem 0.21rem 0.2rem;
.ant-input-search {
max-width: 3rem;
}
:deep(.ant-input) {
width: 2.4rem;
height: 0.36rem;
@ -963,9 +852,11 @@
color: #000;
background: #fff;
}
:deep(.ant-input-group-addon) {
display: inline-block;
margin-left: 0.1rem;
.ant-input-search-button {
width: 0.65rem;
height: 0.36rem;
@ -976,6 +867,7 @@
}
}
}
.title {
font-size: 0.2rem;
color: #000000;
@ -984,6 +876,7 @@
margin-top: 0.2rem;
margin-left: 0.2rem;
}
.tab {
margin-top: 0.1rem;
margin-left: 0.2rem;
@ -991,6 +884,7 @@
display: flex;
font-size: 0.14rem;
color: #999999;
div {
width: 0.7rem;
height: 0.24rem;
@ -1001,11 +895,13 @@
color: #666666;
cursor: pointer;
}
.tabclass {
border: 0.01rem solid #0087ff;
color: #0087ff;
}
}
.name {
max-width: 4.15rem;
overflow: hidden;
@ -1014,13 +910,16 @@
-o-text-overflow: ellipsis;
word-break: break-all;
}
.name:hover {
color: #0087ff;
}
.items {
height: 7.25rem;
padding: 0 0.3rem;
overflow-y: scroll;
.item {
.item-top {
width: 100%;
@ -1034,65 +933,94 @@
padding: 0 0.1rem;
margin-top: 0.08rem;
}
.item-top:hover {
cursor: pointer;
// 0058e1 0.5
background: rgba(0, 88, 225, 0.8);
color: white;
:deep(.anticon) {
color: white;
}
}
.item-bottom {
padding: 0 0.2rem;
border: 1px solid rgba(0, 135, 225, 0.1);
}
}
}
:deep(.ant-list-item-meta-avatar) {
display: flex;
align-items: center;
}
.ant-pagination {
margin-bottom: 0.2rem;
}
.tx {
display: inline-block;
width: 0.8rem;
height: 0.8rem;
margin-left: 0.1rem;
}
.sxt {
background: url('~@/assets/home/sxt_square.png') no-repeat;
background-size: 100%;
}
.yyzy {
background: url('~@/assets/home/yyzy_square.png') no-repeat;
background-size: 100%;
}
.znsf {
background: url('~@/assets/home/znsf_square.png') no-repeat;
background-size: 100%;
}
.tcfw {
background: url('~@/assets/home/tcfw_square.png') no-repeat;
background-size: 100%;
}
.kfzj {
background: url('~@/assets/home/kfzj_square.png') no-repeat;
background-size: 100%;
}
.ywzj {
background: url('~@/assets/home/ywzj_square.png') no-repeat;
background-size: 100%;
}
:deep(.ant-list-item-meta-title) {
display: flex;
justify-content: space-between;
align-items: center;
div {
display: flex;
align-items: center;
}
}
.collect-btn {
width: 1rem;
height: 0.36rem;
border-radius: 2px;
background: #fff;
color: #0558e1;
}
.apply-btn {
width: 1rem;
height: 0.36rem;
margin-left: 0.12rem;
border-radius: 2px;
}
</style>

View File

@ -21,25 +21,27 @@ export default defineComponent({
components: {},
setup() {
const itShowXiHaiAn = whoShow.itShowXiHaiAn;
let menuList = [
{
const car = {
title: '申购车',
img: require('@/assets/personalCenter/demand.png'),
imgActive: require('@/assets/personalCenter/demandactive.png'),
key: 'PurchaseVehicle',
},
}
const apply = {
title: '我的申请',
img: require('@/assets/personalCenter/apply.png'),
imgActive: require('@/assets/personalCenter/applyactive.png'),
key: 'apply',
}
let menuList = [
car,
{
title: '我的发布',
img: require('@/assets/personalCenter/push.png'),
imgActive: require('@/assets/personalCenter/pushactive.png'),
key: 'push',
},
{
title: '我的申请',
img: require('@/assets/personalCenter/apply.png'),
imgActive: require('@/assets/personalCenter/applyactive.png'),
key: 'apply',
},
apply,
{
title: '我的收藏',
img: require('@/assets/personalCenter/collect.png'),
@ -67,8 +69,7 @@ export default defineComponent({
]
// 西
if (itShowXiHaiAn) {
let _newArr = JSON.parse(JSON.stringify(menuList))
menuList = _newArr.splice(0, 1)
menuList = [car, apply]
}
const selectedKeys = ref(['apply'])