From ccb4538499be348584cad891059f496ae1b0cff8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?TOP=E7=B3=AF=E7=B1=B3?= <1130395124@qq.com>
Date: Thu, 30 Mar 2023 15:26:22 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9C=8D=E5=8A=A1=E6=97=B6?=
=?UTF-8?q?=E9=97=B4=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/order/change-time.vue | 118 +++++++++++++++++++++++++++
src/components/order/item.vue | 25 ++++++
src/core/apis.js | 13 +++
src/core/models/order.js | 15 +++-
src/pages/order/detail.vue | 83 +++++++++++++++----
src/pages/order/order.vue | 48 ++++++++++-
6 files changed, 284 insertions(+), 18 deletions(-)
create mode 100644 src/components/order/change-time.vue
diff --git a/src/components/order/change-time.vue b/src/components/order/change-time.vue
new file mode 100644
index 0000000..f3a6c87
--- /dev/null
+++ b/src/components/order/change-time.vue
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ changeTimeData.date ? changeTimeData.date : "选择期望上门日期" }}
+
+
+
+
+
+
+
+
+
+
+ {{ changeTimeData.time ? changeTimeData.time : "选择期望上门时间" }}
+
+
+
+
+
+
+
+
+ 提交
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/order/item.vue b/src/components/order/item.vue
index a1c9bea..1130491 100644
--- a/src/components/order/item.vue
+++ b/src/components/order/item.vue
@@ -32,6 +32,12 @@
服务时间:
{{ order.serviceTime }}
+
+
+
+ 修改时间
+
+
@@ -124,6 +130,9 @@ export default {
},
});
},
+ changeTime() {
+ this.$emit("changeTime");
+ },
},
};
@@ -179,6 +188,22 @@ export default {
color: #8194f2;
margin-left: 24rpx;
}
+ .btn {
+ position: absolute;
+ top: 0;
+ right: 0;
+ display: flex;
+ align-items: center;
+ line-height: 30rpx;
+ color: #999999;
+ }
+ .btn-desc {
+ font-size: 24rpx;
+ }
+ .iconfont {
+ font-size: 30rpx;
+ margin-right: 4rpx;
+ }
}
.order-desc-row:last-child {
margin-bottom: 0;
diff --git a/src/core/apis.js b/src/core/apis.js
index 20ffbee..c606827 100644
--- a/src/core/apis.js
+++ b/src/core/apis.js
@@ -281,6 +281,19 @@ export default {
url: ""
}
},
+ changeServiceTime: {
+ t1: {
+ url: "",
+ },
+ t2: {
+ url: "/wxapp/orderb/saveordrbyid",
+ showLoading: true,
+ auth: true,
+ },
+ t3: {
+ url: ""
+ }
+ },
chooseWorker: {
url: "/wxapp/orderb/chooseshifu",
showLoading: true,
diff --git a/src/core/models/order.js b/src/core/models/order.js
index 71e5fec..6bf3bd9 100644
--- a/src/core/models/order.js
+++ b/src/core/models/order.js
@@ -345,5 +345,18 @@ export default {
return reject(response.msg);
}).catch(e => { });
});
- }
+ },
+ /**
+ * 修改服务时间
+ */
+ changeServiceTime(options) {
+ return new Promise((resolve, reject) => {
+ prototype.$request(options.request).then(response => {
+ if (response.code == 1) {
+ return resolve(response);
+ }
+ return reject(response.msg);
+ }).catch(e => { });
+ });
+ },
}
diff --git a/src/pages/order/detail.vue b/src/pages/order/detail.vue
index 809a296..24a4e7b 100644
--- a/src/pages/order/detail.vue
+++ b/src/pages/order/detail.vue
@@ -79,6 +79,12 @@
服务时间:
{{ order.serviceTime }}
+
+
+
+ 修改时间
+
+
@@ -162,6 +168,12 @@
+
@@ -171,6 +183,7 @@ import WorkerItem from "@/components/worker/item";
import ServiceInsurance from "@/components/service/insurance";
import OrderAction from "@/components/order/action";
import WidgetService from "@/components/widgets/service";
+import AppOrderChangeTime from "@/components/order/change-time";
export default {
name: "order-detail",
data() {
@@ -191,6 +204,10 @@ export default {
},
showDetail: false,
showList: false,
+ changeTimeData: {
+ changeTimeModal: false,
+ data: {},
+ },
};
},
components: {
@@ -199,6 +216,7 @@ export default {
ServiceInsurance,
OrderAction,
WidgetService,
+ AppOrderChangeTime,
},
async onLoad(e) {
this.pageConfig = getApp().globalData.pageConfig;
@@ -332,6 +350,39 @@ export default {
current: index,
});
},
+ /**
+ * 修改服务时间
+ */
+ changeTime(item) {
+ this.changeTimeData.data = item;
+ this.changeTimeData.changeTimeModal = true;
+ },
+ /**
+ * 提交修改
+ */
+ submit(data) {
+ if (!data.date || !data.time) {
+ return this.$utils.toast("请选择日期和时间");
+ }
+ let datetime = data.date + " " + data.time;
+ this.$models.order
+ .changeServiceTime({
+ request: {
+ api: "order.changeServiceTime." + this.listType,
+ data: {
+ id: this.changeTimeData.data.id,
+ times: datetime,
+ },
+ },
+ })
+ .then(() => {
+ this.changeTimeData.data.serviceTime = datetime;
+ this.changeTimeData.changeTimeModal = false;
+ })
+ .catch((e) => {
+ this.$utils.toast(e);
+ });
+ },
},
};
@@ -486,6 +537,22 @@ export default {
color: #8194f2;
margin-left: 24rpx;
}
+ .btn {
+ position: absolute;
+ top: 0;
+ right: 0;
+ display: flex;
+ align-items: center;
+ line-height: 30rpx;
+ color: #999999;
+ }
+ .btn-desc {
+ font-size: 24rpx;
+ }
+ .iconfont {
+ font-size: 30rpx;
+ margin-right: 4rpx;
+ }
}
.info-row:last-child {
margin-bottom: 0;
@@ -528,20 +595,4 @@ export default {
}
}
}
-.common-bottom-components {
- .service {
- display: flex;
- align-items: center;
- .iconfont {
- font-size: 60rpx;
- color: #999999;
- }
- .text {
- display: inline-block;
- font-size: 28rpx;
- color: #999999;
- margin-left: 10rpx;
- }
- }
-}
\ No newline at end of file
diff --git a/src/pages/order/order.vue b/src/pages/order/order.vue
index 1d74feb..772a16b 100644
--- a/src/pages/order/order.vue
+++ b/src/pages/order/order.vue
@@ -29,7 +29,7 @@
:key="index"
@click="toDetail(item.id, item.state, item.listType, item.orderType)"
>
-
+
@@ -49,6 +49,12 @@
+
@@ -57,6 +63,7 @@ import AppLayout from "@/components/layout/layout";
import OrderItem from "@/components/order/item";
import OrderAction from "@/components/order/action";
import WidgetLoadMore from "@/components/widgets/loadmore";
+import AppOrderChangeTime from "@/components/order/change-time";
import { mapState } from "vuex";
export default {
name: "order",
@@ -64,6 +71,10 @@ export default {
return {
tabIndex: 0,
tabHeight: 0,
+ changeTimeData: {
+ changeTimeModal: false,
+ data: {},
+ },
tabList: [
{
listType: "t1",
@@ -94,6 +105,7 @@ export default {
OrderItem,
OrderAction,
WidgetLoadMore,
+ AppOrderChangeTime,
},
computed: {
...mapState({
@@ -198,6 +210,40 @@ export default {
refresh() {
this.switchTab(this.tabIndex);
},
+ /**
+ * 修改服务时间
+ */
+ changeTime(item) {
+ this.changeTimeData.data = item;
+ this.changeTimeData.changeTimeModal = true;
+ },
+ /**
+ * 提交修改
+ */
+ submit(data) {
+ if (!data.date || !data.time) {
+ return this.$utils.toast("请选择日期和时间");
+ }
+ let currentTab = this.tabList[this.tabIndex];
+ let datetime = data.date + " " + data.time;
+ this.$models.order
+ .changeServiceTime({
+ request: {
+ api: "order.changeServiceTime." + currentTab.listType,
+ data: {
+ id: this.changeTimeData.data.id,
+ times: datetime,
+ },
+ },
+ })
+ .then(() => {
+ this.changeTimeData.data.serviceTime = datetime;
+ this.changeTimeData.changeTimeModal = false;
+ })
+ .catch((e) => {
+ this.$utils.toast(e);
+ });
+ },
},
};