From 9d3c77a83bc4e7febbfb8fd05de2f90100c5af6c Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 15 一月 2024 17:52:42 +0800 Subject: [PATCH] 2024-01-15 --- src/tabviews/zshare/mutilform/index.jsx | 51 ++++++++++++++++++++++++++++++++++----------------- 1 files changed, 34 insertions(+), 17 deletions(-) diff --git a/src/tabviews/zshare/mutilform/index.jsx b/src/tabviews/zshare/mutilform/index.jsx index eff2368..8a3b8e9 100644 --- a/src/tabviews/zshare/mutilform/index.jsx +++ b/src/tabviews/zshare/mutilform/index.jsx @@ -47,7 +47,8 @@ send_type: '', timestamp: '', n_id: '', - focusId: '' + focusId: '', + reFocusId: '' } record = {} @@ -310,8 +311,8 @@ validator: (rule, value, callback) => { if (/'/.test(value)) { callback('涓嶅彲浣跨敤鑻辨枃鐘舵�佺殑鍗曞紩鍙凤紒') - } else if (/--/.test(value)) { - callback('涓嶅彲浣跨敤 -- 锛�') + // } else if (/--/.test(value)) { + // callback('涓嶅彲浣跨敤 -- 锛�') } else { callback() } @@ -425,8 +426,8 @@ validator: (rule, value, callback) => { if (/'/.test(value)) { callback('涓嶅彲浣跨敤鑻辨枃鐘舵�佺殑鍗曞紩鍙凤紒') - } else if (/--/.test(value)) { - callback('涓嶅彲浣跨敤 -- 锛�') + // } else if (/--/.test(value)) { + // callback('涓嶅彲浣跨敤 -- 锛�') } else { callback() } @@ -680,14 +681,24 @@ focusItem = fieldMap.get(action.setting.focus) } - this.setState({ formlist, ID, focusId: focusItem ? focusItem.uuid : '' }, () => { + let reFocusItem = null + if (action.setting.refocus && fieldMap.has(action.setting.refocus)) { + reFocusItem = fieldMap.get(action.setting.refocus) + } + + this.setState({ + formlist, + ID, + focusId: focusItem ? focusItem.uuid : '', + reFocusId: reFocusItem ? reFocusItem.uuid : '' + }, () => { if (unload) return if (focusItem) { if (focusItem.type === 'text' || focusItem.type === 'number') { setTimeout(() => { MKEmitter.emit('mkFC', 'focus', focusItem.uuid) - }, 50) + }, 20) } else { setTimeout(() => { MKEmitter.emit('mkFC', 'focus', focusItem.uuid) @@ -722,9 +733,9 @@ MKEmitter.removeListener('resetForms', this.resetForms) } - resetForms = (id) => { + resetForms = (id, data) => { const { action } = this.props - const { focusId } = this.state + const { focusId, reFocusId } = this.state if (id !== action.uuid) return @@ -735,8 +746,14 @@ if (item.type !== 'text' && item.type !== 'number') return item if (resetForms.includes(item.field)) { - item.initval = item.orgval - this.record[item.field] = item.orgval + let key = item.field.toLowerCase() + if (typeof(data[key]) !== 'undefined') { + item.initval = data[key] + this.record[item.field] = data[key] + } else { + item.initval = item.orgval + this.record[item.field] = item.orgval + } } return item @@ -760,10 +777,10 @@ }) }) - if (focusId || this.submitId) { + if (reFocusId || focusId || this.submitId) { setTimeout(() => { - MKEmitter.emit('mkFC', 'focus', this.submitId || focusId) - }, 50) + MKEmitter.emit('mkFC', 'focus', this.submitId || reFocusId || focusId) + }, 20) } } @@ -1232,9 +1249,9 @@ className = 'checkcard' content = (<MKCheckCard config={item} onChange={(val, other) => this.recordChange({[item.field]: val, ...other}, item)}/>) } else if (item.type === 'switch') { - content = (<MKSwitch config={item} onChange={(val, other) => this.recordChange({[item.field]: val, ...other}, item)}/>) + content = (<MKSwitch config={item} onChange={(val, other) => this.recordChange({[item.field]: val, ...other}, item)} onSubmit={this.props.inputSubmit}/>) } else if (item.type === 'check') { - content = (<MKCheck config={item} onChange={(val) => this.recordChange({[item.field]: val}, item)}/>) + content = (<MKCheck config={item} onChange={(val) => this.recordChange({[item.field]: val}, item)} onSubmit={this.props.inputSubmit}/>) } else if (item.type === 'checkbox') { content = (<MKCheckbox config={item} onChange={(val) => this.recordChange({[item.field]: val})}/>) } else if (item.type === 'radio') { @@ -1244,7 +1261,7 @@ } else if (item.type === 'fileupload') { className = item.readonly ? 'readonly' : '' className += item.fileType === 'picture-card' ? ' file-upload' : '' - content = (<MKFileUpload config={item} onChange={(val, other = {}) => this.recordChange({[item.field]: val, ...other})} />) + content = (<MKFileUpload config={item} data={this.record} onChange={(val, other = {}) => this.recordChange({[item.field]: val, ...other})} />) } else if (item.type === 'textarea') { content = (<MKTextArea config={item} onChange={(val, defer) => !defer && this.recordChange({[item.field]: val})}/>) } else if (item.type === 'rate') { -- Gitblit v1.8.0