Explorar o código

修改bug修改

凉纪 hai 1 ano
pai
achega
8397f5665d

+ 19 - 1
src/components/layouts/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div ref="layouts" :class="{'app-container': !$route.meta.hideTabBar} ">
     <div class="layout-content">
-      <keep-alive>
+      <keep-alive :include="include">
         <router-view v-if="$route.meta.keepAlive"></router-view>
       </keep-alive>
       <router-view v-if="!$route.meta.keepAlive"></router-view>
@@ -19,6 +19,7 @@ export default {
   data() {
     return {
       container: null,
+      include: [],
       tabTars: [
         {
           title: '工作台',
@@ -57,6 +58,23 @@ export default {
   created() {
     this.getUserInfo();
   },
+  watch: {
+    $route(to, from) {
+      //如果 要 to(进入) 的页面是需要 keepAlive 缓存的,把 name push 进 include数组
+      if (to.meta.keepAlive) {
+        !this.include.includes(to.name) && this.include.push(to.name);
+      }
+     /**
+     * 如果要form(离开)的页面是keepAlive缓存的,
+     * 再根据deep来判断是前进还是后退
+     */
+     //后退
+      if (from.meta.keepAlive && to.meta.deep < from.meta.deep) {
+        let index = this.include.indexOf(from.name);
+        index !== -1 && this.include.splice(index, 1);
+      }
+    }
+  },
   methods: {
     getUserInfo(){
       userInfo().then(info=>{

+ 14 - 9
src/router/router.config.js

@@ -1,6 +1,11 @@
 /**
- * 基础路由
- * @type { *[] }
+ * 路由配置
+ * meta: {
+ *   title: { String|Number|Function } //页面名称
+ *   keepAlive: { Boolean }  //是否缓存页面
+ *   hideTabBar: { Boolean }  //是否隐藏底部导航
+ *   deep: { Number }  //页面深度
+ * }
  */
 export let routers = [
   {
@@ -122,25 +127,25 @@ export let routers = [
         path: '/works',
         name: 'works',
         component: () => import('@/views/home/works'),
-        meta: { title: '工作台', keepAlive: false }
+        meta: { title: '工作台', keepAlive: false,deep:0.5 }
       },
       {
         path: '/menu',
         name: 'menu',
         component: () => import('@/views/home/menu'),
-        meta: { title: '菜单', keepAlive: false },
+        meta: { title: '菜单', keepAlive: false ,deep:0.5 }
       },
       {
         path: '/isMy',
         name: 'isMy',
         component: () => import('@/views/home/isMy'),
-        meta: { title: '我的', keepAlive: true }
+        meta: { title: '我的', keepAlive: true ,deep:0.5 }
       },
       {
         path: '/message',
         name: 'message',
         component: () => import('@/views/menu/message/index'),
-        meta: { title: '消息中心', keepAlive: false }
+        meta: { title: '消息中心', keepAlive: false ,deep:0.5 }
       },
       {
         path: '/workTime',
@@ -302,19 +307,19 @@ export let routers = [
         path: '/visitRecord',
         name: 'visitRecord',
         component: () => import('@/views/menu/visitRecord/index.vue'),
-        meta: { title: '来访核验登记', keepAlive: true ,hideTabBar:false}
+        meta: { title: '来访核验登记', keepAlive: true ,hideTabBar:false,deep: 1}
       },
       {
         path: '/visitRecordDetail',
         name: 'visitRecordDetail',
         component: () => import('@/views/menu/visitRecord/detail.vue'),
-        meta: { title: '登记详情', keepAlive: false ,hideTabBar:true}
+        meta: { title: '登记详情', keepAlive: false ,hideTabBar:true,deep: 2}
       },
       {
         path: '/visitUserRecord',
         name: 'visitUserRecord',
         component: () => import('@/views/menu/visitRecord/add.vue'),
-        meta: { title: '人员登记', keepAlive: false ,hideTabBar:true}
+        meta: { title: '人员登记', keepAlive: false ,hideTabBar:true,deep: 2}
       },
 
     ],

+ 7 - 12
src/views/menu/problemItem/detail.vue

@@ -6,16 +6,6 @@
       <div class="card" v-if="taskInfo">
         <van-panel :title="taskInfo.srcTaskName">
           <div class="panel-box">
-<!--            <div class="panel-box-item">-->
-<!--              <van-row>-->
-<!--                <van-col span="8">-->
-<!--                  <span class="item-label">隐患所在机构:</span>-->
-<!--                </van-col>-->
-<!--                <van-col span="14">-->
-<!--                  <span class="item-value">{{taskInfo.orgName}}</span>-->
-<!--                </van-col>-->
-<!--              </van-row>-->
-<!--            </div>-->
             <van-cell title="隐患所在机构" :label="taskInfo.orgName" />
             <van-cell title="检查项" :label="taskInfo.checkItem" />
             <van-cell title="检查内容" :label="taskInfo.checkContent" />
@@ -148,7 +138,7 @@
       <div class="card" v-if="type === 'reform'">
         <van-panel title="整改">
           <div class="panel-box">
-            <date-cell required  title="整改日期" v-model="reformData.reformDate" dateType="date" />
+            <date-cell required :max-date="maxDate" title="整改日期" v-model="reformData.reformDate" dateType="date" />
             <van-field
               required
               v-model="reformData.description"
@@ -186,6 +176,7 @@ export default {
   components:{NavBar,SelectCell,DateCell,Uploader},
   data(){
     return {
+      maxDate:new Date(),
       //基本信息
       taskInfo:[],
       formData:{},
@@ -257,7 +248,11 @@ export default {
       data.id = this.taskInfo.id;
       queryMethod(data).then((r) => {
         this.$toast("提交成功");
-        this.$router.go(-1);
+        this.$router.replace({
+          name:'problemItem',
+          path:'/problemItem',
+          params:{event:'refresh'}
+        });
       });
     },
 

+ 7 - 0
src/views/menu/problemItem/index.vue

@@ -127,6 +127,13 @@ export default {
       dicts:['question_confirm_status','question_reform_status']
     }
   },
+  beforeRouteEnter(to,from,next){
+    next(vm=>{
+      if(to.params.event === 'refresh'){
+        vm.refreshData();
+      }
+    })
+  },
   mounted() {
     this.initData();
   },

+ 9 - 5
src/views/menu/securityCheckRegister/add.vue

@@ -422,10 +422,12 @@ export default {
       //if (arr.length) return this.$toast(`${arr[0].itemName}:该信息不完整请填写`)
       this.taskInfo.isSubmit = 0;
       registerSubmit(this.taskInfo).then(res => {
-        this.$toast('保存成功')
+        this.$toast('保存成功');
         this.$router.replace({
-          path: '/securityCheckRegister'
-        })
+          name:'securityCheckRegister',
+          path:'/securityCheckRegister',
+          params:{event:'refresh'}
+        });
       })
     },
 
@@ -450,8 +452,10 @@ export default {
       registerSubmit(this.taskInfo).then(res => {
         this.$toast('提交成功')
         this.$router.replace({
-          path: '/securityCheckRegister'
-        })
+          name:'securityCheckRegister',
+          path:'/securityCheckRegister',
+          params:{event:'refresh'}
+        });
       })
     },
 

+ 7 - 0
src/views/menu/securityCheckRegister/index.vue

@@ -117,6 +117,13 @@ export default {
       }
     }
   },
+  beforeRouteEnter(to,from,next){
+    next(vm=>{
+      if(to.params.event === 'refresh'){
+        vm.refreshData();
+      }
+    })
+  },
   mounted() {
     this.initData();
     this.query.checkOrgId = this.orgId;

+ 1 - 1
src/views/menu/visitCheck/detail.vue

@@ -20,7 +20,7 @@
             <van-cell title="介绍信编号" v-if="visitInfo.letterNo"  :value="visitInfo.letterNo"></van-cell>
             <van-cell title="开具日期" v-if="visitInfo.startTimeStr"  :value="visitInfo.startTimeStr"></van-cell>
             <van-cell title="有效天数" v-if="visitInfo.effectiveDays"  :value="`${visitInfo.effectiveDays}天`"></van-cell>
-            <van-cell title="介绍信"  v-if="visitInfo.letterFile && visitInfo.letterFile.length > 0">
+            <van-cell title="介绍信附件"  v-if="visitInfo.letterFile && visitInfo.letterFile.length > 0">
               <template #right-icon>
                 <div class="file-box">
                   <p class="van-ellipsis" v-for="(v, i) in visitInfo.letterFile"

+ 1 - 1
src/views/menu/visitRecord/add.vue

@@ -46,7 +46,7 @@
               </van-cell>
             </div>
 
-            <van-cell title="介绍信"  v-if="selectedUser.letterFile && selectedUser.letterFile.length > 0">
+            <van-cell title="介绍信附件"  v-if="selectedUser.letterFile && selectedUser.letterFile.length > 0">
               <template #right-icon>
                 <div class="file-box">
                   <p class="van-ellipsis" v-for="(v, i) in selectedUser.letterFile"

+ 1 - 1
src/views/menu/visitRecord/detail.vue

@@ -28,7 +28,7 @@
               </van-cell>
             </div>
 
-            <van-cell title="介绍信"  v-if="selectedUser.letterFile && selectedUser.letterFile.length > 0">
+            <van-cell title="介绍信附件"  v-if="selectedUser.letterFile && selectedUser.letterFile.length > 0">
               <template #right-icon>
                 <div class="file-box">
                   <p class="van-ellipsis" v-for="(v, i) in selectedUser.letterFile"

+ 1 - 1
src/views/menu/visitRegister/detail.vue

@@ -19,7 +19,7 @@
             <van-cell title="介绍信编号" v-if="visitInfo.letterNo"  :value="visitInfo.letterNo"></van-cell>
             <van-cell title="开具日期" v-if="visitInfo.startTimeStr"  :value="visitInfo.startTimeStr"></van-cell>
             <van-cell title="有效天数" v-if="visitInfo.effectiveDays"  :value="`${visitInfo.effectiveDays}天`"></van-cell>
-            <van-cell title="介绍信"  v-if="visitInfo.letterFile && visitInfo.letterFile.length > 0">
+            <van-cell title="介绍信附件"  v-if="visitInfo.letterFile && visitInfo.letterFile.length > 0">
               <template #right-icon>
                 <div class="file-box">
                   <p class="van-ellipsis" v-for="(v, i) in visitInfo.letterFile"