Compare commits
15 Commits
7f3c5c0921
...
dfba732000
Author | SHA1 | Date |
---|---|---|
guoyue | dfba732000 | |
guoyue | 0661a53d79 | |
guoyue | fb0a5e1f38 | |
guoyue | 31a809f9d9 | |
guoyue | 90a3aa8e37 | |
guoyue | 1cba78f8e1 | |
guoyue | 7996d8a701 | |
guoyue | 1e06abbf11 | |
guoyue | 59abe1614c | |
guoyue | 59cc6d93fc | |
guoyue | 9df17910ee | |
guoyue | 715792aa7d | |
guoyue | 510e72f35e | |
guoyue | 43aec16d92 | |
guoyue | 5eefd4d306 |
|
@ -8,8 +8,9 @@
|
|||
var _global = {}
|
||||
var CONFIGITEM = {
|
||||
// version: 'qingdao', //青岛
|
||||
//version: 'xihaian', // 西海岸
|
||||
// version: 'xihaian', // 西海岸
|
||||
version: 'dev', // 开发
|
||||
// version: 'zhanTingDev', // 展厅dev (2022-09-13:姜永超让添加)
|
||||
//version: 'test', // 测试
|
||||
//version: 'frp', // 内网穿透
|
||||
vNum: 'v0.8.7.2',
|
||||
|
@ -43,6 +44,7 @@ var CONFIGITEM = {
|
|||
backUrl: 'http://10.134.135.9:9797',
|
||||
previewUrl: 'http://10.134.135.9:9796/',
|
||||
websocketURL: '10.134.135.9:8888/renren-admin',
|
||||
// websocketURL: '10.18.1.99:8889/renren-admin', // 研发
|
||||
POI_URL:
|
||||
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
|
||||
},
|
||||
|
@ -57,8 +59,8 @@ var CONFIGITEM = {
|
|||
},
|
||||
backUrl: 'http://localhost:8001',
|
||||
previewUrl: 'http://192.168.124.236:9796/',
|
||||
websocketURL: '192.168.124.236:8888/renren-admin',
|
||||
// websocketURL: '10.18.1.99:8889/renren-admin',
|
||||
// websocketURL: '192.168.124.236:8888/renren-admin',
|
||||
websocketURL: '10.18.1.99:8889/renren-admin',
|
||||
POI_URL:
|
||||
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
|
||||
},
|
||||
|
|
|
@ -122,12 +122,15 @@ else if (newLocation === 'baotou') {
|
|||
{ name: '能力集市', key: 'DetailsPageconetent' },
|
||||
{ name: '能力云图', key: 'capabilityCloud' },
|
||||
{ name: '能力统计', key: 'abilityStatistics' },
|
||||
{ name: '技术文档', key: 'instructionManual' },
|
||||
// { name: '开发指南', key: 'developmentGuide' },
|
||||
{ name: '需求中心', key: 'demandCenter' },
|
||||
// { name: '个人中心', key: 'personalCenter' },
|
||||
// { name: '区市站点', key: 'mapTest' },
|
||||
// { name: '后台管理', key: 'houtaiguanli' },
|
||||
{ name: '赋能案例', key: 'assignCase' },
|
||||
{ name: '融合服务', key: 'integrationServices' },
|
||||
{ name: 'CIM专区', key: 'cimSpecialArea' },
|
||||
]
|
||||
footerDataList.footerList = {
|
||||
company: {
|
||||
|
@ -493,12 +496,15 @@ else if (newLocation === 'xihaian') {
|
|||
{ name: '能力集市', key: 'DetailsPageconetent' },
|
||||
{ name: '能力云图', key: 'capabilityCloud' },
|
||||
{ name: '能力统计', key: 'abilityStatistics' },
|
||||
{ name: '技术文档', key: 'instructionManual' },
|
||||
// { name: '开发指南', key: 'developmentGuide' },
|
||||
{ name: '需求中心', key: 'demandCenter' },
|
||||
// { name: '个人中心', key: 'personalCenter' },
|
||||
// { name: '区市站点', key: 'mapTest' },
|
||||
// { name: '后台管理', key: 'houtaiguanli' },
|
||||
{ name: '赋能案例', key: 'assignCase' },
|
||||
{ name: '融合服务', key: 'integrationServices' },
|
||||
{ name: 'CIM专区', key: 'cimSpecialArea' },
|
||||
]
|
||||
footerDataList.footerList = {
|
||||
company: {
|
||||
|
|
|
@ -13,62 +13,56 @@
|
|||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import zhCN from 'ant-design-vue/es/locale/zh_CN'
|
||||
import Cookies from 'js-cookie'
|
||||
import { onBeforeUnmount } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
const router = useRouter()
|
||||
import zhCN from 'ant-design-vue/es/locale/zh_CN'
|
||||
import Cookies from 'js-cookie'
|
||||
import { onBeforeUnmount } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
const router = useRouter()
|
||||
|
||||
// export default {
|
||||
// name: 'App',
|
||||
// data() {
|
||||
// return {
|
||||
// ,
|
||||
// }
|
||||
// },
|
||||
// }
|
||||
const locale = zhCN
|
||||
const token = Cookies.get('ucsToken')
|
||||
console.log('token=================>', token)
|
||||
let ws = new WebSocket(
|
||||
const locale = zhCN
|
||||
const token = Cookies.get('ucsToken')
|
||||
console.log('token=================>', token)
|
||||
let ws = new WebSocket(
|
||||
`ws://${window.SITE_CONFIG['websocketURL']}/websocket?token=${token}`
|
||||
)
|
||||
// ws.send()给服务器发送信息
|
||||
// 服务器每次返回信息都会执行一次onmessage方法
|
||||
ws.onmessage = function (e) {
|
||||
console.log('WebSocket服务器返回的信息: ' + e.data)
|
||||
mybus.emit('getMynotice')
|
||||
// 判断当前路由是否是消息中心
|
||||
if (router.currentRoute.value.name === 'mynoticeView') {
|
||||
mybus.emit('noticeListInit')
|
||||
}
|
||||
}
|
||||
ws.onerror = function (e) {
|
||||
console.log('WebSocket连接异常============================>', e)
|
||||
ws = new WebSocket(
|
||||
`ws://${window.SITE_CONFIG['websocketURL']}/websocket?token=${token}`
|
||||
)
|
||||
// ws.send()给服务器发送信息
|
||||
// 服务器每次返回信息都会执行一次onmessage方法
|
||||
ws.onmessage = function (e) {
|
||||
console.log('WebSocket服务器返回的信息: ' + e.data)
|
||||
mybus.emit('getMynotice')
|
||||
// 判断当前路由是否是消息中心
|
||||
if (router.currentRoute.value.name === 'mynoticeView') {
|
||||
mybus.emit('noticeListInit')
|
||||
}
|
||||
}
|
||||
ws.onerror = function (e) {
|
||||
console.log('WebSocket连接异常============================>', e)
|
||||
ws = new WebSocket(
|
||||
`ws://${window.SITE_CONFIG['websocketURL']}/websocket?token=${token}`
|
||||
)
|
||||
}
|
||||
ws.onclose = function (e) {
|
||||
console.log('WebSocket连接断开============================>', e)
|
||||
}
|
||||
onBeforeUnmount(() => {
|
||||
// 4.卸载前, 关闭链接
|
||||
ws.close()
|
||||
})
|
||||
}
|
||||
ws.onclose = function (e) {
|
||||
console.log('WebSocket连接断开============================>', e)
|
||||
}
|
||||
onBeforeUnmount(() => {
|
||||
// 4.卸载前, 关闭链接
|
||||
ws.close()
|
||||
})
|
||||
</script>
|
||||
<style lang="less">
|
||||
@import '~@/vab/styles/vab.less';
|
||||
#vue-admin-beautiful {
|
||||
max-width: 1920px;
|
||||
// max-height: 1080px;
|
||||
margin: auto;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
background-color: #fff;
|
||||
}
|
||||
body {
|
||||
font-size: 0.14rem;
|
||||
}
|
||||
@import '~@/vab/styles/vab.less';
|
||||
|
||||
#vue-admin-beautiful {
|
||||
max-width: 1920px;
|
||||
// max-height: 1080px;
|
||||
margin: auto;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
body {
|
||||
font-size: 0.14rem;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -368,6 +368,16 @@ export function getIntegrationServicesList(params) {
|
|||
params,
|
||||
})
|
||||
}
|
||||
|
||||
// 融合服务--更新
|
||||
export function updateIntegrationServices(data) {
|
||||
return request({
|
||||
url: '/fuse',
|
||||
method: 'put',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
||||
// 全局搜索
|
||||
export function getCountByFuzzyQuery(params) {
|
||||
return request({
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 3.2 KiB |
|
@ -505,3 +505,6 @@ export const RECOURCE_G_ICON = {
|
|||
resourceProtection:
|
||||
'/src/assets/resourceManageMap/pic/point-resettlement-circle.png',
|
||||
}
|
||||
|
||||
// 能力集市-默认选中tab
|
||||
export const DETAIL_PAGE_CONTENT_DEFAULT_TAB = '应用资源'
|
||||
|
|
|
@ -60,7 +60,7 @@ export function MapFun(mapObj) {
|
|||
/**
|
||||
* 定义地物编辑服务
|
||||
*/
|
||||
const featureService = L.supermap.featureService(
|
||||
const featureService = L.supermap && L.supermap.featureService && L.supermap.featureService(
|
||||
_mapConfig.config.EDITORDATA_URL
|
||||
)
|
||||
|
||||
|
|
|
@ -123,7 +123,8 @@ export function HieimpMap() {
|
|||
// debugger;
|
||||
|
||||
// 获取图层信息
|
||||
L.supermap
|
||||
L.supermap && L.supermap
|
||||
.layerInfoService && L.supermap
|
||||
.layerInfoService(_mapConfig.config.QUERY_URL)
|
||||
.getLayersInfo(function (result) {
|
||||
// doSomething
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
<template>
|
||||
<div class="detail-back" @click="previousPage" :style="{ color: textColor }">
|
||||
<返回
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { reactive, ref, watch, defineProps } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
const router = useRouter()
|
||||
|
||||
const props = defineProps({
|
||||
textColor: { type: String, default: '' },
|
||||
})
|
||||
|
||||
const previousPage = () => {
|
||||
window.history.go(-1)
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.detail-back {
|
||||
position: absolute;
|
||||
opacity: 0.7;
|
||||
top: 0.5rem;
|
||||
left: 100px;
|
||||
font-size: 0.20rem;
|
||||
cursor: pointer;
|
||||
background: -webkit-linear-gradient(90deg, #99a8d0, #fff);
|
||||
font-weight: 600;
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
}
|
||||
</style>
|
|
@ -7,6 +7,7 @@
|
|||
-->
|
||||
<template>
|
||||
<div class="capability-cloud">
|
||||
<capability-cloud-back></capability-cloud-back>
|
||||
<div class="header">
|
||||
<span class="title" @click="goHome">数字能力超市</span>
|
||||
</div>
|
||||
|
@ -29,6 +30,7 @@
|
|||
import Infrastructure from '@/views/capabilityCloud/components/Infrastructure.vue'
|
||||
import DataResources from '@/views/capabilityCloud/components/DataResources.vue'
|
||||
import KnowledgeBase from '@/views/capabilityCloud/components/KnowledgeBase.vue'
|
||||
import capabilityCloudBack from '@/views/capabilityCloud/components/capabilityCloudBack.vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
const router = useRouter()
|
||||
const goHome = () => {
|
||||
|
|
|
@ -692,27 +692,29 @@
|
|||
data.value.list.push(item)
|
||||
}
|
||||
})
|
||||
} else if (item.name === '部门联系人') {
|
||||
if (!item.note1) {
|
||||
getUserInfo().then(({ data: res1 }) => {
|
||||
console.log(res1.data)
|
||||
item.note1 = res1.data.realName || ''
|
||||
})
|
||||
data.value.list.push(item)
|
||||
} else {
|
||||
data.value.list.push(item)
|
||||
}
|
||||
} else if (item.name === '部门联系人电话') {
|
||||
if (!item.note1) {
|
||||
getUserInfo().then(({ data: res1 }) => {
|
||||
console.log(res1.data)
|
||||
item.note1 = res1.data.mobile || ''
|
||||
})
|
||||
data.value.list.push(item)
|
||||
} else {
|
||||
data.value.list.push(item)
|
||||
}
|
||||
} else if (item.name === '来源应用') {
|
||||
}
|
||||
// else if (item.name === '部门联系人') {
|
||||
// if (!item.note1) {
|
||||
// getUserInfo().then(({ data: res1 }) => {
|
||||
// console.log(res1.data)
|
||||
// item.note1 = res1.data.realName || ''
|
||||
// })
|
||||
// data.value.list.push(item)
|
||||
// } else {
|
||||
// data.value.list.push(item)
|
||||
// }
|
||||
// } else if (item.name === '部门联系人电话') {
|
||||
// if (!item.note1) {
|
||||
// getUserInfo().then(({ data: res1 }) => {
|
||||
// console.log(res1.data)
|
||||
// item.note1 = res1.data.mobile || ''
|
||||
// })
|
||||
// data.value.list.push(item)
|
||||
// } else {
|
||||
// data.value.list.push(item)
|
||||
// }
|
||||
// }
|
||||
else if (item.name === '来源应用') {
|
||||
queryApplicationRelByResourceId({
|
||||
referenceId: 0,
|
||||
}).then((res) => {
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
import layer from './components/layer.vue'
|
||||
import application from './components/application.vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
|
||||
|
||||
const router = useRouter()
|
||||
const abilityToType = router.currentRoute.value.query.abilityToType
|
||||
const show = ref('algorithm')
|
||||
|
@ -47,7 +49,8 @@
|
|||
const newpage = router.resolve({
|
||||
path: '/DetailsPageconetent',
|
||||
query: {
|
||||
select: '组件服务',
|
||||
// select: '组件服务',
|
||||
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB
|
||||
},
|
||||
})
|
||||
window.location.href = newpage.href
|
||||
|
|
|
@ -44,214 +44,227 @@
|
|||
</template>
|
||||
|
||||
<script setup>
|
||||
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle'
|
||||
import { ref, defineProps, watch } from 'vue'
|
||||
const iconImg = require('@/assets/detailsAll/layer-service/layer-icon.png')
|
||||
const dataFromLeft = ref({
|
||||
content: [
|
||||
{
|
||||
type: '服务类型',
|
||||
values: '',
|
||||
},
|
||||
{
|
||||
type: '覆盖区域',
|
||||
values: '',
|
||||
},
|
||||
{
|
||||
type: '切片策略',
|
||||
values: '',
|
||||
},
|
||||
],
|
||||
})
|
||||
const dataFromCenter = ref({
|
||||
content: [
|
||||
{
|
||||
type: '坐标系',
|
||||
values: '',
|
||||
},
|
||||
{
|
||||
type: '切片尺寸',
|
||||
values: '',
|
||||
},
|
||||
{
|
||||
type: '最小级别',
|
||||
values: '',
|
||||
},
|
||||
],
|
||||
})
|
||||
const dataFromRight = ref({
|
||||
content: [
|
||||
{
|
||||
type: '图层名称',
|
||||
values: '',
|
||||
},
|
||||
{
|
||||
type: '最大级别',
|
||||
values: '',
|
||||
},
|
||||
],
|
||||
})
|
||||
//数据初始化
|
||||
const props = defineProps({
|
||||
dataList: { type: Object, default: null },
|
||||
})
|
||||
const flag = ref(true)
|
||||
if (props.dataList.infoList) {
|
||||
let obj = props.dataList.infoList.filter(
|
||||
(item) =>
|
||||
item.attrType === '服务类型' ||
|
||||
item.attrType === '覆盖区域' ||
|
||||
item.attrType === '切片策略' ||
|
||||
item.attrType === '坐标系' ||
|
||||
item.attrType === '切片尺寸' ||
|
||||
item.attrType === '最小级别' ||
|
||||
item.attrType === '数据范围' ||
|
||||
item.attrType === '图层类型' ||
|
||||
item.attrType === '最大级别'
|
||||
)[0]
|
||||
if (!obj) {
|
||||
flag.value = false
|
||||
} else {
|
||||
// dataFrom.value.content[0].link.value = props.dataList.apiUrl
|
||||
// dataFrom.value.content[0].facilitator.value = props.dataList.deptContacts
|
||||
console.log('dataList', props.dataList)
|
||||
props.dataList.infoList.map((item) => {
|
||||
if (item.attrType === '服务类型') {
|
||||
dataFromLeft.value.content[0].values = item.attrValue || '123'
|
||||
} else if (item.attrType === '覆盖区域') {
|
||||
dataFromLeft.value.content[1].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '切片策略') {
|
||||
dataFromLeft.value.content[2].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '坐标系') {
|
||||
dataFromCenter.value.content[0].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '切片尺寸') {
|
||||
dataFromCenter.value.content[1].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '最小级别') {
|
||||
dataFromCenter.value.content[2].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '数据范围') {
|
||||
dataFromRight.value.content[0].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '图层类型') {
|
||||
dataFromRight.value.content[1].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '最大级别') {
|
||||
dataFromRight.value.content[2].values = item.attrValue || '--'
|
||||
}
|
||||
})
|
||||
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle'
|
||||
import { ref, defineProps, watch } from 'vue'
|
||||
const iconImg = require('@/assets/detailsAll/layer-service/layer-icon.png')
|
||||
const dataFromLeft = ref({
|
||||
content: [
|
||||
{
|
||||
type: '服务类型',
|
||||
values: '',
|
||||
},
|
||||
{
|
||||
type: '覆盖区域',
|
||||
values: '',
|
||||
},
|
||||
{
|
||||
type: '切片策略',
|
||||
values: '',
|
||||
},
|
||||
],
|
||||
})
|
||||
const dataFromCenter = ref({
|
||||
content: [
|
||||
{
|
||||
type: '坐标系',
|
||||
values: '',
|
||||
},
|
||||
{
|
||||
type: '切片尺寸',
|
||||
values: '',
|
||||
},
|
||||
{
|
||||
type: '最小级别',
|
||||
values: '',
|
||||
},
|
||||
],
|
||||
})
|
||||
const dataFromRight = ref({
|
||||
content: [
|
||||
{
|
||||
type: '图层名称',
|
||||
values: '',
|
||||
},
|
||||
{
|
||||
type: '最大级别',
|
||||
values: '',
|
||||
},
|
||||
],
|
||||
})
|
||||
//数据初始化
|
||||
const props = defineProps({
|
||||
dataList: { type: Object, default: null },
|
||||
})
|
||||
const flag = ref(true)
|
||||
if (props.dataList.infoList) {
|
||||
let obj = props.dataList.infoList.filter(
|
||||
(item) =>
|
||||
item.attrType === '服务类型' ||
|
||||
item.attrType === '覆盖区域' ||
|
||||
item.attrType === '切片策略' ||
|
||||
item.attrType === '坐标系' ||
|
||||
item.attrType === '切片尺寸' ||
|
||||
item.attrType === '最小级别' ||
|
||||
item.attrType === '数据范围' ||
|
||||
item.attrType === '图层类型' ||
|
||||
item.attrType === '最大级别'
|
||||
)[0]
|
||||
if (!obj) {
|
||||
flag.value = false
|
||||
} else {
|
||||
// dataFrom.value.content[0].link.value = props.dataList.apiUrl
|
||||
// dataFrom.value.content[0].facilitator.value = props.dataList.deptContacts
|
||||
console.log('dataList', props.dataList)
|
||||
props.dataList.infoList.map((item) => {
|
||||
handleInfoList(item)
|
||||
})
|
||||
}
|
||||
}
|
||||
const handleInfoList = (item) => {
|
||||
if (item.attrType === '服务类型') {
|
||||
dataFromLeft.value.content[0].values = item.attrValue || '123'
|
||||
} else if (item.attrType === '覆盖区域') {
|
||||
dataFromLeft.value.content[1].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '切片策略') {
|
||||
dataFromLeft.value.content[2].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '坐标系') {
|
||||
dataFromCenter.value.content[0].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '切片尺寸') {
|
||||
dataFromCenter.value.content[1].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '最小级别') {
|
||||
dataFromCenter.value.content[2].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '数据范围') {
|
||||
dataFromRight.value.content[0].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '图层类型') {
|
||||
dataFromRight.value.content[1].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '最大级别') {
|
||||
if (dataFromRight.value.content && dataFromRight.value.content[2]) {
|
||||
dataFromRight.value.content[2].values = item.attrValue || '--'
|
||||
}
|
||||
}
|
||||
watch(
|
||||
() => props.dataList,
|
||||
(val) => {
|
||||
if (val) {
|
||||
let obj = val.infoList.filter(
|
||||
(item) =>
|
||||
item.attrType === '服务类型' ||
|
||||
item.attrType === '覆盖区域' ||
|
||||
item.attrType === '切片策略' ||
|
||||
item.attrType === '坐标系' ||
|
||||
item.attrType === '切片尺寸' ||
|
||||
item.attrType === '最小级别' ||
|
||||
item.attrType === '数据范围' ||
|
||||
item.attrType === '图层类型' ||
|
||||
item.attrType === '最大级别'
|
||||
)[0]
|
||||
if (!obj) {
|
||||
flag.value = false
|
||||
} else {
|
||||
// dataFrom.value.content[0].link.value = val.apiUrl
|
||||
// dataFrom.value.content[0].facilitator.value = val.deptContacts
|
||||
console.log('dataList', val)
|
||||
val.infoList.map((item) => {
|
||||
if (item.attrType === '服务类型') {
|
||||
dataFromLeft.value.content[0].values = item.attrValue || '123'
|
||||
} else if (item.attrType === '覆盖区域') {
|
||||
dataFromLeft.value.content[1].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '切片策略') {
|
||||
dataFromLeft.value.content[2].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '坐标系') {
|
||||
dataFromCenter.value.content[0].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '切片尺寸') {
|
||||
dataFromCenter.value.content[1].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '最小级别') {
|
||||
dataFromCenter.value.content[2].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '数据范围') {
|
||||
dataFromRight.value.content[0].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '图层类型') {
|
||||
dataFromRight.value.content[1].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '最大级别') {
|
||||
dataFromRight.value.content[2].values = item.attrValue || '--'
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
watch(
|
||||
() => props.dataList,
|
||||
(val) => {
|
||||
if (val) {
|
||||
let obj = val.infoList.filter(
|
||||
(item) =>
|
||||
item.attrType === '服务类型' ||
|
||||
item.attrType === '覆盖区域' ||
|
||||
item.attrType === '切片策略' ||
|
||||
item.attrType === '坐标系' ||
|
||||
item.attrType === '切片尺寸' ||
|
||||
item.attrType === '最小级别' ||
|
||||
item.attrType === '数据范围' ||
|
||||
item.attrType === '图层类型' ||
|
||||
item.attrType === '最大级别'
|
||||
)[0]
|
||||
if (!obj) {
|
||||
flag.value = false
|
||||
} else {
|
||||
console.log('dataList', val)
|
||||
val.infoList.map((item) => {
|
||||
handleInfoList(item)
|
||||
// if (item.attrType === '服务类型') {
|
||||
// dataFromLeft.value.content[0].values = item.attrValue || '123'
|
||||
// } else if (item.attrType === '覆盖区域') {
|
||||
// dataFromLeft.value.content[1].values = item.attrValue || '--'
|
||||
// } else if (item.attrType === '切片策略') {
|
||||
// dataFromLeft.value.content[2].values = item.attrValue || '--'
|
||||
// } else if (item.attrType === '坐标系') {
|
||||
// dataFromCenter.value.content[0].values = item.attrValue || '--'
|
||||
// } else if (item.attrType === '切片尺寸') {
|
||||
// dataFromCenter.value.content[1].values = item.attrValue || '--'
|
||||
// } else if (item.attrType === '最小级别') {
|
||||
// dataFromCenter.value.content[2].values = item.attrValue || '--'
|
||||
// } else if (item.attrType === '数据范围') {
|
||||
// dataFromRight.value.content[0].values = item.attrValue || '--'
|
||||
// } else if (item.attrType === '图层类型') {
|
||||
// dataFromRight.value.content[1].values = item.attrValue || '--'
|
||||
// } else if (item.attrType === '最大级别') {
|
||||
// if (dataFromRight.value.content && dataFromRight.value.content[2]) {
|
||||
// dataFromRight.value.content[2].values = item.attrValue || '--'
|
||||
// }
|
||||
// }
|
||||
})
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
)
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.usage-mode {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 0.8rem 0;
|
||||
.content {
|
||||
margin-top: 0.3rem;
|
||||
display: flex;
|
||||
.content-left {
|
||||
height: 2.8rem;
|
||||
width: 13rem;
|
||||
background: url('~@/assets/detailsAll/layer-service/layer-bg.png');
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
border-radius: 0.1rem;
|
||||
box-shadow: 0rem 0.05rem 0.15rem rgba(82, 106, 255, 0.4);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0 0.35rem;
|
||||
.usage-mode {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 0.8rem 0;
|
||||
|
||||
.content-left-content {
|
||||
width: 100%;
|
||||
font-size: 0.2rem;
|
||||
color: rgba(33, 41, 86, 0.8);
|
||||
line-height: 0.2rem;
|
||||
.content {
|
||||
margin-top: 0.3rem;
|
||||
display: flex;
|
||||
|
||||
.content-left {
|
||||
height: 2.8rem;
|
||||
width: 13rem;
|
||||
background: url('~@/assets/detailsAll/layer-service/layer-bg.png');
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
border-radius: 0.1rem;
|
||||
box-shadow: 0rem 0.05rem 0.15rem rgba(82, 106, 255, 0.4);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0 0.35rem;
|
||||
|
||||
.content-left-content {
|
||||
width: 100%;
|
||||
font-size: 0.2rem;
|
||||
color: rgba(33, 41, 86, 0.8);
|
||||
line-height: 0.2rem;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
ul {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
ul li {
|
||||
list-style: none;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
ul {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
ul li {
|
||||
list-style: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 0.3rem;
|
||||
line-height: 0.25rem;
|
||||
}
|
||||
img {
|
||||
margin: 0 0.2rem 0 0;
|
||||
width: 0.15rem;
|
||||
height: 0.15rem;
|
||||
}
|
||||
span {
|
||||
font-size: 0.2rem;
|
||||
color: #666666;
|
||||
display: block;
|
||||
margin-right: 0.5rem;
|
||||
width: 120px;
|
||||
}
|
||||
p {
|
||||
width: 2rem;
|
||||
margin-bottom: 0;
|
||||
font-size: 0.2rem;
|
||||
color: #333333;
|
||||
display: -webkit-box;
|
||||
overflow: hidden;
|
||||
-webkit-line-clamp: 1;
|
||||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
}
|
||||
margin-bottom: 0.3rem;
|
||||
line-height: 0.25rem;
|
||||
}
|
||||
|
||||
img {
|
||||
margin: 0 0.2rem 0 0;
|
||||
width: 0.15rem;
|
||||
height: 0.15rem;
|
||||
}
|
||||
|
||||
span {
|
||||
font-size: 0.2rem;
|
||||
color: #666666;
|
||||
display: block;
|
||||
margin-right: 0.5rem;
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
p {
|
||||
width: 2rem;
|
||||
margin-bottom: 0;
|
||||
font-size: 0.2rem;
|
||||
color: #333333;
|
||||
display: -webkit-box;
|
||||
overflow: hidden;
|
||||
-webkit-line-clamp: 1;
|
||||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,19 +1,11 @@
|
|||
<template>
|
||||
<div class="box">
|
||||
<div class="CanCase">
|
||||
<div
|
||||
class="caseBox"
|
||||
v-for="(item, index) in caseList"
|
||||
:key="index"
|
||||
@click="toView(item)"
|
||||
>
|
||||
<a-image
|
||||
:preview="false"
|
||||
:src="
|
||||
item.fuseAttrList.filter((val) => val.attrType == '服务图片')[0]
|
||||
.attrValue
|
||||
"
|
||||
/>
|
||||
<div class="caseBox" v-for="(item, index) in caseList" :key="index" @click="toView(item)">
|
||||
<a-image :preview="false" :src="
|
||||
item.fuseAttrList.filter((val) => val.attrType == '服务图片')[0]
|
||||
.attrValue
|
||||
" />
|
||||
<h3>{{ item.name }}</h3>
|
||||
<p>发布时间 {{ item.updateDate }}</p>
|
||||
</div>
|
||||
|
@ -21,68 +13,83 @@
|
|||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref, onMounted, onBeforeUnmount } from 'vue'
|
||||
import { defineProps } from 'vue'
|
||||
import { ref, onMounted, onBeforeUnmount, watch, defineProps, defineEmits } from 'vue'
|
||||
|
||||
import { useRouter } from 'vue-router'
|
||||
const router = useRouter()
|
||||
const props = defineProps({
|
||||
resourceList: {
|
||||
type: Object,
|
||||
default: () => {},
|
||||
},
|
||||
selectCardsname: {
|
||||
type: String,
|
||||
default: '组件服务',
|
||||
import { useRouter } from 'vue-router'
|
||||
const router = useRouter()
|
||||
const props = defineProps({
|
||||
resourceList: {
|
||||
type: Object,
|
||||
default: () => { },
|
||||
},
|
||||
selectCardsname: {
|
||||
type: String,
|
||||
default: '组件服务',
|
||||
},
|
||||
})
|
||||
const emits = defineEmits(['saveSearchCodition'])
|
||||
|
||||
const caseList = ref([])
|
||||
|
||||
onMounted(() => {
|
||||
caseList.value = props.resourceList.data
|
||||
console.log('caseList.value------------>', caseList.value);
|
||||
})
|
||||
onBeforeUnmount(() => { })
|
||||
function toView(item) {
|
||||
emits('saveSearchCodition', 1)
|
||||
router.push({
|
||||
path: '/integrationServicesDetails',
|
||||
query: {
|
||||
id: item.id,
|
||||
},
|
||||
})
|
||||
const caseList = ref([])
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
caseList.value = props.resourceList.data
|
||||
console.log(caseList.value, 'caseList.value')
|
||||
})
|
||||
onBeforeUnmount(() => {})
|
||||
function toView(item) {
|
||||
router.push({
|
||||
path: '/integrationServicesDetails',
|
||||
query: {
|
||||
id: item.id,
|
||||
},
|
||||
})
|
||||
watch(
|
||||
() => props.resourceList.data,
|
||||
(val) => {
|
||||
if (val) {
|
||||
caseList.value = val
|
||||
}
|
||||
}
|
||||
)
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.box {
|
||||
.CanCase {
|
||||
margin-top: 0.2rem;
|
||||
display: grid;
|
||||
grid-template-columns: 33.33% 33.33% 33.33%;
|
||||
align-items: center;
|
||||
justify-items: center;
|
||||
.caseBox {
|
||||
width: 3.5rem;
|
||||
height: 3rem;
|
||||
box-shadow: 1px 1px 5px 5px rgba(222, 222, 222, 0.152);
|
||||
background: #ffffff;
|
||||
border-radius: 0.05rem;
|
||||
padding: 0.2rem;
|
||||
margin-bottom: 0.2rem;
|
||||
cursor: pointer;
|
||||
img {
|
||||
width: 3rem;
|
||||
height: 1.8rem;
|
||||
}
|
||||
h3 {
|
||||
font-size: 0.18rem;
|
||||
font-weight: bold;
|
||||
margin-top: 0.1rem;
|
||||
}
|
||||
p {
|
||||
font-size: 0.16rem;
|
||||
color: #797979;
|
||||
}
|
||||
.box {
|
||||
.CanCase {
|
||||
margin-top: 0.2rem;
|
||||
display: grid;
|
||||
grid-template-columns: 33.33% 33.33% 33.33%;
|
||||
align-items: center;
|
||||
justify-items: center;
|
||||
|
||||
.caseBox {
|
||||
width: 3.5rem;
|
||||
height: 3rem;
|
||||
box-shadow: 1px 1px 5px 5px rgba(222, 222, 222, 0.152);
|
||||
background: #ffffff;
|
||||
border-radius: 0.05rem;
|
||||
padding: 0.2rem;
|
||||
margin-bottom: 0.2rem;
|
||||
cursor: pointer;
|
||||
|
||||
img {
|
||||
width: 3rem;
|
||||
height: 1.8rem;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 0.18rem;
|
||||
font-weight: bold;
|
||||
margin-top: 0.1rem;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 0.16rem;
|
||||
color: #797979;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -131,46 +131,34 @@
|
|||
import { getSgcTotal } from '@/api/home'
|
||||
import Cookies from 'js-cookie'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
|
||||
|
||||
const store = useStore()
|
||||
const router = useRouter()
|
||||
const route = useRoute()
|
||||
// const navListManagement = ref([
|
||||
// { name: '共享门户', key: 'home' },
|
||||
// { name: '能力集市', key: 'DetailsPageconetent' },
|
||||
// { name: '能力云图', key: 'capabilityCloud' },
|
||||
// { name: '能力统计', key: 'abilityStatistics' },
|
||||
// { name: '开发指南', key: 'developmentGuide' },
|
||||
// { name: '需求中心', key: 'demandCenter' },
|
||||
// // { name: '个人中心', key: 'personalCenter' },
|
||||
// { name: '区市站点', key: 'mapTest' },
|
||||
// // { name: '后台管理', key: 'houtaiguanli' },
|
||||
// { name: '赋能案例', key: 'assignCase' },
|
||||
// ])
|
||||
|
||||
const whoShow1 = whoShow
|
||||
const user = ref({
|
||||
username: store.getters['user/username'],
|
||||
})
|
||||
// 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')
|
||||
// 移除本地存储查询条件
|
||||
localStorage.removeItem('integrationServices')
|
||||
localStorage.removeItem('DetailsPageconetent')
|
||||
window.sessionStorage.setItem('visits', JSON.stringify([]))
|
||||
// 西海岸不返回登录页
|
||||
if (!whoShow1.itShowXiHaiAn) {
|
||||
|
@ -208,7 +196,8 @@
|
|||
router.push({
|
||||
path: '/DetailsPageconetent',
|
||||
query: {
|
||||
select: '组件服务',
|
||||
// select: '组件服务',
|
||||
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB
|
||||
},
|
||||
})
|
||||
break
|
||||
|
@ -217,11 +206,6 @@
|
|||
path: '/capabilityCloud',
|
||||
})
|
||||
break
|
||||
// case '技术文档':
|
||||
// router.push({
|
||||
// path: '/developmentGuide',
|
||||
// })
|
||||
// break
|
||||
case '技术文档':
|
||||
router.push({
|
||||
path: '/instructionManual',
|
||||
|
@ -255,10 +239,6 @@
|
|||
case '融合服务':
|
||||
router.push({
|
||||
path: '/integrationServices',
|
||||
// path: '/DetailsPageconetent',
|
||||
query: {
|
||||
select: '融合服务',
|
||||
},
|
||||
})
|
||||
break
|
||||
case 'CIM专区':
|
||||
|
|
|
@ -0,0 +1,100 @@
|
|||
<template>
|
||||
<ul class="integrationServiceOrder">
|
||||
<li v-for="(item, i) in integrationOrderList" :key="i" @click="
|
||||
changeOrder(i, item.value, item.orderType == 'DESC' ? 'ASC' : 'DESC')
|
||||
">
|
||||
{{ item.name }}
|
||||
<span class="arrow" :class="
|
||||
integrationOrder.orderType == 'ASC' &&
|
||||
integrationOrder.orderField == item.value
|
||||
? 'down'
|
||||
: ''
|
||||
"></span>
|
||||
</li>
|
||||
</ul>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref, reactive, nextTick, defineExpose } from 'vue'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
|
||||
const orderList = [
|
||||
{
|
||||
value: 'apply_count',
|
||||
name: '申请量',
|
||||
orderType: 'DESC',
|
||||
},
|
||||
{
|
||||
value: 'collectCount',
|
||||
name: '收藏量',
|
||||
orderType: 'DESC',
|
||||
},
|
||||
{
|
||||
value: 'create_date',
|
||||
name: '发布时间',
|
||||
orderType: 'DESC',
|
||||
},
|
||||
{
|
||||
value: 'update_date',
|
||||
name: '更新时间',
|
||||
orderType: 'DESC',
|
||||
},
|
||||
]
|
||||
const integrationOrderList = ref(JSON.parse(JSON.stringify(orderList)))
|
||||
const integrationOrder = reactive({
|
||||
orderField: '',
|
||||
orderType: '',
|
||||
})
|
||||
|
||||
// 融合服务--排序
|
||||
const changeOrder = (i, val, type) => {
|
||||
console.log('i, val, type------------>', i, val, type);
|
||||
integrationOrder.orderField = val
|
||||
integrationOrder.orderType = type;
|
||||
// 0 apply_count ASC
|
||||
let _index = integrationOrderList.value.findIndex(x => x.value = val)
|
||||
if (_index > -1) {
|
||||
integrationOrderList.value[_index].orderType = type
|
||||
}
|
||||
mybus.emit('changeCondition', {
|
||||
orderField: val,
|
||||
orderType: type,
|
||||
})
|
||||
}
|
||||
|
||||
const reset = () => {
|
||||
integrationOrderList.value = JSON.parse(JSON.stringify(orderList))
|
||||
integrationOrder.orderField = ''
|
||||
integrationOrder.orderType = ''
|
||||
}
|
||||
defineExpose({
|
||||
reset,
|
||||
})
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.integrationServiceOrder {
|
||||
display: flex;
|
||||
|
||||
li {
|
||||
width: 90px;
|
||||
height: 12px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
.arrow {
|
||||
display: inline-block;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
background: url('~@/assets/newHome/arrow.png');
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.down {
|
||||
background: url('~@/assets/newHome/down.png');
|
||||
margin-top: 6px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
File diff suppressed because it is too large
Load Diff
|
@ -1,12 +1,12 @@
|
|||
export const titleNameArray = [
|
||||
{
|
||||
photo: require('@/assets/newHome/banner-zj.png'),
|
||||
name: '组件服务',
|
||||
},
|
||||
{
|
||||
photo: require('@/assets/newHome/banner-yy.png'),
|
||||
name: '应用资源',
|
||||
},
|
||||
{
|
||||
photo: require('@/assets/newHome/banner-zj.png'),
|
||||
name: '组件服务',
|
||||
},
|
||||
{
|
||||
photo: require('@/assets/newHome/banner-jc.png'),
|
||||
name: '基础设施',
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
<template>
|
||||
<div class="detail-back" @click="previousPage" :style="{ color: textColor }">
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { reactive, ref, watch, defineProps } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
const router = useRouter()
|
||||
console.log('router------------>', router)
|
||||
|
||||
const props = defineProps({
|
||||
textColor: { type: String, default: '' },
|
||||
})
|
||||
|
||||
const previousPage = () => {
|
||||
window.history.go(-1)
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.detail-back {
|
||||
position: absolute;
|
||||
top: 0.85rem;
|
||||
left: 100px;
|
||||
font-size: 0.18rem;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
background-image: url('~@/assets/detailsAll/back.png');
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
</style>
|
|
@ -9,6 +9,7 @@
|
|||
<div>
|
||||
<div id="apply-container">
|
||||
<home-header :showView="showView"></home-header>
|
||||
<detail-back></detail-back>
|
||||
<details-view v-if="showView === 'details-view'"></details-view>
|
||||
<algorithm-details
|
||||
v-else-if="showView === 'algorithm-details'"
|
||||
|
@ -38,6 +39,7 @@
|
|||
import DeveloperComponents from '@/views/detailsAll/DeveloperComponents'
|
||||
import BusinessDetails from '@/views/detailsAll/BusinessDetails'
|
||||
import LayerService from '@/views/detailsAll/LayerService'
|
||||
import detailBack from '@/views/home/detailBack.vue'
|
||||
import { selectOne } from '@/api/home'
|
||||
import { useRouter } from 'vue-router'
|
||||
export default defineComponent({
|
||||
|
@ -52,6 +54,7 @@
|
|||
DeveloperComponents,
|
||||
BusinessDetails,
|
||||
LayerService,
|
||||
detailBack
|
||||
},
|
||||
setup() {
|
||||
const formState = reactive({
|
||||
|
@ -163,6 +166,7 @@
|
|||
}
|
||||
}
|
||||
init()
|
||||
|
||||
return {
|
||||
formState,
|
||||
options,
|
||||
|
|
|
@ -432,7 +432,7 @@
|
|||
placeholder="请输入关键词"
|
||||
enter-button="搜索"
|
||||
size="large"
|
||||
@change="getCamera"
|
||||
@change="(e) => getCamera(true, e.target.value)"
|
||||
/>
|
||||
<a-button
|
||||
type="primary"
|
||||
|
@ -1697,6 +1697,7 @@
|
|||
// }
|
||||
const wrjFlag = ref(false)
|
||||
const getCamera = (flag, str) => {
|
||||
console.log('mapSearchParam.value.cameraName------------>', mapSearchParam.value.cameraName);
|
||||
if (flag) {
|
||||
mapSearchParam.value.cameraName = str
|
||||
console.log('赋值===============》', str, mapSearchParam.value)
|
||||
|
@ -1710,6 +1711,8 @@
|
|||
pagination.value.total = res.data.count
|
||||
})
|
||||
} else {
|
||||
console.log('mapSearchParam------------>', mapSearchParam);
|
||||
|
||||
let params = {
|
||||
regionId:
|
||||
mapSearchParam.value.parentId || '70be8c5b664f4bcf869d82f2e8335051',
|
||||
|
@ -1720,6 +1723,7 @@
|
|||
latitude: mapSearchParam.value.gpsY || '',
|
||||
radius: mapSearchParam.value.radius || '',
|
||||
status: 1,
|
||||
name: mapSearchParam.value.cameraName
|
||||
}
|
||||
if (
|
||||
params.regionId === '70be8c5b664f4bcf869d82f2e8335051' &&
|
||||
|
|
|
@ -5,13 +5,8 @@
|
|||
<div class="top">
|
||||
<div class="top-title">
|
||||
全部:
|
||||
<div
|
||||
v-for="(item, index) in titleName"
|
||||
:key="index"
|
||||
class="tabAll"
|
||||
@click="changeCards(index)"
|
||||
:class="{ sel: index == number }"
|
||||
>
|
||||
<div v-for="(item, index) in titleName" :key="index" class="tabAll" @click="changeCards(index)"
|
||||
:class="{ sel: index == number }">
|
||||
<span>
|
||||
{{ item.name === '赋能场景' ? '典型赋能场景' : '打包模式' }}
|
||||
</span>
|
||||
|
@ -20,54 +15,26 @@
|
|||
<div class="resultListSearchInput-father" v-if="number === 0">
|
||||
<div class="resultListSearchInput-son">
|
||||
模糊搜索
|
||||
<a-input-search
|
||||
v-model:value="searchValue"
|
||||
placeholder="请输入关键词"
|
||||
enter-button="搜索"
|
||||
size="large"
|
||||
@search="getAppResources"
|
||||
@change="onSearch"
|
||||
class="resultListSearchInput"
|
||||
/>
|
||||
<button class="button-reset" @click="chongzhi()">重置</button>
|
||||
<a-input-search v-model:value="searchValue" placeholder="请输入关键词" enter-button="搜索" size="large"
|
||||
@search="getIntegrationList" @change="onSearch" class="resultListSearchInput" />
|
||||
<button class="button-reset" @click="resetAction()">重置</button>
|
||||
<div class="hengxian"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-loading="loadingData">
|
||||
<searchResultList
|
||||
v-if="number === 0"
|
||||
v-show="resourceList.data && resourceList.data.length > 0"
|
||||
:key="listKey2"
|
||||
:resourceList="resourceList"
|
||||
:resourceTotal="resourceTotal"
|
||||
:selectCardsname="number == 0 ? '融合服务' : '赋能场景'"
|
||||
/>
|
||||
<CanAssignCase
|
||||
v-else
|
||||
v-show="resourceList.data && resourceList.data.length > 0"
|
||||
:key="listKey2"
|
||||
:resourceList="resourceList"
|
||||
:resourceTotal="resourceTotal"
|
||||
:selectCardsname="number == 0 ? '融合服务' : '赋能场景'"
|
||||
/>
|
||||
<searchResultList v-if="number === 0" v-show="resourceList.data && resourceList.data.length > 0"
|
||||
:resourceList="resourceList" :resourceTotal="resourceTotal" @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">
|
||||
<a-pagination
|
||||
v-if="resourceList.data && resourceList.data.length > 0"
|
||||
v-model:current="currentPage"
|
||||
v-model:pageSize="currentPageSize"
|
||||
show-size-changer
|
||||
show-less-items
|
||||
show-quick-jumper
|
||||
:total="resourceTotal"
|
||||
:page-size-options="pageSizeOptions"
|
||||
@change="pageChange"
|
||||
@showSizeChange="onShowSizeChange"
|
||||
/>
|
||||
<a-pagination v-if="resourceList.data && resourceList.data.length > 0" v-model:current="currentPage"
|
||||
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
|
||||
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 />
|
||||
</div>
|
||||
</div>
|
||||
|
@ -76,342 +43,357 @@
|
|||
<home-footer></home-footer>
|
||||
</template>
|
||||
<script>
|
||||
import HomeFooter from '@/views/newHome/components/Footer'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import { defineComponent, reactive, ref, toRefs, onMounted, watch } from 'vue'
|
||||
import HomeFooter from '@/views/newHome/components/Footer'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import { defineComponent, reactive, ref, toRefs, onMounted, 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'
|
||||
|
||||
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({
|
||||
setup() {
|
||||
// 分页
|
||||
const loading = ref(true)
|
||||
const currentPage = ref(1)
|
||||
const currentPageSize = ref(5)
|
||||
const pageSizeOptions = ref(['5', '10', '20', '50'])
|
||||
const router = useRouter()
|
||||
const select = router.currentRoute.value.query.select
|
||||
const searchValue = ref('')
|
||||
const Cardsname = ref(select)
|
||||
const resourceList = reactive({ data: [] })
|
||||
const resourceTotal = ref(0)
|
||||
const current = ref(1)
|
||||
const loadingData = ref(false)
|
||||
// 选项卡
|
||||
const titleName = ref([
|
||||
{
|
||||
name: '打包模式',
|
||||
},
|
||||
{
|
||||
name: '赋能场景',
|
||||
},
|
||||
])
|
||||
|
||||
const number = ref(0)
|
||||
// 刷新筛选条件组件
|
||||
let listKey = ref(0)
|
||||
// 刷新筛选列表信息组件
|
||||
const listKey2 = ref(0)
|
||||
|
||||
// 查询参数
|
||||
const paramsGetResources = {
|
||||
pageNum: 1,
|
||||
pageSize: currentPageSize.value,
|
||||
type: titleName.value[number.value].name,
|
||||
name: '',
|
||||
orderField: 'create_date', // total 综合 visits 访问量 applyCount 申请量 score 评分 collectCount 收藏量
|
||||
orderType: 'DESC', // ASC 升序 DESC 降序
|
||||
}
|
||||
|
||||
const changeCards = (val) => {
|
||||
console.log(val)
|
||||
number.value = val
|
||||
chongzhi()
|
||||
}
|
||||
|
||||
// 查询
|
||||
const onSearch = () => {
|
||||
loading.value = true
|
||||
currentPage.value = 1
|
||||
}
|
||||
// 重置数据
|
||||
const chongzhi = () => {
|
||||
loading.value = true
|
||||
// 重置模糊查字段
|
||||
searchValue.value = ''
|
||||
// 分页
|
||||
currentPage.value = 1
|
||||
currentPageSize.value = 5
|
||||
// 重置查询条件
|
||||
paramsGetResources.pageNum = 1
|
||||
paramsGetResources.pageSize = 5
|
||||
paramsGetResources.orderField = 'create_date'
|
||||
paramsGetResources.orderType = 'DESC'
|
||||
mybus.emit('chongzhi', {
|
||||
type: titleName.value[number.value].name,
|
||||
export default defineComponent({
|
||||
beforeRouteLeave(to, from, next) {
|
||||
console.log('to---integrationServices--beforeRouteLeave------->', to)
|
||||
console.log('from---integrationServices--beforeRouteLeave------->', from)
|
||||
console.log('next---integrationServices--beforeRouteLeave------->', next)
|
||||
if (to.name !== 'packagingDetails' && to.name !== 'integrationServicesDetails') {
|
||||
localStorage.removeItem('integrationServices')
|
||||
}
|
||||
next()
|
||||
},
|
||||
setup() {
|
||||
// 分页
|
||||
const loading = ref(true)
|
||||
const currentPage = ref(1)
|
||||
const currentPageSize = ref(5)
|
||||
const pageSizeOptions = ref(['2', '5', '10', '20', '50'])
|
||||
const router = useRouter()
|
||||
const select = router.currentRoute.value.query.select
|
||||
const searchValue = ref('')
|
||||
const Cardsname = ref(select)
|
||||
const resourceList = reactive({ data: [] })
|
||||
const resourceTotal = ref(0)
|
||||
const loadingData = ref(false)
|
||||
// 选项卡
|
||||
const titleName = ref([
|
||||
{
|
||||
name: '打包模式',
|
||||
},
|
||||
{
|
||||
name: '赋能场景',
|
||||
},
|
||||
])
|
||||
const number = ref(0)
|
||||
// 查询参数
|
||||
const paramsGetResources = {
|
||||
page: currentPage.value,
|
||||
limit: currentPageSize.value,
|
||||
type: titleName.value[number.value].name,
|
||||
name: searchValue.value,
|
||||
orderField: 'create_date',
|
||||
orderType: 'DESC', // ASC 升序 DESC 降序
|
||||
}
|
||||
const searchResultListDom = ref(null)
|
||||
const storageSearchInfo = JSON.parse(localStorage.getItem('integrationServices'))
|
||||
// 读取本地存储:表单赋值
|
||||
const handleSetSearchData = () => {
|
||||
if (storageSearchInfo) {
|
||||
number.value = storageSearchInfo.type == '打包模式' ? 0 : 1;
|
||||
// 搜索名称
|
||||
searchValue.value = storageSearchInfo.name;
|
||||
currentPage.value = storageSearchInfo.page;
|
||||
currentPageSize.value = storageSearchInfo.limit;
|
||||
paramsGetResources.limit = storageSearchInfo.limit;
|
||||
paramsGetResources.page = storageSearchInfo.page;
|
||||
paramsGetResources.type = storageSearchInfo.type;
|
||||
// 延迟使用,因为还没有返回跟挂载
|
||||
nextTick(() => {
|
||||
searchResultListDom.value && searchResultListDom.value.changeCondition && searchResultListDom.value.changeCondition({
|
||||
value: storageSearchInfo.orderField,
|
||||
orderType: storageSearchInfo.orderType,
|
||||
}, true)
|
||||
})
|
||||
getAppResources()
|
||||
}
|
||||
|
||||
const getAppResources = () => {
|
||||
getIntegrationList()
|
||||
}
|
||||
}
|
||||
|
||||
// 获取融合服务列表
|
||||
const getIntegrationList = () => {
|
||||
loadingData.value = true
|
||||
console.log('获取融合服务列表------------>')
|
||||
let postData = {
|
||||
limit: currentPageSize.value,
|
||||
page: currentPage.value,
|
||||
orderField: paramsGetResources.orderField,
|
||||
orderType: paramsGetResources.orderType,
|
||||
name: searchValue.value,
|
||||
type: titleName.value[number.value].name,
|
||||
}
|
||||
getIntegrationServicesList(postData).then(
|
||||
(res) => {
|
||||
loadingData.value = false
|
||||
if (res.data.code !== 0) {
|
||||
return message.error(res.data.msg)
|
||||
}
|
||||
console.log('res.data------------>', res.data)
|
||||
|
||||
resourceList.data = res.data.data.list || []
|
||||
resourceTotal.value = res.data.data.total || 0
|
||||
listKey2.value++
|
||||
},
|
||||
(err) => {
|
||||
loadingData.value = false
|
||||
message.error(err)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
mybus.on('paramsGetResources', (ids) => {
|
||||
if (ids && ids.length > 0) {
|
||||
paramsGetResources.deptIds = ids
|
||||
} else {
|
||||
delete paramsGetResources.deptIds
|
||||
}
|
||||
getAppResources()
|
||||
console.log('paramsGetResources', paramsGetResources)
|
||||
})
|
||||
mybus.on('changePage', (page) => {
|
||||
paramsGetResources.pageNum = page
|
||||
getAppResources('分页查询')
|
||||
})
|
||||
mybus.on('changeSelcted', () => {
|
||||
getAppResources()
|
||||
})
|
||||
|
||||
mybus.on('refresh', () => {
|
||||
paramsGetResources.pageNum = 1
|
||||
currentPage.value = 1
|
||||
getAppResources()
|
||||
})
|
||||
mybus.on('changeCondition', (condition) => {
|
||||
paramsGetResources.orderField = condition.orderField
|
||||
paramsGetResources.orderType = condition.orderType
|
||||
getAppResources()
|
||||
})
|
||||
|
||||
const pageChange = (val) => {
|
||||
console.log(val)
|
||||
loading.value = true
|
||||
currentPage.value = val
|
||||
paramsGetResources.pageNum = val
|
||||
let params = '分页查询' //判断是否是点击下面的分页的调用模糊查询方法还是点击搜索调用模糊查询方法
|
||||
getAppResources(params)
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
console.log('222----onMounted-------->', 222)
|
||||
listKey2.value++
|
||||
getAppResources()
|
||||
})
|
||||
const changeCards = (val) => {
|
||||
// 打包模式
|
||||
number.value = val;
|
||||
paramsGetResources.type = titleName.value[number.value].name;
|
||||
resetAction()
|
||||
}
|
||||
|
||||
// 查询
|
||||
const onSearch = () => {
|
||||
currentPage.value = 1
|
||||
getIntegrationList()
|
||||
}
|
||||
// 重置数据
|
||||
const resetAction = () => {
|
||||
// 重置模糊查字段
|
||||
searchValue.value = ''
|
||||
// 分页
|
||||
const onShowSizeChange = (current, pageSize) => {
|
||||
currentPage.value = current
|
||||
currentPageSize.value = pageSize
|
||||
paramsGetResources.pageNum = current
|
||||
paramsGetResources.pageSize = pageSize
|
||||
getAppResources()
|
||||
}
|
||||
watch(currentPageSize, () => {
|
||||
console.log('pageSize', currentPageSize.value)
|
||||
})
|
||||
currentPage.value = 1
|
||||
currentPageSize.value = 5
|
||||
// 重置查询条件
|
||||
paramsGetResources.page = 1
|
||||
paramsGetResources.limit = 5
|
||||
paramsGetResources.orderField = 'create_date'
|
||||
paramsGetResources.orderType = 'DESC'
|
||||
|
||||
return {
|
||||
listKey,
|
||||
searchValue,
|
||||
currentPage,
|
||||
resourceList,
|
||||
resourceTotal,
|
||||
pageChange,
|
||||
listKey2,
|
||||
Cardsname,
|
||||
getAppResources,
|
||||
chongzhi,
|
||||
onSearch,
|
||||
currentPageSize,
|
||||
pageSizeOptions,
|
||||
current,
|
||||
loading,
|
||||
titleName,
|
||||
changeCards,
|
||||
number,
|
||||
loadingData,
|
||||
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
|
||||
}
|
||||
},
|
||||
components: {
|
||||
HomeHeader,
|
||||
HomeFooter,
|
||||
searchResultList,
|
||||
CanAssignCase,
|
||||
},
|
||||
beforeUnmount() {
|
||||
mybus.off('paramsGetResources')
|
||||
mybus.off('changeCondition')
|
||||
mybus.off('refresh')
|
||||
mybus.off('changePage')
|
||||
},
|
||||
})
|
||||
getIntegrationList()
|
||||
})
|
||||
|
||||
mybus.on('changePage', (page) => {
|
||||
paramsGetResources.page = page
|
||||
getIntegrationList()
|
||||
})
|
||||
|
||||
mybus.on('changeSelcted', () => {
|
||||
getIntegrationList()
|
||||
})
|
||||
|
||||
mybus.on('refresh', () => {
|
||||
paramsGetResources.page = 1
|
||||
currentPage.value = 1
|
||||
getIntegrationList()
|
||||
})
|
||||
mybus.on('changeCondition', (condition) => {
|
||||
paramsGetResources.orderField = condition.orderField
|
||||
paramsGetResources.orderType = condition.orderType
|
||||
getIntegrationList()
|
||||
})
|
||||
|
||||
const pageChange = (val) => {
|
||||
currentPage.value = val
|
||||
paramsGetResources.page = val
|
||||
getIntegrationList() //判断是否是点击下面的分页的调用模糊查询方法还是点击搜索调用模糊查询方法
|
||||
}
|
||||
|
||||
// 分页
|
||||
const onShowSizeChange = (current, pageSize) => {
|
||||
currentPage.value = current
|
||||
currentPageSize.value = pageSize
|
||||
paramsGetResources.page = current
|
||||
paramsGetResources.limit = pageSize
|
||||
getIntegrationList()
|
||||
}
|
||||
|
||||
// 存储查询条件到本地
|
||||
const saveSearchCodition = (n) => {
|
||||
console.log('融合服务-----存储查询条件到本地------->', paramsGetResources);
|
||||
localStorage.setItem(
|
||||
'integrationServices',
|
||||
JSON.stringify(paramsGetResources)
|
||||
)
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
if (storageSearchInfo) {
|
||||
handleSetSearchData()
|
||||
} else {
|
||||
getIntegrationList()
|
||||
}
|
||||
})
|
||||
|
||||
return {
|
||||
searchValue,
|
||||
currentPage,
|
||||
resourceList,
|
||||
resourceTotal,
|
||||
pageChange,
|
||||
Cardsname,
|
||||
getIntegrationList,
|
||||
resetAction,
|
||||
onSearch,
|
||||
currentPageSize,
|
||||
pageSizeOptions,
|
||||
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>
|
||||
<style lang="less" scoped>
|
||||
.resultListSearchInput-father {
|
||||
background: #f3f5f9;
|
||||
padding: 0.2rem;
|
||||
.resultListSearchInput-father {
|
||||
background: #f3f5f9;
|
||||
padding: 0.2rem;
|
||||
|
||||
// padding-left: 0.2rem;
|
||||
// padding-top: 0.2rem;
|
||||
.resultListSearchInput-son {
|
||||
background: #fff;
|
||||
padding: 0.2rem 0.2rem 0rem 0.3rem;
|
||||
.resultListSearchInput-son {
|
||||
background: #fff;
|
||||
padding: 0.2rem 0.2rem 0rem 0.3rem;
|
||||
|
||||
.hengxian {
|
||||
width: 100%;
|
||||
height: 0.01rem;
|
||||
background: rgba(150, 144, 144, 0.3);
|
||||
margin-top: 0.2rem;
|
||||
}
|
||||
.hengxian {
|
||||
width: 100%;
|
||||
height: 0.01rem;
|
||||
background: rgba(150, 144, 144, 0.3);
|
||||
margin-top: 0.2rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.resultListSearchInput {
|
||||
margin-left: 0.1rem;
|
||||
.resultListSearchInput {
|
||||
margin-left: 0.1rem;
|
||||
|
||||
:deep(.ant-input) {
|
||||
width: 4rem;
|
||||
height: 0.36rem;
|
||||
background: #fff;
|
||||
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) {
|
||||
width: 4rem;
|
||||
height: 0.36rem;
|
||||
background: #fff;
|
||||
border-radius: 0.04rem;
|
||||
}
|
||||
|
||||
.button-reset {
|
||||
border: 0;
|
||||
outline: none;
|
||||
:deep(.ant-input-search-button) {
|
||||
width: 0.8rem;
|
||||
height: 0.36rem;
|
||||
background: #e1edfa;
|
||||
border-radius: 0.04rem;
|
||||
background: #0087ff;
|
||||
border-radius: 0.04rem !important;
|
||||
font-size: 0.14rem;
|
||||
font-weight: 400;
|
||||
color: #0087ff;
|
||||
color: #fff;
|
||||
line-height: 0.34rem;
|
||||
margin-left: 2.5rem;
|
||||
cursor: pointer;
|
||||
margin-left: 0.1rem;
|
||||
}
|
||||
|
||||
.details-pageconetent {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-top: 0.67rem;
|
||||
:deep(.ant-input-group-addon) {
|
||||
left: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.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;
|
||||
background: rgba(245, 243, 243, 0.3);
|
||||
width: 11.5rem;
|
||||
display: flex;
|
||||
padding-top: 0.2rem;
|
||||
flex-direction: column;
|
||||
font-size: 0.16rem;
|
||||
justify-content: left;
|
||||
background: #f3f5f9;
|
||||
|
||||
.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;
|
||||
padding-top: 0.2rem;
|
||||
flex-direction: column;
|
||||
font-size: 0.16rem;
|
||||
justify-content: left;
|
||||
.pagination {
|
||||
background: #f3f5f9;
|
||||
padding-bottom: 0.6rem;
|
||||
}
|
||||
|
||||
.pagination {
|
||||
background: #f3f5f9;
|
||||
padding-bottom: 0.6rem;
|
||||
.top-title {
|
||||
padding: 0.2rem;
|
||||
display: flex;
|
||||
font-size: 18px;
|
||||
|
||||
.tabAll {
|
||||
font-size: 18px;
|
||||
color: #000000;
|
||||
margin-right: 35px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.top-title {
|
||||
padding: 0.2rem;
|
||||
display: flex;
|
||||
font-size: 18px;
|
||||
.tabAll:nth-child(1) {
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.tabAll {
|
||||
font-size: 18px;
|
||||
color: #000000;
|
||||
margin-right: 35px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.tabAll:nth-child(1) {
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.sel {
|
||||
font-weight: 600;
|
||||
color: #0087ff;
|
||||
border-bottom: 0.02rem solid #0087ff;
|
||||
}
|
||||
.sel {
|
||||
font-weight: 600;
|
||||
color: #0087ff;
|
||||
border-bottom: 0.02rem solid #0087ff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
:deep(.ant-card-grid) {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
-webkit-line-clamp: 1;
|
||||
word-break: break-all;
|
||||
}
|
||||
:deep(.ant-card-grid) {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
-webkit-line-clamp: 1;
|
||||
word-break: break-all;
|
||||
}
|
||||
</style>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -35,6 +35,8 @@
|
|||
import { useRouter } from 'vue-router'
|
||||
import { ref } from 'vue'
|
||||
import { selectNewest } from '@/api/home'
|
||||
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
|
||||
|
||||
export default {
|
||||
name: 'latestAbility',
|
||||
components: {},
|
||||
|
@ -45,7 +47,8 @@
|
|||
router.push({
|
||||
path: '/DetailsPageconetent',
|
||||
query: {
|
||||
select: '组件服务',
|
||||
// select: '组件服务',
|
||||
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB
|
||||
},
|
||||
})
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
<!-- 青岛 -->
|
||||
<div class="details-pageconetent">
|
||||
<home-header></home-header>
|
||||
<detail-back></detail-back>
|
||||
<div class="content-box" v-loading="loadingPage">
|
||||
<div class="package-title">打包模式</div>
|
||||
<div class="basic-info">
|
||||
|
@ -70,6 +71,7 @@ import { message } from 'ant-design-vue'
|
|||
import { getIntegrationDetail } from '@/api/home'
|
||||
import HomeHeader from '@/views/home/components/header'
|
||||
import { scInsert, scDel } from '@/api/personalCenter'
|
||||
import detailBack from '@/views/home/detailBack.vue'
|
||||
|
||||
const router = useRouter()
|
||||
const id = router.currentRoute.value.query.id
|
||||
|
@ -110,7 +112,6 @@ const getIntegrationServicesDeatil = (id) => {
|
|||
}
|
||||
detailInfoObj.value = res.data.data || {}
|
||||
console.log('detailInfoObj------------>', detailInfoObj);
|
||||
|
||||
let fuseResourceList = detailInfoObj.value.fuseResourceList || []
|
||||
abilityList.value.map(v => {
|
||||
let list = fuseResourceList.filter(x => x.type == v.name) || [];
|
||||
|
@ -197,7 +198,6 @@ const addCollect = () => {
|
|||
}
|
||||
})
|
||||
.catch(err => {
|
||||
console.log('err------------>', err);
|
||||
message.success(err)
|
||||
})
|
||||
} else {
|
||||
|
@ -216,16 +216,13 @@ const addCollect = () => {
|
|||
}
|
||||
})
|
||||
.catch(err => {
|
||||
console.log('err------------>', err);
|
||||
message.success(err)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
getIntegrationServicesDeatil(id)
|
||||
|
||||
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.flex-row-start {
|
||||
|
|
|
@ -252,7 +252,7 @@
|
|||
// 初始化地址匹配服务
|
||||
initAddressMatchService() {
|
||||
this.L = window.L || {}
|
||||
this.addressMatchService = L.supermap.addressMatchService(
|
||||
this.addressMatchService = L.supermap && L.supermap.addressMatchService && L.supermap.addressMatchService(
|
||||
this.addressMatchUrl
|
||||
)
|
||||
},
|
||||
|
|
|
@ -26,7 +26,7 @@ import {
|
|||
ref,
|
||||
watch,
|
||||
defineProps,
|
||||
nextTick,
|
||||
defineEmits,
|
||||
} from 'vue'
|
||||
import { getDevelopDocTree } from '@/api/home'
|
||||
import { message } from 'ant-design-vue'
|
||||
|
|
|
@ -118,6 +118,7 @@
|
|||
import TheOverallProcess from './TheOverallProcess.vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { message } from 'ant-design-vue'
|
||||
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
|
||||
const router = useRouter()
|
||||
const seviceList = ref([
|
||||
{
|
||||
|
@ -255,7 +256,8 @@
|
|||
const newpage = router.resolve({
|
||||
path: '/DetailsPageconetent',
|
||||
query: {
|
||||
select: '组件服务',
|
||||
// select: '组件服务',
|
||||
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB
|
||||
},
|
||||
})
|
||||
window.location.href = newpage.href
|
||||
|
|
|
@ -15,22 +15,16 @@
|
|||
</a-input>
|
||||
</a-form-item>
|
||||
<a-form-item>
|
||||
<a-input
|
||||
v-model:value="form.password"
|
||||
type="password"
|
||||
placeholder="Password"
|
||||
>
|
||||
<a-input v-model:value="form.password" type="password" placeholder="Password">
|
||||
<template v-slot:prefix>
|
||||
<LockOutlined style="color: rgba(0, 0, 0, 0.25)" />
|
||||
</template>
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
<a-form-item>
|
||||
<a-button
|
||||
type="primary"
|
||||
html-type="submit"
|
||||
:disabled="form.username === '' || form.password === ''"
|
||||
>
|
||||
<!-- IE Chrome || judgeAgent() !== 'Chrome'-->
|
||||
<a-button type="primary" html-type="submit"
|
||||
:disabled="form.username === '' || form.password === '' || !canOpen.includes(judgeAgent())">
|
||||
登录
|
||||
</a-button>
|
||||
</a-form-item>
|
||||
|
@ -42,128 +36,176 @@
|
|||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { dependencies, devDependencies } from '*/package.json'
|
||||
import { mapActions, mapGetters } from 'vuex'
|
||||
import { Encrypt } from '@/utils/crypto'
|
||||
import { UserOutlined, LockOutlined } from '@ant-design/icons-vue'
|
||||
import { message } from 'ant-design-vue'
|
||||
import { dependencies, devDependencies } from '*/package.json'
|
||||
import { mapActions, mapGetters } from 'vuex'
|
||||
import { Encrypt } from '@/utils/crypto'
|
||||
import { UserOutlined, LockOutlined } from '@ant-design/icons-vue'
|
||||
import { message, Modal } from 'ant-design-vue'
|
||||
|
||||
export default {
|
||||
name: 'Login',
|
||||
components: {
|
||||
UserOutlined,
|
||||
LockOutlined,
|
||||
export default {
|
||||
name: 'Login',
|
||||
components: {
|
||||
UserOutlined,
|
||||
LockOutlined,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
username: '',
|
||||
password: '',
|
||||
},
|
||||
redirect: undefined,
|
||||
dependencies: dependencies,
|
||||
devDependencies: devDependencies,
|
||||
is360: false,
|
||||
isIE: false,
|
||||
canOpen: ['FF', 'Chrome']
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters({
|
||||
logo: 'settings/logo',
|
||||
title: 'settings/title',
|
||||
}),
|
||||
},
|
||||
watch: {
|
||||
$route: {
|
||||
handler(route) {
|
||||
this.redirect = (route.query && route.query.redirect) || '/'
|
||||
},
|
||||
immediate: true,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
username: '',
|
||||
password: '',
|
||||
},
|
||||
redirect: undefined,
|
||||
dependencies: dependencies,
|
||||
devDependencies: devDependencies,
|
||||
},
|
||||
mounted() {
|
||||
this.form.username = ''
|
||||
this.form.password = ''
|
||||
|
||||
if (!this.canOpen.includes(this.judgeAgent())) {
|
||||
Modal.warning({
|
||||
title: '提示',
|
||||
content: '请使用谷歌或火狐浏览器!',
|
||||
});
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
...mapActions({
|
||||
login: 'user/login',
|
||||
}),
|
||||
// 判断浏览器
|
||||
judgeAgent() {
|
||||
let userAgent = navigator.userAgent // 取得浏览器的userAgent字符串
|
||||
console.log('userAgent------------>', userAgent);
|
||||
let isOpera = userAgent.indexOf('Opera') > -1
|
||||
//判断是否Opera浏览器
|
||||
if (isOpera) {
|
||||
return 'Opera'
|
||||
}
|
||||
//判断是否Firefox浏览器
|
||||
if (userAgent.indexOf('Firefox') > -1) {
|
||||
return 'FF'
|
||||
}
|
||||
//判断是否chorme浏览器
|
||||
if (userAgent.indexOf('Chrome') > -1) {
|
||||
return 'Chrome'
|
||||
}
|
||||
//判断是否Safari浏览器
|
||||
if (userAgent.indexOf('Safari') > -1) {
|
||||
return 'Safari'
|
||||
}
|
||||
//判断是否IE浏览器
|
||||
if (
|
||||
userAgent.indexOf('compatible') > -1 &&
|
||||
userAgent.indexOf('MSIE') > -1 &&
|
||||
!isOpera
|
||||
) {
|
||||
return 'IE'
|
||||
}
|
||||
//判断是否Edge浏览器
|
||||
if (userAgent.indexOf('Trident') > -1) {
|
||||
return 'Edge'
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters({
|
||||
logo: 'settings/logo',
|
||||
title: 'settings/title',
|
||||
}),
|
||||
handleRoute() {
|
||||
return this.redirect === '/404' || this.redirect === '/403'
|
||||
? '/home'
|
||||
: this.redirect
|
||||
},
|
||||
watch: {
|
||||
$route: {
|
||||
handler(route) {
|
||||
this.redirect = (route.query && route.query.redirect) || '/'
|
||||
},
|
||||
immediate: true,
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.form.username = ''
|
||||
this.form.password = ''
|
||||
/* setTimeout(() => {
|
||||
this.handleSubmit()
|
||||
}, 3000) */
|
||||
},
|
||||
methods: {
|
||||
...mapActions({
|
||||
login: 'user/login',
|
||||
}),
|
||||
handleRoute() {
|
||||
return this.redirect === '/404' || this.redirect === '/403'
|
||||
? '/home'
|
||||
: this.redirect
|
||||
},
|
||||
async handleSubmit() {
|
||||
// debugger
|
||||
try {
|
||||
// console.log('登录', Decrypt(Encrypt(this.form.password)))
|
||||
if (this.form.password !== this.form.password.trim()) {
|
||||
message.error('登陆失败,用户名或密码错误!')
|
||||
return
|
||||
}
|
||||
await this.login({
|
||||
password: Encrypt(this.form.password),
|
||||
username: this.form.username,
|
||||
})
|
||||
window.sessionStorage.setItem('visits', JSON.stringify([]))
|
||||
console.log('添加visits========================================>')
|
||||
// console.log(this.handleRoute())
|
||||
await this.$router.push('/home')
|
||||
} catch (error) {
|
||||
async handleSubmit() {
|
||||
// debugger
|
||||
try {
|
||||
// console.log('登录', Decrypt(Encrypt(this.form.password)))
|
||||
if (this.form.password !== this.form.password.trim()) {
|
||||
message.error('登陆失败,用户名或密码错误!')
|
||||
return
|
||||
}
|
||||
},
|
||||
await this.login({
|
||||
password: Encrypt(this.form.password),
|
||||
username: this.form.username,
|
||||
})
|
||||
window.sessionStorage.setItem('visits', JSON.stringify([]))
|
||||
console.log('添加visits========================================>')
|
||||
// console.log(this.handleRoute())
|
||||
await this.$router.push('/home')
|
||||
} catch (error) {
|
||||
message.error('登陆失败,用户名或密码错误!')
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
<style lang="less">
|
||||
.login-container {
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
background: url('~@/assets/login_images/login_background.png');
|
||||
background-size: cover;
|
||||
&-form {
|
||||
width: calc(100% - 40px);
|
||||
height: 380px;
|
||||
padding: 4vh;
|
||||
margin-top: calc((100vh - 380px) / 2);
|
||||
margin-right: 20px;
|
||||
margin-left: 20px;
|
||||
background: url('~@/assets/login_images/login_form.png');
|
||||
background-size: 100% 100%;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 2px 8px 0 rgba(7, 17, 27, 0.06);
|
||||
}
|
||||
&-hello {
|
||||
font-size: 32px;
|
||||
color: #fff;
|
||||
}
|
||||
&-title {
|
||||
margin-bottom: 30px;
|
||||
font-size: 20px;
|
||||
color: #fff;
|
||||
}
|
||||
&-tips {
|
||||
position: fixed;
|
||||
bottom: @vab-margin;
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
color: rgba(255, 255, 255, 0.856);
|
||||
text-align: center;
|
||||
}
|
||||
.ant-col {
|
||||
width: 100%;
|
||||
padding: 0 10px 0 10px;
|
||||
}
|
||||
.ant-input {
|
||||
height: 35px;
|
||||
}
|
||||
.ant-btn {
|
||||
width: 100%;
|
||||
height: 45px;
|
||||
border-radius: 99px;
|
||||
}
|
||||
.login-container {
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
background: url('~@/assets/login_images/login_background.png');
|
||||
background-size: cover;
|
||||
|
||||
&-form {
|
||||
width: calc(100% - 40px);
|
||||
height: 380px;
|
||||
padding: 4vh;
|
||||
margin-top: calc((100vh - 380px) / 2);
|
||||
margin-right: 20px;
|
||||
margin-left: 20px;
|
||||
background: url('~@/assets/login_images/login_form.png');
|
||||
background-size: 100% 100%;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 2px 8px 0 rgba(7, 17, 27, 0.06);
|
||||
}
|
||||
|
||||
&-hello {
|
||||
font-size: 32px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
&-title {
|
||||
margin-bottom: 30px;
|
||||
font-size: 20px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
&-tips {
|
||||
position: fixed;
|
||||
bottom: @vab-margin;
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
color: rgba(255, 255, 255, 0.856);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.ant-col {
|
||||
width: 100%;
|
||||
padding: 0 10px 0 10px;
|
||||
}
|
||||
|
||||
.ant-input {
|
||||
height: 35px;
|
||||
}
|
||||
|
||||
.ant-btn {
|
||||
width: 100%;
|
||||
height: 45px;
|
||||
border-radius: 99px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -79,7 +79,11 @@
|
|||
<a-list-item>
|
||||
<a-list-item-meta description="">
|
||||
<template #title>
|
||||
<div class="left" @click="read(item)">
|
||||
<div
|
||||
class="left"
|
||||
@click="read(item)"
|
||||
:class="item.readStatus === 1 ? '' : 'pointer'"
|
||||
>
|
||||
{{ item.content }}
|
||||
</div>
|
||||
<div class="right">{{ '发布时间:' + item.senderDate }}</div>
|
||||
|
@ -111,337 +115,340 @@
|
|||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
// import { SearchOutlined } from '@ant-design/icons-vue'
|
||||
import { ref, reactive, onBeforeUnmount } from 'vue'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import { message } from 'ant-design-vue'
|
||||
import { mynotice, mynoticeRead } from '@/api/home'
|
||||
import { useRouter } from 'vue-router'
|
||||
const router = useRouter()
|
||||
const total = ref(0)
|
||||
const pageSize = ref(8)
|
||||
const pageNum = ref(1)
|
||||
const value = ref('全部消息')
|
||||
const obj = reactive({ page: pageNum.value, limit: pageSize.value })
|
||||
const navList = reactive([
|
||||
{
|
||||
title: '全部',
|
||||
key: 'all',
|
||||
num: 0,
|
||||
},
|
||||
{
|
||||
title: '通知',
|
||||
key: 'notice',
|
||||
num: 0,
|
||||
},
|
||||
{
|
||||
title: '评论',
|
||||
key: 'comment',
|
||||
num: 0,
|
||||
},
|
||||
{
|
||||
title: '其它',
|
||||
key: 'other',
|
||||
num: 0,
|
||||
},
|
||||
])
|
||||
const selectNav = ref('all')
|
||||
const selectData = ref([])
|
||||
const data = ref([])
|
||||
const changeNav = (nav) => {
|
||||
selectNav.value = nav.key
|
||||
if (nav.key === 'all') {
|
||||
delete obj.from
|
||||
} else {
|
||||
obj.from = nav.title
|
||||
}
|
||||
value.value = '全部消息'
|
||||
delete obj.readStatus
|
||||
init()
|
||||
// import { SearchOutlined } from '@ant-design/icons-vue'
|
||||
import { ref, reactive, onBeforeUnmount } from 'vue'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import { message } from 'ant-design-vue'
|
||||
import { mynotice, mynoticeRead } from '@/api/home'
|
||||
import { useRouter } from 'vue-router'
|
||||
const router = useRouter()
|
||||
const total = ref(0)
|
||||
const pageSize = ref(8)
|
||||
const pageNum = ref(1)
|
||||
const value = ref('全部消息')
|
||||
const obj = reactive({ page: pageNum.value, limit: pageSize.value })
|
||||
const navList = reactive([
|
||||
{
|
||||
title: '全部',
|
||||
key: 'all',
|
||||
num: 0,
|
||||
},
|
||||
{
|
||||
title: '通知',
|
||||
key: 'notice',
|
||||
num: 0,
|
||||
},
|
||||
{
|
||||
title: '评论',
|
||||
key: 'comment',
|
||||
num: 0,
|
||||
},
|
||||
{
|
||||
title: '其它',
|
||||
key: 'other',
|
||||
num: 0,
|
||||
},
|
||||
])
|
||||
const selectNav = ref('all')
|
||||
const selectData = ref([])
|
||||
const data = ref([])
|
||||
const changeNav = (nav) => {
|
||||
selectNav.value = nav.key
|
||||
if (nav.key === 'all') {
|
||||
delete obj.from
|
||||
} else {
|
||||
obj.from = nav.title
|
||||
}
|
||||
const changeCheckBox = (item) => {
|
||||
item.checked = !item.checked
|
||||
if (item.checked) {
|
||||
selectData.value.push(item.id)
|
||||
} else {
|
||||
selectData.value = selectData.value.filter((val) => val !== item.id)
|
||||
}
|
||||
value.value = '全部消息'
|
||||
delete obj.readStatus
|
||||
init()
|
||||
}
|
||||
const changeCheckBox = (item) => {
|
||||
item.checked = !item.checked
|
||||
if (item.checked) {
|
||||
selectData.value.push(item.id)
|
||||
} else {
|
||||
selectData.value = selectData.value.filter((val) => val !== item.id)
|
||||
}
|
||||
const changeCheckAll = () => {
|
||||
if (selectData.value.length == data.value.length) {
|
||||
selectData.value = []
|
||||
data.value.forEach((val) => {
|
||||
val.checked = false
|
||||
})
|
||||
} else {
|
||||
selectData.value = []
|
||||
data.value.forEach((val) => {
|
||||
val.checked = true
|
||||
selectData.value.push(val.id)
|
||||
})
|
||||
}
|
||||
}
|
||||
const changePageNum = (page) => {
|
||||
pageNum.value = page
|
||||
obj.page = pageNum.value
|
||||
init()
|
||||
}
|
||||
const handleChange = () => {
|
||||
pageNum.value = 1
|
||||
obj.page = pageNum.value
|
||||
switch (value.value) {
|
||||
case '全部消息':
|
||||
delete obj.readStatus
|
||||
break
|
||||
case '已读消息':
|
||||
obj.readStatus = 1
|
||||
break
|
||||
case '未读消息':
|
||||
obj.readStatus = 0
|
||||
break
|
||||
default:
|
||||
delete obj.readStatus
|
||||
break
|
||||
}
|
||||
init()
|
||||
}
|
||||
const goBack = (url) => {
|
||||
router.push({
|
||||
path: url,
|
||||
}
|
||||
const changeCheckAll = () => {
|
||||
if (selectData.value.length == data.value.length) {
|
||||
selectData.value = []
|
||||
data.value.forEach((val) => {
|
||||
val.checked = false
|
||||
})
|
||||
} else {
|
||||
selectData.value = []
|
||||
data.value.forEach((val) => {
|
||||
val.checked = true
|
||||
selectData.value.push(val.id)
|
||||
})
|
||||
}
|
||||
const read = (item) => {
|
||||
// console.log(item)
|
||||
if (selectData.value.length === 0 && !item) {
|
||||
message.error('未选择消息!')
|
||||
}
|
||||
const changePageNum = (page) => {
|
||||
pageNum.value = page
|
||||
obj.page = pageNum.value
|
||||
init()
|
||||
}
|
||||
const handleChange = () => {
|
||||
pageNum.value = 1
|
||||
obj.page = pageNum.value
|
||||
switch (value.value) {
|
||||
case '全部消息':
|
||||
delete obj.readStatus
|
||||
break
|
||||
case '已读消息':
|
||||
obj.readStatus = 1
|
||||
break
|
||||
case '未读消息':
|
||||
obj.readStatus = 0
|
||||
break
|
||||
default:
|
||||
delete obj.readStatus
|
||||
break
|
||||
}
|
||||
init()
|
||||
}
|
||||
const goBack = (url) => {
|
||||
router.push({
|
||||
path: url,
|
||||
})
|
||||
}
|
||||
const read = (item) => {
|
||||
// console.log(item)
|
||||
if (selectData.value.length === 0 && !item) {
|
||||
message.error('未选择消息!')
|
||||
return
|
||||
}
|
||||
console.log(selectData.value)
|
||||
|
||||
if (item) {
|
||||
// 已读状态
|
||||
if (item.readStatus === 1) {
|
||||
return
|
||||
}
|
||||
console.log(selectData.value)
|
||||
// let str = ''
|
||||
// selectData.value.forEach((val, index) => {
|
||||
// str += val
|
||||
// if (index < selectData.value.length - 1) {
|
||||
// str += ';'
|
||||
// }
|
||||
// })
|
||||
if (item) {
|
||||
mynoticeRead(item.id).then((res) => {
|
||||
mynoticeRead(item.id).then((res) => {
|
||||
if (res.data.code == 0) {
|
||||
message.success('操作成功!')
|
||||
mybus.emit('getMynotice')
|
||||
init()
|
||||
} else {
|
||||
message.error('操作失败!')
|
||||
}
|
||||
})
|
||||
} else {
|
||||
console.log('提交')
|
||||
selectData.value.map((val) => {
|
||||
mynoticeRead(val).then((res) => {
|
||||
if (res.data.code == 0) {
|
||||
message.success('操作成功!')
|
||||
// message.success('操作成功!')
|
||||
mybus.emit('getMynotice')
|
||||
init()
|
||||
} else {
|
||||
message.error('操作失败!')
|
||||
}
|
||||
})
|
||||
} else {
|
||||
console.log('提交')
|
||||
selectData.value.map((val) => {
|
||||
mynoticeRead(val).then((res) => {
|
||||
if (res.data.code == 0) {
|
||||
// message.success('操作成功!')
|
||||
mybus.emit('getMynotice')
|
||||
init()
|
||||
} else {
|
||||
message.error('操作失败!')
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
const init = () => {
|
||||
// from 通知 评论 readStatus 0 未读 1 已读
|
||||
mynotice(obj).then((res) => {
|
||||
console.log('消息=============>', res.data.data)
|
||||
res.data.data.list.forEach((val) => {
|
||||
if (val.from === '通知') {
|
||||
val.src = require('@/assets/mynoticeView/notice.png')
|
||||
} else if (val.from === '评论') {
|
||||
val.src = require('@/assets/mynoticeView/comment.png')
|
||||
} else if (val.from === '其它') {
|
||||
val.src = require('@/assets/mynoticeView/other.png')
|
||||
}
|
||||
val.checked = false
|
||||
})
|
||||
data.value = res.data.data.list
|
||||
total.value = res.data.data.total
|
||||
selectData.value = []
|
||||
})
|
||||
}
|
||||
navList.forEach((val) => {
|
||||
if (val.title === '全部') {
|
||||
mynotice({ page: pageNum.value, limit: pageSize.value }).then((res) => {
|
||||
val.num = res.data.data.total
|
||||
})
|
||||
} else {
|
||||
mynotice({
|
||||
page: pageNum.value,
|
||||
limit: pageSize.value,
|
||||
from: val.title,
|
||||
}).then((res) => {
|
||||
val.num = res.data.data.total
|
||||
})
|
||||
}
|
||||
}
|
||||
const init = () => {
|
||||
// from 通知 评论 readStatus 0 未读 1 已读
|
||||
mynotice(obj).then((res) => {
|
||||
console.log('消息=============>', res.data.data)
|
||||
res.data.data.list.forEach((val) => {
|
||||
if (val.from === '通知') {
|
||||
val.src = require('@/assets/mynoticeView/notice.png')
|
||||
} else if (val.from === '评论') {
|
||||
val.src = require('@/assets/mynoticeView/comment.png')
|
||||
} else if (val.from === '其它') {
|
||||
val.src = require('@/assets/mynoticeView/other.png')
|
||||
}
|
||||
val.checked = false
|
||||
})
|
||||
data.value = res.data.data.list
|
||||
total.value = res.data.data.total
|
||||
selectData.value = []
|
||||
})
|
||||
}
|
||||
navList.forEach((val) => {
|
||||
if (val.title === '全部') {
|
||||
mynotice({ page: pageNum.value, limit: pageSize.value }).then((res) => {
|
||||
val.num = res.data.data.total
|
||||
})
|
||||
} else {
|
||||
mynotice({
|
||||
page: pageNum.value,
|
||||
limit: pageSize.value,
|
||||
from: val.title,
|
||||
}).then((res) => {
|
||||
val.num = res.data.data.total
|
||||
})
|
||||
}
|
||||
})
|
||||
init()
|
||||
mybus.on('noticeListInit', () => {
|
||||
init()
|
||||
mybus.on('noticeListInit', () => {
|
||||
init()
|
||||
})
|
||||
onBeforeUnmount(() => {
|
||||
mybus.off('noticeListInit')
|
||||
})
|
||||
})
|
||||
onBeforeUnmount(() => {
|
||||
mybus.off('noticeListInit')
|
||||
})
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.notice-list {
|
||||
padding: 0.64rem 0 0;
|
||||
background: #f4f5f8;
|
||||
.ant-breadcrumb {
|
||||
padding: 0.1rem 3.1rem;
|
||||
}
|
||||
.top {
|
||||
background: #fff;
|
||||
padding: 0.18rem 3.1rem 0;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
.left {
|
||||
display: flex;
|
||||
.item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-left: 1.28rem;
|
||||
margin-bottom: 0.16rem;
|
||||
border-bottom: 3px solid #fff;
|
||||
i {
|
||||
display: inline-block;
|
||||
width: 0.48rem;
|
||||
height: 0.48rem;
|
||||
margin-bottom: 0.15rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
.all {
|
||||
background: url('~@/assets/mynoticeView/all.png') no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
.notice {
|
||||
background: url('~@/assets/mynoticeView/notice.png') no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
.comment {
|
||||
background: url('~@/assets/mynoticeView/comment.png') no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
.other {
|
||||
background: url('~@/assets/mynoticeView/other.png') no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
}
|
||||
.item:nth-of-type(1) {
|
||||
margin-left: 0;
|
||||
}
|
||||
.select {
|
||||
border-bottom: 3px solid #0058e1;
|
||||
color: #0058e1;
|
||||
}
|
||||
}
|
||||
.right {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 0.32rem;
|
||||
div {
|
||||
width: 0.5rem;
|
||||
}
|
||||
.reset {
|
||||
color: #0058e1;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
background: #fff;
|
||||
margin-top: 0.16rem;
|
||||
padding: 0.14rem 3.1rem 0;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
.left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.ant-select {
|
||||
margin-right: 0.24rem;
|
||||
}
|
||||
.check {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
div {
|
||||
margin-left: 0.24rem;
|
||||
span {
|
||||
font-size: 18px;
|
||||
color: #0058e1;
|
||||
}
|
||||
}
|
||||
div:nth-of-type(1) {
|
||||
margin-left: 0.12rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
.right {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
div {
|
||||
margin: 0 0.1rem;
|
||||
}
|
||||
span {
|
||||
cursor: pointer;
|
||||
color: #0058e1;
|
||||
text-align: center;
|
||||
align-self: center;
|
||||
padding: 0.05rem 0.1rem;
|
||||
}
|
||||
.notice-list {
|
||||
padding: 0.64rem 0 0;
|
||||
background: #f4f5f8;
|
||||
.ant-breadcrumb {
|
||||
padding: 0.1rem 3.1rem;
|
||||
}
|
||||
.top {
|
||||
background: #fff;
|
||||
padding: 0.18rem 3.1rem 0;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
span:hover {
|
||||
background: rgba(0, 88, 225, 0.1);
|
||||
.left {
|
||||
display: flex;
|
||||
.item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-left: 1.28rem;
|
||||
margin-bottom: 0.16rem;
|
||||
border-bottom: 3px solid #fff;
|
||||
i {
|
||||
display: inline-block;
|
||||
width: 0.48rem;
|
||||
height: 0.48rem;
|
||||
margin-bottom: 0.15rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
.all {
|
||||
background: url('~@/assets/mynoticeView/all.png') no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
.notice {
|
||||
background: url('~@/assets/mynoticeView/notice.png') no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
.comment {
|
||||
background: url('~@/assets/mynoticeView/comment.png') no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
.other {
|
||||
background: url('~@/assets/mynoticeView/other.png') no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
}
|
||||
.item:nth-of-type(1) {
|
||||
margin-left: 0;
|
||||
}
|
||||
.select {
|
||||
border-bottom: 3px solid #0058e1;
|
||||
color: #0058e1;
|
||||
}
|
||||
}
|
||||
.main {
|
||||
background: #fff;
|
||||
padding: 0 3.1rem;
|
||||
height: 4.75rem;
|
||||
overflow-y: scroll;
|
||||
:deep(.ant-list-item-meta) {
|
||||
.right {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 0.32rem;
|
||||
div {
|
||||
width: 0.5rem;
|
||||
}
|
||||
.reset {
|
||||
color: #0058e1;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
background: #fff;
|
||||
margin-top: 0.16rem;
|
||||
padding: 0.14rem 3.1rem 0;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
.left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.ant-select {
|
||||
margin-right: 0.24rem;
|
||||
}
|
||||
.check {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.ant-checkbox-wrapper {
|
||||
margin-right: 0.3rem;
|
||||
}
|
||||
.ant-list-item-meta-title {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
.left {
|
||||
cursor: pointer;
|
||||
width: 9.2rem;
|
||||
max-height: 0.43rem;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
}
|
||||
.left:hover {
|
||||
div {
|
||||
margin-left: 0.24rem;
|
||||
span {
|
||||
font-size: 18px;
|
||||
color: #0058e1;
|
||||
}
|
||||
}
|
||||
div:nth-of-type(1) {
|
||||
margin-left: 0.12rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
.ant-pagination {
|
||||
background: #fff;
|
||||
margin-top: 0;
|
||||
padding: 0.2rem 0 0.2rem;
|
||||
.right {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
div {
|
||||
margin: 0 0.1rem;
|
||||
}
|
||||
span {
|
||||
cursor: pointer;
|
||||
color: #0058e1;
|
||||
text-align: center;
|
||||
align-self: center;
|
||||
padding: 0.05rem 0.1rem;
|
||||
}
|
||||
|
||||
span:hover {
|
||||
background: rgba(0, 88, 225, 0.1);
|
||||
}
|
||||
}
|
||||
}
|
||||
.main {
|
||||
background: #fff;
|
||||
padding: 0 3.1rem;
|
||||
height: 4.75rem;
|
||||
overflow-y: scroll;
|
||||
:deep(.ant-list-item-meta) {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.ant-checkbox-wrapper {
|
||||
margin-right: 0.3rem;
|
||||
}
|
||||
.ant-list-item-meta-title {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
.left {
|
||||
width: 9.2rem;
|
||||
max-height: 0.43rem;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
}
|
||||
.pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
.left:hover {
|
||||
color: #0058e1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.ant-pagination {
|
||||
background: #fff;
|
||||
margin-top: 0;
|
||||
padding: 0.2rem 0 0.2rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
import { ref } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { useStore } from 'vuex'
|
||||
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
|
||||
const store = useStore()
|
||||
const router = useRouter()
|
||||
const productServiceData = ref([])
|
||||
|
@ -76,7 +77,8 @@
|
|||
router.push({
|
||||
path: '/DetailsPageconetent',
|
||||
query: {
|
||||
select: '组件服务',
|
||||
// select: '组件服务',
|
||||
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB
|
||||
},
|
||||
})
|
||||
}
|
||||
|
|
|
@ -61,6 +61,7 @@
|
|||
import { pageWithAttrs } from '@/api/home.js'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { useStore } from 'vuex'
|
||||
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
|
||||
const store = useStore()
|
||||
const router = useRouter()
|
||||
const select = ref('浏览量')
|
||||
|
@ -134,11 +135,11 @@
|
|||
'选中===================>',
|
||||
store.getters['home/selectCardsnum']
|
||||
)
|
||||
// router.push({ path: '/DetailsPageconetent' })
|
||||
router.push({
|
||||
path: '/DetailsPageconetent',
|
||||
query: {
|
||||
select: '组件服务',
|
||||
// select: '组件服务',
|
||||
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB
|
||||
},
|
||||
})
|
||||
}
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
import { selectRecommend } from '@/api/home.js'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { useStore } from 'vuex'
|
||||
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
|
||||
const store = useStore()
|
||||
const router = useRouter()
|
||||
let dataList = ref([])
|
||||
|
@ -94,7 +95,7 @@
|
|||
router.push({
|
||||
path: '/DetailsPageconetent',
|
||||
query: {
|
||||
select: '组件服务',
|
||||
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB
|
||||
},
|
||||
})
|
||||
}
|
||||
|
|
|
@ -255,24 +255,14 @@
|
|||
const toView = () => {
|
||||
window.open(newpage.href, '_blank')
|
||||
}
|
||||
// const toApply = () => {
|
||||
// window.open(applypage.href, '_blank')
|
||||
// }
|
||||
|
||||
getList()
|
||||
// dataList.value.map((item, index) => {
|
||||
// dataList.value[index].tupian = tupain.value[index]
|
||||
// console.log('item', item, dataList.value)
|
||||
// })
|
||||
|
||||
function jumpPage() {
|
||||
// 点击内存入store
|
||||
// store.commit('WorkDynList', {
|
||||
// selectCardsnum: '组件服务',
|
||||
// })
|
||||
console.log(
|
||||
'选中===================>',
|
||||
store.getters['home/selectCardsnum']
|
||||
)
|
||||
// router.push({ path: '/DetailsPageconetent' })
|
||||
router.push({
|
||||
path: '/WorkDynList',
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue