From 5df578ff69f6b02e821d59a8883bc75d78695a62 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 10 十一月 2020 11:07:31 +0800
Subject: [PATCH] 2020-11-10

---
 src/menu/datasource/verifycard/index.jsx |  119 ++++++++++++++++++++++++++++-------------------------------
 1 files changed, 56 insertions(+), 63 deletions(-)

diff --git a/src/menu/datasource/verifycard/index.jsx b/src/menu/datasource/verifycard/index.jsx
index 8332eac..b26eef2 100644
--- a/src/menu/datasource/verifycard/index.jsx
+++ b/src/menu/datasource/verifycard/index.jsx
@@ -18,6 +18,7 @@
 const { Paragraph } = Typography
 
 const FieldsComponent = asyncComponent(() => import('@/templates/sharecomponent/fieldscomponent'))
+const EditTable = asyncComponent(() => import('@/templates/zshare/editTable'))
 
 class VerifyCard extends Component {
   static propTpyes = {
@@ -41,34 +42,51 @@
       {
         title: '鍚嶇О',
         dataIndex: 'label',
-        width: '25%'
+        inputType: 'input',
+        editable: true,
+        width: '28%'
       },
       {
         title: '瀛楁',
         dataIndex: 'field',
-        width: '25%'
+        inputType: 'input',
+        editable: true,
+        width: '28%'
       },
       {
         title: '鏁版嵁绫诲瀷',
         dataIndex: 'datatype',
+        inputType: 'select',
+        options: [
+          { value: 'Nvarchar(50)', text: 'Nvarchar(50)' },
+          { value: 'Nvarchar(100)', text: 'Nvarchar(100)' },
+          { value: 'Nvarchar(512)', text: 'Nvarchar(512)' },
+          { value: 'Nvarchar(1024)', text: 'Nvarchar(1024)' },
+          { value: 'Nvarchar(2048)', text: 'Nvarchar(2048)' },
+          { value: 'Nvarchar(max)', text: 'Nvarchar(max)' },
+          { value: 'Int', text: 'Int' },
+          { value: 'Decimal(18,0)', text: 'Decimal(18,0)' },
+          { value: 'Decimal(18,1)', text: 'Decimal(18,1)' },
+          { value: 'Decimal(18,2)', text: 'Decimal(18,2)' },
+          { value: 'Decimal(18,3)', text: 'Decimal(18,3)' },
+          { value: 'Decimal(18,4)', text: 'Decimal(18,4)' },
+          { value: 'Decimal(18,5)', text: 'Decimal(18,5)' },
+          { value: 'Decimal(18,6)', text: 'Decimal(18,6)' },
+          { value: 'Decimal(18,7)', text: 'Decimal(18,7)' },
+          { value: 'Decimal(18,8)', text: 'Decimal(18,8)' },
+          { value: 'Decimal(18,9)', text: 'Decimal(18,9)' },
+          { value: 'Decimal(18,10)', text: 'Decimal(18,10)' },
+          { value: 'Decimal(18,11)', text: 'Decimal(18,11)' },
+          { value: 'Decimal(18,12)', text: 'Decimal(18,12)' },
+          { value: 'Decimal(18,13)', text: 'Decimal(18,13)' },
+          { value: 'Decimal(18,14)', text: 'Decimal(18,14)' },
+          { value: 'Decimal(18,15)', text: 'Decimal(18,15)' },
+          { value: 'Decimal(18,16)', text: 'Decimal(18,16)' },
+          { value: 'Decimal(18,17)', text: 'Decimal(18,17)' },
+          { value: 'Decimal(18,18)', text: 'Decimal(18,18)' },
+        ],
+        editable: true,
         width: '25%',
-      },
-      {
-        title: '鎿嶄綔',
-        align: 'center',
-        width: '25%',
-        dataIndex: 'operation',
-        render: (text, record) =>
-          (<div>
-            <span className="operation-btn" title={this.props.dict['model.edit']} onClick={() => this.handleEdit(record, 'columns')} style={{color: '#1890ff'}}><Icon type="edit" /></span>
-            <Popconfirm
-              overlayClassName="popover-confirm"
-              title={this.props.dict['model.query.delete']}
-              onConfirm={() => this.deleteColumn(record)
-            }>
-              <span className="operation-btn" style={{color: '#ff4d4f'}}><Icon type="delete" /></span>
-            </Popconfirm>
-          </div>)
       }
     ],
     scriptsColumns: [
@@ -105,7 +123,7 @@
         dataIndex: 'operation',
         render: (text, record) =>
           (<div>
-            <span className="operation-btn" title={this.props.dict['model.edit']} onClick={() => this.handleEdit(record, 'scripts')} style={{color: '#1890ff'}}><Icon type="edit" /></span>
+            <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" onClick={() => this.handleUpDown(record, 'up')} style={{color: '#1890ff'}}><Icon type="arrow-up" /></span>
             <span className="operation-btn" onClick={() => this.handleUpDown(record, 'down')} style={{color: '#ff4d4f'}}><Icon type="arrow-down" /></span>
             <span className="operation-btn" title={this.props.dict['model.status.change']} onClick={() => this.handleStatus(record)} style={{color: '#8E44AD'}}><Icon type="swap" /></span>
@@ -135,13 +153,13 @@
       if (!conf.parentId && box.Template === 'CustomPage') {
         box.components.forEach(item => {
           if (item.uuid !== conf.uuid && item.setting && item.setting.varMark) {
-            Marks.push(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.uuid !== conf.uuid && item.setting && item.setting.varMark) {
-            Marks.push(item.setting.varMark)
+            Marks.push(item.setting.varMark.toLowerCase())
           }
         })
       } else {
@@ -239,39 +257,20 @@
   }
 
   columnChange = (values) => {
-    let columns = fromJS(this.state.columns).toJS()
+    const { columns } = this.state
 
-    if (values.uuid) {
-      columns = columns.map(item => {
-        if (item.uuid === values.uuid) {
-          return values
-        } else {
-          return item
-        }
-      })
-    } else {
-      values.uuid = Utils.getuuid()
-      columns.push(values)
-    }
+    values.uuid = Utils.getuuid()
 
-    this.setState({ columns })
-  }
-
-  deleteColumn = (record) => {
-    this.setState({ columns: this.state.columns.filter(item => item.uuid !== record.uuid) })
+    this.setState({ columns: [...columns, values] })
   }
 
   deleteScript = (record) => {
     this.setState({ scripts: this.state.scripts.filter(item => item.uuid !== record.uuid) })
   }
 
-  handleEdit = (record, type) => {
-    if (type === 'scripts') {
-      this.scriptsForm.edit(record)
-    } else if (type === 'columns') {
-      this.contrastForm.edit(record)
-    }
-
+  handleEdit = (record) => {
+    this.scriptsForm.edit(record)
+    
     let node = document.getElementById('model-verify-card-box-tab').parentNode
 
     if (node && node.scrollTop) {
@@ -379,7 +378,7 @@
           search = [...search, ...mainSearch]
         }
 
-        if (res.varMark && varMarks.includes(res.varMark)) {
+        if (res.varMark && varMarks.includes(res.varMark.toLowerCase())) {
           notification.warning({
             top: 92,
             message: '鍙橀噺鏍囪瘑涓嶅彲閲嶅锛�',
@@ -455,7 +454,7 @@
             search = [...search, ...mainSearch]
           }
 
-          if (res.varMark && varMarks.includes(res.varMark)) {
+          if (res.varMark && varMarks.includes(res.varMark.toLowerCase())) {
             notification.warning({
               top: 92,
               message: '鍙橀噺鏍囪瘑涓嶅彲閲嶅锛�',
@@ -588,27 +587,21 @@
             />
           </TabPane>
           <TabPane tab="瀛楁闆�" key="columns">
-            <ColForm
-              dict={this.props.dict}
-              columnChange={this.columnChange}
-              wrappedComponentRef={(inst) => this.contrastForm = inst}
-            />
+            <ColForm dict={this.props.dict} columnChange={this.columnChange}/>
             <FieldsComponent
               config={{...config, columns}}
               type="fields"
               tableFields={menu.tableFields}
               updatefield={this.updatefields}
             />
-            <Table
-              bordered
-              rowKey="uuid"
-              className="custom-table"
-              dataSource={columns}
-              columns={colColumns}
-              pagination={false}
-            />
+            <EditTable data={columns} columns={colColumns} onChange={(columns) => this.setState({columns})}/>
           </TabPane>
-          <TabPane tab="鑷畾涔夎剼鏈�" key="scripts">
+          <TabPane tab={
+            <span>
+              鑷畾涔夎剼鏈�
+              {scripts.length ? <span className="count-tip">{scripts.length}</span> : null}
+            </span>
+          } key="scripts">
             <CustomScriptsForm
               setting={setting}
               searches={searches}

--
Gitblit v1.8.0