From bdfec44c9f3a37dbbe05bf14a252ffec04132a86 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 06 九月 2022 21:24:28 +0800
Subject: [PATCH] Merge branch 'develop'

---
 src/templates/formtabconfig/index.jsx |  327 ++----------------------------------------------------
 1 files changed, 13 insertions(+), 314 deletions(-)

diff --git a/src/templates/formtabconfig/index.jsx b/src/templates/formtabconfig/index.jsx
index aef7eda..c01acf3 100644
--- a/src/templates/formtabconfig/index.jsx
+++ b/src/templates/formtabconfig/index.jsx
@@ -5,8 +5,8 @@
 import { DndProvider } from 'react-dnd'
 import HTML5Backend from 'react-dnd-html5-backend'
 import moment from 'moment'
-import { Button, Card, Modal, Collapse, notification, Spin, Select, List, Empty, Switch, Tooltip } from 'antd'
-import { QuestionCircleOutlined, CloseOutlined, RedoOutlined, SettingOutlined, PlusOutlined, DeleteOutlined, EditOutlined, SnippetsOutlined } from '@ant-design/icons'
+import { Button, Card, Modal, Collapse, notification, Spin, Switch, Tooltip } from 'antd'
+import { QuestionCircleOutlined, RedoOutlined, SettingOutlined, PlusOutlined, DeleteOutlined, EditOutlined, SnippetsOutlined } from '@ant-design/icons'
 
 import Api from '@/api'
 import zhCN from '@/locales/zh-CN/model.js'
@@ -22,7 +22,6 @@
 import SettingForm from './settingform'
 import DragElement from './dragelement'
 import GroupForm from './groupform'
-import EditCard from '@/templates/zshare/editcard'
 
 import MenuForm from '@/templates/zshare/menuform'
 import SourceElement from '@/templates/zshare/dragsource'
@@ -31,7 +30,6 @@
 import './index.scss'
 
 const { Panel } = Collapse
-const { Option } = Select
 const { confirm } = Modal
 const ModalForm = asyncComponent(() => import('@/templates/zshare/modalform'))
 const CreateFunc = asyncComponent(() => import('@/templates/zshare/createfunc'))
@@ -49,7 +47,6 @@
     dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS,        // 瀛楀吀
     config: null,            // 椤甸潰閰嶇疆
     modaltype: '',           // 妯℃�佹绫诲瀷锛屾帶鍒舵ā鎬佹鏄剧ず
-    tableVisible: false,     // 鏁版嵁琛ㄥ瓧娈垫ā鎬佹
     tableColumns: [],        // 琛ㄦ牸鏄剧ず鍒�
     fields: null,            // 鎼滅储鏉′欢鍙婃樉绀哄垪锛屽彲閫夊瓧娈�
     menuformlist: null,      // 鍩烘湰淇℃伅琛ㄥ崟瀛楁
@@ -61,7 +58,6 @@
     settingVisible: false,   // 鍏ㄥ眬閰嶇疆妯℃�佹
     closeVisible: false,     // 鍏抽棴妯℃�佹
     tables: [],              // 鍙敤琛ㄥ悕
-    selectedTables: [],      // 宸查�夎〃鍚�
     originMenu: null,        // 鍘熷鑿滃崟
     delActions: [],          // 鍒犻櫎鎸夐挳鍒楄〃
     tabviews: [],            // 鎵�鏈夋爣绛鹃〉
@@ -143,7 +139,6 @@
       openEdition: btnTab.open_edition || '',
       columns: columns,
       originMenu: JSON.parse(JSON.stringify(_config)),
-      selectedTables: _config.tables,
       menuformlist: [
         {
           type: 'text',
@@ -195,73 +190,6 @@
           duration: 5
         })
       }
-    })
-
-    let deffers = this.state.selectedTables.map(item => {
-      return new Promise(resolve => {
-        Api.getSystemConfig({func: 'sPC_Get_FieldName', TBName: item.TbName}).then(res => {
-          res.TBName = item.TbName
-          resolve(res)
-        })
-      })
-    })
-    Promise.all(deffers).then(response => {
-      let _columns = []
-      response.forEach(res => {
-        if (res.status) {
-          let tabmsg = {
-            tableName: res.TBName,
-            columns: res.FDName.map(item => {
-              let _type = item.FieldType.toLowerCase()
-              let _decimal = 0
-              if (/^nvarchar/.test(_type)) {
-                _type = 'text'
-              } else if (/^int/.test(_type)) {
-                _type = 'number'
-              } else if (/^decimal/.test(_type)) {
-                _decimal = _type.split(',')[1]
-                _decimal = parseInt(_decimal)
-                if (_decimal > 4) {
-                  _decimal = 4
-                }
-                _type = 'number'
-              } else if (/^decimal/.test(_type)) {
-                _decimal = _type.split(',')[1]
-                _decimal = parseInt(_decimal)
-                if (_decimal > 4) {
-                  _decimal = 4
-                }
-                _type = 'number'
-              } else if (/^datetime/.test(_type)) {
-                _type = 'datetime'
-              } else if (/^date/.test(_type)) {
-                _type = 'date'
-              } else {
-                _type = 'text'
-              }
-  
-              return {
-                field: item.FieldName,
-                label: item.FieldDec,
-                type: _type,
-                datatype: _type,
-                decimal: _decimal
-              }
-            })
-          }
-          _columns.push(tabmsg)
-        } else {
-          notification.warning({
-            top: 92,
-            message: res.message,
-            duration: 5
-          })
-        }
-      })
-
-      this.setState({
-        tableColumns: _columns
-      })
     })
 
     Api.getSystemConfig({func: 'sPC_Get_UserTemp', TypeCharTwo: 'tab'}).then(res => {
@@ -608,7 +536,7 @@
             param.rduri = window.GLOB.mainSystemApi
           }
           
-          Api.getLocalConfig(param).then(result => {
+          Api.genericInterface(param).then(result => {
             if (result.status) {
               this.setState({
                 sqlVerifing: false,
@@ -749,7 +677,7 @@
         param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
         param.secretkey = Utils.encrypt(param.LText, param.timestamp)
 
-        Api.getLocalConfig(param)
+        Api.genericInterface(param)
       }
 
       let _config = {...config, setting: setting}
@@ -856,7 +784,7 @@
       }
 
       let _LongParam = ''
-      let _config = {...config, tables: this.state.selectedTables}
+      let _config = {...config}
 
       // 鏁版嵁鏉ユ簮涓烘煡璇笖鏈缃富閿椂锛屽惎鐢ㄤ负false
       if (_config.setting.datatype === 'query' && !_config.setting.primaryKey) {
@@ -1227,7 +1155,7 @@
         onCancel() {}
       })
     } else {
-      let _config = {...config, tables: this.state.selectedTables}
+      let _config = {...config}
 
       if (!is(fromJS(_config), fromJS(originMenu))) {
         this.setState({
@@ -1237,174 +1165,6 @@
         this.handleViewBack()
       }
     }
-  }
-
-  queryField = (type) => {
-    const {selectedTables, tableColumns, config} = this.state
-    // 鍒ゆ柇鏄惁宸查�夋嫨琛ㄥ悕
-    if (selectedTables.length === 0) {
-      notification.warning({
-        top: 92,
-        message: '璇烽�夋嫨琛ㄥ悕锛�',
-        duration: 5
-      })
-      return
-    }
-
-    // 琛ㄥ瓧娈甸泦杞负map鏁版嵁
-    let columns = new Map()
-    tableColumns.forEach(table => {
-      table.columns.forEach(column => {
-        columns.set(column.field, column)
-      })
-    })
-
-    if (type === 'search') {
-      // 娣诲姞鎼滅储鏉′欢锛屽瓧娈甸泦涓瓨鍦ㄦ悳绱㈡潯浠跺瓧娈碉紝浣跨敤鎼滅储鏉′欢瀵硅薄鏇挎崲瀛楁闆嗭紝璁剧疆鏁版嵁绫诲瀷
-      config.groups.forEach(group => {
-        group.sublist.forEach(item => {
-          if (columns.has(item.field)) {
-            let _datatype = columns.get(item.field).datatype
-            columns.set(item.field, {...item, selected: true, datatype: _datatype})
-          }
-        })
-      })
-    }
-
-    // 鏄剧ず瀛楁闆嗗脊绐�
-    this.setState({
-      tableVisible: true,
-      fields: [...columns.values()]
-    })
-  }
-
-  addFieldSubmit = () => {
-    const {config} = this.state
-    // 瀛楁闆嗕负绌猴紝鍏抽棴寮圭獥
-    if (!this.state.fields || this.state.fields.length === 0) {
-      this.setState({
-        tableVisible: false,
-      })
-    }
-
-    // 鑾峰彇宸查�夊瓧娈甸泦鍚�
-    let cards = this.refs.searchcard.state.selectCards
-    let columnsMap = new Map()
-    cards.forEach(card => {
-      columnsMap.set(card.field, card)
-    })
-
-    let groups = config.groups.map(group => {
-      group.sublist = group.sublist.map(item => {
-        if (columnsMap.has(item.field)) {
-          let cell = columnsMap.get(item.field)
-  
-          if (cell.selected && cell.type !== item.type) { // 鏁版嵁绫诲瀷淇敼
-            item.type = cell.type
-            item.initval = ''
-          }
-          columnsMap.delete(item.field)
-        }
-        return item
-      })
-      return group
-    })
-
-    let items =  [...columnsMap.values()].map(item => {
-      let newcard = {
-        uuid: Utils.getuuid(),
-        label: item.label,
-        field: item.field,
-        initval: '',
-        type: item.type,
-        resourceType: '0',
-        options: [],
-        orderType: 'asc'
-      }
-
-      return newcard
-    })
-
-    groups = groups.map(group => {
-      if (group.isDefault) {
-        group.sublist = [...group.sublist, ...items]
-        group.sublist = group.sublist.filter(item => !item.origin)
-      }
-      return group
-    })
-
-    this.setState({
-      config: {...config, groups: groups}
-    })
-    notification.success({
-      top: 92,
-      message: '鎿嶄綔鎴愬姛',
-      duration: 2
-    })
-  }
-
-  onTableChange = (value) => {
-    const {tables, selectedTables, tableColumns} = this.state
-
-    let _table = tables.filter(item => item.TbName === value)[0]
-    let isSelected = !!selectedTables.filter(cell => cell.TbName === value)[0]
-    if (!isSelected) {
-      this.setState({
-        selectedTables: [...selectedTables, _table]
-      })
-      Api.getSystemConfig({func: 'sPC_Get_FieldName', TBName: value}).then(res => {
-        if (res.status) {
-          let tabmsg = {
-            tableName: _table.name,
-            columns: res.FDName.map(item => {
-              let _type = item.FieldType.toLowerCase()
-              let _decimal = 0
-              if (/^nvarchar/.test(_type)) {
-                _type = 'text'
-              } else if (/^int/.test(_type)) {
-                _type = 'number'
-              } else if (/^decimal/.test(_type)) {
-                _decimal = _type.split(',')[1]
-                _decimal = parseInt(_decimal)
-                _type = 'number'
-              } else if (/^datetime/.test(_type)) {
-                _type = 'datetime'
-              } else if (/^date/.test(_type)) {
-                _type = 'date'
-              } else {
-                _type = 'text'
-              }
-
-              return {
-                field: item.FieldName,
-                label: item.FieldDec,
-                type: _type,
-                datatype: _type,
-                decimal: _decimal
-              }
-            })
-          }
-          this.setState({
-            tableColumns: [...tableColumns, tabmsg]
-          })
-        } else {
-          notification.warning({
-            top: 92,
-            message: res.message,
-            duration: 5
-          })
-        }
-      })
-    }
-  }
-
-  deleteTable = (table) => {
-    const {selectedTables, tableColumns} = this.state
-
-    this.setState({
-      selectedTables: selectedTables.filter(item => item.TbName !== table.TbName),
-      tableColumns: tableColumns.filter(item => item.tableName !== table.TbName)
-    })
   }
 
   changeSetting = () => {
@@ -1434,7 +1194,7 @@
         param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
         param.secretkey = Utils.encrypt(param.LText, param.timestamp)
 
-        Api.getLocalConfig(param)
+        Api.genericInterface(param)
       }
 
       if (res.interType === 'inner' && !res.innerFunc && res.dataresource && /\s/.test(res.dataresource)) {
@@ -1454,7 +1214,7 @@
         param.LText = Utils.formatOptions(param.LText)
         param.secretkey = Utils.encrypt('', param.timestamp)
         
-        Api.getLocalConfig(param).then(result => {
+        Api.genericInterface(param).then(result => {
           if (result.status) {
             this.setState({
               sqlVerifing: false,
@@ -1493,7 +1253,7 @@
       })
     } else {
       this.menuformRef.handleConfirm().then(res => {
-        let _config = {...config, tables: this.state.selectedTables}
+        let _config = {...config}
 
         if (!is(fromJS(originMenu), fromJS(_config))) {
           notification.warning({
@@ -1778,43 +1538,6 @@
                   formlist={this.state.menuformlist}
                   wrappedComponentRef={(inst) => this.menuformRef = inst}
                 />
-                {/* 琛ㄥ悕娣诲姞 */}
-                <div className="ant-col ant-form-item-label">
-                  <label>
-                    <Tooltip placement="topLeft" title="姝ゅ鍙互娣诲姞閰嶇疆鐩稿叧鐨勫父鐢ㄨ〃锛屽湪娣诲姞鎼滅储鏉′欢鍜屾樉绀哄垪鏃讹紝鍙�氳繃宸ュ叿鏍忎腑鐨勬坊鍔犳寜閽紝鎵归噺娣诲姞琛ㄦ牸鐩稿叧瀛楁銆�">
-                      <QuestionCircleOutlined className="mk-form-tip" />
-                      {this.state.dict['header.menu.table.add']}
-                    </Tooltip>
-                  </label>
-                </div>
-                <Select
-                  showSearch
-                  className="tables"
-                  style={{ width: '100%' }}
-                  optionFilterProp="children"
-                  value="璇烽�夋嫨琛ㄥ悕"
-                  onChange={this.onTableChange}
-                  showArrow={false}
-                  getPopupContainer={() => document.getElementById('common-basedata')}
-                  filterOption={(input, option) => {
-                    return option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0 ||
-                      option.props.value.toLowerCase().indexOf(input.toLowerCase()) >= 0
-                  }}
-                > 
-                  {this.state.tables.map((table, index) => (
-                    <Option key={index} title={table.TbName} value={table.TbName}>{table.Remark}</Option>
-                  ))}
-                </Select>
-                {this.state.selectedTables.length > 0 && <List
-                  size="small"
-                  bordered
-                  dataSource={this.state.selectedTables}
-                  renderItem={(item, index) => <List.Item key={index} title={item.Remark + ' (' + item.TbName + ')'}>
-                    {item.Remark + ' (' + item.TbName + ')'}
-                    <CloseOutlined onClick={() => this.deleteTable(item)}/>
-                    <div className="bottom-mask"></div>
-                  </List.Item>}
-                />}
               </Panel>
               {/* 鎼滅储鏉′欢娣诲姞 */}
               <Panel header={this.state.dict['header.menu.form']} key="1">
@@ -1823,7 +1546,6 @@
                     return (<SourceElement key={index} content={item}/>)
                   })}
                 </div>
-                <Button type="primary" block onClick={() => this.queryField('search')}>鎵归噺娣诲姞</Button>
               </Panel>
               {/* 鎸夐挳娣诲姞 */}
               <Panel header={this.state.dict['header.menu.action']} key="2">
@@ -1877,9 +1599,9 @@
               </div>
             } style={{ width: '100%' }}>
               <SettingOutlined onClick={this.changeSetting} />
-              <Tooltip placement="bottomLeft" overlayClassName="middle" title="鍦ㄥ乏渚у伐鍏锋爮銆婃悳绱€�嬩腑锛岄�夋嫨瀵瑰簲鎼滅储妗嗘嫋鑷虫澶勬坊鍔狅紱鎴栫偣鍑绘寜閽�婃坊鍔犳悳绱㈡潯浠躲�嬫壒閲忔坊鍔狅紝閫夋嫨鎵归噺娣诲姞鏃讹紝闇�鎻愬墠閫夋嫨浣跨敤琛ㄣ��">
+              {/* <Tooltip placement="bottomLeft" overlayClassName="middle" title="鍦ㄥ乏渚у伐鍏锋爮銆婃悳绱€�嬩腑锛岄�夋嫨瀵瑰簲鎼滅储妗嗘嫋鑷虫澶勬坊鍔狅紱鎴栫偣鍑绘寜閽�婃坊鍔犳悳绱㈡潯浠躲�嬫壒閲忔坊鍔狅紝閫夋嫨鎵归噺娣诲姞鏃讹紝闇�鎻愬墠閫夋嫨浣跨敤琛ㄣ��">
                 <QuestionCircleOutlined style={{position: 'relative', color: '#c49f47', left: '5px', top: '20px'}} />
-              </Tooltip>
+              </Tooltip> */}
               <Collapse
                 activeKey={config.groups.map(group => group.uuid)}
                 expandIconPosition={'right'}
@@ -1910,9 +1632,9 @@
                 ))}
               </Collapse>
               <div className="action-list">
-                <Tooltip placement="bottomLeft" overlayClassName="middle" title="鍦ㄥ乏渚у伐鍏锋爮銆婃寜閽�嬩腑锛岄�夋嫨瀵瑰簲绫诲瀷鐨勬寜閽嫋鑷虫澶勬坊鍔狅紝濡傞�夋嫨鎸夐挳绫诲瀷涓鸿〃鍗曘�佹柊鏍囩椤电瓑鍚湁閰嶇疆椤甸潰鐨勬寜閽紝鍙湪宸︿晶宸ュ叿鏍�-鎸夐挳-鍙厤缃寜閽锛岀偣鍑绘寜閽畬鎴愮浉鍏抽厤缃�傛敞锛氬綋璁剧疆鎸夐挳鏄剧ず浣嶇疆涓鸿〃鏍兼椂锛屾樉绀哄垪浼氬鍔犳搷浣滃垪銆�">
+                {/* <Tooltip placement="bottomLeft" overlayClassName="middle" title="鍦ㄥ乏渚у伐鍏锋爮銆婃寜閽�嬩腑锛岄�夋嫨瀵瑰簲绫诲瀷鐨勬寜閽嫋鑷虫澶勬坊鍔狅紝濡傞�夋嫨鎸夐挳绫诲瀷涓鸿〃鍗曘�佹柊鏍囩椤电瓑鍚湁閰嶇疆椤甸潰鐨勬寜閽紝鍙湪宸︿晶宸ュ叿鏍�-鎸夐挳-鍙厤缃寜閽锛岀偣鍑绘寜閽畬鎴愮浉鍏抽厤缃�傛敞锛氬綋璁剧疆鎸夐挳鏄剧ず浣嶇疆涓鸿〃鏍兼椂锛屾樉绀哄垪浼氬鍔犳搷浣滃垪銆�">
                   <QuestionCircleOutlined style={{position: 'absolute', color: '#c49f47', left: '5px', top: '5px'}} />
-                </Tooltip>
+                </Tooltip> */}
                 <DragElement
                   type="action"
                   list={this.state.config.action}
@@ -1974,29 +1696,6 @@
             inputSubmit={this.handleSubmit}
             wrappedComponentRef={(inst) => this.actionFormRef = inst}
           />
-        </Modal>
-        {/* 鏍规嵁瀛楁鍚嶆坊鍔犳樉绀哄垪鍙婃悳绱㈡潯浠� */}
-        <Modal
-          wrapClassName="common-table-fields-modal"
-          title={this.state.dict['model.edit']}
-          visible={this.state.tableVisible}
-          width={'65vw'}
-          maskClosable={false}
-          cancelText={this.state.dict['model.close']}
-          onOk={this.addFieldSubmit}
-          onCancel={() => { // 鍙栨秷娣诲姞
-            this.setState({
-              tableVisible: false
-            })
-          }}
-          destroyOnClose
-        >
-          {this.state.fields && this.state.fields.length > 0 ?
-            <EditCard data={this.state.fields} ref="searchcard" type={'form'} dict={this.state.dict} /> : null
-          }
-          {(!this.state.fields || this.state.fields.length === 0) &&
-            <Empty />
-          }
         </Modal>
         {/* 鎸夐挳浣跨敤绯荤粺瀛樺偍杩囩▼鏃讹紝楠岃瘉淇℃伅妯℃�佹 */}
         <Modal

--
Gitblit v1.8.0