xjc 4 yıl önce
ebeveyn
işleme
2a911b3f27

+ 2 - 2
src/components/hotel.vue

@@ -141,10 +141,10 @@
                                     <el-input  v-model="item.name" clearable></el-input>
                                 </el-form-item>
                                 <el-form-item label="可住人数" required>
-                                    <el-input  v-model="item.enable_number" clearable></el-input>
+                                    <el-input-number  v-model="item.enable_number" clearable></el-input-number>
                                 </el-form-item>
                                 <el-form-item label="房型数量">
-                                    <el-input  v-model="item.room_number" clearable></el-input>
+                                    <el-input-number  v-model="item.room_number" clearable></el-input-number>
                                 </el-form-item>
                                 <el-form-item label="面积">
                                     <el-input   v-model="item.room_area" clearable></el-input>

+ 20 - 0
src/main.js

@@ -28,6 +28,26 @@ Vue.prototype.$api = api;
 Vue.prototype.$date = date;
 Vue.config.productionTip = false
 
+Vue.prototype.resetSetItem = function (key, newVal) {
+  if (key === 'watchStorage') {
+
+      // 创建一个StorageEvent事件
+      var newStorageEvent = document.createEvent('StorageEvent');
+      const storage = {
+          setItem: function (k, val) {
+              localStorage.setItem(k, val);
+
+              // 初始化创建的事件
+              newStorageEvent.initStorageEvent('setItem', false, false, k, null, val, null, null);
+
+              // 派发对象
+              window.dispatchEvent(newStorageEvent)
+          }
+      }
+      return storage.setItem(key, newVal);
+  }
+}
+
 new Vue({
   router,
   store,

+ 12 - 4
src/views/Home.vue

@@ -69,7 +69,7 @@
 				</router-link>
 				<div class="setting">
 					<div style="display:inline-block;" @click="drawer=true">
-						<el-badge :value="info.notices.length" v-if="info.notices.length">
+						<el-badge :value="notices.length">
 							<i class="el-icon-message-solid" style="font-size:22px;"></i>
 						</el-badge>
 					</div>
@@ -172,7 +172,8 @@ export default {
 			menu:[],
 			now:(new Date()).toLocaleDateString()+" "+(new Date()).toLocaleTimeString(),
 			isShow:true,
-			drawer:false
+			drawer:false,
+			notices:[]
 		};
 	},
 	methods: {
@@ -197,10 +198,12 @@ export default {
 			}	
 		},
 		getData(){
+			let _this = this
 			this.$api.getAccountInfo().then(res=>{
 				if(!res.code){
-					this.info = res.data.data;
-					this.initNav()
+					_this.info = res.data.data;
+					_this.resetSetItem('watchStorage', JSON.stringify(res.data.data.notices));
+					_this.initNav()
 				}
 			})
 		},
@@ -253,6 +256,11 @@ export default {
 	
 	created(){
 		this.getData()
+	},
+	mounted(){
+		window.addEventListener('setItem', ()=> {
+        this.notices = JSON.parse(localStorage.getItem('watchStorage'))
+		})
 	}
 };
 </script>

+ 3 - 3
src/views/Index.vue

@@ -61,7 +61,7 @@
     <div class="index-main">
       <div class="main-item">
         <div class="item-title">期刊统计</div>
-        <div class="item-more">查看更多>></div>
+        <div class="item-more" style="cursor:pointer;" @click='$router.push({"path":"/journal/journal"})'>查看更多>></div>
       </div>
       <div class="main-content">
         <div class="c1">
@@ -81,7 +81,7 @@
     <div class="index-main">
       <div class="main-item">
         <div class="item-title">文章统计</div>
-        <div class="item-more">查看更多>></div>
+        <div class="item-more" style="cursor:pointer;" @click='$router.push({"path":"/article/article"})'>查看更多>></div>
       </div>
       <div class="main-content">
         <div class="c1">
@@ -117,7 +117,7 @@
     <div class="index-main">
       <div class="main-item">
         <div class="item-title">会议统计</div>
-        <div class="item-more">查看更多>></div>
+        <div class="item-more" style="cursor:pointer;" @click='$router.push({"path":"/conference/conference"})'>查看更多>></div>
       </div>
       <div class="main-content">
         <div class="c1">

+ 1 - 0
src/views/message/InnerSurvey.vue

@@ -368,6 +368,7 @@ a {
             :options="options"
             :props="props"
             @change="handleChange"
+            filterable
             clearable
           >
             <template slot-scope="{ node, data }">

+ 6 - 0
src/views/message/NoticeDetail.vue

@@ -43,6 +43,12 @@ export default {
       let id = this.$route.query.id;
       this.$api.getNoticeInfo({id:id}).then(res=>{
         _this.form = res.data.data;
+        // 更新提示
+        _this.$api.getAccountInfo().then(res=>{
+          if(!res.code){
+            _this.resetSetItem('watchStorage', JSON.stringify(res.data.data.notices));
+          }
+        })
       })
     }
   },