mock平台

index.js 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. // 测试集合中的环境切换
  2. import React from 'react';
  3. import PropTypes from 'prop-types';
  4. import { Select, Row, Col, Collapse, Icon, Tooltip } from 'antd';
  5. const Option = Select.Option;
  6. const Panel = Collapse.Panel;
  7. import './index.scss';
  8. export default class CaseEnv extends React.Component {
  9. constructor(props) {
  10. super(props);
  11. }
  12. static propTypes = {
  13. envList: PropTypes.array,
  14. currProjectEnvChange: PropTypes.func,
  15. changeClose: PropTypes.func,
  16. collapseKey: PropTypes.any,
  17. envValue: PropTypes.object
  18. };
  19. callback = key => {
  20. this.props.changeClose && this.props.changeClose(key);
  21. };
  22. render() {
  23. return (
  24. <Collapse
  25. style={{
  26. margin: 0,
  27. marginBottom: '16px'
  28. }}
  29. onChange={this.callback}
  30. // activeKey={this.state.activeKey}
  31. activeKey={this.props.collapseKey}
  32. >
  33. <Panel
  34. header={
  35. <span>
  36. {' '}
  37. 选择测试用例环境
  38. <Tooltip title="默认使用测试用例选择的环境">
  39. {' '}
  40. <Icon type="question-circle-o" />{' '}
  41. </Tooltip>
  42. </span>
  43. }
  44. key="1"
  45. >
  46. <div className="case-env">
  47. {this.props.envList.length > 0 && (
  48. <div>
  49. {this.props.envList.map(item => {
  50. return (
  51. <Row
  52. key={item._id}
  53. type="flex"
  54. justify="space-around"
  55. align="middle"
  56. className="env-item"
  57. >
  58. <Col span={6} className="label">
  59. <Tooltip title={item.name}>
  60. <span className="label-name">{item.name}</span>
  61. </Tooltip>
  62. </Col>
  63. <Col span={18}>
  64. <Select
  65. style={{
  66. width: '100%'
  67. }}
  68. value={this.props.envValue[item._id] || ''}
  69. defaultValue=""
  70. onChange={val => this.props.currProjectEnvChange(val, item._id)}
  71. >
  72. <Option key="default" value="">
  73. 默认环境
  74. </Option>
  75. {item.env.map(key => {
  76. return (
  77. <Option value={key.name} key={key._id}>
  78. {key.name + ': ' + key.domain}
  79. </Option>
  80. );
  81. })}
  82. </Select>
  83. </Col>
  84. </Row>
  85. );
  86. })}
  87. </div>
  88. )}
  89. </div>
  90. </Panel>
  91. </Collapse>
  92. );
  93. }
  94. }