Commit 876011a8f8013a5ae07706a0939bcb36dda626ea

Authored by 周超
1 parent 45b767f1

给志哥

package.json
@@ -15,9 +15,8 @@ @@ -15,9 +15,8 @@
15 }, 15 },
16 "dependencies": { 16 "dependencies": {
17 "axios": "0.18.1", 17 "axios": "0.18.1",
18 -  
19 "element-plus": "^1.2.0-beta.5", 18 "element-plus": "^1.2.0-beta.5",
20 - "element-ui": "2.13.2", 19 + "element-ui": "^2.15.7",
21 "js-cookie": "2.2.0", 20 "js-cookie": "2.2.0",
22 "normalize.css": "7.0.0", 21 "normalize.css": "7.0.0",
23 "nprogress": "0.2.0", 22 "nprogress": "0.2.0",
src/api/user.js
@@ -103,6 +103,31 @@ export function AddInvitationAnswerMultiple(data) { @@ -103,6 +103,31 @@ export function AddInvitationAnswerMultiple(data) {
103 data 103 data
104 }) 104 })
105 } 105 }
  106 +//公司面试邀请
  107 +export function AddInvitationCompanyMultiple(data) {
  108 + return request({
  109 + url: `/InvitationCompany/AddInvitationCompanyMultiple`,
  110 + method: 'post',
  111 + data
  112 + })
  113 +}
  114 +
  115 +//公司面试时间表
  116 +export function GetCompanyInvitation(data) {
  117 + return request({
  118 + url: `/InvitationCompany/GetCompanyInvitation`,
  119 + method: 'post',
  120 + data
  121 + })
  122 +}
  123 +//删除面试邀请
  124 +export function InvitationCompanyDelete(ids) {
  125 + return request({
  126 + url: '/InvitationCompany/Delete' ,
  127 + method: 'post',
  128 + params:ids
  129 + });
  130 +}
106 131
107 export function UserInfoResumeIdentification(data) { 132 export function UserInfoResumeIdentification(data) {
108 return request({ 133 return request({
@@ -141,4 +166,15 @@ export function UserInfo_List(params) { @@ -141,4 +166,15 @@ export function UserInfo_List(params) {
141 method: 'get', 166 method: 'get',
142 params 167 params
143 }) 168 })
  169 +
  170 +
  171 +
  172 +}
  173 +//设置标签
  174 + export function ChangeTags(params) {
  175 + return request({
  176 + url: `/Users/ChangeTags`,
  177 + method: 'post',
  178 + params
  179 + })
144 } 180 }
145 \ No newline at end of file 181 \ No newline at end of file
src/utils/routerList.js
@@ -12,503 +12,513 @@ export function getRoutes() { @@ -12,503 +12,513 @@ export function getRoutes() {
12 let constantRoutes1 = [] 12 let constantRoutes1 = []
13 if (userInfo.UserId == 1) { 13 if (userInfo.UserId == 1) {
14 constantRoutes1 = [{ 14 constantRoutes1 = [{
15 - path: '/login', 15 + path: '/login',
  16 + component: () =>
  17 + import('@/views/login/index'),
  18 + hidden: true
  19 + },
  20 +
  21 + {
  22 + path: '/404',
  23 + component: () =>
  24 + import('@/views/404'),
  25 + hidden: true
  26 + },
  27 +
  28 + {
  29 + path: '/answerDetail',
  30 + name: '答题详情',
  31 + component: () =>
  32 + import('@/views/AnswerResult/detail.vue'),
  33 + hidden: true
  34 + },
  35 +
  36 +
  37 + {
  38 + path: '/',
  39 + component: Layout,
  40 + redirect: '/dashboard',
  41 + children: [{
  42 + path: 'dashboard',
  43 + name: '首页',
  44 + component: () =>
  45 + import('@/views/dashboard/index'),
  46 + meta: {
  47 + title: '首页',
  48 + icon: 'dashboard'
  49 + }
  50 + }, {
  51 + path: 'live',
  52 + name: '直播观看',
16 component: () => 53 component: () =>
17 - import ('@/views/login/index'), 54 + import('@/views/live/index'),
  55 + meta: {
  56 + title: '直播',
  57 + icon: 'video'
  58 + },
18 hidden: true 59 hidden: true
  60 + }]
  61 + },
  62 +
  63 + {
  64 + path: '/example',
  65 + component: Layout,
  66 + redirect: '/example/table',
  67 + name: 'Example',
  68 + meta: {
  69 + title: '题库管理',
  70 + icon: 'el-icon-s-help'
19 }, 71 },
  72 + children: [{
  73 + path: 'QuestionBank',
  74 + name: 'Table',
  75 + component: () =>
  76 + import('@/views/QuestionBank/index'),
  77 + meta: {
  78 + title: '题库',
  79 + icon: 'table'
  80 + }
  81 + },]
  82 + },
  83 + // {
  84 + // path: '/moduleIndex',
  85 + // component: Layout,
  86 + // redirect: '/module/index',
  87 + // name: 'module',
  88 + // meta: {
  89 + // title: '面试题',
  90 + // icon: 'el-icon-s-help'
  91 + // },
  92 + // children: [{
  93 + // path: 'index',
  94 + // name: 'index',
  95 + // component: () =>
  96 + // import ('@/views/TestPaper/index'),
  97 + // hidden: true,
  98 + // meta: {
  99 + // title: '试卷维护',
  100 + // icon: 'table'
  101 + // }
  102 + // }, ]
  103 + // },
  104 + // {
  105 + // path: '/realQuestion',
  106 + // component: Layout,
  107 + // redirect: '/module/realQuestion',
  108 + // name: 'realQuestion',
  109 + // meta: {
  110 + // title: '历年真题',
  111 + // icon: 'el-icon-s-help'
  112 + // },
  113 + // children: [{
  114 + // path: 'recharge',
  115 + // name: 'recharge',
  116 + // component: () =>
  117 + // import ('@/views/module/realQuestion'),
  118 + // meta: {
  119 + // title: '历年真题',
  120 + // icon: 'el-icon-s-management'
  121 + // }
  122 + // }]
  123 + // },
20 124
21 - {  
22 - path: '/404', 125 + {
  126 + path: '/views',
  127 + component: Layout,
  128 + redirect: '/views/TestPaper',
  129 + name: 'TestPaper',
  130 + meta: {
  131 + title: '试卷管理',
  132 + icon: 'el-icon-s-help'
  133 + },
  134 + children: [{
  135 + path: 'TestPaperList',
  136 + name: 'Table',
23 component: () => 137 component: () =>
24 - import ('@/views/404'),  
25 - hidden: true 138 + import('@/views/TestPaper/TestPaperList'),
  139 + meta: {
  140 + title: '试卷列表',
  141 + icon: 'table'
  142 + }
26 }, 143 },
27 -  
28 { 144 {
29 - path: '/answerDetail',  
30 - name: '答题详情', 145 + path: 'index',
  146 + name: 'index',
31 component: () => 147 component: () =>
32 - import ('@/views/AnswerResult/detail.vue'),  
33 - hidden: true 148 + import('@/views/TestPaper/index'),
  149 + hidden: true,
  150 + meta: {
  151 + title: '试卷维护',
  152 + icon: 'table'
  153 + }
34 }, 154 },
35 -  
36 -  
37 { 155 {
38 - path: '/',  
39 - component: Layout,  
40 - redirect: '/dashboard',  
41 - children: [{  
42 - path: 'dashboard',  
43 - name: '首页',  
44 - component: () =>  
45 - import ('@/views/dashboard/index'),  
46 - meta: {  
47 - title: '首页',  
48 - icon: 'dashboard'  
49 - }  
50 - }, {  
51 - path: 'live',  
52 - name: '直播观看',  
53 - component: () =>  
54 - import ('@/views/live/index'),  
55 - meta: {  
56 - title: '直播',  
57 - icon: 'video'  
58 - },  
59 - hidden: true  
60 - }] 156 + path: 'ManualTestPaper',
  157 + name: 'Table',
  158 + component: () =>
  159 + import('@/views/TestPaper/ManualTestPaper'),
  160 + meta: {
  161 + title: '组卷',
  162 + icon: 'table'
  163 + }
61 }, 164 },
62 165
63 - {  
64 - path: '/example',  
65 - component: Layout,  
66 - redirect: '/example/table',  
67 - name: 'Example', 166 + ]
  167 + },
  168 + {
  169 + path: '/order',
  170 + component: Layout,
  171 + redirect: '/',
  172 + name: 'order',
  173 + meta: {
  174 + title: '订单管理',
  175 + icon: 'el-icon-s-marketing'
  176 + },
  177 + children: [{
  178 + path: 'recharge',
  179 + name: 'recharge',
  180 + component: () =>
  181 + import('@/views/order/rechargeList'),
68 meta: { 182 meta: {
69 - title: '题库管理',  
70 - icon: 'el-icon-s-help'  
71 - },  
72 - children: [{  
73 - path: 'QuestionBank',  
74 - name: 'Table',  
75 - component: () =>  
76 - import ('@/views/QuestionBank/index'),  
77 - meta: {  
78 - title: '题库',  
79 - icon: 'table'  
80 - }  
81 - }, ] 183 + title: '充值记录',
  184 + }
  185 + }, {
  186 + path: 'shop',
  187 + name: 'shop',
  188 + component: () =>
  189 + import('@/views/order/shopList'),
  190 + meta: {
  191 + title: '购买记录',
  192 + }
  193 + }]
  194 + },
  195 + {
  196 + path: '/user',
  197 + component: Layout,
  198 + redirect: '/',
  199 + name: 'user',
  200 + meta: {
  201 + title: '用户管理',
  202 + icon: 'el-icon-s-help'
82 }, 203 },
83 - // {  
84 - // path: '/moduleIndex',  
85 - // component: Layout,  
86 - // redirect: '/module/index',  
87 - // name: 'module',  
88 - // meta: {  
89 - // title: '面试题',  
90 - // icon: 'el-icon-s-help'  
91 - // },  
92 - // children: [{  
93 - // path: 'index',  
94 - // name: 'index',  
95 - // component: () =>  
96 - // import ('@/views/TestPaper/index'),  
97 - // hidden: true,  
98 - // meta: {  
99 - // title: '试卷维护',  
100 - // icon: 'table'  
101 - // }  
102 - // }, ]  
103 - // },  
104 - // {  
105 - // path: '/realQuestion',  
106 - // component: Layout,  
107 - // redirect: '/module/realQuestion',  
108 - // name: 'realQuestion',  
109 - // meta: {  
110 - // title: '历年真题',  
111 - // icon: 'el-icon-s-help'  
112 - // },  
113 - // children: [{  
114 - // path: 'recharge',  
115 - // name: 'recharge',  
116 - // component: () =>  
117 - // import ('@/views/module/realQuestion'),  
118 - // meta: {  
119 - // title: '历年真题',  
120 - // icon: 'el-icon-s-management'  
121 - // }  
122 - // }]  
123 - // },  
124 -  
125 - {  
126 - path: '/views',  
127 - component: Layout,  
128 - redirect: '/views/TestPaper',  
129 - name: 'TestPaper', 204 + children: [{
  205 + path: 'user',
  206 + name: 'User',
  207 + component: () =>
  208 + import('@/views/user/userlist'),
130 meta: { 209 meta: {
131 - title: '试卷管理',  
132 - icon: 'el-icon-s-help'  
133 - },  
134 - children: [{  
135 - path: 'TestPaperList',  
136 - name: 'Table',  
137 - component: () =>  
138 - import ('@/views/TestPaper/TestPaperList'),  
139 - meta: {  
140 - title: '试卷列表',  
141 - icon: 'table'  
142 - }  
143 - },  
144 - {  
145 - path: 'index',  
146 - name: 'index',  
147 - component: () =>  
148 - import ('@/views/TestPaper/index'),  
149 - hidden: true,  
150 - meta: {  
151 - title: '试卷维护',  
152 - icon: 'table'  
153 - }  
154 - },  
155 - {  
156 - path: 'ManualTestPaper',  
157 - name: 'Table',  
158 - component: () =>  
159 - import ('@/views/TestPaper/ManualTestPaper'),  
160 - meta: {  
161 - title: '组卷',  
162 - icon: 'table'  
163 - }  
164 - },  
165 -  
166 - ] 210 + title: '人才库',
  211 + }
167 }, 212 },
168 { 213 {
169 - path: '/order',  
170 - component: Layout,  
171 - redirect: '/',  
172 - name: 'order', 214 + path: 'interviewSchedule',
  215 + name: 'interviewSchedule',
  216 + component: () =>
  217 + import('@/views/user/InterviewSchedule'),
173 meta: { 218 meta: {
174 - title: '订单管理',  
175 - icon: 'el-icon-s-marketing'  
176 - },  
177 - children: [{  
178 - path: 'recharge',  
179 - name: 'recharge',  
180 - component: () =>  
181 - import ('@/views/order/rechargeList'),  
182 - meta: {  
183 - title: '充值记录',  
184 - }  
185 - }, {  
186 - path: 'shop',  
187 - name: 'shop',  
188 - component: () =>  
189 - import ('@/views/order/shopList'),  
190 - meta: {  
191 - title: '购买记录',  
192 - }  
193 - }] 219 + title: '面试时间表',
  220 + }
194 }, 221 },
  222 +
195 { 223 {
196 - path: '/user',  
197 - component: Layout,  
198 - redirect: '/',  
199 - name: 'user',  
200 - meta: {  
201 - title: '用户管理',  
202 - icon: 'el-icon-s-help'  
203 - },  
204 - children: [{  
205 - path: 'user',  
206 - name: 'User',  
207 - component: () =>  
208 - import ('@/views/user/userlist'),  
209 - meta: {  
210 - title: '人才库',  
211 - }  
212 - },  
213 - {  
214 - path: 'importuser',  
215 - name: 'importuser', 224 + path: 'importuser',
  225 + name: 'importuser',
216 226
217 - component: () =>  
218 - import ('@/views/user/picuserimport'),  
219 - meta: {  
220 - title: '图片导入用户',  
221 - }  
222 - },  
223 - {  
224 - path: 'admin',  
225 - name: 'admin', 227 + component: () =>
  228 + import('@/views/user/picuserimport'),
  229 + meta: {
  230 + title: '图片导入用户',
  231 + }
  232 + },
  233 + {
  234 + path: 'admin',
  235 + name: 'admin',
226 236
227 - component: () =>  
228 - import ('@/views/user/adminList'),  
229 - meta: {  
230 - title: '管理员列表',  
231 - }  
232 - }, 237 + component: () =>
  238 + import('@/views/user/adminList'),
  239 + meta: {
  240 + title: '管理员列表',
  241 + }
  242 + },
233 243
234 - ] 244 + ]
  245 + }, {
  246 + path: '/password',
  247 + component: Layout,
  248 + redirect: '/',
  249 + name: 'password',
  250 + meta: {
  251 + title: '系统管理',
  252 + icon: 'el-icon-s-platform'
  253 + },
  254 + children: [{
  255 + path: 'index',
  256 + name: 'index',
  257 + component: () =>
  258 + import('@/views/password/index'),
  259 + meta: {
  260 + title: '忘记密码',
  261 + }
235 }, { 262 }, {
236 - path: '/password',  
237 - component: Layout,  
238 - redirect: '/',  
239 - name: 'password', 263 + path: 'TestPaperClass',
  264 + name: 'Table',
  265 + component: () =>
  266 + import('@/views/TestPaper/TestPaperClass'),
240 meta: { 267 meta: {
241 - title: '系统管理',  
242 - icon: 'el-icon-s-platform'  
243 - },  
244 - children: [{  
245 - path: 'index',  
246 - name: 'index',  
247 - component: () =>  
248 - import ('@/views/password/index'),  
249 - meta: {  
250 - title: '忘记密码',  
251 - }  
252 - }, {  
253 - path: 'TestPaperClass',  
254 - name: 'Table',  
255 - component: () =>  
256 - import ('@/views/TestPaper/TestPaperClass'),  
257 - meta: {  
258 - title: '分类管理',  
259 - }  
260 - }, {  
261 - path: 'carousel',  
262 - name: 'carousel',  
263 - component: () =>  
264 - import ('@/views/carousel/index'),  
265 - meta: {  
266 - title: '轮播图',  
267 - }  
268 - }, {  
269 - path: 'new',  
270 - name: 'new',  
271 - component: () =>  
272 - import ('@/views/carousel/new'),  
273 - meta: {  
274 - title: '最新资讯',  
275 - }  
276 - }]  
277 - },  
278 - // 404 page must be placed at the end !!!  
279 - {  
280 - path: '*',  
281 - redirect: '/404',  
282 - hidden: true  
283 - } 268 + title: '分类管理',
  269 + }
  270 + }, {
  271 + path: 'carousel',
  272 + name: 'carousel',
  273 + component: () =>
  274 + import('@/views/carousel/index'),
  275 + meta: {
  276 + title: '轮播图',
  277 + }
  278 + }, {
  279 + path: 'new',
  280 + name: 'new',
  281 + component: () =>
  282 + import('@/views/carousel/new'),
  283 + meta: {
  284 + title: '最新资讯',
  285 + }
  286 + }]
  287 + },
  288 + // 404 page must be placed at the end !!!
  289 + {
  290 + path: '*',
  291 + redirect: '/404',
  292 + hidden: true
  293 + }
284 ] 294 ]
285 } else { 295 } else {
286 constantRoutes1 = [{ 296 constantRoutes1 = [{
287 - path: '/login',  
288 - component: () =>  
289 - import ('@/views/login/index'),  
290 - hidden: true  
291 - }, 297 + path: '/login',
  298 + component: () =>
  299 + import('@/views/login/index'),
  300 + hidden: true
  301 + },
292 302
293 - {  
294 - path: '/404', 303 + {
  304 + path: '/404',
  305 + component: () =>
  306 + import('@/views/404'),
  307 + hidden: true
  308 + },
  309 +
  310 + {
  311 + path: '/example',
  312 + component: Layout,
  313 + redirect: '/example/table',
  314 + name: 'Example',
  315 + meta: {
  316 + title: '题库管理',
  317 + icon: 'el-icon-s-help'
  318 + },
  319 + children: [{
  320 + path: 'QuestionBank',
  321 + name: 'Table',
295 component: () => 322 component: () =>
296 - import ('@/views/404'),  
297 - hidden: true 323 + import('@/views/QuestionBank/index'),
  324 + meta: {
  325 + title: '题库',
  326 + icon: 'table'
  327 + }
  328 + },]
  329 + },
  330 + {
  331 + path: '/moduleIndex',
  332 + component: Layout,
  333 + redirect: '/module/index',
  334 + name: 'module',
  335 + meta: {
  336 + title: '面试题',
  337 + icon: 'el-icon-s-help'
298 }, 338 },
299 -  
300 - {  
301 - path: '/example',  
302 - component: Layout,  
303 - redirect: '/example/table',  
304 - name: 'Example', 339 + children: [{
  340 + path: 'recharge',
  341 + name: 'recharge',
  342 + component: () =>
  343 + import('@/views/module/index'),
305 meta: { 344 meta: {
306 - title: '题库管理',  
307 - icon: 'el-icon-s-help'  
308 - },  
309 - children: [{  
310 - path: 'QuestionBank',  
311 - name: 'Table',  
312 - component: () =>  
313 - import ('@/views/QuestionBank/index'),  
314 - meta: {  
315 - title: '题库',  
316 - icon: 'table'  
317 - }  
318 - }, ] 345 + title: '面试题',
  346 + icon: 'el-icon-s-operation'
  347 + }
319 }, 348 },
320 { 349 {
321 - path: '/moduleIndex',  
322 - component: Layout,  
323 - redirect: '/module/index',  
324 - name: 'module', 350 + path: 'index',
  351 + name: 'index',
  352 + component: () =>
  353 + import('@/views/TestPaper/index'),
  354 + hidden: true,
325 meta: { 355 meta: {
326 - title: '面试题',  
327 - icon: 'el-icon-s-help'  
328 - },  
329 - children: [{  
330 - path: 'recharge',  
331 - name: 'recharge',  
332 - component: () =>  
333 - import ('@/views/module/index'),  
334 - meta: {  
335 - title: '面试题',  
336 - icon: 'el-icon-s-operation'  
337 - }  
338 - },  
339 - {  
340 - path: 'index',  
341 - name: 'index',  
342 - component: () =>  
343 - import ('@/views/TestPaper/index'),  
344 - hidden: true,  
345 - meta: {  
346 - title: '试卷维护',  
347 - icon: 'table'  
348 - }  
349 - },  
350 - ] 356 + title: '试卷维护',
  357 + icon: 'table'
  358 + }
351 }, 359 },
352 - // {  
353 - // path: '/realQuestion',  
354 - // component: Layout,  
355 - // redirect: '/module/realQuestion',  
356 - // name: 'realQuestion',  
357 - // meta: {  
358 - // title: '历年真题',  
359 - // icon: 'el-icon-s-help'  
360 - // },  
361 - // children: [{  
362 - // path: 'recharge',  
363 - // name: 'recharge',  
364 - // component: () =>  
365 - // import ('@/views/module/realQuestion'),  
366 - // meta: {  
367 - // title: '历年真题',  
368 - // icon: 'el-icon-s-management'  
369 - // }  
370 - // }]  
371 - // }, 360 + ]
  361 + },
  362 + // {
  363 + // path: '/realQuestion',
  364 + // component: Layout,
  365 + // redirect: '/module/realQuestion',
  366 + // name: 'realQuestion',
  367 + // meta: {
  368 + // title: '历年真题',
  369 + // icon: 'el-icon-s-help'
  370 + // },
  371 + // children: [{
  372 + // path: 'recharge',
  373 + // name: 'recharge',
  374 + // component: () =>
  375 + // import ('@/views/module/realQuestion'),
  376 + // meta: {
  377 + // title: '历年真题',
  378 + // icon: 'el-icon-s-management'
  379 + // }
  380 + // }]
  381 + // },
372 382
  383 + {
  384 + path: '/views',
  385 + component: Layout,
  386 + redirect: '/views/TestPaper',
  387 + name: 'TestPaper',
  388 + meta: {
  389 + title: '试卷管理',
  390 + icon: 'el-icon-s-help'
  391 + },
  392 + children: [{
  393 + path: 'TestPaperList',
  394 + name: 'Table',
  395 + component: () =>
  396 + import('@/views/TestPaper/TestPaperList'),
  397 + meta: {
  398 + title: '试卷列表',
  399 + icon: 'table'
  400 + }
  401 + },
373 { 402 {
374 - path: '/views',  
375 - component: Layout,  
376 - redirect: '/views/TestPaper',  
377 - name: 'TestPaper', 403 + path: 'index',
  404 + name: 'index',
  405 + component: () =>
  406 + import('@/views/TestPaper/index'),
  407 + hidden: true,
378 meta: { 408 meta: {
379 - title: '试卷管理',  
380 - icon: 'el-icon-s-help'  
381 - },  
382 - children: [{  
383 - path: 'TestPaperList',  
384 - name: 'Table',  
385 - component: () =>  
386 - import ('@/views/TestPaper/TestPaperList'),  
387 - meta: {  
388 - title: '试卷列表',  
389 - icon: 'table'  
390 - }  
391 - },  
392 - {  
393 - path: 'index',  
394 - name: 'index',  
395 - component: () =>  
396 - import ('@/views/TestPaper/index'),  
397 - hidden: true,  
398 - meta: {  
399 - title: '试卷维护',  
400 - icon: 'table'  
401 - }  
402 - },  
403 - // {  
404 - // path: 'ManualTestPaper',  
405 - // name: 'Table',  
406 - // component: () => import('@/views/TestPaper/ManualTestPaper'),  
407 - // meta: {  
408 - // title: '组卷',  
409 - // icon: 'table'  
410 - // }  
411 - // }, 409 + title: '试卷维护',
  410 + icon: 'table'
  411 + }
  412 + },
  413 + // {
  414 + // path: 'ManualTestPaper',
  415 + // name: 'Table',
  416 + // component: () => import('@/views/TestPaper/ManualTestPaper'),
  417 + // meta: {
  418 + // title: '组卷',
  419 + // icon: 'table'
  420 + // }
  421 + // },
412 422
413 - ] 423 + ]
  424 + },
  425 + {
  426 + path: '/order',
  427 + component: Layout,
  428 + redirect: '/',
  429 + name: 'order',
  430 + meta: {
  431 + title: '订单管理',
  432 + icon: 'el-icon-s-marketing'
414 }, 433 },
415 - {  
416 - path: '/order',  
417 - component: Layout,  
418 - redirect: '/',  
419 - name: 'order', 434 + children: [{
  435 + path: 'recharge',
  436 + name: 'recharge',
  437 + component: () =>
  438 + import('@/views/order/rechargeList'),
420 meta: { 439 meta: {
421 - title: '订单管理',  
422 - icon: 'el-icon-s-marketing'  
423 - },  
424 - children: [{  
425 - path: 'recharge',  
426 - name: 'recharge',  
427 - component: () =>  
428 - import ('@/views/order/rechargeList'),  
429 - meta: {  
430 - title: '充值记录',  
431 - }  
432 - }, {  
433 - path: 'shop',  
434 - name: 'shop',  
435 - component: () =>  
436 - import ('@/views/order/shopList'),  
437 - meta: {  
438 - title: '购买记录',  
439 - }  
440 - }] 440 + title: '充值记录',
  441 + }
  442 + }, {
  443 + path: 'shop',
  444 + name: 'shop',
  445 + component: () =>
  446 + import('@/views/order/shopList'),
  447 + meta: {
  448 + title: '购买记录',
  449 + }
  450 + }]
  451 + },
  452 + {
  453 + path: '/user',
  454 + component: Layout,
  455 + redirect: '/',
  456 + name: 'user',
  457 + meta: {
  458 + title: '用户管理',
  459 + icon: 'el-icon-s-help'
441 }, 460 },
442 - {  
443 - path: '/user',  
444 - component: Layout,  
445 - redirect: '/',  
446 - name: 'user', 461 + children: [{
  462 + path: 'user',
  463 + name: 'User',
  464 + component: () =>
  465 + import('@/views/user/userlist'),
447 meta: { 466 meta: {
448 - title: '用户管理',  
449 - icon: 'el-icon-s-help'  
450 - },  
451 - children: [{  
452 - path: 'user',  
453 - name: 'User',  
454 - component: () =>  
455 - import ('@/views/user/userlist'),  
456 - meta: {  
457 - title: '人才库',  
458 - }  
459 - }, 467 + title: '人才库',
  468 + }
  469 + },
460 470
461 471
462 - ] 472 + ]
  473 + }, {
  474 + path: '/password',
  475 + component: Layout,
  476 + redirect: '/',
  477 + name: 'password',
  478 + meta: {
  479 + title: '系统管理',
  480 + icon: 'el-icon-s-platform'
  481 + },
  482 + children: [{
  483 + path: 'index',
  484 + name: 'index',
  485 + component: () =>
  486 + import('@/views/password/index'),
  487 + meta: {
  488 + title: '忘记密码',
  489 + }
463 }, { 490 }, {
464 - path: '/password',  
465 - component: Layout,  
466 - redirect: '/',  
467 - name: 'password', 491 + path: 'TestPaperClass',
  492 + name: 'Table',
  493 + component: () =>
  494 + import('@/views/TestPaper/TestPaperClass'),
468 meta: { 495 meta: {
469 - title: '系统管理',  
470 - icon: 'el-icon-s-platform'  
471 - },  
472 - children: [{  
473 - path: 'index',  
474 - name: 'index',  
475 - component: () =>  
476 - import ('@/views/password/index'),  
477 - meta: {  
478 - title: '忘记密码',  
479 - }  
480 - }, {  
481 - path: 'TestPaperClass',  
482 - name: 'Table',  
483 - component: () =>  
484 - import ('@/views/TestPaper/TestPaperClass'),  
485 - meta: {  
486 - title: '分类管理',  
487 - }  
488 - }, {  
489 - path: 'carousel',  
490 - name: 'carousel',  
491 - component: () =>  
492 - import ('@/views/carousel/index'),  
493 - meta: {  
494 - title: '轮播图',  
495 - }  
496 - }, {  
497 - path: 'new',  
498 - name: 'new',  
499 - component: () =>  
500 - import ('@/views/carousel/new'),  
501 - meta: {  
502 - title: '最新资讯',  
503 - }  
504 - }]  
505 - },  
506 - // 404 page must be placed at the end !!!  
507 - {  
508 - path: '*',  
509 - redirect: '/404',  
510 - hidden: true  
511 - } 496 + title: '分类管理',
  497 + }
  498 + }, {
  499 + path: 'carousel',
  500 + name: 'carousel',
  501 + component: () =>
  502 + import('@/views/carousel/index'),
  503 + meta: {
  504 + title: '轮播图',
  505 + }
  506 + }, {
  507 + path: 'new',
  508 + name: 'new',
  509 + component: () =>
  510 + import('@/views/carousel/new'),
  511 + meta: {
  512 + title: '最新资讯',
  513 + }
  514 + }]
  515 + },
  516 + // 404 page must be placed at the end !!!
  517 + {
  518 + path: '*',
  519 + redirect: '/404',
  520 + hidden: true
  521 + }
512 ] 522 ]
513 } 523 }
514 524
src/views/user/InterviewSchedule.vue 0 → 100644
  1 +<template>
  2 + <div class="app-container">
  3 + <div class="seetingsDiv" style="">
  4 +
  5 + <div class="flex" style="width: 100%">
  6 + <el-form :inline="true" class="demo-form-inline">
  7 + <el-form-item label="姓名">
  8 + <el-input placeholder="输入关键字搜索" v-model="query.KeyWord"></el-input>
  9 + </el-form-item>
  10 + <el-descriptions-item>
  11 + <template slot="label">
  12 + <i class="el-icon-tickets"></i>
  13 + 标签
  14 + </template>
  15 + <el-tag size="small">推荐</el-tag>
  16 + </el-descriptions-item>
  17 +
  18 +
  19 + <el-form-item label="联系方式">
  20 + <el-input placeholder="输入联系方式" v-model="query.phone"></el-input>
  21 + </el-form-item>
  22 + <el-form-item label="时间">
  23 + <el-date-picker v-model="query.date" type="daterange" value-format="yyyy-MM-dd" range-separator="至"
  24 + start-placeholder="开始日期" end-placeholder="结束日期">
  25 + </el-date-picker>
  26 + </el-form-item>
  27 +
  28 +
  29 + <el-form-item label="区间">
  30 + <el-select v-model="query.qujain" placeholder="区间">
  31 + <el-option label="全部" value=""></el-option>
  32 + <el-option label="上午" value="上午"></el-option>
  33 + <el-option label="下午" value="下午"></el-option>
  34 + </el-select>
  35 + </el-form-item>
  36 +
  37 + <el-form-item>
  38 + <el-button type="success" @click="search">搜索</el-button>
  39 + </el-form-item>
  40 + </el-form>
  41 + </div>
  42 +
  43 + </div>
  44 + <el-table :data="userList" id="QuestionTable" border
  45 + style="width: 100%;border-radius: 5px;box-shadow: 0 0 10px #efefef;margin-top: 10px;" :stripe='true'>
  46 + <el-table-column type="index" prop="date" width="50" align="center"></el-table-column>
  47 + <el-table-column prop="date" label="日期">
  48 + <template slot-scope="scope">
  49 + <span>{{ scope.row.startTime }}
  50 +
  51 + <el-tag>{{scope.row.qujian}}</el-tag>
  52 + </span>
  53 + </template>
  54 + </el-table-column>
  55 +
  56 + <el-table-column prop="date" label="姓名">
  57 + <template slot-scope="scope">
  58 + <span>{{ scope.row.fullName }}</span>
  59 + <el-tag v-for="item in scope.row.taglist" size="mini" style="margin-right:5px"
  60 + :disable-transitions="false" >{{item}}</el-tag>
  61 +
  62 + </template>
  63 + </el-table-column>
  64 + <el-table-column prop="date" label="系统推荐" width="150px" sortable>
  65 + <template slot-scope="scope">
  66 + <el-rate v-model="scope.row.stars" disabled text-color="#ff9900" size="small">
  67 + </el-rate>
  68 + </template>
  69 + </el-table-column>
  70 + <el-table-column prop="date" label="联系方式">
  71 + <template slot-scope="scope">
  72 + <span>{{ scope.row.phone }}</span>
  73 + </template>
  74 + </el-table-column>
  75 + <el-table-column prop="date" label="详细地址">
  76 + <template slot-scope="scope">
  77 + <span>{{ scope.row.adress || '-' }}</span>
  78 + </template>
  79 + </el-table-column>
  80 + <el-table-column prop="date" label="备注">
  81 + <template slot-scope="scope">
  82 + <span>{{ scope.row.remark || '-' }}</span>
  83 + </template>
  84 + </el-table-column>
  85 + <el-table-column fixed="right" label="操作" width="150">
  86 + <template slot-scope="scope">
  87 +
  88 + <el-button type="text" icon="el-icon-delete" circle @click="handleDelete(scope.row, scope.$index)" size="mini"
  89 + style="margin-left:0px;">删除
  90 + </el-button>
  91 +
  92 + </template>
  93 + </el-table-column>
  94 + </el-table>
  95 + <el-pagination background @current-change="currentchange"
  96 + style="position:static;bottom: 3px;text-align: center;margin-top: 5px;" :page-size="this.query.PageSize"
  97 + layout="total,prev, pager, next" :total="Count">
  98 + </el-pagination>
  99 +
  100 + </div>
  101 +</template>
  102 +
  103 +<script>
  104 + import {
  105 + GetCompanyInvitation,
  106 + InvitationCompanyDelete
  107 + } from '@/api/user'
  108 + import {
  109 + formatTime
  110 + } from '@/utils/util.js'
  111 + export default {
  112 + data() {
  113 + var checkPhone = (rule, value, callback) => {
  114 + const phoneReg = /^1[3|4|5|7|8][0-9]{9}$/
  115 + if (!value) {
  116 + return callback(new Error('电话号码不能为空'))
  117 + }
  118 + setTimeout(() => {
  119 + if (!Number.isInteger(+value)) {
  120 + callback(new Error('请输入数字值'))
  121 + } else {
  122 + if (phoneReg.test(value)) {
  123 + callback()
  124 + } else {
  125 + callback(new Error('电话号码格式不正确'))
  126 + }
  127 + }
  128 + }, 100)
  129 + }
  130 +
  131 +
  132 + var validatePass = (rule, value, callback) => {
  133 + if (value === '') {
  134 + callback(new Error('请输入密码'));
  135 + } else {
  136 + if (this.ruleForm.checkPass !== '') {
  137 + this.$refs.ruleForm.validateField('checkPass');
  138 + }
  139 + callback();
  140 + }
  141 + };
  142 + var validatePass2 = (rule, value, callback) => {
  143 + if (value === '') {
  144 + callback(new Error('请再次输入密码'));
  145 + } else if (value !== this.ruleForm.Password) {
  146 + callback(new Error('两次输入密码不一致!'));
  147 + } else {
  148 + callback();
  149 + }
  150 + };
  151 + return {
  152 + title: '添加管理员',
  153 + buttonText: '立即创建',
  154 + userList: [],
  155 + dialogClassIVIsible: false,
  156 + dialogClassIVIsibleT: false,
  157 + adminUserInfo: {
  158 + username: "",
  159 + password: "",
  160 + // type: 4,
  161 + fullName: "",
  162 + // remark: "",
  163 + phone: "",
  164 + // sex: "",
  165 + // card: "",
  166 + // address: "",
  167 + // birthday: "",
  168 + status: 1,
  169 + },
  170 +
  171 + ruleForm: {
  172 + UserId: 0,
  173 + Password: '',
  174 + checkPass: '',
  175 + },
  176 + Count: 0,
  177 + query: {
  178 + PageIndex: 1,
  179 + PageSize: 1000,
  180 +
  181 + },
  182 + }
  183 + },
  184 + created() {
  185 + this.GetUser()
  186 + },
  187 + methods: {
  188 + search() {
  189 + this.GetUser();
  190 + },
  191 + closeClassDialog() {
  192 + this.title = '添加管理员'
  193 + this.buttonText = '立即创建'
  194 + this.GetUser();
  195 + },
  196 + submitForm(formName) {
  197 + this.$refs[formName].validate((valid) => {
  198 + if (valid) {
  199 + if (this.title == '添加管理员') {
  200 + this.adminUserInfo.addTime = formatTime(new Date(), 'yyyy-MM-dd HH:mm:ss')
  201 + AccountRegister(this.adminUserInfo).then(res => {
  202 + this.$notify({
  203 + title: '成功',
  204 + message: res.data.message,
  205 + type: 'success'
  206 + });
  207 + // this.$confirm(res.data.message, '消息')
  208 + this.dialogClassIVIsible = false
  209 + })
  210 + } else {
  211 + this.adminUserInfo.updateTime = formatTime(new Date(), 'yyyy-MM-dd HH:mm:ss')
  212 + this.adminUserInfo.status = 1
  213 + UsersUpdate(this.adminUserInfo).then(res => {
  214 + this.$notify({
  215 + title: '成功',
  216 + message: res.data.message,
  217 + type: 'success'
  218 + });
  219 + // this.$confirm(res.data.message, '消息')
  220 + this.dialogClassIVIsible = false
  221 + })
  222 + }
  223 +
  224 + } else {
  225 + return false;
  226 + }
  227 + });
  228 + },
  229 +
  230 + GetUser() {
  231 + GetCompanyInvitation(this.query).then(res => {
  232 + this.userList = res.data.data
  233 + this.Count = res.data.records
  234 + })
  235 + },
  236 + currentchange(page) {
  237 + this.query.PageIndex = page;
  238 + this.GetUser();
  239 + },
  240 + closeClassDialogT() {
  241 + this.dialogClassIVIsibleT = false
  242 + },
  243 +
  244 + handleDelete(val, index) {
  245 +
  246 + let that = this;
  247 + this.$confirm('确定删除该面试信息吗?', '消息', {
  248 + confirmButtonText: '确认',
  249 + cancelButtonText: '取消',
  250 + callback: (action) => {
  251 + if (action == "confirm") {
  252 + InvitationCompanyDelete({
  253 + ids: val.id
  254 + }).then(res => {
  255 + if (res.data.code == 200) {
  256 + this.userList.splice(index, 1);
  257 + this.$notify({
  258 + title: '成功',
  259 + message: res.data.message,
  260 + type: 'success'
  261 + });
  262 + this.GetUser();
  263 + }
  264 + });
  265 + }
  266 + },
  267 + })
  268 + },
  269 + submitFormT(formName) {
  270 + this.$refs[formName].validate((valid) => {
  271 + if (valid) {
  272 + UpdateCurrentPasswordById({ UserId: this.ruleForm.UserId, Password: this.ruleForm.Password }).then(res => {
  273 + if (res.data.code == 200) {
  274 + this.$notify({
  275 + title: 'Success',
  276 + message: res.data.message,
  277 + type: 'success',
  278 + duration: 1000
  279 + })
  280 + this.dialogClassIVIsibleT = false
  281 + // setTimeout(()=>{
  282 + // this.$store.dispatch('user/logout')
  283 + // this.$router.push(`/login?redirect=${this.$route.fullPath}`)
  284 + // },1000)
  285 +
  286 + }
  287 + })
  288 + } else {
  289 + console.log('error submit!!');
  290 + return false;
  291 + }
  292 + });
  293 + },
  294 + handleCommand(value, val) {
  295 + let that = this;
  296 + if (value == "del") {
  297 + this.$confirm('确定删除该管理员?', '消息', {
  298 + confirmButtonText: '确认',
  299 + cancelButtonText: '取消',
  300 + callback: (action) => {
  301 + if (action == "confirm") {
  302 + InvitationCompanyDelete({
  303 + ids: val.id
  304 + }).then(res => {
  305 + if (res.data.code == 200) {
  306 + this.$notify({
  307 + title: '成功',
  308 + message: res.data.message,
  309 + type: 'success'
  310 + });
  311 + this.GetUser();
  312 + }
  313 + });
  314 + }
  315 + },
  316 + })
  317 +
  318 + }
  319 + },
  320 + }
  321 + }
  322 +</script>
  323 +
  324 +<style>
  325 + .seetingsDiv {
  326 + display: flex;
  327 + align-items: center;
  328 + width: 100%;
  329 + padding-top: 10px;
  330 + padding-left: 10px;
  331 + /* height: 60px; */
  332 + background: #efefef;
  333 + /* line-height: 60px; */
  334 + border-radius: 5px;
  335 + box-shadow: 0 0 5px #cdcdcd;
  336 + justify-content: space-between;
  337 + }
  338 +
  339 + .seetingsDiv button {
  340 + height: 40px;
  341 + background-color: #304156;
  342 + border: 0px;
  343 + margin-left: 10px;
  344 + box-shadow: 0 0 5px #cdcdcd;
  345 + float: none;
  346 + margin-right: 10px;
  347 + }
  348 +</style>
0 \ No newline at end of file 349 \ No newline at end of file
src/views/user/picuserimport.vue
@@ -52,6 +52,19 @@ @@ -52,6 +52,19 @@
52 </div> 52 </div>
53 </div> 53 </div>
54 <div class="main-box"> 54 <div class="main-box">
  55 + <div class="doc-view" v-if="currentFilePath">
  56 + <iframe
  57 + style="width: 100%; height: 100%"
  58 + v-if="currentFilePath && currentFilePath.indexOf('.pdf') !=-1"
  59 + :src="
  60 + BASE_ROOT_DOMAIN + '/pdf/web/viewer.html?file=' + BASE_ROOT_DOMAIN +currentFilePath
  61 + "
  62 + frameborder="0"
  63 + ></iframe>
  64 + <el-image v-else :src=" BASE_ROOT_DOMAIN +currentFilePath">
  65 +
  66 + </el-image>
  67 + </div>
55 <el-table 68 <el-table
56 ref="mytable" 69 ref="mytable"
57 :data="table_data" 70 :data="table_data"
@@ -156,16 +169,7 @@ @@ -156,16 +169,7 @@
156 </template> 169 </template>
157 </el-table-column> 170 </el-table-column>
158 </el-table> 171 </el-table>
159 - <div class="doc-view" v-if="currentFilePath">  
160 - <iframe  
161 - style="width: 100%; height: 100%"  
162 - v-if="currentFilePath"  
163 - :src="  
164 - BASE_ROOT_DOMAIN + '/pdf/web/viewer.html?file=' + BASE_ROOT_DOMAIN +currentFilePath  
165 - "  
166 - frameborder="0"  
167 - ></iframe>  
168 - </div> 172 +
169 </div> 173 </div>
170 <div class="page-box"> 174 <div class="page-box">
171 <el-pagination 175 <el-pagination
src/views/user/userlist.vue
1 <template> 1 <template>
2 <div class="app-container"> 2 <div class="app-container">
3 <div class="seetingsDiv" style=""> 3 <div class="seetingsDiv" style="">
4 - <div class="flex" style="width: 75%"> 4 + <div class="flex" style="width: 85%">
5 <el-form :inline="true" class="demo-form-inline"> 5 <el-form :inline="true" class="demo-form-inline">
6 <el-form-item label="关键字"> 6 <el-form-item label="关键字">
7 - <el-input  
8 - placeholder="输入关键字搜索"  
9 - v-model="query.keyword"  
10 - ></el-input> 7 + <el-input placeholder="输入关键字搜索" v-model="query.keyword"></el-input>
11 </el-form-item> 8 </el-form-item>
12 <el-form-item label="最高学历"> 9 <el-form-item label="最高学历">
13 <el-select v-model="query.xueli" placeholder="最高学历"> 10 <el-select v-model="query.xueli" placeholder="最高学历">
@@ -22,137 +19,89 @@ @@ -22,137 +19,89 @@
22 <el-option label="女" value="0"></el-option> 19 <el-option label="女" value="0"></el-option>
23 </el-select> 20 </el-select>
24 </el-form-item> 21 </el-form-item>
  22 + <el-form-item label="面试进度">
  23 + <el-select v-model="query.process" placeholder="进度">
  24 + <el-option label="全部" value="-1"></el-option>
  25 + <el-option v-for="item in processlist" :key="item.value" :label="item.label" :value="item.value">
  26 + </el-option>
  27 + </el-select>
  28 + </el-form-item>
  29 +
  30 + <el-form-item label="推荐指数">
  31 + <el-rate v-model="query.stars" text-color="#ff9900" style="margin-top:10px;">
  32 + </el-rate>
  33 + </el-form-item>
  34 +
25 35
26 <el-form-item> 36 <el-form-item>
27 <el-button type="success" @click="search">搜索</el-button> 37 <el-button type="success" @click="search">搜索</el-button>
28 <el-button type="success" @click="resetSearch">重置</el-button> 38 <el-button type="success" @click="resetSearch">重置</el-button>
29 - <el-button  
30 - type="primary"  
31 - @click="handleInviteInterview(scope.row)"  
32 - >邀请面试</el-button  
33 - > 39 + <el-button type="primary" @click="handleInviteInterview()">邀请面试(线上)</el-button>
  40 +
  41 + <el-button type="primary" @click="handleCompanyInterview()">邀请面试(现场)</el-button>
34 </el-form-item> 42 </el-form-item>
35 </el-form> 43 </el-form>
36 </div> 44 </div>
37 45
38 <div class="flex aligin-center"> 46 <div class="flex aligin-center">
39 - <el-link  
40 - :href="BASE_URL + '/temp/用户导入模板.xlsx'"  
41 - target="_blank"  
42 - type="primary"  
43 - >下载模板</el-link  
44 - >  
45 - <el-upload  
46 - class="upload-demo"  
47 - action="/api/Account/importUsers?UserClassId=0"  
48 - multiple  
49 - :limit="1"  
50 - :show-file-list="false"  
51 - :on-exceed="handleExceed"  
52 - :on-success="handleSuccess"  
53 - :file-list="fileList"  
54 - > 47 + <el-link :href="BASE_URL + '/temp/用户导入模板.xlsx'" target="_blank" type="primary">下载模板</el-link>
  48 + <el-upload class="upload-demo" action="/api/Account/importUsers?UserClassId=0" multiple :limit="1"
  49 + :show-file-list="false" :on-exceed="handleExceed" :on-success="handleSuccess" :file-list="fileList">
55 <el-button size="small" type="primary">导入用户</el-button> 50 <el-button size="small" type="primary">导入用户</el-button>
56 </el-upload> 51 </el-upload>
57 </div> 52 </div>
58 </div> 53 </div>
59 <el-container style="border: 1px solid #eee"> 54 <el-container style="border: 1px solid #eee">
60 - <el-aside  
61 - width="255px"  
62 - style=" 55 + <el-aside width="255px" style="
63 width: 255px; 56 width: 255px;
64 background-color: #fff; 57 background-color: #fff;
65 padding: 10px; 58 padding: 10px;
66 border-right: 1px solid #dcdfe6; 59 border-right: 1px solid #dcdfe6;
67 - "  
68 - > 60 + ">
69 <div style="float: left">所属分类</div> 61 <div style="float: left">所属分类</div>
70 <div style="text-align: right"> 62 <div style="text-align: right">
71 - <el-button  
72 - size="mini"  
73 - type="primary"  
74 - icon="el-icon-plus"  
75 - circle  
76 - @click="addcat"  
77 - ></el-button>  
78 - <el-button  
79 - size="mini"  
80 - type="warning"  
81 - icon="el-icon-edit"  
82 - circle  
83 - @click="editcat"  
84 - ></el-button>  
85 - <el-button  
86 - size="mini"  
87 - type="danger"  
88 - icon="el-icon-delete"  
89 - @click="delcat"  
90 - circle  
91 - ></el-button> 63 + <el-button size="mini" type="primary" icon="el-icon-plus" circle @click="addcat"></el-button>
  64 + <el-button size="mini" type="warning" icon="el-icon-edit" circle @click="editcat"></el-button>
  65 + <el-button size="mini" type="danger" icon="el-icon-delete" @click="delcat" circle></el-button>
92 </div> 66 </div>
93 - <el-input  
94 - size="small "  
95 - placeholder="分类筛选"  
96 - v-model="filterText"  
97 - style="margin-bottom: 10px; margin-top: 10px"  
98 - > 67 + <el-input size="small " placeholder="分类筛选" v-model="filterText" style="margin-bottom: 10px; margin-top: 10px">
99 </el-input> 68 </el-input>
100 - <el-tree  
101 - :data="data"  
102 - :props="props"  
103 - ref="tree"  
104 - :filter-node-method="filterNode"  
105 - @node-click="handleNodeClick"  
106 - > 69 + <el-tree :data="data" :props="props" ref="tree" :filter-node-method="filterNode" @node-click="handleNodeClick">
107 </el-tree> 70 </el-tree>
108 </el-aside> 71 </el-aside>
109 72
110 <el-main> 73 <el-main>
111 <div class="filter-container"> 74 <div class="filter-container">
112 - <el-table  
113 - ref="userList"  
114 - :data="userList"  
115 - id="QuestionTable"  
116 - border  
117 - style=" 75 + <el-table ref="userList" :data="userList" id="QuestionTable" border style="
118 width: 100%; 76 width: 100%;
119 border-radius: 5px; 77 border-radius: 5px;
120 box-shadow: 0 0 10px #efefef; 78 box-shadow: 0 0 10px #efefef;
121 margin-top: 10px; 79 margin-top: 10px;
122 - "  
123 - @selection-change="handleSelectionChange"  
124 - :stripe="true"  
125 - > 80 + " @selection-change="handleSelectionChange" :stripe="true">
126 <el-table-column type="selection" width="55"> </el-table-column> 81 <el-table-column type="selection" width="55"> </el-table-column>
127 - <el-table-column  
128 - type="index"  
129 - prop="date"  
130 - width="50"  
131 - align="center"  
132 - ></el-table-column>  
133 - <el-table-column prop="date" label="姓名"> 82 + <el-table-column type="index" prop="date" width="50" align="center"></el-table-column>
  83 + <el-table-column prop="date" label="姓名" width="200">
134 <template slot-scope="scope"> 84 <template slot-scope="scope">
135 - <span>{{ scope.row.fullName }}</span> 85 + <el-tooltip class="item" effect="dark" :content="scope.row.processName" placement="top-start">
  86 + <span>
  87 + {{scope.row.fullName || '无' }}
  88 + </span>
  89 + </el-tooltip>
  90 + <el-tag v-for="item in scope.row.taglist" size="mini" style="margin-right:5px" closable
  91 + :disable-transitions="false" @close="handleClose(item,scope.row)">{{item}}</el-tag>
  92 + <el-tag size="mini" @click="addtag(scope.row)" style="cursor:pointer">+</el-tag>
  93 +
136 </template> 94 </template>
137 </el-table-column> 95 </el-table-column>
138 - <el-table-column prop="date" label="系统推荐" width="150px"> 96 + <el-table-column prop="date" label="系统推荐" width="150px" sortable>
139 <template slot-scope="scope"> 97 <template slot-scope="scope">
140 - <el-rate  
141 - v-model="scope.row.stars"  
142 - disabled  
143 - text-color="#ff9900"  
144 - > 98 + <el-rate v-model="scope.row.stars" disabled text-color="#ff9900" size="small">
145 </el-rate> 99 </el-rate>
146 </template> 100 </template>
147 </el-table-column> 101 </el-table-column>
148 - <el-table-column prop="date" label="电话号码"> 102 + <el-table-column prop="date" label="电话号码" width="100">
149 <template slot-scope="scope"> 103 <template slot-scope="scope">
150 - <el-tooltip  
151 - class="item"  
152 - effect="dark"  
153 - :content="scope.row.phone"  
154 - placement="top-start"  
155 - > 104 + <el-tooltip class="item" effect="dark" :content="scope.row.phone" placement="top-start">
156 <span>{{ scope.row.phone1 }}</span> 105 <span>{{ scope.row.phone1 }}</span>
157 </el-tooltip> 106 </el-tooltip>
158 </template> 107 </template>
@@ -160,86 +109,75 @@ @@ -160,86 +109,75 @@
160 109
161 <el-table-column prop="date" label="近期测试"> 110 <el-table-column prop="date" label="近期测试">
162 <template slot-scope="{ row }"> 111 <template slot-scope="{ row }">
163 - <el-button  
164 - v-if="row.TestPaperTitle || 1 == 1"  
165 - type="text"  
166 - icon="el-icon-star-off"  
167 - @click="handleTestHitory(row)"  
168 - ></el-button> 112 + <el-button v-if="row.TestPaperTitle || 1 == 1" type="text" icon="el-icon-star-off"
  113 + @click="handleTestHitory(row)"></el-button>
169 <span>{{ row.TestPaperTitle || "无" }}</span> 114 <span>{{ row.TestPaperTitle || "无" }}</span>
170 </template> 115 </template>
171 </el-table-column> 116 </el-table-column>
172 <el-table-column prop="processName" label="面试进度"> 117 <el-table-column prop="processName" label="面试进度">
173 - </el-table-column>  
174 - <el-table-column prop="date" label="电话号码">  
175 - <template slot-scope="scope">  
176 - <el-tooltip  
177 - class="item"  
178 - effect="dark"  
179 - :content="scope.row.phone"  
180 - placement="top-start"  
181 - >  
182 - <span>{{ scope.row.phone1 }}</span>  
183 - </el-tooltip> 118 +
  119 + <template slot-scope="{ row }">
  120 +
  121 + <span style="cursor: pointer;
  122 + border-color: #c2e7b0;
  123 + " @click="processEvent(row)">
  124 + {{row.processName}}
  125 + </span>
  126 +
184 </template> 127 </template>
185 </el-table-column> 128 </el-table-column>
186 129
187 - <el-table-column prop="date" label="性别" sortable> 130 + <!-- <el-table-column prop="tags" label="标签" width="166">
  131 +
  132 + <template slot-scope="{ row }">
  133 +
  134 + <el-tag v-for="item in row.taglist" size="mini" style="margin-right:5px;">{{item}}</el-tag>
  135 +
  136 + </template>
  137 + </el-table-column> -->
  138 + <el-table-column prop="sex" label="性别" sortable>
  139 + <template slot-scope="scope">
  140 + <span>{{ scope.row.sex==1?'男':'女' }}</span>
  141 + </template>
188 </el-table-column> 142 </el-table-column>
189 - <el-table-column prop="date" label="民族" sortable> 143 + <el-table-column prop="minzu" label="民族" sortable>
190 </el-table-column> 144 </el-table-column>
191 - <el-table-column prop="date" label="专业" sortable> 145 + <el-table-column prop="zhuanye" label="专业" sortable>
192 </el-table-column> 146 </el-table-column>
193 - <el-table-column prop="date" label="毕业院校" sortable> 147 + <el-table-column prop="byyx" label="毕业院校" sortable>
194 </el-table-column> 148 </el-table-column>
195 - <el-table-column prop="date" label="最高学历" sortable> 149 + <el-table-column prop="xueli" label="最高学历" sortable>
196 </el-table-column> 150 </el-table-column>
197 151
198 - <el-table-column prop="addTime" label="录入时间" sortable> 152 + <el-table-column prop="addTime" label="录入时间" sortable width="100">
199 <template slot-scope="scope"> 153 <template slot-scope="scope">
200 - <span>{{ scope.row.addTime.replace("T", " ") }}</span> 154 + <el-tooltip class="item" effect="dark" :content=" scope.row.addTime.replace('T',' ')"
  155 + placement="top-start">
  156 + <span>{{ scope.row.addTime.split('T')[0] }}</span>
  157 + </el-tooltip>
  158 +
201 </template> 159 </template>
202 </el-table-column> 160 </el-table-column>
203 161
204 - <el-table-column prop="date" label="操作" width="220"> 162 + <el-table-column prop="date" label="操作" width="220" fixed="right">
205 <template slot-scope="scope"> 163 <template slot-scope="scope">
206 - <el-button  
207 - type="text"  
208 - icon="el-icon-edit"  
209 - @click="handleEdit(scope.row)"  
210 - circle  
211 - >编辑</el-button  
212 - >  
213 - <el-button  
214 - type="text"  
215 - icon="el-icon-edit"  
216 - @click="handleInviteInterviewOnsite(scope.row)"  
217 - circle  
218 - >邀请面试</el-button  
219 - >  
220 - <el-button  
221 - type="text"  
222 - icon="el-icon-delete"  
223 - circle  
224 - @click="handleDelete(scope.row, scope.$index)"  
225 - >删除</el-button  
226 - > 164 + <el-button type="text" icon="el-icon-edit" @click="handleEdit(scope.row)" circle size="mini"
  165 + style="margin-left:0px;">编辑</el-button>
  166 + <el-button type="text" icon="el-icon-user" @click="handleCompanyInterview(scope.row)" circle size="mini"
  167 + style="margin-left:0px;">邀请面试
  168 + </el-button>
  169 + <el-button type="text" icon="el-icon-delete" circle @click="handleDelete(scope.row, scope.$index)"
  170 + size="mini" style="margin-left:0px;">删除
  171 + </el-button>
227 </template> 172 </template>
228 </el-table-column> 173 </el-table-column>
229 </el-table> 174 </el-table>
230 - <el-pagination  
231 - background  
232 - @current-change="currentchange"  
233 - style=" 175 + <el-pagination background @current-change="currentchange" style="
234 position: static; 176 position: static;
235 bottom: 3px; 177 bottom: 3px;
236 text-align: center; 178 text-align: center;
237 margin-top: 5px; 179 margin-top: 5px;
238 - "  
239 - :page-size="this.query.PageSize"  
240 - layout="total,prev, pager, next"  
241 - :total="Count"  
242 - > 180 + " :page-size="this.query.PageSize" layout="total,prev, pager, next" :total="Count">
243 </el-pagination> 181 </el-pagination>
244 </div> 182 </div>
245 </el-main> 183 </el-main>
@@ -251,23 +189,14 @@ @@ -251,23 +189,14 @@
251 <el-input v-model="form.name" autocomplete="off"></el-input> 189 <el-input v-model="form.name" autocomplete="off"></el-input>
252 </el-form-item> --> 190 </el-form-item> -->
253 <el-form-item label="试卷"> 191 <el-form-item label="试卷">
254 - <el-select  
255 - v-model="form.TestPaperId"  
256 - placeholder="请选择试卷"  
257 - style="width: 80%"  
258 - > 192 + <el-select v-model="form.TestPaperId" placeholder="请选择试卷" style="width: 80%">
259 <el-option :value="item.id" v-for="item in testpaperlist">{{ 193 <el-option :value="item.id" v-for="item in testpaperlist">{{
260 "[" + item.id + "] " + (item.TestPaperTitle || "未命名") 194 "[" + item.id + "] " + (item.TestPaperTitle || "未命名")
261 - }}</el-option> 195 + }}</el-option>
262 </el-select> 196 </el-select>
263 </el-form-item> 197 </el-form-item>
264 <el-form-item label="允许测评次数"> 198 <el-form-item label="允许测评次数">
265 - <el-input  
266 - v-model="form.NumberOfAnswers"  
267 - type="number"  
268 - placeholder="请输入允许测评次数"  
269 - style="width: 30%"  
270 - /> 199 + <el-input v-model="form.NumberOfAnswers" type="number" placeholder="请输入允许测评次数" style="width: 30%" />
271 </el-form-item> 200 </el-form-item>
272 </el-form> 201 </el-form>
273 <div slot="footer" class="dialog-footer"> 202 <div slot="footer" class="dialog-footer">
@@ -276,62 +205,29 @@ @@ -276,62 +205,29 @@
276 </div> 205 </div>
277 </el-dialog> 206 </el-dialog>
278 207
279 - <el-dialog  
280 - title="测试历史记录"  
281 - :visible.sync="dialogTableVisible"  
282 - @close="gridData = []"  
283 - height="800"  
284 - width="80%"  
285 - > 208 + <el-dialog title="测试历史记录" :visible.sync="dialogTableVisible" @close="gridData = []" height="800" width="80%">
286 <el-table :data="gridData" height="400"> 209 <el-table :data="gridData" height="400">
287 - <el-table-column  
288 - property="TestPaperTitle"  
289 - label="试卷"  
290 - sortable  
291 - ></el-table-column>  
292 - <el-table-column  
293 - property="AnswerTime"  
294 - label="测试时间"  
295 - width="180"  
296 - sortable  
297 - > 210 + <el-table-column property="TestPaperTitle" label="试卷" sortable></el-table-column>
  211 + <el-table-column property="AnswerTime" label="测试时间" width="180" sortable>
298 <template slot-scope="scope"> 212 <template slot-scope="scope">
299 <span>{{ scope.row.AnswerTime.replace("T", " ") }}</span> 213 <span>{{ scope.row.AnswerTime.replace("T", " ") }}</span>
300 </template> 214 </template>
301 </el-table-column> 215 </el-table-column>
302 - <el-table-column  
303 - property="StartTime"  
304 - label="开始时间"  
305 - width="180"  
306 - sortable  
307 - > 216 + <el-table-column property="StartTime" label="开始时间" width="180" sortable>
308 <template slot-scope="scope"> 217 <template slot-scope="scope">
309 <span>{{ scope.row.StartTime.replace("T", " ") }}</span> 218 <span>{{ scope.row.StartTime.replace("T", " ") }}</span>
310 </template> 219 </template>
311 </el-table-column> 220 </el-table-column>
312 - <el-table-column  
313 - property="address"  
314 - label="结束时间"  
315 - width="180"  
316 - sortable  
317 - > 221 + <el-table-column property="address" label="结束时间" width="180" sortable>
318 <template slot-scope="scope"> 222 <template slot-scope="scope">
319 <span>{{ scope.row.EndTime.replace("T", " ") }}</span> 223 <span>{{ scope.row.EndTime.replace("T", " ") }}</span>
320 </template> 224 </template>
321 </el-table-column> 225 </el-table-column>
322 - <el-table-column  
323 - property="Achievement"  
324 - label="成绩"  
325 - sortable  
326 - ></el-table-column> 226 + <el-table-column property="Achievement" label="成绩" sortable></el-table-column>
327 <el-table-column label="操作"> 227 <el-table-column label="操作">
328 <template slot-scope="scope"> 228 <template slot-scope="scope">
329 - <el-button type="success" @click="handleWatchLive(scope.row)"  
330 - >观看直播</el-button  
331 - >  
332 - <el-button type="primary" @click="handleAnswerDetail(scope.row)"  
333 - >答题详情</el-button  
334 - > 229 + <el-button type="success" @click="handleWatchLive(scope.row)">观看直播</el-button>
  230 + <el-button type="primary" @click="handleAnswerDetail(scope.row)">答题详情</el-button>
335 </template> 231 </template>
336 </el-table-column> 232 </el-table-column>
337 </el-table> 233 </el-table>
@@ -343,17 +239,8 @@ @@ -343,17 +239,8 @@
343 </div> 239 </div>
344 </el-dialog> 240 </el-dialog>
345 241
346 - <el-dialog  
347 - :visible.sync="dialogVisiblecat"  
348 - :title="dialogTypecat === 'update' ? '修改' : '新增'"  
349 - width="455px"  
350 - >  
351 - <el-form  
352 - ref="dataForm"  
353 - :model="temp"  
354 - label-width="120px"  
355 - label-position="right"  
356 - > 242 + <el-dialog :visible.sync="dialogVisiblecat" :title="dialogTypecat === 'update' ? '修改' : '新增'" width="455px">
  243 + <el-form ref="dataForm" :model="temp" label-width="120px" label-position="right">
357 <el-form-item label="分类名称"> 244 <el-form-item label="分类名称">
358 <el-input v-model="temp.ClassTitle" placeholder="请输入名称" /> 245 <el-input v-model="temp.ClassTitle" placeholder="请输入名称" />
359 </el-form-item> 246 </el-form-item>
@@ -368,46 +255,26 @@ @@ -368,46 +255,26 @@
368 </div> 255 </div>
369 </el-dialog> 256 </el-dialog>
370 257
371 - <el-dialog  
372 - title="人才用户信息"  
373 - :visible.sync="dialogClassIVIsible"  
374 - width="450"  
375 - >  
376 - <el-form  
377 - ref="adminUserInfo"  
378 - :model="adminUserInfo"  
379 - label-width="90px"  
380 - style="margin-left: 40px"  
381 - > 258 + <el-dialog title="人才用户信息" :visible.sync="dialogClassIVIsible" width="450">
  259 + <el-form ref="adminUserInfo" :model="adminUserInfo" label-width="90px" style="margin-left: 40px">
382 <el-form-item label="名称" prop="fullName"> 260 <el-form-item label="名称" prop="fullName">
383 - <el-input  
384 - v-model="adminUserInfo.fullName"  
385 - placeholder="请输入姓名"  
386 - style="width: 40%"  
387 - ></el-input> 261 + <el-input v-model="adminUserInfo.fullName" placeholder="请输入姓名" style="width: 40%"></el-input>
388 </el-form-item> 262 </el-form-item>
389 <el-form-item label="电话号码"> 263 <el-form-item label="电话号码">
390 - <el-input  
391 - v-model="adminUserInfo.phone"  
392 - placeholder="请输入电话号码"  
393 - style="width: 40%"  
394 - maxlength="11"  
395 - ></el-input> 264 + <el-input v-model="adminUserInfo.phone" placeholder="请输入电话号码" style="width: 40%" maxlength="11"></el-input>
396 </el-form-item> 265 </el-form-item>
397 <el-form-item label="最高学历"> 266 <el-form-item label="最高学历">
398 <el-select v-model="adminUserInfo.xueli" placeholder="最高学历"> 267 <el-select v-model="adminUserInfo.xueli" placeholder="最高学历">
399 - <el-option label="大专" value="shanghai"></el-option>  
400 - <el-option label="本科" value="beijing"></el-option> 268 + <el-option label="大专" value="大专"></el-option>
  269 + <el-option label="本科" value="本科"></el-option>
  270 + <el-option label="博士" value="博士"></el-option>
  271 + <el-option label="博士后" value="博士后"></el-option>
401 </el-select> 272 </el-select>
402 </el-form-item> 273 </el-form-item>
403 274
404 <el-form-item label="民族"> 275 <el-form-item label="民族">
405 <el-select v-model="adminUserInfo.minzu" placeholder="民族"> 276 <el-select v-model="adminUserInfo.minzu" placeholder="民族">
406 - <el-option  
407 - v-for="item in mzlist"  
408 - :label="item"  
409 - :value="item"  
410 - ></el-option> 277 + <el-option v-for="item in mzlist" :label="item" :value="item"></el-option>
411 </el-select> 278 </el-select>
412 </el-form-item> 279 </el-form-item>
413 <el-form-item label="性别"> 280 <el-form-item label="性别">
@@ -417,419 +284,675 @@ @@ -417,419 +284,675 @@
417 </el-select> 284 </el-select>
418 </el-form-item> 285 </el-form-item>
419 <el-form-item label="专业" style="margin-top: 40px" prop="username"> 286 <el-form-item label="专业" style="margin-top: 40px" prop="username">
420 - <el-input  
421 - v-model="adminUserInfo.zhuanye"  
422 - placeholder="请输入专业"  
423 - style="width: 40%"  
424 - ></el-input> 287 + <el-input v-model="adminUserInfo.zhuanye" placeholder="请输入专业" style="width: 40%"></el-input>
425 </el-form-item> 288 </el-form-item>
426 <el-form-item label="毕业院校" style="margin-top: 40px" prop="username"> 289 <el-form-item label="毕业院校" style="margin-top: 40px" prop="username">
427 - <el-input  
428 - v-model="adminUserInfo.byyx"  
429 - placeholder="请输入毕业院校"  
430 - style="width: 40%"  
431 - ></el-input> 290 + <el-input v-model="adminUserInfo.byyx" placeholder="请输入毕业院校" style="width: 40%"></el-input>
432 </el-form-item> 291 </el-form-item>
433 <el-form-item label="系统推荐" style="margin-top: 40px" prop="stars"> 292 <el-form-item label="系统推荐" style="margin-top: 40px" prop="stars">
434 - <el-rate  
435 - style="width: 40%"  
436 - v-model="adminUserInfo.stars"  
437 - :texts="['不推荐', '一般', '满意', '很满意', '极力推荐']"  
438 - show-text  
439 - > 293 + <el-rate style="width: 40%" v-model="adminUserInfo.stars" :texts="['不推荐', '一般', '满意', '很满意', '极力推荐']"
  294 + show-text>
440 </el-rate> 295 </el-rate>
441 </el-form-item> 296 </el-form-item>
442 - 297 + <el-form-item label="面试进度">
  298 + <el-select v-model="adminUserInfo.process" placeholder="进度">
  299 + <el-option v-for="item in processlist" :key="item.value" :label="item.label" :value="item.value">
  300 + </el-option>
  301 + </el-select>
  302 + </el-form-item>
443 <!-- <el-form-item label="密码" prop="password" > 303 <!-- <el-form-item label="密码" prop="password" >
444 <el-input v-model="adminUserInfo.password " placeholder="请输入密码 不填默认不修改" show-password style="width: 40%;"></el-input> 304 <el-input v-model="adminUserInfo.password " placeholder="请输入密码 不填默认不修改" show-password style="width: 40%;"></el-input>
445 </el-form-item> --> 305 </el-form-item> -->
446 <el-form-item style="text-align: right"> 306 <el-form-item style="text-align: right">
447 <el-button @click="dialogClassIVIsible = false">取消</el-button> 307 <el-button @click="dialogClassIVIsible = false">取消</el-button>
448 - <el-button type="primary" @click="submitForm('adminUserInfo')"  
449 - >提交</el-button  
450 - > 308 + <el-button type="primary" @click="submitForm('adminUserInfo')">提交</el-button>
451 </el-form-item> 309 </el-form-item>
452 </el-form> 310 </el-form>
453 311
454 <div style="clear: both"></div> 312 <div style="clear: both"></div>
455 </el-dialog> 313 </el-dialog>
  314 +
  315 +
  316 + <el-dialog title="邀请公司面试" :visible.sync="dialogCompany">
  317 + <el-form ref="dynamicValidateForm" label-width="100px" class="demo-dynamic">
  318 + <div v-for="(user, index) in sendUserList">
  319 +
  320 + <el-descriptions class="margin-top" :title="(index+1)" :column="2" border>
  321 + <template slot="extra">
  322 + <el-button type="primary" size="small" @click="removeSendUser(user)"> <i class="el-icon-delete"></i>移除
  323 + </el-button>
  324 + </template>
  325 + <el-descriptions-item>
  326 + <template slot="label">
  327 + <i class="el-icon-user"></i>
  328 + 姓名
  329 + </template>
  330 + {{user.fullName || ''}}
  331 +
  332 + <el-rate v-model="user.stars || 0" disabled show-score text-color="#ff9900">
  333 + </el-rate>
  334 + </el-descriptions-item>
  335 + <el-descriptions-item>
  336 + <template slot="label">
  337 + <i class="el-icon-tickets"></i>
  338 + 标签
  339 + </template>
  340 + <el-tag v-for="item in user.taglist" size="mini" style="margin-right:5px" :disable-transitions="false">
  341 + {{item}}</el-tag>
  342 + </el-descriptions-item>
  343 + <el-descriptions-item>
  344 + <template slot="label">
  345 + <i class="el-icon-location-outline"></i>
  346 + 城市
  347 + </template>
  348 + -
  349 + </el-descriptions-item>
  350 +
  351 +
  352 + <el-descriptions-item>
  353 + <template slot="label">
  354 + <i class="el-icon-office-building"></i>
  355 + 联系地址
  356 + </template>
  357 + {{user.address || ''}}
  358 + </el-descriptions-item>
  359 + <el-descriptions-item>
  360 + <template slot="label">
  361 + <i class="el-icon-mobile-phone"></i>
  362 + 手机号
  363 + </template>
  364 + {{user.phone || ''}}
  365 + </el-descriptions-item>
  366 + <el-descriptions-item>
  367 + <template slot="label">
  368 +
  369 + 面试时间范围
  370 + </template>
  371 + <!-- <el-date-picker v-model="user.date" type="datetimerange" range-separator="至" start-placeholder="开始日期"
  372 + end-placeholder="最后日期">
  373 + </el-date-picker> -->
  374 + <el-date-picker v-model="user.startTime" type="datetime" placeholder="选择日期时间">
  375 + </el-date-picker>
  376 + </el-descriptions-item>
  377 + <el-descriptions-item>
  378 + <template slot="label">
  379 + 消息内容
  380 + </template>
  381 + <el-input v-model="user.msgBody">
  382 +
  383 + </el-input>
  384 +
  385 + </el-descriptions-item>
  386 + <el-descriptions-item>
  387 + <template slot="label">
  388 +
  389 + 备注
  390 + </template>
  391 + <el-input v-model="user.remark" type="textarea">
  392 +
  393 + </el-input>
  394 +
  395 + </el-descriptions-item>
  396 + </el-descriptions>
  397 + </div>
  398 +
  399 + </el-form>
  400 +
  401 + <div slot="footer" class="dialog-footer">
  402 + <el-button @click="dialogCompany = false">取 消</el-button>
  403 + <el-button type="primary" @click="SubmitSendUser">确 定</el-button>
  404 + </div>
  405 + </el-dialog>
  406 + <el-dialog title="新增标签" :visible.sync="dialogFormVisibleTag" width="355px">
  407 + <el-form>
  408 + <el-form-item label="标签">
  409 + <el-input v-model="tagform.name" autocomplete="off"></el-input>
  410 + </el-form-item>
  411 +
  412 + </el-form>
  413 + <div slot="footer" class="dialog-footer">
  414 + <el-button @click="dialogFormVisibleTag = false">取 消</el-button>
  415 + <el-button type="primary" @click="handleTagConfirm">确 定</el-button>
  416 + </div>
  417 + </el-dialog>
  418 +
  419 +
456 </div> 420 </div>
457 </template> 421 </template>
458 422
459 <script> 423 <script>
460 -import {  
461 - ImportUserByExcel,  
462 - GetUserList,  
463 - UsersUpdate,  
464 - AddInvitationAnswerMultiple,  
465 - UsersDelete,  
466 -} from "@/api/user";  
467 -import {  
468 - GetUserClassList,  
469 - UserClassCreate,  
470 - UserClassUpdate,  
471 - UserClassDelete,  
472 -} from "@/api/userclass";  
473 -import { GetHistoryList } from "@/api/HistoryAnswer";  
474 -  
475 -import { getTestPaperList } from "@/api/TestPaper";  
476 -export default {  
477 - data() {  
478 - return {  
479 - loading: false,  
480 - dialogFormVisible: false,  
481 - dialogTableVisible: false,  
482 - dialogTypecat: "create",  
483 - testpaperlist: [],  
484 - form: {  
485 - NumberOfAnswers: 3,  
486 - },  
487 - userList: [],  
488 - data: [],  
489 - dialogVisiblecat: false,  
490 - filterText: "",  
491 - gridData: [],  
492 - Count: 0,  
493 - adminUserInfo: {},  
494 - temp: {  
495 - ParentId: 0,  
496 - },  
497 - mzlist: [  
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 - "满族",  
536 - "怒族",  
537 - "柯尔克孜族",  
538 - "赫哲族",  
539 - "侗族",  
540 - "乌孜别克族",  
541 - "土族",  
542 - "门巴族",  
543 - "瑶族",  
544 - "俄罗斯族",  
545 - "达斡尔族",  
546 - "珞巴族",  
547 - "白族",  
548 - "鄂温克族",  
549 - "塔塔尔族",  
550 - "基诺族",  
551 - ],  
552 - type: "1",  
553 - dialogClassIVIsible: false,  
554 - query: {  
555 - UserTypeEnum: 1, //0:管理员,1普通用户  
556 - PageIndex: 1,  
557 - PageSize: 10,  
558 - keyword: "",  
559 - },  
560 - fileList: [],  
561 - selectedList: [],  
562 - props: {  
563 - label: "ClassTitle",  
564 - children: "children",  
565 - },  
566 - };  
567 - },  
568 - watch: {  
569 - filterText(val) {  
570 - this.$refs.tree.filter(val);  
571 - },  
572 - },  
573 -  
574 - created() {  
575 - this.GetUser();  
576 - this.forceTestPaper();  
577 - this.loadTree();  
578 - },  
579 - methods: {  
580 - handleDelete(item, index) {  
581 - this.userList.splice(index, 1);  
582 - UsersDelete({ ids: item.id });  
583 - },  
584 - handleWatchLive(item) {  
585 - console.log("handleWatchLive", item);  
586 - this.$router.push(`/live?id=${item.StreamName}`);  
587 - },  
588 - handleAnswerDetail(item) {  
589 - window.open(`/#/answerDetail?id=${item.id}`, "_blank");  
590 - },  
591 - submitForm() {  
592 - let formData = { ...this.adminUserInfo };  
593 - console.log('submitForm',JSON.stringify(formData));  
594 - if (formData.id) {  
595 - UsersUpdate(formData).then((res) => {  
596 - this.GetUser();  
597 - console.log(res);  
598 - });  
599 - }  
600 - this.dialogClassIVIsible = false; 424 + import {
  425 + ImportUserByExcel,
  426 + GetUserList,
  427 + UsersUpdate,
  428 + AddInvitationAnswerMultiple,
  429 + AddInvitationCompanyMultiple,
  430 + UsersDelete,
  431 + ChangeTags
  432 + } from "@/api/user";
  433 + import {
  434 + GetUserClassList,
  435 + UserClassCreate,
  436 + UserClassUpdate,
  437 + UserClassDelete,
  438 + } from "@/api/userclass";
  439 + import { GetHistoryList } from "@/api/HistoryAnswer";
  440 +
  441 + import { getTestPaperList } from "@/api/TestPaper";
  442 + export default {
  443 + data() {
  444 + return {
  445 + loading: false,
  446 + dialogFormVisible: false,
  447 + dialogTableVisible: false,
  448 + dialogFormVisibleTag: false,
  449 + dialogCompany: false,
  450 + dialogTypecat: "create",
  451 + testpaperlist: [],
  452 + tagform: {},
  453 + form: {
  454 + NumberOfAnswers: 3,
  455 + },
  456 + userList: [],
  457 + data: [],
  458 + dialogVisiblecat: false,
  459 + filterText: "",
  460 + gridData: [],
  461 + Count: 0,
  462 + adminUserInfo: {},
  463 + temp: {
  464 + ParentId: 0,
  465 + },
  466 + mzlist: [
  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 + processlist: [
  522 + { label: '入库', value: 0 },
  523 + { label: '面试邀请', value: 1 },
  524 + { label: '正在面试', value: 2 },
  525 + { label: '面试完成', value: 3 },
  526 + { label: '公司面试', value: 4 },
  527 + { label: '已录用', value: 5 },
  528 + { label: '未录用', value: 9 },
  529 + { label: '禁用', value: 11 },
  530 + ],
  531 + type: "1",
  532 + dialogClassIVIsible: false,
  533 + query: {
  534 + UserTypeEnum: 1, //0:管理员,1普通用户
  535 + PageIndex: 1,
  536 + PageSize: 10,
  537 + keyword: "",
  538 + stars: -1
  539 + },
  540 + fileList: [],
  541 + selectedList: [],
  542 + props: {
  543 + label: "ClassTitle",
  544 + children: "children",
  545 + },
  546 +
  547 + sendUserList: []
  548 + };
601 }, 549 },
602 - handleEdit(data) {  
603 - this.dialogClassIVIsible = true;  
604 - this.adminUserInfo = data; 550 + watch: {
  551 + filterText(val) {
  552 + this.$refs.tree.filter(val);
  553 + },
605 }, 554 },
606 - handleTestHitory(row) {  
607 - GetHistoryList({ UserId: row.id }).then((res) => {  
608 - this.gridData = res.data.data;  
609 - this.dialogTableVisible = true;  
610 - }); 555 +
  556 + created() {
  557 + this.GetUser();
  558 + this.forceTestPaper();
  559 + this.loadTree();
611 }, 560 },
612 - handleShareSend() {  
613 - var rows = this.$refs.userList.selection;  
614 - var ids =  
615 - rows.map((o) => {  
616 - return { UserId: o.id };  
617 - }) || [];  
618 - var postData = {  
619 - TestPaperId: this.form.TestPaperId,  
620 - NumberOfAnswers: this.form.NumberOfAnswers || 1,  
621 - Users: ids,  
622 - };  
623 - if (!ids || ids.length < 1) {  
624 - this.$message.warning("请至少选择一个用户进行发送!");  
625 - return;  
626 - }  
627 - if (!this.form.TestPaperId) {  
628 - this.$message.warning("请选择试卷后再发送!");  
629 - return;  
630 - }  
631 - this.$confirm(  
632 - "确认向选择的" + ids.length + "个用户发送试卷连接进行测试吗?",  
633 - "提示消息",  
634 - {  
635 - confirmButtonText: "确认",  
636 - cancelButtonText: "取消", 561 + methods: {
  562 + handleClose(tag, row) {
  563 +
  564 +
  565 + this.$confirm('确定删除该标签吗?', '消息', {
  566 + confirmButtonText: '确认',
  567 + cancelButtonText: '取消',
637 callback: (action) => { 568 callback: (action) => {
638 if (action == "confirm") { 569 if (action == "confirm") {
639 - AddInvitationAnswerMultiple(postData).then((res) => {  
640 - if (res.data.code == 200) {  
641 - this.$message.success("发送成功");  
642 - this.form = {};  
643 - this.dialogFormVisible = false;  
644 - this.GetUser();  
645 - } else {  
646 - this.$message.error("发送失败");  
647 - } 570 + var d = row.taglist.splice(row.taglist.indexOf(tag), 1);
  571 + ChangeTags({
  572 + ids: row.id,
  573 + tags: row.taglist.join(',')
648 }); 574 });
649 } 575 }
650 }, 576 },
651 - }  
652 - );  
653 - },  
654 - forceTestPaper() {  
655 - let parameter = {  
656 - pageIndex: 1,  
657 - pageSize: 10000,  
658 - sort: "id",  
659 - sortOrder: 1,  
660 - keyword: "",  
661 - };  
662 - getTestPaperList(parameter).then((res) => {  
663 - this.testpaperlist = res.data.data;  
664 - });  
665 - },  
666 - search() {  
667 - this.GetUser();  
668 - },  
669 - handleSuccess() {  
670 - this.$message.success("导入完成!");  
671 - this.GetUser();  
672 - },  
673 - handleInviteInterview() {  
674 - this.dialogFormVisible = true;  
675 - },  
676 - //邀请现场面试  
677 - handleInviteInterviewOnSite(item){ 577 + })
678 578
679 - },  
680 - handleSelectionChange(val) {  
681 - console.log(val);  
682 - this.selectedList = val;  
683 - },  
684 - handleExceed() {},  
685 - ImportUser() {},  
686 579
687 - showcontent(c, row) {  
688 - this.showbody = c;  
689 - this.dialogVisible_content = true;  
690 - },  
691 - submitcat() {  
692 - // this.$loading({lock:true,text:'保存中...'});  
693 - if (this.loading) {  
694 - return; 580 +
  581 + },
  582 + addtag(row) {
  583 + this.tagform = {
  584 + ids: row.id,
  585 + taglist: row.taglist,
  586 + name: ''
  587 + };
  588 + this.dialogFormVisibleTag = true;
  589 + },
  590 + handleTagConfirm(row) {
  591 + if (!this.tagform.name) {
  592 + this.$message.warning('请填写名字!');
  593 + return;
  594 + }
  595 + if (!this.tagform.ids) {
  596 + this.$message.warning('添加失败!');
  597 + return;
  598 + }
  599 + var temp = this.tagform.taglist || [];
  600 + temp.push(this.tagform.name);
  601 + ChangeTags({
  602 + ids: this.tagform.ids,
  603 + tags: temp.join(',')
  604 + }).then(res => {
  605 + if (res.data.code == 200) {
  606 + this.$message.success('操作成功!');
  607 + this.GetUser();
  608 + this.dialogFormVisibleTag = false;
  609 + this.$forceUpdate();
  610 + }
  611 + });
695 } 612 }
696 - this.loading = true;  
697 - var postData = this.temp;  
698 - if (this.dialogTypecat == "update") {  
699 - if (postData.AddTime == "0001-01-01T00:00:00")  
700 - postData.AddTime = new Date();  
701 - UserClassUpdate(postData).then((o) => {  
702 - this.$message({  
703 - message: "提交成功",  
704 - type: "success", 613 + ,
  614 + //点击进度
  615 + processEvent(row) {
  616 + // if(row.procesName == '公司面试')
  617 + // {
  618 + // this.
  619 + // }
  620 + },
  621 + SubmitSendUser() {
  622 + if (!this.sendUserList || this.sendUserList.length < 1) {
  623 + this.$message.success("没有邀请对象!");
  624 + return;
  625 + }
  626 + var senddata = [];
  627 + this.sendUserList.forEach(o => {
  628 + // var item = Object.assign({},o);
  629 + // item.startTime = item.date[0];
  630 + // item.endTime = item.date[0];
  631 + // delete item['date'];
  632 + // var start = null;
  633 + // var end = null;
  634 + // if(o.date){
  635 + // start = o.date[0];
  636 + // end = o.date[1];
  637 + // }
  638 +
  639 + senddata.push({
  640 + userId: o.id,
  641 + startTime: o.startTime,
  642 + // endTime: end,
  643 + remark: o.remark || '',
  644 + phone: o.phone,
  645 + msgBody: o.msgBody || ''
705 }); 646 });
706 - this.dialogVisiblecat = false;  
707 - setTimeout(() => {  
708 - this.loading = false;  
709 - }, 1000);  
710 }); 647 });
711 - } else {  
712 - UserClassCreate(postData).then((o) => {  
713 - this.$message({  
714 - message: "提交成功",  
715 - type: "success",  
716 - }); 648 + AddInvitationCompanyMultiple(senddata).then(res => {
  649 + if (res.data.code == 200) {
  650 + this.$message.success("邀请成功");
  651 + this.sendUserList = [];
  652 + this.dialogCompany = false;
  653 + this.GetUser();
  654 + } else {
  655 + this.$message.error("邀请失败");
  656 + }
  657 +
  658 + });
  659 + },
  660 + removeSendUser(item) {
  661 + var index = this.sendUserList.indexOf(item)
  662 + if (index !== -1) {
  663 + this.sendUserList.splice(index, 1)
  664 + }
  665 + },
717 666
718 - this.dialogVisiblecat = false;  
719 667
720 - this.loadTree();  
721 - setTimeout(() => {  
722 - this.loading = false;  
723 - }, 1000); 668 + handleDelete(item, index) {
  669 + this.userList.splice(index, 1);
  670 + UsersDelete({ ids: item.id });
  671 + },
  672 + handleWatchLive(item) {
  673 + console.log("handleWatchLive", item);
  674 + this.$router.push(`/live?id=${item.StreamName}`);
  675 + },
  676 + handleAnswerDetail(item) {
  677 + window.open(`/#/answerDetail?id=${item.id}`, "_blank");
  678 + },
  679 + submitForm() {
  680 + let formData = { ...this.adminUserInfo };
  681 + console.log('submitForm', JSON.stringify(formData));
  682 + if (formData.id) {
  683 + UsersUpdate(formData).then((res) => {
  684 + this.GetUser();
  685 + console.log(res);
  686 + });
  687 + }
  688 + this.dialogClassIVIsible = false;
  689 + },
  690 + handleEdit(data) {
  691 + this.dialogClassIVIsible = true;
  692 + this.adminUserInfo = data;
  693 + },
  694 + handleTestHitory(row) {
  695 + GetHistoryList({ UserId: row.id }).then((res) => {
  696 + this.gridData = res.data.data;
  697 + this.dialogTableVisible = true;
724 }); 698 });
725 - }  
726 - },  
727 - editclose(data) {  
728 - // this.dialogVisible_step = false;  
729 - this.fetchData();  
730 - },  
731 - loadTree() {  
732 - GetUserClassList({ ParentId: 0 }).then((res) => {  
733 - this.data = res.data.data;  
734 - });  
735 - },  
736 - filterNode(value, data) {  
737 - if (!value) return true;  
738 - return data.ClassTitle.indexOf(value) !== -1;  
739 - },  
740 - addcat() {  
741 - this.temp = { AddTime: new Date() };  
742 - this.dialogVisiblecat = true;  
743 - },  
744 - editcat() {  
745 - this.dialogTypecat = "update";  
746 - if (!this.temp.id) {  
747 - this.$message({  
748 - message: "请选择一个分类进行操作!",  
749 - type: "warning", 699 + },
  700 + handleShareSend() {
  701 + var rows = this.$refs.userList.selection;
  702 + var ids =
  703 + rows.map((o) => {
  704 + return { UserId: o.id };
  705 + }) || [];
  706 + var postData = {
  707 + TestPaperId: this.form.TestPaperId,
  708 + NumberOfAnswers: this.form.NumberOfAnswers || 1,
  709 + Users: ids,
  710 + };
  711 + if (!ids || ids.length < 1) {
  712 + this.$message.warning("请至少选择一个用户进行发送!");
  713 + return;
  714 + }
  715 + if (!this.form.TestPaperId) {
  716 + this.$message.warning("请选择试卷后再发送!");
  717 + return;
  718 + }
  719 + this.$confirm(
  720 + "确认向选择的" + ids.length + "个用户发送试卷连接进行测试吗?",
  721 + "提示消息",
  722 + {
  723 + confirmButtonText: "确认",
  724 + cancelButtonText: "取消",
  725 + callback: (action) => {
  726 + if (action == "confirm") {
  727 + AddInvitationAnswerMultiple(postData).then((res) => {
  728 + if (res.data.code == 200) {
  729 + this.$message.success("发送成功");
  730 + this.form = {};
  731 + this.dialogFormVisible = false;
  732 + this.GetUser();
  733 + } else {
  734 + this.$message.error("发送失败");
  735 + }
  736 + });
  737 + }
  738 + },
  739 + }
  740 + );
  741 + },
  742 + forceTestPaper() {
  743 + let parameter = {
  744 + pageIndex: 1,
  745 + pageSize: 10000,
  746 + sort: "id",
  747 + sortOrder: 1,
  748 + keyword: "",
  749 + };
  750 + getTestPaperList(parameter).then((res) => {
  751 + this.testpaperlist = res.data.data;
750 }); 752 });
751 - return;  
752 - }  
753 - this.dialogVisiblecat = true;  
754 - },  
755 - delcat() {  
756 - if (!this.temp.id) {  
757 - this.$message({  
758 - message: "请选择一个分类进行操作!",  
759 - type: "warning", 753 + },
  754 + search() {
  755 + this.GetUser();
  756 + },
  757 + handleSuccess() {
  758 + this.$message.success("导入完成!");
  759 + this.GetUser();
  760 + },
  761 + handleInviteInterview() {
  762 + var rows = this.$refs.userList.selection;
  763 +
  764 + if (!rows || rows.length < 1) {
  765 + this.$message.warning("请至少选择一个用户进行发送!");
  766 + return;
  767 + }
  768 +
  769 + this.dialogFormVisible = true;
  770 + },
  771 + //邀请现场面试
  772 + handleCompanyInterview(user) {
  773 + var rows = this.$refs.userList.selection;
  774 + if (user) {
  775 + this.sendUserList = [user];
  776 + this.dialogCompany = true;
  777 + } else if (rows && rows.length > 0) {
  778 + this.sendUserList = rows;
  779 + this.dialogCompany = true;
  780 + }
  781 + else
  782 + this.$message.warning('至少选择一个用户进行操作!');
  783 + },
  784 +
  785 + handleSelectionChange(val) {
  786 + console.log(val);
  787 + this.selectedList = val;
  788 + },
  789 + handleExceed() { },
  790 + ImportUser() { },
  791 +
  792 + showcontent(c, row) {
  793 + this.showbody = c;
  794 + this.dialogVisible_content = true;
  795 + },
  796 + submitcat() {
  797 + // this.$loading({lock:true,text:'保存中...'});
  798 + if (this.loading) {
  799 + return;
  800 + }
  801 + this.loading = true;
  802 + var postData = this.temp;
  803 + if (this.dialogTypecat == "update") {
  804 + if (postData.AddTime == "0001-01-01T00:00:00")
  805 + postData.AddTime = new Date();
  806 + UserClassUpdate(postData).then((o) => {
  807 + this.$message({
  808 + message: "提交成功",
  809 + type: "success",
  810 + });
  811 + this.dialogVisiblecat = false;
  812 + setTimeout(() => {
  813 + this.loading = false;
  814 + }, 1000);
  815 + });
  816 + } else {
  817 + UserClassCreate(postData).then((o) => {
  818 + this.$message({
  819 + message: "提交成功",
  820 + type: "success",
  821 + });
  822 +
  823 + this.dialogVisiblecat = false;
  824 +
  825 + this.loadTree();
  826 + setTimeout(() => {
  827 + this.loading = false;
  828 + }, 1000);
  829 + });
  830 + }
  831 + },
  832 + editclose(data) {
  833 + // this.dialogVisible_step = false;
  834 + this.fetchData();
  835 + },
  836 + loadTree() {
  837 + GetUserClassList({ ParentId: 0 }).then((res) => {
  838 + this.data = res.data.data;
760 }); 839 });
761 - return;  
762 - }  
763 - this.$confirm("确认删除该分类吗?", "提示", {  
764 - confirmButtonText: "确定",  
765 - cancelButtonText: "取消",  
766 - type: "warning",  
767 - }).then(() => {  
768 - UserClassDelete({ ids: this.temp.id }).then((o) => {  
769 - this.loadTree(); 840 + },
  841 + filterNode(value, data) {
  842 + if (!value) return true;
  843 + return data.ClassTitle.indexOf(value) !== -1;
  844 + },
  845 + addcat() {
  846 + this.temp = { AddTime: new Date() };
  847 + this.dialogVisiblecat = true;
  848 + },
  849 + editcat() {
  850 + this.dialogTypecat = "update";
  851 + if (!this.temp.id) {
  852 + this.$message({
  853 + message: "请选择一个分类进行操作!",
  854 + type: "warning",
  855 + });
  856 + return;
  857 + }
  858 + this.dialogVisiblecat = true;
  859 + },
  860 + delcat() {
  861 + if (!this.temp.id) {
770 this.$message({ 862 this.$message({
771 - message: "删除成功",  
772 - type: "success", 863 + message: "请选择一个分类进行操作!",
  864 + type: "warning",
  865 + });
  866 + return;
  867 + }
  868 + this.$confirm("确认删除该分类吗?", "提示", {
  869 + confirmButtonText: "确定",
  870 + cancelButtonText: "取消",
  871 + type: "warning",
  872 + }).then(() => {
  873 + UserClassDelete({ ids: this.temp.id }).then((o) => {
  874 + this.loadTree();
  875 + this.$message({
  876 + message: "删除成功",
  877 + type: "success",
  878 + });
773 }); 879 });
774 }); 880 });
775 - });  
776 - },  
777 - handleNodeClick(data, checked, indeterminate) {  
778 - this.query.userClassId = data.id;  
779 - this.temp = data;  
780 - this.GetUser();  
781 - }, 881 + },
  882 + handleNodeClick(data, checked, indeterminate) {
  883 + this.query.userClassId = data.id;
  884 + this.temp = data;
  885 + this.GetUser();
  886 + },
782 887
783 - resetSearch() {  
784 - this.query = {  
785 - UserTypeEnum: 1, //0:管理员,1普通用户  
786 - PageIndex: 1,  
787 - PageSize: 10,  
788 - keyword: "",  
789 - };  
790 - this.GetUser();  
791 - },  
792 - GetUser() {  
793 - GetUserList(this.query).then((res) => {  
794 - this.userList = res.data.data.rows.map((t) => {  
795 - if (t.phone) {  
796 - t.phone1 = t.phone.replace(t.phone.substring(3, 7), "****");  
797 - }  
798 - return t; 888 + resetSearch() {
  889 + this.query = {
  890 + UserTypeEnum: 1, //0:管理员,1普通用户
  891 + PageIndex: 1,
  892 + PageSize: 10,
  893 + keyword: "",
  894 + };
  895 + this.GetUser();
  896 + },
  897 + GetUser() {
  898 + GetUserList(this.query).then((res) => {
  899 + this.userList = res.data.data.rows.map((t) => {
  900 + if (t.phone) {
  901 + t.phone1 = t.phone.replace(t.phone.substring(3, 7), "****");
  902 + }
  903 + return t;
  904 + });
  905 + this.Count = res.data.data.total;
799 }); 906 });
800 - this.Count = res.data.data.total;  
801 - });  
802 - },  
803 - currentchange(page) {  
804 - this.query.PageIndex = page;  
805 - this.GetUser(); 907 + },
  908 + currentchange(page) {
  909 + this.query.PageIndex = page;
  910 + this.GetUser();
  911 + },
806 }, 912 },
807 - },  
808 -}; 913 + };
809 </script> 914 </script>
810 915
811 <style lang="scss" scoped> 916 <style lang="scss" scoped>
812 -.seetingsDiv {  
813 - display: flex;  
814 - align-items: center;  
815 - width: 100%;  
816 - padding-top: 10px;  
817 - padding-left: 10px;  
818 - /* height: 60px; */  
819 - background: #efefef;  
820 - /* line-height: 60px; */  
821 - border-radius: 5px;  
822 - box-shadow: 0 0 5px #cdcdcd;  
823 - justify-content: space-between;  
824 -}  
825 -  
826 -.seetingsDiv button {  
827 - height: 40px;  
828 - background-color: #304156;  
829 - border: 0px;  
830 - margin-left: 10px;  
831 - box-shadow: 0 0 5px #cdcdcd;  
832 - float: none;  
833 - margin-right: 10px;  
834 -} 917 + .seetingsDiv {
  918 + display: flex;
  919 + align-items: center;
  920 + width: 100%;
  921 + padding-top: 10px;
  922 + padding-left: 10px;
  923 + /* height: 60px; */
  924 + background: #efefef;
  925 + /* line-height: 60px; */
  926 + border-radius: 5px;
  927 + box-shadow: 0 0 5px #cdcdcd;
  928 + justify-content: space-between;
  929 + }
  930 +
  931 + .seetingsDiv button {
  932 + height: 40px;
  933 + background-color: #304156;
  934 + border: 0px;
  935 + margin-left: 10px;
  936 + box-shadow: 0 0 5px #cdcdcd;
  937 + float: none;
  938 + margin-right: 10px;
  939 + }
  940 +
  941 + .el-tag+.el-tag {
  942 + margin-left: 10px;
  943 + }
  944 +
  945 + .button-new-tag {
  946 + margin-left: 10px;
  947 + height: 32px;
  948 + line-height: 30px;
  949 + padding-top: 0;
  950 + padding-bottom: 0;
  951 + }
  952 +
  953 + .input-new-tag {
  954 + width: 90px;
  955 + margin-left: 10px;
  956 + vertical-align: bottom;
  957 + }
835 </style> 958 </style>
836 \ No newline at end of file 959 \ No newline at end of file
vue.config.js
@@ -38,8 +38,8 @@ module.exports = { @@ -38,8 +38,8 @@ module.exports = {
38 }, 38 },
39 proxy: { 39 proxy: {
40 '/development': { 40 '/development': {
41 - target: `http://inteview.t1j2.com/`, //后台服务地址  
42 - // target:'http://localhost:8877', 41 + // target: `http://inteview.t1j2.com/`, //后台服务地址
  42 + target:'http://localhost:8877',
43 changeOrigin: true, 43 changeOrigin: true,
44 pathRewrite: { 44 pathRewrite: {
45 '^/development': '' 45 '^/development': ''