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

Merge branch 'master' of http://132.232.92.186:3000/XinXiBu/oa-system

yuanrf 1 год назад
Родитель
Сommit
768a72a117

+ 3 - 0
src/App.vue

@@ -35,6 +35,9 @@ export default {
     //websocket
     // this.localSocket()
   },
+  mounted(){
+    console.log(this.$route.meta.keepAlive==undefined);
+  }
 }
 </script>
 

+ 6 - 0
src/components/Finance/DailyFeePayment.vue

@@ -159,6 +159,12 @@
 
 <script>
 export default {
+    beforeRouteLeave(to, from, next) {
+        if(to.name!='DailyFeeedit'){
+            from.meta.keepAlive = false;
+        }
+        next()
+    },
     data() {
         return {
             banned:true,

+ 6 - 0
src/components/Finance/DailyFeeedit.vue

@@ -79,6 +79,12 @@
 </template>
 <script>
 export default {
+    // beforeRouteLeave(to, from, next) {
+    //     if(to.name=='DailyFeePayment'){
+    //         to.meta.keepAlive = true;
+    //     }
+    //     next()
+    // },
     data(){
         return{
             editid:'',

+ 11 - 1
src/components/Finance/ExpenseReview.vue

@@ -121,6 +121,12 @@
 </template>
 <script>
 export default {
+    beforeRouteLeave(to, from, next) {
+        if(to.name!='FeesPage'){
+            from.meta.keepAlive = false;
+        }
+        next()
+    },
     data() {
         return {
             pageId:0,
@@ -141,7 +147,7 @@ export default {
             groupData: [],
             groupDatass:[],
             currentPage: 1, // 当前页码
-            pageSize: 10 ,// 每页的数据条数
+            pageSize: 12 ,// 每页的数据条数
             count:0,//总数
             input:'',
             token:'',
@@ -223,6 +229,7 @@ export default {
         padding: 10px;
         box-shadow: 0 0 5px #0005;
         border-radius: 10px;
+        min-height: 830px;
     }
     .group-title{
         display: flex;
@@ -247,4 +254,7 @@ export default {
     .group-box>.el-input{
         margin-left: 10px;
     }
+    .group-list .block{
+        margin-top: 15px;
+    }
 </style>

+ 5 - 3
src/components/Finance/PaymentFiled.vue

@@ -13,10 +13,9 @@
                 :picker-options="pickerOptions">
                 </el-date-picker>
                 <div class="haed-btn">
-                    <el-button type="primary">全选</el-button>
                     <el-button type="primary">查看勾选</el-button>
-                    <el-button type="primary">生成(成都)</el-button>
-                    <el-button type="primary">生成(四川)</el-button>
+                    <!-- <el-button type="primary">生成(成都)</el-button>
+                    <el-button type="primary">生成(四川)</el-button> -->
                     <el-button type="primary">清空上一次勾选</el-button>
                     <el-button type="primary">付款</el-button>
                 </div>
@@ -245,4 +244,7 @@ export default {
         border-bottom:1px solid #ccc ;
         padding: 10px 0;
     }
+    .paymentfiled-haed .el-date-editor--monthrange.el-input__inner{
+        width: 300px;
+    }
 </style>

+ 3 - 2
src/components/OP/AirTicketRes.vue

@@ -135,7 +135,6 @@ export default {
                     that.AirTicketResSelectData = res.data.data.groupName;
                  
                     if (that.AirTicketResSelectData.length != 0) {
-                        debugger;
                         var diid = that.$route.query.DiId;
                         if (diid) {
                             that.DiId = parseInt(diid);
@@ -356,7 +355,9 @@ export default {
     justify-content: space-between;
     align-items: center;
 }
-
+.communal-list .block{
+    margin-top: 20px;
+}
 .communal-box {
     display: flex;
 }

+ 14 - 0
src/components/OP/Groupedit.vue

@@ -160,6 +160,14 @@
 import { el } from '@fullcalendar/core/internal-common';
 import { all } from 'q';
 export default {
+    beforeRouteLeave(to, from, next) {
+        console.log(to);
+        console.log(from);
+        if(to.name=='OPgroup'){
+            to.meta.keepAlive = true;
+        }
+        next()
+    },
     data() {
         return {
             editid: '',
@@ -272,6 +280,7 @@ export default {
         },
         //返回
         clickback() {
+            // this.$router.back(-1)
             this.$router.go(-1);
         },
         //获取下拉列表
@@ -478,6 +487,11 @@ export default {
             })
         }
     },
+    beforeRouteEnter(to, from, next) {
+        console.log(to)
+        console.log(from)
+        next();
+    },
     mounted() {
         this.editid = this.$route.query.id;
         this.token = JSON.parse(localStorage.getItem('userinif')).token;

+ 20 - 3
src/components/OP/OPgroup.vue

@@ -96,11 +96,11 @@
                     </el-table-column>
                     <el-table-column label="操作">
                         <template slot-scope="scope">
-                          <el-button
+                            <el-button
                             size="mini"
                             title="编辑"
                             @click="handleEdit(scope.$index, scope.row)"><i class="el-icon-edit"></i></el-button>
-                          <el-button
+                            <el-button
                             size="mini"
                             title="删除"
                             type="danger"
@@ -112,7 +112,7 @@
                             title="已出团"
                             ><i class="el-icon-check"></i></el-button>
                         </template>
-                      </el-table-column>
+                        </el-table-column>
                 </el-table>
             </template>
             <div class="block">
@@ -131,6 +131,14 @@
 </template>
 <script>
 export default {
+    beforeRouteLeave(to, from, next) {
+        console.log(to);
+        console.log(from);
+        if(to.name!='Groupedit'){
+            from.meta.keepAlive = false;
+        }
+        next()
+    },
     data() {
         return {
             options: [
@@ -159,6 +167,15 @@ export default {
             pageId:''
         }
     },
+    
+    activated() {
+        if(!this.$route.meta.isBack){
+            // 如果isBack是false,表明需要获取新数据,否则就不再请求,直接使用缓存的数据
+            console.log("表明需要获取新数据")
+        }
+        // 恢复成默认的false,避免isBack一直是true,导致下次无法获取数据
+        this.$route.meta.isBack=false
+    },
     methods:{
         //分页api
         PostGroupPageList(){

+ 12 - 13
src/components/OP/OpAirTicketRes.vue

@@ -1,5 +1,5 @@
 <template>
-    <div class="car_add">
+    <div class="car_add" v-loading.fullscreen.lock="fullscreenLoading">
         <div>
             <div class="communal-title">
                 <div>{{ title }}</div>
@@ -47,9 +47,6 @@
                             </el-input>
                         </el-form-item>
                     </div>
-
-                </div>
-                <div style="display: flex;">
                     <div style="width: 25%;">
                         <el-form-item label="出访国家:" prop="visitCountry" label-width="160px">
                             <el-input placeholder="出访国家" v-model="delegationInfo.visitCountry" :disabled="true">
@@ -98,23 +95,20 @@
                             </el-select>
                         </el-form-item>
                     </div>
-
-
-                </div>
-                <div style="display: flex;">
                     <div style="width: 25%;">
                         <el-form-item label="机票编号:" label-width="160px" prop="ticketNumber">
                             <el-input placeholder="机票编号" v-model="airTicketResOpData.ticketNumber">
                             </el-input>
                         </el-form-item>
                     </div>
+                </div>
+                <div style="display: flex;">
                     <div style="width: 25%;">
                         <el-form-item label="机票票号:" label-width="160px" prop="ticketCode">
                             <el-input placeholder="机票票号" v-model="airTicketResOpData.ticketCode">
                             </el-input>
                         </el-form-item>
                     </div>
-
                 </div>
                 <div style="display: flex;">
                     <div style="width: 100%;">
@@ -389,7 +383,7 @@
                     </div>
                 </div>
                 <el-form-item>
-                    <div style="margin-left: 60%;">
+                    <div>
                         <el-button type="primary" @click="addBtn">保存</el-button>
                         <el-button @click="back()">取消</el-button>
                     </div>
@@ -403,6 +397,7 @@
 export default {
     data() {
         return {
+            fullscreenLoading:false,
             airTicketResRules: {
                 cType: [
                     { required: true, message: '请选择舱位类型', trigger: ['blur', 'change'] }
@@ -561,6 +556,7 @@ export default {
         },
         //团组基础信息以及成本信息
         AirTicketResList() {
+            this.fullscreenLoading=true;
             var url = "/api/Groups/AirTicketResList"
             var that = this
             this.$axios({
@@ -577,8 +573,9 @@ export default {
             }).then(function (res) {
                 if (res.data.code == 200) {
 
-                    that.delegationInfo = res.data.data.delegationInfo
-                    that.airGroupCostParameter = res.data.data.airGroupCostParameter
+                    that.delegationInfo = res.data.data.delegationInfo;
+                    that.airGroupCostParameter = res.data.data.airGroupCostParameter;
+                    that.fullscreenLoading=false;
                 }
             })
 
@@ -1128,7 +1125,9 @@ export default {
     margin-left: 10px;
     padding: 8px 20px;
 }
-
+.car_add .el-date-editor.el-input{
+    width: 100%;
+}
 .car_add {
     background-color: #fff;
     padding: 20px;

+ 1 - 1
src/components/Resource/OpTicketBlackCode.vue

@@ -103,7 +103,7 @@
                     <div style="width: 40%;text-align:right;margin-top: 2%;">
                         <div>
                             <el-button type="primary" @click="addBtn">保存</el-button>
-                            <router-link :to="{ path: '/home/TicketBlackCode', query: { DiId } }">
+                            <router-link :to="{ path: '/home/TicketBlackCode'}">
                                 <el-button>取消</el-button>
                             </router-link>
                         </div>

+ 9 - 3
src/components/Resource/TicketBlackCode.vue

@@ -68,6 +68,12 @@
 </template>
 <script>
 export default {
+    beforeRouteLeave(to, from, next) {
+        if(to.name!='OpTicketBlackCode'){
+            from.meta.keepAlive = false;
+        }
+        next()
+    },
     data() {
         return {
             loading: false,
@@ -109,7 +115,6 @@ export default {
                 }
             }).then(function (res) {
                 if (res.data.code == 200) {
-                    debugger
                     that.DelegationSelect = res.data.data;
                     that.DiId = that.DelegationSelect[0].id
                     that.QueryTicketBlackCodeByDiId();
@@ -139,7 +144,7 @@ export default {
                 console.log(res)
 
                 if (res.data.code == 200) {
-                    debugger
+                    
                     that.tableData = res.data.data.ticketBlackCodes;
                     that.DelegationInfo = res.data.data.delegationInfo
                     that.tableDatas = that.tableData;
@@ -166,7 +171,7 @@ export default {
             })
         },
         addIf() {
-            debugger
+            
             if (this.DiId != 0 && this.DiId != '' && this.DiId != undefined) {
                 this.$router.push({
                     path: "/home/OpTicketBlackCode",
@@ -240,6 +245,7 @@ export default {
     padding: 10px;
     box-shadow: 0 0 5px #0005;
     border-radius: 10px;
+    min-height: 830px;
 }
 
 .communal-title {

+ 13 - 8
src/components/child/test.vue

@@ -20,6 +20,7 @@
     components: {},
     data() {
       return {
+        token:"",
         user: "", //用户
         message: "", //消息
         connection: "", //signalr连接
@@ -47,22 +48,26 @@
    
     },
     created: function() {
+      this.token = JSON.parse(localStorage.getItem('userinif')).token;
       let thisVue = this;
+      console.log(thisVue.token)
       this.connection = new signalR.HubConnectionBuilder()
-        .withUrl("http://132.232.92.186:8888/api/chatHub", {
+        // .withAutomaticReconnect()//断线自动重连
+        .withUrl("http://132.232.92.186:8888/chatHub", {
           skipNegotiation: true,
-          transport: signalR.HttpTransportType.WebSockets
+          transport: signalR.HttpTransportType.WebSockets,
+          accessTokenFactory: () => thisVue.token 
         })
         .configureLogging(signalR.LogLevel.Information)
         .build();
-      this.connection.on("ReceiveMessage", function(user, message,inif) {
-        thisVue.messages.push({ user, message,inif });
-        console.log({ user, message,inif });
+      this.connection.on("SendAll", function(data) {
+        //thisVue.messages.push({ userid, message });
+        console.log(data);
       });
-      this.connection.on("ReceiveCaller", function(message) {
+      this.connection.on("SendCustomUserMessage", function(userid,message) {
         let user = "自己";//这里为了push不报错,我就弄了一个默认值。
-        thisVue.messages.push({ user, message });
-        console.log({ user, message });
+        thisVue.messages.push({ userid, message });
+        console.log({ userid, message });
       });
       this.connection.start();
     }

+ 11 - 4
src/components/home.vue

@@ -263,7 +263,10 @@
           </div>
         </el-header>
         <el-main>
-          <router-view></router-view>
+          <keep-alive>
+            <router-view v-if="$route.meta.keepAlive"/>
+          </keep-alive>
+          <router-view v-if="!$route.meta.keepAlive" /> 
         </el-main>
       </el-container>
     </el-container>
@@ -289,12 +292,16 @@ export default {
       indexs: "1",
       pdinstrument: true,
       userinif: '',
-      dialogVisible: false,
+      dialogVisible: false ,
       newstasklist:[],
       newsgrouplist:[],
       activeName: 'first',
-      tasknot:0,//任务未读
-      groupnot:0,//团组未读
+      tasknot:0,//任务未读条数
+      groupnot:0,//团组未读条数
+      tasknotlist:[],//任务未读
+      taskReadlist:[],//任务以读
+      groupnotlist:[],//团组未读
+      groupReadlist:[],//团组以读
     };
   },
   // components: {

+ 8 - 0
src/components/system/AssignTasks.vue

@@ -116,6 +116,14 @@
 </template>
 <script>
 export default {
+    beforeRouteLeave(to, from, next) {
+        console.log(to);
+        console.log(from);
+        if(to.name=='TaskList'){
+            to.meta.keepAlive = true;
+        }
+        next()
+    },
     data () {
         return {
             id:0,

+ 8 - 0
src/components/system/MyTasksinif.vue

@@ -70,6 +70,14 @@
 </template>
 <script>
 export default {
+    beforeRouteLeave(to, from, next) {
+        console.log(to);
+        console.log(from);
+        if(to.name=='TaskList'){
+            to.meta.keepAlive = true;
+        }
+        next()
+    },
     data () {
         return {
             id:'',

+ 20 - 1
src/components/system/TaskList.vue

@@ -345,8 +345,26 @@
     </div>
 </template>
 <script>
-import { co } from '@fullcalendar/core/internal-common'
 export default {
+    beforeRouteLeave(to, from, next) {
+        if(to.name!='MyTasksinif'||to.name!='AssignTasks'){
+            from.meta.keepAlive = false;
+        }
+        next()
+    },
+    beforeRouteEnter(to, from, next) {
+        // console.log(to)
+        // console.log(from)
+        // if(from.name=='MyTasksinif'){
+        //     to.meta.keepAlive=true;
+        //     //判断是从哪个路由过来的,
+        // }else{
+        //     to.meta.keepAlive=false;
+        // }
+        console.log(to)
+        console.log(from)
+        next();
+    },
     data () {
         return {
             token:'',
@@ -857,6 +875,7 @@ export default {
             }
         }
     },
+    
     mounted(){
         this.token=JSON.parse(localStorage.getItem('userinif')).token;
         this.pageId=Number(localStorage.getItem('indexs').split('-')[1]);//页面id

+ 30 - 6
src/router/index.js

@@ -183,11 +183,19 @@ export default new Router({
         {
           path: '/home/Groupedit',
           name: 'Groupedit',
-          component: Groupedit
+          component: Groupedit,
+          meta: {
+            keepAlive: false, //此组件需要被缓存
+            isBack:false, //用于判断上一个页面是哪个
+          }
         }, {
           path: '/home/OPgroup',
           name: 'OPgroup',
-          component: OPgroup
+          component: OPgroup,
+          meta: {
+            keepAlive: true, //此组件需要被缓存
+            isBack:false, //用于判断上一个页面是哪个
+          }
         }, {
           path: '/home/Tourguide',
           name: 'Tourguide',
@@ -321,7 +329,11 @@ export default new Router({
         {
           path: '/home/DailyFeePayment',
           name: 'DailyFeePayment',
-          component: DailyFeePayment
+          component: DailyFeePayment,
+          meta: {
+            keepAlive: true, //此组件需要被缓存
+            isBack:false, //用于判断上一个页面是哪个
+          }
         },
         {
           path: '/home/DailyFeeedit',
@@ -336,7 +348,11 @@ export default new Router({
         {
           path: '/home/ExpenseReview',
           name: 'ExpenseReview',
-          component: ExpenseReview
+          component: ExpenseReview,
+          meta: {
+            keepAlive: true, //此组件需要被缓存
+            isBack:false, //用于判断上一个页面是哪个
+          }
         },
         {
           path: '/home/FeesPage',
@@ -446,7 +462,11 @@ export default new Router({
         {
           path: '/home/TicketBlackCode',
           name: 'TicketBlackCode',
-          component: TicketBlackCode
+          component: TicketBlackCode,
+          meta: {
+            keepAlive: true, //此组件需要被缓存
+            isBack:false, //用于判断上一个页面是哪个
+          }
         },
         {
           path: '/home/OpTicketBlackCode',
@@ -561,7 +581,11 @@ export default new Router({
         {
           path: '/home/TaskList',
           name: 'TaskList',
-          component: TaskList
+          component: TaskList,
+          meta: {
+            keepAlive: true, //此组件需要被缓存
+            isBack:false, //用于判断上一个页面是哪个
+          }
         },
         {
           path: '/home/AssignTasks',