| | |
| | | { |
| | | "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages |
| | | { |
| | | "path": "pages/login/login2", |
| | | "style": { |
| | | "navigationBarTitleText": "登录2" |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/login/login", |
| | | "style": { |
| | | "navigationBarTitleText": "登录" |
| | |
| | | user: { |
| | | username: '', |
| | | id: 0, |
| | | type: 'user_id' |
| | | type: '' |
| | | }, |
| | | userid: 0, |
| | | reload: false, |
| | |
| | | user: { |
| | | username: '', |
| | | id: 0, |
| | | type: 'user_id' |
| | | type: '' |
| | | }, |
| | | falg: true, |
| | | csmtrList: [], |
| | |
| | | user: { |
| | | username: '', |
| | | id: 0, |
| | | type: 'user_id' |
| | | type: '' |
| | | }, |
| | | falg: true, |
| | | list:[], |
| | |
| | | user: { |
| | | username: '', |
| | | id: 0, |
| | | type: 'user_id' |
| | | type: '' |
| | | }, |
| | | falg: true, |
| | | list: [{ |
| | |
| | | user: { |
| | | username: '', |
| | | id: 0, |
| | | type: 'user_id' |
| | | type: '' |
| | | }, |
| | | falg: true, |
| | | list: [], |
| | |
| | | <view class="fxbtn"> |
| | | <uni-icons type="plusempty" color="#fff" @click="gotoggle()" ></uni-icons> |
| | | </view> |
| | | <uni-load-more :status="status" :icon-size="16" :content-text="contentText" /> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | user: { |
| | | username: '', |
| | | id: 0, |
| | | type: 'user_id' |
| | | type: '' |
| | | }, |
| | | falg: true, |
| | | csmtrList: [], |
| | |
| | | name:'其他', |
| | | value: 7 |
| | | }, |
| | | ] |
| | | ], |
| | | param: {curr:1,limit:4} |
| | | } |
| | | }, |
| | | onLoad() { |
| | |
| | | this.getDetail() |
| | | } |
| | | setTimeout(()=> { |
| | | this.getCsmtr1() |
| | | this.getList() |
| | | },50) |
| | | }, |
| | | onReachBottom() { |
| | |
| | | // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性 |
| | | this.$refs.popup.open(type) |
| | | }, |
| | | getList() { |
| | | let that = this |
| | | that.csmtrList = [] |
| | | uni.showLoading() |
| | | if (this.user.type == 'user_id') { |
| | | that.param = {curr:1,limit:4,user_id: that.user.id} |
| | | } else if(this.user.type == 'dept_id') { |
| | | that.param = {curr:1,limit:4,dept_id: that.user.id} |
| | | } |
| | | uni.request({ |
| | | url: that.baseUrl + '/plan/page/auth', |
| | | header: {'token' : uni.getStorageSync('token'),}, |
| | | data: that.param, |
| | | method:'GET', |
| | | success(result) { |
| | | if (result.statusCode === 404) { |
| | | uni.showToast({title: '请重新登录', icon: "none", position: 'top'}) |
| | | return |
| | | } |
| | | var res = result.data |
| | | if (res.code === 200) { |
| | | let list = res.data.records |
| | | that.csmtrList = that.reload ? list : that.csmtrList.concat(list); |
| | | if (res.data.records.length == 0) { |
| | | that.status = 'noMore' |
| | | } |
| | | } else if (res.code === 403) { |
| | | uni.showToast({title: res.msg, icon: "none", position: 'top'}) |
| | | setTimeout(() => { |
| | | uni.reLaunch({ |
| | | url: '../../login/login' |
| | | }); |
| | | }, 1000); |
| | | } else { |
| | | uni.showToast({title: res.msg, icon: "none",position: 'top'}) |
| | | } |
| | | }, |
| | | fail(result) { |
| | | uni.showToast({title: '请求失败'}) |
| | | setTimeout(() => { |
| | | uni.reLaunch({ |
| | | url: '../../login/login' |
| | | }); |
| | | }, 1000); |
| | | }, |
| | | complete() { |
| | | uni.hideLoading() |
| | | } |
| | | }) |
| | | }, |
| | | getCsmtr1(e) { |
| | | let that = this |
| | | that.csmtrList = [] |
| | | uni.showLoading({}) |
| | | uni.showLoading() |
| | | let param = {curr:1,limit:4,dept_id: 0,user_id: 67} |
| | | if (this.user.type == 'user_id') { |
| | | param = {curr:1,limit:4,user_id: that.user.id} |
| | |
| | | } else { |
| | | param = {curr:1,limit:4} |
| | | } |
| | | param = {curr:1,limit:4} |
| | | uni.request({ |
| | | url: that.baseUrl + '/plan/page/auth', |
| | | header: {'token' : uni.getStorageSync('token'),}, |
| | |
| | | if (res.code === 200) { |
| | | let list = res.data.records |
| | | that.csmtrList = that.reload ? list : that.csmtrList.concat(list); |
| | | console.log(list); |
| | | if (list.length > 0) { |
| | | that.curr = that.curr + 1 |
| | | } |
| | | if (res.data.records.length == 0) { |
| | | that.status = 'noMore' |
| | | } |
| | |
| | | <view> |
| | | <!-- 输入框示例 --> |
| | | <uni-popup ref="inputDialog" type="dialog"> |
| | | <uni-popup-dialog ref="inputClose" mode="input" title="添加跟进人" value="对话框预置提示内容!" |
| | | <uni-popup-dialog ref="inputClose" mode="input" title="选择规划员" |
| | | placeholder="请输入内容" @confirm="confirm"> |
| | | <uni-combox :candidates="addFollower.followers" placeholder="请选择" |
| | | v-model="addFollower.follower" @input="autoLoad('follower',addFollower.follower)"></uni-combox> |
| | | <uni-combox :candidates="planners" placeholder="请选择" |
| | | v-model="planner" @input="autoLoad('planner',planner)"></uni-combox> |
| | | </uni-popup-dialog> |
| | | </uni-popup> |
| | | </view> |
| | | |
| | | <view class="foot"> |
| | | <button size="mini" type="primary" @click="edite(id)">修改</button> |
| | | <button v-show="((((detl.settle == 2 || detl.settle == 3) && detl.settleSize==4) || detl.settle == 1) && user.id == detl.director)" |
| | | size="mini" type="primary" @click="approval(id)">审批</button> |
| | | <button v-show="(((detl.settle == 2 || detl.settle == 3)&& detl.settleSize==4) && user.id == detl.director)" |
| | | size="mini" type="primary" @click="approvalEnd(id)">回退审批</button> |
| | | <button v-show="(detl.settle == 1 && user.id == detl.userId)" |
| | | size="mini" type="primary" @click="edite(id)">修改</button> |
| | | <!-- <button size="mini" type="warn" @click="del(id)">删除</button> --> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import user from '@/pages/api/user/user.js' |
| | | export default { |
| | | data() { |
| | | return { |
| | | planner: '', |
| | | plannerId: '', |
| | | planners: [], |
| | | plannerList: [], |
| | | nowUserId: '', // 当前登录人员 user.userId |
| | | director: '', // 当前节点审核 dire |
| | | userId: '', // 当前任务业务员 userid |
| | | user: { |
| | | username: '', |
| | | id: 0, |
| | | type: '' |
| | | }, |
| | | current: 1, |
| | | id: 0, |
| | | detl: { |
| | |
| | | } |
| | | }, |
| | | onLoad(option) { |
| | | console.log(option); |
| | | this.current = 1 |
| | | if (JSON.stringify(option) != "{}") { |
| | | this.id = option.id |
| | | this.init() |
| | |
| | | let _this = this |
| | | const eventChannel = this.getOpenerEventChannel(); |
| | | eventChannel.on('saleManage', function(data) { |
| | | console.log(data); |
| | | _this.id = data.data |
| | | _this.init() |
| | | }) |
| | | } |
| | | }, |
| | | onShow() { |
| | | this.getDetail() |
| | | }, |
| | | methods: { |
| | | // 获取用户信息 |
| | | async getDetail() { |
| | | let res = await user.getDetail() |
| | | if (res.code === 200) { |
| | | this.user.username = res.data.username |
| | | this.user.id = res.data.id |
| | | } else if (res.code === 403) { |
| | | this.backLogin(res) |
| | | } |
| | | }, |
| | | // 初始化 |
| | | init() { |
| | | let that = this |
| | | that.info = [] |
| | |
| | | } |
| | | }) |
| | | }, |
| | | // 删除 |
| | | del(e) { |
| | | let that = this |
| | | e = Number(e) |
| | |
| | | addPerson() { |
| | | this.$refs.inputDialog.open() |
| | | }, |
| | | // 确认选择工作人 |
| | | confirm() { |
| | | let that = this |
| | | var followerId |
| | | var followerList = that.addFollower.followerList |
| | | for (var i = 0;i < followerList.length; i++) { |
| | | if (followerList[i].name == this.addFollower.follower) { |
| | | followerId =followerList[i].value |
| | | } |
| | | } |
| | | uni.request({ |
| | | url: that.baseUrl + '/detl/followers/add/json', |
| | | header:{'token':uni.getStorageSync('token'), |
| | | // 'content-type':'application/x-www-form-urlencoded', |
| | | }, |
| | | data: { |
| | | cstmrId: that.cstmrId, |
| | | followerIds:followerId}, |
| | | method: 'POST', |
| | | success(result) { |
| | | var res = result.data |
| | | that.getFollowers() |
| | | } |
| | | }) |
| | | this.addFollower.follower = '' |
| | | }, |
| | | // 工作人列表 |
| | | autoLoad(type,condition) { |
| | | let that = this |
| | | that.addFollower.followers = [] |
| | | that.addFollower.followerList = [] |
| | | uni.request({ |
| | | url: that.baseUrl + '/user/all/get/kv', |
| | | header:{'token':uni.getStorageSync('token')}, |
| | | data: {condition:condition}, |
| | | url: that.baseUrl + '/plan/planner/list/auth', |
| | | header:{ |
| | | 'token':uni.getStorageSync('token'), |
| | | 'content-type': 'application/x-www-form-urlencoded;charset=UTF-8' |
| | | }, |
| | | sslVerify: false, |
| | | data: {planId:condition}, |
| | | method: 'POST', |
| | | success(result) { |
| | | var res = result.data |
| | | if (res.code === 200) { |
| | | var element; |
| | | if (type == 'follower') { |
| | | for(element of res.data) { |
| | | that.addFollower.followers.push(element.name) |
| | | that.addFollower.followerList.push(element) |
| | | if (res.data) { |
| | | for (let k of res.data) { |
| | | that.planners.push(k.name) |
| | | that.plannerList.push(k) |
| | | } |
| | | return |
| | | } |
| | | } |
| | | } |
| | |
| | | url: url |
| | | }) |
| | | }, |
| | | // 审批 |
| | | approval() { |
| | | let _this = this |
| | | this.$refs.inputDialog.open() |
| | | this.autoLoad("type",this.detl.id) |
| | | }, |
| | | // 规划员审批 |
| | | confirm() { |
| | | for (let element of this.plannerList) { |
| | | if(element.value == this.planner) { |
| | | this.plannerId = element.value |
| | | } |
| | | } |
| | | let _this = this |
| | | uni.request({ |
| | | url: `${_this.baseUrl}/plan/approval/auth`, |
| | | header: { |
| | | 'token':uni.getStorageSync('token'), |
| | | 'content-type': 'application/x-www-form-urlencoded;charset=UTF-8' |
| | | }, |
| | | sslVerify: false, |
| | | data: { |
| | | planId: _this.detl.id, |
| | | plannerId: _this.plannerId |
| | | }, |
| | | method: 'POST', |
| | | success(res) { |
| | | res = res.data |
| | | uni.showToast({title: res.msg, icon: "none", position: 'top'}) |
| | | uni.navigateBack() |
| | | } |
| | | }) |
| | | }, |
| | | approvalEnd() { |
| | | let _this = this |
| | | uni.request({ |
| | | url: `${_this.baseUrl}/plan/approvalEnd/auth`, |
| | | header: { |
| | | 'token':uni.getStorageSync('token'), |
| | | 'content-type': 'application/x-www-form-urlencoded;charset=UTF-8' |
| | | }, |
| | | sslVerify: false, |
| | | data: { planId: _this.detl.id }, |
| | | method: 'POST', |
| | | success(res) { |
| | | res = res.data |
| | | uni.showToast({title: res.msg, icon: "none", position: 'top'}) |
| | | uni.navigateBack() |
| | | } |
| | | }) |
| | | }, |
| | | backLogin(res) { |
| | | uni.showToast({title: res.msg, icon: "none", position: 'top'}) |
| | | setTimeout(() => { |
| | | uni.reLaunch({ |
| | | url: '../../login/login' |
| | | }); |
| | | }, 1000); |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | |
| | | user: { |
| | | username: '', |
| | | id: 0, |
| | | type: 'user_id' |
| | | type: '' |
| | | }, |
| | | falg: true, |
| | | list: [], |
| | |
| | | user: { |
| | | username: '', |
| | | id: 0, |
| | | type: 'user_id' |
| | | type: '' |
| | | }, |
| | | falg: true, |
| | | list: [], |
| | |
| | | onShow() { |
| | | let that = this |
| | | uni.$on('isRefresh',function(data){ |
| | | // console.log(data); |
| | | that.user.username = data.title |
| | | that.user.id = data.id |
| | | that.user.type = data.key |
| | |
| | | user: { |
| | | username: '', |
| | | id: 0, |
| | | type: 'user_id' |
| | | type: '' |
| | | }, |
| | | falg: true, |
| | | list: [], |
| | |
| | | user: { |
| | | username: '', |
| | | id: 0, |
| | | type: 'user_id' |
| | | type: '' |
| | | }, |
| | | falg: true, |
| | | csmtrList: [], |
New file |
| | |
| | | <template> |
| | | <view class="container"> |
| | | <image class="logo" src="/static/image/logo.png"></image> |
| | | <!-- 登录信息 --> |
| | | <view class="user-info"> |
| | | <view class="user-info-item shadow-warp"> |
| | | <view class="icons"> |
| | | <uni-icons type="person" size="20"></uni-icons> |
| | | </view> |
| | | <text>账号:</text> |
| | | <input type="text" placeholder="请输入账号!" v-model="user.userName" |
| | | placeholder-style="font-size:14px;color:#ccc;"> |
| | | </view> |
| | | <view class="user-info-item shadow-warp"> |
| | | <view class="icons"> |
| | | <uni-icons type="locked" size="20"></uni-icons> |
| | | </view> |
| | | <text>密码:</text> |
| | | <input :password="!showPassword" v-model="user.password" placeholder="请输入密码!" |
| | | placeholder-style="font-size:14px;color:#ccc;"> |
| | | <view class="showPassword" v-if="showPassword" @click="changePassword"> |
| | | <uni-icons type="eye" size="20"></uni-icons> |
| | | </view> |
| | | <view class="showPassword" v-if="!showPassword" @click="changePassword"> |
| | | <uni-icons type="eye-slash" size="20"></uni-icons> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <!-- 登录按钮 --> |
| | | <view class="loging"> |
| | | <button class="button" @click="onLogin()" :loading="load.loading">{{load.btnText}}</button> |
| | | </view> |
| | | |
| | | <view> |
| | | <!-- 提示窗示例 --> |
| | | <uni-popup ref="upVersion" type="dialog"> |
| | | <uni-popup-dialog :type="msgType" title="通知" :content="dialogContent" @confirm="dialogConfirm" |
| | | @close="dialogClose"></uni-popup-dialog> |
| | | </uni-popup> |
| | | </view> |
| | | |
| | | <!-- #ifdef APP-PLUS --> |
| | | <view class="version"> |
| | | 当前版本: {{version}} |
| | | </view> |
| | | <!-- #endif --> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import md5 from '../../common/md5.js' |
| | | export default { |
| | | data() { |
| | | return { |
| | | version: '', |
| | | showPassword: false, |
| | | user: { |
| | | userName: '', |
| | | password: '', |
| | | }, |
| | | load: { |
| | | loading: false, |
| | | btnText: '登录' |
| | | }, |
| | | msgType: 'success', |
| | | filename: '', |
| | | dialogContent: '' |
| | | } |
| | | }, |
| | | onLoad: function() { |
| | | this.user.userName = uni.getStorageSync('userName') |
| | | this.user.password = uni.getStorageSync('password') |
| | | // #ifdef APP-PLUS |
| | | var that = this |
| | | plus.runtime.getProperty(plus.runtime.appid, function(wgtinfo) { |
| | | that.version = wgtinfo.version |
| | | }); |
| | | // #endif |
| | | }, |
| | | onShow() { |
| | | this.getVersion() |
| | | }, |
| | | methods: { |
| | | changePassword: function() { |
| | | this.showPassword = !this.showPassword; |
| | | }, |
| | | //检测当前平台,如果是安卓则启动安卓更新 |
| | | getVersion() { |
| | | let that = this; |
| | | uni.getSystemInfo({ |
| | | success: (res) => { |
| | | if (res.platform == "android") { |
| | | that.AndroidCheckUpdate(); |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | // 获取当前版本号 |
| | | AndroidCheckUpdate() { |
| | | let that = this; |
| | | plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => { |
| | | that.version = wgtinfo.version //客户端版本号 |
| | | }) |
| | | setTimeout(()=>{ |
| | | that.getUpdateVersion() |
| | | },100) |
| | | }, |
| | | // 校验版本 |
| | | getUpdateVersion() { |
| | | let that = this |
| | | let type = 0 |
| | | if (that.baseUrl == 'http://undefined:undefined/undefined') { |
| | | return |
| | | } |
| | | |
| | | let url = that.baseUrl + '/appVersion/checkUpdate/' + that.version + '/' + type |
| | | uni.request({ |
| | | url: url, |
| | | method: 'GET', |
| | | success(res) { |
| | | console.log(res); |
| | | var res = res.data |
| | | if (res.data) { |
| | | that.filename = res.data.path |
| | | that.dialogContent = '发现新版本:' + res.data.version + ', 是否立即更新' |
| | | that.$refs.upVersion.open() |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.msg, |
| | | icon: "none", |
| | | position: 'top' |
| | | }) |
| | | } |
| | | |
| | | } |
| | | }) |
| | | }, |
| | | dialogConfirm() { |
| | | this.$refs.upVersion.close() |
| | | this.downWgt() |
| | | }, |
| | | dialogClose() { |
| | | this.$refs.upVersion.close() |
| | | }, |
| | | downWgt() { |
| | | let that = this; |
| | | const downloadUrl = that.baseUrl + "/appVersion/downloadApp/" + that.filename |
| | | uni.showLoading({ |
| | | title: '更新中……' |
| | | }) |
| | | const downloadTask = uni.downloadFile({ //执行下载 |
| | | url: downloadUrl, //下载地址 |
| | | timeout: 1000 * 30, //30秒超时时间 |
| | | success: downloadResult => { //下载成功 |
| | | console.log(downloadResult); |
| | | that.showdownLine = false |
| | | uni.hideLoading(); |
| | | if (downloadResult.statusCode == 200) { |
| | | uni.showModal({ |
| | | title: '', |
| | | content: '更新成功,确定现在重启吗?', |
| | | confirmText: '重启', |
| | | confirmColor: '#EE8F57', |
| | | success: function(res) { |
| | | if (res.confirm == true) { |
| | | plus.runtime.install( //安装 |
| | | downloadResult.tempFilePath, { |
| | | force: true |
| | | }, |
| | | function(res) { |
| | | utils.showToast('更新成功,重启中'); |
| | | plus.runtime.restart(); |
| | | } |
| | | ); |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | uni.hideLoading(); |
| | | that.showdownLine = false |
| | | uni.showToast({ |
| | | title:'请先上传安装包', |
| | | icon: 'error' |
| | | }) |
| | | } |
| | | }, |
| | | fail: err => { |
| | | uni.hideLoading(); |
| | | that.showdownLine = false |
| | | that.$u.toast(downloadResult.errMsg) |
| | | }, |
| | | complete: com => { |
| | | |
| | | console.log(com) |
| | | } |
| | | }); |
| | | |
| | | // 下载进度 |
| | | downloadTask.onProgressUpdate(res => { |
| | | that.downloadNum = res.progress |
| | | console.log('下载进度' + that.downloadNum); |
| | | }); |
| | | }, |
| | | onLogin() { |
| | | let that = this |
| | | uni.request({ |
| | | url: that.baseUrl + '/login.action', |
| | | fail(result) { |
| | | uni.showToast({ |
| | | icon: 'error', |
| | | title: '请求失败' |
| | | }) |
| | | }, |
| | | data: { |
| | | username: that.user.userName, |
| | | password: md5.hex_md5(that.user.password) |
| | | }, |
| | | header: { |
| | | "content-type": "application/json" |
| | | }, |
| | | success(result) { |
| | | if (result.statusCode === 404) { |
| | | uni.showToast({ |
| | | title: '登录失败', |
| | | icon: "error" |
| | | }) |
| | | return |
| | | } |
| | | let res = result.data |
| | | if (res.code === 200) { |
| | | that.load.loading = true; |
| | | that.load.btnText = '登录中'; |
| | | uni.setStorageSync('token', res.data.token); |
| | | uni.setStorageSync('userName', that.user.userName); |
| | | uni.setStorageSync('password', that.user.password); |
| | | setTimeout(() => { |
| | | uni.showToast({ |
| | | title: '登录成功' |
| | | }) |
| | | setTimeout(() => { |
| | | uni.reLaunch({ |
| | | url: '../index/index' |
| | | }); |
| | | }, 300) |
| | | }, 700) |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.msg |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | .container { |
| | | display: flex; |
| | | flex-direction: column; // 表示垂直方向,由上到下 |
| | | width: 100%; |
| | | min-height: 93.4vh; |
| | | } |
| | | |
| | | .logo { |
| | | width: 300px; |
| | | height: 163px; |
| | | margin-top: 100rpx; |
| | | margin-left: auto; |
| | | margin-right: auto; |
| | | margin-bottom: 50rpx; |
| | | } |
| | | |
| | | .user-info { |
| | | display: flex; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | width: 100%; |
| | | height: 400rpx; |
| | | font-size: 14px; |
| | | letter-spacing: 1px; |
| | | } |
| | | |
| | | .user-info-item { |
| | | display: flex; |
| | | width: 650rpx; |
| | | height: 100rpx; |
| | | line-height: 100rpx; |
| | | align-items: center; |
| | | background-color: #fff; |
| | | margin-bottom: 30rpx; |
| | | font-size: 28rpx; |
| | | font-weight: 500; |
| | | } |
| | | |
| | | .user-info-item>input { |
| | | width: 400rpx; |
| | | color: #606266; |
| | | font-weight: 500; |
| | | caret-color: #606266; // 光标颜色 |
| | | } |
| | | |
| | | .icons { |
| | | margin-left: 20rpx; |
| | | margin-right: 18rpx; |
| | | } |
| | | |
| | | .showPassword { |
| | | position: absolute; |
| | | right: 10rpx; |
| | | } |
| | | |
| | | .shadow-warp { |
| | | position: relative; |
| | | box-shadow: 0 0 10upx rgba(0, 0, 0, 0.1); |
| | | } |
| | | |
| | | .shadow-warp:before, |
| | | .shadow-warp:after { |
| | | position: absolute; |
| | | content: ""; |
| | | top: 20upx; |
| | | bottom: 30upx; |
| | | left: 20upx; |
| | | width: 50%; |
| | | box-shadow: 0 30upx 20upx rgba(0, 0, 0, 0.2); |
| | | transform: rotate(-3deg); |
| | | z-index: -1; |
| | | } |
| | | |
| | | .shadow-warp:after { |
| | | right: 20upx; |
| | | left: auto; |
| | | transform: rotate(3deg); |
| | | } |
| | | |
| | | .loging { |
| | | position: fixed; |
| | | bottom: 100rpx; |
| | | left: 0; |
| | | right: 0; |
| | | margin-left: auto; |
| | | margin-right: auto; |
| | | } |
| | | |
| | | .button { |
| | | color: #fff; |
| | | background-color: #409EFF; |
| | | width: 150px; |
| | | height: 40px; |
| | | line-height: 40px; |
| | | } |
| | | |
| | | button::after { |
| | | border: initial; |
| | | } |
| | | |
| | | .button-hover { |
| | | color: #fff; |
| | | background-color: #6fc1ff; |
| | | } |
| | | |
| | | .version { |
| | | width: 100%; |
| | | position: fixed; |
| | | bottom: 30rpx; |
| | | left: 0; |
| | | right: 0; |
| | | margin-left: auto; |
| | | margin-right: auto; |
| | | text-align: center; |
| | | font-size: 10px; |
| | | color: #C0C4CC; |
| | | } |
| | | |
| | | .input { |
| | | display: block; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .uni-input { |
| | | height: 50rpx; |
| | | padding: 15rpx 25rpx; |
| | | line-height: 50rpx; |
| | | font-size: 28rpx; |
| | | background: #FFF; |
| | | flex: 1; |
| | | } |
| | | </style> |