Commit 16973291 authored by 郝聪敏's avatar 郝聪敏

添加prettier

parent 680dfdeb
...@@ -9,13 +9,16 @@ module.exports = { ...@@ -9,13 +9,16 @@ module.exports = {
extends: [ extends: [
'plugin:vue/essential', 'plugin:vue/essential',
'standard', 'standard',
'prettier',
], ],
plugins: [ plugins: [
'vue', 'vue',
'prettier',
], ],
rules: { rules: {
'prettier/prettier': 'error',
// 防止iview的标签报错 // 防止iview的标签报错
"vue/no-parsing-error": [2, { "x-invalid-end-tag": false }], 'vue/no-parsing-error': [2, { 'x-invalid-end-tag': false }],
}, },
} }
...@@ -4166,6 +4166,23 @@ ...@@ -4166,6 +4166,23 @@
"eslint-restricted-globals": "^0.1.1" "eslint-restricted-globals": "^0.1.1"
} }
}, },
"eslint-config-prettier": {
"version": "6.7.0",
"resolved": "http://npmprivate.quantgroups.com/eslint-config-prettier/-/eslint-config-prettier-6.7.0.tgz",
"integrity": "sha512-FamQVKM3jjUVwhG4hEMnbtsq7xOIDm+SY5iBPfR8gKsJoAB2IQnNF+bk1+8Fy44Nq7PPJaLvkRxILYdJWoguKQ==",
"dev": true,
"requires": {
"get-stdin": "^6.0.0"
},
"dependencies": {
"get-stdin": {
"version": "6.0.0",
"resolved": "http://npmprivate.quantgroups.com/get-stdin/-/get-stdin-6.0.0.tgz",
"integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==",
"dev": true
}
}
},
"eslint-config-standard": { "eslint-config-standard": {
"version": "14.1.0", "version": "14.1.0",
"resolved": "http://npmprivate.quantgroups.com/eslint-config-standard/-/eslint-config-standard-14.1.0.tgz", "resolved": "http://npmprivate.quantgroups.com/eslint-config-standard/-/eslint-config-standard-14.1.0.tgz",
...@@ -4390,6 +4407,15 @@ ...@@ -4390,6 +4407,15 @@
} }
} }
}, },
"eslint-plugin-prettier": {
"version": "3.1.2",
"resolved": "http://npmprivate.quantgroups.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz",
"integrity": "sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA==",
"dev": true,
"requires": {
"prettier-linter-helpers": "^1.0.0"
}
},
"eslint-plugin-promise": { "eslint-plugin-promise": {
"version": "4.2.1", "version": "4.2.1",
"resolved": "http://npmprivate.quantgroups.com/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", "resolved": "http://npmprivate.quantgroups.com/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz",
...@@ -4847,6 +4873,12 @@ ...@@ -4847,6 +4873,12 @@
"resolved": "http://npmprivate.quantgroups.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", "resolved": "http://npmprivate.quantgroups.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
}, },
"fast-diff": {
"version": "1.2.0",
"resolved": "http://npmprivate.quantgroups.com/fast-diff/-/fast-diff-1.2.0.tgz",
"integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
"dev": true
},
"fast-json-stable-stringify": { "fast-json-stable-stringify": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "http://npmprivate.quantgroups.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "resolved": "http://npmprivate.quantgroups.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
...@@ -10641,6 +10673,15 @@ ...@@ -10641,6 +10673,15 @@
"integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==",
"dev": true "dev": true
}, },
"prettier-linter-helpers": {
"version": "1.0.0",
"resolved": "http://npmprivate.quantgroups.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
"integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
"dev": true,
"requires": {
"fast-diff": "^1.1.2"
}
},
"pretty-error": { "pretty-error": {
"version": "2.1.1", "version": "2.1.1",
"resolved": "http://npmprivate.quantgroups.com/pretty-error/-/pretty-error-2.1.1.tgz", "resolved": "http://npmprivate.quantgroups.com/pretty-error/-/pretty-error-2.1.1.tgz",
......
<template> <template>
<div id="app" :class="appClass"> <div id="app" :class="appClass">
<router-view/> <router-view />
</div> </div>
</template> </template>
<script> <script>
window.onload = function () { window.onload = function() {
document.addEventListener('touchstart', function (event) { document.addEventListener("touchstart", function(event) {
if (event.touches.length > 1) { if (event.touches.length > 1) {
event.preventDefault() event.preventDefault();
} }
}) });
document.addEventListener('gesturestart', function (event) { document.addEventListener("gesturestart", function(event) {
event.preventDefault() event.preventDefault();
}) });
} };
export default { export default {
name: 'App', name: "App",
data () { data() {
return { return {
appClass: 'pc' appClass: "pc"
} };
}, },
created: function () { created: function() {
if (document.documentElement.clientWidth <= 640) { if (document.documentElement.clientWidth <= 640) {
this.appClass = 'mobile' this.appClass = "mobile";
} }
} }
} };
</script> </script>
<style> <style>
#app{ #app {
position: absolute; position: absolute;
top: 0; top: 0;
bottom: 0; bottom: 0;
width: 100%; width: 100%;
cursor:auto; cursor: auto;
text-align: left; text-align: left;
font-family: 'PingFangSC-Regular', 'Avenir', Helvetica, Arial, sans-serif; font-family: "PingFangSC-Regular", "Avenir", Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
color: #2c3e50; color: #2c3e50;
...@@ -47,7 +47,6 @@ export default { ...@@ -47,7 +47,6 @@ export default {
-moz-user-select: text !important; /*火狐*/ -moz-user-select: text !important; /*火狐*/
-ms-user-select: text !important; /*IE10*/ -ms-user-select: text !important; /*IE10*/
user-select: text !important; user-select: text !important;
} }
.pc { .pc {
height: 100%; height: 100%;
...@@ -58,27 +57,24 @@ export default { ...@@ -58,27 +57,24 @@ export default {
min-width: unset; min-width: unset;
min-height: unset; min-height: unset;
} }
::-webkit-scrollbar ::-webkit-scrollbar {
{
width: 8px; width: 8px;
height: 8px; height: 8px;
background-color: #F5F5F5; background-color: #f5f5f5;
} }
/*定义滚动条轨道 内阴影+圆角*/ /*定义滚动条轨道 内阴影+圆角*/
::-webkit-scrollbar-track ::-webkit-scrollbar-track {
{ -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
border-radius: 10px; border-radius: 10px;
background-color: #Eff4f6; background-color: #eff4f6;
} }
/*定义滑块 内阴影+圆角*/ /*定义滑块 内阴影+圆角*/
::-webkit-scrollbar-thumb ::-webkit-scrollbar-thumb {
{
border-radius: 10px; border-radius: 10px;
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3); -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
background-color: #BDBDBD; background-color: #bdbdbd;
} }
/* .ivu-btn-primary{ /* .ivu-btn-primary{
background: #0092FF!important background: #0092FF!important
......
import axios from '../service/http.service' import axios from "../service/http.service";
import { import { sapi } from "../config";
sapi import qs from "qs";
} from '../config'
import qs from 'qs'
// 获取个人信息 // 获取个人信息
export function getpersonMassage (params) { export function getpersonMassage(params) {
// params=qs.stringify(params) // params=qs.stringify(params)
return axios.get(`${sapi}/api/login/me`, params, { return axios.get(`${sapi}/api/login/me`, params, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 用户退出 // 用户退出
export function loginOUT () { export function loginOUT() {
// params=qs.stringify(params) // params=qs.stringify(params)
return axios.get(`${sapi}/api/login/logout`, { return axios.get(`${sapi}/api/login/logout`, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 通过某一来源查询简历信息 // 通过某一来源查询简历信息
export function adoptOneSeeResumeList (parmars) { export function adoptOneSeeResumeList(parmars) {
return axios.post(`${sapi}/api/resume/findListBySource`, parmars, { return axios.post(`${sapi}/api/resume/findListBySource`, parmars, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 通过渠道机简历信息 // 通过渠道机简历信息
export function getChannelMassage () { export function getChannelMassage() {
return axios.get(`${sapi}/api/resume/getSourceList`, { return axios.get(`${sapi}/api/resume/getSourceList`, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 判断是否为超级管理员 // 判断是否为超级管理员
export function judeAdmin () { export function judeAdmin() {
return axios.get(`${sapi}/api/user/isAdmin`, { return axios.get(`${sapi}/api/user/isAdmin`, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
import axios from '../service/http.service' import axios from "../service/http.service";
import { import { sapi } from "../config";
sapi import qs from "qs";
} from '../config'
import qs from 'qs'
// 更改约面信息 // 更改约面信息
export function changeinterviewMassage (parmars) { export function changeinterviewMassage(parmars) {
return axios.post(`${sapi}/api/resumeInterview/update`, parmars, { return axios.post(`${sapi}/api/resumeInterview/update`, parmars, {
headers: { headers: {
'Content-Type': 'application/json;' "Content-Type": "application/json;"
} }
}) });
} }
// 重启面试 // 重启面试
export function oppenInterview (tid, tstatus) { export function oppenInterview(tid, tstatus) {
console.log(tid, tstatus) console.log(tid, tstatus);
return axios.post(`${sapi}/api/resumeFlow/reset/${tid}/${tstatus}`, { return axios.post(`${sapi}/api/resumeFlow/reset/${tid}/${tstatus}`, {
headers: { headers: {
'Content-Type': 'application/json;' "Content-Type": "application/json;"
} }
}) });
} }
// 终止面试 // 终止面试
export function SInterview (tid) { export function SInterview(tid) {
return axios.post(`${sapi}/api/resumeFlow/end/${tid}`, { return axios.post(`${sapi}/api/resumeFlow/end/${tid}`, {
headers: { headers: {
'Content-Type': 'application/json;' "Content-Type": "application/json;"
} }
}) });
} }
// 面试管理查询 // 面试管理查询
export function SerchList (parmars, status) { export function SerchList(parmars, status) {
return axios.post(`${sapi}/api/interview/findListByQueryVO`, parmars, { return axios.post(`${sapi}/api/interview/findListByQueryVO`, parmars, {
headers: { headers: {
'Content-Type': 'application/json;', "Content-Type": "application/json;",
'X-Requested-With': 'XMLHttpRequest', "X-Requested-With": "XMLHttpRequest",
status status
} }
}) });
} }
// 查看简历详情页 // 查看简历详情页
export function seedetail (parmars) { export function seedetail(parmars) {
return axios.get(`${sapi}/api/html/get/${parmars.uid}`, { return axios.get(`${sapi}/api/html/get/${parmars.uid}`, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 面试官查询 // 面试官查询
export function Serchinterviewor () { export function Serchinterviewor() {
return axios.get(`${sapi}/api/interview/findInterviewerList`) return axios.get(`${sapi}/api/interview/findInterviewerList`);
} }
// 邀约人查询 // 邀约人查询
export function SerchInvitationOwer () { export function SerchInvitationOwer() {
return axios.post(`${sapi}/api/interview/findInviterList`, { return axios.post(`${sapi}/api/interview/findInviterList`, {
headers: { headers: {
'Content-Type': 'application/json;' "Content-Type": "application/json;"
} }
}) });
} }
// 新增约面信息 // 新增约面信息
export function NewAddInterview (parmars) { export function NewAddInterview(parmars) {
return axios.post(`${sapi}/api/resumeInterview/add`, parmars, { return axios.post(`${sapi}/api/resumeInterview/add`, parmars, {
headers: { headers: {
'Content-Type': 'application/json;' "Content-Type": "application/json;"
} }
}) });
} }
// 查询记录 // 查询记录
export function recodeLIST (parmars) { export function recodeLIST(parmars) {
return axios.post(`${sapi}/api/resumeFlow/history/${parmars.resumeId}`, { return axios.post(`${sapi}/api/resumeFlow/history/${parmars.resumeId}`, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 变更状态 // 变更状态
export function changestatus (tid, tstatus) { export function changestatus(tid, tstatus) {
return axios.post(`${sapi}/api/resumeFlow/uploadStatus/${tid}/${tstatus}`, { return axios.post(`${sapi}/api/resumeFlow/uploadStatus/${tid}/${tstatus}`, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 获取终止面试前的前一个状态 // 获取终止面试前的前一个状态
export function formstatus (parmars) { export function formstatus(parmars) {
return axios.post(`${sapi}/api/resumeFlow/getPreReset/${parmars.resumeId}`, { return axios.post(`${sapi}/api/resumeFlow/getPreReset/${parmars.resumeId}`, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
import axios from '../service/http.service' import axios from "../service/http.service";
import { import { sapi } from "../config";
sapi import qs from "qs";
} from '../config'
import qs from 'qs'
// 登录 // 登录
export function login (params) { export function login(params) {
// params=qs.stringify(params) // params=qs.stringify(params)
return axios.post(`${sapi}/api/login/doLogin`, params, { return axios.post(`${sapi}/api/login/doLogin`, params, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 修改密码 // 修改密码
export function updatePsd (params) { export function updatePsd(params) {
// params=qs.stringify(params) // params=qs.stringify(params)
return axios.post(`${sapi}/api/login/modifyPassword`, params, { return axios.post(`${sapi}/api/login/modifyPassword`, params, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
import axios from '../service/http.service' import axios from "../service/http.service";
import { import { sapi } from "../config";
sapi import qs from "qs";
} from '../config'
import qs from 'qs'
// 查询简历列表 // 查询简历列表
export function serchList (parmars) { export function serchList(parmars) {
return axios.post(`${sapi}/api/resume/findList`, parmars, { return axios.post(`${sapi}/api/resume/findList`, parmars, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 下载简历(单条) // 下载简历(单条)
export function downloadone (parmars) { export function downloadone(parmars) {
parmars = qs.stringify(parmars) parmars = qs.stringify(parmars);
return axios.post(`${sapi}/api/resumeFile/download/formatted/one`, parmars, { return axios.post(`${sapi}/api/resumeFile/download/formatted/one`, parmars, {
headers: { headers: {
'Content-Type': 'application/x-www-form-urlencoded' "Content-Type": "application/x-www-form-urlencoded"
} }
}) });
} }
// 搜索 // 搜索
export function sousuoList (parmars, status) { export function sousuoList(parmars, status) {
return axios.post(`${sapi}/api/resume/findListByQueryVO`, parmars, { return axios.post(`${sapi}/api/resume/findListByQueryVO`, parmars, {
headers: { headers: {
'Content-Type': 'application/json', "Content-Type": "application/json",
status status
} }
}) });
} }
// 查看简历详情页 // 查看简历详情页
export function seedetail (parmars) { export function seedetail(parmars) {
return axios.get(`${sapi}/api/html/get/${parmars.uid}`, { return axios.get(`${sapi}/api/html/get/${parmars.uid}`, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 简历pass // 简历pass
export function PASS (parmars) { export function PASS(parmars) {
return axios.post(`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`, '', { return axios.post(
`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`,
"",
{
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
}
} }
}) );
} }
// 待处理 // 待处理
export function TODORes (parmars) { export function TODORes(parmars) {
return axios.post(`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`, '', { return axios.post(
`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`,
"",
{
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
}
} }
}) );
} }
// 备选 // 备选
export function OPTION (parmars) { export function OPTION(parmars) {
return axios.post(`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`, '', { return axios.post(
`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`,
"",
{
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
}
} }
}) );
} }
// 删除简历 // 删除简历
export function deleteREsume (deleteallArr) { export function deleteREsume(deleteallArr) {
return axios.post(`${sapi}/api/resume/delete`, JSON.stringify(deleteallArr), { return axios.post(`${sapi}/api/resume/delete`, JSON.stringify(deleteallArr), {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 单条下载简历 // 单条下载简历
export function downloadOne (parmars) { export function downloadOne(parmars) {
return axios.get(`${sapi}/api/resume/download/formatted/one?resumeId=${parmars.resumeId}`, { return axios.get(
`${sapi}/api/resume/download/formatted/one?resumeId=${parmars.resumeId}`,
{
headers: { headers: {
// 'Content-Type':'application/x-www-form-urlencoded' // 'Content-Type':'application/x-www-form-urlencoded'
} }
}) }
);
} }
// 批量下载简历 // 批量下载简历
export function downloadALL () { export function downloadALL() {
return axios.get(`${sapi}/api/resumeFile/download/formatted/compress`, { return axios.get(`${sapi}/api/resumeFile/download/formatted/compress`, {
headers: { headers: {
'Content-Type': 'application/x-www-form-urlencoded' "Content-Type": "application/x-www-form-urlencoded"
} }
}) });
} }
// 导出列表 // 导出列表
export function exportLIST (parmars) { export function exportLIST(parmars) {
return axios.get(`${sapi}/api/excel/output?optSource=${parmars.optSource}&keywordString=${parmars.keywordString}&company=${parmars.company}&ownerSex=${parmars.ownerSex}&highestDegreeNum=${parmars.highestDegreeNum}&flowStatusList=${parmars.flowStatusList}&ownerWorkYears1=${parmars.ownerWorkYears1}&ownerWorkYears2=${parmars.ownerWorkYears2}`, return axios.get(
`${sapi}/api/excel/output?optSource=${parmars.optSource}&keywordString=${parmars.keywordString}&company=${parmars.company}&ownerSex=${parmars.ownerSex}&highestDegreeNum=${parmars.highestDegreeNum}&flowStatusList=${parmars.flowStatusList}&ownerWorkYears1=${parmars.ownerWorkYears1}&ownerWorkYears2=${parmars.ownerWorkYears2}`,
{ {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
}
} }
}) );
} }
// 操作记录 // 操作记录
export function recodeLIST (parmars) { export function recodeLIST(parmars) {
return axios.post(`${sapi}/api/resumeFlow/history/${parmars.resumeId}`, { return axios.post(`${sapi}/api/resumeFlow/history/${parmars.resumeId}`, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 通过某一来源查询简历信息 // 通过某一来源查询简历信息
export function adoptOneSeeResumeList (parmars) { export function adoptOneSeeResumeList(parmars) {
return axios.post(`${sapi}/api/resume/findListBySource`, parmars, { return axios.post(`${sapi}/api/resume/findListBySource`, parmars, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 新增约面信息 // 新增约面信息
export function addinterview (parmars) { export function addinterview(parmars) {
return axios.post(`${sapi}/api/resumeInterview/add`, parmars, { return axios.post(`${sapi}/api/resumeInterview/add`, parmars, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 修改流程状态 // 修改流程状态
export function updatastatus (parmars) { export function updatastatus(parmars) {
return axios.post(`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`, { return axios.post(
`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`,
{
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) }
);
} }
// 获取邮件模板 // 获取邮件模板
export function getEmailMoo () { export function getEmailMoo() {
return axios.post(`${sapi}/api/emailTemplate/getAllTemplateList`, { return axios.post(`${sapi}/api/emailTemplate/getAllTemplateList`, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 根据获取id邮件模板内容 // 根据获取id邮件模板内容
export function getEmailContent (parmars) { export function getEmailContent(parmars) {
return axios.post(`${sapi}/api/emailTemplate/loadTemplate`, parmars, { return axios.post(`${sapi}/api/emailTemplate/loadTemplate`, parmars, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 上传图片 // 上传图片
export function uploadimage () { export function uploadimage() {
return axios.get(`${sapi}/api/ckeditor/uploadImage`, { return axios.get(`${sapi}/api/ckeditor/uploadImage`, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 发送邮件 // 发送邮件
export function sendEmail (parmars) { export function sendEmail(parmars) {
return axios.post(`${sapi}/api/sendMail/sendEmailTemplate`, parmars, { return axios.post(`${sapi}/api/sendMail/sendEmailTemplate`, parmars, {
headers: { headers: {
'Content-Type': 'multipart/form-data' "Content-Type": "multipart/form-data"
// 'Content-Disposition':'multipart/form-data' // 'Content-Disposition':'multipart/form-data'
// 'Content-Type':'application/json' // 'Content-Type':'application/json'
} }
}) });
} }
export function findCompanyEmailByKey (key) { // 公司通讯录 export function findCompanyEmailByKey(key) {
return axios.get(`${sapi}/api/companyEmail/findCompanyEmailByKey?key=${key}`) // 公司通讯录
return axios.get(`${sapi}/api/companyEmail/findCompanyEmailByKey?key=${key}`);
} }
// 转发邮箱通知 // 转发邮箱通知
export function forwardResume (params) { export function forwardResume(params) {
return axios.post(`${sapi}/api/resume/forwardResume`, params, { return axios.post(`${sapi}/api/resume/forwardResume`, params, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
export function getPdf (parmars) { export function getPdf(parmars) {
return axios.get(`${sapi}/api/resume/getResumePdfByResumeId/${parmars.uid}`, { return axios.get(`${sapi}/api/resume/getResumePdfByResumeId/${parmars.uid}`, {
responseType: 'arraybuffer', responseType: "arraybuffer",
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 是否展示原件的PDF // 是否展示原件的PDF
export function isShowPDF (parmars) { export function isShowPDF(parmars) {
return axios.get(`${sapi}/api/resume/isShowOriPdf/${parmars.uid}`, { return axios.get(`${sapi}/api/resume/isShowOriPdf/${parmars.uid}`, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
export function getpdfUrl (parmars) { export function getpdfUrl(parmars) {
return axios.get(`${sapi}/api/resume/getResumePdfUrl/${parmars.uid}`, { return axios.get(`${sapi}/api/resume/getResumePdfUrl/${parmars.uid}`, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 获取职位列表 // 获取职位列表
export function getlist (parmars) { export function getlist(parmars) {
return axios.get(`${sapi}/api/resume/findPositionList?optSourceCode=${parmars.optSourceCode}`, { return axios.get(
`${sapi}/api/resume/findPositionList?optSourceCode=${parmars.optSourceCode}`,
{
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
}
} }
}) );
} }
import axios from '../service/http.service' import axios from "../service/http.service";
import { import { sapi } from "../config";
sapi import qs from "qs";
} from '../config'
import qs from 'qs'
// 账号列表查询 // 账号列表查询
export function queryaccountList (params) { export function queryaccountList(params) {
return axios.post(`${sapi}/api/user/findList`, params, { return axios.post(`${sapi}/api/user/findList`, params, {
headers: { headers: {
'Content-Type': 'application/json;' "Content-Type": "application/json;"
} }
}) });
} }
// 添加账户 // 添加账户
export function addAccount (params) { export function addAccount(params) {
return axios.post(`${sapi}/api/user/add`, params, { return axios.post(`${sapi}/api/user/add`, params, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 删除单条账户 // 删除单条账户
export function Delateaccount (parmars) { export function Delateaccount(parmars) {
return axios.get(`${sapi}/api/user/delete/${parmars.id}`, { return axios.get(`${sapi}/api/user/delete/${parmars.id}`, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 批量删除 // 批量删除
export function delateAllAccount (DelateARR) { export function delateAllAccount(DelateARR) {
return axios.post(`${sapi}//api/user/delete`, JSON.stringify(DelateARR), { return axios.post(`${sapi}//api/user/delete`, JSON.stringify(DelateARR), {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 恢复初始密码 // 恢复初始密码
export function recoveryPassword (parmars) { export function recoveryPassword(parmars) {
return axios.post(`${sapi}/api/user/initial/${parmars.id}`, { return axios.post(`${sapi}/api/user/initial/${parmars.id}`, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 查询邮箱列表 // 查询邮箱列表
export function queryemailList (parmars) { export function queryemailList(parmars) {
return axios.post(`${sapi}/api/email/list`, parmars, { return axios.post(`${sapi}/api/email/list`, parmars, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 同步邮箱 // 同步邮箱
export function Synchronization (parmars) { export function Synchronization(parmars) {
return axios.post(`${sapi}/api/email/bindAndSync`, parmars, { return axios.post(`${sapi}/api/email/bindAndSync`, parmars, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 解绑邮箱 // 解绑邮箱
export function jiebangEmail (id) { export function jiebangEmail(id) {
return axios.post(`${sapi}/api/email/unbind/${id}`, { return axios.post(`${sapi}/api/email/unbind/${id}`, {
headers: { headers: {
'Content-Type': 'application/x-www-form-urlencoded' "Content-Type": "application/x-www-form-urlencoded"
} }
}) });
} }
// 修改邮箱并重新绑定 // 修改邮箱并重新绑定
export function updateemailTWO (parmars) { export function updateemailTWO(parmars) {
return axios.post(`${sapi}/api/email/modify`, parmars, { return axios.post(`${sapi}/api/email/modify`, parmars, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 批量解绑邮箱 // 批量解绑邮箱
export function UntyingAll (UntyingAllARR) { export function UntyingAll(UntyingAllARR) {
return axios.post(`${sapi}/api/email/unbind/batch`, JSON.stringify(UntyingAllARR), { return axios.post(
`${sapi}/api/email/unbind/batch`,
JSON.stringify(UntyingAllARR),
{
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) }
);
} }
// 获取二维码 // 获取二维码
export function getErcode () { export function getErcode() {
return axios.get(`${sapi}/api/qrCode/getInterviewQrcode`, { return axios.get(`${sapi}/api/qrCode/getInterviewQrcode`, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// //修改账户 // //修改账户
export function updateAccount (parmars) { export function updateAccount(parmars) {
return axios.post(`${sapi}/api/user/modify/${parmars.id}`, parmars, { return axios.post(`${sapi}/api/user/modify/${parmars.id}`, parmars, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
import axios from '../service/http.service' import axios from "../service/http.service";
import { import { sapi } from "../config";
sapi import qs from "qs";
} from '../config'
import qs from 'qs'
// 提交应聘登记表 // 提交应聘登记表
export function submitMassage (params) { export function submitMassage(params) {
// params=qs.stringify(params) // params=qs.stringify(params)
return axios.post(`${sapi}/api/interview/arrive`, params, { return axios.post(`${sapi}/api/interview/arrive`, params, {
headers: { 'Content-Type': 'application/json' } headers: { "Content-Type": "application/json" }
}) });
} }
import axios from '../service/http.service' import axios from "../service/http.service";
import { import { sapi } from "../config";
sapi import qs from "qs";
} from '../config'
import qs from 'qs'
// 获取上传批次号 // 获取上传批次号
export function getuploadNumber () { export function getuploadNumber() {
// params=qs.stringify(params) // params=qs.stringify(params)
return axios.get(`${sapi}/api/resume/upload/batchNum`, { return axios.get(`${sapi}/api/resume/upload/batchNum`, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 上传文件 // 上传文件
export function uploadfile (parmars) { export function uploadfile(parmars) {
return axios.post(`${sapi}/api/resume/upload`, parmars, { return axios.post(`${sapi}/api/resume/upload`, parmars, {
headers: { headers: {
// 'Content-Type':'multipart/form-data', // 'Content-Type':'multipart/form-data',
...@@ -21,29 +19,29 @@ export function uploadfile (parmars) { ...@@ -21,29 +19,29 @@ export function uploadfile (parmars) {
contentType: false, contentType: false,
async: false async: false
} }
}) });
} }
// 查询上传列表记录 // 查询上传列表记录
export function serchList (parmars) { export function serchList(parmars) {
return axios.post(`${sapi}/api/resume/upload/history`, parmars, { return axios.post(`${sapi}/api/resume/upload/history`, parmars, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 查询简历详情 // 查询简历详情
export function serchRESUMEdetail (parmars) { export function serchRESUMEdetail(parmars) {
return axios.get(`${sapi}/api/html/get/${parmars.uid}`, { return axios.get(`${sapi}/api/html/get/${parmars.uid}`, {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
// 查询简历详情 // 查询简历详情
export function deleteREsumeUPLOad (deleteallArr) { export function deleteREsumeUPLOad(deleteallArr) {
return axios.post(`${sapi}/api/resume/delete`, JSON.stringify(deleteallArr), { return axios.post(`${sapi}/api/resume/delete`, JSON.stringify(deleteallArr), {
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json"
} }
}) });
} }
...@@ -71,6 +71,4 @@ export default { ...@@ -71,6 +71,4 @@ export default {
} }
</script> </script>
<style lang="less" rel="stylesheet/less" scoped> <style lang="less" rel="stylesheet/less" scoped></style>
</style>
<template> <template>
<div> <div>
<!-- bidirectional data binding(双向数据绑定) --> <!-- bidirectional data binding(双向数据绑定) -->
<Modal v-model='modal' :fullscreen='fullscreen'> <Modal v-model="modal" :fullscreen="fullscreen">
<Input v-model='value'></Input> <Input v-model="value"></Input>
<editor @getValue='getInfo' :uploadUrl='uploadUrl' :value='value' height='400px'></editor> <editor
<div slot='footer'> @getValue="getInfo"
<Button @click='getInfo'>获取内容</Button> :uploadUrl="uploadUrl"
:value="value"
height="400px"
></editor>
<div slot="footer">
<Button @click="getInfo">获取内容</Button>
</div> </div>
</Modal> </Modal>
<Form ref="formInline" :model="formInline" :rules="ruleInline" inline> <Form ref="formInline" :model="formInline" :rules="ruleInline" inline>
...@@ -16,56 +20,73 @@ ...@@ -16,56 +20,73 @@
</Input> </Input>
</FormItem> </FormItem>
<FormItem prop="password"> <FormItem prop="password">
<Input type="password" v-model="formInline.password" placeholder="Password"> <Input
type="password"
v-model="formInline.password"
placeholder="Password"
>
<Icon type="ios-lock-outline" slot="prepend"></Icon> <Icon type="ios-lock-outline" slot="prepend"></Icon>
</Input> </Input>
</FormItem> </FormItem>
<FormItem> <FormItem>
<Button type="primary" @click="handleSubmit('formInline')">Signin</Button> <Button type="primary" @click="handleSubmit('formInline')"
>Signin</Button
>
</FormItem> </FormItem>
</Form> </Form>
</div> </div>
</template> </template>
<script> <script>
import editor from './ckeditor.vue' import editor from "./ckeditor.vue";
import { sapi } from '../config/index.js' import { sapi } from "../config/index.js";
import localStorage from '../service/localstorage.service.js' import localStorage from "../service/localstorage.service.js";
export default { export default {
data () { data() {
return { return {
modal: true, modal: true,
fullscreen: true, fullscreen: true,
content: '<h2>I am Example</h2>', content: "<h2>I am Example</h2>",
content1: '<h2>I am Example</h2>', content1: "<h2>I am Example</h2>",
uploadUrl: `${sapi}/api/ckeditor/uploadImage?token=${localStorage.get('token')}&&backUrl=/getimage`, uploadUrl: `${sapi}/api/ckeditor/uploadImage?token=${localStorage.get(
value: '22', "token"
)}&&backUrl=/getimage`,
value: "22",
editorOption: { editorOption: {
// some quill options // some quill options
}, },
formInline: { formInline: {
user: '', user: "",
password: '' password: ""
}, },
ruleInline: { ruleInline: {
user: [ user: [
{ {
required: false, required: false,
message: 'Please fill in the user name', message: "Please fill in the user name",
trigger: 'blur', trigger: "blur",
pattern: /^1[3456789]\d{9}$/, pattern: /^1[3456789]\d{9}$/,
validator: function (rule, value, call) { validator: function(rule, value, call) {
console.log(rule, value) console.log(rule, value);
return call(new Error()) return call(new Error());
} }
} }
], ],
password: [ password: [
{ required: true, message: 'Please fill in the password.', trigger: 'blur' }, {
{ type: 'string', min: 6, message: 'The password length cannot be less than 6 bits', trigger: 'blur' } required: true,
] message: "Please fill in the password.",
trigger: "blur"
},
{
type: "string",
min: 6,
message: "The password length cannot be less than 6 bits",
trigger: "blur"
} }
]
} }
};
}, },
watch: {}, watch: {},
components: { components: {
...@@ -74,10 +95,10 @@ export default { ...@@ -74,10 +95,10 @@ export default {
// manually control the data synchronization // manually control the data synchronization
// 如果需要手动控制数据同步,父组件需要显式地处理changed事件 // 如果需要手动控制数据同步,父组件需要显式地处理changed事件
methods: { methods: {
getInfo (value) { getInfo(value) {
console.log(value) console.log(value);
}, },
handleSubmit (name) { handleSubmit(name) {
// this.$refs[name].validate((valid) => { // this.$refs[name].validate((valid) => {
// if (valid) { // if (valid) {
// this.$Message.success('Success!'); // this.$Message.success('Success!');
...@@ -85,15 +106,12 @@ export default { ...@@ -85,15 +106,12 @@ export default {
// this.$Message.error('Fail!'); // this.$Message.error('Fail!');
// } // }
// }) // })
this.$refs[name].validateField('user', (error) => { this.$refs[name].validateField("user", error => {
console.log('------', error) console.log("------", error);
}) });
} }
}, },
computed: { computed: {},
}, mounted() {}
mounted () { };
}
}
</script> </script>
...@@ -2,24 +2,30 @@ ...@@ -2,24 +2,30 @@
<div></div> <div></div>
</template> </template>
<script> <script>
function GetQueryString(name) {
function GetQueryString (name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i') var r = window.location.search.substr(1).match(reg); // 获取url中"?"符后的字符串并正则匹配
var r = window.location.search.substr(1).match(reg) // 获取url中"?"符后的字符串并正则匹配 var context = "";
var context = '' if (r != null) {
if (r != null) { context = r[2] } context = r[2];
reg = null }
r = null reg = null;
return context == null || context == '' || context == 'undefined' ? '' : decodeURIComponent(context) r = null;
return context == null || context == "" || context == "undefined"
? ""
: decodeURIComponent(context);
} }
export default { export default {
data () { data() {
return {} return {};
}, },
mounted () { mounted() {
console.log(777) console.log(777);
window.parent.CKEDITOR.tools.callFunction(GetQueryString('CKEditorFuncNum'), GetQueryString('ImageUrl'), GetQueryString('Message')) window.parent.CKEDITOR.tools.callFunction(
GetQueryString("CKEditorFuncNum"),
GetQueryString("ImageUrl"),
GetQueryString("Message")
);
} }
} };
</script> </script>
This diff is collapsed.
<template> <template>
<div class='loadingmark'> <div class="loadingmark">
<div class="loading-audio"> <div class="loading-audio">
<svg :width="width+'px'" :height="height+'px'" xmlns="http://www.w3.org/2000/svg" :viewBox="viewBox" preserveAspectRatio="xMidYMid"> <svg
:width="width + 'px'"
:height="height + 'px'"
xmlns="http://www.w3.org/2000/svg"
:viewBox="viewBox"
preserveAspectRatio="xMidYMid"
>
<g transform="translate(20 50)"> <g transform="translate(20 50)">
<circle cx="0" cy="0" r="7" fill="#11a181" transform="scale(0.99275 0.99275)" class='circle'/> <circle
cx="0"
cy="0"
r="7"
fill="#11a181"
transform="scale(0.99275 0.99275)"
class="circle"
/>
</g> </g>
<g transform="translate(40 50)"> <g transform="translate(40 50)">
<circle cx="0" cy="0" r="7" fill="#11a181" transform="scale(0.773605 0.773605)" class='circle1'/> <circle
cx="0"
cy="0"
r="7"
fill="#11a181"
transform="scale(0.773605 0.773605)"
class="circle1"
/>
</g> </g>
<g transform="translate(60 50)"> <g transform="translate(60 50)">
<circle cx="0" cy="0" r="7" fill="#11a181" transform="scale(0.42525 0.42525)" class='circle2'/> <circle
cx="0"
cy="0"
r="7"
fill="#11a181"
transform="scale(0.42525 0.42525)"
class="circle2"
/>
</g> </g>
<g transform="translate(80 50)"> <g transform="translate(80 50)">
<circle cx="0" cy="0" r="7" fill="#11a181" transform="scale(0.113418 0.113418)" class='circle3'/> <circle
cx="0"
cy="0"
r="7"
fill="#11a181"
transform="scale(0.113418 0.113418)"
class="circle3"
/>
</g> </g>
</svg> </svg>
</div> </div>
...@@ -21,7 +55,7 @@ ...@@ -21,7 +55,7 @@
</template> </template>
<script> <script>
export default { export default {
name: 'loading', name: "loading",
props: { props: {
width: { width: {
type: Number, type: Number,
...@@ -32,70 +66,94 @@ export default { ...@@ -32,70 +66,94 @@ export default {
default: 80 default: 80
} }
}, },
created () { created() {
this.viewBox = '0 0' + ' ' + (this.width + 10) + ' ' + this.height this.viewBox = "0 0" + " " + (this.width + 10) + " " + this.height;
}, },
data () { data() {
return { return {
viewBox: '' viewBox: ""
};
} }
} };
}
</script> </script>
<style lang='less' scoped> <style lang="less" scoped>
.loadingmark{ .loadingmark {
position:absolute; position: absolute;
top:0px; top: 0px;
left:0px; left: 0px;
width:100%; width: 100%;
height:100%; height: 100%;
background-color: rgba(255,255,255,0.6); background-color: rgba(255, 255, 255, 0.6);
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
flex-direction: column; flex-direction: column;
z-index: 1600; z-index: 1600;
} }
.loading-audio { .loading-audio {
width: 100px; width: 100px;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: cover; background-size: cover;
// background-image: url('data:image/svg+xml,<svg width="135" height="140" viewBox="0 0 135 140" xmlns="http://www.w3.org/2000/svg" fill="#2d8cf0"><rect y="10" width="15" height="120" rx="6"><animate attributeName="height" begin="0.5s" dur="1s" values="120;110;100;90;80;70;60;50;40;140;120" calcMode="linear" repeatCount="indefinite" /><animate attributeName="y" begin="0.5s" dur="1s" values="10;15;20;25;30;35;40;45;50;0;10" calcMode="linear" repeatCount="indefinite" /></rect><rect x="30" y="10" width="15" height="120" rx="6"><animate attributeName="height" begin="0.25s" dur="1s" values="120;110;100;90;80;70;60;50;40;140;120" calcMode="linear" repeatCount="indefinite" /><animate attributeName="y" begin="0.25s" dur="1s" values="10;15;20;25;30;35;40;45;50;0;10" calcMode="linear" repeatCount="indefinite" /></rect><rect x="60" width="15" height="140" rx="6"><animate attributeName="height" begin="0s" dur="1s" values="120;110;100;90;80;70;60;50;40;140;120" calcMode="linear" repeatCount="indefinite" /><animate attributeName="y" begin="0s" dur="1s" values="10;15;20;25;30;35;40;45;50;0;10" calcMode="linear" repeatCount="indefinite" /></rect><rect x="90" y="10" width="15" height="120" rx="6"><animate attributeName="height" begin="0.25s" dur="1s" values="120;110;100;90;80;70;60;50;40;140;120" calcMode="linear" repeatCount="indefinite" /><animate attributeName="y" begin="0.25s" dur="1s" values="10;15;20;25;30;35;40;45;50;0;10" calcMode="linear" repeatCount="indefinite" /></rect><rect x="120" y="10" width="15" height="120" rx="6"><animate attributeName="height" begin="0.5s" dur="1s" values="120;110;100;90;80;70;60;50;40;140;120" calcMode="linear" repeatCount="indefinite" /><animate attributeName="y" begin="0.5s" dur="1s" values="10;15;20;25;30;35;40;45;50;0;10" calcMode="linear" repeatCount="indefinite" /></rect></svg>'); // background-image: url('data:image/svg+xml,<svg width="135" height="140" viewBox="0 0 135 140" xmlns="http://www.w3.org/2000/svg" fill="#2d8cf0"><rect y="10" width="15" height="120" rx="6"><animate attributeName="height" begin="0.5s" dur="1s" values="120;110;100;90;80;70;60;50;40;140;120" calcMode="linear" repeatCount="indefinite" /><animate attributeName="y" begin="0.5s" dur="1s" values="10;15;20;25;30;35;40;45;50;0;10" calcMode="linear" repeatCount="indefinite" /></rect><rect x="30" y="10" width="15" height="120" rx="6"><animate attributeName="height" begin="0.25s" dur="1s" values="120;110;100;90;80;70;60;50;40;140;120" calcMode="linear" repeatCount="indefinite" /><animate attributeName="y" begin="0.25s" dur="1s" values="10;15;20;25;30;35;40;45;50;0;10" calcMode="linear" repeatCount="indefinite" /></rect><rect x="60" width="15" height="140" rx="6"><animate attributeName="height" begin="0s" dur="1s" values="120;110;100;90;80;70;60;50;40;140;120" calcMode="linear" repeatCount="indefinite" /><animate attributeName="y" begin="0s" dur="1s" values="10;15;20;25;30;35;40;45;50;0;10" calcMode="linear" repeatCount="indefinite" /></rect><rect x="90" y="10" width="15" height="120" rx="6"><animate attributeName="height" begin="0.25s" dur="1s" values="120;110;100;90;80;70;60;50;40;140;120" calcMode="linear" repeatCount="indefinite" /><animate attributeName="y" begin="0.25s" dur="1s" values="10;15;20;25;30;35;40;45;50;0;10" calcMode="linear" repeatCount="indefinite" /></rect><rect x="120" y="10" width="15" height="120" rx="6"><animate attributeName="height" begin="0.5s" dur="1s" values="120;110;100;90;80;70;60;50;40;140;120" calcMode="linear" repeatCount="indefinite" /><animate attributeName="y" begin="0.5s" dur="1s" values="10;15;20;25;30;35;40;45;50;0;10" calcMode="linear" repeatCount="indefinite" /></rect></svg>');
} }
.circle{ .circle {
animation: ani-demo-spin 1s linear infinite; animation: ani-demo-spin 1s linear infinite;
animation-delay:-0.375s; animation-delay: -0.375s;
}
@keyframes ani-demo-spin {
from {
transform: scale(0);
} }
@keyframes ani-demo-spin { 50% {
from { transform: scale(0);} transform: scale(1);
50% { transform: scale(1)}
to { transform: scale(0)}
} }
.circle1{ to {
transform: scale(0);
}
}
.circle1 {
animation: ani-demo-spin1 1s linear infinite; animation: ani-demo-spin1 1s linear infinite;
animation-delay:-0.25s; animation-delay: -0.25s;
}
@keyframes ani-demo-spin1 {
from {
transform: scale(0);
}
50% {
transform: scale(1);
} }
@keyframes ani-demo-spin1 { to {
from { transform: scale(0);} transform: scale(0);
50% { transform: scale(1)}
to { transform: scale(0)}
} }
.circle2{ }
.circle2 {
animation: ani-demo-spin2 1s linear infinite; animation: ani-demo-spin2 1s linear infinite;
animation-delay:-0.125s; animation-delay: -0.125s;
}
@keyframes ani-demo-spin2 {
from {
transform: scale(0);
}
50% {
transform: scale(1);
} }
@keyframes ani-demo-spin2 { to {
from { transform: scale(0);} transform: scale(0);
50% { transform: scale(1)}
to { transform: scale(0)}
} }
.circle3{ }
.circle3 {
animation: ani-demo-spin3 1s linear infinite; animation: ani-demo-spin3 1s linear infinite;
animation-delay:0s; animation-delay: 0s;
}
@keyframes ani-demo-spin3 {
from {
transform: scale(0);
} }
@keyframes ani-demo-spin3 { 50% {
from { transform: scale(0);} transform: scale(1);
50% { transform: scale(1)}
to { transform: scale(0)}
} }
to {
transform: scale(0);
}
}
</style> </style>
const sapi = 'http://recruitapi-ai3.liangkebang.net' const sapi = "http://recruitapi-ai3.liangkebang.net";
export { export { sapi };
sapi
}
module.exports = process.env.NODE_ENV === 'production' ? require('./prod.config.js') : require('./env.config.js') module.exports =
process.env.NODE_ENV === "production"
? require("./prod.config.js")
: require("./env.config.js");
const sapi = '//api.stantoo.com' const sapi = "//api.stantoo.com";
export { export { sapi };
sapi
}
This diff is collapsed.
...@@ -3,29 +3,53 @@ ...@@ -3,29 +3,53 @@
<div class="login-content"> <div class="login-content">
<div class="loginContent-left"> <div class="loginContent-left">
<div class="logimg"> <div class="logimg">
<img src="http://xyqbui.lkbang.net/image/logo99.png"> <img src="http://xyqbui.lkbang.net/image/logo99.png" />
</div> </div>
</div> </div>
<div class="loginContent-right"> <div class="loginContent-right">
<div class="logo"> <div class="logo">
<img src="http://xyqbui.lkbang.net/image/log.jpg"> <img src="http://xyqbui.lkbang.net/image/log.jpg" />
<h3>登录</h3> <h3>登录</h3>
</div> </div>
<div class="login_content"> <div class="login_content">
<Form ref="formInline" :model="formInline" :rules="ruleInline" style="height:161px"> <Form
ref="formInline"
:model="formInline"
:rules="ruleInline"
style="height:161px"
>
<FormItem prop="user" style="height:60px"> <FormItem prop="user" style="height:60px">
<Input type="text" v-model="formInline.user" placeholder="请输入企业邮箱账号" class="wordStyle" size="large"> <Input
<Icon type="ios-person-outline" slot="prepend" ></Icon> type="text"
v-model="formInline.user"
placeholder="请输入企业邮箱账号"
class="wordStyle"
size="large"
>
<Icon type="ios-person-outline" slot="prepend"></Icon>
</Input> </Input>
</FormItem> </FormItem>
<FormItem prop="password"> <FormItem prop="password">
<Input type="password" v-model="formInline.password" placeholder="请输入密码" class="wordStyle" @keyup.enter.native='login' size="large"> <Input
type="password"
v-model="formInline.password"
placeholder="请输入密码"
class="wordStyle"
@keyup.enter.native="login"
size="large"
>
<Icon type="ios-lock-outline" slot="prepend"></Icon> <Icon type="ios-lock-outline" slot="prepend"></Icon>
</Input> </Input>
<span style="color:red;margin-top;5px" v-show="noteconTime==true">{{notecontent}}</span> <span
style="color:red;margin-top;5px"
v-show="noteconTime == true"
>{{ notecontent }}</span
>
</FormItem> </FormItem>
</Form> </Form>
<Button type="primary" class="loginBtu" @click.prevent="login">登录</Button> <Button type="primary" class="loginBtu" @click.prevent="login"
>登录</Button
>
</div> </div>
<div class="copy"> <div class="copy">
...@@ -37,80 +61,87 @@ ...@@ -37,80 +61,87 @@
</div> </div>
</template> </template>
<script> <script>
import { login } from "../../api/login.server.js";
import { login } from '../../api/login.server.js' import localstorage from "../../service/localstorage.service.js";
import localstorage from '../../service/localstorage.service.js'
export default { export default {
data () { data() {
return { return {
channelarr: [], channelarr: [],
notecontent: '', notecontent: "",
noteconTime: false, noteconTime: false,
ISIDMIN: '', ISIDMIN: "",
formInline: { formInline: {
user: '', user: "",
password: '' password: ""
}, },
ruleInline: { ruleInline: {
user: [ user: [
{ required: true, pattern: /\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}/, message: '请输入正确的邮箱账号', trigger: 'blur' } {
required: true,
pattern: /\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}/,
message: "请输入正确的邮箱账号",
trigger: "blur"
}
], ],
password: [ password: [
{ required: true, message: '请输入正确的密码', trigger: 'blur' } { required: true, message: "请输入正确的密码", trigger: "blur" }
// { type: 'string', min: 4, message: '请输入正确的密码', trigger: 'blur' } // { type: 'string', min: 4, message: '请输入正确的密码', trigger: 'blur' }
] ]
} }
} };
}, },
methods: { methods: {
handleSubmit (name) { handleSubmit(name) {
this.$refs[name].validate((valid) => { this.$refs[name].validate(valid => {
if (valid) { if (valid) {
this.$Message.success('Success!') this.$Message.success("Success!");
} else { } else {
this.$Message.error('Fail!') this.$Message.error("Fail!");
} }
}) });
}, },
login () { login() {
const params = { const params = {
userCode: this.formInline.user, userCode: this.formInline.user,
password: this.formInline.password password: this.formInline.password
} };
if (this.formInline.user == '' || this.formInline.password == '') { if (this.formInline.user == "" || this.formInline.password == "") {
return return;
} }
login(params).then(res => { login(params).then(res => {
if (res.data.body.code == '100') { if (res.data.body.code == "100") {
this.$router.push({ name: 'update', params: { userCode: this.formInline.user } }) this.$router.push({
return name: "update",
params: { userCode: this.formInline.user }
});
return;
} }
if (res.data.success == true) { if (res.data.success == true) {
this.ISIDMIN = res.data.body this.ISIDMIN = res.data.body;
localstorage.set('token', res.data.body.token) localstorage.set("token", res.data.body.token);
this.$router.push({ name: 'allResume' }) this.$router.push({ name: "allResume" });
localstorage.set('isADMIN', JSON.stringify(this.ISIDMIN)) localstorage.set("isADMIN", JSON.stringify(this.ISIDMIN));
return return;
} }
if (res.data.success == false) { if (res.data.success == false) {
this.noteconTime = true this.noteconTime = true;
this.notecontent = res.data.body.message this.notecontent = res.data.body.message;
setTimeout(() => { setTimeout(() => {
this.noteconTime = false this.noteconTime = false;
}, 3000) }, 3000);
} }
}) });
} }
} }
} };
</script> </script>
<style scoped> <style scoped>
.login{ .login {
width:100%; width: 100%;
height:100%; height: 100%;
overflow: hidden; overflow: hidden;
} }
.login .login-content{ .login .login-content {
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow: hidden; overflow: hidden;
...@@ -118,65 +149,64 @@ export default { ...@@ -118,65 +149,64 @@ export default {
.loginContent-left { .loginContent-left {
float: left; float: left;
width: 70%; width: 70%;
height:100%; height: 100%;
} }
.logimg{ .logimg {
height: 100%; height: 100%;
width:100%; width: 100%;
} }
.logimg img{ .logimg img {
width:100%; width: 100%;
height: 100% height: 100%;
} }
.loginBtu{ .loginBtu {
width:90%; width: 90%;
height: 40px; height: 40px;
font-size: 18px font-size: 18px;
} }
.loginContent-right{ .loginContent-right {
float: left; float: left;
width: 30%; width: 30%;
height:100%; height: 100%;
border: 1px solid GhostWhite border: 1px solid GhostWhite;
} }
.logo{ .logo {
width:70%; width: 70%;
height:180px; height: 180px;
margin-top:160px; margin-top: 160px;
/* border: 1px solid black; */ /* border: 1px solid black; */
margin-left:15% margin-left: 15%;
} }
.logo img { .logo img {
width:50%; width: 50%;
height:50% ; height: 50%;
/* margin-left: 30px */ /* margin-left: 30px */
} }
.logo h3{ .logo h3 {
font-size: 30px; font-size: 30px;
color: black; color: black;
margin-top: 0px margin-top: 0px;
} }
.login_content{ .login_content {
height: 300px; height: 300px;
width: 70%; width: 70%;
/* border:1px solid black; */ /* border:1px solid black; */
margin-left:15%; margin-left: 15%;
margin-top: 0px margin-top: 0px;
} }
.copy{ .copy {
width: 100%; width: 100%;
height:100px; height: 100px;
margin-top: 80px; margin-top: 80px;
margin-left: 7% margin-left: 7%;
} }
.copy p{ .copy p {
font-size: 17px; font-size: 17px;
color: #999 color: #999;
} }
.wordStyle{ .wordStyle {
width: 90%; width: 90%;
line-height: 50px line-height: 50px;
/* margin-left: 30px */ /* margin-left: 30px */
} }
</style> </style>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
import Cookie from 'js-cookie' import Cookie from "js-cookie";
export default { export default {
set: function (name, value) { Cookie.set(name, value) }, set: function(name, value) {
get: function (name) { Cookie.set(name, value);
return Cookie.get(name)
}, },
remove: function (name) { Cookie.remove(name) } get: function(name) {
} return Cookie.get(name);
},
remove: function(name) {
Cookie.remove(name);
}
};
This diff is collapsed.
import localstorage from './localstorage.service.js' import localstorage from "./localstorage.service.js";
export default { export default {
init: function (router) { init: function(router) {
router.beforeEach((to, form, next) => { router.beforeEach((to, form, next) => {
const token = localstorage.get('token') const token = localstorage.get("token");
if (to.meta && !to.meta.allowBack && window.history && window.history.pushState) { // 登录页面不能后退 if (
history.pushState(null, null, document.URL) to.meta &&
!to.meta.allowBack &&
window.history &&
window.history.pushState
) {
// 登录页面不能后退
history.pushState(null, null, document.URL);
} }
if (to.name == 'login' || to.name == 'update' || to.name == 'sweepCode' || to.name == 'resumeDetail' || to.name == 'pdfdetail') { if (
next() to.name == "login" ||
return to.name == "update" ||
to.name == "sweepCode" ||
to.name == "resumeDetail" ||
to.name == "pdfdetail"
) {
next();
return;
} }
if (!token) { if (!token) {
window.location.href = `${window.location.origin}/login` window.location.href = `${window.location.origin}/login`;
return return;
} }
next() next();
}) });
} }
} };
export default { export default {
set: function (name, value) { window.localStorage.setItem(name, value) }, set: function(name, value) {
get: function (name) { window.localStorage.setItem(name, value);
return window.localStorage.getItem(name)
}, },
remove: function (name) { window.localStorage.removeItem(name) } get: function(name) {
} return window.localStorage.getItem(name);
},
remove: function(name) {
window.localStorage.removeItem(name);
}
};
module.exports = require('es6-promise') module.exports = require("es6-promise");
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment