From 76427d51a079a5fd1f45bf7188249e7a4647ae05 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 14 九月 2020 10:37:25 +0800
Subject: [PATCH] 2020-09-14

---
 src/templates/sharecomponent/actioncomponent/verifyexcelout/index.jsx |   75 +++++++++++++++++++++++++++++--------
 1 files changed, 58 insertions(+), 17 deletions(-)

diff --git a/src/templates/sharecomponent/actioncomponent/verifyexcelout/index.jsx b/src/templates/sharecomponent/actioncomponent/verifyexcelout/index.jsx
index 2712d53..bcb6274 100644
--- a/src/templates/sharecomponent/actioncomponent/verifyexcelout/index.jsx
+++ b/src/templates/sharecomponent/actioncomponent/verifyexcelout/index.jsx
@@ -1,17 +1,18 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
 import { fromJS } from 'immutable'
-import { Form, Tabs, Row, Col, Button, Table, Popconfirm, Icon, notification, Modal, message, InputNumber, Radio, Input } from 'antd'
+import { Form, Tabs, Row, Col, Button, Table, Popconfirm, Icon, notification, Modal, message, InputNumber, Radio } from 'antd'
 import moment from 'moment'
 
 import Api from '@/api'
 import Utils from '@/utils/utils.js'
 
 import ColumnForm from './columnform'
+import CodeMirror from '@/templates/zshare/codemirror'
 import './index.scss'
 
 const { TabPane } = Tabs
-const { TextArea } = Input
+const { confirm } = Modal
 
 class VerifyCard extends Component {
   static propTpyes = {
@@ -50,9 +51,8 @@
               <span className="operation-btn" title={this.props.dict['header.form.up']} onClick={() => this.handleUpDown(record, 'columns', 'up')} style={{color: '#1890ff'}}><Icon type="arrow-up" /></span>
               <span className="operation-btn" title={this.props.dict['header.form.down']} onClick={() => this.handleUpDown(record, 'columns', 'down')} style={{color: '#ff4d4f'}}><Icon type="arrow-down" /></span>
               <Popconfirm
-                title={this.props.dict['header.form.query.delete']}
-                okText={this.props.dict['model.confirm']}
-                cancelText={this.props.dict['model.cancel']}
+                overlayClassName="popover-confirm"
+                title={this.props.dict['model.query.delete']}
                 onConfirm={() => this.handleDelete(record, 'columns')
               }>
                 <span style={{color: '#ff4d4f', cursor: 'pointer'}}><Icon type="delete" /></span>
@@ -72,18 +72,28 @@
     }
 
     _verify.enable = _verify.enable || 'false'
-    _verify.columns = _verify.columns || []
-    _verify.columns = _verify.columns.map(col => {
-      col.Width = col.Width || 20
-      return col
-    })
 
-    if (card.intertype !== 'inner' || card.innerFunc) {
+    // 鍚屾鏄剧ず鍒�
+    if (!_verify.columns || _verify.columns.length === 0) {
+      _verify.columns = []
+      config.columns.forEach(item => {
+        if (!item.field) return
+  
+        _verify.columns.push({
+          Column: item.field,
+          Text: item.label,
+          Width: 20,
+          uuid: Utils.getuuid()
+        })
+      })
+    }
+
+    if (card.intertype !== 'system') {
       _verify.enable = 'false'
     }
 
     let defaultscript = ''
-    if (!_verify.script && card.intertype === 'inner' && !card.innerFunc) {
+    if (!_verify.script && card.intertype === 'system') {
       let search = this.formatSearch(config.search)
       search = Utils.joinMainSearchkey(search)
       search = search ? 'where ' + search : ''
@@ -341,7 +351,7 @@
             param.LText = param.LText.replace(/@\$|\$@/ig, '')
     
             param.LText = Utils.formatOptions(param.LText)
-            param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
+            param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
             param.secretkey = Utils.encrypt(param.LText, param.timestamp)
             
             Api.getLocalConfig(param).then(res => {
@@ -383,7 +393,7 @@
     let fields = columns.map(item => item.Column)
 
     config.columns.forEach(item => {
-      if (fields.includes(item.field)) return
+      if (fields.includes(item.field) || !item.field) return
       fields.push(item.field)
 
       columns.push({
@@ -396,6 +406,24 @@
 
     this.setState({
       verify: {...verify, columns: columns}
+    })
+  }
+
+  clearField = () => {
+    const { verify } = this.state
+    const _this = this
+
+    confirm({
+      content: `纭畾娓呯┖Excel鍒楀悧锛焋,
+      onOk() {
+        _this.setState({
+          verify: {
+            ...verify,
+            columns: []
+          }
+        })
+      },
+      onCancel() {}
     })
   }
 
@@ -417,7 +445,12 @@
     return (
       <div id="verify-excelout-box-tab">
         <Tabs defaultActiveKey="1" className="verify-card-box" onChange={this.tabchange}>
-          <TabPane tab="Excel瀵煎嚭鍒�" key="1">
+          <TabPane tab={
+            <span>
+              Excel瀵煎嚭鍒�
+              {verify.columns.length ? <span className="count-tip">{verify.columns.length}</span> : null}
+            </span>
+          } key="1">
             <ColumnForm
               dict={this.props.dict}
               columnChange={this.columnChange}
@@ -425,6 +458,9 @@
             />
             <Button className="excel-col-add mk-green" title="娣诲姞鏄剧ず鍒楀瓧娈�" onClick={this.columnFieldInput}>
               鍚屾鏄剧ず鍒�
+            </Button>
+            <Button className="excel-col-add mk-red" title="娓呯┖Excel鍒�" onClick={this.clearField}>
+              娓呯┖Excel鍒�
             </Button>
             <Table
               bordered
@@ -435,7 +471,12 @@
               pagination={false}
             />
           </TabPane>
-          {card.intertype === 'inner' && !card.innerFunc ? <TabPane tab="鑷畾涔夎剼鏈�" key="6">
+          {card.intertype === 'system' ? <TabPane tab={
+            <span>
+              鑷畾涔夎剼鏈�
+              {verify.enable === 'true' ? <span className="count-tip">1</span> : null}
+            </span>
+          } key="6">
             <Form {...formItemLayout} className="verify-form">
               <Row gutter={24}>
                 <Col span={8}>
@@ -456,7 +497,7 @@
                           message: this.props.dict['form.required.input'] + 'sql!'
                         }
                       ]
-                    })(<TextArea rows={15} />)}
+                    })(<CodeMirror />)}
                   </Form.Item>
                 </Col>
               </Row>

--
Gitblit v1.8.0