ws 4 years ago
commit f3623e44ae

@ -48,7 +48,7 @@ export function getIdCardInfoApi(data) {
return request({
url: "/yishoudan/commons/idCardOcrRecognize",
method: "post",
data,
data: data,
headers: { "Content-Type": "multipart/form-data" },
});
}

@ -32,10 +32,10 @@ export function userTownsmanApi(data) {
params: data,
});
}
// 获取我的工单信息
// 获取我的报名信息
export function userBillApi(data) {
return request({
url: "/yishoudan/workorder/getList",
url: "/yishoudan/user/apply/order/list",
// method: "post",
params: data,
});

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

@ -54,6 +54,60 @@
<div class="content unicode" style="display: block;">
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont">&#xe744;</span>
<div class="name">向左旋转</div>
<div class="code-name">&amp;#xe744;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe746;</span>
<div class="name">向右旋转</div>
<div class="code-name">&amp;#xe746;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6e2;</span>
<div class="name">rotate旋转2</div>
<div class="code-name">&amp;#xe6e2;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6eb;</span>
<div class="name">rotate旋转</div>
<div class="code-name">&amp;#xe6eb;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe652;</span>
<div class="name">旋转</div>
<div class="code-name">&amp;#xe652;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe654;</span>
<div class="name">证件</div>
<div class="code-name">&amp;#xe654;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe73a;</span>
<div class="name">上传</div>
<div class="code-name">&amp;#xe73a;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe739;</span>
<div class="name">关闭</div>
<div class="code-name">&amp;#xe739;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe737;</span>
<div class="name">预览</div>
<div class="code-name">&amp;#xe737;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe736;</span>
<div class="name">日历</div>
@ -318,9 +372,9 @@
<pre><code class="language-css"
>@font-face {
font-family: 'iconfont';
src: url('iconfont.woff2?t=1646901898259') format('woff2'),
url('iconfont.woff?t=1646901898259') format('woff'),
url('iconfont.ttf?t=1646901898259') format('truetype');
src: url('iconfont.woff2?t=1647422420632') format('woff2'),
url('iconfont.woff?t=1647422420632') format('woff'),
url('iconfont.ttf?t=1647422420632') format('truetype');
}
</code></pre>
<h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
@ -346,6 +400,87 @@
<div class="content font-class">
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont icon-xiangzuoxuanzhuan"></span>
<div class="name">
向左旋转
</div>
<div class="code-name">.icon-xiangzuoxuanzhuan
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-xiangyouxuanzhuan"></span>
<div class="name">
向右旋转
</div>
<div class="code-name">.icon-xiangyouxuanzhuan
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-rotatexuanzhuan2"></span>
<div class="name">
rotate旋转2
</div>
<div class="code-name">.icon-rotatexuanzhuan2
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-rotatexuanzhuan"></span>
<div class="name">
rotate旋转
</div>
<div class="code-name">.icon-rotatexuanzhuan
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-xuanzhuan"></span>
<div class="name">
旋转
</div>
<div class="code-name">.icon-xuanzhuan
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-zhengjian"></span>
<div class="name">
证件
</div>
<div class="code-name">.icon-zhengjian
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-shangchuan"></span>
<div class="name">
上传
</div>
<div class="code-name">.icon-shangchuan
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-guanbi1"></span>
<div class="name">
关闭
</div>
<div class="code-name">.icon-guanbi1
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-yulan"></span>
<div class="name">
预览
</div>
<div class="code-name">.icon-yulan
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-rili"></span>
<div class="name">
@ -742,6 +877,78 @@
<div class="content symbol">
<ul class="icon_lists dib-box">
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-xiangzuoxuanzhuan"></use>
</svg>
<div class="name">向左旋转</div>
<div class="code-name">#icon-xiangzuoxuanzhuan</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-xiangyouxuanzhuan"></use>
</svg>
<div class="name">向右旋转</div>
<div class="code-name">#icon-xiangyouxuanzhuan</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-rotatexuanzhuan2"></use>
</svg>
<div class="name">rotate旋转2</div>
<div class="code-name">#icon-rotatexuanzhuan2</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-rotatexuanzhuan"></use>
</svg>
<div class="name">rotate旋转</div>
<div class="code-name">#icon-rotatexuanzhuan</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-xuanzhuan"></use>
</svg>
<div class="name">旋转</div>
<div class="code-name">#icon-xuanzhuan</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-zhengjian"></use>
</svg>
<div class="name">证件</div>
<div class="code-name">#icon-zhengjian</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-shangchuan"></use>
</svg>
<div class="name">上传</div>
<div class="code-name">#icon-shangchuan</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-guanbi1"></use>
</svg>
<div class="name">关闭</div>
<div class="code-name">#icon-guanbi1</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-yulan"></use>
</svg>
<div class="name">预览</div>
<div class="code-name">#icon-yulan</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-rili"></use>

@ -1,8 +1,8 @@
@font-face {
font-family: "iconfont"; /* Project id 3135652 */
src: url('iconfont.woff2?t=1646901898259') format('woff2'),
url('iconfont.woff?t=1646901898259') format('woff'),
url('iconfont.ttf?t=1646901898259') format('truetype');
src: url('iconfont.woff2?t=1647422420632') format('woff2'),
url('iconfont.woff?t=1647422420632') format('woff'),
url('iconfont.ttf?t=1647422420632') format('truetype');
}
.iconfont {
@ -13,6 +13,42 @@
-moz-osx-font-smoothing: grayscale;
}
.icon-xiangzuoxuanzhuan:before {
content: "\e744";
}
.icon-xiangyouxuanzhuan:before {
content: "\e746";
}
.icon-rotatexuanzhuan2:before {
content: "\e6e2";
}
.icon-rotatexuanzhuan:before {
content: "\e6eb";
}
.icon-xuanzhuan:before {
content: "\e652";
}
.icon-zhengjian:before {
content: "\e654";
}
.icon-shangchuan:before {
content: "\e73a";
}
.icon-guanbi1:before {
content: "\e739";
}
.icon-yulan:before {
content: "\e737";
}
.icon-rili:before {
content: "\e736";
}

File diff suppressed because one or more lines are too long

@ -5,6 +5,69 @@
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "19266889",
"name": "向左旋转",
"font_class": "xiangzuoxuanzhuan",
"unicode": "e744",
"unicode_decimal": 59204
},
{
"icon_id": "19266906",
"name": "向右旋转",
"font_class": "xiangyouxuanzhuan",
"unicode": "e746",
"unicode_decimal": 59206
},
{
"icon_id": "20009280",
"name": "rotate旋转2",
"font_class": "rotatexuanzhuan2",
"unicode": "e6e2",
"unicode_decimal": 59106
},
{
"icon_id": "20009323",
"name": "rotate旋转",
"font_class": "rotatexuanzhuan",
"unicode": "e6eb",
"unicode_decimal": 59115
},
{
"icon_id": "22138735",
"name": "旋转",
"font_class": "xuanzhuan",
"unicode": "e652",
"unicode_decimal": 58962
},
{
"icon_id": "4251775",
"name": "证件",
"font_class": "zhengjian",
"unicode": "e654",
"unicode_decimal": 58964
},
{
"icon_id": "28222982",
"name": "上传",
"font_class": "shangchuan",
"unicode": "e73a",
"unicode_decimal": 59194
},
{
"icon_id": "28222939",
"name": "关闭",
"font_class": "guanbi1",
"unicode": "e739",
"unicode_decimal": 59193
},
{
"icon_id": "28222874",
"name": "预览",
"font_class": "yulan",
"unicode": "e737",
"unicode_decimal": 59191
},
{
"icon_id": "28168018",
"name": "日历",

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

@ -49,7 +49,7 @@
"
@click="handleOk"
>
我的工单
我的报名
</a-button>
</div>
</div>
@ -94,7 +94,7 @@ export default {
this.$router.push("/detail/" + this.firminfo.id);
},
handleOk() {
this.$router.push("/userinfo/usercenter/mybill");
this.$router.push("/mybill");
},
},
};

@ -226,7 +226,6 @@
</div>
<div class="jobinformationbox">
<h1><i>职位信息</i></h1>
<div
v-html="jobDetail.baseInfo"
style="white-space: break-spaces; line-height: 2"
@ -849,6 +848,9 @@ export default {
}
.proxy {
margin-bottom: 16px;
div {
white-space: break-spaces;
}
// padding: 20px !important;
}
.jobinformationbox,

@ -1382,7 +1382,6 @@ export default {
text-align: center;
background: rgba(255, 106, 0, 0.1);
border-radius: 4px;
color: #ff6a00;
line-height: 30px;
div {
// font-weight: normal;
@ -1405,6 +1404,7 @@ export default {
div:last-child {
font-weight: normal;
background-color: #fff4e3;
color: #ff6a00 !important;
}
}
.bottombox1 {

@ -278,7 +278,19 @@
>
<a-input v-model="form.address" placeholder="请输入家庭住址" />
</a-form-model-item>
<a-form-model-item
ref="tel"
label="电话"
prop="tel"
:wrapperCol="{ span: 18 }"
:labelCol="{ span: 4 }"
>
<a-input
v-model="form.tel"
placeholder="请输入电话号"
:max-length="11"
/>
</a-form-model-item>
<!-- <a-form-model-item ref="username" label="模式" prop="username">
<a-select v-model="form.pattern" placeholder="请选择民族">
<a-select-option :value="apply.id">{{ apply.id }}</a-select-option>
@ -330,11 +342,12 @@
</div>
</div>
<a-modal
title="预览"
:visible="previewVisible"
:footer="null"
@cancel="previewVisible = false"
>
<img alt="example" style="width: 100%" :src="previewImage" />
<img alt="example" :src="previewImage" />
</a-modal>
</div>
</template>
@ -435,6 +448,19 @@ export default {
trigger: "blur",
},
],
tel: [
// {
// required: true,
// message: "",
// trigger: "blur",
// },
{
pattern:
/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/,
message: "请输入正确的手机号",
trigger: "blur",
},
],
// tel: [{ required: true, message: "", trigger: "submit" }],
},
form: {
@ -595,20 +621,10 @@ export default {
this.form.interviewTime = "";
}
},
async handleChange({ fileList }) {
handleChange({ fileList }) {
console.log(fileList);
console.log(fileList[0]);
this.fileList = fileList;
let formData = new FormData();
formData.append("uploadFile", fileList[0]); //
request({
method: "post",
url: "/yishoudan/commons/idCardOcrRecognize",
data: formData,
withCredentials: true,
// headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).then((request) => {
console.log(request);
});
// try {
// const { data } = await getIdCardInfoApi(formData);
@ -670,7 +686,7 @@ export default {
).toString(16);
});
},
customRequestFun(file) {
async customRequestFun(file) {
console.dir(file.onSuccess);
let _self = this;
var formData = new FormData();
@ -682,7 +698,43 @@ export default {
formData.append("Signature", _self.dataObj.signature); //
formData.append("success_action_status", "200"); // 204
formData.append("file", file.file); //
let formData1 = new FormData();
console.log(file.file);
formData1.append("uploadFile", file.file); //
// try {
// const { data } = await getIdCardInfoApi(formData1);
// console.log(data);
// } catch (err) {
// console.log(err);
// }
request({
method: "post",
url: "/yishoudan/commons/idCardOcrRecognize",
data: formData1,
withCredentials: true,
// headers: {'Content-Type': 'application/x-www-form-urlencoded'}
headers: {
"Content-Type":
"multipart/form-data;boundary = " + new Date().getTime(),
},
})
.then(({ data }) => {
if (data.status === 200) {
// console.log(this.$message);
if (data.data.IDCard !== null && data.data.IDCard !== "") {
this.form.idCard = data.data.IDCard;
} else {
this.$message.error("身份证识别失败,请重新上传图片");
}
} else {
this.$message.error("上传失败,请重新上传");
}
console.log(data);
})
.catch((err) => {
console.log(err);
});
file.onProgress();
$.ajax({
type: "post",
@ -743,7 +795,7 @@ export default {
position: relative !important;
box-shadow: none;
// transform: translateX(-10px);
margin-top: -12px;
margin-top: 12px;
> div {
margin-left: 251px;
display: flex;
@ -833,6 +885,8 @@ export default {
/deep/ .ant-upload-picture-card-wrapper {
width: 100px !important;
height: 40px !important;
// border: 1px solid #ddd !important;
// box-sizing: border-box;
.ant-upload.ant-upload-select-picture-card,
.ant-upload-list-item,
.ant-upload-list-picture-card-container {
@ -844,12 +898,24 @@ export default {
padding: 0;
border-color: #dddddd !important;
box-sizing: border-box;
border-radius: 2px;
&:hover {
border-color: #ff6a00 !important;
}
.ant-upload {
padding: 0;
}
.ant-upload-list-item-info {
margin-top: 0px;
a {
width: 98px;
height: 38px;
border-radius: 2px;
}
img {
display: block;
width: 98px;
height: 38px;
border-radius: 2px;
}
}
@ -974,14 +1040,26 @@ export default {
}
}
/deep/ .ant-modal-content {
// padding: 0;
.ant-modal-close-x {
width: 32px;
height: 16px;
.anticon-close {
vertical-align: 10px;
margin-top: -10px;
.ant-modal-header {
border-bottom: 1px solid transparent;
padding-top: 14px;
padding-bottom: 14px;
}
.ant-modal-body {
padding: 24px;
padding-top: 0;
img {
display: block;
width: 100%;
}
}
.ant-modal-close-x {
height: 50px;
line-height: 50px;
// .anticon-close {
// vertical-align: 10px;
// margin-right: -4px;
// }
}
}
</style>

@ -1,23 +1,23 @@
<template>
<div class="mybill-container">
<div class="mybill-container w">
<div class="contenttitle">
<span>我的工单</span>
<span>我的报名</span>
<div @click="resetpag">
<button
@click="pagination.searchTag = 0"
:class="{ townsmanactive: pagination.searchTag === 0 }"
@click="pagination.statusTag = 0"
:class="{ townsmanactive: pagination.statusTag === 0 }"
>
打电话
</button>
<button
@click="pagination.searchTag = 1"
:class="{ townsmanactive: pagination.searchTag === 1 }"
@click="pagination.statusTag = 1"
:class="{ townsmanactive: pagination.statusTag === 1 }"
>
推工作
</button>
<button
@click="pagination.searchTag = 2"
:class="{ townsmanactive: pagination.searchTag === 2 }"
@click="pagination.statusTag = 2"
:class="{ townsmanactive: pagination.statusTag === 2 }"
>
跟在职
</button>
@ -37,13 +37,30 @@
:locale="tablenodata"
:rowKey="(record) => record.index"
>
<a slot="name" slot-scope="text">{{ text }}</a>
<span
slot="userName"
slot-scope="text, userName"
style="display: flex; align-items: center; line-height: 18px"
><a
class="iconfont icon-zhengjian"
style="margin-right: 5px"
:style="{ color: userName.idCardImageUrl !== '' ? 'blue' : '#999' }"
@click="showdiymodal(userName)"
></a
>{{ userName.userName }}/{{ userName.sex }}/{{ userName.age }}</span
>
<a
slot="operate"
slot-scope="text, operate"
@click="customRendert(operate)"
>查看</a
>
</a-table>
<div class="pagecontainer">
<a-pagination
:current="+pagination.pageNum"
:default-current="1"
:defaultPageSize="2"
:defaultPageSize="6"
:total="pagination.total"
@change="onChange"
/>
@ -58,15 +75,52 @@
</div>
</div>
</div>
<div id="diymodal" class="diymodal" v-if="isdiymodalshow">
<div class="title" @mousedown.stop="movebox">
<i class="iconfont icon-guanbi" @click.stop="closemodal"></i>
</div>
<div class="body" @mousewheel="mousewhell">
<div class="imgbox1" v-if="idcardimg !== ''">
<div
class="imgbox"
:style="{ background: `url('${idcardimg}')` }"
></div>
</div>
<div class="warningbox" v-else>
<div>
<img src="../../../../assets/warning.png" alt="" />
</div>
<p>未上传身份证照片,无法查看</p>
<div><button @click="isdiymodalshow = false">确定</button></div>
</div>
<!-- <img :src="idcardimg" alt="" draggable="false" /> -->
</div>
<div class="footer">
<i
class="iconfont icon-rotatexuanzhuan"
title="旋转"
@click="rotate(-90)"
></i>
<i
class="iconfont icon-rotatexuanzhuan2"
title="旋转"
@click="rotate(90)"
></i>
</div>
</div>
</div>
</template>
<script>
import { userBillApi } from "../../../../api/userinfo";
import { formatDateYMD } from "../../../../utils/commonUtil";
import {
getUserApplyOrderStatusById,
formatDateYMDHMS,
} from "../../../../utils/commonUtil";
export default {
//
name: "",
name: "mybillcontainer",
//
components: {},
//
@ -89,11 +143,15 @@ export default {
),
},
isspinning: false,
idcardimg: "", // url
isdiymodalshow: false, //
scaleNum: 1, //
rotateNum: 0,
pagination: {
pageNum: 1,
pageSize: 2,
pageSize: 6,
total: null, //
searchTag: 0,
statusTag: 0,
},
columns: [
{
@ -105,32 +163,63 @@ export default {
width: 60,
},
{
title: "老乡姓名",
dataIndex: "nickName",
key: "nickName",
title: "姓名",
dataIndex: "userName",
key: "userName",
ellipsis: true,
width: 90,
width: 120,
scopedSlots: { customRender: "userName" },
},
{
title: "老乡手机号",
title: "电话",
dataIndex: "tel",
key: "tel",
width: 120,
ellipsis: true,
},
{
title: "跟进记录",
dataIndex: "userServeRecordDespLatest",
key: "userServeRecordDespLatest",
title: "报名企业",
dataIndex: "storeName",
key: "storeName",
width: 120,
ellipsis: true,
},
{
title: "更新时间",
dataIndex: "updateTime",
key: "updateTime",
title: "报名岗位",
dataIndex: "storeJobName",
key: "storeJobName",
width: 120,
ellipsis: true,
},
{
title: "面试时间",
dataIndex: "interviewTime",
key: "interviewTime",
width: 150,
ellipsis: true,
},
{
title: "政策",
dataIndex: "policy",
key: "policy",
width: 120,
ellipsis: true,
},
{
title: "状态",
dataIndex: "statusTag",
key: "statusTag",
ellipsis: true,
width: 160,
},
{
title: "操作",
dataIndex: "operate",
key: "operate",
ellipsis: true,
width: 160,
scopedSlots: { customRender: "operate" },
},
],
data: [],
};
@ -176,20 +265,29 @@ export default {
},
async getBill() {
console.log("click");
console.log(this.pagination.searchTag);
console.log(this.pagination.statusTag);
try {
this.isspinning = true;
const { data } = await userBillApi(this.pagination);
console.log(data);
if (data.status === 200) {
// console.log();
this.data = data.data.recordList;
this.data.forEach((item, index) => {
console.log(item);
item.updateTime = formatDateYMD(item.updateTime);
if (item.sex === 1) {
item.sex = "男";
} else if (item.sex === 2) {
item.sex = "女";
} else {
item.sex = "未知";
}
item.statusTag = getUserApplyOrderStatusById(item.status);
item.interviewTime = formatDateYMDHMS(item.interviewTime);
item.index = index + 1;
});
console.log(this.data);
console.log(true);
this.pagination.total = data.data.recordCount;
}
@ -201,17 +299,214 @@ export default {
resetpag() {
this.pagination = {
pageNum: 1,
pageSize: 2,
total: 8, //
searchTag: this.pagination.searchTag,
pageSize: 6,
total: null, //
statusTag: this.pagination.statusTag,
};
this.getBill();
},
customRendert(a) {
console.log(a);
this.$message.success(a.id);
// console.log(c);
},
showdiymodal(info) {
//
console.log(info);
this.isdiymodalshow = true;
if (info.idCardImageUrl !== null && info.idCardImageUrl !== "") {
this.idcardimg = info.idCardImageUrl;
}
// this.$nextTick(() => {
// });
},
movebox(e) {
//
let modalbox = document.querySelector("#diymodal");
var x = e.pageX - modalbox.offsetLeft;
var y = e.pageY - modalbox.offsetTop;
var mousemove = function (e) {
modalbox.style.left = e.pageX - x + "px"; // e.pageX,x,
modalbox.style.top = e.pageY - y + "px";
};
modalbox.addEventListener("mousemove", mousemove);
var mouseup = function () {
// modalbox.removeEventListener("mousedown", mousedown);
modalbox.removeEventListener("mousemove", mousemove);
};
modalbox.addEventListener("mouseup", mouseup);
},
mousewhell(e) {
//
let that = this;
console.log(e);
console.log(that.scaleNum);
console.log(this.scaleNum);
var delta = 0;
let imgbox = document.querySelector(".imgbox");
// if (Math.abs(that.rotateNum / 90) % 2 !== 0) {
// imgbox.style.transformOrigin = `${e.offsetY}px ${e.offsetX}px`; // ,
// } else {
imgbox.style.transformOrigin = `${e.offsetX}px ${e.offsetY}px`; // ,
// }
var handle = function (delta) {
// let
let scaleNum = (that.scaleNum += delta / 15);
if (delta < 0) {
//
console.log(that.scaleNum);
if (scaleNum <= 0.5) {
that.scaleNum = 0.5;
}
} else {
//
console.log(that.scaleNum);
if (scaleNum >= 3) {
that.scaleNum = 3;
}
}
imgbox.style.transform = `scale(${that.scaleNum})`;
};
if (!e) e = window.event;
if (e.wheelDelta) {
//IEchrome使wheelDelta180
delta = e.wheelDelta / 180;
if (window.opera) delta = -delta; //IEchromeFF
} else if (e.detail) {
//FF使detail,3
delta = -e.detail / 3;
}
if (delta) {
handle(delta);
}
},
closemodal() {
this.isdiymodalshow = false;
this.idcardimg = "";
this.scaleNum = 1;
},
rotate(e) {
let imgbox1 = document.querySelector(".imgbox1");
let imgbox = document.querySelector(".imgbox");
this.scaleNum = 1;
console.log(this.scaleNum);
this.rotateNum += e;
console.log(imgbox1.style);
console.log(this.rotateNum);
imgbox.style.transformOrigin = `50% 50%`; // ,
// imgbox.style.transformOrigin = `${e.offsetX}px ${e.offsetY}px`; // ,
imgbox1.style.transform = `rotate(${this.rotateNum}deg)`;
this.mousewhell(e);
},
},
};
</script>
<style scoped lang="less">
.mybill-container {
position: relative;
min-height: 536px;
margin-top: 20px;
border-radius: 4px;
padding: 1px 10px;
background-color: #fff;
.diymodal {
// display: none;
width: 512px;
height: 512px;
position: fixed;
border: #ebebeb solid 1px;
left: 50%;
top: 50%;
background: #ffffff;
box-shadow: 0px 5px 20px #ddd;
z-index: 9999;
transform: translate(-50%, -60%);
.title {
height: 30px;
border-bottom: 1px solid rgb(240, 240, 240);
i {
float: right;
width: 30px;
margin: 2px 3px 0 0;
line-height: 30px;
text-align: center;
font-size: 12px;
cursor: pointer;
}
}
.body {
height: calc(100% - 60px);
width: 100%;
padding: 10px 0;
overflow: hidden;
.imgbox1 {
height: 100%;
.imgbox {
position: relative;
// width: 100%;
height: 100%;
background-repeat: no-repeat !important;
background-size: contain !important;
background-position: center center !important;
}
}
.warningbox {
height: 100%;
text-align: center;
> div:first-child {
margin-top: 20px;
}
// overflow: hidden;
img {
width: 88px;
height: 88px;
}
p {
font-size: 16px;
margin-top: 30px;
}
> div:last-child {
margin-top: 20px;
height: 32px;
button {
float: right;
width: 72px;
height: 32px;
background-color: #ff6a00;
border: none;
color: #fff;
border-radius: 4px;
margin-right: 30px;
}
}
}
// img {
// height: 100%;
// }
}
.footer {
height: 40px;
width: 100%;
border-top: 1px solid rgb(240, 240, 240);
background-color: #fff;
text-align: center;
i {
font-size: 20px;
line-height: 40px;
color: #a1a1a1;
// font-weight: bold;
cursor: pointer;
&:first-child {
margin-right: 25px;
}
}
}
}
}
.contenttitle {
display: flex;
padding-bottom: 16px;
@ -250,4 +545,18 @@ export default {
}
}
}
.contentbody {
/deep/ .ant-table-placeholder {
min-height: 300px;
> div {
position: relative;
height: 131px;
top: 30px;
// transform: translateY(-50%);
}
}
}
.icon-zhengjian {
transform: scaleX(-1.2);
}
</style>

@ -1,5 +1,5 @@
<template>
<div class="townsman-container">
<div class="townsman-container w">
<div class="contenttitle">
<span>我的老乡</span>
<div @click="getTownsman">
@ -199,6 +199,9 @@ export default {
</script>
<style scoped lang="less">
.townsman-container {
padding: 0 10px;
}
.contenttitle {
display: flex;
padding-bottom: 16px;
@ -240,5 +243,14 @@ export default {
}
.contentbody {
overflow: hidden;
/deep/ .ant-table-placeholder {
min-height: 300px;
> div {
position: relative;
height: 131px;
top: 30px;
// transform: translateY(-50%);
}
}
}
</style>

@ -2,7 +2,7 @@
<div class="usercenter-container">
<div class="usercontent w">
<div class="leftlist">
<div class="userbaseinfo">
<!-- <div class="userbaseinfo">
<ul>
<li
@click="pushto('/userinfo/usercenter/townsman')"
@ -19,7 +19,7 @@
><i class="iconfont icon-youjiantou"></i>
</li>
</ul>
</div>
</div> -->
<div class="priceinfo">
<ul>
<li
@ -223,7 +223,7 @@ export default {
}
.priceinfo {
ul {
margin-top: 16px;
// margin-top: 16px;
// padding: 0 16px;
background-color: #fff;
border-radius: 4px;

@ -20,3 +20,4 @@ new Vue({
store,
render: (h) => h(App),
}).$mount("#app");
export default Vue;

@ -7,7 +7,7 @@ router.beforeEach(async (to, from, next) => {
// 路由守卫
console.log(from);
if (from.fullPath === "/list") {
console.log(213);
// console.log(213);
sessionStorage.setItem("ISLIST", JSON.stringify(true));
} else {
sessionStorage.setItem("ISLIST", JSON.stringify(false));

@ -83,6 +83,18 @@ const routes = [
// },
],
},
{
path: "mytownsman",
name: "mytownsman",
component: () =>
import("../components/userinfo/usercenter/components/townsman.vue"),
},
{
path: "mybill",
name: "mybill",
component: () =>
import("../components/userinfo/usercenter/components/mybill.vue"),
},
],
},
{
@ -95,22 +107,30 @@ const routes = [
path: "usercenter",
name: "usercenter",
component: () => import("../components/userinfo/usercenter/index.vue"),
redirect: "townsman",
redirect: "usercenter/myintegral",
children: [
// {
// path: "townsman",
// name: "townsman",
// component: () =>
// import(
// "../components/userinfo/usercenter/components/townsman.vue"
// ),
// },
// {
// path: "mybill",
// name: "mybill",
// component: () =>
// import("../components/userinfo/usercenter/components/mybill.vue"),
// },
{
path: "townsman",
name: "townsman",
path: "myintegral",
name: "myintegral",
component: () =>
import(
"../components/userinfo/usercenter/components/townsman.vue"
"../components/userinfo/usercenter/components/myintegral.vue"
),
},
{
path: "mybill",
name: "mybill",
component: () =>
import("../components/userinfo/usercenter/components/mybill.vue"),
},
{
path: "mycard",
name: "mycard",
@ -125,14 +145,6 @@ const routes = [
"../components/userinfo/usercenter/components/mybalance.vue"
),
},
{
path: "myintegral",
name: "myintegral",
component: () =>
import(
"../components/userinfo/usercenter/components/myintegral.vue"
),
},
],
},
{
@ -184,6 +196,18 @@ const routes = [
},
],
},
{
path: "mytownsman",
name: "mytownsman",
component: () =>
import("../components/userinfo/usercenter/components/townsman.vue"),
},
{
path: "mybill",
name: "mybill",
component: () =>
import("../components/userinfo/usercenter/components/mybill.vue"),
},
],
},
{

@ -27,6 +27,7 @@ td,
div {
margin: 0;
padding: 0;
color: #475d5e;
font-family: PingFangSC, PingFangSC-Regular;
}
body,
@ -148,6 +149,42 @@ i {
-moz-osx-font-smoothing: grayscale;
}
.icon-xiangzuoxuanzhuan:before {
content: "\e744";
}
.icon-xiangyouxuanzhuan:before {
content: "\e746";
}
.icon-rotatexuanzhuan2:before {
content: "\e6e2";
}
.icon-rotatexuanzhuan:before {
content: "\e6eb";
}
.icon-xuanzhuan:before {
content: "\e652";
}
.icon-zhengjian:before {
content: "\e654";
}
.icon-shangchuan:before {
content: "\e73a";
}
.icon-guanbi1:before {
content: "\e739";
}
.icon-yulan:before {
content: "\e737";
}
.icon-rili:before {
content: "\e736";
}
@ -560,7 +597,7 @@ p.bottombox {
}
.ant-cascader-menu,
.ant-modal-body {
max-height: 300px !important;
// max-height: 300px !important;
&::-webkit-scrollbar {
/*滚动条整体样式*/
width: 7px; /*高宽分别对应横竖滚动条的尺寸*/

@ -26,6 +26,7 @@ td,
div {
margin: 0;
padding: 0;
color: #475d5e;
font-family: PingFangSC, PingFangSC-Regular;
}
body,
@ -134,6 +135,33 @@ i {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-xiangzuoxuanzhuan:before {
content: "\e744";
}
.icon-xiangyouxuanzhuan:before {
content: "\e746";
}
.icon-rotatexuanzhuan2:before {
content: "\e6e2";
}
.icon-rotatexuanzhuan:before {
content: "\e6eb";
}
.icon-xuanzhuan:before {
content: "\e652";
}
.icon-zhengjian:before {
content: "\e654";
}
.icon-shangchuan:before {
content: "\e73a";
}
.icon-guanbi1:before {
content: "\e739";
}
.icon-yulan:before {
content: "\e737";
}
.icon-rili:before {
content: "\e736";
}
@ -467,10 +495,6 @@ p.bottombox::after {
left: -20px;
background-color: #eeefef;
}
.ant-cascader-menu,
.ant-modal-body {
max-height: 300px !important;
}
.ant-cascader-menu::-webkit-scrollbar,
.ant-modal-body::-webkit-scrollbar {
/*滚动条整体样式*/

@ -1103,6 +1103,47 @@ export function formatDateYMD(val) {
}
return fmt;
}
export function formatDateYMDHMS(val) {
// model -> view在更新 `<input>` 元素之前格式化值
if (val !== "") {
if (val !== null && val !== "" && typeof val == "string") {
if (val.indexOf("T")) {
val = val.replace("T", " "); //原来L端可能返回的时间格式有带T的格式处理一下
}
val = val.replace("-", "/").replace("-", "/");
}
var value = new Date(val);
//console.log(val);
var fmt = "yyyy-MM-dd HH:mm";
var o = {
"M+": value.getMonth() + 1, //月份
"d+": value.getDate(), //日
"H+": value.getHours(), //小时
//"h+": val.getHours()%12 == 0 ? 12 : val.getHours()%12, //小时
"m+": value.getMinutes(), //分
"s+": value.getSeconds(), //秒
//"S": val.getMilliseconds() //毫秒
//"q+": Math.floor((val.getMonth() + 3) / 3) //季度
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(
RegExp.$1,
(value.getFullYear() + "").substr(4 - RegExp.$1.length)
);
for (var k in o) {
if (new RegExp("(" + k + ")").test(fmt)) {
fmt = fmt.replace(
RegExp.$1,
RegExp.$1.length == 1
? o[k]
: ("00" + o[k]).substr(("" + o[k]).length)
);
}
}
return fmt;
}
}
function getJobSpecialLabelNamesArray(jobSpecialLabelNames) {
if (isNotEmptyCheck(jobSpecialLabelNames)) {
return jobSpecialLabelNames.split(", ");
@ -1110,6 +1151,35 @@ function getJobSpecialLabelNamesArray(jobSpecialLabelNames) {
return [];
}
/**
* 处理工单状态
*/
export function userApplyOrderStatusArray() {
let orderStatus = [
{ id: "10", name: "审核中" },
{ id: "20", name: "跟面试" },
{ id: "30", name: "跟入职" },
{ id: "40", name: "跟在职" },
{ id: "50", name: "跟离职" },
{ id: "60", name: "已完成" },
{ id: "70", name: "已放弃" },
];
return orderStatus;
}
/**
* 根据工单状态ID获取名称
*/
export function getUserApplyOrderStatusById(id) {
let str = "";
let array = userApplyOrderStatusArray();
array.forEach((item) => {
if (item.id == id) {
str = item.name;
}
});
return str;
}
// 处理职位列表的方法
export function disposeJobListData(jobList) {
if (jobList !== undefined) {

@ -1,4 +1,6 @@
import axios from "axios";
import router from "@/router";
// import Vue from "vue";
const baseURL = "http://1shoudan.com"; // 正式环境线上
console.log(baseURL);
// const baseURL = "https://d.matripe.com.cn"; // 正式环境本地
@ -11,9 +13,38 @@ axios.defaults.withCredentials = true; //添加这行代码
// console.log(axios);
const service = axios.create({
baseURL: "/api_prod", // url = base url + request url
// baseURL: baseURL, // baseURL: "/api", // url = base url + request url
// baseURL: baseURL, // baseURL: "/api", // url = base url + request url
withCredentials: true, // send cookies when cross-domain requests
timeout: 10000, // request timeout
crossDomain: true,
});
service.interceptors.response.use(
(response) => {
const { msg, status } = response.data;
console.log(status);
if (status == 9999) {
sessionStorage.removeItem("LOGIN_DATA");
router.push("/login");
// 跳转到登录页面
// this.$message.warning(msg);
return Promise.reject(new Error("token过期"));
}
if (response.status === 200) {
return response;
} else {
// Message.error(message)
return Promise.reject(new Error(msg));
}
},
(error) => {
console.log(error);
// if (error.toString().indexOf("9999") !== -1) {
// router.push("/login");
// // Vue.$message.warning(msg)
// } else if (error.message.indexOf("500") !== -1) {
// }
// return Promise.reject(error);
}
);
export default service;

@ -50,13 +50,14 @@
</li>
</ul>
</span>
<span class="login">
<span v-if="isLogin">
<a-dropdown overlayClassName="logindropdown">
<span><i class="iconfont icon-morentouxiang"></i></span>
<div class="loginbox" slot="overlay">
<div>{{ loginValue.tel }}</div>
<router-link to="/userinfo/usercenter/townsman">
<router-link to="/userinfo/usercenter">
<div>
<span
><i class="iconfont icon-gerenzhongxin"></i>个人中心</span
@ -74,13 +75,31 @@
</div>
</a-dropdown>
</span>
<span v-if="!isLogin">
<span class="loginbtn" v-else>
<!-- <router-link to="/register">注册</router-link>/ -->
<router-link to="/login"
><button style="cursor: pointer">登录</button></router-link
></span
>
</span>
<span class="navigationright">
<ul>
<li>
<router-link
to="/mytownsman"
:class="routertitleindex === 4 ? 'titleactiveafter' : ''"
>我的老乡
</router-link>
</li>
<li>
<router-link
to="/mybill"
:class="routertitleindex === 5 ? 'titleactiveafter' : ''"
>我的报名
</router-link>
</li>
</ul>
</span>
</div>
</div>
<!-- 搜索栏 -->
@ -236,8 +255,12 @@ export default {
return 3;
} else if (path.indexOf("main") > -1) {
return 0;
} else {
} else if (path.indexOf("mytownsman") > -1) {
return 4;
} else if (path.indexOf("mybill") > -1) {
return 5;
} else {
return 6;
}
},
},
@ -498,17 +521,46 @@ export default {
}
}
}
.navigationright {
float: right;
margin-right: 24px;
font-size: 16px;
ul {
display: flex;
text-align: center;
line-height: 52px;
li {
cursor: pointer;
a.titleactiveafter {
font-size: 16px;
font-weight: bold;
color: #ff6a00;
}
a:hover {
color: #ff6a00;
}
&:first-child {
margin-right: 24px;
}
}
}
}
.login {
float: right;
width: 70px;
// width: 36px;
line-height: 52px;
span {
.loginbtn {
width: 70px;
}
> span {
width: 36px;
height: 36px;
span {
width: 36px;
height: 36px;
margin-top: 8px;
margin-left: 33px;
margin-top: 4px;
// margin-left: 33px;
border-radius: 999px;
// background-color: #ff6a00;
margin-right: -3px;

@ -3,14 +3,14 @@
<!-- title部分 -->
<div class="pagetitle">
<div class="w">
<span>
<span class="titlelogo">
<!-- <i class="iconfont icon-yigezhuanmenfuwudailidepingtai"></i> -->
<router-link to="/main"
><svg class="icon" aria-hidden="true">
<use xlink:href="#icon-dingbulogo"></use></svg
></router-link>
</span>
<span>
<span class="navigationleft">
<ul>
<li>
<router-link
@ -22,7 +22,7 @@
</li>
<li>
<router-link
to="/userinfo/usercenter/townsman"
to="/userinfo/usercenter"
:class="routertitleindex === 1 ? 'titleactive' : ''"
>个人中心</router-link
>
@ -42,7 +42,7 @@
<span><i class="iconfont icon-morentouxiang"></i></span>
<div class="loginbox" slot="overlay">
<div>{{ loginValue.tel }}</div>
<router-link to="/userinfo/usercenter/townsman">
<router-link to="/userinfo/usercenter">
<div>
<span
><i class="iconfont icon-gerenzhongxin"></i>个人中心</span
@ -61,13 +61,31 @@
</div>
</a-dropdown>
</span>
<span v-if="!isLogin">
<span v-else class="loginbtn">
<!-- <router-link to="/register">注册</router-link>/ -->
<router-link to="/login"
><button style="cursor: pointer">登录</button></router-link
></span
>
</span>
<span class="navigationright">
<ul>
<li>
<router-link
to="/userinfo/mytownsman"
:class="routertitleindex === 3 ? 'titleactiveafter' : ''"
>我的老乡
</router-link>
</li>
<li>
<router-link
to="/userinfo/mybill"
:class="routertitleindex === 4 ? 'titleactiveafter' : ''"
>我的报名
</router-link>
</li>
</ul>
</span>
</div>
</div>
<!-- 搜索栏 -->
@ -181,7 +199,7 @@ export default {
isspinning: false,
isspecialboxshow: false,
isfootershow: true,
laoxiangshow: false,
laoxiangshow: false, // 广
isbannershow: true,
isLogin: false,
loginValue: {},
@ -209,8 +227,12 @@ export default {
return 1;
} else if (path.indexOf("accountsetting") > -1) {
return 2;
} else {
} else if (path.indexOf("mytownsman") > -1) {
return 3;
} else if (path.indexOf("mybill") > -1) {
return 4;
} else {
return 5;
}
},
},
@ -344,7 +366,7 @@ export default {
font-size: 16px;
.titleactive {
font-size: 16px;
font-weight: normal;
font-weight: bold;
color: #ff6a00;
}
.w {
@ -356,7 +378,7 @@ export default {
span {
float: left;
}
> span:first-of-type {
.titlelogo {
display: block;
width: 160px;
height: 52px;
@ -375,7 +397,7 @@ export default {
// color: #ff6a00;
}
}
> span:nth-of-type(2) {
.navigationleft {
ul {
font-size: 16px;
display: flex;
@ -395,17 +417,44 @@ export default {
}
}
}
.navigationright {
float: right;
margin-right: 24px;
ul {
display: flex;
text-align: center;
line-height: 52px;
li {
cursor: pointer;
a.titleactiveafter {
font-weight: bold;
color: #ff6a00;
}
a:hover {
color: #ff6a00;
}
&:first-child {
margin-right: 24px;
}
}
}
}
.login {
float: right;
width: 70px;
// width: 36px;
line-height: 52px;
span {
.loginbtn {
width: 70px;
}
> span {
width: 36px;
height: 36px;
span {
width: 36px;
height: 36px;
margin-top: 8px;
margin-left: 33px;
margin-top: 5px;
// margin-left: 33px;
border-radius: 999px;
// background-color: #ff6a00;
margin-right: -3px;

Loading…
Cancel
Save