From 20c83dab04d53d60b5fcd08aad3d5d9fbfb4fa5c Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 19 十月 2023 19:46:05 +0800
Subject: [PATCH] Merge branch 'master' into positec

---
 src/menu/components/form/simple-form/index.jsx |  104 +++++++++++-----------------------------------------
 1 files changed, 22 insertions(+), 82 deletions(-)

diff --git a/src/menu/components/form/simple-form/index.jsx b/src/menu/components/form/simple-form/index.jsx
index 91474ce..f267c58 100644
--- a/src/menu/components/form/simple-form/index.jsx
+++ b/src/menu/components/form/simple-form/index.jsx
@@ -1,11 +1,9 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
 import { is, fromJS } from 'immutable'
-import { Popover, Modal, Button, Switch, notification, message } from 'antd'
+import { Popover, Modal, Button, Switch, message } from 'antd'
 import { PlusOutlined, SettingOutlined, EditOutlined, ToolOutlined, DeleteOutlined, FontColorsOutlined } from '@ant-design/icons'
-import moment from 'moment'
 
-import Api from '@/api'
 import asyncComponent from '@/utils/asyncComponent'
 import asyncIconComponent from '@/utils/asyncIconComponent'
 import { getModalForm } from '@/templates/zshare/formconfig'
@@ -24,7 +22,6 @@
 const NormalHeader = asyncComponent(() => import('@/menu/components/share/normalheader'))
 const CopyComponent = asyncIconComponent(() => import('@/menu/components/share/copycomponent'))
 const PasteForms = asyncIconComponent(() => import('@/menu/components/share/pasteforms'))
-const UserComponent = asyncIconComponent(() => import('@/menu/components/share/usercomponent'))
 const FieldsComponent = asyncComponent(() => import('@/templates/sharecomponent/fieldscomponent'))
 
 const { confirm } = Modal
@@ -76,26 +73,6 @@
         }]
       }
 
-      if (card.config) {
-        let config = fromJS(card.config).toJS()
-
-        _card.wrap = config.wrap
-        _card.wrap.name = card.name
-        _card.style = config.style
-
-        _card.setting = config.setting
-        _card.columns = config.columns
-        _card.scripts = config.scripts
-
-        _card.subcards = config.subcards.map(scard => {
-          scard.uuid = Utils.getuuid()
-          scard.fields = scard.fields.map(elem => {
-            elem.uuid = Utils.getuuid()
-            return elem
-          })
-          return scard
-        })
-      }
       this.updateComponent(_card)
     } else {
       let _card = fromJS(card).toJS()
@@ -421,76 +398,33 @@
    * 3銆侀�氳繃loading鍒锋柊
    */
   handleSubmit = () => {
-    this.formRef.handleConfirm().then(res => {
-      let _config = fromJS(this.state.card).toJS()
-      let fieldrepet = false // 瀛楁閲嶅
+    let _config = fromJS(this.state.card).toJS()
 
+    this.formRef.handleConfirm(_config.subcards[0].fields).then(res => {
       _config.subcards[0].fields = _config.subcards[0].fields.map(item => {
-        if (item.uuid !== res.uuid && res.field && item.field && item.field.toLowerCase() === res.field.toLowerCase()) {
-          fieldrepet = true
-        }
-
         delete item.focus
 
-        if (item.uuid === res.uuid) {
-          if (item.style) {
-            res.style = item.style
-          }
-          return res
+        if (item.uuid === res.values.uuid) {
+          return res.values
         } else {
           return item
         }
       })
 
-      if (fieldrepet) {
-        notification.warning({
-          top: 92,
-          message: '瀛楁宸插瓨鍦紒',
-          duration: 10
-        })
-        return
-      }
-
-      window.GLOB.formId = res.uuid
-      
-      if (['select', 'multiselect', 'link', 'checkbox', 'radio', 'checkcard'].includes(res.type) && res.resourceType === '1' && /\s/.test(res.dataSource)) {
+      if (res.loading) {
         this.setState({
           sqlVerifing: true
         })
 
-        let param = {
-          func: 's_debug_sql',
-          exec_type: 'y',
-          LText: `declare @mk_departmentcode nvarchar(512),@mk_organization nvarchar(512),@mk_user_type nvarchar(20)
-            ${res.dataSource}`
-        }
-
-        param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
-        param.LText = param.LText.replace(/@\$|\$@/ig, '').replace(/@(BID|ID|LoginUID|SessionUid|UserID|Appkey|time_id)@/ig, `'${param.timestamp}'`)
-        param.LText = param.LText.replace(/\n/g, ' ')
-        
-        param.LText = Utils.formatOptions(param.LText)
-        param.secretkey = Utils.encrypt('', param.timestamp)
-
-        if (window.GLOB.mainSystemApi && res.database === 'sso') {
-          param.rduri = window.GLOB.mainSystemApi
-        }
-        
-        Api.genericInterface(param).then(result => {
-          if (result.status) {
-            this.setState({
-              sqlVerifing: false,
-              editform: null,
-              visible: false
-            })
-            this.updateComponent(_config)
-          } else {
-            this.setState({sqlVerifing: false})
-            
-            Modal.error({
-              title: result.message
-            })
-          }
+        res.promise().then(() => {
+          this.setState({
+            sqlVerifing: false,
+            editform: null,
+            visible: false
+          })
+          this.updateComponent(_config)
+        }, () => {
+          this.setState({sqlVerifing: false})
         })
       } else {
         this.setState({
@@ -553,6 +487,7 @@
 
     res.enable = buttons.includes('enable') ? 'true' : 'false'
     res.closeEnable = buttons.includes('closeEnable') ? 'true' : 'false'
+    res.resetEnable = buttons.includes('resetEnable') ? 'true' : 'false'
 
     _card.wrap = res
 
@@ -569,11 +504,17 @@
     _card.subcards[0].setting.align = _card.wrap.align
     _card.subcards[0].setting.enable = _card.wrap.enable
     _card.subcards[0].setting.verticalSpace = _card.wrap.verticalSpace
+    _card.subcards[0].subButton.enable = _card.wrap.enable
 
     if (_card.wrap.closeEnable === 'true' && !_card.subcards[0].closeButton) {
       _card.subcards[0].closeButton = {label: '鍏抽棴', enable: 'true', type: 'close', style: {backgroundColor: '#ffffff', color: 'rgba(0,0,0,0.65)', borderColor: '#d9d9d9', borderWidth: '1px', paddingLeft: '25px', paddingRight: '25px', paddingTop: '5px', paddingBottom: '5px', marginLeft: '10px'}}
     } else if (_card.subcards[0].closeButton) {
       _card.subcards[0].closeButton.enable = _card.wrap.closeEnable
+    }
+    if (_card.wrap.resetEnable === 'true' && !_card.subcards[0].resetButton) {
+      _card.subcards[0].resetButton = {label: '閲嶇疆', enable: 'true', type: 'reset', style: {backgroundColor: '#ffffff', color: 'rgba(0,0,0,0.65)', borderColor: '#d9d9d9', borderWidth: '1px', paddingLeft: '25px', paddingRight: '25px', paddingTop: '5px', paddingBottom: '5px', marginLeft: '10px'}}
+    } else if (_card.subcards[0].resetButton) {
+      _card.subcards[0].resetButton.enable = _card.wrap.resetEnable
     }
 
     this.updateComponent(_card)
@@ -621,7 +562,6 @@
             <CopyComponent type="simpleform" card={card}/>
             <PasteForms config={card.subcards[0]} update={this.pasteForm} />
             <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={this.changeStyle}/>
-            <UserComponent config={card}/>
             <DeleteOutlined className="close" title="鍒犻櫎缁勪欢" onClick={() => this.props.deletecomponent(card.uuid)} />
             {card.wrap.datatype !== 'static' ? <SettingComponent config={card} updateConfig={this.updateComponent} /> : null}
             {card.wrap.datatype === 'static' ? <SettingOutlined style={{color: '#eeeeee', cursor: 'not-allowed'}}/> : null}

--
Gitblit v1.8.0