Merge branch 'dev-2.0' of https://git.mesalab.cn/nezha/nezha-fronted into dev-2.0

This commit is contained in:
zhangyu
2021-05-28 13:38:06 +08:00
27 changed files with 104 additions and 65 deletions

View File

@@ -504,6 +504,7 @@ const cn = {
number: '必须是数字', number: '必须是数字',
email: '不合法的E-mail地址', email: '不合法的E-mail地址',
tel: '不合法的电话号码', tel: '不合法的电话号码',
telephone: '电话号码不能为空',
host: '不合法的IP', host: '不合法的IP',
fileSize: '文件过大', fileSize: '文件过大',
port: '不合法的端口', port: '不合法的端口',

View File

@@ -225,7 +225,7 @@ const en = {
dashboard: { dashboard: {
title: 'Dashboard', title: 'Dashboard',
addChartTemp: 'Add chart temp', addChartTemp: 'Add chart temp',
connect: 'Connect', connect: ' Open terminal',
panel: { panel: {
title: 'Panel', // '面板' title: 'Panel', // '面板'
searchItem: { searchItem: {
@@ -515,6 +515,7 @@ const en = {
positiveInteger: 'Positive integer', positiveInteger: 'Positive integer',
email: 'Invalid email', // '不合法的E-mail地址' email: 'Invalid email', // '不合法的E-mail地址'
tel: 'Invalid phone number', // '不合法的电话号码' tel: 'Invalid phone number', // '不合法的电话号码'
telephone: 'Phone number cannot be empty',
host: 'Invalid Host', // '不合法的Host' host: 'Invalid Host', // '不合法的Host'
domain: 'Invalid domain', domain: 'Invalid domain',
usize: 'Must be number(1 - 47)', usize: 'Must be number(1 - 47)',

View File

@@ -272,13 +272,14 @@
<el-row class="upload-pic-row"> <el-row class="upload-pic-row">
<el-col :span="4" class="upload-pic-label">{{ $t('overall.name') }}</el-col> <el-col :span="4" class="upload-pic-label">{{ $t('overall.name') }}</el-col>
<el-col :span="20"> <el-col :span="20">
<el-input v-model="uploadPic.name" size="small" :placeholder="$t('project.topology.placeholderImg')"></el-input> <el-input maxlength="64" show-word-limit v-model="uploadPic.name" size="small" :placeholder="$t('project.topology.placeholderImg')"></el-input>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="upload-pic-row"> <el-row class="upload-pic-row">
<el-col :span="4" class="upload-pic-label">{{ $t('overall.folder') }}</el-col> <el-col :span="4" class="upload-pic-label">{{ $t('overall.folder') }}</el-col>
<el-col :span="20"> <el-col :span="20">
<el-autocomplete <el-autocomplete
maxlength="64" show-word-limit
class="inline-input" class="inline-input"
v-model="uploadPic.unit" v-model="uploadPic.unit"
:fetch-suggestions="querySearch" :fetch-suggestions="querySearch"

View File

@@ -11,7 +11,7 @@
<el-form ref="assetTypeForm" :model="editAssetType" :rules="rules" label-position="top" label-width="120px"> <el-form ref="assetTypeForm" :model="editAssetType" :rules="rules" label-position="top" label-width="120px">
<!--name--> <!--name-->
<el-form-item :label="$t('config.assetType.name')" prop="name"> <el-form-item :label="$t('config.assetType.name')" prop="name">
<el-input v-model="editAssetType.name" size="small" type="text"></el-input> <el-input maxlength="64" show-word-limit v-model="editAssetType.name" size="small" type="text"></el-input>
</el-form-item> </el-form-item>
<!--vm--> <!--vm-->
<el-form-item :label='$t("config.assetType.vm")' prop="vm"> <el-form-item :label='$t("config.assetType.vm")' prop="vm">

View File

@@ -11,7 +11,7 @@
<el-form ref="modelForm" :model="editModel" :rules="rules" label-position="top" label-width="120px"> <el-form ref="modelForm" :model="editModel" :rules="rules" label-position="top" label-width="120px">
<!--name--> <!--name-->
<el-form-item :label="$t('config.model.name')" prop="name"> <el-form-item :label="$t('config.model.name')" prop="name">
<el-input v-model="editModel.name" size="small" type="text"></el-input> <el-input maxlength="64" show-word-limit v-model="editModel.name" size="small" type="text"></el-input>
</el-form-item> </el-form-item>
<!--brand--> <!--brand-->
<el-form-item :label='$t("config.model.brand")' prop="brandId"> <el-form-item :label='$t("config.model.brand")' prop="brandId">
@@ -41,7 +41,7 @@
</el-form-item> </el-form-item>
<!--remark--> <!--remark-->
<el-form-item :label="$t('config.model.remark')" prop="remark"> <el-form-item :label="$t('config.model.remark')" prop="remark">
<el-input v-model="editModel.remark" size="small" type="text"></el-input> <el-input maxlength="256" show-word-limit v-model="editModel.remark" size="small" type="text"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>

View File

@@ -15,7 +15,7 @@
show-word-limit size="small" type="text" v-model="editRole.name"></el-input> show-word-limit size="small" type="text" v-model="editRole.name"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('config.roles.description')"> <el-form-item :label="$t('config.roles.description')">
<el-input :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='mini' type="textarea" v-model="editRole.remark" id="role-box-input-remark"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('config.roles.permission')"> <el-form-item :label="$t('config.roles.permission')">

View File

@@ -21,21 +21,21 @@
</el-form-item> </el-form-item>
<!--password--> <!--password-->
<el-form-item :label="$t('config.user.pin')" prop="pin"> <el-form-item :label="$t('config.user.pin')" prop="pin">
<el-input id="account-input-password" v-model="editUser.pin" maxlength="16" placeholder="" <el-input id="account-input-password" v-model="editUser.pin" maxlength="64" placeholder=""
show-word-limit size="small" type="password" @blur="pinBlur" autocomplete="new-password"></el-input> show-word-limit size="small" type="password" @blur="pinBlur" autocomplete="new-password"></el-input>
</el-form-item> </el-form-item>
<!--pinChange--> <!--pinChange-->
<el-form-item :label="$t('config.user.confirmPin')" label-width="200px" prop="pinChange"> <el-form-item :label="$t('config.user.confirmPin')" label-width="200px" prop="pinChange">
<el-input id="account-input-pinChange" v-model="editUser.pinChange" maxlength="16" placeholder="" <el-input id="account-input-pinChange" v-model="editUser.pinChange" maxlength="64" placeholder=""
show-word-limit size="small" type="password"></el-input> show-word-limit size="small" type="password"></el-input>
</el-form-item> </el-form-item>
<!--email--> <!--email-->
<el-form-item label="E-mail" prop="email"> <el-form-item label="E-mail" prop="email">
<el-input id="account-input-email" v-model="editUser.email" placeholder="" size="small" type="text"></el-input> <el-input id="account-input-email" v-model="editUser.email" maxlength="64" show-word-limit placeholder="" size="small" type="text"></el-input>
</el-form-item> </el-form-item>
<!--mobile--> <!--mobile-->
<el-form-item :label="$t('config.user.mobile')" prop="mobile"> <el-form-item :label="$t('config.user.mobile')" prop="mobile">
<el-input id="account-input-mobile" v-model.number="editUser.mobile" placeholder="" size="small" type="text"></el-input> <el-input id="account-input-mobile" v-model.number="editUser.mobile" maxlength="64" show-word-limit placeholder="" size="small" type="text"></el-input>
</el-form-item> </el-form-item>
<!--roles--> <!--roles-->
<el-form-item :label="$t('config.user.roles')" prop="roleIds"> <el-form-item :label="$t('config.user.roles')" prop="roleIds">
@@ -81,7 +81,9 @@
</template> </template>
<script> <script>
import { host, port } from '@/components/common/js/validate' // import { host, port } from '@/components/common/js/validate'
import {isvalidPhone} from "../../../../store/validate";
export default { export default {
name: 'userBox', name: 'userBox',
components: { components: {
@@ -108,7 +110,16 @@ export default {
} else { } else {
callback() callback()
} }
} };
const phoneVerification = (rule, value,callback) => {
if (!value){
callback(new Error(this.$t('validate.telephone')))
}else if (!isvalidPhone(value)){
callback(new Error(this.$t('validate.tel')))
}else {
callback()
}
};
return { return {
editUser: {}, editUser: {},
url: 'sys/user', url: 'sys/user',
@@ -132,6 +143,10 @@ export default {
], ],
email: [ email: [
{ type: 'email', message: this.$t('validate.email') } { type: 'email', message: this.$t('validate.email') }
],
mobile: [
{ validator: phoneVerification, required : true, trigger: 'blur' },
{ required: true, message: '', trigger: 'blur' }
] ]
}, },
rules2: { // 表单校验规则 rules2: { // 表单校验规则

View File

@@ -25,11 +25,11 @@
<!--host--> <!--host-->
<el-form-item :label="$t('config.agent.host')" prop="host"> <el-form-item :label="$t('config.agent.host')" prop="host">
<el-input id="prom-box-input-host" v-model="editPromServer.host" placeholder="" size="small" type="text"></el-input> <el-input id="prom-box-input-host" maxlength="64" show-word-limit v-model="editPromServer.host" placeholder="" size="small" type="text"></el-input>
</el-form-item> </el-form-item>
<!--Port--> <!--Port-->
<el-form-item :label="$t('config.agent.port')" prop="port"> <el-form-item :label="$t('config.agent.port')" prop="port">
<el-input id="prom-box-input-port" v-model.number="editPromServer.port" placeholder="" size="small" type="text"></el-input> <el-input id="prom-box-input-port" maxlength="10" show-word-limit v-model.number="editPromServer.port" placeholder="" size="small" type="text"></el-input>
</el-form-item> </el-form-item>
<!--type--> <!--type-->
<el-form-item :label="$t('config.agent.type')" prop="type"> <el-form-item :label="$t('config.agent.type')" prop="type">
@@ -49,7 +49,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="Token" prop="token"> <el-form-item label="Token" prop="token">
<el-input id="prom-box-input-token" v-model="editPromServer.token" class="right-box-row-with-btn" placeholder="" size="small" type="text"> <el-input maxlength="64" show-word-limit id="prom-box-input-token" v-model="editPromServer.token" class="right-box-row-with-btn" placeholder="" size="small" type="text">
<i slot="suffix" class="nz-icon nz-icon-refresh" @click="refreshToken"></i> <i slot="suffix" class="nz-icon nz-icon-refresh" @click="refreshToken"></i>
</el-input> </el-input>
</el-form-item> </el-form-item>

View File

@@ -26,7 +26,7 @@
:index="0" :index="0"
:plugins="['metric-selector','metric-input']" :plugins="['metric-selector','metric-input']"
:required="true" :required="true"
:styleType="2" :styleType="3"
@change="metricChange" @change="metricChange"
></promql-input> ></promql-input>
</el-row> </el-row>
@@ -101,7 +101,7 @@
</el-form-item> </el-form-item>
<!--description--> <!--description-->
<el-form-item :label="$t('alert.description')" prop="description"> <el-form-item :label="$t('alert.description')" prop="description">
<el-input id="alert-box-input-description" v-model="editAlertRule.description" maxlength="512" 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="4" show-word-limit size="small" type="textarea"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>

View File

@@ -15,6 +15,7 @@
label-width="120px" :rules="rules" ref="alertSilenceForm"> label-width="120px" :rules="rules" ref="alertSilenceForm">
<el-form-item :label='$t("alert.silence.name")' prop="name" class="range-name"> <el-form-item :label='$t("alert.silence.name")' prop="name" class="range-name">
<el-input <el-input
maxlength="64" show-word-limit
:placeholder="''" :placeholder="''"
size="small" size="small"
v-model="editAlertSilence.name"> v-model="editAlertSilence.name">
@@ -92,7 +93,7 @@
type="textarea" type="textarea"
:placeholder="$t('alert.description')" :placeholder="$t('alert.description')"
v-model="editAlertSilence.remark" v-model="editAlertSilence.remark"
maxlength="512" maxlength="256"
show-word-limit> show-word-limit>
</el-input> </el-input>

View File

@@ -10,7 +10,7 @@
<div class="container__form"> <div class="container__form">
<el-form ref="form" :model="editAsset" :rules="rules" label-position="top" label-width="120px"> <el-form ref="form" :model="editAsset" :rules="rules" label-position="top" label-width="120px">
<el-form-item :label="$t('overall.name')" prop="name"> <el-form-item :label="$t('overall.name')" prop="name">
<el-input v-model="editAsset.name" size="small"/> <el-input maxlength="128" show-word-limit v-model="editAsset.name" size="small"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('overall.type')" prop="typeId"> <el-form-item :label="$t('overall.type')" prop="typeId">
<select-asset-type id="asset-type" :asset-type-data="options.typeOptions" :show-type="editAsset.type" size="small" <select-asset-type id="asset-type" :asset-type-data="options.typeOptions" :show-type="editAsset.type" size="small"
@@ -36,13 +36,13 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('asset.manageIp')" prop="manageIp"> <el-form-item :label="$t('asset.manageIp')" prop="manageIp">
<el-input v-model="editAsset.manageIp" size="small"/> <el-input maxlength="64" show-word-limit v-model="editAsset.manageIp" size="small"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('asset.sn')" prop="sn"> <el-form-item :label="$t('asset.sn')" prop="sn">
<el-input v-model="editAsset.sn" size="small"/> <el-input maxlength="128" show-word-limit v-model="editAsset.sn" size="small"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('asset.number')" prop="number"> <el-form-item :label="$t('asset.number')" prop="number">
<el-input v-model="editAsset.number" size="small"/> <el-input maxlength="128" show-word-limit v-model="editAsset.number" size="small"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('asset.brandAndModel')" class="placeholder-emphasize" prop="brandAndModel"> <el-form-item :label="$t('asset.brandAndModel')" class="placeholder-emphasize" prop="brandAndModel">
<el-cascader <el-cascader
@@ -180,7 +180,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('asset.username')" prop="authUsername"> <el-form-item :label="$t('asset.username')" prop="authUsername">
<el-input v-model="editAsset.authUsername" size="small"/> <el-input maxlength="64" show-word-limit v-model="editAsset.authUsername" size="small"/>
</el-form-item> </el-form-item>
<!-- Key支持私钥 --> <!-- Key支持私钥 -->
<template v-if="editAsset.authType === assetConstants.authTypeData.key"> <template v-if="editAsset.authType === assetConstants.authTypeData.key">
@@ -189,7 +189,7 @@
</el-form-item> </el-form-item>
</template> </template>
<el-form-item :label="$t('asset.pin')" prop="authPin"> <el-form-item :label="$t('asset.pin')" prop="authPin">
<el-input v-model="editAsset.authPin" size="small" type="password"/> <el-input maxlength="256" show-word-limit v-model="editAsset.authPin" size="small" type="password"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('asset.port')" prop="authProtocolPort"> <el-form-item :label="$t('asset.port')" prop="authProtocolPort">
<el-input v-model="editAsset.authProtocolPort" size="small"/> <el-input v-model="editAsset.authProtocolPort" size="small"/>
@@ -199,16 +199,16 @@
<template v-if="editAsset.type && editAsset.type.authProtocol === assetConstants.authProtocolData.telnet"> <template v-if="editAsset.type && editAsset.type.authProtocol === assetConstants.authProtocolData.telnet">
<div class="form__sub-title">TELNET</div> <div class="form__sub-title">TELNET</div>
<el-form-item :label="$t('asset.username')" prop="authUsername"> <el-form-item :label="$t('asset.username')" prop="authUsername">
<el-input v-model="editAsset.authUsername" size="small"/> <el-input maxlength="64" show-word-limit v-model="editAsset.authUsername" size="small"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('asset.pin')" prop="authPin"> <el-form-item :label="$t('asset.pin')" prop="authPin">
<el-input v-model="editAsset.authPin" size="small" type="password"/> <el-input maxlength="256" show-word-limit v-model="editAsset.authPin" size="small" type="password"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('asset.usernamePrompt')" prop="authUserTip"> <el-form-item :label="$t('asset.usernamePrompt')" prop="authUserTip">
<el-input v-model="editAsset.authUserTip" size="small"/> <el-input maxlength="64" show-word-limit v-model="editAsset.authUserTip" size="small"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('asset.pinPrompt')" prop="authPinTip"> <el-form-item :label="$t('asset.pinPrompt')" prop="authPinTip">
<el-input v-model="editAsset.authPinTip" size="small" type="password"/> <el-input maxlength="64" show-word-limit v-model="editAsset.authPinTip" size="small" type="password"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('asset.port')" prop="authProtocolPort"> <el-form-item :label="$t('asset.port')" prop="authProtocolPort">
<el-input v-model="editAsset.authProtocolPort" size="small"/> <el-input v-model="editAsset.authProtocolPort" size="small"/>

View File

@@ -14,10 +14,10 @@
<div class="container__form"> <div class="container__form">
<el-form label-width="120px" :model="editAssetMeta" label-position = "top" ref="editAssetMetaForm" :rules="rules"> <el-form label-width="120px" :model="editAssetMeta" label-position = "top" ref="editAssetMetaForm" :rules="rules">
<el-form-item :label='$t("config.assetLabel.name")' prop="name"> <el-form-item :label='$t("config.assetLabel.name")' prop="name">
<el-input placeholder="" show-word-limit v-model="editAssetMeta.name" size="small" id="editAssetMeta-box-input-name"></el-input> <el-input placeholder="" maxlength="64" show-word-limit v-model="editAssetMeta.name" size="small" id="editAssetMeta-box-input-name"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label='$t("config.assetLabel.key")' prop="metaKey"> <el-form-item :label='$t("config.assetLabel.key")' prop="metaKey">
<el-input placeholder="" show-word-limit v-model="editAssetMeta.metaKey" size="small" id="editAssetMeta-box-input-key"></el-input> <el-input placeholder="" maxlength="128" show-word-limit v-model="editAssetMeta.metaKey" size="small" id="editAssetMeta-box-input-key"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label='$t("config.assetLabel.group")' prop="groupId"> <el-form-item :label='$t("config.assetLabel.group")' prop="groupId">
<el-select v-model="editAssetMeta.groupId" size="small" class="right-box__select" popper-class="right-box-select-dropdown prevent-clickoutside" :popper-append-to-body="false"> <el-select v-model="editAssetMeta.groupId" size="small" class="right-box__select" popper-class="right-box-select-dropdown prevent-clickoutside" :popper-append-to-body="false">
@@ -115,7 +115,7 @@
</div> </div>
</el-form-item> </el-form-item>
<el-form-item :label='$t("overall.remark")' prop="remark"> <el-form-item :label='$t("overall.remark")' prop="remark">
<el-input placeholder="" maxlength="512" 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" id="editAssetMeta-box-input-remark"></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item :label='$t("config.assetLabel.example")'>--> <!-- <el-form-item :label='$t("config.assetLabel.example")'>-->
<!-- <assetTagEx :param="editAssetMeta.param" :type="editAssetMeta.type.toUpperCase()"/>--> <!-- <assetTagEx :param="editAssetMeta.param" :type="editAssetMeta.type.toUpperCase()"/>-->

View File

@@ -24,7 +24,7 @@
<el-input placeholder="" maxlength="64" show-word-limit v-model="editMetaGroup.name" size="small" id="editMetaGroup-box-input-name"></el-input> <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>
<el-form-item :label='$t("overall.remark")' prop="remark"> <el-form-item :label='$t("overall.remark")' prop="remark">
<el-input placeholder="" maxlength="512" 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" id="editMetaGroup-box-input-remark"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>

View File

@@ -22,7 +22,7 @@
<div class="right-box-form-box"> <div class="right-box-form-box">
<el-form class="right-box-form right-box-form-left" label-width="120px" label-position = "top" :model="editCabinet" ref="cabinetForm" :rules="rules"> <el-form class="right-box-form right-box-form-left" label-width="120px" label-position = "top" :model="editCabinet" ref="cabinetForm" :rules="rules">
<el-form-item :label="$t('overall.name')" prop="name"> <el-form-item :label="$t('overall.name')" prop="name">
<el-input size='mini' v-model="editCabinet.name" id="cabinet-box-input-name"/> <el-input size='mini' maxlength="64" show-word-limit v-model="editCabinet.name" id="cabinet-box-input-name"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('config.dc.dc')" prop="idcId"> <el-form-item :label="$t('config.dc.dc')" prop="idcId">
<el-input v-if="dcDisabled" size='mini' v-model="currentDc.name" disabled id="cabinet-box-input-dc"/> <el-input v-if="dcDisabled" size='mini' v-model="currentDc.name" disabled id="cabinet-box-input-dc"/>
@@ -34,7 +34,7 @@
<el-input v-model.number="editCabinet.uSize" :max="47" size="small" id="cabinet-box-input-uSize"></el-input> <el-input v-model.number="editCabinet.uSize" :max="47" size="small" id="cabinet-box-input-uSize"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('config.dc.remark')"> <el-form-item :label="$t('config.dc.remark')">
<el-input size='mini' v-model="editCabinet.remark" type="textarea" :rows="2" id="cabinet-box-input-remark"/> <el-input size='mini' maxlength="256" show-word-limit v-model="editCabinet.remark" type="textarea" :rows="2" id="cabinet-box-input-remark"/>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>

View File

@@ -15,10 +15,10 @@
<el-input placeholder="" maxlength="64" show-word-limit v-model="editDc.name" size="small" id="dc-box-input-name"></el-input> <el-input placeholder="" maxlength="64" show-word-limit v-model="editDc.name" size="small" id="dc-box-input-name"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label='$t("asset.location")' prop="location"> <el-form-item :label='$t("asset.location")' prop="location">
<el-input placeholder="" v-model="editDc.location" size="small" id="dc-box-input-location"></el-input> <el-input placeholder="" maxlength="256" show-word-limit v-model="editDc.location" size="small" id="dc-box-input-location"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label='$t("asset.tel")' prop="tel"> <el-form-item :label='$t("asset.tel")' prop="tel">
<el-input placeholder="" v-model="editDc.tel" size="small" id="dc-box-input-tel"></el-input> <el-input placeholder="" maxlength="128" show-word-limit v-model="editDc.tel" size="small" id="dc-box-input-tel"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label='$t("asset.principal")' prop="principal"> <el-form-item :label='$t("asset.principal")' prop="principal">
<el-select value-key="id" class="right-box__select" popper-class="right-box-select-dropdown prevent-clickoutside" v-model="editDc.principal" placeholder="" size="small" id="dc-box-input-principal"> <el-select value-key="id" class="right-box__select" popper-class="right-box-select-dropdown prevent-clickoutside" v-model="editDc.principal" placeholder="" size="small" id="dc-box-input-principal">
@@ -65,6 +65,8 @@
<script> <script>
import latlngPicker from '../latlngPicker' import latlngPicker from '../latlngPicker'
const regNum = /^[0-9]+.?[0-9]*/ const regNum = /^[0-9]+.?[0-9]*/
import {isvalidPhone} from "../../../store/validate";
export default { export default {
name: 'dcBox', name: 'dcBox',
components: { latlngPicker }, components: { latlngPicker },
@@ -75,6 +77,15 @@ export default {
userData: Array userData: Array
}, },
data () { data () {
const phoneVerification = (rule, value,callback) => {
if (!value){
callback(new Error(this.$t('validate.telephone')))
}else if (!isvalidPhone(value)){
callback(new Error(this.$t('validate.tel')))
}else {
callback()
}
}
return { return {
editDc: {}, editDc: {},
rules: { rules: {
@@ -83,6 +94,10 @@ export default {
], ],
state: [ state: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
tel: [
{ validator: phoneVerification, required: true, trigger: 'blur' },
{ required: true, message: '', trigger: 'blur' }
] ]
}, },
areaData: [], areaData: [],

View File

@@ -14,7 +14,7 @@
<div class="container__form"> <div class="container__form">
<el-form ref="ExprTempForm" :model="editExprTemp" :rules="rules" label-position="top" label-width="120px"> <el-form ref="ExprTempForm" :model="editExprTemp" :rules="rules" label-position="top" label-width="120px">
<el-form-item :label="$t('config.exprTemp.name')" prop="name"> <el-form-item :label="$t('config.exprTemp.name')" prop="name">
<el-input v-model="editExprTemp.name" :placeholder="$t('overall.placeHolder')" size="small"></el-input> <el-input maxlength="64" show-word-limit v-model="editExprTemp.name" :placeholder="$t('overall.placeHolder')" size="small"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('config.exprTemp.gname')" prop="gname"> <el-form-item :label="$t('config.exprTemp.gname')" prop="gname">
<!--<el-input v-model="editExprTemp.gname" size="small" :placeholder="$t('overall.placeHolder')"></el-input>--> <!--<el-input v-model="editExprTemp.gname" size="small" :placeholder="$t('overall.placeHolder')"></el-input>-->
@@ -46,7 +46,7 @@
<el-input <el-input
v-model="editExprTemp.remark" v-model="editExprTemp.remark"
:placeholder="$t('alert.description')" :placeholder="$t('alert.description')"
maxlength="512" maxlength="256"
show-word-limit show-word-limit
size="small" size="small"
type="textarea" type="textarea"

View File

@@ -25,7 +25,7 @@
clearable></el-cascader> clearable></el-cascader>
</el-form-item> </el-form-item>
<el-form-item :label="$t('config.mib.description')" prop="remark"> <el-form-item :label="$t('config.mib.description')" prop="remark">
<el-input maxlength="512" 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="4" 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>
<el-form-item :label="$t('config.mib.mibFiles')" prop="file" :rules="[{validator:checkMibFile,trigger:'change'}]" :class="{'add-required':!editMib.id}"> <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"> <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">

View File

@@ -30,7 +30,8 @@
v-model="editModule.remark" v-model="editModule.remark"
:autosize="{ minRows: 1, maxRows: 6}" :autosize="{ minRows: 1, maxRows: 6}"
class="not-fixed-height no-resize" class="not-fixed-height no-resize"
maxlength="1024" maxlength="256"
show-word-limit
placeholder="" placeholder=""
size="small" size="small"
type="textarea"></el-input> type="textarea"></el-input>

View File

@@ -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-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>
<el-form-item :label='$t("project.project.description")'> <el-form-item :label='$t("project.project.description")'>
<el-input id="project-box-input-remark" v-model="editProject.remark" maxlength="1024" show-word-limit size="small" type="textarea"></el-input> <el-input id="project-box-input-remark" v-model="editProject.remark" maxlength="256" show-word-limit size="small" type="textarea"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>

View File

@@ -10,7 +10,7 @@
<div class="container__form"> <div class="container__form">
<el-form class="right-box-form right-box-form-left" label-width="120px" label-position = "top" :model="editCabinet" ref="cabinetForm" :rules="rules"> <el-form class="right-box-form right-box-form-left" label-width="120px" label-position = "top" :model="editCabinet" ref="cabinetForm" :rules="rules">
<el-form-item :label="$t('overall.name')" prop="name"> <el-form-item :label="$t('overall.name')" prop="name">
<el-input size='mini' v-model="editCabinet.name" id="cabinet-box-input-name"/> <el-input size='mini' maxlength="64" show-word-limit v-model="editCabinet.name" id="cabinet-box-input-name"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('config.dc.dc')" prop="idcId"> <el-form-item :label="$t('config.dc.dc')" prop="idcId">
<el-input size='mini' v-model="currentDc.name" disabled id="cabinet-box-input-dc"/> <el-input size='mini' v-model="currentDc.name" disabled id="cabinet-box-input-dc"/>
@@ -19,7 +19,7 @@
<el-input v-model.number="editCabinet.uSize" :max="47" id="cabinet-box-input-uSize"></el-input> <el-input v-model.number="editCabinet.uSize" :max="47" id="cabinet-box-input-uSize"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('config.dc.remark')"> <el-form-item :label="$t('config.dc.remark')">
<el-input size='mini' v-model="editCabinet.remark" type="textarea" :rows="2" id="cabinet-box-input-remark"/> <el-input size='mini' maxlength="256" show-word-limit v-model="editCabinet.remark" type="textarea" :rows="2" id="cabinet-box-input-remark"/>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>

View File

@@ -15,7 +15,7 @@
<el-input placeholder="" maxlength="64" show-word-limit v-model="editCredential.name" size="small" id="credential-box-input-name"></el-input> <el-input placeholder="" maxlength="64" show-word-limit v-model="editCredential.name" size="small" id="credential-box-input-name"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label='$t("config.mib.credential.remark")' prop="remark"> <el-form-item :label='$t("config.mib.credential.remark")' prop="remark">
<el-input placeholder="" v-model="editCredential.remark" size="small" id="credential-box-input-remark"></el-input> <el-input placeholder="" maxlength="256" show-word-limit v-model="editCredential.remark" size="small" id="credential-box-input-remark"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label='$t("config.mib.credential.type")' prop="type"> <el-form-item :label='$t("config.mib.credential.type")' prop="type">
<el-select v-model="editCredential.type" placeholder="" id="credential-box-input-type" class="right-box__select" popper-class="right-box-select-dropdown prevent-clickoutside" @change="typeChange"> <el-select v-model="editCredential.type" placeholder="" id="credential-box-input-type" class="right-box__select" popper-class="right-box-select-dropdown prevent-clickoutside" @change="typeChange">
@@ -28,16 +28,16 @@
<el-input placeholder="" v-model.number="editCredential.port" size="small" id="credential-box-input-port"></el-input> <el-input placeholder="" v-model.number="editCredential.port" size="small" id="credential-box-input-port"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label='$t("config.mib.credential.ReadCommunity")' prop="readCommunity" v-if="editCredential.type ===1 || editCredential.type === 2"> <el-form-item :label='$t("config.mib.credential.ReadCommunity")' prop="readCommunity" v-if="editCredential.type ===1 || editCredential.type === 2">
<el-input placeholder="" autocomplete="new-password" v-model="editCredential.config.readCommunity" size="small" id="credential-box-input-readCommunity"></el-input> <el-input placeholder="" autocomplete="new-password" maxlength="64" show-word-limit v-model="editCredential.config.readCommunity" size="small" id="credential-box-input-readCommunity"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label='$t("config.mib.credential.writeCommunity")' prop="writeCommunity" v-if="editCredential.type ===1 || editCredential.type === 2"> <el-form-item :label='$t("config.mib.credential.writeCommunity")' prop="writeCommunity" v-if="editCredential.type ===1 || editCredential.type === 2">
<el-input placeholder="" autocomplete="new-password" v-model="editCredential.config.writeCommunity" size="small" id="credential-box-input-writeCommunity" type="password" show-password></el-input> <el-input placeholder="" autocomplete="new-password" maxlength="64" show-word-limit v-model="editCredential.config.writeCommunity" size="small" id="credential-box-input-writeCommunity" type="password" show-password></el-input>
</el-form-item> </el-form-item>
<el-form-item :label='$t("config.mib.credential.username")' prop="username" v-if="editCredential.type === 3"> <el-form-item :label='$t("config.mib.credential.username")' prop="username" v-if="editCredential.type === 3">
<el-input placeholder="" v-model="editCredential.config.username" size="small" id="credential-box-input-username"></el-input> <el-input placeholder="" maxlength="64" show-word-limit v-model="editCredential.config.username" size="small" id="credential-box-input-username"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label='$t("config.mib.credential.contextName")' prop="contextname" v-if="editCredential.type === 3"> <el-form-item :label='$t("config.mib.credential.contextName")' prop="contextname" v-if="editCredential.type === 3">
<el-input placeholder="" v-model="editCredential.config.contextname" size="small" id="credential-box-input-contextname"></el-input> <el-input placeholder="" maxlength="64" show-word-limit v-model="editCredential.config.contextname" size="small" id="credential-box-input-contextname"></el-input>
</el-form-item> </el-form-item>
<div class="right-box-sub-title" v-if="editCredential.type === 3">{{$t('config.mib.credential.auth')}}</div> <div class="right-box-sub-title" v-if="editCredential.type === 3">{{$t('config.mib.credential.auth')}}</div>

View File

@@ -36,7 +36,7 @@
<template v-if="scope.row.edit"> <template v-if="scope.row.edit">
<template v-if="item.prop == 'name'"> <template v-if="item.prop == 'name'">
<el-popover :content="rules.name.message" placement="top" trigger="manual" v-model="rules.name.switch" popper-class="small-pop warn-pop" @after-enter="popShow(rules.name)"> <el-popover :content="rules.name.message" placement="top" trigger="manual" v-model="rules.name.switch" popper-class="small-pop warn-pop" @after-enter="popShow(rules.name)">
<el-input slot="reference" v-model="scope.row[item.prop]" size="small" ></el-input> <el-input slot="reference" maxlength="64" show-word-limit v-model="scope.row[item.prop]" size="small" ></el-input>
</el-popover> </el-popover>
</template> </template>
<template v-if="item.prop == 'role'"> <template v-if="item.prop == 'role'">

View File

@@ -36,12 +36,12 @@
<template v-if="scope.row.edit"> <template v-if="scope.row.edit">
<template v-if="item.prop == 'name'"> <template v-if="item.prop == 'name'">
<el-popover :content="rules.name.message" placement="top" trigger="manual" v-model="rules.name.switch" popper-class="small-pop warn-pop" @after-enter="popShow(rules.name)"> <el-popover :content="rules.name.message" placement="top" trigger="manual" v-model="rules.name.switch" popper-class="small-pop warn-pop" @after-enter="popShow(rules.name)">
<el-input slot="reference" v-model="scope.row[item.prop]" size="small" ></el-input> <el-input maxlength="64" show-word-limit slot="reference" v-model="scope.row[item.prop]" size="small" ></el-input>
</el-popover> </el-popover>
</template> </template>
<template v-if="item.prop == 'url'"> <template v-if="item.prop == 'url'">
<el-popover :content="rules.url.message" placement="top" trigger="manual" v-model="rules.url.switch" popper-class="small-pop warn-pop" @after-enter="popShow(rules.url)"> <el-popover :content="rules.url.message" placement="top" trigger="manual" v-model="rules.url.switch" popper-class="small-pop warn-pop" @after-enter="popShow(rules.url)">
<el-input slot="reference" v-model="scope.row[item.prop]" size="small" ></el-input> <el-input maxlength="1024" show-word-limit slot="reference" v-model="scope.row[item.prop]" size="small" ></el-input>
</el-popover> </el-popover>
</template> </template>
</template> </template>

View File

@@ -36,12 +36,12 @@
<template v-if="scope.row.edit"> <template v-if="scope.row.edit">
<template v-if="item.prop == 'name'"> <template v-if="item.prop == 'name'">
<el-popover :content="rules.name.message" placement="top" trigger="manual" v-model="rules.name.switch" popper-class="small-pop warn-pop" @after-enter="popShow(rules.name)"> <el-popover :content="rules.name.message" placement="top" trigger="manual" v-model="rules.name.switch" popper-class="small-pop warn-pop" @after-enter="popShow(rules.name)">
<el-input slot="reference" v-model="scope.row[item.prop]" size="small" ></el-input> <el-input slot="reference" maxlength="64" show-word-limit v-model="scope.row[item.prop]" size="small" ></el-input>
</el-popover> </el-popover>
</template> </template>
<template v-if="item.prop == 'filePath'"> <template v-if="item.prop == 'filePath'">
<el-popover :content="rules.filePath.message" placement="top" trigger="manual" v-model="rules.filePath.switch" popper-class="small-pop warn-pop" @after-enter="popShow(rules.filePath)"> <el-popover :content="rules.filePath.message" placement="top" trigger="manual" v-model="rules.filePath.switch" popper-class="small-pop warn-pop" @after-enter="popShow(rules.filePath)">
<el-input slot="reference" v-model="scope.row[item.prop]" size="small" ></el-input> <el-input slot="reference" maxlength="256" show-word-limit v-model="scope.row[item.prop]" size="small" ></el-input>
</el-popover> </el-popover>
</template> </template>
<template v-if="item.prop == 'account'"> <template v-if="item.prop == 'account'">

View File

@@ -205,7 +205,7 @@
</el-form-item> </el-form-item>
<!-- remark --> <!-- remark -->
<el-form-item :label="$t('dashboard.panel.chartForm.remark')"> <el-form-item :label="$t('dashboard.panel.chartForm.remark')">
<el-input v-model="editChart.remark" :autosize="{ minRows: 1, maxRows: 6}" type="textarea"/> <el-input maxlength="256" show-word-limit v-model="editChart.remark" :autosize="{ minRows: 1, maxRows: 6}" type="textarea"/>
</el-form-item> </el-form-item>
<div class="form__sub-title">{{$t('dashboard.panel.chartForm.option')}}</div> <div class="form__sub-title">{{$t('dashboard.panel.chartForm.option')}}</div>
@@ -316,7 +316,7 @@
</el-popover> </el-popover>
</el-col> </el-col>
<el-col style="width: calc(100% - 160px);"> <el-col style="width: calc(100% - 160px);">
<el-input size="small" type="text" v-model="legends[index-1]" ></el-input> <el-input maxlength="512" show-word-limit size="small" type="text" v-model="legends[index-1]" ></el-input>
</el-col> </el-col>
</el-row> </el-row>
<div class="nz-icon-minus-position"> <div class="nz-icon-minus-position">

View File

@@ -39,7 +39,7 @@
</div> </div>
</template> </template>
<!--right-box里的样式--> <!--right-box里的样式-->
<template v-if="styleType == 2"> <template v-if="styleType === 2 || styleType === 3">
<el-row v-if="plugins.indexOf('metric-input') > -1 || plugins.indexOf('metric-selector') > -1" <el-row v-if="plugins.indexOf('metric-input') > -1 || plugins.indexOf('metric-selector') > -1"
style="width: 100%;"> style="width: 100%;">
<el-col <el-col
@@ -68,7 +68,7 @@
:style="{'width':plugins.indexOf('metric-selector') > -1 ? 'calc(100% - 160px)':'100%',height: '100%',}"> :style="{'width':plugins.indexOf('metric-selector') > -1 ? 'calc(100% - 160px)':'100%',height: '100%',}">
<div class="input-box" @click="dropDownVisible=false" v-if="plugins.indexOf('metric-input') > -1"> <div class="input-box" @click="dropDownVisible=false" v-if="plugins.indexOf('metric-input') > -1">
<!--<editor :styleType="styleType" :metric-list="metricStore" :historyParam="historyParam" v-model="expressionList[index]" ref="editor" @on-enter="expressionChange" @on-blur="expressionChange" ></editor>--> <!--<editor :styleType="styleType" :metric-list="metricStore" :historyParam="historyParam" v-model="expressionList[index]" ref="editor" @on-enter="expressionChange" @on-blur="expressionChange" ></editor>-->
<el-input v-model="expressionList[index]" @input="metricKeyDown" type="textarea" <el-input v-model="expressionList[index]" @input="metricKeyDown" type="textarea" :maxlength="styleType === 3 ? 512 : 4096" show-word-limit
:autosize="{ minRows: 1, maxRows: 6}" class="not-fixed-height no-resize" ref="elInput"></el-input> :autosize="{ minRows: 1, maxRows: 6}" class="not-fixed-height no-resize" ref="elInput"></el-input>
<div class="append-msg error" v-if="errorMsg"><span>{{errorMsg}}</span></div> <div class="append-msg error" v-if="errorMsg"><span>{{errorMsg}}</span></div>
<div class="append-msg error" v-if="appendMsg"><span>{{appendMsg}}</span></div> <div class="append-msg error" v-if="appendMsg"><span>{{appendMsg}}</span></div>

View File

@@ -0,0 +1,4 @@
export function isvalidPhone(str) {
const reg = /^1[3|4|5|7|8][0-9]\d{8}$/
return reg.test(str)
}