From a52bb1994595dc58afa406f49d5230903f7f06f5 Mon Sep 17 00:00:00 2001 From: likunming Date: Fri, 27 Sep 2024 09:39:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dw-query-builder=E7=9A=84sql?= =?UTF-8?q?=E5=9B=9E=E6=98=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/query-builder/WQueryBuilder.vue | 11 ++++++++++- .../template-project/package.json | 5 +++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/io.sc.platform.core.frontend/src/platform/components/query-builder/WQueryBuilder.vue b/io.sc.platform.core.frontend/src/platform/components/query-builder/WQueryBuilder.vue index 9391b828..920c5730 100644 --- a/io.sc.platform.core.frontend/src/platform/components/query-builder/WQueryBuilder.vue +++ b/io.sc.platform.core.frontend/src/platform/components/query-builder/WQueryBuilder.vue @@ -360,13 +360,22 @@ watch( } else { modelValueObject['operator'] = criteriaMode.and.name; modelValueObject['criteria'] = [{ fieldName: '', operator: criteriaOperator.equals.name, value: undefined }]; + console.info(''); } } else { if (Tools.isEmpty(newVal)) { modelValueObject['operator'] = criteriaMode.and.name; modelValueObject['criteria'] = [{ fieldName: '', operator: criteriaOperator.equals.name, value: undefined }]; } else if (newVal !== oldVal && Tools.isEmpty(modelValueObject['criteria'][0]['fieldName'])) { - sqlToCriteria(modelValue.value); + let flag = true; + try { + CriteriaUtil.sqlToCriteria('select * from t where ' + modelValue.value); + } catch (error) { + flag = false; + } + if (flag) { + sqlToCriteria(modelValue.value); + } } } if (newVal !== oldVal) { diff --git a/io.sc.platform.core.frontend/template-project/package.json b/io.sc.platform.core.frontend/template-project/package.json index e506d971..18f5636b 100644 --- a/io.sc.platform.core.frontend/template-project/package.json +++ b/io.sc.platform.core.frontend/template-project/package.json @@ -1,6 +1,6 @@ { "name": "platform-core", - "version": "8.1.358", + "version": "8.1.373", "description": "前端核心包,用于快速构建前端的脚手架", "private": false, "keywords": [], @@ -105,8 +105,9 @@ "file-saver": "2.0.5", "luckyexcel": "1.0.1", "mockjs": "1.1.0", + "node-sql-parser": "5.3.2", "pinia": "2.2.2", - "platform-core": "8.1.358", + "platform-core": "8.1.373", "quasar": "2.16.11", "svg-path-commander": "2.0.10", "vue": "3.5.4",