From 437c6d72f76072e5ab1b09e78101370805113c4b Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期日, 01 十月 2023 18:46:37 +0800 Subject: [PATCH] Merge branch 'master' into positec --- src/menu/datasource/verifycard/customscript/index.jsx | 113 ++++++++++++++++++++++++++++---------------------------- 1 files changed, 56 insertions(+), 57 deletions(-) diff --git a/src/menu/datasource/verifycard/customscript/index.jsx b/src/menu/datasource/verifycard/customscript/index.jsx index 5babfa1..8f28de4 100644 --- a/src/menu/datasource/verifycard/customscript/index.jsx +++ b/src/menu/datasource/verifycard/customscript/index.jsx @@ -33,74 +33,41 @@ UNSAFE_componentWillMount() { const { searches } = this.props + this.getSearchField(searches) + } + + UNSAFE_componentWillReceiveProps (nextProps) { + if (!is(fromJS(this.props.searches), fromJS(nextProps.searches))) { + this.getSearchField(nextProps.searches) + } + } + + getSearchField = (searches) => { let _usefulFields = [] searches.forEach(item => { - if (!item.field) return - - if (item.type === 'group') { - _usefulFields.push(item.field) - _usefulFields.push(item.datefield) - _usefulFields.push(item.datefield + '1') - } else if (['dateweek', 'datemonth'].includes(item.type)) { - _usefulFields.push(item.field) - _usefulFields.push(item.field + '1') + if (['dateweek', 'datemonth'].includes(item.type)) { + _usefulFields.push(item.key) + _usefulFields.push(item.key + '1') } else if (item.type === 'daterange') { - let _skey = item.field - let _ekey = item.field + '1' + let _skey = item.key + let _ekey = item.key + '1' - if (/,/.test(item.field)) { - _skey = item.field.split(',')[0] - _ekey = item.field.split(',')[1] + if (/,/.test(item.key)) { + _skey = item.key.split(',')[0] + _ekey = item.key.split(',')[1] } _usefulFields.push(_skey) _usefulFields.push(_ekey) - } else if (item.type === 'date' && _usefulFields.includes(item.field)) { - _usefulFields.push(item.field + '1') + } else if (item.type === 'date' && _usefulFields.includes(item.key)) { + _usefulFields.push(item.key + '1') } else { - _usefulFields.push(item.field) + _usefulFields.push(item.key) } }) this.setState({ usefulFields: _usefulFields.join(', ') }) - } - - UNSAFE_componentWillReceiveProps (nextProps) { - if (!is(fromJS(this.props.searches), fromJS(nextProps.searches))) { - - let _usefulFields = [] - nextProps.searches.forEach(item => { - if (!item.field) return - - if (item.type === 'group') { - _usefulFields.push(item.field) - _usefulFields.push(item.datefield) - _usefulFields.push(item.datefield + '1') - } else if (['dateweek', 'datemonth'].includes(item.type)) { - _usefulFields.push(item.field) - _usefulFields.push(item.field + '1') - } else if (item.type === 'daterange') { - let _skey = item.field - let _ekey = item.field + '1' - - if (/,/.test(item.field)) { - _skey = item.field.split(',')[0] - _ekey = item.field.split(',')[1] - } - _usefulFields.push(_skey) - _usefulFields.push(_ekey) - } else if (item.type === 'date' && _usefulFields.includes(item.field)) { - _usefulFields.push(item.field + '1') - } else { - _usefulFields.push(item.field) - } - }) - - this.setState({ - usefulFields: _usefulFields.join(', ') - }) - } } edit = (record) => { @@ -176,6 +143,25 @@ duration: 5 }) return + } else if (/\son\s+[a-z0-9_]+\.[a-z0-9_]+\s*=\s*[a-z0-9_]+\.[a-z0-9_]+/ig.test(values.sql)) { + let list = values.sql.match(/\son\s+[a-z0-9_]+\.[a-z0-9_]+\s*=\s*[a-z0-9_]+\.[a-z0-9_]+/ig) + let errors = [] + list.forEach(str => { + str = str.replace(/^\s/, '') + let strs = str.match(/(\s|=)[a-z0-9_]+\./ig) + if (strs.length === 2 && (strs[0].replace(/\s|\./g, '') === strs[1].replace(/\s|\./g, ''))) { + errors.push(str) + } + }) + + if (errors.length > 0) { + notification.warning({ + top: 92, + message: '涓嶅彲浣跨敤鍚屼竴涓〃瀛楁杩涜鍏宠仈锛�' + errors.join('銆�'), + duration: 5 + }) + return + } } let error = Utils.verifySql(values.sql, 'customscript') @@ -230,6 +216,8 @@ } selectScript = (value, option) => { + const { setting } = this.props + let _sql = this.props.form.getFieldValue('sql') if (_sql === ' ') { _sql = '' @@ -241,8 +229,17 @@ if (value === 'defaultsql') { value = this.props.defaultsql - } else if (value === 'flowsql') { - value = `/* select a.*,w.remark as remark_w,w.statusname as statusname_w,w.status as status_w,w.works_flow_param from (鏁版嵁婧�) a inner join (select * from s_my_works_flow where works_flow_code=@works_flow_code@ and status=0 and deleted=0) w on a.id=w.works_flow_id */` + } else if (value === 'flowstart') { + value = `/* select a.*, w.remark as remark_w, w.statusname as statusname_w,w.status as status_w,w.works_flow_param,w.modifydate as modifydate_w from (select * from ${setting.tableName} where status=0 and deleted=0 $@ and createuserid=@userid@ @$) a + inner join (select * from s_my_works_flow where works_flow_code=@works_flow_code@ and status=0 and deleted=0) w on a.id=w.works_flow_id */` + this.props.addProcess() + } else if (value === 'flowcheck') { + value = `/* select a.*, w.remark as remark_w, w.statusname as statusname_w,w.status as status_w,w.works_flow_param,w.modifydate as modifydate_w + from (select * from ${setting.tableName} where status=0 and deleted=0 ) a + inner join (select * from s_my_works_flow where works_flow_code=@works_flow_code@ and status>0 and status<888 and deleted=0) w + on a.id=w.works_flow_id + $@ inner join (select works_flow_id from s_my_works_flow_role where userid=@userid@ and works_flow_code=@works_flow_code@ and deleted=0 ) r + on r.works_flow_id=w.works_flow_id @$ */` this.props.addProcess() } @@ -338,6 +335,7 @@ <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'绯荤粺鍙橀噺锛岀郴缁熶細瀹氫箟鍙橀噺骞惰祴鍊笺��'}><span style={{color: '#fa8c16'}}>UserName, FullName, RoleID, mk_departmentcode, mk_organization, mk_user_type, mk_nation, mk_province, mk_city, mk_district, mk_address</span></Tooltip>, <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'鎺掑簭銆佸垎椤典互鍙婃悳绱㈡潯浠跺彉閲忥紝璇锋寜鐓xxx@鏍煎紡浣跨敤銆備娇鐢ˊpageSize@鎴朄orderBy@浠h〃鑷畾涔夊垎椤碉紝鎬绘暟璇蜂互mk_total杩斿洖銆�'}>orderBy, pageSize, pageIndex{usefulFields ? ', ' + usefulFields : ''}{type === 'calendar' ? ', mk_year' : ''}</Tooltip> <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'url鍙橀噺锛岃鎸夌収@xxx@鏍煎紡浣跨敤銆�'}>{urlFields ? ', ' : ''}<span style={{color: '#13c2c2'}}>{urlFields}</span></Tooltip> + {window.GLOB.process ? <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'宸ヤ綔娴佸彉閲忥紝璇锋寜鐓xxx@鏍煎紡浣跨敤銆�'}>, <span style={{color: 'purple'}}>works_flow_code</span></Tooltip> : null} </Form.Item> </Col> <Col span={8} style={{whiteSpace: 'nowrap'}}> @@ -365,7 +363,8 @@ onSelect={this.selectScript} > <Select.Option style={{whiteSpace: 'normal'}} key="default" value="defaultsql">榛樿sql</Select.Option> - {window.GLOB.process ? <Select.Option style={{whiteSpace: 'normal'}} key="default" value="flowsql">榛樿sql锛堝伐浣滄祦锛�</Select.Option> : null} + {window.GLOB.process ? <Select.Option style={{whiteSpace: 'normal'}} key="flowstart" value="flowstart">榛樿sql锛堝伐浣滄祦-鍙戣捣锛�</Select.Option> : null} + {window.GLOB.process ? <Select.Option style={{whiteSpace: 'normal'}} key="flowcheck" value="flowcheck">榛樿sql锛堝伐浣滄祦-瀹℃牳锛�</Select.Option> : null} <Select.Option key="debugger" value={`z_debug: select @ErrorCode='E',@retmsg='娴嬭瘯鏂偣' goto aaa`}> 娴嬭瘯鏂偣 </Select.Option> -- Gitblit v1.8.0