| | |
| | | <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> |
| | | <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'; |
| | | 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: { |
| | | 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() |
| | | }, |
| | | 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.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] |
| | | }, |
| | | 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' |
| | | }) |
| | | }, |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | 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: '', |
| | | |
| | | 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: '', |
| | | } |
| | | }, |
| | | 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.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() { |
| | | 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); |
| | | |
| | | 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> |
| | | .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> |