1.实体详情tab(相关实体、开放端口)没超过100条的话,more按钮隐藏;2.i18n的新增,后端校验失败时没弹提示。用户、角色新增的name重复校验失败时没弹提示;3.下拉框背景色调为白色;4.修改密码增加at least five的校验;
This commit is contained in:
@@ -71,7 +71,7 @@
|
|||||||
.el-input__inner {
|
.el-input__inner {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #353636;
|
color: #353636;
|
||||||
background-color: #F5F8FA;
|
background-color: #FFFFFF;
|
||||||
}
|
}
|
||||||
.common-select {
|
.common-select {
|
||||||
top: 32px !important;
|
top: 32px !important;
|
||||||
|
|||||||
@@ -224,6 +224,13 @@ export default {
|
|||||||
callback()
|
callback()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const validateFiveLength = (rule, value, callback) => {
|
||||||
|
if (value.length < 5) {
|
||||||
|
callback(new Error(this.$t('validate.atLeastFive')))
|
||||||
|
} else {
|
||||||
|
callback()
|
||||||
|
}
|
||||||
|
}
|
||||||
return {
|
return {
|
||||||
username: localStorage.getItem(storageKey.username),
|
username: localStorage.getItem(storageKey.username),
|
||||||
language: localStorage.getItem(storageKey.language) ? localStorage.getItem(storageKey.language) : 'en',
|
language: localStorage.getItem(storageKey.language) ? localStorage.getItem(storageKey.language) : 'en',
|
||||||
@@ -244,11 +251,17 @@ export default {
|
|||||||
required: true,
|
required: true,
|
||||||
message: this.$t('validate.required'),
|
message: this.$t('validate.required'),
|
||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
|
}, {
|
||||||
|
validator: validateFiveLength,
|
||||||
|
trigger: 'change'
|
||||||
}],
|
}],
|
||||||
newPwd2: [{
|
newPwd2: [{
|
||||||
required: true,
|
required: true,
|
||||||
message: this.$t('validate.required'),
|
message: this.$t('validate.required'),
|
||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
|
}, {
|
||||||
|
validator: validateFiveLength,
|
||||||
|
trigger: 'change'
|
||||||
}, {
|
}, {
|
||||||
validator: passwordComparison,
|
validator: passwordComparison,
|
||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
|
|||||||
@@ -376,7 +376,7 @@ export default {
|
|||||||
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
|
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
|
||||||
this.esc(true)
|
this.esc(true)
|
||||||
} else {
|
} else {
|
||||||
this.$message.error(res.msg)
|
this.$message.error(res.msg || res.message)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
@@ -386,7 +386,7 @@ export default {
|
|||||||
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
|
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
|
||||||
this.esc(true)
|
this.esc(true)
|
||||||
} else {
|
} else {
|
||||||
this.$message.error(res.msg)
|
this.$message.error(res.msg || res.message)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ export default {
|
|||||||
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
|
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
|
||||||
this.esc(true)
|
this.esc(true)
|
||||||
} else {
|
} else {
|
||||||
this.$message.error(res.msg)
|
this.$message.error(res.msg || res.message)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
@@ -122,7 +122,7 @@ export default {
|
|||||||
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
|
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
|
||||||
this.esc(true)
|
this.esc(true)
|
||||||
} else {
|
} else {
|
||||||
this.$message.error(res.msg)
|
this.$message.error(res.msg || res.message)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -186,7 +186,7 @@ export default {
|
|||||||
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
|
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
|
||||||
this.esc(true)
|
this.esc(true)
|
||||||
} else {
|
} else {
|
||||||
this.$message.error(res.msg)
|
this.$message.error(res.msg || res.message)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
@@ -196,7 +196,7 @@ export default {
|
|||||||
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
|
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
|
||||||
this.esc(true)
|
this.esc(true)
|
||||||
} else {
|
} else {
|
||||||
this.$message.error(res.msg)
|
this.$message.error(res.msg || res.message)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -144,6 +144,18 @@ export default {
|
|||||||
callback()
|
callback()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const validateUserName = (rule, value, callback) => {
|
||||||
|
let validate = true
|
||||||
|
const reg = /^[a-zA-Z0-9_]{2,64}$/
|
||||||
|
validate = reg.test(value)
|
||||||
|
if (value.length < 2) {
|
||||||
|
callback(new Error(this.$t('validate.atLeastTwo')))
|
||||||
|
} else if (!validate) {
|
||||||
|
callback(new Error(this.$t('validate.userName')))
|
||||||
|
} else {
|
||||||
|
callback()
|
||||||
|
}
|
||||||
|
}
|
||||||
return {
|
return {
|
||||||
url: api.user,
|
url: api.user,
|
||||||
loginName: localStorage.getItem(storageKey.username),
|
loginName: localStorage.getItem(storageKey.username),
|
||||||
@@ -154,7 +166,7 @@ export default {
|
|||||||
],
|
],
|
||||||
username: [
|
username: [
|
||||||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' },
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' },
|
||||||
{ pattern: /^[a-zA-Z0-9_]{2,64}$/, message: this.$t('validate.atLeastTwo') }
|
{ validator: validateUserName, trigger: 'change' }
|
||||||
],
|
],
|
||||||
pin: [
|
pin: [
|
||||||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' },
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' },
|
||||||
@@ -229,7 +241,7 @@ export default {
|
|||||||
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
|
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
|
||||||
this.esc(true)
|
this.esc(true)
|
||||||
} else {
|
} else {
|
||||||
this.$message.error(res.msg)
|
this.$message.error(res.msg || res.message)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
@@ -239,7 +251,7 @@ export default {
|
|||||||
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
|
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
|
||||||
this.esc(true)
|
this.esc(true)
|
||||||
} else {
|
} else {
|
||||||
this.$message.error(res.msg)
|
this.$message.error(res.msg || res.message)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ export default {
|
|||||||
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
|
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
|
||||||
this.esc(true)
|
this.esc(true)
|
||||||
} else {
|
} else {
|
||||||
this.$message.error(res.msg)
|
this.$message.error(res.msg || res.message)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
@@ -43,7 +43,7 @@ export default {
|
|||||||
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
|
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.saveSuccess') })
|
||||||
this.esc(true)
|
this.esc(true)
|
||||||
} else {
|
} else {
|
||||||
this.$message.error(res.msg)
|
this.$message.error(res.msg || res.message)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ export default {
|
|||||||
return {
|
return {
|
||||||
isNoData: false,
|
isNoData: false,
|
||||||
showError: false,
|
showError: false,
|
||||||
errorMsg: ''
|
errorMsg: '',
|
||||||
|
entityDetailRelatedEntitiesShowSize: entityDetailRelatedEntitiesShowSize
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
emits: ['toggleLoading'],
|
emits: ['toggleLoading'],
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
{{ entity.appName ? entity.appName : entity }}
|
{{ entity.appName ? entity.appName : entity }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="more" v-if="relatedAppList.length > 0">
|
<div class="more" v-if="relatedAppList.length > entityDetailRelatedEntitiesShowSize">
|
||||||
<span class="button" :style="{'opacity': relatedAppList.length > showRelatedAppListInfo.num ? 1 : 0.6}" @click="showMore(showRelatedAppListInfo,relatedAppList)">{{ $t('overall.more') }} > </span>
|
<span class="button" :style="{'opacity': relatedAppList.length > showRelatedAppListInfo.num ? 1 : 0.6}" @click="showMore(showRelatedAppListInfo,relatedAppList)">{{ $t('overall.more') }} > </span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
{{ entity.ip ? entity.ip : entity }}
|
{{ entity.ip ? entity.ip : entity }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="more" v-if="relatedIpList.length > 0">
|
<div class="more" v-if="relatedIpList.length > entityDetailRelatedEntitiesShowSize">
|
||||||
<span class="button" :style="{'opacity': relatedIpList.length > showRelatedIpListInfo.num ? 1 : 0.6}" @click="showMore(showRelatedIpListInfo,relatedIpList)">{{ $t('overall.more') }} > </span>
|
<span class="button" :style="{'opacity': relatedIpList.length > showRelatedIpListInfo.num ? 1 : 0.6}" @click="showMore(showRelatedIpListInfo,relatedIpList)">{{ $t('overall.more') }} > </span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -54,7 +54,7 @@
|
|||||||
{{ entity.domain ? entity.domain : entity }}
|
{{ entity.domain ? entity.domain : entity }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="more" v-if="relatedDomainList.length > 0">
|
<div class="more" v-if="relatedDomainList.length > entityDetailRelatedEntitiesShowSize">
|
||||||
<span class="button" :style="{'opacity': relatedDomainList.length > showRelatedDomainListInfo.num ? 1 : 0.6}" @click="showMore(showRelatedDomainListInfo,relatedDomainList)">{{ $t('overall.more') }} > </span>
|
<span class="button" :style="{'opacity': relatedDomainList.length > showRelatedDomainListInfo.num ? 1 : 0.6}" @click="showMore(showRelatedDomainListInfo,relatedDomainList)">{{ $t('overall.more') }} > </span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -10,10 +10,13 @@
|
|||||||
<span class="type-title-word">{{ $t('entities.tab.currentDevelopmentPortsAndServices') }}</span>({{ openPortList.length }})
|
<span class="type-title-word">{{ $t('entities.tab.currentDevelopmentPortsAndServices') }}</span>({{ openPortList.length }})
|
||||||
</div>
|
</div>
|
||||||
<div class="type-content">
|
<div class="type-content">
|
||||||
<div v-for="(openPort, index) in openPortList" :key="index" class="data-item">
|
<div v-for="(openPort, index) in openPortList.slice(0,showOpenPortListInfo.num)" :key="index" class="data-item">
|
||||||
{{ openPort.port }}/{{ openPort.l7Protocol }}
|
{{ openPort.port }}/{{ openPort.l7Protocol }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="more" v-if="openPortList.length > entityDetailRelatedEntitiesShowSize">
|
||||||
|
<span class="button" :style="{'opacity': openPortList.length > showOpenPortListInfo.num ? 1 : 0.6}" @click="showMore(showOpenPortListInfo,openPortList)">{{ $t('overall.more') }} > </span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -34,6 +37,9 @@ export default {
|
|||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
openPortList: [],
|
openPortList: [],
|
||||||
|
showOpenPortListInfo: {
|
||||||
|
num: 0
|
||||||
|
},
|
||||||
showError: false,
|
showError: false,
|
||||||
errorMsg: '',
|
errorMsg: '',
|
||||||
initFlag: false // 初始化标识,请求接口之后再显示,避免标题初始化会闪一下
|
initFlag: false // 初始化标识,请求接口之后再显示,避免标题初始化会闪一下
|
||||||
@@ -65,6 +71,7 @@ export default {
|
|||||||
this.showError = false
|
this.showError = false
|
||||||
if (!this.isNoData) {
|
if (!this.isNoData) {
|
||||||
this.openPortList = res.data.result
|
this.openPortList = res.data.result
|
||||||
|
this.handleShowDataNum(this.showOpenPortListInfo, this.openPortList)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.httpError(res)
|
this.httpError(res)
|
||||||
|
|||||||
Reference in New Issue
Block a user