From f393af9623c26ae177a3f69b8676afc4e23bff8d Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 08 二月 2022 14:48:51 +0800
Subject: [PATCH] 2022-02-08

---
 src/menu/datasource/verifycard/index.jsx |  111 +++++++++++++------------------------------------------
 1 files changed, 27 insertions(+), 84 deletions(-)

diff --git a/src/menu/datasource/verifycard/index.jsx b/src/menu/datasource/verifycard/index.jsx
index 095b693..3c0b394 100644
--- a/src/menu/datasource/verifycard/index.jsx
+++ b/src/menu/datasource/verifycard/index.jsx
@@ -1,8 +1,8 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
 import { fromJS } from 'immutable'
-import { Form, Tabs, Popconfirm, Icon, notification, Modal, Typography, Spin, message } from 'antd'
-import { StopOutlined, CheckCircleOutlined } from '@ant-design/icons'
+import { Form, Tabs, Popconfirm, notification, Modal, Typography, Spin, message } from 'antd'
+import { StopOutlined, CheckCircleOutlined, EditOutlined, SwapOutlined, DeleteOutlined, CopyOutlined } from '@ant-design/icons'
 import moment from 'moment'
 
 import Api from '@/api'
@@ -24,7 +24,6 @@
 class VerifyCard extends Component {
   static propTpyes = {
     dict: PropTypes.object,          // 瀛楀吀椤�
-    menu: PropTypes.object,          // 鑿滃崟閰嶇疆淇℃伅
     config: PropTypes.object,        // 缁勪欢閰嶇疆淇℃伅
   }
 
@@ -43,7 +42,7 @@
         dataIndex: 'label',
         inputType: 'input',
         editable: true,
-        width: '28%'
+        width: '20%'
       },
       {
         title: '瀛楁',
@@ -52,7 +51,7 @@
         editable: true,
         unique: true,
         copy: true,
-        width: '28%'
+        width: '20%'
       },
       {
         title: '鏁版嵁绫诲瀷',
@@ -91,8 +90,15 @@
           { value: 'datetime', text: 'datetime' },
         ],
         editable: true,
-        width: '25%',
-      }
+        width: '20%',
+      },
+      {
+        title: '澶囨敞',
+        dataIndex: 'remark',
+        inputType: 'textarea',
+        editable: true,
+        width: '20%'
+      },
     ],
     scriptsColumns: [
       {
@@ -102,12 +108,12 @@
         render: (text) => {
           let title = text.match(/^\s*\/\*.+\*\//)
           title = title && title[0] ? title[0] : ''
-          text = title ? text.replace(title, '') : text
+          let _text = title ? text.replace(title, '') : text
 
           return (
             <div>
-              {title ? <span style={{color: '#a50'}}>{title}</span> : null}
-              <Paragraph copyable ellipsis={{ rows: 4, expandable: true }}>{text}</Paragraph>
+              {title ? <span style={{color: '#a50'}}>{title}<span style={{fontSize: '12px', marginLeft: '5px'}}>{_text.length}</span></span> : null}
+              <Paragraph copyable={{ text: text }} ellipsis={{ rows: 4, expandable: true }}>{_text}</Paragraph>
             </div>
           )
         }
@@ -137,14 +143,14 @@
         dataIndex: 'operation',
         render: (text, record) =>
           (<div style={{textAlign: 'center'}}>
-            <span className="operation-btn" title={this.props.dict['model.edit']} onClick={() => this.handleEdit(record)} style={{color: '#1890ff'}}><Icon type="edit" /></span>
-            <span className="operation-btn" title={this.props.dict['model.status.change']} onClick={() => this.handleStatus(record)} style={{color: '#8E44AD'}}><Icon type="swap" /></span>
+            <span className="operation-btn" title={this.props.dict['model.edit']} onClick={() => this.handleEdit(record)} style={{color: '#1890ff'}}><EditOutlined /></span>
+            <span className="operation-btn" title={this.props.dict['model.status.change']} onClick={() => this.handleStatus(record)} style={{color: '#8E44AD'}}><SwapOutlined /></span>
             <Popconfirm
               overlayClassName="popover-confirm"
               title={this.props.dict['model.query.delete']}
               onConfirm={() => this.deleteScript(record)
             }>
-              <span className="operation-btn" style={{color: '#ff4d4f'}}><Icon type="delete" /></span>
+              <span className="operation-btn" style={{color: '#ff4d4f'}}><DeleteOutlined /></span>
             </Popconfirm>
           </div>)
       }
@@ -152,7 +158,7 @@
   }
 
   UNSAFE_componentWillMount() {
-    const { config, mainSearch, menu } = this.props
+    const { config, mainSearch } = this.props
 
     let search = config.search || []
 
@@ -160,47 +166,8 @@
       search = [...search, ...mainSearch]
     }
 
-    let Marks = []
-    let getcomponentmarks = (box, conf) => {
-      if (!conf.parentId && box.Template === 'CustomPage') {
-        box.components.forEach(item => {
-          if (item.type === 'group') {
-            item.components.forEach(cell => {
-              if (cell.uuid !== conf.uuid && cell.setting && cell.setting.varMark) {
-                Marks.push(cell.setting.varMark.toLowerCase())
-              }
-            })
-          } else if (item.uuid !== conf.uuid && item.setting && item.setting.varMark) {
-            Marks.push(item.setting.varMark.toLowerCase())
-          }
-        })
-      } else if (conf.parentId === box.parentId && conf.tabId === box.uuid) {
-        box.components.forEach(item => {
-          if (item.type === 'group') {
-            item.components.forEach(cell => {
-              if (cell.uuid !== conf.uuid && cell.setting && cell.setting.varMark) {
-                Marks.push(cell.setting.varMark.toLowerCase())
-              }
-            })
-          } else if (item.uuid !== conf.uuid && item.setting && item.setting.varMark) {
-            Marks.push(item.setting.varMark.toLowerCase())
-          }
-        })
-      } else {
-        box.components.forEach(item => {
-          if (item.type !== 'tabs') return
-  
-          item.subtabs.forEach(tab => {
-            getcomponentmarks(tab, conf)
-          })
-        })
-      }
-    }
-
-    getcomponentmarks(menu, config)
-
     let _setting = fromJS(config.setting).toJS()
-    let scripts = fromJS(config.scripts).toJS()
+    let scripts = config.scripts ? fromJS(config.scripts).toJS() : []
 
     if (window.GLOB.funcs && window.GLOB.funcs.length > 0) {
       window.GLOB.funcs.forEach(m => {
@@ -222,11 +189,10 @@
 
     this.setState({
       scripts,
-      columns: fromJS(config.columns).toJS(),
+      columns: config.columns ? fromJS(config.columns).toJS() : [],
       setting: _setting,
       searches: search,
-      defaultSearch: _search,
-      varMarks: Marks
+      defaultSearch: _search
     })
 
     this.getsysScript()
@@ -376,7 +342,7 @@
 
   changeTab = (val) => {
     const { config, mainSearch } = this.props
-    const { activeKey, varMarks } = this.state
+    const { activeKey } = this.state
 
     this.setState({loading: true})
     if (activeKey === 'setting') {
@@ -385,18 +351,6 @@
 
         if (res.useMSearch === 'true') { // 浣跨敤涓绘悳绱㈡潯浠�
           search = [...search, ...mainSearch]
-        }
-
-        if (res.varMark && varMarks.includes(res.varMark.toLowerCase())) {
-          notification.warning({
-            top: 92,
-            message: '鍙橀噺鏍囪瘑涓嶅彲閲嶅锛�',
-            duration: 5
-          })
-          this.setState({
-            loading: false
-          })
-          return
         }
 
         let _search = this.formatSearch(search)
@@ -529,7 +483,7 @@
 
   submitDataSource = () => {
     const { config, mainSearch } = this.props
-    const { activeKey, setting, columns, scripts, varMarks } = this.state
+    const { activeKey, setting, columns, scripts } = this.state
 
     return new Promise((resolve, reject) => {
       if (activeKey === 'setting') {
@@ -538,16 +492,6 @@
 
           if (res.useMSearch === 'true') { // 浣跨敤涓绘悳绱㈡潯浠�
             search = [...search, ...mainSearch]
-          }
-
-          if (res.varMark && varMarks.includes(res.varMark.toLowerCase())) {
-            notification.warning({
-              top: 92,
-              message: '鍙橀噺鏍囪瘑涓嶅彲閲嶅锛�',
-              duration: 5
-            })
-            reject()
-            return
           }
 
           let _search = this.formatSearch(search)
@@ -708,7 +652,7 @@
   }
 
   render() {
-    const { menu, config } = this.props
+    const { config } = this.props
     const { columns, setting, scripts, colColumns, scriptsColumns, activeKey, loading, searches, defaultsql } = this.state
 
     return (
@@ -717,7 +661,6 @@
         <Tabs activeKey={activeKey} className="data-source-card-box" onChange={this.changeTab}>
           <TabPane tab="鏁版嵁婧�" key="setting">
             <SettingForm
-              menu={menu}
               dict={this.props.dict}
               config={config}
               columns={columns}
@@ -733,7 +676,7 @@
               type="fields"
               updatefield={this.updatefields}
             />
-            <Icon type="copy" title="浠ラ�楀彿鎷兼帴褰㈠紡澶嶅埗瀛楁" onClick={this.copyColumns} style={{position: 'absolute', cursor: 'pointer', zIndex: 1, top: '-35px', right: '0px', color: '#1890ff'}} />
+            <CopyOutlined title="浠ラ�楀彿鎷兼帴褰㈠紡澶嶅埗瀛楁" onClick={this.copyColumns} style={{position: 'absolute', cursor: 'pointer', zIndex: 1, top: '-35px', right: '0px', color: '#1890ff'}} />
             <EditTable actions={['edit', 'move', 'copy', 'del', 'clear']} type="datasourcefield" data={columns} columns={colColumns} onChange={(columns) => this.setState({columns})}/>
           </TabPane>
           <TabPane tab={

--
Gitblit v1.8.0