Merge branch 'dev-3.4-report' of git.mesalab.cn:nezha/nezha-fronted into dev-3.4-crosshair
This commit is contained in:
@@ -104,7 +104,6 @@ if (arg === 'html' || devStart === 'dev:html') {
|
||||
baseConfig.module.rules.unshift({
|
||||
include: [
|
||||
resolve('src/entrance/app'),
|
||||
resolve('src/components/common/alert'),
|
||||
resolve('src/components/common/bottomBox'),
|
||||
resolve('src/components/common/detailView'),
|
||||
resolve('src/components/common/elSelect'),
|
||||
|
||||
@@ -312,7 +312,8 @@ if (process.env.NODE_ENV == 'development') {
|
||||
onEnd: [
|
||||
{
|
||||
move: [
|
||||
{ source: path.join(__dirname, '../dist', '/static/config.json'), destination: path.join(__dirname, '../dist/config.json') }
|
||||
{ source: path.join(__dirname, '../dist', '/static/config.json'), destination: path.join(__dirname, '../dist/config.json') },
|
||||
{ source: path.join(__dirname, '../exportHtml', '/exportHtml.html'), destination: path.join(__dirname, '../dist/exportHtml.html') }
|
||||
|
||||
],
|
||||
mkdir: [
|
||||
@@ -345,7 +346,8 @@ if (process.env.NODE_ENV == 'development') {
|
||||
onEnd: [
|
||||
{
|
||||
move: [
|
||||
{ source: path.join(__dirname, '../dist', '/static/config.json'), destination: path.join(__dirname, '../dist/config.json') }
|
||||
{ source: path.join(__dirname, '../dist', '/static/config.json'), destination: path.join(__dirname, '../dist/config.json') },
|
||||
{ source: path.join(__dirname, '../exportHtml', '/snapshot_template.html'), destination: path.join(__dirname, '../dist/snapshot_template.html') }
|
||||
|
||||
],
|
||||
mkdir: [
|
||||
@@ -371,7 +373,7 @@ if (process.env.NODE_ENV == 'development') {
|
||||
if (arg === 'html') {
|
||||
plugin.onStart[0].delete.push(path.join(__dirname, '../exportHtml/'))
|
||||
plugin.onEnd[0].copy.push(
|
||||
{ source: path.join(__dirname, '../dist', '/index.html'), destination: path.join(__dirname, '../exportHtml', '/index.html') }
|
||||
{ source: path.join(__dirname, '../dist', '/index.html'), destination: path.join(__dirname, '../exportHtml', '/snapshot_template.html') }
|
||||
)
|
||||
}
|
||||
webpackConfig.plugins.push(
|
||||
|
||||
@@ -0,0 +1,153 @@
|
||||
.right-box-panel{
|
||||
.item-receivers{
|
||||
.el-select.el-select--small{
|
||||
width: 100%;
|
||||
}
|
||||
.item-receivers-text{
|
||||
color: $--color-text-secondary;
|
||||
}
|
||||
}
|
||||
.el-input--suffix.el-date-editor--datetime .el-input__inner{
|
||||
padding-left: 15px;
|
||||
}
|
||||
.form-items--half-width-group{
|
||||
.item-receivers{
|
||||
width: 100%;
|
||||
.el-select.el-select--small{
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
.form-item--half-width{
|
||||
.el-date-editor.el-date-editor--datetime{
|
||||
width: 100%;
|
||||
.el-input__inner{
|
||||
height: 32px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.check-month_box{
|
||||
.el-checkbox-group{
|
||||
display: flex;
|
||||
justify-content: start;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
.el-checkbox-button{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: calc(100% / 7);
|
||||
margin-right: -2px;
|
||||
margin-bottom: -1px;
|
||||
border: 1px solid $--border-color-light;
|
||||
.el-checkbox-button__inner{
|
||||
border: 0px;
|
||||
border-left: 0px !important;
|
||||
border-bottom: 0px !important;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: $--background-color-empty;
|
||||
border-radius: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.el-checkbox-button.is-checked .el-checkbox-button__inner {
|
||||
color: #fff;
|
||||
border-radius: 0;
|
||||
background-color: $--color-primary !important;
|
||||
}
|
||||
}
|
||||
.range-time{
|
||||
width: 100%;
|
||||
.el-form-item__content{
|
||||
height: 41px;
|
||||
.el-radio-group{
|
||||
height: 100%;
|
||||
border-left: 1px solid $--border-color-light;
|
||||
.el-radio-button__inner{
|
||||
height: 100%;
|
||||
line-height: 1.5;
|
||||
font-size: 14px;
|
||||
color: $--color-text-primary;
|
||||
}
|
||||
}
|
||||
.el-checkbox-group{
|
||||
height: 100%;
|
||||
.el-checkbox-button{
|
||||
margin-right: -2px;
|
||||
.el-checkbox-button__inner{
|
||||
background-color: $--background-color-empty;
|
||||
border:1px solid $--border-color-light;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.el-radio-group{
|
||||
display: flex;
|
||||
border-left: 0;
|
||||
.el-radio-button{
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.el-checkbox-button.is-checked .el-checkbox-button__inner {
|
||||
color: #fff;
|
||||
border-radius: 0;
|
||||
background-color: $--color-primary !important;
|
||||
border: 1px solid $--color-primary !important;
|
||||
// margin-right: -1px;
|
||||
}
|
||||
}
|
||||
.form-tabs{
|
||||
width: 100%;
|
||||
.el-tabs__nav{
|
||||
display: flex;
|
||||
.el-tabs__item{
|
||||
flex: 1;
|
||||
}
|
||||
.el-checkbox-button.is-checked .el-checkbox-button__inner {
|
||||
color: #fff;
|
||||
border-radius: 0;
|
||||
background-color: $--color-primary !important;
|
||||
border: 1px solid $--color-primary !important;
|
||||
// margin-right: -1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.form-day-week{
|
||||
width: 100%;
|
||||
.el-input-group__append{
|
||||
border: 1px solid $--border-color-light;
|
||||
background-color: $--right-box-sub-title-background-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.el-form-item__content{
|
||||
text-align: unset !important;
|
||||
.el-checkbox-button{
|
||||
width: calc(100% / 7) !important;
|
||||
.el-checkbox-button__inner{
|
||||
width: 100%;
|
||||
padding: 11px 3px;
|
||||
}
|
||||
|
||||
}
|
||||
.el-checkbox-button.is-focus .el-checkbox-button__inner{
|
||||
border-color: $--border-color-base;
|
||||
}
|
||||
|
||||
.el-tabs__item.is-top.is-active{
|
||||
color: #fff !important;
|
||||
background-color: $--color-primary !important;
|
||||
}
|
||||
.el-radio-button.el-radio-button--small.is-active{
|
||||
.el-radio-button__inner{
|
||||
color: #fff !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
@import './common/rightBox/chartRightBox/chartRightBox.scss';
|
||||
@import './common/rightBox/mibBox.scss';
|
||||
@import './common/rightBox/assetBactchEditBox.scss';
|
||||
@import './common/rightBox/panelBox.scss';
|
||||
@import './common/table/alert/alertMessageTable.scss';
|
||||
@import './common/table/alert/alertRuleTable.scss';
|
||||
@import './common/table/alert/alertSilenceTable.scss';
|
||||
|
||||
@@ -210,6 +210,7 @@ export default {
|
||||
this.showBasicInfo = !this.showBasicInfo
|
||||
},
|
||||
init () {
|
||||
if (window.dataJson) { return }
|
||||
this.loading = true
|
||||
const weekDays = this.getWeeksTime()
|
||||
if (this.trendTimer) {
|
||||
|
||||
@@ -436,9 +436,14 @@ export default {
|
||||
}
|
||||
case 'system': {
|
||||
this.chartData = []
|
||||
this.chartData.push(this.dataJson[this.chartInfo.id + '_' + 0].result)
|
||||
}
|
||||
if (this.chartInfo.type === 'assetInfo' || this.chartInfo.type === 'endpointInfo') {
|
||||
this.chartData = this.dataJson[this.chartInfo.id + '_' + 0].data
|
||||
this.loading = false
|
||||
break
|
||||
}
|
||||
this.chartData.push(this.dataJson[this.chartInfo.id + '_' + 0].result)
|
||||
break
|
||||
}
|
||||
case 'misc': {
|
||||
this.loading = false
|
||||
setTimeout(() => {
|
||||
|
||||
@@ -21,7 +21,7 @@ export default {
|
||||
this.messageParams.route = route
|
||||
this.messageParams.params = params
|
||||
this.closeMessage = this.$message({
|
||||
duration: 2000,
|
||||
duration: showNext ? 5000 : 2000,
|
||||
dangerouslyUseHTMLString: true,
|
||||
type: 'success',
|
||||
message: `<div>${msg} <span class="message-next ${showNext ? '' : 'hidden'}"><span class="message-next-continue">${this.$t('overall.continue')}</span> <span id="assetAdd" class="message-next-content">${this.$t(nextText)}</span></span></div>`,
|
||||
|
||||
@@ -188,8 +188,8 @@
|
||||
</el-form-item>
|
||||
<!--remark-->
|
||||
<el-form-item :label="$t('overall.remark')" class="full-form-item" prop="remark">
|
||||
<el-input v-model="selection.pen.data.remark" :autosize="{ minRows: 2, maxRows: 6}" maxlength="256"
|
||||
show-word-limit type="textarea"/>
|
||||
<el-input v-model="selection.pen.data.remark" maxlength="256"
|
||||
show-word-limit type="textarea" size="small" :rows="2"/>
|
||||
</el-form-item>
|
||||
<!--chart unit-->
|
||||
<el-form-item v-show="selection.pen.data.type !='text'" :label="$t('dashboard.panel.chartForm.unit')" class="half-form-item"
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
</el-form-item>
|
||||
<!--remark-->
|
||||
<el-form-item :label="$t('overall.remark')" prop="remark">
|
||||
<el-input maxlength="256" show-word-limit v-model="editModel.remark" size="small" type="text"></el-input>
|
||||
<el-input maxlength="256" show-word-limit v-model="editModel.remark" size="small" :rows="2" type="textarea"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
show-word-limit size="small" type="text" v-model="editRole.name"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('overall.remark')">
|
||||
<el-input maxlength="256" show-word-limit :rows="2" size='mini' type="textarea" v-model="editRole.remark" id="role-box-input-remark"/>
|
||||
<el-input maxlength="256" show-word-limit :rows="2" size='small' type="textarea" v-model="editRole.remark" id="role-box-input-remark"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item :label="$t('config.roles.permission')">
|
||||
|
||||
@@ -149,11 +149,11 @@
|
||||
</el-form-item>
|
||||
<!--summary-->
|
||||
<el-form-item :label="$t('alert.summary')" prop="summary">
|
||||
<el-input id="alert-box-input-summary" v-model="editAlertRule.summary" maxlength="512" placeholder="" rows="3" show-word-limit size="small" type="textarea"></el-input>
|
||||
<el-input id="alert-box-input-summary" v-model="editAlertRule.summary" maxlength="512" placeholder="" rows="2" show-word-limit size="small" type="textarea"></el-input>
|
||||
</el-form-item>
|
||||
<!--description-->
|
||||
<el-form-item :label="$t('overall.remark')" prop="description">
|
||||
<el-input id="alert-box-input-description" v-model="editAlertRule.description" maxlength="256" placeholder="" rows="4" show-word-limit size="small" type="textarea"></el-input>
|
||||
<el-input id="alert-box-input-description" v-model="editAlertRule.description" maxlength="256" placeholder="" rows="2" show-word-limit size="small" type="textarea"></el-input>
|
||||
</el-form-item>
|
||||
<div class="alert-rule-split-title">{{ $t('alert.config.effectiveConfig') }}</div>
|
||||
<!--state-->
|
||||
|
||||
@@ -95,8 +95,8 @@
|
||||
<el-form-item :label='$t("overall.remark")' class="range-time" prop="remark">
|
||||
<el-input
|
||||
v-model="editAlertSilence.remark"
|
||||
:placeholder="$t('overall.remark')"
|
||||
maxlength="256"
|
||||
size="small" :rows="2"
|
||||
show-word-limit
|
||||
type="textarea">
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<div class="container__form">
|
||||
<el-form ref="apiKeyBoxForm" :model="apiKeyBox" :rules="rules" label-position="top" label-width="120px">
|
||||
<el-form-item :label="$t('profile.name')" prop="name">
|
||||
<el-input maxlength="64" show-word-limit v-model="apiKeyBox.name" size="small" type="text" :placeholder="$t('profile.name')"></el-input>
|
||||
<el-input maxlength="64" show-word-limit v-model="apiKeyBox.name" size="small" type="text"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('profile.apiKey.box.expiredAt')"
|
||||
@@ -23,12 +23,11 @@
|
||||
type="datetime"
|
||||
prefix-icon="el-icon-date"
|
||||
:format="timeFormatStrToDatePickFormat(dateFormatStr)"
|
||||
:placeholder="$t('backup.selectData')"
|
||||
>
|
||||
</my-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('overall.remark')">
|
||||
<el-input show-word-limit v-model="apiKeyBox.remark" size="small" type="textarea" :placeholder="$t('overall.remark')" maxlength="256"></el-input>
|
||||
<el-input size='small' show-word-limit maxlength="256" v-model="apiKeyBox.remark" type="textarea" :rows="2"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<template v-else-if="label.type.toUpperCase() === assetConstants.labelTypeData.TEXTAREA">
|
||||
<el-input v-model="label.value" :maxlength="4096" size="small" type="textarea"/>
|
||||
<el-input v-model="label.value" :maxlength="4096" size="small" :rows="2" show-word-limit type="textarea"/>
|
||||
</template>
|
||||
<template v-else-if="label.type.toUpperCase() === assetConstants.labelTypeData.RADIO">
|
||||
<el-radio v-for="item in JSON.parse(label.param).items" :key="item.name" v-model="label.value" :label="item.name">{{item.name}}</el-radio>
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<template v-else-if="label.type.toUpperCase() === assetConstants.labelTypeData.TEXTAREA">
|
||||
<el-input v-model="label.value[0]" :maxlength="4096" size="small" type="textarea"/>
|
||||
<el-input v-model="label.value[0]" :maxlength="4096" show-word-limit size="small" :rows="2" type="textarea"/>
|
||||
</template>
|
||||
<template v-else-if="label.type.toUpperCase() === assetConstants.labelTypeData.RADIO">
|
||||
<el-radio-group v-model="label.value[0]">
|
||||
@@ -753,7 +753,7 @@ export default {
|
||||
this.$post(this.url, params).then(res => {
|
||||
this.prevent_opt.save = false
|
||||
if (res.code === 200) {
|
||||
this.messageShow(this.$t('tip.saveSuccess'), '/endpoint', { assetId: res.data.id }, true, 'guide.addEndpoint')
|
||||
this.messageShow(this.$t('tip.saveSuccess'), '/endpoint', { assetId: res.data.id }, false, 'guide.addEndpoint')
|
||||
this.esc(true)
|
||||
} else {
|
||||
this.$message.error(res.msg)
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item :label='$t("overall.remark")' prop="remark">
|
||||
<el-input placeholder="" maxlength="256" type="textarea" show-word-limit v-model="editAssetMeta.remark" size="small" id="editAssetMeta-box-input-remark"></el-input>
|
||||
<el-input placeholder="" maxlength="256" type="textarea" show-word-limit v-model="editAssetMeta.remark" size="small" :rows="2" id="editAssetMeta-box-input-remark"></el-input>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item :label='$t("config.assetLabel.example")'>-->
|
||||
<!-- <assetTagEx :param="editAssetMeta.param" :type="editAssetMeta.type.toUpperCase()"/>-->
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<el-input placeholder="" maxlength="64" show-word-limit v-model="editMetaGroup.name" size="small" id="editMetaGroup-box-input-name"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label='$t("overall.remark")' prop="remark">
|
||||
<el-input placeholder="" maxlength="256" type="textarea" show-word-limit v-model="editMetaGroup.remark" size="small" id="editMetaGroup-box-input-remark"></el-input>
|
||||
<el-input placeholder="" maxlength="256" type="textarea" show-word-limit v-model="editMetaGroup.remark" size="small" :rows="2" id="editMetaGroup-box-input-remark"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
</el-form-item>
|
||||
<!--descrption-->
|
||||
<el-form-item :label="$t('overall.remark')" prop="remark">
|
||||
<el-input id="asset-state-input-description" placeholder="" size="small" type="textarea" v-model="editAssetState.remark"></el-input>
|
||||
<el-input id="asset-state-input-description" placeholder="" size="small" :rows="2" type="textarea" show-word-limit maxlength="256" v-model="editAssetState.remark"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<el-input v-model.number="editCabinet.uSize" :max="47" size="small" id="cabinet-box-input-uSize"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('overall.remark')">
|
||||
<el-input size='mini' maxlength="256" show-word-limit v-model="editCabinet.remark" type="textarea" :rows="2" id="cabinet-box-input-remark"/>
|
||||
<el-input size='small' maxlength="256" show-word-limit v-model="editCabinet.remark" type="textarea" :rows="2" id="cabinet-box-input-remark"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
@@ -67,11 +67,11 @@
|
||||
</div>
|
||||
<!--remark-->
|
||||
<el-form-item :label="$t('overall.remark')">
|
||||
<el-input maxlength="256" show-word-limit v-model="editChart.remark" :autosize="{ minRows: 1, maxRows: 6}" type="textarea"/>
|
||||
<el-input maxlength="256" show-word-limit v-model="editChart.remark" size="small" :rows="2" type="textarea"/>
|
||||
</el-form-item>
|
||||
<!--remark-->
|
||||
<el-form-item :label="$t('overall.link')" v-if="editChart.param">
|
||||
<el-input maxlength="256" show-word-limit v-model="editChart.param.link" :autosize="{ minRows: 1, maxRows: 6}" type="textarea"/>
|
||||
<el-input maxlength="256" show-word-limit v-model="editChart.param.link" size="small" :rows="2" type="textarea"/>
|
||||
</el-form-item>
|
||||
|
||||
<!--title-->
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
</div>
|
||||
<!--url-->
|
||||
<el-form-item v-if="isUrl(chartConfig.type)" :label='$t("dashboard.panel.chartForm.url")' :rules="{ required: true, message: $t('validate.required'), trigger: 'blur' }" prop="param.url">
|
||||
<el-input id="chart-box-url" v-model="chartConfig.param.url" maxlength="1024" show-word-limit size="small" type="textarea" @change="change"></el-input>
|
||||
<el-input id="chart-box-url" v-model="chartConfig.param.url" maxlength="1024" show-word-limit size="small" :rows="2" type="textarea" @change="change"></el-input>
|
||||
</el-form-item>
|
||||
<!--topoData-->
|
||||
<el-form-item v-if="isDiagram(chartConfig.type)" >
|
||||
|
||||
@@ -48,10 +48,9 @@
|
||||
<el-form-item :label="$t('overall.remark')" prop="remark">
|
||||
<el-input
|
||||
v-model="editExprTemp.remark"
|
||||
:placeholder="$t('overall.remark')"
|
||||
maxlength="256"
|
||||
show-word-limit
|
||||
size="small"
|
||||
size="small" :rows="2"
|
||||
type="textarea"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<el-input maxlength="256" rows="4" show-word-limit placeholder="" v-model="editipDetails.state" size="small"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('overall.remark')" prop="remark">
|
||||
<el-input maxlength="256" rows="4" show-word-limit type="textarea" placeholder="" v-model="editipDetails.remark" size="small" id="mib-box-input-remark"></el-input>
|
||||
<el-input maxlength="256" rows="2" show-word-limit type="textarea" placeholder="" v-model="editipDetails.remark" size="small" id="mib-box-input-remark"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
<el-input maxlength="256" rows="4" show-word-limit placeholder="" v-model="editipam.vlan" size="small"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('overall.remark')" prop="remark">
|
||||
<el-input maxlength="256" rows="4" show-word-limit type="textarea" placeholder="" v-model="editipam.remark" size="small" id="mib-box-input-remark"></el-input>
|
||||
<el-input maxlength="256" rows="2" show-word-limit type="textarea" placeholder="" v-model="editipam.remark" size="small" id="mib-box-input-remark"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
clearable></el-cascader>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('overall.remark')" prop="remark">
|
||||
<el-input maxlength="256" rows="4" show-word-limit type="textarea" placeholder="" v-model="editMib.remark" size="small" id="mib-box-input-remark"></el-input>
|
||||
<el-input maxlength="256" rows="2" show-word-limit type="textarea" placeholder="" v-model="editMib.remark" size="small" id="mib-box-input-remark"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('config.mib.mibFiles')" prop="file" :rules="[{validator:checkMibFile,trigger:'change'}]" :class="{'add-required':!editMib.id}">
|
||||
<el-upload drag :multiple="false" action="" :file-list="uploadFileList" :on-change="uploadChange" :auto-upload="false" accept="" :on-remove="afterClearFile" ref="mibFileUpload" class="mib-upload right-box-form-row" id="mib-box-input-file">
|
||||
|
||||
@@ -28,12 +28,11 @@
|
||||
<el-input
|
||||
id="module-box-input-remark"
|
||||
v-model="editModule.remark"
|
||||
:autosize="{ minRows: 1, maxRows: 6}"
|
||||
class="not-fixed-height no-resize"
|
||||
maxlength="256"
|
||||
show-word-limit
|
||||
placeholder=""
|
||||
size="small"
|
||||
size="small" :rows="2"
|
||||
type="textarea"></el-input>
|
||||
</el-form-item>
|
||||
<!--Enpoint template-->
|
||||
|
||||
@@ -14,6 +14,148 @@
|
||||
<el-form-item :label='$t("overall.name")' prop="name">
|
||||
<el-input id="dc-box-input-name" v-model="editPanel.name" maxlength="64" placeholder="" show-word-limit size="small"></el-input>
|
||||
</el-form-item>
|
||||
<!--remark-->
|
||||
<el-form-item :label='$t("overall.remark")' class="range-time" prop="remark">
|
||||
<el-input
|
||||
v-model="editPanel.remark"
|
||||
maxlength="256"
|
||||
size="small" :rows="2"
|
||||
show-word-limit
|
||||
type="textarea">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('dashboard.panel.chartTooltip')" class="item-receivers" prop="chartShare">
|
||||
<el-select v-model="editPanel.param.chartShare" clearable placeholder="" popper-class="right-box-select-top prevent-clickoutside" size="small" value-key="chartType">
|
||||
<el-option value="none" label="Default">
|
||||
<span class="panel-dropdown-label-txt" >{{$t('config.assetLabel.default')}}</span>
|
||||
</el-option>
|
||||
<el-option value="crosshair" label="Share crosshair">
|
||||
<span class="panel-dropdown-label-txt" >{{$t('dashboard.panel.crosshair')}}</span>
|
||||
</el-option>
|
||||
<el-option value="tooltip" label="Share tooltip">
|
||||
<span class="panel-dropdown-label-txt" >{{$t('dashboard.panel.shareTooltip')}}</span>
|
||||
</el-option>
|
||||
</el-select>
|
||||
<div class="item-receivers-text">{{$t('dashboard.panel.chartTooltipText')}}</div>
|
||||
</el-form-item>
|
||||
<!-- Report -->
|
||||
<div>
|
||||
<el-form-item >
|
||||
<div class="form__sub-title">
|
||||
<span>{{$t('dashboard.panel.report')}}</span>
|
||||
<el-switch v-model="editPanel.param.report.enable" size="small"></el-switch>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<div v-if="editPanel.param.report.enable">
|
||||
<transition name="el-zoom-in-top" >
|
||||
<div class="form-items--half-width-group">
|
||||
<el-form-item
|
||||
:label="$t('backup.start')"
|
||||
class="form-item--half-width"
|
||||
prop="stime"
|
||||
>
|
||||
<my-date-picker align="right" class=" "
|
||||
v-model="editPanel.param.report.schedule.stime"
|
||||
:format="timeFormatStrToDatePickFormat(dateFormatStr)"
|
||||
popper-class="panel-time-picker-popper right-box-select-top"
|
||||
prefix-icon=" "
|
||||
size="mini"
|
||||
type="datetime">
|
||||
</my-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('dashboard.panel.endAt')"
|
||||
class="form-item--half-width"
|
||||
prop="etime"
|
||||
>
|
||||
<my-date-picker align="right" class=" "
|
||||
v-model="editPanel.param.report.schedule.etime"
|
||||
:format="timeFormatStrToDatePickFormat(dateFormatStr)"
|
||||
popper-class="panel-time-picker-popper right-box-select-top"
|
||||
prefix-icon=" "
|
||||
size="mini"
|
||||
type="datetime">
|
||||
</my-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item :label='$t("dashboard.panel.period")' class="range-time" prop="unit">
|
||||
<el-radio-group v-model="editPanel.param.report.range.unit" size="small">
|
||||
<el-radio-button label="day">{{ $t("dashboard.panel.prevDay") }}</el-radio-button>
|
||||
<el-radio-button label="week">{{ $t("dashboard.panel.prevWeek") }}</el-radio-button>
|
||||
<el-radio-button label="month">{{ $t("dashboard.panel.prevMonth") }}</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('backup.schedule')"
|
||||
prop="schType"
|
||||
class="form-tabs">
|
||||
<el-tabs
|
||||
v-model="editPanel.param.report.schedule.type"
|
||||
type="card"
|
||||
@tab-click="datasourceChange"
|
||||
class="backups-info-tab"
|
||||
>
|
||||
<el-tab-pane :label="$t('backup.Daily')" name="2"></el-tab-pane>
|
||||
<el-tab-pane :label="$t('backup.Weekly')" name="3"></el-tab-pane>
|
||||
<el-tab-pane :label="$t('backup.Monthly')" name="4"></el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-if="isShow === 2 || isShow === 3 ? true :false"
|
||||
:label="$t('backup.RepeatEvery')"
|
||||
prop="repeat"
|
||||
class="form-day-week">
|
||||
<el-input
|
||||
size="small"
|
||||
v-model="editPanel.param.report.schedule.repeat"
|
||||
id="chart-box-title"
|
||||
v-if="isShow === 3 ? true :false">
|
||||
<template slot="append">{{ $t("backup.week") }}</template>
|
||||
</el-input>
|
||||
<el-input
|
||||
size="small"
|
||||
v-model="editPanel.param.report.schedule.repeat"
|
||||
id="chart-box-title"
|
||||
v-if="isShow === 2 ? true :false">
|
||||
<template slot="append">{{ $t("backup.day") }}</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="isShow === 3 ? true : false" :label='$t("backup.WeekOn")' class="range-time" prop="nums">
|
||||
<el-checkbox-group
|
||||
v-model="editPanel.param.report.schedule.nums">
|
||||
<el-checkbox-button
|
||||
v-for="(item,index) in week"
|
||||
:label="index + 1"
|
||||
:key="index"
|
||||
>{{item}}</el-checkbox-button>
|
||||
</el-checkbox-group>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-show="isShow === 4 ? true : false"
|
||||
:label="$t('backup.DayOfMonth')"
|
||||
prop="nums"
|
||||
class="check-month_box"
|
||||
id="day-of-month"
|
||||
>
|
||||
<el-checkbox-group v-model="editPanel.param.report.schedule.nums">
|
||||
<el-checkbox-button
|
||||
v-for="(item, index) in month"
|
||||
:label="index === 31 ? -1 : index + 1"
|
||||
:key="item"
|
||||
>{{ item }}</el-checkbox-button>
|
||||
</el-checkbox-group>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="isShow !== 0 ? true : false" :label="$t('dashboard.panel.receivers')" class="item-receivers" prop="receivers">
|
||||
<el-select v-model="editPanel.param.report.receivers" clearable multiple placeholder="" popper-class="right-box-select-top prevent-clickoutside" size="small" value-key="chartType">
|
||||
<el-option v-for="item in userData" :key="item.id" :label="item.name" :value="item.id">
|
||||
<span class="panel-dropdown-label-txt" >{{item.name}}</span>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</transition>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
@@ -32,6 +174,7 @@
|
||||
|
||||
<script>
|
||||
import editRigthBox from '../mixin/editRigthBox'
|
||||
import bus from '@/libs/bus'
|
||||
export default {
|
||||
name: 'panelBox',
|
||||
props: {
|
||||
@@ -44,14 +187,91 @@ export default {
|
||||
return {
|
||||
url: 'visual/panel',
|
||||
editPanel: {},
|
||||
isShow: 0,
|
||||
userData: [],
|
||||
rules: {
|
||||
name: [
|
||||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
|
||||
]
|
||||
}
|
||||
},
|
||||
week: [
|
||||
this.$t('week.Mon'),
|
||||
this.$t('week.Tue'),
|
||||
this.$t('week.Wed'),
|
||||
this.$t('week.Thu'),
|
||||
this.$t('week.Fri'),
|
||||
this.$t('week.Sat'),
|
||||
this.$t('week.Sun')
|
||||
],
|
||||
month: [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12,
|
||||
13,
|
||||
14,
|
||||
15,
|
||||
16,
|
||||
17,
|
||||
18,
|
||||
19,
|
||||
20,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
24,
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
28,
|
||||
29,
|
||||
30,
|
||||
31,
|
||||
'Last'
|
||||
],
|
||||
dateFormatStr: localStorage.getItem('nz-default-dateFormat')
|
||||
? localStorage.getItem('nz-default-dateFormat')
|
||||
: 'YYYY-MM-DD HH:ss:mm'
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.dateFormatStr = 'YYYY-MM-DD HH:mm:ss'
|
||||
if (this.editPanel.id) {
|
||||
this.isShow = Number(this.editPanel.param.report.schedule.type)
|
||||
this.editPanel.param.report.schedule.type = this.editPanel.param.report.schedule.type + ''
|
||||
this.editPanel.param.report.schedule.stime = this.utcTimeToTimezoneStr(this.editPanel.param.report.schedule.stime)
|
||||
this.editPanel.param.report.schedule.etime = this.utcTimeToTimezoneStr(this.editPanel.param.report.schedule.etime)
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.getUserData()
|
||||
},
|
||||
methods: {
|
||||
getUserData () {
|
||||
return new Promise(resolve => {
|
||||
this.$get('sys/user', { pageSize: -1, pageNo: 1 }).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.userData = response.data.list
|
||||
}
|
||||
resolve()
|
||||
})
|
||||
})
|
||||
},
|
||||
datasourceChange (tab) {
|
||||
this.isShow = Number(tab.name)
|
||||
if (this.editPanel.param.report.schedule.nums) {
|
||||
this.editPanel.param.report.schedule.nums = []
|
||||
this.editPanel.param.report.schedule.repeat = 0
|
||||
}
|
||||
},
|
||||
/* 关闭弹框 */
|
||||
esc (refresh) {
|
||||
this.prevent_opt.save = false
|
||||
@@ -63,6 +283,33 @@ export default {
|
||||
|
||||
/* 保存 */
|
||||
save () {
|
||||
const params = {
|
||||
id: this.editPanel.id ? this.editPanel.id : '',
|
||||
name: this.editPanel.name,
|
||||
type: 'dashboard',
|
||||
pid: 0,
|
||||
remark: this.editPanel.remark,
|
||||
param: {
|
||||
report: {
|
||||
enable: this.editPanel.param.report.enable,
|
||||
range: {
|
||||
type: 'previous',
|
||||
interval: 1,
|
||||
unit: this.editPanel.param.report.range.unit
|
||||
},
|
||||
schedule: {
|
||||
type: Number(this.editPanel.param.report.schedule.type),
|
||||
repeat: this.editPanel.param.report.schedule.repeat ? this.editPanel.param.report.schedule.repeat : 1,
|
||||
stime: this.timezoneToUtcTimeStr(this.editPanel.param.report.schedule.stime),
|
||||
etime: this.timezoneToUtcTimeStr(this.editPanel.param.report.schedule.etime),
|
||||
nums: this.editPanel.param.report.schedule.nums
|
||||
},
|
||||
receivers: this.editPanel.param.report.receivers
|
||||
},
|
||||
chartShare: this.editPanel.param.chartShare
|
||||
}
|
||||
}
|
||||
const editParam = JSON.parse(JSON.stringify(params))
|
||||
if (this.prevent_opt.save) {
|
||||
return
|
||||
}
|
||||
@@ -70,7 +317,7 @@ export default {
|
||||
this.$refs.form.validate((valid) => {
|
||||
if (valid) {
|
||||
if (this.editPanel.id) {
|
||||
this.$put(this.url, this.editPanel).then(response => {
|
||||
this.$put(this.url, editParam).then(response => {
|
||||
this.prevent_opt.save = false
|
||||
if (response.code === 200) {
|
||||
this.$message({ duration: 1000, type: 'success', message: this.$t('tip.saveSuccess') })
|
||||
@@ -80,7 +327,7 @@ export default {
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$post(this.url, this.editPanel).then(response => {
|
||||
this.$post(this.url, editParam).then(response => {
|
||||
this.prevent_opt.save = false
|
||||
if (response.code === 200) {
|
||||
this.$message({ duration: 1000, type: 'success', message: this.$t('tip.saveSuccess') })
|
||||
@@ -127,6 +374,20 @@ export default {
|
||||
this.isEdit = true
|
||||
this.editPanel = JSON.parse(JSON.stringify(n))
|
||||
}
|
||||
},
|
||||
'editPanel.param.report.schedule.stime': {
|
||||
deep: true,
|
||||
handler (n) {
|
||||
this.editPanel.param.report.schedule.stime = bus
|
||||
.timeFormate(new Date(n), 'YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
},
|
||||
'editPanel.param.report.schedule.etime': {
|
||||
deep: true,
|
||||
handler (n) {
|
||||
this.editPanel.param.report.schedule.etime = bus
|
||||
.timeFormate(new Date(n), 'YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<el-input id="project-box-input-name" v-model="editProject.name" maxlength="64" show-word-limit size="small"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label='$t("overall.remark")'>
|
||||
<el-input id="project-box-input-remark" v-model="editProject.remark" maxlength="256" show-word-limit type="textarea"></el-input>
|
||||
<el-input id="project-box-input-remark" v-model="editProject.remark" maxlength="256" show-word-limit type="textarea" size="small" :rows="2"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<el-input v-model.number="editCabinet.uSize" :max="47" id="cabinet-box-input-uSize" size="small"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('overall.remark')">
|
||||
<el-input size='mini' maxlength="256" show-word-limit v-model="editCabinet.remark" type="textarea" :rows="2" id="cabinet-box-input-remark"/>
|
||||
<el-input size="small" :rows="2" maxlength="256" show-word-limit v-model="editCabinet.remark" type="textarea" id="cabinet-box-input-remark"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
</el-row>
|
||||
</div>
|
||||
<div v-else-if="type==='textarea'">
|
||||
<el-input v-model="inputValue" size="small" type="textarea" maxlength="512" :autosize="{ minRows: 2, maxRows: 4}"/>
|
||||
<el-input v-model="inputValue" size="small" type="textarea" show-word-limit maxlength="512" :rows="2"/>
|
||||
</div>
|
||||
<div v-else-if="type==='radio'">
|
||||
<el-radio-group v-model="optionValue" >
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('licenseGen.comment')" prop="comment">
|
||||
<el-input id="alert-box-input-description" placeholder="" size="small" type="textarea" v-model="licenseGen.comment"></el-input>
|
||||
<el-input id="alert-box-input-description" placeholder="" size="small" :rows="2" type="textarea" v-model="licenseGen.comment" show-word-limit maxlength="256"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item class="license-gen-error" prop="file">
|
||||
<div class="license-gen-form__upload">
|
||||
|
||||
@@ -90,9 +90,10 @@
|
||||
v-if="type == 'log'"
|
||||
:id="inputId"
|
||||
v-model="expressionList[index]"
|
||||
:autosize="{ minRows: 1, maxRows: 6 }"
|
||||
size="small" :rows="2"
|
||||
class="not-fixed-height no-resize"
|
||||
type="textarea"
|
||||
show-word-limit maxlength="256"
|
||||
@input="metricKeyDown"
|
||||
@keyup.enter.native="expressionChange"
|
||||
ref="elInput"
|
||||
@@ -252,7 +253,7 @@
|
||||
type="textarea"
|
||||
:maxlength="styleType === 3 ? 512 : 4096"
|
||||
show-word-limit
|
||||
:autosize="{ minRows: 1, maxRows: 6 }"
|
||||
size="small" :rows="2"
|
||||
class="not-fixed-height no-resize"
|
||||
ref="elInput"
|
||||
></el-input>
|
||||
|
||||
@@ -191,7 +191,23 @@ export default {
|
||||
},
|
||||
panel: { // 新增panel
|
||||
id: '',
|
||||
name: ''
|
||||
name: '',
|
||||
remark: '',
|
||||
param: {
|
||||
report: {
|
||||
enable: false,
|
||||
range: {
|
||||
unit: ''
|
||||
},
|
||||
schedule: {
|
||||
stime: '',
|
||||
etime: '',
|
||||
repeat: 0,
|
||||
nums: [],
|
||||
type: 0
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
chart: {},
|
||||
blankChart: {
|
||||
@@ -388,7 +404,23 @@ export default {
|
||||
// this.$refs.panelBox.show(true)
|
||||
this.panel = {
|
||||
id: '',
|
||||
name: ''
|
||||
name: '',
|
||||
remark: '',
|
||||
param: {
|
||||
report: {
|
||||
enable: false,
|
||||
range: {
|
||||
unit: ''
|
||||
},
|
||||
schedule: {
|
||||
stime: '',
|
||||
etime: '',
|
||||
nums: [],
|
||||
type: 0 + ''
|
||||
}
|
||||
},
|
||||
chartShare: 'none'
|
||||
}
|
||||
}
|
||||
// this.$refs.panelBox.setTitle(this.$t('dashboard.panel.createPanelTitle'))
|
||||
},
|
||||
|
||||
@@ -46,6 +46,7 @@ router.beforeEach((to, from, next) => {
|
||||
next({ path: '/setup' })
|
||||
} else {
|
||||
if (localStorage.getItem('nz-token')) {
|
||||
store.commit('i18nReady', false)
|
||||
post('/sys/user/permissions', { token: localStorage.getItem('nz-token') }).then(res => {
|
||||
if (res.code === 200) {
|
||||
const menuList = sortByOrderNum(res.data.menus)
|
||||
@@ -91,11 +92,10 @@ router.beforeEach((to, from, next) => {
|
||||
}
|
||||
})
|
||||
} else {
|
||||
next()
|
||||
const langList = localStorage.getItem('nz-language-list')
|
||||
if (langList) {
|
||||
store.commit('setLangList', JSON.parse(langList))
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
if (!store.getters.i18nIsReady) {
|
||||
get(config.body.baseUrl + 'sys/i18n/lang').then(res => {
|
||||
if (res.code === 200) {
|
||||
@@ -104,16 +104,21 @@ router.beforeEach((to, from, next) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
next()
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
} else if (localStorage.getItem('nz-token')) {
|
||||
const i18nRequest = new Promise(resolve => {
|
||||
// 从localStorage加载i18n
|
||||
if (!store.getters.i18nIsReady) {
|
||||
const langList = localStorage.getItem('nz-language-list')
|
||||
if (langList) {
|
||||
store.commit('setLangList', JSON.parse(langList))
|
||||
}
|
||||
if (!store.getters.i18nIsReady) {
|
||||
Vue.http.get(configUrl).then(config => {
|
||||
get(config.body.baseUrl + 'sys/i18n/lang').then(response => {
|
||||
if (response.code === 200) {
|
||||
|
||||
Reference in New Issue
Block a user