Q-ABAB 1 year ago
parent
commit
a46b5d32f5
4 changed files with 159 additions and 29 deletions
  1. 122 18
      src/App.vue
  2. 16 0
      src/config/config.js
  3. 1 0
      src/main.js
  4. 20 11
      src/permission.js

+ 122 - 18
src/App.vue

@@ -6,44 +6,140 @@
       <div class="homeExitContent">
         <!-- <el-button size="mini" @click="$store.commit('update',['userInfo',{userid:'2021400203',username:'yym',type:2}])">yym</el-button> -->
         <!-- <el-button size="mini" @click="$store.commit('update',['userInfo',{userid:'201901766',username:'qgt',type:0}])">qgt</el-button> -->
+        <div class="Notify" @click="$store.commit('update',['NotifyDig',true])">
+          <el-badge :is-dot="$store.state.Notify.length>0" class="item">
+            <span class="el-icon-s-opportunity"></span>
+          </el-badge>
+        </div>
         <div>你好,{{ $store.state.userInfo.username }}</div>
         <div class="homeExit" @click="homeExit">退出</div>
       </div>
     </el-header>
     <router-view></router-view>
+    <el-dialog
+        title="计划完成项目时间提醒"
+        :visible.sync="$store.state.NotifyDig"
+        width="50%"
+        class="pageSubmitData">
+        <!-- 表格开始 -->
+        <div style="width: 100%;">
+          <el-table
+            ref="multipleTable"
+            :data="$store.state.Notify"
+            tooltip-effect="dark"
+            width="100%"
+            stripe
+            class="fontSize"
+            :header-cell-style="{ background: '#f2f2f2', color: '#000' }"
+          >
+          <el-table-column
+            prop="ProjectNo"
+            label="项目编号"
+            align="center"
+            width="120"
+            >
+          </el-table-column>
+          <el-table-column
+            prop="title"
+            label="项目名称"
+            align="center"
+            >
+          </el-table-column>
+          <el-table-column
+            prop="name"
+            label="分类"
+            align="center"
+            width="200"
+            >
+          </el-table-column>
+          <el-table-column
+            prop="time"
+            label="计划完成时间"
+            align="center"
+            width="200"
+            >
+          </el-table-column>
+          <el-table-column
+            prop="Remaining"
+            label="距离完结时间"
+            align="center"
+            width="200"
+            >
+            <template #default="scope">
+              <div>
+                {{ scope.row.Remaining+'天' }}
+              </div>
+            </template>
+          </el-table-column>
+            <!-- selection-change批量选择功能后续可能用到 -->
+            <!-- 
+            <el-table-column
+              type="selection"
+              width="25"
+              >
+            
+            </el-table-column> -->
+            <!-- <el-table-column
+              prop="ProjectNo"
+              label="项目编号"
+              align="center"
+              min-width="9%"
+            >
+            </el-table-column>
+            <el-table-column
+              prop="title"
+              label="项目名称"
+              align="center"
+              min-width="10%"
+            >
+            </el-table-column>
+            <el-table-column
+              prop="pro_leader"
+              align="center"
+              label="项目负责人"
+              min-width="9%"
+            >
+            </el-table-column>
+          
+            <el-table-column
+              prop="name"
+              align="center"
+              label="所在部门"
+              min-width="10%"
+            >
+            </el-table-column>
+            <el-table-column
+              prop="sort"
+              align="center"
+              label="分类"
+              min-width="10%"
+            >
+            </el-table-column> -->
+          </el-table>
+        </div>
+        <!-- 表格结束 -->
+        <span slot="footer" class="dialog-footer">
+            <el-button @click="$store.commit('update',['NotifyDig',false])" class="AllDialogBtn" >关闭</el-button>
+        </span>
+    </el-dialog>
   </div>
 </template>
 
 <script>
 export default {
   data() {
-    return {};
+    return {
+    };
   },
   methods: {
     homeExit() {
       window.location.href = "http://10.16.30.130/sso/caslogout.jsp";
     },
-    // userLogin(){
-    //   this.ajax.post(this.$store.state.api+'/userLogin',{
-    //     id:getToken(),
-    //   }).then(res=>{
-    //     if(res['data']!="ERROR"){
-    //       this.$store.commit('update',['userInfo',res['data']])
-    //     }else{
-    //       console.error("错误")
-    //     }
-    //   }).catch(err=>{
-    //     console.log(err)
-    //   })
-    // },
     CleanStorage(){
       sessionStorage.clear()
-    }
+    },
   },
   mounted(){
-    // console.log(getToken())
-    // console.log(this.$store.state.userInfo.userid)
-    // if(getToken()!=this.$store.state.userInfo.userid)this.userLogin();
     window.addEventListener('beforeunload', this.CleanStorage());
   },
   beforeDestroy(){
@@ -97,6 +193,14 @@ body {
         width: 90px;
         // height: 30px;
       }
+      .Notify{
+        .item{
+          margin-right: 50px;
+          font-size: 1.1em;
+          cursor: pointer;
+        }
+      }
+
     }
   }
 }

+ 16 - 0
src/config/config.js

@@ -1,5 +1,7 @@
 import Vue from 'vue'
 import Vuex from 'vuex'
+import ajax from '@/api/userApi'
+// import router from '@/router'
 
 Vue.use(Vuex)
 
@@ -12,6 +14,8 @@ const store = new Vuex.Store({
             username: "",
             type:2,
         },
+        Notify:[],
+        NotifyDig:false,
         systemState:1,
         nCount: 0,
         report: "",
@@ -29,6 +33,18 @@ const store = new Vuex.Store({
         update(state, [key, value]) {
             state[key] = value;
         },
+        getPlanEndProjectData(state){
+            console.log("获取信息")
+            ajax.get(state.api+"/SelectProjectEndData",{
+                uid:state.userInfo.userid
+            }).then(res=>{
+                state.Notify = res['data'][0];
+                if(state.Notify.length>0)state.NotifyDig=true;
+                console.log(res['data'][0])
+            }).catch(err=>{
+                console.log(err)
+            })
+        }
     },
 })
 

+ 1 - 0
src/main.js

@@ -7,6 +7,7 @@ import './assets/sc/iconfont.css'
 import '@/permission' // permission control
 import ajax from './api/userApi' //封装axios
 Vue.prototype.ajax = ajax
+// Vue.prototype.$bus = {};
 
 Vue.config.productionTip = false
 

+ 20 - 11
src/permission.js

@@ -4,17 +4,17 @@ import ajax from '@/api/userApi'
 import { setToken,getToken } from '@/utils/auth' // get token from cookie
 // eslint-disable-next-line prettier/prettier
 
-let flag = false; //查看是否登录
+// let flag = false; //查看是否登录
 
 function userLogin(callback){
-  if(flag)return callback();
+  if(store.state.isLogin)return callback(true);
   ajax.post(store.state.api+'/userLogin',{
     id:getToken(),
   }).then(res=>{
     if(res['data']!="ERROR"){
         store.commit('update',['userInfo',res['data']]);
-        callback()
-        flag = true;
+        store.commit('update',['isLogin',true]);
+        callback(false)
     }else{
       console.error("错误")
     }
@@ -46,19 +46,25 @@ router.beforeEach(async(to, from, next) => {
         let data = response.data.replaceAll("\'", "\"")
         if (data && JSON.parse(data).uid) {
             setToken(JSON.parse(data).uid);
-            userLogin(()=>{
+            userLogin((isLogin)=>{
               getSystemState(to,()=>{
+                if(!isLogin&&to.name!='resultShowDetail'){
+                  store.commit('getPlanEndProjectData');
+                }
                 next()
               })
             });
 
         } else {
             // setToken('2021400203')//yym
-            setToken("201901766");//qgt
+            // setToken("201901766");//qgt
             // setToken("201901763");
-            // setToken('1270')
-            userLogin(()=>{
+            setToken('1270')
+            userLogin((isLogin)=>{
               getSystemState(to,()=>{
+                if(!isLogin&&to.name!='resultShowDetail'){
+                  store.commit('getPlanEndProjectData');
+                }
                 next()
               })
             });
@@ -66,11 +72,14 @@ router.beforeEach(async(to, from, next) => {
         }
     } catch {
         // setToken('2021400203')//yym
-        setToken("201901766");//qgt
+        // setToken("201901766");//qgt
         // setToken("201901763");
-        // setToken('1270')
-        userLogin(()=>{
+        setToken('1270')
+        userLogin((isLogin)=>{
           getSystemState(to,()=>{
+            if(!isLogin&&to.name!='resultShowDetail'){
+              store.commit('getPlanEndProjectData');
+            }
             next()
           })
         });