From 137fb8ea6af2789b3238b22bac31d80bced41dfe Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 28 七月 2021 11:39:39 +0800
Subject: [PATCH] 2021-07-28

---
 src/views/appmanage/submutilform/index.jsx |  144 ++++++++++++++++++++++++++++-------------------
 1 files changed, 86 insertions(+), 58 deletions(-)

diff --git a/src/views/appmanage/submutilform/index.jsx b/src/views/appmanage/submutilform/index.jsx
index 712464f..137c862 100644
--- a/src/views/appmanage/submutilform/index.jsx
+++ b/src/views/appmanage/submutilform/index.jsx
@@ -1,6 +1,6 @@
 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'
@@ -14,7 +14,21 @@
     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 鑾峰彇琛ㄥ崟鍊�
@@ -23,10 +37,14 @@
     return new Promise(resolve => {
       this.props.form.validateFieldsAndScroll((err, values) => {
         if (!err) {
-          if (values.favicon && values.favicon.length > 0 && values.favicon[0].status === 'done') {
-            values.favicon = values.favicon[0].response || values.favicon[0].url || ''
-          } else {
-            values.favicon = ''
+          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)
         }
@@ -45,6 +63,7 @@
   render() {
     const { card, type } = this.props
     const { getFieldDecorator } = this.props.form
+    const { msgs, typename, user_binding } = this.state
     const formItemLayout = {
       labelCol: {
         xs: { span: 24 },
@@ -56,28 +75,23 @@
       }
     }
 
-    let filelist = []
+    let file = ''
 
     if (type === 'edit' && card && card.favicon) {
-      filelist = [{
-        uid: `favicon`,
-        name: card.favicon.slice(card.favicon.lastIndexOf('/') + 1),
-        status: 'done',
-        url: card.favicon,
-        origin: true
-      }]
+      file = card.favicon
     }
 
     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銆乮os)</Select.Option>
+                  <Select.Option value="pad">Pad绔�</Select.Option>
                   <Select.Option value="pc">PC绔�</Select.Option>
                 </Select>
               )}
@@ -95,7 +109,7 @@
               )}
             </Form.Item>
           </Col>
-          <Col span={12}>
+          {/* <Col span={12}>
             <Form.Item label="鐧诲綍">
               {getFieldDecorator('login_types', {
                 initialValue: card ? card.login_types || 'true' : 'true'
@@ -106,7 +120,7 @@
                 </Radio.Group>
               )}
             </Form.Item>
-          </Col>
+          </Col> */}
           <Col span={12}>
             <Form.Item label="鏉冮檺绠$悊">
               {getFieldDecorator('role_type', {
@@ -119,52 +133,61 @@
               )}
             </Form.Item>
           </Col>
-          <Col span={12}>
-            <Form.Item label="鐭繛鎺�">
-              {getFieldDecorator('link_type', {
-                initialValue: card ? card.link_type || 'true' : 'true'
+          {typename !== 'pc' ? <Col span={12}>
+            <Form.Item label={
+              <Tooltip placement="topLeft" title="浣跨敤寰俊鎺堟潈鐧诲綍鏃讹紝鏄惁闇�瑕佺粦瀹氱敤鎴枫��">
+                <Icon type="question-circle" />
+                鐢ㄦ埛缁戝畾
+              </Tooltip>
+            }>
+              {getFieldDecorator('user_binding', {
+                initialValue: user_binding
               })(
-                <Radio.Group>
-                  <Radio value="true">鍚敤</Radio>
-                  <Radio value="false">涓嶅惎鐢�</Radio>
-                </Radio.Group>
+                <Select mode="multiple">
+                  <Select.Option value="uname_pwd">鐢ㄦ埛鍚�</Select.Option>
+                  <Select.Option value="sms_vcode">鎵嬫満鍙�</Select.Option>
+                </Select>
               )}
             </Form.Item>
-          </Col>
+          </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', {
                 initialValue: card ? card.css : 'bg_black_style_blue'
               })(
                 <Select>
-                  <Select.Option value="bg_black_style_blue">钃濋粦鑹茬郴</Select.Option>
-                  <Select.Option value="bg_white_style_blue">钃濈櫧鑹茬郴</Select.Option>
-                  <Select.Option value="bg_black_style_red">绾㈤粦鑹茬郴</Select.Option>
-                  <Select.Option value="bg_white_style_red">绾㈢櫧鑹茬郴</Select.Option>
-                  <Select.Option value="bg_black_style_orange_red">姗欑孩榛戣壊绯�</Select.Option>
-                  <Select.Option value="bg_white_style_orange_red">姗欑孩鐧借壊绯�</Select.Option>
-                  <Select.Option value="bg_black_style_orange">姗欓粦鑹茬郴</Select.Option>
-                  <Select.Option value="bg_white_style_orange">姗欑櫧鑹茬郴</Select.Option>
-                  <Select.Option value="bg_black_style_orange_yellow">姗欓粍榛戣壊绯�</Select.Option>
-                  <Select.Option value="bg_white_style_orange_yellow">姗欓粍鐧借壊绯�</Select.Option>
-                  <Select.Option value="bg_black_style_yellow">榛勯粦鑹茬郴</Select.Option>
-                  <Select.Option value="bg_white_style_yellow">榛勭櫧鑹茬郴</Select.Option>
-                  <Select.Option value="bg_black_style_yellow_green">榛勭豢榛戣壊绯�</Select.Option>
-                  <Select.Option value="bg_white_style_yellow_green">榛勭豢鐧借壊绯�</Select.Option>
-                  <Select.Option value="bg_black_style_green">缁块粦鑹茬郴</Select.Option>
-                  <Select.Option value="bg_white_style_green">缁跨櫧鑹茬郴</Select.Option>
-                  <Select.Option value="bg_black_style_cyan">闈掗粦鑹茬郴</Select.Option>
-                  <Select.Option value="bg_white_style_cyan">闈掔櫧鑹茬郴</Select.Option>
-                  <Select.Option value="bg_black_style_blue_purple">钃濈传榛戣壊绯�</Select.Option>
-                  <Select.Option value="bg_white_style_blue_purple">钃濈传鐧借壊绯�</Select.Option>
-                  <Select.Option value="bg_black_style_purple">绱粦鑹茬郴</Select.Option>
-                  <Select.Option value="bg_white_style_purple">绱櫧鑹茬郴</Select.Option>
-                  <Select.Option value="bg_black_style_magenta">娲嬬孩榛戣壊绯�</Select.Option>
-                  <Select.Option value="bg_white_style_magenta">娲嬬孩鐧借壊绯�</Select.Option>
-                  <Select.Option value="bg_black_style_grass_green">鑽夌豢榛戣壊绯�</Select.Option>
-                  <Select.Option value="bg_white_style_grass_green">鑽夌豢鐧借壊绯�</Select.Option>
-                  <Select.Option value="bg_black_style_deep_red">娣辩孩榛戣壊绯�</Select.Option>
-                  <Select.Option value="bg_white_style_deep_red">娣辩孩鐧借壊绯�</Select.Option>
+                  <Select.Option value="bg_black_style_blue">钃濊壊</Select.Option>
+                  <Select.Option value="bg_black_style_red">绾㈣壊</Select.Option>
+                  <Select.Option value="bg_black_style_orange_red">姗欑孩鑹�</Select.Option>
+                  <Select.Option value="bg_black_style_orange">姗欒壊</Select.Option>
+                  <Select.Option value="bg_black_style_orange_yellow">姗欓粍鑹�</Select.Option>
+                  <Select.Option value="bg_black_style_yellow">榛勮壊</Select.Option>
+                  <Select.Option value="bg_black_style_yellow_green">榛勭豢鑹�</Select.Option>
+                  <Select.Option value="bg_black_style_green">缁胯壊</Select.Option>
+                  <Select.Option value="bg_black_style_cyan">闈掕壊</Select.Option>
+                  <Select.Option value="bg_black_style_blue_purple">钃濈传鑹�</Select.Option>
+                  <Select.Option value="bg_black_style_purple">绱壊</Select.Option>
+                  <Select.Option value="bg_black_style_magenta">娲嬬孩鑹�</Select.Option>
+                  <Select.Option value="bg_black_style_grass_green">鑽夌豢鑹�</Select.Option>
+                  <Select.Option value="bg_black_style_deep_red">娣辩孩鑹�</Select.Option>
                 </Select>
               )}
             </Form.Item>
@@ -179,8 +202,13 @@
           <Col span={12}>
             <Form.Item label="鍥炬爣">
               {getFieldDecorator('favicon', {
-                initialValue: filelist
-              })(<FileUpload accept=".jpg,.png,.gif,.pjp,.pjpeg,.jpeg,.jfif,.webp,.ico" maxFile={1} fileType={'text'} />)}
+                initialValue: file
+              })(<FileUpload config={{
+                initval: file,
+                suffix: '.jpg,.png,.gif,.pjp,.pjpeg,.jpeg,.jfif,.webp,.ico',
+                maxfile: 1,
+                fileType: 'text'
+              }}/>)}
             </Form.Item>
           </Col>
         </Row>

--
Gitblit v1.8.0