From da64ab0923bf8817fc8599a6e37b953ce38f64c8 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期日, 27 八月 2023 18:37:36 +0800
Subject: [PATCH] 2023-08-27

---
 src/templates/zshare/createinterface/index.jsx |  108 +++++++++++++++++++++++++++++++----------------------
 1 files changed, 63 insertions(+), 45 deletions(-)

diff --git a/src/templates/zshare/createinterface/index.jsx b/src/templates/zshare/createinterface/index.jsx
index e9133b3..b5d117a 100644
--- a/src/templates/zshare/createinterface/index.jsx
+++ b/src/templates/zshare/createinterface/index.jsx
@@ -6,13 +6,12 @@
 
 import MutilForm from './mutilform'
 import Utils from '@/utils/utils.js'
-import options from '@/store/options.js'
+import { updateForm } from '@/utils/utils-update.js'
 import Api from '@/api'
 import './index.scss'
 
-class CreateFunc extends Component {
+class CreateInterface extends Component {
   static propTypes = {
-    dict: PropTypes.object,  // 瀛楀吀椤�
     trigger: PropTypes.func
   }
 
@@ -170,10 +169,10 @@
         required: true,
         options: [{
           value: 'Y',
-          text: this.props.dict['model.true']
+          text: '鏄�'
         }, {
           value: 'N',
-          text: this.props.dict['model.false']
+          text: '鍚�'
         }]
       }, {
         type: 'radio',
@@ -183,10 +182,10 @@
         required: true,
         options: [{
           value: 'Y',
-          text: this.props.dict['model.true']
+          text: '鏄�'
         }, {
           value: 'N',
-          text: this.props.dict['model.false']
+          text: '鍚�'
         }]
       }]
     })
@@ -261,7 +260,7 @@
 
     new Promise(resolve => {
       // 鑾峰彇浜戠瀛樺偍杩囩▼淇℃伅
-      Api.getLocalConfig(param).then(result => {
+      Api.genericInterface(param).then(result => {
         if (!result.status) {
           notification.warning({
             top: 92,
@@ -276,12 +275,7 @@
     }).then(res => {
       if (res === false) return res
 
-      if (window.GLOB.mainSystemApi) {
-        _mainParam.rduri = window.GLOB.mainSystemApi
-
-        return Api.getLocalConfig(_mainParam)
-      }
-      return 'success'
+      return Api.getCloudConfig(_mainParam)
     }).then(result => {
       if (result === false || result === 'success') return result
       
@@ -340,7 +334,7 @@
       Ltexttableparam: '',
       Ltext: '',
       menuType: menu.type,
-      systemType: options.sysType
+      systemType: window.GLOB.sysType
     }
 
     this.setState({
@@ -411,7 +405,7 @@
 
     new Promise(resolve => {
       if (btn.OpenType === 'pop') {
-        Api.getSystemConfig({
+        Api.getCloudConfig({
           func: 'sPC_Get_LongParam',
           MenuID: btn.uuid
         }).then(result => {
@@ -427,20 +421,14 @@
                 _LongParam = ''
               }
             }
-            let fields = []
 
             if (_LongParam && _LongParam.type === 'Modal') {
-              if (_LongParam.groups.length > 0) {
-                _LongParam.groups.forEach(group => {
-                  fields = [...fields, ...group.sublist]
-                })
-              } else {
-                fields = _LongParam.fields
-              }
+              _LongParam = updateForm(_LongParam)
             }
 
-            if (fields && fields.length > 0) {
-              formlist = fields.map(cell => {
+            if (_LongParam && _LongParam.fields.length > 0) {
+              _LongParam.fields.forEach(cell => {
+                if (!cell.field) return 
                 let _fieldlen = cell.fieldlength || 50
 
                 if (cell.type === 'textarea' || cell.type === 'fileupload' || cell.type === 'multiselect') {
@@ -457,7 +445,7 @@
                   fieldlen: _fieldlen,
                   key: cell.field,
                   required: cell.required === 'true' ? 'required' : '',
-                  writein: cell.required !== 'false',
+                  writein: cell.writein !== 'false',
                   value: cell.initval || ''
                 }
 
@@ -467,6 +455,8 @@
                   _fieldtype = 'datetime'
                 } else if (_field.type === 'number') {
                   _fieldtype = `decimal(18,${_fieldlen})`
+                } else if (_field.type === 'rate') {
+                  _fieldtype = `decimal(18,2)`
                 }
 
                 _field.fieldtype = _fieldtype
@@ -476,7 +466,7 @@
                   _field.value = ''
                 }
 
-                return _field
+                formlist.push(_field)
               })
             }
             resolve(true)
@@ -566,7 +556,7 @@
 
       _mainParam = fromJS(param).toJS()
 
-      return Api.getLocalConfig(param)
+      return Api.genericInterface(param)
     }).then(res => {
       if (res === false) return res
 
@@ -673,6 +663,8 @@
           _type = 'datetime'
         } else if (form.type === 'number') {
           _type = `decimal(18,${form.fieldlen})`
+        } else if (form.type === 'rate') {
+          _type = `decimal(18,2)`
         }
 
         _declarefields.push(`@${_key} ${_type}`)
@@ -714,7 +706,8 @@
     }
     _sql = `/* 绯荤粺鐢熸垚 */
         Declare @tbid nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@BillCode nvarchar(50),@BVoucher nvarchar(50),@FIBVoucherDate nvarchar(50), @FiYear nvarchar(50), @UserName nvarchar(50),@FullName nvarchar(50),@ModularDetailCode nvarchar(50)${_declarefields}
-
+        
+        select @UserName='',@FullName=''
         select @UserName=UserName,@FullName=FullName from SUsers where UID=@UserID@
       `
 
@@ -724,10 +717,10 @@
         `
     }
 
-    if (_initcolumnfields.length > 0) {
-      _sql += `select ${_initcolumnfields.join(',')} from ${setting.dataresource} where ${primaryKey}=@ID@
-        `
-    }
+    // if (_initcolumnfields.length > 0) {
+    //   _sql += `select ${_initcolumnfields.join(',')} from (${setting.dataresource})tb where ${primaryKey}=@ID@
+    //     `
+    // }
     
     // 鍘婚櫎绂佺敤鐨勯獙璇�
     if (verify.contrasts) {
@@ -959,8 +952,10 @@
       receiptKeys.push('bid')
     }
 
+    let _insertsql = ''
+    let _updatesql = ''
     // 娣诲姞銆佷慨鏀广�侀�昏緫鍒犻櫎銆佺墿鐞嗗垹闄�
-    if (_actionType === 'insert') {
+    if (_actionType === 'insert' || _actionType === 'insertOrUpdate') {
       let keys = []
       let values = []
 
@@ -968,7 +963,7 @@
         if (item.writein === false) return
 
         keys.push(item.key.toLowerCase())
-        values.push('@' + item.key + '@')
+        values.push('@' + item.key)
       })
 
       if (!keys.includes(primaryKey.toLowerCase())) {
@@ -995,10 +990,12 @@
 
       keys = keys.join(',')
       values = values.join(',')
-      _sql += `
+      _insertsql = `
         /* 榛樿sql */
         insert into ${btn.sql} (${keys}) select ${values};`
-    } else if (_actionType === 'update') {
+    }
+
+    if (_actionType === 'update' || _actionType === 'audit' || _actionType === 'insertOrUpdate') {
       let _form = []
       let _arr = []
 
@@ -1006,7 +1003,7 @@
         if (item.writein === false) return
 
         _arr.push(item.key.toLowerCase())
-        _form.push(item.key + `=@${item.key}@`)
+        _form.push(item.key + `=@${item.key}`)
       })
       
       if (!_arr.includes('modifydate')) {
@@ -1014,6 +1011,9 @@
       }
       if (!_arr.includes('modifyuserid')) {
         _form.push('modifyuserid=@userid@')
+      }
+      if (!_arr.includes('modifyuser')) {
+        _form.push('modifyuser=@username')
       }
       if (hasvoucher) {
         if (!_arr.includes('bvoucher')) {
@@ -1038,13 +1038,32 @@
       }
 
       _form = _form.join(',')
-      _sql += `
+      _updatesql = `
         /* 榛樿sql */
         update ${btn.sql} set ${_form} where ${primaryKey}=@${primaryKey}@;`
+    }
+    
+    if (_actionType === 'insert') {
+      _sql += _insertsql
+    } else if (_actionType === 'update' || _actionType === 'audit') {
+      _sql += _updatesql
+    } else if (_actionType === 'insertOrUpdate') {
+      _sql += `
+        select @tbid=''
+        select @tbid='X' from ${btn.sql} where ${primaryKey}=@ID@
+        if @tbid=''
+          begin
+          ${_insertsql}
+          end
+        else
+          begin
+          ${_updatesql}
+          end
+      `
     } else if (_actionType === 'LogicDelete') { // 閫昏緫鍒犻櫎
       _sql += `
         /* 榛樿sql */
-        update ${btn.sql} set deleted=1,modifydate=getdate(),modifyuserid=@userid@ where ${primaryKey}=@${primaryKey}@;`
+        update ${btn.sql} set deleted=1,modifydate=getdate(),modifyuser=@username,modifystaff=@fullname,modifyuserid=@userid@ where ${primaryKey}=@${primaryKey}@;`
       
     } else if (_actionType === 'delete') {      // 鐗╃悊鍒犻櫎
       let _msg = ''
@@ -1091,11 +1110,11 @@
           onClick={this.props.trigger}
           loading={this.state.loading}
         >
-          {this.props.dict['header.menu.interface.create']}
+          鍒涘缓鎺ュ彛
         </Button>
         {/* 鎺ュ彛閫夐」 */}
         <Modal
-          title={this.props.dict['header.menu.interface.create']}
+          title="鍒涘缓鎺ュ彛"
           visible={this.state.visible}
           width={500}
           maskClosable={false}
@@ -1104,7 +1123,6 @@
           destroyOnClose
         >
           <MutilForm
-            dict={this.props.dict}
             formlist={this.state.formlist}
             wrappedComponentRef={(inst) => this.FormRef = inst}
           />
@@ -1114,4 +1132,4 @@
   }
 }
 
-export default CreateFunc
+export default CreateInterface

--
Gitblit v1.8.0