From 95afd40fc2741ac0ce59c2091f6cfce1f98877d4 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 24 六月 2021 09:15:45 +0800 Subject: [PATCH] 2021-06-24 --- src/templates/sharecomponent/searchcomponent/index.jsx | 74 ++++++++++++++++++------------------ 1 files changed, 37 insertions(+), 37 deletions(-) diff --git a/src/templates/sharecomponent/searchcomponent/index.jsx b/src/templates/sharecomponent/searchcomponent/index.jsx index aeb9569..2352d66 100644 --- a/src/templates/sharecomponent/searchcomponent/index.jsx +++ b/src/templates/sharecomponent/searchcomponent/index.jsx @@ -1,7 +1,7 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' import { is, fromJS } from 'immutable' -import { Icon, Tooltip, Modal, notification } from 'antd' +import { Icon, Tooltip, Modal, notification, Switch } from 'antd' import moment from 'moment' import Api from '@/api' @@ -18,19 +18,16 @@ class SearchComponent extends Component { static propTpyes = { - menu: PropTypes.object, // 褰撳墠鑿滃崟淇℃伅 config: PropTypes.object, // 閰嶇疆淇℃伅 - pasteContent: PropTypes.object, // 绮樿创閰嶇疆淇℃伅 - optionLibs: PropTypes.any, // 涓嬫媺瀛楀吀 - sysRoles: PropTypes.array, // 瑙掕壊鍒楄〃锛岄粦鍚嶅崟 updatesearch: PropTypes.func // 鏇存柊 } state = { - dict: localStorage.getItem('lang') !== 'en-US' ? zhCN : enUS, + dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS, searchlist: null, // 鎼滅储鏉′欢闆� sqlVerifing: false, // sql楠岃瘉涓� visible: false, // 妯℃�佹鎺у埗 + showField: false, card: null // 缂栬緫涓厓绱� } @@ -49,10 +46,12 @@ UNSAFE_componentWillReceiveProps (nextProps) { const { searchlist } = this.state - if (nextProps.pasteContent && nextProps.pasteContent.copyType === 'search') { - this.setState({searchlist: [...searchlist, nextProps.pasteContent]}) - this.handleSearch(nextProps.pasteContent) - } else if (!is(fromJS(nextProps.config.search), fromJS(this.props.config.search)) && !is(fromJS(nextProps.config.search), fromJS(searchlist))) { + if (!is(fromJS(nextProps.config.search), fromJS(this.props.config.search)) && !is(fromJS(nextProps.config.search), fromJS(searchlist))) { + let len = nextProps.config.search.length + let item = nextProps.config.search[len - 1] + if (item && item.focus) { + this.handleSearch(item) + } this.setState({searchlist: fromJS(nextProps.config.search).toJS()}) } } @@ -92,7 +91,7 @@ this.setState({ visible: true, card: card, - formlist: getSearchForm(card, this.props.sysRoles, linkableFields) + formlist: getSearchForm(card, linkableFields) }) } @@ -100,18 +99,18 @@ * @description 鍙栨秷淇濆瓨锛屽鏋滃厓绱犱负鏂版坊鍏冪礌锛屽垯浠庡簭鍒椾腑鍒犻櫎 */ editModalCancel = () => { - const { card } = this.state + const { config } = this.props + const { card, searchlist } = this.state if (card.focus) { - let searchlist = fromJS(this.state.searchlist).toJS() - - searchlist = searchlist.filter(item => item.uuid !== card.uuid) + let _searchlist = searchlist.filter(item => item.uuid !== card.uuid) this.setState({ card: null, - searchlist: searchlist, + searchlist: _searchlist, visible: false }) + this.props.updatesearch({...config, search: _searchlist}) } else { this.setState({ card: null, @@ -128,7 +127,7 @@ * 4銆佷笅鎷夎彍鍗曟暟鎹簮璇硶楠岃瘉 */ handleSubmit = () => { - const { optionLibs, menu, config } = this.props + const { config } = this.props let _searchlist = fromJS(this.state.searchlist).toJS() this.searchFormRef.handleConfirm().then(res => { @@ -176,36 +175,27 @@ if (fieldrepet) { notification.warning({ top: 92, - message: this.state.dict['model.field.exist'] + ' !', + message: '瀛楁宸插瓨鍦�!', duration: 5 }) return } else if (labelrepet) { notification.warning({ top: 92, - message: this.state.dict['model.name.exist'] + ' !', + message: '鍚嶇О宸插瓨鍦�!', duration: 5 }) return } - if ( res.options && res.options.length > 0 ) { // 涓嬫媺鑿滃崟鍙�夐泦鍚� - optionLibs.set(menu.MenuID + res.uuid, { - uuid: menu.MenuID + res.uuid, - label: res.label, - parname: menu.MenuName, - type: 'search', - options: res.options - }) - } - - if ((res.type === 'select' || res.type === 'multiselect' || res.type === 'link') && res.resourceType === '1' && /\s/.test(res.dataSource)) { + if (['checkcard', 'select', 'multiselect', 'link'].includes() && res.resourceType === '1' && /\s/.test(res.dataSource)) { this.setState({ sqlVerifing: true }) let param = { func: 's_debug_sql', + exec_type: 'y', LText: res.dataSource } @@ -213,7 +203,7 @@ param.LText = Utils.formatOptions(param.LText) param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') - param.secretkey = Utils.encrypt(param.LText, param.timestamp) + param.secretkey = Utils.encrypt('', param.timestamp) if (window.GLOB.mainSystemApi && res.database === 'sso') { param.rduri = window.GLOB.mainSystemApi @@ -226,7 +216,7 @@ searchlist: _searchlist, visible: false }, ()=> { - this.props.updatesearch({...config, search: _searchlist}, optionLibs) + this.props.updatesearch({...config, search: _searchlist}) }) } else { this.setState({sqlVerifing: false}) @@ -241,7 +231,7 @@ searchlist: _searchlist, visible: false }, ()=> { - this.props.updatesearch({...config, search: _searchlist}, optionLibs) + this.props.updatesearch({...config, search: _searchlist}) }) } }) @@ -272,6 +262,15 @@ }) } + onFieldChange = () => { + const { showField } = this.state + + this.setState({ + showField: !showField + }) + } + + /** * @description 缁勪欢閿�姣侊紝娓呴櫎state鏇存柊 */ @@ -286,15 +285,17 @@ } render() { - const { dict, searchlist, visible, sqlVerifing, card } = this.state + const { dict, searchlist, visible, sqlVerifing, card, showField } = this.state return ( - <div className="model-table-search-list"> + <div className={'model-table-search-list length' + searchlist.length}> <Tooltip placement="bottomLeft" overlayClassName="middle" title={dict['model.tooltip.search.guide']}> <Icon type="question-circle" /> </Tooltip> + <Switch checkedChildren={dict['model.switch.open']} unCheckedChildren={dict['model.switch.close']} defaultChecked={showField} onChange={this.onFieldChange} /> <DragElement list={searchlist} + showField={showField} handleList={this.handleList} handleMenu={this.handleSearch} deleteMenu={this.deleteElement} @@ -302,7 +303,7 @@ /> {/* 缂栬緫鎼滅储鏉′欢 */} <Modal - title={dict['model.searchCriteria'] + '-' + (card && card.copyType === 'search' ? dict['model.copy'] : dict['model.edit'])} + title={card && card.copyType === 'search' ? '鎼滅储鏉′欢-澶嶅埗' : '鎼滅储鏉′欢-缂栬緫'} visible={visible} width={850} maskClosable={false} @@ -316,7 +317,6 @@ card={this.state.card} formlist={this.state.formlist} inputSubmit={this.handleSubmit} - optionLibs={this.props.optionLibs} wrappedComponentRef={(inst) => this.searchFormRef = inst} /> </Modal> -- Gitblit v1.8.0