Blame view

src/views/resume/femalestaff.vue 12.2 KB
76f8396d   yangzhi   简历分析页面(女)
1
  <template>
cbff938b   yangzhi   超哥牛批
2
3
4
5
6
7
8
9
10
11
12
13
14
    <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
                style="height: 30px; margin: 0 20px"
                src="/static/resume/female/resume13.png"
                alt=""
              />
              <div class="star-progress">
709bad86   yangzhi   兼容工作经历的数据
15
                <div :style="{'width':'calc(140px / 7 * '+(userDetail.stars||0)+')'}" class="star-progress-bar"></div>
76f8396d   yangzhi   简历分析页面(女)
16
              </div>
76f8396d   yangzhi   简历分析页面(女)
17
            </div>
cbff938b   yangzhi   超哥牛批
18
19
20
            <ul class="user-items">
              <li v-for="item in infoListComputed" :key="item.title">
                <img :src="'/static/resume/female/' + item.icon" alt="" />
8b8d289b   yangzhi   超哥超哥超哥
21
                <span>{{ item.title }}:{{ item.value || "未知" }}</span>
cbff938b   yangzhi   超哥牛批
22
23
              </li>
            </ul>
76f8396d   yangzhi   简历分析页面(女)
24
          </div>
cbff938b   yangzhi   超哥牛批
25
26
27
28
29
30
        </div>
        <div style="display: flex">
          <div style="flex: 1; margin-right: 30px">
            <div class="info-panel">
              <div class="info-title">
                <span>技能优势</span>
76f8396d   yangzhi   简历分析页面(女)
31
              </div>
cbff938b   yangzhi   超哥牛批
32
              <div class="info-content">
8b8d289b   yangzhi   超哥超哥超哥
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
                <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   简历分析页面(女)
48
49
              </div>
            </div>
cbff938b   yangzhi   超哥牛批
50
            <div class="info-panel">
76f8396d   yangzhi   简历分析页面(女)
51
              <div class="info-title">
cbff938b   yangzhi   超哥牛批
52
                <span>教育经历</span>
76f8396d   yangzhi   简历分析页面(女)
53
54
              </div>
              <div class="info-content">
8b8d289b   yangzhi   超哥超哥超哥
55
56
                <ul
                  v-if="
709bad86   yangzhi   兼容工作经历的数据
57
                    userDetail.educationalExperience && userDetail.educationalExperience.length
8b8d289b   yangzhi   超哥超哥超哥
58
59
                  "
                >
709bad86   yangzhi   兼容工作经历的数据
60
                  <li v-for="item in userDetail.educationalExperience" :key="item.date">
8b8d289b   yangzhi   超哥超哥超哥
61
62
63
64
65
66
67
68
69
70
71
                    <h3 class="flex flex-between">
                      <span>{{ item.school }}</span>
                      <span style="font-size: 16px">{{ item.date }}</span>
                    </h3>
                    <p class="flex flex-between">
                      <span>{{ item.major }}</span>
                      <span>{{ item.degree }}</span>
                    </p>
                  </li>
                </ul>
                <div v-else>暂无信息</div>
76f8396d   yangzhi   简历分析页面(女)
72
73
74
              </div>
            </div>
          </div>
cbff938b   yangzhi   超哥牛批
75
76
77
          <div class="info-panel" style="flex: 1">
            <div class="info-title">
              <span>工作经历</span>
76f8396d   yangzhi   简历分析页面(女)
78
            </div>
cbff938b   yangzhi   超哥牛批
79
            <div class="info-content">
8b8d289b   yangzhi   超哥超哥超哥
80
81
              <ul
                v-if="
709bad86   yangzhi   兼容工作经历的数据
82
83
                  userDetail.workExperience &&
                  userDetail.workExperience.length
8b8d289b   yangzhi   超哥超哥超哥
84
85
86
                "
              >
                <li
709bad86   yangzhi   兼容工作经历的数据
87
                  v-for="item in userDetail.workExperience"
8b8d289b   yangzhi   超哥超哥超哥
88
89
                  :key="item.date"
                >
cbff938b   yangzhi   超哥牛批
90
                  <h3 class="flex flex-between">
8b8d289b   yangzhi   超哥超哥超哥
91
92
93
                    <span>{{ item.company }}</span>
                    <span>{{ item.position }}</span>
                    <span style="font-size: 16px">{{ item.date }}</span>
cbff938b   yangzhi   超哥牛批
94
95
                  </h3>
                  <p class="text-overflow2">
8b8d289b   yangzhi   超哥超哥超哥
96
                    {{ item.desc }}
cbff938b   yangzhi   超哥牛批
97
98
99
100
                  </p>
                </li>
              </ul>
              <div v-else>暂无信息</div>
76f8396d   yangzhi   简历分析页面(女)
101
102
            </div>
          </div>
cbff938b   yangzhi   超哥牛批
103
104
105
106
107
108
109
        </div>
      </div>
      <div class="bottom-panel flex1">
        <div class="panel">
          <div class="panel-title">
            <span>能力统计图</span>
            <img src="/static/resume/female/resume11.png" alt="" />
76f8396d   yangzhi   简历分析页面(女)
110
          </div>
cbff938b   yangzhi   超哥牛批
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
          <div class="panel-body">
            <div id="echarts1"></div>
          </div>
        </div>
        <div class="panel">
          <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>
        <div class="panel">
          <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   简历分析页面(女)
131
132
133
          </div>
        </div>
      </div>
cbff938b   yangzhi   超哥牛批
134
135
    </div>
  </template>
76f8396d   yangzhi   简历分析页面(女)
136
    <script>
cbff938b   yangzhi   超哥牛批
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
  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: {
          grid: {
            top: 30,
            bottom: 20,
            right: 20,
            left: 20,
          },
          yAxis: {
            type: "value",
            splitLine: {
              lineStyle: {
                type: "dashed",
76f8396d   yangzhi   简历分析页面(女)
166
              },
cbff938b   yangzhi   超哥牛批
167
168
169
170
171
172
173
174
175
            },
            axisLabel: {
              show: false,
              color: "#EAEBEB",
            },
          },
          xAxis: [
            {
              type: "category",
76f8396d   yangzhi   简历分析页面(女)
176
              axisLabel: {
cbff938b   yangzhi   超哥牛批
177
178
179
                color: "#eaeaea",
                interval: 0,
                fontSize: 14,
76f8396d   yangzhi   简历分析页面(女)
180
              },
cbff938b   yangzhi   超哥牛批
181
              data: [],
76f8396d   yangzhi   简历分析页面(女)
182
            },
cbff938b   yangzhi   超哥牛批
183
184
185
186
187
188
189
190
191
          ],
          series: [
            {
              type: "bar",
              barWidth: 25,
              label: {
                show: true,
                color: "#e9a6ff",
                position: "top",
76f8396d   yangzhi   简历分析页面(女)
192
              },
cbff938b   yangzhi   超哥牛批
193
194
195
196
197
198
199
              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   简历分析页面(女)
200
                },
76f8396d   yangzhi   简历分析页面(女)
201
              },
cbff938b   yangzhi   超哥牛批
202
              data: [],
76f8396d   yangzhi   简历分析页面(女)
203
            },
cbff938b   yangzhi   超哥牛批
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
            {
              type: "line",
              color: "#e9a6ff",
              data: [],
            },
          ],
        },
        echartOption2: {
          grid: {
            top: 30,
            bottom: 20,
            right: 20,
            left: 20,
          },
          yAxis: {
            type: "value",
            splitLine: {
              lineStyle: {
                type: "dashed",
76f8396d   yangzhi   简历分析页面(女)
223
              },
cbff938b   yangzhi   超哥牛批
224
225
226
227
228
229
230
231
232
            },
            axisLabel: {
              show: false,
              color: "#EAEBEB",
            },
          },
          xAxis: [
            {
              type: "category",
76f8396d   yangzhi   简历分析页面(女)
233
              axisLabel: {
cbff938b   yangzhi   超哥牛批
234
235
236
                color: "#eaeaea",
                interval: 0,
                fontSize: 14,
76f8396d   yangzhi   简历分析页面(女)
237
              },
cbff938b   yangzhi   超哥牛批
238
              data: [],
76f8396d   yangzhi   简历分析页面(女)
239
            },
cbff938b   yangzhi   超哥牛批
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
          ],
          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   简历分析页面(女)
257
                },
76f8396d   yangzhi   简历分析页面(女)
258
              },
cbff938b   yangzhi   超哥牛批
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
              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   简历分析页面(女)
277
            ],
cbff938b   yangzhi   超哥牛批
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
          },
          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   简历分析页面(女)
302
                    ]),
76f8396d   yangzhi   简历分析页面(女)
303
304
                  },
                },
76f8396d   yangzhi   简历分析页面(女)
305
306
              ],
            },
cbff938b   yangzhi   超哥牛批
307
          ],
76f8396d   yangzhi   简历分析页面(女)
308
        },
cbff938b   yangzhi   超哥牛批
309
310
311
312
313
314
315
        natureList: {},
        abilityList: [],
        user: {},
      };
    },
    computed: {
      userDetail() {
709bad86   yangzhi   兼容工作经历的数据
316
317
318
319
320
        let user = {...this.user};
        user.educationalExperience = JSON.parse(user.educationalExperience || '[]');
        user.skillAdvantages = JSON.parse(user.skillAdvantages || '[]')
        user.workExperience = JSON.parse(user.workExperience || '[]')
        return user;
76f8396d   yangzhi   简历分析页面(女)
321
      },
cbff938b   yangzhi   超哥牛批
322
323
324
325
326
327
328
329
330
331
332
333
334
      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   简历分析页面(女)
335
      },
cbff938b   yangzhi   超哥牛批
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
    },
    created() {
      this.id = this.$route.query.id;
    },
    mounted() {
      this.init();
    },
    methods: {
      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   简历分析页面(女)
357
            });
76f8396d   yangzhi   简历分析页面(女)
358
          }
cbff938b   yangzhi   超哥牛批
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
          let abilityList = [];
          for (const key in ability) {
            const val = ability[key];
            abilityList.push({
              title: key,
              value: val,
            });
          }
  
          this.natureList = natureList;
          this.abilityList = this.abilityList;
          this.user = user;
          this.$nextTick(() => {
            this.initNengliEchart(natureList);
            this.initXinggeEchart(abilityList);
          });
        });
      },
      initEchart() {
        this.initNengliEchart();
      },
      initXinggeEchart(list) {
        let myChart = echarts.init(document.getElementById("echarts3"));
        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) {
        //第一个echart图
        let myChart = echarts.init(document.getElementById("echarts1"));
        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   简历分析页面(女)
407
      },
cbff938b   yangzhi   超哥牛批
408
409
410
    },
  };
  </script>
76f8396d   yangzhi   简历分析页面(女)
411
    <style lang="scss" scoped>
cbff938b   yangzhi   超哥牛批
412
413
414
  @import "style/style.scss";
  @import "style/style_famale.scss";
  </style>