<template>
|
<div class="loginBox">
|
<van-nav-bar>
|
<template #left>
|
<van-icon @click="pageBack" name="arrow-left" size="18" />
|
</template>
|
<template #title>
|
<label>{{ $t("simpleLoginPage.login.TR") }}</label>
|
</template>
|
</van-nav-bar>
|
<div class="login_main">
|
<van-form
|
@submit="onSubmit"
|
@failed="onFiled"
|
colon
|
validate-trigger="onSubmit"
|
:show-error="true"
|
>
|
<van-field
|
required
|
v-model="fromData.userAccount"
|
name="userAccount"
|
:label="
|
fromData.isOnlyEmplyeeLogin
|
? $t('simpleLoginPage.userAccount.TR')
|
: $t('header.telPhoneNumber.TR')
|
"
|
:placeholder="
|
fromData.isOnlyEmplyeeLogin
|
? $t('simpleLoginPage.formValidate.loginName0.TR')
|
: $t('simpleLoginPage.formValidate.TelPhone0.TR')
|
"
|
:rules="[
|
{
|
validator: isNull,
|
message: $t('simpleLoginPage.formValidate.loginName1.TR'),
|
},
|
]"
|
autocomplete
|
/>
|
<van-field
|
required
|
v-model="fromData.password"
|
type="password"
|
name="password"
|
:label="$t('simpleLoginPage.password.TR')"
|
:placeholder="$t('simpleLoginPage.formValidate.pass0.TR')"
|
autocomplete
|
/>
|
<van-field
|
:disabled="isDisableUserType"
|
name="isOnlyEmplyeeLogin"
|
:label="$t('simpleLoginPage.userType.TR')"
|
>
|
<template #input>
|
<van-switch
|
:disabled="isDisableUserType"
|
v-model="fromData.isOnlyEmplyeeLogin"
|
active-value="#3b3b3b"
|
size="20"
|
></van-switch>
|
<span
|
style="margin-left: 5px"
|
:style="fromData.isOnlyEmplyeeLogin ? 'color:#3b3b3b' : ''"
|
>{{
|
fromData.isOnlyEmplyeeLogin
|
? $t("simpleLoginPage.userType0.TR")
|
: $t("simpleLoginPage.userType1.TR")
|
}}</span
|
>
|
</template>
|
</van-field>
|
<div style="margin: 16px">
|
<van-button
|
class="loginBtn"
|
round
|
block
|
type="info"
|
native-type="submit"
|
>{{ $t("simpleLoginPage.login.TR") }}</van-button
|
>
|
</div>
|
<div style="margin: 16px" v-if="!fromData.isOnlyEmplyeeLogin">
|
<van-button
|
class="registerBtn"
|
round
|
block
|
type="info"
|
:disabled="isDisableRegister"
|
plain
|
@click="toRegister"
|
>{{ $t("simpleLoginPage.register.TR") }}</van-button
|
>
|
</div>
|
</van-form>
|
<div
|
v-if="true"
|
style="
|
display: flex;
|
justify-content: flex-end;
|
padding: 0 30px;
|
font-size: 14px;
|
color: #4e6ef2;
|
"
|
>
|
<div @click="forgetPwd">
|
{{ $t("simpleLoginPage.forgetPassword.TR") }}?
|
</div>
|
</div>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import constParas from "@/utils/constParas";
|
import languageMixin from "@/mixin/language";
|
export default {
|
mixins: [languageMixin],
|
data() {
|
return {
|
m_pageTitle: "",
|
pageName: "登录",
|
fromData: {
|
userAccount: "", //用户账户
|
password: "", //密码
|
isOnlyEmplyeeLogin: false, //用户类型
|
},
|
isDisableUserType: false, //是否禁用用户类型选择
|
isDisableRegister: false, //是否禁用注册按钮
|
};
|
},
|
mounted() {
|
this.m_pageTitle = this.getSoftName();;
|
document.title=this.m_pageTitle
|
this.isDisableUserType = window.pageConfig.LoginPage.isClickUserType;
|
this.isDisableRegister = window.pageConfig.LoginPage.isRegisterOuterAble;
|
this.fromData.isOnlyEmplyeeLogin =
|
window.pageConfig.LoginPage.isOnlyEmplyeeLogin;
|
//console.log(this.fromData.isOnlyEmplyeeLogin,78)
|
},
|
methods: {
|
//提交表单验证成功时触发
|
onSubmit(values) {
|
// console.log("submit", values);
|
let _this = this;
|
let myToast = _this.$toast;
|
|
let url =
|
this.$globalConfig.WebApiUrl.MainUrl + "v1/UserLogin/MobileLogin";
|
let form_data = {
|
UserType: this.fromData.isOnlyEmplyeeLogin
|
? constParas.UserType.Employee
|
: constParas.UserType.OuterUser,
|
LoginName: this.fromData.userAccount,
|
PassWord: this.fromData.password,
|
SoftType: this.$globalConfig.SoftType,
|
SystemInfo: "",
|
};
|
|
this.$axios({
|
url: url,
|
method: "get",
|
params: form_data,
|
headers: { "Content-Type": "application/json" },
|
})
|
.then(function (res) {
|
// console.log(res);
|
let resdata = res.data;
|
if (resdata.Code != 0) {
|
myToast(resdata.Message);
|
return;
|
}
|
if (resdata.Data.Status < 0) {
|
myToast.fail(`${_this.$t("simpleLoginPage.passwordError.TR")}`);
|
return;
|
}
|
if (resdata.Data.User == null) {
|
myToast.fail(`${_this.$t("simpleLoginPage.passwordError.TR")}`);
|
return;
|
}
|
//console.log(resdata.Data.User,753)
|
let UserInfo = {
|
UserID: resdata.Data.User.UserID,
|
UserType: resdata.Data.User.UserType,
|
};
|
_this.$cookies.set("UserInfo", UserInfo);
|
|
_this.$store.commit("instante/account/init", resdata.Data.User);
|
// console.log(_this.$store.state.instante.account);
|
let { redirect } = _this.$route.query;
|
if (!redirect) {
|
redirect = "/";
|
}
|
var preLoginPagePath =
|
_this.$store.state.instante.account.preLoginPagePath;
|
if (preLoginPagePath != "") {
|
redirect = preLoginPagePath;
|
}
|
// console.log(redirect);
|
_this.$router.replace(redirect);
|
if (redirect.indexOf("/byParas/") != -1) {
|
_this.$router.go(-1);
|
}
|
localStorage.setItem("ViewPageNumber", -1);
|
myToast.success(`${_this.$t("simpleLoginPage.loginSuccessful.TR")}`);
|
})
|
.catch((msg) => {
|
// console.log(msg);
|
myToast.fail(msg);
|
// _this.$notify.error({
|
// title: "登录提示",
|
// duration: 1500,
|
// message: msg,
|
// });
|
});
|
},
|
//提交表单验证不成功时触发
|
onFiled() {},
|
toRegister() {
|
this.gotoPage("/register","",null)
|
},
|
isNull(str) {
|
if (str == "") return false;
|
return true;
|
},
|
//忘记密码
|
forgetPwd() {
|
this.gotoPage("/forgetPwd","",null)
|
},
|
//返回上一页
|
pageBack() {
|
this.$router.go(-1);
|
},
|
},
|
};
|
</script>
|
|
<style lang="scss">
|
</style>
|