2022-02-16 18:19:58 +08:00
|
|
|
import { get } from '@/utils/http'
|
|
|
|
|
export default {
|
|
|
|
|
data () {
|
|
|
|
|
return {
|
2022-02-17 10:48:39 +08:00
|
|
|
relationshipDataOne: [], // 数据
|
|
|
|
|
relationshipDataTow: [], // 数据
|
|
|
|
|
relationshipShowOne: false, // 控制 ... 的展示隐藏
|
|
|
|
|
relationshipShowTow: false, // 控制 ... 的展示隐藏
|
|
|
|
|
relationshipShowMoreOne: false, // 控制弹框的展示隐藏
|
|
|
|
|
relationshipShowMoreTow: false, // 控制弹框的展示隐藏
|
|
|
|
|
relationshipMoreDataOne: [], // 展示所有
|
|
|
|
|
relationshipMoreDataTow: [] // 展示所有
|
2022-02-16 18:19:58 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
2022-02-17 10:48:39 +08:00
|
|
|
// 请求数据 relationshipUrlOne => 路由 refOne => ref
|
|
|
|
|
getRelatedServerDataOne (relationshipUrlOne, refOne) {
|
|
|
|
|
get(relationshipUrlOne, this.getQueryParams()).then(response => {
|
2022-02-16 18:19:58 +08:00
|
|
|
if (response.code === 200) {
|
2022-02-17 10:48:39 +08:00
|
|
|
this.relationshipDataOne = response.data.result
|
|
|
|
|
// 将请求数据 传入方法中
|
2022-02-17 14:49:19 +08:00
|
|
|
this.relatedServerWidth(this.relationshipDataOne, refOne, 1)
|
2022-02-16 18:19:58 +08:00
|
|
|
}
|
|
|
|
|
})
|
2022-02-17 10:48:39 +08:00
|
|
|
},
|
|
|
|
|
getRelatedServerDataTow (relationshipUrlTow, refTow) {
|
|
|
|
|
get(relationshipUrlTow, this.getQueryParams()).then(response => {
|
2022-02-16 18:19:58 +08:00
|
|
|
if (response.code === 200) {
|
2022-02-17 10:48:39 +08:00
|
|
|
this.relationshipDataTow = response.data.result
|
|
|
|
|
// 将请求数据 传入方法中
|
2022-02-17 14:49:19 +08:00
|
|
|
this.relatedServerWidth(this.relationshipDataTow, refTow, 2)
|
2022-02-16 18:19:58 +08:00
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
2022-02-17 10:48:39 +08:00
|
|
|
// data => 数据, value => ref
|
2022-02-17 14:49:19 +08:00
|
|
|
relatedServerWidth (data, value, num) {
|
2022-02-17 10:48:39 +08:00
|
|
|
// 最大宽度
|
2022-02-16 18:19:58 +08:00
|
|
|
const relatedServerWidth = this.$refs.relationship.offsetWidth
|
|
|
|
|
let sum = 0
|
|
|
|
|
let flag = true
|
|
|
|
|
data.map((item, index) => {
|
|
|
|
|
if (this.$refs[value + index]) {
|
2022-02-17 10:48:39 +08:00
|
|
|
// 每条数据的宽度
|
2022-02-17 15:05:33 +08:00
|
|
|
const width = this.$refs[value + index].offsetWidth + 35
|
2022-02-16 18:19:58 +08:00
|
|
|
if (width) {
|
|
|
|
|
sum += width
|
2022-02-17 14:49:19 +08:00
|
|
|
if (flag && sum >= relatedServerWidth && num === 1) {
|
2022-02-16 18:19:58 +08:00
|
|
|
flag = false
|
2022-02-17 10:48:39 +08:00
|
|
|
this.relationshipShowOne = true
|
2022-02-17 14:49:19 +08:00
|
|
|
} else if (flag && sum >= relatedServerWidth && num === 2) {
|
|
|
|
|
flag = false
|
2022-02-17 10:48:39 +08:00
|
|
|
this.relationshipShowTow = true
|
2022-02-16 18:19:58 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
item.show = flag
|
|
|
|
|
}
|
|
|
|
|
return item
|
|
|
|
|
})
|
|
|
|
|
},
|
2022-02-17 10:48:39 +08:00
|
|
|
// 点击事件 控制弹框的展示隐藏,展示全部的数据
|
2022-02-16 18:19:58 +08:00
|
|
|
more (data, showMore, index) {
|
|
|
|
|
if (index === 1) {
|
2022-02-17 10:48:39 +08:00
|
|
|
// 展示数据
|
|
|
|
|
this.relationshipMoreDataOne = data
|
|
|
|
|
// 弹框的显示隐藏
|
|
|
|
|
this.relationshipShowMoreOne = !showMore
|
|
|
|
|
// 展示当前弹框是,隐藏其他弹框
|
|
|
|
|
this.relationshipShowMoreTow = false
|
2022-02-16 18:19:58 +08:00
|
|
|
}
|
|
|
|
|
if (index === 2) {
|
2022-02-17 10:48:39 +08:00
|
|
|
// 展示数据
|
|
|
|
|
this.relationshipMoreDataTow = data
|
|
|
|
|
// 弹框的显示隐藏
|
|
|
|
|
this.relationshipShowMoreTow = !showMore
|
|
|
|
|
// 展示当前弹框是,隐藏其他弹框
|
|
|
|
|
this.relationshipShowMoreOne = false
|
2022-02-16 18:19:58 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|