1
0

2 Commits 21564cdd84 ... 611d21b17b

Autor SHA1 Mensagem Data
  Yan 611d21b17b Merge remote-tracking branch 'origin/master' há 4 anos atrás
  Yan 9ee30ceedd update:注释掉mock há 4 anos atrás
4 ficheiros alterados com 196 adições e 172 exclusões
  1. 88 88
      src/api/config.js
  2. 85 78
      src/api/file.js
  3. 1 1
      src/components/Header.vue
  4. 22 5
      src/views/file/FileDetail.vue

+ 88 - 88
src/api/config.js

@@ -257,94 +257,94 @@ export const getOneConfig = payload => {
   const { configId } = payload;
   console.log("configId",configId);
   console.log("payload",payload);
-  // return axios.get(`${CONFIG_MODULE}/get/one/config?configId=${configId}`).then(res => {
-  //
-  //   return res.data;});
-    return Promise.resolve({
-      "timestamp": 1649473724362,
-      "status": 200,
-      "data": {
-        "configId": "1",
-        "modelTypeId": "6",
-        "modelTypeName": "多层感知器分类器",
-        "modelDes": "",
-        "modelDetileDes": "",
-        "featureList": [
-          {
-            "id": 105,
-            "fileInfoId": 1,
-            "fieldName": "road",
-            "aliasName": "",
-            "fieldDes": "",
-            "nullsRatio": 0.0,
-            "conOrDis": 0,
-            "fieldType": "string",
-            "valueInfo": "[\"R\",\"L\"]"
-          },
-          {
-            "id": 106,
-            "fileInfoId": 1,
-            "fieldName": "lane",
-            "aliasName": "",
-            "fieldDes": "",
-            "nullsRatio": 0.0,
-            "conOrDis": 0,
-            "fieldType": "string",
-            "valueInfo": "[\"r\",\"m\",\"l\"]"
-          },
-          {
-            "id": 107,
-            "fileInfoId": 1,
-            "fieldName": "vehicle_class",
-            "aliasName": "",
-            "fieldDes": "",
-            "nullsRatio": 0.0,
-            "conOrDis": 0,
-            "fieldType": "string",
-            "valueInfo": "[\"car\",\"truck\",\"bus\"]"
-          },
-          {
-            "id": 110,
-            "fileInfoId": 1,
-            "fieldName": "duration",
-            "aliasName": "",
-            "fieldDes": "",
-            "nullsRatio": 0.0,
-            "conOrDis": 0,
-            "fieldType": "string",
-            "valueInfo": "[\"48,60\",\"24,36\",\"36,48\",\"12,24\",\"0,12\"]"
-          },
-          {
-            "id": 109,
-            "fileInfoId": 1,
-            "fieldName": "event_type",
-            "aliasName": "",
-            "fieldDes": "",
-            "nullsRatio": 0.0,
-            "conOrDis": 0,
-            "fieldType": "string",
-            "valueInfo": "[\"cruise\",\"overdrive\"]"
-          }
-        ],
-        "modelInfos": [
-          {
-            "modelName": "event_data",
-            "modelDetailName": "DecisionTree",
-            "trainedStatus": 1
-          },
-          {
-            "modelName": "event_data2",
-            "modelDetailName": "DecisionTree",
-            "trainedStatus": -1
-          },
-          {
-            "modelName": "event_data3",
-            "modelDetailName": "MultilayerPerceptronClassifier",
-            "trainedStatus": -1
-          }
-        ]
-      }
-    });
+  return axios.get(`${CONFIG_MODULE}/get/one/config?configId=${configId}`).then(res => {
+
+    return res.data;});
+    // return Promise.resolve({
+    //   "timestamp": 1649473724362,
+    //   "status": 200,
+    //   "data": {
+    //     "configId": "1",
+    //     "modelTypeId": "6",
+    //     "modelTypeName": "多层感知器分类器",
+    //     "modelDes": "",
+    //     "modelDetileDes": "",
+    //     "featureList": [
+    //       {
+    //         "id": 105,
+    //         "fileInfoId": 1,
+    //         "fieldName": "road",
+    //         "aliasName": "",
+    //         "fieldDes": "",
+    //         "nullsRatio": 0.0,
+    //         "conOrDis": 0,
+    //         "fieldType": "string",
+    //         "valueInfo": "[\"R\",\"L\"]"
+    //       },
+    //       {
+    //         "id": 106,
+    //         "fileInfoId": 1,
+    //         "fieldName": "lane",
+    //         "aliasName": "",
+    //         "fieldDes": "",
+    //         "nullsRatio": 0.0,
+    //         "conOrDis": 0,
+    //         "fieldType": "string",
+    //         "valueInfo": "[\"r\",\"m\",\"l\"]"
+    //       },
+    //       {
+    //         "id": 107,
+    //         "fileInfoId": 1,
+    //         "fieldName": "vehicle_class",
+    //         "aliasName": "",
+    //         "fieldDes": "",
+    //         "nullsRatio": 0.0,
+    //         "conOrDis": 0,
+    //         "fieldType": "string",
+    //         "valueInfo": "[\"car\",\"truck\",\"bus\"]"
+    //       },
+    //       {
+    //         "id": 110,
+    //         "fileInfoId": 1,
+    //         "fieldName": "duration",
+    //         "aliasName": "",
+    //         "fieldDes": "",
+    //         "nullsRatio": 0.0,
+    //         "conOrDis": 0,
+    //         "fieldType": "string",
+    //         "valueInfo": "[\"48,60\",\"24,36\",\"36,48\",\"12,24\",\"0,12\"]"
+    //       },
+    //       {
+    //         "id": 109,
+    //         "fileInfoId": 1,
+    //         "fieldName": "event_type",
+    //         "aliasName": "",
+    //         "fieldDes": "",
+    //         "nullsRatio": 0.0,
+    //         "conOrDis": 0,
+    //         "fieldType": "string",
+    //         "valueInfo": "[\"cruise\",\"overdrive\"]"
+    //       }
+    //     ],
+    //     "modelInfos": [
+    //       {
+    //         "modelName": "event_data",
+    //         "modelDetailName": "DecisionTree",
+    //         "trainedStatus": 1
+    //       },
+    //       {
+    //         "modelName": "event_data2",
+    //         "modelDetailName": "DecisionTree",
+    //         "trainedStatus": -1
+    //       },
+    //       {
+    //         "modelName": "event_data3",
+    //         "modelDetailName": "MultilayerPerceptronClassifier",
+    //         "trainedStatus": -1
+    //       }
+    //     ]
+    //   }
+    // });
 
 }
 

+ 85 - 78
src/api/file.js

@@ -184,83 +184,90 @@ export const deleteFile = fileId => {
  */
 export const analysisFile = (fieldIds,funcId) => {
     console.log("analysisFile: "+fieldIds+"  "+funcId);
-    // return axios.get(`${FILE_MODULE}//analysis/fields`, {params:{fieldIds:fieldIds,funcId:funcId}}).then(res => {
-    //     return res.data;
-    // });
-    if (funcId==1){
-        return Promise.resolve({
-            "timestamp": 1649561125585,
-            "status": 200,
-            "data": {
-                "105_statistical": {
-                    "R": 330.0,
-                    "L": 424.0
-                },
-                "105_distribution": {
-                    "R": 0.4376657824933687,
-                    "L": 0.5623342175066314
-                }
-            }
-        });
+    fieldIds=JSON.parse(fieldIds)
+    let url=`${FILE_MODULE}/analysis/fields?funcId=${funcId}`
+    for(let i=0;i<fieldIds.length;i++){
+        let fieldId=fieldIds[i]
+        url+=`&fieldIds=${fieldId}`
     }
-    if (funcId==2){
-        return Promise.resolve({
-            "timestamp": 1649561125585,
-            "status": 200,
-            "data":{
-                "103": [
-                    79.0,
-                    737.0,
-                    753.0],
-                "104": [
-                    3.16,
-                    29.48,
-                    30.12],
-                "108": [
-                    20.0,
-                    291.0,
-                    318.0]
-            }
-        });
-    }
-    if (funcId==3){
-        return Promise.resolve({
-            "timestamp": 1649561321298,
-            "status": 200,
-            "data": {
-                "frame_index": {
-                    "max": 89992.0,
-                    "variance": 6.474726567563616E8,
-                    "mean": 45439.82360742705,
-                    "stddev": 25445.484014975264
-                }
-            }
-        })
-    }
-    if (funcId==4){
-        return Promise.resolve({
-            "timestamp": 1649561409955,
-            "status": 200,
-            "data": {
-                "103": {
-                    "skewness": -0.010820149962232854,
-                    "kurtosis": -1.0998405481091291
-                }
-            }
-        })
-    }
-    if (funcId==5){
-        return Promise.resolve({
-            "timestamp": 1649561470265,
-            "status": 200,
-            "data": {
-                "Corr": 0.9999999999999994
-            }
-        })
-    }
-    return Promise.resolve({
-        "timestamp": 1649561470265,
-        "status": 400,
-        "data": ""
-    })
+    console.log(url)
+    return axios.get(url).then(res => {
+        return res.data;
+    });
+    // if (funcId==1){
+    //     return Promise.resolve({
+    //         "timestamp": 1649561125585,
+    //         "status": 200,
+    //         "data": {
+    //             "105_statistical": {
+    //                 "R": 330.0,
+    //                 "L": 424.0
+    //             },
+    //             "105_distribution": {
+    //                 "R": 0.4376657824933687,
+    //                 "L": 0.5623342175066314
+    //             }
+    //         }
+    //     });
+    // }
+    // if (funcId==2){
+    //     return Promise.resolve({
+    //         "timestamp": 1649561125585,
+    //         "status": 200,
+    //         "data":{
+    //             "103": [
+    //                 79.0,
+    //                 737.0,
+    //                 753.0],
+    //             "104": [
+    //                 3.16,
+    //                 29.48,
+    //                 30.12],
+    //             "108": [
+    //                 20.0,
+    //                 291.0,
+    //                 318.0]
+    //         }
+    //     });
+    // }
+    // if (funcId==3){
+    //     return Promise.resolve({
+    //         "timestamp": 1649561321298,
+    //         "status": 200,
+    //         "data": {
+    //             "frame_index": {
+    //                 "max": 89992.0,
+    //                 "variance": 6.474726567563616E8,
+    //                 "mean": 45439.82360742705,
+    //                 "stddev": 25445.484014975264
+    //             }
+    //         }
+    //     })
+    // }
+    // if (funcId==4){
+    //     return Promise.resolve({
+    //         "timestamp": 1649561409955,
+    //         "status": 200,
+    //         "data": {
+    //             "103": {
+    //                 "skewness": -0.010820149962232854,
+    //                 "kurtosis": -1.0998405481091291
+    //             }
+    //         }
+    //     })
+    // }
+    // if (funcId==5){
+    //     return Promise.resolve({
+    //         "timestamp": 1649561470265,
+    //         "status": 200,
+    //         "data": {
+    //             "Corr": 0.9999999999999994
+    //         }
+    //     })
+    // }
+    // return Promise.resolve({
+    //     "timestamp": 1649561470265,
+    //     "status": 400,
+    //     "data": ""
+    // })
 }

+ 1 - 1
src/components/Header.vue

@@ -5,7 +5,7 @@
             <i v-if="!collapse" class="el-icon-s-fold"></i>
             <i v-else class="el-icon-s-unfold"></i>
         </div>
-        <div class="logo">后台管理系统</div>
+        <div class="logo">轻量级AI平台</div>
         <div class="header-right">
             <div class="header-user-con">
                 <!-- 消息中心 -->

+ 22 - 5
src/views/file/FileDetail.vue

@@ -54,7 +54,7 @@
     <el-dialog title="选择字段" v-model="analysisVisible" width="50%">
       <el-form label-width="120px">
         <el-form-item label="分析方法" required>
-          <el-select v-model="form.type" placeholder="分析方法" class="handle-select mr10" >
+          <el-select v-model="form.type" placeholder="分析方法" class="handle-select mr10" @change="changeMethodMsg">
             <el-option key="1" label="数据分布" value="1"></el-option>
             <el-option key="2" label="散点图" value="2"></el-option>
             <el-option key="3" label="数据统计" value="3"></el-option>
@@ -62,8 +62,10 @@
             <el-option key="5" label="皮尔森相关系数" value="5"></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="方法和字段要求" required>
-          <text>皮尔森相关系数需要两个int/double字段,散点图可以传入2-3个字段,其他的方法只需一个字段。除了数据分布可以传入string字段,其他方法请传入int/double字段</text>
+        <el-alert type="info"
+                  show-icon style="height: 40px;">{{methodMsg.valueOf()}}</el-alert>
+        <el-form-item label="方法和字段要求" required >
+          <text>{{methodMsg}}</text>
         </el-form-item>
         <el-form-item label="已选择字段" required>
           <el-table :data="selectData" border class="table"  header-cell-class-name="table-header" >
@@ -168,6 +170,7 @@ export default {
   //训练特征
   setup() {
     const router=useRouter();
+    const methodMsg=ref("不同方法仅适用于特定特征字段")
     const query = reactive({
       address: "",
       name: "",
@@ -267,14 +270,26 @@ export default {
     const handleAnalysis = () => {
       analysisVisible.value = true;
     };
-
+    const changeMethodMsg=(value)=>{
+      console.log(value)
+      if(value===1){
+        methodMsg.value="数据分布无特殊限制"
+      }else if(value===2){
+        methodMsg.value="散点图可以传入2-3个int/double字段"
+      }else if(value===3){
+        methodMsg.value="请传入1个int/double字段"
+      }else if(value===4){
+        methodMsg.value="请传入1个int/double字段"
+      }else if(value===5){
+        methodMsg.value="请传入2个int/double字段"
+      }
+    }
     const startAnalysis = () => {
       analysisVisible.value = false;
       //todo: 数理分析相关
 
       console.log(form.type);
       console.log(toRaw(selectData.value));
-
       let selectList=[];
       let fieldIds=[];
       for (var i=0; i<selectData.value.length;i++){
@@ -390,6 +405,7 @@ export default {
       selectData,
       analysisData,
       featureTip,
+      methodMsg,
       selectModelTypeChange,
       handleSelectChange,
       handleSearch,
@@ -397,6 +413,7 @@ export default {
       handleDelete,
       handleAnalysis,
       startAnalysis,
+      changeMethodMsg
     };
   },
 };