liuhj 11 months ago
parent
commit
8ae73805b6
1 changed files with 190 additions and 38 deletions
  1. 190 38
      src/components/expenseMobile.vue

+ 190 - 38
src/components/expenseMobile.vue

@@ -4,7 +4,7 @@
             <div class="dialog-title">详情</div>
             <div class="dialog-info">
                 <div class="dialog-info-ms">费用描述:{{dailydata.instructions}}</div>
-                <div class="dialog-info-zj">费用总计:{{dailydata.sumPrice}}</div>
+                <div class="dialog-info-zj">费用总计:{{townum(dailydata.sumPrice)}}</div>
                 <div class="dialog-info-sh">
                     <div>财务审核:{{dailydata.fAuditDesc}}</div>
                     <div>总经理审核:{{dailydata.mAuditDesc}}</div>
@@ -24,38 +24,67 @@
                 </div>
             </div>
         </el-dialog>
-        <div class="expenseMobile-top">
-            <div class="expenseMobile-title">日常付款申请</div>
-            <div class="expenseMobile-search">
-                <el-input clearable placeholder="请输入费用描述" v-model="input" class="input-with-select">
-                    <el-button @click="searchbtn" slot="append" icon="el-icon-search"></el-button>
-                </el-input>
+        <div v-if="platejudgment==1">
+            <div class="expenseMobile-top">
+                <div class="expenseMobile-title">日常付款申请</div>
+                <div class="expenseMobile-search">
+                    <el-input clearable placeholder="请输入费用描述" v-model="input" class="input-with-select">
+                        <el-button @click="searchbtn" slot="append" icon="el-icon-search"></el-button>
+                    </el-input>
+                </div>
+            </div>
+            <div id="scroll-div" ref="element" class="daily-box">
+                <div class="daily-card" v-for="(item,index) in tableData" :key="index">
+                    <div class="card-description">费用描述:{{item.instructions}}</div>
+                    <div class="card-date">申请时间:{{item.createTime}}</div>
+                    <div class="card-expense">
+                        <span>费用总计:{{townum(item.sumPrice)}}</span>
+                        <span>申请人:{{item.createUser}}</span>
+                    </div>
+                    <div class="card-btn">
+                        <el-button @click="infobtn(item)" size="mini">详情</el-button>
+                        <el-button size="mini" @click="PostDelDailyPaymentAudit(item.id,1)" type="primary">通过</el-button>
+                        <el-button size="mini" @click="PostDelDailyPaymentAudit(item.id,2)" type="danger">拒绝</el-button>
+                    </div>
+                </div>
+                <div v-if="zwgd" class="expenseMobile-zwgd">暂无更多</div>
+                <div v-if="!zwgd" class="expenseMobile-zwgd">加载中!</div>
             </div>
         </div>
-        <div id="scroll-div" ref="element" class="daily-box">
-            <div class="daily-card" v-for="(item,index) in tableData" :key="index">
-                <div class="card-description">费用描述:{{item.instructions}}</div>
-                <div class="card-date">申请时间:{{item.createTime}}</div>
-                <div class="card-expense">
-                    <span>费用总计:{{townum(item.sumPrice)}}</span>
-                    <span>申请人:{{item.createUser}}</span>
+        <div v-else>
+            <div class="expenseMobile-top">
+                <div class="expenseMobile-title">费用审核</div>
+                <div class="expenseMobile-search">
+                    <el-input clearable placeholder="请输入团组名称" v-model="value" class="input-with-select">
+                        <el-button @click="searchexamine" slot="append" icon="el-icon-search"></el-button>
+                    </el-input>
                 </div>
-                <div class="card-btn">
-                    <el-button @click="infobtn(item)" size="mini">详情</el-button>
-                    <el-button size="mini" @click="PostDelDailyPaymentAudit(item.id,1)" type="primary">通过</el-button>
-                    <el-button size="mini" @click="PostDelDailyPaymentAudit(item.id,2)" type="danger">拒绝</el-button>
+            </div>
+            <div id="examine-div" class="examine-box">
+                <div v-for="(info,index) in groupData" :key="index" class="examine-card">
+                    <div class="examine-card-name">团组名称:{{info.teamName}}</div>
+                    <div class="examine-card-date">出访时间:{{cltade(info.visitDate)}}</div>
+                    <div class="examine-card-client">客户名称:{{info.clientName}}</div>
+                    <div class="examine-card-operator">
+                        <div>天数/人数:{{info.visitDays}}/{{info.visitPNumber}}</div>
+                        <div>接团操作人:{{info.jietuanOperator}}</div>
+                    </div>
+                    <div class="examine-card-btn">
+                        <el-button size="mini" type="primary">查看费用</el-button>
+                    </div>
                 </div>
             </div>
-            <div v-if="zwgd" class="expenseMobile-zwgd">暂无更多</div>
         </div>
         <div class="expenseMobile-tabtn">
             <div class="tabtn-box">
-                <div>
-                    <div><i style="font-size:20px;" class="el-icon-goods"></i></div>
+                <div @click="rcbtn">
+                    <div  v-if="platejudgment==1"><i style="font-size:22px;" class="el-icon-s-goods"></i></div>
+                    <div v-else><i style="font-size:20px;" class="el-icon-goods"></i></div>
                     <div style="font-size:14px;">日常</div>
                 </div>
-                <div>
-                    <div><i style="font-size:22px;" class="el-icon-s-goods"></i></div>
+                <div @click="tzbtn">
+                    <div v-if="platejudgment==2"><i style="font-size:22px;" class="el-icon-s-goods"></i></div>
+                    <div v-else><i style="font-size:20px;" class="el-icon-goods"></i></div>
                     <div style="font-size:14px;">团组</div>
                 </div>
             </div>
@@ -71,24 +100,34 @@ export default {
             expenseMobileVisible:false,
             dailydata:{},
             pageIndex:1,
+            pageIndexExamine:1,
             loadflag:false,
-            zwgd:false
+            zwgd:false,
+            platejudgment:2,
+            value:'',
+            groupData:[],
         }
     },
     methods:{
         //保留两位小数
         townum(val){
-            if(val.toFixed(2)){
-                return val.toFixed(2)
-            }else{
-                return val
-            }
+            val=Number(val);
+            return val.toFixed(2);
+        },
+        //保留两位小数
+        cltade(val){
+            return val.split(" ")[0];
         },
         //翻页
         PageTurning(){
             this.pageIndex++;
             this.postPageDailyPaymentList();
         },
+        //翻页Examine
+        PageTurningExamine(){
+            this.pageIndexExamine++;
+            this.PostExpenseAuditGroupPageItems();
+        },
         //获取列表
         postPageDailyPaymentList() {
             var url = "/api/Financial/PostPageSearchDailyPaymentList"
@@ -121,7 +160,6 @@ export default {
                     for(let j=0;j<magarr.length;j++){
                         that.tableData.push(magarr[j])
                     }
-                    that.loadflag = false
                     // that.tableData = res.data.data.dataList;
                 }
             })
@@ -184,22 +222,106 @@ export default {
             this.zwgd=false;
             this.pageIndex=1;
             this.tableData=[];
-            this.postPageDailyPaymentList()
+            this.postPageDailyPaymentList();
+        },
+        //搜索examine
+        searchexamine(){
+            this.pageIndexExamine=1;
+            this.groupData=[];
+            this.PostExpenseAuditGroupPageItems();
+        },
+        scrollBottomExamine(e) {
+            let scrollTop=document.documentElement.scrollTop || document.body.scrollTop;
+            let clientHeight=document.documentElement.clientHeight || document.body.clientHeight;
+            let scrollHeight=document.documentElement.scrollHeight || document.body.scrollHeight;
+            if (scrollTop + clientHeight == scrollHeight) {
+                this.PageTurningExamine()
+            }
         },
         scrollBottom(e) {
             let scrollTop=document.documentElement.scrollTop || document.body.scrollTop;
             let clientHeight=document.documentElement.clientHeight || document.body.clientHeight;
             let scrollHeight=document.documentElement.scrollHeight || document.body.scrollHeight;
-            if (scrollTop + clientHeight >= scrollHeight) {
-                this.loadflag = true
+            if (scrollTop + clientHeight == scrollHeight) {
                 this.PageTurning()
             }
         },
-
+        //日常切换
+        rcbtn(){
+            this.platejudgment=1;
+            this.zwgd=false;
+            this.pageIndex=0;
+            this.tableData=[];
+            window.addEventListener('scroll', this.scrollBottom, true);
+            window.removeEventListener('scroll', this.scrollBottomExamine, true);
+            // this.postPageDailyPaymentList();
+        },
+        //tuanzhuqiehuan
+        tzbtn(){
+            this.platejudgment=2;
+            this.pageIndexExamine=0;
+            this.groupData=[];
+            window.addEventListener('scroll', this.scrollBottomExamine, true);
+            window.removeEventListener('scroll', this.scrollBottom, true);
+            // this.PostExpenseAuditGroupPageItems();
+        },
+        //费用审核列表
+        PostExpenseAuditGroupPageItems(){
+            var url = "/api/Groups/PostExpenseAuditGroupPageItems"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    portType: 1,
+                    pageId:47,
+                    userId:21,
+                    pageIndex: that.pageIndexExamine,
+                    pageSize: 10,
+                    isSure: -1,
+                    searchCriteria: that.value,
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    var groupDatas=res.data.data.data;
+                    for(let j=0;j<groupDatas.length;j++){
+                        that.groupData.push(groupDatas[j])
+                    }
+                }
+            })
+        },
+    },
+    watch:{
+        // platejudgment(){
+        //     if(this.platejudgment==1){
+        //         this.zwgd=false;
+        //         this.pageIndex=1;
+        //         this.tableData=[];
+        //         window.addEventListener('scroll', this.scrollBottom, true);
+        //         window.removeEventListener('scroll', this.scrollBottomExamine, true);
+        //         this.postPageDailyPaymentList();
+        //     }else{
+        //         this.pageIndexExamine=1;
+        //         this.groupData=[];
+        //         window.addEventListener('scroll', this.scrollBottomExamine, true);
+        //         window.removeEventListener('scroll', this.scrollBottom, true);
+        //         this.PostExpenseAuditGroupPageItems();
+        //     }
+        // }
     },
     mounted(){
-        this.postPageDailyPaymentList();
-        window.addEventListener('scroll', this.scrollBottom, true)
+        if(this.platejudgment==1){
+            window.addEventListener('scroll', this.scrollBottom, true)
+            window.removeEventListener('scroll', this.scrollBottomExamine, true)
+            this.postPageDailyPaymentList();
+        }else{
+            window.addEventListener('scroll', this.scrollBottomExamine, true)
+            window.removeEventListener('scroll', this.scrollBottom, true)
+            this.PostExpenseAuditGroupPageItems();
+        }
     },
     destroyed(){
        
@@ -226,6 +348,11 @@ export default {
     padding-top: 93px;
     padding-bottom: 65px;
 }
+.examine-box{
+    padding: 8px;
+    padding-top: 93px;
+    padding-bottom: 65px;
+}
 .card-description{
     font-weight: 600;
 }
@@ -236,6 +363,13 @@ export default {
     font-size: 14px;
     margin-bottom: 10px;
 }
+.examine-card{
+    padding: 8px;
+    box-shadow: 0 0 10px #0005;
+    border-radius:5px ;
+    font-size: 14px;
+    margin-bottom: 10px;
+}
 .card-date{
     margin: 5px 0;
 }
@@ -274,9 +408,10 @@ export default {
 }
 .tabtn-box{
     display: flex;
+    justify-content: space-around;
 }
 .tabtn-box div{
-    width: 50%;
+    width: 15%;
 }
 .tabtn-box div div{
     width: 100%;
@@ -313,7 +448,7 @@ export default {
     border-bottom: 1px dotted #afadad;
 }
 .expenseMobile-all .dialog-list{
-    max-height: 160px;
+    max-height: 240px;
     overflow: auto;
 }
 .expenseMobile-zwgd{
@@ -321,4 +456,21 @@ export default {
     font-weight: 600;
     text-align: center;
 }
+.examine-card-operator{
+    display: flex;
+    justify-content: space-between;
+}
+.examine-card-btn{
+    text-align: right;
+}
+.examine-card-date{
+    margin: 5px 0;
+}
+.examine-card-operator{
+    margin: 5px 0;
+}
+.examine-card-name{
+    font-weight: 600;
+}
+
 </style>