<template>
|
<view class="content">
|
<image class="bg-img" src="../../static/login.jpg"></image>
|
<view class="container">
|
<view class="title">智云L-MES制造执行系统</view>
|
<view class="box">
|
<view class="logo">
|
<image src="../../static/logo.png" mode=""></image>
|
</view>
|
<view class="login">
|
<!-- <view class="item">
|
<view class="left">当前帐套:</view>
|
<picker :range="arrayDataBases" :value="DataBases" @change="DataBasesChange">
|
<view class="right" style="display: flex;align-items: center;">
|
<input type="text" disabled v-model="DataBases" placeholder="请选择当前帐套">
|
<uni-icons type="forward" color="#808080" style="border-left: 1px solid #aaaaaa;padding: 0 8rpx;" size="18"></uni-icons>
|
</view>
|
</picker>
|
</view> -->
|
<view class="item">
|
<view class="left">当前组织:</view>
|
<picker :range="arrayOrganization" :value="Organization" @change="OrganizationChange">
|
<view class="right" style="display: flex;align-items: center;">
|
<input type="text" disabled v-model="Organization" placeholder="请选择当前组织">
|
<uni-icons type="forward" color="#808080" style="border-left: 1px solid #aaaaaa;padding: 0 8rpx;" size="18"></uni-icons>
|
</view>
|
</picker>
|
</view>
|
<view class="item">
|
<view class="left">用户名:</view>
|
<view class="right">
|
<input type="text" v-model="UserName">
|
</view>
|
</view>
|
<view class="item">
|
<view class="left">密 码:</view>
|
<view class="right">
|
<input type="password" v-model="PassWord">
|
</view>
|
</view>
|
<!-- <view class="api">
|
当前服务器地址:{{serverUrl}}
|
</view>
|
<view class="apibtn" @tap="changeApi=true">修改服务器地址</view> -->
|
</view>
|
</view>
|
<hFormAlert v-if="changeApi" placeholder="请输入服务器地址" @confirm="confirm" @cancel="cancel"></hFormAlert>
|
|
<view class="btn" @tap="submit">登 录</view>
|
<view class="btn apibtn" @tap="changeApi=true">服务器设置</view>
|
</view>
|
</view>
|
</template>
|
|
<script>
|
import { setLoginData,setUserInfo} from "@/utils/auth.js";
|
import hFormAlert from '@/components/h-form-alert/h-form-alert.vue';
|
export default {
|
components: {
|
hFormAlert
|
},
|
data() {
|
return {
|
arrayDataBases:[],
|
DataBases:'',
|
|
arrayOrganization:[],
|
Organization:'',
|
HOrgNameList:[],
|
|
HOrgName:'',
|
UserName:'',//admin 001
|
PassWord:'',//123456
|
changeApi:false,
|
serverUrl: uni.getStorageSync('serverUrl')||'http://47.96.97.237/API',
|
}
|
},
|
onLoad() {
|
var logindata = uni.getStorageSync('loginData')||''
|
// console.log(logindata)
|
if(logindata){
|
logindata = JSON.parse(logindata)
|
this.HOrgName = logindata.HOrgName
|
this.Organization = logindata.Organization
|
this.UserName = logindata.UserName
|
this.PassWord = logindata.PassWord
|
}
|
this.getOrganization()
|
// this.getDataBases()
|
},
|
methods: {
|
confirm(e){
|
console.log(e)
|
uni.setStorageSync('serverUrl',e)
|
this.serverUrl = e
|
this.changeApi = false
|
this.getOrganization()
|
},
|
cancel(){
|
this.changeApi = false
|
},
|
getDataBases(){
|
uni.request({
|
url: this.serverUrl + '/Web/GetDataBases',
|
success: (result) => {
|
console.log(result);
|
if (result.count == 1) {
|
for(var i=0;i<res.data.data.length;i++){
|
this.arrayDataBases[i] = result.data.data[i].name;
|
}
|
}
|
console.log(this.arrayDataBases);
|
this.$forceUpdate();
|
},
|
fail: (res) => {
|
console.log(res);
|
},
|
});
|
},
|
DataBasesChange(e){
|
console.log(e.detail.value)
|
this.DataBases = this.arrayDataBases[e.detail.value]
|
uni.setStorageSync('DataBases', this.DataBases);
|
},
|
|
getOrganization(){
|
uni.request({
|
url: this.serverUrl + '/Web/GetOrganizations',
|
success: (res) => {
|
console.log(res.data.data);
|
for(var i=0;i<res.data.data.length;i++){
|
this.arrayOrganization[i] = res.data.data[i].Name
|
this.HOrgNameList[i] = res.data.data[i].ID
|
}
|
this.$forceUpdate();
|
},
|
fail: (res) => {
|
console.log(res);
|
uni.showToast({
|
title:'获取组织失败,请检查服务器地址',
|
icon:'none'
|
})
|
},
|
});
|
},
|
OrganizationChange(e){
|
// console.log(e.detail.value)
|
this.Organization = this.arrayOrganization[e.detail.value]
|
this.HOrgName = this.HOrgNameList[e.detail.value]
|
},
|
submit(){
|
if(!this.Organization){
|
uni.showToast({
|
title:'请选择组织',
|
icon:'none'
|
})
|
}else if(!this.UserName){
|
uni.showToast({
|
title:'请输入用户名',
|
icon:'none'
|
})
|
}else if(!this.PassWord){
|
uni.showToast({
|
title:'请输入密码',
|
icon:'none'
|
})
|
}else{
|
uni.showLoading({
|
title:'登录中...',
|
mask:true
|
})
|
var data = {
|
UserName: this.UserName,
|
PassWord: this.PassWord,
|
HOrgName: this.HOrgName,
|
Organization: this.Organization
|
}
|
uni.setStorageSync('loginData', JSON.stringify(data));
|
uni.request({
|
url: this.serverUrl + '/Web/GetUser',
|
method:'GET',
|
data:data,
|
success: (res) => {
|
console.log(res)
|
uni.hideLoading()
|
uni.showToast({
|
title:res.data.Message,
|
icon:'none'
|
})
|
if(res.data.count == 1){
|
setLoginData(data)
|
setUserInfo(res.data.data[0])
|
uni.setStorageSync('HUserName', res.data.data[0].Czymc);
|
uni.setStorageSync('HBillerID', res.data.data[0].HK3UserID);
|
uni.setStorageSync('SourceFlag', false);
|
uni.setStorageSync('login', "login");
|
uni.setStorageSync('Organization', this.Organization);
|
uni.setStorageSync('OrganizationID', this.HOrgName);
|
|
uni.reLaunch({
|
url:'/pages/index/index'
|
})
|
}
|
},
|
fail: (res) => {
|
console.log(res);
|
uni.hideLoading()
|
uni.showToast({
|
title:'接口请求失败',
|
icon:'none'
|
})
|
},
|
});
|
}
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
.bg-img{
|
position: fixed;
|
width: 100%;
|
height: 100%;
|
top: 0;
|
left: 0;
|
z-index: -1;
|
}
|
.container{
|
width: 100%;
|
height: 100%;
|
display: flex;
|
flex-direction: column;
|
align-items: center;
|
justify-content: center;
|
.title{
|
margin-top: 174rpx;
|
font-size: 47rpx;
|
font-weight: bold;
|
color: #FFFFFF;
|
}
|
.box{
|
width: 682rpx;
|
position: relative;
|
top: 120rpx;
|
display: flex;
|
justify-content: center;
|
.logo{
|
width: 155rpx;
|
height: 155rpx;
|
padding: 10rpx;
|
position: absolute;
|
z-index: 9;
|
background-color: rgba(255, 255, 255, 0.5);
|
border-radius: 100%;
|
image{
|
width: 100%;
|
height: 100%;
|
border-radius: 100%;
|
background-color: #f0f3f7;
|
}
|
}
|
.login{
|
width: 100%;
|
height: 480rpx;
|
position: absolute;
|
top: 90rpx;
|
z-index: 0;
|
background: #FFFFFF;
|
border-radius: 25rpx 0 25rpx 0;
|
box-shadow: 0 6rpx 24rpx 8rpx rgba(21, 99, 210, 0.14);
|
padding-top: 160rpx;
|
.item{
|
display: flex;
|
align-items: center;
|
justify-content: flex-end;
|
margin-right: 38rpx;
|
margin-bottom: 70rpx;
|
.left{
|
font-size: 34rpx;
|
font-weight: 400;
|
color: #3C3C3C;
|
}
|
.right{
|
width: 441rpx;
|
height: 68rpx;
|
background: #EBEBEB;
|
border-radius: 10rpx;
|
input{
|
height: 100%;
|
padding: 0 30rpx;
|
font-size: 30rpx;
|
}
|
}
|
}
|
// .api{
|
// margin-left: 30rpx;
|
// font-size: 27rpx;
|
// color: #888;
|
// }
|
// .apibtn{
|
// text-align: center;
|
// font-size: 27rpx;
|
// margin-top: 14rpx;
|
// color: #066fb8;
|
// text-decoration: underline; /* 添加下划线 */
|
// font-style: italic; /* 将字体变为斜体 */
|
// }
|
}
|
}
|
.btn{
|
width: 540rpx;
|
height: 92rpx;
|
line-height: 92rpx;
|
margin-top: 940rpx;
|
background: #78CEFD;
|
box-shadow: 0rpx 0rpx 44rpx 7rpx rgba(120,206,253,0.3);
|
border-radius: 10rpx;
|
font-weight: 400;
|
color: #FEFEFE;
|
text-align: center;
|
font-size: 36rpx;
|
}
|
.apibtn{
|
margin-top: 50rpx;
|
background: #eec18e;
|
box-shadow: 0rpx 0rpx 44rpx 7rpx rgba(253, 186, 118, 0.3);
|
}
|
}
|
</style>
|