| | |
| | | const { Paragraph } = Typography |
| | | |
| | | const FieldsComponent = asyncComponent(() => import('@/templates/sharecomponent/fieldscomponent')) |
| | | const EditTable = asyncComponent(() => import('@/templates/zshare/editTable')) |
| | | |
| | | class VerifyCard extends Component { |
| | | static propTpyes = { |
| | |
| | | { |
| | | title: '名称', |
| | | dataIndex: 'label', |
| | | width: '25%' |
| | | inputType: 'input', |
| | | editable: true, |
| | | width: '28%' |
| | | }, |
| | | { |
| | | title: '字段', |
| | | dataIndex: 'field', |
| | | width: '25%' |
| | | inputType: 'input', |
| | | editable: true, |
| | | width: '28%' |
| | | }, |
| | | { |
| | | title: '数据类型', |
| | | dataIndex: 'datatype', |
| | | inputType: 'select', |
| | | options: [ |
| | | { value: 'Nvarchar(50)', text: 'Nvarchar(50)' }, |
| | | { value: 'Nvarchar(100)', text: 'Nvarchar(100)' }, |
| | | { value: 'Nvarchar(512)', text: 'Nvarchar(512)' }, |
| | | { value: 'Nvarchar(1024)', text: 'Nvarchar(1024)' }, |
| | | { value: 'Nvarchar(2048)', text: 'Nvarchar(2048)' }, |
| | | { value: 'Nvarchar(max)', text: 'Nvarchar(max)' }, |
| | | { value: 'Int', text: 'Int' }, |
| | | { value: 'Decimal(18,0)', text: 'Decimal(18,0)' }, |
| | | { value: 'Decimal(18,1)', text: 'Decimal(18,1)' }, |
| | | { value: 'Decimal(18,2)', text: 'Decimal(18,2)' }, |
| | | { value: 'Decimal(18,3)', text: 'Decimal(18,3)' }, |
| | | { value: 'Decimal(18,4)', text: 'Decimal(18,4)' }, |
| | | { value: 'Decimal(18,5)', text: 'Decimal(18,5)' }, |
| | | { value: 'Decimal(18,6)', text: 'Decimal(18,6)' }, |
| | | { value: 'Decimal(18,7)', text: 'Decimal(18,7)' }, |
| | | { value: 'Decimal(18,8)', text: 'Decimal(18,8)' }, |
| | | { value: 'Decimal(18,9)', text: 'Decimal(18,9)' }, |
| | | { value: 'Decimal(18,10)', text: 'Decimal(18,10)' }, |
| | | { value: 'Decimal(18,11)', text: 'Decimal(18,11)' }, |
| | | { value: 'Decimal(18,12)', text: 'Decimal(18,12)' }, |
| | | { value: 'Decimal(18,13)', text: 'Decimal(18,13)' }, |
| | | { value: 'Decimal(18,14)', text: 'Decimal(18,14)' }, |
| | | { value: 'Decimal(18,15)', text: 'Decimal(18,15)' }, |
| | | { value: 'Decimal(18,16)', text: 'Decimal(18,16)' }, |
| | | { value: 'Decimal(18,17)', text: 'Decimal(18,17)' }, |
| | | { value: 'Decimal(18,18)', text: 'Decimal(18,18)' }, |
| | | ], |
| | | editable: true, |
| | | width: '25%', |
| | | }, |
| | | { |
| | | title: '操作', |
| | | align: 'center', |
| | | width: '25%', |
| | | dataIndex: 'operation', |
| | | render: (text, record) => |
| | | (<div> |
| | | <span className="operation-btn" title={this.props.dict['model.edit']} onClick={() => this.handleEdit(record, 'columns')} style={{color: '#1890ff'}}><Icon type="edit" /></span> |
| | | <Popconfirm |
| | | overlayClassName="popover-confirm" |
| | | title={this.props.dict['model.query.delete']} |
| | | onConfirm={() => this.deleteColumn(record) |
| | | }> |
| | | <span className="operation-btn" style={{color: '#ff4d4f'}}><Icon type="delete" /></span> |
| | | </Popconfirm> |
| | | </div>) |
| | | } |
| | | ], |
| | | scriptsColumns: [ |
| | |
| | | dataIndex: 'operation', |
| | | render: (text, record) => |
| | | (<div> |
| | | <span className="operation-btn" title={this.props.dict['model.edit']} onClick={() => this.handleEdit(record, 'scripts')} style={{color: '#1890ff'}}><Icon type="edit" /></span> |
| | | <span className="operation-btn" title={this.props.dict['model.edit']} onClick={() => this.handleEdit(record)} style={{color: '#1890ff'}}><Icon type="edit" /></span> |
| | | <span className="operation-btn" onClick={() => this.handleUpDown(record, 'up')} style={{color: '#1890ff'}}><Icon type="arrow-up" /></span> |
| | | <span className="operation-btn" onClick={() => this.handleUpDown(record, 'down')} style={{color: '#ff4d4f'}}><Icon type="arrow-down" /></span> |
| | | <span className="operation-btn" title={this.props.dict['model.status.change']} onClick={() => this.handleStatus(record)} style={{color: '#8E44AD'}}><Icon type="swap" /></span> |
| | |
| | | if (!conf.parentId && box.Template === 'CustomPage') { |
| | | box.components.forEach(item => { |
| | | if (item.uuid !== conf.uuid && item.setting && item.setting.varMark) { |
| | | Marks.push(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.uuid !== conf.uuid && item.setting && item.setting.varMark) { |
| | | Marks.push(item.setting.varMark) |
| | | Marks.push(item.setting.varMark.toLowerCase()) |
| | | } |
| | | }) |
| | | } else { |
| | |
| | | } |
| | | |
| | | columnChange = (values) => { |
| | | let columns = fromJS(this.state.columns).toJS() |
| | | const { columns } = this.state |
| | | |
| | | if (values.uuid) { |
| | | columns = columns.map(item => { |
| | | if (item.uuid === values.uuid) { |
| | | return values |
| | | } else { |
| | | return item |
| | | } |
| | | }) |
| | | } else { |
| | | values.uuid = Utils.getuuid() |
| | | columns.push(values) |
| | | } |
| | | values.uuid = Utils.getuuid() |
| | | |
| | | this.setState({ columns }) |
| | | } |
| | | |
| | | deleteColumn = (record) => { |
| | | this.setState({ columns: this.state.columns.filter(item => item.uuid !== record.uuid) }) |
| | | this.setState({ columns: [...columns, values] }) |
| | | } |
| | | |
| | | deleteScript = (record) => { |
| | | this.setState({ scripts: this.state.scripts.filter(item => item.uuid !== record.uuid) }) |
| | | } |
| | | |
| | | handleEdit = (record, type) => { |
| | | if (type === 'scripts') { |
| | | this.scriptsForm.edit(record) |
| | | } else if (type === 'columns') { |
| | | this.contrastForm.edit(record) |
| | | } |
| | | |
| | | handleEdit = (record) => { |
| | | this.scriptsForm.edit(record) |
| | | |
| | | let node = document.getElementById('model-verify-card-box-tab').parentNode |
| | | |
| | | if (node && node.scrollTop) { |
| | |
| | | search = [...search, ...mainSearch] |
| | | } |
| | | |
| | | if (res.varMark && varMarks.includes(res.varMark)) { |
| | | if (res.varMark && varMarks.includes(res.varMark.toLowerCase())) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '变量标识不可重复!', |
| | |
| | | search = [...search, ...mainSearch] |
| | | } |
| | | |
| | | if (res.varMark && varMarks.includes(res.varMark)) { |
| | | if (res.varMark && varMarks.includes(res.varMark.toLowerCase())) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '变量标识不可重复!', |
| | |
| | | /> |
| | | </TabPane> |
| | | <TabPane tab="字段集" key="columns"> |
| | | <ColForm |
| | | dict={this.props.dict} |
| | | columnChange={this.columnChange} |
| | | wrappedComponentRef={(inst) => this.contrastForm = inst} |
| | | /> |
| | | <ColForm dict={this.props.dict} columnChange={this.columnChange}/> |
| | | <FieldsComponent |
| | | config={{...config, columns}} |
| | | type="fields" |
| | | tableFields={menu.tableFields} |
| | | updatefield={this.updatefields} |
| | | /> |
| | | <Table |
| | | bordered |
| | | rowKey="uuid" |
| | | className="custom-table" |
| | | dataSource={columns} |
| | | columns={colColumns} |
| | | pagination={false} |
| | | /> |
| | | <EditTable data={columns} columns={colColumns} onChange={(columns) => this.setState({columns})}/> |
| | | </TabPane> |
| | | <TabPane tab="自定义脚本" key="scripts"> |
| | | <TabPane tab={ |
| | | <span> |
| | | 自定义脚本 |
| | | {scripts.length ? <span className="count-tip">{scripts.length}</span> : null} |
| | | </span> |
| | | } key="scripts"> |
| | | <CustomScriptsForm |
| | | setting={setting} |
| | | searches={searches} |