tom
2023-12-06 9e968679ed2e6937aeb7b50a6c450d5d19251f42
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
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"><meta http-equiv="Expires" content="0"><meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Cache-control" content="no-cache"><meta http-equiv="Cache" content="no-cache">
        <script src="node_data.js"></script>
        <script src="../js/vue/vue.js"></script>
        <script src="../js/vue/axios/dist/axios.min.js"></script>
        <script src="https://gw.alipayobjects.com/os/lib/antv/g6/4.3.2/dist/g6.min.js"></script>
        <script src="echarts.js"></script>
        <script src="S2.min.js"></script>
        
        <!-- <script src="//unpkg.com/vue@2/dist/vue.js"></script> -->
        <script src="//unpkg.com/element-ui@2.15.10/lib/index.js"></script>
        <!-- <script src="../js/vue/element-ui/element-ui_15/index.js"></script> -->
        
        <!-- <script src="../js/vue/element-ui/element-ui_15/index.js"></script> -->
        <link href="../js/vue/element-ui/element-ui_15/theme-chalk/index.css" rel="stylesheet">
        <title></title>
    </head>
    <body>
        <div id="vbody">
            
            <div id="page_root">
                <div id="line" style="width: 100%; height: 350px"></div>
                <div id="app">
                    <template>
                        <el-table 
                            :data="tableData" 
                            style="width: 100%"
                            stripe
                            row-key = "id"
                            border
                            lazy
                            :load = "load"
                            :tree-props = "{children : 'children', hasChildren : 'hasChildren'}">
                                <el-table-column prop="name" label="姓名" width="150" align="center"></el-table-column>
                                <el-table-column label="历史数据" align="center">
                                    <el-table-column prop="grow_0" label="自增系数" width="120" align="center"></el-table-column>
                                    <el-table-column prop="share_0" label="销量占比" width="120" align="center"></el-table-column>
                                </el-table-column>
                                <el-table-column label="预测数据" align="center">
                                    <el-table-column prop="grow_1" label="预测自增" width="120" align="center"></el-table-column>
                                    <el-table-column prop="share_1" label="预测占比" width="120" align="center"></el-table-column>
                                </el-table-column>
                                <el-table-column label="指标数据" align="center">
                                    <el-table-column prop="metrics_0" label="理论指标" width="120" align="center"></el-table-column>
                                    <el-table-column prop="metrics_1" label="预测指标" width="120" align="center"></el-table-column>
                                    <el-table-column prop="metrics_2" label="设定指标" width="120" align="center"></el-table-column>
                                </el-table-column>
                                <el-table-column label="指标认领" align="center">
                                    <el-table-column prop="claims_0" label="初次认领" width="120" align="center"></el-table-column>
                                    <el-table-column prop="claims_1" label="剩余认领" width="120" align="center"></el-table-column>
                                    <el-table-column prop="claims_2" label="再次分配" width="120" align="center"></el-table-column>
                        </el-table>
                    </template>
                </div>
                <div id="bar" style="width: 100%; height: 300px"></div>
            </div>
            
            <div id="table" style="width: 100%; height: 350px"></div>
            
        </div>
        
        <script type="text/javascript">
            new Vue({
                el: "#vbody",
                data: function () {
                    return{
                        tableData: [
                            {
                                id: 1,
                                name: "小区-钟凤娟",
                                grow_0: 0.32,
                                share_0: 0.25,
                                grow_1: 0.315,
                                share_1: 0.252,
                                metrics_0: 2500,
                                metrics_1: 2520,
                                metrics_2: 2550,
                                claims_0: 2500,
                                claims_1: 50,
                                claims_2: 25,
                                children:[
                                    {
                                        id: 11,
                                        name: "辖区-丁玲利",
                                        grow_0: 0.32,
                                        share_0: 0.25,
                                        grow_1: 0.315,
                                        share_1: 0.252,
                                        metrics_0: 2500,
                                        metrics_1: 2520,
                                        metrics_2: 2550,
                                        claims_0: 2500,
                                        claims_1: 50,
                                        claims_2: 25,
                                        children: [
                                            {
                                                id: 111,
                                                name: "try1",
                                                grow_0: 0.32,
                                                share_0: 0.25,
                                                grow_1: 0.315,
                                                share_1: 0.252,
                                                metrics_0: 2500,
                                                metrics_1: 2520,
                                                metrics_2: 2550,
                                                claims_0: 2500,
                                                claims_1: 50,
                                                claims_2: 25,
                                            },
                                            {
                                                id: 112,
                                                name: "try2",
                                                grow_0: 0.32,
                                                share_0: 0.25,
                                                grow_1: 0.315,
                                                share_1: 0.252,
                                                metrics_0: 2500,
                                                metrics_1: 2520,
                                                metrics_2: 2550,
                                                claims_0: 2500,
                                                claims_1: 50,
                                                claims_2: 25,
                                            },
                                        ]
                                    },
                                    {
                                        id: 12,
                                        name: "辖区-高琴",
                                        grow_0: 0.32,
                                        share_0: 0.25,
                                        grow_1: 0.315,
                                        share_1: 0.252,
                                        metrics_0: 2500,
                                        metrics_1: 2520,
                                        metrics_2: 2550,
                                        claims_0: 2500,
                                        claims_1: 50,
                                        claims_2: 25,
                                    },
                                    {
                                        id: 13,
                                        name: "辖区-吴旭莉",
                                        grow_0: 0.32,
                                        share_0: 0.25,
                                        grow_1: 0.315,
                                        share_1: 0.252,
                                        metrics_0: 2500,
                                        metrics_1: 2520,
                                        metrics_2: 2550,
                                        claims_0: 2500,
                                        claims_1: 50,
                                        claims_2: 25,
                                    },
                                    {
                                        id: 14,
                                        name: "辖区-辜彩娇",
                                        grow_0: 0.32,
                                        share_0: 0.25,
                                        grow_1: 0.315,
                                        share_1: 0.252,
                                        metrics_0: 2500,
                                        metrics_1: 2520,
                                        metrics_2: 2550,
                                        claims_0: 2500,
                                        claims_1: 50,
                                        claims_2: 25,
                                    },
                                    {
                                        id: 15,
                                        name: "辖区-耿译木",
                                        grow_0: 0.32,
                                        share_0: 0.25,
                                        grow_1: 0.315,
                                        share_1: 0.252,
                                        metrics_0: 2500,
                                        metrics_1: 2520,
                                        metrics_2: 2550,
                                        claims_0: 2500,
                                        claims_1: 50,
                                        claims_2: 25,
                                    },
                                ]
                            },
                            {
                                id: 2,
                                name: "小区-张田田",
                                grow_0: 0.32,
                                share_0: 0.25,
                                grow_1: 0.315,
                                share_1: 0.252,
                                metrics_0: 2500,
                                metrics_1: 2520,
                                metrics_2: 2550,
                                claims_0: 2500,
                                claims_1: 50,
                                claims_2: 25,
                                children:[
                                    {
                                        id: 21,
                                        name: "辖区-杜小平",
                                        grow_0: 0.32,
                                        share_0: 0.25,
                                        grow_1: 0.315,
                                        share_1: 0.252,
                                        metrics_0: 2500,
                                        metrics_1: 2520,
                                        metrics_2: 2550,
                                        claims_0: 2500,
                                        claims_1: 50,
                                        claims_2: 25,
                                        children: [
                                            {
                                                id: 211,
                                                name: "try1",
                                                grow_0: 0.32,
                                                share_0: 0.25,
                                                grow_1: 0.315,
                                                share_1: 0.252,
                                                metrics_0: 2500,
                                                metrics_1: 2520,
                                                metrics_2: 2550,
                                                claims_0: 2500,
                                                claims_1: 50,
                                                claims_2: 25,
                                            },
                                            {
                                                id: 212,
                                                name: "try2",
                                                grow_0: 0.32,
                                                share_0: 0.25,
                                                grow_1: 0.315,
                                                share_1: 0.252,
                                                metrics_0: 2500,
                                                metrics_1: 2520,
                                                metrics_2: 2550,
                                                claims_0: 2500,
                                                claims_1: 50,
                                                claims_2: 25,
                                            },
                                        ]
                                    },
                                    {
                                        id: 22,
                                        name: "辖区-伍慕华",
                                        grow_0: 0.32,
                                        share_0: 0.25,
                                        grow_1: 0.315,
                                        share_1: 0.252,
                                        metrics_0: 2500,
                                        metrics_1: 2520,
                                        metrics_2: 2550,
                                        claims_0: 2500,
                                        claims_1: 50,
                                        claims_2: 25,
                                    },
                                    {
                                        id: 23,
                                        name: "辖区-董丽云",
                                        grow_0: 0.32,
                                        share_0: 0.25,
                                        grow_1: 0.315,
                                        share_1: 0.252,
                                        metrics_0: 2500,
                                        metrics_1: 2520,
                                        metrics_2: 2550,
                                        claims_0: 2500,
                                        claims_1: 50,
                                        claims_2: 25,
                                    },
                                    {
                                        id: 24,
                                        name: "辖区-康麟",
                                        grow_0: 0.32,
                                        share_0: 0.25,
                                        grow_1: 0.315,
                                        share_1: 0.252,
                                        metrics_0: 2500,
                                        metrics_1: 2520,
                                        metrics_2: 2550,
                                        claims_0: 2500,
                                        claims_1: 50,
                                        claims_2: 25,
                                    },
                                    {
                                        id: 25,
                                        name: "辖区-傅丽萍",
                                        grow_0: 0.32,
                                        share_0: 0.25,
                                        grow_1: 0.315,
                                        share_1: 0.252,
                                        metrics_0: 2500,
                                        metrics_1: 2520,
                                        metrics_2: 2550,
                                        claims_0: 2500,
                                        claims_1: 50,
                                        claims_2: 25,
                                    },
                                ]
                            },
                            {
                                id: 3,
                                name: "小区-胡文品",
                                grow_0: 0.32,
                                share_0: 0.25,
                                grow_1: 0.315,
                                share_1: 0.252,
                                metrics_0: 2500,
                                metrics_1: 2520,
                                metrics_2: 2550,
                                claims_0: 2500,
                                claims_1: 50,
                                claims_2: 25,
                            },
                            {
                                id: 4,
                                name: "小区-邵梅",
                                grow_0: 0.32,
                                share_0: 0.25,
                                grow_1: 0.315,
                                share_1: 0.252,
                                metrics_0: 2500,
                                metrics_1: 2520,
                                metrics_2: 2550,
                                claims_0: 2500,
                                claims_1: 50,
                                claims_2: 25,
                            },
                            {
                                id: 5,
                                name: "小区-单丹",
                                grow_0: 0.32,
                                share_0: 0.25,
                                grow_1: 0.315,
                                share_1: 0.252,
                                metrics_0: 2500,
                                metrics_1: 2520,
                                metrics_2: 2550,
                                claims_0: 2500,
                                claims_1: 50,
                                claims_2: 25,
                            },
                            {
                                id: 6,
                                name: "小区-鲍恩议",
                                grow_0: 0.32,
                                share_0: 0.25,
                                grow_1: 0.315,
                                share_1: 0.252,
                                metrics_0: 2500,
                                metrics_1: 2520,
                                metrics_2: 2550,
                                claims_0: 2500,
                                claims_1: 50,
                                claims_2: 25,
                            },
                        ],
                    };
                },
                
                created() {},
                
                mounted() {
                    //获取数据
                    this.initData();
                },
                
                methods:{
                    initData() {
                        var me = this;
                        
                        let chartDom_bar = document.getElementById('bar');
                        let chartDom_line = document.getElementById('line');
                        
                        let myChart_bar = echarts.init(chartDom_bar);
                        let myChart_line = echarts.init(chartDom_line);
                        
                        let option_line = {
                          title: {
                              text: '销量趋势',
                            },
                            tooltip: {
                              trigger: 'axis'
                            },
                            legend: {
                              data: ['小区-钟凤娟', '小区-张田田', '小区-胡文品', '小区-邵梅', '小区-单丹','小区-鲍恩议'],
                            },
                            grid: {
                              left: '3%',
                              right: '4%',
                              bottom: '3%',
                              containLabel: true
                            },
                            xAxis: {
                              type: 'category',
                              boundaryGap: false,
                              data: ['2015', '2016', '2017', '2018', '2019', '2020', '2021']
                            },
                            yAxis: {
                              type: 'value'
                            },
                            series: [
                              {
                                name: '小区-钟凤娟',
                                type: 'line',
                                smooth: true,
                                data: [120, 132, 101, 134, 90, 230, 210]
                              },
                              {
                                name: '小区-张田田',
                                type: 'line',
                                data: [160, 132, 101, 134, 90, 230, 210]
                              },
                              {
                                name: '小区-胡文品',
                                type: 'line',
                                data: [320, 432, 401, 434, 290, 330, 520]
                              },
                              {
                                name: '小区-邵梅',
                                type: 'line',
                                data: [220, 182, 191, 234, 290, 330, 310]
                              },
                              {
                                name: '小区-单丹',
                                type: 'line',
                                data: [150, 232, 201, 154, 190, 330, 410]
                              },
                              {
                                name: '小区-鲍恩议',
                                type: 'line',
                                data: [320, 332, 301, 334, 390, 330, 320]
                              },
                            ]
                        };
                        
                        fetch(
                            'S2.json',
                        )
                        .then((res) => res.json())
                        .then((dataCfg) => {
                            const container = document.getElementById('table');
                    
                            const s2Options = {
                                width: 1000,
                                hierarchyType: 'tree',
                                // style: {
                                //     collapsedRows: {
                                //         'root[&]浙江省': true, // 折叠浙江省下面所有的城市
                                //     }
                                // }
                            };
                            const s2 = new S2.PivotSheet(container, dataCfg, s2Options);
                    
                            s2.render();
                        });
                    
                        let option_bar = {
                            title: {
                                text: '指标分配'
                              },
                          tooltip: {
                              trigger: 'axis',
                              axisPointer: {
                                // Use axis to trigger tooltip
                                type: 'shadow' // 'shadow' as default; can also be 'line' or 'shadow'
                              }
                            },
                            legend: {},
                            grid: {
                              left: '3%',
                              right: '4%',
                              bottom: '3%',
                              containLabel: true
                            },
                            yAxis: {
                              type: 'value'
                            },
                            xAxis: {
                              type: 'category',
                              data: ['小区-钟凤娟', '小区-张田田', '小区-胡文品', '小区-邵梅', '小区-单丹', '小区-鲍恩议']
                            },
                            series: [
                              {
                                name: '初认领指标',
                                type: 'bar',
                                stack: 'total',
                                label: {
                                  show: true
                                },
                                emphasis: {
                                  focus: 'series'
                                },
                                data: [3200, 4000, 3340, 3900, 3500, 3300]
                              },
                              {
                                name: '待认领指标',
                                type: 'bar',
                                stack: 'total',
                                label: {
                                  show: true
                                },
                                emphasis: {
                                  focus: 'series'
                                },
                                data: [300, 0, 160, 100, 0, 200]
                              },
                              {
                                name: '再分配指标',
                                type: 'bar',
                                label: {
                                  show: true
                                },
                                emphasis: {
                                  focus: 'series'
                                },
                                data: [150, 50, 150, 100, 260, 100]
                              }
                            ]
                        };
                        
                        myChart_bar.setOption(option_bar);
                        myChart_line.setOption(option_line);
                        this.initEcharts()
                    },
                    
                    initEcharts() {
                        
                    },
                }
            });
        </script>
    </body>
</html>