From 3f85de1f93b8f227fc068004cb0a1fb38c840432 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?TOP=E7=B3=AF=E7=B1=B3?= <1130395124@qq.com>
Date: Thu, 9 Mar 2023 14:39:48 +0800
Subject: [PATCH] =?UTF-8?q?=E4=B8=8B=E5=8D=95=E5=A2=9E=E5=8A=A0=E4=BF=9D?=
=?UTF-8?q?=E9=99=A9=E5=B1=95=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/service/insurance.vue | 6 +++++-
src/core/apis.js | 3 +++
src/core/models/service.js | 17 +++++++++++++++++
src/pages/order/create.vue | 9 ++++++++-
src/store/index.js | 2 ++
src/store/modules/service.js | 21 +++++++++++++++++++++
6 files changed, 56 insertions(+), 2 deletions(-)
create mode 100644 src/core/models/service.js
create mode 100644 src/store/modules/service.js
diff --git a/src/components/service/insurance.vue b/src/components/service/insurance.vue
index efbbdb7..6ccfc0a 100644
--- a/src/components/service/insurance.vue
+++ b/src/components/service/insurance.vue
@@ -8,7 +8,7 @@
全面保证您的人身财产安全
- ¥ 6.00
+ ¥ {{ price }}
@@ -33,6 +33,10 @@ export default {
type: Boolean,
default: true,
},
+ price: {
+ type: [Number, String],
+ default: 0,
+ },
insurance: {
type: Boolean,
default: false,
diff --git a/src/core/apis.js b/src/core/apis.js
index 5af6309..1db6936 100644
--- a/src/core/apis.js
+++ b/src/core/apis.js
@@ -76,6 +76,9 @@ export default {
}
},
service: {
+ insurance: {
+ url: "/index/getyiwai",
+ },
aftermarket: {
url: "/index/category2",
},
diff --git a/src/core/models/service.js b/src/core/models/service.js
new file mode 100644
index 0000000..52efbf3
--- /dev/null
+++ b/src/core/models/service.js
@@ -0,0 +1,17 @@
+import Vue from "vue"
+let prototype = Vue.prototype;
+
+export default {
+ getInsurancePrice() {
+ return new Promise((resolve, reject) => {
+ prototype.$request({
+ api: "service.insurance",
+ }).then((response) => {
+ if (response.code == 1) {
+ let money = parseFloat(response.data.money);
+ resolve(money > 0 ? money : 0)
+ }
+ }).catch(e => { });
+ });
+ }
+}
diff --git a/src/pages/order/create.vue b/src/pages/order/create.vue
index a62d2f8..3c22ada 100644
--- a/src/pages/order/create.vue
+++ b/src/pages/order/create.vue
@@ -32,7 +32,7 @@
-
+
留言
@@ -62,6 +62,7 @@ import ServicePreviewItem from "@/components/service/preview-item";
import Agreement from "@/components/auth/agreement";
import WidgetTips from "@/components/widgets/tips";
import ServiceInsurance from "@/components/service/insurance";
+import { mapState } from "vuex";
export default {
name: "order-create",
data() {
@@ -96,8 +97,14 @@ export default {
WidgetTips,
ServiceInsurance,
},
+ computed: {
+ ...mapState({
+ insurancePrice: (state) => state.service.insurancePrice,
+ }),
+ },
onLoad() {
this.pageConfig = getApp().globalData.pageConfig;
+ this.$store.dispatch("service/insurancePrice");
},
onShow() {},
onReady() {},
diff --git a/src/store/index.js b/src/store/index.js
index c8d6757..6034727 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -3,11 +3,13 @@ import Vuex from 'vuex'
import system from "@/store/modules/system"
import user from "@/store/modules/user"
+import service from "@/store/modules/service"
Vue.use(Vuex)
export default new Vuex.Store({
modules: {
system,
user,
+ service,
}
})
diff --git a/src/store/modules/service.js b/src/store/modules/service.js
new file mode 100644
index 0000000..ec2b077
--- /dev/null
+++ b/src/store/modules/service.js
@@ -0,0 +1,21 @@
+import service from "@/core/models/service";
+
+export default {
+ namespaced: true,
+ state: {
+ insurancePrice: 0,
+ },
+ getters: {},
+ mutations: {
+ insurancePrice(state, data) {
+ state.insurancePrice = data;
+ }
+ },
+ actions: {
+ insurancePrice(context) {
+ service.getInsurancePrice().then(price => {
+ context.commit('insurancePrice', price);
+ });
+ }
+ }
+}