eslint问题修复

This commit is contained in:
wuhongjian 2022-07-15 21:35:22 +08:00
parent 09518566c7
commit 6c10a4bb29
36 changed files with 4649 additions and 4036 deletions

View File

@ -1,3 +1,10 @@
/*
* @Author: hisense.wuhongjian
* @Date: 2022-06-14 09:31:29
* @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-07-15 16:33:55
* @Description: 告诉大家这是什么
*/
module.exports = { module.exports = {
root: true, root: true,
env: { env: {
@ -15,6 +22,7 @@ module.exports = {
ignorePatterns: [ ignorePatterns: [
'src/supermap', 'src/supermap',
'src/views/home/videoSurveillance', 'src/views/home/videoSurveillance',
'src/views/vab/*',
'src/utils/coordinateSystemTransform.js', 'src/utils/coordinateSystemTransform.js',
], ],
} }

View File

@ -5,7 +5,9 @@
"scripts": { "scripts": {
"serve": "vue-cli-service serve", "serve": "vue-cli-service serve",
"build": "vue-cli-service build", "build": "vue-cli-service build",
"lint": "vue-cli-service lint", "lint": "eslint --ext .js --ext .jsx --ext .vue src/",
"lint:fix": "eslint --fix --ext .js,.vue .",
"fix": "eslint src/**/*.* --fix",
"clear": "rimraf node_modules&&npm install --registry=https://registry.npm.taobao.org", "clear": "rimraf node_modules&&npm install --registry=https://registry.npm.taobao.org",
"use:npm": "nrm use npm", "use:npm": "nrm use npm",
"use:taobao": "nrm use taobao", "use:taobao": "nrm use taobao",

View File

@ -83,14 +83,22 @@ export function dataResourceInfo(params) {
//- //-
export function callTheTrendPort(start, end, params) { export function callTheTrendPort(start, end, params) {
return request({ return request({
url: '/metrics/api/v1/query_range?query=sum(increase(apigateway_http_status%5B1d%5D))&start=' + start + '&end=' + end + '&step=' + params, url:
'/metrics/api/v1/query_range?query=sum(increase(apigateway_http_status%5B1d%5D))&start=' +
start +
'&end=' +
end +
'&step=' +
params,
method: 'get', method: 'get',
}) })
} }
//- //-
export function totalCallsSnum(params) { export function totalCallsSnum(params) {
return request({ return request({
url: '/metrics/api/v1/query?query=sum(apigateway_http_status)&time=1655793262.495' + params, url:
'/metrics/api/v1/query?query=sum(apigateway_http_status)&time=1655793262.495' +
params,
method: 'get', method: 'get',
}) })
} }

View File

@ -342,7 +342,7 @@ export function getIntegrationServicesList(params) {
return request({ return request({
url: '/fuse/page', url: '/fuse/page',
method: 'get', method: 'get',
params params,
}) })
} }
@ -359,6 +359,6 @@ export function getDevelopDocTree(params) {
return request({ return request({
url: '/resource/selectDevelopDoc', url: '/resource/selectDevelopDoc',
method: 'get', method: 'get',
params params,
}) })
} }

View File

@ -50,7 +50,14 @@ const setting = {
// history hash // history hash
routerMode: 'hash', routerMode: 'hash',
//token //token
routesWhiteList: ['/login', '/register', '/callback', '/404', '/403', '/capabilityCloud'], // routesWhiteList: [
'/login',
'/register',
'/callback',
'/404',
'/403',
'/capabilityCloud',
], //
// //
loadingText: '正在加载中...', loadingText: '正在加载中...',
//token //token

View File

@ -22,7 +22,7 @@ let loadingInstance
* @param {*} code * @param {*} code
* @param {*} msg * @param {*} msg
*/ */
const handleCode = (code, msg, res) => { const handleCode = (code, msg) => {
debugger debugger
switch (code) { switch (code) {
case 401: case 401:
@ -49,7 +49,7 @@ const handleCode = (code, msg, res) => {
message.error(msg || '接口异常') message.error(msg || '接口异常')
break break
case 302: case 302:
window.location.href = redirect // window.location.href = redirect
break break
} }
} }
@ -74,8 +74,7 @@ instance.interceptors.request.use(
(config) => { (config) => {
debugger debugger
const token = getAccessToken() const token = getAccessToken()
if (token) if (token) config.headers[tokenName] = token
config.headers[tokenName] = token
if ( if (
config.data && config.data &&
config.headers['Content-Type'] === config.headers['Content-Type'] ===

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2022-04-01 17:23:11 * @Date: 2022-04-01 17:23:11
* @LastEditors: hisense.wuhongjian * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-07-11 16:39:36 * @LastEditTime: 2022-07-15 16:36:53
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
*/ */
/** /**
@ -19,7 +19,7 @@
// recordRoute, // recordRoute,
routesWhiteList, routesWhiteList,
} from '@/config' } from '@/config'
import { setAccessToken, getAccessToken } from '@/utils/accessToken' import { getAccessToken } from '@/utils/accessToken'
router.beforeEach(async (to, from, next) => { router.beforeEach(async (to, from, next) => {
// debugger // debugger
// const SSOTOKEN = to.query.SSOToken // const SSOTOKEN = to.query.SSOToken
@ -47,7 +47,7 @@
next() next()
} else { } else {
// //
getUserInfo().then(res=>{ getUserInfo().then((res) => {
console.log(res) console.log(res)
router.replace('/home') router.replace('/home')
}) })

View File

@ -53,10 +53,7 @@
v-for="(item, index) in contenBox" v-for="(item, index) in contenBox"
:key="index" :key="index"
> >
<img <img :src="item.note1" alt="" />
:src="item.note1"
alt=""
/>
<h3>{{ item.name }}</h3> <h3>{{ item.name }}</h3>
<p> <p>
发布时间 发布时间

View File

@ -10,34 +10,69 @@
<!-- 头部基本信息 --> <!-- 头部基本信息 -->
<algorithm-top-details :dataList="dataList.data"></algorithm-top-details> <algorithm-top-details :dataList="dataList.data"></algorithm-top-details>
<!-- 导航 --> <!-- 导航 -->
<algorithm-navigation :dataList="dataList.data" :class="{ fixed: scrollTop >= 600 }" :selectNow="selectNow"> <algorithm-navigation
</algorithm-navigation> :dataList="dataList.data"
:class="{ fixed: scrollTop >= 600 }"
:selectNow="selectNow"
></algorithm-navigation>
<!-- 关联能力 --> <!-- 关联能力 -->
<algorithm-associated-ability v-if="!loading" :associatedComponents="associatedComponents" <algorithm-associated-ability
id="algorithm-associated-ability" class="scrollBox"></algorithm-associated-ability> v-if="!loading"
:associatedComponents="associatedComponents"
id="algorithm-associated-ability"
class="scrollBox"
></algorithm-associated-ability>
<!-- 算法展示 视频 --> <!-- 算法展示 视频 -->
<algorithm-display :dataList="dataList.data" id="algorithm-display" class="scrollBox"></algorithm-display> <algorithm-display
:dataList="dataList.data"
id="algorithm-display"
class="scrollBox"
></algorithm-display>
<!-- 算法优势 --> <!-- 算法优势 -->
<algorithm-advantage :dataList="dataList.data" id="algorithm-advantage" class="scrollBox"></algorithm-advantage> <algorithm-advantage
:dataList="dataList.data"
id="algorithm-advantage"
class="scrollBox"
></algorithm-advantage>
<!-- 应用场景和应用案例 --> <!-- 应用场景和应用案例 -->
<!-- <application-scenarios-and-case <!-- <application-scenarios-and-case
id="application-scenarios-and-case" id="application-scenarios-and-case"
class="scrollBox" class="scrollBox"
></application-scenarios-and-case> --> ></application-scenarios-and-case> -->
<algorithm-application-scenarios :dataList="dataList.data" id="application-scenarios" class="scrollBox"> <algorithm-application-scenarios
</algorithm-application-scenarios> :dataList="dataList.data"
<algorithm-application-case :dataList="dataList.data" id="application-case" class="scrollBox"> id="application-scenarios"
</algorithm-application-case> class="scrollBox"
></algorithm-application-scenarios>
<algorithm-application-case
:dataList="dataList.data"
id="application-case"
class="scrollBox"
></algorithm-application-case>
<!-- 算法试用 --> <!-- 算法试用 -->
<algorithm-on-trial :dataList="dataList.data" id="algorithm-on-trial" class="scrollBox"></algorithm-on-trial> <algorithm-on-trial
:dataList="dataList.data"
id="algorithm-on-trial"
class="scrollBox"
></algorithm-on-trial>
<!-- 计费标准 --> <!-- 计费标准 -->
<algorithm-charging-standard :dataList="dataList.data" id="charging-standard" class="scrollBox"> <algorithm-charging-standard
</algorithm-charging-standard> :dataList="dataList.data"
id="charging-standard"
class="scrollBox"
></algorithm-charging-standard>
<!-- 使用方式 --> <!-- 使用方式 -->
<algorithm-usage-mode :dataList="dataList.data" id="usage-mode" class="scrollBox"></algorithm-usage-mode> <algorithm-usage-mode
:dataList="dataList.data"
id="usage-mode"
class="scrollBox"
></algorithm-usage-mode>
<!-- 常见问题--> <!-- 常见问题-->
<algorithm-common-problem :dataList="dataList.data" id="common-problem" class="scrollBox"> <algorithm-common-problem
</algorithm-common-problem> :dataList="dataList.data"
id="common-problem"
class="scrollBox"
></algorithm-common-problem>
</div> </div>
</template> </template>
<script setup> <script setup>

View File

@ -1,42 +1,74 @@
<!-- <!--
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-08 11:32:22 * @Date: 2022-06-08 11:32:22
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-06-30 10:22:31 * @LastEditTime: 2022-07-15 16:37:23
* @Description: 应用详情页 * @Description: 应用详情页
--> -->
<template> <template>
<div class="application-details" :class="{ fixed2: scrollTop >= 600 }"> <div class="application-details" :class="{ fixed2: scrollTop >= 600 }">
<!-- 头部基本信息 --> <!-- 头部基本信息 -->
<application-top-details :dataList="dataList.data"></application-top-details> <application-top-details
:dataList="dataList.data"
></application-top-details>
<!-- 导航 --> <!-- 导航 -->
<application-navigation :dataList="dataList.data" :associatedComponents="associatedComponents" <application-navigation
:class="{ fixed: scrollTop >= 600 }" :selectNow="selectNow"></application-navigation> :dataList="dataList.data"
:associatedComponents="associatedComponents"
:class="{ fixed: scrollTop >= 600 }"
:selectNow="selectNow"
></application-navigation>
<!-- 关联能力 --> <!-- 关联能力 -->
<application-associated-ability v-if="!loading" :associatedComponents="associatedComponents" <application-associated-ability
id="application-associated-ability" class="scrollBox"></application-associated-ability> v-if="!loading"
:associatedComponents="associatedComponents"
id="application-associated-ability"
class="scrollBox"
></application-associated-ability>
<!-- 应用展示 视频 --> <!-- 应用展示 视频 -->
<application-presentation :dataList="dataList.data" id="application-presentation" class="scrollBox"> <application-presentation
</application-presentation> :dataList="dataList.data"
id="application-presentation"
class="scrollBox"
></application-presentation>
<!-- 关联组件 --> <!-- 关联组件 -->
<application-associated-components :dataList="dataList.data" id="application-associated-components" <application-associated-components
class="scrollBox" v-if="false"></application-associated-components> :dataList="dataList.data"
id="application-associated-components"
class="scrollBox"
v-if="false"
></application-associated-components>
<!-- 功能介绍--> <!-- 功能介绍-->
<application-function-intorduction :dataList="dataList.data" id="function-introduction" class="scrollBox"> <application-function-intorduction
</application-function-intorduction> :dataList="dataList.data"
id="function-introduction"
class="scrollBox"
></application-function-intorduction>
<!-- 使用能力 --> <!-- 使用能力 -->
<application-ability-toise :dataList="dataList.data" id="ability-to-use" class="scrollBox"> <application-ability-toise
</application-ability-toise> :dataList="dataList.data"
id="ability-to-use"
class="scrollBox"
></application-ability-toise>
<!-- 部署与安全--> <!-- 部署与安全-->
<application-deployment-and-security :dataList="dataList.data" id="deployment-and-security" class="scrollBox"> <application-deployment-and-security
</application-deployment-and-security> :dataList="dataList.data"
id="deployment-and-security"
class="scrollBox"
></application-deployment-and-security>
<!-- 归属部门与服务商--> <!-- 归属部门与服务商-->
<application-owning-department-and-service-provider :dataList="dataList.data" id="department-and-service-provider" <application-owning-department-and-service-provider
class="scrollBox"></application-owning-department-and-service-provider> :dataList="dataList.data"
id="department-and-service-provider"
class="scrollBox"
></application-owning-department-and-service-provider>
<!-- 常见问题--> <!-- 常见问题-->
<application-common-problem :dataList="dataList.data" id="common-problem" class="scrollBox"> <application-common-problem
</application-common-problem> :dataList="dataList.data"
id="common-problem"
class="scrollBox"
></application-common-problem>
</div> </div>
</template> </template>
<script setup> <script setup>
@ -136,7 +168,7 @@ const init = (id) => {
console.log('浏览记录+1') console.log('浏览记录+1')
}) })
}) })
associatedComponents.value.map((item, index) => { associatedComponents.value.map((item) => {
let queryPartAppByKeyIdParams = { let queryPartAppByKeyIdParams = {
keyId: id, keyId: id,
type: item.type, type: item.type,
@ -151,15 +183,15 @@ const init = (id) => {
console.log('预览==============', obj) console.log('预览==============', obj)
} }
} }
const associatedComponentsFunction = () => { // const associatedComponentsFunction = () => {
if ( // if (
associatedComponents.value[0].dataList.length > 0 || // associatedComponents.value[0].dataList.length > 0 ||
associatedComponents.value[1].dataList.length > 0 || // associatedComponents.value[1].dataList.length > 0 ||
associatedComponents.value[2].dataList.length > 0 // associatedComponents.value[2].dataList.length > 0
) { // ) {
return associatedComponents.value // return associatedComponents.value
} // }
} // }
init(id) init(id)
onBeforeUnmount(() => { onBeforeUnmount(() => {
mybus.off('flyToView') mybus.off('flyToView')

View File

@ -10,27 +10,55 @@
<!-- 头部基本信息 --> <!-- 头部基本信息 -->
<business-top-details :dataList="dataList.data"></business-top-details> <business-top-details :dataList="dataList.data"></business-top-details>
<!-- 导航 --> <!-- 导航 -->
<business-navigation :dataList="dataList.data" :associatedComponents="associatedComponents" <business-navigation
:class="{ fixed: scrollTop >= 600 }" :selectNow="selectNow"></business-navigation> :dataList="dataList.data"
:associatedComponents="associatedComponents"
:class="{ fixed: scrollTop >= 600 }"
:selectNow="selectNow"
></business-navigation>
<!-- 关联能力 --> <!-- 关联能力 -->
<business-associated-ability v-if="!loading" :associatedComponents="associatedComponents" <business-associated-ability
id="business-associated-ability" class="scrollBox"></business-associated-ability> v-if="!loading"
:associatedComponents="associatedComponents"
id="business-associated-ability"
class="scrollBox"
></business-associated-ability>
<!-- 组件展示 --> <!-- 组件展示 -->
<business-presentation :dataList="dataList.data" id="business-presentation" class="scrollBox"> <business-presentation
</business-presentation> :dataList="dataList.data"
id="business-presentation"
class="scrollBox"
></business-presentation>
<!-- 功能介绍--> <!-- 功能介绍-->
<business-function-intorduction :dataList="dataList.data" id="function-introduction" class="scrollBox"> <business-function-intorduction
</business-function-intorduction> :dataList="dataList.data"
id="function-introduction"
class="scrollBox"
></business-function-intorduction>
<!-- 应用场景 --> <!-- 应用场景 -->
<business-application-scenarios :dataList="dataList.data" id="application-scenarios" class="scrollBox"> <business-application-scenarios
</business-application-scenarios> :dataList="dataList.data"
id="application-scenarios"
class="scrollBox"
></business-application-scenarios>
<!-- 应用案例 --> <!-- 应用案例 -->
<business-application-case :dataList="dataList.data" id="application-case" class="scrollBox"> <business-application-case
</business-application-case> :dataList="dataList.data"
id="application-case"
class="scrollBox"
></business-application-case>
<!-- 使用方式 --> <!-- 使用方式 -->
<business-usage-mode :dataList="dataList.data" id="business-usage-mode" class="scrollBox"></business-usage-mode> <business-usage-mode
:dataList="dataList.data"
id="business-usage-mode"
class="scrollBox"
></business-usage-mode>
<!-- 常见问题--> <!-- 常见问题-->
<business-common-problem :dataList="dataList.data" id="common-problem" class="scrollBox"></business-common-problem> <business-common-problem
:dataList="dataList.data"
id="common-problem"
class="scrollBox"
></business-common-problem>
</div> </div>
</template> </template>
<script setup> <script setup>

View File

@ -1,8 +1,8 @@
<!-- <!--
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-08 11:32:22 * @Date: 2022-06-08 11:32:22
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-06-20 18:59:01 * @LastEditTime: 2022-07-15 16:38:44
* @Description: 开发组件详情页 * @Description: 开发组件详情页
--> -->
<template> <template>
@ -10,31 +10,61 @@
<!-- 头部基本信息 --> <!-- 头部基本信息 -->
<developer-top-details :dataList="dataList.data"></developer-top-details> <developer-top-details :dataList="dataList.data"></developer-top-details>
<!-- 导航 --> <!-- 导航 -->
<developer-navigation :dataList="dataList.data" :associatedComponents="associatedComponentsFunction()" <developer-navigation
:class="{ fixed: scrollTop >= 600 }" :selectNow="selectNow"></developer-navigation> :dataList="dataList.data"
:associatedComponents="associatedComponentsFunction()"
:class="{ fixed: scrollTop >= 600 }"
:selectNow="selectNow"
></developer-navigation>
<!-- 关联能力 --> <!-- 关联能力 -->
<developer-associated-ability v-if="!loading" :associatedComponents="associatedComponents" <developer-associated-ability
id="developer-associated-ability" class="scrollBox"></developer-associated-ability> v-if="!loading"
:associatedComponents="associatedComponents"
id="developer-associated-ability"
class="scrollBox"
></developer-associated-ability>
<!-- 组件展示 视频 --> <!-- 组件展示 视频 -->
<Developer-presentation :dataList="dataList.data" id="eveloper-presentation" class="scrollBox"> <Developer-presentation
</Developer-presentation> :dataList="dataList.data"
id="eveloper-presentation"
class="scrollBox"
></Developer-presentation>
<!-- 功能介绍--> <!-- 功能介绍-->
<developer-function-intorduction :dataList="dataList.data" id="function-introduction" class="scrollBox"> <developer-function-intorduction
</developer-function-intorduction> :dataList="dataList.data"
id="function-introduction"
class="scrollBox"
></developer-function-intorduction>
<!-- 应用场景 --> <!-- 应用场景 -->
<developer-application-scenarios :dataList="dataList.data" id="application-scenarios" class="scrollBox"> <developer-application-scenarios
</developer-application-scenarios> :dataList="dataList.data"
id="application-scenarios"
class="scrollBox"
></developer-application-scenarios>
<!-- 应用案例 --> <!-- 应用案例 -->
<developer-application-case :dataList="dataList.data" id="application-case" class="scrollBox"> <developer-application-case
</developer-application-case> :dataList="dataList.data"
id="application-case"
class="scrollBox"
></developer-application-case>
<!-- 组件试用 --> <!-- 组件试用 -->
<developer-trial :dataList="dataList.data" id="developer-trial" class="scrollBox"></developer-trial> <developer-trial
:dataList="dataList.data"
id="developer-trial"
class="scrollBox"
></developer-trial>
<!-- 归属部门与服务商--> <!-- 归属部门与服务商-->
<developer-owning-department-and-service-provider :dataList="dataList.data" id="department-and-service-provider" <developer-owning-department-and-service-provider
class="scrollBox"></developer-owning-department-and-service-provider> :dataList="dataList.data"
id="department-and-service-provider"
class="scrollBox"
></developer-owning-department-and-service-provider>
<!-- 常见问题--> <!-- 常见问题-->
<developer-common-problem :dataList="dataList.data" id="common-problem" class="scrollBox"> <developer-common-problem
</developer-common-problem> :dataList="dataList.data"
id="common-problem"
class="scrollBox"
></developer-common-problem>
</div> </div>
</template> </template>
<script setup> <script setup>
@ -136,7 +166,7 @@ const init = (id) => {
console.log('浏览记录+1') console.log('浏览记录+1')
}) })
}) })
associatedComponents.value.map((item, index) => { }) associatedComponents.value.map(() => {})
} else if (obj) { } else if (obj) {
dataList.data = obj dataList.data = obj
console.log('预览==============', obj) console.log('预览==============', obj)

View File

@ -8,33 +8,65 @@
<template> <template>
<div class="application-details" :class="{ fixed2: scrollTop >= 600 }"> <div class="application-details" :class="{ fixed2: scrollTop >= 600 }">
<!-- 头部基本信息 --> <!-- 头部基本信息 -->
<layer-service-top-details :dataList="dataList.data"></layer-service-top-details> <layer-service-top-details
:dataList="dataList.data"
></layer-service-top-details>
<!-- 导航 --> <!-- 导航 -->
<layer-service-navigation :dataList="dataList.data" :associatedComponents="associatedComponents" <layer-service-navigation
:class="{ fixed: scrollTop >= 600 }" :selectNow="selectNow"></layer-service-navigation> :dataList="dataList.data"
:associatedComponents="associatedComponents"
:class="{ fixed: scrollTop >= 600 }"
:selectNow="selectNow"
></layer-service-navigation>
<!-- 关联能力 --> <!-- 关联能力 -->
<layer-service-associated-ability :associatedComponents="associatedComponents" id="layer-service-associated-ability" <layer-service-associated-ability
class="scrollBox" v-if="!loading"></layer-service-associated-ability> :associatedComponents="associatedComponents"
id="layer-service-associated-ability"
class="scrollBox"
v-if="!loading"
></layer-service-associated-ability>
<!-- 图层展示 视频 --> <!-- 图层展示 视频 -->
<layer-service-presentation :dataList="dataList.data" id="service-presentation" class="scrollBox"> <layer-service-presentation
</layer-service-presentation> :dataList="dataList.data"
id="service-presentation"
class="scrollBox"
></layer-service-presentation>
<!-- 图层信息--> <!-- 图层信息-->
<layer-service-information :dataList="dataList.data" id="service-information" class="scrollBox"> <layer-service-information
</layer-service-information> :dataList="dataList.data"
id="service-information"
class="scrollBox"
></layer-service-information>
<!-- 应用场景 --> <!-- 应用场景 -->
<layer-service-application-scenarios :dataList="dataList.data" id="service-application-scenarios" class="scrollBox"> <layer-service-application-scenarios
</layer-service-application-scenarios> :dataList="dataList.data"
id="service-application-scenarios"
class="scrollBox"
></layer-service-application-scenarios>
<!-- 应用案例 --> <!-- 应用案例 -->
<layer-service-application-case :dataList="dataList.data" id="service-application-case" class="scrollBox"> <layer-service-application-case
</layer-service-application-case> :dataList="dataList.data"
id="service-application-case"
class="scrollBox"
></layer-service-application-case>
<!-- 图层预览 --> <!-- 图层预览 -->
<layer-service-preview :dataList="dataList.data" id="service-preview" class="scrollBox"></layer-service-preview> <layer-service-preview
:dataList="dataList.data"
id="service-preview"
class="scrollBox"
></layer-service-preview>
<!-- 使用方式--> <!-- 使用方式-->
<layer-service-usage-mode :dataList="dataList.data" id="service-usage-mode" class="scrollBox"> <layer-service-usage-mode
</layer-service-usage-mode> :dataList="dataList.data"
id="service-usage-mode"
class="scrollBox"
></layer-service-usage-mode>
<!-- 常见问题--> <!-- 常见问题-->
<layer-service-common-problem :dataList="dataList.data" id="service-common-problem" class="scrollBox"> <layer-service-common-problem
</layer-service-common-problem> :dataList="dataList.data"
id="service-common-problem"
class="scrollBox"
></layer-service-common-problem>
</div> </div>
</template> </template>
<script setup> <script setup>

View File

@ -38,7 +38,9 @@
() => props.dataList, () => props.dataList,
(val) => { (val) => {
if (val) { if (val) {
let obj = val.infoList.filter((item) => item.attrType === '试用地址' && item.attrValue)[0] let obj = val.infoList.filter(
(item) => item.attrType === '试用地址' && item.attrValue
)[0]
if (!obj) { if (!obj) {
flag.value = false flag.value = false
} else { } else {

View File

@ -73,7 +73,7 @@
</template> </template>
<script setup> <script setup>
import { ref, onMounted } from 'vue' import { ref, onMounted } from 'vue'
import { paddleocr,algo } from '@/api/file' import { algo } from '@/api/file'
import { message } from 'ant-design-vue' import { message } from 'ant-design-vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
const router = useRouter() const router = useRouter()
@ -85,10 +85,12 @@
const imageResult1 = ref('') const imageResult1 = ref('')
const menuOpenKeys2 = ref(['全文还原']) const menuOpenKeys2 = ref(['全文还原'])
// //
let responseUrl = ref('static/image/' + router.currentRoute.value.query.exampleImg) let responseUrl = ref(
'static/image/' + router.currentRoute.value.query.exampleImg
)
const imgType = router.currentRoute.value.query.exampleImg.split('.')[1] const imgType = router.currentRoute.value.query.exampleImg.split('.')[1]
const handleChange = (info) => { const handleChange = (info) => {
debugger; debugger
if (info.file.status !== 'uploading') { if (info.file.status !== 'uploading') {
console.log(info.file, info.fileList) console.log(info.file, info.fileList)
} }
@ -111,7 +113,7 @@
company: router.currentRoute.value.query.company, company: router.currentRoute.value.query.company,
algorithmName: router.currentRoute.value.query.algorithmName, algorithmName: router.currentRoute.value.query.algorithmName,
data: base64.split('base64,')[1], data: base64.split('base64,')[1],
type: router.currentRoute.value.query.type type: router.currentRoute.value.query.type,
} }
algo(param).then((res) => { algo(param).then((res) => {
// wordValue.value = res.data // wordValue.value = res.data

View File

@ -43,7 +43,7 @@
</template> </template>
<script setup> <script setup>
import { ref } from 'vue' import { ref } from 'vue'
import { correct,algo } from '@/api/file' import { algo } from '@/api/file'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
const router = useRouter() const router = useRouter()
// const keyId = router.currentRoute.value.query.id // const keyId = router.currentRoute.value.query.id
@ -58,7 +58,7 @@
company: router.currentRoute.value.query.company, company: router.currentRoute.value.query.company,
algorithmName: router.currentRoute.value.query.algorithmName, algorithmName: router.currentRoute.value.query.algorithmName,
data: wordValue.value, data: wordValue.value,
type: router.currentRoute.value.query.type type: router.currentRoute.value.query.type,
} }
// correct(param).then((res) => { // correct(param).then((res) => {
// // wordContent.value = res.data.data // // wordContent.value = res.data.data
@ -72,7 +72,7 @@
// errorWordContent.value = val.value // errorWordContent.value = val.value
// }) // })
// }) // })
algo(param).then(res=>{ algo(param).then((res) => {
errorWord.value = res.data.data.text_data errorWord.value = res.data.data.text_data
}) })
} }

View File

@ -16,9 +16,7 @@
</div> </div>
</div> </div>
</div> </div>
<div v-else class="no-data"> <div v-else class="no-data">暂无数据</div>
暂无数据
</div>
</div> </div>
</template> </template>

View File

@ -7,26 +7,42 @@
<DetalsTitle :title="dataFrom.attrType" type="INTRODUCE"></DetalsTitle> <DetalsTitle :title="dataFrom.attrType" type="INTRODUCE"></DetalsTitle>
</div> </div>
<div class="tab"> <div class="tab">
<div v-for="(itemSonTitle, indexSonTitle) in dataFrom.attrValue" :key="itemSonTitle.name" <div
@click="tabSwitch(itemSonTitle.name)" class="tab-son" :class=" v-for="(itemSonTitle, indexSonTitle) in dataFrom.attrValue"
:key="itemSonTitle.name"
@click="tabSwitch(itemSonTitle.name)"
class="tab-son"
:class="
tabIndexClass(indexSonTitle, dataFrom.name, dataFrom.attrValue) tabIndexClass(indexSonTitle, dataFrom.name, dataFrom.attrValue)
"> "
>
<a-tooltip> <a-tooltip>
<template #title>{{ itemSonTitle.name }}</template> <template #title>{{ itemSonTitle.name }}</template>
<div class="tab-top" :class=" <div
class="tab-top"
:class="
tabInitialize() == itemSonTitle.name ? 'tab-top-down' : '' tabInitialize() == itemSonTitle.name ? 'tab-top-down' : ''
"> "
>
{{ itemSonTitle.name }} {{ itemSonTitle.name }}
</div> </div>
</a-tooltip> </a-tooltip>
<div class="tab-bottom" v-if="tabInitialize() == itemSonTitle.name"></div> <div
class="tab-bottom"
v-if="tabInitialize() == itemSonTitle.name"
></div>
</div> </div>
</div> </div>
<template v-for="itemSonTitle in dataFrom.attrValue" :key="itemSonTitle"> <template v-for="itemSonTitle in dataFrom.attrValue" :key="itemSonTitle">
<div class="content" v-if="tabindex == itemSonTitle.name"> <div class="content" v-if="tabindex == itemSonTitle.name">
<div class="content-left"> <div class="content-left">
<div class="content-left-scene" v-if="!itemSonTitle.img"></div> <div class="content-left-scene" v-if="!itemSonTitle.img"></div>
<a-image :width="635" :height="340" :src="itemSonTitle.img" v-if="itemSonTitle.img"></a-image> <a-image
:width="635"
:height="340"
:src="itemSonTitle.img"
v-if="itemSonTitle.img"
></a-image>
</div> </div>
<div class="content-right"> <div class="content-right">
<div class="content-right-scene"> <div class="content-right-scene">

View File

@ -8,10 +8,18 @@
<template> <template>
<div class="application-presentation" v-if="flag"> <div class="application-presentation" v-if="flag">
<detals-title title="应用展示" type="IMAGE&VIDEO"></detals-title> <detals-title title="应用展示" type="IMAGE&VIDEO"></detals-title>
<div class="main" :style="`${img}background-position:center;background-size:cover;`"> <div
class="main"
:style="`${img}background-position:center;background-size:cover;`"
>
<div class="play" @click="showModal"></div> <div class="play" @click="showModal"></div>
</div> </div>
<a-modal v-model:visible="visible" title="视频预览" :width="750" destroyOnClose> <a-modal
v-model:visible="visible"
title="视频预览"
:width="750"
destroyOnClose
>
<template #footer></template> <template #footer></template>
<div style="width: 100%; display: flex; justify-content: center"> <div style="width: 100%; display: flex; justify-content: center">
<div style="width: 100%; height: 100%"> <div style="width: 100%; height: 100%">

View File

@ -53,7 +53,11 @@
加入购物车 加入购物车
</a-button> --> </a-button> -->
<!-- 融合服务 存在fuseResourceList --> <!-- 融合服务 存在fuseResourceList -->
<a-button type="primary" @click="handleAKeyApplication()" v-if="dataList.fuseResourceList"> <a-button
type="primary"
@click="handleAKeyApplication()"
v-if="dataList.fuseResourceList"
>
<template #icon> <template #icon>
<form-outlined /> <form-outlined />
</template> </template>
@ -81,7 +85,7 @@ const props = defineProps({
dataList: { type: Object, default: null }, dataList: { type: Object, default: null },
}) })
console.log('dataList------------>', props.dataList); console.log('dataList------------>', props.dataList)
// const router = useRouter() // const router = useRouter()
const applicationArea = ref('') const applicationArea = ref('')
@ -111,8 +115,8 @@ const applicationArea = ref('')
// } // }
// -- // --
const handleAKeyApplication = () => { const handleAKeyApplication = () => {
let _applyList = []; let _applyList = []
(props.dataList.fuseResourceList || []).map(v => { ;(props.dataList.fuseResourceList || []).map((v) => {
let resource = v.resource || {} let resource = v.resource || {}
let obj = { let obj = {
arr: [ arr: [
@ -131,10 +135,7 @@ const handleAKeyApplication = () => {
_applyList.push(obj) _applyList.push(obj)
}) })
localStorage.setItem( localStorage.setItem('applyList', JSON.stringify(_applyList))
'applyList',
JSON.stringify(_applyList)
)
router.push({ router.push({
path: '/apply', path: '/apply',
}) })
@ -157,7 +158,7 @@ watch(
() => props.dataList, () => props.dataList,
(val) => { (val) => {
if (val) { if (val) {
console.log('props.dataList-----watch------->', val); console.log('props.dataList-----watch------->', val)
applicationArea.value = props.dataList.infoList.filter( applicationArea.value = props.dataList.infoList.filter(
(val) => val.attrType === '应用领域' (val) => val.attrType === '应用领域'

View File

@ -8,7 +8,12 @@
<template> <template>
<div class="business-navigation" v-if="navList.length > 0"> <div class="business-navigation" v-if="navList.length > 0">
<template v-for="nav in navList" :key="nav.key"> <template v-for="nav in navList" :key="nav.key">
<div class="nav" :class="{ select: nav.key == select }" v-if="nav.show" @click="selectNav(nav.key)"> <div
class="nav"
:class="{ select: nav.key == select }"
v-if="nav.show"
@click="selectNav(nav.key)"
>
{{ nav.name }} {{ nav.name }}
<span class="line"></span> <span class="line"></span>
</div> </div>

View File

@ -10,57 +10,100 @@
</div> </div>
<div class="top" v-if="Cardsname != '知识库' && Cardsname != '基础设施'"> <div class="top" v-if="Cardsname != '知识库' && Cardsname != '基础设施'">
<div class="top-title"> <div class="top-title">
<div v-for="item in titleName" :key="item.name" :class="item.name === Cardsname ? 'sel' : ''" <div
@click="changeCards(item.name)"> v-for="item in titleName"
<span class="photo" :style="{ :key="item.name"
:class="item.name === Cardsname ? 'sel' : ''"
@click="changeCards(item.name)"
>
<span
class="photo"
:style="{
backgroundImage: `url(${item.photo}) `, backgroundImage: `url(${item.photo}) `,
backgroundSize: 'cover', backgroundSize: 'cover',
}"></span> }"
></span>
<span>{{ item.name }}</span> <span>{{ item.name }}</span>
</div> </div>
</div> </div>
<div class="resultListSearchInput-father"> <div class="resultListSearchInput-father">
<div class="resultListSearchInput-son"> <div class="resultListSearchInput-son">
模糊搜索 模糊搜索
<a-input-search v-model:value="searchValue" placeholder="请输入关键词" enter-button="搜索" size="large" <a-input-search
@search="getAppResources" @change="onSearch" class="resultListSearchInput" /> v-model:value="searchValue"
placeholder="请输入关键词"
enter-button="搜索"
size="large"
@search="getAppResources"
@change="onSearch"
class="resultListSearchInput"
/>
<button class="button-reset" @click="chongzhi()">重置</button> <button class="button-reset" @click="chongzhi()">重置</button>
<div class="hengxian"></div> <div class="hengxian"></div>
</div> </div>
</div> </div>
<div class="top-content-father" :key="listKey"> <div class="top-content-father" :key="listKey">
<template v-if=" <template
v-if="
Cardsname == '组件服务' || Cardsname == '组件服务' ||
Cardsname == '应用资源' || Cardsname == '应用资源' ||
Cardsname == '' Cardsname == ''
"> "
>
<div class="top-content-son"> <div class="top-content-son">
<div v-for="(item, index) in ListContent.records" :key="index" class="top-content"> <div
v-for="(item, index) in ListContent.records"
:key="index"
class="top-content"
>
<span class="top-content-title"> <span class="top-content-title">
{{ item.name }} {{ item.name }}
</span> </span>
<div class="leixingsumfather" :class="!item.shrinkFlag ? 'shrink' : ''"> <div
<div v-for="(item2, index2) in item.typeList" :key="index2" class="leixingsum"> class="leixingsumfather"
<a-checkable-tag :checked=" :class="!item.shrinkFlag ? 'shrink' : ''"
>
<div
v-for="(item2, index2) in item.typeList"
:key="index2"
class="leixingsum"
>
<a-checkable-tag
:checked="
item.selectedTags && item.selectedTags &&
item.selectedTags.indexOf(item2.dict_label) !== -1 item.selectedTags.indexOf(item2.dict_label) !== -1
" @change=" "
@change="
(checked) => handleChange(item2, checked, item.name) (checked) => handleChange(item2, checked, item.name)
"> "
>
{{ item2.dict_label }} {{ item2.dict_label }}
</a-checkable-tag> </a-checkable-tag>
</div> </div>
</div> </div>
<div class="shrinkTag" v-if="item.showShrink" :key="item.shrinkFlag"> <div
<up-outlined v-show="!item.shrinkFlag" @click="changeShrink(item.name)" /> class="shrinkTag"
<down-outlined v-show="item.shrinkFlag" @click="changeShrink(item.name)" /> v-if="item.showShrink"
:key="item.shrinkFlag"
>
<up-outlined
v-show="!item.shrinkFlag"
@click="changeShrink(item.name)"
/>
<down-outlined
v-show="item.shrinkFlag"
@click="changeShrink(item.name)"
/>
</div> </div>
</div> </div>
<div class="top-content" v-if="Cardsname == '组件服务'"> <div class="top-content" v-if="Cardsname == '组件服务'">
<span class="top-content-title">共享条件</span> <span class="top-content-title">共享条件</span>
<div class="leixingsumfather"> <div class="leixingsumfather">
<div class="leixingsum"> <div class="leixingsum">
<a-checkable-tag :checked="tagFlag == '申请'" @change="() => chagneTag('申请')"> <a-checkable-tag
:checked="tagFlag == '申请'"
@change="() => chagneTag('申请')"
>
申请 申请
</a-checkable-tag> </a-checkable-tag>
</div> </div>
@ -77,25 +120,49 @@
</div> </div>
</template> </template>
</div> </div>
<searchResultList v-show="resourceList.data && resourceList.data.length > 0" :key="listKey2" <searchResultList
:resourceList="resourceList" :resourceTotal="resourceTotal" :select-cardsname="Cardsname" /> v-show="resourceList.data && resourceList.data.length > 0"
:key="listKey2"
:resourceList="resourceList"
:resourceTotal="resourceTotal"
:select-cardsname="Cardsname"
/>
<div class="pagination"> <div class="pagination">
<a-pagination v-if="resourceList.data && resourceList.data.length > 0" v-model:current="currentPage" <a-pagination
v-model:pageSize="currentPageSize" show-size-changer show-less-items show-quick-jumper :total="resourceTotal" v-if="resourceList.data && resourceList.data.length > 0"
:page-size-options="pageSizeOptions" @change="pageChange" @showSizeChange="onShowSizeChange" /> 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>
<div v-if="resourceList.data && resourceList.data.length <= 0" style="margin-top: 2rem"> <div
v-if="resourceList.data && resourceList.data.length <= 0"
style="margin-top: 2rem"
>
<a-empty /> <a-empty />
</div> </div>
</div> </div>
<div class="top" v-else-if="Cardsname === '基础设施'"> <div class="top" v-else-if="Cardsname === '基础设施'">
<div class="top-title"> <div class="top-title">
<div v-for="item in titleName" :key="item.name" :class="item.name === Cardsname ? 'sel' : ''" <div
@click="changeCards(item.name)"> v-for="item in titleName"
<span class="photo" :style="{ :key="item.name"
:class="item.name === Cardsname ? 'sel' : ''"
@click="changeCards(item.name)"
>
<span
class="photo"
:style="{
backgroundImage: `url(${item.photo}) `, backgroundImage: `url(${item.photo}) `,
backgroundSize: 'cover', backgroundSize: 'cover',
}"></span> }"
></span>
<span>{{ item.name }}</span> <span>{{ item.name }}</span>
</div> </div>
</div> </div>
@ -105,24 +172,41 @@
</div> </div>
<div class="top" v-else> <div class="top" v-else>
<div class="top-title"> <div class="top-title">
<div v-for="item in titleName" :key="item.name" :class="item.name === Cardsname ? 'sel' : ''" <div
@click="changeCards(item.name)"> v-for="item in titleName"
<span class="photo" :style="{ :key="item.name"
:class="item.name === Cardsname ? 'sel' : ''"
@click="changeCards(item.name)"
>
<span
class="photo"
:style="{
backgroundImage: `url(${item.photo}) `, backgroundImage: `url(${item.photo}) `,
backgroundSize: 'cover', backgroundSize: 'cover',
}"></span> }"
></span>
<span>{{ item.name }}</span> <span>{{ item.name }}</span>
</div> </div>
</div> </div>
<div class="resultListSearchInput-father" style="background: unset"> <div class="resultListSearchInput-father" style="background: unset">
<div class="resultListSearchInput-son"> <div class="resultListSearchInput-son">
模糊搜索 模糊搜索
<a-input-search v-model:value="searchValue" placeholder="请输入关键词" enter-button="搜索" size="large" <a-input-search
@search="getAppResources" @change="onSearch" class="resultListSearchInput" /> v-model:value="searchValue"
placeholder="请输入关键词"
enter-button="搜索"
size="large"
@search="getAppResources"
@change="onSearch"
class="resultListSearchInput"
/>
<button class="button-reset" @click="chongzhi()">重置</button> <button class="button-reset" @click="chongzhi()">重置</button>
</div> </div>
</div> </div>
<KnowledgeBase :resourceList="resourceList" :resourceTotal="resourceTotal"></KnowledgeBase> <KnowledgeBase
:resourceList="resourceList"
:resourceTotal="resourceTotal"
></KnowledgeBase>
</div> </div>
<div class="talk-monitor" @click="openMonitor"> <div class="talk-monitor" @click="openMonitor">
<a-tooltip> <a-tooltip>
@ -132,18 +216,28 @@
</div> </div>
</div> </div>
<!-- 西海岸 --> <!-- 西海岸 -->
<div class="details-pageconetent" v-else-if="whoShow1 && whoShow1.itShowXiHaiAn"> <div
class="details-pageconetent"
v-else-if="whoShow1 && whoShow1.itShowXiHaiAn"
>
<home-header></home-header> <home-header></home-header>
<div class="details-pageconetent-left"> <div class="details-pageconetent-left">
<detailsPageconetentTree /> <detailsPageconetentTree />
</div> </div>
<div class="top" v-if="Cardsname != '知识库'"> <div class="top" v-if="Cardsname != '知识库'">
<div class="top-title"> <div class="top-title">
<div v-for="item in titleName" :key="item.name" :class="item.name === Cardsname ? 'sel' : ''" <div
@click="changeCards(item.name)"> v-for="item in titleName"
<span class="photo" :style="{ :key="item.name"
:class="item.name === Cardsname ? 'sel' : ''"
@click="changeCards(item.name)"
>
<span
class="photo"
:style="{
backgroundImage: `url(${item.photo}) `, backgroundImage: `url(${item.photo}) `,
}"></span> }"
></span>
<span>{{ item.name }}</span> <span>{{ item.name }}</span>
</div> </div>
</div> </div>
@ -151,46 +245,82 @@
<div class="resultListSearchInput-father"> <div class="resultListSearchInput-father">
<div class="resultListSearchInput-son"> <div class="resultListSearchInput-son">
模糊搜索 模糊搜索
<a-input-search v-model:value="searchValue" placeholder="请输入关键词" enter-button="搜索" size="large" <a-input-search
@search="getAppResources" @change="onSearch" class="resultListSearchInput" /> v-model:value="searchValue"
placeholder="请输入关键词"
enter-button="搜索"
size="large"
@search="getAppResources"
@change="onSearch"
class="resultListSearchInput"
/>
<button class="button-reset" @click="chongzhi()">重置</button> <button class="button-reset" @click="chongzhi()">重置</button>
<div class="hengxian"></div> <div class="hengxian"></div>
</div> </div>
</div> </div>
<!-- 分类 --> <!-- 分类 -->
<div class="top-content-father" :key="listKey"> <div class="top-content-father" :key="listKey">
<template v-if=" <template
v-if="
Cardsname == '组件服务' || Cardsname == '组件服务' ||
Cardsname == '应用资源' || Cardsname == '应用资源' ||
Cardsname == '' Cardsname == ''
"> "
>
<div class="top-content-son"> <div class="top-content-son">
<div v-for="(item, index) in ListContent.records" :key="index" class="top-content"> <div
v-for="(item, index) in ListContent.records"
:key="index"
class="top-content"
>
<span class="top-content-title"> <span class="top-content-title">
{{ item.name }} {{ item.name }}
</span> </span>
<div class="leixingsumfather" :class="!item.shrinkFlag ? 'shrink' : ''"> <div
<div v-for="(item2, index2) in item.typeList" :key="index2" class="leixingsum"> class="leixingsumfather"
<a-checkable-tag :checked=" :class="!item.shrinkFlag ? 'shrink' : ''"
>
<div
v-for="(item2, index2) in item.typeList"
:key="index2"
class="leixingsum"
>
<a-checkable-tag
:checked="
item.selectedTags && item.selectedTags &&
item.selectedTags.indexOf(item2.dict_label) !== -1 item.selectedTags.indexOf(item2.dict_label) !== -1
" @change=" "
@change="
(checked) => handleChange(item2, checked, item.name) (checked) => handleChange(item2, checked, item.name)
"> "
>
{{ item2.dict_label }} {{ item2.dict_label }}
</a-checkable-tag> </a-checkable-tag>
</div> </div>
</div> </div>
<div class="shrinkTag" v-if="item.showShrink" :key="item.shrinkFlag"> <div
<up-outlined v-show="!item.shrinkFlag" @click="changeShrink(item.name)" /> class="shrinkTag"
<down-outlined v-show="item.shrinkFlag" @click="changeShrink(item.name)" /> v-if="item.showShrink"
:key="item.shrinkFlag"
>
<up-outlined
v-show="!item.shrinkFlag"
@click="changeShrink(item.name)"
/>
<down-outlined
v-show="item.shrinkFlag"
@click="changeShrink(item.name)"
/>
</div> </div>
</div> </div>
<div class="top-content" v-if="Cardsname == '组件服务'"> <div class="top-content" v-if="Cardsname == '组件服务'">
<span class="top-content-title">共享条件</span> <span class="top-content-title">共享条件</span>
<div class="leixingsumfather"> <div class="leixingsumfather">
<div class="leixingsum"> <div class="leixingsum">
<a-checkable-tag :checked="tagFlag == '申请'" @change="() => chagneTag('申请')"> <a-checkable-tag
:checked="tagFlag == '申请'"
@change="() => chagneTag('申请')"
>
申请 申请
</a-checkable-tag> </a-checkable-tag>
</div> </div>
@ -208,37 +338,71 @@
</template> </template>
</div> </div>
<!-- 中心内容 --> <!-- 中心内容 -->
<searchResultList v-show="resourceList.data && resourceList.data.length > 0" :key="listKey2" <searchResultList
:resourceList="resourceList" :resourceTotal="resourceTotal" :select-cardsname="Cardsname" /> v-show="resourceList.data && resourceList.data.length > 0"
:key="listKey2"
:resourceList="resourceList"
:resourceTotal="resourceTotal"
:select-cardsname="Cardsname"
/>
<!-- 分页 --> <!-- 分页 -->
<div class="pagination"> <div class="pagination">
<a-pagination v-if="resourceList.data && resourceList.data.length > 0" v-model:current="currentPage" <a-pagination
v-model:pageSize="currentPageSize" show-size-changer show-less-items show-quick-jumper :total="resourceTotal" v-if="resourceList.data && resourceList.data.length > 0"
:page-size-options="pageSizeOptions" @change="pageChange" @showSizeChange="onShowSizeChange" /> 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>
<div v-if="resourceList.data && resourceList.data.length <= 0" style="margin-top: 200px"> <div
v-if="resourceList.data && resourceList.data.length <= 0"
style="margin-top: 200px"
>
<a-empty /> <a-empty />
</div> </div>
</div> </div>
<div class="top" v-else> <div class="top" v-else>
<div class="top-title"> <div class="top-title">
<div v-for="item in titleName" :key="item.name" :class="item.name === Cardsname ? 'sel' : ''" <div
@click="changeCards(item.name)"> v-for="item in titleName"
<span class="photo" :style="{ :key="item.name"
:class="item.name === Cardsname ? 'sel' : ''"
@click="changeCards(item.name)"
>
<span
class="photo"
:style="{
backgroundImage: `url(${item.photo}) `, backgroundImage: `url(${item.photo}) `,
}"></span> }"
></span>
<span>{{ item.name }}</span> <span>{{ item.name }}</span>
</div> </div>
</div> </div>
<div class="resultListSearchInput-father" style="background: unset"> <div class="resultListSearchInput-father" style="background: unset">
<div class="resultListSearchInput-son"> <div class="resultListSearchInput-son">
模糊搜索 模糊搜索
<a-input-search v-model:value="searchValue" placeholder="请输入关键词" enter-button="搜索" size="large" <a-input-search
@search="getAppResources" @change="onSearch" class="resultListSearchInput" /> v-model:value="searchValue"
placeholder="请输入关键词"
enter-button="搜索"
size="large"
@search="getAppResources"
@change="onSearch"
class="resultListSearchInput"
/>
<button class="button-reset" @click="chongzhi()">重置</button> <button class="button-reset" @click="chongzhi()">重置</button>
</div> </div>
</div> </div>
<KnowledgeBase :resourceList="resourceList" :resourceTotal="resourceTotal"></KnowledgeBase> <KnowledgeBase
:resourceList="resourceList"
:resourceTotal="resourceTotal"
></KnowledgeBase>
</div> </div>
<div class="talk-monitor" @click="openMonitor"> <div class="talk-monitor" @click="openMonitor">
<a-tooltip> <a-tooltip>
@ -248,64 +412,113 @@
</div> </div>
</div> </div>
<!-- 包头 --> <!-- 包头 -->
<div class="details-pageconetent" v-else-if="whoShow1 && whoShow1.itShowBaoTou"> <div
class="details-pageconetent"
v-else-if="whoShow1 && whoShow1.itShowBaoTou"
>
<home-header></home-header> <home-header></home-header>
<div class="details-pageconetent-left"> <div class="details-pageconetent-left">
<detailsPageconetentTree /> <detailsPageconetentTree />
</div> </div>
<div class="top" v-if="Cardsname != '知识库' && Cardsname != '数据资源'"> <div class="top" v-if="Cardsname != '知识库' && Cardsname != '数据资源'">
<div class="top-title"> <div class="top-title">
<div v-for="item in titleName" :key="item.name" :class="item.name === Cardsname ? 'sel' : ''" <div
@click="changeCards(item.name)"> v-for="item in titleName"
<span class="photo" :style="{ :key="item.name"
:class="item.name === Cardsname ? 'sel' : ''"
@click="changeCards(item.name)"
>
<span
class="photo"
:style="{
backgroundImage: `url(${item.photo}) `, backgroundImage: `url(${item.photo}) `,
backgroundSize: 'cover', backgroundSize: 'cover',
}"></span> }"
></span>
<span>{{ item.name }}</span> <span>{{ item.name }}</span>
</div> </div>
</div> </div>
<div v-show="Cardsname !== '数据资源'" class="resultListSearchInput-father"> <div
v-show="Cardsname !== '数据资源'"
class="resultListSearchInput-father"
>
<div class="resultListSearchInput-son"> <div class="resultListSearchInput-son">
模糊搜索 模糊搜索
<a-input-search v-model:value="searchValue" placeholder="请输入关键词" enter-button="搜索" size="large" <a-input-search
@search="getAppResources" @change="onSearch" class="resultListSearchInput" /> v-model:value="searchValue"
placeholder="请输入关键词"
enter-button="搜索"
size="large"
@search="getAppResources"
@change="onSearch"
class="resultListSearchInput"
/>
<button class="button-reset" @click="chongzhi()">重置</button> <button class="button-reset" @click="chongzhi()">重置</button>
<div class="hengxian"></div> <div class="hengxian"></div>
</div> </div>
</div> </div>
<div class="top-content-father" :key="listKey"> <div class="top-content-father" :key="listKey">
<template v-if=" <template
v-if="
Cardsname == '组件服务' || Cardsname == '组件服务' ||
Cardsname == '应用资源' || Cardsname == '应用资源' ||
Cardsname == '' Cardsname == ''
"> "
>
<div class="top-content-son"> <div class="top-content-son">
<div v-for="(item, index) in ListContent.records" :key="index" class="top-content"> <div
v-for="(item, index) in ListContent.records"
:key="index"
class="top-content"
>
<span class="top-content-title"> <span class="top-content-title">
{{ item.name }} {{ item.name }}
</span> </span>
<div class="leixingsumfather" :class="!item.shrinkFlag ? 'shrink' : ''"> <div
<div v-for="(item2, index2) in item.typeList" :key="index2" class="leixingsum"> class="leixingsumfather"
<a-checkable-tag :checked=" :class="!item.shrinkFlag ? 'shrink' : ''"
>
<div
v-for="(item2, index2) in item.typeList"
:key="index2"
class="leixingsum"
>
<a-checkable-tag
:checked="
item.selectedTags && item.selectedTags &&
item.selectedTags.indexOf(item2.dict_label) !== -1 item.selectedTags.indexOf(item2.dict_label) !== -1
" @change=" "
@change="
(checked) => handleChange(item2, checked, item.name) (checked) => handleChange(item2, checked, item.name)
"> "
>
{{ item2.dict_label }} {{ item2.dict_label }}
</a-checkable-tag> </a-checkable-tag>
</div> </div>
</div> </div>
<div class="shrinkTag" v-if="item.showShrink" :key="item.shrinkFlag"> <div
<up-outlined v-show="!item.shrinkFlag" @click="changeShrink(item.name)" /> class="shrinkTag"
<down-outlined v-show="item.shrinkFlag" @click="changeShrink(item.name)" /> v-if="item.showShrink"
:key="item.shrinkFlag"
>
<up-outlined
v-show="!item.shrinkFlag"
@click="changeShrink(item.name)"
/>
<down-outlined
v-show="item.shrinkFlag"
@click="changeShrink(item.name)"
/>
</div> </div>
</div> </div>
<div class="top-content" v-if="Cardsname == '组件服务'"> <div class="top-content" v-if="Cardsname == '组件服务'">
<span class="top-content-title">共享条件</span> <span class="top-content-title">共享条件</span>
<div class="leixingsumfather"> <div class="leixingsumfather">
<div class="leixingsum"> <div class="leixingsum">
<a-checkable-tag :checked="tagFlag == '申请'" @change="() => chagneTag('申请')"> <a-checkable-tag
:checked="tagFlag == '申请'"
@change="() => chagneTag('申请')"
>
申请 申请
</a-checkable-tag> </a-checkable-tag>
</div> </div>
@ -322,18 +535,35 @@
</div> </div>
</template> </template>
</div> </div>
<searchResultList v-show="resourceList.data && resourceList.data.length" :key="listKey2" <searchResultList
:resourceList="resourceList" :resourceTotal="resourceTotal" :select-cardsname="Cardsname" /> v-show="resourceList.data && resourceList.data.length"
:key="listKey2"
:resourceList="resourceList"
:resourceTotal="resourceTotal"
:select-cardsname="Cardsname"
/>
<div class="pagination"> <div class="pagination">
<a-pagination v-if="resourceList.data && resourceList.data.length > 0" v-model:current="currentPage" <a-pagination
v-model:pageSize="currentPageSize" show-size-changer show-less-items show-quick-jumper :total="resourceTotal" v-if="resourceList.data && resourceList.data.length > 0"
:page-size-options="pageSizeOptions" @change="pageChange" @showSizeChange="onShowSizeChange" /> 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>
<div class="shujuziyuan" v-if="Cardsname == '数据资源'"> <div class="shujuziyuan" v-if="Cardsname == '数据资源'">
<div class="yunziyuan"> <div class="yunziyuan">
<div class="yunziyuan-title"> <div class="yunziyuan-title">
<div class="tupian"></div> <div class="tupian"></div>
<div class="title" @click="dianjitiaozhaun('青岛市政务资源管理平台')"> <div
class="title"
@click="dianjitiaozhaun('青岛市政务资源管理平台')"
>
青岛市政务资源管理平台{{ dataShowdev }} 青岛市政务资源管理平台{{ dataShowdev }}
</div> </div>
</div> </div>
@ -349,18 +579,28 @@
</div> </div>
</div> </div>
</div> </div>
<div v-if="resourceList.data && resourceList.data.length <= 0" style="margin-top: 2rem"> <div
v-if="resourceList.data && resourceList.data.length <= 0"
style="margin-top: 2rem"
>
<a-empty v-if="!(Cardsname == '数据资源')" /> <a-empty v-if="!(Cardsname == '数据资源')" />
</div> </div>
</div> </div>
<div class="top" v-else-if="Cardsname == '数据资源'"> <div class="top" v-else-if="Cardsname == '数据资源'">
<div class="top-title"> <div class="top-title">
<div v-for="item in titleName" :key="item.name" :class="item.name === Cardsname ? 'sel' : ''" <div
@click="changeCards(item.name)"> v-for="item in titleName"
<span class="photo" :style="{ :key="item.name"
:class="item.name === Cardsname ? 'sel' : ''"
@click="changeCards(item.name)"
>
<span
class="photo"
:style="{
backgroundImage: `url(${item.photo}) `, backgroundImage: `url(${item.photo}) `,
backgroundSize: 'cover', backgroundSize: 'cover',
}"></span> }"
></span>
<span>{{ item.name }}</span> <span>{{ item.name }}</span>
</div> </div>
</div> </div>
@ -368,24 +608,41 @@
</div> </div>
<div class="top" v-else> <div class="top" v-else>
<div class="top-title"> <div class="top-title">
<div v-for="item in titleName" :key="item.name" :class="item.name === Cardsname ? 'sel' : ''" <div
@click="changeCards(item.name)"> v-for="item in titleName"
<span class="photo" :style="{ :key="item.name"
:class="item.name === Cardsname ? 'sel' : ''"
@click="changeCards(item.name)"
>
<span
class="photo"
:style="{
backgroundImage: `url(${item.photo}) `, backgroundImage: `url(${item.photo}) `,
backgroundSize: 'cover', backgroundSize: 'cover',
}"></span> }"
></span>
<span>{{ item.name }}</span> <span>{{ item.name }}</span>
</div> </div>
</div> </div>
<div class="resultListSearchInput-father" style="background: unset"> <div class="resultListSearchInput-father" style="background: unset">
<div class="resultListSearchInput-son"> <div class="resultListSearchInput-son">
模糊搜索 模糊搜索
<a-input-search v-model:value="searchValue" placeholder="请输入关键词" enter-button="搜索" size="large" <a-input-search
@search="getAppResources" @change="onSearch" class="resultListSearchInput" /> v-model:value="searchValue"
placeholder="请输入关键词"
enter-button="搜索"
size="large"
@search="getAppResources"
@change="onSearch"
class="resultListSearchInput"
/>
<button class="button-reset" @click="chongzhi()">重置</button> <button class="button-reset" @click="chongzhi()">重置</button>
</div> </div>
</div> </div>
<KnowledgeBase :resourceList="resourceList" :resourceTotal="resourceTotal"></KnowledgeBase> <KnowledgeBase
:resourceList="resourceList"
:resourceTotal="resourceTotal"
></KnowledgeBase>
</div> </div>
<!--<div class="talk-monitor" @click="openMonitor"> <!--<div class="talk-monitor" @click="openMonitor">
<a-tooltip> <a-tooltip>
@ -399,23 +656,12 @@
<script> <script>
import HomeFooter from '@/views/newHome/components/Footer' import HomeFooter from '@/views/newHome/components/Footer'
import mybus from '@/myplugins/mybus' import mybus from '@/myplugins/mybus'
import { import { defineComponent, reactive, ref, toRefs, onMounted, watch } from 'vue'
defineComponent, import { UpOutlined, DownOutlined } from '@ant-design/icons-vue'
reactive,
ref,
toRefs,
onMounted,
watch,
} from 'vue'
import {
UpOutlined,
DownOutlined,
} from '@ant-design/icons-vue'
import { import {
selectDicStoreAll, selectDicStoreAll,
pageWithAttrs, pageWithAttrs,
getDataResource, getDataResource,
getIntegrationServicesList,
} from '@/api/home.js' } from '@/api/home.js'
import { getSgcList } from '@/api/personalCenter' import { getSgcList } from '@/api/personalCenter'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
@ -428,8 +674,12 @@ import DetailsPageResource from '@/views/home/components/DetailsPageResource.vue
// //
import infrastructurePage from '@/views/home/infrastructurePage.vue' import infrastructurePage from '@/views/home/infrastructurePage.vue'
import detailsPageInfrastructureTree from '@/views/home/detailsPageInfrastructureTree.vue' import detailsPageInfrastructureTree from '@/views/home/detailsPageInfrastructureTree.vue'
import { message } from 'ant-design-vue' // import { message } from 'ant-design-vue'
import { titleNameArray, keyongziyuanqingkaungArray, shujuziyuanqingkuangArray } from './constantData/showData.js' import {
titleNameArray,
keyongziyuanqingkaungArray,
shujuziyuanqingkuangArray,
} from './constantData/showData.js'
export default defineComponent({ export default defineComponent({
setup() { setup() {
@ -738,8 +988,7 @@ export default defineComponent({
loading.value = false loading.value = false
} }
}) })
} } else if (paramsGetResources.type !== '数据资源') {
else if (paramsGetResources.type !== '数据资源') {
if (switchIndex != '分页查询') { if (switchIndex != '分页查询') {
paramsGetResources.pageNum = 1 paramsGetResources.pageNum = 1
} }
@ -833,7 +1082,7 @@ export default defineComponent({
} }
onMounted(() => { onMounted(() => {
listKey2.value++; listKey2.value++
// //
getNewList() getNewList()
@ -1083,7 +1332,8 @@ export default defineComponent({
display: flex; display: flex;
align-items: center; align-items: center;
.tupian {} .tupian {
}
.title { .title {
margin-left: 0.1rem; margin-left: 0.1rem;
@ -1127,7 +1377,8 @@ export default defineComponent({
display: flex; display: flex;
align-items: center; align-items: center;
.tupian {} .tupian {
}
.title { .title {
margin-left: 0.1rem; margin-left: 0.1rem;
@ -1185,7 +1436,8 @@ export default defineComponent({
align-items: center; align-items: center;
margin-left: 0.2rem; margin-left: 0.2rem;
.tupian {} .tupian {
}
.title { .title {
margin-left: 0.1rem; margin-left: 0.1rem;

View File

@ -2,11 +2,17 @@
<div> <div>
<div v-if="groupArray.length > 0"> <div v-if="groupArray.length > 0">
<div class="group-box" v-for="(data, i) in groupArray" :key="i"> <div class="group-box" v-for="(data, i) in groupArray" :key="i">
<div class="flex-row-start row-tr" v-for="(item, j) in Object.keys(data)" :key="j" <div
:class="j == Object.keys(data).length - 1 ? 'border-bottom' : ''"> class="flex-row-start row-tr"
v-for="(item, j) in Object.keys(data)"
:key="j"
:class="j == Object.keys(data).length - 1 ? 'border-bottom' : ''"
>
<div class="td-name">{{ item }}</div> <div class="td-name">{{ item }}</div>
<div class="flex-row-start"> <div class="flex-row-start">
<div class="td" v-for="(d, k) in data[item]" :key="k">{{ d || '--' }}</div> <div class="td" v-for="(d, k) in data[item]" :key="k">
{{ d || '--' }}
</div>
</div> </div>
</div> </div>
</div> </div>
@ -14,13 +20,12 @@
{{ '哈啊哈哈哈哈' + groupArray.length }} {{ '哈啊哈哈哈哈' + groupArray.length }}
<div v-if="groupArray.length == 0" class="no-data">暂无数据</div> <div v-if="groupArray.length == 0" class="no-data">暂无数据</div>
</div> </div>
</template> </template>
<script> <script>
import { defineComponent, ref, onMounted, getCurrentInstance, computed, watch, nextTick } from 'vue' import { ref, watch, nextTick } from 'vue'
export default { export default {
props: ["dataList"], props: ['dataList'],
setup(props) { setup(props) {
let groupArray = ref([]) let groupArray = ref([])
watch( watch(
@ -28,26 +33,26 @@ export default {
return props.dataList return props.dataList
}, },
(newVal) => { (newVal) => {
console.log('newVal------------>', newVal); console.log('newVal------------>', newVal)
groupArray = ref([]) groupArray = ref([])
newVal.map(v => { newVal.map((v) => {
groupArray.value.push(v) groupArray.value.push(v)
}) })
groupArray.value = groupArray.value.splice(0) groupArray.value = groupArray.value.splice(0)
nextTick(() => { nextTick(() => {
console.log('groupArray---子组件--------->', groupArray.value); console.log('groupArray---子组件--------->', groupArray.value)
}) })
}, },
{ {
deep: true, deep: true,
immediate: true immediate: true,
} }
) )
return { return {
groupArray, groupArray,
} }
} },
} }
</script> </script>
@ -89,7 +94,6 @@ nextTick(() => {
border-right: none; border-right: none;
} }
.row-tr { .row-tr {
border: 1px solid #dddee1; border: 1px solid #dddee1;
border-right: none; border-right: none;

View File

@ -6,21 +6,44 @@
<div class="resultListSearchInput-father"> <div class="resultListSearchInput-father">
<div class="resultListSearchInput-son"> <div class="resultListSearchInput-son">
模糊搜索 模糊搜索
<a-input-search v-model:value="searchValue" placeholder="请输入关键词" enter-button="搜索" size="large" <a-input-search
@search="getAppResources" @change="onSearch" class="resultListSearchInput" /> v-model:value="searchValue"
placeholder="请输入关键词"
enter-button="搜索"
size="large"
@search="getAppResources"
@change="onSearch"
class="resultListSearchInput"
/>
<button class="button-reset" @click="chongzhi()">重置</button> <button class="button-reset" @click="chongzhi()">重置</button>
<div class="hengxian"></div> <div class="hengxian"></div>
</div> </div>
</div> </div>
<searchResultList v-show="resourceList.data && resourceList.data.length > 0" :key="listKey2" <searchResultList
:resourceList="resourceList" :resourceTotal="resourceTotal" selectCardsname="融合服务" /> v-show="resourceList.data && resourceList.data.length > 0"
:key="listKey2"
:resourceList="resourceList"
:resourceTotal="resourceTotal"
selectCardsname="融合服务"
/>
<div class="pagination"> <div class="pagination">
<a-pagination v-if="resourceList.data && resourceList.data.length > 0" v-model:current="currentPage" <a-pagination
v-model:pageSize="currentPageSize" show-size-changer show-less-items show-quick-jumper v-if="resourceList.data && resourceList.data.length > 0"
:total="resourceTotal" :page-size-options="pageSizeOptions" @change="pageChange" v-model:current="currentPage"
@showSizeChange="onShowSizeChange" /> v-model:pageSize="currentPageSize"
show-size-changer
show-less-items
show-quick-jumper
:total="resourceTotal"
:page-size-options="pageSizeOptions"
@change="pageChange"
@showSizeChange="onShowSizeChange"
/>
</div> </div>
<div v-if="resourceList.data && resourceList.data.length <= 0" style="margin-top: 2rem"> <div
v-if="resourceList.data && resourceList.data.length <= 0"
style="margin-top: 2rem"
>
<a-empty /> <a-empty />
</div> </div>
</div> </div>
@ -30,18 +53,9 @@
<script> <script>
import HomeFooter from '@/views/newHome/components/Footer' import HomeFooter from '@/views/newHome/components/Footer'
import mybus from '@/myplugins/mybus' import mybus from '@/myplugins/mybus'
import { import { defineComponent, reactive, ref, onMounted, watch } from 'vue'
defineComponent,
reactive,
ref,
toRefs,
onMounted,
watch,
} from 'vue'
import { import { getIntegrationServicesList } from '@/api/home.js'
getIntegrationServicesList,
} from '@/api/home.js'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import HomeHeader from '@/views/home/components/header' import HomeHeader from '@/views/home/components/header'
import searchResultList from '@/views/home/components/searchResultList.vue' import searchResultList from '@/views/home/components/searchResultList.vue'
@ -95,12 +109,11 @@ export default defineComponent({
paramsGetResources.orderField = 'create_date' paramsGetResources.orderField = 'create_date'
paramsGetResources.orderType = 'DESC' paramsGetResources.orderType = 'DESC'
mybus.emit('chongzhi', { mybus.emit('chongzhi', {
type: '融合服务' type: '融合服务',
}) })
getAppResources() getAppResources()
} }
const getAppResources = () => { const getAppResources = () => {
getIntegrationList() getIntegrationList()
} }
@ -112,17 +125,20 @@ export default defineComponent({
page: currentPage.value, page: currentPage.value,
orderField: paramsGetResources.orderField, orderField: paramsGetResources.orderField,
orderType: paramsGetResources.orderType, orderType: paramsGetResources.orderType,
name: searchValue.value name: searchValue.value,
} }
getIntegrationServicesList(postData).then(res => { getIntegrationServicesList(postData).then(
(res) => {
if (res.data.code !== 0) { if (res.data.code !== 0) {
return message.error(res.data.msg) return message.error(res.data.msg)
} }
resourceList.data = res.data.data.list || [] resourceList.data = res.data.data.list || []
resourceTotal.value = res.data.data.total || 0 resourceTotal.value = res.data.data.total || 0
}, err => { },
(err) => {
message.error(err) message.error(err)
}) }
)
} }
mybus.on('paramsGetResources', (ids) => { mybus.on('paramsGetResources', (ids) => {
@ -163,7 +179,7 @@ export default defineComponent({
} }
onMounted(() => { onMounted(() => {
listKey2.value++; listKey2.value++
getAppResources() getAppResources()
}) })
@ -195,6 +211,7 @@ export default defineComponent({
pageSizeOptions, pageSizeOptions,
current, current,
loading, loading,
onShowSizeChange,
} }
}, },
components: { components: {

View File

@ -2,13 +2,20 @@
<template> <template>
<div class="IntegrationServicesDetails" :class="{ fixed2: scrollTop >= 600 }"> <div class="IntegrationServicesDetails" :class="{ fixed2: scrollTop >= 600 }">
<!-- 头部基本信息 --> <!-- 头部基本信息 -->
<application-top-details :dataList="detailInfoObj" :navList="navList"></application-top-details> <application-top-details
:dataList="detailInfoObj"
:navList="navList"
></application-top-details>
<!-- 导航 --> <!-- 导航 -->
<div :class="{ fixed: scrollTop >= 600 }"> <div :class="{ fixed: scrollTop >= 600 }">
<div class="application-navigation"> <div class="application-navigation">
<template v-for="nav in navList" :key="nav.key"> <template v-for="nav in navList" :key="nav.key">
<div class="nav" :class="{ selectNow: nav.key == selectNow }" @click="selectNav(nav.key)"> <div
class="nav"
:class="{ selectNow: nav.key == selectNow }"
@click="selectNav(nav.key)"
>
{{ nav.name }} {{ nav.name }}
<span class="line"></span> <span class="line"></span>
</div> </div>
@ -17,7 +24,10 @@
</div> </div>
<!-- 组合能力 --> <!-- 组合能力 -->
<div id="integration-combination-ability" class="combination-ability scrollBox"> <div
id="integration-combination-ability"
class="combination-ability scrollBox"
>
<div class="title-1"> <div class="title-1">
<DetalsTitle title="组合能力" type="COMBINATION ABILITY"></DetalsTitle> <DetalsTitle title="组合能力" type="COMBINATION ABILITY"></DetalsTitle>
</div> </div>
@ -50,9 +60,17 @@
</div> </div>
</div> </div>
<div class="content-card flex-row-start"> <div class="content-card flex-row-start">
<div class="right-item content-card-item" v-for="(use, i) in useWayShowList" :key="i"> <div
class="right-item content-card-item"
v-for="(use, i) in useWayShowList"
:key="i"
>
<div class="card-title title">{{ use.title }}</div> <div class="card-title title">{{ use.title }}</div>
<div class="card-text" v-for="(d, k) in Object.keys(use.info)" :key="k"> <div
class="card-text"
v-for="(d, k) in Object.keys(use.info)"
:key="k"
>
{{ use.info[d] }}:{{ detailInfoObj[d] || '--' }} {{ use.info[d] }}:{{ detailInfoObj[d] || '--' }}
</div> </div>
</div> </div>
@ -61,8 +79,11 @@
</div> </div>
<!-- 常见问题--> <!-- 常见问题-->
<application-common-problem :dataList="detailInfoObj" id="common-problem" class="scrollBox"> <application-common-problem
</application-common-problem> :dataList="detailInfoObj"
id="common-problem"
class="scrollBox"
></application-common-problem>
<home-footer></home-footer> <home-footer></home-footer>
</div> </div>
@ -73,11 +94,11 @@ import ApplicationTopDetails from '@/views/detailsAll/components/Application/App
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle' import DetalsTitle from '@/views/detailsAll/components/DetalsTitle'
import ApplicationCommonProblem from '@/views/detailsAll/components/Application/ApplicationCommonProblem' // import ApplicationCommonProblem from '@/views/detailsAll/components/Application/ApplicationCommonProblem' //
import HomeFooter from '@/views/newHome/components/Footer' import HomeFooter from '@/views/newHome/components/Footer'
import { ref, onMounted, onBeforeUnmount, reactive } from 'vue' import { ref, onMounted, onBeforeUnmount } from 'vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { getIntegrationDetail } from '@/api/home' import { getIntegrationDetail } from '@/api/home'
import mybus from '@/myplugins/mybus' import mybus from '@/myplugins/mybus'
import { message } from 'ant-design-vue'
const router = useRouter() const router = useRouter()
const scrollTop = ref(0) const scrollTop = ref(0)
const domArr = ref([]) const domArr = ref([])
@ -87,7 +108,9 @@ document.documentElement.scrollTop = 0
document.body.style.transition = 'all 0.3s ease' document.body.style.transition = 'all 0.3s ease'
document.body.scrollTop = 0 document.body.scrollTop = 0
mybus.on('flyToView', (id) => { mybus.on('flyToView', (id) => {
let top = document.querySelector('#' + id) && document.querySelector('#' + id).offsetTop - 50; let top =
document.querySelector('#' + id) &&
document.querySelector('#' + id).offsetTop - 50
document.documentElement.scrollTop = top document.documentElement.scrollTop = top
document.body.scrollTop = top document.body.scrollTop = top
}) })
@ -129,15 +152,15 @@ const useWayShowList = ref([
const combineList = ref([ const combineList = ref([
{ {
title: '基础设施', title: '基础设施',
list: [] list: [],
}, },
{ {
title: '组件服务', title: '组件服务',
list: [] list: [],
}, },
{ {
title: '数据资源', title: '数据资源',
list: [] list: [],
}, },
]) ])
const detailInfoObj = ref({}) const detailInfoObj = ref({})
@ -175,7 +198,8 @@ const selectNav = (key) => {
// -- // --
const getIntegrationServicesDeatil = (id) => { const getIntegrationServicesDeatil = (id) => {
getIntegrationDetail(id).then(res => { getIntegrationDetail(id).then(
(res) => {
if (res.data.code !== 0) { if (res.data.code !== 0) {
return message.error(res.data.msg) return message.error(res.data.msg)
} }
@ -184,32 +208,42 @@ const getIntegrationServicesDeatil = (id) => {
let fuseAttrList = res.data.data.fuseAttrList || [] let fuseAttrList = res.data.data.fuseAttrList || []
// //
let fuseResourceList = res.data.data.fuseResourceList || [] let fuseResourceList = res.data.data.fuseResourceList || []
let questionValue = fuseAttrList.find(v => v.attrType === '常见问题') || {} let questionValue =
fuseAttrList.find((v) => v.attrType === '常见问题') || {}
let questionObj = { let questionObj = {
attrType: '常见问题', attrType: '常见问题',
attrValue: questionValue.attrValue || "[]" attrValue: questionValue.attrValue || '[]',
} }
let areaObj = { let areaObj = {
attrType: '应用领域', attrType: '应用领域',
attrValue: detailInfoObj.value.applicationArea attrValue: detailInfoObj.value.applicationArea,
} }
combineList.value.map(item => { combineList.value.map((item) => {
let arr = (fuseResourceList.filter(v => v.resource && v.resource.type == item.title) || []).map(d => d.resource.name) let arr = (
item.list = arr; fuseResourceList.filter(
(v) => v.resource && v.resource.type == item.title
) || []
).map((d) => d.resource.name)
item.list = arr
return item return item
}) })
detailInfoObj.value.infoList = [] detailInfoObj.value.infoList = []
detailInfoObj.value.infoList.push(questionObj) detailInfoObj.value.infoList.push(questionObj)
detailInfoObj.value.infoList.push(areaObj) detailInfoObj.value.infoList.push(areaObj)
}, err => { },
(err) => {
message.error(err) message.error(err)
}) }
)
} }
getIntegrationServicesDeatil(id) getIntegrationServicesDeatil(id)
function handleOpenUrl(type) { function handleOpenUrl(type) {
let obj = (detailInfoObj.value.fuseAttrList || []).find(v => v.attrType == type) || {}; let obj =
let url = obj.attrValue || ''; (detailInfoObj.value.fuseAttrList || []).find(
(v) => v.attrType == type
) || {}
let url = obj.attrValue || ''
if (!obj.attrValue) { if (!obj.attrValue) {
return message.error('错误的文档链接地址!') return message.error('错误的文档链接地址!')
} }
@ -247,7 +281,6 @@ onBeforeUnmount(() => {
justify-content: center; justify-content: center;
} }
.IntegrationServicesDetails { .IntegrationServicesDetails {
.fixed { .fixed {
position: fixed !important; position: fixed !important;
@ -306,8 +339,6 @@ onBeforeUnmount(() => {
margin-bottom: 0.3rem; margin-bottom: 0.3rem;
} }
.left { .left {
.btn { .btn {
padding: 10px 20px; padding: 10px 20px;
@ -341,9 +372,11 @@ onBeforeUnmount(() => {
height: 1.5rem; height: 1.5rem;
width: 6.2rem; width: 6.2rem;
border-radius: 0.2rem; border-radius: 0.2rem;
background: linear-gradient(to right, background: linear-gradient(
to right,
rgba(113, 132, 252, 0.4), rgba(113, 132, 252, 0.4),
rgba(148, 163, 252, 0.4)); rgba(148, 163, 252, 0.4)
);
padding: 0 0.3rem; padding: 0 0.3rem;
display: flex; display: flex;
justify-content: center; justify-content: center;
@ -411,10 +444,9 @@ onBeforeUnmount(() => {
color: #212121; color: #212121;
text-align: center; text-align: center;
padding: 0.2rem 0; padding: 0.2rem 0;
font-size: .22rem; font-size: 0.22rem;
text-align: center; text-align: center;
} }
} }
.name-box { .name-box {
@ -445,6 +477,5 @@ onBeforeUnmount(() => {
width: 50%; width: 50%;
box-sizing: border-box; box-sizing: border-box;
} }
} }
</style> </style>

View File

@ -56,7 +56,7 @@
clickData: { clickData: {
type: Object, type: Object,
default: () => { default: () => {
title: '' ''
}, },
}, },
}) })

View File

@ -4,21 +4,40 @@
<div id="container" class="content-menu"> <div id="container" class="content-menu">
<div class="rela"> <div class="rela">
<div class="left"> <div class="left">
<div class="first-title-text" v-for="(data, i) in titleList" :key="i" @click="changeName(data)" <div
:style="{ color: data.name === titleData.name ? '#0058e1' : '' }"> class="first-title-text"
v-for="(data, i) in titleList"
:key="i"
@click="changeName(data)"
:style="{ color: data.name === titleData.name ? '#0058e1' : '' }"
>
<div class="img" :class="data.className"></div> <div class="img" :class="data.className"></div>
{{ data.name }} {{ data.name }}
</div> </div>
<abilityDocTree :dataList="treeArray" @treeClick="treeClick" :clickData="clickData"></abilityDocTree> <abilityDocTree
:dataList="treeArray"
@treeClick="treeClick"
:clickData="clickData"
></abilityDocTree>
</div> </div>
<div class="right"> <div class="right">
<div class="new-menu-box" style="height: 100%" v-if="titleData.name === '新手指引'"> <div
class="new-menu-box"
style="height: 100%"
v-if="titleData.name === '新手指引'"
>
<!-- 新手指引 --> <!-- 新手指引 -->
<a-empty description="新手指引" /> <a-empty description="新手指引" />
</div> </div>
<div v-else style="height: 100%"> <div v-else style="height: 100%">
<iframe name="iframeName" width="1000" height="100%" id="iframeId" :frameborder="0" <iframe
:src="doc_base_url + clickData.doc"></iframe> name="iframeName"
width="1000"
height="100%"
id="iframeId"
:frameborder="0"
:src="doc_base_url + clickData.doc"
></iframe>
</div> </div>
</div> </div>
</div> </div>
@ -28,10 +47,10 @@
<script setup> <script setup>
import HomeHeader from '@/views/home/components/header' import HomeHeader from '@/views/home/components/header'
import abilityDocTree from './components/abilityDocTree' import abilityDocTree from './components/abilityDocTree'
import { ref, reactive, onMounted, nextTick, watch } from 'vue' import { ref, onMounted } from 'vue'
import { Empty, message } from 'ant-design-vue' import { message } from 'ant-design-vue'
import { getDevelopDocTree } from '@/api/home' import { getDevelopDocTree } from '@/api/home'
import flatten from '@turf/flatten' // import flatten from '@turf/flatten'
const titleList = ref([ const titleList = ref([
{ {

View File

@ -100,7 +100,7 @@
query: { query: {
select: type, select: type,
tecHnosphere: '', tecHnosphere: '',
appLiCation: '' appLiCation: '',
}, },
}) })
} }

View File

@ -237,7 +237,7 @@
resourceId: val.resourceId, resourceId: val.resourceId,
createDate: val.createDate, createDate: val.createDate,
updateDate: val.updateDate, updateDate: val.updateDate,
...getObj(val, val.resourceDTO ? 'resourceDTO' : 'fuseDTO') ...getObj(val, val.resourceDTO ? 'resourceDTO' : 'fuseDTO'),
} }
if (checkedList.value.indexOf(val.resourceId) == -1) { if (checkedList.value.indexOf(val.resourceId) == -1) {
checkAll.value = false checkAll.value = false
@ -250,8 +250,8 @@
} }
function getObj(val, typeStr) { function getObj(val, typeStr) {
let typeObj = val[typeStr] || {}; let typeObj = val[typeStr] || {}
console.log('typeObj------------>', typeObj); console.log('typeObj------------>', typeObj)
return { return {
name: typeObj.name, name: typeObj.name,
type: typeObj.type, type: typeObj.type,

View File

@ -9,38 +9,83 @@
<div class="form-container"> <div class="form-container">
<div v-if="applySuccess"> <div v-if="applySuccess">
<div class="title">申请人信息</div> <div class="title">申请人信息</div>
<a-form ref="formRef" :model="formName" name="basic" :label-col="{ style: { width: '106px' } }" <a-form
:wrapper-col="{ style: { width: '230px' } }" labelAlign="left" autocomplete="off"> ref="formRef"
:model="formName"
name="basic"
:label-col="{ style: { width: '106px' } }"
:wrapper-col="{ style: { width: '230px' } }"
labelAlign="left"
autocomplete="off"
>
<div class="base-info"> <div class="base-info">
<a-form-item label="申请人" name="applyUserName" :rules="[{ required: true, message: '请输入申请人' }]"> <a-form-item
<a-input placeholder="请输入申请人" v-model:value="formName.applyUserName" /> label="申请人"
name="applyUserName"
:rules="[{ required: true, message: '请输入申请人' }]"
>
<a-input
placeholder="请输入申请人"
v-model:value="formName.applyUserName"
/>
</a-form-item> </a-form-item>
<a-form-item style="margin: 0 22px" label="申请人电话" name="applyUserPhone" :rules="[ <a-form-item
style="margin: 0 22px"
label="申请人电话"
name="applyUserPhone"
:rules="[
{ {
required: true, required: true,
pattern: /^1[3456789]\d{9}$/, pattern: /^1[3456789]\d{9}$/,
message: '请输入正确的电话号码', message: '请输入正确的电话号码',
}, },
]"> ]"
<a-input placeholder="请输入申请人电话" v-model:value="formName.applyUserPhone" /> >
<a-input
placeholder="请输入申请人电话"
v-model:value="formName.applyUserPhone"
/>
</a-form-item> </a-form-item>
<a-form-item label="申请单位" name="applyUserDeptName" :rules="[{ required: true, message: '请输入申请单位' }]"> <a-form-item
<a-input placeholder="请输入申请单位" v-model:value="formName.applyUserDeptName" /> label="申请单位"
name="applyUserDeptName"
:rules="[{ required: true, message: '请输入申请单位' }]"
>
<a-input
placeholder="请输入申请单位"
v-model:value="formName.applyUserDeptName"
/>
</a-form-item> </a-form-item>
</div> </div>
<div class="title">需求信息</div> <div class="title">需求信息</div>
<a-form-item style="margin-bottom: 10px" label="需求标题" name="demandSubject" <a-form-item
:rules="[{ required: true, message: '请输入需求标题' }]"> style="margin-bottom: 10px"
<a-input style="width: 350px" v-model:value="formName.demandSubject" /> label="需求标题"
name="demandSubject"
:rules="[{ required: true, message: '请输入需求标题' }]"
>
<a-input
style="width: 350px"
v-model:value="formName.demandSubject"
/>
</a-form-item> </a-form-item>
<a-form-item style="margin-bottom: 10px" label="需求类型" name="detailsType" <a-form-item
:rules="[{ required: true, message: '请选择需求类型' }]"> style="margin-bottom: 10px"
<a-select ref="select" v-model:value="formName.detailsType" @focus="focus" style="width: 200px"> label="需求类型"
name="detailsType"
:rules="[{ required: true, message: '请选择需求类型' }]"
>
<a-select
ref="select"
v-model:value="formName.detailsType"
@focus="focus"
style="width: 200px"
>
<a-select-option value="基础设施">基础设施</a-select-option> <a-select-option value="基础设施">基础设施</a-select-option>
<a-select-option value="数据资源">数据资源</a-select-option> <a-select-option value="数据资源">数据资源</a-select-option>
<a-select-option value="组件服务">组件服务</a-select-option> <a-select-option value="组件服务">组件服务</a-select-option>
@ -49,14 +94,26 @@
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-form-item label="应用领域" name="detailsField" style="width: 350px" <a-form-item
:rules="[{ required: true, message: '请输入应用领域' }]"> label="应用领域"
<a-input placeholder="请输入应用领域" v-model:value="formName.detailsField" /> name="detailsField"
style="width: 350px"
:rules="[{ required: true, message: '请输入应用领域' }]"
>
<a-input
placeholder="请输入应用领域"
v-model:value="formName.detailsField"
/>
</a-form-item> </a-form-item>
<a-form-item style="margin-bottom: 10px" label="需求描述" name="demandDetails" <a-form-item
:rules="[{ required: true, message: '请输入需求描述' }]"> style="margin-bottom: 10px"
<a-textarea style=" label="需求描述"
name="demandDetails"
:rules="[{ required: true, message: '请输入需求描述' }]"
>
<a-textarea
style="
width: 500px; width: 500px;
height: 150px; height: 150px;
font-size: 16px; font-size: 16px;
@ -66,12 +123,24 @@
border-radius: 6px; border-radius: 6px;
padding: 10px; padding: 10px;
resize: none; resize: none;
" v-model:value="formName.demandDetails" /> "
v-model:value="formName.demandDetails"
/>
</a-form-item> </a-form-item>
<a-form-item style="color: #666; font-size: 16px" label="附件上传" name="applyDoc"> <a-form-item
<a-upload v-model:file-list="fileList" name="file" :action="upLoadUrl" :headers="headers" style="color: #666; font-size: 16px"
@change="handleChange"> label="附件上传"
<a-button style=" name="applyDoc"
>
<a-upload
v-model:file-list="fileList"
name="file"
:action="upLoadUrl"
:headers="headers"
@change="handleChange"
>
<a-button
style="
width: 100px; width: 100px;
height: 30px; height: 30px;
margin-right: 10px; margin-right: 10px;
@ -82,7 +151,8 @@
border: 1px solid #bbd3ef; border: 1px solid #bbd3ef;
padding: 0; padding: 0;
text-align: center; text-align: center;
"> "
>
<upload-outlined></upload-outlined> <upload-outlined></upload-outlined>
文件上传 文件上传
</a-button> </a-button>
@ -93,7 +163,8 @@
</a-form-item> </a-form-item>
<a-form-item :wrapper-col="{ offset: 8, span: 16 }"> <a-form-item :wrapper-col="{ offset: 8, span: 16 }">
<a-button style=" <a-button
style="
width: 80px; width: 80px;
height: 38px; height: 38px;
margin-right: 20px; margin-right: 20px;
@ -104,10 +175,15 @@
border: none; border: none;
padding: 0; padding: 0;
text-align: center; text-align: center;
" type="primary" html-type="cancle" @click="signOut"> "
type="primary"
html-type="cancle"
@click="signOut"
>
退出申请 退出申请
</a-button> </a-button>
<a-button style=" <a-button
style="
width: 80px; width: 80px;
height: 38px; height: 38px;
background: #0087ff; background: #0087ff;
@ -117,7 +193,11 @@
border: none; border: none;
padding: 0; padding: 0;
text-align: center; text-align: center;
" type="primary" html-type="submit" @click="processStartHandle()"> "
type="primary"
html-type="submit"
@click="processStartHandle()"
>
提交申请 提交申请
</a-button> </a-button>
</a-form-item> </a-form-item>