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 | 98 ++++++++++++++++++++++++++++++------------------- 1 files changed, 60 insertions(+), 38 deletions(-) diff --git a/src/templates/zshare/createinterface/index.jsx b/src/templates/zshare/createinterface/index.jsx index 9efec6b..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, @@ -335,7 +334,7 @@ Ltexttableparam: '', Ltext: '', menuType: menu.type, - systemType: options.sysType + systemType: window.GLOB.sysType } this.setState({ @@ -406,7 +405,7 @@ new Promise(resolve => { if (btn.OpenType === 'pop') { - Api.getSystemConfig({ + Api.getCloudConfig({ func: 'sPC_Get_LongParam', MenuID: btn.uuid }).then(result => { @@ -422,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') { @@ -452,7 +445,7 @@ fieldlen: _fieldlen, key: cell.field, required: cell.required === 'true' ? 'required' : '', - writein: cell.required !== 'false', + writein: cell.writein !== 'false', value: cell.initval || '' } @@ -462,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 @@ -471,7 +466,7 @@ _field.value = '' } - return _field + formlist.push(_field) }) } resolve(true) @@ -561,7 +556,7 @@ _mainParam = fromJS(param).toJS() - return Api.getLocalConfig(param) + return Api.genericInterface(param) }).then(res => { if (res === false) return res @@ -668,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}`) @@ -720,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) { @@ -955,8 +952,10 @@ receiptKeys.push('bid') } + let _insertsql = '' + let _updatesql = '' // 娣诲姞銆佷慨鏀广�侀�昏緫鍒犻櫎銆佺墿鐞嗗垹闄� - if (_actionType === 'insert') { + if (_actionType === 'insert' || _actionType === 'insertOrUpdate') { let keys = [] let values = [] @@ -964,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())) { @@ -991,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 = [] @@ -1002,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')) { @@ -1010,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')) { @@ -1034,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 = '' @@ -1087,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} @@ -1100,7 +1123,6 @@ destroyOnClose > <MutilForm - dict={this.props.dict} formlist={this.state.formlist} wrappedComponentRef={(inst) => this.FormRef = inst} /> @@ -1110,4 +1132,4 @@ } } -export default CreateFunc +export default CreateInterface -- Gitblit v1.8.0