From b6768f9b25f45d917144402366a706975fb3ee1b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=88=98=E6=B4=AA=E6=B4=AA?= <2498601771@qq.com>
Date: Wed, 27 Sep 2023 11:59:46 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AE=9E=E4=BD=93=E6=90=9C=E7=B4=A2?=
=?UTF-8?q?=E5=9C=A8like=E6=97=B6=E6=98=BE=E7=A4=BA=E7=94=A8=E6=88=B7?=
=?UTF-8?q?=E8=BE=93=E5=85=A5=E7=9A=84%?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/advancedSearch/TagMode.vue | 67 ++++++++++----------
src/components/advancedSearch/meta/parser.js | 6 ++
2 files changed, 40 insertions(+), 33 deletions(-)
diff --git a/src/components/advancedSearch/TagMode.vue b/src/components/advancedSearch/TagMode.vue
index acb55d78..4e086254 100644
--- a/src/components/advancedSearch/TagMode.vue
+++ b/src/components/advancedSearch/TagMode.vue
@@ -51,7 +51,8 @@
@keyup.enter="valueBlur(meta)">
- {{ changeLabel(meta.value.label, meta.column.type) }}
+
+ {{ meta.value.label }}
)
@@ -253,15 +254,15 @@ export default {
meta.value.value = label
meta.value.label = label
- if (meta.column.label === 'domain') {
- meta.operator.value = 'like'
- meta.value.value = `%${this.delSingleQuote(label)}`
- meta.value.label = `${this.delSingleQuote(label)}`
- } else if (meta.column.label === 'app') {
- meta.operator.value = 'like'
- meta.value.value = `%${this.delSingleQuote(label)}%`
- meta.value.label = `${this.delSingleQuote(label)}`
- }
+ // if (meta.column.label === 'domain') {
+ // meta.operator.value = 'like'
+ // meta.value.value = `%${this.delSingleQuote(label)}`
+ // meta.value.label = `${this.delSingleQuote(label)}`
+ // } else if (meta.column.label === 'app') {
+ // meta.operator.value = 'like'
+ // meta.value.value = `%${this.delSingleQuote(label)}%`
+ // meta.value.label = `${this.delSingleQuote(label)}`
+ // }
meta.column.type = 'string'
}
}, 200)
@@ -341,12 +342,12 @@ export default {
if (str.indexOf("'") > -1 && str.indexOf("''") === -1) {
str = str.replace(/'/g, "''")
}
- if (str[0] === '%') {
- str = str.substring(1, str.length)
- }
- if (str[str.length - 1] === '%') {
- str = str.substring(0, str.length - 1)
- }
+ // if (str[0] === '%') {
+ // str = str.substring(1, str.length)
+ // }
+ // if (str[str.length - 1] === '%') {
+ // str = str.substring(0, str.length - 1)
+ // }
meta.value.value = str
}
meta.value.label = meta.value.value // label是显示,value是实际值
@@ -400,23 +401,23 @@ export default {
str = str.replace(/'/g, "''")
}
- // domain和app选择like时,添加%
- if (meta.operator.value.toLowerCase() === 'like') {
- if (meta.column.label.toLowerCase() === 'domain') {
- if (str[0] === '%') {
- str = str.substring(1, str.length)
- }
- str = `%${str}`
- }
-
- if (meta.column.label.toLowerCase() === 'app') {
- if (str[0] === '%' && str[str.length - 1] === '%') {
- str = str.substring(1, str.length)
- str = str.substring(0, str.length - 1)
- }
- str = `%${str}%`
- }
- }
+ // // domain和app选择like时,添加%
+ // if (meta.operator.value.toLowerCase() === 'like') {
+ // if (meta.column.label.toLowerCase() === 'domain') {
+ // if (str[0] === '%') {
+ // str = str.substring(1, str.length)
+ // }
+ // str = `%${str}`
+ // }
+ //
+ // if (meta.column.label.toLowerCase() === 'app') {
+ // if (str[0] === '%' && str[str.length - 1] === '%') {
+ // str = str.substring(1, str.length)
+ // str = str.substring(0, str.length - 1)
+ // }
+ // str = `%${str}%`
+ // }
+ // }
if (!isWrapped) {
meta.value.value = `'${str}'`
diff --git a/src/components/advancedSearch/meta/parser.js b/src/components/advancedSearch/meta/parser.js
index e04a13f0..a0995ccc 100644
--- a/src/components/advancedSearch/meta/parser.js
+++ b/src/components/advancedSearch/meta/parser.js
@@ -919,6 +919,7 @@ export default class Parser {
// 此为按语法搜索,将metaList转为字符串
const newMetaList = []
let hasStr = ''
+ let likeStr = ''
let fullTextStr = ''
let fullTextStr2 = ''
// 去除metaList的AND项
@@ -930,6 +931,8 @@ export default class Parser {
fullTextStr += `${item.column.label} ${item.operator.value} ${item.value.value} AND `
const isWrapped = this.isSingleQuoteWrapping(item.value.value)
fullTextStr2 += isWrapped ? `'${this.delPercent(this.delSingleQuote(item.value.value))}' AND ` : `${this.delPercent(this.delSingleQuote(item.value.value))} AND `
+ } else if (item.column.show && item.operator.value.toLowerCase() === 'like') {
+ likeStr += `${item.column.label} ${item.operator.value} ${item.value.value} AND `
} else {
newMetaList.push(item)
}
@@ -946,6 +949,9 @@ export default class Parser {
if (hasStr !== '') {
str = str + hasStr
}
+ if (likeStr !== '') {
+ str = str + likeStr
+ }
let str2 = str
if (fullTextStr !== '') {
str = str + fullTextStr