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