From 49dfdd3bf265db28d38167f34e9aabfdd3e8e5db Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期五, 17 十月 2025 10:16:58 +0800
Subject: [PATCH] imagebutton
---
pages/login/index.vue | 479 +++++++++++++++++++++++++++++------------------------------
1 files changed, 234 insertions(+), 245 deletions(-)
diff --git a/pages/login/index.vue b/pages/login/index.vue
index 2fef010..4eae444 100644
--- a/pages/login/index.vue
+++ b/pages/login/index.vue
@@ -1,5 +1,5 @@
<template>
- <view class="uni-page-login" style="width: 100vw;height: 64vh;">
+ <view class="uni-page-login " :class="largeMode?'large-mode':''" style="width: 100vw;height: 64vh;">
<div id="headr" class="mui-bar mui-bar-nav">
<image class="logo" src="../../images/login/mobox_log_200.png"></image>
</div>
@@ -8,18 +8,11 @@
<a href="javascript:;" class="SetServer" @click="inputDialogToggle">{{translateSys('set')}}</a>
<a href="javascript:;" class="SetServer" @click="clickSetLanguage">{{translateSys('language')}}</a>
-
- <!-- <div class="mui-input-row">
- <label class="la_icon"><image class="logo_input" src="../../images/login/svr_30.png"></image></label>
- <input type="text" class="mui-input" v-model="userServer" placeholder="鏈嶅姟鍣ㄥ湴鍧�>
- <label class="mui-navigate-right" id="sersel"><image class="logo_icon" src="../../images/login/sel_left.png" ></image></label>
- </div> -->
<div class="mui-input-row">
<label class="la_icon">
<image class="logo_input" src="../../images/login/person_30.png"></image>
</label>
<input type="text" class="mui-input" v-model="userName" :placeholder="translateSys('input_login')">
- <!-- <label class="mui-navigate-right" id="namsel"><image class="logo_icon" src="../../images/login/user-photo.png</image></label> -->
</div>
<div class="mui-input-row">
<label class="la_icon">
@@ -35,7 +28,8 @@
</label>
</checkbox-group>
</form>
- <button id='login' type="default" @tap="logind" class="btn_login">{{translateSys("start_login")}}</button>
+ <button id='login' :disabled="btnLoading" type="default" @tap="onClickLogin"
+ class="btn_login">{{translateSys("start_login")}}</button>
<p style="float:right; margin: 10px 10px;color:#c8c7cc">
<span>{{translateSys('version')}}锛�/span>
<span>{{version}}</span>
@@ -69,8 +63,23 @@
</view>
</uni-popup>
<!-- 鐗堟湰鍗囩骇寮圭獥缁撴潫 -->
+ <uni-popup ref="refClassDialog" type="dialog">
+ <uni-popup-dialog mode="info" :title="$t('page.bind_classes')" @confirm="dialogClassConfirm">
+ <view class="popup-class">
+ <view class="popup-class-item" :style="{color:item.text == selectedClasses ? '#27A6E1' :''}"
+ v-for="(item,index) in classesLst" :key="index" @click="clickSelectClass(item)">
+ <view class="ico"><uni-icons v-if="item.text == selectedClasses" type="checkmarkempty"
+ :color="item.text == selectedClasses ? '#27A6E1' :''" size="24"></uni-icons></view>
+ {{item.text}}
+ </view>
+ </view>
+ </uni-popup-dialog>
+ </uni-popup>
</view>
-
+ <!-- <button @click="onClickWms">鐧诲綍wms</button>
+ <view class="webview">
+ <web-view ref="webview" src="http://115.29.185.26:5000/mobox3/#/"></web-view>
+ </view> -->
</view>
</template>
@@ -79,12 +88,23 @@
import cmdProgress from "@/components/cmd-progress/cmd-progress.vue"
import {
showModal,
- showToast,
+ showInfo,
+ showError,
showLoading,
hideLoading
} from "@/js/Page.js"
+ import {
+ isMobox3Web,
+ login,
+ getApkVersionInfo
+ } from "@/api/index.js"
+ import buttonClickMixin from '@/mixins/button-click.js';
+ import {
+ dictGetInfo
+ } from "@/api/mobox.js"
import utils from "@/js/utils.js"
export default {
+ mixins: [buttonClickMixin],
components: {
cmdProgress
},
@@ -99,6 +119,11 @@
downloadUrl: "", //瀹夊崜app涓嬭浇閾炬帴
percentage: 0, //涓嬭浇杩涘害
showBtns: true,
+ selectedClasses: "",
+ classesLst: [],
+ largeMode: false,
+
+
}
},
onShow() {
@@ -133,113 +158,32 @@
},
//妫�祴鏄惁闇�鏇存柊
async check(version) {
- if (!this.userServer) {
- uni.showModal({
- title: this.translateSys("tip"),
- content: this.translate("tip_no_web_server"),
- showCancel: false,
- confirmText: this.translateSys('cancel')
- });
- return;
- }
- var ser = this.userServer.toLowerCase().split('/');
- var translateSyshis = this;
- var rootUrl = 'http://' + this.userServer
- if (this.userServer.includes("://")) {
- rootUrl = this.userServer
- }
- if (ser[ser.length - 1] == 'mobox3') { //鍒ゆ柇褰撳墠缃戝潃鏄惁鏄痬obox3
- var url = rootUrl + '/Program/version.txt';
- console.log(url);
- uni.request({
- url: url, // 鎸囧畾JS鏂囦欢鐨勫畬鏁磋矾寰�- method: 'GET',
- success(res) {
- console.log(res);
- if (res && res.statusCode === 200) {
- //鑾峰彇褰撳墠鐗堟湰鍙�- var VersionName = res.data; //鏇存柊鍖呭悕绉�- var versionInfo = res.data.split('_');
- var versionNum = versionInfo[2].replace(".apk", ""); //鐗堟湰缂栫爜
- var VersionCode = versionInfo[2].replace(".apk", "").replace(".", "").replace(
- ".", ""); //鏈嶅姟绔増鏈彿
- // this.downloadUrl = resp.PdaUrl+"/"+VersionName; //app涓嬭浇閾炬帴
+ try {
+ if (!this.userServer) {
- translateSyshis.downloadUrl = rootUrl + "/Program/" +
- VersionName; //app涓嬭浇閾炬帴this.
- var isver = translateSyshis.compare(versionNum, version);
- if (isver) {
- translateSyshis.$refs.promotion.open();
- } else {
- console.log('褰撳墠宸叉槸鏈�柊鐗堟湰')
- }
- } else {
- // if(res.statusCode === 404){
- // uni.showModal({
- // title: "鎻愮ず",
- // content: '璇锋眰澶辫触锛屾壘涓嶅埌鏇存柊鍖呯増鏈枃妗o細'+url,
- // showCancel: false,
- // confirmText: "鍙栨秷"
- // });
- // }
- }
- },
- fail(err) {
- // 閿欒澶勭悊閫昏緫
- uni.showModal({
- title: this.translateSys('error'),
- content: this.translate('tip_get_file_fail_first') + "'" + url + "'" +
- this.translate('tip_get_file_fail_last') + "\n" + err,
- showCancel: false,
- confirmText: this.translateSys('cancel')
- });
- }
- });
- } else {
- var dataInfo = {
- server: rootUrl
- };
- this.$store.dispatch('GetApkVersionInfo', dataInfo).then(success => {
- console.log(success);
- if (success.code == '00000') {
- let resp = success.data;
- if (resp) {
- // const obj = resp.data.filter(item => {
- // return item.groupName == 'version'
- // })
- //鑾峰彇褰撳墠鐗堟湰鍙�- const VersionName = resp.VersionName; //鏇存柊鍖呭悕绉�- const VersionCode = resp.VersionCode; //鐗堟湰缂栫爜
- const versionNum = resp.Version; //鏈嶅姟绔増鏈彿
- // this.downloadUrl = resp.PdaUrl+"/"+VersionName; //app涓嬭浇閾炬帴
- translateSyshis.downloadUrl = rootUrl +
- "/Program/" +
- VersionName; //app涓嬭浇閾炬帴this.
- var isver = translateSyshis.compare(versionNum, version);
- if (isver) {
- translateSyshis.$refs.promotion.open();
- } else {
- console.log('褰撳墠宸叉槸鏈�柊鐗堟湰')
- }
- }
+ showInfo( this.translate('tip_no_web_server'));
+
+ return;
+ }
+ // var ser = this.userServer.toLowerCase().split('/');
+ const res = await getApkVersionInfo(this.userServer)
+ this.downloadUrl = res.dldUrl || ""
+ if (this.downloadUrl) {
+ var isver = this.compare(res.verNum || "", version);
+ if (isver) {
+ this.$refs.promotion.open();
} else {
- uni.showModal({
- title: this.translateSys('error'),
- content: success.msg,
- showCancel: false,
- confirmText: this.translateSys('cancel')
- });
+ console.log('褰撳墠宸叉槸鏈�柊鐗堟湰')
}
- }).catch(ex => {
- console.log(ex);
- uni.showModal({
- title: this.translateSys('error'),
- content: ex.errMsg ? ex.errMsg : ex.message,
- showCancel: false,
- confirmText: this.translateSys('cancel')
- });
- });
+ }
+
+ } catch (ex) {
+ // console.log(ex);
+ showError(ex,this.translateSys("error"));
+
}
+
+
},
compare(curV, reqV) {
var arr1 = curV.toString().split('.');
@@ -300,18 +244,12 @@
//涓嬭浇鎴愬姛,d.filename鏄枃浠跺湪淇濆瓨鍦ㄦ湰鍦扮殑鐩稿璺緞锛屼娇鐢ㄤ笅闈㈢殑API鍙浆涓哄钩鍙扮粷瀵硅矾寰� var fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename);
plus.runtime.openFile(d.filename); //閫夋嫨杞欢鎵撳紑鏂囦欢
- uni.showToast({
- icon: 'none',
- title: this.translate('update_success')
- });
+ showInfo( this.translate('update_success'));
_this.$refs.promotion.close();
} else {
//涓嬭浇澶辫触
plus.downloader.clear(); //娓呴櫎涓嬭浇浠诲姟
- uni.showToast({
- icon: 'none',
- title: this.translate('update_fail')
- });
+ showInfo( this.translate('update_fail'));
_this.showBtns = false;
}
})
@@ -336,12 +274,15 @@
inputDialogToggle() {
// this.$refs.inputDialog.open()
const $this = this
+
uni.navigateTo({
url: "./set",
events: {
exitSetEvent(val) {
- $this.userServer = val;
- $this.query(); //鐗堟湰鍗囩骇
+ $this.userServer = val;
+ $this.query(); //鐗堟湰鍗囩骇
+ $this.largeMode = getApp().globalData.largeMode
+
}
}
})
@@ -369,11 +310,12 @@
// }, 3000)
// }, 3000)
},
+
rememberPwd(e) { //璁颁綇瀵嗙爜
console.log(e.target);
utils.session.setValue('account', '');
utils.session.setValue('password', '');
- if (e.target.value[0] == '1') {
+ if (e.detail.value[0] == '1') {
utils.session.setValue('account', this.userName);
utils.session.setValue('password', this.userPwd);
}
@@ -397,101 +339,139 @@
// ((expiredays==null)?'':';expires='+exdate.toGMTString());
// },
- logind() {
- if (!this.userServer) {
- uni.showModal({
- title: this.translateSys('tip'),
- content: this.translate('tip_no_web_server'),
- showCancel: false,
- confirmText: this.translateSys('cancel')
- });
- return;
- }
- if (!this.userName) {
- uni.showModal({
- title: this.translateSys('tip'),
- content: this.translate('tip_no_user_account'),
- showCancel: false,
- confirmText: this.translateSys('cancel')
- });
- return;
- }
- if (!this.userPwd) {
- uni.showModal({
- title: this.translateSys('tip'),
- content: this.translate('tip_no_user_password'),
- showCancel: false,
- confirmText: this.translateSys('cancel')
- });
- return;
- }
- var rootUrl = 'http://' + this.userServer
- if (this.userServer.includes("://")) {
- rootUrl = this.userServer
- }
- const mobox3Port = utils.session.getValue('mobox3_port');
- //妫�煡 "鐧诲綍鐘舵�/閿佸睆鐘舵�" 缁撴潫
- var loginInfo = {
- server: rootUrl,
- orgsport: mobox3Port?.org || 5101,
- moboxsport: mobox3Port?.mobox || 5102,
- datasport: mobox3Port?.data || 5103,
- mongodbsport: mobox3Port?.mongodb || 5201,
- uname: this.userName,
- pwd: this.userPwd,
- cname: plus.device.model,
- type: "0"
- };
- console.log(loginInfo);
- showLoading("loading......")
- //鐧诲綍
- this.$store.dispatch('login', loginInfo).then(success => {
- console.log(success);
- if (success.code == '00000' || success.err_code == 0) {
- //鐧诲綍鎴愬姛鍚庢竻绌虹紦瀛樻暟鎹�- this.$store.commit("areaFunc", null);
- this.$store.commit("classAttrList", null);
- this.$store.commit("classGridStyleInfo", null);
- this.$store.commit("dicValueInfo", null);
- this.$store.commit("subClassAttrList", null);
- this.$store.commit("subClassGridStyleInfo", null);
- //璁剧疆鍏ㄥ眬鍙傛暟锛歶ser-鐢ㄦ埛淇℃伅
- utils.session.setValue('server', loginInfo.server);
- utils.session.setValue('account', loginInfo.uname);
- utils.session.setValue('password', loginInfo.pwd);
- // this.mutatLogin({loginid:success});
- this.$store.commit('login', {
- loginid: success
- });
- hideLoading()
- uni.navigateTo({
- url: '../index/index?args=9999999999'
- })
- // uni.redirectTo({
- // url:'../index/index?args=9999999999'
- // });
-
-
- } else {
- hideLoading()
- uni.showModal({
- title: this.translateSys('error'),
- content: success.msg,
- showCancel: false,
- confirmText: this.translateSys('cancel')
- });
- }
- }).catch(ex => {
- console.log(ex);
- hideLoading()
- uni.showModal({
- title: this.translateSys('error'),
- content: ex.errMsg,
- showCancel: false,
- confirmText: this.translateSys('cancel')
- });
+ onClickLogin() {
+ this.handleButtonClick((done) => {
+ this.logind()
+ setTimeout(() => {
+ done(); // 閲嶇疆鐘舵�
+ }, 1000);
});
},
+ async logind() {
+ try {
+ if (!this.userServer) {
+ showInfo(this.translate('tip_no_web_server'));
+ return;
+ }
+ if (!this.userName) {
+ showInfo(this.translate('tip_no_user_account'))
+ return;
+ }
+ if (!this.userPwd) {
+ showInfo(this.translate('tip_no_user_password'));
+
+ return;
+ }
+ var rootUrl = 'http://' + this.userServer
+ if (this.userServer.includes("://")) {
+ rootUrl = this.userServer
+ }
+ showLoading("loading...")
+ const res = await login(rootUrl, this.userName, this.userPwd)
+ //璁剧疆鍏ㄥ眬鍙傛暟锛歶ser-鐢ㄦ埛淇℃伅
+ utils.session.setValue('server', rootUrl);
+ utils.session.setValue('account', this.userName);
+ utils.session.setValue('password', this.userPwd);
+ const app = getApp()
+ app.globalData.sessionId = res.session_id
+ app.globalData.loginUser = {
+ id: this.userName,
+ name: res.name,
+ pwd: this.userPwd
+ }
+ hideLoading()
+ const bindInfo = utils.session.getValue('bind_classes')
+ app.globalData.bindClasses = bindInfo?.checked || false
+ if (app.globalData.bindClasses) {
+ this.selectedClasses = bindInfo?.classes || ""
+ await this.loadClassesList()
+ if (this.classesLst.length > 0) {
+ this.$refs.refClassDialog.open()
+
+ }
+ return
+ }
+ uni.navigateTo({
+ url: '../index/index?args=9999999999'
+ })
+
+
+
+ } catch (ex) {
+ hideLoading()
+ showError(ex,this.translateSys("error"));
+ }
+
+ },
+ onClickWms() {
+ let otherAppSchemeURL = "testapp://pages/index/index"; // 鏇挎崲涓虹洰鏍嘺pp鐨剆cheme URL
+ plus.runtime.openURL(otherAppSchemeURL, function(error) {
+ console.error('鎵撳紑搴旂敤澶辫触: ', error);
+ }, "uni.TeatApp");
+ },
+ async loadClassesList() {
+ try {
+ var $this = this;
+ var dataInfo = {
+ dict_id: "",
+ dict_name: "WMS_CLASSES"
+ };
+ const res = await dictGetInfo(dataInfo)
+ var list = [];
+ (res.dict_item_list || []).forEach((item) => {
+ list.push({
+ text: item.value ? item.value : item.name,
+ value: item.name,
+ });
+ });
+
+ if (list.length == 0) {
+ showInfo(this.translate("page.please_login_after_admin_add_classes"));
+ this.selectedClasses = ""
+ } else {
+ if (this.selectedClasses) {
+ const curIndex = list.findIndex((a) => {
+ return a.text == this.selectedClasses
+ })
+ if (curIndex < 0) {
+ this.selectedClasses = list[0].text
+ }
+ } else {
+ this.selectedClasses = list[0].text
+ }
+ }
+ this.classesLst = list
+
+
+ } catch (ex) {
+ showError(ex,this.translateSys("error"));
+
+ this.selectedClasses = ""
+ this.classesLst = []
+ // {
+ // text: "娴嬭瘯",
+ // value: "test"
+ // }, {
+ // text: "娴嬭瘯3",
+ // value: "test3"
+ // }
+ }
+ },
+ dialogClassConfirm() {
+
+ utils.session.setValue('bind_classes', {
+ checked: true,
+ classes: this.selectedClasses
+ })
+ getApp().globalData.classes = this.selectedClasses
+ uni.navigateTo({
+ url: '../index/index?args=9999999999'
+ })
+ },
+ clickSelectClass(item) {
+ this.selectedClasses = item.text
+ },
+
translate(t) {
if (typeof this.$t == "function") return this.$t(`page.${t}`)
else return t;
@@ -501,14 +481,14 @@
else return t;
},
},
- onLoad() {
+ onLoad(options) {
//鑾峰彇mac鍦板潃
- var url = this.$store.state.url;
- var username = this.$store.state.username;
- var userpwd = this.$store.state.userpwd;
-
-
+ var url = utils.session.getValue('server');
+ var username = utils.session.getValue('account');
+ var userpwd = utils.session.getValue('password');
+ this.largeMode = utils.session.getValue('large_mode') ? true : false
+ getApp().globalData.largeMode = this.largeMode
var ischecked = false;
if (!this.userServer)
this.userServer = url;
@@ -535,13 +515,13 @@
}
deviceId += tmp;
}
+ getApp().globalData.deviceId = deviceId
+ getApp().globalData.cname = plus.device.model
//78b8d67511ca
- this.$store.commit("setDeviceId", deviceId);
console.log('Android璁惧鐨刣eviceId:', deviceId);
-
plus.runtime.getProperty(plus.runtime.appid, (info) => {
// console.log(info);
- this.$data.version = info.version;
+ this.version = info.version;
});
}
}
@@ -640,32 +620,14 @@
.mui-input-row input {
font-family: 'Helvetica Neue', Helvetica, sans-serif;
- font-size: 15px;
width: 480rpx;
- /* float: right; */
margin-bottom: 0;
padding-left: 20rpx;
- /* padding-right: 10rpx; */
- /* line-height: 30rpx; */
- height: 85rpx;
- /* padding: 7px 40px 7px 0px; */
-webkit-user-select: text;
- /* border: 0; */
- /* border-radius: 0; */
box-shadow: none;
outline: 0;
background: 0 0;
-webkit-appearance: none;
- }
-
- .mui-input-group label.mui-navigate-right {
- font-size: 25px;
- float: right;
- padding: 0;
- width: 80rpx;
- margin-right: 5rpx;
- margin-top: -88rpx;
- display: inline-block;
}
button.btn_login {
@@ -676,5 +638,32 @@
border: none;
color: #fff;
}
+
+ .popup-class {
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+
+ .popup-class-item {
+ padding: 20rpx 0;
+ border-bottom: 1px solid #eee;
+ display: flex;
+ flex-direction: row;
+
+ .ico {
+ width: 20px;
+ margin: 0 20rpx;
+
+ }
+ }
+
+ }
+ }
+
+ .uni-page-login.large-mode {
+ .logo_input {
+ height: 54rpx;
+ width: 54rpx;
+ }
}
</style>
\ No newline at end of file
--
Gitblit v1.9.1