Merge branch 'hi-ucs-dev' of http://15.2.21.221:3000/wuhongjian/hi-ucs into hi-ucs-dev
# Conflicts: # front/src/views/capacityOnTheShelf/components/PutOnTheShelf.vue
This commit is contained in:
commit
8f8a1ed3ad
|
@ -483,7 +483,6 @@ export default {
|
||||||
-webkit-box-sizing: border-box;
|
-webkit-box-sizing: border-box;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
background: pink;
|
|
||||||
width: 120px;
|
width: 120px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,8 @@
|
||||||
基本信息
|
基本信息
|
||||||
</div>
|
</div>
|
||||||
<el-form-item label="名称" prop="name">
|
<el-form-item label="名称" prop="name">
|
||||||
<el-input v-model="dataForm.name" placeholder="请输入名称" :disabled="modalType === 'display'" style="width:90%"></el-input>
|
<el-input v-model="dataForm.name" placeholder="请输入名称" :disabled="modalType === 'display'"
|
||||||
|
style="width:90%"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="描述" prop="description">
|
<el-form-item label="描述" prop="description">
|
||||||
<el-input type="textarea" :rows="3" v-model="dataForm.description" placeholder="请输入描述" style="width:90%"
|
<el-input type="textarea" :rows="3" v-model="dataForm.description" placeholder="请输入描述" style="width:90%"
|
||||||
|
@ -46,6 +47,13 @@
|
||||||
</integrated-combine-ability>
|
</integrated-combine-ability>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 更多能力 -->
|
||||||
|
<div class="" style="marigin-bottom:40px" v-show="checkList.includes('更多能力')">
|
||||||
|
<common-question :dataForm="dataForm" @update="updateDataForm" ref="commonQuestion" title="更多能力"
|
||||||
|
:keyTextObj="moreKeyTextObj">
|
||||||
|
</common-question>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- 使用步骤 -->
|
<!-- 使用步骤 -->
|
||||||
<div style="marigin-bottom:20px" v-show="checkList.includes('使用步骤')">
|
<div style="marigin-bottom:20px" v-show="checkList.includes('使用步骤')">
|
||||||
<scene-use-step :dataForm="dataForm" @update="updateDataForm" :disabledType="modalType === 'display'"
|
<scene-use-step :dataForm="dataForm" @update="updateDataForm" :disabledType="modalType === 'display'"
|
||||||
|
@ -96,16 +104,28 @@ import qs from "qs";
|
||||||
import SceneUseStep from '../components/scene-use-step.vue';
|
import SceneUseStep from '../components/scene-use-step.vue';
|
||||||
import IntegratedCombineAbility from '../components/integrated-combine-ability.vue';
|
import IntegratedCombineAbility from '../components/integrated-combine-ability.vue';
|
||||||
import Cookies from 'js-cookie'
|
import Cookies from 'js-cookie'
|
||||||
|
import CommonQuestion from '../components/common-question.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
SceneUseStep,
|
SceneUseStep,
|
||||||
IntegratedCombineAbility,
|
IntegratedCombineAbility,
|
||||||
|
CommonQuestion,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
fileList: [],
|
fileList: [],
|
||||||
fileUploadUrl: `${window.SITE_CONFIG['apiURL']}/sys/oss/upload?token=${Cookies.get('ucsToken')}`,
|
fileUploadUrl: `${window.SITE_CONFIG['apiURL']}/sys/oss/upload?token=${Cookies.get('ucsToken')}`,
|
||||||
|
moreKeyTextObj: {
|
||||||
|
nameObj: {
|
||||||
|
text: '能力名称',
|
||||||
|
key: 'name'
|
||||||
|
},
|
||||||
|
descObj: {
|
||||||
|
text: '能力描述',
|
||||||
|
key: 'description'
|
||||||
|
},
|
||||||
|
},
|
||||||
dataForm: {
|
dataForm: {
|
||||||
"applicationArea": "",
|
"applicationArea": "",
|
||||||
"description": "",
|
"description": "",
|
||||||
|
@ -113,7 +133,11 @@ export default {
|
||||||
{
|
{
|
||||||
"attrType": "使用步骤",
|
"attrType": "使用步骤",
|
||||||
"attrValue": [{ question: "", answer: "" }],
|
"attrValue": [{ question: "", answer: "" }],
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
"attrType": "更多能力",
|
||||||
|
"attrValue": [{ name: "", description: "" }],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
"fuseResourceList": [
|
"fuseResourceList": [
|
||||||
{
|
{
|
||||||
|
@ -155,13 +179,18 @@ export default {
|
||||||
key: 'combine',
|
key: 'combine',
|
||||||
show: true,
|
show: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: '更多能力',
|
||||||
|
key: 'more',
|
||||||
|
show: true,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: '使用步骤',
|
name: '使用步骤',
|
||||||
key: 'basic',
|
key: 'basic',
|
||||||
show: true,
|
show: true,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
checkList: ['基本信息', '关联能力', '使用步骤'],
|
checkList: ['基本信息', '关联能力', '更多能力', '使用步骤'],
|
||||||
areaList: [],
|
areaList: [],
|
||||||
addOrUpdateVisibleCopy: this.addOrUpdateVisible,
|
addOrUpdateVisibleCopy: this.addOrUpdateVisible,
|
||||||
displayInfo: {
|
displayInfo: {
|
||||||
|
@ -170,7 +199,8 @@ export default {
|
||||||
},
|
},
|
||||||
displayListInfo: {
|
displayListInfo: {
|
||||||
'使用步骤': [],
|
'使用步骤': [],
|
||||||
'关联能力': []
|
'关联能力': [],
|
||||||
|
'更多能力': [],
|
||||||
},
|
},
|
||||||
modalTypeText: {
|
modalTypeText: {
|
||||||
add: '挂接',
|
add: '挂接',
|
||||||
|
@ -216,16 +246,26 @@ export default {
|
||||||
},
|
},
|
||||||
// 更新表单
|
// 更新表单
|
||||||
updateDataForm(data) {
|
updateDataForm(data) {
|
||||||
if (data.title == '使用步骤') {
|
if (data.title == '关联能力') {
|
||||||
|
this.dataForm.fuseResourceList = data.list
|
||||||
|
} else {
|
||||||
|
// 更多能力、使用步骤
|
||||||
|
this.operateFuseAttrList(data.title, data)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
operateFuseAttrList(title, data) {
|
||||||
|
if (this.dataForm.fuseAttrList.every(v => v.attrType !== title)) {
|
||||||
|
this.dataForm.fuseAttrList.push({
|
||||||
|
'attrType': title,
|
||||||
|
'attrValue': JSON.stringify(data.list)
|
||||||
|
})
|
||||||
|
} else {
|
||||||
this.dataForm.fuseAttrList.map(v => {
|
this.dataForm.fuseAttrList.map(v => {
|
||||||
if (v.attrType === '使用步骤') {
|
if (v.attrType === title) {
|
||||||
v.attrValue = JSON.stringify(data.list)
|
v.attrValue = JSON.stringify(data.list)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if (data.title == '关联能力') {
|
|
||||||
this.dataForm.fuseResourceList = data.list
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
// 改变按钮状态
|
// 改变按钮状态
|
||||||
changeBtn(data) {
|
changeBtn(data) {
|
||||||
|
@ -281,28 +321,30 @@ export default {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.combineAbility && this.$refs.combineAbility.getDataInfo(data)
|
this.$refs.combineAbility && this.$refs.combineAbility.getDataInfo(data)
|
||||||
this.$refs.sceneUseUp && this.$refs.sceneUseUp.getDataInfo(data)
|
this.$refs.sceneUseUp && this.$refs.sceneUseUp.getDataInfo(data)
|
||||||
|
this.$refs.commonQuestion && this.$refs.commonQuestion.getDataInfo(data)
|
||||||
console.log('this.dataForm----详情-------->', this.dataForm);
|
console.log('this.dataForm----详情-------->', this.dataForm);
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 重组数据
|
// 重组数据
|
||||||
getDisPlayData() {
|
// getDisPlayData() {
|
||||||
this.$nextTick(() => {
|
// this.$nextTick(() => {
|
||||||
const questionObj = this.dataForm.fuseAttrList.find(v => v.attrType == '使用步骤') || {};
|
// const stepObj = this.dataForm.fuseAttrList.find(v => v.attrType == '使用步骤') || {};
|
||||||
let fuseResourceList = this.dataForm.fuseResourceList || [];
|
// const moreObj = this.dataForm.fuseAttrList.find(v => v.attrType == '更多能力') || {};
|
||||||
let arr = []
|
// let fuseResourceList = this.dataForm.fuseResourceList || [];
|
||||||
fuseResourceList.map(v => {
|
// let arr = []
|
||||||
if (v.resource) {
|
// fuseResourceList.map(v => {
|
||||||
arr.push({
|
// if (v.resource) {
|
||||||
name: v.resource.name,
|
// arr.push({
|
||||||
type: v.resource.type,
|
// name: v.resource.name,
|
||||||
})
|
// type: v.resource.type,
|
||||||
}
|
// })
|
||||||
})
|
// }
|
||||||
this.displayListInfo['使用步骤'] = JSON.parse(questionObj.attrValue || '[]')
|
// })
|
||||||
this.displayListInfo['关联能力'] = arr
|
// this.displayListInfo['使用步骤'] = JSON.parse(stepObj.attrValue || '[]')
|
||||||
})
|
// this.displayListInfo['更多能力'] = JSON.parse(moreObj.attrValue || '[]')
|
||||||
|
// this.displayListInfo['关联能力'] = arr
|
||||||
},
|
// })
|
||||||
|
// },
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
this.clearForm()
|
this.clearForm()
|
||||||
|
@ -403,7 +445,6 @@ export default {
|
||||||
-webkit-box-sizing: border-box;
|
-webkit-box-sizing: border-box;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
background: pink;
|
|
||||||
width: 120px;
|
width: 120px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,17 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="question-box">
|
<div class="question-box">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
常见问题
|
{{ title }}
|
||||||
</div>
|
</div>
|
||||||
<div v-for="(item, index) in dataInfo" :key="index">
|
<div v-for="(item, index) in dataInfo" :key="index">
|
||||||
<el-form-item label="问题名称" prop="question">
|
<el-form-item :label="keyTextObj.nameObj.text">
|
||||||
<el-input v-model="item.question" placeholder="请输入问题名称" style="width:90%"></el-input>
|
<el-input v-model="item[keyTextObj.nameObj.key]" :placeholder="`请输入${keyTextObj.nameObj.text}`"
|
||||||
|
style="width:90%">
|
||||||
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="问题描述" prop="question">
|
<el-form-item :label="keyTextObj.descObj.text">
|
||||||
<el-input type="textarea" :rows="2" v-model="item.answer" placeholder="请输入问题描述" style="width:90%">
|
<el-input type="textarea" :rows="2" v-model="item[keyTextObj.descObj.key]"
|
||||||
|
:placeholder="`请输入${keyTextObj.descObj.text}`" style="width:90%">
|
||||||
</el-input>
|
</el-input>
|
||||||
<el-button style="margin-left:10px" @click="deleteItem(index)" type="danger" size="small"
|
<el-button style="margin-left:10px" @click="deleteItem(index)" type="danger" size="small"
|
||||||
v-if="dataInfo.length > 1">删除
|
v-if="dataInfo.length > 1">删除
|
||||||
|
@ -26,6 +29,25 @@ export default {
|
||||||
dataForm: {
|
dataForm: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => { }
|
default: () => { }
|
||||||
|
},
|
||||||
|
title: {
|
||||||
|
type: String,
|
||||||
|
default: '常见问题'
|
||||||
|
},
|
||||||
|
keyTextObj: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
return {
|
||||||
|
nameObj: {
|
||||||
|
text: '问题名称',
|
||||||
|
key: 'question'
|
||||||
|
},
|
||||||
|
descObj: {
|
||||||
|
text: '问题描述',
|
||||||
|
key: 'answer'
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
|
@ -38,7 +60,7 @@ export default {
|
||||||
handler(newVal) {
|
handler(newVal) {
|
||||||
this.dataInfo = newVal;
|
this.dataInfo = newVal;
|
||||||
this.$emit('update', {
|
this.$emit('update', {
|
||||||
title: '常见问题',
|
title: this.title,
|
||||||
list: newVal
|
list: newVal
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
@ -51,21 +73,29 @@ export default {
|
||||||
let arr = []
|
let arr = []
|
||||||
if (dataForm && (dataForm.id || dataForm.id === 0)) {
|
if (dataForm && (dataForm.id || dataForm.id === 0)) {
|
||||||
let fuseAttrList = dataForm.fuseAttrList || [];
|
let fuseAttrList = dataForm.fuseAttrList || [];
|
||||||
let obj = fuseAttrList.find(v => v.attrType === '常见问题') || {}
|
let obj = fuseAttrList.find(v => v.attrType === this.title) || {}
|
||||||
let attrValue = JSON.parse(obj.attrValue || "[]")
|
let attrValue = JSON.parse(obj.attrValue || "[]")
|
||||||
if (attrValue.length > 0) {
|
if (attrValue.length > 0) {
|
||||||
attrValue.map(v => {
|
attrValue.map(v => {
|
||||||
arr.push({
|
arr.push({
|
||||||
question: v.question,
|
[this.keyTextObj.nameObj.key]: v[this.keyTextObj.nameObj.key],
|
||||||
answer: v.answer,
|
[this.keyTextObj.descObj.key]: v[this.keyTextObj.descObj.key],
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
arr = []
|
||||||
|
console.log('this.keyTextObj.nameObj.key------------>', this.keyTextObj.nameObj.key);
|
||||||
|
arr.push({
|
||||||
|
[this.keyTextObj.nameObj.key]: '',
|
||||||
|
[this.keyTextObj.descObj.key]: '',
|
||||||
|
})
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
arr = []
|
arr = []
|
||||||
|
console.log('this.keyTextObj.nameObj.key------------>', this.keyTextObj.nameObj.key);
|
||||||
arr.push({
|
arr.push({
|
||||||
question: "",
|
[this.keyTextObj.nameObj.key]: '',
|
||||||
answer: "",
|
[this.keyTextObj.descObj.key]: '',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
this.dataInfo = arr;
|
this.dataInfo = arr;
|
||||||
|
@ -73,8 +103,8 @@ export default {
|
||||||
// 新增
|
// 新增
|
||||||
addItem() {
|
addItem() {
|
||||||
this.dataInfo.push({
|
this.dataInfo.push({
|
||||||
question: "",
|
[this.keyTextObj.nameObj.key]: '',
|
||||||
answer: "",
|
[this.keyTextObj.descObj.key]: '',
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 删除
|
// 删除
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
<template>
|
|
||||||
<div class="wrapper"></div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
components: {},
|
|
||||||
props: {},
|
|
||||||
data () {
|
|
||||||
return {}
|
|
||||||
},
|
|
||||||
watch: {},
|
|
||||||
computed: {},
|
|
||||||
methods: {},
|
|
||||||
created () {},
|
|
||||||
mounted () {}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.wrapper {
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -168,20 +168,6 @@ export default {
|
||||||
this.dataView = val.filter(
|
this.dataView = val.filter(
|
||||||
(item) => item.name === this.dataForm.type + '一'
|
(item) => item.name === this.dataForm.type + '一'
|
||||||
)[0]
|
)[0]
|
||||||
console.log(this.dataView)
|
|
||||||
console.log(this.dataForm)
|
|
||||||
// 应用描述
|
|
||||||
// this.dataView.children[0].children[0].children[4].note1 =
|
|
||||||
// this.dataForm.description
|
|
||||||
// 应用名称
|
|
||||||
// this.dataView.children[0].children[0].children[0].note1 =
|
|
||||||
// this.dataForm.name
|
|
||||||
// 共享条件
|
|
||||||
this.dataView.children[2].children[1].children[0].note1 =
|
|
||||||
this.dataForm.shareCondition
|
|
||||||
// 共享类型
|
|
||||||
this.dataView.children[2].children[1].children[1].note1 =
|
|
||||||
this.dataForm.shareType
|
|
||||||
this.dataForm.infoList.map((item, index) => {
|
this.dataForm.infoList.map((item, index) => {
|
||||||
this.dataView.children.map((itemView, indexView) => {
|
this.dataView.children.map((itemView, indexView) => {
|
||||||
// console.log('itemView', itemView)
|
// console.log('itemView', itemView)
|
||||||
|
@ -236,6 +222,7 @@ export default {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
if (item.attrType === '功能介绍') {
|
if (item.attrType === '功能介绍') {
|
||||||
this.dataForm.infoList[index].attrValue = JSON.parse(
|
this.dataForm.infoList[index].attrValue = JSON.parse(
|
||||||
item.attrValue
|
item.attrValue
|
||||||
|
@ -318,7 +305,11 @@ export default {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
if (item.attrType === '算法优势' || item.attrType === '应用场景') {
|
if (
|
||||||
|
item.attrType === '算法优势' ||
|
||||||
|
item.attrType === '应用场景' ||
|
||||||
|
item.attrType === '功能介绍'
|
||||||
|
) {
|
||||||
this.dataForm.infoList[index].attrValue = JSON.parse(
|
this.dataForm.infoList[index].attrValue = JSON.parse(
|
||||||
item.attrValue
|
item.attrValue
|
||||||
)
|
)
|
||||||
|
|
|
@ -7,9 +7,6 @@
|
||||||
@keyup.enter.native="dataFormSubmitHandle()"
|
@keyup.enter.native="dataFormSubmitHandle()"
|
||||||
:label-width="$i18n.locale === 'en-US' ? '120px' : 'auto'"
|
:label-width="$i18n.locale === 'en-US' ? '120px' : 'auto'"
|
||||||
>
|
>
|
||||||
<div v-if="shifoushizujian">
|
|
||||||
<Applicationresources></Applicationresources>
|
|
||||||
</div>
|
|
||||||
<div v-if="flagShow">
|
<div v-if="flagShow">
|
||||||
<ResourcesAndServices
|
<ResourcesAndServices
|
||||||
:dataForm="dataForm"
|
:dataForm="dataForm"
|
||||||
|
@ -39,21 +36,31 @@
|
||||||
<div class="agreeOr">
|
<div class="agreeOr">
|
||||||
<h3>审批</h3>
|
<h3>审批</h3>
|
||||||
<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">同意</el-radio-button>
|
<el-radio-button label="同意" class="blueAll">同意</el-radio-button>
|
||||||
<el-radio-button label="退回" class="redAll">退回</el-radio-button>
|
<el-radio-button label="退回" class="redAll">退回</el-radio-button>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
<el-input v-if="agreeOrList ==='同意' " v-model="inputAgree" placeholder="请输入同意意见"></el-input>
|
<el-input
|
||||||
<el-input v-if="agreeOrList ==='退回'" v-model="inputNo" placeholder="请输入退回意见"></el-input>
|
v-if="agreeOrList === '同意'"
|
||||||
<el-button class="inputBule" @click="agreeOrNot">提交</el-button>
|
v-model="inputAgree"
|
||||||
|
placeholder="请输入同意意见"
|
||||||
|
></el-input>
|
||||||
|
<el-input
|
||||||
|
v-if="agreeOrList === '退回'"
|
||||||
|
v-model="inputNo"
|
||||||
|
placeholder="请输入退回意见"
|
||||||
|
></el-input>
|
||||||
|
<el-button
|
||||||
|
class="inputBule"
|
||||||
|
@click.native="agreeOrNot($store.state.contentTabsActiveName)"
|
||||||
|
>提交</el-button
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import processModule from '@/mixins/process-module'
|
|
||||||
import Applicationresources from './Application-resources.vue'
|
|
||||||
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'
|
||||||
|
@ -62,7 +69,6 @@ export default {
|
||||||
// 注入公共方法
|
// 注入公共方法
|
||||||
// mixins: [processModule],
|
// mixins: [processModule],
|
||||||
components: {
|
components: {
|
||||||
Applicationresources,
|
|
||||||
ResourcesAndServices
|
ResourcesAndServices
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
|
@ -146,64 +152,100 @@ export default {
|
||||||
// }
|
// }
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
agreeOrNot: debounce(function () {
|
agreeOrNot: debounce(
|
||||||
if (this.agreeOrList === '同意') {
|
function (data) {
|
||||||
console.log('this.dataForm.taskId', this.taskId)
|
console.log(data)
|
||||||
const params = qs.stringify({
|
if (this.agreeOrList === '同意') {
|
||||||
taskId: this.taskId,
|
console.log('this.dataForm.taskId', this.taskId)
|
||||||
comment: this.inputAgree
|
const params = qs.stringify({
|
||||||
})
|
taskId: this.taskId,
|
||||||
console.log(params)
|
comment: this.inputAgree
|
||||||
this.$http.post('/act/task/complete?' + params).then(({ data: res }) => {
|
|
||||||
if (res.code !== 0) {
|
|
||||||
this.$message.error(res.msg)
|
|
||||||
if (this.callbacks.taskHandleErrorCallback) {
|
|
||||||
this.callbacks.taskHandleErrorCallback(res)
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
this.$message({
|
|
||||||
message: this.$t('prompt.success'),
|
|
||||||
type: 'success',
|
|
||||||
duration: 500,
|
|
||||||
onClose: () => {
|
|
||||||
this.visible = false
|
|
||||||
if (this.callbacks.taskHandleSuccessCallback) {
|
|
||||||
this.callbacks.taskHandleSuccessCallback(res)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
}).catch(() => {})
|
console.log(params)
|
||||||
} else if (this.agreeOrList === '退回') {
|
this.$http
|
||||||
console.log('this.dataForm.taskId', this.taskId)
|
.post('/act/task/complete?' + params)
|
||||||
const params = qs.stringify({
|
.then(({ data: res }) => {
|
||||||
taskId: this.taskId,
|
if (res.code !== 0) {
|
||||||
comment: this.inputNo
|
this.$message.error(res.msg)
|
||||||
})
|
if (this.callbacks.taskHandleErrorCallback) {
|
||||||
this.$http.post('/act/task/backToFirst?', params).then(({ data: res }) => {
|
this.callbacks.taskHandleErrorCallback(res)
|
||||||
if (res.code !== 0) {
|
}
|
||||||
this.$message.error(res.msg)
|
return
|
||||||
if (this.callbacks.taskHandleErrorCallback) {
|
|
||||||
this.callbacks.taskHandleErrorCallback(res)
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
this.$message({
|
|
||||||
message: this.$t('prompt.success'),
|
|
||||||
type: 'success',
|
|
||||||
duration: 500,
|
|
||||||
onClose: () => {
|
|
||||||
this.visible = false
|
|
||||||
if (this.callbacks.taskHandleSuccessCallback) {
|
|
||||||
this.callbacks.taskHandleSuccessCallback(res)
|
|
||||||
}
|
}
|
||||||
}
|
this.$message({
|
||||||
|
message: this.$t('prompt.success'),
|
||||||
|
type: 'success',
|
||||||
|
duration: 500,
|
||||||
|
onClose: () => {
|
||||||
|
this.visible = false
|
||||||
|
if (this.callbacks.taskHandleSuccessCallback) {
|
||||||
|
this.callbacks.taskHandleSuccessCallback(res)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.catch(() => {})
|
||||||
|
} else if (this.agreeOrList === '退回') {
|
||||||
|
console.log('this.dataForm.taskId', this.taskId)
|
||||||
|
const params = qs.stringify({
|
||||||
|
taskId: this.taskId,
|
||||||
|
comment: this.inputNo
|
||||||
})
|
})
|
||||||
|
this.$http
|
||||||
|
.post('/act/task/backToFirst?', params)
|
||||||
|
.then(({ data: res }) => {
|
||||||
|
if (res.code !== 0) {
|
||||||
|
this.$message.error(res.msg)
|
||||||
|
if (this.callbacks.taskHandleErrorCallback) {
|
||||||
|
this.callbacks.taskHandleErrorCallback(res)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.$message({
|
||||||
|
message: this.$t('prompt.success'),
|
||||||
|
type: 'success',
|
||||||
|
duration: 500,
|
||||||
|
onClose: () => {
|
||||||
|
this.visible = false
|
||||||
|
if (this.callbacks.taskHandleSuccessCallback) {
|
||||||
|
this.callbacks.taskHandleSuccessCallback(res)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
this.tabRemoveHandle(data)
|
||||||
|
},
|
||||||
|
1000,
|
||||||
|
{ leading: true, trailing: false }
|
||||||
|
),
|
||||||
|
tabRemoveHandle (tabName) {
|
||||||
|
console.log(tabName, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')
|
||||||
|
if (tabName === 'home') {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
this.$store.state.contentTabs = this.$store.state.contentTabs.filter(
|
||||||
|
(item) => item.name !== tabName
|
||||||
|
)
|
||||||
|
if (this.$store.state.contentTabs.length <= 0) {
|
||||||
|
this.$store.state.sidebarMenuActiveName =
|
||||||
|
this.$store.state.contentTabsActiveName = 'home'
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
// 当前选中tab被删除
|
||||||
|
if (tabName === this.$store.state.contentTabsActiveName) {
|
||||||
|
const tab =
|
||||||
|
this.$store.state.contentTabs[
|
||||||
|
this.$store.state.contentTabs.length - 1
|
||||||
|
]
|
||||||
|
this.$router.push({
|
||||||
|
name: /^iframe_.+/.test(tab.name) ? 'iframe' : tab.name,
|
||||||
|
params: { ...tab.params },
|
||||||
|
query: { ...tab.query }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}, 1000, { leading: true, trailing: false })
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
|
@ -8,12 +8,13 @@
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="left">{{ item.createDate }}</div>
|
<div class="left">{{ item.createDate }}</div>
|
||||||
<el-tooltip effect="dark" :content="item.title" placement="top">
|
<el-tooltip popper-class="testTooltip" effect="dark" :content="item.title" placement="top">
|
||||||
<div class="right ellipsis">{{ item.title || '--' }}</div>
|
<div class="right ellipsis">{{ item.title || '--' }}</div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="more" @click="jumpTo">查看更多 ></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -34,7 +35,7 @@ export default {
|
||||||
components: {
|
components: {
|
||||||
contentTitle
|
contentTitle
|
||||||
},
|
},
|
||||||
data () {
|
data() {
|
||||||
return {
|
return {
|
||||||
title: { dynamic: '部门发布动态', recommend: '部门推荐能力' },
|
title: { dynamic: '部门发布动态', recommend: '部门推荐能力' },
|
||||||
list: [],
|
list: [],
|
||||||
|
@ -76,13 +77,13 @@ export default {
|
||||||
loadingTable: false
|
loadingTable: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted() {
|
||||||
this.getResourceByDept()
|
this.getResourceByDept()
|
||||||
this.getApplyByDept()
|
this.getApplyByDept()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 发布动态
|
// 发布动态
|
||||||
getResourceByDept () {
|
getResourceByDept() {
|
||||||
const data = {
|
const data = {
|
||||||
limit: 5,
|
limit: 5,
|
||||||
page: 1
|
page: 1
|
||||||
|
@ -108,7 +109,7 @@ export default {
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
// 部门推荐能力
|
// 部门推荐能力
|
||||||
getApplyByDept () {
|
getApplyByDept() {
|
||||||
const data = {
|
const data = {
|
||||||
limit: 5,
|
limit: 5,
|
||||||
page: 1
|
page: 1
|
||||||
|
@ -130,7 +131,12 @@ export default {
|
||||||
console.log('err', err)
|
console.log('err', err)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
},
|
||||||
|
jumpTo() {
|
||||||
|
this.$router.push({
|
||||||
|
path: 'activiti-my-work-dynamics'
|
||||||
|
});
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -153,7 +159,8 @@ export default {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
width: 800px;
|
width: 800px;
|
||||||
height: 335px;
|
height: 335px;
|
||||||
padding: 0px 0 20px 10px;
|
padding: 0px 0 0 10px;
|
||||||
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -171,7 +178,7 @@ export default {
|
||||||
margin-bottom: 7px;
|
margin-bottom: 7px;
|
||||||
|
|
||||||
.wrapper {
|
.wrapper {
|
||||||
height: 50px;
|
height: 45px;
|
||||||
width: 770px;
|
width: 770px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
|
@ -199,7 +206,7 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
.right {
|
.right {
|
||||||
font-size: 18px;
|
font-size: 16px;
|
||||||
color: #464645;
|
color: #464645;
|
||||||
width: 600px;
|
width: 600px;
|
||||||
}
|
}
|
||||||
|
@ -207,6 +214,16 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.more {
|
||||||
|
cursor: pointer;
|
||||||
|
text-align: right;
|
||||||
|
padding-top: 4px;
|
||||||
|
display: inline-block;
|
||||||
|
width: 100%;
|
||||||
|
color: #2b2b2b;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
.recommendView {
|
.recommendView {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
width: 770px;
|
width: 770px;
|
||||||
|
@ -220,3 +237,8 @@ export default {
|
||||||
background-color: #f4f5f8;
|
background-color: #f4f5f8;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
<style lang="scss">
|
||||||
|
.testTooltip {
|
||||||
|
width: 670px !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
|
@ -42,12 +42,7 @@ export default {
|
||||||
handler(newVal, oldVal) {
|
handler(newVal, oldVal) {
|
||||||
if (newVal) {
|
if (newVal) {
|
||||||
this.dataListCopy = newVal;
|
this.dataListCopy = newVal;
|
||||||
if (document.getElementById(this.id)) {
|
this.initChart()
|
||||||
// 解决数据初始渲染不出来的问题
|
|
||||||
setTimeout(() => {
|
|
||||||
this.initChart()
|
|
||||||
}, 2000)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
deep: true,
|
deep: true,
|
||||||
|
@ -55,9 +50,6 @@ export default {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
setTimeout(() => {
|
|
||||||
this.initChart()
|
|
||||||
}, 2000)
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
initChart() {
|
initChart() {
|
||||||
|
@ -68,7 +60,6 @@ export default {
|
||||||
this.myChart = chartDom && echarts.init(chartDom);
|
this.myChart = chartDom && echarts.init(chartDom);
|
||||||
|
|
||||||
let lengendArr = this.dataListCopy.filter(v => v.name);
|
let lengendArr = this.dataListCopy.filter(v => v.name);
|
||||||
|
|
||||||
let total = 0;
|
let total = 0;
|
||||||
this.dataListCopy.map(v => {
|
this.dataListCopy.map(v => {
|
||||||
if (v.value || v.value === 0) {
|
if (v.value || v.value === 0) {
|
||||||
|
|
|
@ -12,16 +12,26 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="list-box" v-if="dataInfo.list.length > 0">
|
<div class="list-box" v-if="dataInfo.list.length > 0">
|
||||||
|
|
||||||
<div v-for="(item, i) in dataInfo.list" :key="i">
|
<div v-for="(item, i) in dataInfo.list" :key="i">
|
||||||
|
<!-- 待办 -->
|
||||||
<el-tooltip effect="dark" :content="item[dataInfo.nameStr]" placement="top">
|
<el-tooltip effect="dark" v-if="dataInfo.type === 'todo'"
|
||||||
|
:content="`${(item.processDefinitionName || '--')}${item.taskName ? ('—' + item.taskName) : ''}`"
|
||||||
|
placement="top">
|
||||||
<div class="list-item ellipsis">
|
<div class="list-item ellipsis">
|
||||||
{{ item[dataInfo.nameStr] || '--' }}
|
{{ `${(item.processDefinitionName || '--')}${item.taskName ? ('—' + item.taskName) : ''}` }}
|
||||||
|
</div>
|
||||||
|
</el-tooltip>
|
||||||
|
<!-- 已办 -->
|
||||||
|
<el-tooltip effect="dark" v-else
|
||||||
|
:content="`${(item.processDefinitionName || '--')}${item.resourceName ? ('—' + item.resourceName) : ''}`"
|
||||||
|
placement="top">
|
||||||
|
<div class="list-item ellipsis">
|
||||||
|
{{ `${(item.processDefinitionName || '--')}${item.resourceName ? ('—' + item.resourceName) :
|
||||||
|
''}`
|
||||||
|
}}
|
||||||
</div>
|
</div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="more" @click="goPage(dataInfo.url)">
|
<div class="more" @click="goPage(dataInfo.url)">
|
||||||
查看更多 >
|
查看更多 >
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -9,13 +9,13 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-row-start dept-chart-box">
|
<div class="flex-row-start dept-chart-box">
|
||||||
<dept-chart-view id="shelves" title="部门上架" v-loading="loadingResource" :dataList="resourceData"
|
<dept-chart-view id="shelves" title="部门上架" v-loading="loadingResource" :dataList="resourceData"
|
||||||
:colorArray="resourceColor">
|
ref="resourceChart" :colorArray="resourceColor">
|
||||||
</dept-chart-view>
|
</dept-chart-view>
|
||||||
<dept-chart-view id="apply" title="部门申请" v-loading="loadingApply" :dataList="applyData"
|
<dept-chart-view id="apply" title="部门申请" v-loading="loadingApply" :dataList="applyData" ref="applyChart"
|
||||||
:colorArray="applyColor">
|
:colorArray="applyColor">
|
||||||
</dept-chart-view>
|
</dept-chart-view>
|
||||||
<dept-chart-view id="demand" title="部门需求" v-loading="loadingRequire" :dataList="requireData"
|
<dept-chart-view id="demand" title="部门需求" v-loading="loadingRequire" :dataList="requireData"
|
||||||
:colorArray="requireColor">
|
ref="requireChart" :colorArray="requireColor">
|
||||||
</dept-chart-view>
|
</dept-chart-view>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -54,7 +54,7 @@ export default {
|
||||||
textColor: '#f86f01',
|
textColor: '#f86f01',
|
||||||
num: 0,
|
num: 0,
|
||||||
list: [],
|
list: [],
|
||||||
nameStr: 'taskName',
|
type: 'todo',
|
||||||
url: 'activiti-my-todo-task'
|
url: 'activiti-my-todo-task'
|
||||||
},
|
},
|
||||||
// 部门已办
|
// 部门已办
|
||||||
|
@ -67,7 +67,6 @@ export default {
|
||||||
textColor: '#21b107',
|
textColor: '#21b107',
|
||||||
num: 0,
|
num: 0,
|
||||||
list: [],
|
list: [],
|
||||||
nameStr: 'processDefinitionName',
|
|
||||||
url: 'activiti-my-join-task'
|
url: 'activiti-my-join-task'
|
||||||
},
|
},
|
||||||
// 部门申请
|
// 部门申请
|
||||||
|
@ -134,6 +133,7 @@ export default {
|
||||||
console.log('res----已办-------->', res.data);
|
console.log('res----已办-------->', res.data);
|
||||||
this.hasToDodoData.list = res.data.data.records || []
|
this.hasToDodoData.list = res.data.data.records || []
|
||||||
this.hasToDodoData.num = res.data.data.total || 0
|
this.hasToDodoData.num = res.data.data.total || 0
|
||||||
|
|
||||||
}, err => {
|
}, err => {
|
||||||
this.$message.error(err)
|
this.$message.error(err)
|
||||||
this.loadingHasToDo = false;
|
this.loadingHasToDo = false;
|
||||||
|
@ -150,6 +150,9 @@ export default {
|
||||||
}
|
}
|
||||||
console.log('res----部门上架-------->', res.data);
|
console.log('res----部门上架-------->', res.data);
|
||||||
this.resourceData = this.formatList(res.data.data.total || [])
|
this.resourceData = this.formatList(res.data.data.total || [])
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.resourceChart.initChart(this.resourceData)
|
||||||
|
})
|
||||||
}, err => {
|
}, err => {
|
||||||
this.$message.error(err)
|
this.$message.error(err)
|
||||||
this.loadingResource = false;
|
this.loadingResource = false;
|
||||||
|
@ -165,6 +168,10 @@ export default {
|
||||||
}
|
}
|
||||||
console.log('res----部门申请-------->', res.data);
|
console.log('res----部门申请-------->', res.data);
|
||||||
this.applyData = this.formatList(res.data.data.total || [])
|
this.applyData = this.formatList(res.data.data.total || [])
|
||||||
|
this.$nextTick(() => {
|
||||||
|
console.log('this.applyData------------>', this.applyData);
|
||||||
|
this.$refs.applyChart.initChart(this.applyData)
|
||||||
|
})
|
||||||
}, err => {
|
}, err => {
|
||||||
this.$message.error(err)
|
this.$message.error(err)
|
||||||
this.loadingApply = false;
|
this.loadingApply = false;
|
||||||
|
@ -190,6 +197,9 @@ export default {
|
||||||
}
|
}
|
||||||
console.log('res----部门需求-------->', res.data);
|
console.log('res----部门需求-------->', res.data);
|
||||||
this.requireData = this.formatList(res.data.data.total || [], 'flag')
|
this.requireData = this.formatList(res.data.data.total || [], 'flag')
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.requireChart.initChart(this.requireData)
|
||||||
|
})
|
||||||
|
|
||||||
}, err => {
|
}, err => {
|
||||||
this.$message.error(err)
|
this.$message.error(err)
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
* @Author: hisense.wuhongjian
|
* @Author: hisense.wuhongjian
|
||||||
* @Date: 2020-07-07 16:03:23
|
* @Date: 2020-07-07 16:03:23
|
||||||
* @LastEditors: hisense.wuhongjian
|
* @LastEditors: hisense.wuhongjian
|
||||||
* @LastEditTime: 2022-07-14 10:01:08
|
* @LastEditTime: 2022-07-18 11:34:38
|
||||||
* @Description: 数据资源参数配置
|
* @Description: 数据资源参数配置
|
||||||
*/
|
*/
|
||||||
const newLocation = 'qingdao'
|
//const newLocation = 'qingdao'
|
||||||
// const newLocation = 'baotou'
|
// const newLocation = 'baotou'
|
||||||
// const newLocation = 'xihaian'
|
const newLocation = 'xihaian'
|
||||||
|
|
||||||
// 数据资源数据
|
// 数据资源数据
|
||||||
const whoShow = {}
|
const whoShow = {}
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 125 KiB |
|
@ -2,60 +2,59 @@
|
||||||
* @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-16 10:57:59
|
* @LastEditTime: 2022-07-18 11:25:28
|
||||||
* @Description: 告诉大家这是什么
|
* @Description: 告诉大家这是什么
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* @author chuzhixin 1204505056@qq.com
|
* @author chuzhixin 1204505056@qq.com
|
||||||
* @description 路由守卫,目前两种模式:all模式与intelligence模式
|
* @description 路由守卫,目前两种模式:all模式与intelligence模式
|
||||||
*/
|
*/
|
||||||
import router from '@/router'
|
import router from '@/router'
|
||||||
import store from '@/store'
|
import store from '@/store'
|
||||||
import getPageTitle from '@/utils/pageTitle'
|
import getPageTitle from '@/utils/pageTitle'
|
||||||
import { getUserInfo } from '@/api/user'
|
import { getUserInfo } from '@/api/user'
|
||||||
import {
|
import {
|
||||||
// authentication,
|
// authentication,
|
||||||
loginInterception,
|
loginInterception,
|
||||||
// recordRoute,
|
// recordRoute,
|
||||||
routesWhiteList,
|
routesWhiteList,
|
||||||
} from '@/config'
|
} from '@/config'
|
||||||
import { setAccessToken, getAccessToken } from '@/utils/accessToken'
|
import { setAccessToken, 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
|
||||||
// if (SSOTOKEN) {
|
// if (SSOTOKEN) {
|
||||||
// setAccessToken(SSOTOKEN)
|
// setAccessToken(SSOTOKEN)
|
||||||
// }
|
// }
|
||||||
|
|
||||||
const token = getAccessToken()
|
const token = getAccessToken()
|
||||||
console.log('token', token)
|
console.log('token', token)
|
||||||
let hasToken = token
|
let hasToken = token
|
||||||
// debugger
|
// debugger
|
||||||
if (!loginInterception) hasToken = true
|
if (!loginInterception) hasToken = true
|
||||||
console.log('hasToken存在巨大问题', hasToken)
|
console.log('hasToken存在巨大问题', hasToken)
|
||||||
if (hasToken) {
|
if (hasToken) {
|
||||||
// setAccessToken(hasToken)
|
// setAccessToken(hasToken)
|
||||||
await store.dispatch('user/getUserInfo')
|
await store.dispatch('user/getUserInfo')
|
||||||
// debugger
|
// debugger
|
||||||
next()
|
next()
|
||||||
} else {
|
} else {
|
||||||
let accessRoutes = []
|
let accessRoutes = []
|
||||||
accessRoutes = await store.dispatch('routes/setRoutes')
|
accessRoutes = await store.dispatch('routes/setRoutes')
|
||||||
accessRoutes.forEach((item) => {
|
accessRoutes.forEach((item) => {
|
||||||
router.addRoute(item)
|
router.addRoute(item)
|
||||||
})
|
})
|
||||||
if (routesWhiteList.indexOf(to.path) !== -1) {
|
if (routesWhiteList.indexOf(to.path) !== -1) {
|
||||||
next()
|
next()
|
||||||
} else {
|
} else {
|
||||||
// 这里是一个单点登录的入口
|
// 这里是一个单点登录的入口
|
||||||
if (to.query.redict)
|
if (to.query.redict) getUserInfo(to.query.redict)
|
||||||
getUserInfo(to.query.redict)
|
else {
|
||||||
else {
|
getUserInfo()
|
||||||
getUserInfo()
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
})
|
router.afterEach((to) => {
|
||||||
router.afterEach((to) => {
|
document.title = getPageTitle(to.meta.title)
|
||||||
document.title = getPageTitle(to.meta.title)
|
})
|
||||||
})
|
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
<div class="assign-case-detail-page-header-son">
|
<div class="assign-case-detail-page-header-son">
|
||||||
<div
|
<div
|
||||||
class="assign-case-detail-page-header-son-left"
|
class="assign-case-detail-page-header-son-left"
|
||||||
:style="`background:url(${dataFrom.note1})`"
|
:style="`background-image:url(${dataFrom.note1})`"
|
||||||
></div>
|
></div>
|
||||||
<div class="assign-case-detail-page-header-son-right">
|
<div class="assign-case-detail-page-header-son-right">
|
||||||
<div class="assign-case-detail-page-header-son-right-title">
|
<div class="assign-case-detail-page-header-son-right-title">
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
:refData="refData"
|
:refData="refData"
|
||||||
:dataFrom="dataFrom"
|
:dataFrom="dataFrom"
|
||||||
:videoList="videoList"
|
:videoList="videoList"
|
||||||
|
:imgList="imgList"
|
||||||
:externalField="[
|
:externalField="[
|
||||||
'组件名称',
|
'组件名称',
|
||||||
'组件描述',
|
'组件描述',
|
||||||
|
@ -54,7 +55,6 @@
|
||||||
:dataFrom="dataFrom"
|
:dataFrom="dataFrom"
|
||||||
:fileList="fileList"
|
:fileList="fileList"
|
||||||
:fileList2="fileList2"
|
:fileList2="fileList2"
|
||||||
:imgList="imgList"
|
|
||||||
:configure="bs"
|
:configure="bs"
|
||||||
></put-on-the-shelf>
|
></put-on-the-shelf>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* @Author: hisense.liangjunhua
|
* @Author: hisense.liangjunhua
|
||||||
* @Date: 2022-06-17 14:11:08
|
* @Date: 2022-06-17 14:11:08
|
||||||
* @LastEditors: hisense.liangjunhua
|
* @LastEditors: hisense.liangjunhua
|
||||||
* @LastEditTime: 2022-07-18 14:41:45
|
* @LastEditTime: 2022-07-18 14:43:47
|
||||||
* @Description: 上架
|
* @Description: 上架
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
|
@ -705,7 +705,7 @@
|
||||||
console.log('targetKeys: ', nextTargetKeys)
|
console.log('targetKeys: ', nextTargetKeys)
|
||||||
console.log('direction: ', direction)
|
console.log('direction: ', direction)
|
||||||
console.log('moveKeys: ', moveKeys)
|
console.log('moveKeys: ', moveKeys)
|
||||||
targetKeys.value = moveKeys
|
targetKeys.value = moveKeys.filter((item, index) => index === 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleSelectChange = (sourceSelectedKeys, targetSelectedKeys) => {
|
const handleSelectChange = (sourceSelectedKeys, targetSelectedKeys) => {
|
||||||
|
@ -1037,4 +1037,7 @@
|
||||||
:deep(.ant-transfer-list-header .ant-checkbox-wrapper) {
|
:deep(.ant-transfer-list-header .ant-checkbox-wrapper) {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
:deep(.ant-upload-list-item-name) {
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
</a-layout-sider>
|
</a-layout-sider>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<div class="title">数据需求</div>
|
<!-- <div class="title">数据需求</div> -->
|
||||||
<a-list
|
<a-list
|
||||||
class="demo-loadmore-list"
|
class="demo-loadmore-list"
|
||||||
:loading="initLoading"
|
:loading="initLoading"
|
||||||
|
@ -87,6 +87,7 @@
|
||||||
const pageSize = ref(8)
|
const pageSize = ref(8)
|
||||||
const total = ref()
|
const total = ref()
|
||||||
const showKey = ref(0)
|
const showKey = ref(0)
|
||||||
|
const whoShow1 = ref(whoShow)
|
||||||
const menuList = [
|
const menuList = [
|
||||||
{
|
{
|
||||||
key: '1',
|
key: '1',
|
||||||
|
|
|
@ -10,159 +10,195 @@
|
||||||
<!-- 头部基本信息 -->
|
<!-- 头部基本信息 -->
|
||||||
<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>
|
||||||
import AlgorithmTopDetails from '@/views/detailsAll/components/Algorithm/AlgorithmTopDetails.vue'
|
import AlgorithmTopDetails from '@/views/detailsAll/components/Algorithm/AlgorithmTopDetails.vue'
|
||||||
import AlgorithmAssociatedAbility from '@/views/detailsAll/components/Algorithm/AlgorithmAssociatedAbility.vue'
|
import AlgorithmAssociatedAbility from '@/views/detailsAll/components/Algorithm/AlgorithmAssociatedAbility.vue'
|
||||||
import AlgorithmNavigation from '@/views/detailsAll/components/Algorithm/AlgorithmNavigation.vue'
|
import AlgorithmNavigation from '@/views/detailsAll/components/Algorithm/AlgorithmNavigation.vue'
|
||||||
import AlgorithmDisplay from '@/views/detailsAll/components/Algorithm/AlgorithmDisplay.vue'
|
import AlgorithmDisplay from '@/views/detailsAll/components/Algorithm/AlgorithmDisplay.vue'
|
||||||
import AlgorithmAdvantage from '@/views/detailsAll/components/Algorithm/AlgorithmAdvantage.vue'
|
import AlgorithmAdvantage from '@/views/detailsAll/components/Algorithm/AlgorithmAdvantage.vue'
|
||||||
import AlgorithmOnTrial from '@/views/detailsAll/components/Algorithm/AlgorithmOnTrial.vue'
|
import AlgorithmOnTrial from '@/views/detailsAll/components/Algorithm/AlgorithmOnTrial.vue'
|
||||||
import AlgorithmApplicationScenarios from '@/views/detailsAll/components/Algorithm/AlgorithmApplicationScenarios'
|
import AlgorithmApplicationScenarios from '@/views/detailsAll/components/Algorithm/AlgorithmApplicationScenarios'
|
||||||
import AlgorithmApplicationCase from '@/views/detailsAll/components/Algorithm/AlgorithmApplicationCase'
|
import AlgorithmApplicationCase from '@/views/detailsAll/components/Algorithm/AlgorithmApplicationCase'
|
||||||
import AlgorithmUsageMode from '@/views/detailsAll/components/Algorithm/AlgorithmUsageMode' //使用方式
|
import AlgorithmUsageMode from '@/views/detailsAll/components/Algorithm/AlgorithmUsageMode' //使用方式
|
||||||
import AlgorithmChargingStandard from '@/views/detailsAll/components/Algorithm/AlgorithmChargingStandard' //计费标准
|
import AlgorithmChargingStandard from '@/views/detailsAll/components/Algorithm/AlgorithmChargingStandard' //计费标准
|
||||||
import AlgorithmCommonProblem from '@/views/detailsAll/components/Algorithm/AlgorithmCommonProblem' //常见问题
|
import AlgorithmCommonProblem from '@/views/detailsAll/components/Algorithm/AlgorithmCommonProblem' //常见问题
|
||||||
import { ref, onMounted, onBeforeUnmount, reactive } from 'vue'
|
import { ref, onMounted, onBeforeUnmount, reactive } from 'vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import {
|
import {
|
||||||
updateVisits,
|
updateVisits,
|
||||||
selectOne,
|
selectOne,
|
||||||
queryPartAppByKeyId2,
|
queryPartAppByKeyId2,
|
||||||
browsingInsert,
|
browsingInsert,
|
||||||
} from '@/api/home'
|
} from '@/api/home'
|
||||||
import mybus from '@/myplugins/mybus'
|
import mybus from '@/myplugins/mybus'
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const scrollTop = ref(0)
|
const scrollTop = ref(0)
|
||||||
const domArr = ref([])
|
const domArr = ref([])
|
||||||
const loading = ref(true)
|
const loading = ref(true)
|
||||||
const selectNow = ref('')
|
const selectNow = ref('')
|
||||||
const dataList = reactive({ data: {} })
|
const dataList = reactive({ data: {} })
|
||||||
const id = router.currentRoute.value.query.id
|
const id = router.currentRoute.value.query.id
|
||||||
const obj = JSON.parse(window.sessionStorage.getItem('preview'))
|
const obj = JSON.parse(window.sessionStorage.getItem('preview'))
|
||||||
const associatedComponents = ref([{ type: '应用资源', dataList: [] }])
|
const associatedComponents = ref([{ type: '应用资源', dataList: [] }])
|
||||||
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).offsetTop - 50
|
let top = document.querySelector('#' + id).offsetTop - 50
|
||||||
// console.log(top, document.querySelector('#' + id).offsetTop)
|
// console.log(top, document.querySelector('#' + id).offsetTop)
|
||||||
document.documentElement.scrollTop = top
|
document.documentElement.scrollTop = top
|
||||||
document.body.scrollTop = top
|
document.body.scrollTop = top
|
||||||
})
|
})
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
// console.clear()
|
// console.clear()
|
||||||
window.addEventListener('scroll', () => {
|
window.addEventListener('scroll', () => {
|
||||||
domArr.value = document.querySelectorAll('.scrollBox')
|
domArr.value = document.querySelectorAll('.scrollBox')
|
||||||
scrollTop.value =
|
scrollTop.value =
|
||||||
document.documentElement.scrollTop || document.body.scrollTop
|
document.documentElement.scrollTop || document.body.scrollTop
|
||||||
for (let i = 0; i < domArr.value.length; i++) {
|
for (let i = 0; i < domArr.value.length; i++) {
|
||||||
if (i === 0) {
|
if (i === 0) {
|
||||||
if (scrollTop.value <= domArr.value[i + 1].offsetTop - 50) {
|
if (scrollTop.value <= domArr.value[i + 1].offsetTop - 50) {
|
||||||
selectNow.value = domArr.value[i].id
|
selectNow.value = domArr.value[i].id
|
||||||
}
|
}
|
||||||
} else if (i == domArr.value.length - 1) {
|
} else if (i == domArr.value.length - 1) {
|
||||||
if (scrollTop.value >= domArr.value[i].offsetTop - 50) {
|
if (scrollTop.value >= domArr.value[i].offsetTop - 50) {
|
||||||
selectNow.value = domArr.value[i].id
|
selectNow.value = domArr.value[i].id
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (
|
if (
|
||||||
scrollTop.value >= domArr.value[i].offsetTop - 50 &&
|
scrollTop.value >= domArr.value[i].offsetTop - 50 &&
|
||||||
scrollTop.value <= domArr.value[i + 1].offsetTop - 50
|
scrollTop.value <= domArr.value[i + 1].offsetTop - 50
|
||||||
) {
|
) {
|
||||||
selectNow.value = domArr.value[i].id
|
selectNow.value = domArr.value[i].id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
})
|
||||||
})
|
})
|
||||||
})
|
|
||||||
|
|
||||||
const init = (id) => {
|
const init = (id) => {
|
||||||
console.log(id, '-------------------------------------------------')
|
console.log(id, '-------------------------------------------------')
|
||||||
if (id) {
|
if (id) {
|
||||||
selectOne(id).then((res) => {
|
selectOne(id).then((res) => {
|
||||||
// console.clear()
|
// console.clear()
|
||||||
dataList.data = res.data.data
|
dataList.data = res.data.data
|
||||||
console.log('初始化详情页=========================>', dataList.data)
|
console.log('初始化详情页=========================>', dataList.data)
|
||||||
const arrList = ref([])
|
const arrList = ref([])
|
||||||
arrList.value = JSON.parse(window.sessionStorage.getItem('visits'))
|
arrList.value = JSON.parse(window.sessionStorage.getItem('visits'))
|
||||||
if (arrList.value.indexOf(id) === -1) {
|
if (arrList.value.indexOf(id) === -1) {
|
||||||
arrList.value.push(id)
|
arrList.value.push(id)
|
||||||
updateVisits({
|
updateVisits({
|
||||||
id: res.data.data.id,
|
id: res.data.data.id,
|
||||||
visits: res.data.data.visits || '0',
|
visits: res.data.data.visits || '0',
|
||||||
|
}).then(() => {
|
||||||
|
window.sessionStorage.setItem(
|
||||||
|
'visits',
|
||||||
|
JSON.stringify(arrList.value)
|
||||||
|
)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 浏览记录
|
||||||
|
browsingInsert({
|
||||||
|
resourceId: res.data.data.id,
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
window.sessionStorage.setItem(
|
console.log('浏览记录+1')
|
||||||
'visits',
|
|
||||||
JSON.stringify(arrList.value)
|
|
||||||
)
|
|
||||||
})
|
})
|
||||||
}
|
|
||||||
// 浏览记录
|
|
||||||
browsingInsert({
|
|
||||||
resourceId: res.data.data.id,
|
|
||||||
}).then(() => {
|
|
||||||
console.log('浏览记录+1')
|
|
||||||
})
|
})
|
||||||
})
|
associatedComponents.value.map((item, index) => {
|
||||||
associatedComponents.value.map((item, index) => {
|
let queryPartAppByKeyIdParams = {
|
||||||
let queryPartAppByKeyIdParams = {
|
keyId: id,
|
||||||
keyId: id,
|
}
|
||||||
}
|
queryPartAppByKeyId2(queryPartAppByKeyIdParams).then((res) => {
|
||||||
queryPartAppByKeyId2(queryPartAppByKeyIdParams).then((res) => {
|
associatedComponents.value[index].dataList = res.data.data
|
||||||
associatedComponents.value[index].dataList = res.data.data
|
loading.value = false
|
||||||
loading.value = false
|
})
|
||||||
})
|
})
|
||||||
})
|
} else if (obj) {
|
||||||
} else if (obj) {
|
dataList.data = obj
|
||||||
dataList.data = obj
|
console.log('预览==============', obj)
|
||||||
console.log('预览==============', obj)
|
}
|
||||||
}
|
}
|
||||||
}
|
init(id)
|
||||||
init(id)
|
onBeforeUnmount(() => {
|
||||||
onBeforeUnmount(() => {
|
mybus.off('flyToView')
|
||||||
mybus.off('flyToView')
|
})
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.fixed {
|
.fixed {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
z-index: 2000;
|
z-index: 2000;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 50%;
|
||||||
}
|
margin-left: -9.56rem;
|
||||||
|
}
|
||||||
|
|
||||||
.fixed2>div:nth-of-type(3) {
|
.fixed2 > div:nth-of-type(3) {
|
||||||
margin-top: 0.84rem;
|
margin-top: 0.84rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -1,179 +1,219 @@
|
||||||
<!--
|
<!--
|
||||||
* @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-18 13:55:03
|
||||||
* @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-trial
|
||||||
|
:dataList="dataList.data"
|
||||||
|
id="application-ability-trial"
|
||||||
|
class="scrollBox"
|
||||||
|
></application-ability-trial>
|
||||||
<!-- 使用能力 -->
|
<!-- 使用能力 -->
|
||||||
<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>
|
||||||
import ApplicationAbilityToise from '@/views/detailsAll/components/Application/ApplicationAbilityToise.vue'
|
import ApplicationAbilityToise from '@/views/detailsAll/components/Application/ApplicationAbilityToise.vue'
|
||||||
import ApplicationAssociatedComponents from '@/views/detailsAll/components/Application/ApplicationAssociatedComponents.vue'
|
import ApplicationAssociatedComponents from '@/views/detailsAll/components/Application/ApplicationAssociatedComponents.vue'
|
||||||
import ApplicationAssociatedAbility from '@/views/detailsAll/components/Application/ApplicationAssociatedAbility.vue'
|
import ApplicationAssociatedAbility from '@/views/detailsAll/components/Application/ApplicationAssociatedAbility.vue'
|
||||||
import ApplicationOwningDepartmentAndServiceProvider from '@/views/detailsAll/components/Application/ApplicationOwningDepartmentAndServiceProvider.vue'
|
import ApplicationOwningDepartmentAndServiceProvider from '@/views/detailsAll/components/Application/ApplicationOwningDepartmentAndServiceProvider.vue'
|
||||||
import ApplicationFunctionIntorduction from '@/views/detailsAll/components/Application/ApplicationFunctionIntorduction.vue'
|
import ApplicationFunctionIntorduction from '@/views/detailsAll/components/Application/ApplicationFunctionIntorduction.vue'
|
||||||
import ApplicationDeploymentAndSecurity from '@/views/detailsAll/components/Application/ApplicationDeploymentAndSecurity.vue'
|
import ApplicationDeploymentAndSecurity from '@/views/detailsAll/components/Application/ApplicationDeploymentAndSecurity.vue'
|
||||||
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 ApplicationCommonProblem from '@/views/detailsAll/components/Application/ApplicationCommonProblem' //常见问题
|
import ApplicationAbilityTrial from '@/views/detailsAll/components/Application/ApplicationAbilityTrial.vue'
|
||||||
import { ref, onMounted, onBeforeUnmount, reactive } from 'vue'
|
import ApplicationCommonProblem from '@/views/detailsAll/components/Application/ApplicationCommonProblem' //常见问题
|
||||||
import { useRouter } from 'vue-router'
|
import { ref, onMounted, onBeforeUnmount, reactive } from 'vue'
|
||||||
import {
|
import { useRouter } from 'vue-router'
|
||||||
updateVisits,
|
import {
|
||||||
selectOne,
|
updateVisits,
|
||||||
queryPartAppByKeyId,
|
selectOne,
|
||||||
browsingInsert,
|
queryPartAppByKeyId,
|
||||||
} from '@/api/home'
|
browsingInsert,
|
||||||
import mybus from '@/myplugins/mybus'
|
} from '@/api/home'
|
||||||
const associatedComponents = ref([{ type: '组件服务', dataList: [] }])
|
import mybus from '@/myplugins/mybus'
|
||||||
let loading = ref(true)
|
const associatedComponents = ref([{ type: '组件服务', dataList: [] }])
|
||||||
const router = useRouter()
|
let loading = ref(true)
|
||||||
const scrollTop = ref(0)
|
const router = useRouter()
|
||||||
const domArr = ref([])
|
const scrollTop = ref(0)
|
||||||
const selectNow = ref('')
|
const domArr = ref([])
|
||||||
const dataList = reactive({ data: {} })
|
const selectNow = ref('')
|
||||||
const id = router.currentRoute.value.query.id
|
const dataList = reactive({ data: {} })
|
||||||
const obj = JSON.parse(window.sessionStorage.getItem('preview'))
|
const id = router.currentRoute.value.query.id
|
||||||
document.documentElement.style.transition = 'all 0.3s ease'
|
const obj = JSON.parse(window.sessionStorage.getItem('preview'))
|
||||||
document.documentElement.scrollTop = 0
|
document.documentElement.style.transition = 'all 0.3s ease'
|
||||||
document.body.style.transition = 'all 0.3s ease'
|
document.documentElement.scrollTop = 0
|
||||||
document.body.scrollTop = 0
|
document.body.style.transition = 'all 0.3s ease'
|
||||||
mybus.on('flyToView', (id) => {
|
document.body.scrollTop = 0
|
||||||
let top = document.querySelector('#' + id).offsetTop - 50
|
mybus.on('flyToView', (id) => {
|
||||||
// console.log(top, document.querySelector('#' + id).offsetTop-50)
|
let top = document.querySelector('#' + id).offsetTop - 50
|
||||||
document.documentElement.scrollTop = top
|
// console.log(top, document.querySelector('#' + id).offsetTop-50)
|
||||||
document.body.scrollTop = top
|
document.documentElement.scrollTop = top
|
||||||
})
|
document.body.scrollTop = top
|
||||||
onMounted(() => {
|
})
|
||||||
// console.clear()
|
onMounted(() => {
|
||||||
window.addEventListener('scroll', () => {
|
// console.clear()
|
||||||
domArr.value = document.querySelectorAll('.scrollBox')
|
window.addEventListener('scroll', () => {
|
||||||
scrollTop.value =
|
domArr.value = document.querySelectorAll('.scrollBox')
|
||||||
document.documentElement.scrollTop || document.body.scrollTop
|
scrollTop.value =
|
||||||
for (let i = 0; i < domArr.value.length; i++) {
|
document.documentElement.scrollTop || document.body.scrollTop
|
||||||
if (i === 0) {
|
for (let i = 0; i < domArr.value.length; i++) {
|
||||||
if (scrollTop.value <= domArr.value[i + 1].offsetTop - 50) {
|
if (i === 0) {
|
||||||
selectNow.value = domArr.value[i].id
|
if (scrollTop.value <= domArr.value[i + 1].offsetTop - 50) {
|
||||||
}
|
selectNow.value = domArr.value[i].id
|
||||||
} else if (i == domArr.value.length - 1) {
|
}
|
||||||
if (scrollTop.value >= domArr.value[i].offsetTop - 50) {
|
} else if (i == domArr.value.length - 1) {
|
||||||
selectNow.value = domArr.value[i].id
|
if (scrollTop.value >= domArr.value[i].offsetTop - 50) {
|
||||||
}
|
selectNow.value = domArr.value[i].id
|
||||||
} else {
|
}
|
||||||
if (
|
} else {
|
||||||
scrollTop.value >= domArr.value[i].offsetTop - 50 &&
|
if (
|
||||||
scrollTop.value <= domArr.value[i + 1].offsetTop - 50
|
scrollTop.value >= domArr.value[i].offsetTop - 50 &&
|
||||||
) {
|
scrollTop.value <= domArr.value[i + 1].offsetTop - 50
|
||||||
selectNow.value = domArr.value[i].id
|
) {
|
||||||
}
|
selectNow.value = domArr.value[i].id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
})
|
})
|
||||||
})
|
|
||||||
|
|
||||||
const init = (id) => {
|
const init = (id) => {
|
||||||
if (id) {
|
if (id) {
|
||||||
selectOne(id).then((res) => {
|
selectOne(id).then((res) => {
|
||||||
// console.clear()
|
// console.clear()
|
||||||
dataList.data = res.data.data
|
dataList.data = res.data.data
|
||||||
const arrList = ref([])
|
const arrList = ref([])
|
||||||
arrList.value = JSON.parse(window.sessionStorage.getItem('visits'))
|
arrList.value = JSON.parse(window.sessionStorage.getItem('visits'))
|
||||||
console.log(
|
console.log(
|
||||||
'初始化详情页=========================>',
|
'初始化详情页=========================>',
|
||||||
dataList.data,
|
dataList.data,
|
||||||
arrList.value
|
arrList.value
|
||||||
)
|
)
|
||||||
if (arrList.value && arrList.value.indexOf(id) === -1) {
|
if (arrList.value && arrList.value.indexOf(id) === -1) {
|
||||||
arrList.value.push(id)
|
arrList.value.push(id)
|
||||||
updateVisits({
|
updateVisits({
|
||||||
id: res.data.data.id,
|
id: res.data.data.id,
|
||||||
visits: res.data.data.visits || '0',
|
visits: res.data.data.visits || '0',
|
||||||
|
}).then(() => {
|
||||||
|
window.sessionStorage.setItem(
|
||||||
|
'visits',
|
||||||
|
JSON.stringify(arrList.value)
|
||||||
|
)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 浏览记录
|
||||||
|
browsingInsert({
|
||||||
|
resourceId: res.data.data.id,
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
window.sessionStorage.setItem(
|
console.log('浏览记录+1')
|
||||||
'visits',
|
|
||||||
JSON.stringify(arrList.value)
|
|
||||||
)
|
|
||||||
})
|
})
|
||||||
}
|
|
||||||
// 浏览记录
|
|
||||||
browsingInsert({
|
|
||||||
resourceId: res.data.data.id,
|
|
||||||
}).then(() => {
|
|
||||||
console.log('浏览记录+1')
|
|
||||||
})
|
})
|
||||||
})
|
associatedComponents.value.map((item, index) => {
|
||||||
associatedComponents.value.map((item, index) => {
|
let queryPartAppByKeyIdParams = {
|
||||||
let queryPartAppByKeyIdParams = {
|
keyId: id,
|
||||||
keyId: id,
|
type: item.type,
|
||||||
type: item.type,
|
}
|
||||||
}
|
queryPartAppByKeyId(queryPartAppByKeyIdParams).then((res) => {
|
||||||
queryPartAppByKeyId(queryPartAppByKeyIdParams).then((res) => {
|
associatedComponents.value[0].dataList = res.data.data
|
||||||
associatedComponents.value[0].dataList = res.data.data
|
loading.value = false
|
||||||
loading.value = false
|
})
|
||||||
})
|
})
|
||||||
})
|
} else if (obj) {
|
||||||
} else if (obj) {
|
dataList.data = obj
|
||||||
dataList.data = obj
|
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')
|
})
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.fixed {
|
.fixed {
|
||||||
position: fixed;
|
position: sticky;
|
||||||
z-index: 2000;
|
z-index: 2000;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 50%;
|
||||||
}
|
margin-left: -9.56rem;
|
||||||
|
}
|
||||||
|
|
||||||
.fixed2>div:nth-of-type(3) {
|
.fixed2 > div:nth-of-type(3) {
|
||||||
margin-top: 0.84rem;
|
margin-top: 0.84rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -10,149 +10,178 @@
|
||||||
<!-- 头部基本信息 -->
|
<!-- 头部基本信息 -->
|
||||||
<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>
|
||||||
import BusinessApplicationCase from '@/views/detailsAll/components/Business/BusinessApplicationCase.vue' // 应用案例
|
import BusinessApplicationCase from '@/views/detailsAll/components/Business/BusinessApplicationCase.vue' // 应用案例
|
||||||
import BusinessAssociatedAbility from '@/views/detailsAll/components/Business/BusinessAssociatedAbility.vue'
|
import BusinessAssociatedAbility from '@/views/detailsAll/components/Business/BusinessAssociatedAbility.vue'
|
||||||
import BusinessApplicationScenarios from '@/views/detailsAll/components/Business/BusinessApplicationScenarios.vue' // 应用场景
|
import BusinessApplicationScenarios from '@/views/detailsAll/components/Business/BusinessApplicationScenarios.vue' // 应用场景
|
||||||
import BusinessFunctionIntorduction from '@/views/detailsAll/components/Business/BusinessFunctionIntorduction.vue' // 功能介绍
|
import BusinessFunctionIntorduction from '@/views/detailsAll/components/Business/BusinessFunctionIntorduction.vue' // 功能介绍
|
||||||
import BusinessTopDetails from '@/views/detailsAll/components/Business/BusinessTopDetails.vue' // 头部基本信息
|
import BusinessTopDetails from '@/views/detailsAll/components/Business/BusinessTopDetails.vue' // 头部基本信息
|
||||||
import BusinessNavigation from '@/views/detailsAll/components/Business/BusinessNavigation.vue' //导航条
|
import BusinessNavigation from '@/views/detailsAll/components/Business/BusinessNavigation.vue' //导航条
|
||||||
import BusinessPresentation from '@/views/detailsAll/components/Business/BusinessPresentation.vue' //组件展示
|
import BusinessPresentation from '@/views/detailsAll/components/Business/BusinessPresentation.vue' //组件展示
|
||||||
import BusinessUsageMode from '@/views/detailsAll/components/Business/BusinessUsageMode.vue' //使用方式
|
import BusinessUsageMode from '@/views/detailsAll/components/Business/BusinessUsageMode.vue' //使用方式
|
||||||
import BusinessCommonProblem from '@/views/detailsAll/components/Business/BusinessCommonProblem' //常见问题
|
import BusinessCommonProblem from '@/views/detailsAll/components/Business/BusinessCommonProblem' //常见问题
|
||||||
import { ref, onMounted, onBeforeUnmount, reactive } from 'vue'
|
import { ref, onMounted, onBeforeUnmount, reactive } from 'vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import {
|
import {
|
||||||
updateVisits,
|
updateVisits,
|
||||||
selectOne,
|
selectOne,
|
||||||
queryPartAppByKeyId2,
|
queryPartAppByKeyId2,
|
||||||
browsingInsert,
|
browsingInsert,
|
||||||
} from '@/api/home'
|
} from '@/api/home'
|
||||||
import mybus from '@/myplugins/mybus'
|
import mybus from '@/myplugins/mybus'
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const scrollTop = ref(0)
|
const scrollTop = ref(0)
|
||||||
const domArr = ref([])
|
const domArr = ref([])
|
||||||
const selectNow = ref('')
|
const selectNow = ref('')
|
||||||
const dataList = reactive({ data: {} })
|
const dataList = reactive({ data: {} })
|
||||||
const id = router.currentRoute.value.query.id
|
const id = router.currentRoute.value.query.id
|
||||||
const obj = JSON.parse(window.sessionStorage.getItem('preview'))
|
const obj = JSON.parse(window.sessionStorage.getItem('preview'))
|
||||||
const associatedComponents = ref([{ type: '应用资源', dataList: [] }])
|
const associatedComponents = ref([{ type: '应用资源', dataList: [] }])
|
||||||
let loading = ref(true)
|
let loading = ref(true)
|
||||||
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).offsetTop - 50
|
let top = document.querySelector('#' + id).offsetTop - 50
|
||||||
// console.log(top, document.querySelector('#' + id).offsetTop)
|
// console.log(top, document.querySelector('#' + id).offsetTop)
|
||||||
document.documentElement.scrollTop = top
|
document.documentElement.scrollTop = top
|
||||||
document.body.scrollTop = top
|
document.body.scrollTop = top
|
||||||
})
|
})
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
// console.clear()
|
// console.clear()
|
||||||
window.addEventListener('scroll', () => {
|
window.addEventListener('scroll', () => {
|
||||||
domArr.value = document.querySelectorAll('.scrollBox')
|
domArr.value = document.querySelectorAll('.scrollBox')
|
||||||
scrollTop.value =
|
scrollTop.value =
|
||||||
document.documentElement.scrollTop || document.body.scrollTop
|
document.documentElement.scrollTop || document.body.scrollTop
|
||||||
for (let i = 0; i < domArr.value.length; i++) {
|
for (let i = 0; i < domArr.value.length; i++) {
|
||||||
if (i === 0) {
|
if (i === 0) {
|
||||||
if (scrollTop.value <= domArr.value[i + 1].offsetTop - 50) {
|
if (scrollTop.value <= domArr.value[i + 1].offsetTop - 50) {
|
||||||
selectNow.value = domArr.value[i].id
|
selectNow.value = domArr.value[i].id
|
||||||
}
|
}
|
||||||
} else if (i == domArr.value.length - 1) {
|
} else if (i == domArr.value.length - 1) {
|
||||||
if (scrollTop.value >= domArr.value[i].offsetTop - 50) {
|
if (scrollTop.value >= domArr.value[i].offsetTop - 50) {
|
||||||
selectNow.value = domArr.value[i].id
|
selectNow.value = domArr.value[i].id
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (
|
if (
|
||||||
scrollTop.value >= domArr.value[i].offsetTop - 50 &&
|
scrollTop.value >= domArr.value[i].offsetTop - 50 &&
|
||||||
scrollTop.value <= domArr.value[i + 1].offsetTop - 50
|
scrollTop.value <= domArr.value[i + 1].offsetTop - 50
|
||||||
) {
|
) {
|
||||||
selectNow.value = domArr.value[i].id
|
selectNow.value = domArr.value[i].id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
})
|
||||||
})
|
})
|
||||||
})
|
|
||||||
|
|
||||||
const init = (id) => {
|
const init = (id) => {
|
||||||
if (id) {
|
if (id) {
|
||||||
selectOne(id).then((res) => {
|
selectOne(id).then((res) => {
|
||||||
// console.clear()
|
// console.clear()
|
||||||
dataList.data = res.data.data
|
dataList.data = res.data.data
|
||||||
console.log('初始化详情页=========================>', dataList.data)
|
console.log('初始化详情页=========================>', dataList.data)
|
||||||
const arrList = ref([])
|
const arrList = ref([])
|
||||||
arrList.value = JSON.parse(window.sessionStorage.getItem('visits'))
|
arrList.value = JSON.parse(window.sessionStorage.getItem('visits'))
|
||||||
if (arrList.value && arrList.value.indexOf(id) === -1) {
|
if (arrList.value && arrList.value.indexOf(id) === -1) {
|
||||||
arrList.value.push(id)
|
arrList.value.push(id)
|
||||||
updateVisits({
|
updateVisits({
|
||||||
id: res.data.data.id,
|
id: res.data.data.id,
|
||||||
visits: res.data.data.visits || '0',
|
visits: res.data.data.visits || '0',
|
||||||
|
}).then(() => {
|
||||||
|
window.sessionStorage.setItem(
|
||||||
|
'visits',
|
||||||
|
JSON.stringify(arrList.value)
|
||||||
|
)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 浏览记录
|
||||||
|
browsingInsert({
|
||||||
|
resourceId: res.data.data.id,
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
window.sessionStorage.setItem(
|
console.log('浏览记录+1')
|
||||||
'visits',
|
|
||||||
JSON.stringify(arrList.value)
|
|
||||||
)
|
|
||||||
})
|
})
|
||||||
}
|
|
||||||
// 浏览记录
|
|
||||||
browsingInsert({
|
|
||||||
resourceId: res.data.data.id,
|
|
||||||
}).then(() => {
|
|
||||||
console.log('浏览记录+1')
|
|
||||||
})
|
})
|
||||||
})
|
associatedComponents.value.map((item, index) => {
|
||||||
associatedComponents.value.map((item, index) => {
|
let queryPartAppByKeyIdParams = {
|
||||||
let queryPartAppByKeyIdParams = {
|
keyId: id,
|
||||||
keyId: id,
|
}
|
||||||
}
|
queryPartAppByKeyId2(queryPartAppByKeyIdParams).then((res) => {
|
||||||
queryPartAppByKeyId2(queryPartAppByKeyIdParams).then((res) => {
|
associatedComponents.value[index].dataList = res.data.data
|
||||||
associatedComponents.value[index].dataList = res.data.data
|
loading.value = false
|
||||||
loading.value = false
|
})
|
||||||
})
|
})
|
||||||
})
|
} else if (obj) {
|
||||||
} else if (obj) {
|
dataList.data = obj
|
||||||
dataList.data = obj
|
console.log('预览==============', obj)
|
||||||
console.log('预览==============', obj)
|
}
|
||||||
}
|
}
|
||||||
}
|
init(id)
|
||||||
init(id)
|
onBeforeUnmount(() => {
|
||||||
onBeforeUnmount(() => {
|
mybus.off('flyToView')
|
||||||
mybus.off('flyToView')
|
})
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.fixed {
|
.fixed {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
z-index: 2000;
|
z-index: 2000;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 50%;
|
||||||
}
|
margin-left: -9.56rem;
|
||||||
|
}
|
||||||
|
|
||||||
.fixed2>div:nth-of-type(3) {
|
.fixed2 > div:nth-of-type(3) {
|
||||||
margin-top: 0.84rem;
|
margin-top: 0.84rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -10,157 +10,188 @@
|
||||||
<!-- 头部基本信息 -->
|
<!-- 头部基本信息 -->
|
||||||
<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>
|
||||||
import DeveloperApplicationScenarios from '@/views/detailsAll/components/Developer/DeveloperApplicationScenarios.vue' //应用场景
|
import DeveloperApplicationScenarios from '@/views/detailsAll/components/Developer/DeveloperApplicationScenarios.vue' //应用场景
|
||||||
import DeveloperAssociatedAbility from '@/views/detailsAll/components/Developer/DeveloperAssociatedAbility.vue'
|
import DeveloperAssociatedAbility from '@/views/detailsAll/components/Developer/DeveloperAssociatedAbility.vue'
|
||||||
import DeveloperOwningDepartmentAndServiceProvider from '@/views/detailsAll/components/Developer/DeveloperOwningDepartmentAndServiceProvider.vue' //使用方式
|
import DeveloperOwningDepartmentAndServiceProvider from '@/views/detailsAll/components/Developer/DeveloperOwningDepartmentAndServiceProvider.vue' //使用方式
|
||||||
import DeveloperFunctionIntorduction from '@/views/detailsAll/components/Developer/DeveloperFunctionIntorduction.vue' //功能介绍
|
import DeveloperFunctionIntorduction from '@/views/detailsAll/components/Developer/DeveloperFunctionIntorduction.vue' //功能介绍
|
||||||
import DeveloperApplicationCase from '@/views/detailsAll/components/Developer/DeveloperApplicationCase' //应用案例
|
import DeveloperApplicationCase from '@/views/detailsAll/components/Developer/DeveloperApplicationCase' //应用案例
|
||||||
import DeveloperTopDetails from '@/views/detailsAll/components/Developer/DeveloperTopDetails.vue' //头部基本信息
|
import DeveloperTopDetails from '@/views/detailsAll/components/Developer/DeveloperTopDetails.vue' //头部基本信息
|
||||||
import DeveloperNavigation from '@/views/detailsAll/components/Developer/DeveloperNavigation.vue'
|
import DeveloperNavigation from '@/views/detailsAll/components/Developer/DeveloperNavigation.vue'
|
||||||
import DeveloperPresentation from '@/views/detailsAll/components/Developer/DeveloperPresentation.vue' //组件展示
|
import DeveloperPresentation from '@/views/detailsAll/components/Developer/DeveloperPresentation.vue' //组件展示
|
||||||
import DeveloperCommonProblem from '@/views/detailsAll/components/Developer/DeveloperCommonProblem' //常见问题
|
import DeveloperCommonProblem from '@/views/detailsAll/components/Developer/DeveloperCommonProblem' //常见问题
|
||||||
import DeveloperTrial from '@/views/detailsAll/components/Developer/DeveloperTrial' //组件试用
|
import DeveloperTrial from '@/views/detailsAll/components/Developer/DeveloperTrial' //组件试用
|
||||||
import { ref, onMounted, onBeforeUnmount, reactive } from 'vue'
|
import { ref, onMounted, onBeforeUnmount, reactive } from 'vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import {
|
import {
|
||||||
updateVisits,
|
updateVisits,
|
||||||
selectOne,
|
selectOne,
|
||||||
queryPartAppByKeyId2,
|
queryPartAppByKeyId2,
|
||||||
browsingInsert,
|
browsingInsert,
|
||||||
} from '@/api/home'
|
} from '@/api/home'
|
||||||
import mybus from '@/myplugins/mybus'
|
import mybus from '@/myplugins/mybus'
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const scrollTop = ref(0)
|
const scrollTop = ref(0)
|
||||||
const domArr = ref([])
|
const domArr = ref([])
|
||||||
const selectNow = ref('')
|
const selectNow = ref('')
|
||||||
const dataList = reactive({ data: {} })
|
const dataList = reactive({ data: {} })
|
||||||
const id = router.currentRoute.value.query.id
|
const id = router.currentRoute.value.query.id
|
||||||
const obj = JSON.parse(window.sessionStorage.getItem('preview'))
|
const obj = JSON.parse(window.sessionStorage.getItem('preview'))
|
||||||
const associatedComponents = ref([{ type: '应用资源', dataList: [] }])
|
const associatedComponents = ref([{ type: '应用资源', dataList: [] }])
|
||||||
let loading = ref(true)
|
let loading = ref(true)
|
||||||
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).offsetTop - 50
|
let top = document.querySelector('#' + id).offsetTop - 50
|
||||||
// console.log(top, document.querySelector('#' + id).offsetTop)
|
// console.log(top, document.querySelector('#' + id).offsetTop)
|
||||||
document.documentElement.scrollTop = top
|
document.documentElement.scrollTop = top
|
||||||
document.body.scrollTop = top
|
document.body.scrollTop = top
|
||||||
})
|
|
||||||
onMounted(() => {
|
|
||||||
// console.clear()
|
|
||||||
window.addEventListener('scroll', () => {
|
|
||||||
domArr.value = document.querySelectorAll('.scrollBox')
|
|
||||||
scrollTop.value =
|
|
||||||
document.documentElement.scrollTop || document.body.scrollTop
|
|
||||||
for (let i = 0; i < domArr.value.length; i++) {
|
|
||||||
if (i === 0) {
|
|
||||||
if (scrollTop.value <= domArr.value[i + 1].offsetTop - 50) {
|
|
||||||
selectNow.value = domArr.value[i].id
|
|
||||||
}
|
|
||||||
} else if (i == domArr.value.length - 1) {
|
|
||||||
if (scrollTop.value >= domArr.value[i].offsetTop - 50) {
|
|
||||||
selectNow.value = domArr.value[i].id
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (
|
|
||||||
scrollTop.value >= domArr.value[i].offsetTop - 50 &&
|
|
||||||
scrollTop.value <= domArr.value[i + 1].offsetTop - 50
|
|
||||||
) {
|
|
||||||
selectNow.value = domArr.value[i].id
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
})
|
onMounted(() => {
|
||||||
const init = (id) => {
|
// console.clear()
|
||||||
if (id) {
|
window.addEventListener('scroll', () => {
|
||||||
let queryPartAppByKeyIdParams = {
|
domArr.value = document.querySelectorAll('.scrollBox')
|
||||||
keyId: id,
|
scrollTop.value =
|
||||||
}
|
document.documentElement.scrollTop || document.body.scrollTop
|
||||||
queryPartAppByKeyId2(queryPartAppByKeyIdParams).then((res) => {
|
for (let i = 0; i < domArr.value.length; i++) {
|
||||||
associatedComponents.value[0].dataList = res.data.data
|
if (i === 0) {
|
||||||
loading.value = false
|
if (scrollTop.value <= domArr.value[i + 1].offsetTop - 50) {
|
||||||
})
|
selectNow.value = domArr.value[i].id
|
||||||
selectOne(id).then((res) => {
|
}
|
||||||
// console.clear()
|
} else if (i == domArr.value.length - 1) {
|
||||||
dataList.data = res.data.data
|
if (scrollTop.value >= domArr.value[i].offsetTop - 50) {
|
||||||
console.log('初始化详情页=========================>', dataList.data)
|
selectNow.value = domArr.value[i].id
|
||||||
const arrList = ref([])
|
}
|
||||||
arrList.value = JSON.parse(window.sessionStorage.getItem('visits'))
|
} else {
|
||||||
if (arrList.value && arrList.value.indexOf(id) === -1) {
|
if (
|
||||||
arrList.value.push(id)
|
scrollTop.value >= domArr.value[i].offsetTop - 50 &&
|
||||||
updateVisits({
|
scrollTop.value <= domArr.value[i + 1].offsetTop - 50
|
||||||
id: res.data.data.id,
|
) {
|
||||||
visits: res.data.data.visits || '0',
|
selectNow.value = domArr.value[i].id
|
||||||
}).then(() => {
|
}
|
||||||
window.sessionStorage.setItem(
|
}
|
||||||
'visits',
|
|
||||||
JSON.stringify(arrList.value)
|
|
||||||
)
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
// 浏览记录
|
|
||||||
browsingInsert({
|
|
||||||
resourceId: res.data.data.id,
|
|
||||||
}).then(() => {
|
|
||||||
console.log('浏览记录+1')
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
associatedComponents.value.map((item, index) => { })
|
})
|
||||||
} else if (obj) {
|
const init = (id) => {
|
||||||
dataList.data = obj
|
if (id) {
|
||||||
console.log('预览==============', obj)
|
let queryPartAppByKeyIdParams = {
|
||||||
|
keyId: id,
|
||||||
|
}
|
||||||
|
queryPartAppByKeyId2(queryPartAppByKeyIdParams).then((res) => {
|
||||||
|
associatedComponents.value[0].dataList = res.data.data
|
||||||
|
loading.value = false
|
||||||
|
})
|
||||||
|
selectOne(id).then((res) => {
|
||||||
|
// console.clear()
|
||||||
|
dataList.data = res.data.data
|
||||||
|
console.log('初始化详情页=========================>', dataList.data)
|
||||||
|
const arrList = ref([])
|
||||||
|
arrList.value = JSON.parse(window.sessionStorage.getItem('visits'))
|
||||||
|
if (arrList.value && arrList.value.indexOf(id) === -1) {
|
||||||
|
arrList.value.push(id)
|
||||||
|
updateVisits({
|
||||||
|
id: res.data.data.id,
|
||||||
|
visits: res.data.data.visits || '0',
|
||||||
|
}).then(() => {
|
||||||
|
window.sessionStorage.setItem(
|
||||||
|
'visits',
|
||||||
|
JSON.stringify(arrList.value)
|
||||||
|
)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 浏览记录
|
||||||
|
browsingInsert({
|
||||||
|
resourceId: res.data.data.id,
|
||||||
|
}).then(() => {
|
||||||
|
console.log('浏览记录+1')
|
||||||
|
})
|
||||||
|
})
|
||||||
|
associatedComponents.value.map((item, index) => {})
|
||||||
|
} else if (obj) {
|
||||||
|
dataList.data = obj
|
||||||
|
console.log('预览==============', obj)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
init(id)
|
||||||
init(id)
|
const associatedComponentsFunction = () => {
|
||||||
const associatedComponentsFunction = () => {
|
if (associatedComponents.value[0].dataList.length > 0) {
|
||||||
if (associatedComponents.value[0].dataList.length > 0) {
|
return associatedComponents.value
|
||||||
return associatedComponents.value
|
}
|
||||||
}
|
}
|
||||||
}
|
onBeforeUnmount(() => {
|
||||||
onBeforeUnmount(() => {
|
mybus.off('flyToView')
|
||||||
mybus.off('flyToView')
|
})
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.fixed {
|
.fixed {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
z-index: 2000;
|
z-index: 2000;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 50%;
|
||||||
}
|
margin-left: -9.56rem;
|
||||||
|
}
|
||||||
|
|
||||||
.fixed2>div:nth-of-type(3) {
|
.fixed2 > div:nth-of-type(3) {
|
||||||
margin-top: 0.84rem;
|
margin-top: 0.84rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -8,156 +8,189 @@
|
||||||
<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>
|
||||||
import LayerServiceApplicationCase from '@/views/detailsAll/components/LayerService/LayerServiceApplicationCase' //应用案例
|
import LayerServiceApplicationCase from '@/views/detailsAll/components/LayerService/LayerServiceApplicationCase' //应用案例
|
||||||
import LayerServiceAssociatedAbility from '@/views/detailsAll/components/LayerService/LayerServiceAssociatedAbility.vue'
|
import LayerServiceAssociatedAbility from '@/views/detailsAll/components/LayerService/LayerServiceAssociatedAbility.vue'
|
||||||
import LayerServiceApplicationScenarios from '@/views/detailsAll/components/LayerService/LayerServiceApplicationScenarios.vue' //应用场景
|
import LayerServiceApplicationScenarios from '@/views/detailsAll/components/LayerService/LayerServiceApplicationScenarios.vue' //应用场景
|
||||||
import LayerServiceCommonProblem from '@/views/detailsAll/components/LayerService/LayerServiceCommonProblem' //常见问题
|
import LayerServiceCommonProblem from '@/views/detailsAll/components/LayerService/LayerServiceCommonProblem' //常见问题
|
||||||
import LayerServiceInformation from '@/views/detailsAll/components/LayerService/LayerServiceInformation.vue' //图层信息
|
import LayerServiceInformation from '@/views/detailsAll/components/LayerService/LayerServiceInformation.vue' //图层信息
|
||||||
import LayerServiceNavigation from '@/views/detailsAll/components/LayerService/LayerServiceNavigation.vue' //导航
|
import LayerServiceNavigation from '@/views/detailsAll/components/LayerService/LayerServiceNavigation.vue' //导航
|
||||||
import LayerServicePresentation from '@/views/detailsAll/components/LayerService/LayerServicePresentation.vue' //图层展示
|
import LayerServicePresentation from '@/views/detailsAll/components/LayerService/LayerServicePresentation.vue' //图层展示
|
||||||
import LayerServicePreview from '@/views/detailsAll/components/LayerService/LayerServicePreview.vue' //图层预览
|
import LayerServicePreview from '@/views/detailsAll/components/LayerService/LayerServicePreview.vue' //图层预览
|
||||||
import LayerServiceTopDetails from '@/views/detailsAll/components/LayerService/LayerServiceTopDetails.vue' //头部基本信息
|
import LayerServiceTopDetails from '@/views/detailsAll/components/LayerService/LayerServiceTopDetails.vue' //头部基本信息
|
||||||
import LayerServiceUsageMode from '@/views/detailsAll/components/LayerService/LayerServiceUsageMode.vue' //使用方式
|
import LayerServiceUsageMode from '@/views/detailsAll/components/LayerService/LayerServiceUsageMode.vue' //使用方式
|
||||||
import { ref, onMounted, onBeforeUnmount, reactive } from 'vue'
|
import { ref, onMounted, onBeforeUnmount, reactive } from 'vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import {
|
import {
|
||||||
updateVisits,
|
updateVisits,
|
||||||
selectOne,
|
selectOne,
|
||||||
queryPartAppByKeyId2,
|
queryPartAppByKeyId2,
|
||||||
browsingInsert,
|
browsingInsert,
|
||||||
} from '@/api/home'
|
} from '@/api/home'
|
||||||
import mybus from '@/myplugins/mybus'
|
import mybus from '@/myplugins/mybus'
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const scrollTop = ref(0)
|
const scrollTop = ref(0)
|
||||||
const domArr = ref([])
|
const domArr = ref([])
|
||||||
const selectNow = ref('')
|
const selectNow = ref('')
|
||||||
const dataList = reactive({ data: {} })
|
const dataList = reactive({ data: {} })
|
||||||
const id = router.currentRoute.value.query.id
|
const id = router.currentRoute.value.query.id
|
||||||
const obj = JSON.parse(window.sessionStorage.getItem('preview'))
|
const obj = JSON.parse(window.sessionStorage.getItem('preview'))
|
||||||
const associatedComponents = ref([{ type: '应用资源', dataList: [] }])
|
const associatedComponents = ref([{ type: '应用资源', dataList: [] }])
|
||||||
let loading = ref(true)
|
let loading = ref(true)
|
||||||
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).offsetTop - 50
|
let top = document.querySelector('#' + id).offsetTop - 50
|
||||||
// console.log(top, document.querySelector('#' + id).offsetTop)
|
// console.log(top, document.querySelector('#' + id).offsetTop)
|
||||||
document.documentElement.scrollTop = top
|
document.documentElement.scrollTop = top
|
||||||
document.body.scrollTop = top
|
document.body.scrollTop = top
|
||||||
})
|
})
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
// console.clear()
|
// console.clear()
|
||||||
window.addEventListener('scroll', () => {
|
window.addEventListener('scroll', () => {
|
||||||
domArr.value = document.querySelectorAll('.scrollBox')
|
domArr.value = document.querySelectorAll('.scrollBox')
|
||||||
scrollTop.value =
|
scrollTop.value =
|
||||||
document.documentElement.scrollTop || document.body.scrollTop
|
document.documentElement.scrollTop || document.body.scrollTop
|
||||||
for (let i = 0; i < domArr.value.length; i++) {
|
for (let i = 0; i < domArr.value.length; i++) {
|
||||||
if (i === 0) {
|
if (i === 0) {
|
||||||
if (scrollTop.value <= domArr.value[i + 1].offsetTop - 50) {
|
if (scrollTop.value <= domArr.value[i + 1].offsetTop - 50) {
|
||||||
selectNow.value = domArr.value[i].id
|
selectNow.value = domArr.value[i].id
|
||||||
}
|
}
|
||||||
} else if (i == domArr.value.length - 1) {
|
} else if (i == domArr.value.length - 1) {
|
||||||
if (scrollTop.value >= domArr.value[i].offsetTop - 50) {
|
if (scrollTop.value >= domArr.value[i].offsetTop - 50) {
|
||||||
selectNow.value = domArr.value[i].id
|
selectNow.value = domArr.value[i].id
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (
|
if (
|
||||||
scrollTop.value >= domArr.value[i].offsetTop - 50 &&
|
scrollTop.value >= domArr.value[i].offsetTop - 50 &&
|
||||||
scrollTop.value <= domArr.value[i + 1].offsetTop - 50
|
scrollTop.value <= domArr.value[i + 1].offsetTop - 50
|
||||||
) {
|
) {
|
||||||
selectNow.value = domArr.value[i].id
|
selectNow.value = domArr.value[i].id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
})
|
||||||
})
|
})
|
||||||
})
|
|
||||||
|
|
||||||
const init = (id) => {
|
const init = (id) => {
|
||||||
if (id) {
|
if (id) {
|
||||||
selectOne(id).then((res) => {
|
selectOne(id).then((res) => {
|
||||||
// console.clear()
|
// console.clear()
|
||||||
dataList.data = res.data.data
|
dataList.data = res.data.data
|
||||||
console.log('初始化详情页=========================>', dataList.data)
|
console.log('初始化详情页=========================>', dataList.data)
|
||||||
const arrList = ref([])
|
const arrList = ref([])
|
||||||
arrList.value = JSON.parse(window.sessionStorage.getItem('visits'))
|
arrList.value = JSON.parse(window.sessionStorage.getItem('visits'))
|
||||||
if (arrList.value && arrList.value.indexOf(id) === -1) {
|
if (arrList.value && arrList.value.indexOf(id) === -1) {
|
||||||
arrList.value.push(id)
|
arrList.value.push(id)
|
||||||
updateVisits({
|
updateVisits({
|
||||||
id: res.data.data.id,
|
id: res.data.data.id,
|
||||||
visits: res.data.data.visits || '0',
|
visits: res.data.data.visits || '0',
|
||||||
|
}).then(() => {
|
||||||
|
window.sessionStorage.setItem(
|
||||||
|
'visits',
|
||||||
|
JSON.stringify(arrList.value)
|
||||||
|
)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 浏览记录
|
||||||
|
browsingInsert({
|
||||||
|
resourceId: res.data.data.id,
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
window.sessionStorage.setItem(
|
console.log('浏览记录+1')
|
||||||
'visits',
|
|
||||||
JSON.stringify(arrList.value)
|
|
||||||
)
|
|
||||||
})
|
})
|
||||||
}
|
|
||||||
// 浏览记录
|
|
||||||
browsingInsert({
|
|
||||||
resourceId: res.data.data.id,
|
|
||||||
}).then(() => {
|
|
||||||
console.log('浏览记录+1')
|
|
||||||
})
|
})
|
||||||
})
|
associatedComponents.value.map((item, index) => {
|
||||||
associatedComponents.value.map((item, index) => {
|
let queryPartAppByKeyIdParams = {
|
||||||
let queryPartAppByKeyIdParams = {
|
keyId: id,
|
||||||
keyId: id,
|
}
|
||||||
}
|
queryPartAppByKeyId2(queryPartAppByKeyIdParams).then((res) => {
|
||||||
queryPartAppByKeyId2(queryPartAppByKeyIdParams).then((res) => {
|
associatedComponents.value[index].dataList = res.data.data
|
||||||
associatedComponents.value[index].dataList = res.data.data
|
loading.value = false
|
||||||
loading.value = false
|
})
|
||||||
})
|
})
|
||||||
})
|
} else if (obj) {
|
||||||
} else if (obj) {
|
dataList.data = obj
|
||||||
dataList.data = obj
|
console.log('预览==============', obj)
|
||||||
console.log('预览==============', obj)
|
}
|
||||||
}
|
}
|
||||||
}
|
init(id)
|
||||||
init(id)
|
onBeforeUnmount(() => {
|
||||||
onBeforeUnmount(() => {
|
mybus.off('flyToView')
|
||||||
mybus.off('flyToView')
|
})
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.fixed {
|
.fixed {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
z-index: 2000;
|
z-index: 2000;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 50%;
|
||||||
}
|
margin-left: -9.56rem;
|
||||||
|
}
|
||||||
|
|
||||||
.fixed2>div:nth-of-type(3) {
|
.fixed2 > div:nth-of-type(3) {
|
||||||
margin-top: 0.84rem;
|
margin-top: 0.84rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -0,0 +1,179 @@
|
||||||
|
<!--
|
||||||
|
* @Author: hisense.liangjunhua
|
||||||
|
* @Date: 2022-06-09 09:29:29
|
||||||
|
* @LastEditors: hisense.liangjunhua
|
||||||
|
* @LastEditTime: 2022-06-13 15:21:26
|
||||||
|
* @Description: 应用详情
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div class="algorithm-on-trial" v-if="flag">
|
||||||
|
<detals-title title="应用详情" type="PROBATION"></detals-title>
|
||||||
|
<div class="main">
|
||||||
|
<div class="main-left">
|
||||||
|
<p>{{ dataFrom.linkName }}</p>
|
||||||
|
<p style="cursor: pointer" @click="clickLink(dataFrom.link)">
|
||||||
|
{{ dataFrom.link }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="main-center">
|
||||||
|
<p>{{ dataFrom.numberName }}</p>
|
||||||
|
<p>{{ dataFrom.number }}</p>
|
||||||
|
<div @click="copyFunction(dataFrom.number, '复制账号')">复制账号</div>
|
||||||
|
</div>
|
||||||
|
<div class="main-right">
|
||||||
|
<p>{{ dataFrom.passwordName }}</p>
|
||||||
|
<p>{{ dataFrom.password }}</p>
|
||||||
|
<div @click="copyFunction(dataFrom.password2, '复制密码')">
|
||||||
|
复制密码
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script setup>
|
||||||
|
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle.vue'
|
||||||
|
import { ref, defineProps, watch } from 'vue'
|
||||||
|
import { message } from 'ant-design-vue'
|
||||||
|
let flag = ref(true)
|
||||||
|
const props = defineProps({
|
||||||
|
dataList: { type: Object, default: null },
|
||||||
|
})
|
||||||
|
const dataFrom = ref({
|
||||||
|
linkName: '访问地址',
|
||||||
|
link: 'http://localhost:8080/#/detailsfdddffffffffffffffdfgdfgdfdgdfgdfg',
|
||||||
|
numberName: '试用账号',
|
||||||
|
number: 'zhangfeihu',
|
||||||
|
passwordName: '试用密码',
|
||||||
|
password: '**************************',
|
||||||
|
password2: '',
|
||||||
|
})
|
||||||
|
if (props.dataList.infoList) {
|
||||||
|
let obj = props.dataList.applyState
|
||||||
|
if (obj !== '已申请') {
|
||||||
|
flag.value = false
|
||||||
|
} else {
|
||||||
|
props.dataList.infoList.map((item) => {
|
||||||
|
if (item.attrType == '访问地址') {
|
||||||
|
dataFrom.value.link = item.attrValue
|
||||||
|
} else if (item.attrType == '试用用户名') {
|
||||||
|
dataFrom.value.number = item.attrValue
|
||||||
|
} else if (item.attrType == '试用密码') {
|
||||||
|
dataFrom.value.password2 = item.attrValue
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const clickLink = (link) => {
|
||||||
|
window.open(link)
|
||||||
|
}
|
||||||
|
//复制方法
|
||||||
|
const copyFunction = (data, name) => {
|
||||||
|
let url = data
|
||||||
|
let oInput = document.createElement('input')
|
||||||
|
oInput.value = url
|
||||||
|
document.body.appendChild(oInput)
|
||||||
|
oInput.select() // 选择对象;
|
||||||
|
console.log(oInput.value)
|
||||||
|
document.execCommand('Copy') // 执行浏览器复制命令
|
||||||
|
oInput.remove() // 执行浏览器复制命令
|
||||||
|
message.success(name + '成功')
|
||||||
|
}
|
||||||
|
message.config({
|
||||||
|
top: '100px', // 距离顶部的位置
|
||||||
|
})
|
||||||
|
// const success = () => {
|
||||||
|
// message.success({
|
||||||
|
// // content: 'This is a prompt message with custom className and style',
|
||||||
|
// className: 'custom-class',
|
||||||
|
// style: {},
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
watch(
|
||||||
|
() => props.dataList,
|
||||||
|
(val) => {
|
||||||
|
if (val) {
|
||||||
|
let obj = props.dataList.applyState
|
||||||
|
if (obj !== '已申请') {
|
||||||
|
flag.value = false
|
||||||
|
} else {
|
||||||
|
props.dataList.infoList.map((item) => {
|
||||||
|
if (item.attrType == '访问地址') {
|
||||||
|
dataFrom.value.link = item.attrValue
|
||||||
|
} else if (item.attrType == '试用用户名') {
|
||||||
|
dataFrom.value.number = item.attrValue
|
||||||
|
} else if (item.attrType == '试用密码') {
|
||||||
|
dataFrom.value.password2 = item.attrValue
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
</script>
|
||||||
|
<style lang="less" scoped>
|
||||||
|
.algorithm-on-trial {
|
||||||
|
padding: 0.8rem 0px 0.8rem;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
.main {
|
||||||
|
margin-top: 0.3rem;
|
||||||
|
width: 13rem;
|
||||||
|
height: 2.5rem;
|
||||||
|
background: url('~@/assets/detailsAll/kfzj_sybg.png') no-repeat;
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 33.33% 33.33% 33.33%;
|
||||||
|
align-items: center;
|
||||||
|
.main-left {
|
||||||
|
border-right: 0.01rem #ffffff solid;
|
||||||
|
padding-left: 0.7rem;
|
||||||
|
padding-right: 1rem;
|
||||||
|
& > p {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.main-center {
|
||||||
|
padding-left: 1rem;
|
||||||
|
padding-right: 1rem;
|
||||||
|
}
|
||||||
|
.main-right {
|
||||||
|
padding-right: 0.7rem;
|
||||||
|
}
|
||||||
|
& > div > p:first-child {
|
||||||
|
font-size: 0.26rem;
|
||||||
|
color: #ffffff;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
& > div > p:nth-child(2) {
|
||||||
|
font-size: 0.22rem;
|
||||||
|
color: #ffffff;
|
||||||
|
line-height: 0.34rem;
|
||||||
|
}
|
||||||
|
& > div:first-child > p:last-child {
|
||||||
|
text-decoration: underline;
|
||||||
|
word-wrap: break-word;
|
||||||
|
word-break: normal;
|
||||||
|
}
|
||||||
|
& > div > div:last-child {
|
||||||
|
height: 0.34rem;
|
||||||
|
width: 1.1rem;
|
||||||
|
border: 0.01rem solid #ffffff;
|
||||||
|
border-radius: 0.06rem;
|
||||||
|
font-size: 0.18rem;
|
||||||
|
color: #ffffff;
|
||||||
|
cursor: pointer;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 0.34rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<style>
|
||||||
|
.custom-class {
|
||||||
|
/* top: 100px; */
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -75,13 +75,14 @@
|
||||||
attrValue: '是',
|
attrValue: '是',
|
||||||
}
|
}
|
||||||
dataFrom.value.content[1].childrenContent.push(isAndNo)
|
dataFrom.value.content[1].childrenContent.push(isAndNo)
|
||||||
} else if (item.attrType === '访问地址') {
|
|
||||||
let obj = {
|
|
||||||
attrType: '访问地址',
|
|
||||||
attrValue: item.attrValue || '------',
|
|
||||||
}
|
|
||||||
dataFrom.value.content[0].childrenContent.push(obj)
|
|
||||||
}
|
}
|
||||||
|
// } else if (item.attrType === '访问地址') {
|
||||||
|
// let obj = {
|
||||||
|
// attrType: '访问地址',
|
||||||
|
// attrValue: item.attrValue || '------',
|
||||||
|
// }
|
||||||
|
// dataFrom.value.content[0].childrenContent.push(obj)
|
||||||
|
// }
|
||||||
})
|
})
|
||||||
if (dataFrom.value.content[1].childrenContent.length <= 0) {
|
if (dataFrom.value.content[1].childrenContent.length <= 0) {
|
||||||
let data = [
|
let data = [
|
||||||
|
@ -99,12 +100,12 @@
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//访问地址跳转方法
|
// //访问地址跳转方法
|
||||||
const addressFunction = (name, itemValue) => {
|
// const addressFunction = (name, itemValue) => {
|
||||||
if (name == '访问地址') {
|
// if (name == '访问地址') {
|
||||||
window.open(itemValue)
|
// window.open(itemValue)
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
watch(
|
watch(
|
||||||
() => props.dataList,
|
() => props.dataList,
|
||||||
(val) => {
|
(val) => {
|
||||||
|
@ -125,13 +126,14 @@
|
||||||
attrValue: '是',
|
attrValue: '是',
|
||||||
}
|
}
|
||||||
dataFrom.value.content[1].childrenContent.push(isAndNo)
|
dataFrom.value.content[1].childrenContent.push(isAndNo)
|
||||||
} else if (item.attrType === '访问地址') {
|
|
||||||
let obj = {
|
|
||||||
attrType: '访问地址',
|
|
||||||
attrValue: item.attrValue || '------',
|
|
||||||
}
|
|
||||||
dataFrom.value.content[0].childrenContent.push(obj)
|
|
||||||
}
|
}
|
||||||
|
// } else if (item.attrType === '访问地址') {
|
||||||
|
// let obj = {
|
||||||
|
// attrType: '访问地址',
|
||||||
|
// attrValue: item.attrValue || '------',
|
||||||
|
// }
|
||||||
|
// dataFrom.value.content[0].childrenContent.push(obj)
|
||||||
|
// }
|
||||||
})
|
})
|
||||||
if (dataFrom.value.content[1].childrenContent.length <= 0) {
|
if (dataFrom.value.content[1].childrenContent.length <= 0) {
|
||||||
debugger
|
debugger
|
||||||
|
|
|
@ -41,6 +41,10 @@
|
||||||
name: '使用能力',
|
name: '使用能力',
|
||||||
key: 'ability-to-use',
|
key: 'ability-to-use',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: '应用详情',
|
||||||
|
key: 'application-ability-trial',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: '部署与安全',
|
name: '部署与安全',
|
||||||
key: 'deployment-and-security',
|
key: 'deployment-and-security',
|
||||||
|
@ -96,6 +100,11 @@
|
||||||
list.value.push(item.attrType)
|
list.value.push(item.attrType)
|
||||||
} else if (item.attrType === '应用展示视频') {
|
} else if (item.attrType === '应用展示视频') {
|
||||||
list.value.push('应用展示')
|
list.value.push('应用展示')
|
||||||
|
} else if (
|
||||||
|
item.attrType === '访问地址' &&
|
||||||
|
props.dataList.applyState === '已申请'
|
||||||
|
) {
|
||||||
|
list.value.push('应用详情')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
list.value.unshift('关联组件')
|
list.value.unshift('关联组件')
|
||||||
|
@ -137,6 +146,11 @@
|
||||||
list.value.push(item.attrType)
|
list.value.push(item.attrType)
|
||||||
} else if (item.attrType === '应用展示视频') {
|
} else if (item.attrType === '应用展示视频') {
|
||||||
list.value.push('应用展示')
|
list.value.push('应用展示')
|
||||||
|
} else if (
|
||||||
|
item.attrType === '访问地址' &&
|
||||||
|
props.dataList.applyState === '已申请'
|
||||||
|
) {
|
||||||
|
list.value.push('应用详情')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
list.value.unshift('关联组件')
|
list.value.unshift('关联组件')
|
||||||
|
|
|
@ -89,6 +89,7 @@
|
||||||
list.value = []
|
list.value = []
|
||||||
props.dataList.infoList.map((item) => {
|
props.dataList.infoList.map((item) => {
|
||||||
if (
|
if (
|
||||||
|
item.attrType === '功能介绍' ||
|
||||||
item.attrType === '常见问题' ||
|
item.attrType === '常见问题' ||
|
||||||
item.attrType === '应用案例' ||
|
item.attrType === '应用案例' ||
|
||||||
item.attrType === '应用场景'
|
item.attrType === '应用场景'
|
||||||
|
@ -101,6 +102,7 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
list.value.unshift('关联应用')
|
list.value.unshift('关联应用')
|
||||||
|
list.value.push('使用方式')
|
||||||
navList.value.forEach((item) => {
|
navList.value.forEach((item) => {
|
||||||
console.log(item)
|
console.log(item)
|
||||||
if (list.value.indexOf(item.name) > -1) {
|
if (list.value.indexOf(item.name) > -1) {
|
||||||
|
|
|
@ -95,9 +95,9 @@
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item
|
<a-form-item
|
||||||
class="applicationScene"
|
class="applicationScene"
|
||||||
label="应用场景"
|
label="应用领域"
|
||||||
name="applicationScene"
|
name="applicationScene"
|
||||||
:rules="[{ required: true, message: '请选择应用场景' }]"
|
:rules="[{ required: true, message: '请选择应用领域' }]"
|
||||||
style="width: 6.93rem"
|
style="width: 6.93rem"
|
||||||
>
|
>
|
||||||
<a-select
|
<a-select
|
||||||
|
@ -105,7 +105,7 @@
|
||||||
:options="applicationSceneOpthion"
|
:options="applicationSceneOpthion"
|
||||||
mode="tags"
|
mode="tags"
|
||||||
:size="size"
|
:size="size"
|
||||||
placeholder="请选择应用场景"
|
placeholder="请选择应用领域"
|
||||||
:filterOption="false"
|
:filterOption="false"
|
||||||
:searchValue="false"
|
:searchValue="false"
|
||||||
style="width: 5.87rem"
|
style="width: 5.87rem"
|
||||||
|
@ -304,7 +304,7 @@
|
||||||
)
|
)
|
||||||
: list.value[0].arr[0].resourceName.concat('能力申请'), // 标题
|
: list.value[0].arr[0].resourceName.concat('能力申请'), // 标题
|
||||||
applicationSystem: [], // 应用系统
|
applicationSystem: [], // 应用系统
|
||||||
applicationScene: [], // 应用场景
|
applicationScene: [], // 应用领域
|
||||||
applicationBackground: '', // 应用背景
|
applicationBackground: '', // 应用背景
|
||||||
effectWish: '', // 期望效果
|
effectWish: '', // 期望效果
|
||||||
user: '',
|
user: '',
|
||||||
|
|
|
@ -7,7 +7,8 @@
|
||||||
]"
|
]"
|
||||||
>
|
>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
<div class="name-bg"></div>
|
<div class="name-bg" v-if="!whoShow1.itShowXiHaiAn"></div>
|
||||||
|
<div class="name-bg-xihaian" v-else></div>
|
||||||
城市云脑通用能力服务平台
|
城市云脑通用能力服务平台
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
|
@ -137,6 +138,7 @@
|
||||||
// // { name: '后台管理', key: 'houtaiguanli' },
|
// // { name: '后台管理', key: 'houtaiguanli' },
|
||||||
// { name: '赋能案例', key: 'assignCase' },
|
// { name: '赋能案例', key: 'assignCase' },
|
||||||
// ])
|
// ])
|
||||||
|
const whoShow1 = whoShow
|
||||||
const user = ref({
|
const user = ref({
|
||||||
username: store.getters['user/username'],
|
username: store.getters['user/username'],
|
||||||
})
|
})
|
||||||
|
@ -353,6 +355,14 @@
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
margin-right: 0.15rem;
|
margin-right: 0.15rem;
|
||||||
}
|
}
|
||||||
|
.name-bg-xihaian {
|
||||||
|
height: 0.6rem;
|
||||||
|
width: 0.6rem;
|
||||||
|
background: url('~@/assets/newHome/newHome-title-bg-xihaian.png')
|
||||||
|
no-repeat;
|
||||||
|
background-size: 100%;
|
||||||
|
margin-right: 0.15rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.nav {
|
.nav {
|
||||||
width: 1.2rem;
|
width: 1.2rem;
|
||||||
|
|
Loading…
Reference in New Issue