From 0173a5b8b4cb7d537f5e0d71c414ed1e6e92a725 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期日, 27 四月 2025 11:59:56 +0800 Subject: [PATCH] 2025-04-27 --- src/templates/sharecomponent/searchcomponent/index.jsx | 46 ++++++++++++++++++++++++++++++---------------- 1 files changed, 30 insertions(+), 16 deletions(-) diff --git a/src/templates/sharecomponent/searchcomponent/index.jsx b/src/templates/sharecomponent/searchcomponent/index.jsx index 9d4b8f3..5e6ae12 100644 --- a/src/templates/sharecomponent/searchcomponent/index.jsx +++ b/src/templates/sharecomponent/searchcomponent/index.jsx @@ -61,6 +61,18 @@ }, () => { this.handleSearch(item) }) + } else if (type === 'replace') { + delete item.focus + this.setState({ + searchlist: searchlist.map(cell => { + if (cell.field && cell.field.toLowerCase() === item.field.toLowerCase()) { + return item + } + return cell + }), + }, () => { + this.handleSearch(item) + }) } else if (type === 'multil') { let list = [...searchlist, ...item] list = list.filter(item => !item.origin) // 鍘婚櫎绯荤粺椤� @@ -93,6 +105,7 @@ * @description 鎼滅储鏉′欢缂栬緫锛岃幏鍙栨悳绱㈡潯浠惰〃鍗曚俊鎭� */ handleSearch = (card) => { + const { config } = this.props const { searchlist } = this.state let linkableFields = [] @@ -108,8 +121,8 @@ }) let columns = null - if (this.props.config.type === 'table') { - columns = this.props.config.columns.map(item => { + if (config.columns && config.columns.length) { + columns = config.columns.map(item => { return {key: item.uuid, text: item.field, value: item.field, label: item.label} }) } @@ -204,20 +217,16 @@ return } - if (['checkcard', 'select', 'multiselect', 'link'].includes(res.type) && res.resourceType === '1' && /\s/.test(res.dataSource)) { + if (['checkcard', 'select', 'multiselect', 'link'].includes(res.type) && res.resourceType === '1' && res.database !== 'sso' && /\s/.test(res.dataSource)) { this.setState({ sqlVerifing: true }) - let sql = res.dataSource + let sql = `declare @mk_departmentcode nvarchar(512),@mk_organization nvarchar(512),@mk_user_type nvarchar(20) + ${res.dataSource}` sql = sql.replace(/@\$|\$@/ig, '') - - let rduri = '' - if (window.GLOB.mainSystemApi && res.database === 'sso') { - rduri = window.GLOB.mainSystemApi - } - Api.sDebug(sql, rduri).then(result => { + Api.sDebug(sql).then(result => { if (result.status || result.ErrCode === '-2') { this.setState({ sqlVerifing: false, @@ -250,19 +259,19 @@ */ deleteElement = (card) => { const { config } = this.props - let _this = this + let that = this confirm({ content: `纭畾鍒犻櫎 - ${card.label} 锛焋, onOk() { - let _searchlist = fromJS(_this.state.searchlist).toJS() + let _searchlist = fromJS(that.state.searchlist).toJS() _searchlist = _searchlist.filter(item => item.uuid !== card.uuid) - _this.setState({ + that.setState({ searchlist: _searchlist }, () => { - _this.props.updatesearch({...config, search: _searchlist}) + that.props.updatesearch({...config, search: _searchlist}) }) }, onCancel() {} @@ -328,8 +337,13 @@ const { config } = this.props const { searchlist, visible, sqlVerifing, card, showField, setVisible } = this.state + let size = '' + if (config.wrap && config.wrap.searchSize) { + size = ' mk-order-' + config.wrap.searchSize + } + return ( - <div className={'model-table-search-list length' + searchlist.length + (showField ? ' show-field' : '')}> + <div className={'model-table-search-list length' + searchlist.length + (showField ? ' show-field' : '') + size}> <FieldsComponent config={{uuid: config.uuid, search: searchlist}} type="search" /> <Switch className="switch-field-show" checkedChildren="寮�" unCheckedChildren="鍏�" defaultChecked={showField} onChange={this.onFieldChange} /> <DragElement @@ -345,7 +359,7 @@ title={card && card.copyType === 'search' ? '鎼滅储鏉′欢-澶嶅埗' : '鎼滅储鏉′欢-缂栬緫'} wrapClassName="mk-scroll-modal" visible={visible} - width={850} + width={950} maskClosable={false} onOk={this.handleSubmit} confirmLoading={sqlVerifing} -- Gitblit v1.8.0