| | |
| | | const MKTextArea = asyncComponent(() => import('./mkTextArea')) |
| | | const MKFileUpload = asyncComponent(() => import('../fileupload')) |
| | | const MKColor = asyncComponent(() => import('./mkColor')) |
| | | const MkFormula = asyncComponent(() => import('./mkFormula')) |
| | | const MKEditor = asyncComponent(() => import('@/components/editor')) |
| | | |
| | | class MainSearch extends Component { |
| | |
| | | linkFields[item.linkField].push({field: item.field, uuid: item.uuid}) |
| | | } |
| | | |
| | | if (item.type === 'split') return true |
| | | if (item.style) { |
| | | delete item.style.marginTop |
| | | delete item.style.marginBottom |
| | | delete item.style.marginLeft |
| | | delete item.style.marginRight |
| | | } |
| | | |
| | | if (item.type === 'split' || item.type === 'formula') return true |
| | | if (item.type === 'hint') { |
| | | if (item.field && data && data[item.field]) { |
| | | item.message = data[item.field] |
| | |
| | | } |
| | | |
| | | if (!item.field || !['text', 'number', 'switch', 'rate', 'select', 'link', 'linkMain', 'funcvar', 'date', 'datemonth', 'radio', 'checkbox', 'checkcard', 'fileupload', 'textarea', 'multiselect', 'brafteditor', 'color'].includes(item.type)) return false |
| | | |
| | | if (/^\s+$/.test(item.label)) { |
| | | item.style = item.style || {} |
| | | item.style.color = 'transparent' |
| | | } |
| | | |
| | | // 数据自动填充 |
| | | let readin = item.readin !== 'false' |
| | |
| | | |
| | | if (['select', 'link', 'radio', 'checkbox', 'checkcard', 'multiselect'].includes(item.type)) { |
| | | item.options = item.options || [] |
| | | // item.options = item.options.map(cell => { |
| | | // cell.value = cell.Value |
| | | // cell.label = cell.Text |
| | | |
| | | // return cell |
| | | // }) |
| | | item.options = item.options.filter(cell => { |
| | | cell.value = cell.Value |
| | | cell.label = cell.Text |
| | |
| | | } |
| | | let _rules = [{ |
| | | pattern: /^[^']*$/ig, |
| | | message: formRule.input.quotemsg |
| | | message: '不可使用英文状态的单引号!' |
| | | }, { |
| | | pattern: /^[^--]*$/ig, |
| | | message: '不可使用 -- !' |
| | | }, { |
| | | required: item.required === 'true', |
| | | message: item.label + '不可为空!' |
| | | }, { |
| | | max: item.fieldlength, |
| | | message: formRule.input.formMessage.replace('@max', item.fieldlength) |
| | | }] |
| | | |
| | | if (!item.lenControl || item.lenControl === 'limit') { |
| | | _rules.push({ |
| | | max: item.fieldlength, |
| | | message: formRule.input.formMessage.replace('@max', item.fieldlength) |
| | | }) |
| | | } |
| | | |
| | | if (item.regular) { |
| | | if (item.regular === 'number') { |
| | |
| | | }) |
| | | } else if (item.regular === 'letter&number') { |
| | | _rules.push({ |
| | | pattern: /^[a-zA-Z0-9]*$/ig, |
| | | message: formRule.input.letternummsg |
| | | pattern: /^[a-zA-Z0-9@_.]*$/ig, |
| | | message: '请输入数字、字母以及@_.' |
| | | }) |
| | | } else if (item.regular === 'phone') { |
| | | _rules.push({ |
| | | pattern: /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/ig, |
| | | message: '请正确输入手机号' |
| | | }) |
| | | } else if (item.regular === 'email') { |
| | | _rules.push({ |
| | | pattern: /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/, |
| | | message: '请正确输入邮箱地址' |
| | | }) |
| | | } else if (item.regular === 'funcname') { |
| | | _rules.push({ |
| | |
| | | if (item.encryption !== 'true') { |
| | | _rules.push({ |
| | | pattern: /^[^']*$/ig, |
| | | message: formRule.input.quotemsg |
| | | message: '不可使用英文状态的单引号!' |
| | | }, { |
| | | pattern: /^[^--]*$/ig, |
| | | message: '不可使用 -- !' |
| | | }) |
| | | } |
| | | item.rules = _rules |
| | |
| | | if (item.type === 'split') { |
| | | fields.push( |
| | | <Col span={24} key={index}> |
| | | <p className="mk-form-split-line">{item.label}</p> |
| | | <p className="mk-form-split-line" style={item.style}>{item.label}</p> |
| | | </Col> |
| | | ) |
| | | } else if (item.type === 'hint') { |
| | | fields.push( |
| | | <Col span={item.span || 24} key={index}> |
| | | <Form.Item className="hint" colon={!!item.label} label={item.label || ' '} labelCol={item.labelCol} wrapperCol={item.wrapperCol}> |
| | | <div className="message">{item.message}</div> |
| | | <Form.Item className="hint" colon={false} label={item.label ? <span className="mk-form-label" style={item.style}>{item.label}</span> : ' '} labelCol={item.labelCol} wrapperCol={item.wrapperCol}> |
| | | <div className="message" style={item.style}>{item.message}</div> |
| | | </Form.Item> |
| | | </Col> |
| | | ) |
| | | } else if (item.type === 'formula') { |
| | | fields.push( |
| | | <Col span={item.span || 24} key={index}> |
| | | <Form.Item className="hint" colon={false} label={<span className="mk-form-label" style={item.style}>{item.label}</span>} labelCol={item.labelCol} wrapperCol={item.wrapperCol}> |
| | | <MkFormula config={item} data={this.record}></MkFormula> |
| | | </Form.Item> |
| | | </Col> |
| | | ) |
| | | } else { |
| | | let content = null |
| | | let className = '' |
| | | let label = item.tooltip ? <Tooltip placement="topLeft" title={item.tooltip}><QuestionCircleOutlined style={{color: '#c49f47', marginRight: '3px'}}/>{item.label}</Tooltip> : item.label |
| | | let label = item.tooltip ? <Tooltip placement="topLeft" title={item.tooltip}><QuestionCircleOutlined style={{color: '#c49f47', marginRight: '3px'}}/> |
| | | <span className="mk-form-label" style={item.style}>{item.label}</span> |
| | | </Tooltip> : <span className="mk-form-label" style={item.style}>{item.label}</span> |
| | | |
| | | if (item.type === 'text' || item.type === 'linkMain') { |
| | | content = (<MKInput config={item} onChange={(val, defer) => !defer && this.recordChange({[item.field]: val})} onSubmit={this.props.inputSubmit} />) |
| | |
| | | <Col span={item.span || 24} key={index}> |
| | | <Form.Item |
| | | label={label} |
| | | colon={false} |
| | | className={className} |
| | | extra={item.extra || null} |
| | | labelCol={item.labelCol} |
| | |
| | | _item.type = 'text' |
| | | } |
| | | } |
| | | |
| | | if (item.type === 'text' && item.lenControl && item.lenControl !== 'limit') { |
| | | if (item.lenControl === 'left') { |
| | | _item.value = _item.value.substr(0, item.fieldlength) |
| | | } else { |
| | | _item.value = _item.value.slice(-item.fieldlength) |
| | | } |
| | | } |
| | | |
| | | search.push(_item) |
| | | }) |