hi-ucs/front/src/views/detailsAll/components/Business/BusinessUsageMode.vue

465 lines
14 KiB
Vue
Raw Normal View History

2022-06-20 18:38:56 +08:00
<template>
<!-- 使用方式 -->
2022-07-15 11:03:21 +08:00
<div class="usage-mode" v-if="true">
2022-06-20 18:38:56 +08:00
<div class="tltle">
<DetalsTitle
:title="dataFrom.title"
:type="dataFrom.englishTitle"
></DetalsTitle>
2022-06-20 18:38:56 +08:00
</div>
2022-09-21 17:56:11 +08:00
<div style="width: 100%; display: flex; justify-content: center"
2022-08-24 12:54:40 +08:00
>
2022-08-27 14:25:03 +08:00
<div class="content" v-for="item in dataFrom.content" :key="item.title">
2022-08-23 17:47:24 +08:00
<div class="content-left">
<div class="left">
<div class="content-left-title">
<span>{{ item.title }}</span>
</div>
<div class="content-left-content">
<p>
<span>{{ item.link.name }}</span>
<a-tooltip>
2022-08-27 14:25:03 +08:00
<template #title>
{{
approveStatus === '通过' ? item.linkValue : '请申请后查看'
}}
</template>
<span :class="{ 'blur-word': approveStatus !== '通过' }">
{{ item.linkValue }}
</span>
2022-08-23 17:47:24 +08:00
</a-tooltip>
</p>
</div>
2022-06-20 18:38:56 +08:00
</div>
2022-08-23 17:47:24 +08:00
<div class="right">
<div @click="technical()">技术文档</div>
<div @click="technicalNew()">新手指引</div>
2022-06-20 18:38:56 +08:00
</div>
</div>
2022-08-23 17:47:24 +08:00
<div class="content-right">
<div class="content-right-left">
<div class="content-right-title">{{ item.contact }}</div>
<div class="content-right-content">
<p>
<span>{{ item.facilitator.name }}</span>
<a-tooltip>
<template #title>{{ item.facilitator.value }}</template>
<span>{{ item.facilitator.value }}</span>
</a-tooltip>
</p>
<p>
<span>{{ item.people.name }}</span>
<a-tooltip>
2022-08-27 14:25:03 +08:00
<template #title>
{{
approveStatus === '通过'
? item.people.value
: '请申请后查看'
}}
</template>
<span :class="{ 'blur-word': approveStatus !== '通过' }">
{{ item.people.value }}
</span>
2022-08-23 17:47:24 +08:00
</a-tooltip>
</p>
<p>
<span>{{ item.phone.name }}</span>
<a-tooltip>
2022-08-27 14:25:03 +08:00
<template #title>
{{
approveStatus === '通过'
? item.phone.value
: '请申请后查看'
}}
</template>
<span :class="{ 'blur-word': approveStatus !== '通过' }">
{{ item.phone.value }}
</span>
2022-08-23 17:47:24 +08:00
</a-tooltip>
</p>
</div>
</div>
<div class="content-right-right">
<div class="content-right-title">{{ item.contact2 }}</div>
<div class="content-right-content">
<p>
<span>{{ item.facilitator2.name }}</span>
<a-tooltip>
<template #title>{{ item.facilitator2.value }}</template>
<span>{{ item.facilitator2.value }}</span>
</a-tooltip>
</p>
<p>
<span>{{ item.people2.name }}</span>
<a-tooltip>
<template #title>{{ item.people2.value }}</template>
<span>{{ item.people2.value }}</span>
</a-tooltip>
</p>
<p>
<span>{{ item.phone2.name }}</span>
<a-tooltip>
<template #title>{{ item.phone2.value }}</template>
<span>{{ item.phone2.value }}</span>
</a-tooltip>
</p>
</div>
</div>
2022-06-20 18:38:56 +08:00
</div>
</div>
2022-08-27 14:25:03 +08:00
<!-- <div v-show="approveStatus !== '通过'" class="contentOther">
2022-08-24 12:54:40 +08:00
<img src="~@/assets/detailsAll/uesBefore.png" />
<div class="contentOtherRight">
<p>请在申请能力后返回查看使用方式</p>
<div @click="toView()">进入能力申请</div>
</div>
2022-08-27 14:25:03 +08:00
</div> -->
2022-08-23 17:47:24 +08:00
</div>
2022-06-20 18:38:56 +08:00
</div>
</template>
<script setup>
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle'
import { pinyin } from 'pinyin-pro'
import { ref, defineProps, watch } from 'vue'
import { message } from 'ant-design-vue'
2022-08-24 12:54:40 +08:00
import { useRouter } from 'vue-router'
const router = useRouter()
2022-08-23 17:47:24 +08:00
const approveStatus = ref('通过')
const whoShow1 = ref(whoShow)
let dataFrom = ref({
title: '使用方式',
englishTitle: 'USAGE',
content: [
{
title: '组件地址',
link: {
name: '接口地址:',
},
linkValue: '',
contact: '归属部门',
facilitator: { name: '归属部门:', value: '' },
people: { name: '部门联系人:', value: '' },
phone: {
name: '联系人电话:',
value: '',
},
contact2: '服务商',
facilitator2: { name: '服务商:', value: '' },
people2: { name: '服务商联系人:', value: '' },
phone2: {
name: '联系人电话:',
value: '',
},
2022-06-20 18:38:56 +08:00
},
],
})
//数据初始化
const props = defineProps({
dataList: { type: Object, default: null },
})
const flag = ref(true)
2022-08-24 12:54:40 +08:00
//立即申请
function toView() {
// window.open(newpage.href, '_blank')
console.log('一键申请===================>', props.dataList)
localStorage.setItem(
'applyList',
JSON.stringify([
{
arr: [
{
delFlag: props.dataList.delFlag,
description: props.dataList.description,
resourceId: props.dataList.id,
resourceName: props.dataList.name,
time: props.dataList.createDate,
type: props.dataList.type,
componentType: '智能算法',
},
],
deptId: props.dataList.deptId,
deptName: props.dataList.deptName,
},
])
)
router.push({
path: '/apply',
})
}
if (props.dataList.infoList) {
2022-07-22 10:50:39 +08:00
let obj = true
if (!obj) {
flag.value = false
} else {
// eslint-disable-next-line vue/no-setup-props-destructure
2022-07-15 16:55:13 +08:00
dataFrom.value.content[0].link.value = props.dataList.apiUrl || '--'
dataFrom.value.content[0].facilitator.value =
props.dataList.deptName || '--'
dataFrom.value.content[0].people.value =
props.dataList.deptContacts || '--'
dataFrom.value.content[0].phone.value = props.dataList.deptPhone || '--'
console.log('dataList', props.dataList)
props.dataList.infoList.map((item) => {
if (item.attrType === '组件地址') {
dataFrom.value.content[0].linkValue = item.attrValue || '--'
} else if (item.attrType === '服务商') {
dataFrom.value.content[0].facilitator2.value = item.attrValue || '--'
} else if (item.attrType === '服务商联系人') {
dataFrom.value.content[0].people2.value = item.attrValue || '--'
} else if (item.attrType === '服务商联系电话') {
dataFrom.value.content[0].phone2.value = item.attrValue || '--'
}
})
}
2022-06-20 18:38:56 +08:00
}
watch(
() => props.dataList,
(val) => {
if (val) {
2022-07-22 10:50:39 +08:00
let obj = true
if (!obj) {
flag.value = false
} else {
2022-08-23 17:47:24 +08:00
approveStatus.value = val.approveStatus
2022-07-15 16:55:13 +08:00
dataFrom.value.content[0].link.value = val.apiUrl || '--'
dataFrom.value.content[0].facilitator.value = val.deptName || '--'
dataFrom.value.content[0].people.value = val.deptContacts || '--'
dataFrom.value.content[0].phone.value = val.deptPhone || '--'
console.log('dataList', val)
val.infoList.map((item) => {
if (item.attrType === '组件地址') {
dataFrom.value.content[0].linkValue = item.attrValue || '--'
} else if (item.attrType === '服务商') {
dataFrom.value.content[0].facilitator2.value =
item.attrValue || '--'
} else if (item.attrType === '服务商联系人') {
dataFrom.value.content[0].people2.value = item.attrValue || '--'
} else if (item.attrType === '服务商联系电话') {
dataFrom.value.content[0].phone2.value = item.attrValue || '--'
}
})
}
2022-06-20 18:38:56 +08:00
}
}
2022-07-05 15:00:38 +08:00
)
function technical() {
// 拼接路径
// const type = pinyin(props.dataList.type, {
// pattern: 'initial',
// }).replace(/\s*/g, '')
// // 打开文档
// const id = props.dataList.id
// window.open(window.SITE_CONFIG.frontUrl + type + '/' + id + '.md', '_blank')
// console.log('dataFrom.value.link', dataFrom.value.link)
let obj = props.dataList.infoList.filter(
(item) => item.attrType === '技术文档'
)[0]
if (obj) {
2022-07-14 14:55:49 +08:00
window.open(window.SITE_CONFIG.frontUrl + obj.attrValue)
} else {
message.config({
top: '100px', // 距离顶部的位置
})
2022-07-20 16:21:28 +08:00
message.error('暂未开放技术文档')
}
}
function technicalNew() {
// 拼接路径
// const type = pinyin(props.dataList.type, {
// pattern: 'initial',
// }).replace(/\s*/g, '')
// // 打开文档
// const id = props.dataList.id
// window.open(window.SITE_CONFIG.frontUrl + type + '/' + id + '.md', '_blank')
let obj = props.dataList.infoList.filter(
(item) => item.attrType === '使用手册'
)[0]
if (obj) {
window.open(
window.SITE_CONFIG.previewUrl +
'hisense_office/onlinePreview?url=' +
btoa(encodeURI(obj.attrValue))
)
} else {
message.config({
top: '100px', // 距离顶部的位置
})
2022-08-03 15:20:27 +08:00
message.error('暂未开放新手指引')
}
}
2022-06-20 18:38:56 +08:00
</script>
<style lang="less" scoped>
.usage-mode {
2022-06-20 18:38:56 +08:00
display: flex;
flex-direction: column;
align-items: center;
padding: 0.8rem 0;
2022-08-27 14:25:03 +08:00
.blur-word {
filter: blur(4px);
}
.content {
margin-top: 0.3rem;
2022-06-20 18:38:56 +08:00
display: flex;
2022-07-05 15:00:38 +08:00
.content-left {
height: 1.5rem;
width: 6.2rem;
background: url('~@/assets/detailsAll/business/business_usage_mode_bg.png')
no-repeat;
background-position: center;
background-size: 100% 100%;
border-radius: 0.1rem;
margin-right: 0.6rem;
box-shadow: 0rem 0.05rem 0.15rem rgba(82, 106, 255, 0.4);
display: flex;
align-items: center;
padding: 0 0.35rem;
2022-07-05 15:00:38 +08:00
.left {
.content-left-title {
font-size: 0.26rem;
line-height: 0.26rem;
color: #212956;
margin-bottom: 0.2rem;
2022-07-05 15:00:38 +08:00
span:first-child {
margin-right: 0.1rem;
}
}
2022-07-05 15:00:38 +08:00
.content-left-content {
width: 4.2rem;
font-size: 0.2rem;
color: rgba(33, 41, 86, 0.8);
line-height: 0.2rem;
2022-07-06 12:05:05 +08:00
p {
2022-07-06 12:05:05 +08:00
display: -webkit-box;
margin-bottom: 0.1rem;
span:last-of-type {
width: 298px;
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
2022-07-19 09:42:41 +08:00
word-break: break-all;
}
2022-07-06 12:05:05 +08:00
}
2022-07-05 15:00:38 +08:00
}
}
.right {
div {
height: 0.4rem;
width: 1.3rem;
background: #ffffff;
border-radius: 0.2rem;
color: #526aff;
font-size: 0.2rem;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
}
2022-07-05 15:00:38 +08:00
div:first-child {
margin-bottom: 0.2rem;
}
2022-07-05 15:00:38 +08:00
}
}
.content-right {
height: 1.5rem;
width: 6.2rem;
background: url('~@/assets/detailsAll/business/business_usage_mode_bg.png')
no-repeat;
background-position: center;
background-size: 100% 100%;
border-radius: 0.1rem;
box-shadow: 0rem 0.05rem 0.15rem rgba(82, 106, 255, 0.4);
display: flex;
justify-content: space-around;
align-items: center;
padding: 0 0.3rem;
2022-07-05 15:00:38 +08:00
.content-right-left {
border-right: 0.01rem solid #707fe0;
padding-right: 0.1rem;
2022-07-29 11:02:16 +08:00
margin-right: 0.3rem;
}
2022-07-05 15:00:38 +08:00
.content-right-title {
font-size: 0.26rem;
line-height: 0.26rem;
color: #212956;
margin-bottom: 0.15rem;
}
2022-07-05 15:00:38 +08:00
.content-right-content {
display: flex;
font-size: 0.16rem;
color: rgba(33, 41, 86, 0.8);
line-height: 0.2rem;
overflow: hidden;
2022-07-05 15:00:38 +08:00
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
flex-direction: column;
2022-07-19 09:42:41 +08:00
word-break: break-all;
2022-07-05 15:00:38 +08:00
p {
2022-07-29 11:02:16 +08:00
min-width: 2.2rem;
height: 0.2rem;
display: -webkit-box;
2022-07-29 11:02:16 +08:00
overflow: hidden;
margin-bottom: 0.08rem;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
margin-right: 0.15rem;
2022-07-19 09:42:41 +08:00
word-break: break-all;
span {
cursor: pointer;
}
2022-06-20 18:38:56 +08:00
}
}
}
}
2022-08-24 12:54:40 +08:00
.contentOther {
width: 80%;
height: 4rem;
border: 1px dashed #7b98fd;
margin-top: 0.3rem;
display: flex;
justify-content: center;
align-items: center;
img {
margin-right: 2rem;
}
.contentOtherRight {
p {
font-weight: bold;
font-size: 0.2rem;
}
div {
width: 1.3rem;
height: 0.4rem;
line-height: 0.4rem;
background: #0885ff;
color: #ffffff;
border-radius: 0.05rem;
font-size: 0.18rem;
text-align: center;
cursor: pointer;
transition: all 0.3s;
}
div:hover {
background: #359bff;
}
}
}
2022-06-20 18:38:56 +08:00
}
</style>