Kaynağa Gözat

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

yuanrf 10 ay önce
ebeveyn
işleme
0145672b6f

+ 186 - 0
src/components/ConferenceModule/Supplierinfo.vue

@@ -0,0 +1,186 @@
+<template>
+    <div class="supplierinfo-all">
+        <div class="supplierinfo-screen">
+            <div class="supplierinfo-screen-ul">
+                <div class="supplierinfo-screen-li">
+                    <div class="supplierinfoscreen-li-title">供应商类型:&nbsp;</div>
+                    <el-select size="small" v-model="value" filterable placeholder="请选择">
+                        <el-option
+                          v-for="item in options"
+                          :key="item.value"
+                          :label="item.label"
+                          :value="item.value">
+                        </el-option>
+                      </el-select>
+                </div>
+                <div class="supplierinfo-screen-li">
+                    <div class="supplierinfoscreen-li-title">供应商名称:&nbsp;</div>
+                    <el-input size="small" v-model="value" placeholder="请输入内容"></el-input>
+                </div>
+                <div class="supplierinfo-screen-li">
+                    <div class="supplierinfoscreen-li-title">供应商单位:&nbsp;</div>
+                    <el-input size="small" v-model="value" placeholder="请输入内容"></el-input>
+                </div>
+                <div class="supplierinfo-screen-li">
+                    <div class="supplierinfoscreen-li-title">供应商电话:&nbsp;</div>
+                    <el-input size="small" v-model="value" placeholder="请输入内容"></el-input>
+                </div>
+                <el-button size="small" type="primary">查询</el-button>
+            </div>
+            <el-button size="small" type="primary">新增数据</el-button>
+        </div>
+        <div class="supplierinfo-table">
+            <el-table
+                :data="tableData"
+                border
+                style="width: 100%">
+                <el-table-column
+                prop="date"
+                label="日期"
+                width="180">
+                </el-table-column>
+                <el-table-column
+                prop="name"
+                label="姓名"
+                width="180">
+                </el-table-column>
+                <el-table-column
+                prop="address"
+                label="地址">
+                </el-table-column>
+            </el-table>
+            <div class="block">
+                <el-pagination
+                  @size-change="handleSizeChange"
+                  @current-change="handleCurrentChange"
+                  :current-page="currentPage4"
+                  :page-sizes="[100, 200, 300, 400]"
+                  :page-size="100"
+                  layout="total, sizes, prev, pager, next, jumper"
+                  :total="400">
+                </el-pagination>
+              </div>
+        </div>
+    </div>
+</template>
+<script>                 
+export default {
+    data () {
+        return {
+            options: [{
+            value: '选项1',
+            label: '黄金糕'
+            }, {
+            value: '选项2',
+            label: '双皮奶'
+            }, {
+            value: '选项3',
+            label: '蚵仔煎'
+            }, {
+            value: '选项4',
+            label: '龙须面'
+            }, {
+            value: '选项5',
+            label: '北京烤鸭'
+            }],
+            value: '',
+            tableData: [{
+            date: '2016-05-02',
+            name: '王小虎',
+            address: '上海市普陀区金沙江路 1518 弄'
+            }, {
+            date: '2016-05-04',
+            name: '王小虎',
+            address: '上海市普陀区金沙江路 1517 弄'
+            }, {
+            date: '2016-05-01',
+            name: '王小虎',
+            address: '上海市普陀区金沙江路 1519 弄'
+            }, {
+            date: '2016-05-03',
+            name: '王小虎',
+            address: '上海市普陀区金沙江路 1516 弄'
+            }],
+            currentPage4: 4
+        }
+    },
+    methods:{
+        handleSizeChange(val) {
+            console.log(`每页 ${val} 条`);
+        },
+        handleCurrentChange(val) {
+            console.log(`当前页: ${val}`);
+        },
+        testfun(){
+            var kvArray = [["key1", "value1"], ["key2", "value2"]];
+            // Map 构造函数可以将一个 二维 键值对数组转换成一个 Map 对象
+            var myMap = new Map(kvArray);
+            console.log(myMap)
+            // 使用 Array.from 函数可以将一个 Map 对象转换成一个二维键值对数组
+            var outArray = Array.from(myMap);
+            console.log(outArray)
+            var first = new Map([[1, 'one'], [2, 'two'], [3, 'three'],]);
+            var second = new Map([[1, 'uno'], [2, 'dos']]);
+            
+            // 合并两个 Map 对象时,如果有重复的键值,则后面的会覆盖前面的,对应值即 uno,dos, three
+            var merged = new Map([...first, ...second]);
+            console.log(merged);
+
+            let mySet = new Set();
+            // mySet.add(1); // Set(1) {1}
+            // mySet.add(5); // Set(2) {1, 5}
+            // mySet.add(5); // Set(2) {1, 5} 这里体现了值的唯一性
+            // mySet.add("some text"); 
+            // Set(3) {1, 5, "some text"} 这里体现了类型的多样性
+            var o = {a: 1, b: 2}; 
+            mySet.add(o);
+            // mySet.add({a: 1, b: 2}); 
+            console.log(mySet);
+        }
+    },
+    mounted(){
+        this.testfun()
+    }
+}
+</script>
+<style>
+.supplierinfo-all {
+    background-color: #fff;
+    padding: 10px;
+    box-shadow: 0 0 5px #0005;
+    border-radius: 10px;
+    height: 100%;
+    min-height: 840px;
+}
+.supplierinfo-screen{
+    display: flex;
+    justify-content: space-between;
+}
+.supplierinfo-screen-ul{
+    display: flex;
+}
+.supplierinfo-screen-li{
+    width: 280px;
+    display: flex;
+    align-items: center;
+}
+.supplierinfoscreen-li-title{
+    width: 80px;
+    text-align: end;
+    font-size: 14px;
+    color: #555;
+}
+.supplierinfo-screen-li .el-input{
+    width: 184px;
+}
+.supplierinfo-screen-li .el-select{
+    width: 184px;
+}
+.supplierinfo-table{
+    margin-top: 15px;
+}
+.supplierinfo-table .block{
+    margin-top: 20px;
+    text-align: center;
+}
+</style>

+ 100 - 35
src/components/Finance/PaymentFiled.vue

@@ -1,26 +1,28 @@
 <template>
     <div v-loading.fullscreen.lock="fullscreenLoading">
         <div class="paymentfiled-all">
-            <div class="paymentfiled-haed">
-                <el-date-picker style="width:400px" v-model="value2" type="daterange" align="left" unlink-panels range-separator="至"
-                    start-placeholder="开始日期" end-placeholder="结束日期" @change="datechange"
-                    :picker-options="pickerOptions">
-                </el-date-picker>
-                <div class="haed-btn">
-                    <el-button @click="PostPayRequestCheckedChange(1)" type="primary">保存勾选</el-button>
-                    <el-button @click="PostPayRequestCheckedChange(2)" type="primary">清空勾选</el-button>
-                    <el-button @click="checkCheckbox" type="primary">查看勾选</el-button>
-                    <el-button @click="datechange" type="primary">查看全部</el-button>
-                    <el-select style="width:200px" v-model="value" filterable placeholder="请选择">
-                        <el-option
-                          v-for="item in options"
-                          :key="item.id"
-                          :label="item.conpamyName"
-                          :value="item.id">
-                        </el-option>
-                      </el-select>
-                    <el-button @click="generatebtn" type="primary">生成</el-button>
-                    <el-button @click="paymentbtn" type="primary">付款</el-button>
+            <div class="paymentfiled-haed-box">
+                <div class="paymentfiled-haed">
+                    <el-date-picker style="width:400px" v-model="value2" type="daterange" align="left" unlink-panels range-separator="至"
+                        start-placeholder="开始日期" end-placeholder="结束日期" @change="datechange"
+                        :picker-options="pickerOptions">
+                    </el-date-picker>
+                    <div class="haed-btn">
+                        <el-button @click="PostPayRequestCheckedChange(1)" type="primary">保存勾选</el-button>
+                        <el-button @click="PostPayRequestCheckedChange(2)" type="primary">清空勾选</el-button>
+                        <el-button @click="checkCheckbox" type="primary">查看勾选</el-button>
+                        <el-button @click="datechange" type="primary">查看全部</el-button>
+                        <el-select style="width:200px" v-model="value" filterable placeholder="请选择">
+                            <el-option
+                              v-for="item in options"
+                              :key="item.id"
+                              :label="item.conpamyName"
+                              :value="item.id">
+                            </el-option>
+                          </el-select>
+                        <el-button @click="generatebtn" type="primary">生成</el-button>
+                        <el-button @click="paymentbtn" type="primary">付款</el-button>
+                    </div>
                 </div>
             </div>
             <div class="paymentfiled-info">
@@ -102,7 +104,7 @@
                                     <span>
                                         {{ data.cnySubTotalAmount!=undefined?'  、 CNY  '+twonumder(data.cnySubTotalAmount=data.paymentAmount*data.payRate)+'&nbsp;&nbsp;&nbsp;汇率:':'' }}
                                     </span>
-                                    <el-input-number v-if="data.payRate!=undefined" style="width:100px" @blur="inputblur(data.id,data.payRate)" :precision="4" placeholder="公务翻译费" v-model="data.payRate" :controls='false'>
+                                    <el-input-number v-if="data.payRate!=undefined" style="width:100px" @blur="inputblur(data.id,data.payRate,data.hotelSubId)" :precision="4" placeholder="公务翻译费" v-model="data.payRate" :controls='false'>
                                     </el-input-number>
                                 </span>
                             </el-tree>
@@ -259,7 +261,8 @@ export default {
         defaultarr:[],//团组勾选中
         everydayarr:[],//日付勾选中
         fullscreenLoading:false,
-      };
+        hotelSubIdarr:[],
+    };
     },
     methods:{
         //两位小数
@@ -297,8 +300,35 @@ export default {
         },
         //勾选
         handleSelectionChange(data,node) {
-            this.defaultarr=this.filt(node.checkedKeys);
-            console.log(this.arrstring(this.defaultarr));
+            for(let i=0;i<node.checkedNodes.length;i++){
+                for(let j=0;j<node.checkedKeys.length;j++){
+                    if(node.checkedNodes[i].id==node.checkedKeys[j]){
+                        this.hotelSubIdarr.push(node.checkedNodes[i].hotelSubId)
+                    }
+                }
+            }
+            // this.hotelSubIdarr=Array.from(new Set(this.hotelSubIdarr))
+            // console.log(this.arrstring(this.hotelSubIdarr));
+            // var arrid=[]
+            // for(let i=0;i<node.checkedKeys.length;i++){
+            //     if(Number(node.checkedKeys[i].split('p')[1])==Number(node.checkedKeys[i].split('p')[1])){
+            //         arrid.push(Number(node.checkedKeys[i].split('p')[1]));
+            //     }
+            // }
+            
+            // for(let j=0;j<this.groupstableData.length;j++){
+            //     for(let s=0;s<this.groupstableData[j].childList.length;s++){
+            //         for(let x=0;x<arrid.length;x++){
+            //             if(arrid[x]==Number(this.groupstableData[j].childList[s].id.split("p")[1])){
+            //                 console.log(this.groupstableData[j].childList[s].id);
+            //                 this.defaultarr.push(this.groupstableData[j].childList[s].id)
+            //             }
+            //         }
+            //     }
+            // }
+            // arrid=Array.from(new Set(arrid))
+            this.defaultarr=node.checkedKeys
+            // console.log(this.arrstring(this.defaultarr));
         },
         //日付勾选
         everydayChange(data,node){
@@ -356,9 +386,8 @@ export default {
             // this.PostPayRequest_Center('2023-01-01','2024-03-25',1);
         },
         //汇率更改
-        inputblur(id,raet){
-            console.log(id,raet)
-            this.PostPayRequestRateChange(id,raet)
+        inputblur(id,raet,hotelSubId){
+            this.PostPayRequestRateChange(id,raet,hotelSubId)
         },
         //获取付款申请list
         PostPayRequest_Center(beginDt,endDt,status){
@@ -389,13 +418,19 @@ export default {
                     that.tzprivateTransfer=res.data.data.group.sz;
                     that.groupstableData=res.data.data.group.dataList;
                     if(that.groupstableData!=null){
+                        var arrid=[]
                         for(let i=0;i<that.groupstableData.length;i++){
                             for(let j=0;j<that.groupstableData[i].childList.length;j++){
+                                that.groupstableData[i].childList[j].id=j+'p'+that.groupstableData[i].childList[j].id
+                                arrid.push(that.groupstableData[i].childList[j].id)
                                 if(that.groupstableData[i].childList[j].isChecked==true){
                                     that.defaultarr.push(that.groupstableData[i].childList[j].id)
+                                    that.hotelSubIdarr.push(that.groupstableData[i].childList[j].hotelSubId)
                                 }
                             }
                         }
+                        console.log(that.hotelSubIdarr);
+                        console.log(that.defaultarr);
                     }
                     that.everydayData=res.data.data.daily.dataList;
                     if(that.everydayData!=null){
@@ -417,6 +452,23 @@ export default {
         },
         //保存勾选
         PostPayRequestCheckedChange(type){
+            var hotelSubIdarrs=[]
+            for(let n=0;n<this.hotelSubIdarr.length;n++){
+                if(this.hotelSubIdarr[n]!=undefined&&this.hotelSubIdarr[n]!=-1){
+                    hotelSubIdarrs.push(this.hotelSubIdarr[n]);
+                }
+            }
+            this.hotelSubIdarr=Array.from(new Set(hotelSubIdarrs))
+            var arrid=[]
+            for(let i=0;i<this.defaultarr.length;i++){
+                if(typeof this.defaultarr[i]!== 'number'){
+                    if(Number(this.defaultarr[i].split('p')[1])==Number(this.defaultarr[i].split('p')[1])){
+                        arrid.push(Number(this.defaultarr[i].split('p')[1]));
+                    }
+                }
+            }
+            arrid=Array.from(new Set(arrid))
+            this.defaultarr=this.filt(arrid);
             var url = "/api/Financial/PostPayRequestCheckedChange"
             var that = this
             this.$axios({
@@ -427,16 +479,17 @@ export default {
                 },
                 data:{
                     userId:that.userId,
+                    hotelSubIds:that.arrstring(that.hotelSubIdarr),
                     groupIds:that.arrstring(that.defaultarr),
                     dailyPaymentIds:that.arrstring(that.everydayarr),
                     type:type
                 }
             }).then(function (res) {
                 if(res.data.code==200){
-                    that.$message({
-                        message: res.data.msg,
-                        type: 'success'
-                    });
+                    // that.$message({
+                    //     message: res.data.msg,
+                    //     type: 'success'
+                    // });
                     if(type==2){
                         that.$refs.tree.setCheckedKeys([]);
                         that.$refs.abc.setCheckedKeys([]);
@@ -452,7 +505,7 @@ export default {
             })
         },
         //修改汇率
-        PostPayRequestRateChange(id,rate){
+        PostPayRequestRateChange(id,rate,hotelSubId){
             var url = "/api/Financial/PostPayRequestRateChange"
             var that = this
             this.$axios({
@@ -468,7 +521,8 @@ export default {
                     status:1,
                     beginDt:that.getdate(that.value2[0]),
                     endDt:that.getdate(that.value2[1]),
-                    id:id,
+                    id:Number(id.split('p')[1]),
+                    hotelSubId:hotelSubId,
                     rate:rate
                 }
             }).then(function (res) {
@@ -503,6 +557,13 @@ export default {
         },
         //付款api
         PostPayRequestPayChange(){
+            var hotelSubIdarrs=[]
+            for(let n=0;n<this.hotelSubIdarr.length;n++){
+                if(this.hotelSubIdarr[n]!=undefined&&this.hotelSubIdarr[n]!=-1){
+                    hotelSubIdarrs.push(this.hotelSubIdarr[n]);
+                }
+            }
+            this.hotelSubIdarr=Array.from(new Set(hotelSubIdarrs))
             var url = "/api/Financial/PostPayRequestPayChange"
             var that = this
             this.$axios({
@@ -513,6 +574,7 @@ export default {
                 },
                 data:{
                     userId:that.userId,
+                    hotelSubIds:that.arrstring(that.hotelSubIdarr),
                     groupIds:that.arrstring(that.defaultarr),
                     dailyPaymentIds:that.arrstring(that.everydayarr),
                 }
@@ -602,8 +664,7 @@ export default {
         box-shadow: 0 0 5px #0005;
         border-radius: 10px;
         height: 100%;
-        min-height: 840px;
-        
+        min-height: 830px;
     }
     .paymentfiled-haed{
         display: flex;
@@ -626,6 +687,10 @@ export default {
         color: #606266;
         font-size: 14px;
     }
+    .paymentfiled-form{
+        max-height: 700px;
+        overflow: auto;
+    }
     .paymentfiled-form-li:nth-child(1){
         border-top:2px solid #409EFF ;
     }

+ 591 - 127
src/components/MCR/Marketingamount.vue

@@ -1,8 +1,8 @@
 <template>
-    <div class="Marketingamount-box">
+    <div class="Marketingamount-box" v-loading.fullscreen.lock="fullscreenLoading">
         <!-- 详情弹出框 -->
         <el-dialog title="详情" :visible.sync="particulars">
-            <el-table :data="gridData">
+            <el-table >
                 <el-table-column property="date" label="日期" width="150"></el-table-column>
                 <el-table-column property="name" label="姓名" width="200"></el-table-column>
                 <el-table-column property="address" label="地址"></el-table-column>
@@ -12,33 +12,63 @@
         <el-dialog title="拜访记录" :visible.sync="visitlog">
             
         </el-dialog>
-        <el-form ref="form" label-width="75px">
-            <el-form-item label="人员名称:">
-                <el-select v-model="DiId" placeholder="请选择团队名称">
-                    <el-option v-for="(item,index) in cTablelist" :key="index" :label="item.teamName" :value="item.id"></el-option>
-                </el-select>
-            </el-form-item>
-        </el-form>
+        <div class="search-head">
+            <el-form ref="form" label-width="75px">
+                <el-form-item label="公司名称:">
+                    <el-select :disabled='verifytf' @change="CompanySwitching" filterable v-model="companyname" placeholder="请选择公司名称">
+                        <el-option v-for="(item,index) in companynamearr" :key="index" :label="item.name" :value="item.id"></el-option>
+                    </el-select>
+                </el-form-item>
+            </el-form>
+            <el-form ref="form" label-width="75px">
+                <el-form-item label="人员名称:">
+                    <el-select :disabled='verifytf' @change="EmployeeSwitching" filterable v-model="personnelname" placeholder="请选择人员名称">
+                        <el-option v-for="(item,index) in personnelnamearr" :key="index" :label="item.name" :value="item.id"></el-option>
+                    </el-select>
+                </el-form-item>
+            </el-form>
+            <el-form ref="form" label-width="75px">
+                <el-form-item label="年:">
+                    <el-select @change="PostMarketingSalesGroupList($event,1)" filterable v-model="years" placeholder="请选择年">
+                        <el-option v-for="(item,index) in yearsarr" :key="index" :label="item.year" :value="item.year"></el-option>
+                    </el-select>
+                </el-form-item>
+            </el-form>
+            <el-form ref="form" label-width="75px">
+                <el-form-item label="季度:">
+                    <el-select @change="QuarterlySwitching" filterable v-model="quarter" placeholder="请选择季度">
+                        <el-option v-for="(item,index) in quarterarr" :key="index" :label="item.name" :value="item.name"></el-option>
+                    </el-select>
+                </el-form-item>
+            </el-form>
+            <el-form ref="form" label-width="75px">
+                <el-form-item label="月:">
+                    <el-select @change="MonthlySwitch" filterable v-model="month" placeholder="请选择月">
+                        <el-option v-for="(item,index) in montharr" :key="index" :label="item.name" :value="item.name"></el-option>
+                    </el-select>
+                </el-form-item>
+            </el-form>
+        </div>
         <div class="Marketingamount-head-ul">
-            <div style="background-color: #ff4f4f;" class="Marketingamount-head-li">
-                <div class="head-li-title">全年销售总金额</div>
+            <div :style="yratio>0?'background-color: #ff4f4f':'background-color: #069305'" class="Marketingamount-head-li">
+                <div class="head-li-title">{{ytitle}}&nbsp;({{years}}年)</div>
                 <div class="head-li-info">
-                    <div class="li-info-amount">¥99,999</div>
-                    <div class="li-info-ratio">年同比:5%&nbsp;&nbsp;&nbsp;▲</div>
+                    <div class="li-info-amount">¥&nbsp;{{yamount}}</div>
+                    <div class="li-info-ratio">年同比:&nbsp;{{yratio}}%&nbsp;&nbsp;&nbsp;{{yratio>0?'▲':'▼'}}</div>
                 </div>
             </div>
-            <div style="background-color: #069305;" class="Marketingamount-head-li">
-                <div class="head-li-title">全年销售总金额</div>
+            <div :style="qratio>0?'background-color: #ff4f4f':'background-color: #069305'" class="Marketingamount-head-li">
+                <div class="head-li-title">{{qtitle}}&nbsp;({{quarter}})</div>
                 <div class="head-li-info">
-                    <div class="li-info-amount">¥99,999</div>
-                    <div class="li-info-ratio">年同比:5%&nbsp;&nbsp;&nbsp;▼</div>
+                    <div class="li-info-amount">¥&nbsp;{{qamount}}</div>
+                    <div class="li-info-ratio">季同比:&nbsp;{{qratio}}%&nbsp;&nbsp;&nbsp;{{qratio>0?'▲':'▼'}}</div>
                 </div>
             </div>
-            <div  style="background-color: #ff4f4f;" class="Marketingamount-head-li">
-                <div class="head-li-title">全年销售总金额</div>
+            <div  :style="mratio>0?'background-color: #ff4f4f':'background-color: #069305'" class="Marketingamount-head-li">
+                <div class="head-li-title">{{mtitle}}&nbsp;({{month}})</div>
                 <div class="head-li-info">
-                    <div class="li-info-amount">¥99,999</div>
-                    <div class="li-info-ratio">年同比:5%&nbsp;&nbsp;&nbsp;▲</div>
+                    <div class="li-info-amount">¥&nbsp;{{mamount}}</div>
+                    <div class="li-info-ratio">月同比:&nbsp;{{mratio}}%&nbsp;&nbsp;&nbsp;{{mratio>0?'▲':'▼'}}</div>
                 </div>
             </div>
         </div>
@@ -50,25 +80,29 @@
                 border
                 style="width: 100%">
                     <el-table-column
-                    prop=""
+                    prop="rowNumber"
                     label="排名"
                     width="50">
                     </el-table-column>
                     <el-table-column
-                    prop="date"
+                    prop="userName"
                     label="名称"
                     width="100">
                     </el-table-column>
                     <el-table-column
-                    prop="date"
+                    prop="count"
                     label="成单量">
                     </el-table-column>
                 </el-table>
                 <div style="text-align: center;margin: 5px 0">
                     <el-pagination
                     small
+                    @size-change="handleSizeChanges"
+                    @current-change="handleCurrentChanges"
+                    :current-page="currentPages"
+                    :page-size="pagesizes"
                     layout="prev, pager, next"
-                    :total="50">
+                    :total="pmlist">
                     </el-pagination>
                 </div>
                 <div id="statisticallyone" style="height:300px;"></div>
@@ -81,30 +115,31 @@
                 border
                 style="width: 100%">
                     <el-table-column
-                    prop=""
+                    prop="rowNumber"
                     label="序号"
                     width="50">
                     </el-table-column>
                     <el-table-column
-                    prop="date"
+                    prop="teamName"
                     label="团组名"
-                    width="100">
+                    width="150">
                     </el-table-column>
                     <el-table-column
-                    prop="date"
+                    prop="clientUnit"
                     label="客户单位">
                     </el-table-column>
                     <el-table-column
-                    prop="date"
+                    prop="clientName"
                     label="客户名称">
                     </el-table-column>
                     <el-table-column
-                    prop="date"
+                    prop="visitDate"
                     label="出访日期"
                     width="100">
+                        <template slot-scope="scope">{{ scope.row.visitDate | getvisitDate}}</template>
                     </el-table-column>
                     <el-table-column
-                    prop=""
+                    prop="visitPNumber"
                     label="人数"
                     width="50">
                     </el-table-column>
@@ -123,8 +158,9 @@
                       @current-change="handleCurrentChange"
                       :current-page="currentPage"
                       :page-size="pagesize"
+                      :page-sizes="[10, 15, 20, 50]"
                       layout="total, sizes, prev, pager, next, jumper"
-                      :total="400">
+                      :total="tabletotal">
                     </el-pagination>
                   </div>
             </div>
@@ -140,85 +176,65 @@ export default {
             cTablelist:[],
             currentPage:1,
             pagesize:10,
-            tableDatas:[
-                {
-                date: '2016-05-02',
-                name: '王小虎',
-                address: '上海市普陀区金沙江路 1518 弄'
-                }, {
-                date: '2016-05-04',
-                name: '王小虎',
-                address: '上海市普陀区金沙江路 1517 弄'
-                }, {
-                date: '2016-05-01',
-                name: '王小虎',
-                address: '上海市普陀区金沙江路 1519 弄'
-                }
-            ],
-            tableData: [{
-            date: '2016-05-02',
-            name: '王小虎',
-            address: '上海市普陀区金沙江路 1518 弄'
-            }, {
-            date: '2016-05-04',
-            name: '王小虎',
-            address: '上海市普陀区金沙江路 1517 弄'
-            }, {
-            date: '2016-05-01',
-            name: '王小虎',
-            address: '上海市普陀区金沙江路 1519 弄'
-            }, {
-            date: '2016-05-03',
-            name: '王小虎',
-            address: '上海市普陀区金沙江路 1516 弄'
-            }, {
-            date: '2016-05-03',
-            name: '王小虎',
-            address: '上海市普陀区金沙江路 1516 弄'
-            }, {
-            date: '2016-05-03',
-            name: '王小虎',
-            address: '上海市普陀区金沙江路 1516 弄'
-            }, {
-            date: '2016-05-03',
-            name: '王小虎',
-            address: '上海市普陀区金沙江路 1516 弄'
-            }, {
-            date: '2016-05-03',
-            name: '王小虎',
-            address: '上海市普陀区金沙江路 1516 弄'
-            }, {
-            date: '2016-05-03',
-            name: '王小虎',
-            address: '上海市普陀区金沙江路 1516 弄'
-            }, {
-            date: '2016-05-03',
-            name: '王小虎',
-            address: '上海市普陀区金沙江路 1516 弄'
-            }, {
-            date: '2016-05-03',
-            name: '王小虎',
-            address: '上海市普陀区金沙江路 1516 弄'
-            }, {
-            date: '2016-05-03',
-            name: '王小虎',
-            address: '上海市普陀区金沙江路 1516 弄'
-            }, {
-            date: '2016-05-03',
-            name: '王小虎',
-            address: '上海市普陀区金沙江路 1516 弄'
-            }
-            ],
+            currentPages:1,
+            pagesizes:3,
+            tabletotal:0,
+            pmlist:0,
+            tableDatas:[],
+            customertype:[],
+            customerlevel:[],
+            tableData: [],
             particulars:false,
             visitlog:false,
+            userId:'',
+            token:'',
+            companyname:'',
+            companynamearr:[],
+            personnelname:'',
+            personnelnamearr:[],
+            personnelnamearrs:[],
+            years:'',
+            yearsarr:'',
+            quarter:'',
+            quarterarr:'',
+            month:'',
+            montharr:'',
+            YbeginDt:'',
+            YendDt:'',
+            QbeginDt:'',
+            QendDt:'',
+            MbeginDt:'',
+            MendDt:'',
+            //图
+            ytitle:'全年销售总金额',
+            yamount:0,
+            yratio:0,
+            qtitle:'季度销售金额',
+            qamount:0,
+            qratio:0,
+            mtitle:'月度销售金额',
+            mamount:0,
+            mratio:0,
+            fullscreenLoading:false,
+            verifytf:false,
         }
     },
     methods:{
         handleSizeChange(val) {
-            console.log(`每页 ${val} 条`);
+            this.pagesize=val;
+            this.PostMarketingSalesGroupList(this.years,1);
         },
         handleCurrentChange(val) {
-            console.log(`当前页: ${val}`);
+            this.currentPage=val;
+            this.PostMarketingSalesGroupList(this.years,1);
+        },
+        handleSizeChanges(val) {
+            this.pagesizes=val;
+            this.PostMarketingSalesOrderRanking(this.YbeginDt,this.YendDt);
+        },
+        handleCurrentChanges(val) {
+            this.currentPages=val;
+            this.PostMarketingSalesOrderRanking(this.YbeginDt,this.YendDt);
         },
         statisone(){
             var myChart = echarts.init(document.getElementById('statisticallyone'));
@@ -230,29 +246,14 @@ export default {
                 tooltip: {
                     trigger: 'item'
                 },
-                // legend: {
-                //     orient: 'vertical',
-                //     left: 'left'
-                // },
                 series: [
                     {
                     type: 'pie',
                     radius: '50%',
-                    data: [
-                        { value: 1048, name: '政府' },
-                        { value: 735, name: '企业' },
-                        { value: 580, name: '散客' },
-                        { value: 484, name: '高校' },
-                        { value: 484, name: '非团组' },
-                        { value: 484, name: '成都会务活动' },
-                        { value: 484, name: '四川会务活动' },
-                        { value: 484, name: '成都赛事' },
-                        { value: 484, name: '四川赛事' },
-                        { value: 300, name: '未知' }
-                    ],
+                    data: this.customertype,
                     emphasis: {
                         itemStyle: {
-                        shadowBlur: 10,
+                        shadowBlur: this.customertype.length,
                         shadowOffsetX: 0,
                         shadowColor: 'rgba(0, 0, 0, 0.5)'
                         }
@@ -273,14 +274,10 @@ export default {
                     {
                     type: 'pie',
                     radius: '50%',
-                    data: [
-                        { value: 1048, name: 'VIP' },
-                        { value: 735, name: 'VVIP' },
-                        { value: 580, name: '暂未定级' },
-                    ],
+                    data: this.customerlevel,
                     emphasis: {
                         itemStyle: {
-                        shadowBlur: 10,
+                        shadowBlur: this.customerlevel.length,
                         shadowOffsetX: 0,
                         shadowColor: 'rgba(0, 0, 0, 0.5)'
                         }
@@ -288,9 +285,467 @@ export default {
                     }
                 ]
             });
+        },
+        //获取PostMarketingSalesInitData
+        PostMarketingSalesInitData() {
+            var url = "/api/Statistics/PostMarketingSalesInitData"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + that.token
+                },
+                data: {
+                    portType:1,
+                    userId: 208,
+                    pageId:180,
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    that.yearsarr=res.data.data.dtData;
+                    that.years=res.data.data.dtData[0].year;
+                    that.companynamearr=res.data.data.companyData;
+                    that.personnelnamearrs=res.data.data.userData;
+                    
+                    that.companyname=that.companynamearr[0].id;
+                    that.personnelname=that.personnelnamearrs[0].id;
+                
+                    // that.verifyID();
+                   
+                    that.CompanySwitching(that.companyname);
+                }else{
+                    that.$message({
+                        message:res.data.msg,
+                        duration:1000,
+                        type:"error"
+                    });
+                }
+            }).catch(function (error) {
+                that.$message.error('接口报错请联系信息部!');
+            });
+        },
+        //年市场部销售额api
+        YPostMarketingSalesStatistic() {
+            var url = "/api/Statistics/PostMarketingSalesStatistics"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + that.token
+                },
+                data: {
+                    portType:1,
+                    userId: that.userId,
+                    pageId:180,
+                    companyId:that.companyname,
+                    groupPickupUserId:that.personnelname,
+                    beginDt:that.YbeginDt,
+                    endDt:that.YendDt,
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    that.yamount=res.data.data.thisYearSales;
+                    that.yratio=res.data.data.yoy;
+                    that.QuarterlySwitching('第一季度')
+                }else{
+                    that.$message({
+                        message:res.data.msg,
+                        duration:1000,
+                        type:"error"
+                    });
+                }
+            }).catch(function (error) {
+                that.$message.error('接口报错请联系信息部!');
+            });
+        },
+        //季市场部销售额api
+        QPostMarketingSalesStatistic() {
+            var url = "/api/Statistics/PostMarketingSalesStatistics"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + that.token
+                },
+                data: {
+                    portType:1,
+                    userId: that.userId,
+                    pageId:180,
+                    companyId:that.companyname,
+                    groupPickupUserId:that.personnelname,
+                    beginDt:that.QbeginDt,
+                    endDt:that.QendDt,
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    that.qamount=res.data.data.thisYearSales;
+                    that.qratio=res.data.data.yoy;
+                    that.MonthlySwitch(that.month)
+                }else{
+                    that.$message({
+                        message:res.data.msg,
+                        duration:1000,
+                        type:"error"
+                    });
+                }
+            }).catch(function (error) {
+                that.$message.error('接口报错请联系信息部!');
+            });
+        },
+        //月市场部销售额api
+        MPostMarketingSalesStatistic() {
+            var url = "/api/Statistics/PostMarketingSalesStatistics"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + that.token
+                },
+                data: {
+                    portType:1,
+                    userId: that.userId,
+                    pageId:180,
+                    companyId:that.companyname,
+                    groupPickupUserId:that.personnelname,
+                    beginDt:that.MbeginDt,
+                    endDt:that.MendDt,
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    that.mamount=res.data.data.thisYearSales;
+                    that.mratio=res.data.data.yoy;
+                }else{
+                    that.$message({
+                        message:res.data.msg,
+                        duration:1000,
+                        type:"error"
+                    });
+                }
+            }).catch(function (error) {
+                that.$message.error('接口报错请联系信息部!');
+            });
+        },
+        //公司切换
+        CompanySwitching(val){
+            this.personnelnamearr=[];
+            this.personnelname='';
+            if(val==-1){
+                this.personnelnamearr=this.personnelnamearrs;
+                this.personnelname=this.personnelnamearr[0].id;
+                // this.PostMarketingSalesGroupList(this.years,1)
+            }else{
+                for(let i=0;i<this.personnelnamearrs.length;i++){
+                    if(val==this.personnelnamearrs[i].companyId){
+                        this.personnelnamearr.push(this.personnelnamearrs[i]);
+                    }
+                }
+            }
+            if(this.userId!=233){
+                this.verifytf=true;
+                var idarr=[];
+                for (let x = 0; x < this.personnelnamearr.length; x++) {
+                    idarr.push(this.personnelnamearr[x].id)
+                    if (idarr.includes(this.userId)) {
+                        if(this.userId==this.personnelnamearr[x].id){
+                            this.personnelname=this.personnelnamearr[x].id;
+                            this.companyname=this.personnelnamearr[x].companyId;
+                        }
+                    }
+                }
+                if (!idarr.includes(this.userId)) {
+                    this.personnelname="";
+                    this.companyname="";
+                    this.$message({
+                        message: '无权限!',
+                        type: 'warning'
+                    });
+                    return
+                }
+            }
+            this.PostMarketingSalesGroupList(this.years,1)
+        },
+        //员工切换
+        EmployeeSwitching(val){
+            this.PostMarketingSalesGroupList(this.years,1)
+        },
+        //季度切换
+        QuarterlySwitching(val){
+            //初始化
+            this.QbeginDt='';
+            this.QendDt='';
+            this.montharr=[]
+            for (let w = 0; w < this.quarterarr.length; w++) {
+                if (val==this.quarterarr[w].name) {
+                    if(val=='全部'){
+                        this.QbeginDt=this.quarterarr[w].beginDt;
+                        this.QendDt=this.quarterarr[w].endDt;
+                        this.montharr.push(this.quarterarr[1].monthData[0]);
+                        this.month=this.quarterarr[1].monthData[0].name;
+                    }else{
+                        this.QbeginDt=this.quarterarr[w].monthData[0].beginDt;
+                        this.QendDt=this.quarterarr[w].monthData[0].endDt;
+                        this.montharr=this.quarterarr[w].monthData;
+                        this.month=this.quarterarr[w].monthData[1].name;
+                    }
+                    console.log(this.montharr);
+                }
+            }
+            this.QPostMarketingSalesStatistic()
+        },
+        //月切换
+        MonthlySwitch(val){
+            console.log(val);
+            
+            for (let m = 0; m < this.montharr.length; m++) {
+                if(val==this.montharr[m].name){
+                    console.log(this.montharr[m]);
+                    this.MbeginDt=this.montharr[m].beginDt;
+                    this.MendDt=this.montharr[m].endDt;
+                }
+            }
+            this.MPostMarketingSalesStatistic()
+        },
+        //市场部销售额团组列表
+        PostMarketingSalesGroupList(val,index) {
+            this.fullscreenLoading=true;
+            var beginDt='';
+            var endDt='';
+            if(index==1){
+                for(let j=0;j<this.yearsarr.length;j++){
+                    if(this.yearsarr[j].year==val){
+                        this.quarterarr=this.yearsarr[j].quarterData;
+                        this.quarter=this.quarterarr[1].name;
+                        // this.montharr=this.yearsarr[j].quarterData[1].monthData;
+                        // this.month=this.montharr[0].name;
+                        this.YbeginDt=this.yearsarr[j].quarterData[0].beginDt;
+                        this.YendDt=this.yearsarr[j].quarterData[0].endDt;
+                    }
+                }
+                beginDt=this.YbeginDt;
+                endDt=this.YendDt;
+            }
+            var url = "/api/Statistics/PostMarketingSalesGroupList"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + that.token
+                },
+                data: {
+                    portType:1,
+                    userId: that.userId,
+                    pageId:180,
+                    companyId:that.companyname,
+                    groupPickupUserId:that.personnelname,
+                    beginDt:beginDt,
+                    endDt:endDt,
+                    pageIndex:that.currentPage,
+                    pageSize:that.pagesize,
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    that.tableData=res.data.data;
+                    that.tabletotal=res.data.count;
+                    that.YPostMarketingSalesStatistic();
+                    setTimeout(function(){
+                        that.PostMarketingSalesGroupStatistics(beginDt,endDt);
+                    },500);
+                    setTimeout(function(){
+                        that.PostMarketingSalesOrderRanking(beginDt,endDt)
+                    },600);
+                    
+                }else{
+                    that.fullscreenLoading=false;
+                    that.$message({
+                        message:res.data.msg,
+                        duration:1000,
+                        type:"error"
+                    });
+                }
+            }).catch(function (error) {
+                that.fullscreenLoading=false;
+                that.$message.error('接口报错请联系信息部!');
+            });
+        },
+        //验证id
+        verifyID(){
+            
+        },
+        //统计api
+        PostMarketingSalesGroupStatistics(beginDt,endDt) {
+            var url = "/api/Statistics/PostMarketingSalesGroupStatistics"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + that.token
+                },
+                data: {
+                    portType:1,
+                    userId: that.userId,
+                    pageId:180,
+                    companyId:that.companyname,
+                    groupPickupUserId:that.personnelname,
+                    beginDt:beginDt,
+                    endDt:endDt,
+                    statisticsType:1
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    var newArr = res.data.data.customerTypeData.map(item => ({
+                        name: item.name,
+                        value: item.count
+                    }))
+                    that.customertype=newArr;
+                    var newArrs = res.data.data.clientGradeData.map(item => ({
+                        name: item.name,
+                        value: item.count
+                    }))
+                    that.customerlevel=newArrs;
+                    that.fullscreenLoading=false;
+                }else{
+                    that.fullscreenLoading=false;
+                    that.$message({
+                        message:res.data.msg,
+                        duration:1000,
+                        type:"error"
+                    });
+                }
+            }).catch(function (error) {
+                that.fullscreenLoading=false;
+                that.$message.error('统计api报错请联系信息部!');
+            });
+        },
+        //排名api
+        PostMarketingSalesOrderRanking(beginDt,endDt) {
+            var url = "/api/Statistics/PostMarketingSalesOrderRanking"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + that.token
+                },
+                data: {
+                    portType:1,
+                    userId: that.userId,
+                    pageId:180,
+                    companyId:that.companyname,
+                    groupPickupUserId:that.personnelname,
+                    beginDt:beginDt,
+                    endDt:endDt,
+                    pageIndex:that.currentPages,
+                    pageSize:that.pagesizes,
+                   
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    that.pmlist=res.data.count;
+                    that.tableDatas=res.data.data;
+                }else{
+                    that.fullscreenLoading=false;
+                    that.$message({
+                        message:res.data.msg,
+                        duration:1000,
+                        type:"error"
+                    });
+                }
+            }).catch(function (error) {
+                that.fullscreenLoading=false;
+                that.$message.error('接口报错请联系信息部!');
+            });
+        },
+    },
+    filters: {
+        getvisitDate(val) {
+            return val.split(' ')[0];
         }
     },
+    watch: {
+        customertype: {
+            handler(val, oldVal) {
+                this.statisone();
+            },
+            deep: true
+        },
+        customerlevel: {
+            handler(val, oldVal) {
+                this.statisone();
+            },
+            deep: true
+        },
+        // companyname:function(val){
+        //     this.personnelnamearr=[];
+        //     this.personnelname='';
+        //     if(val==-1){
+        //         this.personnelnamearr=this.personnelnamearrs;
+        //         this.personnelname=this.personnelnamearr[0].id;
+        //     }else{
+        //         for(let i=0;i<this.personnelnamearrs.length;i++){
+        //             if(val==this.personnelnamearrs[i].companyId){
+        //                 this.personnelnamearr.push(this.personnelnamearrs[i]);
+        //             }
+        //         }
+        //     }
+        // },
+        // years:function(val){
+        //     for(let j=0;j<this.yearsarr.length;j++){
+        //         if(this.yearsarr[j].year==val){
+        //             this.quarterarr=this.yearsarr[j].quarterData;
+        //             this.quarter=this.quarterarr[0].name;
+        //             this.montharr=this.yearsarr[j].quarterData[1].monthData;
+        //             this.month=this.montharr[0].name;
+        //             this.YbeginDt=this.yearsarr[j].quarterData[0].beginDt;
+        //             this.YendDt=this.yearsarr[j].quarterData[0].endDt;
+        //         }
+        //     }
+        //     this.YPostMarketingSalesStatistic()
+        // },
+        // quarter:function(val){
+        //     this.montharr=[]
+        //     for (let g = 0; g < this.quarterarr.length; g++) {
+        //         if(val==this.quarterarr[g].name){
+        //             if (val=="全部") {
+        //                 this.month="全部";
+        //                 this.QbeginDt=this.quarterarr[g].beginDt;
+        //                 this.QendDt=this.quarterarr[g].endDt;
+        //                 this.QPostMarketingSalesStatistic()
+        //                 return
+        //             }
+        //             this.QbeginDt=this.quarterarr[g].monthData[0].beginDt;
+        //             this.QendDt=this.quarterarr[g].monthData[0].endDt;
+        //             this.montharr=this.quarterarr[g].monthData;
+        //             this.month=this.montharr[0].name;
+        //             this.QPostMarketingSalesStatistic()
+        //         }
+        //     }
+        // },
+        // month:function(val){
+        //     console.log(this.montharr);
+        //     if (this.montharr!=undefined) {
+        //         for (let h = 0; h < this.montharr.length; h++) {
+        //             if(val==this.montharr[h].name){
+        //                 this.MbeginDt=this.montharr[h].beginDt;
+        //                 this.MendDt=this.montharr[h].endDt;
+        //             }
+        //         }
+        //         console.log(this.MbeginDt,this.MendDt);
+        //         // this.MPostMarketingSalesStatistic()
+        //     }
+        // }
+    },
+    created(){
+        this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId;
+        this.token = JSON.parse(localStorage.getItem('userinif')).token;
+    },
     mounted(){
+        this.PostMarketingSalesInitData()
         this.statisone()
     }
 }
@@ -341,4 +796,13 @@ export default {
 .content-table .block{
     text-align: center;
 }
+.search-head{
+    display: flex;
+}
+.search-head .el-form{
+    width: 300px;
+}
+.search-head .el-select{
+    width: 100%;
+}
 </style>

Dosya farkı çok büyük olduğundan ihmal edildi
+ 964 - 250
src/components/OP/HotelReservations.vue


+ 1 - 1
src/components/OP/OpDecreasePayments.vue

@@ -514,7 +514,7 @@ export default {
                                         });
                                         that.loading = true;
                                         setTimeout(() => {
-                                            that.fullscreenLoading=false;
+                                             that.fullscreenLoading=false;
                                             that.$router.push('/home/DecreasePayments')
                                         }, 1000);
                                     } else {

+ 1 - 0
src/components/Resource/OpOfficialActivities.vue

@@ -351,6 +351,7 @@ export default {
                 tel: [
                     { required: true, message: '该信息为必填信息', trigger: 'blur' },
                     { required: true, message: '该信息为必填信息', trigger: 'change' },
+                    { pattern: /^-?\d+\.?\d*$/, message: '请输入正确数据', trigger: 'blur' }
                 ],
                 dresscode: [
                     { required: true, message: '该信息为必填信息', trigger: 'blur' },

+ 69 - 28
src/components/statistics/Reportstbale.vue

@@ -302,27 +302,27 @@
                         label="酒店预订费用">
                             <el-table-column
                             prop="city"
-                            label="城市"
-                            width="100">
+                            label="城市">
                             </el-table-column>
                             <el-table-column
                             prop="hotelName"
-                            label="酒店名称"
-                            width="100">
+                            label="酒店名称">
                             </el-table-column>
                             <el-table-column
                             prop="checkInDate"
-                            label="入住时间">
+                            label="入住时间"
+                            width="78">
                             </el-table-column>
                             <el-table-column
                             prop="checkOutDate"
-                            label="退房时间">
+                            label="退房时间"
+                            width="78">
                             </el-table-column>
-                            <el-table-column
+                            <!-- <el-table-column
                             prop="paymentCurrency"
                             label="币种"
                             width="40">
-                            </el-table-column>
+                            </el-table-column> -->
                             <el-table-column label="费用">
                                 <el-table-column
                                     label="单间">
@@ -345,6 +345,9 @@
                                     prop="doubleRoomPrice"
                                     label="单价"
                                     width="60">
+                                    <template slot-scope="scope">
+                                        {{ scope.row.doubleRoomPrice.toFixed(2)}}
+                                    </template>
                                     </el-table-column>
                                     <el-table-column
                                     prop="doubleRoomCount"
@@ -358,6 +361,9 @@
                                     prop="suiteRoomPrice"
                                     label="单价"
                                     width="60">
+                                    <template slot-scope="scope">
+                                        {{ scope.row.suiteRoomPrice.toFixed(2)}}
+                                    </template>
                                     </el-table-column>
                                     <el-table-column
                                     prop="suiteRoomCount"
@@ -371,6 +377,9 @@
                                     prop="otherRoomPrice"
                                     label="单价"
                                     width="60">
+                                    <template slot-scope="scope">
+                                        {{ scope.row.otherRoomPrice.toFixed(2)}}
+                                    </template>
                                     </el-table-column>
                                     <el-table-column
                                     prop="otherRoomCount"
@@ -381,67 +390,99 @@
                                 <el-table-column
                                     label="金额计算">
                                     <el-table-column
+                                    label="总房费"
+                                    width="100">
+                                        <template slot-scope="scope">
+                                            <el-popover
+                                            placement="top"
+                                            trigger="hover">
+                                                <div v-html="scope.row.roomInfoTips"></div>
+                                                <span slot="reference">{{ scope.row.roomPrice.toFixed(2)+' '+scope.row.roomPriceCurrency}}</span>
+                                            </el-popover>
+                                        </template>
+                                    </el-table-column>
+                                    <el-table-column
                                     label="早餐"
-                                    width="85">
+                                    width="100">
                                         <template slot-scope="scope">
-                                            {{ scope.row.breakfastPrice.toFixed(2)+' '+scope.row.breakfastCurrency}}
+                                            <el-popover
+                                            placement="top"
+                                            trigger="hover">
+                                                <div v-html="scope.row.breakfastInfoTips"></div>
+                                                <span slot="reference">{{ scope.row.breakfastPrice.toFixed(2)+' '+scope.row.breakfastCurrency}}</span>
+                                            </el-popover>
                                         </template>
                                     </el-table-column>
                                     <el-table-column
                                     prop="governmentRent"
                                     label="地税"
-                                    width="85">
+                                    width="100">
                                         <template slot-scope="scope">
-                                            {{ scope.row.governmentRent.toFixed(2)+' '+scope.row.governmentRentCurrency}}
+                                            <el-popover
+                                            placement="top"
+                                            trigger="hover">
+                                                <div v-html="scope.row.governmentRentTips"></div>
+                                                <span slot="reference">{{ scope.row.governmentRent.toFixed(2)+' '+scope.row.governmentRentCurrency}}</span>
+                                            </el-popover>
                                         </template>
                                     </el-table-column>
                                     <el-table-column
                                     prop="cityTax"
                                     label="城市税"
-                                    width="85">
+                                    width="100">
                                         <template slot-scope="scope">
-                                            {{ scope.row.cityTax.toFixed(2)+' '+scope.row.cityTaxCurrency}}
+                                            <el-popover
+                                            placement="top"
+                                            trigger="hover">
+                                                <div v-html="scope.row.cityTaxTips"></div>
+                                                <span slot="reference">{{ scope.row.cityTax.toFixed(2)+' '+scope.row.cityTaxCurrency}}</span>
+                                            </el-popover>
+                                            
                                         </template>
                                     </el-table-column>
-                                    <el-table-column
-                                    prop="payMoney"
+                                    <!-- <el-table-column
                                     label="信用卡金额">
-                                    </el-table-column>
+                                        <template slot-scope="scope">
+                                            {{ scope.row.roomPrice.toFixed(2)+' '+scope.row.roomPriceCurrency}}
+                                        </template>
+                                    </el-table-column> -->
                                 </el-table-column>
                                 <el-table-column label="人民币">
                                     <el-table-column
-                                    prop="cnyPrice"
                                     label="总金额">
+                                        <template slot-scope="scope">
+                                            {{ scope.row.payMoney.toFixed(2)+' '+scope.row.paymentCurrency}}
+                                        </template>
                                     </el-table-column>
-                                    <el-table-column
+                                    <!-- <el-table-column
                                     prop="currencyRateStr"
                                     label="当时汇率">
-                                    </el-table-column>
-                                    <el-table-column
+                                    </el-table-column> -->
+                                    <!-- <el-table-column
                                     prop="payee"
                                     label="收款方"
                                     width="70">
-                                    </el-table-column>
-                                    <el-table-column
+                                    </el-table-column> -->
+                                    <!-- <el-table-column
                                     label="费用标识"
                                     width="40">
                                         <template slot-scope="scope">
                                             {{ scope.row.OrbitalPrivateTransfer==-1?'未选择':scope.row.OrbitalPrivateTransfer==0?'公转':'私转' }}
                                         </template>
-                                    </el-table-column>
-                                    <el-table-column
+                                    </el-table-column> -->
+                                    <!-- <el-table-column
                                     prop="payWay"
                                     label="支付方式"
                                     width="40">
-                                    </el-table-column>
-                                    <el-table-column
+                                    </el-table-column> -->
+                                    <!-- <el-table-column
                                     prop="cardType"
                                     label="卡类型"
                                     width="50">
                                         <template slot-scope="scope">
                                             {{ scope.row.cardType=='其他'?'—':scope.row.cardType==''?'—':scope.row.cardType }}
                                         </template>
-                                    </el-table-column>
+                                    </el-table-column> -->
                                     <el-table-column
                                     label="状态"
                                     width="50">

+ 5 - 0
src/main.js

@@ -39,6 +39,11 @@ Vue.use(plugin);//全局
 import websocket  from './store/websocket.js'
 Vue.prototype.$websocket = websocket//websocket
 
+//禁用浏览器前进后腿
+window.addEventListener('popstate', function() {
+  history.pushState(null, null, document.URL)
+})
+
 Vue.prototype.$message = Message;
 Vue.prototype.$axios = axios;
 

+ 10 - 0
src/router/index.js

@@ -108,10 +108,15 @@ import visaAgencyfee from '@/components/OP/visaAgencyfee'
 import Hotelenquiry from '@/components/OP/Hotelenquiry'
 import Marketingamount from '@/components/MCR/Marketingamount';
 import downloadpage from '@/components/OP/downloadpage';
+import Supplierinfo from '@/components/ConferenceModule/Supplierinfo';
 
 Vue.use(Router)
 
 export default new Router({
+    // mode: 'history',
+    // scrollBehavior: () => {
+    //   history.pushState(null, null, document.URL)
+    // },
   routes: [
     {
       path: '/',
@@ -665,6 +670,11 @@ export default new Router({
           name: 'downloadpage',
           component: downloadpage
         },
+        {
+          path: '/home/Supplierinfo',
+          name: 'Supplierinfo',
+          component: Supplierinfo
+        },
       ]
     },
     {