guoshilong
2023-10-27 2311b03aee9db1bebacdd2ced13c071efda6a011
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<template>
    <view class="card-content" slot="content">
        <echart initId="sq" :option="sqOption"></echart>
    </view>
</template>
 
<script>
    // import echart from "@/components/echart/echart.vue"
    export default {
        // components: {
        //     echart
        // },
        data() {
            return {
                sqOption: {
                    tooltip: {
                        trigger: 'axis'
                    },
                    legend: {
                        selected: {
                            '水位(m)': true,
                            "汛限水位": true,
                            "堰顶高程": false,
                            "坝顶高程": false,
                            "校核水位": false,
                            "设计水位": false,
                            "正常水位": false,
                            "死水位": false,
                        },
                        left: "100",
                        align: "right",
                        data: ['水位(m)', "汛限水位", "坝顶高程", "堰顶高程", "校核水位", "设计水位", "正常水位", "死水位"],
                        // '入库流量',
                        padding: [20, 0, 0, 0],
                        textStyle: {
                            fontSize: 10
                        },
                    },
                    xAxis: [{
                        type: 'category',
                        boundaryGap: false,
                        data: []
                    }],
                    yAxis: [{
                        type: 'value',
                        name: "水位(m)",
                        nameTextStyle: {
                            fontSize: 8,
                            vertivalAlign: "middle",
                            padding: [0, 56, 0, 0]
                        },
                        min: (val) => {
                            return val.min;
                        },
                        max: (val) => {
                            return val.max;
                        }
                    }, ],
                    grid: {
                        bottom: "10%",
                        top: "30%",
                        // right: "10%",
                        left: "17%"
                    },
                    series: [{
                            name: '水位',
                            type: 'line',
                            color: "#FF8B07",
                            data: [],
                            lineStyle: {
                                normal: {
                                    type: "solid"
                                }
                            },
                            smooth: true,
                            showSymbol: false
                        },
                        {
                            type: "line",
                            name: "汛限水位",
                            markLine: {
                                symbol: 'none',
                                data: [{
                                    lineStyle: {
                                        color: "#1180ff",
                                        type: "dashed"
                                    },
                                    label: {
                                        position: "middle",
                                        fontWeight: 'bold',
                                        color: "#1180ff",
                                        formatter(params) {
                                            return `汛限水位 ${params.value}m`
                                        }
                                    },
                                    yAxis: 0
                                }, ]
                            }
                        },
                    ]
                },
            }
        },
        props: {
            option: {
                type: Object,
                default: () => {}
            }
        },
        watch: {
            option: {
                handler(newVal) {
                    if (newVal) {
                        this.sqOption = {
                            ...this.sqOption,
                            ...newVal
                        }
                    }
                },
                deep: true,
                immediate: true
            }
        },
        methods: {}
    }
</script>
 
<style scoped lang="scss">
</style>