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>--> +<!--<!– <v-chart :option="chartOption" :style="{width: '600px', height: '400px'}"/>–>--> +<!-- <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