Compare commits

...

2 Commits

1 changed files with 114 additions and 158 deletions

View File

@ -7,84 +7,62 @@
<div class="dataTitleSon"> <div class="dataTitleSon">
{{ itemson.name }} {{ itemson.name }}
</div> </div>
<div <div class="dataContent" v-if="
class="dataContent" itemson.name !== '算法优势' &&
v-if=" itemson.name !== '应用场景' &&
itemson.name !== '算法优势' && itemson.name !== '功能介绍'
itemson.name !== '应用场景' && ">
itemson.name !== '功能介绍' <el-form-item v-for="itemsonson in itemson.children" :key="itemsonson.name" :label="
" itemsonson.type != ' multipleAdditions' ? itemsonson.name : ''
> " v-show="
<el-form-item !(
v-for="itemsonson in itemson.children" itemsonson.name === '平台地址' ||
:key="itemsonson.name" itemsonson.name === 'SDK安装包' ||
:label=" itemsonson.name === '接口请求方式' ||
itemsonson.type != ' multipleAdditions' ? itemsonson.name : '' itemsonson.name === '服务接口'
" )
v-show=" ">
!( <div class="videoAndImgCss" v-if="
itemsonson.name === '平台地址' || itemsonson.type === 'video' || itemsonson.type === 'image'
itemsonson.name === 'SDK安装包' || " @click="videoAndImg(itemsonson.note1)">
itemsonson.name === '接口请求方式' ||
itemsonson.name === '服务接口'
)
"
>
<div
class="videoAndImgCss"
v-if="
itemsonson.type === 'video' || itemsonson.type === 'image'
"
@click="videoAndImg(itemsonson.note1)"
>
浏览 浏览
</div> </div>
<div <div class="videoAndImgCss" v-if="
class="videoAndImgCss" itemsonson.name === '上传附件'
v-if=" " @click="videoAndImg(itemsonson.note1)">
itemsonson.name === '上传附件'
"
@click="videoAndImg(itemsonson.note1)"
>
下载 下载
</div> </div>
<div <div v-else-if="itemsonson.type === ' multipleAdditions'" class="multipleAdditionsClass">
v-else-if="itemsonson.type === ' multipleAdditions'" <div v-for="multipleAdditionsItem in itemsonson.note1" :key="multipleAdditionsItem">
class="multipleAdditionsClass"
>
<div
v-for="multipleAdditionsItem in itemsonson.note1"
:key="multipleAdditionsItem"
>
<el-tooltip placement="top"> <el-tooltip placement="top">
<div slot="content"> <div slot="content">
{{ {{
multipleAdditionsItem.question || multipleAdditionsItem.question ||
multipleAdditionsItem.type || multipleAdditionsItem.type ||
multipleAdditionsItem.name multipleAdditionsItem.name
}} }}
</div> </div>
<div> <div>
{{ {{
multipleAdditionsItem.question || multipleAdditionsItem.question ||
multipleAdditionsItem.type || multipleAdditionsItem.type ||
multipleAdditionsItem.name multipleAdditionsItem.name
}} }}
</div> </div>
</el-tooltip> </el-tooltip>
<el-tooltip placement="top"> <el-tooltip placement="top">
<div slot="content"> <div slot="content">
{{ {{
multipleAdditionsItem.answer || multipleAdditionsItem.answer ||
multipleAdditionsItem.price || multipleAdditionsItem.price ||
multipleAdditionsItem.img multipleAdditionsItem.img
}} }}
</div> </div>
<div> <div>
{{ {{
multipleAdditionsItem.answer || multipleAdditionsItem.answer ||
multipleAdditionsItem.price || multipleAdditionsItem.price ||
multipleAdditionsItem.img multipleAdditionsItem.img
}} }}
</div> </div>
</el-tooltip> </el-tooltip>
@ -95,54 +73,31 @@
<!-- <div>{{ multipleAdditionsItem }}</div> --> <!-- <div>{{ multipleAdditionsItem }}</div> -->
</div> </div>
</div> </div>
<el-tooltip v-else placement="top" :disabled="itemsonson.note1 !== null?false:true" :content="itemsonson.note1"> <el-tooltip v-else placement="top" :disabled="itemsonson.note1 !== null ? false : true"
:content="itemsonson.note1">
<!-- <div slot="content" v-show="itemsonson.note1">{{ itemsonson.note1 }}</div> --> <!-- <div slot="content" v-show="itemsonson.note1">{{ itemsonson.note1 }}</div> -->
<el-input <el-input v-model="itemsonson.note1" disabled="disabled"></el-input>
v-model="itemsonson.note1"
disabled="disabled"
></el-input>
</el-tooltip> </el-tooltip>
</el-form-item> </el-form-item>
<el-form-item <el-form-item v-for="itemsonson in itemson.children" :key="itemsonson.name" :label="
v-for="itemsonson in itemson.children" itemsonson.type != ' multipleAdditions' ? itemsonson.name : ''
:key="itemsonson.name" " v-show="
:label=" (itemsonson.name === '平台地址' && showDocking) ||
itemsonson.type != ' multipleAdditions' ? itemsonson.name : '' (itemsonson.name === 'SDK安装包' && showSDK) ||
" (itemsonson.name === '接口请求方式' && showInterface) ||
v-show=" (itemsonson.name === '服务接口' && showInterface)
(itemsonson.name === '平台地址' && showDocking) || ">
(itemsonson.name === 'SDK安装包' && showSDK) || <el-tooltip placement="top" :disabled="itemsonson.note1 !== null ? false : true" :content="itemsonson.note1">
(itemsonson.name === '接口请求方式' && showInterface) || <el-input v-model="itemsonson.note1" disabled="disabled"></el-input>
(itemsonson.name === '服务接口' && showInterface) </el-tooltip>
"
>
<el-tooltip placement="top" :disabled="itemsonson.note1 !== null?false:true" :content="itemsonson.note1">
<el-input
v-model="itemsonson.note1"
disabled="disabled"
></el-input>
</el-tooltip>
</el-form-item> </el-form-item>
</div> </div>
<div <div v-else-if="itemson.name === '算法优势'" style="margin-bottom: 20px">
v-else-if="itemson.name === '算法优势'" <div v-for="itemDataForm in dataForm.infoList" :key="itemDataForm.attrType">
style="margin-bottom: 20px" <div v-if="itemDataForm.attrType === '算法优势'" class="textAndImg">
> <div v-for="itemDataFormValue in itemDataForm.attrValue" :key="itemDataFormValue.name + 'value'"
<div class="textAndImgSon" style="border: 1px solid #3c9bcd;margin">
v-for="itemDataForm in dataForm.infoList"
:key="itemDataForm.attrType"
>
<div
v-if="itemDataForm.attrType === '算法优势'"
class="textAndImg"
>
<div
v-for="itemDataFormValue in itemDataForm.attrValue"
:key="itemDataFormValue.name + 'value'"
class="textAndImgSon"
style="border: 1px solid #3c9bcd;margin"
>
<div>{{ itemDataFormValue.name }}</div> <div>{{ itemDataFormValue.name }}</div>
<el-tooltip placement="top"> <el-tooltip placement="top">
<div slot="content">{{ itemDataFormValue.desc }}</div> <div slot="content">{{ itemDataFormValue.desc }}</div>
@ -152,24 +107,11 @@
</div> </div>
</div> </div>
</div> </div>
<div <div v-else-if="itemson.name === '应用场景'" style="margin-bottom: 20px">
v-else-if="itemson.name === '应用场景'" <div v-for="itemDataForm in dataForm.infoList" :key="itemDataForm.attrType">
style="margin-bottom: 20px" <div v-if="itemDataForm.attrType === '应用场景'" class="textAndImg">
> <div v-for="itemDataFormValue in itemDataForm.attrValue" :key="itemDataFormValue.name + 'value'"
<div class="textAndImgSon" style="border: 1px solid #3c9bcd;margin">
v-for="itemDataForm in dataForm.infoList"
:key="itemDataForm.attrType"
>
<div
v-if="itemDataForm.attrType === '应用场景'"
class="textAndImg"
>
<div
v-for="itemDataFormValue in itemDataForm.attrValue"
:key="itemDataFormValue.name + 'value'"
class="textAndImgSon"
style="border: 1px solid #3c9bcd;margin"
>
<div>{{ itemDataFormValue.name }}</div> <div>{{ itemDataFormValue.name }}</div>
<el-tooltip placement="top"> <el-tooltip placement="top">
<div slot="content">{{ itemDataFormValue.desc }}</div> <div slot="content">{{ itemDataFormValue.desc }}</div>
@ -180,24 +122,11 @@
</div> </div>
</div> </div>
</div> </div>
<div <div v-else-if="itemson.name === '功能介绍'" style="margin-bottom: 20px">
v-else-if="itemson.name === '功能介绍'" <div v-for="itemDataForm in dataForm.infoList" :key="itemDataForm.attrType">
style="margin-bottom: 20px" <div v-if="itemDataForm.attrType === '功能介绍'" class="textAndImg">
> <div v-for="itemDataFormValue in itemDataForm.attrValue" :key="itemDataFormValue.name + 'value'"
<div class="textAndImgSon" style="border: 1px solid #3c9bcd;margin">
v-for="itemDataForm in dataForm.infoList"
:key="itemDataForm.attrType"
>
<div
v-if="itemDataForm.attrType === '功能介绍'"
class="textAndImg"
>
<div
v-for="itemDataFormValue in itemDataForm.attrValue"
:key="itemDataFormValue.name + 'value'"
class="textAndImgSon"
style="border: 1px solid #3c9bcd;margin"
>
<div>{{ itemDataFormValue.name }}</div> <div>{{ itemDataFormValue.name }}</div>
<el-tooltip placement="top"> <el-tooltip placement="top">
<div slot="content">{{ itemDataFormValue.desc }}</div> <div slot="content">{{ itemDataFormValue.desc }}</div>
@ -227,7 +156,7 @@ export default {
type: Array type: Array
} }
}, },
data () { data() {
return { return {
dataList: [], dataList: [],
dataView: [], dataView: [],
@ -242,12 +171,12 @@ export default {
} }
}, },
watch: { watch: {
dataList (item) { dataList(item) {
if (item) { if (item) {
this.dataList = item this.dataList = item
} }
}, },
insertList (val) { insertList(val) {
if (val) { if (val) {
if (this.dataForm.type === '应用资源') { if (this.dataForm.type === '应用资源') {
this.dataView = val.filter( this.dataView = val.filter(
@ -437,7 +366,7 @@ export default {
}, },
computed: {}, computed: {},
methods: { methods: {
videoAndImg (link) { videoAndImg(link) {
if (link) { if (link) {
window.open(link) window.open(link)
} else { } else {
@ -447,7 +376,7 @@ export default {
}) })
} }
}, },
deptName () { deptName() {
console.log(this.dataForm.deptId) console.log(this.dataForm.deptId)
this.$http this.$http
.get(`/sys/dept/${this.dataForm.deptId}`) .get(`/sys/dept/${this.dataForm.deptId}`)
@ -456,13 +385,13 @@ export default {
this.unit = res.data.name this.unit = res.data.name
}) })
}, },
queryPartAppByKeyIdFunction (index, indexSon, indexSonSon) { queryPartAppByKeyIdFunction(index, indexSon, indexSonSon) {
if (this.dataForm.type === '组件服务') { if (this.dataForm.type === '组件服务') {
this.$http this.$http
.get( .get(
'/dataResourceRel/queryApp4PartByKeyId' + '/dataResourceRel/queryApp4PartByKeyId' +
'?keyId=' + '?keyId=' +
this.dataForm.id this.dataForm.id
) )
.then(({ data: res }) => { .then(({ data: res }) => {
this.dataView.children[index].children[indexSon].children[ this.dataView.children[index].children[indexSon].children[
@ -478,9 +407,9 @@ export default {
this.$http this.$http
.get( .get(
'/dataResourceRel/queryPart4AppByKeyId?keyId=' + '/dataResourceRel/queryPart4AppByKeyId?keyId=' +
this.dataForm.id + this.dataForm.id +
'&type=' + '&type=' +
'组件服务' '组件服务'
) )
.then(({ data: res }) => { .then(({ data: res }) => {
this.dataView.children[index].children[indexSon].children[ this.dataView.children[index].children[indexSon].children[
@ -495,8 +424,8 @@ export default {
} }
} }
}, },
created () {}, created() { },
mounted () { mounted() {
this.deptName() this.deptName()
} }
} }
@ -514,6 +443,7 @@ export default {
font-size: 22px; font-size: 22px;
margin-bottom: 25px; margin-bottom: 25px;
} }
.dataTitleSon { .dataTitleSon {
padding-left: 30px; padding-left: 30px;
color: #333333; color: #333333;
@ -522,9 +452,11 @@ export default {
background: url("~@/assets/img/sj-jx.png") no-repeat; background: url("~@/assets/img/sj-jx.png") no-repeat;
background-position-x: 15px; background-position-x: 15px;
} }
.multipleAdditionsClass { .multipleAdditionsClass {
display: flex; display: flex;
& > div {
&>div {
margin-right: 30px; margin-right: 30px;
border: 1px solid #3c9bcd; border: 1px solid #3c9bcd;
width: 212px; width: 212px;
@ -534,7 +466,8 @@ export default {
align-items: center; align-items: center;
padding: 10px; padding: 10px;
overflow: hidden; overflow: hidden;
& > div:first-child {
&>div:first-child {
margin-bottom: 10px; margin-bottom: 10px;
font-weight: bold; font-weight: bold;
line-height: 14px; line-height: 14px;
@ -544,7 +477,8 @@ export default {
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
-webkit-line-clamp: 2; -webkit-line-clamp: 2;
} }
& > div:nth-child(2) {
&>div:nth-child(2) {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
display: -webkit-box; display: -webkit-box;
@ -552,7 +486,8 @@ export default {
-webkit-line-clamp: 6; -webkit-line-clamp: 6;
line-height: initial; line-height: initial;
} }
& > div:nth-child(3) {
&>div:nth-child(3) {
width: 90%; width: 90%;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
@ -563,6 +498,7 @@ export default {
} }
} }
} }
.videoAndImgCss { .videoAndImgCss {
cursor: pointer; cursor: pointer;
font-size: 12px; font-size: 12px;
@ -571,10 +507,13 @@ export default {
padding: 5px; padding: 5px;
margin-top: 10px; margin-top: 10px;
background: rgba(60, 155, 205, 0.1); background: rgba(60, 155, 205, 0.1);
display: inline-block;
} }
.textAndImg { .textAndImg {
display: flex; display: flex;
padding-left: 30px; padding-left: 30px;
.textAndImgSon { .textAndImgSon {
width: 212px; width: 212px;
height: 182px; height: 182px;
@ -584,7 +523,8 @@ export default {
align-items: center; align-items: center;
padding: 10px; padding: 10px;
position: relative; position: relative;
& > div {
&>div {
-webkit-line-clamp: 5; -webkit-line-clamp: 5;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
@ -592,11 +532,13 @@ export default {
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
word-break: break-all; word-break: break-all;
} }
& > div:first-child {
&>div:first-child {
margin-bottom: 10px; margin-bottom: 10px;
font-weight: bold; font-weight: bold;
} }
& > div:nth-child(3) {
&>div:nth-child(3) {
margin-top: 10px; margin-top: 10px;
position: absolute; position: absolute;
bottom: 8px; bottom: 8px;
@ -610,13 +552,27 @@ export default {
} }
} }
} }
.dataContent { .dataContent {
display: grid; display: flex;
grid-template-columns: repeat(3, 33%); align-items: center;
padding-left: 30px; flex-wrap: wrap;
} }
::v-deep .el-form-item {
flex: 1;
display: flex;
justify-content: flex-start;
}
::v-deep .el-form-item__label {
width: 112px;
}
::v-deep .el-form-item__content { ::v-deep .el-form-item__content {
display: inline-block; display: inline-block;
input { input {
width: 400px; width: 400px;
} }