summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzhangyu <[email protected]>2021-03-25 12:38:29 +0800
committerzhangyu <[email protected]>2021-03-25 12:38:29 +0800
commita95e7638bb443967cee7ac5f48307d097b425c34 (patch)
tree60c64524a5f0ce3c27d516214358b4fde3de0be0
parent9cfe34be7f5e089aa81ab1be1097dc30d7d10b72 (diff)
feat:添加示例
-rw-r--r--nezha-fronted/src/components/common/bottomBox/tabs/endpointQueryTab.vue1
-rw-r--r--nezha-fronted/src/components/common/bottomBox/tabs/terminalLogMonitorTab.vue1
-rw-r--r--nezha-fronted/src/components/common/js/tools.js2
-rw-r--r--nezha-fronted/src/components/common/language/cn.js14
-rw-r--r--nezha-fronted/src/components/common/language/en.js14
-rw-r--r--nezha-fronted/src/components/common/project/L5/services/canvas.js1
-rw-r--r--nezha-fronted/src/components/common/rightBox/assetMetaBox.vue52
-rw-r--r--nezha-fronted/src/components/page/alert/silence.vue1
-rw-r--r--nezha-fronted/src/components/page/asset/components/assetTagEx.vue161
-rw-r--r--nezha-fronted/src/components/page/config/assetMeta.vue4
-rw-r--r--nezha-fronted/src/components/page/config/exprTemp.vue1
-rw-r--r--nezha-fronted/src/components/page/dashboard/overview/chart.vue1
12 files changed, 220 insertions, 33 deletions
diff --git a/nezha-fronted/src/components/common/bottomBox/tabs/endpointQueryTab.vue b/nezha-fronted/src/components/common/bottomBox/tabs/endpointQueryTab.vue
index 792c06b77..9ffc89889 100644
--- a/nezha-fronted/src/components/common/bottomBox/tabs/endpointQueryTab.vue
+++ b/nezha-fronted/src/components/common/bottomBox/tabs/endpointQueryTab.vue
@@ -254,7 +254,6 @@ export default {
if (!this.scrollbarWrap) {
this.$nextTick(() => {
this.scrollbarWrap = this.$refs.endpointQueryTable.$refs.singleTable.bodyWrapper
- console.info(this.scrollbarWrap)
this.toTopBtnHandler(this.scrollbarWrap)
})
}
diff --git a/nezha-fronted/src/components/common/bottomBox/tabs/terminalLogMonitorTab.vue b/nezha-fronted/src/components/common/bottomBox/tabs/terminalLogMonitorTab.vue
index d7e2d02dc..a87610a39 100644
--- a/nezha-fronted/src/components/common/bottomBox/tabs/terminalLogMonitorTab.vue
+++ b/nezha-fronted/src/components/common/bottomBox/tabs/terminalLogMonitorTab.vue
@@ -91,7 +91,6 @@ export default {
}
/// monitor
const url = baseUrl + '/terminal/monitor.ws?' + '&token=' + token + '&uuid=' + this.obj.uuid
- console.info(url)
if (this.terminalSocket) { // 如果存在之前的链接 先断开 再链接新的
this.terminalSocket.close()
}
diff --git a/nezha-fronted/src/components/common/js/tools.js b/nezha-fronted/src/components/common/js/tools.js
index 539127430..62b0e2972 100644
--- a/nezha-fronted/src/components/common/js/tools.js
+++ b/nezha-fronted/src/components/common/js/tools.js
@@ -2,7 +2,7 @@ import { getChart } from './common'
import MessageBox from 'element-ui/packages/message-box/src/main'
import i18n from '../i18n'
/* 弹窗点击外部后关闭 */
-const exceptClassName = ['config-dropdown', 'nz-pop', 'el-picker', 'chart-box-dropdown', 'metric-dropdown', 'el-cascader__dropdown', 'asset-dropdown', 'no-style-class', 'el-message-box', 'nz-dashboard-dropdown', 'el-autocomplete-suggestion', 'nz-temp-box'] // clickoutside排除的class(白名单) no-style-class:没有任何样式的class
+const exceptClassName = ['config-dropdown', 'nz-pop', 'el-picker', 'chart-box-dropdown', 'metric-dropdown', 'el-cascader__dropdown', 'asset-dropdown', 'no-style-class', 'el-message-box', 'nz-dashboard-dropdown', 'el-autocomplete-suggestion', 'nz-temp-box','el-time-panel'] // clickoutside排除的class(白名单) no-style-class:没有任何样式的class
export const clickoutside = {
// 初始化指令
bind (el, binding, vnode) {
diff --git a/nezha-fronted/src/components/common/language/cn.js b/nezha-fronted/src/components/common/language/cn.js
index b3db77108..d4e50901f 100644
--- a/nezha-fronted/src/components/common/language/cn.js
+++ b/nezha-fronted/src/components/common/language/cn.js
@@ -958,7 +958,19 @@ const cn = {
integer: '整数',
double: '小数',
datetime: '日期',
- email: '邮箱'
+ email: '邮箱',
+ option: '选项',
+ isCheck: '是否默认选择',
+ operate: '操作',
+ default: '默认',
+ dateType: '日期类型',
+ date: '日期',
+ time: '时间',
+ datetimes: '时间+时间',
+ interval: '区间',
+ decimals: '精度',
+ moreOptionsError: '选项最多20条',
+ onlyOptionError: '至少需要一个选项'
},
exprTemp: {
exprTemp: 'expression模板',
diff --git a/nezha-fronted/src/components/common/language/en.js b/nezha-fronted/src/components/common/language/en.js
index 23c38424a..e4eab3932 100644
--- a/nezha-fronted/src/components/common/language/en.js
+++ b/nezha-fronted/src/components/common/language/en.js
@@ -961,7 +961,19 @@ const en = {
integer: 'INTEGER',
double: 'DOUBLE',
datetime: 'DATETIME',
- email: 'EMAIL'
+ email: 'EMAIL',
+ option: 'Options',
+ isCheck: 'Is check',
+ operate: 'Operate',
+ default: 'Default',
+ dateType: 'Date type',
+ date: 'Date',
+ time: 'Time',
+ datetimes: 'Date + Time',
+ interval: 'Interval',
+ decimals: 'Decimals',
+ moreOptionsError: 'There are up to 20 options',
+ onlyOptionError: 'You need at least one option'
},
exprTemp: {
exprTemp: 'Expression template',
diff --git a/nezha-fronted/src/components/common/project/L5/services/canvas.js b/nezha-fronted/src/components/common/project/L5/services/canvas.js
index dbc8dde60..3b8a79792 100644
--- a/nezha-fronted/src/components/common/project/L5/services/canvas.js
+++ b/nezha-fronted/src/components/common/project/L5/services/canvas.js
@@ -305,7 +305,6 @@ export function myCubeAnchors (node) { // 立方体锚点
/* 自定义立方体 */
export function onChangeAnimate (node, animateType, fillStyle, strokeStyle) {
- console.log(node)
node.animateType = animateType
if (node.animateType === 'custom') {
return
diff --git a/nezha-fronted/src/components/common/rightBox/assetMetaBox.vue b/nezha-fronted/src/components/common/rightBox/assetMetaBox.vue
index d6fee2200..a2e5db177 100644
--- a/nezha-fronted/src/components/common/rightBox/assetMetaBox.vue
+++ b/nezha-fronted/src/components/common/rightBox/assetMetaBox.vue
@@ -75,13 +75,13 @@
<div v-if="editAssetMeta.type==='radio' || editAssetMeta.type==='checkbox' || editAssetMeta.type==='select'" class="meta-option-box">
<el-row class="asset-meta-param-row asset-meta-param-header">
<el-col :span="12">
- 选项
+ {{$t('config.assetMeta.option')}}
</el-col>
<el-col :span="6">
- 是否默认
+ {{$t('config.assetMeta.isCheck')}}
</el-col>
<el-col :span="6">
- 操作
+ {{$t('config.assetMeta.operate')}}
</el-col>
</el-row>
<el-row v-for="(item,index) in editAssetMeta.param.items" :key="index" class="asset-meta-param-row">
@@ -89,9 +89,9 @@
<el-input v-model = "item.name" size="small" :rules="{ required: true, message: $t('validate.required'), trigger: 'blur'}" @input="(val)=>{inputChange(index, val)}" :ref="'metaNameOption'+index"></el-input>
</el-col>
<el-col :span="6">
- <el-radio v-if="editAssetMeta.type==='radio' || editAssetMeta.type==='select'" v-model = "item.check" :label="true" @change="radioChange(index)">默认</el-radio>
+ <el-radio v-if="editAssetMeta.type==='radio' || editAssetMeta.type==='select'" v-model = "item.check" :label="true" @change="radioChange(index)">{{$t('config.assetMeta.default')}}</el-radio>
- <el-checkbox v-else v-model="item.check" @change="checkBoxChange">默认</el-checkbox>
+ <el-checkbox v-else v-model="item.check" @change="checkBoxChange"> {{$t('config.assetMeta.default')}}</el-checkbox>
</el-col>
<el-col :span="6">
@@ -109,15 +109,15 @@
<div v-if="editAssetMeta.type==='datetime'">
<el-row style="margin-bottom: 10px">
- <span class="datetime-header">日期类型: </span>
- <el-radio-group v-model="editAssetMeta.param.subType" @change="()=>{console.log(editAssetMeta.param.subType)}">
- <el-radio :label="'date'">日期</el-radio>
- <el-radio :label="'time'">时间</el-radio>
- <el-radio :label="'dateTime'">日期+时间</el-radio>
+ <span class="datetime-header">{{$t('config.assetMeta.dateType')}}: </span>
+ <el-radio-group v-model="editAssetMeta.param.subType">
+ <el-radio :label="'date'">{{$t('config.assetMeta.date')}}</el-radio>
+ <el-radio :label="'time'">{{$t('config.assetMeta.time')}}</el-radio>
+ <el-radio :label="'datetime'">{{$t('config.assetMeta.datetimes')}}</el-radio>
</el-radio-group>
</el-row>
<el-row>
- <span class="datetime-header">是否区间: </span>
+ <span class="datetime-header">{{$t('config.assetMeta.interval')}}: </span>
<el-switch
v-model="editAssetMeta.param.interval"
@change="$forceUpdate"
@@ -126,6 +126,12 @@
</el-row>
</div>
+ <div v-if="editAssetMeta.type==='double'">
+ <el-row>
+ <span class="datetime-header">{{$t('config.assetMeta.decimals')}}: </span>
+ <el-input-number v-model="editAssetMeta.param.decimals" @change="$forceUpdate" :min="0" :max="10" :controls="false" size="small"></el-input-number>
+ </el-row>
+ </div>
</el-form-item>
<el-form-item :label='$t("overall.remark")' prop="remark">
@@ -133,6 +139,7 @@
</el-form-item>
<el-form-item :label='$t("config.assetMeta.example")'>
+ <assetTagEx :type="editAssetMeta.type" :param="editAssetMeta.param"/>
</el-form-item>
</el-form>
@@ -155,12 +162,13 @@
</template>
<script>
+import assetTagEx from '../../page/asset/components/assetTagEx'
export default {
name: 'assetMetaBox',
props: {
assetMeta: {}
},
- components: {},
+ components: { assetTagEx },
data () {
return {
editAssetMeta: {
@@ -261,7 +269,7 @@ export default {
this.$refs.editAssetMetaForm.validate((valid) => {
if (valid) {
const param = { ...this.editAssetMeta }
- if (param.type !== 'radio' && param.type !== 'checkbox' && param.type !== 'select' && param.type !== 'datetime'){
+ if (param.type !== 'radio' && param.type !== 'checkbox' && param.type !== 'select' && param.type !== 'datetime') {
delete param.param
} else {
param.param = JSON.stringify(param.param)
@@ -321,12 +329,10 @@ export default {
this.$get('asset/field/group', { pageSize: -1 }).then(response => {
if (response.code == 200) {
this.groupData = response.data.list
- console.log(this.groupData)
}
})
},
selectType (val, init) {
- console.log(val)
switch (val) {
case 'radio' :
case 'checkbox' :
@@ -350,6 +356,13 @@ export default {
interval: false
}
break
+ case 'double' :
+ this.showParam = true
+ if (init) return
+ this.editAssetMeta.param = {
+ decimals: 2
+ }
+ break
default:
this.showParam = false
break
@@ -361,7 +374,6 @@ export default {
this.$forceUpdate()
},
radioChange (i) {
- console.log(i)
this.editAssetMeta.param.items.forEach((item, index) => {
if (index === i) {
item.check = !!item.check
@@ -375,8 +387,8 @@ export default {
this.$forceUpdate()
},
addParam () {
- if (this.editAssetMeta.param.items.length > 20) {
- this.$message.error('选项最多20条')
+ if (this.editAssetMeta.param.items.length >= 20) {
+ this.$message.error(this.$t('config.assetMeta.moreOptionsError'))
return
}
this.editAssetMeta.param.items.push({
@@ -386,8 +398,8 @@ export default {
this.$forceUpdate()
},
deleteParam (index) {
- if (this.editAssetMeta.param.items.length > 20) {
- this.$message.error('至少需要一个选项')
+ if (this.editAssetMeta.param.items.length === 1) {
+ this.$message.error(this.$t('config.assetMeta.onlyOptionError'))
return
}
this.editAssetMeta.param.items.splice(index, 1)
diff --git a/nezha-fronted/src/components/page/alert/silence.vue b/nezha-fronted/src/components/page/alert/silence.vue
index 64c6bfe33..2a3a7e91d 100644
--- a/nezha-fronted/src/components/page/alert/silence.vue
+++ b/nezha-fronted/src/components/page/alert/silence.vue
@@ -354,7 +354,6 @@ export default {
this.tableData = response.data.list
this.pageObj.total = response.data.total
this.nowTime = this.utcTimeToTimezoneStr(response.time)
- console.info(this.$refs.alertSilenceTable)
if (!this.scrollbarWrap) {
this.$nextTick(() => {
this.scrollbarWrap = this.$refs.alertSilenceTable.bodyWrapper
diff --git a/nezha-fronted/src/components/page/asset/components/assetTagEx.vue b/nezha-fronted/src/components/page/asset/components/assetTagEx.vue
new file mode 100644
index 000000000..14596c54b
--- /dev/null
+++ b/nezha-fronted/src/components/page/asset/components/assetTagEx.vue
@@ -0,0 +1,161 @@
+<template>
+ <div>
+ <div v-if="type==='text'">
+ <el-input size="small" maxlength="128"/>
+ </div>
+ <div v-else-if="type==='multitext'">
+ <el-row v-for="(item, index) in inputArr" :key="index" style="margin-bottom: 10px">
+ <el-col :span="20"><el-input v-model="item.value" size="small" maxlength="128"/></el-col>
+ <el-col :span="2" style="text-align: center">
+ <span class="nz-icon-minus-medium">
+ <i @click="deleteInput(index)" class="nz-icon nz-icon-minus"></i>
+ </span>
+ </el-col>
+ <el-col :span="2" style="text-align: center">
+ <span v-if=" index=== inputArr.length-1" @click="addInput" style="display: inline-block;">
+ <span class="create-square-box">
+ <i style="font-size: 17px; cursor: pointer;" class="nz-icon nz-icon-create-square"></i>
+ </span>
+ </span>
+ </el-col>
+ </el-row>
+ </div>
+ <div v-else-if="type==='textarea'">
+ <el-input size="small" type="textarea" maxlength="512" :autosize="{ minRows: 2, maxRows: 4}"/>
+ </div>
+ <div v-else-if="type==='radio'">
+ <el-radio-group v-model="optionValue" >
+ <el-radio v-for="(item,index) in option.items" :label="item.name" :key="index">{{item.name}}</el-radio>
+ </el-radio-group>
+ </div>
+ <div v-else-if="type==='checkbox'">
+ <el-checkbox-group v-model="checkOption" >
+ <el-checkbox v-for="(item,index) in option.items" :label="item.name" :key="index">{{item.name}}</el-checkbox>
+ </el-checkbox-group>
+ </div>
+ <div v-else-if="type==='select'">
+ <el-select v-model="optionValue" :popper-append-to-body="false" size="small">
+ <el-option v-for="(item,index) in option.items" :label="item.name" :value="item.name" :key="index"></el-option>
+ </el-select>
+ </div>
+ <div v-else-if="type==='integer'">
+ <el-input-number size="small" maxlength="64" :controls="false"></el-input-number>
+ </div>
+ <div v-else-if="type==='double'">
+ <el-input-number size="small" :precision="param.decimals" :controls="false"></el-input-number>
+ </div>
+ <div v-else-if="type==='datetime'">
+ <div v-if="param.subType==='date'">
+ <el-date-picker
+ size="small"
+ :type="param.interval?'daterange':'date'"
+ :range-separator="$t('dashboard.panel.to')"
+ :placeholder="$t('alert.silence.selectTime')"
+ :start-placeholder="$t('dashboard.panel.startTime')"
+ :end-placeholder="$t('dashboard.panel.endTime')"
+ >
+ </el-date-picker>
+ </div>
+ <div v-if="param.subType==='time'">
+ <el-time-picker
+ size="small"
+ :is-range="param.interval"
+ :range-separator="$t('dashboard.panel.to')"
+ :placeholder="$t('alert.silence.selectTime')"
+ :start-placeholder="$t('dashboard.panel.startTime')"
+ :end-placeholder="$t('dashboard.panel.endTime')"
+ >
+ </el-time-picker>
+ </div>
+ <div v-if="param.subType==='datetime'">
+ <el-date-picker
+ size="small"
+ :type="param.interval?'datetimerange':'datetime'"
+ :range-separator="$t('dashboard.panel.to')"
+ :placeholder="$t('alert.silence.selectTime')"
+ :start-placeholder="$t('dashboard.panel.startTime')"
+ :end-placeholder="$t('dashboard.panel.endTime')">
+ </el-date-picker>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+export default {
+ name: 'assetTagEx',
+ props: {
+ type: {},
+ option: {
+ type: Object,
+ default: () => {
+ return {
+ items: [{ name: 'option 1', check: true }, { name: 'option 2', check: false }]
+ }
+ }
+ },
+ param: {
+ type: Object
+ },
+ value: {}
+ },
+ components: {},
+ data () {
+ return {
+ inputArr: [{ value: '' }],
+ optionValue: '',
+ checkOption: [],
+ daterange: [],
+ date: null
+ }
+ },
+ watch: {
+ option: {
+ immediate: true,
+ handler (n) {
+ if (n) {
+ if (this.type === 'radio' || this.type === 'select') {
+ n.items.forEach(item => {
+ if (item.check) {
+ this.optionValue = item.name
+ }
+ })
+ } else if (this.type === 'checkbox') {
+ n.items.forEach(item => {
+ if (item.check) {
+ this.checkOption.push(item.name)
+ }
+ })
+ }
+ }
+ }
+ },
+ param: {
+ immediate: true,
+ deep: true,
+ handler (n) {
+ if (this.type === 'datetime') {
+ // console.log(12312312)
+ }
+ }
+ }
+ },
+ mounted () {},
+ methods: {
+ addInput () {
+ this.inputArr.push({ value: '' })
+ },
+ deleteInput (index) {
+ if (this.inputArr.length <= 1) {
+ this.$message.error(this.$t('config.assetMeta.onlyOptionError'))
+ return
+ }
+ this.inputArr.splice(index, 1)
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/nezha-fronted/src/components/page/config/assetMeta.vue b/nezha-fronted/src/components/page/config/assetMeta.vue
index 16fee2391..bf73bd649 100644
--- a/nezha-fronted/src/components/page/config/assetMeta.vue
+++ b/nezha-fronted/src/components/page/config/assetMeta.vue
@@ -352,7 +352,6 @@ export default {
this.tools.loading = false
if (response.code == 200) {
this.groupData[0].children = response.data.list
- console.log(this.groupData)
this.$forceUpdate()
}
})
@@ -423,18 +422,15 @@ export default {
this.getAssetMeta()
},
addGroup () {
- console.log(123123123123)
this.metaGroup = JSON.parse(JSON.stringify(this.blackMetaGroup))
this.rightBox.groupShow = true
},
editGroup (group) {
- console.log(group)
this.metaGroup = JSON.parse(JSON.stringify(group))
this.rightBox.groupShow = true
},
delGroup (group) {
const selectKey = this.$refs.groupTree.getCurrentKey()
- console.log(selectKey)
if (this.prevent_opt.save) {
return
}
diff --git a/nezha-fronted/src/components/page/config/exprTemp.vue b/nezha-fronted/src/components/page/config/exprTemp.vue
index c689f10e0..1e9607bc9 100644
--- a/nezha-fronted/src/components/page/config/exprTemp.vue
+++ b/nezha-fronted/src/components/page/config/exprTemp.vue
@@ -312,7 +312,6 @@ export default {
this.tableData = response.data.list
this.pageObj.total = response.data.total
this.nowTime = this.utcTimeToTimezoneStr(response.time)
- console.info(this.$refs.exprTempTable)
if (!this.scrollbarWrap) {
this.$nextTick(() => {
this.scrollbarWrap = this.$refs.exprTempTable.bodyWrapper
diff --git a/nezha-fronted/src/components/page/dashboard/overview/chart.vue b/nezha-fronted/src/components/page/dashboard/overview/chart.vue
index 007672a14..ef07da359 100644
--- a/nezha-fronted/src/components/page/dashboard/overview/chart.vue
+++ b/nezha-fronted/src/components/page/dashboard/overview/chart.vue
@@ -178,7 +178,6 @@ export default {
if (this.option.series instanceof Array) {
this.option.series = this.option.series.filter((item, index) => index < this.dataSize)
}
- console.log('option', this.option)
this.chart.setOption(this.option)
} else {
this.noData = true