xyc
2024-07-24 d8cb08ce6b68b50d2475b70eb522ea6bbbb17686
web/src/views/modules/taskReliability/SimulatCurve.vue
@@ -11,29 +11,58 @@
    name: 'SimulatCurve',
    data() {
      return {
        xDataList: [],
        yDataList: [],
        myChart: {},
        myChartStyle: {float: "left", width: "100%", height: "400px"} //图表样式
        myChartStyle: {float: "left", width: "100%", height: "600px"}, //图表样式
        option: {}
      }
    },
    components: {},
    methods: {
      initEcharts(CurveData) {
        console.log(eval(CurveData), 'initEcharts(CurveData)')
        const option = {
      initEcharts(id,taskId, samplPeriod) {
        this.option = {
          title: {
            text: '',
            textStyle: { // 主标题文本样式{"fontSize": 18,"fontWeight": "bolder","color": "#333"}
              fontFamily: 'Arial',
              fontSize: 20,
              fontStyle: 'normal',
              fontWeight: 'normal',
            }
          },
          xAxis: {
            data: eval(CurveData)[0]
            data: [],
            name: '仿真次数'
          },
          yAxis: {},
          series: [
            {
              data: eval(CurveData)[1],
              data: [],
              type: 'line',
              smooth: true
            }
          ]
        };
        this.getEchart(id,taskId, samplPeriod)
      },
      async getEchart(id,taskId, samplPeriod) {
        let task = await this.$http.get(`/taskReliability/Task/${taskId}`)
        samplPeriod = samplPeriod / 60
        let i = 0
        for (i = 0; i + samplPeriod <= task.taskDuration; i += samplPeriod) {
          this.series[0].data.push(i);
        }
        if (i !== task.taskDuration) {
          this.series[0].data.push(task.taskDuration);
        }
        let res = await this.$http.get(`/taskReliability/SimulatAssess/${id}`)
        this.myChart = echarts.init(document.getElementById("mychart"));
        this.myChart.setOption(option);
        this.myChart.setOption(this.option);
        //随着屏幕大小调节图表
        window.addEventListener("resize", () => {
          this.myChart.resize();