|
@@ -58,7 +58,12 @@
|
|
|
<u-line color="#f0f0f0"></u-line>
|
|
<u-line color="#f0f0f0"></u-line>
|
|
|
<view class="btn-box">
|
|
<view class="btn-box">
|
|
|
<span class="time">{{$utils.mFormatDate(item.expectedTime, 'yyyy-MM-dd HH:mm') || '-'}}</span>
|
|
<span class="time">{{$utils.mFormatDate(item.expectedTime, 'yyyy-MM-dd HH:mm') || '-'}}</span>
|
|
|
- <span class="btn" v-if="item.status !=6" @click.stop="cancleOrder(item.id)">取消订单</span>
|
|
|
|
|
|
|
+ <view class="btn-box-r">
|
|
|
|
|
+ <span class="btn btn1" v-if="item.status == 1" @click.stop="cancleOrder(item.id)">取消订单</span>
|
|
|
|
|
+ <!-- -->
|
|
|
|
|
+ <span class="btn btn2" v-if="item.status == 2 || item.status == 3" @click.stop="contactPerson(item.id)">联系护工</span>
|
|
|
|
|
+ <span class="btn btn2" v-if="item.status == 5" @click.stop="goEvaluation(item.id)">去评价</span>
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
@@ -71,6 +76,23 @@
|
|
|
<u-loadmore :status="status" :loading-text="loadingText" :loadmore-text="loadmoreText"
|
|
<u-loadmore :status="status" :loading-text="loadingText" :loadmore-text="loadmoreText"
|
|
|
:nomore-text="nomoreText" @loadmore="loadmore" dashed line marginTop="20" />
|
|
:nomore-text="nomoreText" @loadmore="loadmore" dashed line marginTop="20" />
|
|
|
</view>
|
|
</view>
|
|
|
|
|
+
|
|
|
|
|
+ <u-popup :overlayStyle="{'touch-action':'none'}" closeable mode="bottom" :show="popShow" @close="popClose"
|
|
|
|
|
+ @open="open" :round="20">
|
|
|
|
|
+ <view class="pop-box">
|
|
|
|
|
+ <view class="pop-title">联系护工</view>
|
|
|
|
|
+ <view class="pop-content">
|
|
|
|
|
+ <view class="pop-item" v-for="item,index in workerList" :key="index"
|
|
|
|
|
+ @click="confirmAndCall(item.mobile)">
|
|
|
|
|
+ <u-icon name="phone" color="#fff"></u-icon>
|
|
|
|
|
+ <span class="txt">{{item.mobile || '-'}}</span>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="footer-btn">
|
|
|
|
|
+ <span class="btn">取消</span>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </u-popup>
|
|
|
</view>
|
|
</view>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -104,6 +126,15 @@
|
|
|
},
|
|
},
|
|
|
current: 0,
|
|
current: 0,
|
|
|
isFirst: true,
|
|
isFirst: true,
|
|
|
|
|
+
|
|
|
|
|
+ workerList: [{
|
|
|
|
|
+ mobile: '13555265325',
|
|
|
|
|
+ }, {
|
|
|
|
|
+ mobile: '15800215426',
|
|
|
|
|
+ }, {
|
|
|
|
|
+ mobile: '15074125896',
|
|
|
|
|
+ }],
|
|
|
|
|
+ popShow: false,
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
onLoad(option) {
|
|
onLoad(option) {
|
|
@@ -162,6 +193,60 @@
|
|
|
this.getOrderList("reload")
|
|
this.getOrderList("reload")
|
|
|
this.getOrderStatus();
|
|
this.getOrderStatus();
|
|
|
},
|
|
},
|
|
|
|
|
+
|
|
|
|
|
+ open() {
|
|
|
|
|
+ this.popShow = true;
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ popClose() {
|
|
|
|
|
+ this.popShow = false;
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ //拨打电话
|
|
|
|
|
+ confirmAndCall(phoneNumber) {
|
|
|
|
|
+ // 先验证电话号码
|
|
|
|
|
+ if (!this.isValidPhoneNumber(phoneNumber)) {
|
|
|
|
|
+ uni.showToast({
|
|
|
|
|
+ title: '电话号码格式不正确',
|
|
|
|
|
+ icon: 'none'
|
|
|
|
|
+ });
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 显示确认对话框
|
|
|
|
|
+ uni.showModal({
|
|
|
|
|
+ title: '确认拨打电话',
|
|
|
|
|
+ content: `确定要拨打 ${phoneNumber} 吗?`,
|
|
|
|
|
+ success: (res) => {
|
|
|
|
|
+ if (res.confirm) {
|
|
|
|
|
+ // 用户点击确定,执行拨打电话
|
|
|
|
|
+ this.makePhoneCall(phoneNumber);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ isValidPhoneNumber(phoneNumber) {
|
|
|
|
|
+ // 简单的电话号码验证
|
|
|
|
|
+ return /^1[3-9]\d{9}$/.test(phoneNumber);
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ makePhoneCall(phoneNumber) {
|
|
|
|
|
+ uni.makePhoneCall({
|
|
|
|
|
+ phoneNumber: phoneNumber,
|
|
|
|
|
+ success: () => {
|
|
|
|
|
+ console.log('拨打电话成功');
|
|
|
|
|
+ },
|
|
|
|
|
+ fail: (err) => {
|
|
|
|
|
+ console.error('拨打电话失败', err);
|
|
|
|
|
+ uni.showToast({
|
|
|
|
|
+ title: '拨打电话失败',
|
|
|
|
|
+ icon: 'none'
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
changeTab(item) {
|
|
changeTab(item) {
|
|
|
// console.log("item", item);
|
|
// console.log("item", item);
|
|
|
this.pageNum = 1;
|
|
this.pageNum = 1;
|
|
@@ -174,6 +259,7 @@
|
|
|
return obj ? obj.value : '-'
|
|
return obj ? obj.value : '-'
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
|
|
+ //取消订单
|
|
|
cancleOrder(id) {
|
|
cancleOrder(id) {
|
|
|
//确认是否删除
|
|
//确认是否删除
|
|
|
uni.showModal({
|
|
uni.showModal({
|
|
@@ -198,6 +284,20 @@
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
|
|
+ //联系护工
|
|
|
|
|
+ contactPerson(item) {
|
|
|
|
|
+ this.open()
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ //去评价
|
|
|
|
|
+ goEvaluation(item) {
|
|
|
|
|
+ uni.navigateTo({
|
|
|
|
|
+ url: '/pages/order/evaluation?id=' + item.id
|
|
|
|
|
+
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ //获取订单列表
|
|
|
getOrderList(reload) {
|
|
getOrderList(reload) {
|
|
|
// 验证登录
|
|
// 验证登录
|
|
|
// let token = uni.getStorageSync('apiToken');
|
|
// let token = uni.getStorageSync('apiToken');
|
|
@@ -273,6 +373,7 @@
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
|
|
+ //加载更多
|
|
|
loadmore() {
|
|
loadmore() {
|
|
|
// 如果当前页数大于等于总页数,状态修改为没有更多了,不再继续往下执行代码
|
|
// 如果当前页数大于等于总页数,状态修改为没有更多了,不再继续往下执行代码
|
|
|
if (this.orderList.length >= this.total) {
|
|
if (this.orderList.length >= this.total) {
|
|
@@ -298,6 +399,8 @@
|
|
|
uni.stopPullDownRefresh();
|
|
uni.stopPullDownRefresh();
|
|
|
}, 1000);
|
|
}, 1000);
|
|
|
},
|
|
},
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
</script>
|
|
</script>
|
|
@@ -420,18 +523,97 @@
|
|
|
color: #6F6F6F;
|
|
color: #6F6F6F;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- .btn {
|
|
|
|
|
- width: 160rpx;
|
|
|
|
|
- height: 60rpx;
|
|
|
|
|
- line-height: 60rpx;
|
|
|
|
|
- text-align: center;
|
|
|
|
|
- background-color: #4B91D1;
|
|
|
|
|
- color: #fff;
|
|
|
|
|
- border-radius: 30rpx;
|
|
|
|
|
- font-size: 24rpx;
|
|
|
|
|
|
|
+ .btn-box-r {
|
|
|
|
|
+
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+
|
|
|
|
|
+ .btn {
|
|
|
|
|
+ width: 160rpx;
|
|
|
|
|
+ height: 60rpx;
|
|
|
|
|
+ margin-left: 20rpx;
|
|
|
|
|
+ line-height: 60rpx;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ background-color: #4B91D1;
|
|
|
|
|
+ color: #fff;
|
|
|
|
|
+ border-radius: 30rpx;
|
|
|
|
|
+ font-size: 24rpx;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .btn1 {
|
|
|
|
|
+ background-color: #fff;
|
|
|
|
|
+ border: 1rpx solid #4B91D1;
|
|
|
|
|
+ color: #4B91D1;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .pop-box {
|
|
|
|
|
+ .pop-title {
|
|
|
|
|
+ font-size: 32rpx;
|
|
|
|
|
+
|
|
|
|
|
+ font-weight: bold;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ padding: 20rpx 0;
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .pop-content {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ margin-top: 30rpx;
|
|
|
|
|
+ font-size: 28rpx;
|
|
|
|
|
+ color: #6F6F6F;
|
|
|
|
|
+ padding: 0 20rpx;
|
|
|
|
|
+
|
|
|
|
|
+ &>view {
|
|
|
|
|
+ margin-bottom: 20rpx;
|
|
|
|
|
+
|
|
|
|
|
+ &:last-child {
|
|
|
|
|
+ margin-bottom: 0;
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .pop-item {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ width: 500rpx;
|
|
|
|
|
+ padding: 20rpx 0;
|
|
|
|
|
+ background-color: #4B91D1;
|
|
|
|
|
+ border-radius: 40rpx;
|
|
|
|
|
+ color: #fff;
|
|
|
|
|
+
|
|
|
|
|
+ .txt {
|
|
|
|
|
+ font-size: 28rpx;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .footer-btn {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ margin-top: 60rpx;
|
|
|
|
|
+
|
|
|
|
|
+ .btn {
|
|
|
|
|
+ width: 500rpx;
|
|
|
|
|
+ padding: 20rpx 0;
|
|
|
|
|
+ border: 1rpx solid #4B91D1;
|
|
|
|
|
+ border-radius: 40rpx;
|
|
|
|
|
+ color: #333;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
</style>
|
|
</style>
|