You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
const app = getApp<IAppOption>()
|
|
|
|
|
|
|
|
|
|
Page({
|
|
|
|
|
data: {
|
|
|
|
|
id: '',
|
|
|
|
|
detail: {} as any,
|
|
|
|
|
LNG: '' as number | string,
|
|
|
|
|
LAT: '' as number | string,
|
|
|
|
|
},
|
|
|
|
|
onLoad(options) {
|
|
|
|
|
this.setData({
|
|
|
|
|
id: options.id,
|
|
|
|
|
})
|
|
|
|
|
app.waitLogin({ type: [0, 1] }).then(() => {
|
|
|
|
|
this.handleToggleSite()
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handleToggleSite() {
|
|
|
|
|
if (!this.data.LNG) {
|
|
|
|
|
wx.getSetting({
|
|
|
|
|
success: (res) => {
|
|
|
|
|
if (
|
|
|
|
|
res.authSetting['scope.userFuzzyLocation'] != undefined
|
|
|
|
|
&& res.authSetting['scope.userFuzzyLocation'] == true
|
|
|
|
|
) {
|
|
|
|
|
// 获取当前位置
|
|
|
|
|
this.getFuzzyLocation()
|
|
|
|
|
}
|
|
|
|
|
else if (res.authSetting['scope.userFuzzyLocation'] == undefined) {
|
|
|
|
|
// 获取当前位置
|
|
|
|
|
this.getFuzzyLocation()
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
wx.showModal({
|
|
|
|
|
title: '请求授权当前位置',
|
|
|
|
|
content: '需要获取您的地理位置,请确认授权',
|
|
|
|
|
confirmColor: '#8c75d0',
|
|
|
|
|
success: (res) => {
|
|
|
|
|
if (res.cancel) {
|
|
|
|
|
// 取消授权
|
|
|
|
|
wx.showToast({
|
|
|
|
|
title: '拒绝授权',
|
|
|
|
|
icon: 'none',
|
|
|
|
|
duration: 1000,
|
|
|
|
|
})
|
|
|
|
|
this.getDetail()
|
|
|
|
|
}
|
|
|
|
|
else if (res.confirm) {
|
|
|
|
|
// 确定授权,通过wx.openSetting发起授权请求
|
|
|
|
|
wx.openSetting({
|
|
|
|
|
success: (res) => {
|
|
|
|
|
if (res.authSetting['scope.userFuzzyLocation'] == true) {
|
|
|
|
|
wx.showToast({
|
|
|
|
|
title: '授权成功',
|
|
|
|
|
icon: 'success',
|
|
|
|
|
duration: 1000,
|
|
|
|
|
})
|
|
|
|
|
this.getFuzzyLocation()
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
wx.showToast({
|
|
|
|
|
title: '授权失败',
|
|
|
|
|
icon: 'none',
|
|
|
|
|
duration: 1000,
|
|
|
|
|
})
|
|
|
|
|
this.getDetail()
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
this.setData({
|
|
|
|
|
LNG: '',
|
|
|
|
|
LAT: '',
|
|
|
|
|
})
|
|
|
|
|
this.getDetail()
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
getFuzzyLocation() {
|
|
|
|
|
wx.getFuzzyLocation({
|
|
|
|
|
success: (res) => {
|
|
|
|
|
this.setData({
|
|
|
|
|
LNG: res.longitude,
|
|
|
|
|
LAT: res.latitude,
|
|
|
|
|
})
|
|
|
|
|
this.getDetail()
|
|
|
|
|
},
|
|
|
|
|
fail: () => {
|
|
|
|
|
this.getDetail()
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
getDetail() {
|
|
|
|
|
wx.ajax({
|
|
|
|
|
method: 'GET',
|
|
|
|
|
url: '?r=xd/infusion-center/detail',
|
|
|
|
|
data: {
|
|
|
|
|
Id: this.data.id,
|
|
|
|
|
lng: this.data.LNG,
|
|
|
|
|
lat: this.data.LAT,
|
|
|
|
|
},
|
|
|
|
|
}).then((res) => {
|
|
|
|
|
this.setData({
|
|
|
|
|
detail: res,
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handleSite() {
|
|
|
|
|
const { LNG, LAT, ProvinceName, CityName, CountyName, Address, Name } = this.data.detail
|
|
|
|
|
wx.openLocation({
|
|
|
|
|
latitude: LAT,
|
|
|
|
|
longitude: LNG,
|
|
|
|
|
name: Name,
|
|
|
|
|
address: `${ProvinceName}${CityName}${CountyName}${Address}`,
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handlePhone() {
|
|
|
|
|
const tel = this.data.detail.Telephone
|
|
|
|
|
if (!tel) {
|
|
|
|
|
wx.showToast({
|
|
|
|
|
icon: 'none',
|
|
|
|
|
title: '电话暂未开通',
|
|
|
|
|
})
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
wx.makePhoneCall({
|
|
|
|
|
phoneNumber: tel,
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
export {}
|