eslint问题修复
This commit is contained in:
parent
09518566c7
commit
6c10a4bb29
|
@ -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',
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
|
@ -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",
|
||||||
|
|
|
@ -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',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -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,
|
||||||
})
|
})
|
||||||
}
|
}
|
|
@ -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名称
|
||||||
|
|
|
@ -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'] ===
|
||||||
|
|
|
@ -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')
|
||||||
})
|
})
|
||||||
|
|
|
@ -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>
|
||||||
发布时间
|
发布时间
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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')
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -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>
|
||||||
|
|
||||||
|
|
|
@ -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">
|
||||||
|
|
|
@ -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%">
|
||||||
|
|
|
@ -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 === '应用领域'
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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: {
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -56,7 +56,7 @@
|
||||||
clickData: {
|
clickData: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => {
|
default: () => {
|
||||||
title: ''
|
''
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
|
@ -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([
|
||||||
{
|
{
|
||||||
|
|
|
@ -100,7 +100,7 @@
|
||||||
query: {
|
query: {
|
||||||
select: type,
|
select: type,
|
||||||
tecHnosphere: '',
|
tecHnosphere: '',
|
||||||
appLiCation: ''
|
appLiCation: '',
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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>
|
||||||
|
|
Loading…
Reference in New Issue