Commit 55d441fe authored by youjie's avatar youjie
parents 515e1a02 d891a356
......@@ -171,16 +171,16 @@
<div class="pwd_bline_left" :class="pwd_bline==true?'_bline_w':''"></div>
<div class="pwd_bline_right" :class="pwd_bline==true?'_bline_w':''"></div>
</div>
<div class="login-commonBotm">
<!-- <div class="login-commonBotm">
<i class="icon-login-password iconfont icon-mima" :style="{color: pwd_bline==true?'#E95252':'#000000'}"></i>
<input class="input FPF_b" @focus="pwd_bline=true" @blur="pwd_bline=false" autocomplete="new-password"
maxlength="20" v-model="passwordSure" style="background-color:transparent !important" type="password"
placeholder="确认密码:大写字母+小写字母+数字或?!&$%#_" />
<div class="pwd_bline_left" :class="pwd_bline==true?'_bline_w':''"></div>
<div class="pwd_bline_right" :class="pwd_bline==true?'_bline_w':''"></div>
</div>
</div> -->
<!-- <div class="login-commonBotm btValidate">
<div class="login-commonBotm btValidate">
<i class="icon-login-password iconfont icon-yanzhengma"
:style="{color: validate_bline==true?'#E95252':'#000000'}"></i>
<input class="input FPF_b phoneValidate" maxlength="4" onkeyup="value=value.replace(/[^\d]/g,'')"
......@@ -192,7 +192,7 @@
<span v-show="show" @click="getCode" class="FPF_s">获取验证码</span>
<span v-show="!show" class="count FPF_s">{{count}}s重新获取</span>
</div>
</div> -->
</div>
<div class="forgetPw">
<div class="error-msg" style="float:left;width:auto;">
<div v-show="passwordIsShow"><img src="../assets/img/login-error-tips.png" />{{ passwordErrorMsg }}</div>
......@@ -341,6 +341,12 @@
this.$cookie.set("RB_Group_id", userData.RB_Group_id);
localStorage.menu = JSON.stringify(firstTire)
this.loginState = 0;
if(!jsonData.data.IsExactness) {
this.$router.push({
path: "/resetPassword"
});
return
}
this.$router.push({
path: "/personalCenter"
});
......@@ -446,16 +452,13 @@
this.mobileCodeType = 2;
},
changePwd() {
if (this.passwordSure != this.password) {
this.Error('新密码和确认密码不一致');
return;
}
let msg = {
password: this.password,
mobileNumber: this.mobileNumber
// code: this.code
mobileNumber: this.mobileNumber,
code: this.code
};
this.apipost("user_change_password_by_mobile", msg, res => {
this.apipost("user_change_password_by_mobileNumber", msg, res => {
if (res.data.resultCode == 1) {
this.isShow = 1;
this.$notify.success({
......
......@@ -2327,8 +2327,8 @@
= <font>{{CtObj.C_TotalPrice}}</font>
</p>
<p>
含:景点第一道门票、<font>{{CtObj.C_IncludeRemark}}</font>午(晚)餐费、往返车费、
导游服务费:<font>{{CtObj.C_IncludeFee}}</font>
含:<font>{{CtObj.C_IncludeRemark}}</font>
费用:<font>{{CtObj.C_IncludeFee}}</font>
不含:<font>{{CtObj.C_NonIncludeRemark}}</font>
</p>
<p>支付时间:<font>{{getDate(CtObj.C_PayDate)}}</font>
......
......@@ -1648,8 +1648,8 @@
= <font>{{CtObj.C_TotalPrice}}</font>元。
</p>
<p>
含:景点第一道门票、<font>{{CtObj.C_IncludeRemark}}</font>午(晚)餐费、往返车费、
导游服务费:<font>{{CtObj.C_IncludeFee}}</font>
含:<font>{{CtObj.C_IncludeRemark}}</font>
费用:<font>{{CtObj.C_IncludeFee}}</font>
不含:<font>{{CtObj.C_NonIncludeRemark}}</font>
</p>
<p>支付时间:<font>{{getDate(CtObj.C_PayDate)}}</font></p>
......
......@@ -726,10 +726,10 @@
</tr>
<tr>
<td>
<el-form-item label="含:景点第一道门票、" style="display:inline-block;">
<el-form-item label="含:" style="display:inline-block;">
<el-input type="text" class="w150" v-model="CtObj.C_IncludeRemark"></el-input>
</el-form-item>
<el-form-item label="午(晚)餐费、往返车费、导游服务费" label-width="250px" style="display:inline-block;">
<el-form-item label="费用" label-width="250px" style="display:inline-block;">
<el-input type="text" class="w150" @keyup.native="checkPrice(CtObj,'C_IncludeFee')"
v-model="CtObj.C_IncludeFee"></el-input>
</el-form-item>
......
......@@ -61,7 +61,7 @@
addMsg.CustomerType == 2 ||
addMsg.CustomerType == ''
">
<el-select v-model="addMsg.CustomerId" filterable :placeholder="$t('pub.pleaseSel')" @change="getSspt">
<el-select v-model="addMsg.CustomerId" filterable :placeholder="$t('pub.pleaseSel')" @change="changeCustomer">
<el-option v-for="item in customerList" :label="item.customerName + '-' + item.contact"
:value="item.customerId" :key="item.customerId">
</el-option>
......@@ -1573,8 +1573,7 @@
if (res.data.resultCode == 1) {
this.ScenicRefundList = res.data.data;
this.ScenicRefundList.forEach((item) => {
item["ScenicName"] =
item.CouponsName + " -¥" + this.moneyFormat(item.RefundMoney);
item["ScenicName"] = item.CouponsName + " -¥" + this.moneyFormat(item.RefundMoney);
});
}
},
......@@ -1592,7 +1591,7 @@
);
},
//客户品牌
getSspt() {
changeCustomer() {
//给非直客 隐藏电话姓名赋值
let obj = this.customerList.find(
(item) => item.customerId == this.addMsg.CustomerId
......
<style>
.Person_Content {
height: 96%;
margin: 18px;
overflow: hidden;
}
.PerSon_LeftNav {
width: 418px;
height: 96%;
position: absolute;
overflow-y: auto;
background-color: #fff;
display: inline-block;
}
.Person_Right {
margin-left: 440px;
width: 100%;
height: 100%;
overflow-y: auto;
background-color: #fff;
}
.PerSon_Edit {
text-align: right;
width: 100%;
color: #BBBBBB;
font-size: 12px;
padding: 30px;
}
.PerSon_Edit span {
cursor: pointer;
}
.PerSon_Edit i {
font-size: 12px;
}
.Person_Header {
width: 120px;
height: 120px;
margin: 30px auto;
border: 1px solid #F4F4F4;
padding: 3px;
border-radius: 50%;
}
.Person_Header img {
width: 100%;
height: 100%;
border-radius: 50%;
}
.Person_ComCenter {
width: 100%;
font-size: 14px;
color: #333333;
text-align: center;
}
.Person_MenuList {
margin-top: 45px;
}
.Person_MenuList li {
list-style-type: none;
width: 100%;
height: 54px;
padding: 0 30px;
display: flex;
align-items: center;
border-bottom: 1px solid #F3F3F3;
}
.Person_MenuList li .Person_Pname {
display: flex;
align-items: center;
width: 26%;
height: 100%;
font-size: 12px;
color: #999999;
}
.Person_Jobs {
display: inline-block;
padding: 5px 8px;
background-color: #007EFF;
color: #fff;
font-size: 12px;
border-radius: 8px;
margin-left: 10px;
}
.Person_Company {
color: #333333;
font-size: 14px;
display: inline-block;
}
.Person_Wrong {
color: #999999;
font-size: 12px;
text-align: right;
}
.Person_CenterList {
display: inline-block;
width: 72%;
font-size: 14px;
}
.Per_Jiantou i {
font-size: 12px;
color: #999999;
}
.Person_menuCked li:hover {
cursor: pointer;
background-color: #F1F8FF;
}
.P_cked {
background-color: #F1F8FF;
}
.Shouji_Top {
width: 100%;
height: 54px;
line-height: 54px;
padding: 0 30px;
font-size: 20px;
color: #333333;
border-bottom: 1px solid #F3F3F3;
}
.Shouji_Conteng {
max-width: 800px;
margin: 70px 0 0 120px;
}
.phone_commonBotm {
width: 400px;
position: relative;
}
.phone_commonBotm .input {
width: 400px;
height: 44px;
outline: none;
padding-left: 17px;
border: none;
border: 1px solid #DCDFE6;
}
.phone_commonBotm .input::-webkit-input-placeholder {
color: #D3D6DC;
}
.phone_commonBotm .validatCode {
position: absolute;
right: 10px;
top: 16px;
height: 12px;
line-height: 12px;
padding-left: 10px;
color: #007EFF;
font-size: 12px;
letter-spacing: 2px;
border-left: 1px solid #DCDFE6;
}
.phone_bangding {
color: #333333;
margin: 0 0 29px 100px;
font-size: 16px;
}
.phone_bangding span {
margin-left: 21px;
}
.Shouji_Conteng .el-input .el-input__inner {
height: 44px;
}
.PI_qiehuan {
font-size: 14px;
color: #333333;
}
.PI_comMoshi {
color: #999999
}
.PI_QiehuanImg {
width: 370px;
height: 174px;
margin-top: 18px;
cursor: pointer;
margin-left: 20px;
border: 4px solid #fff;
}
.ckedQieImg {
border: 4px solid #007EFF;
}
.PI_QiehuanImg img {
width: 100%;
height: 100%;
}
.Account_NumList {
margin-top: 68px;
min-height: 80px;
margin: 0 30px;
border-bottom: 1px dashed #BBBBBB;
}
.Account_NumList table {
padding: 30px 0 30px 160px;
font-size: 16px;
}
.Account_NumList table td {
height: 30px;
}
.AC_bankName {
color: #333333;
font-weight: bold;
margin-right: 11px;
}
.AC_jeibang {
width: 80px;
text-align: right;
color: #999999;
font-size: 12px;
}
.bank_Count {
position: absolute;
display: inline-block;
width: 14px;
height: 14px;
background-color: #007EFF;
color: #fff;
border-radius: 50%;
right: 25px;
line-height: 14px;
text-align: center;
top: 20px;
}
.bind_Imidetly {
color: rgb(0, 126, 255);
cursor: pointer;
display: inline-block;
width: 70%;
font-size: 14px;
}
.addAccountTitle {
margin: 0 0 20px 97px;
font-size: 14px;
}
.Person_Content .FPF_s {
cursor: pointer;
}
#demo #button {
position: absolute;
right: 10px;
width: 80px;
height: 40px;
border: none;
cursor: pointer;
color: #fff;
border-radius: 5px;
background: #E95252;
}
#demo .show {
width: 100px;
height: 100px;
overflow: hidden;
position: relative;
border-radius: 50%;
border: 1px solid #d5d5d5;
}
#demo .picture {
width: 100%;
height: 100%;
overflow: hidden;
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
}
#demo .container {
z-index: 9999999;
position: fixed;
padding-top: 60px;
left: 0;
top: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.4);
}
#demo #image {
max-width: 100%;
}
.cropper-view-box,
.cropper-face {
border-radius: 50%;
}
.cropper-container {
font-size: 0;
line-height: 0;
position: relative;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
direction: ltr;
-ms-touch-action: none;
touch-action: none
}
.cropper-container img {
display: block;
min-width: 0 !important;
max-width: none !important;
min-height: 0 !important;
max-height: none !important;
width: 100%;
height: 100%;
image-orientation: 0deg
}
.cropper-wrap-box,
.cropper-canvas,
.cropper-drag-box,
.cropper-crop-box,
.cropper-modal {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.cropper-wrap-box {
overflow: hidden;
}
.cropper-drag-box {
opacity: 0;
}
.cropper-modal {
opacity: .5;
}
.cropper-view-box {
display: block;
overflow: hidden;
width: 100%;
height: 100%;
outline: 1px solid #e95252;
outline-color: #e95252;
}
.cropper-dashed {
position: absolute;
display: block;
opacity: .5;
border: 0 dashed #e95252
}
.cropper-dashed.dashed-h {
top: 33.33333%;
left: 0;
width: 100%;
height: 33.33333%;
border-top-width: 1px;
border-bottom-width: 1px
}
.cropper-dashed.dashed-v {
top: 0;
left: 33.33333%;
width: 33.33333%;
height: 100%;
border-right-width: 1px;
border-left-width: 1px
}
.cropper-center {
position: absolute;
top: 50%;
left: 50%;
display: block;
width: 0;
height: 0;
opacity: .75
}
.cropper-center:before,
.cropper-center:after {
position: absolute;
display: block;
content: ' ';
}
.cropper-center:before {
top: 0;
left: -3px;
width: 7px;
height: 1px
}
.cropper-center:after {
top: -3px;
left: 0;
width: 1px;
height: 7px
}
.cropper-face,
.cropper-line,
.cropper-point {
position: absolute;
display: block;
width: 100%;
height: 100%;
opacity: .1;
}
.cropper-face {
top: 0;
left: 0;
}
.cropper-line.line-e {
top: 0;
right: -3px;
width: 5px;
cursor: e-resize
}
.cropper-line.line-n {
top: -3px;
left: 0;
height: 5px;
cursor: n-resize
}
.cropper-line.line-w {
top: 0;
left: -3px;
width: 5px;
cursor: w-resize
}
.cropper-line.line-s {
bottom: -3px;
left: 0;
height: 5px;
cursor: s-resize
}
.cropper-point {
width: 5px;
height: 5px;
opacity: .75;
}
.cropper-point.point-e {
top: 50%;
right: -3px;
margin-top: -3px;
cursor: e-resize
}
.cropper-point.point-n {
top: -3px;
left: 50%;
margin-left: -3px;
cursor: n-resize
}
.cropper-point.point-w {
top: 50%;
left: -3px;
margin-top: -3px;
cursor: w-resize
}
.cropper-point.point-s {
bottom: -3px;
left: 50%;
margin-left: -3px;
cursor: s-resize
}
.cropper-point.point-ne {
top: -3px;
right: -3px;
cursor: ne-resize
}
.cropper-point.point-nw {
top: -3px;
left: -3px;
cursor: nw-resize
}
.cropper-point.point-sw {
bottom: -3px;
left: -3px;
cursor: sw-resize
}
.cropper-point.point-se {
right: -3px;
bottom: -3px;
width: 20px;
height: 20px;
cursor: se-resize;
opacity: 1
}
@media (min-width: 768px) {
.cropper-point.point-se {
width: 15px;
height: 15px
}
}
@media (min-width: 992px) {
.cropper-point.point-se {
width: 10px;
height: 10px
}
}
@media (min-width: 1200px) {
.cropper-point.point-se {
width: 5px;
height: 5px;
opacity: .75
}
}
.cropper-point.point-se:before {
position: absolute;
right: -50%;
bottom: -50%;
display: block;
width: 200%;
height: 200%;
content: ' ';
opacity: 0;
}
.cropper-invisible {
opacity: 0;
}
.cropper-hide {
position: absolute;
display: block;
width: 0;
height: 0;
}
.cropper-hidden {
display: none !important;
}
.cropper-move {
cursor: move;
}
.cropper-crop {
cursor: crosshair;
}
.cropper-disabled .cropper-drag-box,
.cropper-disabled .cropper-face,
.cropper-disabled .cropper-line,
.cropper-disabled .cropper-point {
cursor: not-allowed;
}
.a-upload {
padding: 4px 10px;
height: 20px;
line-height: 20px;
position: relative;
cursor: pointer;
color: #888;
background: #fff;
overflow: hidden;
display: inline-block;
*display: inline;
*zoom: 1
}
.a-upload input {
position: absolute;
font-size: 100px;
right: 0;
top: 0;
opacity: 0;
filter: alpha(opacity=0);
cursor: pointer
}
.cancel_Btnn {
background-color: #fff !important;
border: 1px solid #e95252 !important;
color: #e95252 !important;
}
</style>
<template>
<div class="Person_Content">
<!-- 修改密码 -->
<div class="Per_Shouji">
<div class="Shouji_Top">修改密码</div>
<div class="Shouji_Conteng">
<el-form :model="passWordMsg" ref="passWordMsg" label-position="right" :rules="rules2" label-width="100px">
<el-form-item v-if="sureOldPwd" label="旧密码" prop="OldPwd" style="margin-bottom:30px;">
<el-input type="password" class="w400" v-model="passWordMsg.OldPwd" maxlength="15">
<i slot="suffix" title="显示密码" @click="changePassOld('show')" style="cursor:pointer;"
class="el-input__icon iconfont icon-yincang"></i>
</el-input>
</el-form-item>
<el-form-item v-else label="旧密码" prop="OldPwd" style="margin-bottom:30px;">
<el-input type="text" class="w400" v-model="passWordMsg.OldPwd" maxlength="15">
<i slot="suffix" title="隐藏密码" @click="changePassOld('hide')" style="cursor:pointer;"
class="el-input__icon iconfont icon-xianshi"></i>
</el-input>
</el-form-item>
<el-form-item v-if="visible" label="新密码" style="margin-bottom:30px;" prop="Pwd">
<el-input type="password" class="w400" v-model="passWordMsg.Pwd" maxlength="15" placeholder="密码格式:大写字母+小写字母+数字或?!&$%#_">
<i slot="suffix" title="显示密码" @click="changePass('show')" style="cursor:pointer;"
class="el-input__icon iconfont icon-yincang"></i>
</el-input>
</el-form-item>
<el-form-item v-else label="新密码" style="margin-bottom:30px;" prop="Pwd">
<el-input type="text" class="w400" v-model="passWordMsg.Pwd" maxlength="15" placeholder="密码格式:大写字母+小写字母+数字或?!&$%#_">
<i slot="suffix" title="隐藏密码" @click="changePass('hide')" style="cursor:pointer;"
class="el-input__icon iconfont icon-xianshi"></i>
</el-input>
</el-form-item>
<el-form-item v-if="SureVisible" label="确认密码" style="margin-bottom:30px;" prop="surePassword">
<el-input type="password" class="w400" v-model="passWordMsg.surePassword" maxlength="15"
placeholder="密码格式:大写字母+小写字母+数字或?!&$%#_">
<i slot="suffix" title="显示密码" @click="changePass2('show')" style="cursor:pointer;"
class="el-input__icon iconfont icon-yincang"></i>
</el-input>
</el-form-item>
<el-form-item v-else label="确认密码" style="margin-bottom:30px;" prop="surePassword">
<el-input type="text" class="w400" v-model="passWordMsg.surePassword" maxlength="15" placeholder="密码格式:大写字母+小写字母+数字或?!&$%#_">
<i slot="suffix" title="隐藏密码" @click="changePass2('hide')" style="cursor:pointer;"
class="el-input__icon iconfont icon-xianshi"></i>
</el-input>
</el-form-item>
</el-form>
<el-button type="primary" style="margin:30px 0 0 100px;" @click="submitForm2('passWordMsg')">确定</el-button>
</div>
</div>
</div>
</template>
<script>
import Cropper from "cropperjs"
export default {
data() {
return {
rules2: {
OldPwd: [{
required: true,
message: '请输入旧密码',
trigger: 'blur'
}],
Pwd: [{
required: true,
message: '请输入新密码',
trigger: 'blur'
}],
surePassword: [{
required: true,
message: '请输入确认密码',
trigger: 'blur'
}]
},
//修改密码
passWordMsg: {
OldPwd: '',
Pwd: '',
surePassword: ''
},
sureOldPwd: true,
visible: true,
SureVisible: true,
//切换方式
radio: '1',
};
},
methods: {
//修改密码
submitForm2(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.changePwd();
}
});
},
//修改密码方法
changePwd() {
if (this.passWordMsg.Pwd != this.passWordMsg.surePassword) {
this.Error('新密码和确认密码不一致');
return;
}
this.apipost('admin_get_MySelfResetPwd', this.passWordMsg, res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.passWordMsg.OldPwd = '';
this.passWordMsg.Pwd = '';
this.passWordMsg.surePassword = '';
// //修改成功后退出登录
setTimeout(() => {
this.$store.dispatch("logout")
localStorage.removeItem("userInfo");
localStorage.removeItem("previousPathInfo");
location.href = '/'
}, 1000);
} else {
this.Error(res.data.message);
}
}, err => {})
},
changePassOld(value) {
this.sureOldPwd = !(value === 'show');
},
changePass(value) {
this.visible = !(value === 'show');
}, //判断渲染,true:暗文显示,false:明文显示
changePass2(value) {
this.SureVisible = !(value === 'show');
},
},
mounted() {
this.u = this.getLocalStorage();
this.openMode = localStorage.openMode;
this.radio = localStorage.openMode;
//初始化这个裁剪框
var self = this;
var image = document.getElementById('image');
this.cropper = new Cropper(image, {
aspectRatio: 1,
viewMode: 1,
background: false,
zoomable: false,
ready: function () {
self.croppable = true;
}
});
}
};
</script>
......@@ -119,8 +119,8 @@ export default {
let crmUrl = ""; //crm API
let locationName = window.location.hostname;
// domainUrl = "http://192.168.10.128";
domainUrl = "http://192.168.10.9:8083" // 刘东电脑
// domainUrl = "http://192.168.10.206:8015";
// domainUrl = "http://192.168.10.9:8083" // 刘东电脑
domainUrl = "http://192.168.10.226:8015";
// domainUrl = "http://reborn.oytour.com";
let crmLocalFileStreamDownLoadUrl = "";
crmLocalFileStreamDownLoadUrl = locationName.indexOf('oytour') !== -1 ? "http://crm.oytour.com" : "http://testcrm.oytour.com";
......
......@@ -18,6 +18,15 @@ export default {
component: login
},
{
path: '/resetPassword',
name: 'resetPassword',
component: resolve => require(['@/components/resetPassword'], resolve),
meta: {
title: '修改密码'
},
},
{
path: '/leaderPrint', //领队用款计划
name: 'leaderPrint',
......
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