Merge branch 'dev-3.8' of git.mesalab.cn:nezha/nezha-fronted into dev-3.8
This commit is contained in:
@@ -325,7 +325,12 @@
|
|||||||
margin-top: 0 !important;
|
margin-top: 0 !important;
|
||||||
margin-bottom: 0 !important;
|
margin-bottom: 0 !important;
|
||||||
max-width: 626px !important;
|
max-width: 626px !important;
|
||||||
|
.hidden-padding {
|
||||||
|
padding: 0;
|
||||||
|
> span{
|
||||||
|
padding: 0 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.api-select.right-box-select-top.right-public-box-dropdown-top {
|
.api-select.right-box-select-top.right-public-box-dropdown-top {
|
||||||
.el-scrollbar__view.el-select-dropdown__list {
|
.el-scrollbar__view.el-select-dropdown__list {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
.latlng .input-box .el-input,.latlng .input-box .el-input-number{
|
.latlng .input-box .input-box-item .el-input,.latlng .input-box .input-box-item .el-input-number{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
.latlng .map-config-dialog .el-dialog{
|
.latlng .map-config-dialog .el-dialog{
|
||||||
@@ -20,3 +20,24 @@
|
|||||||
padding:0px 5px!important;
|
padding:0px 5px!important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.prepend_unit{
|
||||||
|
display: flex;
|
||||||
|
.el-input--small .el-input__inner {
|
||||||
|
border-radius: 0 4px 4px 0;
|
||||||
|
border-left: none;
|
||||||
|
}
|
||||||
|
&::before{
|
||||||
|
content: attr(data-unit);
|
||||||
|
//position: absolute;
|
||||||
|
display: inline-block;
|
||||||
|
top: 0;
|
||||||
|
right: 100%;
|
||||||
|
padding: 0 5px;
|
||||||
|
color: $--color-text-secondary;
|
||||||
|
background-color: $--background-color-base;
|
||||||
|
border: 1px solid $--border-color-light;
|
||||||
|
border-radius:4px 0 0 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,9 @@
|
|||||||
border: none !important;
|
border: none !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.meta2d-chart-hide-header {
|
||||||
|
height: calc(100% - 78px);
|
||||||
|
}
|
||||||
.meta2d-project{
|
.meta2d-project{
|
||||||
height: calc(100% - 78px);
|
height: calc(100% - 78px);
|
||||||
border: 1px solid;
|
border: 1px solid;
|
||||||
|
|||||||
@@ -24,8 +24,8 @@
|
|||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.right-box__select{
|
.right-box__select-pipeline{
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: -55px;
|
left: -65px;
|
||||||
top: 0;
|
top: 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,6 +60,7 @@
|
|||||||
@import './common/rightBox/assetMetaBox.scss';
|
@import './common/rightBox/assetMetaBox.scss';
|
||||||
@import './common/rightBox/menuBox.scss';
|
@import './common/rightBox/menuBox.scss';
|
||||||
@import './common/rightBox/moduleBox.scss';
|
@import './common/rightBox/moduleBox.scss';
|
||||||
|
@import './common/rightBox/pipelineSelect.scss';
|
||||||
@import './common/rightBox/ipam.scss';
|
@import './common/rightBox/ipam.scss';
|
||||||
@import './common/rightBox/assetMetaBox.scss';
|
@import './common/rightBox/assetMetaBox.scss';
|
||||||
@import './common/rightBox/chartRightBox/chartRightBox.scss';
|
@import './common/rightBox/chartRightBox/chartRightBox.scss';
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ $--font-path: '~element-ui/lib/theme-chalk/fonts'; // 避免ele原字体加载
|
|||||||
}
|
}
|
||||||
body {
|
body {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
min-width: 1024px;
|
min-width: 1400px;
|
||||||
margin:0 !important;
|
margin:0 !important;
|
||||||
padding: 0 !important;
|
padding: 0 !important;
|
||||||
cursor: default;
|
cursor: default;
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
:is-chart="true"
|
:is-chart="true"
|
||||||
:iconArray="iconArray"
|
:iconArray="iconArray"
|
||||||
:ref="'topology' + index"
|
:ref="'topology' + index"
|
||||||
|
:paddingTop="40"
|
||||||
/>
|
/>
|
||||||
</el-carousel-item>
|
</el-carousel-item>
|
||||||
</el-carousel>
|
</el-carousel>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ const data = {
|
|||||||
showHeader: true,
|
showHeader: true,
|
||||||
name: '',
|
name: '',
|
||||||
dashboardId: 1244,
|
dashboardId: 1244,
|
||||||
groupId: 0,
|
groupId: undefined,
|
||||||
span: 4,
|
span: 4,
|
||||||
height: 4,
|
height: 4,
|
||||||
updateBy: 381,
|
updateBy: 381,
|
||||||
|
|||||||
@@ -94,7 +94,8 @@ export default {
|
|||||||
this.term = new Terminal({
|
this.term = new Terminal({
|
||||||
cursorStyle: 'block', // 光标样式 null | 'block' | 'underline' | 'bar'
|
cursorStyle: 'block', // 光标样式 null | 'block' | 'underline' | 'bar'
|
||||||
disableStdin: false, // 是否应禁用输入
|
disableStdin: false, // 是否应禁用输入
|
||||||
fontSize: 16
|
fontSize: 16,
|
||||||
|
lineHeight: 1.2
|
||||||
})
|
})
|
||||||
this.term.open(terminalContainer)
|
this.term.open(terminalContainer)
|
||||||
this.term.focus()
|
this.term.focus()
|
||||||
|
|||||||
@@ -150,6 +150,9 @@
|
|||||||
<!-- <i class="nz-icon nz-icon-delete" v-if="!item.isDir" @click="delFile(item)"></i>-->
|
<!-- <i class="nz-icon nz-icon-delete" v-if="!item.isDir" @click="delFile(item)"></i>-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="file-item">
|
||||||
|
{{$t('fileDirectory.overNum', {num: overNum})}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
@@ -280,6 +283,8 @@ export default {
|
|||||||
breadcrumb: [],
|
breadcrumb: [],
|
||||||
fileList: [],
|
fileList: [],
|
||||||
oldFileList: [],
|
oldFileList: [],
|
||||||
|
overNum: false,
|
||||||
|
showNum: 10000,
|
||||||
newFolderBoxShow: false,
|
newFolderBoxShow: false,
|
||||||
folder: '',
|
folder: '',
|
||||||
fileDirectoryLoading: false,
|
fileDirectoryLoading: false,
|
||||||
@@ -409,6 +414,12 @@ export default {
|
|||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
this.fileDirectoryLoading = false
|
this.fileDirectoryLoading = false
|
||||||
this.fileDirectory = res.data.path
|
this.fileDirectory = res.data.path
|
||||||
|
if (res.data.list.length > this.showNum) {
|
||||||
|
this.overNum = res.data.list.length - this.showNum
|
||||||
|
res.data.list.splice(this.showNum, res.data.list.length)
|
||||||
|
} else {
|
||||||
|
this.overNum = false
|
||||||
|
}
|
||||||
res.data.list.forEach(item => {
|
res.data.list.forEach(item => {
|
||||||
if (item.name[0] === '.') {
|
if (item.name[0] === '.') {
|
||||||
item.isHide = true
|
item.isHide = true
|
||||||
|
|||||||
@@ -175,6 +175,7 @@ export default {
|
|||||||
},
|
},
|
||||||
viewGraph () {
|
viewGraph () {
|
||||||
this.$refs.recordRulesQueryTab.viewGraph()
|
this.$refs.recordRulesQueryTab.viewGraph()
|
||||||
|
this.dropdownHandler(true)
|
||||||
},
|
},
|
||||||
dropdownHandler (show) {
|
dropdownHandler (show) {
|
||||||
if (!show) {
|
if (!show) {
|
||||||
|
|||||||
@@ -48,6 +48,7 @@
|
|||||||
:class="[selectSize ? `is-${ selectSize }` : '']"
|
:class="[selectSize ? `is-${ selectSize }` : '']"
|
||||||
:disabled="selectDisabled"
|
:disabled="selectDisabled"
|
||||||
:autocomplete="autoComplete || autocomplete"
|
:autocomplete="autoComplete || autocomplete"
|
||||||
|
:maxlength = "maxlength"
|
||||||
@focus="handleFocus"
|
@focus="handleFocus"
|
||||||
@blur="softFocus = false"
|
@blur="softFocus = false"
|
||||||
@click.stop
|
@click.stop
|
||||||
@@ -72,6 +73,7 @@
|
|||||||
v-model="selectedLabel"
|
v-model="selectedLabel"
|
||||||
type="text"
|
type="text"
|
||||||
:placeholder="currentPlaceholder"
|
:placeholder="currentPlaceholder"
|
||||||
|
:maxlength = "maxlength"
|
||||||
:name="name"
|
:name="name"
|
||||||
:id="id"
|
:id="id"
|
||||||
:autocomplete="autoComplete || autocomplete"
|
:autocomplete="autoComplete || autocomplete"
|
||||||
@@ -301,6 +303,9 @@ export default {
|
|||||||
popperAppendToBody: {
|
popperAppendToBody: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true
|
default: true
|
||||||
|
},
|
||||||
|
maxlength: {
|
||||||
|
type: Number
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
<div class="condition__column">
|
<div class="condition__column">
|
||||||
<div v-if="meta.nameIsEditing">
|
<div v-if="meta.nameIsEditing">
|
||||||
<el-select
|
<el-select
|
||||||
allow-create
|
allow-create :maxlength="64"
|
||||||
filterable
|
filterable
|
||||||
size="mini"
|
size="mini"
|
||||||
v-model="meta.name"
|
v-model="meta.name"
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
<div class="condition__column">
|
<div class="condition__column">
|
||||||
<div v-if="meta.operIsEditing">
|
<div v-if="meta.operIsEditing">
|
||||||
<el-select
|
<el-select
|
||||||
allow-create
|
allow-create :maxlength="64"
|
||||||
filterable
|
filterable
|
||||||
size="mini"
|
size="mini"
|
||||||
v-model="meta.oper"
|
v-model="meta.oper"
|
||||||
|
|||||||
@@ -7,9 +7,8 @@
|
|||||||
</el-input>
|
</el-input>
|
||||||
</div>
|
</div>
|
||||||
<div class="input-box-item" v-if="showZoom">
|
<div class="input-box-item" v-if="showZoom">
|
||||||
<el-input v-model="zoom" :max="mapParam.maxZoom" :min="mapParam.minZoom" :step="1" controls-position="right">
|
<el-input-number v-model="zoom" :max="mapParam.maxZoom" :precision="0" :min="mapParam.minZoom" :controls="false" class="prepend_unit" :data-unit="$t('config.system.basic.zoom')">
|
||||||
<template v-if="showZoom" slot="prepend">{{$t('config.system.basic.zoom')}}</template>
|
</el-input-number>
|
||||||
</el-input>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="input-box-item" style="margin-right: unset !important;width: 30px !important;flex:unset;" @click="mapConfigVisible = true"><i class="nz-icon nz-icon-weizhi" style="color:rgb(238, 157, 63)"></i></div>
|
<div class="input-box-item" style="margin-right: unset !important;width: 30px !important;flex:unset;" @click="mapConfigVisible = true"><i class="nz-icon nz-icon-weizhi" style="color:rgb(238, 157, 63)"></i></div>
|
||||||
</div>
|
</div>
|
||||||
@@ -209,9 +208,7 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.mapParam = { ...mapParam }
|
this.mapParam = { ...mapParam }
|
||||||
}
|
}
|
||||||
if (!this.zoom) {
|
|
||||||
this.zoom = mapParam.zoom
|
this.zoom = mapParam.zoom
|
||||||
}
|
|
||||||
resolve()
|
resolve()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
:search-msg="searchMsg"
|
:search-msg="searchMsg"
|
||||||
:show-history="false"
|
:show-history="false"
|
||||||
:show-search="false"
|
:show-search="false"
|
||||||
|
:isNzTransfet="true"
|
||||||
style="width:100%"
|
style="width:100%"
|
||||||
@search="search"
|
@search="search"
|
||||||
></search-input>
|
></search-input>
|
||||||
|
|||||||
@@ -30,13 +30,13 @@
|
|||||||
</span>
|
</span>
|
||||||
<el-row class="block-col-2" style="width: 35px;">
|
<el-row class="block-col-2" style="width: 35px;">
|
||||||
<el-col>
|
<el-col>
|
||||||
<el-dropdown placement="bottom-end" trigger="click">
|
<el-dropdown placement="bottom-end" trigger="click" v-if="data.id != -1">
|
||||||
<span class="el-dropdown-link tree--operation" @click.stop><i class="nz-icon nz-icon-more1"></i></span>
|
<span class="el-dropdown-link tree--operation" @click.stop><i class="nz-icon nz-icon-more1"></i></span>
|
||||||
<el-dropdown-menu class="right-box-select-top" slot="dropdown" v-has="['asset_label_delete', 'asset_label_edit']">
|
<el-dropdown-menu class="right-box-select-top" slot="dropdown" v-has="['asset_label_delete', 'asset_label_edit']">
|
||||||
<el-dropdown-item>
|
<el-dropdown-item class="hidden-padding">
|
||||||
<span @click.stop="edit(data)"><i v-has="'asset_label_edit'" class="nz-icon nz-icon-edit"></i>{{$t('overall.edit')}}</span>
|
<span @click.stop="edit(data)"><i v-has="'asset_label_edit'" class="nz-icon nz-icon-edit"></i>{{$t('overall.edit')}}</span>
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
<el-dropdown-item>
|
<el-dropdown-item class="hidden-padding">
|
||||||
<span @click.stop="del(data)" v-has="'asset_label_delete'"><i class="nz-icon nz-icon-delete"></i>{{$t('overall.delete')}}</span>
|
<span @click.stop="del(data)" v-has="'asset_label_delete'"><i class="nz-icon nz-icon-delete"></i>{{$t('overall.delete')}}</span>
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ export default {
|
|||||||
historiesLength: 0
|
historiesLength: 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
inject: ['option'],
|
||||||
props: {
|
props: {
|
||||||
meta2dId: {
|
meta2dId: {
|
||||||
require: true
|
require: true
|
||||||
@@ -81,10 +82,16 @@ export default {
|
|||||||
undo () { // 撤销
|
undo () { // 撤销
|
||||||
getTopology(this.meta2dId).undo()
|
getTopology(this.meta2dId).undo()
|
||||||
// getTopology(this.meta2dId).inactive()
|
// getTopology(this.meta2dId).inactive()
|
||||||
|
if (this.option.map) {
|
||||||
|
getTopology(this.meta2dId).showMap()
|
||||||
|
}
|
||||||
bus.$emit('changeSelectPens', [])
|
bus.$emit('changeSelectPens', [])
|
||||||
},
|
},
|
||||||
redo () { // 重做
|
redo () { // 重做
|
||||||
getTopology(this.meta2dId).redo()
|
getTopology(this.meta2dId).redo()
|
||||||
|
if (this.option.map) {
|
||||||
|
getTopology(this.meta2dId).showMap()
|
||||||
|
}
|
||||||
// getTopology(this.meta2dId).inactive()
|
// getTopology(this.meta2dId).inactive()
|
||||||
bus.$emit('changeSelectPens', [])
|
bus.$emit('changeSelectPens', [])
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -137,7 +137,7 @@ export default {
|
|||||||
getTopology(this.meta2dId).resize()
|
getTopology(this.meta2dId).resize()
|
||||||
getTopology(this.meta2dId).open(data)
|
getTopology(this.meta2dId).open(data)
|
||||||
if (this.isChart) {
|
if (this.isChart) {
|
||||||
getTopology(this.meta2dId).fitView(true, 20)
|
getTopology(this.meta2dId).fitView(true, this.paddingTop)
|
||||||
} else {
|
} else {
|
||||||
getTopology(this.meta2dId).centerView()
|
getTopology(this.meta2dId).centerView()
|
||||||
}
|
}
|
||||||
@@ -366,12 +366,12 @@ export default {
|
|||||||
this.position.top = ePosition.layerY
|
this.position.top = ePosition.layerY
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
if ((boxWidth / 2) > ePosition.layerX) {
|
if ((boxWidth / 2) > ePosition.layerX) {
|
||||||
this.position.left = ePosition.layerX + 20
|
this.position.left = ePosition.layerX + 15
|
||||||
} else {
|
} else {
|
||||||
this.position.left = ePosition.layerX - 20 - 400
|
this.position.left = ePosition.layerX - 15 - 400
|
||||||
}
|
}
|
||||||
if (boxHeight / 2 > ePosition.layerY) {
|
if (boxHeight / 2 > ePosition.layerY) {
|
||||||
this.position.top = ePosition.layerY + 50
|
this.position.top = ePosition.layerY + 15
|
||||||
} else {
|
} else {
|
||||||
this.position.top = ePosition.layerY - 300
|
this.position.top = ePosition.layerY - 300
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -466,7 +466,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
<div style="display: inline-block;width: calc(70% - 13px);margin-left: 10px">
|
<div style="display: inline-block;width: calc(70% - 13px);margin-left: 10px">
|
||||||
<el-select v-model="pen.data.textLegend" size="small" filterable allow-create clearable default-first-option>
|
<el-select v-model="pen.data.textLegend" size="small" filterable allow-create :maxlength="64" clearable default-first-option>
|
||||||
<el-option v-for="item in queryValues.filter(query => (query.parent === pen.data.textParent) && query.type === 'item')" :key="item.id" :value="item.name" :label='item.name' :title="item.name" style="width: 302px"> </el-option>
|
<el-option v-for="item in queryValues.filter(query => (query.parent === pen.data.textParent) && query.type === 'item')" :key="item.id" :value="item.name" :label='item.name' :title="item.name" style="width: 302px"> </el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
@@ -806,7 +806,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
<div style="display: inline-block;width: calc(70% - 13px);margin-left: 10px">
|
<div style="display: inline-block;width: calc(70% - 13px);margin-left: 10px">
|
||||||
<el-select v-model="pen.data.legend" size="small" filterable allow-create clearable default-first-option>
|
<el-select v-model="pen.data.legend" size="small" filterable allow-create :maxlength="64" clearable default-first-option>
|
||||||
<el-option class="text-ellipsis" v-for="item in queryValues.filter(query => (query.parent === pen.data.parent) && query.type === 'item')" :key="item.id" :value="item.name" :label='item.name' :title="item.name" style="width: 302px;"></el-option>
|
<el-option class="text-ellipsis" v-for="item in queryValues.filter(query => (query.parent === pen.data.parent) && query.type === 'item')" :key="item.id" :value="item.name" :label='item.name' :title="item.name" style="width: 302px;"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
@@ -1087,7 +1087,7 @@
|
|||||||
:title="legend.legend"
|
:title="legend.legend"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
filterable
|
filterable
|
||||||
allow-create
|
allow-create :maxlength="64"
|
||||||
default-first-option
|
default-first-option
|
||||||
clearable>
|
clearable>
|
||||||
<el-option class="text-ellipsis" v-for="item in queryValues.filter(query => (query.parent === legend.parent) && query.type === 'item')" :key="item.id" :value="item.name" :label='item.name' :title='item.name' style="width: 300px"></el-option>
|
<el-option class="text-ellipsis" v-for="item in queryValues.filter(query => (query.parent === legend.parent) && query.type === 'item')" :key="item.id" :value="item.name" :label='item.name' :title='item.name' style="width: 300px"></el-option>
|
||||||
|
|||||||
@@ -13,7 +13,11 @@
|
|||||||
@saveChart="saveChart"
|
@saveChart="saveChart"
|
||||||
@getNodesArr="getNodesArr"
|
@getNodesArr="getNodesArr"
|
||||||
/>
|
/>
|
||||||
<div class="meta2d-main" :class="isChart ? 'meta2d-chart': 'meta2d-project'" @contextmenu="onContextMenu($event)" style="position: relative" :style="{border: editFlag ? '1px solid' : ''}">
|
<div class="meta2d-main" :class="{
|
||||||
|
'meta2d-chart-hide-header': !showHeader,
|
||||||
|
'meta2d-chart': isChart,
|
||||||
|
'meta2d-project': !isChart
|
||||||
|
}" @contextmenu="onContextMenu($event)" style="position: relative" :style="{border: editFlag ? '1px solid' : ''}">
|
||||||
<div v-for="(item,index) in nodesArr" v-if="!editFlag && project"
|
<div v-for="(item,index) in nodesArr" v-if="!editFlag && project"
|
||||||
:key="index"
|
:key="index"
|
||||||
v-show="(item.y + offsetY - 48 > -20) && (item.x + item.width/2 + offsetX - 24 > - 20)"
|
v-show="(item.y + offsetY - 48 > -20) && (item.x + item.width/2 + offsetX - 24 > - 20)"
|
||||||
@@ -127,6 +131,11 @@ import { globalStore } from '@meta2d/core'
|
|||||||
export default {
|
export default {
|
||||||
name: 'meta2dMain',
|
name: 'meta2dMain',
|
||||||
mixins: [meta2dMainCalc, topoUtil],
|
mixins: [meta2dMainCalc, topoUtil],
|
||||||
|
provide () {
|
||||||
|
return {
|
||||||
|
option: this.option
|
||||||
|
}
|
||||||
|
},
|
||||||
props: {
|
props: {
|
||||||
meta2dId: {}, // 唯一id 不可重复
|
meta2dId: {}, // 唯一id 不可重复
|
||||||
iconArray: {
|
iconArray: {
|
||||||
@@ -155,6 +164,24 @@ export default {
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true
|
default: true
|
||||||
},
|
},
|
||||||
|
paddingTop: {
|
||||||
|
type: Number,
|
||||||
|
default: 20
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
option: {
|
||||||
|
lineName: 'curve',
|
||||||
|
lineWidth: 1,
|
||||||
|
fromArrow: '',
|
||||||
|
toArrow: 'triangleSolid',
|
||||||
|
scale: 100,
|
||||||
|
grid: false,
|
||||||
|
rule: false,
|
||||||
|
map: false
|
||||||
|
},
|
||||||
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -65,6 +65,9 @@ export default {
|
|||||||
console.log(this.params.title, this.dataSource.elements.expression, this.dataSource.metric)
|
console.log(this.params.title, this.dataSource.elements.expression, this.dataSource.metric)
|
||||||
this.title = this.handleLegendAlias(this.params.title, this.params.title, this.dataSource.metric) || this.params.title
|
this.title = this.handleLegendAlias(this.params.title, this.params.title, this.dataSource.metric) || this.params.title
|
||||||
this.content = this.handleLegendAlias(this.params.content, this.params.content, this.dataSource.metric) || this.params.content
|
this.content = this.handleLegendAlias(this.params.content, this.params.content, this.dataSource.metric) || this.params.content
|
||||||
|
} else {
|
||||||
|
this.title = this.params.title
|
||||||
|
this.content = this.params.content
|
||||||
}
|
}
|
||||||
this.params.legends.forEach(item => {
|
this.params.legends.forEach(item => {
|
||||||
const findItem = this.queryValues.find(query => query.name === item.legend && query.parent === item.parent)
|
const findItem = this.queryValues.find(query => query.name === item.legend && query.parent === item.parent)
|
||||||
|
|||||||
@@ -98,18 +98,9 @@ import { deepClone, s8 } from '@meta2d/core'
|
|||||||
import lineData from './js/defaultPenLineData'
|
import lineData from './js/defaultPenLineData'
|
||||||
export default {
|
export default {
|
||||||
name: 'topologyTopTool',
|
name: 'topologyTopTool',
|
||||||
|
inject: ['option'],
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
option: {
|
|
||||||
lineName: 'curve',
|
|
||||||
lineWidth: 1,
|
|
||||||
fromArrow: '',
|
|
||||||
toArrow: 'triangleSolid',
|
|
||||||
scale: 100,
|
|
||||||
grid: false,
|
|
||||||
rule: false,
|
|
||||||
map: false
|
|
||||||
},
|
|
||||||
dragstartFlag: false,
|
dragstartFlag: false,
|
||||||
drawLineFlag: false,
|
drawLineFlag: false,
|
||||||
scaleNum: 100,
|
scaleNum: 100,
|
||||||
@@ -277,10 +268,12 @@ export default {
|
|||||||
undo () { // 撤销
|
undo () { // 撤销
|
||||||
getTopology(this.meta2dId).undo()
|
getTopology(this.meta2dId).undo()
|
||||||
// getTopology(this.meta2dId).inactive()
|
// getTopology(this.meta2dId).inactive()
|
||||||
|
this.showMap()
|
||||||
bus.$emit('changeSelectPens', [])
|
bus.$emit('changeSelectPens', [])
|
||||||
},
|
},
|
||||||
redo () { // 重做
|
redo () { // 重做
|
||||||
getTopology(this.meta2dId).redo()
|
getTopology(this.meta2dId).redo()
|
||||||
|
this.showMap()
|
||||||
// getTopology(this.meta2dId).render()
|
// getTopology(this.meta2dId).render()
|
||||||
// getTopology(this.meta2dId).inactive()
|
// getTopology(this.meta2dId).inactive()
|
||||||
bus.$emit('changeSelectPens', [])
|
bus.$emit('changeSelectPens', [])
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!--brand-->
|
<!--brand-->
|
||||||
<el-form-item :label='$t("asset.brand")' prop="brandId">
|
<el-form-item :label='$t("asset.brand")' prop="brandId">
|
||||||
<el-select value-key="id" allow-create class="right-box__select" popper-class="right-box-select-top prevent-clickoutside" :filterable="true" v-model="editModel.brandId" placeholder="" size="small" id="module-box-input-project">
|
<el-select value-key="id" allow-create :maxlength="64" class="right-box__select" popper-class="right-box-select-top prevent-clickoutside" :filterable="true" v-model="editModel.brandId" placeholder="" size="small" id="module-box-input-project">
|
||||||
<el-option :id="'module-project-'+item.id" v-for="item in brandList" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
<el-option :id="'module-project-'+item.id" v-for="item in brandList" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|||||||
@@ -75,6 +75,7 @@
|
|||||||
popper-class="right-box-select-top right-public-box-dropdown-top"
|
popper-class="right-box-select-top right-public-box-dropdown-top"
|
||||||
placeholder="key"
|
placeholder="key"
|
||||||
size="mini"
|
size="mini"
|
||||||
|
:maxlength="64"
|
||||||
@select="handleSelect"
|
@select="handleSelect"
|
||||||
></el-autocomplete>
|
></el-autocomplete>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|||||||
@@ -40,8 +40,8 @@
|
|||||||
</el-switch>
|
</el-switch>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label='$t("overall.type")' prop="type">
|
<el-form-item :label='$t("overall.type")' prop="type">
|
||||||
<el-select v-model="editAssetMeta.type" :popper-append-to-body="false" class="right-box__select" popper-class="right-box-select-top prevent-clickoutside" size="small" @change="selectType">
|
<el-select v-model="editAssetMeta.type" :popper-append-to-body="false" class="right-box__select" popper-class="right-box-select-top prevent-clickoutside right-box-select-width" size="small" @change="selectType">
|
||||||
<el-option v-for="(item, index) in typeData" :key="index" :value="item.value" :disabled="item.disabled">
|
<el-option v-for="(item, index) in typeData" :key="index" :value="item.value" :disabled="item.disabled" :label="item.name">
|
||||||
<div><i :class="item.icon"></i> <span>{{item.name}}</span></div>
|
<div><i :class="item.icon"></i> <span>{{item.name}}</span></div>
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
|
|||||||
@@ -1025,7 +1025,7 @@
|
|||||||
style="margin-right: 10px"
|
style="margin-right: 10px"
|
||||||
@change="change('valueMapping', index)"
|
@change="change('valueMapping', index)"
|
||||||
filterable
|
filterable
|
||||||
allow-create
|
allow-create :maxlength="64"
|
||||||
default-first-option
|
default-first-option
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
@@ -1103,7 +1103,7 @@
|
|||||||
size="small"
|
size="small"
|
||||||
@change="change"
|
@change="change"
|
||||||
filterable
|
filterable
|
||||||
allow-create
|
allow-create :maxlength="64"
|
||||||
default-first-option
|
default-first-option
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
|
|||||||
@@ -195,7 +195,7 @@
|
|||||||
size="small"
|
size="small"
|
||||||
@change="change"
|
@change="change"
|
||||||
filterable
|
filterable
|
||||||
allow-create
|
allow-create :maxlength="64"
|
||||||
default-first-option
|
default-first-option
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
|
|||||||
@@ -776,7 +776,7 @@
|
|||||||
style="margin-right: 10px"
|
style="margin-right: 10px"
|
||||||
@change="change('valueMapping', index)"
|
@change="change('valueMapping', index)"
|
||||||
filterable
|
filterable
|
||||||
allow-create
|
allow-create :maxlength="64"
|
||||||
default-first-option
|
default-first-option
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
@@ -855,7 +855,7 @@
|
|||||||
size="small"
|
size="small"
|
||||||
@change="change"
|
@change="change"
|
||||||
filterable
|
filterable
|
||||||
allow-create
|
allow-create :maxlength="64"
|
||||||
default-first-option
|
default-first-option
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
:placeholder="editIssue.type"
|
:placeholder="editIssue.type"
|
||||||
style="margin-right: 10px"
|
style="margin-right: 10px"
|
||||||
filterable
|
filterable
|
||||||
allow-create
|
allow-create :maxlength="64"
|
||||||
default-first-option
|
default-first-option
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
|
|||||||
@@ -52,6 +52,7 @@
|
|||||||
<!-- <el-input placeholder="" v-model=""></el-input>-->
|
<!-- <el-input placeholder="" v-model=""></el-input>-->
|
||||||
<el-autocomplete
|
<el-autocomplete
|
||||||
id="module-box-input-pattern"
|
id="module-box-input-pattern"
|
||||||
|
:maxlength="64"
|
||||||
v-model="editModule.endpointNameTmpl"
|
v-model="editModule.endpointNameTmpl"
|
||||||
:fetch-suggestions="querySearch"
|
:fetch-suggestions="querySearch"
|
||||||
:placeholder="$t('overall.placeHolder')"
|
:placeholder="$t('overall.placeHolder')"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<span style="position: relative">
|
<span style="position: relative">
|
||||||
<el-select
|
<el-select
|
||||||
id="module-box-logs-pipeline-type"
|
id="module-box-logs-pipeline-type"
|
||||||
class="right-box__select"
|
class="right-box__select right-box__select-pipeline"
|
||||||
placeholder=""
|
placeholder=""
|
||||||
popper-class="right-box-select-top prevent-clickoutside pipeline"
|
popper-class="right-box-select-top prevent-clickoutside pipeline"
|
||||||
size="small"
|
size="small"
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
</el-option>
|
</el-option>
|
||||||
</el-option-group>
|
</el-option-group>
|
||||||
</el-select>
|
</el-select>
|
||||||
<i class="nz-icon nz-icon-plus" @click="addPipelineShow" :title="$t('tip.add')"></i>
|
<i class="nz-icon nz-icon-plus" @click="addPipelineShow" :title="$t('tip.add')" style="top: 2px"></i>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
id="traffic-setting-asset"
|
id="traffic-setting-asset"
|
||||||
popper-class="no-style-class"
|
popper-class="no-style-class"
|
||||||
size="small"
|
size="small"
|
||||||
|
:maxlength="64"
|
||||||
v-model="assetSetting.host"
|
v-model="assetSetting.host"
|
||||||
></el-autocomplete>
|
></el-autocomplete>
|
||||||
<el-popover @hide="popHide" @show="popShow" placement="bottom" popper-class="no-style-class" trigger="hover">
|
<el-popover @hide="popHide" @show="popShow" placement="bottom" popper-class="no-style-class" trigger="hover">
|
||||||
@@ -177,6 +178,7 @@
|
|||||||
:trigger-on-focus="true"
|
:trigger-on-focus="true"
|
||||||
popper-class="no-style-class"
|
popper-class="no-style-class"
|
||||||
size="mini"
|
size="mini"
|
||||||
|
:maxlength="64"
|
||||||
:highlight-first-item="true"
|
:highlight-first-item="true"
|
||||||
@input="ifIndexInputChange(scope.row[item.prop],scope.row,scope.$index)"
|
@input="ifIndexInputChange(scope.row[item.prop],scope.row,scope.$index)"
|
||||||
></el-autocomplete>
|
></el-autocomplete>
|
||||||
|
|||||||
@@ -182,7 +182,7 @@
|
|||||||
v-model="editDialogObj.realValue"
|
v-model="editDialogObj.realValue"
|
||||||
multiple
|
multiple
|
||||||
filterable
|
filterable
|
||||||
allow-create
|
allow-create :maxlength="64"
|
||||||
default-first-option
|
default-first-option
|
||||||
:filter-method="dialogValueListSet"
|
:filter-method="dialogValueListSet"
|
||||||
v-loadMore="{
|
v-loadMore="{
|
||||||
|
|||||||
@@ -501,6 +501,7 @@ export default {
|
|||||||
defaultItem: {},
|
defaultItem: {},
|
||||||
defaultValue: {},
|
defaultValue: {},
|
||||||
inTransform: {},
|
inTransform: {},
|
||||||
|
isNzTransfet: {},
|
||||||
position: {
|
position: {
|
||||||
type: String,
|
type: String,
|
||||||
default: ''
|
default: ''
|
||||||
@@ -1111,7 +1112,16 @@ export default {
|
|||||||
// 获取历史记录 数据进行处理以便循环展示
|
// 获取历史记录 数据进行处理以便循环展示
|
||||||
restructure_historyDate () {
|
restructure_historyDate () {
|
||||||
if (localStorage.getItem('nz-history-' + this.where) !== undefined && localStorage.getItem('nz-history-' + this.where) !== null) {
|
if (localStorage.getItem('nz-history-' + this.where) !== undefined && localStorage.getItem('nz-history-' + this.where) !== null) {
|
||||||
this.history_once = JSON.parse(localStorage.getItem('nz-history-' + this.where))
|
const arr = JSON.parse(localStorage.getItem('nz-history-' + this.where))
|
||||||
|
arr.forEach(labelArr => {
|
||||||
|
labelArr.forEach((item)=>{
|
||||||
|
const findItem = this.searchMsg.searchLabelList.find(searchLabel => searchLabel.id == item.id)
|
||||||
|
if(findItem) {
|
||||||
|
item.name = findItem.name
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
this.history_once = arr
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
clear_search_list (e) {
|
clear_search_list (e) {
|
||||||
@@ -1544,6 +1554,12 @@ export default {
|
|||||||
const inputListDom = this.$refs['input-center-box']
|
const inputListDom = this.$refs['input-center-box']
|
||||||
if (inputListDom) {
|
if (inputListDom) {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
|
if (this.isNzTransfet) {
|
||||||
|
const position = inputListDom.getBoundingClientRect()
|
||||||
|
this.selectDom.top = position.top + 36 + 'px'
|
||||||
|
this.selectDom.left = position.left + 'px'
|
||||||
|
return
|
||||||
|
}
|
||||||
if (this.inTransform) {
|
if (this.inTransform) {
|
||||||
const position = inputListDom.getBoundingClientRect()
|
const position = inputListDom.getBoundingClientRect()
|
||||||
this.selectDom.top = position.top + 36 + 'px'
|
this.selectDom.top = position.top + 36 + 'px'
|
||||||
|
|||||||
@@ -95,7 +95,7 @@
|
|||||||
<el-dropdown-menu slot="dropdown" class="right-box-select-top right-public-box-dropdown-top">
|
<el-dropdown-menu slot="dropdown" class="right-box-select-top right-public-box-dropdown-top">
|
||||||
<!-- <el-dropdown-item v-has="'asset_label_edit'" :command="['edit', scope.row]"><i class="nz-icon nz-icon-edit"></i><span class="operation-dropdown-text">{{$t('overall.edit')}}</span></el-dropdown-item>-->
|
<!-- <el-dropdown-item v-has="'asset_label_edit'" :command="['edit', scope.row]"><i class="nz-icon nz-icon-edit"></i><span class="operation-dropdown-text">{{$t('overall.edit')}}</span></el-dropdown-item>-->
|
||||||
<el-dropdown-item v-has="'asset_label_edit'" :command="['copy', scope.row]"><i class="nz-icon nz-icon-override"></i><span class="operation-dropdown-text">{{$t('overall.duplicate')}}</span></el-dropdown-item>
|
<el-dropdown-item v-has="'asset_label_edit'" :command="['copy', scope.row]"><i class="nz-icon nz-icon-override"></i><span class="operation-dropdown-text">{{$t('overall.duplicate')}}</span></el-dropdown-item>
|
||||||
<el-dropdown-item v-has="'asset_label_delete'" :command="['delete-rel', scope.row, {forceDeleteShow:false, single:true}]"><i class="nz-icon nz-icon-delete"></i><span class="operation-dropdown-text">{{$t('overall.delete')}}</span></el-dropdown-item>
|
<el-dropdown-item v-has="'asset_label_delete'" :command="['delete-rel', scope.row, {forceDeleteShow:true, single:false}]"><i class="nz-icon nz-icon-delete"></i><span class="operation-dropdown-text">{{$t('overall.delete')}}</span></el-dropdown-item>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -37,9 +37,9 @@
|
|||||||
</template>
|
</template>
|
||||||
<template slot-scope="scope" :column="item">
|
<template slot-scope="scope" :column="item">
|
||||||
<span v-if="item.prop==='varType'">
|
<span v-if="item.prop==='varType'">
|
||||||
<template v-if="scope.row[item.prop] == 0 ">None</template>
|
<template v-if="scope.row[item.prop] == 0 ">{{$t('project.topology.none')}}</template>
|
||||||
<template v-if="scope.row[item.prop] == 1 ">Asset</template>
|
<template v-if="scope.row[item.prop] == 1 ">{{$t('asset.asset')}}</template>
|
||||||
<template v-if="scope.row[item.prop] == 2 ">Endpoint</template>
|
<template v-if="scope.row[item.prop] == 2 ">{{$t('asset.endpoint')}}</template>
|
||||||
</span>
|
</span>
|
||||||
<template v-else-if="item.prop === 'name'">
|
<template v-else-if="item.prop === 'name'">
|
||||||
<copy :copyData='scope.row[item.prop]' :showInfo='scope.row[item.prop]'>
|
<copy :copyData='scope.row[item.prop]' :showInfo='scope.row[item.prop]'>
|
||||||
|
|||||||
@@ -38,15 +38,15 @@
|
|||||||
<template v-else-if="item.prop === 'state'">
|
<template v-else-if="item.prop === 'state'">
|
||||||
<div v-if="scope.row[item.prop] === 1">
|
<div v-if="scope.row[item.prop] === 1">
|
||||||
<span class="nz-icon nz-icon-circle ip-detail-available"></span>
|
<span class="nz-icon nz-icon-circle ip-detail-available"></span>
|
||||||
{{ 'Available' }}
|
{{ $t('overall.ipam.available') }}
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="scope.row[item.prop] === 2">
|
<div v-else-if="scope.row[item.prop] === 2">
|
||||||
<span class="nz-icon nz-icon-circle ip-detail-transient"></span>
|
<span class="nz-icon nz-icon-circle ip-detail-transient"></span>
|
||||||
{{ 'Transient' }}
|
{{ $t('overall.ipam.available') }}
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="scope.row[item.prop] === 3">
|
<div v-else-if="scope.row[item.prop] === 3">
|
||||||
<span class="nz-icon nz-icon-circle ip-detail-used"></span>
|
<span class="nz-icon nz-icon-circle ip-detail-used"></span>
|
||||||
{{ 'Used' }}
|
{{ $t('overall.ipam.used') }}
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<span v-else-if="scope.row[item.prop]" :class="item.prop === 'remark'? 'el-table-remark':''">{{scope.row[item.prop]}}</span>
|
<span v-else-if="scope.row[item.prop]" :class="item.prop === 'remark'? 'el-table-remark':''">{{scope.row[item.prop]}}</span>
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
ref="deleteButton"
|
ref="deleteButton"
|
||||||
:single="false"
|
:single="false"
|
||||||
:from="'assetMeta'"
|
:from="'assetMeta'"
|
||||||
:forceDeleteShow="false"
|
:forceDeleteShow="true"
|
||||||
:delete-objs="batchDeleteObjs"
|
:delete-objs="batchDeleteObjs"
|
||||||
@after="getTableData"
|
@after="getTableData"
|
||||||
id="meta-msg-batch-delete"
|
id="meta-msg-batch-delete"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="promqlInput">
|
<div class="promqlInput" :class=" errorMsg || appendMsg ? 'mb10' : ''">
|
||||||
<div class="query-row">
|
<div class="query-row">
|
||||||
<!--explore页面的样式-->
|
<!--explore页面的样式-->
|
||||||
<template v-if="styleType == 1">
|
<template v-if="styleType == 1">
|
||||||
@@ -101,10 +101,10 @@
|
|||||||
>
|
>
|
||||||
</el-input>
|
</el-input>
|
||||||
|
|
||||||
<div v-if="errorMsg" class="append-msg error">
|
<div v-if="errorMsg" class="append-msg error" style="position: absolute">
|
||||||
<span>{{ errorMsg }}</span>
|
<span>{{ errorMsg }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="appendMsg" class="append-msg error">
|
<div v-if="appendMsg" class="append-msg error" style="position: absolute">
|
||||||
<span>{{ appendMsg }}</span>
|
<span>{{ appendMsg }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -273,13 +273,13 @@
|
|||||||
class="not-fixed-height no-resize"
|
class="not-fixed-height no-resize"
|
||||||
ref="elInput"
|
ref="elInput"
|
||||||
></el-input>
|
></el-input>
|
||||||
|
</div>
|
||||||
<div class="append-msg error" v-if="errorMsg">
|
<div class="append-msg error" v-if="errorMsg">
|
||||||
<span>{{ errorMsg }}</span>
|
<span>{{ errorMsg }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="append-msg error" v-if="appendMsg">
|
<div class="append-msg error" v-if="appendMsg">
|
||||||
<span>{{ appendMsg }}</span>
|
<span>{{ appendMsg }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -281,6 +281,9 @@ export default {
|
|||||||
event.cancelBubble = true
|
event.cancelBubble = true
|
||||||
}
|
}
|
||||||
this.checked = this.checked.filter(dcId => dcId !== id)
|
this.checked = this.checked.filter(dcId => dcId !== id)
|
||||||
|
const checkedCount = this.checked.length
|
||||||
|
this.checkAll = checkedCount === this.dataCenter.length
|
||||||
|
this.isIndeterminate = checkedCount > 0 && checkedCount < this.dataCenter.length
|
||||||
},
|
},
|
||||||
// 开始任务
|
// 开始任务
|
||||||
startTask () {
|
startTask () {
|
||||||
|
|||||||
@@ -272,6 +272,9 @@ export default {
|
|||||||
event.cancelBubble = true
|
event.cancelBubble = true
|
||||||
}
|
}
|
||||||
this.checked = this.checked.filter(dcId => dcId !== id)
|
this.checked = this.checked.filter(dcId => dcId !== id)
|
||||||
|
const checkedCount = this.checked.length
|
||||||
|
this.checkAll = checkedCount === this.dataCenter.length
|
||||||
|
this.isIndeterminate = checkedCount > 0 && checkedCount < this.dataCenter.length
|
||||||
},
|
},
|
||||||
// 开始任务
|
// 开始任务
|
||||||
startTask () {
|
startTask () {
|
||||||
|
|||||||
Reference in New Issue
Block a user