wjj 4 лет назад
Родитель
Сommit
975e81b7db

+ 13 - 2
src/components/GlobalHeader/RightContent.jsx

@@ -15,7 +15,16 @@ const ENVTagColor = {
 
 const GlobalHeaderRight = (props) => {
   const { theme, layout, dispatch, taskName,collaborative_type } = props;
-  const [idInfo, setIdInfo] = useState({});
+  const [idInfo, setIdInfo] = useState({
+    result:"success",
+    roleId:1,
+    caseId:"3714",
+    examId:"3714",
+    beginTime:"1621945823000",
+    endTime:"1624291200000",
+    userId:"99222",
+    case_take_id:"3714-3714",
+  });
   let className = styles.right;
 
   if (theme === 'dark' && layout === 'top') {
@@ -51,7 +60,9 @@ const GlobalHeaderRight = (props) => {
 
   useEffect(() => {
     console.log('这里发请求了,right');
+    console.log(idInfo.examId)
     if (idInfo && idInfo.examId) {
+      console.log('dispatch')
       dispatch({
         type: 'report/getTaskName',
         payload: { examId: idInfo.examId },
@@ -59,7 +70,7 @@ const GlobalHeaderRight = (props) => {
       dispatch({
         type: 'editReport/getOsType',
         payload: { examId: idInfo.examId },
-      },[idInfo.examId])
+      })
     }
   },[dispatch, idInfo.examId]);
 

+ 0 - 1
src/pages/bugs/components/BugDetailModal/index.jsx

@@ -159,7 +159,6 @@ const BugItemDetail = (props) => {
                   {detail.right < (detail.originArr.length) ?
                     <RightOutlined onClick={handleChangeImgToRight} /> :
                     <div className={styles.switchImgBtn}></div>}
-
                 </div>
               </div>)
             : null

+ 30 - 12
src/pages/edit/components/Step2/index.jsx

@@ -164,20 +164,39 @@ const Step2 = (props) => {
         formData.append('img_url', str);
       }
       //新建bug
+      //提交bug之前要做相似度判断,超过80%就不让提交了
       dispatch({
-        type: 'editReport/createCaseBug',
+        type: 'editReport/bugSimilarity',
         payload: {
-          formData,
-          useCase: currentTestCaseRef.current.id,
+          case_take_id:commonId.case_take_id,
+          type:res.title,
+          content:res.description
         },
-      }).then(res => {
-        addBugForm.resetFields();
-        setPage2List([]);
-        setPage3List([]);
-        setFileList([]);
-        forkStatus.current=false;
-        setAddTestBugModal(false);
-      });
+      }).then(res=>{
+        if(res){
+          const { scores } = res;
+          const s = scores.some(item=>item>=80);
+          if(!s){
+            dispatch({
+              type: 'editReport/createCaseBug',
+              payload: {
+                formData,
+                useCase: currentTestCaseRef.current.id,
+              },
+            }).then(res => {
+              addBugForm.resetFields();
+              setPage2List([]);
+              setPage3List([]);
+              setFileList([]);
+              forkStatus.current=false;
+              setAddTestBugModal(false);
+            });
+          }else{
+            message.error('当前缺陷与已有缺陷相似度超过80%,请修改标题和内容后重试');
+          }
+        }
+
+      })
     });
   };
 
@@ -550,7 +569,6 @@ const Step2 = (props) => {
 
                                 {item.imgArr.map(img => {
                                   return <Image src={img} key={img} />;})}
-                                {item.originArr.length}{item.right}
                                 {item.right < item.originArr.length ? <RightOutlined onClick={() => {
                                   handleChangeImgToRight(item);
                                 }} /> : <div className={styles.switchImgBtn}></div>}

+ 13 - 4
src/pages/edit/model.js

@@ -22,7 +22,8 @@ import {
   getIdByToken,
   forkReport,
   recordGoodReport,
-  recordBadReport
+  recordBadReport,
+  bugSimilarity
 } from './service';
 
 const Model = {
@@ -48,12 +49,12 @@ const Model = {
     commonId:{
       result:"success",
       roleId:1,
-      caseId:"3711",
-      examId:"3711",
+      caseId:"3714",
+      examId:"3714",
       beginTime:"1621945823000",
       endTime:"1624291200000",
       userId:"99222",
-      case_take_id:"3711_3711",
+      case_take_id:"3714-3714",
     },
   },
   effects: {
@@ -293,6 +294,14 @@ const Model = {
       const { user_id, target_id,action } = payload;
       yield call(recordBadReport, user_id, target_id,action);
     },
+    //todo:bug相似度计算
+    * bugSimilarity({ payload }, { call, put }) {
+      const { case_take_id, type, content } = payload;
+      console.log(case_take_id)
+      const res = yield call(bugSimilarity, case_take_id, type, content);
+      // return res;
+    },
+
   },
   reducers: {
     saveCurrentStep(state, { payload }) {

+ 12 - 1
src/pages/edit/service.js

@@ -219,7 +219,6 @@ export async function uploadImage(data) {
 }
 
 // todo:fork
-// eslint-disable-next-line camelcase
 export async function forkReport(page1, page2, page3, bug_category, severity, recurrent) {
   return request('/Bug/api/rec/fork', {
     method: 'get',
@@ -234,4 +233,16 @@ export async function forkReport(page1, page2, page3, bug_category, severity, re
   });
 }
 
+//todo:bug相似度判断
+export async function bugSimilarity(case_take_id, type, content) {
+  return request('/Bug/api/rec/recommend', {
+    method: 'get',
+    params: {
+      case_take_id,
+      type,
+      content
+    },
+  });
+}
+