diff --git a/src/views/setting/KnowledgeBaseForm.vue b/src/views/setting/KnowledgeBaseForm.vue
index 96ce3515..f41025dd 100644
--- a/src/views/setting/KnowledgeBaseForm.vue
+++ b/src/views/setting/KnowledgeBaseForm.vue
@@ -100,12 +100,12 @@
| {{ importedTableFirstColumn }} |
Label |
- {{ $t('overall.import') }} |
+ {{ $t('overall.import') }} |
|
|
-
+
@@ -113,32 +113,31 @@
{{ d.tagName }}
|
-
+
{{ d.tagValue }}
|
-
- {{ d.msg }}
+ |
+ {{(d.isValid === 1 && (d.msg==='' || !d.msg) )? 'success': d.msg }}
|
- |
-
-
-
+
+ |
+
|
-
-
+
+ |
|
-
+
-
|
@@ -266,6 +265,8 @@ export default {
if (index !== realIndex) { // 记录为非当前记录,则数据重复
validate = false
this.editTagErrorTip = rule.message
+ this.showImportedData[this.editIndex].msg = rule.message
+ this.showImportedData[this.editIndex].isValid = 0
callback(new Error())
}
}
@@ -282,17 +283,25 @@ export default {
return validate
}
const requiredValueValidator = (rule, value, callback) => {
+ value = this.editTagForm.tagValue
+ const index = this.editIndex
let validate = true
const realValue = value.replace(/\s+/g, '')// 去掉空格
if (realValue === '') {
validate = false
this.editTagErrorTip = rule.message
+ this.showImportedData[index].msg = rule.message
+ this.showImportedData[index].isValid = 0
callback(new Error())
}
return validate
}
const nameFormatValidator = (rule, value, callback) => {
+ value = this.editTagForm.tagName
+ const index = this.editIndex
let validate = true
+ this.showImportedData[index].msg = 'success'
+ this.showImportedData[index].isValid = 1
const type = this.editObject.source// 当前选中的类型
if (type === knowledgeSourceValue.ipTag) {
const formal = value.replace(/\s+/g, '')// 去掉空格
@@ -300,12 +309,16 @@ export default {
if (!(regular.ipv4CIDR.test(formal)) && !(regular.ipv6CIDR.test(formal))) {
validate = false
this.editTagErrorTip = rule.message
+ this.showImportedData[index].msg = rule.message
+ this.showImportedData[index].isValid = 0
callback(new Error())
}
} else {
if (!regular.ip.test(formal)) {
validate = false
this.editTagErrorTip = rule.message
+ this.showImportedData[index].msg = rule.message
+ this.showImportedData[index].isValid = 0
callback(new Error())
}
}
@@ -314,6 +327,8 @@ export default {
if (pattern.test(value)) {
validate = false
this.editTagErrorTip = rule.message
+ this.showImportedData[index].msg = rule.message
+ this.showImportedData[index].isValid = 0
callback(new Error())
}
} else if (type === knowledgeSourceValue.domainTag) { // 域名只支持 字母数字.-_
@@ -355,6 +370,8 @@ export default {
}
if (!validate) {
this.editTagErrorTip = rule.message
+ this.showImportedData[index].msg = rule.message
+ this.showImportedData[index].isValid = 0
callback(new Error())
}
}
@@ -429,7 +446,8 @@ export default {
pageNoForTable: 1,
listMode: 'list',
status: 1,
- oldItemIds: []
+ oldItemIds: [],
+ oldTagItem: {}
}
},
methods: {
@@ -489,7 +507,7 @@ export default {
this.isLoad = false
originalImportedData.sort((a, b) => b.isValid - a.isValid)
this.importedData = this.handleSpeticalTypeData(originalImportedData)
- this.addItemList = _.cloneDeep(this.importedData)
+ this.addItemList = _.cloneDeep(this.importedData).filter(item => { return item.isValid === 1 })
this.updateItemList = []
this.deleteItemIds = this.oldItemIds
@@ -837,7 +855,7 @@ export default {
this.editTagForm.tagName = this.showImportedData[index].tagName
this.editTagForm.tagValue = this.showImportedData[index].tagValue
- // 点击编辑时,如正处于新增状态,则去除新增项(此时新增并为保存,不必保留)
+ // 点击编辑时,如正处于新增状态,则去除新增项(此时新增并未保存,不必保留)
if (this.addEditFlag) {
this.addEditFlag = false
const dataLen = this.importedData.length % this.importedPageObj.pageSize
@@ -847,17 +865,21 @@ export default {
this.importedData.pop()
this.handleShowImportedData()
}
-
+ this.oldTagItem = {
+ isValid: this.showImportedData[index].isValid,
+ msg: this.showImportedData[index].msg
+ }
this.editIndex = index
this.backEditFlag = true
this.editTagErrorTip = ''
},
- backImportedData () {
+ backImportedData (index) {
this.editTagForm = reactive({
tagName: '',
tagValue: ''
})
-
+ this.showImportedData[index].isValid = this.oldTagItem.isValid
+ this.showImportedData[index].msg = this.oldTagItem.msg
this.editIndex = -1
this.backEditFlag = false
this.editTagErrorTip = ''
@@ -905,72 +927,85 @@ export default {
}
}
},
- addData (data) {
+ addData (data, oldTag) {
if (data) {
- const addItemIndex = this.addItemList.findIndex(item => item.tagName === data.tagName && item.tagValue === data.tagValue)
- if (addItemIndex === -1) {
- let addItem = data
- if (this.editObject.source === knowledgeSourceValue.ipTag) {
- const sepIndex = data.tagName.indexOf('/')
- if (sepIndex > -1) { // CIDR
- addItem = {
- ...addItem,
- addrFormat: 'CIDR',
- ip1: data.tagName.substring(0, sepIndex),
- ip2: data.tagName.substring(sepIndex + 1)
- }
- } else { // Single
- addItem = {
- ...addItem,
- addrFormat: 'Single',
- ip1: data.tagName,
- ip2: ''
- }
- }
- } else if (this.editObject.source === knowledgeSourceValue.domainTag) {
+ let addItemIndex = -1
+ if (oldTag) {
+ addItemIndex = this.addItemList.findIndex(item => item.tagName === oldTag.tagName && item.tagValue === oldTag.tagValue)
+ } else {
+ addItemIndex = this.addItemList.findIndex(item => item.tagName === data.tagName && item.tagValue === data.tagValue)
+ }
+ let addItem = data
+ if (this.editObject.source === knowledgeSourceValue.ipTag) {
+ const sepIndex = data.tagName.indexOf('/')
+ if (sepIndex > -1) { // CIDR
addItem = {
...addItem,
- domain: data.tagName
+ addrFormat: 'CIDR',
+ ip1: data.tagName.substring(0, sepIndex),
+ ip2: data.tagName.substring(sepIndex + 1)
}
- } else if (this.editObject.source === knowledgeSourceValue.appTag) {
+ } else { // Single
addItem = {
...addItem,
- appName: data.tagName
+ addrFormat: 'Single',
+ ip1: data.tagName,
+ ip2: ''
}
}
+ } else if (this.editObject.source === knowledgeSourceValue.domainTag) {
+ addItem = {
+ ...addItem,
+ domain: data.tagName
+ }
+ } else if (this.editObject.source === knowledgeSourceValue.appTag) {
+ addItem = {
+ ...addItem,
+ appName: data.tagName
+ }
+ }
+ if (addItemIndex === -1) {
this.addItemList.push(addItem)
+ } else {
+ this.addItemList.splice(addItemIndex, 1, addItem)
}
}
},
- saveImportedData (index) {
+ saveImportedData (index) { // 分为新增的保存,修改的保存
+ const self = this
this.$refs.editForm.validate(valid => {
if (valid) {
- this.showImportedData[index].tagName = this.editTagForm.tagName
- this.showImportedData[index].tagValue = this.editTagForm.tagValue
- this.showImportedData[index].isValid = 1
+ const oldTag = {
+ tagName: self.showImportedData[index].tagName,
+ tagValue: self.showImportedData[index].tagValue
+ }
+ self.showImportedData[index].tagName = self.editTagForm.tagName
+ self.showImportedData[index].tagValue = self.editTagForm.tagValue
let num = -1
- const findData = this.importedData.find((item, i) => {
+ const findData = self.importedData.find((item, i) => {
num = i
- return (item.tagName === this.editTagForm.tagName && item.tagValue === this.editTagForm.tagValue)
+ return (item.tagName === self.editTagForm.tagName && item.tagValue === self.editTagForm.tagValue)
})
- if (!findData) {
- this.importedData[num].tagName = this.editTagForm.tagName
- this.importedData[num].tagValue = this.editTagForm.tagValue
- this.importedData[num].isValid = 1
- this.addData(this.importedData[num])
- } else {
- if (findData.id) {
- this.updateData(findData)
- } else {
- this.addData(findData)
+ if (!findData) { // 新增记录(包括新增和修改界面)
+ self.importedData[num].tagName = self.editTagForm.tagName
+ self.importedData[num].tagValue = self.editTagForm.tagValue
+ self.importedData[num].isValid = 1
+ self.addData(self.importedData[num])
+ } else { // 修改记录
+ if (findData.id) { // 修改界面的修改记录
+ self.updateData(findData, oldTag)
+ } else { // 新增界面的修改记录
+ self.addData(findData, oldTag)
}
}
- this.addEditFlag = false
- this.editIndex = -1
- this.backEditFlag = false
- this.isPreviewChange = true
+ self.addEditFlag = false
+ self.editIndex = -1
+ self.backEditFlag = false
+ self.isPreviewChange = true
+ } else {
+ self.showImportedData[index].isValid = 0
}
})
},
@@ -984,16 +1019,17 @@ export default {
addTagAtLast () {
this.editTagForm.tagName = ''
this.editTagForm.tagValue = ''
+ // this.editTagForm.isValid = 1
const total = this.importedData.length
this.addEditFlag = true
// 如果已经有新增空白项,则不再进行新增操作
- if (this.importedData.length === 0 || (this.importedData[this.importedData.length - 1].tagName !== '' && this.importedData[this.importedData.length - 1].tagValue !== '')) {
+ if (this.importedData.length === 0 || !(this.importedData[this.importedData.length - 1].tagName === '' && this.importedData[this.importedData.length - 1].tagValue === '')) {
if (total >= 10) {
const lastPageSize = Math.ceil((total + 1) / 10)
this.pageNo(lastPageSize)
}
- this.importedData.push({ tagName: '', tagValue: '', status: 1 })
- this.showImportedData.push({ tagName: '', tagValue: '', status: 1 })
+ this.importedData.push({ tagName: '', tagValue: '' })
+ this.showImportedData.push({ tagName: '', tagValue: '' })
this.importedDataNoData = false
this.importedPageObj.total = this.importedData.length