<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> -->
|
<uni-popup ref="popup" type="center">
|
<uni-popup-dialog title="服务器设置" mode="input" @confirm="confirmHandler">
|
<view class="popup-content">
|
<picker class="pop-item" :range="arrayServerOrganization" :value="serverOrganization"
|
@change="serverOrganizationChange">
|
<view class="right" style="display: flex;align-items: center;">
|
<input type="text" disabled v-model="serverOrganization" placeholder="请选择当前组织">
|
<uni-icons type="forward" color="#808080"
|
style="border-left: 1px solid #aaaaaa;padding: 0 8rpx;" size="18"></uni-icons>
|
</view>
|
</picker>
|
<view class="pop-item">
|
<input type="text" :value="serverUrlCache" placeholder="请输入服务器地址" />
|
</view>
|
</view>
|
</uni-popup-dialog>
|
</uni-popup>
|
|
<view class="btn" @tap="submit">登 录</view>
|
<!-- <view class="btn apibtn" @tap="changeApi=true">服务器设置</view> -->
|
<view class="btn apibtn" @click="openServerSettingHandler">服务器设置</view>
|
</view>
|
</view>
|
</template>
|
|
<script>
|
import {
|
setLoginData,
|
setUserInfo
|
} from "@/utils/auth.js";
|
import hFormAlert from '@/components/h-form-alert/h-form-alert.vue';
|
import {
|
CommonUtils
|
} from "../../utils/common";
|
export default {
|
components: {
|
hFormAlert
|
},
|
data() {
|
return {
|
CommonUtils,
|
arrayDataBases: [],
|
DataBases: '',
|
|
arrayServerOrganization: ["浙江智云迈思", "温州海诚"],
|
arrayServerOrganizationValues: [
|
'http://47.96.97.237/API/',
|
'http://122.228.39.234:7177/API/'
|
],
|
serverOrganization: '',
|
arrayOrganization: [],
|
Organization: '',
|
HOrgNameList: [],
|
|
HOrgName: '',
|
UserName: '', //admin 001
|
PassWord: '', //123456
|
changeApi: false,
|
serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API',
|
serverUrlCache: '',
|
}
|
},
|
onShow() {
|
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.serverUrlCache = this.serverUrl
|
console.log('this.serverUrlCache: ', this.serverUrlCache);
|
let index = this.arrayServerOrganizationValues.findIndex((e) => {
|
return e == this.serverUrlCache
|
})
|
if (index == -1) {
|
index = 0
|
}
|
this.serverOrganization = this.arrayServerOrganization[index]
|
this.getOrganization()
|
this.getDataBases()
|
},
|
methods: {
|
async InitOrgination() {
|
console.log("初始化组织")
|
await this.$nextTick(() => {
|
this.Organization = this.arrayOrganization[0]
|
this.HOrgName = this.HOrgNameList[0]
|
|
let org = uni.getStorageSync('Organization')
|
let orgName = uni.getStorageSync('OrganizationID')
|
let orgHas = Array.from(this.arrayOrganization).findIndex((e) => e == org)
|
if (org && (orgHas != -1)) {
|
this.Organization = org
|
this.HOrgName = orgName
|
}
|
})
|
},
|
confirm(e) {
|
console.log(e)
|
uni.setStorageSync('serverUrl', e)
|
this.serverUrl = e
|
this.changeApi = false
|
this.getOrganization()
|
},
|
confirmHandler() {
|
uni.setStorageSync('serverUrl', this.serverUrlCache)
|
this.serverUrl = this.serverUrlCache
|
// this.changeApi = false
|
this.getOrganization()
|
},
|
cancel() {
|
this.changeApi = false
|
},
|
openServerSettingHandler() {
|
this.$refs.popup.open()
|
},
|
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() {
|
this.arrayOrganization = []
|
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.Organization = res.data.data[0].Name
|
// this.HOrgName = res.data.data[0].ID
|
this.$forceUpdate();
|
this.InitOrgination()
|
},
|
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]
|
},
|
serverOrganizationChange(e) {
|
// console.log(e.detail.value)
|
let index = e.detail.value
|
this.serverOrganization = this.arrayServerOrganization[index]
|
this.serverUrlCache = this.arrayServerOrganizationValues[index]
|
},
|
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);
|
this.CommonUtils.setServerUrl(this.serverUrl)
|
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);
|
}
|
}
|
|
.popup-content {
|
box-sizing: border-box;
|
display: flex;
|
flex-direction: column;
|
gap: 30rpx;
|
|
.pop-item {
|
border: #EBEBEB 2rpx solid;
|
border-radius: 10rpx;
|
padding: 14rpx 8rpx;
|
}
|
|
>picker {
|
background-color: #EBEBEB;
|
}
|
}
|
</style>
|