Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
7b451c3516
52
pages.json
52
pages.json
@ -3,20 +3,20 @@
|
||||
"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
|
||||
},
|
||||
"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
|
||||
{
|
||||
"path": "pages/startup/startup",
|
||||
"style": {
|
||||
"navigationStyle": "custom",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/homepage/homepage",
|
||||
"style": {
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/startup/startup",
|
||||
"style": {
|
||||
"navigationStyle": "custom",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/homepage/homepage",
|
||||
"style": {
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/myinformation/myinformation",
|
||||
"style": {
|
||||
@ -31,8 +31,6 @@
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"path": "pages/medicalservice/medicalservice",
|
||||
"style": {
|
||||
@ -58,16 +56,12 @@
|
||||
"navigationBarTitleText": "人脸采集",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
}, {
|
||||
"path": "pages/location/location",
|
||||
"style": {
|
||||
"navigationBarTitleText": "定位",
|
||||
"navigationStyle": "default",
|
||||
"enablePullDownRefresh": false
|
||||
// "navigationBarBackgroundColor": "#ffffff"
|
||||
}
|
||||
|
||||
}
|
||||
],
|
||||
"subPackages": [{
|
||||
@ -454,13 +448,13 @@
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
// {
|
||||
// "path": "Filinginformation/Filinginformation",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "查看建档信息"
|
||||
// // "enablePullDownRefresh": false
|
||||
// }
|
||||
// },
|
||||
{
|
||||
"path": "Filinginformation/Filinginformation",
|
||||
"style": {
|
||||
"navigationBarTitleText": "查看建档信息",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "Onlinesigning/Onlinesigning",
|
||||
"style": {
|
||||
@ -659,4 +653,4 @@
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -94,8 +94,8 @@
|
||||
|
||||
image {
|
||||
vertical-align: middle;
|
||||
width: 22rpx;
|
||||
height: 12rpx;
|
||||
width: 25rpx;
|
||||
height: 30rpx;
|
||||
}
|
||||
text{
|
||||
margin-left: 10rpx;
|
||||
|
||||
@ -2,21 +2,25 @@
|
||||
<view class="app">
|
||||
<view class="content">
|
||||
<image src="/static/pageC/homepage.png" mode=""></image>
|
||||
<view class="loginmount">
|
||||
<image src="/static/pageC/TAB.png" mode=""></image>
|
||||
<text v-if="patientName">{{patientName}},你好</text>
|
||||
<text @tap="login" v-else>你好,请登录</text>
|
||||
</view>
|
||||
<view class="address" @tap="city">
|
||||
<view class="loginmount" @tap="city">
|
||||
<!-- <image src="/static/pageC/TAB.png" mode=""></image> -->
|
||||
<image src="../../static/pages/address.png" mode=""></image>
|
||||
<text v-if="address">
|
||||
{{address}}
|
||||
</text>
|
||||
<text v-else>
|
||||
请选择城市
|
||||
|
||||
</text>
|
||||
</view>
|
||||
<!-- <view class="address" @tap="city">
|
||||
<image src="../../static/pages/address.png" mode=""></image>
|
||||
<text v-if="address">
|
||||
{{address}}
|
||||
</text>
|
||||
<text v-else>
|
||||
请选择城市
|
||||
</text>
|
||||
</view> -->
|
||||
</view>
|
||||
<view class="contentcenter">
|
||||
<view class="home" @tap="goonline">
|
||||
@ -81,7 +85,6 @@
|
||||
detail,
|
||||
checkSignApply
|
||||
} from '@/api/pages/homepage/homepage.js'
|
||||
import QQMapWX from '@/utils/qqMap/qqmap-wx-jssdk.js';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@ -97,17 +100,16 @@
|
||||
},
|
||||
onShow() {
|
||||
this.address = uni.getStorageSync('location')
|
||||
console.log(this.address,'000')
|
||||
console.log(this.address, '000')
|
||||
if (this.address == '德州市') {
|
||||
uni.setStorageSync("region", 1)
|
||||
} else if (this.address == '东营市') {
|
||||
uni.setStorageSync("region", 2)
|
||||
}
|
||||
else if (this.address == '济南市') {
|
||||
uni.setStorageSync("region", 3)
|
||||
} else if (this.address == '济南市') {
|
||||
uni.setStorageSync("region", 1)
|
||||
}
|
||||
this.userinfo = uni.getStorageSync('userinfo');
|
||||
if (this.userinfo) {
|
||||
if (this.userinfo) {
|
||||
this.patientName = this.userinfo.patientName
|
||||
checkSignApply(this.userinfo.cardNo).then(res => {
|
||||
if (res.data.code != 0) {
|
||||
@ -116,8 +118,8 @@
|
||||
this.checkSign = false
|
||||
}
|
||||
})
|
||||
}else{
|
||||
this.patientName=''
|
||||
} else {
|
||||
this.patientName = ''
|
||||
|
||||
}
|
||||
},
|
||||
@ -279,4 +281,4 @@
|
||||
|
||||
<style lang="scss">
|
||||
@import "./homepage.scss";
|
||||
</style>
|
||||
</style>
|
||||
249
pages/location/location.vue
Normal file
249
pages/location/location.vue
Normal file
@ -0,0 +1,249 @@
|
||||
<template>
|
||||
<view class="location">
|
||||
<view class="top_search">
|
||||
<u-search @change="searchChange" v-model="searchValue" shape="round" @clear="clear" :clearabled="true"
|
||||
:showAction="false" placeholder="请输入城市名"></u-search>
|
||||
<view
|
||||
style="width: 90%;margin: 0 auto; background: #fff;height: 200px; position: absolute;top: 40px;padding: 40rpx;box-shadow: 0pc 0px 10px #ccc;"
|
||||
v-show="isShowFont">
|
||||
<view @click="fontClick">{{ showFont }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="atAddress">
|
||||
<!-- 当前定位 -->
|
||||
<text class="atAddress_txt">当前定位</text>
|
||||
<view class="atAddress_city">
|
||||
<view>
|
||||
<image style="width: 30rpx;height: 38rpx;" src="../../static/dw2x.png" mode=""></image>
|
||||
</view>
|
||||
<view style="margin-left: 15rpx;"><text>{{ address }}</text></view>
|
||||
<view class="atAddress_regain" style="margin-left: 27rpx;" @click="anewGain">重新获取...</view>
|
||||
</view>
|
||||
<!-- 推荐城市 -->
|
||||
<view class="recommend_city">
|
||||
<text class="atAddress_txt">推荐城市</text>
|
||||
<view class="city_con">
|
||||
<view class="city_item" @click="getAddressCon('1')">
|
||||
<text>德州市</text>
|
||||
</view>
|
||||
<view class="city_item" @click="getAddressCon('2')">
|
||||
<text>东营市</text>
|
||||
</view>
|
||||
<view class="city_item" @click="getAddressCon('3')">
|
||||
<text>济南市</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
// 是否显示下拉的框
|
||||
isShowFont: false,
|
||||
// 显示什么字
|
||||
showFont: '',
|
||||
// 接收缓存地址 赋值
|
||||
address: '',
|
||||
searchValue: '',
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.address = uni.getStorageSync('location')
|
||||
},
|
||||
methods: {
|
||||
searchChange(value) {
|
||||
if (value == '德' || value == '德州' || value == '东' || value == '东营' || value == '济' || value == '济南' ||
|
||||
value == '东营市' || value == '德州市' || value == '济南市') {
|
||||
this.isShowFont = true
|
||||
if (value == '德' || value == '德州' || value == '德州市') {
|
||||
this.showFont = '德州市'
|
||||
} else if (value == '东' || value == '东营' || value == '东营市') {
|
||||
this.showFont = '东营市'
|
||||
} else if (value == '济' || value == '济南' || value == '济南市') {
|
||||
this.showFont = '济南市'
|
||||
}
|
||||
} else {
|
||||
this.isShowFont = false
|
||||
}
|
||||
},
|
||||
fontClick() {
|
||||
uni.setStorageSync('location', this.showFont)
|
||||
this.isShowFont = false
|
||||
this.address = uni.getStorageSync('location')
|
||||
// console.log('fontClick',this.address);
|
||||
},
|
||||
getAddressCon(value) {
|
||||
if (value == '1') {
|
||||
uni.setStorageSync('location', '德州市')
|
||||
uni.setStorageSync("region", 1)
|
||||
this.address = '德州市'
|
||||
} else if (value == '2') {
|
||||
uni.setStorageSync('location', '东营市')
|
||||
uni.setStorageSync("region", 2)
|
||||
this.address = '东营市'
|
||||
} else if (value == '3') {
|
||||
uni.setStorageSync('location', '济南市')
|
||||
uni.setStorageSync("region", 3)
|
||||
this.address = '济南市'
|
||||
}
|
||||
},
|
||||
clear() {
|
||||
this.searchValue = ''
|
||||
},
|
||||
// 重新获取城市
|
||||
anewGain() {
|
||||
this.getAddress()
|
||||
},
|
||||
//获取当前位置
|
||||
getAddress() {
|
||||
//vm === vue实例对象
|
||||
let vm = this;
|
||||
uni.getLocation({
|
||||
type: 'wgs84',
|
||||
//成功
|
||||
success: (res) => {
|
||||
// 逆地址解析 转市
|
||||
let location = res.latitude + ',' + res.longitude
|
||||
//调用逆解析接口
|
||||
uni.request({
|
||||
url: 'https://apis.map.qq.com/ws/geocoder/v1/?location=location', //腾讯官方逆解析接口,可直接复制
|
||||
data: {
|
||||
location: location,
|
||||
'key': "Q4DBZ-UIMC2-B63UX-CUZ6A-S3UT7-TBF3V", //自己申请的Key
|
||||
},
|
||||
method: "GET",
|
||||
success(res) {
|
||||
console.log(res)
|
||||
uni.setStorageSync('location', res.data.result.address_component.city)
|
||||
},
|
||||
fail: res => {
|
||||
console.log(res.errMsg, '解析失败返回的错误信息');
|
||||
}
|
||||
})
|
||||
},
|
||||
//失败
|
||||
fail: (res) => {
|
||||
// console.log('fail' + JSON.stringify(res))
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '获取地址失败,请打开定位',
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss">
|
||||
.location {
|
||||
margin-top: 20rpx;
|
||||
|
||||
.top_search {
|
||||
position: relative;
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
margin-bottom: 40rpx;
|
||||
|
||||
.u-search {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.u-icon__icon {
|
||||
font-size: 26px !important;
|
||||
}
|
||||
|
||||
.u-search__content {
|
||||
height: 35px;
|
||||
}
|
||||
|
||||
.u-search__content__input,
|
||||
.u-search__content {
|
||||
background: rgb(247, 249, 248) !important;
|
||||
border-radius: 34px !important;
|
||||
|
||||
input::placeholder {
|
||||
font-size: 20rpx !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.atAddress {
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
margin-bottom: 43rpx;
|
||||
|
||||
.atAddress_txt {
|
||||
font-size: 28rpx;
|
||||
color: rgb(51, 51, 51);
|
||||
font-family: "微软雅黑";
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.atAddress_city {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 36rpx;
|
||||
|
||||
text {
|
||||
font-family: "微软雅黑";
|
||||
font-weight: 900;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.atAddress_regain {
|
||||
height: 14px;
|
||||
font-size: 24rpx;
|
||||
color: rgb(93, 204, 227);
|
||||
}
|
||||
}
|
||||
|
||||
.recommend_city {
|
||||
margin-top: 62rpx;
|
||||
|
||||
.city_con {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 32rpx;
|
||||
justify-content: space-around;
|
||||
|
||||
.city_item {
|
||||
width: 178rpx;
|
||||
height: 68rpx;
|
||||
background-color: rgb(246, 246, 246);
|
||||
border-radius: 34rpx;
|
||||
text-align: center;
|
||||
line-height: 70rpx;
|
||||
font-size: 24rpx;
|
||||
|
||||
text {
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.city_list {
|
||||
.province_txt {
|
||||
width: 100%;
|
||||
background-color: rgb(246, 246, 246);
|
||||
color: rgb(102, 102, 102);
|
||||
font-size: 24rpx;
|
||||
height: 40rpx;
|
||||
line-height: 40rpx;
|
||||
}
|
||||
|
||||
.city_txt {
|
||||
font-size: 28rpx;
|
||||
color: rgb(51, 51, 51);
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
border-bottom: 1px solid #F6F6F6;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<view class="app">
|
||||
<view class="address">
|
||||
<image src="../../static/pages/address.png" mode=""></image>
|
||||
<!-- <image src="../../static/pages/address.png" mode=""></image>
|
||||
<text>
|
||||
{{location?location:''}}
|
||||
</text>
|
||||
</text> -->
|
||||
</view>
|
||||
<view class="topbar">
|
||||
<image src="../../static/pages/wenzhenpingtai.png" mode="" @tap="goconsultationplatform"></image>
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
</view>
|
||||
<u-tabs :list="hospitalDepartmentList" :current="tabcurrent" @change="tabchange" active-color='#26A888'
|
||||
:show-bar='false'></u-tabs>
|
||||
<view class="list">
|
||||
<view class="list" v-if="HospitalPersonlist">
|
||||
<view class="item" @tap="godoctordetails" v-for="item in HospitalPersonlist">
|
||||
<image v-if="item.personPictureUrl" :src="baseurl+item.personPictureUrl" mode=""></image>
|
||||
<image v-else src="@/static/pagesB/yis.png" mode=""></image>
|
||||
|
||||
@ -61,7 +61,7 @@
|
||||
</view>
|
||||
<view class="input">
|
||||
<input v-model="formdata.problemDescription" class="uinput noimageuinput" placeholder="不多于五个字"
|
||||
type="text" placeholder-class="phsy" />
|
||||
type="text" placeholder-class="phsy" :maxlength="5" />
|
||||
</view>
|
||||
<view class="text">
|
||||
患者个体情况说明
|
||||
@ -248,4 +248,4 @@
|
||||
|
||||
<style lang="scss">
|
||||
@import './createnewconsultation.scss';
|
||||
</style>
|
||||
</style>
|
||||
@ -22,7 +22,7 @@
|
||||
{{item.doctorName?item.doctorName:''}}
|
||||
</view>
|
||||
<view class="text">
|
||||
{{item.problemDescription?item.problemDescription:''}}
|
||||
{{item.content?item.content:''}}
|
||||
</view>
|
||||
<view class="messageCount" v-if="item.messageCount>0">
|
||||
{{item.messageCount}}
|
||||
|
||||
@ -93,7 +93,7 @@
|
||||
</view>
|
||||
<view class="titletext">
|
||||
<text>解约原因:</text>
|
||||
<textarea name="" id="" cols="30" rows="10" style="width: 60%;" placeholder="请输入解决原因"
|
||||
<textarea name="" id="" cols="30" rows="10" style="width: 60%;height: 200rpx;" placeholder="请输入解约原因"
|
||||
v-model="list.rescindReason"></textarea>
|
||||
</view>
|
||||
<view class="btnss">
|
||||
@ -151,7 +151,7 @@
|
||||
rescindapplysave(this.list).then(res => {
|
||||
if (res.code == 200) {
|
||||
this.$refs.uToast.show({
|
||||
title: '您已解约成功',
|
||||
title: '解约申请提交成功',
|
||||
type: 'success',
|
||||
})
|
||||
setTimeout(() => {
|
||||
@ -215,4 +215,4 @@
|
||||
|
||||
<style lang="scss">
|
||||
@import './mysigning.scss';
|
||||
</style>
|
||||
</style>
|
||||
@ -87,7 +87,7 @@
|
||||
return {
|
||||
baseurl: '',
|
||||
title: '',
|
||||
SOCKETURL: 'ws://8.131.93.145:54088/webSocket/',
|
||||
SOCKETURL: 'ws://192.168.16.212:8088/webSocket/',
|
||||
socketOpen: false,
|
||||
sendInfo: {},
|
||||
currentItem: '',
|
||||
|
||||
@ -0,0 +1,146 @@
|
||||
.app {
|
||||
width: 94%;
|
||||
margin: 20rpx auto;
|
||||
padding: 20rpx 0 100rpx 0;
|
||||
background-color: #fff;
|
||||
font-size: 24rpx;
|
||||
|
||||
.text {
|
||||
width: 92%;
|
||||
margin: 30rpx auto;
|
||||
font-weight: 500;
|
||||
color: #EE8F15;
|
||||
}
|
||||
|
||||
.list {
|
||||
width: 92%;
|
||||
margin: 0 auto;
|
||||
|
||||
.item {
|
||||
margin: 40rpx auto;
|
||||
height: 120rpx;
|
||||
position: relative;
|
||||
border-bottom: 2rpx solid #E6E6E6;
|
||||
|
||||
.Selected {
|
||||
width: 108rpx;
|
||||
height: 40rpx;
|
||||
border: 1px solid #26A888;
|
||||
border-radius: 5rpx;
|
||||
position: absolute;
|
||||
right: 0%;
|
||||
top: 10%;
|
||||
font-weight: 500;
|
||||
color: #26A888;
|
||||
line-height: 40rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 30rpx;
|
||||
font-weight: 500;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.address {
|
||||
font-weight: 400;
|
||||
color: #8E8E8E;
|
||||
position: absolute;
|
||||
left: 0%;
|
||||
bottom: 10%;
|
||||
}
|
||||
|
||||
.distance {
|
||||
font-weight: 400;
|
||||
color: #8E8E8E;
|
||||
position: absolute;
|
||||
right: 0%;
|
||||
bottom: 10%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
image {
|
||||
padding-right: 10rpx;
|
||||
width: 17rpx;
|
||||
height: 21rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.top {
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
height: 84rpx;
|
||||
justify-content: space-around;
|
||||
|
||||
.inputs {
|
||||
background-color: #fff;
|
||||
width: 65%;
|
||||
height: 60rpx;
|
||||
border-radius: 5rpx;
|
||||
background-color: #Ffffff;
|
||||
z-index: 999;
|
||||
position: relative;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: #F6F6F6;
|
||||
border: 1px solid #F6F6F6;
|
||||
border-radius: 38rpx;
|
||||
|
||||
.input {
|
||||
margin: 0 auto;
|
||||
position: absolute;
|
||||
height: 60rpx;
|
||||
// top: 8%;
|
||||
left: 13%;
|
||||
width: 80%;
|
||||
font-size: 26rpx;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.icon {
|
||||
background: url(@/static/pagesB/sousuo.png) no-repeat;
|
||||
width: 30rpx;
|
||||
height: 28rpx;
|
||||
background-size: cover;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
left: 3%;
|
||||
}
|
||||
}
|
||||
|
||||
::v-deep .u-flex {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
::v-deep .u-dropdown__content {
|
||||
overflow-y: scroll !important;
|
||||
height: 500rpx;
|
||||
|
||||
.u-flex {
|
||||
width: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
::v-deep .u-dropdown__content__mask {
|
||||
background: none !important;
|
||||
}
|
||||
|
||||
::v-deep .u-dropdown__menu__item {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
::v-deep .u-cell__value {
|
||||
flex: 0;
|
||||
}
|
||||
|
||||
::v-deep .u-dropdown {
|
||||
:v-deep .u-dropdown__menu {}
|
||||
}
|
||||
|
||||
::v-deep .u-cell-box {}
|
||||
}
|
||||
}
|
||||
@ -152,150 +152,5 @@
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.app {
|
||||
width: 94%;
|
||||
margin: 20rpx auto;
|
||||
padding: 20rpx 0 100rpx 0;
|
||||
background-color: #fff;
|
||||
font-size: 24rpx;
|
||||
|
||||
.text {
|
||||
width: 92%;
|
||||
margin: 30rpx auto;
|
||||
font-weight: 500;
|
||||
color: #EE8F15;
|
||||
}
|
||||
|
||||
.list {
|
||||
width: 92%;
|
||||
margin: 0 auto;
|
||||
|
||||
.item {
|
||||
margin: 40rpx auto;
|
||||
height: 120rpx;
|
||||
position: relative;
|
||||
border-bottom: 2rpx solid #E6E6E6;
|
||||
|
||||
.Selected {
|
||||
width: 108rpx;
|
||||
height: 40rpx;
|
||||
border: 1px solid #26A888;
|
||||
border-radius: 5rpx;
|
||||
position: absolute;
|
||||
right: 0%;
|
||||
top: 10%;
|
||||
font-weight: 500;
|
||||
color: #26A888;
|
||||
line-height: 40rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 30rpx;
|
||||
font-weight: 500;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.address {
|
||||
font-weight: 400;
|
||||
color: #8E8E8E;
|
||||
position: absolute;
|
||||
left: 0%;
|
||||
bottom: 10%;
|
||||
}
|
||||
|
||||
.distance {
|
||||
font-weight: 400;
|
||||
color: #8E8E8E;
|
||||
position: absolute;
|
||||
right: 0%;
|
||||
bottom: 10%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
image {
|
||||
padding-right: 10rpx;
|
||||
width: 17rpx;
|
||||
height: 21rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.top {
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
height: 84rpx;
|
||||
justify-content: space-around;
|
||||
|
||||
.inputs {
|
||||
background-color: #fff;
|
||||
width: 65%;
|
||||
height: 60rpx;
|
||||
border-radius: 5rpx;
|
||||
background-color: #Ffffff;
|
||||
z-index: 999;
|
||||
position: relative;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: #F6F6F6;
|
||||
border: 1px solid #F6F6F6;
|
||||
border-radius: 38rpx;
|
||||
|
||||
.input {
|
||||
margin: 0 auto;
|
||||
position: absolute;
|
||||
height: 60rpx;
|
||||
// top: 8%;
|
||||
left: 13%;
|
||||
width: 80%;
|
||||
font-size: 26rpx;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.icon {
|
||||
background: url(@/static/pagesB/sousuo.png) no-repeat;
|
||||
width: 30rpx;
|
||||
height: 28rpx;
|
||||
background-size: cover;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
left: 3%;
|
||||
}
|
||||
}
|
||||
|
||||
::v-deep .u-flex {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
::v-deep .u-dropdown__content {
|
||||
overflow-y: scroll !important;
|
||||
height: 500rpx;
|
||||
|
||||
.u-flex {
|
||||
width: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
::v-deep .u-dropdown__content__mask {
|
||||
background: none !important;
|
||||
}
|
||||
|
||||
::v-deep .u-dropdown__menu__item {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
::v-deep .u-cell__value {
|
||||
flex: 0;
|
||||
}
|
||||
|
||||
::v-deep .u-dropdown {
|
||||
:v-deep .u-dropdown__menu {}
|
||||
}
|
||||
|
||||
::v-deep .u-cell-box {}
|
||||
}
|
||||
}
|
||||
@import './selectInstitution.scss';
|
||||
</style>
|
||||
|
||||
@ -1,29 +0,0 @@
|
||||
export function getSex(idCard) {
|
||||
if (idCard.length === 15) {
|
||||
return ['女', '男'][idCard.substr(14, 1) % 2]
|
||||
} else if (idCard.length === 18) {
|
||||
return ['女', '男'][idCard.substr(16, 1) % 2]
|
||||
}
|
||||
return ''
|
||||
}
|
||||
|
||||
export function getBirthday(idCard) {
|
||||
var birthday = "";
|
||||
if (idCard != null && idCard != "") {
|
||||
if (idCard.length == 15) {
|
||||
birthday = "19" + idCard.substr(6, 6);
|
||||
} else if (idCard.length == 18) {
|
||||
birthday = idCard.substr(6, 8);
|
||||
}
|
||||
birthday = birthday.replace(/(.{4})(.{2})/, "$1-$2-");
|
||||
}
|
||||
return birthday;
|
||||
};
|
||||
// 出生日期转年龄
|
||||
export function getAgeFun(value) {
|
||||
var birthdays = new Date(value.replace(/-/g, "/")); //value 是传入的值
|
||||
var time = new Date(); //当前时间
|
||||
var age = time.getFullYear() - birthdays.getFullYear() - (time.getMonth() < birthdays.getMonth() || (time.getMonth() == birthdays.getMonth() &&
|
||||
time.getDate() < birthdays.getDate()) ? 1 : 0);
|
||||
return age;
|
||||
}
|
||||
@ -1,462 +0,0 @@
|
||||
/**
|
||||
* 微信小程序JavaScriptSDK
|
||||
*
|
||||
* @version 1.0
|
||||
* @date 2017-01-10
|
||||
* @author jaysonzhou@tencent.com
|
||||
*/
|
||||
|
||||
var ERROR_CONF = {
|
||||
KEY_ERR: 311,
|
||||
KEY_ERR_MSG: 'key格式错误',
|
||||
PARAM_ERR: 310,
|
||||
PARAM_ERR_MSG: '请求参数信息有误',
|
||||
SYSTEM_ERR: 600,
|
||||
SYSTEM_ERR_MSG: '系统错误',
|
||||
WX_ERR_CODE: 1000,
|
||||
WX_OK_CODE: 200
|
||||
};
|
||||
var BASE_URL = 'https://apis.map.qq.com/ws/';
|
||||
var URL_SEARCH = BASE_URL + 'place/v1/search';
|
||||
var URL_SUGGESTION = BASE_URL + 'place/v1/suggestion';
|
||||
var URL_GET_GEOCODER = BASE_URL + 'geocoder/v1/';
|
||||
var URL_CITY_LIST = BASE_URL + 'district/v1/list';
|
||||
var URL_AREA_LIST = BASE_URL + 'district/v1/getchildren';
|
||||
var URL_DISTANCE = BASE_URL + 'distance/v1/';
|
||||
var Utils = {
|
||||
/**
|
||||
* 得到终点query字符串
|
||||
* @param {Array|String} 检索数据
|
||||
*/
|
||||
location2query(data) {
|
||||
if (typeof data == 'string') {
|
||||
return data;
|
||||
}
|
||||
var query = '';
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
var d = data[i];
|
||||
if (!!query) {
|
||||
query += ';';
|
||||
}
|
||||
if (d.location) {
|
||||
query = query + d.location.lat + ',' + d.location.lng;
|
||||
}
|
||||
if (d.latitude && d.longitude) {
|
||||
query = query + d.latitude + ',' + d.longitude;
|
||||
}
|
||||
}
|
||||
return query;
|
||||
},
|
||||
|
||||
/**
|
||||
* 使用微信接口进行定位
|
||||
*/
|
||||
getWXLocation(success, fail, complete) {
|
||||
wx.getLocation({
|
||||
type: 'gcj02',
|
||||
success: success,
|
||||
fail: fail,
|
||||
complete: complete
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取location参数
|
||||
*/
|
||||
getLocationParam(location) {
|
||||
if (typeof location == 'string') {
|
||||
var locationArr = location.split(',');
|
||||
if (locationArr.length === 2) {
|
||||
location = {
|
||||
latitude: location.split(',')[0],
|
||||
longitude: location.split(',')[1]
|
||||
};
|
||||
} else {
|
||||
location = {};
|
||||
}
|
||||
}
|
||||
return location;
|
||||
},
|
||||
|
||||
/**
|
||||
* 回调函数默认处理
|
||||
*/
|
||||
polyfillParam(param) {
|
||||
param.success = param.success || function () { };
|
||||
param.fail = param.fail || function () { };
|
||||
param.complete = param.complete || function () { };
|
||||
},
|
||||
|
||||
/**
|
||||
* 验证param对应的key值是否为空
|
||||
*
|
||||
* @param {Object} param 接口参数
|
||||
* @param {String} key 对应参数的key
|
||||
*/
|
||||
checkParamKeyEmpty(param, key) {
|
||||
if (!param[key]) {
|
||||
var errconf = this.buildErrorConfig(ERROR_CONF.PARAM_ERR, ERROR_CONF.PARAM_ERR_MSG + key +'参数格式有误');
|
||||
param.fail(errconf);
|
||||
param.complete(errconf);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
/**
|
||||
* 验证参数中是否存在检索词keyword
|
||||
*
|
||||
* @param {Object} param 接口参数
|
||||
*/
|
||||
checkKeyword(param){
|
||||
return !this.checkParamKeyEmpty(param, 'keyword');
|
||||
},
|
||||
|
||||
/**
|
||||
* 验证location值
|
||||
*
|
||||
* @param {Object} param 接口参数
|
||||
*/
|
||||
checkLocation(param) {
|
||||
var location = this.getLocationParam(param.location);
|
||||
if (!location || !location.latitude || !location.longitude) {
|
||||
var errconf = this.buildErrorConfig(ERROR_CONF.PARAM_ERR, ERROR_CONF.PARAM_ERR_MSG + ' location参数格式有误')
|
||||
param.fail(errconf);
|
||||
param.complete(errconf);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
|
||||
/**
|
||||
* 构造错误数据结构
|
||||
* @param {Number} errCode 错误码
|
||||
* @param {Number} errMsg 错误描述
|
||||
*/
|
||||
buildErrorConfig(errCode, errMsg) {
|
||||
return {
|
||||
status: errCode,
|
||||
message: errMsg
|
||||
};
|
||||
},
|
||||
|
||||
/**
|
||||
* 构造微信请求参数,公共属性处理
|
||||
*
|
||||
* @param {Object} param 接口参数
|
||||
* @param {Object} param 配置项
|
||||
*/
|
||||
buildWxRequestConfig(param, options) {
|
||||
var that = this;
|
||||
options.header = { "content-type": "application/json" };
|
||||
options.method = 'GET';
|
||||
options.success = function (res) {
|
||||
var data = res.data;
|
||||
if (data.status === 0) {
|
||||
param.success(data);
|
||||
} else {
|
||||
param.fail(data);
|
||||
}
|
||||
};
|
||||
options.fail = function (res) {
|
||||
res.statusCode = ERROR_CONF.WX_ERR_CODE;
|
||||
param.fail(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, result.errMsg));
|
||||
};
|
||||
options.complete = function (res) {
|
||||
var statusCode = +res.statusCode;
|
||||
switch(statusCode) {
|
||||
case ERROR_CONF.WX_ERR_CODE: {
|
||||
param.complete(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, res.errMsg));
|
||||
break;
|
||||
}
|
||||
case ERROR_CONF.WX_OK_CODE: {
|
||||
var data = res.data;
|
||||
if (data.status === 0) {
|
||||
param.complete(data);
|
||||
} else {
|
||||
param.complete(that.buildErrorConfig(data.status, data.message));
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:{
|
||||
param.complete(that.buildErrorConfig(ERROR_CONF.SYSTEM_ERR, ERROR_CONF.SYSTEM_ERR_MSG));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
return options;
|
||||
},
|
||||
|
||||
/**
|
||||
* 处理用户参数是否传入坐标进行不同的处理
|
||||
*/
|
||||
locationProcess(param, locationsuccess, locationfail, locationcomplete) {
|
||||
var that = this;
|
||||
locationfail = locationfail || function (res) {
|
||||
res.statusCode = ERROR_CONF.WX_ERR_CODE;
|
||||
param.fail(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, res.errMsg));
|
||||
};
|
||||
locationcomplete = locationcomplete || function (res) {
|
||||
if (res.statusCode == ERROR_CONF.WX_ERR_CODE) {
|
||||
param.complete(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, res.errMsg));
|
||||
}
|
||||
};
|
||||
if (!param.location) {
|
||||
that.getWXLocation(locationsuccess, locationfail, locationcomplete);
|
||||
} else if (that.checkLocation(param)) {
|
||||
var location = Utils.getLocationParam(param.location);
|
||||
locationsuccess(location);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class QQMapWX {
|
||||
|
||||
/**
|
||||
* 构造函数
|
||||
*
|
||||
* @param {Object} options 接口参数,key 为必选参数
|
||||
*/
|
||||
constructor(options) {
|
||||
if (!options.key) {
|
||||
throw Error('key值不能为空');
|
||||
}
|
||||
this.key = options.key;
|
||||
}
|
||||
|
||||
/**
|
||||
* POI周边检索
|
||||
*
|
||||
* @param {Object} options 接口参数对象
|
||||
*
|
||||
* 参数对象结构可以参考
|
||||
* @see http://lbs.qq.com/webservice_v1/guide-search.html
|
||||
*/
|
||||
search(options) {
|
||||
var that = this;
|
||||
options = options || {};
|
||||
|
||||
Utils.polyfillParam(options);
|
||||
|
||||
if (!Utils.checkKeyword(options)) {
|
||||
return;
|
||||
}
|
||||
|
||||
var requestParam = {
|
||||
keyword: options.keyword,
|
||||
orderby: options.orderby || '_distance',
|
||||
page_size: options.page_size || 10,
|
||||
page_index: options.page_index || 1,
|
||||
output: 'json',
|
||||
key: that.key
|
||||
};
|
||||
|
||||
if (options.address_format) {
|
||||
requestParam.address_format = options.address_format;
|
||||
}
|
||||
|
||||
if (options.filter) {
|
||||
requestParam.filter = options.filter;
|
||||
}
|
||||
|
||||
var distance = options.distance || "1000";
|
||||
var auto_extend = options.auto_extend || 1;
|
||||
|
||||
var locationsuccess = function (result) {
|
||||
requestParam.boundary = "nearby(" + result.latitude + "," + result.longitude + "," + distance + "," + auto_extend +")";
|
||||
wx.request(Utils.buildWxRequestConfig(options, {
|
||||
url: URL_SEARCH,
|
||||
data: requestParam
|
||||
}));
|
||||
}
|
||||
Utils.locationProcess(options, locationsuccess);
|
||||
}
|
||||
|
||||
/**
|
||||
* sug模糊检索
|
||||
*
|
||||
* @param {Object} options 接口参数对象
|
||||
*
|
||||
* 参数对象结构可以参考
|
||||
* http://lbs.qq.com/webservice_v1/guide-suggestion.html
|
||||
*/
|
||||
getSuggestion(options) {
|
||||
var that = this;
|
||||
options = options || {};
|
||||
Utils.polyfillParam(options);
|
||||
|
||||
if (!Utils.checkKeyword(options)) {
|
||||
return;
|
||||
}
|
||||
|
||||
var requestParam = {
|
||||
keyword: options.keyword,
|
||||
region: options.region || '全国',
|
||||
region_fix: options.region_fix || 0,
|
||||
policy: options.policy || 0,
|
||||
output: 'json',
|
||||
key: that.key
|
||||
};
|
||||
wx.request(Utils.buildWxRequestConfig(options, {
|
||||
url: URL_SUGGESTION,
|
||||
data: requestParam
|
||||
}));
|
||||
}
|
||||
|
||||
/**
|
||||
* 逆地址解析
|
||||
*
|
||||
* @param {Object} options 接口参数对象
|
||||
*
|
||||
* 请求参数结构可以参考
|
||||
* http://lbs.qq.com/webservice_v1/guide-gcoder.html
|
||||
*/
|
||||
reverseGeocoder(options) {
|
||||
var that = this;
|
||||
options = options || {};
|
||||
Utils.polyfillParam(options);
|
||||
var requestParam = {
|
||||
coord_type: options.coord_type || 5,
|
||||
get_poi: options.get_poi || 0,
|
||||
output: 'json',
|
||||
key: that.key
|
||||
};
|
||||
if (options.poi_options) {
|
||||
requestParam.poi_options = options.poi_options
|
||||
}
|
||||
|
||||
var locationsuccess = function (result) {
|
||||
requestParam.location = result.latitude + ',' + result.longitude;
|
||||
wx.request(Utils.buildWxRequestConfig(options, {
|
||||
url: URL_GET_GEOCODER,
|
||||
data: requestParam
|
||||
}));
|
||||
};
|
||||
Utils.locationProcess(options, locationsuccess);
|
||||
}
|
||||
|
||||
/**
|
||||
* 地址解析
|
||||
*
|
||||
* @param {Object} options 接口参数对象
|
||||
*
|
||||
* 请求参数结构可以参考
|
||||
* http://lbs.qq.com/webservice_v1/guide-geocoder.html
|
||||
*/
|
||||
geocoder(options) {
|
||||
var that = this;
|
||||
options = options || {};
|
||||
Utils.polyfillParam(options);
|
||||
|
||||
if (Utils.checkParamKeyEmpty(options, 'address')) {
|
||||
return;
|
||||
}
|
||||
|
||||
var requestParam = {
|
||||
address: options.address,
|
||||
output: 'json',
|
||||
key: that.key
|
||||
};
|
||||
|
||||
wx.request(Utils.buildWxRequestConfig(options, {
|
||||
url: URL_GET_GEOCODER,
|
||||
data: requestParam
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取城市列表
|
||||
*
|
||||
* @param {Object} options 接口参数对象
|
||||
*
|
||||
* 请求参数结构可以参考
|
||||
* http://lbs.qq.com/webservice_v1/guide-region.html
|
||||
*/
|
||||
getCityList(options) {
|
||||
var that = this;
|
||||
options = options || {};
|
||||
Utils.polyfillParam(options);
|
||||
var requestParam = {
|
||||
output: 'json',
|
||||
key: that.key
|
||||
};
|
||||
|
||||
wx.request(Utils.buildWxRequestConfig(options, {
|
||||
url: URL_CITY_LIST,
|
||||
data: requestParam
|
||||
}));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取对应城市ID的区县列表
|
||||
*
|
||||
* @param {Object} options 接口参数对象
|
||||
*
|
||||
* 请求参数结构可以参考
|
||||
* http://lbs.qq.com/webservice_v1/guide-region.html
|
||||
*/
|
||||
getDistrictByCityId(options) {
|
||||
var that = this;
|
||||
options = options || {};
|
||||
Utils.polyfillParam(options);
|
||||
|
||||
if (Utils.checkParamKeyEmpty(options, 'id')) {
|
||||
return;
|
||||
}
|
||||
|
||||
var requestParam = {
|
||||
id: options.id || '',
|
||||
output: 'json',
|
||||
key: that.key
|
||||
};
|
||||
|
||||
wx.request(Utils.buildWxRequestConfig(options, {
|
||||
url: URL_AREA_LIST,
|
||||
data: requestParam
|
||||
}));
|
||||
}
|
||||
|
||||
/**
|
||||
* 用于单起点到多终点的路线距离(非直线距离)计算:
|
||||
* 支持两种距离计算方式:步行和驾车。
|
||||
* 起点到终点最大限制直线距离10公里。
|
||||
*
|
||||
* @param {Object} options 接口参数对象
|
||||
*
|
||||
* 请求参数结构可以参考
|
||||
* http://lbs.qq.com/webservice_v1/guide-distance.html
|
||||
*/
|
||||
calculateDistance(options) {
|
||||
var that = this;
|
||||
options = options || {};
|
||||
Utils.polyfillParam(options);
|
||||
|
||||
if (Utils.checkParamKeyEmpty(options, 'to')) {
|
||||
return;
|
||||
}
|
||||
|
||||
var requestParam = {
|
||||
mode: options.mode || 'walking',
|
||||
to: Utils.location2query(options.to),
|
||||
output: 'json',
|
||||
key: that.key
|
||||
};
|
||||
|
||||
var locationsuccess = function (result) {
|
||||
requestParam.from = result.latitude + ',' + result.longitude;
|
||||
wx.request(Utils.buildWxRequestConfig(options, {
|
||||
url: URL_DISTANCE,
|
||||
data: requestParam
|
||||
}));
|
||||
}
|
||||
if (options.from) {
|
||||
options.location = options.from;
|
||||
}
|
||||
|
||||
Utils.locationProcess(options, locationsuccess);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = QQMapWX;
|
||||
2
utils/qqMap/qqmap-wx-jssdk.min.js
vendored
2
utils/qqMap/qqmap-wx-jssdk.min.js
vendored
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user