diff --git a/src/utils/constants.js b/src/utils/constants.js index 6ad76a2c..84ff1a7c 100644 --- a/src/utils/constants.js +++ b/src/utils/constants.js @@ -2913,35 +2913,38 @@ export const intentColor = { export const settingFields = { ip: [ - { displayName: 'IP', fieldName: 'ip' }, + { displayName: 'IP', fieldName: 'ip', disabled: true }, { displayName: 'Ports', fieldName: 'ports' }, { displayName: 'L7 Protocols', fieldName: 'l7_protocols' }, - { displayName: 'IP.Country', fieldName: 'ip.country' }, + { displayName: 'IP.Country', fieldName: 'ip_country' }, { displayName: 'IP.Super Admin Area', fieldName: 'ip_super_admin_area' }, { displayName: 'IP.Admin Area', fieldName: 'ip_admin_area' }, { displayName: 'IP.ASN', fieldName: 'ip_asn' }, - { displayName: 'IP.ISP', fieldName: 'ip_isp' } + { displayName: 'IP.ISP', fieldName: 'ip_isp' }, + { displayName: 'seen_time', fieldName: 'seen_time' } ], domain: [ - { displayName: 'Domain', fieldName: 'domain' }, + { displayName: 'Domain', fieldName: 'domain', disabled: true }, { displayName: 'Domain.Category', fieldName: 'domain_category' }, - { displayName: 'Domain.Category Group', fieldName: 'domain_category_group' } + { displayName: 'Domain.Category Group', fieldName: 'domain_category_group' }, + { displayName: 'seen_time', fieldName: 'seen_time' } ], app: [ - { displayName: 'Application', fieldName: 'app' }, + { displayName: 'Application', fieldName: 'app', disabled: true }, { displayName: 'APP.Category', fieldName: 'app_category' }, { displayName: 'APP.Subcategory', fieldName: 'app_subcategory' }, - { displayName: 'APP.Subcategory', fieldName: 'app_subcategory' } + { displayName: 'seen_time', fieldName: 'seen_time' } ], subscriber_id: [ - { displayName: 'Subscriber ID', fieldName: 'subscriber_id' }, + { displayName: 'Subscriber ID', fieldName: 'subscriber_id', disabled: true }, { displayName: 'Subscriber.Phone Number', fieldName: 'subscriber_phone_number' }, { displayName: 'Subscriber.IMSI', fieldName: 'subscriber_imsi' }, { displayName: 'Subscriber.IMEI', fieldName: 'subscriber_imei' }, - { displayName: 'Subscriber.APNs', fieldName: 'subscriber_apns' } + { displayName: 'Subscriber.APNs', fieldName: 'subscriber_apns' }, + { displayName: 'seen_time', fieldName: 'seen_time' } ], cell_id: [ - { displayName: 'Cell ID', fieldName: 'cell_id' }, + { displayName: 'Cell ID', fieldName: 'cell_id', disabled: true }, { displayName: 'Cell.Technology', fieldName: 'cell_technology' }, { displayName: 'Cell.Coverage Radius', fieldName: 'cell_coverage_radius' }, { displayName: 'Cell.Operator', fieldName: 'cell_operator' }, @@ -2957,7 +2960,8 @@ export const settingFields = { { displayName: 'cell_latitude', fieldName: 'cell_latitude' }, { displayName: 'cell_longitude', fieldName: 'cell_longitude' }, { displayName: 'cell_azimuth', fieldName: 'cell_azimuth' }, - { displayName: 'cell_fdd_spectrum', fieldName: 'cell_fdd_spectrum' } + { displayName: 'cell_fdd_spectrum', fieldName: 'cell_fdd_spectrum' }, + { displayName: 'seen_time', fieldName: 'seen_time' } ] } diff --git a/src/views/setting/entitySetting/EntitySettingForm.vue b/src/views/setting/entitySetting/EntitySettingForm.vue index 5ca7d532..a9c9092a 100644 --- a/src/views/setting/entitySetting/EntitySettingForm.vue +++ b/src/views/setting/entitySetting/EntitySettingForm.vue @@ -39,13 +39,30 @@
{{ item.name }}
-
{{ $t('setting.sourceField') }}
{{ $t('setting.entityField') }}
+
{{ $t('setting.sourceField') }}
- - + + + + + +
=
+ + -
=
- - - - - -
@@ -223,8 +228,8 @@ export default { sourceId: [{ required: true, message: this.$t('validate.required'), trigger: 'change' }] }, mappingRules: { - type: [{ required: true, message: this.$t('validate.required'), trigger: 'change' }], - source: [{ required: true, message: this.$t('validate.required'), trigger: 'change' }] + entityField: [{ required: true, message: this.$t('validate.required'), trigger: 'change' }], + sourceField: [{ required: true, message: this.$t('validate.required'), trigger: 'change' }] }, relationRules: { required: true, message: this.$t('validate.required'), trigger: 'change' }, sourceOption: [], @@ -239,7 +244,7 @@ export default { { label: 'Domain', value: 'Domain' }, { label: 'APP', value: 'APP' } ], - isCloseMappingItem: true, // 删除mapping标识 + isCloseMappingItem: false, // 删除mapping标识 showMappingType: false, mappingItemType: '', // 添加mapping映射类型 typeList: [ @@ -287,7 +292,7 @@ export default { type: 'ip', name: 'IP', list: [ - { field: '', source: '' } + { entityField: 'ip', sourceField: '', delFlag: false } ], mapping: {} } @@ -357,8 +362,9 @@ export default { entities.forEach(item => { const list = [] for (const [key, value] of Object.entries(item.mapping)) { - list.push({ field: key, source: value.toString() }) + list.push({ entityField: value.toString(), sourceField: key, delFlag: true }) } + list[0].delFlag = false item.list = list }) this.editObj.schemaMappingData.data = entities @@ -410,7 +416,7 @@ export default { index: this.editObj.schemaMappingData.data.length + 1, type: this.mappingItemType, name: name, - list: [{ field: '', source: '' }], + list: [{ entityField: settingFields[this.mappingItemType][0].fieldName, sourceField: '', delFlag: false }], mapping: {} }) this.isCloseMappingItem = true @@ -427,14 +433,14 @@ export default { }, /** 添加schema mapping某一类型下的字段 **/ async addMappingListItem (index, ind) { - const valid1 = await this.$refs.mappingForm.validateField(`data.${index}.list.${ind}.field`, (valid) => { + const valid1 = await this.$refs.mappingForm.validateField(`data.${index}.list.${ind}.entityField`, (valid) => { return valid }) - const valid2 = await this.$refs.mappingForm.validateField(`data.${index}.list.${ind}.source`, (valid) => { + const valid2 = await this.$refs.mappingForm.validateField(`data.${index}.list.${ind}.sourceField`, (valid) => { return valid }) if (valid1 && valid2) { - this.editObj.schemaMappingData.data[index].list.push({ field: '', source: '' }) + this.editObj.schemaMappingData.data[index].list.push({ entityField: '', sourceField: '', delFlag: true }) this.isCloseMappingItem = true } }, @@ -471,15 +477,10 @@ export default { }) } } - // if (this.editObj.schemaMappingData.data.length > 1) { - // this.isCloseMappingItem = true - // } else { - // this.isCloseMappingItem = this.editObj.schemaMappingData.data[0].list.length > 1 - // } let usedFlag = false if (this.editObj.schemaMappingData.data.length > 0) { this.editObj.schemaMappingData.data.forEach(item => { - const obj1 = item.list.find(d => d.field) + const obj1 = item.list.find(d => d.sourceField) if (obj1 && !usedFlag) { usedFlag = true } @@ -625,7 +626,7 @@ export default { formObj.schemaMappingData.data.forEach((item) => { const obj = {} item.list.forEach(ite => { - obj[ite.field] = ite.source + obj[ite.entityField] = ite.sourceField }) item.mapping = this.$_.cloneDeep(obj) }) @@ -756,7 +757,7 @@ export default { let usedFlag = false if (this.editObj.schemaMappingData.data.length > 0) { this.editObj.schemaMappingData.data.forEach(item => { - const obj1 = item.list.find(d => d.field) + const obj1 = item.list.find(d => d.sourceField) if (obj1 && !usedFlag) { usedFlag = true } @@ -774,6 +775,24 @@ export default { }) } } + }, + visibleEntityFiled (callback, index, i) { + const item = this.editObj.schemaMappingData.data[index] + if (callback) { + const fieldNameList = [] + item.list.forEach(ite => { + fieldNameList.push(ite.entityField) + }) + this.settingFields[item.type].forEach(obj => { + if (fieldNameList.indexOf(obj.fieldName) > -1) { + obj.disabled = true + } + }) + } else { + this.settingFields[item.type].forEach(obj => { + obj.disabled = false + }) + } } } } diff --git a/src/views/setting/sources/SourcesForm.vue b/src/views/setting/sources/SourcesForm.vue index 22a1c364..376e77b2 100644 --- a/src/views/setting/sources/SourcesForm.vue +++ b/src/views/setting/sources/SourcesForm.vue @@ -9,7 +9,7 @@ - +