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

添加prettier

parent 680dfdeb
......@@ -9,13 +9,16 @@ module.exports = {
extends: [
'plugin:vue/essential',
'standard',
'prettier',
],
plugins: [
'vue',
'prettier',
],
rules: {
'prettier/prettier': 'error',
// 防止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 @@
"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": {
"version": "14.1.0",
"resolved": "http://npmprivate.quantgroups.com/eslint-config-standard/-/eslint-config-standard-14.1.0.tgz",
......@@ -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": {
"version": "4.2.1",
"resolved": "http://npmprivate.quantgroups.com/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz",
......@@ -4847,6 +4873,12 @@
"resolved": "http://npmprivate.quantgroups.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
"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": {
"version": "2.1.0",
"resolved": "http://npmprivate.quantgroups.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
......@@ -10641,6 +10673,15 @@
"integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==",
"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": {
"version": "2.1.1",
"resolved": "http://npmprivate.quantgroups.com/pretty-error/-/pretty-error-2.1.1.tgz",
......
<template>
<div id="app" :class="appClass">
<router-view/>
<router-view />
</div>
</template>
<script>
window.onload = function () {
document.addEventListener('touchstart', function (event) {
window.onload = function() {
document.addEventListener("touchstart", function(event) {
if (event.touches.length > 1) {
event.preventDefault()
event.preventDefault();
}
})
document.addEventListener('gesturestart', function (event) {
event.preventDefault()
})
}
});
document.addEventListener("gesturestart", function(event) {
event.preventDefault();
});
};
export default {
name: 'App',
data () {
name: "App",
data() {
return {
appClass: 'pc'
}
appClass: "pc"
};
},
created: function () {
created: function() {
if (document.documentElement.clientWidth <= 640) {
this.appClass = 'mobile'
this.appClass = "mobile";
}
}
}
};
</script>
<style>
#app{
#app {
position: absolute;
top: 0;
bottom: 0;
width: 100%;
cursor:auto;
cursor: auto;
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;
-moz-osx-font-smoothing: grayscale;
color: #2c3e50;
......@@ -47,7 +47,6 @@ export default {
-moz-user-select: text !important; /*火狐*/
-ms-user-select: text !important; /*IE10*/
user-select: text !important;
}
.pc {
height: 100%;
......@@ -58,27 +57,24 @@ export default {
min-width: unset;
min-height: unset;
}
::-webkit-scrollbar
{
::-webkit-scrollbar {
width: 8px;
height: 8px;
background-color: #F5F5F5;
background-color: #f5f5f5;
}
/*定义滚动条轨道 内阴影+圆角*/
::-webkit-scrollbar-track
{
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
border-radius: 10px;
background-color: #Eff4f6;
background-color: #eff4f6;
}
/*定义滑块 内阴影+圆角*/
::-webkit-scrollbar-thumb
{
::-webkit-scrollbar-thumb {
border-radius: 10px;
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
background-color: #BDBDBD;
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
background-color: #bdbdbd;
}
/* .ivu-btn-primary{
background: #0092FF!important
......
import axios from '../service/http.service'
import {
sapi
} from '../config'
import qs from 'qs'
import axios from "../service/http.service";
import { sapi } from "../config";
import qs from "qs";
// 获取个人信息
export function getpersonMassage (params) {
export function getpersonMassage(params) {
// params=qs.stringify(params)
return axios.get(`${sapi}/api/login/me`, params, {
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
})
});
}
// 用户退出
export function loginOUT () {
export function loginOUT() {
// params=qs.stringify(params)
return axios.get(`${sapi}/api/login/logout`, {
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, {
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
})
});
}
// 通过渠道机简历信息
export function getChannelMassage () {
export function getChannelMassage() {
return axios.get(`${sapi}/api/resume/getSourceList`, {
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
})
});
}
// 判断是否为超级管理员
export function judeAdmin () {
export function judeAdmin() {
return axios.get(`${sapi}/api/user/isAdmin`, {
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
})
});
}
import axios from '../service/http.service'
import {
sapi
} from '../config'
import qs from 'qs'
import axios from "../service/http.service";
import { sapi } from "../config";
import qs from "qs";
// 更改约面信息
export function changeinterviewMassage (parmars) {
export function changeinterviewMassage(parmars) {
return axios.post(`${sapi}/api/resumeInterview/update`, parmars, {
headers: {
'Content-Type': 'application/json;'
"Content-Type": "application/json;"
}
})
});
}
// 重启面试
export function oppenInterview (tid, tstatus) {
console.log(tid, tstatus)
export function oppenInterview(tid, tstatus) {
console.log(tid, tstatus);
return axios.post(`${sapi}/api/resumeFlow/reset/${tid}/${tstatus}`, {
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}`, {
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, {
headers: {
'Content-Type': 'application/json;',
'X-Requested-With': 'XMLHttpRequest',
"Content-Type": "application/json;",
"X-Requested-With": "XMLHttpRequest",
status
}
})
});
}
// 查看简历详情页
export function seedetail (parmars) {
export function seedetail(parmars) {
return axios.get(`${sapi}/api/html/get/${parmars.uid}`, {
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
})
});
}
// 面试官查询
export function Serchinterviewor () {
return axios.get(`${sapi}/api/interview/findInterviewerList`)
export function Serchinterviewor() {
return axios.get(`${sapi}/api/interview/findInterviewerList`);
}
// 邀约人查询
export function SerchInvitationOwer () {
export function SerchInvitationOwer() {
return axios.post(`${sapi}/api/interview/findInviterList`, {
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, {
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}`, {
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}`, {
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}`, {
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
})
});
}
import axios from '../service/http.service'
import {
sapi
} from '../config'
import qs from 'qs'
import axios from "../service/http.service";
import { sapi } from "../config";
import qs from "qs";
// 登录
export function login (params) {
export function login(params) {
// params=qs.stringify(params)
return axios.post(`${sapi}/api/login/doLogin`, params, {
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
})
});
}
// 修改密码
export function updatePsd (params) {
export function updatePsd(params) {
// params=qs.stringify(params)
return axios.post(`${sapi}/api/login/modifyPassword`, params, {
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
})
});
}
import axios from '../service/http.service'
import {
sapi
} from '../config'
import qs from 'qs'
import axios from "../service/http.service";
import { sapi } from "../config";
import qs from "qs";
// 查询简历列表
export function serchList (parmars) {
export function serchList(parmars) {
return axios.post(`${sapi}/api/resume/findList`, parmars, {
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
})
});
}
// 下载简历(单条)
export function downloadone (parmars) {
parmars = qs.stringify(parmars)
export function downloadone(parmars) {
parmars = qs.stringify(parmars);
return axios.post(`${sapi}/api/resumeFile/download/formatted/one`, parmars, {
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, {
headers: {
'Content-Type': 'application/json',
"Content-Type": "application/json",
status
}
})
});
}
// 查看简历详情页
export function seedetail (parmars) {
export function seedetail(parmars) {
return axios.get(`${sapi}/api/html/get/${parmars.uid}`, {
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
})
});
}
// 简历pass
export function PASS (parmars) {
return axios.post(`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`, '', {
export function PASS(parmars) {
return axios.post(
`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`,
"",
{
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
}
})
);
}
// 待处理
export function TODORes (parmars) {
return axios.post(`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`, '', {
export function TODORes(parmars) {
return axios.post(
`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`,
"",
{
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
}
})
);
}
// 备选
export function OPTION (parmars) {
return axios.post(`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`, '', {
export function OPTION(parmars) {
return axios.post(
`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`,
"",
{
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), {
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
})
});
}
// 单条下载简历
export function downloadOne (parmars) {
return axios.get(`${sapi}/api/resume/download/formatted/one?resumeId=${parmars.resumeId}`, {
export function downloadOne(parmars) {
return axios.get(
`${sapi}/api/resume/download/formatted/one?resumeId=${parmars.resumeId}`,
{
headers: {
// 'Content-Type':'application/x-www-form-urlencoded'
}
})
}
);
}
// 批量下载简历
export function downloadALL () {
export function downloadALL() {
return axios.get(`${sapi}/api/resumeFile/download/formatted/compress`, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
"Content-Type": "application/x-www-form-urlencoded"
}
})
});
}
// 导出列表
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}`,
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}`,
{
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}`, {
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, {
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, {
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
})
});
}
// 修改流程状态
export function updatastatus (parmars) {
return axios.post(`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`, {
export function updatastatus(parmars) {
return axios.post(
`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`,
{
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
})
}
);
}
// 获取邮件模板
export function getEmailMoo () {
export function getEmailMoo() {
return axios.post(`${sapi}/api/emailTemplate/getAllTemplateList`, {
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
})
});
}
// 根据获取id邮件模板内容
export function getEmailContent (parmars) {
export function getEmailContent(parmars) {
return axios.post(`${sapi}/api/emailTemplate/loadTemplate`, parmars, {
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
})
});
}
// 上传图片
export function uploadimage () {
export function uploadimage() {
return axios.get(`${sapi}/api/ckeditor/uploadImage`, {
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, {
headers: {
'Content-Type': 'multipart/form-data'
"Content-Type": "multipart/form-data"
// 'Content-Disposition':'multipart/form-data'
// 'Content-Type':'application/json'
}
})
});
}
export function findCompanyEmailByKey (key) { // 公司通讯录
return axios.get(`${sapi}/api/companyEmail/findCompanyEmailByKey?key=${key}`)
export function findCompanyEmailByKey(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, {
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}`, {
responseType: 'arraybuffer',
responseType: "arraybuffer",
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
})
});
}
// 是否展示原件的PDF
export function isShowPDF (parmars) {
export function isShowPDF(parmars) {
return axios.get(`${sapi}/api/resume/isShowOriPdf/${parmars.uid}`, {
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}`, {
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
})
});
}
// 获取职位列表
export function getlist (parmars) {
return axios.get(`${sapi}/api/resume/findPositionList?optSourceCode=${parmars.optSourceCode}`, {
export function getlist(parmars) {
return axios.get(
`${sapi}/api/resume/findPositionList?optSourceCode=${parmars.optSourceCode}`,
{
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
}
})
);
}
import axios from '../service/http.service'
import {
sapi
} from '../config'
import qs from 'qs'
import axios from "../service/http.service";
import { sapi } from "../config";
import qs from "qs";
// 账号列表查询
export function queryaccountList (params) {
export function queryaccountList(params) {
return axios.post(`${sapi}/api/user/findList`, params, {
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, {
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}`, {
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), {
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}`, {
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, {
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, {
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}`, {
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, {
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
})
});
}
// 批量解绑邮箱
export function UntyingAll (UntyingAllARR) {
return axios.post(`${sapi}/api/email/unbind/batch`, JSON.stringify(UntyingAllARR), {
export function UntyingAll(UntyingAllARR) {
return axios.post(
`${sapi}/api/email/unbind/batch`,
JSON.stringify(UntyingAllARR),
{
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
})
}
);
}
// 获取二维码
export function getErcode () {
export function getErcode() {
return axios.get(`${sapi}/api/qrCode/getInterviewQrcode`, {
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, {
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
})
});
}
import axios from '../service/http.service'
import {
sapi
} from '../config'
import qs from 'qs'
import axios from "../service/http.service";
import { sapi } from "../config";
import qs from "qs";
// 提交应聘登记表
export function submitMassage (params) {
export function submitMassage(params) {
// params=qs.stringify(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 {
sapi
} from '../config'
import qs from 'qs'
import axios from "../service/http.service";
import { sapi } from "../config";
import qs from "qs";
// 获取上传批次号
export function getuploadNumber () {
export function getuploadNumber() {
// params=qs.stringify(params)
return axios.get(`${sapi}/api/resume/upload/batchNum`, {
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, {
headers: {
// 'Content-Type':'multipart/form-data',
......@@ -21,29 +19,29 @@ export function uploadfile (parmars) {
contentType: false,
async: false
}
})
});
}
// 查询上传列表记录
export function serchList (parmars) {
export function serchList(parmars) {
return axios.post(`${sapi}/api/resume/upload/history`, parmars, {
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}`, {
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), {
headers: {
'Content-Type': 'application/json'
"Content-Type": "application/json"
}
})
});
}
......@@ -71,6 +71,4 @@ export default {
}
</script>
<style lang="less" rel="stylesheet/less" scoped>
</style>
<style lang="less" rel="stylesheet/less" scoped></style>
<template>
<template>
<div>
<!-- bidirectional data binding(双向数据绑定) -->
<Modal v-model='modal' :fullscreen='fullscreen'>
<Input v-model='value'></Input>
<editor @getValue='getInfo' :uploadUrl='uploadUrl' :value='value' height='400px'></editor>
<div slot='footer'>
<Button @click='getInfo'>获取内容</Button>
<Modal v-model="modal" :fullscreen="fullscreen">
<Input v-model="value"></Input>
<editor
@getValue="getInfo"
:uploadUrl="uploadUrl"
:value="value"
height="400px"
></editor>
<div slot="footer">
<Button @click="getInfo">获取内容</Button>
</div>
</Modal>
<Form ref="formInline" :model="formInline" :rules="ruleInline" inline>
......@@ -16,56 +20,73 @@
</Input>
</FormItem>
<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>
</Input>
</FormItem>
<FormItem>
<Button type="primary" @click="handleSubmit('formInline')">Signin</Button>
<Button type="primary" @click="handleSubmit('formInline')"
>Signin</Button
>
</FormItem>
</Form>
</div>
</template>
</template>
<script>
import editor from './ckeditor.vue'
import { sapi } from '../config/index.js'
import localStorage from '../service/localstorage.service.js'
import editor from "./ckeditor.vue";
import { sapi } from "../config/index.js";
import localStorage from "../service/localstorage.service.js";
export default {
data () {
data() {
return {
modal: true,
fullscreen: true,
content: '<h2>I am Example</h2>',
content1: '<h2>I am Example</h2>',
uploadUrl: `${sapi}/api/ckeditor/uploadImage?token=${localStorage.get('token')}&&backUrl=/getimage`,
value: '22',
content: "<h2>I am Example</h2>",
content1: "<h2>I am Example</h2>",
uploadUrl: `${sapi}/api/ckeditor/uploadImage?token=${localStorage.get(
"token"
)}&&backUrl=/getimage`,
value: "22",
editorOption: {
// some quill options
},
formInline: {
user: '',
password: ''
user: "",
password: ""
},
ruleInline: {
user: [
{
required: false,
message: 'Please fill in the user name',
trigger: 'blur',
message: "Please fill in the user name",
trigger: "blur",
pattern: /^1[3456789]\d{9}$/,
validator: function (rule, value, call) {
console.log(rule, value)
return call(new Error())
validator: function(rule, value, call) {
console.log(rule, value);
return call(new Error());
}
}
],
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: {},
components: {
......@@ -74,10 +95,10 @@ export default {
// manually control the data synchronization
// 如果需要手动控制数据同步,父组件需要显式地处理changed事件
methods: {
getInfo (value) {
console.log(value)
getInfo(value) {
console.log(value);
},
handleSubmit (name) {
handleSubmit(name) {
// this.$refs[name].validate((valid) => {
// if (valid) {
// this.$Message.success('Success!');
......@@ -85,15 +106,12 @@ export default {
// this.$Message.error('Fail!');
// }
// })
this.$refs[name].validateField('user', (error) => {
console.log('------', error)
})
this.$refs[name].validateField("user", error => {
console.log("------", error);
});
}
},
computed: {
},
mounted () {
}
}
computed: {},
mounted() {}
};
</script>
......@@ -2,24 +2,30 @@
<div></div>
</template>
<script>
function GetQueryString (name) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i')
var r = window.location.search.substr(1).match(reg) // 获取url中"?"符后的字符串并正则匹配
var context = ''
if (r != null) { context = r[2] }
reg = null
r = null
return context == null || context == '' || context == 'undefined' ? '' : decodeURIComponent(context)
function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg); // 获取url中"?"符后的字符串并正则匹配
var context = "";
if (r != null) {
context = r[2];
}
reg = null;
r = null;
return context == null || context == "" || context == "undefined"
? ""
: decodeURIComponent(context);
}
export default {
data () {
return {}
data() {
return {};
},
mounted () {
console.log(777)
window.parent.CKEDITOR.tools.callFunction(GetQueryString('CKEditorFuncNum'), GetQueryString('ImageUrl'), GetQueryString('Message'))
mounted() {
console.log(777);
window.parent.CKEDITOR.tools.callFunction(
GetQueryString("CKEditorFuncNum"),
GetQueryString("ImageUrl"),
GetQueryString("Message")
);
}
}
};
</script>
This diff is collapsed.
<template>
<div class='loadingmark'>
<div class="loadingmark">
<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)">
<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 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 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 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>
</svg>
</div>
......@@ -21,7 +55,7 @@
</template>
<script>
export default {
name: 'loading',
name: "loading",
props: {
width: {
type: Number,
......@@ -32,70 +66,94 @@ export default {
default: 80
}
},
created () {
this.viewBox = '0 0' + ' ' + (this.width + 10) + ' ' + this.height
created() {
this.viewBox = "0 0" + " " + (this.width + 10) + " " + this.height;
},
data () {
data() {
return {
viewBox: ''
viewBox: ""
};
}
}
}
};
</script>
<style lang='less' scoped>
.loadingmark{
position:absolute;
top:0px;
left:0px;
width:100%;
height:100%;
background-color: rgba(255,255,255,0.6);
<style lang="less" scoped>
.loadingmark {
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
background-color: rgba(255, 255, 255, 0.6);
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
z-index: 1600;
}
.loading-audio {
}
.loading-audio {
width: 100px;
background-repeat: no-repeat;
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>');
}
.circle{
}
.circle {
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 {
from { transform: scale(0);}
50% { transform: scale(1)}
to { transform: scale(0)}
50% {
transform: scale(1);
}
.circle1{
to {
transform: scale(0);
}
}
.circle1 {
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 {
from { transform: scale(0);}
50% { transform: scale(1)}
to { transform: scale(0)}
to {
transform: scale(0);
}
.circle2{
}
.circle2 {
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 {
from { transform: scale(0);}
50% { transform: scale(1)}
to { transform: scale(0)}
to {
transform: scale(0);
}
.circle3{
}
.circle3 {
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 {
from { transform: scale(0);}
50% { transform: scale(1)}
to { transform: scale(0)}
50% {
transform: scale(1);
}
to {
transform: scale(0);
}
}
</style>
const sapi = 'http://recruitapi-ai3.liangkebang.net'
export {
sapi
}
const sapi = "http://recruitapi-ai3.liangkebang.net";
export { 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 {
sapi
}
export { sapi };
This diff is collapsed.
......@@ -3,29 +3,53 @@
<div class="login-content">
<div class="loginContent-left">
<div class="logimg">
<img src="http://xyqbui.lkbang.net/image/logo99.png">
<img src="http://xyqbui.lkbang.net/image/logo99.png" />
</div>
</div>
<div class="loginContent-right">
<div class="logo">
<img src="http://xyqbui.lkbang.net/image/log.jpg">
<img src="http://xyqbui.lkbang.net/image/log.jpg" />
<h3>登录</h3>
</div>
<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">
<Input type="text" v-model="formInline.user" placeholder="请输入企业邮箱账号" class="wordStyle" size="large">
<Icon type="ios-person-outline" slot="prepend" ></Icon>
<Input
type="text"
v-model="formInline.user"
placeholder="请输入企业邮箱账号"
class="wordStyle"
size="large"
>
<Icon type="ios-person-outline" slot="prepend"></Icon>
</Input>
</FormItem>
<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>
</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>
</Form>
<Button type="primary" class="loginBtu" @click.prevent="login">登录</Button>
<Button type="primary" class="loginBtu" @click.prevent="login"
>登录</Button
>
</div>
<div class="copy">
......@@ -37,80 +61,87 @@
</div>
</template>
<script>
import { login } from '../../api/login.server.js'
import localstorage from '../../service/localstorage.service.js'
import { login } from "../../api/login.server.js";
import localstorage from "../../service/localstorage.service.js";
export default {
data () {
data() {
return {
channelarr: [],
notecontent: '',
notecontent: "",
noteconTime: false,
ISIDMIN: '',
ISIDMIN: "",
formInline: {
user: '',
password: ''
user: "",
password: ""
},
ruleInline: {
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: [
{ required: true, message: '请输入正确的密码', trigger: 'blur' }
{ required: true, message: "请输入正确的密码", trigger: "blur" }
// { type: 'string', min: 4, message: '请输入正确的密码', trigger: 'blur' }
]
}
}
};
},
methods: {
handleSubmit (name) {
this.$refs[name].validate((valid) => {
handleSubmit(name) {
this.$refs[name].validate(valid => {
if (valid) {
this.$Message.success('Success!')
this.$Message.success("Success!");
} else {
this.$Message.error('Fail!')
this.$Message.error("Fail!");
}
})
});
},
login () {
login() {
const params = {
userCode: this.formInline.user,
password: this.formInline.password
}
if (this.formInline.user == '' || this.formInline.password == '') {
return
};
if (this.formInline.user == "" || this.formInline.password == "") {
return;
}
login(params).then(res => {
if (res.data.body.code == '100') {
this.$router.push({ name: 'update', params: { userCode: this.formInline.user } })
return
if (res.data.body.code == "100") {
this.$router.push({
name: "update",
params: { userCode: this.formInline.user }
});
return;
}
if (res.data.success == true) {
this.ISIDMIN = res.data.body
localstorage.set('token', res.data.body.token)
this.$router.push({ name: 'allResume' })
localstorage.set('isADMIN', JSON.stringify(this.ISIDMIN))
return
this.ISIDMIN = res.data.body;
localstorage.set("token", res.data.body.token);
this.$router.push({ name: "allResume" });
localstorage.set("isADMIN", JSON.stringify(this.ISIDMIN));
return;
}
if (res.data.success == false) {
this.noteconTime = true
this.notecontent = res.data.body.message
this.noteconTime = true;
this.notecontent = res.data.body.message;
setTimeout(() => {
this.noteconTime = false
}, 3000)
this.noteconTime = false;
}, 3000);
}
})
});
}
}
}
};
</script>
<style scoped>
.login{
width:100%;
height:100%;
.login {
width: 100%;
height: 100%;
overflow: hidden;
}
.login .login-content{
.login .login-content {
width: 100%;
height: 100%;
overflow: hidden;
......@@ -118,65 +149,64 @@ export default {
.loginContent-left {
float: left;
width: 70%;
height:100%;
height: 100%;
}
.logimg{
.logimg {
height: 100%;
width:100%;
width: 100%;
}
.logimg img{
width:100%;
height: 100%
.logimg img {
width: 100%;
height: 100%;
}
.loginBtu{
width:90%;
.loginBtu {
width: 90%;
height: 40px;
font-size: 18px
font-size: 18px;
}
.loginContent-right{
.loginContent-right {
float: left;
width: 30%;
height:100%;
border: 1px solid GhostWhite
height: 100%;
border: 1px solid GhostWhite;
}
.logo{
width:70%;
height:180px;
margin-top:160px;
.logo {
width: 70%;
height: 180px;
margin-top: 160px;
/* border: 1px solid black; */
margin-left:15%
margin-left: 15%;
}
.logo img {
width:50%;
height:50% ;
width: 50%;
height: 50%;
/* margin-left: 30px */
}
.logo h3{
.logo h3 {
font-size: 30px;
color: black;
margin-top: 0px
margin-top: 0px;
}
.login_content{
.login_content {
height: 300px;
width: 70%;
/* border:1px solid black; */
margin-left:15%;
margin-top: 0px
margin-left: 15%;
margin-top: 0px;
}
.copy{
.copy {
width: 100%;
height:100px;
height: 100px;
margin-top: 80px;
margin-left: 7%
margin-left: 7%;
}
.copy p{
.copy p {
font-size: 17px;
color: #999
color: #999;
}
.wordStyle{
.wordStyle {
width: 90%;
line-height: 50px
line-height: 50px;
/* margin-left: 30px */
}
</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 {
set: function (name, value) { Cookie.set(name, value) },
get: function (name) {
return Cookie.get(name)
set: function(name, value) {
Cookie.set(name, value);
},
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 {
init: function (router) {
init: function(router) {
router.beforeEach((to, form, next) => {
const token = localstorage.get('token')
if (to.meta && !to.meta.allowBack && window.history && window.history.pushState) { // 登录页面不能后退
history.pushState(null, null, document.URL)
const token = localstorage.get("token");
if (
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') {
next()
return
if (
to.name == "login" ||
to.name == "update" ||
to.name == "sweepCode" ||
to.name == "resumeDetail" ||
to.name == "pdfdetail"
) {
next();
return;
}
if (!token) {
window.location.href = `${window.location.origin}/login`
return
window.location.href = `${window.location.origin}/login`;
return;
}
next()
})
next();
});
}
}
};
export default {
set: function (name, value) { window.localStorage.setItem(name, value) },
get: function (name) {
return window.localStorage.getItem(name)
set: function(name, value) {
window.localStorage.setItem(name, value);
},
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