| | |
| | | pickup: PropTypes.any, // 数据收起 |
| | | columns: PropTypes.array, // 表格列 |
| | | fields: PropTypes.array, // 组件字段集 |
| | | BID: PropTypes.any, // 主表Id |
| | | ContainerId: PropTypes.any, // 标签页外层Id |
| | | BData: PropTypes.any, // 主表数据 |
| | | data: PropTypes.any, // 表格数据 |
| | |
| | | refreshdata: PropTypes.func, // 表格中排序列、页码的变化时刷新 |
| | | handleTableId: PropTypes.func, // 数据切换 |
| | | chgSelectData: PropTypes.func, // 数据切换 |
| | | refreshbyaction: PropTypes.func, // 按钮执行完成后刷新 |
| | | } |
| | | |
| | | state = { |
| | |
| | | MKEmitter.removeListener('resetTable', this.resetTable) |
| | | } |
| | | |
| | | updateStatus = (type, positon, btn) => { |
| | | if (type === 'refresh') { |
| | | this.props.refreshbyaction(positon, btn) |
| | | } |
| | | } |
| | | |
| | | // 字段透视 |
| | | triggerLink = (item, record) => { |
| | | triggerLink = (e, item, record) => { |
| | | const { tabviews, MenuID, setting } = this.props |
| | | |
| | | e.stopPropagation() |
| | | |
| | | if (item.linkThdMenu) { |
| | | let tabmenu = item.linkThdMenu |
| | |
| | | return { |
| | | children: ( |
| | | <div className={className}> |
| | | <div className="baseboard link-menu" onDoubleClick={() => this.triggerLink(item, record)}></div> |
| | | <div className="content link-menu" style={{ minWidth: (item.Width || 120) + 'px' }} onDoubleClick={() => this.triggerLink(item, record)}> |
| | | <div className="baseboard link-menu" onDoubleClick={(e) => this.triggerLink(e, item, record)}></div> |
| | | <div className="content link-menu" onDoubleClick={(e) => this.triggerLink(e, item, record)}> |
| | | {content} |
| | | </div> |
| | | </div> |
| | |
| | | } |
| | | return ( |
| | | <div className={className}> |
| | | <div className="baseboard link-menu" onDoubleClick={() => this.triggerLink(item, record)}></div> |
| | | <div className="content link-menu" style={{ minWidth: (item.Width || 120) + 'px' }} onDoubleClick={() => this.triggerLink(item, record)}> |
| | | <div className="baseboard link-menu" onDoubleClick={(e) => this.triggerLink(e, item, record)}></div> |
| | | <div className="content link-menu" onDoubleClick={(e) => this.triggerLink(e, item, record)}> |
| | | {content} |
| | | </div> |
| | | </div> |
| | |
| | | children: ( |
| | | <div className={className}> |
| | | <div className="baseboard"></div> |
| | | <div className="content" style={{ minWidth: (item.Width || 120) + 'px' }}> |
| | | <div className="content"> |
| | | {content} |
| | | </div> |
| | | </div> |
| | |
| | | return ( |
| | | <div className={className}> |
| | | <div className="baseboard"></div> |
| | | <div className="content" style={{ minWidth: (item.Width || 120) + 'px' }}> |
| | | <div className="content"> |
| | | {content} |
| | | </div> |
| | | </div> |
| | |
| | | if (item.linkThdMenu || item.linkurl) { |
| | | return ( |
| | | <div className={className}> |
| | | <div className="baseboard link-menu" onDoubleClick={() => this.triggerLink(item, record)}></div> |
| | | <div className="content link-menu" style={{ minWidth: (item.Width || 120) + 'px' }} onDoubleClick={() => this.triggerLink(item, record)}> |
| | | <div className="baseboard link-menu" onDoubleClick={(e) => this.triggerLink(e, item, record)}></div> |
| | | <div className="content link-menu" onDoubleClick={(e) => this.triggerLink(e, item, record)}> |
| | | {content} |
| | | </div> |
| | | </div> |
| | |
| | | return ( |
| | | <div className={className}> |
| | | <div className="baseboard"></div> |
| | | <div className="content" style={{ minWidth: (item.Width || 120) + 'px' }}> |
| | | <div className="content"> |
| | | {content} |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | let maxHeight = item.maxHeight || 128 |
| | | return ( |
| | | <div className="picture-col" style={{ minWidth: (item.Width || 120) + 'px' }}> |
| | | <div className="picture-col"> |
| | | {photos && photos.map((url, i) => { |
| | | if (item.scale === 'true') { |
| | | return <img style={{maxHeight: maxHeight}} className="image-scale" onClick={this.imgScale} key={`${i}`} src={url} alt=""/> |
| | |
| | | |
| | | return ( |
| | | <div> |
| | | <div className="content" style={{ minWidth: (item.Width || 120) + 'px' }}> |
| | | <div className="content"> |
| | | {content ? <Paragraph copyable ellipsis={{ rows: 3, expandable: true }}>{content}</Paragraph> : null } |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | return ( |
| | | <div> |
| | | <div className="content" style={{ minWidth: (item.Width || 120) + 'px' }}> |
| | | <div className="content"> |
| | | {content ? <a href={_href} target="_blank" rel="noopener noreferrer">{content}</a> : null } |
| | | </div> |
| | | </div> |
| | | ) |
| | | } else if (item.type === 'action') { |
| | | return ( |
| | | <div className="action-col" style={{ minWidth: (item.Width || 120) + 'px' }}> |
| | | <div className="action-col"> |
| | | {item.operations.map(btn => { |
| | | if (['exec', 'prompt', 'pop'].includes(btn.OpenType)) { |
| | | return ( |
| | | <NormalButton |
| | | key={btn.uuid} |
| | | btn={btn} |
| | | BID={this.props.BID} |
| | | BID={record.$$BID} |
| | | selectedData={[record]} |
| | | BData={this.props.BData} |
| | | setting={this.props.setting} |
| | | columns={this.props.fields || this.props.columns} |
| | | ContainerId={this.props.ContainerId} |
| | | updateStatus={this.updateStatus} |
| | | /> |
| | | ) |
| | | } else if (btn.OpenType === 'popview') { |
| | |
| | | <PopupButton |
| | | key={btn.uuid} |
| | | btn={btn} |
| | | BID={this.props.BID} |
| | | BID={record.$$BID} |
| | | selectedData={[record]} |
| | | BData={this.props.BData} |
| | | setting={this.props.setting} |
| | | updateStatus={this.updateStatus} |
| | | /> |
| | | ) |
| | | } else if (btn.OpenType === 'tab' || btn.OpenType === 'blank') { |
| | |
| | | selectedData={[record]} |
| | | MenuID={this.props.MenuID} |
| | | setting={this.props.setting} |
| | | updateStatus={this.updateStatus} |
| | | /> |
| | | ) |
| | | } else if (btn.OpenType === 'innerpage' || btn.OpenType === 'outerpage') { |
| | |
| | | btn={btn} |
| | | selectedData={[record]} |
| | | setting={this.props.setting} |
| | | updateStatus={this.updateStatus} |
| | | /> |
| | | ) |
| | | } |
| | |
| | | |
| | | return ( |
| | | <div> |
| | | <div className="content" style={{ minWidth: (item.Width || 120) + 'px' }}> |
| | | <div className="content"> |
| | | {this.getCospanContent(ordertype, contents, images)} |
| | | </div> |
| | | </div> |
| | |
| | | return data |
| | | } |
| | | |
| | | doubleClickLine = (record) => { |
| | | const { setting } = this.props |
| | | |
| | | if (!setting.doubleClick) return |
| | | |
| | | MKEmitter.emit('triggerBtnId', setting.doubleClick, [record]) |
| | | } |
| | | |
| | | render() { |
| | | const { setting, pickup, statFValue } = this.props |
| | | const { selectedRowKeys, lineMarks, activeIndex } = this.state |
| | |
| | | scroll={{ x: '100%', y: false }} |
| | | onRow={(record, index) => { |
| | | return { |
| | | onClick: () => {this.changeRow(record, index)} |
| | | onClick: () => {this.changeRow(record, index)}, |
| | | onDoubleClick: () => {this.doubleClickLine(record)} |
| | | } |
| | | }} |
| | | onChange={this.changeTable} |