| | |
| | | import React, {Component} from 'react' |
| | | import PropTypes from 'prop-types' |
| | | import { Form, Row, Col, Select, Radio, Input } from 'antd' |
| | | import { Form, Row, Col, Select, Radio, Input, Tooltip, Icon, notification } from 'antd' |
| | | |
| | | import asyncComponent from '@/utils/asyncComponent' |
| | | import './index.scss' |
| | |
| | | inputSubmit: PropTypes.func // input回车提交 |
| | | } |
| | | |
| | | state = {} |
| | | state = {msgs: [], typename: 'mob', user_binding: []} |
| | | |
| | | UNSAFE_componentWillMount() { |
| | | const { card } = this.props |
| | | let msgs = sessionStorage.getItem('msgTemplate') |
| | | let user_binding = [] |
| | | let typename = 'mob' |
| | | |
| | | if (card) { |
| | | typename = card.typename || 'mob' |
| | | user_binding = card.user_binding ? card.user_binding.split(',') : [] |
| | | } |
| | | |
| | | this.setState({msgs: JSON.parse(msgs), typename, user_binding}) |
| | | } |
| | | |
| | | /** |
| | | * @description 获取表单值 |
| | |
| | | return new Promise(resolve => { |
| | | this.props.form.validateFieldsAndScroll((err, values) => { |
| | | if (!err) { |
| | | values.user_binding = values.user_binding ? values.user_binding.join(',') : '' |
| | | if (values.user_binding.indexOf('sms_vcode') > -1 && !values.sms_id) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '手机号绑定时,需要短信模板!', |
| | | duration: 5 |
| | | }) |
| | | return |
| | | } |
| | | resolve(values) |
| | | } |
| | | }) |
| | |
| | | render() { |
| | | const { card, type } = this.props |
| | | const { getFieldDecorator } = this.props.form |
| | | const { msgs, typename, user_binding } = this.state |
| | | const formItemLayout = { |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | |
| | | } |
| | | |
| | | return ( |
| | | <Form {...formItemLayout} className="mob-card-edit-form"> |
| | | <Form {...formItemLayout} className="sub-app-edit-form"> |
| | | <Row gutter={24}> |
| | | <Col span={12}> |
| | | <Form.Item label="应用类型"> |
| | | {getFieldDecorator('typename', { |
| | | initialValue: card ? card.typename : 'mob' |
| | | initialValue: typename |
| | | })( |
| | | <Select disabled={type === 'edit'}> |
| | | <Select disabled={type === 'edit'} onChange={(val) => this.setState({typename: val})}> |
| | | <Select.Option value="mob">移动端(包括android、ios)</Select.Option> |
| | | <Select.Option value="pad">Pad端</Select.Option> |
| | | <Select.Option value="pc">PC端</Select.Option> |
| | |
| | | )} |
| | | </Form.Item> |
| | | </Col> |
| | | {typename !== 'pc' ? <Col span={12}> |
| | | <Form.Item label={ |
| | | <Tooltip placement="topLeft" title="使用微信授权登录时,是否需要绑定用户。"> |
| | | <Icon type="question-circle" /> |
| | | 用户绑定 |
| | | </Tooltip> |
| | | }> |
| | | {getFieldDecorator('user_binding', { |
| | | initialValue: user_binding |
| | | })( |
| | | <Select mode="multiple"> |
| | | <Select.Option value="uname_pwd">用户名</Select.Option> |
| | | <Select.Option value="sms_vcode">手机号</Select.Option> |
| | | </Select> |
| | | )} |
| | | </Form.Item> |
| | | </Col> : null} |
| | | {typename !== 'pc' ? <Col span={12}> |
| | | <Form.Item label={ |
| | | <Tooltip placement="topLeft" title="短信模板可在管理系统 HS-奇云短信模板 处添加。"> |
| | | <Icon type="question-circle" /> |
| | | 短信模板 |
| | | </Tooltip> |
| | | }> |
| | | {getFieldDecorator('sms_id', { |
| | | initialValue: card ? card.sms_id || '' : '' |
| | | })( |
| | | <Select allowClear> |
| | | {msgs.map(option => |
| | | <Select.Option key={option.ID} value={option.ID}>{option.SignName + ' - ' + option.TemplateCode}</Select.Option> |
| | | )} |
| | | </Select> |
| | | )} |
| | | </Form.Item> |
| | | </Col> : null} |
| | | <Col span={12}> |
| | | <Form.Item label="皮肤"> |
| | | {getFieldDecorator('css', { |