From b78ac1c7dd71fba48e413220e22927fdc32d5d41 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 02 一月 2025 10:36:20 +0800
Subject: [PATCH] 2025-01-02

---
 src/templates/zshare/verifycard/billcodeform/index.jsx |  180 ++++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 108 insertions(+), 72 deletions(-)

diff --git a/src/templates/zshare/verifycard/billcodeform/index.jsx b/src/templates/zshare/verifycard/billcodeform/index.jsx
index ee1770f..bf5c929 100644
--- a/src/templates/zshare/verifycard/billcodeform/index.jsx
+++ b/src/templates/zshare/verifycard/billcodeform/index.jsx
@@ -1,20 +1,20 @@
 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 './index.scss'
+import { Form, Row, Col, Select, Button, InputNumber, Input, Tooltip } from 'antd'
+import { QuestionCircleOutlined } from '@ant-design/icons'
 
+// import './index.scss'
 
-class UniqueForm extends Component {
+class BillCodeForm extends Component {
   static propTpyes = {
-    dict: PropTypes.object,         // 瀛楀吀椤�
-    btn: PropTypes.object,          // 鎸夐挳淇℃伅
-    fields: PropTypes.array,        // 琛ㄥ崟
-    billcodes: PropTypes.array,     // 琛ㄥ崟
-    columns: PropTypes.array,       // 琛ㄥ崟
-    modular: PropTypes.array,       // 琛ㄥ崟
-    modularDetail: PropTypes.array, // 琛ㄥ崟
-    orderChange: PropTypes.func     // 琛ㄥ崟
+    btn: PropTypes.object,
+    fields: PropTypes.array,
+    billcodes: PropTypes.array,
+    columns: PropTypes.array,
+    modular: PropTypes.array,
+    modularDetail: PropTypes.array,
+    orderChange: PropTypes.func
   }
 
   state = {
@@ -22,29 +22,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,10 +86,12 @@
         type: '2',
         funFields: _funFields,
         editItem: record,
-        modularDetail: _detail
+        modularDetail: _detail,
+        TypeCharOne: record.TypeCharOne
       }, () => {
         this.props.form.setFieldsValue({
           field: record.field,
+          Type: record.Type || 4,
           TypeCharOne: record.TypeCharOne,
           ModularCode: record.ModularCode,
           ModularDetailCode: _modularDetailCode,
@@ -98,13 +102,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 +132,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
       })
     }
   }
@@ -143,7 +154,7 @@
         values.fieldName = _funField ? _funField.label : ''
 
         // 涓�绾ц彍鍗曞�间负20190203125926873D6029A9C511041719420鏃禩ypeCharTwo=TableCode锛屽叾浠栫敤BillCode
-        if (values.ModularCode === '20190203125926873D6029A9C511041719420') {
+        if (values.ModularCode === '20190203125926873D6029A9C511041719420' || values.ModularCode === '01') {
           values.TypeCharTwo = 'TableCode'
         } else {
           values.TypeCharTwo = 'BillCode'
@@ -164,33 +175,36 @@
 
           // 璁剧疆娴佹按鍙蜂綅鏁�
           let _detail = this.state.modularDetail.filter(item => item.ModularDetailCode === values.ModularDetailCode)[0]
-          values.Type = _detail.Type
+          values.Type = values.Type || _detail.Type
         } else {
           let _billField = billFields.filter(item => item.field === values.linkField)[0]
           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 },
@@ -203,37 +217,37 @@
     }
 
     return (
-      <Form {...formItemLayout} className="verify-form">
+      <Form {...formItemLayout} className="verify-form mk-fix-form-height">
         <Row gutter={24}>
-          <Col span={10}>
-            <Form.Item label={this.props.dict['header.form.funcvar']}>
+          <Col span={7}>
+            <Form.Item label="鍑芥暟鍙橀噺">
               {getFieldDecorator('field', {
                 initialValue: '',
                 rules: [
                   {
                     required: true,
-                    message: this.props.dict['form.required.input'] + this.props.dict['header.form.funcvar'] + '!'
+                    message: '璇烽�夋嫨鍑芥暟鍙橀噺!'
                   }
                 ]
               })(
                 <Select>
                   {this.state.funFields.map(option =>
-                    <Select.Option title={option.label} id={option.uuid} key={option.uuid} value={option.field}>
-                      {option.label}
+                    <Select.Option key={option.uuid} value={option.field}>
+                      {`${option.label}锛�${option.field}锛塦}
                     </Select.Option>
                   )}
                 </Select>
               )}
             </Form.Item>
           </Col>
-          <Col span={10}>
-            <Form.Item label={'绫诲瀷'}>
+          <Col span={7}>
+            <Form.Item label="绫诲瀷">
               {getFieldDecorator('TypeCharOne', {
                 initialValue: 'Lp',
                 rules: [
                   {
                     required: true,
-                    message: this.props.dict['form.required.select'] + '绫诲瀷!'
+                    message: '璇烽�夋嫨绫诲瀷!'
                   }
                 ]
               })(
@@ -246,53 +260,35 @@
               )}
             </Form.Item>
           </Col>
-          <Col span={4} className="add">
-            <Button onClick={this.handleConfirm} type="primary">
-              纭畾
-            </Button>
-          </Col>
-          {type === '1' ? <Col span={10}>
-            <Form.Item label={'鍏宠仈瀛楁'}>
+          {type === '1' ? <Col span={7}>
+            <Form.Item label="鍏宠仈瀛楁">
               {getFieldDecorator('linkField', {
                 initialValue: '',
                 rules: [
                   {
                     required: true,
-                    message: this.props.dict['form.required.input'] + '鍏宠仈瀛楁!'
+                    message: '璇烽�夋嫨鍏宠仈瀛楁!'
                   }
                 ]
               })(
-                <Select>
+                <Select showSearch filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0}>
                   {this.state.billFields.map(option =>
-                    <Select.Option title={option.label} id={option.uuid} key={option.uuid} value={option.field}>
-                      {option.label}
+                    <Select.Option key={option.uuid} value={option.field}>
+                      {`${option.label}锛�${option.field}锛塦}
                     </Select.Option>
                   )}
                 </Select>
               )}
             </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}>
-            <Form.Item label={'鍑瘉绫诲瀷'}>
+          {type === '2' ? <Col span={7}>
+            <Form.Item label="鍑瘉绫诲瀷">
               {getFieldDecorator('ModularCode', {
                 initialValue: this.props.modular[0] ? this.props.modular[0].ID : '',
                 rules: [
                   {
                     required: true,
-                    message: this.props.dict['form.required.input'] + '鍑瘉绫诲瀷!'
+                    message: '璇烽�夋嫨鍑瘉绫诲瀷!'
                   }
                 ]
               })(
@@ -302,7 +298,7 @@
                   onChange={(value) => {this.voucherChange(value)}}
                 >
                   {this.props.modular.map(option =>
-                    <Select.Option title={option.NameNO} id={option.ID} key={option.ID} value={option.ID}>
+                    <Select.Option key={option.ID} value={option.ID}>
                       {option.NameNO}
                     </Select.Option>
                   )}
@@ -310,14 +306,32 @@
               )}
             </Form.Item>
           </Col> : null}
-          {type === '2' ? <Col span={10}>
-            <Form.Item label={'鍑瘉鏍囪瘑'}>
+          <Col span={3} className="add">
+            <Button onClick={this.handleConfirm} className="mk-green">
+              淇濆瓨
+            </Button>
+          </Col>
+          <Col span={7}>
+            <Form.Item label="浣嶆暟">
+              {getFieldDecorator('Type', {
+                initialValue: 4,
+                rules: [
+                  {
+                    required: true,
+                    message: '璇疯緭鍏ヤ綅鏁�!'
+                  }
+                ]
+              })(<InputNumber min={1} max={10} precision={0} onPressEnter={this.handleConfirm}/>)}
+            </Form.Item>
+          </Col>
+          {type === '2' ? <Col span={7}>
+            <Form.Item label="鍑瘉鏍囪瘑">
               {getFieldDecorator('ModularDetailCode', {
                 initialValue: this.state.modularDetail[0] ? this.state.modularDetail[0].ModularDetailCode : '',
                 rules: [
                   {
                     required: true,
-                    message: this.props.dict['form.required.input'] + '鍑瘉鏍囪瘑!'
+                    message: '璇烽�夋嫨鍑瘉鏍囪瘑!'
                   }
                 ]
               })(
@@ -326,12 +340,34 @@
                   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'}} key={option.ModularDetailCode} value={option.ModularDetailCode}>
                       {option.CodeName}
                     </Select.Option>
                   )}
                 </Select>
               )}
+            </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: '璇疯緭鍏ユ爣璇�!'
+                  },
+                  {
+                    pattern: /^[a-zA-Z0-9]*$/ig,
+                    message: '璇疯緭鍏ユ暟瀛椼�佸瓧姣嶄互鍙奯'
+                  }
+                ]
+              })(<Input placeholder="" autoComplete="off" onPressEnter={this.handleConfirm}/>)}
             </Form.Item>
           </Col> : null}
         </Row>
@@ -340,4 +376,4 @@
   }
 }
 
-export default Form.create()(UniqueForm)
\ No newline at end of file
+export default Form.create()(BillCodeForm)
\ No newline at end of file

--
Gitblit v1.8.0