| | |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 } |
| | | sm: { span: 14 } |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | let cell = { uuid: Utils.getuuid(), label: item.label, field: item.field, Align: 'left', Hide: 'false', IsSort: 'false', Width: 120, blacklist: [], postfix: '', prefix: '', linkmenu: [], marks: [], perspective: 'linkmenu' } |
| | | |
| | | if (/Nvarchar/ig.test(item.datatype)) { |
| | | if (/Nvarchar|date/ig.test(item.datatype)) { |
| | | cell.type = 'text' |
| | | cell.rowspan = 'false' |
| | | cell.textFormat = 'none' |
| | |
| | | cell.format = 'none' |
| | | cell.sum = 'false' |
| | | cell.decimal = item.decimal || 0 |
| | | cell.Width = 80 |
| | | } |
| | | |
| | | columns.push(cell) |
| | |
| | | |
| | | let cell = { uuid: Utils.getuuid(), label: item.label, field: item.field, Align: 'left', Hide: 'false', IsSort: 'true', Width: 120, blacklist: [], postfix: '', prefix: '', linkmenu: [], marks: [], perspective: 'linkmenu' } |
| | | |
| | | if (/Nvarchar/ig.test(item.datatype)) { |
| | | if (/Nvarchar|date/ig.test(item.datatype)) { |
| | | cell.type = 'text' |
| | | cell.rowspan = 'false' |
| | | cell.textFormat = 'none' |
| | |
| | | cell.format = 'none' |
| | | cell.sum = 'false' |
| | | cell.decimal = item.decimal || 0 |
| | | cell.Width = 80 |
| | | } |
| | | |
| | | columns.push(cell) |
| | |
| | | } |
| | | |
| | | UNSAFE_componentWillMount() { |
| | | const { config, mainSearch, menu } = this.props |
| | | const { config, mainSearch } = this.props |
| | | |
| | | let search = config.search || [] |
| | | |
| | | if (config.setting.useMSearch === 'true') { // 使用主搜索条件 |
| | | search = [...search, ...mainSearch] |
| | | } |
| | | |
| | | let Marks = [] |
| | | let getcomponentmarks = (box, conf) => { |
| | | if (!conf.parentId && box.Template === 'CustomPage') { |
| | | box.components.forEach(item => { |
| | | if (item.type === 'group') { |
| | | item.components.forEach(cell => { |
| | | if (cell.uuid !== conf.uuid && cell.setting && cell.setting.varMark) { |
| | | Marks.push(cell.setting.varMark.toLowerCase()) |
| | | } |
| | | }) |
| | | } else if (item.uuid !== conf.uuid && item.setting && item.setting.varMark) { |
| | | Marks.push(item.setting.varMark.toLowerCase()) |
| | | } |
| | | }) |
| | | } else if (conf.parentId === box.parentId && conf.tabId === box.uuid) { |
| | | box.components.forEach(item => { |
| | | if (item.type === 'group') { |
| | | item.components.forEach(cell => { |
| | | if (cell.uuid !== conf.uuid && cell.setting && cell.setting.varMark) { |
| | | Marks.push(cell.setting.varMark.toLowerCase()) |
| | | } |
| | | }) |
| | | } else if (item.uuid !== conf.uuid && item.setting && item.setting.varMark) { |
| | | Marks.push(item.setting.varMark.toLowerCase()) |
| | | } |
| | | }) |
| | | } else { |
| | | box.components.forEach(item => { |
| | | if (item.type !== 'tabs') return |
| | | |
| | | item.subtabs.forEach(tab => { |
| | | getcomponentmarks(tab, conf) |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | | |
| | | getcomponentmarks(menu, config) |
| | | |
| | | let _setting = fromJS(config.setting).toJS() |
| | | let scripts = fromJS(config.scripts).toJS() |
| | |
| | | columns: fromJS(config.columns).toJS(), |
| | | setting: _setting, |
| | | searches: search, |
| | | defaultSearch: _search, |
| | | varMarks: Marks |
| | | defaultSearch: _search |
| | | }) |
| | | |
| | | this.getsysScript() |
| | |
| | | |
| | | changeTab = (val) => { |
| | | const { config, mainSearch } = this.props |
| | | const { activeKey, varMarks } = this.state |
| | | const { activeKey } = this.state |
| | | |
| | | this.setState({loading: true}) |
| | | if (activeKey === 'setting') { |
| | |
| | | |
| | | if (res.useMSearch === 'true') { // 使用主搜索条件 |
| | | search = [...search, ...mainSearch] |
| | | } |
| | | |
| | | if (res.varMark && varMarks.includes(res.varMark.toLowerCase())) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '变量标识不可重复!', |
| | | duration: 5 |
| | | }) |
| | | this.setState({ |
| | | loading: false |
| | | }) |
| | | return |
| | | } |
| | | |
| | | let _search = this.formatSearch(search) |
| | |
| | | |
| | | submitDataSource = () => { |
| | | const { config, mainSearch } = this.props |
| | | const { activeKey, setting, columns, scripts, varMarks } = this.state |
| | | const { activeKey, setting, columns, scripts } = this.state |
| | | |
| | | return new Promise((resolve, reject) => { |
| | | if (activeKey === 'setting') { |
| | |
| | | |
| | | if (res.useMSearch === 'true') { // 使用主搜索条件 |
| | | search = [...search, ...mainSearch] |
| | | } |
| | | |
| | | if (res.varMark && varMarks.includes(res.varMark.toLowerCase())) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '变量标识不可重复!', |
| | | duration: 5 |
| | | }) |
| | | reject() |
| | | return |
| | | } |
| | | |
| | | let _search = this.formatSearch(search) |
| | |
| | | </Radio.Group>)} |
| | | </Form.Item> |
| | | </Col> : null} |
| | | {interType === 'system' ? <Col span={8}> |
| | | <Form.Item label={ |
| | | <Tooltip placement="topLeft" title={'自定义脚本中的变量(除报错及可用字段外),需以此标识开头。'}> |
| | | <QuestionCircleOutlined className="mk-form-tip" /> |
| | | 变量标识 |
| | | </Tooltip> |
| | | }> |
| | | {getFieldDecorator('varMark', { |
| | | initialValue: setting.varMark || '', |
| | | rules: [ |
| | | { |
| | | pattern: /^[a-zA-Z_]*$/ig, |
| | | message: '请使用字母或_' |
| | | }, |
| | | { |
| | | max: 3, |
| | | message: '最多三个字符。' |
| | | } |
| | | ] |
| | | })(<Input placeholder={''} autoComplete="off" />)} |
| | | </Form.Item> |
| | | </Col> : null} |
| | | {interType === 'inner' ? <Col span={8}> |
| | | <Form.Item label={tooltip ? |
| | | <Tooltip placement="topLeft" title={tooltip}> |
| | |
| | | _customScript = _customScript.replace(item.reg, '0') |
| | | originscript = originscript.replace(item.reg, '0') |
| | | }) |
| | | |
| | | if (setting.varMark) { |
| | | originscript = originscript.replace(/@ErrorCode/ig, '') |
| | | originscript = originscript.replace(/@retmsg/ig, '') |
| | | originscript = originscript.replace(/@UserName@/ig, '').replace(/@UserName/ig, '') |
| | | originscript = originscript.replace(/@FullName@/ig, '').replace(/@FullName/ig, '') |
| | | originscript = originscript.replace(/@login_city@/ig, '').replace(/@login_city/ig, '') |
| | | originscript = originscript.replace(/@id@/ig, '').replace(/@id/ig, '') |
| | | originscript = originscript.replace(/@bid@/ig, '').replace(/@bid/ig, '') |
| | | originscript = originscript.replace(/@loginuid@/ig, '').replace(/@loginuid/ig, '') |
| | | originscript = originscript.replace(/@sessionuid@/ig, '').replace(/@sessionuid/ig, '') |
| | | originscript = originscript.replace(/@userid@/ig, '').replace(/@userid/ig, '') |
| | | originscript = originscript.replace(/@appkey@/ig, '').replace(/@appkey/ig, '') |
| | | originscript = originscript.replace(/@time_id@/ig, '').replace(/@time_id/ig, '') |
| | | |
| | | originscript = originscript.replace(new RegExp('@' + setting.varMark, 'ig'), '') |
| | | |
| | | if (/@/ig.test(originscript)) { |
| | | error = '使用了变量标识外的字段!' |
| | | } |
| | | } |
| | | } |
| | | |
| | | let sumSql = '' |
| | |
| | | newcard.contrastType = 'static' |
| | | newcard.IsSort = 'true' |
| | | newcard.type = item.subType |
| | | newcard.Width = 120 |
| | | newcard.Width = item.subType === 'number' ? 80 : 120 |
| | | if (item.subType === 'colspan') { |
| | | newcard.sublist = [] |
| | | newcard.subfield = [] |
| | |
| | | Hide: 'false', |
| | | IsSort: item.type === 'picture' ? 'false' : 'true', |
| | | type: item.type, |
| | | Width: 120 |
| | | Width: item.type === 'number' ? 80 : 120 |
| | | } |
| | | |
| | | if (item.type === 'number') { |
| | |
| | | const { verify, oriVerify } = this.state |
| | | // 表单提交时检查输入值是否正确 |
| | | return new Promise((resolve, reject) => { |
| | | let msg = '' |
| | | if (this.customForm && this.customForm.state.editItem) { |
| | | msg = '自定义验证' |
| | | } else if (this.customForm && this.customForm.props.form.getFieldValue('sql') && !/^\s+$/.test(this.customForm.props.form.getFieldValue('sql'))) { |
| | | msg = '自定义验证' |
| | | } else if (this.orderForm && this.orderForm.state.editItem) { |
| | | msg = '单号生成' |
| | | } else if (this.scriptsForm && this.scriptsForm.state.editItem) { |
| | | msg = '自定义脚本' |
| | | } else if (this.scriptsForm && this.scriptsForm.props.form.getFieldValue('sql') && !/^\s+$/.test(this.scriptsForm.props.form.getFieldValue('sql'))) { |
| | | msg = '自定义脚本' |
| | | } |
| | | |
| | | if (!is(fromJS(verify), fromJS(oriVerify))) { |
| | | confirm({ |
| | | content: '验证信息已修改,确定取消吗?', |
| | | onOk() { |
| | | resolve() |
| | | }, |
| | | onCancel() {} |
| | | }) |
| | | } else if (msg) { |
| | | confirm({ |
| | | content: msg + '未保存,确定取消吗?', |
| | | onOk() { |
| | | resolve() |
| | | }, |