From 4889b8de1c676fa1c2298c6d54b433c271ecd0fb Mon Sep 17 00:00:00 2001 From: jt <jt@activesoft.com.cn> Date: 星期二, 09 四月 2024 15:20:48 +0800 Subject: [PATCH] 1.toWhereBase64String方法需要支持Orcale数据库,取消固定小写值查询改进 2.调用runCustomEvent时给了obj_attr数据就要给data_obj_id数据改进 --- pages/modal/3200_view.vue | 118 +++++++++++++++++++++++++--------------------------------- 1 files changed, 51 insertions(+), 67 deletions(-) diff --git a/pages/modal/3200_view.vue b/pages/modal/3200_view.vue index fed0f15..62dda0c 100644 --- a/pages/modal/3200_view.vue +++ b/pages/modal/3200_view.vue @@ -494,6 +494,7 @@ start_transaction: true, class_id: this.param.DataCls.id, event_id: eventid, + data_obj_id:this.styleDef.form.objId, obj_attr, input_param, }); @@ -605,6 +606,7 @@ start_transaction: true, class_id: $this.param.DataCls.id, event_id: eventid, + data_obj_id:$this.styleDef.form.objId, obj_attr, }); } else { @@ -710,7 +712,7 @@ class_name: '', event_id: event.id, event_name: '', - data_obj_id: '', + data_obj_id:"", obj_attr: obj_attr, prj_id: '', ref_cls_id: '', @@ -906,6 +908,7 @@ start_transaction: true, class_id: btn.Cls_ID, event_id: btn.Event.ID, + data_obj_id:this.styleDef.form.objId, obj_attr: obj_attr, }); } catch (ex) { @@ -1045,141 +1048,122 @@ var sql = [] var seps = [' not in', ' in', '<>', '!=', '<=', '>=', '<', '=', '>', ' like'] list.forEach(ls => { - var where = ls.trim().toLowerCase() - if (where.startsWith('(') && where.endsWith(')')) where = where.replace(/^\(/, '').replace( - /\)$/, '') - if (where.includes(' and ')) { + var where = ls.trim() + if (where.startsWith('(') && where.endsWith(')')) where = where.replace(/^\(/, '').replace(/\)$/, '') + if (where.toLowerCase().includes(' and ')) { // 浜岀骇and鏀惧湪绗竴绾ф暟缁勪腑 - where.split(' and ').forEach(li => { + where.split(/ and /i).forEach(li => { var l = li.trim() - if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace( - /\)$/, '') + if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace(/\)$/, '') var sep = '' for (var i = 0; i < seps.length; i++) { - if (l.includes(seps[i])) { + if (l.toLowerCase().includes(seps[i])) { sep = seps[i] break } } if (sep) { - var values = l.split(sep) + var values = l.split(new RegExp(sep, 'i')) var field = values[0]?.trim().replace(/^\[/, '').replace(/\]$/, '') var value = '' var op = sep.trim() - - if ([' in', ' not in'].includes(sep) && values[1].includes('select ') && - values[1].includes(' from ')) { - value = l.replace(field, '').replace(/^\s*(in|not in)\s*/, '').trim() - if (value.startsWith('(') && value.endsWith(')')) value = value - .replace(/^\(/, '').replace(/\)$/, '').trim() - } else { + + if ([' in', ' not in'].includes(sep) && values[1]?.toLowerCase().includes('select ') && values[1]?.toLowerCase().includes(' from ')) { + value = l.replace(field, '').replace(/^\s*(in|not in)\s*/i, '').trim() + if (value.startsWith('(') && value.endsWith(')')) value = value.replace(/^\(/, '').replace(/\)$/, '').trim() + } + else { value = values[1]?.trim().replace(/^\'/, '').replace(/\'$/, '') - + if (['in', 'not in'].includes(op)) { value = value.replace(/^\(/, '').replace(/\)$/, '') - value = value.split(',').map(v => v.trim().replace(/^\'/, '') - .replace(/\'$/, '')) + value = value.split(',').map(v => v.trim().replace(/^\'/, '').replace(/\'$/, '')) } } - sql.push([{ - field, - value, - op - }]) + sql.push([{ field, value, op }]) } }) - } else if (where.includes(' or ')) { + } + else if (where.toLowerCase().includes(' or ')) { // 浜岀骇or鏀惧湪绗簩绾у悓涓�粍鏁扮粍涓� var s = [] - where.split(' or ').forEach(li => { + where.split(/ or /i).forEach(li => { var l = li.trim() - if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace( - /\)$/, '') + if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace(/\)$/, '') var sep = '' for (var i = 0; i < seps.length; i++) { - if (l.includes(seps[i])) { + if (l.toLowerCase().includes(seps[i])) { sep = seps[i] break } } if (sep) { - var values = l.split(sep) + var values = l.split(new RegExp(sep, 'i')) var field = values[0]?.trim().replace(/^\[/, '').replace(/\]$/, '') var value = '' var op = sep.trim() - - if ([' in', ' not in'].includes(sep) && values[1].includes('select ') && - values[1].includes(' from ')) { - value = l.replace(field, '').replace(/^\s*(in|not in)\s*/, '').trim() - if (value.startsWith('(') && value.endsWith(')')) value = value - .replace(/^\(/, '').replace(/\)$/, '').trim() - } else { + + if ([' in', ' not in'].includes(sep) && values[1]?.toLowerCase().includes('select ') && values[1]?.toLowerCase().includes(' from ')) { + value = l.replace(field, '').replace(/^\s*(in|not in)\s*/i, '').trim() + if (value.startsWith('(') && value.endsWith(')')) value = value.replace(/^\(/, '').replace(/\)$/, '').trim() + } + else { value = values[1]?.trim().replace(/^\'/, '').replace(/\'$/, '') - + if (['in', 'not in'].includes(op)) { value = value.replace(/^\(/, '').replace(/\)$/, '') - value = value.split(',').map(v => v.trim().replace(/^\'/, '') - .replace(/\'$/, '')) + value = value.split(',').map(v => v.trim().replace(/^\'/, '').replace(/\'$/, '')) } } - sql.push([{ - field, - value, - op - }]) + sql.push([{ field, value, op }]) } }) sql.push(s) - } else { + } + else { var li = where // 鍗曚竴鏌ヨ鏉′欢鐩存帴鏀惧湪绗竴绾ф暟缁勪腑 var l = li.trim() if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace(/\)$/, '') var sep = '' for (var i = 0; i < seps.length; i++) { - if (l.includes(seps[i])) { + if (l.toLowerCase().includes(seps[i])) { sep = seps[i] break } } if (sep) { - var values = l.split(sep) + var values = l.split(new RegExp(sep,'i')) var field = values[0]?.trim().replace(/^\[/, '').replace(/\]$/, '') var value = '' var op = sep.trim() - - if ([' in', ' not in'].includes(sep) && values[1].includes('select ') && values[1] - .includes(' from ')) { - value = l.replace(field, '').replace(/^\s*(in|not in)\s*/, '').trim() - if (value.startsWith('(') && value.endsWith(')')) value = value.replace(/^\(/, '') - .replace(/\)$/, '').trim() - } else { + + if ([' in', ' not in'].includes(sep) && values[1]?.toLowerCase().includes('select ') && values[1]?.toLowerCase().includes(' from ')) { + value = l.replace(field, '').replace(/^\s*(in|not in)\s*/i, '').trim() + if (value.startsWith('(') && value.endsWith(')')) value = value.replace(/^\(/, '').replace(/\)$/, '').trim() + } + else { value = values[1]?.trim().replace(/^\'/, '').replace(/\'$/, '') - + if (['in', 'not in'].includes(op)) { value = value.replace(/^\(/, '').replace(/\)$/, '') - value = value.split(',').map(v => v.trim().replace(/^\'/, '').replace(/\'$/, - '')) + value = value.split(',').map(v => v.trim().replace(/^\'/, '').replace(/\'$/, '')) } } - sql.push([{ - field, - value, - op - }]) + sql.push([{ field, value, op }]) } } }) - + if (sql.length > 0) return Base64.encode(JSON.stringify({ model: 1, condition: sql })) else - return '' + return '' }, - + cancel(e) { //鍙栨秷 var eventChannel = this.$scope.eventChannel; // const eventChannel = this.getOpenerEventChannel(); -- Gitblit v1.9.1