From 0c84df247914f893ef5e41d57a422e10a2dc814c Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 12 十一月 2021 17:02:06 +0800
Subject: [PATCH] 2021-11-12

---
 src/templates/zshare/verifycard/billcodeform/index.jsx |  122 ++++++++++++++++++++++++++--------------
 1 files changed, 80 insertions(+), 42 deletions(-)

diff --git a/src/templates/zshare/verifycard/billcodeform/index.jsx b/src/templates/zshare/verifycard/billcodeform/index.jsx
index ee1770f..8b6a946 100644
--- a/src/templates/zshare/verifycard/billcodeform/index.jsx
+++ b/src/templates/zshare/verifycard/billcodeform/index.jsx
@@ -1,7 +1,10 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
 import { is, fromJS } from 'immutable'
-import { Form, Row, Col, Select, Button, InputNumber } from 'antd'
+import { Form, Row, Col, Select, Button, InputNumber, Input, Tooltip } from 'antd'
+import { QuestionCircleOutlined } from '@ant-design/icons'
+
+import { formRule } from '@/utils/option.js'
 import './index.scss'
 
 
@@ -22,29 +25,31 @@
     modularDetail: [],
     funFields: [],
     billFields: [],
-    type: '1'
+    type: '1',
+    TypeCharOne: 'Lp'
   }
 
   UNSAFE_componentWillMount() {
     let _modularDetail = []
     let _billFields = []
+
     if (this.props.modular.length > 0) {
       _modularDetail = this.props.modularDetail.filter(item => item.BID === this.props.modular[0].ID)
     }
 
     let fieldMap = new Map()
     this.props.fields.forEach(_field => {
-      if (_field.type === 'text' && !fieldMap.has(_field.field)) {
+      if (_field.type === 'text' && !fieldMap.has(_field.field.toLowerCase())) {
         _billFields.push(_field)
-        fieldMap.set(_field.field, true)
+        fieldMap.set(_field.field.toLowerCase(), true)
       }
     })
 
     if (this.props.btn.Ot !== 'notRequired') {
       this.props.columns.forEach(_field => {
-        if (_field.type === 'text' && !fieldMap.has(_field.field)) {
+        if (_field.type === 'text' && !fieldMap.has(_field.field.toLowerCase())) {
           _billFields.push(_field)
-          fieldMap.set(_field.field, true)
+          fieldMap.set(_field.field.toLowerCase(), true)
         }
       })
     }
@@ -84,7 +89,8 @@
         type: '2',
         funFields: _funFields,
         editItem: record,
-        modularDetail: _detail
+        modularDetail: _detail,
+        TypeCharOne: record.TypeCharOne
       }, () => {
         this.props.form.setFieldsValue({
           field: record.field,
@@ -98,13 +104,18 @@
         type: '1',
         funFields: _funFields,
         editItem: record,
+        TypeCharOne: record.TypeCharOne
       }, () => {
-        this.props.form.setFieldsValue({
+        let _form = {
           field: record.field,
           TypeCharOne: record.TypeCharOne,
           Type: record.Type,
-          linkField: record.linkField,
-        })
+          linkField: record.linkField
+        }
+        if (record.TypeCharOne === 'Lp') {
+          _form.mark = record.mark || ''
+        }
+        this.props.form.setFieldsValue(_form)
       })
     }
   }
@@ -123,11 +134,13 @@
   TypeCharOneChange = (value) => {
     if (value === 'Y' || value === 'n') {
       this.setState({
-        type: '2'
+        type: '2',
+        TypeCharOne: value
       })
     } else {
       this.setState({
-        type: '1'
+        type: '1',
+        TypeCharOne: value
       })
     }
   }
@@ -170,27 +183,30 @@
           values.linkFieldName = _billField ? _billField.label : ''
         }
 
-        this.props.orderChange(values)
         this.setState({
           editItem: null
         }, () => {
-
+          this.props.orderChange(values)
           let _usedfields = this.props.billcodes.map(item => item.field)
 
           this.setState({
             funFields: this.props.fields.filter(field => field.type === 'funcvar' && !_usedfields.includes(field.field)),
           })
         })
-        this.props.form.setFieldsValue({
-          field: '',
-        })
+        let _form = {
+          field: ''
+        }
+        if (this.state.TypeCharOne === 'Lp') {
+          _form.mark = ''
+        }
+        this.props.form.setFieldsValue(_form)
       }
     })
   }
 
   render() {
     const { getFieldDecorator } = this.props.form
-    const { type } = this.state
+    const { type, TypeCharOne } = this.state
     const formItemLayout = {
       labelCol: {
         xs: { span: 24 },
@@ -205,7 +221,7 @@
     return (
       <Form {...formItemLayout} className="verify-form">
         <Row gutter={24}>
-          <Col span={10}>
+          <Col span={7}>
             <Form.Item label={this.props.dict['header.form.funcvar']}>
               {getFieldDecorator('field', {
                 initialValue: '',
@@ -226,7 +242,7 @@
               )}
             </Form.Item>
           </Col>
-          <Col span={10}>
+          <Col span={7}>
             <Form.Item label={'绫诲瀷'}>
               {getFieldDecorator('TypeCharOne', {
                 initialValue: 'Lp',
@@ -246,12 +262,7 @@
               )}
             </Form.Item>
           </Col>
-          <Col span={4} className="add">
-            <Button onClick={this.handleConfirm} type="primary">
-              纭畾
-            </Button>
-          </Col>
-          {type === '1' ? <Col span={10}>
+          {type === '1' ? <Col span={7}>
             <Form.Item label={'鍏宠仈瀛楁'}>
               {getFieldDecorator('linkField', {
                 initialValue: '',
@@ -272,20 +283,7 @@
               )}
             </Form.Item>
           </Col> : null}
-          {type === '1' ? <Col span={10}>
-            <Form.Item label={'浣嶆暟'}>
-              {getFieldDecorator('Type', {
-                initialValue: 4,
-                rules: [
-                  {
-                    required: true,
-                    message: this.props.dict['form.required.input'] + '浣嶆暟!'
-                  }
-                ]
-              })(<InputNumber min={1} max={10} precision={0} />)}
-            </Form.Item>
-          </Col> : null}
-          {type === '2' ? <Col span={10}>
+          {type === '2' ? <Col span={7}>
             <Form.Item label={'鍑瘉绫诲瀷'}>
               {getFieldDecorator('ModularCode', {
                 initialValue: this.props.modular[0] ? this.props.modular[0].ID : '',
@@ -310,7 +308,25 @@
               )}
             </Form.Item>
           </Col> : null}
-          {type === '2' ? <Col span={10}>
+          <Col span={3} className="add">
+            <Button onClick={this.handleConfirm} className="mk-green">
+              淇濆瓨
+            </Button>
+          </Col>
+          {type === '1' ? <Col span={7}>
+            <Form.Item label={'浣嶆暟'}>
+              {getFieldDecorator('Type', {
+                initialValue: 4,
+                rules: [
+                  {
+                    required: true,
+                    message: this.props.dict['form.required.input'] + '浣嶆暟!'
+                  }
+                ]
+              })(<InputNumber min={1} max={10} precision={0} />)}
+            </Form.Item>
+          </Col> : null}
+          {type === '2' ? <Col span={7}>
             <Form.Item label={'鍑瘉鏍囪瘑'}>
               {getFieldDecorator('ModularDetailCode', {
                 initialValue: this.state.modularDetail[0] ? this.state.modularDetail[0].ModularDetailCode : '',
@@ -326,7 +342,7 @@
                   filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0}
                 >
                   {this.state.modularDetail.map(option =>
-                    <Select.Option title={option.CodeName} id={option.ModularDetailCode} key={option.ModularDetailCode} value={option.ModularDetailCode}>
+                    <Select.Option style={{whiteSpace: 'unset'}} title={option.CodeName} id={option.ModularDetailCode} key={option.ModularDetailCode} value={option.ModularDetailCode}>
                       {option.CodeName}
                     </Select.Option>
                   )}
@@ -334,6 +350,28 @@
               )}
             </Form.Item>
           </Col> : null}
+          {TypeCharOne === 'Lp' ? <Col span={7}>
+            <Form.Item label={
+              <Tooltip placement="topLeft" title="璇ユ爣璇嗙敤浜庣敓鎴愯鍙疯鍒�">
+                <QuestionCircleOutlined className="mk-form-tip" />
+                鏍囪瘑
+              </Tooltip>
+            }>
+              {getFieldDecorator('mark', {
+                initialValue: '',
+                rules: [
+                  {
+                    required: true,
+                    message: this.props.dict['form.required.input'] + '鏍囪瘑!'
+                  },
+                  {
+                    pattern: /^[a-zA-Z0-9]*$/ig,
+                    message: formRule.input.letternummsg
+                  }
+                ]
+              })(<Input placeholder="" autoComplete="off" />)}
+            </Form.Item>
+          </Col> : null}
         </Row>
       </Form>
     )

--
Gitblit v1.8.0