import React, { useEffect, useRef, useState } from 'react'; import { Form, Row, Col, Card, Modal, Input, Select, Upload, Button, message } from 'antd'; import { connect } from 'umi'; import styles from './index.less'; import { ForkOutlined, PlusOutlined, ExclamationCircleFilled, UploadOutlined, EditOutlined, EyeOutlined, } from '@ant-design/icons'; import { recurrent, severity, bug_categories } from './const'; const formItemLayout = { labelCol: { span: 5, }, wrapperCol: { span: 19, }, }; const Step2 = (props) => { const [reportForm] = Form.useForm(); const [addCaseForm] = Form.useForm(); const [addBugForm] = Form.useForm(); const { data, dispatch, reportCommonInfo, testCaseList, caseBugList, categories } = props; const [showTaskRecommendModal, setTaskRecommendModal] = useState(false); const [showAddTestCaseModal, setAddTestCaseModal] = useState(false); const [showAddBugModal, setAddTestBugModal] = useState(false); const currentTestCaseRef = useRef({}); const [isAddCaseStatus, setIsAddCaseStatus] = useState(true); // const [currActiveTestCase, setCurrActiveTestCase] = useState({}); const [page2List, setPage2List] = useState([]); const [page3List, setPage3List] = useState([]); if (!data) { return null; } const handleAddOrEditTestCase = () => { addCaseForm.validateFields().then((res) => { let formData = new FormData(); // formData.append("id", values.reportName); formData.append('report_id', reportCommonInfo.id); formData.append('name', res.name); formData.append('front', res.front); formData.append('behind', res.behind); formData.append('description', res.result); if (!isAddCaseStatus) { //处理编辑用例 formData.append('id', currentTestCaseRef.current.id); dispatch({ type: 'editReport/updateTestCase', payload: { formData, report_id: reportCommonInfo.id, }, }).then((res) => { if (res && res.status === 200) { message.success('修改成功!'); } }); } else { //处理添加用例 dispatch({ type: 'editReport/createTestCase', payload: { formData, report_id: reportCommonInfo.id, }, }).then((res) => { if (res && res.id) { message.success('添加成功!'); } }); } setAddTestCaseModal(false); }); }; const handleAddBug = () => { addBugForm.validateFields().then((res) => { let formData = new FormData(); formData.append('report_id', reportCommonInfo.id); formData.append('title', res.title); formData.append('description', res.description); formData.append('bug_category', res.bug_category); formData.append('severity', res.severity); formData.append('recurrent', res.recurrent); formData.append('parent', null); formData.append('useCase', currentTestCaseRef.current.id); formData.append('case_id', '1718'); formData.append('case_take_id', '1718-1718'); formData.append('worker_id', '1'); formData.append('page', `${res.page1}-${res.page2}-${res.page3}`); //新建bug dispatch({ type:'editReport/createCaseBug', payload: { formData, useCase:currentTestCaseRef.current.id } }).then(res=>{ console.log(res.status) }) }); }; const handleClickTestCase = (caseItem) => { // setCurrActiveTestCase(caseItem); currentTestCaseRef.current = caseItem; dispatch({ type: 'editReport/getCaseBugList', payload: caseItem.id, }) }; const handleEditTestCase = (item) => { setIsAddCaseStatus(false); currentTestCaseRef.current = item; addCaseForm.setFieldsValue(currentTestCaseRef.current); setAddTestCaseModal(true); }; const handleClickAddCase = () => { addCaseForm.resetFields(); setAddTestCaseModal(true); }; const handleClickAddBug = () => { //current目前只在点击edit cease的时候会有用 addBugForm.resetFields(); setAddTestBugModal(true); }; const handleSelectPage1 = (val) =>{ let item = categories.find(x=>x.item === val); setPage2List(item.children) } const handleSelectPage2 = (val) =>{ let item = page2List.find(x=>x.item === val); setPage3List(item.children) } useEffect(() => { //判断是否已经有报告 dispatch({ type: 'editReport/getReportInfo', payload: { case_take_id: '1718-1718', worker_id: 1, }, }).then((res) => { // console.log(res) // console.log(reportCommonInfo) //有报告,获取对应信息。没有就直接转去了第一步 dispatch({ type: 'editReport/getTestCaseList', payload: { report_id: reportCommonInfo.id }, }).then((res)=>{ currentTestCaseRef.current = res; // setCurrActiveTestCase(res); }); dispatch({ type: 'editReport/getCategories', payload: { examId: 1945 }, }); }); }, [dispatch,reportCommonInfo.id]); return (
{'2021.4.12'} {reportCommonInfo.name} {reportCommonInfo.device_brand} {reportCommonInfo.device_model} {reportCommonInfo.device_os}

测试用例列表

{testCaseList && testCaseList.map((item) => { return (
{ handleClickTestCase(item); }}>

{item.name}

handleEditTestCase(item)} />
); })}

缺陷列表

{/*{console.log(props)}*/} {/*{console.log(props.caseBugList)}*/} {/*{console.log(props.caseBugList.length)}*/} {caseBugList && caseBugList.map((item) => { return (
Bug标题:{item.detail.title}
复现程度:{recurrent[item.detail.recurrent]}
严重程度:{severity[item.detail.severity]}
缺陷分类:{item.detail.bug_category}
); })}
确定, ]} onCancel={() => { setAddTestCaseModal(false); }} > 为了评分准确,请勿提交重复测试用例
确定, ]} onCancel={() => { setAddTestBugModal(false); }} className={styles.bugForm} > 为了评分准确,请勿提交重复Bug
{/**/} {/* */} {/* */} {/* */} {/**/}
setTaskRecommendModal(false)} onCancel={() => setTaskRecommendModal(false)} className="addModal">
); }; export default connect(({ editReport, loading }) => ({ submitting: loading.effects['editReport/submitStepForm'], data: editReport.step, reportCommonInfo: editReport.reportCommonInfo, testCaseList: editReport.testCaseList, caseBugList: editReport.caseBugList, categories: editReport.categories, }))(Step2);