CN-1049: Entity实体搜索框参数拼接错误

This commit is contained in:
刘洪洪
2023-05-31 15:28:27 +08:00
parent 9675a54455
commit df7cd7e289
3 changed files with 20 additions and 7 deletions

View File

@@ -36,7 +36,8 @@
<!-- -->
<div class="condition__value">
<div v-if="meta.value.isEditing">
<el-input v-model="meta.value.value" size="mini" @blur="valueBlur(meta)" ref="valueInput" @keyup.enter="valueBlur(meta)"></el-input>
<!--避免blur事件和keyup.enter重复执行-->
<el-input v-model="meta.value.value" size="mini" @blur="valueBlur(meta)" ref="valueInput" @keyup.enter="$event.target.blur(meta)"></el-input>
</div>
<span v-else @click="valueClick(meta, index)">{{meta.value.label}}</span>
</div>
@@ -184,7 +185,7 @@ export default {
columnClick (meta, index) {
meta.column.isEditing = true
this.$nextTick(() => {
this.$refs.columnSelect[index].focus()
this.$refs.columnSelect[index === 0 ? index : index - 1].focus() // 避免参数有and等情况
})
},
columnBlur (meta, index) {
@@ -251,7 +252,8 @@ export default {
str = str.substring(1, str.length)
str = str.substring(0, str.length - 1)
}
if (str.indexOf("'") > -1) {
// 如果此时参数为xi'an处理为xi''an后一个条件避免若参数为xi''an,则不处理
if (str.indexOf("'") > -1 && str.indexOf("''") === -1) {
str = str.replace(/'/g, "''")
}
return str
@@ -270,7 +272,8 @@ export default {
str = str.substring(1, str.length)
str = str.substring(0, str.length - 1)
}
if (str.indexOf("'") > -1) {
// 如果此时参数为xi'an处理为xi''an后一个条件避免若参数为xi''an,则不处理
if (str.indexOf("'") > -1 && str.indexOf("''") === -1) {
str = str.replace(/'/g, "''")
}
meta.value.value = str
@@ -282,7 +285,7 @@ export default {
valueClick (meta, index) {
meta.value.isEditing = true
this.$nextTick(() => {
this.$refs.valueInput[index].focus()
this.$refs.valueInput[index === 0 ? index : index - 1].focus() // 避免参数有and等情况
})
},
// 判断是否是用户自己添加的内容,用于判断是否是全局搜索

View File

@@ -751,8 +751,13 @@ export default class Parser {
// 使用单引号包裹
export function stringInQuot (value) {
if (value.indexOf("'") > -1) {
value = value.split("'").join("''") // 如xi'an多添加一个单引号处理为xi''an
}
const match = `${value}`.match(/^'.+?'$/)
return match ? value : `'${value}'`
// return match ? value : `'${value}'` // 单引号包裹,暂时保留
return match ? value : `${value}`
}
// IN和LIKE前后加空格

View File

@@ -250,8 +250,13 @@ function handleType (value) {
// 使用单引号包裹
export function stringInQuot (value) {
if (value.indexOf("'") > -1) {
value = value.split("'").join("''") // 如xi'an多添加一个单引号处理为xi''an
}
const match = `${value}`.match(/^'.+?'$/)
return match ? value : `'${value}'`
// return match ? value : `'${value}'`
return match ? value : `${value}`
}
// IN和LIKE前后加空格
export function handleOperatorSpace (operator) {