| | |
| | | import PropTypes from 'prop-types' |
| | | import { is, fromJS } from 'immutable' |
| | | import { Modal, notification } from 'antd' |
| | | import moment from 'moment' |
| | | |
| | | import MKEmitter from '@/utils/events.js' |
| | | import Api from '@/api' |
| | | import Utils from '@/utils/utils.js' |
| | | import { getSearchForm } from '@/templates/zshare/formconfig' |
| | | |
| | | import SearchForm from '@/templates/sharecomponent/searchcomponent/searchform' |
| | |
| | | MKEmitter.removeListener('addSearch', this.addSearch) |
| | | } |
| | | |
| | | addSearch = (cardId, element) => { |
| | | addSearch = (cardId, element, type) => { |
| | | if (cardId !== this.props.config.uuid) return |
| | | |
| | | const { searchlist } = this.state |
| | | |
| | | this.setState({searchlist: [...searchlist, element]}) |
| | | if (type === 'replace') { |
| | | delete element.focus |
| | | this.setState({ |
| | | searchlist: searchlist.map(cell => { |
| | | if (cell.field && cell.field.toLowerCase() === element.field.toLowerCase()) { |
| | | return element |
| | | } |
| | | return cell |
| | | }), |
| | | }) |
| | | } else { |
| | | this.setState({searchlist: [...searchlist, element]}) |
| | | } |
| | | this.handleSearch(element) |
| | | } |
| | | |
| | |
| | | * @description 搜索条件编辑,获取搜索条件表单信息 |
| | | */ |
| | | handleSearch = (card) => { |
| | | const { config } = this.props |
| | | const { searchlist } = this.state |
| | | let linkableFields = [] |
| | | |
| | |
| | | }) |
| | | }) |
| | | |
| | | let columns = null |
| | | if (config.columns && config.columns.length) { |
| | | columns = config.columns.map(item => { |
| | | return {key: item.uuid, text: item.field, value: item.field, label: item.label} |
| | | }) |
| | | } |
| | | |
| | | this.setState({ |
| | | visible: true, |
| | | card: card, |
| | | formlist: getSearchForm(card, linkableFields, [], 'header') |
| | | formlist: getSearchForm(card, linkableFields, columns, 'header') |
| | | }) |
| | | } |
| | | |
| | |
| | | return |
| | | } |
| | | |
| | | if (['select', 'multiselect', 'link', 'checkcard'].includes(res.type) && res.resourceType === '1' && /\s/.test(res.dataSource)) { |
| | | if (['select', 'multiselect', 'link', 'checkcard'].includes(res.type) && res.resourceType === '1' && res.database !== 'sso' && /\s/.test(res.dataSource)) { |
| | | this.setState({ |
| | | sqlVerifing: true |
| | | }) |
| | | |
| | | let param = { |
| | | func: 's_debug_sql', |
| | | exec_type: 'y', |
| | | LText: res.dataSource |
| | | } |
| | | |
| | | param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') |
| | | param.LText = param.LText.replace(/@\$|\$@/ig, '').replace(/@(BID|ID|LoginUID|SessionUid|UserID|Appkey|time_id)@/ig, `'${param.timestamp}'`) |
| | | param.LText = param.LText.replace(/\n/g, ' ') |
| | | let sql = `declare @mk_departmentcode nvarchar(512),@mk_organization nvarchar(512),@mk_user_type nvarchar(20) |
| | | ${res.dataSource}` |
| | | sql = sql.replace(/@\$|\$@/ig, '') |
| | | |
| | | param.LText = Utils.formatOptions(param.LText) |
| | | param.secretkey = Utils.encrypt('', param.timestamp) |
| | | |
| | | if (window.GLOB.mainSystemApi && res.database === 'sso') { |
| | | param.rduri = window.GLOB.mainSystemApi |
| | | } |
| | | |
| | | Api.genericInterface(param).then(result => { |
| | | if (result.status) { |
| | | Api.sDebug(sql).then(result => { |
| | | if (result.status || result.ErrCode === '-2') { |
| | | this.setState({ |
| | | sqlVerifing: false, |
| | | searchlist: _searchlist, |
| | |
| | | */ |
| | | 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() {} |
| | |
| | | <Modal |
| | | title="搜索条件-编辑" |
| | | visible={visible} |
| | | width={850} |
| | | width={950} |
| | | maskClosable={false} |
| | | onOk={this.handleSubmit} |
| | | confirmLoading={sqlVerifing} |