Merge branch 'dev-2.0' of https://git.mesalab.cn/nezha/nezha-fronted into dev-3.1
This commit is contained in:
@@ -2,6 +2,15 @@
|
||||
width: 100%;
|
||||
height: calc(100% - 60px);
|
||||
display: flex;
|
||||
.no-data{
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
justify-content: center;
|
||||
color: #909399;
|
||||
font-size: 14px;
|
||||
}
|
||||
.nz-detail-view-left{
|
||||
width: 260px;
|
||||
display: flex;
|
||||
|
||||
@@ -17,9 +17,16 @@
|
||||
</button>
|
||||
</div>
|
||||
<ul class="detail-row-box" ref="dataTable">
|
||||
<li v-for="(item,index) in tableData" :key="index" class="detail-row" @click="detailViewRightShow(item)" :class="item.id === detailViewRightObj.id ? 'selected' : ''">
|
||||
<li
|
||||
v-for="(item,index) in tableData"
|
||||
:key="index"
|
||||
class="detail-row"
|
||||
:class="item.id === detailViewRightObj.id ? 'selected' : ''"
|
||||
@click="detailViewRightShow(item)"
|
||||
@mouseenter="labelHover(item, 'asset', true, $event)"
|
||||
@mouseleave="labelHover(item, 'asset', false)">
|
||||
<div class="detail-row-info">
|
||||
<div class="asset-manageIp" :title="item.name">
|
||||
<div class="asset-manageIp">
|
||||
<el-popover :content="$t('asset.assetStatPre')+(item.pingInfo.lastUpdate?utcTimeToTimezoneStr(item.pingInfo.lastUpdate):$t('asset.assetStatDown'))" v-if="item.pingInfo" placement="right" trigger="hover">
|
||||
<span slot="reference">
|
||||
<span :class="{'active-icon green-bg':item.pingInfo.status == 1,'active-icon red-bg':item.pingInfo.status == 0}"></span>
|
||||
@@ -31,6 +38,12 @@
|
||||
</div>
|
||||
<div class="asset-name" :title="item.manageIp">{{item.manageIp}}</div>
|
||||
</div>
|
||||
<alertLabel
|
||||
v-if="item && item.loading"
|
||||
:id="item.id"
|
||||
:that="item"
|
||||
:type="'asset'"
|
||||
></alertLabel>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -39,10 +52,13 @@
|
||||
<script>
|
||||
|
||||
import detailViewLeftMixin from '@/components/common/mixin/detailViewLeftMixin'
|
||||
|
||||
import alertLabel from '@/components/common/alert/alertLabel'
|
||||
export default {
|
||||
name: 'assetDetail',
|
||||
mixins: [detailViewLeftMixin],
|
||||
components: {
|
||||
alertLabel
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
tableTitle: [
|
||||
@@ -146,6 +162,18 @@ export default {
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// label 鼠标划入
|
||||
labelHover (item, type, loading, e) {
|
||||
if (e) {
|
||||
const dom = e.currentTarget
|
||||
const position = dom.getBoundingClientRect()
|
||||
this.$set(item, 'position', position)
|
||||
}
|
||||
this.$set(item, 'loading', loading)
|
||||
// this.$set(this.tableData,index,item);// 调用父组件
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -32,13 +32,16 @@
|
||||
<!-- <div v-if="showLayout.indexOf('pagination') > -1" class="pagination-top pagination-top-hide display-none"></div>-->
|
||||
</div>
|
||||
<div :style="{ height: nzTableHeight }" class="nz-detail-view">
|
||||
<div class="nz-detail-view-left">
|
||||
<div class="nz-detail-view-left" v-if="dataLength">
|
||||
<slot name="nz-detail-view-list"></slot>
|
||||
<div v-if="showLayout.indexOf('pagination') > -1" class="nz-detail-view-pagination">
|
||||
<slot name="pagination"></slot>
|
||||
</div>
|
||||
</div>
|
||||
<div class="nz-detail-view-right">
|
||||
<div v-else class="no-data">
|
||||
No Data
|
||||
</div>
|
||||
<div class="nz-detail-view-right" v-if="detailViewRightObj">
|
||||
<detailViewRight
|
||||
@getTableData = 'getTableData'
|
||||
ref="detailViewRight"
|
||||
@@ -79,6 +82,10 @@ export default {
|
||||
customTableTitle: {
|
||||
type: Array
|
||||
},
|
||||
dataLength: {
|
||||
type: Number,
|
||||
default: 1
|
||||
},
|
||||
layout: {
|
||||
type: Array,
|
||||
default () { return [] }
|
||||
|
||||
@@ -112,8 +112,8 @@
|
||||
<el-tab-pane :label="$t('project.endpoint.basic')" name="Basic">
|
||||
<!--type-->
|
||||
<el-form-item :label='$t("project.endpoint.protocol")' class="half-form-item" prop="type">
|
||||
<el-select id="module-box-input-type" v-model="editEndpoint.configs[0].config.protocol" :disabled="!!editEndpoint.id || true" class="right-box__select" placeholder="" popper-class="prevent-clickoutside" size="small" value-key="id">
|
||||
<el-option v-for="item in typeList" :id="'module-type-'+item.id" :key="item.value" :label="item.name" :value="item.value"></el-option>
|
||||
<el-select id="module-box-input-type" v-model="editEndpoint.configs[0].config.protocol" :disabled="!!editEndpoint.id && editEndpoint.configs[0].config.protocol === 'snmp'" class="right-box__select" placeholder="" popper-class="prevent-clickoutside" size="small" value-key="id">
|
||||
<el-option v-for="item in typeList" :id="'module-type-'+item.id" :key="item.value" :label="item.name" :value="item.value" :disabled="item.disabled && !!editEndpoint.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!--host-->
|
||||
@@ -680,15 +680,18 @@ export default {
|
||||
typeList: [
|
||||
{
|
||||
value: 'http',
|
||||
name: 'HTTP'
|
||||
},
|
||||
{
|
||||
value: 'snmp',
|
||||
name: 'SNMP'
|
||||
name: 'HTTP',
|
||||
disabled: false
|
||||
},
|
||||
{
|
||||
value: 'https',
|
||||
name: 'HTTPS'
|
||||
name: 'HTTPS',
|
||||
disabled: false
|
||||
},
|
||||
{
|
||||
value: 'snmp',
|
||||
name: 'SNMP',
|
||||
disabled: true
|
||||
}
|
||||
],
|
||||
logsBasicList: [
|
||||
|
||||
@@ -93,8 +93,8 @@
|
||||
<el-tab-pane :label="$t('project.endpoint.basic')" name="Basic">
|
||||
<!--type-->
|
||||
<el-form-item :label='$t("project.endpoint.protocol")' class="half-form-item" prop="type">
|
||||
<el-select id="module-box-input-type" v-model="editModule.configs[0].config.protocol" :disabled="!!editModule.id" class="right-box__select" placeholder="" popper-class="right-box-select-top right-public-box-dropdown-top right-box-public-dropdown prevent-clickoutside" size="small" value-key="id" @change="changeBasicType">
|
||||
<el-option v-for="item in typeList" :id="'module-type-'+item.id" :key="item.value" :label="item.name" :value="item.value"></el-option>
|
||||
<el-select id="module-box-input-type" v-model="editModule.configs[0].config.protocol" :disabled="!!editModule.id && editModule.configs[0].config.protocol === 'snmp'" class="right-box__select" placeholder="" popper-class="right-box-select-top right-public-box-dropdown-top right-box-public-dropdown prevent-clickoutside" size="small" value-key="id" @change="changeBasicType">
|
||||
<el-option v-for="item in typeList" :id="'module-type-'+item.id" :key="item.value" :label="item.name" :value="item.value" :disabled="item.disabled && !!editModule.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!--host-->
|
||||
@@ -653,15 +653,18 @@ export default {
|
||||
typeList: [
|
||||
{
|
||||
value: 'http',
|
||||
name: 'HTTP'
|
||||
},
|
||||
{
|
||||
value: 'snmp',
|
||||
name: 'SNMP'
|
||||
name: 'HTTP',
|
||||
disabled: false
|
||||
},
|
||||
{
|
||||
value: 'https',
|
||||
name: 'HTTPS'
|
||||
name: 'HTTPS',
|
||||
disabled: false
|
||||
},
|
||||
{
|
||||
value: 'snmp',
|
||||
name: 'SNMP',
|
||||
disabled: true
|
||||
}
|
||||
],
|
||||
logsBasicList: [
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
:search-msg="searchMsg"
|
||||
:detailType="detailType"
|
||||
:detailViewRightObj="detailViewRightObj"
|
||||
:dataLength="tableData.length"
|
||||
@search="search"
|
||||
@changeDetailType="changeDetailType"
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user