| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508 |
- // pages/login/login.js
- const app = getApp();
- import {
- deepClone,
- encryption,
- randomLenNum
- } from "./../../utils/util";
- const accountInfo = wx.getAccountInfoSync();
- const current = accountInfo.miniProgram.envVersion;
- const pass = {
- //开发
- develop: "BXD123456",
- //体验版
- trial: "BXD123456",
- // 正式
- release: ""
- }
- const passwd = pass[current];
- const {
- requestPath
- } = require('./../../url')
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- user: {
- username: "",
- password: passwd || "",
- // username: "SZMAdmin",
- // password: "BXD123456",
- mobile: "",
- code: '',
- wxCode: '',
- randomStr: '',
- code1: ''
- },
- smsTime: 0,
- eyes: false,
- straumann: false,
- ownerCodeList: [],
- virtualInventoryList: [],
- changeCompanyName: false,
- companyName: "",
- selectCompanyName: "",
- virtualInventoryId: "",
- virtualInventoryName: "",
- virtualInventoryValue: [],
- code: {
- src: "/code",
- value: "",
- len: 4,
- type: "image"
- },
- tokenData: {
- userData: null,
- user: null,
- company: null,
- },
- loginType: 0
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad(options) {
- // wx.setStorageSync('111', 111);
- // wx.enableAlertBeforeUnload({
- // message: "您确定取消登录吗?",
- // success: function (res) {
- // wx.clearStorageSync();
- // //console.log("成功", res);
- // },
- // fail: function (errMsg) {}
- // });
- let userInfo = wx.getStorageSync('userInfo');
- if (userInfo && userInfo.userId) {
- // app.globalData.tabbar.list[0].show = false;
- wx.switchTab({
- url: '/pages/index/index',
- })
- return;
- }
- this.getCode();
- this.renderCode()
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady() {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- async onShow() {
- },
- async getCode() {
- let res = await wx.login();
- this.setData({
- wxCode: res.code
- })
- return res.code;
- },
- renderCode() {
- let codeV = this.data.code;
- let user = this.data.user;
- user.code = "";
- user.randomStr = randomLenNum(codeV.len, true);
- codeV.type === "text" ?
- (codeV.value = randomLenNum(codeV.len)) :
- (codeV.src = `${requestPath}/code?randomStr=${this.data.user.randomStr}`);
- this.setData({
- user,
- code: codeV
- })
- },
- async getSmsCode() {
- if (!this.data.user.mobile) {
- wx.showToast({
- title: '请输入正确的手机号',
- icon: "none"
- });
- return;
- }
- let {
- data
- } = await app.ajax.gets(`/admin/mobile/${this.data.user.mobile}`);
- if (!data.data) {
- wx.showToast({
- title: data.msg,
- icon: "none"
- });
- } else {}
- wx.showToast({
- title: '验证码发送成功',
- icon: "none"
- });
- this.setData({
- smsTime: 60
- });
- let that = this;
- let smsTime = setInterval(() => {
- if (that.data.smsTime - 1 == 0) {
- clearInterval(smsTime);
- }
- this.setData({
- smsTime: that.data.smsTime - 1
- });
- }, 1000);
- },
- setLoginType(e) {
- this.setData({
- loginType: Number(e.currentTarget.dataset.index)
- })
- },
- async submit(e) {
- let userInfo = e.detail.value;
- let userEnc = encryption({
- data: userInfo,
- key: "pigxpigxpigxpigx",
- param: ["password"]
- });
- // return;
- try {
- let data = {
- ...this.data.user,
- ...userEnc
- };
- let userData = {};
- if (this.data.loginType == 0) {
- if (!userInfo.mobile) {
- wx.showToast({
- title: '手机号不可为空',
- icon: "error"
- });
- return;
- }
- if (!userInfo.code1) {
- wx.showToast({
- title: '手机号不可为空',
- icon: "error"
- });
- return;
- }
- userData = await app.ajax.post({
- url: `/auth/mobile/token/sms?scope=server&mobile=SMS@${userInfo.mobile}&code=${userInfo.code1}`,
- data: {
- mobile: "SMS@" + userInfo.mobile,
- code: userInfo.code1,
- scope: "server"
- },
- header: {
- Authorization: "Basic bWluaTptaW5p",
- isToken: false
- }
- });
- } else if (this.data.loginType == 1) {
- userData = await app.ajax.post({
- url: `/auth/oauth/token?code=${data.code}&grant_type=password&password=${encodeURIComponent(data.password)}&randomStr=${data.randomStr}&scope=server&username=${data.username}`,
- data: {},
- header: {
- Authorization: "Basic bWluaTptaW5p",
- isToken: false
- }
- });
- }
- wx.clearStorageSync();
- wx.setStorageSync('access_token', userData.data.access_token);
- wx.setStorageSync('refresh_token', userData.data.refresh_token);
- wx.setStorageSync('expires_in', userData.data.expires_in);
- wx.setStorageSync('isLock', false);
- wx.setStorageSync('lockPasswd', '');
- //console.log(userData)
- // app.globalData.userInfo = userData;
- // wx.setStorageSync('userInfo', userData.data);
- let user = await app.ajax.get({
- url: "/admin/user/info",
- data: {}
- });
- user = user.data.data;
- let company = await app.ajax.get({
- url: `/admin/bxdClientCompany/${user.sysUser.companyId}`,
- data: {}
- });
- let isStraumann = company.data.data.corporationCode == 'straumann';
- wx.setStorageSync('isStraumann', isStraumann);
- if (isStraumann) {
- } else if (user.sysUser.roleType === "2") {
- this.renderCode();
- wx.clearStorageSync();
- wx.showToast({
- title: '您没下单或审批权限,请更换账号!',
- icon: 'none'
- });
- return;
- } else if (user.sysUser.roleType === "0") {
- let roles = user.roleList.find(v => v.roleCode == 'ROLE_ORDER_AUDIT' || v.roleCode == 'SZMAdmin');
- if (!roles) {
- this.renderCode();
- wx.clearStorageSync();
- wx.showToast({
- title: '您没下单或审批权限,请更换账号!',
- icon: 'none'
- });
- return;
- }
- }
- let xiadan = user.roleList.find(v => v.roleCode == 'User' || v.roleCode == 'ROLE_ORDER_AUDIT' || v.roleCode == 'SZMAdmin');
- if (!xiadan && !isStraumann) {
- this.renderCode();
- wx.clearStorageSync();
- wx.showToast({
- title: '您没下单或审批权限,请更换账号!',
- icon: 'none'
- });
- return;
- }
- await app.ajax.post({
- url: `/admin/social/bind?state=WX&code=${await this.getCode()}`,
- });
- company = company.data.data;
- app.globalData.userInfo = user;
- wx.setStorageSync('userInfo', user.sysUser);
- wx.setStorageSync('userRole', user.roles);
- wx.setStorageSync('roleList', user.roleList);
- wx.setStorageSync('companyId', user.sysUser.companyId);
- wx.setStorageSync('companyName', user.sysUser.companyName || '');
- wx.setStorageSync('selectCompanyName', user.sysUser.companyName || '');
- wx.setStorageSync('virtualInventoryId', user.sysUser.virtualInventoryId || 0);
- wx.setStorageSync('virtualInventoryName', user.sysUser.virtualInventoryName || '');
- wx.setStorageSync('virtualInventoryValue', []);
- wx.setStorageSync('virtualInventoryList', []);
- // wx.setStorageSync('ownerCodeList', company.ownerCodeList);
- wx.setStorageSync('ownerCodeList', user.sysUser.companyName.split(","));
- // app.globalData.tabbar.list[0].show = false;
- app.globalData.company = company;
- wx.setStorageSync('company', company);
- app.globalData.logout = false;
- wx.setStorageSync('logout', false);
- wx.setStorageSync('showChangeCompanyName', false);
- this.setData({
- companyName: company.companyName,
- tokenData: {
- userData: userData.data.data,
- user: user,
- company: company
- }
- })
- let role = user.roleList.find(v => v.roleCode == 'SZMAdmin');
- if (role) {
- wx.setStorageSync('companyName', '');
- wx.setStorageSync('selectCompanyName', '');
- wx.setStorageSync('showChangeCompanyName', true);
- app.globalData.changeCompanyName = true;
- } else {
- this.goHome();
- }
- } catch (e) {
- //console.log(e)
- this.renderCode();
- }
- },
- eyesTap() {
- this.setData({
- eyes: !this.data.eyes
- })
- },
- asyncValue(e) {
- this.setData({
- ["user." + e.target.dataset.name]: e.detail.value
- });
- },
- setCompanyName(e) {
- //console.log(e)
- this.setData({
- selectCompanyName: this.data.ownerCodeList[Number(e.detail.value)]
- })
- this.getVirtualInventoryList();
- },
- async changeCompany(userData, user, company) {
- this.setData({
- ownerCodeList: wx.getStorageSync('ownerCodeList'),
- changeCompanyName: true,
- });
- },
- async getVirtualInventoryList() {
- let companyId = this.data.tokenData.company.companyId;
- let selectCompanyName = this.data.selectCompanyName;
- let {
- data
- } = await app.ajax.get({
- url: `/admin/bxdVirtualInventory/page?companyId=${companyId}&companyName=${selectCompanyName}¤t=1&size=10000`,
- noCompany: true
- });
- let virtualInventoryList = data.data.records.map(v => {
- v.children = [{
- virtualInventoryName: '一级'
- }].concat(v.children);
- return v;
- });
- this.setData({
- virtualInventoryValue: [0, 0],
- virtualInventoryList: [
- virtualInventoryList,
- virtualInventoryList[0].children
- ]
- })
- },
- setVirtualInventoryId(e) {
- //console.log(e)
- let virtualInventoryList = this.data.virtualInventoryList;
- let virtualInventoryName = virtualInventoryList[0][e.detail.value[0]].virtualInventoryName;
- let virtualInventoryId = virtualInventoryList[0][e.detail.value[0]].virtualInventoryId;
- if (virtualInventoryList[1][e.detail.value[1]].virtualInventoryId) {
- virtualInventoryName += "/" + virtualInventoryList[1][e.detail.value[1]].virtualInventoryName;
- virtualInventoryId = virtualInventoryList[1][e.detail.value[1]].virtualInventoryId;
- }
- this.setData({
- virtualInventoryValue: e.detail.value,
- virtualInventoryName,
- virtualInventoryId
- });
- },
- setVirtualInventoryChildren(e) {
- let virtualInventoryValue = this.data.virtualInventoryValue;
- let virtualInventoryList = this.data.virtualInventoryList;
- virtualInventoryValue[e.detail.column] = e.detail.value;
- if (e.detail.column == 0) {
- virtualInventoryValue[1] = 0;
- }
- this.setData({
- virtualInventoryValue
- });
- if (e.detail.column == 0) {
- virtualInventoryList[1] = virtualInventoryList[e.detail.column][e.detail.value].children;
- this.setData({
- virtualInventoryList
- });
- }
- },
- selectConfirm() {
- if (!this.data.selectCompanyName) {
- wx.showToast({
- title: '请选择货主',
- icon: 'error'
- });
- return;
- }
- if (!this.data.virtualInventoryName) {
- wx.showToast({
- title: '请选择成本中心',
- icon: 'error'
- });
- return;
- }
- this.goHome();
- },
- goHome() {
- let {
- userData,
- user,
- company
- } = this.data.tokenData;
- app.globalData.userInfo = user;
- wx.setStorageSync('userInfo', user.sysUser);
- wx.setStorageSync('userRole', user.roles);
- wx.setStorageSync('roleList', user.roleList);
- wx.setStorageSync('companyId', user.sysUser.companyId);
- wx.setStorageSync('companyName', this.data.selectCompanyName || user.sysUser.companyName);
- wx.setStorageSync('virtualInventoryId', this.data.virtualInventoryId || user.sysUser.virtualInventoryId || 0);
- wx.setStorageSync('virtualInventoryName', this.data.virtualInventoryName);
- wx.setStorageSync('virtualInventoryValue', this.data.virtualInventoryValue);
- wx.setStorageSync('virtualInventoryList', this.data.virtualInventoryList);
- wx.setStorageSync('ownerCodeList', this.data.ownerCodeList);
- // app.globalData.tabbar.list[0].show = false;
- app.globalData.company = company;
- wx.setStorageSync('company', company);
- wx.setStorageSync('isStraumann', company.corporationCode == 'straumann');
- app.globalData.logout = true;
- wx.setStorageSync('logout', false);
- setTimeout(() => {
- wx.showToast({
- title: '登录成功',
- icon: "success"
- });
- }, 200);
- setTimeout(() => {
- wx.switchTab({
- url: '/pages/index/index',
- })
- }, 1000)
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide() {
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload() {
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh() {
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom() {
- },
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage() {
- }
- })
|