Commit 33c82f2185c8579bf3100d6092ebfdfb0c5bf546
Merge branch 'develop_interview' of 39.98.150.180:antissoft/antissoft.dati.admin…
… into develop_interview
Showing
2 changed files
with
382 additions
and
382 deletions
src/views/resume/femalestaff.vue
| 1 | <template> | 1 | <template> |
| 2 | - <div class="page"> | ||
| 3 | - <div class="top-panel flex1"> | ||
| 4 | - <div class="top-panel-content"> | ||
| 5 | - <img class="user-head" src="/static/resume/head.png" alt="" /> | ||
| 6 | - <div> | ||
| 7 | - <div class="user-info"> | ||
| 8 | - <h2>{{ userDetail.fullName }}</h2> | ||
| 9 | - <img | ||
| 10 | - style="height: 30px; margin: 0 20px" | ||
| 11 | - src="/static/resume/female/resume13.png" | ||
| 12 | - alt="" | ||
| 13 | - /> | ||
| 14 | - <div class="star-progress"> | ||
| 15 | - <div style="width: 50%" class="star-progress-bar"></div> | ||
| 16 | - </div> | 2 | + <div class="page"> |
| 3 | + <div class="top-panel flex1"> | ||
| 4 | + <div class="top-panel-content"> | ||
| 5 | + <img class="user-head" src="/static/resume/head.png" alt="" /> | ||
| 6 | + <div> | ||
| 7 | + <div class="user-info"> | ||
| 8 | + <h2>{{ userDetail.fullName }}</h2> | ||
| 9 | + <img | ||
| 10 | + style="height: 30px; margin: 0 20px" | ||
| 11 | + src="/static/resume/female/resume13.png" | ||
| 12 | + alt="" | ||
| 13 | + /> | ||
| 14 | + <div class="star-progress"> | ||
| 15 | + <div style="width: 50%" class="star-progress-bar"></div> | ||
| 17 | </div> | 16 | </div> |
| 18 | - <ul class="user-items"> | ||
| 19 | - <li v-for="item in infoList" :key="item.title"> | ||
| 20 | - <img :src="'/static/resume/female/' + item.icon" alt="" /> | ||
| 21 | - <span>{{ item.title }}:{{ item.value }}</span> | ||
| 22 | - </li> | ||
| 23 | - </ul> | ||
| 24 | </div> | 17 | </div> |
| 18 | + <ul class="user-items"> | ||
| 19 | + <li v-for="item in infoListComputed" :key="item.title"> | ||
| 20 | + <img :src="'/static/resume/female/' + item.icon" alt="" /> | ||
| 21 | + <span>{{ item.title }}:{{ item.value || '未知' }}</span> | ||
| 22 | + </li> | ||
| 23 | + </ul> | ||
| 25 | </div> | 24 | </div> |
| 26 | - <div style="display: flex"> | ||
| 27 | - <div style="flex: 1; margin-right: 30px"> | ||
| 28 | - <div class="info-panel"> | ||
| 29 | - <div class="info-title"> | ||
| 30 | - <span>技能优势</span> | ||
| 31 | - </div> | ||
| 32 | - <div class="info-content"> | ||
| 33 | - <ul> | ||
| 34 | - <li> | ||
| 35 | - <h3>英语六级</h3> | ||
| 36 | - <p>资格证书:《英语六级证书》</p> | ||
| 37 | - </li> | ||
| 38 | - </ul> | ||
| 39 | - </div> | 25 | + </div> |
| 26 | + <div style="display: flex"> | ||
| 27 | + <div style="flex: 1; margin-right: 30px"> | ||
| 28 | + <div class="info-panel"> | ||
| 29 | + <div class="info-title"> | ||
| 30 | + <span>技能优势</span> | ||
| 40 | </div> | 31 | </div> |
| 41 | - <div class="info-panel"> | ||
| 42 | - <div class="info-title"> | ||
| 43 | - <span>教育经历</span> | ||
| 44 | - </div> | ||
| 45 | - <div class="info-content"> | ||
| 46 | - <ul> | ||
| 47 | - <li> | ||
| 48 | - <h3 class="flex flex-between"> | ||
| 49 | - <span>西南石油大学</span> | ||
| 50 | - <span style="font-size: 16px">2014.06-2017.06</span> | ||
| 51 | - </h3> | ||
| 52 | - <p class="flex flex-between"> | ||
| 53 | - <span>计算机科学与技术</span> | ||
| 54 | - <span>本科</span> | ||
| 55 | - </p> | ||
| 56 | - </li> | 32 | + <div class="info-content"> |
| 33 | + <ul v-if="userDetail.skillAdvantages && userDetail.skillAdvantages.length"> | ||
| 34 | + <li v-for="item in userDetail.skillAdvantages" :key="item.title"> | ||
| 35 | + <h3>{{item.title}}</h3> | ||
| 36 | + <p class="text-overflow2">{{item.desc}}</p> | ||
| 37 | + </li> | ||
| 57 | </ul> | 38 | </ul> |
| 58 | - </div> | 39 | + <div v-else>暂无信息</div> |
| 59 | </div> | 40 | </div> |
| 60 | </div> | 41 | </div> |
| 61 | - <div class="info-panel" style="flex: 1"> | 42 | + <div class="info-panel"> |
| 62 | <div class="info-title"> | 43 | <div class="info-title"> |
| 63 | - <span>工作经历</span> | 44 | + <span>教育经历</span> |
| 64 | </div> | 45 | </div> |
| 65 | <div class="info-content"> | 46 | <div class="info-content"> |
| 66 | - <ul> | ||
| 67 | - <li> | ||
| 68 | - <h3 class="flex flex-between"> | ||
| 69 | - <span>腾讯</span> | ||
| 70 | - <span>前端工程师</span> | ||
| 71 | - <span style="font-size: 16px">2014.06-2017.06</span> | ||
| 72 | - </h3> | ||
| 73 | - <p class="text-overflow2"> | ||
| 74 | - 负责公司xxxxxx的工作,这里有其他内容这里有其他内容这里有其他内容这里有其他内容这里有其他内容这里有其他 | ||
| 75 | - 内容这里有其他内容这里有其他内容这里有其他内容这里有其他内容这里有其他内容这里有其他内容这里有其 | ||
| 76 | - </p> | ||
| 77 | - </li> | ||
| 78 | - <li> | ||
| 79 | - <h3 class="flex flex-between"> | ||
| 80 | - <span>腾讯</span> | ||
| 81 | - <span>前端工程师</span> | ||
| 82 | - <span style="font-size: 16px">2014.06-2017.06</span> | ||
| 83 | - </h3> | ||
| 84 | - <p class="text-overflow2"> | ||
| 85 | - 负责公司xxxxxx的工作,这里有其他内容这里有其他内容这里有其他内容这里有其他内容这里有其他内容这里有其他 | ||
| 86 | - 内容这里有其他内容这里有其他内容这里有其他内容这里有其他内容这里有其他内容这里有其他内容这里有其 | ||
| 87 | - </p> | ||
| 88 | - </li> | ||
| 89 | - </ul> | 47 | + <ul v-if="userDetail.workExperience && userDetail.workExperience.length"> |
| 48 | + <li v-for="item in userDetail.workExperience" :key="item.date"> | ||
| 49 | + <h3 class="flex flex-between"> | ||
| 50 | + <span>{{ item.school }}</span> | ||
| 51 | + <span style="font-size: 16px">{{item.date}}</span> | ||
| 52 | + </h3> | ||
| 53 | + <p class="flex flex-between"> | ||
| 54 | + <span>{{item.major}}</span> | ||
| 55 | + <span>{{item.degree}}</span> | ||
| 56 | + </p> | ||
| 57 | + </li> | ||
| 58 | + </ul> | ||
| 59 | + <div v-else>暂无信息</div> | ||
| 90 | </div> | 60 | </div> |
| 91 | </div> | 61 | </div> |
| 92 | </div> | 62 | </div> |
| 93 | - </div> | ||
| 94 | - <div class="bottom-panel flex1"> | ||
| 95 | - <div class="panel"> | ||
| 96 | - <div class="panel-title"> | ||
| 97 | - <span>能力统计图</span> | ||
| 98 | - <img src="/static/resume/female/resume11.png" alt="" /> | 63 | + <div class="info-panel" style="flex: 1"> |
| 64 | + <div class="info-title"> | ||
| 65 | + <span>工作经历</span> | ||
| 99 | </div> | 66 | </div> |
| 100 | - <div class="panel-body"> | ||
| 101 | - <div id="echarts1"></div> | 67 | + <div class="info-content"> |
| 68 | + <ul v-if="userDetail.educationalExperience && userDetail.educationalExperience.length"> | ||
| 69 | + <li v-for="item in userDetail.educationalExperience" :key="item.date"> | ||
| 70 | + <h3 class="flex flex-between"> | ||
| 71 | + <span>{{item.company}}</span> | ||
| 72 | + <span>{{item.position}}</span> | ||
| 73 | + <span style="font-size: 16px">{{item.date}}</span> | ||
| 74 | + </h3> | ||
| 75 | + <p class="text-overflow2"> | ||
| 76 | + {{item.desc}} | ||
| 77 | + </p> | ||
| 78 | + </li> | ||
| 79 | + </ul> | ||
| 80 | + <div v-else>暂无信息</div> | ||
| 102 | </div> | 81 | </div> |
| 103 | </div> | 82 | </div> |
| 104 | - <div class="panel"> | ||
| 105 | - <div class="panel-title"> | ||
| 106 | - <span>能力统计图</span> | ||
| 107 | - <img src="/static/resume/female/resume11.png" alt="" /> | ||
| 108 | - </div> | ||
| 109 | - <div class="panel-body"> | ||
| 110 | - <div id="echarts2"></div> | ||
| 111 | - </div> | 83 | + </div> |
| 84 | + </div> | ||
| 85 | + <div class="bottom-panel flex1"> | ||
| 86 | + <div class="panel"> | ||
| 87 | + <div class="panel-title"> | ||
| 88 | + <span>能力统计图</span> | ||
| 89 | + <img src="/static/resume/female/resume11.png" alt="" /> | ||
| 112 | </div> | 90 | </div> |
| 113 | - <div class="panel"> | ||
| 114 | - <div class="panel-title"> | ||
| 115 | - <span>性格统计图</span> | ||
| 116 | - <img src="/static/resume/female/resume12.png" alt="" /> | ||
| 117 | - </div> | ||
| 118 | - <div class="panel-body"> | ||
| 119 | - <div id="echarts3"></div> | ||
| 120 | - </div> | 91 | + <div class="panel-body"> |
| 92 | + <div id="echarts1"></div> | ||
| 93 | + </div> | ||
| 94 | + </div> | ||
| 95 | + <div class="panel"> | ||
| 96 | + <div class="panel-title"> | ||
| 97 | + <span>能力统计图</span> | ||
| 98 | + <img src="/static/resume/female/resume11.png" alt="" /> | ||
| 99 | + </div> | ||
| 100 | + <div class="panel-body"> | ||
| 101 | + <div id="echarts2"></div> | ||
| 102 | + </div> | ||
| 103 | + </div> | ||
| 104 | + <div class="panel"> | ||
| 105 | + <div class="panel-title"> | ||
| 106 | + <span>性格统计图</span> | ||
| 107 | + <img src="/static/resume/female/resume12.png" alt="" /> | ||
| 108 | + </div> | ||
| 109 | + <div class="panel-body"> | ||
| 110 | + <div id="echarts3"></div> | ||
| 121 | </div> | 111 | </div> |
| 122 | </div> | 112 | </div> |
| 123 | </div> | 113 | </div> |
| 124 | - </template> | 114 | + </div> |
| 115 | +</template> | ||
| 125 | <script> | 116 | <script> |
| 126 | - import * as echarts from "echarts"; | ||
| 127 | - import { getOuterUserInfo } from "@/api/user"; | ||
| 128 | - export default { | ||
| 129 | - data() { | ||
| 130 | - return { | ||
| 131 | - id: "", | ||
| 132 | - infoList: [ | ||
| 133 | - { title: "性别", value: "男", icon: "resume17.png" }, | ||
| 134 | - { title: "体重", value: "76KG", icon: "resume1.png" }, | ||
| 135 | - { title: "身高", value: "181cm", icon: "resume2.png" }, | ||
| 136 | - { title: "血型", value: "A型", icon: "resume3.png" }, | ||
| 137 | - { title: "年龄", value: "28", icon: "resume8.png" }, | ||
| 138 | - { title: "婚否", value: "未婚", icon: "resume14.png" }, | ||
| 139 | - { title: "民族", value: "汉族", icon: "resume4.png" }, | ||
| 140 | - { title: "政治面貌", value: "党员", icon: "resume5.png" }, | ||
| 141 | - { title: "户籍所在地", value: "四川成都", icon: "resume9.png" }, | ||
| 142 | - ], | ||
| 143 | - echartOption1: { | ||
| 144 | - grid: { | ||
| 145 | - top: 30, | ||
| 146 | - bottom: 20, | ||
| 147 | - right: 20, | ||
| 148 | - left: 20, | ||
| 149 | - }, | ||
| 150 | - yAxis: { | ||
| 151 | - type: "value", | ||
| 152 | - splitLine: { | ||
| 153 | - lineStyle: { | ||
| 154 | - type: "dashed", | ||
| 155 | - }, | 117 | +import * as echarts from "echarts"; |
| 118 | +import { getOuterUserInfo } from "@/api/user"; | ||
| 119 | +export default { | ||
| 120 | + data() { | ||
| 121 | + return { | ||
| 122 | + id: "", | ||
| 123 | + infoList: [ | ||
| 124 | + { title: "性别", value: "女", icon: "resume17.png" }, | ||
| 125 | + { title: "体重", value: "", icon: "resume1.png" }, | ||
| 126 | + { title: "身高", value: "", icon: "resume2.png" }, | ||
| 127 | + { title: "血型", value: "", icon: "resume3.png" }, | ||
| 128 | + { title: "年龄", value: "", icon: "resume8.png" }, | ||
| 129 | + { title: "婚否", value: "未婚", icon: "resume14.png" }, | ||
| 130 | + { title: "民族", value: "汉族", icon: "resume4.png" }, | ||
| 131 | + { title: "政治面貌", value: "", icon: "resume5.png" }, | ||
| 132 | + { title: "户籍所在地", value: "", icon: "resume9.png" }, | ||
| 133 | + ], | ||
| 134 | + echartOption1: { | ||
| 135 | + grid: { | ||
| 136 | + top: 30, | ||
| 137 | + bottom: 20, | ||
| 138 | + right: 20, | ||
| 139 | + left: 20, | ||
| 140 | + }, | ||
| 141 | + yAxis: { | ||
| 142 | + type: "value", | ||
| 143 | + splitLine: { | ||
| 144 | + lineStyle: { | ||
| 145 | + type: "dashed", | ||
| 156 | }, | 146 | }, |
| 147 | + }, | ||
| 148 | + axisLabel: { | ||
| 149 | + show: false, | ||
| 150 | + color: "#EAEBEB", | ||
| 151 | + }, | ||
| 152 | + }, | ||
| 153 | + xAxis: [ | ||
| 154 | + { | ||
| 155 | + type: "category", | ||
| 157 | axisLabel: { | 156 | axisLabel: { |
| 158 | - show: false, | ||
| 159 | - color: "#EAEBEB", | 157 | + color: "#eaeaea", |
| 158 | + interval: 0, | ||
| 159 | + fontSize: 14, | ||
| 160 | }, | 160 | }, |
| 161 | + data: [], | ||
| 161 | }, | 162 | }, |
| 162 | - xAxis: [ | ||
| 163 | - { | ||
| 164 | - type: "category", | ||
| 165 | - axisLabel: { | ||
| 166 | - color: "#eaeaea", | ||
| 167 | - interval: 0, | ||
| 168 | - fontSize: 14, | ||
| 169 | - }, | ||
| 170 | - data: [], | 163 | + ], |
| 164 | + series: [ | ||
| 165 | + { | ||
| 166 | + type: "bar", | ||
| 167 | + barWidth: 25, | ||
| 168 | + label: { | ||
| 169 | + show: true, | ||
| 170 | + color: "#e9a6ff", | ||
| 171 | + position: "top", | ||
| 171 | }, | 172 | }, |
| 172 | - ], | ||
| 173 | - series: [ | ||
| 174 | - { | ||
| 175 | - type: "bar", | ||
| 176 | - barWidth: 25, | ||
| 177 | - label: { | ||
| 178 | - show: true, | ||
| 179 | - color: "#e9a6ff", | ||
| 180 | - position: "top", | ||
| 181 | - }, | ||
| 182 | - itemStyle: { | ||
| 183 | - normal: { | ||
| 184 | - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | ||
| 185 | - { offset: 0, color: "#e9a6ffff" }, | ||
| 186 | - { offset: 1, color: "#e9a6ff00" }, | ||
| 187 | - ]), | ||
| 188 | - barBorderRadius: [10, 10, 0, 0], | ||
| 189 | - }, | 173 | + itemStyle: { |
| 174 | + normal: { | ||
| 175 | + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | ||
| 176 | + { offset: 0, color: "#e9a6ffff" }, | ||
| 177 | + { offset: 1, color: "#e9a6ff00" }, | ||
| 178 | + ]), | ||
| 179 | + barBorderRadius: [10, 10, 0, 0], | ||
| 190 | }, | 180 | }, |
| 191 | - data: [], | ||
| 192 | - }, | ||
| 193 | - { | ||
| 194 | - type: "line", | ||
| 195 | - color: "#e9a6ff", | ||
| 196 | - data: [], | ||
| 197 | }, | 181 | }, |
| 198 | - ], | ||
| 199 | - }, | ||
| 200 | - echartOption2: { | ||
| 201 | - grid: { | ||
| 202 | - top: 30, | ||
| 203 | - bottom: 20, | ||
| 204 | - right: 20, | ||
| 205 | - left: 20, | 182 | + data: [], |
| 206 | }, | 183 | }, |
| 207 | - yAxis: { | ||
| 208 | - type: "value", | ||
| 209 | - splitLine: { | ||
| 210 | - lineStyle: { | ||
| 211 | - type: "dashed", | ||
| 212 | - }, | 184 | + { |
| 185 | + type: "line", | ||
| 186 | + color: "#e9a6ff", | ||
| 187 | + data: [], | ||
| 188 | + }, | ||
| 189 | + ], | ||
| 190 | + }, | ||
| 191 | + echartOption2: { | ||
| 192 | + grid: { | ||
| 193 | + top: 30, | ||
| 194 | + bottom: 20, | ||
| 195 | + right: 20, | ||
| 196 | + left: 20, | ||
| 197 | + }, | ||
| 198 | + yAxis: { | ||
| 199 | + type: "value", | ||
| 200 | + splitLine: { | ||
| 201 | + lineStyle: { | ||
| 202 | + type: "dashed", | ||
| 213 | }, | 203 | }, |
| 204 | + }, | ||
| 205 | + axisLabel: { | ||
| 206 | + show: false, | ||
| 207 | + color: "#EAEBEB", | ||
| 208 | + }, | ||
| 209 | + }, | ||
| 210 | + xAxis: [ | ||
| 211 | + { | ||
| 212 | + type: "category", | ||
| 214 | axisLabel: { | 213 | axisLabel: { |
| 215 | - show: false, | ||
| 216 | - color: "#EAEBEB", | 214 | + color: "#eaeaea", |
| 215 | + interval: 0, | ||
| 216 | + fontSize: 14, | ||
| 217 | }, | 217 | }, |
| 218 | + data: [], | ||
| 218 | }, | 219 | }, |
| 219 | - xAxis: [ | ||
| 220 | - { | ||
| 221 | - type: "category", | ||
| 222 | - axisLabel: { | ||
| 223 | - color: "#eaeaea", | ||
| 224 | - interval: 0, | ||
| 225 | - fontSize: 14, | 220 | + ], |
| 221 | + series: [ | ||
| 222 | + { | ||
| 223 | + type: "bar", | ||
| 224 | + barWidth: 25, | ||
| 225 | + label: { | ||
| 226 | + show: true, | ||
| 227 | + color: "#e9a6ff", | ||
| 228 | + position: "top", | ||
| 229 | + }, | ||
| 230 | + itemStyle: { | ||
| 231 | + normal: { | ||
| 232 | + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | ||
| 233 | + { offset: 0, color: "#e9a6ffff" }, | ||
| 234 | + { offset: 1, color: "#e9a6ff00" }, | ||
| 235 | + ]), | ||
| 236 | + barBorderRadius: [10, 10, 0, 0], | ||
| 226 | }, | 237 | }, |
| 227 | - data: [], | ||
| 228 | }, | 238 | }, |
| 239 | + data: [], | ||
| 240 | + }, | ||
| 241 | + { | ||
| 242 | + type: "line", | ||
| 243 | + color: "#e9a6ff", | ||
| 244 | + data: [], | ||
| 245 | + }, | ||
| 246 | + ], | ||
| 247 | + }, | ||
| 248 | + echartOption3: { | ||
| 249 | + radar: { | ||
| 250 | + indicator: [ | ||
| 251 | + { name: "Sales", max: 6500 }, | ||
| 252 | + { name: "Administration", max: 16000 }, | ||
| 253 | + { name: "Information Technology", max: 30000 }, | ||
| 254 | + { name: "Customer Support", max: 38000 }, | ||
| 255 | + { name: "Development", max: 52000 }, | ||
| 256 | + { name: "Marketing", max: 25000 }, | ||
| 229 | ], | 257 | ], |
| 230 | - series: [ | ||
| 231 | - { | ||
| 232 | - type: "bar", | ||
| 233 | - barWidth: 25, | ||
| 234 | - label: { | ||
| 235 | - show: true, | ||
| 236 | - color: "#e9a6ff", | ||
| 237 | - position: "top", | ||
| 238 | - }, | ||
| 239 | - itemStyle: { | ||
| 240 | - normal: { | ||
| 241 | - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | ||
| 242 | - { offset: 0, color: "#e9a6ffff" }, | ||
| 243 | - { offset: 1, color: "#e9a6ff00" }, | 258 | + }, |
| 259 | + series: [ | ||
| 260 | + { | ||
| 261 | + type: "radar", | ||
| 262 | + data: [ | ||
| 263 | + { | ||
| 264 | + name: "", | ||
| 265 | + value: [], | ||
| 266 | + label: { | ||
| 267 | + show: true, | ||
| 268 | + formatter: function (params) { | ||
| 269 | + return params.value; | ||
| 270 | + }, | ||
| 271 | + }, | ||
| 272 | + areaStyle: { | ||
| 273 | + color: new echarts.graphic.RadialGradient(0.1, 0.6, 1, [ | ||
| 274 | + { | ||
| 275 | + color: "#e9a6ff52", | ||
| 276 | + offset: 0, | ||
| 277 | + }, | ||
| 278 | + { | ||
| 279 | + color: "#e9a6ff00", | ||
| 280 | + offset: 1, | ||
| 281 | + }, | ||
| 244 | ]), | 282 | ]), |
| 245 | - barBorderRadius: [10, 10, 0, 0], | ||
| 246 | }, | 283 | }, |
| 247 | }, | 284 | }, |
| 248 | - data: [], | ||
| 249 | - }, | ||
| 250 | - { | ||
| 251 | - type: "line", | ||
| 252 | - color: "#e9a6ff", | ||
| 253 | - data: [], | ||
| 254 | - }, | ||
| 255 | - ], | ||
| 256 | - }, | ||
| 257 | - echartOption3: { | ||
| 258 | - radar: { | ||
| 259 | - indicator: [ | ||
| 260 | - { name: "Sales", max: 6500 }, | ||
| 261 | - { name: "Administration", max: 16000 }, | ||
| 262 | - { name: "Information Technology", max: 30000 }, | ||
| 263 | - { name: "Customer Support", max: 38000 }, | ||
| 264 | - { name: "Development", max: 52000 }, | ||
| 265 | - { name: "Marketing", max: 25000 }, | ||
| 266 | ], | 285 | ], |
| 267 | }, | 286 | }, |
| 268 | - series: [ | ||
| 269 | - { | ||
| 270 | - type: "radar", | ||
| 271 | - data: [ | ||
| 272 | - { | ||
| 273 | - name: "", | ||
| 274 | - value: [], | ||
| 275 | - label: { | ||
| 276 | - show: true, | ||
| 277 | - formatter: function (params) { | ||
| 278 | - return params.value; | ||
| 279 | - }, | ||
| 280 | - }, | ||
| 281 | - areaStyle: { | ||
| 282 | - color: new echarts.graphic.RadialGradient(0.1, 0.6, 1, [ | ||
| 283 | - { | ||
| 284 | - color: "#e9a6ff52", | ||
| 285 | - offset: 0, | ||
| 286 | - }, | ||
| 287 | - { | ||
| 288 | - color: "#e9a6ff00", | ||
| 289 | - offset: 1, | ||
| 290 | - }, | ||
| 291 | - ]), | ||
| 292 | - }, | ||
| 293 | - }, | ||
| 294 | - ], | ||
| 295 | - }, | ||
| 296 | - ], | ||
| 297 | - }, | ||
| 298 | - natureList: {}, | ||
| 299 | - abilityList: [], | ||
| 300 | - user: {}, | ||
| 301 | - }; | ||
| 302 | - }, | ||
| 303 | - computed: { | ||
| 304 | - userDetail(){ | ||
| 305 | - return this.user; | 287 | + ], |
| 306 | }, | 288 | }, |
| 307 | - infoListComputed(){ | ||
| 308 | - let user = {...this.user}; | ||
| 309 | - let infoList = [...this.infoList]; | ||
| 310 | - infoList.find(t=>t.title == '民族').value = user.minzu; | ||
| 311 | - } | ||
| 312 | - }, | ||
| 313 | - created() { | ||
| 314 | - this.id = this.$route.query.id; | 289 | + natureList: {}, |
| 290 | + abilityList: [], | ||
| 291 | + user: {}, | ||
| 292 | + }; | ||
| 293 | + }, | ||
| 294 | + computed: { | ||
| 295 | + userDetail() { | ||
| 296 | + return this.user; | ||
| 315 | }, | 297 | }, |
| 316 | - mounted() { | ||
| 317 | - this.init(); | 298 | + infoListComputed() { |
| 299 | + let user = { ...this.user }; | ||
| 300 | + let infoList = [...this.infoList]; | ||
| 301 | + infoList.find((t) => t.title == "民族").value = user.minzu; | ||
| 302 | + infoList.find((t) => t.title == "体重").value = user.Weight; | ||
| 303 | + infoList.find((t) => t.title == "身高").value = user.Height; | ||
| 304 | + infoList.find((t) => t.title == "血型").value = user.BloodType; | ||
| 305 | + infoList.find((t) => t.title == "年龄").value = user.age; | ||
| 306 | + infoList.find((t) => t.title == "婚否").value = user.Marriage; | ||
| 307 | + infoList.find((t) => t.title == "政治面貌").value = user.PoliticalOutlook; | ||
| 308 | + infoList.find((t) => t.title == "户籍所在地").value = | ||
| 309 | + user.RegisteredResidence; | ||
| 310 | + return infoList; | ||
| 318 | }, | 311 | }, |
| 319 | - methods: { | ||
| 320 | - init() { | ||
| 321 | - getOuterUserInfo(this.id).then((res) => { | ||
| 322 | - let { nature, ability, user } = res.data; | ||
| 323 | - let natureList = []; | ||
| 324 | - | ||
| 325 | - nature = nature[0]; | ||
| 326 | - ability = ability[0]; | ||
| 327 | - | ||
| 328 | - for (const key in nature) { | ||
| 329 | - const val = nature[key]; | ||
| 330 | - natureList.push({ | ||
| 331 | - title: key, | ||
| 332 | - value: val, | ||
| 333 | - }); | ||
| 334 | - } | ||
| 335 | - let abilityList = []; | ||
| 336 | - for (const key in ability) { | ||
| 337 | - const val = ability[key]; | ||
| 338 | - abilityList.push({ | ||
| 339 | - title: key, | ||
| 340 | - value: val, | ||
| 341 | - }); | ||
| 342 | - } | ||
| 343 | - | ||
| 344 | - this.natureList = natureList; | ||
| 345 | - this.abilityList = this.abilityList; | ||
| 346 | - this.user = user; | ||
| 347 | - this.$nextTick(() => { | ||
| 348 | - this.initNengliEchart(natureList); | ||
| 349 | - this.initXinggeEchart(abilityList); | 312 | + }, |
| 313 | + created() { | ||
| 314 | + this.id = this.$route.query.id; | ||
| 315 | + }, | ||
| 316 | + mounted() { | ||
| 317 | + this.init(); | ||
| 318 | + }, | ||
| 319 | + methods: { | ||
| 320 | + init() { | ||
| 321 | + getOuterUserInfo(this.id).then((res) => { | ||
| 322 | + let { nature, ability, user } = res.data; | ||
| 323 | + let natureList = []; | ||
| 324 | + | ||
| 325 | + nature = nature[0]; | ||
| 326 | + ability = ability[0]; | ||
| 327 | + | ||
| 328 | + for (const key in nature) { | ||
| 329 | + const val = nature[key]; | ||
| 330 | + natureList.push({ | ||
| 331 | + title: key, | ||
| 332 | + value: val, | ||
| 350 | }); | 333 | }); |
| 351 | - }); | ||
| 352 | - }, | ||
| 353 | - initEchart() { | ||
| 354 | - this.initNengliEchart(); | ||
| 355 | - }, | ||
| 356 | - initXinggeEchart(list) { | ||
| 357 | - let myChart = echarts.init(document.getElementById("echarts3")); | ||
| 358 | - this.echartOption3.radar.indicator = list.map((t) => { | ||
| 359 | - return { name: t.title, max: 100 }; | ||
| 360 | - }); | ||
| 361 | - this.echartOption3.series[0].data[0].value = list.map((t) => t.value); | ||
| 362 | - myChart.setOption(this.echartOption3); | ||
| 363 | - console.log("this.echartOption3", this.echartOption3); | ||
| 364 | - }, | ||
| 365 | - initNengliEchart(list) { | ||
| 366 | - //第一个echart图 | ||
| 367 | - let myChart = echarts.init(document.getElementById("echarts1")); | ||
| 368 | - let list1 = list.slice(0, 6); | ||
| 369 | - this.echartOption1.xAxis[0].data = list1.map((t) => t.title); | ||
| 370 | - this.echartOption1.series[0].data = list1.map((t) => t.value); | ||
| 371 | - this.echartOption1.series[1].data = list1.map((t) => t.value); | ||
| 372 | - myChart.setOption(this.echartOption1); | ||
| 373 | - | ||
| 374 | - //第二个图 | ||
| 375 | - if (list.length > 6) { | ||
| 376 | - let myChart2 = echarts.init(document.getElementById("echarts2")); | ||
| 377 | - let list2 = list.slice(6); | ||
| 378 | - this.echartOption2.xAxis[0].data = list2.map((t) => t.title); | ||
| 379 | - this.echartOption2.series[0].data = list2.map((t) => t.value); | ||
| 380 | - this.echartOption2.series[1].data = list2.map((t) => t.value); | ||
| 381 | - myChart2.setOption(this.echartOption2); | ||
| 382 | } | 334 | } |
| 383 | - }, | 335 | + let abilityList = []; |
| 336 | + for (const key in ability) { | ||
| 337 | + const val = ability[key]; | ||
| 338 | + abilityList.push({ | ||
| 339 | + title: key, | ||
| 340 | + value: val, | ||
| 341 | + }); | ||
| 342 | + } | ||
| 343 | + | ||
| 344 | + this.natureList = natureList; | ||
| 345 | + this.abilityList = this.abilityList; | ||
| 346 | + this.user = user; | ||
| 347 | + this.$nextTick(() => { | ||
| 348 | + this.initNengliEchart(natureList); | ||
| 349 | + this.initXinggeEchart(abilityList); | ||
| 350 | + }); | ||
| 351 | + }); | ||
| 352 | + }, | ||
| 353 | + initEchart() { | ||
| 354 | + this.initNengliEchart(); | ||
| 355 | + }, | ||
| 356 | + initXinggeEchart(list) { | ||
| 357 | + let myChart = echarts.init(document.getElementById("echarts3")); | ||
| 358 | + this.echartOption3.radar.indicator = list.map((t) => { | ||
| 359 | + return { name: t.title, max: 100 }; | ||
| 360 | + }); | ||
| 361 | + this.echartOption3.series[0].data[0].value = list.map((t) => t.value); | ||
| 362 | + myChart.setOption(this.echartOption3); | ||
| 363 | + console.log("this.echartOption3", this.echartOption3); | ||
| 364 | + }, | ||
| 365 | + initNengliEchart(list) { | ||
| 366 | + //第一个echart图 | ||
| 367 | + let myChart = echarts.init(document.getElementById("echarts1")); | ||
| 368 | + let list1 = list.slice(0, 6); | ||
| 369 | + this.echartOption1.xAxis[0].data = list1.map((t) => t.title); | ||
| 370 | + this.echartOption1.series[0].data = list1.map((t) => t.value); | ||
| 371 | + this.echartOption1.series[1].data = list1.map((t) => t.value); | ||
| 372 | + myChart.setOption(this.echartOption1); | ||
| 373 | + | ||
| 374 | + //第二个图 | ||
| 375 | + if (list.length > 6) { | ||
| 376 | + let myChart2 = echarts.init(document.getElementById("echarts2")); | ||
| 377 | + let list2 = list.slice(6); | ||
| 378 | + this.echartOption2.xAxis[0].data = list2.map((t) => t.title); | ||
| 379 | + this.echartOption2.series[0].data = list2.map((t) => t.value); | ||
| 380 | + this.echartOption2.series[1].data = list2.map((t) => t.value); | ||
| 381 | + myChart2.setOption(this.echartOption2); | ||
| 382 | + } | ||
| 384 | }, | 383 | }, |
| 385 | - }; | ||
| 386 | - </script> | 384 | + }, |
| 385 | +}; | ||
| 386 | +</script> | ||
| 387 | <style lang="scss" scoped> | 387 | <style lang="scss" scoped> |
| 388 | - @import "style/style.scss"; | ||
| 389 | - @import "style/style_famale.scss"; | ||
| 390 | - </style> | ||
| 391 | \ No newline at end of file | 388 | \ No newline at end of file |
| 389 | +@import "style/style.scss"; | ||
| 390 | +@import "style/style_famale.scss"; | ||
| 391 | +</style> | ||
| 392 | \ No newline at end of file | 392 | \ No newline at end of file |
src/views/resume/malestaff.vue
| @@ -16,9 +16,9 @@ | @@ -16,9 +16,9 @@ | ||
| 16 | </div> | 16 | </div> |
| 17 | </div> | 17 | </div> |
| 18 | <ul class="user-items"> | 18 | <ul class="user-items"> |
| 19 | - <li v-for="item in infoList" :key="item.title"> | 19 | + <li v-for="item in infoListComputed" :key="item.title"> |
| 20 | <img :src="'/static/resume/male/' + item.icon" alt="" /> | 20 | <img :src="'/static/resume/male/' + item.icon" alt="" /> |
| 21 | - <span>{{ item.title }}:{{ item.value }}</span> | 21 | + <span>{{ item.title }}:{{ item.value || "" }}</span> |
| 22 | </li> | 22 | </li> |
| 23 | </ul> | 23 | </ul> |
| 24 | </div> | 24 | </div> |
| @@ -30,12 +30,13 @@ | @@ -30,12 +30,13 @@ | ||
| 30 | <span>技能优势</span> | 30 | <span>技能优势</span> |
| 31 | </div> | 31 | </div> |
| 32 | <div class="info-content"> | 32 | <div class="info-content"> |
| 33 | - <ul> | ||
| 34 | - <li> | ||
| 35 | - <h3>英语六级</h3> | ||
| 36 | - <p>资格证书:《英语六级证书》</p> | 33 | + <ul v-if="userDetail.skillAdvantages && userDetail.skillAdvantages.length"> |
| 34 | + <li v-for="item in userDetail.skillAdvantages" :key="item.title"> | ||
| 35 | + <h3>{{item.title}}</h3> | ||
| 36 | + <p class="text-overflow2">{{item.desc}}</p> | ||
| 37 | </li> | 37 | </li> |
| 38 | </ul> | 38 | </ul> |
| 39 | + <div v-else>暂无信息</div> | ||
| 39 | </div> | 40 | </div> |
| 40 | </div> | 41 | </div> |
| 41 | <div class="info-panel"> | 42 | <div class="info-panel"> |
| @@ -43,18 +44,19 @@ | @@ -43,18 +44,19 @@ | ||
| 43 | <span>教育经历</span> | 44 | <span>教育经历</span> |
| 44 | </div> | 45 | </div> |
| 45 | <div class="info-content"> | 46 | <div class="info-content"> |
| 46 | - <ul> | ||
| 47 | - <li> | 47 | + <ul v-if="userDetail.workExperience && userDetail.workExperience.length"> |
| 48 | + <li v-for="item in userDetail.workExperience" :key="item.date"> | ||
| 48 | <h3 class="flex flex-between"> | 49 | <h3 class="flex flex-between"> |
| 49 | - <span>西南石油大学</span> | ||
| 50 | - <span style="font-size: 16px">2014.06-2017.06</span> | 50 | + <span>{{ item.school }}</span> |
| 51 | + <span style="font-size: 16px">{{item.date}}</span> | ||
| 51 | </h3> | 52 | </h3> |
| 52 | <p class="flex flex-between"> | 53 | <p class="flex flex-between"> |
| 53 | - <span>计算机科学与技术</span> | ||
| 54 | - <span>本科</span> | 54 | + <span>{{item.major}}</span> |
| 55 | + <span>{{item.degree}}</span> | ||
| 55 | </p> | 56 | </p> |
| 56 | </li> | 57 | </li> |
| 57 | </ul> | 58 | </ul> |
| 59 | + <div v-else>暂无信息</div> | ||
| 58 | </div> | 60 | </div> |
| 59 | </div> | 61 | </div> |
| 60 | </div> | 62 | </div> |
| @@ -63,30 +65,19 @@ | @@ -63,30 +65,19 @@ | ||
| 63 | <span>工作经历</span> | 65 | <span>工作经历</span> |
| 64 | </div> | 66 | </div> |
| 65 | <div class="info-content"> | 67 | <div class="info-content"> |
| 66 | - <ul> | ||
| 67 | - <li> | 68 | + <ul v-if="userDetail.educationalExperience && userDetail.educationalExperience.length"> |
| 69 | + <li v-for="item in userDetail.educationalExperience" :key="item.date"> | ||
| 68 | <h3 class="flex flex-between"> | 70 | <h3 class="flex flex-between"> |
| 69 | - <span>腾讯</span> | ||
| 70 | - <span>前端工程师</span> | ||
| 71 | - <span style="font-size: 16px">2014.06-2017.06</span> | 71 | + <span>{{item.company}}</span> |
| 72 | + <span>{{item.position}}</span> | ||
| 73 | + <span style="font-size: 16px">{{item.date}}</span> | ||
| 72 | </h3> | 74 | </h3> |
| 73 | <p class="text-overflow2"> | 75 | <p class="text-overflow2"> |
| 74 | - 负责公司xxxxxx的工作,这里有其他内容这里有其他内容这里有其他内容这里有其他内容这里有其他内容这里有其他 | ||
| 75 | - 内容这里有其他内容这里有其他内容这里有其他内容这里有其他内容这里有其他内容这里有其他内容这里有其 | ||
| 76 | - </p> | ||
| 77 | - </li> | ||
| 78 | - <li> | ||
| 79 | - <h3 class="flex flex-between"> | ||
| 80 | - <span>腾讯</span> | ||
| 81 | - <span>前端工程师</span> | ||
| 82 | - <span style="font-size: 16px">2014.06-2017.06</span> | ||
| 83 | - </h3> | ||
| 84 | - <p class="text-overflow2"> | ||
| 85 | - 负责公司xxxxxx的工作,这里有其他内容这里有其他内容这里有其他内容这里有其他内容这里有其他内容这里有其他 | ||
| 86 | - 内容这里有其他内容这里有其他内容这里有其他内容这里有其他内容这里有其他内容这里有其他内容这里有其 | 76 | + {{item.desc}} |
| 87 | </p> | 77 | </p> |
| 88 | </li> | 78 | </li> |
| 89 | </ul> | 79 | </ul> |
| 80 | + <div v-else>暂无信息</div> | ||
| 90 | </div> | 81 | </div> |
| 91 | </div> | 82 | </div> |
| 92 | </div> | 83 | </div> |
| @@ -131,14 +122,14 @@ export default { | @@ -131,14 +122,14 @@ export default { | ||
| 131 | id: "", | 122 | id: "", |
| 132 | infoList: [ | 123 | infoList: [ |
| 133 | { title: "性别", value: "男", icon: "resume17.png" }, | 124 | { title: "性别", value: "男", icon: "resume17.png" }, |
| 134 | - { title: "体重", value: "76KG", icon: "resume1.png" }, | ||
| 135 | - { title: "身高", value: "181cm", icon: "resume2.png" }, | ||
| 136 | - { title: "血型", value: "A型", icon: "resume3.png" }, | ||
| 137 | - { title: "年龄", value: "28", icon: "resume8.png" }, | 125 | + { title: "体重", value: "", icon: "resume1.png" }, |
| 126 | + { title: "身高", value: "", icon: "resume2.png" }, | ||
| 127 | + { title: "血型", value: "", icon: "resume3.png" }, | ||
| 128 | + { title: "年龄", value: "", icon: "resume8.png" }, | ||
| 138 | { title: "婚否", value: "未婚", icon: "resume14.png" }, | 129 | { title: "婚否", value: "未婚", icon: "resume14.png" }, |
| 139 | { title: "民族", value: "汉族", icon: "resume4.png" }, | 130 | { title: "民族", value: "汉族", icon: "resume4.png" }, |
| 140 | - { title: "政治面貌", value: "党员", icon: "resume5.png" }, | ||
| 141 | - { title: "户籍所在地", value: "四川成都", icon: "resume9.png" }, | 131 | + { title: "政治面貌", value: "", icon: "resume5.png" }, |
| 132 | + { title: "户籍所在地", value: "", icon: "resume9.png" }, | ||
| 142 | ], | 133 | ], |
| 143 | echartOption1: { | 134 | echartOption1: { |
| 144 | grid: { | 135 | grid: { |
| @@ -301,14 +292,23 @@ export default { | @@ -301,14 +292,23 @@ export default { | ||
| 301 | }; | 292 | }; |
| 302 | }, | 293 | }, |
| 303 | computed: { | 294 | computed: { |
| 304 | - userDetail(){ | 295 | + userDetail() { |
| 305 | return this.user; | 296 | return this.user; |
| 306 | }, | 297 | }, |
| 307 | - infoListComputed(){ | ||
| 308 | - let user = {...this.user}; | 298 | + infoListComputed() { |
| 299 | + let user = { ...this.user }; | ||
| 309 | let infoList = [...this.infoList]; | 300 | let infoList = [...this.infoList]; |
| 310 | - infoList.find(t=>t.title == '民族').value = user.minzu; | ||
| 311 | - } | 301 | + infoList.find((t) => t.title == "民族").value = user.minzu; |
| 302 | + infoList.find((t) => t.title == "体重").value = user.Weight; | ||
| 303 | + infoList.find((t) => t.title == "身高").value = user.Height; | ||
| 304 | + infoList.find((t) => t.title == "血型").value = user.BloodType; | ||
| 305 | + infoList.find((t) => t.title == "年龄").value = user.age; | ||
| 306 | + infoList.find((t) => t.title == "婚否").value = user.Marriage; | ||
| 307 | + infoList.find((t) => t.title == "政治面貌").value = user.PoliticalOutlook; | ||
| 308 | + infoList.find((t) => t.title == "户籍所在地").value = | ||
| 309 | + user.RegisteredResidence; | ||
| 310 | + return infoList; | ||
| 311 | + }, | ||
| 312 | }, | 312 | }, |
| 313 | created() { | 313 | created() { |
| 314 | this.id = this.$route.query.id; | 314 | this.id = this.$route.query.id; |