diff --git a/src/components/widgets/switch.vue b/src/components/widgets/switch.vue
index a8f4498..a51251b 100644
--- a/src/components/widgets/switch.vue
+++ b/src/components/widgets/switch.vue
@@ -37,6 +37,11 @@ export default {
},
mounted() {},
destroyed() {},
+ watch: {
+ open(v) {
+ this.state = v;
+ },
+ },
methods: {
changeState() {
this.state = !this.state;
diff --git a/src/core/apis.js b/src/core/apis.js
index 9a9c0b6..34c31f2 100644
--- a/src/core/apis.js
+++ b/src/core/apis.js
@@ -53,6 +53,10 @@ const apis = {
url: "/user/workerinfo/setinfo",
auth: true,
},
+ setServiceState: {
+ url: "/user/workerinfo/setworker",
+ auth: true,
+ },
withdraw: {
withdraw: {
url: "/user/workerinfo/drawmoney",
diff --git a/src/core/models/user.js b/src/core/models/user.js
index d242212..2baf5cc 100644
--- a/src/core/models/user.js
+++ b/src/core/models/user.js
@@ -108,6 +108,7 @@ export default {
license: response.data.worker.imgc,
content: response.data.worker.desc,
type: response.data.worker.status,
+ acceptOrderState: response.data.worker.worker,
};
}
prototype.$storage.set('userinfo', user);
@@ -280,5 +281,20 @@ export default {
return reject(response.msg);
}).catch(e => { });
});
+ },
+ /**
+ * 设置服务状态
+ */
+ setServiceState() {
+ return new Promise((resolve, reject) => {
+ prototype.$request({
+ api: "user.setServiceState",
+ }).then(response => {
+ if (response.code == 1) {
+ return resolve();
+ }
+ return reject(response.msg);
+ }).catch(e => { });
+ });
}
}
diff --git a/src/pages/member/member.vue b/src/pages/member/member.vue
index 892ff05..a3bc194 100644
--- a/src/pages/member/member.vue
+++ b/src/pages/member/member.vue
@@ -20,12 +20,13 @@
- {{ acceptOrderState ? "正在" : "暂停" }}接单
+ {{ acceptState ? "正在" : "暂停" }}接单
@@ -125,7 +126,7 @@ export default {
timer: null,
safePt: 0,
backgroundImage: require("@/static/temp/1.png"),
- acceptOrderState: false,
+ acceptState: false,
typeText: "",
typeTextColor: "",
showService: false,
@@ -149,6 +150,7 @@ export default {
computed: {
...mapGetters({
isLogin: "user/isLogin",
+ acceptOrder: "user/acceptOrder",
}),
...mapState({
userInfo: (state) => state.user.info,
@@ -168,6 +170,7 @@ export default {
let [typeText, typeTextColor] = this.$models.worker.worketTypeText(this.userInfo.worker.type);
this.typeText = typeText;
this.typeTextColor = typeTextColor;
+ this.acceptState = this.acceptOrder;
}
},
onReady() {},
@@ -188,6 +191,12 @@ export default {
// this.carefreeContent = response.data.content;
// });
},
+ setServiceState(state) {
+ this.$models.user.setServiceState().then(() => {
+ this.$store.dispatch("user/info", true);
+ this.acceptState = this.acceptOrder;
+ });
+ },
},
};
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index b29d537..dfaf50a 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -18,6 +18,9 @@ export default {
isLogin(state) {
return state.token && state.token.length > 0;
},
+ acceptOrder(state) {
+ return state.info.worker.acceptOrderState == 1;
+ },
},
mutations: {
showLoginModal(state, data) {