Blame view

src/views/resume/femalestaff.vue 13.9 KB
76f8396d   yangzhi   简历分析页面(女)
1
  <template>
cbff938b   yangzhi   超哥牛批
2
3
4
5
6
7
8
9
    <div class="page">
      <div class="top-panel flex1">
        <div class="top-panel-content">
          <img class="user-head" src="/static/resume/head.png" alt="" />
          <div>
            <div class="user-info">
              <h2>{{ userDetail.fullName }}</h2>
              <img
97c13b13   yangzhi   简历分析样式修改
10
                style="height: 16rem; margin: 0 20px"
cbff938b   yangzhi   超哥牛批
11
12
13
14
                src="/static/resume/female/resume13.png"
                alt=""
              />
              <div class="star-progress">
97c13b13   yangzhi   简历分析样式修改
15
16
17
18
19
20
                <div
                  :style="{
                    width: 'calc(140px / 7 * ' + (userDetail.stars || 0) + ')',
                  }"
                  class="star-progress-bar"
                ></div>
76f8396d   yangzhi   简历分析页面(女)
21
              </div>
76f8396d   yangzhi   简历分析页面(女)
22
            </div>
cbff938b   yangzhi   超哥牛批
23
24
25
            <ul class="user-items">
              <li v-for="item in infoListComputed" :key="item.title">
                <img :src="'/static/resume/female/' + item.icon" alt="" />
8b8d289b   yangzhi   超哥超哥超哥
26
                <span>{{ item.title }}:{{ item.value || "未知" }}</span>
cbff938b   yangzhi   超哥牛批
27
28
              </li>
            </ul>
76f8396d   yangzhi   简历分析页面(女)
29
          </div>
cbff938b   yangzhi   超哥牛批
30
31
32
33
34
35
        </div>
        <div style="display: flex">
          <div style="flex: 1; margin-right: 30px">
            <div class="info-panel">
              <div class="info-title">
                <span>技能优势</span>
76f8396d   yangzhi   简历分析页面(女)
36
              </div>
cbff938b   yangzhi   超哥牛批
37
              <div class="info-content">
8b8d289b   yangzhi   超哥超哥超哥
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
                <ul
                  v-if="
                    userDetail.skillAdvantages &&
                    userDetail.skillAdvantages.length
                  "
                >
                  <li
                    v-for="item in userDetail.skillAdvantages"
                    :key="item.title"
                  >
                    <h3>{{ item.title }}</h3>
                    <p class="text-overflow2">{{ item.desc }}</p>
                  </li>
                </ul>
                <div v-else>暂无信息</div>
76f8396d   yangzhi   简历分析页面(女)
53
54
              </div>
            </div>
cbff938b   yangzhi   超哥牛批
55
            <div class="info-panel">
76f8396d   yangzhi   简历分析页面(女)
56
              <div class="info-title">
cbff938b   yangzhi   超哥牛批
57
                <span>教育经历</span>
76f8396d   yangzhi   简历分析页面(女)
58
59
              </div>
              <div class="info-content">
8b8d289b   yangzhi   超哥超哥超哥
60
61
                <ul
                  v-if="
97c13b13   yangzhi   简历分析样式修改
62
63
                    userDetail.educationalExperience &&
                    userDetail.educationalExperience.length
8b8d289b   yangzhi   超哥超哥超哥
64
65
                  "
                >
97c13b13   yangzhi   简历分析样式修改
66
67
68
69
                  <li
                    v-for="item in userDetail.educationalExperience"
                    :key="item.date"
                  >
8b8d289b   yangzhi   超哥超哥超哥
70
71
                    <h3 class="flex flex-between">
                      <span>{{ item.school }}</span>
f0344737   yangzhi   简历分析修改
72
                      <span style="font-size: 10rem">{{ item.date }}</span>
8b8d289b   yangzhi   超哥超哥超哥
73
74
75
76
77
78
79
80
                    </h3>
                    <p class="flex flex-between">
                      <span>{{ item.major }}</span>
                      <span>{{ item.degree }}</span>
                    </p>
                  </li>
                </ul>
                <div v-else>暂无信息</div>
76f8396d   yangzhi   简历分析页面(女)
81
82
83
              </div>
            </div>
          </div>
cbff938b   yangzhi   超哥牛批
84
85
86
          <div class="info-panel" style="flex: 1">
            <div class="info-title">
              <span>工作经历</span>
76f8396d   yangzhi   简历分析页面(女)
87
            </div>
cbff938b   yangzhi   超哥牛批
88
            <div class="info-content">
8b8d289b   yangzhi   超哥超哥超哥
89
90
              <ul
                v-if="
97c13b13   yangzhi   简历分析样式修改
91
                  userDetail.workExperience && userDetail.workExperience.length
8b8d289b   yangzhi   超哥超哥超哥
92
93
                "
              >
97c13b13   yangzhi   简历分析样式修改
94
                <li v-for="item in userDetail.workExperience" :key="item.date">
cbff938b   yangzhi   超哥牛批
95
                  <h3 class="flex flex-between">
8b8d289b   yangzhi   超哥超哥超哥
96
97
                    <span>{{ item.company }}</span>
                    <span>{{ item.position }}</span>
f0344737   yangzhi   简历分析修改
98
                    <span style="font-size: 10rem">{{ item.date }}</span>
cbff938b   yangzhi   超哥牛批
99
100
                  </h3>
                  <p class="text-overflow2">
8b8d289b   yangzhi   超哥超哥超哥
101
                    {{ item.desc }}
cbff938b   yangzhi   超哥牛批
102
103
104
105
                  </p>
                </li>
              </ul>
              <div v-else>暂无信息</div>
76f8396d   yangzhi   简历分析页面(女)
106
107
            </div>
          </div>
cbff938b   yangzhi   超哥牛批
108
109
        </div>
      </div>
97c13b13   yangzhi   简历分析样式修改
110
111
112
113
114
115
116
117
      <div
        class="bottom-panel flex1"
        v-if="
          abilityEchart1VisibleComputed ||
          abilityEchart2VisibleComputed ||
          natureEchartVisibleComputed
        "
      >
6fb7bd31   yangzhi   【优化】能力统计图如果没有数据就不显示
118
        <div class="panel" v-if="abilityEchart1VisibleComputed">
cbff938b   yangzhi   超哥牛批
119
120
121
          <div class="panel-title">
            <span>能力统计图</span>
            <img src="/static/resume/female/resume11.png" alt="" />
76f8396d   yangzhi   简历分析页面(女)
122
          </div>
cbff938b   yangzhi   超哥牛批
123
124
125
126
          <div class="panel-body">
            <div id="echarts1"></div>
          </div>
        </div>
97c13b13   yangzhi   简历分析样式修改
127
        <div class="panel" v-if="abilityEchart2VisibleComputed">
cbff938b   yangzhi   超哥牛批
128
129
130
131
132
133
134
135
          <div class="panel-title">
            <span>能力统计图</span>
            <img src="/static/resume/female/resume11.png" alt="" />
          </div>
          <div class="panel-body">
            <div id="echarts2"></div>
          </div>
        </div>
97c13b13   yangzhi   简历分析样式修改
136
        <div class="panel" v-if="natureEchartVisibleComputed">
cbff938b   yangzhi   超哥牛批
137
138
139
140
141
142
          <div class="panel-title">
            <span>性格统计图</span>
            <img src="/static/resume/female/resume12.png" alt="" />
          </div>
          <div class="panel-body">
            <div id="echarts3"></div>
76f8396d   yangzhi   简历分析页面(女)
143
144
145
          </div>
        </div>
      </div>
cbff938b   yangzhi   超哥牛批
146
147
    </div>
  </template>
76f8396d   yangzhi   简历分析页面(女)
148
    <script>
cbff938b   yangzhi   超哥牛批
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
  import * as echarts from "echarts";
  import { getOuterUserInfo } from "@/api/user";
  export default {
    data() {
      return {
        id: "",
        infoList: [
          { title: "性别", value: "女", icon: "resume17.png" },
          { title: "体重", value: "", icon: "resume1.png" },
          { title: "身高", value: "", icon: "resume2.png" },
          { title: "血型", value: "", icon: "resume3.png" },
          { title: "年龄", value: "", icon: "resume8.png" },
          { title: "婚否", value: "未婚", icon: "resume14.png" },
          { title: "民族", value: "汉族", icon: "resume4.png" },
          { title: "政治面貌", value: "", icon: "resume5.png" },
          { title: "户籍所在地", value: "", icon: "resume9.png" },
        ],
        echartOption1: {
97c13b13   yangzhi   简历分析样式修改
167
168
169
          textStyle:{
            fontSize:'8rem'
          },
cbff938b   yangzhi   超哥牛批
170
171
172
173
174
175
176
177
178
179
180
          grid: {
            top: 30,
            bottom: 20,
            right: 20,
            left: 20,
          },
          yAxis: {
            type: "value",
            splitLine: {
              lineStyle: {
                type: "dashed",
76f8396d   yangzhi   简历分析页面(女)
181
              },
cbff938b   yangzhi   超哥牛批
182
183
184
185
186
187
188
189
190
            },
            axisLabel: {
              show: false,
              color: "#EAEBEB",
            },
          },
          xAxis: [
            {
              type: "category",
76f8396d   yangzhi   简历分析页面(女)
191
              axisLabel: {
cbff938b   yangzhi   超哥牛批
192
193
194
                color: "#eaeaea",
                interval: 0,
                fontSize: 14,
76f8396d   yangzhi   简历分析页面(女)
195
              },
cbff938b   yangzhi   超哥牛批
196
              data: [],
76f8396d   yangzhi   简历分析页面(女)
197
            },
cbff938b   yangzhi   超哥牛批
198
199
200
201
202
203
204
205
206
          ],
          series: [
            {
              type: "bar",
              barWidth: 25,
              label: {
                show: true,
                color: "#e9a6ff",
                position: "top",
76f8396d   yangzhi   简历分析页面(女)
207
              },
cbff938b   yangzhi   超哥牛批
208
209
210
211
212
213
214
              itemStyle: {
                normal: {
                  color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                    { offset: 0, color: "#e9a6ffff" },
                    { offset: 1, color: "#e9a6ff00" },
                  ]),
                  barBorderRadius: [10, 10, 0, 0],
76f8396d   yangzhi   简历分析页面(女)
215
                },
76f8396d   yangzhi   简历分析页面(女)
216
              },
cbff938b   yangzhi   超哥牛批
217
              data: [],
76f8396d   yangzhi   简历分析页面(女)
218
            },
cbff938b   yangzhi   超哥牛批
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
            {
              type: "line",
              color: "#e9a6ff",
              data: [],
            },
          ],
        },
        echartOption2: {
          grid: {
            top: 30,
            bottom: 20,
            right: 20,
            left: 20,
          },
          yAxis: {
            type: "value",
            splitLine: {
              lineStyle: {
                type: "dashed",
76f8396d   yangzhi   简历分析页面(女)
238
              },
cbff938b   yangzhi   超哥牛批
239
240
241
242
243
244
245
246
247
            },
            axisLabel: {
              show: false,
              color: "#EAEBEB",
            },
          },
          xAxis: [
            {
              type: "category",
76f8396d   yangzhi   简历分析页面(女)
248
              axisLabel: {
cbff938b   yangzhi   超哥牛批
249
250
251
                color: "#eaeaea",
                interval: 0,
                fontSize: 14,
76f8396d   yangzhi   简历分析页面(女)
252
              },
cbff938b   yangzhi   超哥牛批
253
              data: [],
76f8396d   yangzhi   简历分析页面(女)
254
            },
cbff938b   yangzhi   超哥牛批
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
          ],
          series: [
            {
              type: "bar",
              barWidth: 25,
              label: {
                show: true,
                color: "#e9a6ff",
                position: "top",
              },
              itemStyle: {
                normal: {
                  color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                    { offset: 0, color: "#e9a6ffff" },
                    { offset: 1, color: "#e9a6ff00" },
                  ]),
                  barBorderRadius: [10, 10, 0, 0],
76f8396d   yangzhi   简历分析页面(女)
272
                },
76f8396d   yangzhi   简历分析页面(女)
273
              },
cbff938b   yangzhi   超哥牛批
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
              data: [],
            },
            {
              type: "line",
              color: "#e9a6ff",
              data: [],
            },
          ],
        },
        echartOption3: {
          radar: {
            indicator: [
              { name: "Sales", max: 6500 },
              { name: "Administration", max: 16000 },
              { name: "Information Technology", max: 30000 },
              { name: "Customer Support", max: 38000 },
              { name: "Development", max: 52000 },
              { name: "Marketing", max: 25000 },
76f8396d   yangzhi   简历分析页面(女)
292
            ],
cbff938b   yangzhi   超哥牛批
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
          },
          series: [
            {
              type: "radar",
              data: [
                {
                  name: "",
                  value: [],
                  label: {
                    show: true,
                    formatter: function (params) {
                      return params.value;
                    },
                  },
                  areaStyle: {
                    color: new echarts.graphic.RadialGradient(0.1, 0.6, 1, [
                      {
                        color: "#e9a6ff52",
                        offset: 0,
                      },
                      {
                        color: "#e9a6ff00",
                        offset: 1,
                      },
76f8396d   yangzhi   简历分析页面(女)
317
                    ]),
76f8396d   yangzhi   简历分析页面(女)
318
319
                  },
                },
76f8396d   yangzhi   简历分析页面(女)
320
321
              ],
            },
cbff938b   yangzhi   超哥牛批
322
          ],
76f8396d   yangzhi   简历分析页面(女)
323
        },
6fb7bd31   yangzhi   【优化】能力统计图如果没有数据就不显示
324
        natureList: [],
cbff938b   yangzhi   超哥牛批
325
326
327
328
329
        abilityList: [],
        user: {},
      };
    },
    computed: {
97c13b13   yangzhi   简历分析样式修改
330
331
332
333
334
335
      abilityEchart1VisibleComputed() {
        return (
          this.natureList.reduce((total, item) => {
            return total + item.value;
          }, 0) > 0
        );
6fb7bd31   yangzhi   【优化】能力统计图如果没有数据就不显示
336
      },
97c13b13   yangzhi   简历分析样式修改
337
338
339
340
341
342
343
      abilityEchart2VisibleComputed() {
        return (
          this.natureList.length > 6 &&
          this.natureList.slice(6).reduce((total, item) => {
            return total + item.value;
          }, 0) > 0
        );
6fb7bd31   yangzhi   【优化】能力统计图如果没有数据就不显示
344
      },
97c13b13   yangzhi   简历分析样式修改
345
346
347
348
349
350
      natureEchartVisibleComputed() {
        return (
          this.abilityList.reduce((total, item) => {
            return total + item.value;
          }, 0) > 0
        );
6fb7bd31   yangzhi   【优化】能力统计图如果没有数据就不显示
351
      },
cbff938b   yangzhi   超哥牛批
352
      userDetail() {
97c13b13   yangzhi   简历分析样式修改
353
354
355
356
357
358
        let user = { ...this.user };
        user.educationalExperience = JSON.parse(
          user.educationalExperience || "[]"
        );
        user.skillAdvantages = JSON.parse(user.skillAdvantages || "[]");
        user.workExperience = JSON.parse(user.workExperience || "[]");
709bad86   yangzhi   兼容工作经历的数据
359
        return user;
76f8396d   yangzhi   简历分析页面(女)
360
      },
cbff938b   yangzhi   超哥牛批
361
362
363
364
365
366
367
368
369
370
371
372
373
      infoListComputed() {
        let user = { ...this.user };
        let infoList = [...this.infoList];
        infoList.find((t) => t.title == "民族").value = user.minzu;
        infoList.find((t) => t.title == "体重").value = user.Weight;
        infoList.find((t) => t.title == "身高").value = user.Height;
        infoList.find((t) => t.title == "血型").value = user.BloodType;
        infoList.find((t) => t.title == "年龄").value = user.age;
        infoList.find((t) => t.title == "婚否").value = user.Marriage;
        infoList.find((t) => t.title == "政治面貌").value = user.PoliticalOutlook;
        infoList.find((t) => t.title == "户籍所在地").value =
          user.RegisteredResidence;
        return infoList;
76f8396d   yangzhi   简历分析页面(女)
374
      },
cbff938b   yangzhi   超哥牛批
375
376
377
378
379
380
    },
    created() {
      this.id = this.$route.query.id;
    },
    mounted() {
      this.init();
97c13b13   yangzhi   简历分析样式修改
381
      this.initRem();
cbff938b   yangzhi   超哥牛批
382
383
    },
    methods: {
97c13b13   yangzhi   简历分析样式修改
384
      
cbff938b   yangzhi   超哥牛批
385
386
387
388
389
390
391
392
393
394
395
396
397
      init() {
        getOuterUserInfo(this.id).then((res) => {
          let { nature, ability, user } = res.data;
          let natureList = [];
  
          nature = nature[0];
          ability = ability[0];
  
          for (const key in nature) {
            const val = nature[key];
            natureList.push({
              title: key,
              value: val,
76f8396d   yangzhi   简历分析页面(女)
398
            });
76f8396d   yangzhi   简历分析页面(女)
399
          }
cbff938b   yangzhi   超哥牛批
400
401
402
403
404
405
406
407
408
409
          let abilityList = [];
          for (const key in ability) {
            const val = ability[key];
            abilityList.push({
              title: key,
              value: val,
            });
          }
  
          this.natureList = natureList;
242501d3   yangzhi   刚才没改好 我是个憨批
410
          this.abilityList = abilityList;
cbff938b   yangzhi   超哥牛批
411
412
          this.user = user;
          this.$nextTick(() => {
8f16b6df   yangzhi   超哥坑我千百遍 我待超哥如初恋
413
414
            this.initNengliEchart(natureList);
            this.initXinggeEchart(abilityList);
cbff938b   yangzhi   超哥牛批
415
416
417
          });
        });
      },
97c13b13   yangzhi   简历分析样式修改
418
419
420
421
422
423
424
425
426
427
428
429
      resetChart(){
        console.log('resetChart');
        console.log('this.echartOption1',this.echartOption1);
        console.log('this.echartOption2',this.echartOption2);
        console.log('this.echartOption3',this.echartOption3);
        this.$nextTick(()=>{
          echarts.init(document.getElementById("echarts1")).setOption(this.echartOption1);
          echarts.init(document.getElementById("echarts2")).setOption(this.echartOption2);
          echarts.init(document.getElementById("echarts3")).setOption(this.echartOption3);
        })
        
      },
cbff938b   yangzhi   超哥牛批
430
431
432
433
      initEchart() {
        this.initNengliEchart();
      },
      initXinggeEchart(list) {
6fb7bd31   yangzhi   【优化】能力统计图如果没有数据就不显示
434
        let dom = document.getElementById("echarts3");
97c13b13   yangzhi   简历分析样式修改
435
        if (!dom) {
6fb7bd31   yangzhi   【优化】能力统计图如果没有数据就不显示
436
437
438
          return;
        }
        let myChart = echarts.init(dom);
cbff938b   yangzhi   超哥牛批
439
440
441
442
443
444
445
446
        this.echartOption3.radar.indicator = list.map((t) => {
          return { name: t.title, max: 100 };
        });
        this.echartOption3.series[0].data[0].value = list.map((t) => t.value);
        myChart.setOption(this.echartOption3);
        console.log("this.echartOption3", this.echartOption3);
      },
      initNengliEchart(list) {
6fb7bd31   yangzhi   【优化】能力统计图如果没有数据就不显示
447
        let dom = document.getElementById("echarts1");
97c13b13   yangzhi   简历分析样式修改
448
        if (!dom) {
6fb7bd31   yangzhi   【优化】能力统计图如果没有数据就不显示
449
450
          return;
        }
cbff938b   yangzhi   超哥牛批
451
        //第一个echart图
6fb7bd31   yangzhi   【优化】能力统计图如果没有数据就不显示
452
        let myChart = echarts.init(dom);
cbff938b   yangzhi   超哥牛批
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
        let list1 = list.slice(0, 6);
        this.echartOption1.xAxis[0].data = list1.map((t) => t.title);
        this.echartOption1.series[0].data = list1.map((t) => t.value);
        this.echartOption1.series[1].data = list1.map((t) => t.value);
        myChart.setOption(this.echartOption1);
  
        //第二个图
        if (list.length > 6) {
          let myChart2 = echarts.init(document.getElementById("echarts2"));
          let list2 = list.slice(6);
          this.echartOption2.xAxis[0].data = list2.map((t) => t.title);
          this.echartOption2.series[0].data = list2.map((t) => t.value);
          this.echartOption2.series[1].data = list2.map((t) => t.value);
          myChart2.setOption(this.echartOption2);
        }
76f8396d   yangzhi   简历分析页面(女)
468
      },
cbff938b   yangzhi   超哥牛批
469
470
471
    },
  };
  </script>
76f8396d   yangzhi   简历分析页面(女)
472
    <style lang="scss" scoped>
97c13b13   yangzhi   简历分析样式修改
473
  
cbff938b   yangzhi   超哥牛批
474
475
476
  @import "style/style.scss";
  @import "style/style_famale.scss";
  </style>