Admin
2022-09-02 0d69019484ae3654579577d06871075b8a389159
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
<template>
    <div class="charts-cont">
<!--        <div class="pro" :id="pro">-->
 
<!--        </div>-->
        <dv-active-ring-chart :config="config" style="width:100%;height:100%" />
    </div>
</template>
 
<script lang="ts">
    import {toRefs, reactive, defineComponent, ref, defineAsyncComponent, onMounted} from 'vue';
    import { storeToRefs } from 'pinia';
    import { initBackEndControlRoutes } from '/@/router/backEnd';
    import {useUserInfo} from "/@/stores/userInfo";
    import { Session } from '/@/utils/storage';
    import { Search } from '@element-plus/icons-vue'
    import { ElMessage } from 'element-plus'
    import type { FormInstance, FormRules } from 'element-plus'
    import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
    import * as echarts from 'echarts';
    import '/@/theme/bigScreen.css'
 
 
    interface stateType {
    }
    export default defineComponent({
        name: 'profession',
        components: {},
        props:{
            size: Number
        },
        setup(props) {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
            const pro = ref("eChartPro" + Date.now() + Math.random())
            const state = reactive<stateType>({
                config:{
                    data: [
                        {
                            name: '持证人员',
                            value: 55
                        },
                        {
                            name: '非持证人员',
                            value: 120
                        }
                    ],
                    radius: '65%',
                    activeRadius: '60%',
                    color: ['#FAC858','#EE6666'],
                    lineWidth: fontSize(25),
                    digitalFlopStyle: {
                        fontSize: 16,
                        fill: '#fff'
                    }
                }
            })
            // type EChartsOption = echarts.EChartsOption
            // // 隐患整改情况
            // const initPro =()=>{
            //     let dom = document.getElementById(pro.value);
            //     let myChart = echarts.init(dom);
            //
            //     let option: EChartsOption;
            //
            //     option = {
            //         tooltip: {
            //             trigger: 'item'
            //         },
            //         legend: {
            //             top: '0',
            //             left: 'center',
            //             textStyle:{
            //                 color: '#fff',
            //                 fontSize: fontSize(11)
            //             }
            //         },
            //         series: [
            //             {
            //                 name: 'Access From',
            //                 type: 'pie',
            //                 radius: ['45%', '70%'],
            //                 avoidLabelOverlap: false,
            //                 itemStyle: {
            //                     borderRadius: 4
            //                 },
            //                 label: {
            //                     show: true,
            //                     position: 'outer',
            //                     fontSize: fontSize(12),
            //                     color: '#ffffff',
            //                     textBorderWidth: 0,
            //                     width: 30,
            //                     overflow: 'break'
            //                 },
            //                 labelLine: {
            //                     show: true,
            //                     length: 10,
            //                     length2: 10
            //                 },
            //                 emphasis: {
            //                     label: {
            //                         show: true,
            //                         fontSize: fontSize(22),
            //                         fontWeight: 'bold'
            //                     }
            //                 },
            //                 data: [
            //                     { value: 1048, name: '持证人员' },
            //                     { value: 735, name: '非持证人员' }
            //                 ],
            //                 center: ['50%','55%']
            //             }
            //         ]
            //     };
            //
            //     option && myChart.setOption(option);
            //     window.addEventListener("resize",function (){
            //         myChart.resize();
            //     });
            // }
            function fontSize(val){
                let nowClientWidth = document.documentElement.clientWidth;
                return val * (nowClientWidth/1920) * Number(props.size);
            }
 
            // 页面载入时执行方法
            onMounted(() => {
            });
 
            return {
                pro,
                Search,
                fontSize,
                ...toRefs(state)
            };
        },
    });
</script>
 
<style scoped lang="scss">
    .charts-cont{
        width: 100%;
        height: 100%;
        padding: 4% 4% 0;
        position: relative;
 
        .pro{
            width: 100%;
            height: 100%;
        }
    }
    .home-container {
        height: 100%;
        overflow: hidden;
        position: relative;
        .el-row{
            margin-bottom: 20px;
        }
        .el-row:last-child {
            margin-bottom: 0;
        }
        .el-input{
            width: 100% !important;
        }
        .el-date-editor::v-deep{
            width: 100%;
        }
        .el-select{
            width: 100%;
        }
        .el-cascader{
            width: 100% !important;
        }
    }
</style>