From ea3c33c8561df39d4f123d1424fda99dd0f0c51d Mon Sep 17 00:00:00 2001
From: wujian <14790700720@163.com>
Date: 星期四, 14 十一月 2024 08:15:41 +0800
Subject: [PATCH] add - panel

---
 jcdm-ui/package.json                                                                                 |    3 
 jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml                   |   17 ++
 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java |   59 +++++----
 jcdm-ui/src/views/main/bs/beatSetting/index.vue                                                      |   18 +--
 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/Query/EngineQuery.java                      |   11 +
 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/vo/ResultDataVO.java                        |   20 +++
 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/vo/ReportVO.java                            |    8 
 jcdm-ui/src/views/main/da/spcDataAnalyse/index.vue                                                   |  168 ++++++++++++++++++++++++---
 jcdm-ui/src/views/main/da/paramCollection/index.vue                                                  |    4 
 jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/controller/DaTileMatchRulesController.java   |    2 
 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/mapper/BsOrderSchedulingMapper.java         |    1 
 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/Query/SAPQuery.java                         |    6 
 12 files changed, 250 insertions(+), 67 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/Query/EngineQuery.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/Query/EngineQuery.java
new file mode 100644
index 0000000..075b19d
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/Query/EngineQuery.java
@@ -0,0 +1,11 @@
+package com.jcdm.main.bs.orderScheduling.Query;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+@Data
+public class EngineQuery {
+
+    @JsonProperty("ZFDJM")
+    private String ZFDJM;
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/Query/SAPQuery.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/Query/SAPQuery.java
index a45f475..fb5693f 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/Query/SAPQuery.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/Query/SAPQuery.java
@@ -1,9 +1,13 @@
 package com.jcdm.main.bs.orderScheduling.Query;
 
+import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Data;
+
+import java.util.List;
 
 @Data
 public class SAPQuery {
 
-    private String IV_ZFDJM;
+    @JsonProperty("IV_ZFDJM")
+    private List<EngineQuery> IV_ZFDJM;
 }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java
index be19a73..3723ce2 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java
@@ -18,14 +18,12 @@
 import com.jcdm.common.exception.ServiceException;
 import com.jcdm.common.utils.StringUtils;
 import com.jcdm.common.utils.poi.ExcelUtil;
+import com.jcdm.main.bs.orderScheduling.Query.EngineQuery;
 import com.jcdm.main.bs.orderScheduling.Query.SAPQuery;
 import com.jcdm.main.bs.orderScheduling.common.Constants;
 import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling;
 import com.jcdm.main.bs.orderScheduling.service.IBsOrderSchedulingService;
-import com.jcdm.main.bs.orderScheduling.vo.FollowReportVO;
-import com.jcdm.main.bs.orderScheduling.vo.LineChartVO;
-import com.jcdm.main.bs.orderScheduling.vo.ReportVO;
-import com.jcdm.main.bs.orderScheduling.vo.SumDataVO;
+import com.jcdm.main.bs.orderScheduling.vo.*;
 import com.jcdm.main.da.paramCollection.domain.DaParamCollection;
 import com.jcdm.main.da.paramCollection.mapper.DaParamCollectionMapper;
 import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection;
@@ -46,6 +44,7 @@
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.RequestBody;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
@@ -505,33 +504,43 @@
 
 
     @PostMapping("/engine-report")
-    public R getReportDetail(SAPQuery sapQuery){
+    public ReportVO getReportDetail(@RequestBody SAPQuery sapQuery){
         ReportVO reportVO = new ReportVO();
-        if (StrUtil.isBlank(sapQuery.getIV_ZFDJM())){
-            reportVO.setEV_STATUS("E");
-            reportVO.setEV_MESSAGE("鍙戝姩鏈哄彿涓嶈兘涓虹┖");
+        List<ResultDataVO> EV_DATA = new ArrayList<>();
+        List<EngineQuery> engineQueryList = sapQuery.getIV_ZFDJM();
+        if (CollUtil.isEmpty(engineQueryList)){
+            reportVO.setEV_DATA(EV_DATA);
+            return reportVO;
         }
         BsOrderScheduling query = new BsOrderScheduling();
-        query.setEngineNo(sapQuery.getIV_ZFDJM());
+        List<String> engineNoList = engineQueryList.stream().map(EngineQuery::getZFDJM).collect(Collectors.toList());
+        query.setEngineNoList(engineNoList);
         List<BsOrderScheduling> bsOrderSchedulingList = bsOrderSchedulingService.selectBsOrderSchedulingList(query);
-        if (CollUtil.isNotEmpty(bsOrderSchedulingList)){
-            BsOrderScheduling bsOrderScheduling = bsOrderSchedulingList.get(0);
-            if (StrUtil.isBlank(bsOrderScheduling.getReport20())){
-                reportVO.setEV_STATUS("0");
-                reportVO.setEV_MESSAGE("鏈姤宸�");
-            } else {
-                if ("1".equals(bsOrderScheduling.getReport20())){
-                    reportVO.setEV_STATUS("1");
-                    reportVO.setEV_MESSAGE("宸叉姤宸�");
-                } else if ("3".equals(bsOrderScheduling.getReport20())){
-                    reportVO.setEV_STATUS("E");
-                    reportVO.setEV_MESSAGE(bsOrderScheduling.getRemarks());
+        for (String s : engineNoList) {
+            ResultDataVO  resultDataVO = new ResultDataVO();
+            resultDataVO.setZFDJM(s);
+            List<BsOrderScheduling> collect = bsOrderSchedulingList.stream().filter(x -> x.getEngineNo().equals(s)).collect(Collectors.toList());
+            if (CollUtil.isNotEmpty(collect)){
+                BsOrderScheduling bsOrderScheduling = collect.get(0);
+                if (StrUtil.isBlank(bsOrderScheduling.getReport20())){
+                    resultDataVO.setSTATU("0");
+                    resultDataVO.setEV_MESSAGE("鏈姤宸�");
+                } else {
+                    if ("1".equals(bsOrderScheduling.getReport20())){
+                        resultDataVO.setSTATU("1");
+                        resultDataVO.setEV_MESSAGE("宸叉姤宸�");
+                    } else if ("3".equals(bsOrderScheduling.getReport20())){
+                        resultDataVO.setSTATU("2");
+                        resultDataVO.setEV_MESSAGE(bsOrderScheduling.getRemarks());
+                    }
                 }
+            } else {
+                resultDataVO.setSTATU("2");
+                resultDataVO.setEV_MESSAGE("鏈煡璇㈠埌姝ゅ彂鍔ㄦ満淇℃伅");
             }
-        } else {
-            reportVO.setEV_STATUS("E");
-            reportVO.setEV_MESSAGE("鏈煡璇㈠埌姝ゅ彂鍔ㄦ満淇℃伅");
+            EV_DATA.add(resultDataVO);
         }
-        return R.ok(reportVO);
+        reportVO.setEV_DATA(EV_DATA);
+        return reportVO;
     }
 }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/mapper/BsOrderSchedulingMapper.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/mapper/BsOrderSchedulingMapper.java
index 2b11e94..b803998 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/mapper/BsOrderSchedulingMapper.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/mapper/BsOrderSchedulingMapper.java
@@ -39,6 +39,7 @@
      * @return 璁㈠崟鎺掍骇闆嗗悎
      */
     public List<BsOrderScheduling> selectBsOrderSchedulingList(BsOrderScheduling bsOrderScheduling);
+    public List<BsOrderScheduling> selectBsOrderSchedulingForReport(BsOrderScheduling bsOrderScheduling);
     public List<BsOrderScheduling> selectBsOrderSchedulingListForNum(@Param("queryDate") String queryDate,@Param("addQueryDate") String addQueryDate);
 
     public List<BsOrderScheduling> selectBsOrderSchedulingPage(BsOrderScheduling bsOrderScheduling);
diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/vo/ReportVO.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/vo/ReportVO.java
index c60f2ae..41e7f00 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/vo/ReportVO.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/vo/ReportVO.java
@@ -1,12 +1,14 @@
 package com.jcdm.main.bs.orderScheduling.vo;
 
+import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Data;
+
+import java.util.List;
 
 @Data
 public class ReportVO {
 
-    private String EV_STATUS;
-
-    private String EV_MESSAGE;
+    @JsonProperty("EV_DATA")
+    private List<ResultDataVO> EV_DATA;
 
 }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/vo/ResultDataVO.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/vo/ResultDataVO.java
new file mode 100644
index 0000000..34fc71f
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/vo/ResultDataVO.java
@@ -0,0 +1,20 @@
+package com.jcdm.main.bs.orderScheduling.vo;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+@Data
+public class ResultDataVO {
+
+    @JsonProperty("ZFDJM")
+    private String ZFDJM;
+
+    @JsonProperty("STATU")
+    private String STATU;
+
+    @JsonProperty("EV_MESSAGE")
+    private String EV_MESSAGE;
+
+
+
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/controller/DaTileMatchRulesController.java b/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/controller/DaTileMatchRulesController.java
index 96c7747..4c2563d 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/controller/DaTileMatchRulesController.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/controller/DaTileMatchRulesController.java
@@ -88,7 +88,7 @@
                 colorInt = 4;
             }
             if (ObjectUtil.isNotEmpty(colorInt)){
-                ReadWriteEntity entity = new ReadWriteEntity("CFL4HX.OP055.Color", colorInt);
+                ReadWriteEntity entity = new ReadWriteEntity("CFL4LJ.OP001.Color", colorInt);
                 miloService.writeToOpcByte(entity);
             }
         }
diff --git a/jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml b/jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml
index 775f73b..d484f39 100644
--- a/jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml
+++ b/jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml
@@ -45,6 +45,23 @@
         select id, order_no, engine_no, product_type, model, production_status, working_hours, current_workstation, quality_status, whether_or_print, report_10, report_20, combined_box_time, final_assembly_time, operator, operate_time, status, spare_field_1, spare_field_2, spare_field_3, spare_field_4, create_user, create_time, update_user, update_time, remarks, report_30, box_closing_online_time, closing_box_offline_time, final_assembly_launch_time, final_assembly_offline_time, cvt_launch_time, cvt_offline_time from bs_order_scheduling
     </sql>
 
+    <sql id="selectBsOrderSchedulingForReport">
+        select id, engine_no, report_20, remarks from bs_order_scheduling
+    </sql>
+
+    <select id="selectBsOrderSchedulingForReport"
+            parameterType="BsOrderScheduling" resultMap="BsOrderSchedulingResult">
+        <include refid="selectBsOrderSchedulingForReport"/>
+            <where>
+                <if test="engineNoList != null and engineNoList.size() > 0">
+                    and engine_no in
+                    <foreach collection="engineNoList" open="(" close=")" separator="," item="engine">
+                        #{engine}
+                    </foreach>
+                </if>
+            </where>
+    </select>
+
     <select id="selectBsOrderSchedulingList" parameterType="BsOrderScheduling" resultMap="BsOrderSchedulingResult">
         <include refid="selectBsOrderSchedulingVo"/>
         <where>
diff --git a/jcdm-ui/package.json b/jcdm-ui/package.json
index 93d19ac..e0247c2 100644
--- a/jcdm-ui/package.json
+++ b/jcdm-ui/package.json
@@ -40,7 +40,7 @@
     "axios": "0.24.0",
     "clipboard": "2.0.8",
     "core-js": "3.25.3",
-    "echarts": "5.4.0",
+    "echarts": "^4.9.0",
     "element-ui": "^2.15.13",
     "file-saver": "2.0.5",
     "fuse.js": "6.4.3",
@@ -56,6 +56,7 @@
     "vue": "2.6.12",
     "vue-count-to": "1.0.13",
     "vue-cropper": "0.5.5",
+    "vue-echarts": "^4.0.0",
     "vue-meta": "2.4.0",
     "vue-qr": "^4.0.9",
     "vue-router": "3.4.9",
diff --git a/jcdm-ui/src/views/main/bs/beatSetting/index.vue b/jcdm-ui/src/views/main/bs/beatSetting/index.vue
index ca3770f..5c4071f 100644
--- a/jcdm-ui/src/views/main/bs/beatSetting/index.vue
+++ b/jcdm-ui/src/views/main/bs/beatSetting/index.vue
@@ -121,24 +121,15 @@
       </span>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="浜у搧缂栫爜" prop="productCode">
-          <el-select style="width: 100%" @change="handleSelectChange(form.productCode)" v-model="form.productCode" placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�">
-            <el-option
-              v-for="item in options"
-              :key="item.productCode"
-              :label="item.productCode"
-              :value="item.productCode">
-            </el-option>
-          </el-select>
+          <el-input v-model="form.productCode" placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" />
         </el-form-item>
         <el-form-item  label="浜у搧鍚嶇О" prop="productName">
-          <el-input  disabled v-model="form.productName" placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�" />
+          <el-input v-model="form.productName" placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�" />
         </el-form-item>
         <el-form-item label="鑺傛媿" prop="beat">
           <el-input v-model="form.beat" placeholder="璇疯緭鍏ヨ妭鎷�" />
         </el-form-item>
-        <el-form-item label="澶囨敞" prop="remark">
-          <el-input v-model="form.remark" placeholder="璇疯緭鍏ュ娉�" />
-        </el-form-item>
+
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
@@ -211,6 +202,9 @@
         beat: [
           { required: true, message: "鑺傛媿涓嶈兘涓虹┖", trigger: "blur" }
         ],
+        productCode: [
+          { required: true, message: "浜у搧缂栫爜涓嶈兘涓虹┖", trigger: "blur" }
+        ],
       }
     };
   },
diff --git a/jcdm-ui/src/views/main/da/paramCollection/index.vue b/jcdm-ui/src/views/main/da/paramCollection/index.vue
index ac72dbf..0f2c5bb 100644
--- a/jcdm-ui/src/views/main/da/paramCollection/index.vue
+++ b/jcdm-ui/src/views/main/da/paramCollection/index.vue
@@ -279,8 +279,8 @@
         const startDate = value[0];
         const endDate = value[1];
         const dayCount = this.daysBetween(startDate, endDate);
-        if (dayCount + 1 > 7) {
-          this.$message.error('璇烽�夋嫨杩炵画鐨�7澶╋紒');
+        if (dayCount + 1 > 3) {
+          this.$message.error('璇烽�夋嫨杩炵画鐨�3澶╋紒');
           this.queryParams.dateConditions = []; // 閲嶇疆鏃ユ湡鑼冨洿
         }
       }
diff --git a/jcdm-ui/src/views/main/da/spcDataAnalyse/index.vue b/jcdm-ui/src/views/main/da/spcDataAnalyse/index.vue
index 09960e3..968ca5d 100644
--- a/jcdm-ui/src/views/main/da/spcDataAnalyse/index.vue
+++ b/jcdm-ui/src/views/main/da/spcDataAnalyse/index.vue
@@ -56,18 +56,28 @@
     <el-card style="margin-top: 10px" class="box-card">
     <el-row :gutter="10" class="mb8">
       <el-tabs v-model="activeName" @tab-click="handleClick">
-        <el-tab-pane label="鐢ㄦ埛绠$悊" name="first">鐢ㄦ埛绠$悊</el-tab-pane>
-        <el-tab-pane label="閰嶇疆绠$悊" name="second">閰嶇疆绠$悊</el-tab-pane>
-        <el-tab-pane label="瑙掕壊绠$悊" name="third">瑙掕壊绠$悊</el-tab-pane>
+        <el-tab-pane label="姝f�佸垎甯�" name="first">
+          <div>
+            <!--        <v-chart :option="chartOption" :style="{width: '600px', height: '400px'}"/>-->
+            <div ref="chart1" :style="{ width: '900px', height: '400px' }"></div>
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="鏁e垪鍥�" name="second">
+          <div ref="chart2" :style="{ width: '900px', height: '400px' }"></div>
+        </el-tab-pane>
       </el-tabs>
     </el-row>
+<!--      <div>-->
+<!--&lt;!&ndash;        <v-chart :option="chartOption" :style="{width: '600px', height: '400px'}"/>&ndash;&gt;-->
+<!--        <div ref="chart" :style="{ width: '100%', height: '400px' }"></div>-->
+<!--      </div>-->
+<!--    <el-table v-loading="loading" border :data="paramCollectionList" @selection-change="handleSelectionChange" v-if="paramCollectionList.length > 0">-->
 
-    <el-table v-loading="loading" border :data="paramCollectionList" @selection-change="handleSelectionChange" v-if="paramCollectionList.length > 0">
+<!--    </el-table>-->
 
-    </el-table>
-      <el-empty v-else>
-        <span slot="description">鏆傛棤鏁版嵁</span>
-      </el-empty>
+<!--      <el-empty v-else>-->
+<!--        <span slot="description">鏆傛棤鏁版嵁</span>-->
+<!--      </el-empty>-->
     </el-card>
 
 
@@ -75,13 +85,30 @@
 </template>
 
 <script>
-import { listParamCollection, getParamCollection, delParamCollection, addParamCollection, updateParamCollection } from "@/api/main/da/paramCollection/paramCollection";
-import {queryDaParamCollectionListForSearch, getSelectOption, queryChart} from "../../../../api/main/da/paramCollection/paramCollection";
+import {
+  addParamCollection,
+  delParamCollection,
+  getParamCollection,
+  updateParamCollection
+} from "@/api/main/da/paramCollection/paramCollection";
+import {
+  getSelectOption,
+  queryChart,
+  queryDaParamCollectionListForSearch
+} from "../../../../api/main/da/paramCollection/paramCollection";
+import VueECharts from 'vue-echarts';
+import echarts from 'echarts'
+import async from "async";
 
 export default {
   name: "ParamCollection",
+  components: {
+    'v-chart': VueECharts
+  },
   data() {
     return {
+      convertedData:[],
+      convertedData2:[],
       activeName: 'second',
       dataTypeList:[
         {
@@ -155,16 +182,91 @@
         paramValue: [
           { required: true, message: "鍙傛暟鍊间笉鑳戒负绌�", trigger: "blur" }
         ],
-      }
+      },
     };
   },
   created() {
     // this.getList();
   },
   mounted() {
+    this.initChart1();
+    this.initChart2();
     this.getSelectOptionMethod()
   },
   methods: {
+    initChart1() {
+      // 鍩轰簬鍑嗗濂界殑dom锛屽垵濮嬪寲echarts瀹炰緥
+      const chart = echarts.init(this.$refs.chart1);
+
+      // 鎸囧畾鍥捐〃鐨勯厤缃」鍜屾暟鎹�
+      const option = {
+        title: {
+          text: '姝f�佸垎甯冨浘',
+        },
+        tooltip: {},
+        xAxis: {
+          type: 'value',
+          scale: true
+        },
+        yAxis: {
+          type: 'value',
+        },
+        series: [
+          {
+            name: '姝f�佸垎甯�',
+            type: 'line',
+            smooth: true,
+            // data: this.generateNormalDistributionData(10,0,1), // 鍧囧��0锛屾爣鍑嗗樊1鐨勬鎬佸垎甯冩暟鎹�
+            // data: this.queryChartMethod(), // 鍧囧��0锛屾爣鍑嗗樊1鐨勬鎬佸垎甯冩暟鎹�
+            data: this.convertedData, // 鍧囧��0锛屾爣鍑嗗樊1鐨勬鎬佸垎甯冩暟鎹�
+          },
+        ],
+      };
+
+      // 浣跨敤鍒氭寚瀹氱殑閰嶇疆椤瑰拰鏁版嵁鏄剧ず鍥捐〃銆�
+      chart.setOption(option);
+    },
+    initChart2() {
+      // 鍩轰簬鍑嗗濂界殑dom锛屽垵濮嬪寲echarts瀹炰緥
+      const chart = echarts.init(this.$refs.chart2);
+
+      // 鎸囧畾鍥捐〃鐨勯厤缃」鍜屾暟鎹�
+      const option = {
+        title: {
+          text: '鏁e垪鍥�',
+        },
+        tooltip: {},
+        xAxis: {
+          type: 'category',
+          data:[]
+        },
+        yAxis: {
+          type: 'value',
+          scale: true
+        },
+        series: [
+          {
+            name: '鏁e垪鍥�',
+            type: 'scatter',
+            data: this.convertedData2, // 鍧囧��0锛屾爣鍑嗗樊1鐨勬鎬佸垎甯冩暟鎹�
+          },
+        ],
+      };
+
+      // 浣跨敤鍒氭寚瀹氱殑閰嶇疆椤瑰拰鏁版嵁鏄剧ず鍥捐〃銆�
+      chart.setOption(option);
+    },
+    generateNormalDistributionData(numPoints, mean, stdDev) {
+      let data = [];
+      for (let i = 0; i < numPoints; i++) {
+        const x = (i - numPoints / 2) / (numPoints / 4); // 缂╂斁鍒板悎閫傜殑X鑼冨洿
+        const y = (1 / (stdDev * Math.sqrt(2 * Math.PI))) * Math.exp(-0.5 * Math.pow((x - mean) / stdDev, 2));
+        data.push([x, y]);
+      }
+      console.log('rrered1111111111ata',data)
+      data = this.chartData
+      return data;
+    },
     getSelectOptionMethod(){
       getSelectOption(this.queryParams).then(res => {
         console.log('rrrrrrr',res)
@@ -174,41 +276,63 @@
         }
       })
     },
-    queryChartMethod(){
-      queryChart(this.queryParams).then(res => {
+   async queryChartMethod(){
+      //璁$畻鏂瑰紡鍙互鐧惧害
+      let convertedData = []
+      await queryChart(this.queryParams).then(res => {
         if (res.code === 200){
           console.log('res',res)
           let dataArray = []
           if (res.data.length > 0){
             res.data.forEach(x => {
-              let num = parseInt(x)
+              let num = parseFloat(x)
               dataArray.push(num)
             })
           }
           console.log('res222',dataArray)
+          this.convertedData2 = dataArray
           let array=dataArray
           console.log('arra',array)
           // 骞冲潎鍊�
           let mean=(array.reduce((a,b)=>a+b))/array.length
+          mean = mean.toFixed(2)
           console.log('mean',mean)
           // 鏂瑰樊
           let variance=array.map(x=>{
             return Math.pow(x-mean,2)
           }).reduce((a,b)=>a+b)/array.length
-          console.log('variance',variance)
+          console.log('variance222',variance)
           // 鏍囧噯宸�
           let StandardDeviation = Math.sqrt(variance)
+          StandardDeviation = StandardDeviation.toFixed(2)
           console.log('StandardDeviation',StandardDeviation)
-          //璁$畻鏂瑰紡鍙互鐧惧害
-          let convertedData=[]
-          for(let x=mean-3*StandardDeviation;x<=mean + 3*StandardDeviation;x++){
+          console.log('mean-3*StandardDeviation',mean - 3*StandardDeviation)
+          console.log('mean+3*StandardDeviation',parseFloat(mean) + 3*StandardDeviation)
+          let step = 0.1
+
+          for(let x=mean-3*StandardDeviation; x<=parseFloat(mean) + 3*StandardDeviation; x = parseFloat((x+step).toFixed(2))){
+            console.log('x',x)
             //for寰幆涓殑鏉′欢浠h〃浣犺鐢熸垚鍑犱釜鏍囧噯宸殑鏁版嵁锛�
             //  鍐嶅甫鍏ユ鎬佸垎甯冨叕寮忥紝灏卞彲浠ョ敓鎴愪竴鏉℃暣鏉″垎甯冩洸绾跨殑鏁版嵁
-            let y=1/(StandardDeviation*Math.sqrt(2*(Math.PI)))*Math.exp(-(Math.pow(x-mean,2))/(2*(Math.pow(StandardDeviation,2))))
-            convertedData.push([x,y])
+            console.log('(StandardDeviation*Math.sqrt(2*(Math.PI)))',(StandardDeviation*Math.sqrt(2*(Math.PI))))
+            console.log('1/(StandardDeviation*Math.sqrt(2*(Math.PI)))',1/(StandardDeviation*Math.sqrt(2*(Math.PI))))
+            console.log('-(Math.pow(x-mean,2))',-(Math.pow(x-mean,2)))
+            console.log('(2*(Math.pow(parseFloat(StandardDeviation),2)))',(2*(Math.pow(parseFloat(StandardDeviation),2))))
+            const temp =1/(StandardDeviation*Math.sqrt(2*(Math.PI)))*Math.exp(-(Math.pow(x-mean,2))/(2*(Math.pow(parseFloat(StandardDeviation),2))))
+            console.log('temp',temp)
+            let y = parseFloat(temp.toFixed(2))
+            console.log('yyyyyyyyyyy',y)
+            let a = []
+            a = [x,y]
+            console.log('a',a)
+            convertedData.push(a)
           }
         }
       })
+     console.log('34535435345',convertedData)
+     this.convertedData = convertedData
+     this.initChart1()
+     this.initChart2()
     },
     handleClick(tab, event) {
       console.log(tab, event);
@@ -218,8 +342,8 @@
         const startDate = value[0];
         const endDate = value[1];
         const dayCount = this.daysBetween(startDate, endDate);
-        if (dayCount + 1 > 7) {
-          this.$message.error('璇烽�夋嫨杩炵画鐨�7澶╋紒');
+        if (dayCount + 1 > 2) {
+          this.$message.error('璇烽�夋嫨杩炵画鐨�2澶╋紒');
           this.queryParams.dateConditions = []; // 閲嶇疆鏃ユ湡鑼冨洿
         }
       }

--
Gitblit v1.9.3