diff --git a/src/assets/css/components/views/detections/detection-filter.scss b/src/assets/css/components/views/detections/detection-filter.scss index d7c4493e..870d1bb8 100644 --- a/src/assets/css/components/views/detections/detection-filter.scss +++ b/src/assets/css/components/views/detections/detection-filter.scss @@ -2,164 +2,120 @@ display: flex; flex-direction: column; width: 280px; - padding: 10px; - margin-right: 10px; - background-color: white; + margin-right: 20px; overflow: auto; + z-index: 1; + border: 1px solid rgba(226, 229, 236, 1) !important; + border-radius: 4px !important; - .detection-filter { - display: flex; - flex-direction: column; - margin-bottom: 10px; - - .filter__header { - display: flex; - flex: 0 0 32px; - align-items: center; - padding-left: 10px; - color: #666; - //background-color: #F3F7FA; - cursor: pointer; - - span { - font-size: 14px; - padding-left: 6px; - } - i { - font-size: 12px; - transition: all linear .1s; - transform: rotate(0) translate(0, 2px); - } - i.arrow-rotate { - transform: rotate(90deg) translate(2px, 3px); - } - .new-detection-filter-header-title { - font-size: 14px; - color: #353636; - font-weight: 600; - } - .new-detection-filter-icon { - margin-left: 8px; - margin-bottom: 2px; - font-weight: bold !important; - } - } - - .filter__body { - padding: 5px 0 0 15px; - - .el-checkbox-group { - display: flex; - flex-direction: column; - - .el-checkbox { - display: flex; - align-items: center; - padding: 5px 0; - margin-right: 5px; - .el-checkbox__label { - width: 100%; - } - - .filter__checkbox-label { - display: flex; - justify-content: space-between; - align-items: center; - - .severity-color-block { - width: 4px; - height: 15px; - border-radius: 2px; - } - } - - &:last-of-type { - padding-bottom: 0; - } - } - } - } - } - .new-detection-filter-title { - display: flex; - flex: 0 0 32px; - align-items: center; - padding-left: 27px; - background-color: #EFF2F5; - cursor: pointer; + .filter-case__header { + padding-left: 8px; + height: 36px; + line-height: 36px; + color: #666; font-size: 14px; - color: #353636; - font-weight: 600; - margin: -10px; - margin-bottom: 10px; + background: #F7F7F7; + box-shadow: 0 1px 0 0 rgba(226,229,236,1); + border-radius: 4px 4px 0 0; } -} -.new-detection-filter-title { - height: 32px; - line-height: 32px; - background: #F7F7F7; - padding: 0 20px; - box-shadow: 0 1px 0 0 rgba(226, 229, 236, 1); - border-radius: 4px 4px 0 0; -} -.new-detection-filter-content { - padding: 20px; - .new-filter-content-title { - font-family: NotoSansHans-Medium; + .filter__header { + height: 46px; + line-height: 46px; + margin: 0 20px; font-size: 14px; - line-height: 14px; - margin-bottom: 10px; color: #353636; font-weight: 500; } - .new-filter-content-content { - display: flex; - flex-direction: column; - .new-filter-content-checkbox { - line-height: 16px; - margin-bottom: 10px; - font-family: NotoSansSChineseRegular; - font-size: 14px; - color: #353636; - font-weight: 400; + .filter__body { + width: calc(100% - 30px); + margin: 0 10px 0 20px; + max-height: 265px; + overflow-y: scroll; + overflow-x: hidden; - .el-checkbox__inner { - width: 16px !important; - height: 16px !important; - text-align: center !important; - line-height: 16px !important; - } + .filter__body-item { + height: 26px; + line-height: 26px; + display: flex; + align-items: center; + justify-content: space-between; + cursor: pointer; - .el-checkbox__input.is-indeterminate .el-checkbox__inner { - border-color: #38ACD2; - background: #38ACD2; - border-radius: 2px; - } - .el-checkbox__input.is-indeterminate .el-checkbox__inner:before { - background: #FFFFFF; - border-radius: 1px; - } - .el-checkbox__input.is-checked { - .el-checkbox__inner { - border-color: #38ACD2; - background: #38ACD2; - border-radius: 2px; - } - } - .el-checkbox__input.is-focus { - .el-checkbox__inner { - border-color: #38ACD2; - } - } - - .el-checkbox__label { - font-family: NotoSansSChineseRegular; + .filter__body-item-left { + display: flex; + align-items: center; font-size: 14px; color: #353636; font-weight: 400; + + .filter__body-item-left-index { + width: 16px; + height: 16px; + text-align: center; + background: #EFF2F5; + border-radius: 2px; + margin-right: 6px; + font-family: NotoSansHans-Black; + font-size: 9px; + color: #96A2B0; + font-weight: 900; + display: flex; + align-items: center; + justify-content: center; + } + + .filter__body-item-left-label { + max-width: 180px; + font-family: NotoSansSChineseRegular; + font-size: 14px; + color: #353636; + font-weight: 400; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + } + + .filter__body-item-right { + flex-shrink: 0; + font-family: NotoSansSChineseRegular; + font-size: 12px; + color: #717171; + font-weight: 400; + margin-right: 10px; } } } } + +.filter-country-flag { + width: 18px; + height: 12px; + margin-right: 6px; + border: 1px solid #E8E8E8; +} + +.filter-show-more, .filter-no-show-more { + cursor: pointer; + height: 26px; + line-height: 26px; + margin-left: 20px; + color: #046ECA; + user-select: none; // 禁止文本选中 + font-size: 12px; +} +.filter-no-show-more { + cursor: not-allowed; + color: rgba(16, 16, 16, 0.3); +} + +.filter-hr { + width: calc(100% - 40px); + margin-left: 20px; + margin-top: 6px; + height: 1px; + background: #EFF2F5; + //background: #000; +} diff --git a/src/components/advancedSearch/TagMode.vue b/src/components/advancedSearch/TagMode.vue index 7fe72c84..722cdbe0 100644 --- a/src/components/advancedSearch/TagMode.vue +++ b/src/components/advancedSearch/TagMode.vue @@ -635,6 +635,9 @@ export default { let { q } = this.$route.query if (q && !this.convertMetaList) { const parser = new Parser(this.columnList) + if (q.indexOf('+') > -1) { + q = q.replace('+', '') + } if (q.indexOf('%') === 0 || q.indexOf('%20') > -1 || q.indexOf('%25') > -1) { q = decodeURI(q) } else { diff --git a/src/components/advancedSearch/TextMode.vue b/src/components/advancedSearch/TextMode.vue index dad91f5e..09ffbb83 100644 --- a/src/components/advancedSearch/TextMode.vue +++ b/src/components/advancedSearch/TextMode.vue @@ -234,6 +234,9 @@ export default { toRaw(this.codeMirror).setValue(this.str) } if (q) { + if (q.indexOf('+') > -1) { + q = q.replace('+', '') + } if (q.indexOf('%') === 0 || q.indexOf('%20') > -1 || q.indexOf('%25') > -1) { q = decodeURI(q) } else { diff --git a/src/views/detections/DetectionFilter.vue b/src/views/detections/DetectionFilter.vue index 1e11ad41..220ba96e 100644 --- a/src/views/detections/DetectionFilter.vue +++ b/src/views/detections/DetectionFilter.vue @@ -1,31 +1,36 @@