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/pc/components/login/wrapsetting/settingform/index.jsx | 178 +++++++++++++++++++++------------------------------------- 1 files changed, 65 insertions(+), 113 deletions(-) diff --git a/src/pc/components/login/wrapsetting/settingform/index.jsx b/src/pc/components/login/wrapsetting/settingform/index.jsx index 08b58e2..cd0541b 100644 --- a/src/pc/components/login/wrapsetting/settingform/index.jsx +++ b/src/pc/components/login/wrapsetting/settingform/index.jsx @@ -1,23 +1,26 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' -import { Form, Row, Col, Input, Radio, Tooltip, Icon, InputNumber, Select } from 'antd' +import { Form, Row, Col, Input, Tooltip, Icon, InputNumber, Select, Checkbox, notification } from 'antd' +import StyleInput from '@/menu/stylecontroller/styleInput' import './index.scss' class SettingForm extends Component { static propTpyes = { dict: PropTypes.object, // 瀛楀吀椤� - config: PropTypes.object, // 鍗$墖琛屼俊鎭� wrap: PropTypes.object, // 鏁版嵁婧愰厤缃� inputSubmit: PropTypes.func // 鍥炶溅浜嬩欢 } state = { - roleList: [] + roleList: [], + msgTemps: [] } UNSAFE_componentWillMount () { let roleList = sessionStorage.getItem('sysRoles') + let msgTemps = sessionStorage.getItem('msgTemplate') + if (roleList) { try { roleList = JSON.parse(roleList) @@ -28,7 +31,17 @@ roleList = [] } - this.setState({roleList}) + if (msgTemps) { + try { + msgTemps = JSON.parse(msgTemps) + } catch { + msgTemps = [] + } + } else { + msgTemps = [] + } + + this.setState({roleList, msgTemps}) } handleConfirm = () => { @@ -36,6 +49,14 @@ return new Promise((resolve, reject) => { this.props.form.validateFieldsAndScroll((err, values) => { if (!err) { + if (values.loginWays.includes('sms_vcode') && !values.tempId) { + notification.warning({ + top: 92, + message: '浣跨敤鐭俊楠岃瘉鐮佺櫥褰曟椂锛岄渶瑕侀�夋嫨鐭俊妯℃澘锛�', + duration: 5 + }) + return + } resolve(values) } else { reject(err) @@ -53,9 +74,9 @@ } render() { - const { wrap, config } = this.props + const { wrap } = this.props const { getFieldDecorator } = this.props.form - const { roleList } = this.state + const { roleList, msgTemps } = this.state const formItemLayout = { labelCol: { @@ -73,13 +94,6 @@ <Form {...formItemLayout}> <Row gutter={24}> <Col span={12}> - <Form.Item label="鏍囬"> - {getFieldDecorator('title', { - initialValue: wrap.title || '' - })(<Input placeholder={''} autoComplete="off" onPressEnter={this.handleSubmit} />)} - </Form.Item> - </Col> - <Col span={12}> <Form.Item label={ <Tooltip placement="topLeft" title="鐢ㄤ簬缁勪欢闂寸殑鍖哄垎銆�"> <Icon type="question-circle" /> @@ -95,6 +109,26 @@ } ] })(<Input placeholder={''} autoComplete="off" onPressEnter={this.handleSubmit} />)} + </Form.Item> + </Col> + <Col span={12}> + <Form.Item label="鐧诲綍鏂瑰紡"> + {getFieldDecorator('loginWays', { + initialValue: wrap.loginWays || [], + rules: [ + { + required: true, + message: this.props.dict['form.required.select'] + '鐧诲綍鏂瑰紡!' + } + ] + })( + <Checkbox.Group + options={[ + { label: '璐﹀彿瀵嗙爜', value: 'uname_pwd' }, + { label: '鐭俊楠岃瘉鐮�', value: 'sms_vcode' }, + ]} + /> + )} </Form.Item> </Col> <Col span={12}> @@ -115,117 +149,35 @@ })(<InputNumber min={1} max={24} precision={0} onPressEnter={this.handleSubmit} />)} </Form.Item> </Col> - {config.subtype === 'propcard' ? <Col span={12}> + <Col span={12}> <Form.Item label={ - <Tooltip placement="topLeft" title="閫夋嫨闈欐�佸�硷紝鏃犻渶閰嶇疆鏁版嵁婧愩��"> - <Icon type="question-circle" /> - 鏁版嵁鏉ユ簮 - </Tooltip> - }> - {getFieldDecorator('datatype', { - initialValue: wrap.datatype || 'dynamic' - })( - <Radio.Group> - <Radio value="dynamic">鍔ㄦ��</Radio> - <Radio value="static">闈欐��</Radio> - </Radio.Group> - )} - </Form.Item> - </Col> : null} - {config.subtype === 'datacard' ? <Col span={12}> - <Form.Item label={ - <Tooltip placement="topLeft" title="鏁版嵁婧愪腑閫夋嫨鍒嗛〉鏃舵湁鏁堛��"> - <Icon type="question-circle" /> - 鍒嗛〉椋庢牸 - </Tooltip> - }> - {getFieldDecorator('pagestyle', { - initialValue: wrap.pagestyle || 'page' - })( - <Radio.Group> - <Radio value="page">椤电爜</Radio> - <Radio value="switch">宸﹀彸鍒囨崲</Radio> - </Radio.Group> - )} - </Form.Item> - </Col> : null} - {config.subtype !== 'tablecard' ? <Col span={12}> - <Form.Item label="鍗$墖灞炴��"> - {getFieldDecorator('cardType', { - initialValue: wrap.cardType || '' - })( - <Radio.Group style={{whiteSpace: 'nowrap'}}> - <Radio key="" value=""> 涓嶅彲閫� </Radio> - <Radio key="radio" value={'radio'}> 鍗曢�� </Radio> - {config.subtype !== 'propcard' ? <Radio key="checkbox" value={'checkbox'}> 澶氶�� </Radio> : null} - </Radio.Group> - )} - </Form.Item> - </Col> : null} - {config.subtype !== 'tablecard' ? <Col span={12}> - <Form.Item label={ - <Tooltip placement="topLeft" title="璁剧疆涓哄眳涓榻愭垨鍙冲榻愶紝鍙湪鍗$墖涓�1琛屾椂鏈夋晥銆�"> - <Icon type="question-circle" /> - 鍗$墖鎺掑垪 - </Tooltip> - }> - {getFieldDecorator('cardFloat', { - initialValue: wrap.cardFloat || 'left' - })( - <Radio.Group style={{whiteSpace: 'nowrap'}}> - <Radio key="left" value="left"> 宸﹀榻� </Radio> - <Radio key="center" value="center"> 灞呬腑 </Radio> - <Radio key="right" value="right"> 鍙冲榻� </Radio> - </Radio.Group> - )} - </Form.Item> - </Col> : null} - {config.subtype !== 'tablecard' ? <Col span={12}> - <Form.Item label={ - <Tooltip placement="topLeft" title="榧犳爣鎮诞浜庡崱鐗囦笂鏂规椂锛屽崱鐗囨斁澶�1.05鍊嶃��"> - <Icon type="question-circle" /> - 鍗$墖鏀惧ぇ - </Tooltip> - }> - {getFieldDecorator('scale', { - initialValue: wrap.scale || 'false' - })( - <Radio.Group> - <Radio key="false" value="false"> 鍚� </Radio> - <Radio key="true" value="true"> 鏄� </Radio> - </Radio.Group> - )} - </Form.Item> - </Col> : null} - {config.subtype === 'tablecard' ? <Col span={12}> - <Form.Item label={ - <Tooltip placement="topLeft" title="琛ㄦ牸楂樺害锛岃秴鍑烘椂婊氬姩锛岄珮搴︿负绌烘椂鏍规嵁鍐呭鑷�傚簲銆�"> + <Tooltip placement="topLeft" title="缁勪欢鍗犵敤鐨勬渶灏忛珮搴︼紝鐢ㄤ簬椤甸潰甯冨眬銆�"> <Icon type="question-circle" /> 楂樺害 </Tooltip> }> {getFieldDecorator('height', { initialValue: wrap.height - })(<InputNumber min={100} max={2000} precision={0} onPressEnter={this.handleSubmit} />)} + })(<StyleInput options={['px', 'vh', 'vw', '%']}/>)} </Form.Item> - </Col> : null} - {config.subtype === 'propcard' ? <Col span={12}> - <Form.Item label={ - <Tooltip placement="topLeft" title="閫夋嫨绫诲瀷涓恒�婇〉鐪�/椤佃剼銆嬫椂锛屾墦鍗扮殑姣忛〉閲岄兘浼氬甫鏈夎缁勪欢銆�"> - <Icon type="question-circle" /> - 缁勪欢绫诲瀷 - </Tooltip> - }> - {getFieldDecorator('printType', { - initialValue: wrap.printType || 'content' + </Col> + <Col span={12}> + <Form.Item label="鐭俊妯℃澘"> + {getFieldDecorator('tempId', { + initialValue: wrap.tempId || '' })( - <Radio.Group> - <Radio value="content">鍐呭</Radio> - <Radio value="headerOrfooter">椤电湁/椤佃剼</Radio> - </Radio.Group> + <Select + showSearch + allowClear + filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0} + > + {msgTemps.map(option => + <Select.Option key={option.ID} value={option.ID}>{option.SignName + ' - ' + option.TemplateCode}</Select.Option> + )} + </Select> )} </Form.Item> - </Col> : null} + </Col> <Col span={12}> <Form.Item label="榛戝悕鍗�"> {getFieldDecorator('blacklist', { -- Gitblit v1.8.0