Просмотр исходного кода

客资任务跟踪题目填写添加表格选项

zhujindu 11 месяцев назад
Родитель
Сommit
3b5f0be1d1

+ 1 - 0
src/store/getters.js

@@ -1,4 +1,5 @@
 const getters = {
   userInfo: (state) => state.user.userInfo,
+  refreshClewPage: (state) => state.isRefreshPage.refreshClewPage,
 };
 export default getters;

+ 2 - 0
src/store/index.js

@@ -1,6 +1,7 @@
 import Vue from 'vue';
 import Vuex from 'vuex';
 import user from './modules/user';
+import isRefreshPage from './modules/isRefreshPage';
 import getters from './getters';
 
 Vue.use(Vuex);
@@ -8,6 +9,7 @@ Vue.use(Vuex);
 const store = new Vuex.Store({
   modules: {
     user,
+    isRefreshPage,
   },
   getters,
 });

+ 19 - 0
src/store/modules/isRefreshPage.js

@@ -0,0 +1,19 @@
+const isRefreshPage = {
+  state: {
+    refreshClewPage: false,
+  },
+
+  mutations: {
+    SET_REFRESH_CLEW_PAGE: (state, value) => {
+      state.refreshClewPage = value;
+    },
+  },
+
+  actions: {
+    setRefreshClewPage({ commit }, value) {
+      commit('SET_REFRESH_CLEW_PAGE', value);
+    },
+  },
+};
+
+export default isRefreshPage;

+ 7 - 3
src/views/clew/clewent.vue

@@ -483,6 +483,7 @@ import { ImagePreview } from 'vant';
 import clewentDetails from './clewentDetails';
 import radioGroup from './complaintDetail/radioGroup';
 import { clewMixins } from '@/mixin/clew.js';
+import store from '@/store';
 export default {
   name: 'MyHistoricalWeekly',
   mixins: [clewMixins],
@@ -702,7 +703,8 @@ export default {
               if (this.$route.query.token != undefined) {
                 window.location.replace(window.location.origin + '/mobile/clew');
               } else {
-                this.$router.go(-1);
+                store.dispatch('setRefreshClewPage', true);
+                this.$router.replace({ path: '/clew' });
               }
               return done(true);
             } else {
@@ -911,7 +913,8 @@ export default {
               if (this.$route.query.token != undefined) {
                 window.location.replace(window.location.origin + '/mobile/clew');
               } else {
-                this.$router.go(-1);
+                store.dispatch('setRefreshClewPage', true);
+                this.$router.replace({ path: '/clew' });
               }
             } else {
               this.$toast(res.msg);
@@ -1004,7 +1007,8 @@ export default {
             if (this.$route.query.token != undefined) {
               window.location.replace(window.location.origin + '/mobile/clew');
             } else {
-              this.$router.go(-1);
+              store.dispatch('setRefreshClewPage', true);
+              this.$router.replace({ path: '/clew' });
             }
           } else {
             this.$toast(res.msg);

+ 19 - 2
src/views/clew/index.vue

@@ -63,8 +63,15 @@
 <script>
 import { infolist } from '@/api/clew';
 import { getDictOption } from '@/api';
+import { mapState } from 'vuex';
+import store from '@/store';
 export default {
   name: 'clew',
+  computed: {
+    ...mapState({
+      refreshClewPage: (state) => state.isRefreshPage.refreshClewPage,
+    }),
+  },
   data() {
     return {
       isHandle: '-1',
@@ -76,11 +83,21 @@ export default {
       customerClueOption: [],
     };
   },
-  activated() {
+  created() {
     this.getCustomerClue();
     this.approveList();
   },
+  activated() {},
   watch: {
+    refreshClewPage: {
+      handler(val) {
+        if (val) {
+          this.approveList();
+          store.dispatch('setRefreshClewPage', false);
+        }
+      },
+      immediate: true,
+    },
     $route(to, from) {
       if (to.path == '/clew' && from.path == '/My/index') {
         this.isHandle = '-1';
@@ -157,7 +174,7 @@ export default {
         });
       } else {
         // 非家装客资跟进
-        this.list = [];
+        // this.list = [];
         this.$router.push({
           path: '/clewent',
           query: { id: row.customerClueInfoId },