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
{
width: 8px;
height: 8px;
background-color: #F5F5F5;
::-webkit-scrollbar {
width: 8px;
height: 8px;
background-color: #f5f5f5;
}
/*定义滚动条轨道 内阴影+圆角*/
::-webkit-scrollbar-track
{
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
border-radius: 10px;
background-color: #Eff4f6;
::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
border-radius: 10px;
background-color: #eff4f6;
}
/*定义滑块 内阴影+圆角*/
::-webkit-scrollbar-thumb
{
border-radius: 10px;
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
background-color: #BDBDBD;
::-webkit-scrollbar-thumb {
border-radius: 10px;
-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}`, '', {
headers: {
'Content-Type': 'application/json'
export function PASS(parmars) {
return axios.post(
`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`,
"",
{
headers: {
"Content-Type": "application/json"
}
}
})
);
}
// 待处理
export function TODORes (parmars) {
return axios.post(`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`, '', {
headers: {
'Content-Type': 'application/json'
export function TODORes(parmars) {
return axios.post(
`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`,
"",
{
headers: {
"Content-Type": "application/json"
}
}
})
);
}
// 备选
export function OPTION (parmars) {
return axios.post(`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`, '', {
headers: {
'Content-Type': 'application/json'
export function OPTION(parmars) {
return axios.post(
`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`,
"",
{
headers: {
"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}`, {
headers: {
// 'Content-Type':'application/x-www-form-urlencoded'
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}`, {
headers: {
'Content-Type': 'application/json'
export function updatastatus(parmars) {
return axios.post(
`${sapi}/api/resumeFlow/uploadStatus/${parmars.id}/${parmars.status}`,
{
headers: {
"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-Disposition':'multipart/form-data'
// 'Content-Type':'application/json'
"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}`, {
headers: {
'Content-Type': 'application/json'
export function getlist(parmars) {
return axios.get(
`${sapi}/api/resume/findPositionList?optSourceCode=${parmars.optSourceCode}`,
{
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 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), {
headers: {
'Content-Type': 'application/json'
export function UntyingAll(UntyingAllARR) {
return axios.post(
`${sapi}/api/email/unbind/batch`,
JSON.stringify(UntyingAllARR),
{
headers: {
"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',
// 'Content-Type':'multipart/form-data',
processData: false,
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"
}
})
});
}
<template>
<div>
<textarea id="editor" rows="10" cols="80"></textarea>
</div>
<div>
<textarea id="editor" rows="10" cols="80"></textarea>
</div>
</template>
<script type="text/ecmascript-6">
import CKEDITOR from 'CKEDITOR'
......@@ -71,6 +71,4 @@ export default {
}
</script>
<style lang="less" rel="stylesheet/less" scoped>
</style>
<style lang="less" rel="stylesheet/less" scoped></style>
<template>
<div>
<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>
</div>
</Modal>
<Form ref="formInline" :model="formInline" :rules="ruleInline" inline>
<FormItem prop="user">
<Input type="text" v-model="formInline.user" placeholder="Username">
<Icon type="ios-person-outline" slot="prepend"></Icon>
</Input>
</FormItem>
<FormItem prop="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>
</FormItem>
<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>
<FormItem prop="user">
<Input type="text" v-model="formInline.user" placeholder="Username">
<Icon type="ios-person-outline" slot="prepend"></Icon>
</Input>
</FormItem>
<FormItem prop="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
>
</FormItem>
</Form>
</div>
</template>
</div>
</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>
<template>
<div></div>
<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 {}
},
mounted () {
console.log(777)
window.parent.CKEDITOR.tools.callFunction(GetQueryString('CKEditorFuncNum'), GetQueryString('ImageUrl'), GetQueryString('Message'))
}
}
data() {
return {};
},
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);
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
z-index: 1600;
<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 {
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 {
animation: ani-demo-spin 1s linear infinite;
animation-delay: -0.375s;
}
@keyframes ani-demo-spin {
from {
transform: scale(0);
}
50% {
transform: scale(1);
}
to {
transform: scale(0);
}
.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>');
}
.circle1 {
animation: ani-demo-spin1 1s linear infinite;
animation-delay: -0.25s;
}
@keyframes ani-demo-spin1 {
from {
transform: scale(0);
}
.circle{
animation: ani-demo-spin 1s linear infinite;
animation-delay:-0.375s;
50% {
transform: scale(1);
}
@keyframes ani-demo-spin {
from { transform: scale(0);}
50% { transform: scale(1)}
to { transform: scale(0)}
to {
transform: scale(0);
}
.circle1{
animation: ani-demo-spin1 1s linear infinite;
animation-delay:-0.25s;
}
.circle2 {
animation: ani-demo-spin2 1s linear infinite;
animation-delay: -0.125s;
}
@keyframes ani-demo-spin2 {
from {
transform: scale(0);
}
@keyframes ani-demo-spin1 {
from { transform: scale(0);}
50% { transform: scale(1)}
to { transform: scale(0)}
50% {
transform: scale(1);
}
.circle2{
animation: ani-demo-spin2 1s linear infinite;
animation-delay:-0.125s;
to {
transform: scale(0);
}
@keyframes ani-demo-spin2 {
from { transform: scale(0);}
50% { transform: scale(1)}
to { transform: scale(0)}
}
.circle3 {
animation: ani-demo-spin3 1s linear infinite;
animation-delay: 0s;
}
@keyframes ani-demo-spin3 {
from {
transform: scale(0);
}
.circle3{
animation: ani-demo-spin3 1s linear infinite;
animation-delay:0s;
50% {
transform: scale(1);
}
@keyframes ani-demo-spin3 {
from { transform: scale(0);}
50% { transform: scale(1)}
to { transform: scale(0)}
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.
<template>
<div class="login">
<div class="login-content">
<div class="loginContent-left">
<div class="logimg">
<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">
<h3>登录</h3>
</div>
<div class="login_content">
<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>
</FormItem>
<FormItem prop="password">
<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>
</FormItem>
</Form>
<Button type="primary" class="loginBtu" @click.prevent="login">登录</Button>
</div>
<div class="login">
<div class="login-content">
<div class="loginContent-left">
<div class="logimg">
<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" />
<h3>登录</h3>
</div>
<div class="login_content">
<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>
</FormItem>
<FormItem prop="password">
<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
>
</FormItem>
</Form>
<Button type="primary" class="loginBtu" @click.prevent="login"
>登录</Button
>
</div>
<div class="copy">
<p>量化派为你提供全程服务</p>
<p>量化派版权所有</p>
</div>
</div>
</div>
<div class="copy">
<p>量化派为你提供全程服务</p>
<p>量化派版权所有</p>
</div>
</div>
</div>
</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%;
overflow: hidden;
.login {
width: 100%;
height: 100%;
overflow: hidden;
}
.login .login-content{
width: 100%;
height: 100%;
overflow: hidden;
.login .login-content {
width: 100%;
height: 100%;
overflow: hidden;
}
.loginContent-left {
float: left;
width: 70%;
height:100%;
float: left;
width: 70%;
height: 100%;
}
.logimg{
height: 100%;
width:100%;
.logimg {
height: 100%;
width: 100%;
}
.logimg img{
width:100%;
height: 100%
.logimg img {
width: 100%;
height: 100%;
}
.loginBtu{
width:90%;
height: 40px;
font-size: 18px
.loginBtu {
width: 90%;
height: 40px;
font-size: 18px;
}
.loginContent-right{
float: left;
width: 30%;
height:100%;
border: 1px solid GhostWhite
.loginContent-right {
float: left;
width: 30%;
height: 100%;
border: 1px solid GhostWhite;
}
.logo{
width:70%;
height:180px;
margin-top:160px;
/* border: 1px solid black; */
margin-left:15%
.logo {
width: 70%;
height: 180px;
margin-top: 160px;
/* border: 1px solid black; */
margin-left: 15%;
}
.logo img {
width:50%;
height:50% ;
/* margin-left: 30px */
width: 50%;
height: 50%;
/* margin-left: 30px */
}
.logo h3{
.logo h3 {
font-size: 30px;
color: black;
margin-top: 0px
margin-top: 0px;
}
.login_content{
height: 300px;
width: 70%;
/* border:1px solid black; */
margin-left:15%;
margin-top: 0px
.login_content {
height: 300px;
width: 70%;
/* border:1px solid black; */
margin-left: 15%;
margin-top: 0px;
}
.copy{
width: 100%;
height:100px;
margin-top: 80px;
margin-left: 7%
.copy {
width: 100%;
height: 100px;
margin-top: 80px;
margin-left: 7%;
}
.copy p{
.copy p {
font-size: 17px;
color: #999
color: #999;
}
.wordStyle{
width: 90%;
line-height: 50px
/* margin-left: 30px */
.wordStyle {
width: 90%;
line-height: 50px;
/* margin-left: 30px */
}
</style>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<template>
<div>
<h3 style="color:#2d8cf0;font-size:18px;margin:14px 0 0 15px">二维码管理</h3>
<h5 style="margin:24px 0 0 15px;display:inline-block">前台扫描二维码</h5>
<div class="Qrcode">
<img :src="url" style="width:100%;height:100%">
</div>
<p class="xiazai" @click="downPic">下载</p>
<!-- <p style="margin-top:40px"><span>请点击&nbsp;</span>
<div>
<h3 style="color:#2d8cf0;font-size:18px;margin:14px 0 0 15px">
二维码管理
</h3>
<h5 style="margin:24px 0 0 15px;display:inline-block">前台扫描二维码</h5>
<div class="Qrcode">
<img :src="url" style="width:100%;height:100%" />
</div>
<p class="xiazai" @click="downPic">下载</p>
<!-- <p style="margin-top:40px"><span>请点击&nbsp;</span>
<a href="http://192.168.28.10:7086/acceptInterview?isResufe=false"
style="text-decoration:none;width:100px;height:30px;background:#0092ff;color:white;display:inline-block; text-align: center;line-height:30px;border-radius:5px!important">接受面试安排</a>&nbsp;
<a href="http://192.168.28.10:7086/acceptInterview?isResufe=true"
style="text-decoration:none;width:100px;height:30px;display:inline-block; text-align: center;line-height:30px;border-radius:5px!important;border:1px solid #0092ff;">拒绝面试安排</a>&nbsp;
<span>将您的反馈告知我们。</span>
</p> -->
</div>
</div>
</template>
<script>
import { getErcode, downloadErcode } from '../../api/stystem.server.js'
import {
sapi
} from '../../config'
import { getErcode, downloadErcode } from "../../api/stystem.server.js";
import { sapi } from "../../config";
export default {
data () {
data() {
return {
url: '',
url2: ''
}
url: "",
url2: ""
};
},
methods: {
// 取到二维码
getercode () {
getercode() {
getErcode().then(res => {
if (res.data.success == true) {
this.url = res.data.body
this.url = res.data.body;
}
})
});
},
downPic (img) {
window.location.href = `${sapi}/api/qrCode/downQrCode`
downPic(img) {
window.location.href = `${sapi}/api/qrCode/downQrCode`;
}
},
mounted () {
this.getercode()
mounted() {
this.getercode();
}
}
};
</script>
<style>
.Qrcode{
height: 200px;
width: 200px;
border: 1px solid black;
margin: 20px 0 0 15px
.Qrcode {
height: 200px;
width: 200px;
border: 1px solid black;
margin: 20px 0 0 15px;
}
.xiazai{
height: 30px;
width: 100px;
background:#2d8cf0;
color: white;
line-height: 30px;
text-align: center;
border-radius: 5px ;
position: absolute;
left: 230px;
top:270px
.xiazai {
height: 30px;
width: 100px;
background: #2d8cf0;
color: white;
line-height: 30px;
text-align: center;
border-radius: 5px;
position: absolute;
left: 230px;
top: 270px;
}
</style>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
// https://github.com/ElemeFE/element/blob/dev/packages/upload/src/ajax.js
import axios from './http.service.js'
function getError (action, option, xhr) {
const msg = `fail to post ${action} ${xhr.status}'`
const err = new Error(msg)
err.status = xhr.status
err.method = 'post'
err.url = action
return err
import axios from "./http.service.js";
function getError(action, option, xhr) {
const msg = `fail to post ${action} ${xhr.status}'`;
const err = new Error(msg);
err.status = xhr.status;
err.method = "post";
err.url = action;
return err;
}
function getBody (xhr) {
const text = xhr.responseText || xhr.response
function getBody(xhr) {
const text = xhr.responseText || xhr.response;
if (!text) {
return text
return text;
}
try {
return JSON.parse(text)
return JSON.parse(text);
} catch (e) {
return text
return text;
}
}
export function uploadFile (option) {
const action = option.action
const formData = new FormData()
export function uploadFile(option) {
const action = option.action;
const formData = new FormData();
if (option.data) {
option.data.map(item => {
formData.append(option.appendFile, item.data)
})
formData.append(option.appendFile, item.data);
});
}
formData.append(option.appendName, option.batchNum)
axios.post(action, formData, {
onUploadProgress: function (progressEvent) {
if (progressEvent.total > 0) {
progressEvent.percent = (progressEvent.loaded / progressEvent.total * 100)
formData.append(option.appendName, option.batchNum);
axios
.post(action, formData, {
onUploadProgress: function(progressEvent) {
if (progressEvent.total > 0) {
progressEvent.percent =
(progressEvent.loaded / progressEvent.total) * 100;
}
option.onProgress(progressEvent);
}
option.onProgress(progressEvent)
}
}).then((res) => {
option.onSuccess(res.data)
}).catch((error) => {
option.onError(error)
})
})
.then(res => {
option.onSuccess(res.data);
})
.catch(error => {
option.onError(error);
});
}
export default function upload (option) {
if (typeof XMLHttpRequest === 'undefined') {
return
export default function upload(option) {
if (typeof XMLHttpRequest === "undefined") {
return;
}
const xhr = new XMLHttpRequest()
const action = option.action
const xhr = new XMLHttpRequest();
const action = option.action;
if (xhr.upload) {
xhr.upload.onprogress = function progress (e) {
xhr.upload.onprogress = function progress(e) {
if (e.total > 0) {
e.percent = (e.loaded / e.total * 100 - 10)
e.percent = (e.loaded / e.total) * 100 - 10;
}
option.onProgress(e)
}
option.onProgress(e);
};
}
const formData = new FormData()
const formData = new FormData();
if (option.data) {
option.data.map(item => {
formData.append(option.appendFile, item.data)
})
formData.append(option.appendFile, item.data);
});
}
formData.append(option.appendName, option.batchNum)
formData.append(option.appendName, option.batchNum);
xhr.onerror = function error (e) {
option.onError(e)
}
xhr.onerror = function error(e) {
option.onError(e);
};
xhr.onload = function onload () {
xhr.onload = function onload() {
if (xhr.status < 200 || xhr.status >= 300) {
return option.onError(getError(action, option, xhr), getBody(xhr))
return option.onError(getError(action, option, xhr), getBody(xhr));
}
option.onSuccess(getBody(xhr))
}
option.onSuccess(getBody(xhr));
};
xhr.open('post', action, true)
if ('withCredentials' in xhr) {
xhr.withCredentials = true
xhr.open("post", action, true);
if ("withCredentials" in xhr) {
xhr.withCredentials = true;
}
const headers = option.headers || {}
const headers = option.headers || {};
if (headers['X-Requested-With'] !== null) {
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest')
if (headers["X-Requested-With"] !== null) {
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
}
for (const item in headers) {
if (headers.hasOwnProperty(item) && headers[item] !== null) {
xhr.setRequestHeader(item, headers[item])
xhr.setRequestHeader(item, headers[item]);
}
}
xhr.send(formData)
xhr.send(formData);
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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