|
|
@@ -236,7 +236,7 @@
|
|
|
<text class="pm-log-date">{{ log.date }}</text>
|
|
|
<text class="pm-log-text">{{ log.content }}</text>
|
|
|
<text class="pm-log-recorder">{{ log.recorder === '系统记录' ? '' : '记录人: ' }}{{ log.recorder
|
|
|
- }}</text>
|
|
|
+ }}</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
<view style="height: 30rpx;"></view>
|
|
|
@@ -332,7 +332,7 @@
|
|
|
<view class="appeal-time-row">
|
|
|
<text class="appeal-time">提交:{{ formatTime(record.createTime) }}</text>
|
|
|
<text class="appeal-time" v-if="record.auditTime">审核:{{ formatTime(record.auditTime)
|
|
|
- }}</text>
|
|
|
+ }}</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
@@ -564,7 +564,6 @@ export default {
|
|
|
chooseMap(mapType) {
|
|
|
let item = this.navTargetItem;
|
|
|
let pointType = this.navTargetPointType;
|
|
|
- // 起 -> fromAddress ; 终 -> toAddress
|
|
|
let name = pointType === 'start' ? (item.fromAddress || '起点') : (item.toAddress || '终点');
|
|
|
let address = pointType === 'start' ? (item.fromAddress || '起点地址') : (item.toAddress || '终点地址');
|
|
|
let latitude = pointType === 'start' ? Number(item.fromLat) : Number(item.toLat);
|
|
|
@@ -572,37 +571,42 @@ export default {
|
|
|
|
|
|
this.showNavModal = false;
|
|
|
|
|
|
- // 统一定义打开地图的函数
|
|
|
- const navigateTo = (lat, lng, addrName, addrDesc) => {
|
|
|
- uni.openLocation({
|
|
|
- latitude: lat,
|
|
|
- longitude: lng,
|
|
|
- name: addrName,
|
|
|
- address: addrDesc || '无法获取详细地址',
|
|
|
- success: function () {
|
|
|
- console.log('打开导航成功: ' + mapType);
|
|
|
- },
|
|
|
- fail: function (err) {
|
|
|
- console.error('打开导航失败:', err);
|
|
|
- uni.showToast({ title: '打开地图失败', icon: 'none' });
|
|
|
- }
|
|
|
+ const openApp = (lat, lng, addrName, addrDesc) => {
|
|
|
+ let url = '';
|
|
|
+ // #ifdef APP-PLUS
|
|
|
+ if (mapType === '高德') {
|
|
|
+ url = `androidamap://viewMap?sourceApplication=yingpaipay&poiname=${encodeURIComponent(addrName)}&lat=${lat}&lon=${lng}&dev=0`;
|
|
|
+ } else if (mapType === '腾讯') {
|
|
|
+ url = `qqmap://map/marker?marker=coord:${lat},${lng};title:${encodeURIComponent(addrName)};addr:${encodeURIComponent(addrDesc)}&referer=yingpaipay`;
|
|
|
+ } else if (mapType === '百度') {
|
|
|
+ url = `baidumap://map/marker?location=${lat},${lng}&title=${encodeURIComponent(addrName)}&content=${encodeURIComponent(addrDesc)}&src=yingpaipay`;
|
|
|
+ }
|
|
|
+ plus.runtime.openURL(url, (e) => {
|
|
|
+ console.error('打开' + mapType + '地图失败:', e);
|
|
|
});
|
|
|
+ // #endif
|
|
|
+ // #ifdef H5
|
|
|
+ if (mapType === '高德') {
|
|
|
+ url = `https://uri.amap.com/marker?position=${lng},${lat}&name=${encodeURIComponent(addrName)}`;
|
|
|
+ } else if (mapType === '腾讯') {
|
|
|
+ url = `https://apis.map.qq.com/uri/v1/marker?marker=coord:${lat},${lng};title:${encodeURIComponent(addrName)}&referer=yingpaipay`;
|
|
|
+ } else if (mapType === '百度') {
|
|
|
+ url = `https://api.map.baidu.com/marker?location=${lat},${lng}&title=${encodeURIComponent(addrName)}&content=${encodeURIComponent(addrDesc)}&output=html&src=yingpaipay`;
|
|
|
+ }
|
|
|
+ window.open(url, '_blank');
|
|
|
+ // #endif
|
|
|
};
|
|
|
|
|
|
- // 如果有目标经纬度,直接打开
|
|
|
if (latitude && longitude && !isNaN(latitude) && !isNaN(longitude)) {
|
|
|
- navigateTo(latitude, longitude, name, address);
|
|
|
+ openApp(latitude, longitude, name, address);
|
|
|
} else {
|
|
|
- // 如果没有经纬度,按照需求:使用自己当前的经纬度,然后搜索 fromAddress 或者 toAddress
|
|
|
uni.showLoading({ title: '获取当前位置...', mask: true });
|
|
|
reportGps(true).then(res => {
|
|
|
uni.hideLoading();
|
|
|
- // 使用用户当前经纬度作为锚点打开地图,展示目标地址信息
|
|
|
- navigateTo(res.latitude, res.longitude, name, address);
|
|
|
+ openApp(res.latitude, res.longitude, name, address);
|
|
|
}).catch(err => {
|
|
|
uni.hideLoading();
|
|
|
console.error('获取地理位置失败:', err);
|
|
|
- // 具体的授权引导已在 reportGps 内部处理
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
@@ -892,7 +896,7 @@ export default {
|
|
|
orderId: this.currentOrder.id,
|
|
|
reason: this.cancelReason
|
|
|
});
|
|
|
- uni.showToast({ title: '订单已取消', icon: 'success' });
|
|
|
+ uni.showToast({ title: '已取消接单', icon: 'success' });
|
|
|
this.showCancelModal = false;
|
|
|
this.currentOrder = null;
|
|
|
// 延时刷新列表,防止提示框闪现
|