Merge branch 'hi-ucs-dev' of http://15.2.21.221:3000/wuhongjian/hi-ucs into hi-ucs-dev

This commit is contained in:
gaoyuanwei 2022-07-25 09:52:41 +08:00
commit 4ee80c7529
42 changed files with 1140 additions and 1015 deletions

View File

@ -27,7 +27,7 @@
'isTab': true, // 是否通过tab展示内容? 'isTab': true, // 是否通过tab展示内容?
'iframeURL': '' // 是否通过iframe嵌套展示内容? (以http[s]://开头, 自动匹配) 'iframeURL': '' // 是否通过iframe嵌套展示内容? (以http[s]://开头, 自动匹配)
}; };
window.SITE_CONFIG['frontUrl'] = 'http://15.2.21.238:9796/#/vueTemplateDemo'; window.SITE_CONFIG['frontUrl'] = 'http://15.2.21.243:9796/#/vueTemplateDemo';
// window.SITE_CONFIG['frontUrl'] = 'http://124.222.94.39:9796/#/vueTemplateDemo'; // window.SITE_CONFIG['frontUrl'] = 'http://124.222.94.39:9796/#/vueTemplateDemo';
// window.SITE_CONFIG['frontUrl'] = 'http://15.72.183.90:7008/#/vueTemplateDemo'; // window.SITE_CONFIG['frontUrl'] = 'http://15.72.183.90:7008/#/vueTemplateDemo';
// window.SITE_CONFIG['frontUrl'] = 'http://10.134.135.9:9797/#/vueTemplateDemo'; // window.SITE_CONFIG['frontUrl'] = 'http://10.134.135.9:9797/#/vueTemplateDemo';
@ -72,9 +72,9 @@
<script> <script>
// window.SITE_CONFIG['apiURL'] = 'http://124.222.94.39:8888/renren-admin'; // window.SITE_CONFIG['apiURL'] = 'http://124.222.94.39:8888/renren-admin';
window.SITE_CONFIG['previewUrl'] = 'http://15.2.21.243:9796/';
// window.SITE_CONFIG['apiURL'] = 'http://15.2.21.238:8888/renren-admin'; // window.SITE_CONFIG['apiURL'] = 'http://15.2.21.238:8888/renren-admin';
window.SITE_CONFIG['apiURL'] = 'http://124.222.94.39:8888/renren-admin'; window.SITE_CONFIG['apiURL'] = 'http://15.2.21.243:8888/renren-admin';
// window.SITE_CONFIG['apiURL'] = 'http://15.72.183.90:8000/renren-admin'; // window.SITE_CONFIG['apiURL'] = 'http://15.72.183.90:8000/renren-admin';
// window.SITE_CONFIG['apiURL'] = 'http://10.134.135.9:8888/renren-admin'; // window.SITE_CONFIG['apiURL'] = 'http://10.134.135.9:8888/renren-admin';
// WebSocket地址 // WebSocket地址

View File

@ -98,7 +98,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="agreeOr" v-if="this.dataForm.taskId"> <div class="agreeOr" v-if="taskId">
<div> <div>
<!-- <el-radio-group v-model="agreeOrList" style="width:230px;"> <!-- <el-radio-group v-model="agreeOrList" style="width:230px;">
<el-radio-button label="同意" class="blueAll" @click="showDialog('同意')">同意</el-radio-button> <el-radio-button label="同意" class="blueAll" @click="showDialog('同意')">同意</el-radio-button>
@ -136,6 +136,7 @@
<script> <script>
// //
import bus from '@/views/bus.js'
import processModule from '@/mixins/process-module' import processModule from '@/mixins/process-module'
import RenProcessDetail from '@/components/ren-process-detail/src/ren-process-detail' import RenProcessDetail from '@/components/ren-process-detail/src/ren-process-detail'
import debounce from 'lodash/debounce' import debounce from 'lodash/debounce'
@ -154,6 +155,7 @@ export default {
dataForm: [], dataForm: [],
deptName: '', deptName: '',
dataList: {}, dataList: {},
taskId: '',
datalistrighttablelist: [ datalistrighttablelist: [
'赋能应用名称', '赋能应用名称',
'应用归属部门', '应用归属部门',
@ -242,6 +244,7 @@ export default {
} }
return return
} }
bus.$emit('AbilityResourcesRemovedInit')
this.$message({ this.$message({
message: this.$t('prompt.success'), message: this.$t('prompt.success'),
type: 'success', type: 'success',
@ -271,6 +274,7 @@ export default {
} }
return return
} }
bus.$emit('AbilityResourcesRemovedInit')
this.$message({ this.$message({
message: this.$t('prompt.success'), message: this.$t('prompt.success'),
type: 'success', type: 'success',
@ -324,6 +328,7 @@ export default {
taskHandleErrorCallback (data) {} taskHandleErrorCallback (data) {}
}, },
created () { created () {
this.taskId = this.$route.params.taskId
this.dataForm.taskId = this.$route.params.taskId this.dataForm.taskId = this.$route.params.taskId
this.init() this.init()
}, },

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-27 11:27:22 * @Date: 2022-06-27 11:27:22
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-06-29 16:31:26 * @LastEditTime: 2022-07-25 09:45:35
* @Description: "能力资源上架" * @Description: "能力资源上架"
--> -->
<template> <template>
@ -128,6 +128,7 @@
</template> </template>
<script> <script>
import bus from '@/views/bus.js'
import mixinViewModule from '@/mixins/view-module' import mixinViewModule from '@/mixins/view-module'
import processModule from '@/mixins/process-module' import processModule from '@/mixins/process-module'
export default { export default {
@ -165,6 +166,12 @@ export default {
} }
this.getProcDefRouteSet(row, this.forwardTaskDetail) this.getProcDefRouteSet(row, this.forwardTaskDetail)
} }
},
created () {
bus.$off('abilityResourceShelfInit')
bus.$on('abilityResourceShelfInit', () => {
this.getDataList()
})
} }
} }
</script> </script>

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-27 11:27:22 * @Date: 2022-06-27 11:27:22
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-06-29 16:31:26 * @LastEditTime: 2022-07-25 09:48:46
* @Description: "能力资源下架" * @Description: "能力资源下架"
--> -->
<template> <template>
@ -128,6 +128,7 @@
</template> </template>
<script> <script>
import bus from '@/views/bus.js'
import mixinViewModule from '@/mixins/view-module' import mixinViewModule from '@/mixins/view-module'
import processModule from '@/mixins/process-module' import processModule from '@/mixins/process-module'
export default { export default {
@ -165,6 +166,12 @@ export default {
} }
this.getProcDefRouteSet(row, this.forwardTaskDetail) this.getProcDefRouteSet(row, this.forwardTaskDetail)
} }
},
created () {
bus.$off('AbilityResourcesRemovedInit')
bus.$on('AbilityResourcesRemovedInit', () => {
this.getDataList()
})
} }
} }
</script> </script>

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-27 11:27:22 * @Date: 2022-06-27 11:27:22
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-06-29 16:31:26 * @LastEditTime: 2022-07-25 09:39:01
* @Description: 能力申请 * @Description: 能力申请
--> -->
<template> <template>
@ -118,6 +118,7 @@
</template> </template>
<script> <script>
import bus from '@/views/bus.js'
import mixinViewModule from '@/mixins/view-module' import mixinViewModule from '@/mixins/view-module'
import processModule from '@/mixins/process-module' import processModule from '@/mixins/process-module'
export default { export default {
@ -155,6 +156,12 @@ export default {
} }
this.getProcDefRouteSet(row, this.forwardTaskDetail) this.getProcDefRouteSet(row, this.forwardTaskDetail)
} }
},
created () {
bus.$off('competencyApplicationInit')
bus.$on('competencyApplicationInit', () => {
this.getDataList()
})
} }
} }
</script> </script>

View File

@ -83,6 +83,7 @@
</template> </template>
<script> <script>
import bus from '@/views/bus.js'
import ResourcesAndServices from './ResourcesAndServices.vue' import ResourcesAndServices from './ResourcesAndServices.vue'
import debounce from 'lodash/debounce' import debounce from 'lodash/debounce'
import qs from 'qs' import qs from 'qs'
@ -214,6 +215,7 @@ export default {
} }
return return
} }
bus.$emit('abilityResourceShelfInit')
this.$message({ this.$message({
message: this.$t('prompt.success'), message: this.$t('prompt.success'),
type: 'success', type: 'success',
@ -244,6 +246,7 @@ export default {
} }
return return
} }
bus.$emit('abilityResourceShelfInit')
this.$message({ this.$message({
message: this.$t('prompt.success'), message: this.$t('prompt.success'),
type: 'success', type: 'success',

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-29 15:59:51 * @Date: 2022-06-29 15:59:51
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-07-21 16:41:09 * @LastEditTime: 2022-07-25 09:42:46
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
--> -->
<!-- 流程业务表单 --> <!-- 流程业务表单 -->
@ -29,16 +29,18 @@
{{ dataForm.content.title || '--' }}</span {{ dataForm.content.title || '--' }}</span
></span ></span
> >
<span class="text" <span class="text" v-if="dataForm.content.applicationSystem"
>应用系统<span>{{ >应用系统<span>{{
dataForm.content.applicationSystem || '--' dataForm.content.applicationSystem || '--'
}}</span></span }}</span></span
> >
<span class="text" <span class="text" ></span>
</p>
<p>
<span v-if="dataForm.content.applicationSceneStr"
>应用场景<span> >应用场景<span>
{{ dataForm.content.applicationSceneStr || '--' }}</span {{ dataForm.content.applicationSceneStr || '--' }}</span
></span ></span>
>
</p> </p>
<p> <p>
<span> <span>
@ -131,6 +133,7 @@ import processModule from '@/mixins/process-module'
import debounce from 'lodash/debounce' import debounce from 'lodash/debounce'
import qs from 'qs' import qs from 'qs'
import RenProcessDetail from '@/components/ren-process-detail/src/ren-process-detail' import RenProcessDetail from '@/components/ren-process-detail/src/ren-process-detail'
import bus from '@/views/bus.js'
export default { export default {
// //
mixins: [processModule], mixins: [processModule],
@ -386,6 +389,7 @@ export default {
} }
return return
} }
bus.$emit('competencyApplicationInit')
this.$message({ this.$message({
message: this.$t('prompt.success'), message: this.$t('prompt.success'),
type: 'success', type: 'success',
@ -415,6 +419,7 @@ export default {
} }
return return
} }
bus.$emit('competencyApplicationInit')
this.$message({ this.$message({
message: this.$t('prompt.success'), message: this.$t('prompt.success'),
type: 'success', type: 'success',

View File

@ -15,21 +15,19 @@
<div v-for="(item, i) in dataInfo.list" :key="i"> <div v-for="(item, i) in dataInfo.list" :key="i">
<!-- 待办 --> <!-- 待办 -->
<el-tooltip effect="dark" v-if="dataInfo.type === 'todo'" <el-tooltip effect="dark" v-if="dataInfo.type === 'todo'"
:content="(item.userName || '--')+'提交的'+(item.processDefinitionName|| '--')+(item.processDefinitionName!=='能力申请'?'申请':'')" :content="(item.userName || '--')+'提交的'+(item.processDefinitionName|| '--')+(item.processDefinitionName!=='能力申请'&&item.processDefinitionName!=='能力需求申请'?'申请':'')"
placement="top"> placement="top">
<div class="list-item ellipsis"> <div class="list-item ellipsis">
<!-- {{ `${(item.processDefinitionName || '--')}${item.taskName ? ('—' + item.taskName) : ''}` }} --> <!-- {{ `${(item.processDefinitionName || '--')}${item.taskName ? ('—' + item.taskName) : ''}` }} -->
{{(item.userName || '--')+'提交的'+(item.processDefinitionName|| '--')+(item.processDefinitionName!=='能力申请'?'申请':'')}} {{(item.userName || '--')+'提交的'+(item.processDefinitionName|| '--')+(item.processDefinitionName!=='能力申请'&&item.processDefinitionName!=='能力需求申请'?'申请':'')}}
</div> </div>
</el-tooltip> </el-tooltip>
<!-- 已办 --> <!-- 已办 -->
<el-tooltip effect="dark" v-else <el-tooltip effect="dark" v-else
:content="`${(item.processDefinitionName || '--')}${item.resourceName ? ('—' + item.resourceName) : ''}`" :content="(item.startUserName||'--')+'提交的'+(item.processDefinitionName|| '--')+(item.processDefinitionName!=='能力申请'&&item.processDefinitionName!=='能力需求申请'?'申请':'')"
placement="top"> placement="top">
<div class="list-item ellipsis"> <div class="list-item ellipsis">
{{ `${(item.processDefinitionName || '--')}${item.resourceName ? ('—' + item.resourceName) : {{ (item.startUserName||'--')+'提交的'+(item.processDefinitionName|| '--')+(item.processDefinitionName!=='能力申请'&&item.processDefinitionName!=='能力需求申请'?'申请':'')}}
''}`
}}
</div> </div>
</el-tooltip> </el-tooltip>
</div> </div>

View File

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

View File

@ -5,7 +5,9 @@
"scripts": { "scripts": {
"serve": "vue-cli-service serve", "serve": "vue-cli-service serve",
"build": "vue-cli-service build", "build": "vue-cli-service build",
"lint": "vue-cli-service lint", "lint": "eslint --ext .js --ext .jsx --ext .vue src/",
"lint:fix": "eslint --fix --ext .js,.vue .",
"fix": "eslint src/**/*.* --fix",
"clear": "rimraf node_modules&&npm install --registry=https://registry.npm.taobao.org", "clear": "rimraf node_modules&&npm install --registry=https://registry.npm.taobao.org",
"use:npm": "nrm use npm", "use:npm": "nrm use npm",
"use:taobao": "nrm use taobao", "use:taobao": "nrm use taobao",
@ -48,25 +50,25 @@
}, },
"devDependencies": { "devDependencies": {
"@turf/turf": "^6.5.0", "@turf/turf": "^6.5.0",
"@vue/cli-plugin-babel": "^4.5.9", "@vue/cli-plugin-babel": "^4.5.15",
"@vue/cli-plugin-eslint": "^4.5.9", "@vue/cli-plugin-eslint": "^4.5.15",
"@vue/cli-service": "^4.5.9", "@vue/cli-service": "^4.5.9",
"@vue/compiler-sfc": "^3.1.4", "@vue/compiler-sfc": "^3.1.4",
"@vue/eslint-config-prettier": "^6.0.0", "@vue/eslint-config-prettier": "^7.0.0",
"babel-eslint": "^11.0.0-beta.2", "babel-eslint": "^10.1.0",
"body-parser": "^1.19.0", "body-parser": "^1.20.0",
"chalk": "^4.1.1", "chalk": "^4.1.1",
"chokidar": "^3.5.2", "chokidar": "^3.5.2",
"crypto-js": "^4.1.1", "crypto-js": "^4.1.1",
"eslint": "^7.30.0", "eslint": "^7.32.0",
"eslint-plugin-prettier": "^3.4.0", "eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-vue": "^7.13.0", "eslint-plugin-vue": "^9.1.1",
"filemanager-webpack-plugin": "^6.1.4", "filemanager-webpack-plugin": "^6.1.4",
"less": "^4.1.1", "less": "^4.1.1",
"less-loader": "^7.3.0", "less-loader": "^7.3.0",
"prettier": "^2.3.2", "prettier": "^2.7.1",
"stylelint": "^13.13.1", "stylelint": "^13.13.1",
"stylelint-config-prettier": "^8.0.2", "stylelint-config-prettier": "^9.0.3",
"stylelint-config-recess-order": "^2.4.0", "stylelint-config-recess-order": "^2.4.0",
"stylus": "^0.54.5", "stylus": "^0.54.5",
"stylus-loader": "^3.0.2", "stylus-loader": "^3.0.2",

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2022-03-29 16:45:25 * @Date: 2022-03-29 16:45:25
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-07-21 15:09:22 * @LastEditTime: 2022-07-22 18:42:44
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
--> -->
<!DOCTYPE html> <!DOCTYPE html>
@ -40,9 +40,16 @@
// window.SITE_CONFIG['frontUrl'] = 'http://10.110.205.1:8002/document/#/devModelFile/'; // window.SITE_CONFIG['frontUrl'] = 'http://10.110.205.1:8002/document/#/devModelFile/';
// window.SITE_CONFIG['apiURL'] = 'http://10.110.205.1:8000/renren-admin'; // window.SITE_CONFIG['apiURL'] = 'http://10.110.205.1:8000/renren-admin';
// 测试环境
// window.SITE_CONFIG['backUrl'] = 'http://15.2.21.243:9797';
// window.SITE_CONFIG['previewUrl'] = 'http://15.2.21.243:9796/';
// window.SITE_CONFIG['frontUrl'] = 'http://15.2.21.243:9796/document/#/devModelFile/';
// window.SITE_CONFIG['apiURL'] = 'http://15.2.21.243:8888/renren-admin';
// window.SITE_CONFIG['websocketURL'] = '15.2.21.243:8888/renren-admin';
// window.SITE_CONFIG['POI_URL'] = 'http://15.2.21.238:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address';
// 西海岸版本 // 西海岸版本
// window.SITE_CONFIG['backUrl'] = 'http://10.134.135.9:9797'; // window.SITE_CONFIG['backUrl'] = 'http://10.134.135.9:9797';
// window.SITE_CONFIG['previewUrl'] = 'http://10.134.135.9:9796/';基础设施 // window.SITE_CONFIG['previewUrl'] = 'http://10.134.135.9:9796/';
// window.SITE_CONFIG['frontUrl'] = 'http://10.134.135.9:9796/document/#/devModelFile/'; // window.SITE_CONFIG['frontUrl'] = 'http://10.134.135.9:9796/document/#/devModelFile/';
// window.SITE_CONFIG['apiURL'] = 'http://10.134.135.9:8888/renren-admin'; // window.SITE_CONFIG['apiURL'] = 'http://10.134.135.9:8888/renren-admin';
// 开发 // 开发
@ -52,6 +59,11 @@
window.SITE_CONFIG['apiURL'] = 'http://15.2.21.236:8888/renren-admin'; window.SITE_CONFIG['apiURL'] = 'http://15.2.21.236:8888/renren-admin';
window.SITE_CONFIG['websocketURL'] = '15.2.21.236:8888/renren-admin'; window.SITE_CONFIG['websocketURL'] = '15.2.21.236:8888/renren-admin';
window.SITE_CONFIG['POI_URL'] = 'http://15.2.21.238:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address'; window.SITE_CONFIG['POI_URL'] = 'http://15.2.21.238:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address';
// window.SITE_CONFIG['backUrl'] = 'http://15.2.21.238:9797';
// window.SITE_CONFIG['previewUrl'] = 'http://15.2.21.238:9796/';
// window.SITE_CONFIG['frontUrl'] = 'http://15.2.21.238:9796/document/#/devModelFile/';
// window.SITE_CONFIG['apiURL'] = 'http://15.2.21.239:8888/renren-admin';
// window.SITE_CONFIG['POI_URL'] = 'http://15.2.21.238:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address';
// 穿透版本 // 穿透版本
// window.SITE_CONFIG['backUrl'] = 'http://124.222.94.39:9797'; // window.SITE_CONFIG['backUrl'] = 'http://124.222.94.39:9797';
// window.SITE_CONFIG['previewUrl'] = 'http://124.222.94.39:9796/'; // window.SITE_CONFIG['previewUrl'] = 'http://124.222.94.39:9796/';

View File

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

View File

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

View File

@ -1,8 +1,8 @@
/* /*
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2022-03-29 17:48:03 * @Date: 2022-03-29 17:48:03
* @LastEditors: hisense.wuhongjian * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-07-21 18:39:03 * @LastEditTime: 2022-07-22 16:03:23
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
*/ */
import { createApp } from 'vue' import { createApp } from 'vue'

View File

@ -2,30 +2,30 @@
* @author chuzhixin 1204505056@qq.com * @author chuzhixin 1204505056@qq.com
* @description 登录获取用户信息退出登录清除accessToken逻辑不建议修改 * @description 登录获取用户信息退出登录清除accessToken逻辑不建议修改
*/ */
import { getUserInfo, login, logout } from '@/api/user' import { getUserInfo, login, logout } from '@/api/user'
import { import {
getAccessToken, getAccessToken,
removeAccessToken, removeAccessToken,
setAccessToken, setAccessToken,
} from '@/utils/accessToken' } from '@/utils/accessToken'
import { title, tokenName } from '@/config' import { title, tokenName } from '@/config'
import { message, notification } from 'ant-design-vue' import { message, notification } from 'ant-design-vue'
const state = () => ({ const state = () => ({
accessToken: getAccessToken(), accessToken: getAccessToken(),
username: '', username: '',
userId: '', userId: '',
avatar: '', avatar: '',
role: 0, // role: 0, //
}) })
const getters = { const getters = {
accessToken: (state) => state.accessToken, accessToken: (state) => state.accessToken,
username: (state) => state.username, username: (state) => state.username,
avatar: (state) => state.avatar, avatar: (state) => state.avatar,
role: (state) => state.role, role: (state) => state.role,
userId: (state) => state.userId, userId: (state) => state.userId,
} }
const mutations = { const mutations = {
/** /**
* @author chuzhixin 1204505056@qq.com * @author chuzhixin 1204505056@qq.com
* @description 设置accessToken * @description 设置accessToken
@ -62,8 +62,8 @@
setAvatar(state, avatar) { setAvatar(state, avatar) {
state.avatar = avatar state.avatar = avatar
}, },
} }
const actions = { const actions = {
/** /**
* @author chuzhixin 1204505056@qq.com * @author chuzhixin 1204505056@qq.com
* @description 登录拦截放行时设置虚拟角色 * @description 登录拦截放行时设置虚拟角色
@ -174,10 +174,10 @@
setAccessToken({ commit }, accessToken) { setAccessToken({ commit }, accessToken) {
commit('setAccessToken', accessToken) commit('setAccessToken', accessToken)
}, },
} }
export default { export default {
state, state,
getters, getters,
mutations, mutations,
actions, actions,
} }

View File

@ -35,7 +35,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
} }
} }
@ -70,7 +70,7 @@ instance.interceptors.request.use(
if (debounce.some((item) => config.url.includes(item))) { if (debounce.some((item) => config.url.includes(item))) {
// //
} }
if (!config.headers.REQUESTURI){ if (!config.headers.REQUESTURI) {
config.headers.REQUESTURI = window.location.href config.headers.REQUESTURI = window.location.href
} }

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2022-04-01 17:23:11 * @Date: 2022-04-01 17:23:11
* @LastEditors: hisense.wuhongjian * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-07-18 11:25:28 * @LastEditTime: 2022-07-18 18:45:20
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
*/ */
/** /**

View File

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

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-08 11:32:22 * @Date: 2022-06-08 11:32:22
* @LastEditors: hisense.wuhongjian * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-06-30 17:06:56 * @LastEditTime: 2022-07-18 18:49:30
* @Description: 算法详情页 * @Description: 算法详情页
--> -->
<template> <template>

View File

@ -1,8 +1,8 @@
<!-- <!--
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-08 11:32:22 * @Date: 2022-06-08 11:32:22
* @LastEditors: hisense.wuhongjian * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-07-18 13:55:03 * @LastEditTime: 2022-07-22 18:43:37
* @Description: 应用详情页 * @Description: 应用详情页
--> -->
<template> <template>
@ -87,16 +87,15 @@
import ApplicationTopDetails from '@/views/detailsAll/components/Application/ApplicationTopDetails.vue' import ApplicationTopDetails from '@/views/detailsAll/components/Application/ApplicationTopDetails.vue'
import ApplicationNavigation from '@/views/detailsAll/components/Application/ApplicationNavigation.vue' import ApplicationNavigation from '@/views/detailsAll/components/Application/ApplicationNavigation.vue'
import ApplicationPresentation from '@/views/detailsAll/components/Application/ApplicationPresentation.vue' import ApplicationPresentation from '@/views/detailsAll/components/Application/ApplicationPresentation.vue'
import ApplicationAbilityTrial from '@/views/detailsAll/components/Application/ApplicationAbilityTrial.vue' import ApplicationCommonProblem from '@/views/detailsAll/components/Application/ApplicationCommonProblem.vue'
import ApplicationCommonProblem from '@/views/detailsAll/components/Application/ApplicationCommonProblem' //
import { ref, onMounted, onBeforeUnmount, reactive } from 'vue' import { ref, onMounted, onBeforeUnmount, reactive } from 'vue'
import { useRouter } from 'vue-router'
import { import {
updateVisits, updateVisits,
selectOne, selectOne,
queryPartAppByKeyId, queryPartAppByKeyId,
browsingInsert, browsingInsert,
} from '@/api/home' } from '@/api/home'
import { useRouter } from 'vue-router'
import mybus from '@/myplugins/mybus' import mybus from '@/myplugins/mybus'
const associatedComponents = ref([{ type: '组件服务', dataList: [] }]) const associatedComponents = ref([{ type: '组件服务', dataList: [] }])
let loading = ref(true) let loading = ref(true)

View File

@ -1,8 +1,8 @@
<!-- <!--
* @Author: hisense.gaoyuanwei * @Author: hisense.gaoyuanwei
* @Date: 2022-06-20 10:12:22 * @Date: 2022-06-20 10:12:22
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-06-20 18:58:56 * @LastEditTime: 2022-07-18 18:49:01
* @Description: 业务组件详情页 * @Description: 业务组件详情页
--> -->
<template> <template>

View File

@ -1,8 +1,8 @@
<!-- <!--
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-08 11:32:22 * @Date: 2022-06-08 11:32:22
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-06-20 18:59:01 * @LastEditTime: 2022-07-18 18:48:53
* @Description: 开发组件详情页 * @Description: 开发组件详情页
--> -->
<template> <template>

View File

@ -1,8 +1,8 @@
<!-- <!--
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-08 11:32:22 * @Date: 2022-06-08 11:32:22
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-06-20 18:59:01 * @LastEditTime: 2022-07-18 18:48:32
* @Description: 图层服务详情页 * @Description: 图层服务详情页
--> -->
<template> <template>

View File

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

View File

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

View File

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

View File

@ -60,7 +60,7 @@
password2: '', password2: '',
}) })
if (props.dataList.infoList) { if (props.dataList.infoList) {
let obj = props.dataList.applyState let obj = props.dataList.approveStatus
if (obj !== '通过') { if (obj !== '通过') {
flag.value = false flag.value = false
} else { } else {
@ -110,7 +110,7 @@
() => props.dataList, () => props.dataList,
(val) => { (val) => {
if (val) { if (val) {
let obj = props.dataList.applyState let obj = props.dataList.approveStatus
if (obj !== '通过') { if (obj !== '通过') {
flag.value = false flag.value = false
} else { } else {

View File

@ -16,21 +16,19 @@
</div> </div>
</div> </div>
</div> </div>
<div v-else class="no-data"> <div v-else class="no-data">暂无数据</div>
暂无数据
</div>
</div> </div>
</template> </template>
<script setup> <script setup>
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle' import DetalsTitle from '@/views/detailsAll/components/DetalsTitle'
import { ref, defineProps, watch } from 'vue' import { ref, defineProps, watch } from 'vue'
const flag = ref(true) const flag = ref(true)
let dataFrom = ref([]) let dataFrom = ref([])
const props = defineProps({ const props = defineProps({
dataList: { type: Object, default: null }, dataList: { type: Object, default: null },
}) })
if (props.dataList.infoList) { if (props.dataList.infoList) {
let obj = props.dataList.infoList.filter( let obj = props.dataList.infoList.filter(
(item) => item.attrType === '常见问题' (item) => item.attrType === '常见问题'
)[0] )[0]
@ -46,8 +44,8 @@ if (props.dataList.infoList) {
dataFrom.value.push(params) dataFrom.value.push(params)
}) })
} }
} }
watch( watch(
() => props.dataList, () => props.dataList,
(val) => { (val) => {
if (val) { if (val) {
@ -66,11 +64,11 @@ watch(
} }
} }
} }
) )
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.cpmmon-problem { .cpmmon-problem {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
@ -138,5 +136,5 @@ watch(
padding: 0.5rem 0; padding: 0.5rem 0;
font-size: 0.2rem; font-size: 0.2rem;
} }
} }
</style> </style>

View File

@ -106,7 +106,7 @@
if ( if (
props.dataList.link && props.dataList.link &&
whoShow1.value.itShowQingDao && whoShow1.value.itShowQingDao &&
props.dataList.applyState === '通过' props.dataList.approveStatus === '通过'
) { ) {
list.value.push('应用详情') list.value.push('应用详情')
} }
@ -154,7 +154,7 @@
if ( if (
props.dataList.link && props.dataList.link &&
whoShow1.value.itShowQingDao && whoShow1.value.itShowQingDao &&
props.dataList.applyState === '通过' props.dataList.approveStatus === '通过'
) { ) {
list.value.push('应用详情') list.value.push('应用详情')
} }

View File

@ -1,8 +1,8 @@
<!-- <!--
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-08 15:25:33 * @Date: 2022-06-08 15:25:33
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-07-16 16:58:16 * @LastEditTime: 2022-07-16 17:03:24
* @Description: 应用展示 视频播放 * @Description: 应用展示 视频播放
--> -->
<template> <template>

View File

@ -1,8 +1,8 @@
<!-- <!--
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-08 11:56:28 * @Date: 2022-06-08 11:56:28
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-07-21 16:18:54 * @LastEditTime: 2022-07-21 18:17:30
* @Description: 算法详情页头部 * @Description: 算法详情页头部
--> -->
<template> <template>

View File

@ -1,8 +1,8 @@
<!-- <!--
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-08 14:54:01 * @Date: 2022-06-08 14:54:01
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-06-15 18:24:39 * @LastEditTime: 2022-07-16 16:43:19
* @Description: 应用详情页导航 * @Description: 应用详情页导航
--> -->
<template> <template>

View File

@ -1034,7 +1034,8 @@
loading.value = false loading.value = false
} else { } else {
resourceTotal.value = res.data.data.total || '' resourceTotal.value = res.data.data.total || ''
getShoppingCartList(res.data.data.records) resourceList.data = res.data.data.records || []
// getShoppingCartList(res.data.data.records)
} }
}) })
} }
@ -1111,7 +1112,8 @@
loading.value = false loading.value = false
} else { } else {
resourceTotal.value = res.data.data.total || '' resourceTotal.value = res.data.data.total || ''
getShoppingCartList(res.data.data.records) resourceList.data = res.data.data.records || []
// getShoppingCartList(res.data.data.records)
} }
}) })
} }
@ -1129,12 +1131,12 @@
}).then((res) => { }).then((res) => {
console.log('申购车列表================>', res.data.data.records) console.log('申购车列表================>', res.data.data.records)
shoppingCartList.value = res.data.data.records shoppingCartList.value = res.data.data.records
list.map((item) => { // list.map((item) => {
item.isInShoppingCart = false // item.isInShoppingCart = false
item.isInShoppingCart = shoppingCartList.value.some((item2) => { // item.isInShoppingCart = shoppingCartList.value.some((item2) => {
return item.id === item2.resourceId // return item.id === item2.resourceId
}) // })
}) // })
console.log('经过过滤后的列表信息', list) console.log('经过过滤后的列表信息', list)
resourceList.data = list resourceList.data = list
}) })

View File

@ -2,11 +2,17 @@
<div> <div>
<div v-if="groupArray.length > 0"> <div v-if="groupArray.length > 0">
<div class="group-box" v-for="(data, i) in groupArray" :key="i"> <div class="group-box" v-for="(data, i) in groupArray" :key="i">
<div class="flex-row-start row-tr" v-for="(item, j) in Object.keys(data)" :key="j" <div
:class="j == Object.keys(data).length - 1 ? 'border-bottom' : ''"> class="flex-row-start row-tr"
v-for="(item, j) in Object.keys(data)"
:key="j"
:class="j == Object.keys(data).length - 1 ? 'border-bottom' : ''"
>
<div class="td-name">{{ item }}</div> <div class="td-name">{{ item }}</div>
<div class="flex-row-start"> <div class="flex-row-start">
<div class="td" v-for="(d, k) in data[item]" :key="k">{{ d || '--' }}</div> <div class="td" v-for="(d, k) in data[item]" :key="k">
{{ d || '--' }}
</div>
</div> </div>
</div> </div>
</div> </div>
@ -14,13 +20,12 @@
{{ '哈啊哈哈哈哈' + groupArray.length }} {{ '哈啊哈哈哈哈' + groupArray.length }}
<div v-if="groupArray.length == 0" class="no-data">暂无数据</div> <div v-if="groupArray.length == 0" class="no-data">暂无数据</div>
</div> </div>
</template> </template>
<script> <script>
import { defineComponent, ref, onMounted, getCurrentInstance, computed, watch, nextTick } from 'vue' import { ref, watch, nextTick } from 'vue'
export default { export default {
props: ["dataList"], props: ['dataList'],
setup(props) { setup(props) {
let groupArray = ref([]) let groupArray = ref([])
watch( watch(
@ -28,27 +33,27 @@ 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>
<!-- <script setup> <!-- <script setup>
@ -79,44 +84,43 @@ nextTick(() => {
</script> --> </script> -->
<style lang="less" scoped> <style lang="less" scoped>
.group-box { .group-box {
margin-bottom: 20px; margin-bottom: 20px;
} }
.border { .border {
border: 1px solid #dddee1; border: 1px solid #dddee1;
border-bottom: none; border-bottom: none;
border-right: none; border-right: none;
} }
.row-tr {
.row-tr {
border: 1px solid #dddee1; border: 1px solid #dddee1;
border-right: none; border-right: none;
border-bottom: none; border-bottom: none;
} }
.no-border-right { .no-border-right {
border: 1px solid #dddee1; border: 1px solid #dddee1;
border-right: none; border-right: none;
} }
.flex-row-start { .flex-row-start {
display: flex; display: flex;
justify-content: flex-start; justify-content: flex-start;
align-items: center; align-items: center;
} }
.td-name { .td-name {
border-right: 1px solid #dddee1; border-right: 1px solid #dddee1;
height: 50px; height: 50px;
line-height: 50px; line-height: 50px;
text-align: center; text-align: center;
width: 200px; width: 200px;
font-size: 14px; font-size: 14px;
} }
.td { .td {
border-right: 1px solid #dddee1; border-right: 1px solid #dddee1;
height: 50px; height: 50px;
line-height: 50px; line-height: 50px;
@ -128,18 +132,18 @@ nextTick(() => {
word-wrap: break-all; word-wrap: break-all;
word-break: normal; word-break: normal;
overflow: hidden; overflow: hidden;
} }
.border-bottom { .border-bottom {
border-bottom: 1px solid #dddee1; border-bottom: 1px solid #dddee1;
} }
.no-data { .no-data {
height: 100px; height: 100px;
width: 100%; width: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
border: 1px solid #dddee1; border: 1px solid #dddee1;
} }
</style> </style>

View File

@ -589,7 +589,6 @@
// //
const addShoppingCart = (item, index) => { const addShoppingCart = (item, index) => {
console.log('item===============>', item) console.log('item===============>', item)
mybus.emit('changeSelcted', index)
if (flag.value && item.id) { if (flag.value && item.id) {
flag.value = false flag.value = false
sgcInsert({ sgcInsert({
@ -600,6 +599,7 @@
console.log(res) console.log(res)
message.success('添加申购车成功!') message.success('添加申购车成功!')
mybus.emit('getSgcNum') mybus.emit('getSgcNum')
mybus.emit('changeSelcted', index)
flag.value = true flag.value = true
}) })
} }
@ -789,7 +789,7 @@
}, },
beforeUnmount() { beforeUnmount() {
mybus.off('chongzhi') mybus.off('chongzhi')
mybus.emit('changeSelcted') // mybus.emit('changeSelcted')
}, },
} }
</script> </script>

View File

@ -2,13 +2,20 @@
<template> <template>
<div class="IntegrationServicesDetails" :class="{ fixed2: scrollTop >= 600 }"> <div class="IntegrationServicesDetails" :class="{ fixed2: scrollTop >= 600 }">
<!-- 头部基本信息 --> <!-- 头部基本信息 -->
<application-top-details :dataList="detailInfoObj" :navList="navList"></application-top-details> <application-top-details
:dataList="detailInfoObj"
:navList="navList"
></application-top-details>
<!-- 导航 --> <!-- 导航 -->
<div :class="{ fixed: scrollTop >= 600 }"> <div :class="{ fixed: scrollTop >= 600 }">
<div class="application-navigation"> <div class="application-navigation">
<template v-for="nav in navList" :key="nav.key"> <template v-for="nav in navList" :key="nav.key">
<div class="nav" :class="{ selectNow: nav.key == selectNow }" @click="selectNav(nav.key)"> <div
class="nav"
:class="{ selectNow: nav.key == selectNow }"
@click="selectNav(nav.key)"
>
{{ nav.name }} {{ nav.name }}
<span class="line"></span> <span class="line"></span>
</div> </div>
@ -17,7 +24,10 @@
</div> </div>
<!-- 组合能力 --> <!-- 组合能力 -->
<div id="integration-combination-ability" class="combination-ability scrollBox"> <div
id="integration-combination-ability"
class="combination-ability scrollBox"
>
<div class="title-1"> <div class="title-1">
<DetalsTitle title="组合能力" type="COMBINATION ABILITY"></DetalsTitle> <DetalsTitle title="组合能力" type="COMBINATION ABILITY"></DetalsTitle>
</div> </div>
@ -50,9 +60,17 @@
</div> </div>
</div> </div>
<div class="content-card flex-row-start"> <div class="content-card flex-row-start">
<div class="right-item content-card-item" v-for="(use, i) in useWayShowList" :key="i"> <div
class="right-item content-card-item"
v-for="(use, i) in useWayShowList"
:key="i"
>
<div class="card-title title">{{ use.title }}</div> <div class="card-title title">{{ use.title }}</div>
<div class="card-text" v-for="(d, k) in Object.keys(use.info)" :key="k"> <div
class="card-text"
v-for="(d, k) in Object.keys(use.info)"
:key="k"
>
{{ use.info[d] }}:{{ detailInfoObj[d] || '--' }} {{ use.info[d] }}:{{ detailInfoObj[d] || '--' }}
</div> </div>
</div> </div>
@ -61,38 +79,43 @@
</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>
</template> </template>
<script setup> <script setup>
import ApplicationTopDetails from '@/views/detailsAll/components/Application/ApplicationTopDetails.vue' import ApplicationTopDetails from '@/views/detailsAll/components/Application/ApplicationTopDetails.vue'
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([])
const id = router.currentRoute.value.query.id const id = router.currentRoute.value.query.id
document.documentElement.style.transition = 'all 0.3s ease' document.documentElement.style.transition = 'all 0.3s ease'
document.documentElement.scrollTop = 0 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
}) })
const navList = ref([ const navList = ref([
{ {
name: '组合能力', name: '组合能力',
key: 'integration-combination-ability', key: 'integration-combination-ability',
@ -105,11 +128,11 @@ const navList = ref([
name: '常见问题', name: '常见问题',
key: 'common-problem', key: 'common-problem',
}, },
]) ])
const selectNow = ref('integration-combination-ability') const selectNow = ref('integration-combination-ability')
const useWayShowList = ref([ const useWayShowList = ref([
{ {
title: '归属部门', title: '归属部门',
info: { info: {
@ -124,25 +147,25 @@ const useWayShowList = ref([
providerMobile: '联系人电话', providerMobile: '联系人电话',
}, },
}, },
]) ])
const combineList = ref([ const combineList = ref([
{ {
title: '基础设施', title: '基础设施',
list: [] list: [],
}, },
{ {
title: '组件服务', title: '组件服务',
list: [] list: [],
}, },
{ {
title: '数据资源', title: '数据资源',
list: [] list: [],
}, },
]) ])
const detailInfoObj = ref({}) const detailInfoObj = ref({})
onMounted(() => { onMounted(() => {
window.addEventListener('scroll', () => { window.addEventListener('scroll', () => {
domArr.value = document.querySelectorAll('.scrollBox') domArr.value = document.querySelectorAll('.scrollBox')
scrollTop.value = scrollTop.value =
@ -166,16 +189,17 @@ onMounted(() => {
} }
} }
}) })
}) })
const selectNav = (key) => { const selectNav = (key) => {
selectNow.value = key selectNow.value = key
mybus.emit('flyToView', selectNow.value) mybus.emit('flyToView', selectNow.value)
} }
// -- // --
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('错误的文档链接地址!')
} }
@ -218,37 +252,36 @@ function handleOpenUrl(type) {
'hisense_office/onlinePreview?url=' + 'hisense_office/onlinePreview?url=' +
btoa(encodeURI(url)) btoa(encodeURI(url))
) )
} }
onBeforeUnmount(() => { onBeforeUnmount(() => {
mybus.off('flyToView') mybus.off('flyToView')
}) })
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.flex-row-between { .flex-row-between {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
} }
.flex-row-start { .flex-row-start {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
justify-content: flex-start; justify-content: flex-start;
} }
.flex-row-center { .flex-row-center {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.IntegrationServicesDetails {
.IntegrationServicesDetails {
.fixed { .fixed {
position: fixed !important; position: fixed !important;
z-index: 2000; z-index: 2000;
@ -256,7 +289,7 @@ onBeforeUnmount(() => {
left: 0; left: 0;
} }
.fixed2>div:nth-of-type(3) { .fixed2 > div:nth-of-type(3) {
margin-top: 0.84rem; margin-top: 0.84rem;
} }
@ -294,9 +327,9 @@ onBeforeUnmount(() => {
} }
} }
} }
} }
.use-way { .use-way {
padding: 0.8rem 0; padding: 0.8rem 0;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -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;
@ -374,9 +407,9 @@ onBeforeUnmount(() => {
} }
} }
} }
} }
.combination-ability { .combination-ability {
padding: 0.8rem 0; padding: 0.8rem 0;
background: rgb(247, 248, 250); background: rgb(247, 248, 250);
@ -411,10 +444,9 @@ onBeforeUnmount(() => {
color: #212121; color: #212121;
text-align: center; text-align: center;
padding: 0.2rem 0; padding: 0.2rem 0;
font-size: .22rem; font-size: 0.22rem;
text-align: center; text-align: center;
} }
} }
.name-box { .name-box {
@ -445,6 +477,5 @@ onBeforeUnmount(() => {
width: 50%; width: 50%;
box-sizing: border-box; box-sizing: border-box;
} }
}
}
</style> </style>

View File

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

View File

@ -4,21 +4,40 @@
<div id="container" class="content-menu"> <div id="container" class="content-menu">
<div class="rela"> <div class="rela">
<div class="left"> <div class="left">
<div class="first-title-text" v-for="(data, i) in titleList" :key="i" @click="changeName(data)" <div
:style="{ color: data.name === titleData.name ? '#0058e1' : '' }"> class="first-title-text"
v-for="(data, i) in titleList"
:key="i"
@click="changeName(data)"
:style="{ color: data.name === titleData.name ? '#0058e1' : '' }"
>
<div class="img" :class="data.className"></div> <div class="img" :class="data.className"></div>
{{ data.name }} {{ data.name }}
</div> </div>
<abilityDocTree :dataList="treeArray" @treeClick="treeClick" :clickData="clickData"></abilityDocTree> <abilityDocTree
:dataList="treeArray"
@treeClick="treeClick"
:clickData="clickData"
></abilityDocTree>
</div> </div>
<div class="right"> <div class="right">
<div class="new-menu-box" style="height: 100%" v-if="titleData.name === '新手指引'"> <div
class="new-menu-box"
style="height: 100%"
v-if="titleData.name === '新手指引'"
>
<!-- 新手指引 --> <!-- 新手指引 -->
<a-empty description="新手指引" /> <a-empty description="新手指引" />
</div> </div>
<div v-else style="height:100%"> <div v-else style="height: 100%">
<iframe name="iframeName" width="1000" height="100%" id="iframeId" :frameborder="0" <iframe
:src="doc_base_url + clickData.doc"></iframe> name="iframeName"
width="1000"
height="100%"
id="iframeId"
:frameborder="0"
:src="doc_base_url + clickData.doc"
></iframe>
</div> </div>
</div> </div>
</div> </div>
@ -26,14 +45,14 @@
</div> </div>
</template> </template>
<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([
{ {
name: '新手指引', name: '新手指引',
className: 'newGuide', className: 'newGuide',
@ -42,21 +61,21 @@ const titleList = ref([
name: '技术文档', name: '技术文档',
className: 'doc', className: 'doc',
}, },
]) ])
const titleData = ref(titleList.value[0]) const titleData = ref(titleList.value[0])
const clickData = ref({}) const clickData = ref({})
const treeArray = ref([]) const treeArray = ref([])
const treeArrayCopy = ref([]) const treeArrayCopy = ref([])
let typeList = ['组件服务', '应用资源', '基础设施', '数据资源', '知识库'] let typeList = ['组件服务', '应用资源', '基础设施', '数据资源', '知识库']
let doc_base_url = ref(window.SITE_CONFIG['frontUrl']) let doc_base_url = ref(window.SITE_CONFIG['frontUrl'])
const treeClick = (item) => { const treeClick = (item) => {
clickData.value = item clickData.value = item
console.log('clickData------------>', item) console.log('clickData------------>', item)
titleData.value = titleList.value[1] titleData.value = titleList.value[1]
} }
const getTreeData = () => { const getTreeData = () => {
getDevelopDocTree({}) getDevelopDocTree({})
.then((res) => { .then((res) => {
console.log('res------文档树------>', res) console.log('res------文档树------>', res)
@ -69,9 +88,9 @@ const getTreeData = () => {
.catch((err) => { .catch((err) => {
message.error(err) message.error(err)
}) })
} }
const changeName = (item) => { const changeName = (item) => {
titleData.value = item titleData.value = item
if (item.name == '新手指引') { if (item.name == '新手指引') {
clickData.value = {} clickData.value = {}
@ -96,9 +115,9 @@ const changeName = (item) => {
getFirstData(treeArrayCopy.value[0] || {}) getFirstData(treeArrayCopy.value[0] || {})
} }
} }
} }
const formData = (children = [], dataItem) => { const formData = (children = [], dataItem) => {
children.map((item, index) => { children.map((item, index) => {
let _obj = Object.assign({}, item, { let _obj = Object.assign({}, item, {
title: item.title, title: item.title,
@ -114,28 +133,28 @@ const formData = (children = [], dataItem) => {
} }
dataItem.children.push(_obj) dataItem.children.push(_obj)
}) })
} }
const getFirstData = (firstObj = {}) => { const getFirstData = (firstObj = {}) => {
if (firstObj && firstObj.children && firstObj.children.length > 0) { if (firstObj && firstObj.children && firstObj.children.length > 0) {
getFirstData(firstObj.children[0]) getFirstData(firstObj.children[0])
} else { } else {
clickData.value = firstObj clickData.value = firstObj
} }
} }
onMounted(() => { onMounted(() => {
getTreeData() getTreeData()
}) })
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
.menu-box { .menu-box {
// overflow: hidden; // overflow: hidden;
height: 100%; height: 100%;
} }
.first-title-text { .first-title-text {
cursor: pointer; cursor: pointer;
font-size: 18px; font-size: 18px;
color: #333; color: #333;
@ -146,9 +165,9 @@ onMounted(() => {
&:hover { &:hover {
color: #0058e1; color: #0058e1;
} }
} }
.content-menu { .content-menu {
width: 1240px; width: 1240px;
display: flex; display: flex;
justify-content: flex-start; justify-content: flex-start;
@ -161,9 +180,9 @@ onMounted(() => {
transform: translateX(-50%); transform: translateX(-50%);
top: 0.6rem; top: 0.6rem;
top: 0; top: 0;
} }
.left { .left {
width: 240px; width: 240px;
padding: 20px; padding: 20px;
height: 600px; height: 600px;
@ -173,52 +192,52 @@ onMounted(() => {
position: absolute; position: absolute;
top: 10px; top: 10px;
left: 0; left: 0;
} }
.right { .right {
width: 870px; width: 870px;
height: calc(100% - 20px); height: calc(100% - 20px);
position: absolute; position: absolute;
top: 10px; top: 10px;
left: 260px; left: 260px;
} }
.sidebar { .sidebar {
right: 0 !important; right: 0 !important;
} }
.content { .content {
right: 16rem !important; right: 16rem !important;
left: 0 !important; left: 0 !important;
} }
.img { .img {
height: 20px; height: 20px;
width: 20px; width: 20px;
margin-right: 8px; margin-right: 8px;
} }
.doc { .doc {
background: url('~@/assets/capabilityCloud/doc.png') no-repeat; background: url('~@/assets/capabilityCloud/doc.png') no-repeat;
background-size: 100%; background-size: 100%;
} }
.newGuide { .newGuide {
background: url('~@/assets/capabilityCloud/newGuide.png') no-repeat; background: url('~@/assets/capabilityCloud/newGuide.png') no-repeat;
background-size: 100%; background-size: 100%;
} }
.new-menu-box { .new-menu-box {
height: 100%; height: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.rela { .rela {
width: 100%; width: 100%;
height: 100%; height: 100%;
position: relative; position: relative;
} }
</style> </style>

View File

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

View File

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

View File

@ -39,7 +39,9 @@
<a-list-item> <a-list-item>
<a-skeleton avatar :title="false" :loading="!!item.loading" active> <a-skeleton avatar :title="false" :loading="!!item.loading" active>
<a-list-item-meta <a-list-item-meta
:description="item.description || '--'" :description="
tabList[tabIndex] != '知识库' ? item.description || '--' : ''
"
style="position: relative" style="position: relative"
> >
<template #title> <template #title>