cyl/dev
wangxia 4 years ago
parent 3afdf19e30
commit de380baec8

12
package-lock.json generated

@ -11,6 +11,8 @@
"ant-design-vue": "^1.7.8",
"axios": "^0.25.0",
"core-js": "^3.6.5",
"jquery": "^3.6.0",
"moment": "^2.29.1",
"vue": "^2.6.11",
"vue-router": "3.0",
"vuex": "^3.4.0"
@ -9005,6 +9007,11 @@
"integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==",
"dev": true
},
"node_modules/jquery": {
"version": "3.6.0",
"resolved": "https://registry.npmmirror.com/jquery/-/jquery-3.6.0.tgz",
"integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw=="
},
"node_modules/js-message": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz",
@ -23476,6 +23483,11 @@
"integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==",
"dev": true
},
"jquery": {
"version": "3.6.0",
"resolved": "https://registry.npmmirror.com/jquery/-/jquery-3.6.0.tgz",
"integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw=="
},
"js-message": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz",

@ -14,6 +14,7 @@
"jquery": "^3.6.0",
"moment": "^2.29.1",
"vue": "^2.6.11",
"vue-cropper": "^0.5.8",
"vue-router": "3.0",
"vuex": "^3.4.0"
},

@ -52,3 +52,21 @@ export function getIdCardInfoApi(data) {
headers: { "Content-Type": "multipart/form-data" },
});
}
// 获取渠道经理对应代理id
export function getProxyInfoApi(data) {
return request({
url: `/yishoudan/agency/getByPmdUserId?pmdUserId=${data}`,
});
}
// 根据关键字获取企业的列表
export function getStoreAliasApi(data) {
return request({
url: `/yishoudan/store/getAllStoreAliasName?keys=${data}`,
});
}
// 根据关键字获取企业的列表
export function getStoreJobApi(data) {
return request({
url: `/yishoudan/store/job/getJobNameByStoreId?storeId=${data}`,
});
}

@ -10,7 +10,6 @@
<span>一手职位</span>
</router-link>
</a-breadcrumb-item>
<!-- <a-breadcrumb-item href="" v-if="!islist"> -->
<a-breadcrumb-item>
<router-link :to="'/detail/' + firminfo.id">
<!-- <span @click="$router.back(-1)"></span> -->
@ -42,7 +41,7 @@
:disabled="true"
/> -->
<div class="pzbox" style="width: 100%">
<span>
<span v-if="proxyStatus === ''">
{{
proxyinfo.userName !== "" &&
proxyinfo.userName !== null &&
@ -51,13 +50,30 @@
: proxyinfo.tel
}}</span
>
<a-select
v-if="proxyStatus === 'proxy'"
mode="combobox"
auto-focus
style="width: calc(100% - 200px)"
placeholder="请选择代理"
@blur="proxyStatus = ''"
>
<a-select-option
v-for="i in proxyList"
:key="i.userName"
@click="proxyChange(i)"
>
{{ i.userName }}
</a-select-option>
</a-select>
<span
@click="proxyStatus = 'proxy'"
:style="{
color: '#ff6a00',
marginLeft: '10px',
cursor: 'pointer',
}"
v-if="isMaster"
v-if="isMaster && proxyStatus !== 'proxy'"
>修改</span
>
</div>
@ -72,14 +88,37 @@
>
<!-- <a-input :value="firminfo.aliasName" :disabled="true" /> -->
<div class="pzbox" style="width: 100%">
<span>{{ firminfo.aliasName }}</span>
<span v-if="storeStatus === ''">{{ firminfo.aliasName }}</span>
<a-select
v-if="storeStatus === 'store'"
show-search
auto-focus
mode="combobox"
placeholder="请选择企业"
style="width: calc(100% - 200px)"
:default-active-first-option="false"
:show-arrow="false"
:filter-option="false"
:not-found-content="null"
@search="storeSearch"
@blur="storeStatus = ''"
>
<a-select-option
v-for="i in storeList"
:key="i.aliasName"
@click="storeChange(i)"
>
{{ i.aliasName }}
</a-select-option>
</a-select>
<span
@click="storeStatus = 'store'"
:style="{
color: '#ff6a00',
marginLeft: '10px',
cursor: 'pointer',
}"
v-if="isMaster"
v-if="isMaster && storeStatus !== 'store'"
>修改</span
>
</div>
@ -94,14 +133,32 @@
>
<!-- <a-input :value="firminfo.jobName" :disabled="true" /> -->
<div class="pzbox" style="width: 100%">
<span>{{ firminfo.jobName }}</span>
<span v-if="jobnameStatus === ''">{{ firminfo.jobName }}</span>
<a-select
v-if="jobnameStatus === 'jobname'"
show-search
auto-focus
placeholder="请选择岗位"
option-filter-prop="children"
style="width: 200px"
@blur="jobnameStatus = ''"
>
<a-select-option
v-for="i in storeJobList"
:key="i.id"
@click="storeJobChange(i)"
>
{{ i.aliasName }}
</a-select-option>
</a-select>
<span
@click="selected"
:style="{
color: '#ff6a00',
marginLeft: '10px',
cursor: 'pointer',
}"
v-if="isMaster"
v-if="isMaster && jobnameStatus !== 'jobname'"
>修改</span
>
</div>
@ -280,7 +337,7 @@
alt="avatar"
/> -->
<div
v-if="!loading"
v-if="fileList.length == 0"
style="
display: flex;
justify-content: center;
@ -291,19 +348,22 @@
<a-icon type="plus" />
<div class="ant-upload-text">上传证件</div>
</div>
<div
v-else
style="
display: flex;
justify-content: center;
align-items: center;
"
class="uploading"
>
<a-icon :type="loading ? 'loading' : 'plus'" />
<div class="ant-upload-text">上传中</div>
</div>
</a-upload>
<div
v-if="loading"
style="
display: flex;
justify-content: center;
align-items: center;
"
class="uploading"
>
<a-icon
:type="loading ? 'loading' : 'plus'"
style="margin-right: 10px"
/>
<div class="ant-upload-text">上传中</div>
</div>
<i
class="iconfont icon-guanbi"
v-if="fileList.length !== 0"
@ -388,7 +448,12 @@ import { nationlist } from "../../utils/datalist";
import moment from "moment";
import { isEmptyCheck } from "../../utils/commonUtil";
import timepicker from "./components/timepicker.vue";
import { recordBillApi } from "@/api/job";
import {
recordBillApi,
getProxyInfoApi,
getStoreAliasApi,
getStoreJobApi,
} from "@/api/job";
import request from "@/utils/request";
// import axios from "axios";
import $ from "jquery";
@ -408,13 +473,22 @@ export default {
return {
// facetimedate: "",
previewVisible: false,
proxyStatus: "", //
storeStatus: "", //
jobnameStatus: "", //
previewImage: "",
isMaster: true,
isShow: false,
nationlist,
moment,
loading: false,
confirmLoading: false,
fetching: false,
proxyList: [],
storeList: [],
storeJobList: [],
userinfo: {},
islist: false,
fileList: [],
confirmLoading: false,
dataObj: {
policy: "",
signature: "",
@ -500,6 +574,9 @@ export default {
idCard: "",
sex: "", //
age: "", //
agencyId: "", // id
storeJobId: "", // id
qiyeId: "", // id
nation: undefined, //
address: "", //
policy: "", //
@ -507,10 +584,8 @@ export default {
idCardImageUrl: "",
},
proxyinfo: {},
nationlist,
firminfo: {},
moment,
loading: false,
};
},
//
@ -531,23 +606,16 @@ export default {
} else {
this.firminfo = this.$route.params;
}
console.log();
// this.userinfo = JSON.parse(userinfo);
this.proxyinfo = JSON.parse(sessionStorage.getItem("LOGIN_DATA"));
if (this.proxyinfo.roleOfPmd) {
this.isMaster = true;
}
this.getProxyInfo(this.proxyinfo.id);
console.log(this.proxyinfo);
// sessionStorage.setItem("CURRENT_FIRM", JSON.stringify(userinfo));
console.log(this.firminfo);
// console.log(this.proxyinfo);
// console.dir(document.querySelector(".ant-calendar-picker-input"));
// let picker = document.querySelector(".ant-calendar-picker-input");
// picker.addEventListener(
// "focus",
// function () {
// console.log(document.querySelector(".ant-calendar-selected-day"));
// },
// true
// );
this.setrecordtype();
},
/**
* el 被新创建的 vm.el 替换并挂载到实例上去之后调用该钩子
@ -637,11 +705,7 @@ export default {
}
return result;
},
setrecordtype() {
//
let islist = JSON.parse(sessionStorage.getItem("ISLIST"));
this.islist = islist;
},
getDom() {
console.log(1);
},
@ -828,6 +892,66 @@ export default {
reader.onerror = (error) => reject(error);
});
},
async getProxyInfo(id) {
const { data } = await getProxyInfoApi(id);
if (data.status === 200) {
this.proxyList = data.data;
console.log(this.proxyList);
}
console.log(data);
},
proxyChange(value) {
console.log(value);
this.form.agencyId = value.id;
this.proxyinfo.userName = value.userName;
this.proxyStatus = "";
console.log(this.form);
},
async storeSearch(value) {
//
console.log(value);
const { data } = await getStoreAliasApi(value);
if (data.status === 200) {
this.storeList = data.data;
}
console.log(data);
},
async storeChange(value) {
this.storeList = [];
this.firminfo.aliasName = value.aliasName;
this.form.qiyeId = value.id;
this.storeStatus = "";
try {
const { data } = await getStoreJobApi(value.id);
console.log(data);
if (data.status === 200) {
this.storeJobList = data.data;
}
} catch (error) {
console.log(error);
}
console.log(this.form);
console.log(value);
},
selected() {
if (!isEmptyCheck(this.form.qiyeId)) {
this.jobnameStatus = "jobname";
} else {
this.$message.warning("请先选择企业");
}
},
storeJobChange(value) {
console.log(value);
// this.storeJobList = [];
// if(!isEmptyCheck(this.form.qiyeId)){
this.form.storeJobId = value.id;
this.jobnameStatus = "";
this.firminfo.jobName = value.jobName;
console.log(this.form);
// } else {
// }
},
},
};
</script>
@ -958,18 +1082,13 @@ export default {
&:hover {
border-color: #ff6a00 !important;
}
.ant-upload {
padding: 0;
.uploading {
position: absolute;
width: 98px !important;
height: 38px !important;
top: 1px;
left: -49px;
background-color: #f5f5f5;
}
}
.ant-upload-list-item-progress {
display: none;
}
// .ant-upload-list-item-uploading {
// display: none;
// }
@ -998,6 +1117,17 @@ export default {
}
}
}
.ant-upload-select {
// display: none !important;
}
}
.uploading {
position: absolute;
width: 98px !important;
height: 38px !important;
top: 1px;
left: -49px;
background-color: #f5f5f5;
}
/deep/ .ant-form-item {
// margin-bottom: 0;
@ -1054,7 +1184,7 @@ export default {
.ant-input {
// width: 430px;
height: 40px;
height: 38px;
// color: rgba(77, 87, 94, 0.7);
color: #4d575e;
@ -1069,8 +1199,8 @@ export default {
.ant-select-selection__rendered,
.ant-select-selection--single,
.ant-select {
height: 40px;
line-height: 40px;
height: 38px;
line-height: 38px;
// border: none;
// border: 1px solid #dddddd;
box-shadow: none !important;

@ -43,9 +43,9 @@ export default {
watch: {
userinfo() {
this.$nextTick(() => {
console.log(this.userinfo.tel);
console.log(this.userinfo);
this.username = this.userinfo.tel;
// this.username = this.userinfo.tel;
console.log(this.username);
});
},
@ -55,7 +55,9 @@ export default {
* 组件实例创建完成属性已绑定但DOM还未生成$ el属性还不存在
*/
created() {
this.username = this.userinfo.tel;
console.log(this.userinfo.hidename);
this.username =
this.userinfo.userName || this.userinfo.nickName || this.userinfo.tel;
},
/**
* el 被新创建的 vm.el 替换并挂载到实例上去之后调用该钩子

@ -1,29 +1,121 @@
<template>
<div class="accountsetting-container">
<a-modal
v-model="visible"
title="设置图标"
@cancel="modalcancel"
on-ok="handleOk"
>
<div class="container">
<div class="cropper-content">
<div class="cropper-box">
<div class="cropper">
<vue-cropper
ref="cropper"
:img="option.img"
:outputSize="option.outputSize"
:outputType="option.outputType"
:info="option.info"
:canScale="option.canScale"
:autoCrop="option.autoCrop"
:autoCropWidth="option.autoCropWidth"
:autoCropHeight="option.autoCropHeight"
:fixed="option.fixed"
:fixedNumber="option.fixedNumber"
:canMoveBox="option.canMoveBox"
:height="option.height"
:infoTrue="option.infoTrue"
:maxImgSize="option.maxImgSize"
:enlarge="option.enlarge"
:mode="option.mode"
@realTime="realTime"
>
</vue-cropper>
</div>
</div>
<div class="previewcontainer">
<!-- 图标预览框 -->
<p>预览</p>
<div :style="previewStyle3" class="show-preview">
<div :style="previews.div" class="preview">
<img :src="previews.url" :style="previews.img" />
</div>
</div>
<div class="btncontainer">
<!-- <a-button @click="restaricon"></a-button> -->
<a-button @click="changeavatar"></a-button>
<a-button @click="modalcancel"></a-button>
</div>
</div>
</div>
</div>
<template slot="footer">
{{ &nbsp; }}
</template>
</a-modal>
<div class="accountcontent w">
<div class="accountSetList">
<div class="userinfobox">
<div class="avatarbox">
<i class="iconfont icon-morentouxiang"></i>
<i
class="iconfont icon-morentouxiang"
@click="uploadavatar"
style="cursor: pointer"
>
<div class="mask"><div>修改头像</div></div></i
>
<input
type="file"
ref="updateicon"
@change="filepick($event)"
style="display: none"
/>
</div>
<div class="username" v-if="userinfo.userName">
Hi,{{ userinfo.userName }}
</div>
<div class="username" v-else>Hi,{{ userinfo.hidetel }}</div>
</div>
<div class="priceinfo">
<ul>
<li
@click="pushto('/accountsetting/myintegral')"
:class="{ tagactive: activelist === 6 }"
>
<span><i class="iconfont icon-jifen"></i>我的积分</span
><span
><span>{{ userpoint >= 0 ? userpoint : "--" }}</span
><i class="iconfont icon-youjiantou"></i
></span>
</li>
<li
@click="pushto('/accountsetting/mycard')"
:class="{ tagactive: activelist === 7 }"
>
<span><i class="iconfont icon-kaquan"></i>我的卡券</span
><span
><span
>{{
cardinfo.recordCount ? cardinfo.recordCount : "0"
}}</span
><i class="iconfont icon-youjiantou"></i
></span>
</li>
<li
@click="pushto('/accountsetting/mybalance')"
:class="{ tagactive: activelist === 8 }"
>
<span><i class="iconfont icon-yue"></i>我的余额</span
><span
><span>{{ userbalance >= 0 ? userbalance : "0" }}</span>
<i class="iconfont icon-youjiantou"></i
></span>
</li>
</ul>
</div>
<ul>
<li
@click="pushto('/userinfo/accountsetting/loginpsw')"
:class="{ tagactive: activelist === 0 }"
>
<span><i class="iconfont icon-gerenzhongxin-mima"></i>登录密码</span
><span
><span>已设置</span>
<i class="iconfont icon-youjiantou"></i>
</span>
</li>
<li
@click="pushto('/userinfo/accountsetting/boundtel')"
@click="pushto('/accountsetting/boundtel')"
:class="{ tagactive: activelist === 1 }"
>
<span
@ -35,7 +127,7 @@
</span>
</li>
<li
@click="pushto('/userinfo/accountsetting/boundwx')"
@click="pushto('/accountsetting/boundwx')"
:class="{ tagactive: activelist === 2 }"
>
<span><i class="iconfont icon-weixin1"></i>绑定微信</span
@ -45,7 +137,7 @@
</span>
</li>
<li
@click="pushto('/userinfo/accountsetting/boundbankcard')"
@click="pushto('/accountsetting/boundbankcard')"
:class="{ tagactive: activelist === 3 }"
>
<span
@ -58,7 +150,17 @@
</ul>
<ul>
<li
@click="pushto('/userinfo/accountsetting/realname')"
@click="pushto('/accountsetting/loginpsw')"
:class="{ tagactive: activelist === 0 }"
>
<span><i class="iconfont icon-gerenzhongxin-mima"></i>登录密码</span
><span
><span>已设置</span>
<i class="iconfont icon-youjiantou"></i>
</span>
</li>
<li
@click="pushto('/accountsetting/realname')"
:class="{ tagactive: activelist === 4 }"
>
<span><i class="iconfont icon-shimingrenzheng"></i>实名认证</span
@ -74,6 +176,8 @@
<router-view
:userinfo="userinfo"
:userbanklist="userbanklist"
:userpoint="userpoint"
:userbalance="userbalance"
></router-view>
</div>
</div>
@ -81,21 +185,59 @@
</template>
<script>
import { userBaseInfoApi, getUserBankListApi } from "../../../api/userinfo";
import {
userBaseInfoApi,
getUserBankListApi,
userBalanceApi,
getPointApi,
userCardApi,
} from "../../../api/userinfo";
import { VueCropper } from "vue-cropper";
export default {
//
name: "",
//
components: {},
components: {
VueCropper,
},
//
props: {},
//
data() {
return {
userinfo: {}, //
userbalance: "",
userpoint: "",
activelist: "",
userbanklist: [],
cardinfo: {},
visible: false,
previewStyle3: {},
previews: {},
option: {
//
img: "", //
outputSize: 1, // (0.1 - 1)
outputType: "jpeg", // jpeg || png || webp
info: true, //
canScale: true, //
autoCrop: true, //
autoCropWidth: 150, //
autoCropHeight: 150, //
fixed: true, //
fixedNumber: [1, 1], //
// full: false, // false
// fixedBox: false, //
// canMove: false, //
canMoveBox: true, //
// original: false, //
// centerBox: false, //
height: true, // dpr
infoTrue: true, // truefalse
maxImgSize: 290, //
enlarge: 1, //
mode: "auto", //
},
};
},
//
@ -118,6 +260,9 @@ export default {
this.getUserInfo();
this.changeactive();
this.getuserbnak();
this.getUserBalanceInfo();
this.getPoint();
this.getcardcount();
},
/**
* el 被新创建的 vm.el 替换并挂载到实例上去之后调用该钩子
@ -170,6 +315,12 @@ export default {
this.activelist = 3;
} else if (this.path.indexOf("/realname") > -1) {
this.activelist = 4;
} else if (this.path.indexOf("/myintegral") > -1) {
this.activelist = 6;
} else if (this.path.indexOf("/mycard") > -1) {
this.activelist = 7;
} else if (this.path.indexOf("/mybalance") > -1) {
this.activelist = 8;
}
},
async getuserbnak() {
@ -186,6 +337,125 @@ export default {
console.log(error);
}
},
async getUserBalanceInfo() {
try {
const { data } = await userBalanceApi();
this.userbalance = data.data.balance / 100;
console.log(data);
console.log(this.userbalance);
} catch (error) {
console.log(error);
}
},
async getPoint() {
try {
const { data } = await getPointApi();
console.log(data);
this.userpoint = data.data.pointTotal;
} catch (error) {
console.log(error);
}
},
async getcardcount() {
try {
const { data } = await userCardApi();
console.log(data);
this.cardinfo = data.data;
} catch (error) {
console.log(error);
}
},
uploadavatar() {
//
this.$refs.updateicon.click();
},
filepick(e) {
console.log(this.$refs.updateicon);
console.log(e);
const that = this;
this.visible = true;
const imgFile = new FileReader();
imgFile.readAsDataURL(this.$refs.updateicon.files[0]);
imgFile.onload = function () {
that.option.img = this.result;
};
// this.option.img = window.URL.createObjectURL(
// this.$refs.updateicon.files[0]
// )
this.filelength = this.$refs.updateicon.files.length;
},
realTime(data) {
// data.div.height = "50px";
// data.div.width = "50px";
// data.w = 50;
// data.h = 50;
console.log(data);
var previews = data;
var h = 0.5;
var w = 0.2;
this.previewStyle1 = {
width: previews.w + "px",
height: previews.h + "px",
overflow: "hidden",
margin: "0",
zoom: h,
};
this.previewStyle2 = {
width: previews.w + "px",
height: previews.h + "px",
overflow: "hidden",
margin: "0",
zoom: w,
};
// 100
this.previewStyle3 = {
width: previews.w + "px",
height: previews.h + "px",
overflow: "hidden",
margin: "0",
zoom: 100 / previews.w,
};
// 100
this.previewStyle4 = {
width: previews.w + "px",
height: previews.h + "px",
overflow: "hidden",
margin: "0",
zoom: 100 / previews.h,
};
this.previews = data;
},
modalcancel() {
this.visible = false;
this.$refs.updateicon.value = "";
this.filelength = this.$refs.updateicon.files.length;
// console.log(this.filelength)
},
changeavatar() {
this.$refs.cropper.getCropBlob((data) => {
// const that = this;
// do something
// console.log(data)
const imgFile = new FileReader();
imgFile.readAsDataURL(data);
imgFile.onload = function (e) {
console.log(e);
console.log(this);
console.log(this.result);
};
this.visible = false;
});
// console.log(this.avatarready)
// console.log(this.filelength)
this.AvatarWaringmsgshow = false;
},
},
};
</script>
@ -196,10 +466,9 @@ export default {
margin-top: 16px;
// background-color: pink;
display: flex;
.accountSetList {
width: 346px;
height: 500px;
// height: 500px;
// background-color: skyblue;
margin-right: 16px;
.userinfobox {
@ -211,16 +480,117 @@ export default {
text-align: center;
.avatarbox {
margin: 0 auto;
width: 64px;
&:hover {
.mask {
display: block;
}
}
i {
font-size: 54px;
line-height: 54px;
position: relative;
font-size: 64px;
line-height: 64px;
color: #ff6a00;
.mask {
position: absolute;
display: none;
width: 100%;
height: 100%;
left: 0;
top: 0;
border-radius: 50%;
background-color: rgba(0, 0, 0, 0.7);
div {
position: relative;
padding: 2px;
width: 40px;
margin-top: 11px !important;
margin-left: 13px !important;
font-size: 14px;
line-height: 19px;
font-weight: bold;
letter-spacing: 2px;
color: rgba(255, 255, 255, 0.8);
top: 0;
right: 0;
left: 0;
bottom: 0;
margin: auto;
}
}
}
}
.username {
margin-top: 18px;
}
}
.priceinfo {
margin-top: 16px;
ul {
// margin-top: 16px;
// padding: 0 16px;
background-color: #fff;
border-radius: 4px;
overflow: hidden;
li {
position: relative;
display: flex;
padding: 16px 16px 16px 16px;
line-height: 24px;
justify-content: space-between;
// border-bottom: 1px solid #f3f4f4;
cursor: pointer;
&:nth-child(-n + 2):after {
position: absolute;
content: "";
display: inline-block;
height: 1px;
width: 314px;
bottom: -1px;
left: 16px;
background-color: #f3f4f4;
}
span:first-of-type {
font-size: 16px;
i:first-of-type {
margin-right: 12px;
font-size: 20px;
vertical-align: middle;
}
}
span:last-of-type {
span {
color: #999999;
font-size: 14px;
}
i {
color: #888;
font-size: 22px;
vertical-align: middle;
}
}
&:hover {
// background-color: #ff6a00 !important;
color: #ff6a00;
span {
span {
color: #ff6a00;
}
i {
color: #ff6a00;
}
}
i {
color: #ff6a00;
}
}
}
}
}
> ul {
background-color: #fff;
margin-top: 16px;
@ -261,12 +631,27 @@ export default {
}
> i {
color: #888;
margin-left: 12px;
// margin-left: 12px;
vertical-align: middle;
font-size: 22px;
}
}
&:hover {
// background-color: #ff6a00 !important;
color: #ff6a00;
span {
span {
color: #ff6a00;
}
i {
color: #ff6a00;
}
}
i {
color: #ff6a00;
}
}
}
}
}
@ -277,4 +662,100 @@ export default {
background-color: #fff;
}
}
::v-deep .ant-modal-footer {
display: none;
}
::v-deep .ant-modal-header {
height: 48px;
border-bottom: 0px solid #000;
}
::v-deep .ant-modal-title {
font-size: 20px;
font-weight: 400;
text-align: left;
color: #222222;
line-height: 28px;
}
::v-deep .ant-modal-content {
margin-top: 100px;
width: 576px;
height: 409px;
}
::v-deep .vue-cropper {
width: 290px !important;
margin: 0 !important;
}
.cropper-content {
display: flex;
display: -webkit-flex;
justify-content: space-around;
/deep/ .cropper-box {
flex: 1;
width: 100%;
.cropper-view-box,
.cropper-crop-box {
border-radius: 50%;
}
.cropper-crop-box {
.cropper-face {
border-radius: 50%;
}
span:last-child {
// display: none;
span:nth-child(5) {
display: none;
}
span:nth-child(7) {
display: none;
}
span:nth-child(10) {
display: none;
}
span:nth-child(12) {
display: none;
}
}
}
.cropper {
width: auto;
height: 300px;
}
}
.previewcontainer {
text-align: center;
margin-right: 50px !important;
p {
margin-bottom: 20px;
margin-left: -150px;
}
}
.show-preview {
flex: 1;
-webkit-flex: 1;
display: flex;
display: -webkit-flex;
justify-content: center;
border-radius: 50%;
border: 1px solid #666;
.preview {
overflow: hidden;
background: #cccccc;
}
}
}
.btncontainer {
position: absolute;
bottom: 25px;
button {
margin: 9px;
height: 35px;
width: 63px;
}
button:nth-child(1) {
margin-left: -25px;
}
}
</style>

@ -74,6 +74,7 @@ export default {
//
data() {
return {
mark: [],
tablenodata: {
//
emptyText: () => (
@ -245,11 +246,13 @@ export default {
font-size: 16px;
// line-height: 22px;
i {
cursor: pointer;
margin-left: 4px;
font-size: 12px;
}
}
p {
color: #fff;
margin-top: 10px;
font-size: 32px;
line-height: 32px;

@ -111,7 +111,7 @@
<span>{{ item.tel }}</span>
</li>
<li>{{ item.storeJobName }}</li>
<li>{{ item.policy }}</li>
<li style="text-align: left">{{ item.policy }}</li>
<li>
<span>{{ item.statusTag }}</span
><span>面试时间: {{ item.interviewTime }}</span>

@ -256,11 +256,13 @@ export default {
font-size: 16px;
// line-height: 22px;
i {
cursor: pointer;
margin-left: 4px;
font-size: 12px;
}
}
p {
color: #fff;
margin-top: 10px;
font-size: 32px;
line-height: 32px;

@ -6,12 +6,12 @@ router.beforeEach(async (to, from, next) => {
// console.log(from);
// 路由守卫
console.log(from);
if (from.fullPath === "/list") {
// console.log(213);
sessionStorage.setItem("ISLIST", JSON.stringify(true));
} else {
sessionStorage.setItem("ISLIST", JSON.stringify(false));
}
// if (from.fullPath === "/list") {
// // console.log(213);
// sessionStorage.setItem("ISLIST", JSON.stringify(true));
// } else {
// sessionStorage.setItem("ISLIST", JSON.stringify(false));
// }
const whiteList = [
// 设置白名单
"/login",

@ -95,6 +95,77 @@ const routes = [
component: () =>
import("../components/userinfo/usercenter/components/mybill.vue"),
},
{
path: "accountsetting",
name: "accountsetting",
component: () =>
import("../components/userinfo/accountsetting/inedex.vue"),
redirect: "accountsetting/myintegral",
children: [
{
path: "loginpsw",
name: "loginpsw",
component: () =>
import(
"../components/userinfo/accountsetting/components/loginpsw.vue"
),
},
{
path: "boundtel",
name: "boundtel",
component: () =>
import(
"../components/userinfo/accountsetting/components/boundtel.vue"
),
},
{
path: "boundwx",
name: "boundwx",
component: () =>
import(
"../components/userinfo/accountsetting/components/boundwx.vue"
),
},
{
path: "boundbankcard",
name: "boundbankcard",
component: () =>
import(
"../components/userinfo/accountsetting/components/boundbankcard.vue"
),
},
{
path: "realname",
name: "realname",
component: () =>
import(
"../components/userinfo/accountsetting/components/realname.vue"
),
},
{
path: "myintegral",
name: "myintegral",
component: () =>
import(
"../components/userinfo/usercenter/components/myintegral.vue"
),
},
{
path: "mycard",
name: "mycard",
component: () =>
import("../components/userinfo/usercenter/components/mycard.vue"),
},
{
path: "mybalance",
name: "mybalance",
component: () =>
import(
"../components/userinfo/usercenter/components/mybalance.vue"
),
},
],
},
],
},
{
@ -147,55 +218,7 @@ const routes = [
},
],
},
{
path: "accountsetting",
name: "accountsetting",
component: () =>
import("../components/userinfo/accountsetting/inedex.vue"),
redirect: "loginpsw",
children: [
{
path: "loginpsw",
name: "loginpsw",
component: () =>
import(
"../components/userinfo/accountsetting/components/loginpsw.vue"
),
},
{
path: "boundtel",
name: "boundtel",
component: () =>
import(
"../components/userinfo/accountsetting/components/boundtel.vue"
),
},
{
path: "boundwx",
name: "boundwx",
component: () =>
import(
"../components/userinfo/accountsetting/components/boundwx.vue"
),
},
{
path: "boundbankcard",
name: "boundbankcard",
component: () =>
import(
"../components/userinfo/accountsetting/components/boundbankcard.vue"
),
},
{
path: "realname",
name: "realname",
component: () =>
import(
"../components/userinfo/accountsetting/components/realname.vue"
),
},
],
},
{
path: "mytownsman",
name: "mytownsman",

@ -27,3 +27,6 @@
color: #ff6a00;
}
}
// .ant-table-thead {
// height: 40px !important;
// }

@ -0,0 +1,25 @@
.tagactive {
background-color: #ff6a00 !important;
color: #fff !important;
}
.tagactive span span {
color: #fff !important;
}
.tagactive span i {
color: #fff !important;
}
.tagactive i {
color: #fff !important;
}
.contenttitle {
display: flex;
padding-bottom: 16px;
justify-content: space-between;
border-bottom: 1px solid rgba(77, 87, 94, 0.1);
margin-top: 16px;
margin-bottom: 24px;
}
.contenttitle span {
font-size: 20px;
color: #ff6a00;
}

@ -56,21 +56,26 @@
<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">
<div>
<span class="iconfont icon-morentouxiang avatar"></span
><span class="username">{{
loginValue.userName || loginValue.nickName || loginValue.tel
}}</span>
</div>
<router-link to="/accountsetting">
<div>
<span
><i class="iconfont icon-gerenzhongxin"></i>个人中心</span
><i class="iconfont icon-youjiantou"></i></div
></router-link>
<router-link to="/userinfo/accountsetting/loginpsw"
<!-- <router-link to="/accountsetting"
><div>
<span
><i class="iconfont icon-zhanghaoshezhi"></i
>账号设置</span
><i class="iconfont icon-youjiantou"></i>
</div>
</router-link>
</router-link> -->
<button @click="logout">退</button>
</div>
</a-dropdown>
@ -317,6 +322,7 @@ export default {
sessionStorage.getItem("LOGIN_DATA") !== null
? JSON.parse(sessionStorage.getItem("LOGIN_DATA"))
: { tel: "" };
console.log(this.loginValue);
// console.log(document.querySelector(".ant-pagination-options-quick-jumper"));
},
//
@ -546,6 +552,7 @@ export default {
}
}
}
.login {
float: right;
// width: 36px;
@ -566,6 +573,7 @@ export default {
margin-right: -3px;
text-align: center;
}
i {
font-size: 32px;
line-height: 30px;
@ -757,4 +765,36 @@ export default {
}
}
}
.loginbox {
line-height: 36px;
> div:first-child {
display: flex;
align-items: center;
padding: 16px 0;
}
.username {
max-width: 120px;
display: block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.avatar {
display: block;
line-height: 24px;
font-size: 24px !important;
color: #ff6a00;
margin-right: 8px;
}
a {
div {
padding: 10px 0;
align-items: center;
}
}
button {
line-height: 28px;
}
}
</style>

@ -5444,6 +5444,11 @@ javascript-stringify@^2.0.1:
resolved "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz"
integrity sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==
jquery@^3.6.0:
version "3.6.0"
resolved "https://registry.npmmirror.com/jquery/-/jquery-3.6.0.tgz"
integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==
js-message@1.0.7:
version "1.0.7"
resolved "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz"
@ -6097,16 +6102,11 @@ mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1:
dependencies:
minimist "^1.2.5"
moment@^2.21.0:
moment@^2.21.0, moment@^2.29.1:
version "2.29.1"
resolved "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz"
integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
moment@^2.29.1:
version "2.29.1"
resolved "https://registry.npmmirror.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
move-concurrently@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz"
@ -8918,6 +8918,11 @@ vm-browserify@^1.0.1:
resolved "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz"
integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
vue-cropper@^0.5.8:
version "0.5.8"
resolved "https://registry.npmmirror.com/vue-cropper/-/vue-cropper-0.5.8.tgz#df5c8b923bfc2f1db5280054f73640b0c6a75a8d"
integrity sha512-Xgi/aLQCcNCiBTUdovy/i4LWx0G7fQnAENBpDWA3J4i87Zlk9DJRksXrClsQ6nnaFRfQVkMimij5GEvAMaXdYw==
vue-eslint-parser@^7.0.0:
version "7.11.0"
resolved "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz"

Loading…
Cancel
Save