From 92a9b175fda139d6608c53af62e4d8b7b1c926cf Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 09 四月 2021 18:08:51 +0800 Subject: [PATCH] 2021-04-09 --- src/menu/datasource/verifycard/settingform/index.jsx | 166 ++++++++++++++++++++++++++---------------------------- 1 files changed, 80 insertions(+), 86 deletions(-) diff --git a/src/menu/datasource/verifycard/settingform/index.jsx b/src/menu/datasource/verifycard/settingform/index.jsx index de9225c..92b9ba9 100644 --- a/src/menu/datasource/verifycard/settingform/index.jsx +++ b/src/menu/datasource/verifycard/settingform/index.jsx @@ -4,6 +4,7 @@ import { formRule } from '@/utils/option.js' import Utils from '@/utils/utils.js' +import MenuUtils from '@/utils/utils-custom.js' import CodeMirror from '@/templates/zshare/codemirror' import './index.scss' @@ -13,21 +14,24 @@ menu: PropTypes.any, // 鑿滃崟閰嶇疆淇℃伅 config: PropTypes.object, // 缁勪欢閰嶇疆 setting: PropTypes.object, // 鏁版嵁婧愰厤缃� - modules: PropTypes.array, // 鍒楄缃� + modules: PropTypes.array, // 鍙粦瀹氱殑涓婄骇缁勪欢 columns: PropTypes.array, // 鍒楄缃� scripts: PropTypes.array, // 鑷畾涔夎剼鏈� } state = { interType: this.props.setting.interType || 'system', + laypage: this.props.setting.laypage || 'true', modules: [], - useMSearch: this.props.setting.useMSearch || 'false' + usefulFields: [], + useMSearch: this.props.setting.useMSearch || 'false', + supModule: this.props.setting.supModule || [] } UNSAFE_componentWillMount () { const { menu, config } = this.props - let modules = this.getModules(menu.components, config.uuid) + let modules = MenuUtils.getSupModules(menu.components, config.uuid) if (!modules) { modules = [] } @@ -37,58 +41,18 @@ label: '鏃�' }) - this.setState({modules}) - } - - getModules = (components, selfId) => { - let modules = components.map(item => { - if (item.uuid === selfId) { - return { - children: null - } - } else if (item.switchable) { - return { - value: item.uuid, - label: item.name - } - } else if (item.type === 'tabs') { - let _item = { - value: item.uuid, - label: item.name, - children: item.subtabs.map(f_tab => { - let subItem = { - value: f_tab.uuid, - label: f_tab.label, - children: this.getModules(f_tab.components, selfId) - } - - if (!subItem.children || subItem.children.length === 0) { - return {children: null} - } - return subItem - }) - } - - _item.children = _item.children.filter(t => t.children !== null) - - if (_item.children.length === 0) { - return {children: null} - } - - return _item - } else { - return { - children: null - } + let usefulFields = sessionStorage.getItem('permFuncField') + if (usefulFields) { + try { + usefulFields = JSON.parse(usefulFields) + } catch { + usefulFields = [] } - }) - - modules = modules.filter(mod => mod.children !== null) - - if (modules.length === 0) { - return null + } else { + usefulFields = [] } - return modules + + this.setState({modules, usefulFields}) } handleConfirm = () => { @@ -171,10 +135,14 @@ } } + changeSupModule = (val) => { + this.setState({supModule: val}) + } + render() { - const { setting, menu, columns, config } = this.props + const { setting, columns, config } = this.props const { getFieldDecorator } = this.props.form - const { interType, modules, useMSearch } = this.state + const { interType, modules, useMSearch, laypage, supModule, usefulFields } = this.state const formItemLayout = { labelCol: { @@ -190,9 +158,9 @@ let tooltip = null let rules = [] - if (menu.permFuncField && menu.permFuncField.length > 0) { - tooltip = '寮�澶村彲鐢ㄥ瓧绗︼細' + menu.permFuncField.join(', ') - let str = '^(' + menu.permFuncField.join('|') + ')' + if (usefulFields.length > 0) { + tooltip = '寮�澶村彲鐢ㄥ瓧绗︼細' + usefulFields.join(', ') + let str = '^(' + usefulFields.join('|') + ')' let _patten = new RegExp(str + formRule.func.innerPattern + '$', 'g') rules.push({ @@ -205,7 +173,6 @@ <div className="model-datasource-setting-form-box"> <Form {...formItemLayout} className="model-setting-form"> <Row gutter={24}> - <Col span={8}> <Form.Item label="琛ㄥ悕"> {getFieldDecorator('tableName', { @@ -215,6 +182,10 @@ required: true, message: this.props.dict['form.required.input'] + '琛ㄥ悕!' }, + { + max: 50, + message: '琛ㄥ悕鏈�闀夸负50涓瓧绗�!' + } ] })(<Input placeholder={''} autoComplete="off" />)} </Form.Item> @@ -237,6 +208,28 @@ </Radio.Group>)} </Form.Item> </Col> + {interType === 'system' ? <Col span={8}> + <Form.Item label={ + <Tooltip placement="topLeft" title={'鑷畾涔夎剼鏈腑鐨勫彉閲忥紙闄ゆ姤閿欏強鍙敤瀛楁澶栵級锛岄渶浠ユ鏍囪瘑寮�澶淬��'}> + <Icon type="question-circle" /> + 鍙橀噺鏍囪瘑 + </Tooltip> + }> + {getFieldDecorator('varMark', { + initialValue: setting.varMark || '', + rules: [ + { + pattern: /^[a-zA-Z_]*$/ig, + message: '璇蜂娇鐢ㄥ瓧姣嶆垨_' + }, + { + max: 3, + message: '鏈�澶氫笁涓瓧绗︺��' + } + ] + })(<Input placeholder={''} autoComplete="off" />)} + </Form.Item> + </Col> : null} {interType === 'inner' ? <Col span={8}> <Form.Item label={tooltip ? <Tooltip placement="topLeft" title={tooltip}> @@ -326,7 +319,7 @@ {config.format === 'array' ? <Col span={8}> <Form.Item label="榛樿鎺掑簭"> {getFieldDecorator('order', { - initialValue: setting.order || '', + initialValue: setting.order || 'ID desc', rules: [ { required: true, @@ -351,52 +344,35 @@ <Form.Item label={ <Tooltip placement="topLeft" title={'璇ョ粍浠跺鏋滃彈鍏朵粬缁勪欢鎺у埗锛岃閫夐」鐩稿簲鐨勭粍浠讹紝娌℃湁鏃堕�夆�滄棤鈥濄��'}> <Icon type="question-circle" /> - 涓婄骇妯″潡 + 涓婄骇缁勪欢 </Tooltip> }> {getFieldDecorator('supModule', { - initialValue: setting.supModule || [], + initialValue: supModule, rules: [ { required: true, - message: this.props.dict['form.required.select'] + '涓婄骇妯″潡!' + message: this.props.dict['form.required.select'] + '涓婄骇缁勪欢!' } ] })( - <Cascader options={modules} expandTrigger="hover" placeholder="" /> + <Cascader options={modules} onChange={this.changeSupModule} expandTrigger="hover" placeholder="" /> )} </Form.Item> </Col> - {!config.pageable ? <Col span={8}> - <Form.Item label={ - <Tooltip placement="topLeft" title={'鍒濆鍖栧姞杞芥椂锛屾槸鍚︿笌鍏朵粬缁勪欢涓�鍚屽姞杞芥暟鎹紝娉細浠呭湪浣跨敤绯荤粺鍑芥暟锛屼笖鍒濆鍖栧姞杞芥暟鎹椂鏈夋晥锛屽垎椤佃姹傛椂鏃犳晥銆�'}> - <Icon type="question-circle" /> - 鍚屾鏌ヨ - </Tooltip> - }> - {getFieldDecorator('sync', { - initialValue: setting.sync || 'true' - })( - <Radio.Group> - <Radio value="true">鏄�</Radio> - <Radio value="false">鍚�</Radio> - </Radio.Group> - )} - </Form.Item> - </Col> : null} {config.pageable ? <Col span={8}> <Form.Item label="鍒嗛〉"> {getFieldDecorator('laypage', { - initialValue: setting.laypage || 'false' + initialValue: setting.laypage || 'true' })( - <Radio.Group> + <Radio.Group onChange={(e) => this.setState({laypage: e.target.value})}> <Radio value="true">鏄�</Radio> <Radio value="false">鍚�</Radio> </Radio.Group> )} </Form.Item> </Col> : null} - {config.pageable ? <Col span={8}> + {config.pageable && laypage !== 'false' ? <Col span={8}> <Form.Item label={ <Tooltip placement="topLeft" title="閫夋嫨鍒嗛〉鏃舵湁鏁堛��"> <Icon type="question-circle" /> @@ -414,15 +390,33 @@ })(<InputNumber min={1} max={500} precision={0} />)} </Form.Item> </Col> : null} + {/* 1銆佷笉鍒嗛〉涓斾笉瀛樺湪涓婄骇妯″潡 */} + {(!config.pageable || (config.pageable && laypage === 'false')) && (!supModule || supModule.length === 0 || supModule[0] === 'empty') ? <Col span={8}> + <Form.Item label={ + <Tooltip placement="topLeft" title={'鍒濆鍖栧姞杞芥椂锛屾槸鍚︿笌鍏朵粬缁勪欢涓�鍚屽姞杞芥暟鎹紝娉細浠呭湪浣跨敤绯荤粺鍑芥暟锛屼笖鍒濆鍖栧姞杞芥暟鎹椂鏈夋晥锛屽垎椤佃姹傛椂鏃犳晥銆�'}> + <Icon type="question-circle" /> + 鍚屾鏌ヨ + </Tooltip> + }> + {getFieldDecorator('sync', { + initialValue: setting.sync || 'true' + })( + <Radio.Group> + <Radio value="true">鏄�</Radio> + <Radio value="false">鍚�</Radio> + </Radio.Group> + )} + </Form.Item> + </Col> : null} <Col span={8}> <Form.Item label={ <Tooltip placement="topLeft" title={'浼樺厛浣跨敤鍚岀骇鐨勬悳绱㈡潯浠剁粍浠讹紝鍚岀骇鎼滅储涓嶅瓨鍦ㄦ椂锛屼緷娆″悜涓婇�夊彇锛屼笌褰撳墠缁勪欢鐨勬悳绱㈡潯浠朵竴鍚岀敤浣滄暟鎹繃婊わ紙褰撳墠缁勪欢鐨勬悳绱㈡潯浠朵紭鍏堬級銆�'}> <Icon type="question-circle" /> - 澶栧眰鎼滅储 + 澶栭儴鎼滅储 </Tooltip> }> {getFieldDecorator('useMSearch', { - initialValue: setting.useMSearch || 'false' + initialValue: setting.useMSearch || 'true' })( <Radio.Group onChange={(e) => this.setState({useMSearch: e.target.value})}> <Radio value="true">浣跨敤</Radio> -- Gitblit v1.8.0