From 43a517b80f2803e0dcf6658113520c4a14c8c17f Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 22 五月 2023 18:21:52 +0800
Subject: [PATCH] 2023-05-22

---
 src/templates/zshare/verifycard/index.jsx |  121 +++++++---------------------------------
 1 files changed, 22 insertions(+), 99 deletions(-)

diff --git a/src/templates/zshare/verifycard/index.jsx b/src/templates/zshare/verifycard/index.jsx
index e688eb0..e7930e1 100644
--- a/src/templates/zshare/verifycard/index.jsx
+++ b/src/templates/zshare/verifycard/index.jsx
@@ -2,7 +2,7 @@
 import PropTypes from 'prop-types'
 import { is, fromJS } from 'immutable'
 import { Form, Tabs, Row, Col, Button, Popconfirm, notification, Modal, message, InputNumber, Typography } from 'antd'
-import { CheckCircleOutlined, StopOutlined, EditOutlined, SwapOutlined, DeleteOutlined, ExclamationOutlined, BorderOutlined } from '@ant-design/icons'
+import { CheckCircleOutlined, StopOutlined, EditOutlined, SwapOutlined, DeleteOutlined, ExclamationOutlined } from '@ant-design/icons'
 import Toast from 'antd-mobile/es/components/toast'
 import Dialog from 'antd-mobile/es/components/dialog'
 import moment from 'moment'
@@ -21,13 +21,13 @@
 import asyncComponent from '@/utils/asyncComponent'
 import { updateForm } from '@/utils/utils-update.js'
 import MKEmitter from '@/utils/events.js'
-import MinView from '@/assets/img/minview.png'
 import './index.scss'
 
 const { TabPane } = Tabs
 const { confirm } = Modal
 const { Paragraph } = Typography
 const EditTable = asyncComponent(() => import('@/templates/zshare/editTable'))
+const FullScripts = asyncComponent(() => import('./fullScripts'))
 
 class VerifyCard extends Component {
   static propTpyes = {
@@ -44,8 +44,6 @@
     appType: sessionStorage.getItem('appType'),
     notes: [],              // 鐭俊妯℃澘
     setting: null,
-    visible: false,
-    scriptId: '',
     verify: {},
     fields: [],
     usefulfields: '',
@@ -1540,7 +1538,7 @@
 
   render() {
     const { card } = this.props
-    const { activeKey, verifyInter, setting, verify, fields, visible, uniqueFields, uniqueColumns, unionFields, onceUniqueColumns, columnsFields, contrastColumns, customColumns, orderColumns, scriptsColumns, cbScriptsColumns, orderModular, orderModularDetail, voucher, voucherDetail, notes, appType } = this.state
+    const { activeKey, verifyInter, setting, verify, fields, uniqueFields, uniqueColumns, unionFields, onceUniqueColumns, columnsFields, contrastColumns, customColumns, orderColumns, scriptsColumns, cbScriptsColumns, orderModular, orderModularDetail, voucher, voucherDetail, notes, appType } = this.state
     const formItemLayout = {
       labelCol: {
         xs: { span: 24 },
@@ -1640,17 +1638,25 @@
               {verify.scripts.length ? <span className="count-tip">{verify.scripts.length}</span> : null}
             </span>
           } key="scripts" id="mk-normal-script">
-            <BorderOutlined className="full-scripts" onClick={() => {
-              if (this.scriptsForm && (this.scriptsForm.state.editItem || (this.scriptsForm.props.form.getFieldValue('sql') && !/^\s+$/.test(this.scriptsForm.props.form.getFieldValue('sql'))))) {
-                notification.warning({
-                  top: 92,
-                  message: '璇蜂繚瀛樿嚜瀹氫箟鑴氭湰锛�',
-                  duration: 5
-                })
-                return
-              }
-              this.setState({visible: true, scriptId: ''})
-            }}/>
+            <FullScripts
+              verify={verify}
+              getScriptsFullForm={() => this.scriptsFullForm}
+              getScriptsForm={() => this.scriptsForm}
+              handleStatus={this.handleStatus}
+              handleDelete={this.handleDelete}
+            >
+              <CustomScript
+                type="fullscreen"
+                btn={this.props.card}
+                initsql={this.state.initsql}
+                customScripts={verify.scripts}
+                defaultsql={this.state.defaultsql}
+                usefulfields={this.state.usefulfields}
+                systemScripts={this.state.systemScripts}
+                scriptsChange={this.scriptsChange}
+                wrappedComponentRef={(inst) => this.scriptsFullForm = inst}
+              />
+            </FullScripts>
             <CustomScript
               btn={this.props.card}
               initsql={this.state.initsql}
@@ -1768,89 +1774,6 @@
             </Form>
           </TabPane>
         </Tabs>
-        <Modal
-          wrapClassName="model-custom-scripts-modal"
-          title="鑷畾涔夎剼鏈�"
-          visible={visible}
-          width={'95vw'}
-          maskClosable={false}
-          destroyOnClose
-        >
-          <img className="unfull-scripts" src={MinView} onClick={() => this.setState({visible: false, scriptId: ''})} alt=""/>
-          <div className="script-table-wrap">
-            {verify.scripts.map(item => {
-              let title = item.sql.match(/^\s*\/\*.+\*\//)
-              title = title && title[0] ? title[0] : ''
-              let _text = title ? item.sql.replace(title, '') : item.sql
-
-              let position = null
-              if (item.position === 'init') {
-                position = <span style={{color: 'orange'}}>鍒濆鍖�</span>
-              } else if (item.position === 'front') {
-                position = <span style={{color: '#26C281'}}>sql鍓�</span>
-              } else {
-                position = <span style={{color: '#1890ff'}}>sql鍚�</span>
-              }
-
-              if (item.status === 'false') {
-                return (
-                  <div className="script-item" key={item.uuid}>
-                    <div style={{cursor: 'not-allowed'}}>
-                      {title ? <div style={{color: '#a50', whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis'}}>{title}</div> : null}
-                      <Paragraph copyable={{ text: item.sql }} ellipsis={{ rows: 4 }}>{_text}</Paragraph>
-                      <div>{position}
-                        <span style={{color: '#ff4d4f', marginLeft: '20px'}}>
-                          绂佺敤
-                          <StopOutlined style={{marginLeft: '5px'}} />
-                        </span>
-                      </div>
-                    </div>
-                    <div style={{height: '24px'}}></div>
-                  </div>
-                )
-              } else {
-                return (
-                  <div className={'script-item ' + (this.state.scriptId === item.uuid ? 'active' : '') } key={item.uuid}>
-                    <div style={{cursor: 'pointer'}} onClick={() => {
-                      this.scriptsFullForm.edit(item)
-                      this.setState({scriptId: item.uuid})
-                    }}>
-                      {title ? <div style={{color: '#a50', whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis'}}>{title}</div> : null}
-                      <Paragraph copyable={{ text: item.sql }} ellipsis={{ rows: 4 }}>{_text}</Paragraph>
-                      <div>{position}
-                        <span style={{color: '#26C281', marginLeft: '20px'}}>
-                          鍚敤
-                          <CheckCircleOutlined style={{marginLeft: '5px'}}/>
-                        </span>
-                      </div>
-                    </div>
-                    <div style={{textAlign: 'right'}}>
-                      <span className="operation-btn" onClick={() => this.handleStatus(item, 'scripts')} style={{color: '#8E44AD'}}><SwapOutlined /></span>
-                      <Popconfirm
-                        overlayClassName="popover-confirm"
-                        title="纭畾鍒犻櫎鍚�?"
-                        onConfirm={() => this.handleDelete(item, 'scripts')
-                      }>
-                        <span className="operation-btn" style={{color: '#ff4d4f'}}><DeleteOutlined /></span>
-                      </Popconfirm>
-                    </div>
-                  </div>
-                )
-              }
-            })}
-          </div>
-          <CustomScript
-            type="fullscreen"
-            btn={this.props.card}
-            initsql={this.state.initsql}
-            customScripts={verify.scripts}
-            defaultsql={this.state.defaultsql}
-            usefulfields={this.state.usefulfields}
-            systemScripts={this.state.systemScripts}
-            scriptsChange={this.scriptsChange}
-            wrappedComponentRef={(inst) => this.scriptsFullForm = inst}
-          />
-        </Modal>
       </div>
     )
   }

--
Gitblit v1.8.0