Commit e7f1cdcf authored by 沈良进's avatar 沈良进

Merge branch 'master' of http://gitlab.oytour.com/huaguohao/crm

parents 4676e6d0 34e082fa
......@@ -70,17 +70,17 @@
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
<span class="font-size-12" style="padding-right: 10px">订单号</span>
<el-input size="mini" class="w210" v-model="msg.OrderId" placeholder="订单号" clearable
@change="getList" @keyup.enter.native="getList"></el-input>
@change="handleCurrentChange(1)" @keyup.enter.native="handleCurrentChange(1)"></el-input>
</el-col>
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
<span class="font-size-12" style="padding-right: 10px">客人姓名</span>
<el-input size="mini" class="w210" v-model="msg.GuestName" placeholder="客人姓名" clearable
@change="getList" @keyup.enter.native="getList"></el-input>
@change="handleCurrentChange(1)" @keyup.enter.native="handleCurrentChange(1)"></el-input>
</el-col>
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
<span class="font-size-12" style="padding-right: 10px">出行概述</span>
<el-input size="mini" class="w210" v-model="msg.StartCityName" placeholder="出行概述" clearable
@change="getList" @keyup.enter.native="getList"></el-input>
@change="handleCurrentChange(1)" @keyup.enter.native="handleCurrentChange(1)"></el-input>
</el-col>
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
<span class="font-size-12" style="padding-right: 10px">业务员</span>
......@@ -88,7 +88,7 @@
size="mini"
filterable
v-model="msg.EnterID"
@change="getList"
@change="handleCurrentChange(1)"
clearable
placeholder="业务员">
<el-option
......@@ -105,7 +105,7 @@
size="mini"
filterable
v-model="msg.CreateBy"
@change="getList"
@change="handleCurrentChange(1)"
clearable
placeholder="引流人员">
<el-option
......@@ -118,7 +118,7 @@
</el-col>
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
<span class="font-size-12" style="padding-right: 10px">出票状态</span>
<el-select size="mini" v-model="msg.TicketStatus" @change="getList">
<el-select size="mini" v-model="msg.TicketStatus" @change="handleCurrentChange(1)">
<el-option v-for="(item,index) in ticketingStatusList"
:key="index"
:label="item.Name" :value="item.Id"> </el-option>
......@@ -128,7 +128,7 @@
<span class="font-size-12" style="padding-right: 10px"
>出签状态</span
>
<el-select size="mini" v-model="msg.VisaStatus" @change="getList">
<el-select size="mini" v-model="msg.VisaStatus" @change="handleCurrentChange(1)">
<el-option
v-for="(item, index) in VisaList"
:key="index"
......@@ -140,7 +140,7 @@
</el-col>
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
<span class="font-size-12" style="padding-right: 10px">订单状态</span>
<el-select size="mini" v-model="msg.OrderStatus" @change="getList">
<el-select size="mini" v-model="msg.OrderStatus" @change="handleCurrentChange(1)">
<el-option v-for="(item,index) in OrderStatusList"
:key="index"
:label="item.Name" :value="item.Id"> </el-option>
......@@ -148,7 +148,7 @@
</el-col>
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
<span class="font-size-12" style="padding-right: 10px">收款状态</span>
<el-select size="mini" v-model="msg.Q_IsCollect" @change="getList">
<el-select size="mini" v-model="msg.Q_IsCollect" @change="handleCurrentChange(1)">
<el-option v-for="(item,index) in QIsCollectList"
:key="index"
:label="item.Name" :value="item.Id"> </el-option>
......@@ -158,7 +158,7 @@
<span class="font-size-12" style="padding-right: 10px">报名开始</span>
<el-date-picker
v-model="msg.StartTime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%;"
format="yyyy-MM-dd"
......@@ -171,7 +171,7 @@
<span class="font-size-12" style="padding-right: 10px">报名结束</span>
<el-date-picker
v-model="msg.EndTime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%;"
format="yyyy-MM-dd"
......@@ -186,7 +186,7 @@
>
<el-date-picker
v-model="msg.FinishSTime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%"
format="yyyy-MM-dd"
......@@ -202,7 +202,7 @@
>
<el-date-picker
v-model="msg.FinishETime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%"
format="yyyy-MM-dd"
......@@ -218,7 +218,7 @@
>
<el-date-picker
v-model="msg.DepartSTime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%"
format="yyyy-MM-dd"
......@@ -234,7 +234,7 @@
>
<el-date-picker
v-model="msg.DepartETime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%"
format="yyyy-MM-dd"
......
......@@ -70,21 +70,21 @@
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
<span class="font-size-12" style="padding-right: 10px">订单号</span>
<el-input size="mini" class="w210" v-model="msg.OrderId" placeholder="订单号" clearable
@change="getList" @keyup.enter.native="getList"></el-input>
@change="handleCurrentChange(1)" @keyup.enter.native="handleCurrentChange(1)"></el-input>
</el-col>
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
<span class="font-size-12" style="padding-right: 10px">客人姓名</span>
<el-input size="mini" class="w210" v-model="msg.GuestName" placeholder="客人姓名" clearable
@change="getList" @keyup.enter.native="getList"></el-input>
@change="handleCurrentChange(1)" @keyup.enter.native="handleCurrentChange(1)"></el-input>
</el-col>
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
<span class="font-size-12" style="padding-right: 10px">出行概述</span>
<el-input size="mini" class="w210" v-model="msg.StartCityName" placeholder="出行概述" clearable
@change="getList" @keyup.enter.native="getList"></el-input>
@change="handleCurrentChange(1)" @keyup.enter.native="handleCurrentChange(1)"></el-input>
</el-col>
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
<span class="font-size-12" style="padding-right: 10px">出票状态</span>
<el-select size="mini" v-model="msg.TicketStatus" @change="getList">
<el-select size="mini" v-model="msg.TicketStatus" @change="handleCurrentChange(1)">
<el-option v-for="(item,index) in ticketingStatusList"
:key="index"
:label="item.Name" :value="item.Id"> </el-option>
......@@ -94,7 +94,7 @@
<span class="font-size-12" style="padding-right: 10px"
>出签状态</span
>
<el-select size="mini" v-model="msg.VisaStatus" @change="getList">
<el-select size="mini" v-model="msg.VisaStatus" @change="handleCurrentChange(1)">
<el-option
v-for="(item, index) in VisaList"
:key="index"
......@@ -106,7 +106,7 @@
</el-col>
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
<span class="font-size-12" style="padding-right: 10px">订单状态</span>
<el-select size="mini" v-model="msg.OrderStatus" @change="getList">
<el-select size="mini" v-model="msg.OrderStatus" @change="handleCurrentChange(1)">
<el-option v-for="(item,index) in OrderStatusList"
:key="index"
:label="item.Name" :value="item.Id"> </el-option>
......@@ -114,7 +114,7 @@
</el-col>
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
<span class="font-size-12" style="padding-right: 10px">收款状态</span>
<el-select size="mini" v-model="msg.Q_IsCollect" @change="getList">
<el-select size="mini" v-model="msg.Q_IsCollect" @change="handleCurrentChange(1)">
<el-option v-for="(item,index) in QIsCollectList"
:key="index"
:label="item.Name" :value="item.Id"> </el-option>
......@@ -124,7 +124,7 @@
<span class="font-size-12" style="padding-right: 10px">报名开始</span>
<el-date-picker
v-model="msg.StartTime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%;"
format="yyyy-MM-dd"
......@@ -137,7 +137,7 @@
<span class="font-size-12" style="padding-right: 10px">报名结束</span>
<el-date-picker
v-model="msg.EndTime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%;"
format="yyyy-MM-dd"
......@@ -152,7 +152,7 @@
>
<el-date-picker
v-model="msg.FinishSTime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%"
format="yyyy-MM-dd"
......@@ -168,7 +168,7 @@
>
<el-date-picker
v-model="msg.FinishETime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%"
format="yyyy-MM-dd"
......@@ -184,7 +184,7 @@
>
<el-date-picker
v-model="msg.DepartSTime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%"
format="yyyy-MM-dd"
......@@ -200,7 +200,7 @@
>
<el-date-picker
v-model="msg.DepartETime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%"
format="yyyy-MM-dd"
......
......@@ -91,8 +91,56 @@
<el-table-column
prop="OrderId"
label="订单号"
show-overflow-tooltip></el-table-column>
<el-table-column
prop="OrderTypeName"
label="订单类型"
show-overflow-tooltip></el-table-column>
<el-table-column
prop="TCNUM"
label="团号"
show-overflow-tooltip>
</el-table-column>
<template slot-scope="scope">
{{scope.row.TCNUM?scope.row.TCNUM:'-'}}
</template></el-table-column>
<el-table-column
prop="OutBranchName"
label="出团公司"
show-overflow-tooltip>
<template slot-scope="scope">
{{scope.row.OutBranchName?scope.row.OutBranchName:'-'}}
</template>
</el-table-column>
<el-table-column
prop="LineName"
label="线路"
show-overflow-tooltip>
<template slot-scope="scope">
{{scope.row.LineName?scope.row.LineName:'-'}}
</template></el-table-column>
<el-table-column
prop="PeopleNum"
label="人数"
show-overflow-tooltip>
<template slot-scope="scope">
{{scope.row.PeopleNum?scope.row.PeopleNum:'-'}}
<template v-if="scope.row.TCID>0">/{{scope.row.TCGuestNum}}</template>
</template></el-table-column>
<el-table-column
prop="TCProfit"
label="团利润"
show-overflow-tooltip>
<template slot-scope="scope">
<template v-if="scope.row.TCID>0">{{scope.row.TCProfit?scope.row.TCProfit:'-'}}</template>
<template v-else>-</template>
</template></el-table-column>
<el-table-column
prop="Way"
label="提成方式"
show-overflow-tooltip>
<template slot-scope="scope">
{{scope.row.Way==1?'销售额':'利润比'}}
</template></el-table-column>
<el-table-column
prop="OrderProfit"
label="订单利润"
......
......@@ -213,12 +213,12 @@
<el-row :gutter="22">
<el-col :span="8">
<el-input size="mini" placeholder="输入订单ID" v-model="msg.OrderId" label="订单ID"
@keyup.native="getList"></el-input>
@keyup.native="handleCurrentChange(1)"></el-input>
</el-col>
<el-col :span="8">
<div style="display: flex;flex-direction: row;align-items: center;">
<span class="font-size-12" style="padding-right: 10px;flex-shrink: 0;">订单类型:</span>
<el-select size="mini" width="200" v-model="msg.OrderType" placeholder="请选择" @change="getList">
<el-select size="mini" width="200" v-model="msg.OrderType" placeholder="请选择" @change="handleCurrentChange(1)">
<el-option v-for="item in OrderTypeList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</el-select>
......@@ -228,7 +228,7 @@
<div style="display: flex;flex-direction: row;align-items: center;">
<span class="font-size-12" style="padding-right: 10px;flex-shrink: 0;">订单状态:</span>
<el-select size="mini" width="200" v-model="msg.OrderState" placeholder="请选择"
@change="getList">
@change="handleCurrentChange(1)">
<el-option v-for="item in OrderStatusList" :key="item.Id" :label="item.Name"
:value="item.Id"></el-option>
</el-select>
......
......@@ -78,13 +78,13 @@
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
<span class="font-size-12" style="padding-right: 10px">客人姓名</span>
<el-input size="mini" class="w210" v-model="msg.CustomerName" placeholder="客人姓名" clearable
@change="getList" @keyup.enter.native="getList"></el-input>
@change="handleCurrentChange(1)" @keyup.enter.native="handleCurrentChange(1)"></el-input>
</el-col>
<el-col v-if="pagesTitle!='销售'" :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
<span class="font-size-12" style="padding-right: 10px"
>业务员</span
>
<el-select size="mini" v-model="msg.EnterId" @change="getList">
<el-select size="mini" v-model="msg.EnterId" @change="handleCurrentChange(1)">
<el-option
v-for="(item, index) in EmployeeList"
:key="index"
......@@ -98,7 +98,7 @@
<span class="font-size-12" style="padding-right: 10px"
>引流人</span
>
<el-select size="mini" v-model="msg.LureEmpId" @change="getList">
<el-select size="mini" v-model="msg.LureEmpId" @change="handleCurrentChange(1)">
<el-option
v-for="(item, index) in EmployeeList"
:key="index"
......@@ -111,23 +111,23 @@
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
<span class="font-size-12" style="padding-right: 10px">商品名称</span>
<el-input size="mini" class="w210" v-model="msg.ProductName" placeholder="商品名称" clearable
@change="getList" @keyup.enter.native="getList"></el-input>
@change="handleCurrentChange(1)" @keyup.enter.native="handleCurrentChange(1)"></el-input>
</el-col>
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
<span class="font-size-12" style="padding-right: 10px">订单号</span>
<el-input size="mini" class="w210" v-model="msg.OrderId" placeholder="订单号" clearable
@change="getList" @keyup.enter.native="getList"></el-input>
@change="handleCurrentChange(1)" @keyup.enter.native="handleCurrentChange(1)"></el-input>
</el-col>
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
<span class="font-size-12" style="padding-right: 10px">团号/单号</span>
<el-input size="mini" class="w210" v-model="msg.TCNUM" placeholder="团号/单号" clearable
@change="getList" @keyup.enter.native="getList"></el-input>
@change="handleCurrentChange(1)" @keyup.enter.native="handleCurrentChange(1)"></el-input>
</el-col>
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
<span class="font-size-12" style="padding-right: 10px"
>订单类型</span
>
<el-select size="mini" v-model="msg.OrderType" @change="getList">
<el-select size="mini" v-model="msg.OrderType" @change="handleCurrentChange(1)">
<el-option
v-for="(item, index) in OrderTypeList"
:key="index"
......@@ -139,7 +139,7 @@
</el-col>
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
<span class="font-size-12" style="padding-right: 10px">订单状态</span>
<el-select size="mini" v-model="msg.OrderState" @change="getList">
<el-select size="mini" v-model="msg.OrderState" @change="handleCurrentChange(1)">
<el-option v-for="(item,index) in OrderStatusList"
:key="index"
:label="item.Name" :value="item.Id"> </el-option>
......@@ -147,7 +147,7 @@
</el-col>
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
<span class="font-size-12" style="padding-right: 10px">收款状态</span>
<el-select size="mini" v-model="msg.Q_IsCollect" @change="getList">
<el-select size="mini" v-model="msg.Q_IsCollect" @change="handleCurrentChange(1)">
<el-option v-for="(item,index) in QIsCollectList"
:key="index"
:label="item.Name" :value="item.Id"> </el-option>
......@@ -157,7 +157,7 @@
<span class="font-size-12" style="padding-right: 10px">报名开始</span>
<el-date-picker
v-model="msg.StartTime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%;"
format="yyyy-MM-dd"
......@@ -170,7 +170,7 @@
<span class="font-size-12" style="padding-right: 10px">报名结束</span>
<el-date-picker
v-model="msg.EndTime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%;"
format="yyyy-MM-dd"
......@@ -185,7 +185,7 @@
>
<el-date-picker
v-model="msg.DepartSTime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%"
format="yyyy-MM-dd"
......@@ -201,7 +201,7 @@
>
<el-date-picker
v-model="msg.DepartETime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%"
format="yyyy-MM-dd"
......@@ -278,7 +278,7 @@
<el-row :gutter="20">
<el-col :xs="12" :sm="12" :md="12" :lg="8" :xl="8">
<span class="font-size-12" style="padding-right: 10px">线路</span>
<el-select size="mini" v-model="msg.LineId" @change="getList">
<el-select size="mini" v-model="msg.LineId" @change="handleCurrentChange(1)">
<el-option v-for="(item,index) in LineList"
:key="index"
:label="item.LineName" :value="item.LineID"> </el-option>
......@@ -286,7 +286,7 @@
</el-col>
<el-col :xs="12" :sm="12" :md="12" :lg="8" :xl="8">
<span class="font-size-12" style="padding-right: 10px">团队类型</span>
<el-select size="mini" v-model="msg.TravelType" @change="getList">
<el-select size="mini" v-model="msg.TravelType" @change="handleCurrentChange(1)">
<el-option v-for="(item,index) in TravelTypeList"
:key="index"
:label="item.Name" :value="item.Id"> </el-option>
......@@ -298,7 +298,7 @@
>
<el-date-picker
v-model="msg.FinishSTime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
......@@ -313,7 +313,7 @@
>
<el-date-picker
v-model="msg.FinishETime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
......
......@@ -9,7 +9,7 @@
tooltip-effect="dark"
style="width: 100%"
row-class-name="font-size-12"
:default-sort = "{prop: 'Money', order: 'null'}"
:default-sort = "{prop: 'null', order: 'null'}"
:sort-by="['Money','Income','PlatformTax','Refund','CostMoney','DueInMoney']">
<el-table-column
width="200"
......
......@@ -19,8 +19,8 @@
v-model="msg.OrderId"
placeholder="订单号"
clearable
@change="getList"
@keyup.enter.native="getList"
@change="handleCurrentChange(1)"
@keyup.enter.native="handleCurrentChange(1)"
></el-input>
</el-col>
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
......@@ -33,8 +33,8 @@
v-model="msg.GuestName"
placeholder="客人姓名"
clearable
@change="getList"
@keyup.enter.native="getList"
@change="handleCurrentChange(1)"
@keyup.enter.native="handleCurrentChange(1)"
></el-input>
</el-col>
<el-col :xs="7" :sm="6" :md="5" :lg="4" :xl="3">
......@@ -43,7 +43,7 @@
size="mini"
filterable
v-model="msg.CreateBy"
@change="getList"
@change="handleCurrentChange(1)"
clearable
placeholder="引流人员">
<el-option
......@@ -64,8 +64,8 @@
v-model="msg.StartCityName"
placeholder="出行概述"
clearable
@change="getList"
@keyup.enter.native="getList"
@change="handleCurrentChange(1)"
@keyup.enter.native="handleCurrentChange(1)"
></el-input>
</el-col>
......@@ -75,7 +75,7 @@
size="mini"
filterable
v-model="msg.EnterID"
@change="getList"
@change="handleCurrentChange(1)"
clearable
placeholder="业务员"
>
......@@ -92,7 +92,7 @@
<span class="font-size-12" style="padding-right: 10px"
>出票状态</span
>
<el-select size="mini" v-model="msg.TicketStatus" @change="getList">
<el-select size="mini" v-model="msg.TicketStatus" @change="handleCurrentChange(1)">
<el-option
v-for="(item, index) in ticketingStatusList"
:key="index"
......@@ -106,7 +106,7 @@
<span class="font-size-12" style="padding-right: 10px"
>出签状态</span
>
<el-select size="mini" v-model="msg.VisaStatus" @change="getList">
<el-select size="mini" v-model="msg.VisaStatus" @change="handleCurrentChange(1)">
<el-option
v-for="(item, index) in VisaList"
:key="index"
......@@ -120,7 +120,7 @@
<span class="font-size-12" style="padding-right: 10px"
>订单状态</span
>
<el-select size="mini" v-model="msg.OrderStatus" @change="getList">
<el-select size="mini" v-model="msg.OrderStatus" @change="handleCurrentChange(1)">
<el-option
v-for="(item, index) in OrderStatusList"
:key="index"
......@@ -134,7 +134,7 @@
<span class="font-size-12" style="padding-right: 10px"
>收款状态</span
>
<el-select size="mini" v-model="msg.Q_IsCollect" @change="getList">
<el-select size="mini" v-model="msg.Q_IsCollect" @change="handleCurrentChange(1)">
<el-option
v-for="(item, index) in QIsCollectList"
:key="index"
......@@ -150,7 +150,7 @@
>
<el-date-picker
v-model="msg.StartTime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%"
format="yyyy-MM-dd"
......@@ -166,7 +166,7 @@
>
<el-date-picker
v-model="msg.EndTime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%"
format="yyyy-MM-dd"
......@@ -182,7 +182,7 @@
>
<el-date-picker
v-model="msg.FinishSTime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%"
format="yyyy-MM-dd"
......@@ -198,7 +198,7 @@
>
<el-date-picker
v-model="msg.FinishETime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%"
format="yyyy-MM-dd"
......@@ -214,7 +214,7 @@
>
<el-date-picker
v-model="msg.DepartSTime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%"
format="yyyy-MM-dd"
......@@ -230,7 +230,7 @@
>
<el-date-picker
v-model="msg.DepartETime"
@change="getList"
@change="handleCurrentChange(1)"
size="mini"
style="width: 100%"
format="yyyy-MM-dd"
......
......@@ -120,7 +120,7 @@
Domain: "fcrmyx.oytour.com",
};
if (!this.isOnline()) {
msg.Domain = "www.test.com";//www.test.com localhost
msg.Domain = "localhost";
}
this.apipost("/api/Login/UserLogin", msg, (res) => {
var jsonData = res.data;
......
......@@ -5,26 +5,20 @@
<h1>每日引流统计</h1>
</div>
<div class="row flex">
<div style="margin-right: 20px">
<el-date-picker v-model="msg.month" type="month" icon="el-icon-date" slot="append" class="input-with-select"
@change="changeMonthHandler" placeholder="选择查询的月份">
</el-date-picker>
<div style="margin-right: 20px">
<el-date-picker v-model="msg.month" type="month" icon="el-icon-date" slot="append" class="input-with-select"
@change="changeMonthHandler" placeholder="选择查询的月份">
</el-date-picker>
</div>
<div>
<span class="font-size-12" style="padding-right: 10px">业务员</span>
<el-select style="width: 220px;" filterable multiple clearable v-model="msg.QEmployeeIdsArr"
@change="changeEmployee">
<el-option v-for="(item, index) in EmployeeList" :key="index" :label="item.EmName" :value="item.EmployeeId">
</el-option>
</el-select>
</div>
</div>
<div>
<span class="font-size-12" style="padding-right: 10px"
>业务员</span
>
<!-- height: 40px; overflow: auto -->
<el-select style="width: 220px;" filterable multiple clearable v-model="msg.QEmployeeIdsArr" @change="changeEmployee">
<el-option
v-for="(item, index) in EmployeeList"
:key="index"
:label="item.EmName"
:value="item.EmployeeId"
>
</el-option>
</el-select>
</div></div>
<div class="rightmenu">
<el-dropdown @command="handleCommand">
<el-button class="crm-btn crm-btn-more easy-btn margin-right0">
......@@ -42,7 +36,8 @@
<el-table-column>
<template slot-scope="scope">
<template v-if="scope.row.YearStr>0&&scope.row.MonthStr>0">
<span class="pointer" style="color:blue;text-decoration:underline;" @click="seeDetails(scope.row)">{{scope.row.DateStr}}</span>
<span class="pointer" style="color:blue;text-decoration:underline;"
@click="seeDetails(scope.row)">{{scope.row.DateStr}}</span>
</template>
<template v-else>
<span>{{scope.row.DateStr}} </span>
......@@ -51,98 +46,114 @@
</el-table-column>
<el-table-column label="引流总数">
<template slot-scope="scope">
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer" @click="seeDetails(scope.row,1,'0')">{{scope.row.PushCount}}</span>
<span v-else>{{scope.row.PushCount}} </span>
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer"
@click="seeDetails(scope.row,1,'0')">{{scope.row.PushCount}}</span>
<span v-else>{{scope.row.PushCount}} </span>
</template>
</el-table-column>
<el-table-column label="有效总数">
<template slot-scope="scope">
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer" @click="seeDetails(scope.row,1,'1')">{{scope.row.EffectiveCount}}</span>
<span v-else>{{scope.row.EffectiveCount}} </span>
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer"
@click="seeDetails(scope.row,1,'1')">{{scope.row.EffectiveCount}}</span>
<span v-else>{{scope.row.EffectiveCount}} </span>
</template>
</el-table-column>
<el-table-column label="无效总数">
<template slot-scope="scope">
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer" @click="seeDetails(scope.row,1,'2')">{{scope.row.InvalidCount}}</span>
<span v-else>{{scope.row.InvalidCount}} </span>
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer"
@click="seeDetails(scope.row,1,'2')">{{scope.row.InvalidCount}}</span>
<span v-else>{{scope.row.InvalidCount}} </span>
</template>
</el-table-column>
<el-table-column label="小红书总数">
<template slot-scope="scope">
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer" @click="seeDetails(scope.row,2,'7')">{{scope.row.RedBookCount}}</span>
<span v-else>{{scope.row.RedBookCount}} </span>
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer"
@click="seeDetails(scope.row,2,'7')">{{scope.row.RedBookCount}}</span>
<span v-else>{{scope.row.RedBookCount}} </span>
</template>
</el-table-column>
<el-table-column prop="DouYinCount" label="抖音总数">
<template slot-scope="scope">
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer" @click="seeDetails(scope.row,2,'9')">{{scope.row.DouYinCount}}</span>
<span v-else>{{scope.row.DouYinCount}} </span>
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer"
@click="seeDetails(scope.row,2,'9')">{{scope.row.DouYinCount}}</span>
<span v-else>{{scope.row.DouYinCount}} </span>
</template>
</el-table-column>
<el-table-column label="飞猪总数">
<template slot-scope="scope">
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer" @click="seeDetails(scope.row,2,'8')">{{scope.row.FlyingPigCount}}</span>
<span v-else>{{scope.row.FlyingPigCount}} </span>
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer"
@click="seeDetails(scope.row,2,'8')">{{scope.row.FlyingPigCount}}</span>
<span v-else>{{scope.row.FlyingPigCount}} </span>
</template>
</el-table-column>
<el-table-column label="社群聊天总数">
<template slot-scope="scope">
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer" @click="seeDetails(scope.row,2,'1')">{{scope.row.GroupChatCount}}</span>
<span v-else>{{scope.row.GroupChatCount}} </span>
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer"
@click="seeDetails(scope.row,2,'1')">{{scope.row.GroupChatCount}}</span>
<span v-else>{{scope.row.GroupChatCount}} </span>
</template>
</el-table-column>
<el-table-column label="线下拜访总数">
<template slot-scope="scope">
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer" @click="seeDetails(scope.row,2,'2')">{{scope.row.OfflineVisitCount}}</span>
<span v-else>{{scope.row.OfflineVisitCount}} </span>
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer"
@click="seeDetails(scope.row,2,'2')">{{scope.row.OfflineVisitCount}}</span>
<span v-else>{{scope.row.OfflineVisitCount}} </span>
</template>
</el-table-column>
<el-table-column label="直客介绍总数">
<template slot-scope="scope">
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer" @click="seeDetails(scope.row,2,'3')">{{scope.row.StraightCustomerCount}}</span>
<span v-else>{{scope.row.StraightCustomerCount}} </span>
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer"
@click="seeDetails(scope.row,2,'3')">{{scope.row.StraightCustomerCount}}</span>
<span v-else>{{scope.row.StraightCustomerCount}} </span>
</template>
</el-table-column>
<el-table-column label="同业介绍总数">
<template slot-scope="scope">
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer" @click="seeDetails(scope.row,2,'4')">{{scope.row.PeerCount}}</span>
<span v-else>{{scope.row.PeerCount}} </span>
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer"
@click="seeDetails(scope.row,2,'4')">{{scope.row.PeerCount}}</span>
<span v-else>{{scope.row.PeerCount}} </span>
</template>
</el-table-column>
<el-table-column label="其他介绍总数">
<template slot-scope="scope">
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer" @click="seeDetails(scope.row,2,'6')">{{scope.row.OtherCount}}</span>
<span v-else>{{scope.row.OtherCount}} </span>
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer"
@click="seeDetails(scope.row,2,'6')">{{scope.row.OtherCount}}</span>
<span v-else>{{scope.row.OtherCount}} </span>
</template>
</el-table-column>
<el-table-column label="订单总数">
<template slot-scope="scope">
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer" @click="seeDetails(scope.row,3,'')">{{scope.row.OrderCount}}</span>
<span v-else>{{scope.row.OrderCount}} </span>
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer"
@click="seeDetails(scope.row,3,'')">{{scope.row.OrderCount}}</span>
<span v-else>{{scope.row.OrderCount}} </span>
</template>
</el-table-column>
<el-table-column label="机票订单总数">
<template slot-scope="scope">
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer" @click="seeDetails(scope.row,3,'1')">{{scope.row.TicketOrderCount}}</span>
<span v-else>{{scope.row.TicketOrderCount}} </span>
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer"
@click="seeDetails(scope.row,3,'1')">{{scope.row.TicketOrderCount}}</span>
<span v-else>{{scope.row.TicketOrderCount}} </span>
</template>
</el-table-column>
<el-table-column label="签证订单总数">
<template slot-scope="scope">
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer" @click="seeDetails(scope.row,3,'2')">{{scope.row.VisaOrderCount}}</span>
<span v-else>{{scope.row.VisaOrderCount}} </span>
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer"
@click="seeDetails(scope.row,3,'2')">{{scope.row.VisaOrderCount}}</span>
<span v-else>{{scope.row.VisaOrderCount}} </span>
</template>
</el-table-column>
<el-table-column label="地接订单总数">
<template slot-scope="scope">
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer" @click="seeDetails(scope.row,3,'3')">{{scope.row.GroundOrderCount}}</span>
<span v-else>{{scope.row.GroundOrderCount}} </span>
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer"
@click="seeDetails(scope.row,3,'3')">{{scope.row.GroundOrderCount}}</span>
<span v-else>{{scope.row.GroundOrderCount}} </span>
</template>
</el-table-column>
<el-table-column label="套餐订单总数">
<template slot-scope="scope">
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer" @click="seeDetails(scope.row,3,'4')">{{scope.row.ComboOrderCount}}</span>
<span v-else>{{scope.row.ComboOrderCount}} </span>
<span v-if="scope.row.YearStr>0&&scope.row.MonthStr>0" class="pointer"
@click="seeDetails(scope.row,3,'4')">{{scope.row.ComboOrderCount}}</span>
<span v-else>{{scope.row.ComboOrderCount}} </span>
</template>
</el-table-column>
</el-table>
......@@ -154,201 +165,202 @@
</template>
<script>
import rightDrawer from "../../components/workStatistics/rightDrawer.vue";
export default {
components: {
rightDrawer,
},
data() {
return {
drawer: false,
isDrawer: true,
msg: {
month: "",
YearStr: "",
MonthStr: "",
},
total: 0,
tableData: [],
loading: false,
selfParams: {
queryTime: {},
},
EmployeeList: []
};
},
provide() {
return {
selfParams: this.selfParams,
};
},
created() {
let d = new Date();
this.msg.month = d;
this.msg.YearStr = d.getFullYear();
this.msg.MonthStr = d.getMonth() + 1;
},
mounted() {
this.init();
this.Employee()
},
methods: {
handleClose(done) {
done();
import rightDrawer from "../../components/workStatistics/rightDrawer.vue";
export default {
components: {
rightDrawer,
},
// 获取业务员
Employee() {
let userInfo = this.getLocalStorage();
let msg = {
RB_Group_id: userInfo.RB_Group_id,
BranchId: -1,
DepartmentId: 0,
PostId: 0,
IsLeave: 0,
};
this.apipost2(
"admin_get_EmployeeGetList",
msg,
(res) => {
if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
// let data = {
// EmName: "不限",
// EmployeeId: "0",
// };
// this.EmployeeList.unshift(data);
} else {
}
},
(err) => {}
);
data() {
return {
drawer: false,
isDrawer: true,
msg: {
month: "",
YearStr: "",
MonthStr: "",
},
// 查看详情
seeDetails(row, type = 0, val = "0") {
var d = new Date();
var currentY = this.msg.YearStr;
var currentM = this.msg.MonthStr;
var MonthDayNum = new Date(currentY, currentM, 0).getDate(); //计算当月的天数
this.selfParams.queryTime.StartTime =
this.msg.YearStr + "-" + row.DateStr;
this.selfParams.queryTime.EndTime = this.msg.YearStr + "-" + row.DateStr;
delete this.selfParams.queryTime.ClueState;
delete this.selfParams.queryTime.CustomerSourceType;
this.selfParams.queryTime.OrderType = "";
this.selfParams.queryTime.queryType = type;
this.selfParams.queryTime.queryVal = val;
if (type == 1) {
this.selfParams.queryTime.ClueState = val;
} else if (type == 2) {
this.selfParams.queryTime.CustomerSourceType = val;
} else if (type == 3) {
this.selfParams.queryTime.OrderType = val;
}
this.drawer = true;
},
init() {
if (this.loading) return;
this.loading = true;
this.apipost(
"/api/ClueStatic/GetClueDayV2",
this.msg,
(res) => {
this.loading = false;
this.tableData = res.data.data;
total: 0,
tableData: [],
loading: false,
selfParams: {
queryTime: {},
},
(e) => {
this.loading = false;
}
);
EmployeeList: []
};
},
provide() {
return {
selfParams: this.selfParams,
};
},
tableRowClassName({ row }) {
let cname = "font-size-12";
if (
row.DateStr == "总数" ||
row.DateStr == "上期总数" ||
row.DateStr == "环比成长"
) {
cname += " xiaoji-row";
} else if (row.DateStr == "月总数") {
cname += " sum-row";
}
return cname;
created() {
let d = new Date();
this.msg.month = d;
this.msg.YearStr = d.getFullYear();
this.msg.MonthStr = d.getMonth() + 1;
},
mounted() {
this.init();
this.Employee()
},
tableCellClassName({ row, column }) {
if (
row[column.property] &&
row[column.property].toString().indexOf("-") != -1 &&
column.property != "DateStr"
) {
return "warning-col";
} else if (column.property == "InvalidCount") {
methods: {
handleClose(done) {
done();
},
// 获取业务员
Employee() {
let userInfo = this.getLocalStorage();
let msg = {
RB_Group_id: userInfo.RB_Group_id,
BranchId: 1245,
DepartmentId: 0,
PostId: 0,
IsLeave: 0,
};
this.apipost2(
"admin_get_EmployeeGetList",
msg,
(res) => {
if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
}
},
(err) => {}
);
},
// 查看详情
seeDetails(row, type = 0, val = "0") {
var d = new Date();
var currentY = this.msg.YearStr;
var currentM = this.msg.MonthStr;
var MonthDayNum = new Date(currentY, currentM, 0).getDate(); //计算当月的天数
this.selfParams.queryTime.StartTime =
this.msg.YearStr + "-" + row.DateStr;
this.selfParams.queryTime.EndTime = this.msg.YearStr + "-" + row.DateStr;
delete this.selfParams.queryTime.ClueState;
delete this.selfParams.queryTime.CustomerSourceType;
this.selfParams.queryTime.OrderType = "";
this.selfParams.queryTime.queryType = type;
this.selfParams.queryTime.queryVal = val;
if (type == 1) {
this.selfParams.queryTime.ClueState = val;
} else if (type == 2) {
this.selfParams.queryTime.CustomerSourceType = val;
} else if (type == 3) {
this.selfParams.queryTime.OrderType = val;
}
this.drawer = true;
},
init() {
if (this.loading) return;
this.loading = true;
this.apipost(
"/api/ClueStatic/GetClueDayV2",
this.msg,
(res) => {
this.loading = false;
this.tableData = res.data.data;
},
(e) => {
this.loading = false;
}
);
},
tableRowClassName({
row
}) {
let cname = "font-size-12";
if (
parseFloat(row[column.property]) / parseFloat(row.PushCount) >=
0.2
row.DateStr == "总数" ||
row.DateStr == "上期总数" ||
row.DateStr == "环比成长"
) {
cname += " xiaoji-row";
} else if (row.DateStr == "月总数") {
cname += " sum-row";
}
return cname;
},
tableCellClassName({
row,
column
}) {
if (
row[column.property] &&
row[column.property].toString().indexOf("-") != -1 &&
column.property != "DateStr"
) {
return "warning-col";
} else if (column.property == "InvalidCount") {
if (
parseFloat(row[column.property]) / parseFloat(row.PushCount) >=
0.2
) {
return "warning-col";
}
}
}
},
changeMonthHandler(val) {
this.msg.YearStr = val.getFullYear();
this.msg.MonthStr = val.getMonth() + 1;
this.init();
},
changeEmployee() {
this.msg.QEmployeeIds =this.msg.QEmployeeIdsArr.join(',')
this.init();
},
handleCommand(command) {
if (command == "1") {
this.downloadHandler();
}
},
downloadHandler() {
this.GetLocalFile(
"/api/ClueStatic/DownLoadClueDay",
this.msg,
"每日引流数据统计.xls",
(res) => {
this.$message({
message: "导出成功",
type: "success",
});
},
changeMonthHandler(val) {
this.msg.YearStr = val.getFullYear();
this.msg.MonthStr = val.getMonth() + 1;
this.init();
},
changeEmployee() {
this.msg.QEmployeeIds = this.msg.QEmployeeIdsArr.join(',')
this.init();
},
handleCommand(command) {
if (command == "1") {
this.downloadHandler();
}
);
},
downloadHandler() {
this.GetLocalFile(
"/api/ClueStatic/DownLoadClueDay",
this.msg,
"每日引流数据统计.xls",
(res) => {
this.$message({
message: "导出成功",
type: "success",
});
}
);
},
},
},
};
};
</script>
<style>
@import "../../assets/css/customerManage.css";
.flex {
display: flex;
}
.el-table__fixed-body-wrapper table {
padding-bottom: 8px !important;
}
@import "../../assets/css/customerManage.css";
.flex {
display: flex;
}
.el-table__fixed-body-wrapper table {
padding-bottom: 8px !important;
}
.el-table .xiaoji-row {
background: #ffff00;
}
.el-table .xiaoji-row {
background: #ffff00;
}
.el-table .sum-row {
background: #00b0f0;
}
.el-table .sum-row {
background: #00b0f0;
}
.el-table .warning-col {
background: red;
}
.el-table .warning-col {
background: red;
}
.pointer {
cursor: pointer;
}
.pointer {
cursor: pointer;
}
.pointer:hover {
color: #00b0f0;
}
</style>
.pointer:hover {
color: #00b0f0;
}
</style>
\ No newline at end of file
......@@ -5,26 +5,20 @@
<h1>月度引流统计</h1>
</div>
<div class="flex">
<div style="margin-right: 20px">
<el-date-picker v-model="msg.month" type="year" icon="el-icon-date" slot="append" class="input-with-select"
format="yyyy 年" @change="changeMonthHandler" placeholder="选择查询的月份">
</el-date-picker>
<div style="margin-right: 20px">
<el-date-picker v-model="msg.month" type="year" icon="el-icon-date" slot="append" class="input-with-select"
format="yyyy 年" @change="changeMonthHandler" placeholder="选择查询的月份">
</el-date-picker>
</div>
<div>
<span class="font-size-12" style="padding-right: 10px">业务员</span>
<el-select style="width: 220px;" filterable multiple clearable v-model="msg.QEmployeeIdsArr"
@change="changeEmployee">
<el-option v-for="(item, index) in EmployeeList" :key="index" :label="item.EmName" :value="item.EmployeeId">
</el-option>
</el-select>
</div>
</div>
<div>
<span class="font-size-12" style="padding-right: 10px"
>业务员</span
>
<!-- height: 40px; overflow: auto -->
<el-select style="width: 220px;" filterable multiple clearable v-model="msg.QEmployeeIdsArr" @change="changeEmployee">
<el-option
v-for="(item, index) in EmployeeList"
:key="index"
:label="item.EmName"
:value="item.EmployeeId"
>
</el-option>
</el-select>
</div></div>
<div class="rightmenu">
<el-dropdown @command="handleCommand">
<el-button class="crm-btn crm-btn-more easy-btn margin-right0">
......@@ -238,7 +232,7 @@
selfParams: {
queryTime: {},
},
EmployeeList: []
EmployeeList: []
};
},
provide() {
......@@ -254,40 +248,39 @@
mounted() {
this.init();
this.initRate();
this.Employee()
this.Employee()
},
methods: {
changeEmployee() {
this.msg.QEmployeeIds =this.msg.QEmployeeIdsArr.join(',')
this.init();
},
// 获取业务员
Employee() {
let userInfo = this.getLocalStorage();
let msg = {
RB_Group_id: userInfo.RB_Group_id,
BranchId: -1,
DepartmentId: 0,
PostId: 0,
IsLeave: 0,
};
this.apipost2(
"admin_get_EmployeeGetList",
msg,
(res) => {
if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
// let data = {
// EmName: "不限",
// EmployeeId: "0",
// };
// this.EmployeeList.unshift(data);
} else {
}
},
(err) => {}
);
},
changeEmployee() {
this.msg.QEmployeeIds = this.msg.QEmployeeIdsArr.join(',')
this.init();
},
// 获取业务员
Employee() {
let userInfo = this.getLocalStorage();
let msg = {
RB_Group_id: userInfo.RB_Group_id,
BranchId: 1245,
DepartmentId: 0,
PostId: 0,
IsLeave: 0,
};
this.apipost2(
"admin_get_EmployeeGetList",
msg,
(res) => {
if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
// let data = {
// EmName: "不限",
// EmployeeId: "0",
// };
// this.EmployeeList.unshift(data);
} else {}
},
(err) => {}
);
},
handleClose(done) {
done();
},
......
<template>
<div class="customerManage" style="display:flex;height:calc(100% - 20px);flex-direction:column;">
<div class="tools" style="border:none;">
<div class="tools-item">
<h1>年度引流统计</h1>
</div>
<div>
<span class="font-size-12" style="padding-right: 10px"
>业务员</span
>
<!-- height: 40px; overflow: auto -->
<el-select style="width: 220px;" filterable multiple clearable v-model="msg.QEmployeeIdsArr" @change="changeEmployee">
<el-option
v-for="(item, index) in EmployeeList"
:key="index"
:label="item.EmName"
:value="item.EmployeeId"
>
</el-option>
</el-select>
</div>
<div class="rightmenu">
<el-dropdown @command="handleCommand">
<el-button class="crm-btn crm-btn-more easy-btn margin-right0">
<i class="iconfont icongengduo"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="1"><i class="iconfont icondaochu"></i> 导出</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
<el-tabs v-model="activeName" style="flex:1;height:100%;" class="diy-eltabs" tab-position="top">
<el-tab-pane label="年度数据" name="monthdata" style="background:#000">
<div class="data-box-item">
<el-table :data="tableData" tooltip-effect="dark" v-loading="loading" style="width: 100%;" height="100%" border>
<el-table-column prop="ItemName" label="" width="150">
</el-table-column>
<el-table-column>
<template slot="header" slot-scope="scope">{{year.first}}</template>
<template slot-scope="scope">{{scope.row.FirstYear}}</template>
</el-table-column>
<el-table-column>
<template slot="header" slot-scope="scope">{{year.second}}</template>
<template slot-scope="scope">{{scope.row.SecondYear}}</template>
</el-table-column>
<el-table-column prop="YearRate" label="平均" :formatter="formatter"></el-table-column>
</el-table>
</div>
</el-tab-pane>
<el-tab-pane label="年度成长率" name="monthrate">
<div class="data-box-item">
<el-table :data="rateData" tooltip-effect="dark" v-loading="rateLoading" style="width: 100%;" height="100%" border :cell-class-name="tableCellClassName" :row-class-name="tableRowClassName">
<el-table-column prop="ItemName" label="" width="150">
</el-table-column>
<el-table-column>
<template slot="header" slot-scope="scope">{{year.first}}</template>
<template slot-scope="scope">{{scope.row.FirstYear}}</template>
</el-table-column>
<el-table-column>
<template slot="header" slot-scope="scope">{{year.second}}</template>
<template slot-scope="scope">{{scope.row.SecondYear}}%</template>
</el-table-column>
<el-table-column prop="YearRate" label="平均" :formatter="formatter"></el-table-column>
</el-table>
</div>
</el-tab-pane>
</el-tabs>
<div class="tools" style="border:none;">
<div class="tools-item">
<h1>年度引流统计</h1>
</div>
<div>
<span class="font-size-12" style="padding-right: 10px">业务员</span>
<el-select style="width: 220px;" filterable multiple clearable v-model="msg.QEmployeeIdsArr"
@change="changeEmployee">
<el-option v-for="(item, index) in EmployeeList" :key="index" :label="item.EmName" :value="item.EmployeeId">
</el-option>
</el-select>
</div>
<div class="rightmenu">
<el-dropdown @command="handleCommand">
<el-button class="crm-btn crm-btn-more easy-btn margin-right0">
<i class="iconfont icongengduo"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="1"><i class="iconfont icondaochu"></i> 导出</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
<el-tabs v-model="activeName" style="flex:1;height:100%;" class="diy-eltabs" tab-position="top">
<el-tab-pane label="年度数据" name="monthdata" style="background:#000">
<div class="data-box-item">
<el-table :data="tableData" tooltip-effect="dark" v-loading="loading" style="width: 100%;" height="100%"
border>
<el-table-column prop="ItemName" label="" width="150">
</el-table-column>
<el-table-column>
<template slot="header" slot-scope="scope">{{year.first}}</template>
<template slot-scope="scope">{{scope.row.FirstYear}}</template>
</el-table-column>
<el-table-column>
<template slot="header" slot-scope="scope">{{year.second}}</template>
<template slot-scope="scope">{{scope.row.SecondYear}}</template>
</el-table-column>
<el-table-column prop="YearRate" label="平均" :formatter="formatter"></el-table-column>
</el-table>
</div>
</el-tab-pane>
<el-tab-pane label="年度成长率" name="monthrate">
<div class="data-box-item">
<el-table :data="rateData" tooltip-effect="dark" v-loading="rateLoading" style="width: 100%;" height="100%"
border :cell-class-name="tableCellClassName" :row-class-name="tableRowClassName">
<el-table-column prop="ItemName" label="" width="150">
</el-table-column>
<el-table-column>
<template slot="header" slot-scope="scope">{{year.first}}</template>
<template slot-scope="scope">{{scope.row.FirstYear}}</template>
</el-table-column>
<el-table-column>
<template slot="header" slot-scope="scope">{{year.second}}</template>
<template slot-scope="scope">{{scope.row.SecondYear}}%</template>
</el-table-column>
<el-table-column prop="YearRate" label="平均" :formatter="formatter"></el-table-column>
</el-table>
</div>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
export default {
data() {
return {
msg: {
},
total: 0,
tableData: [],
loading: false,
rateLoading: false,
activeName: "monthdata",
rateData: [],
year: {
first: "",
second: "",
},
EmployeeList: []
};
},
mounted() {
this.init();
this.initRate();
this.Employee()
},
methods: {
changeEmployee() {
this.msg.QEmployeeIds =this.msg.QEmployeeIdsArr.join(',')
this.init();
},
// 获取业务员
Employee() {
let userInfo = this.getLocalStorage();
let msg = {
RB_Group_id: userInfo.RB_Group_id,
BranchId: -1,
DepartmentId: 0,
PostId: 0,
IsLeave: 0,
};
this.apipost2(
"admin_get_EmployeeGetList",
msg,
(res) => {
if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
// let data = {
// EmName: "不限",
// EmployeeId: "0",
// };
// this.EmployeeList.unshift(data);
} else {
}
},
(err) => {}
);
},
init() {
if (this.loading) return;
this.loading = true;
this.apipost(
"/api/ClueStatic/GetClueYearV2",
this.msg,
(res) => {
this.loading = false;
let t = res.data.data[0];
this.year.first = t.FirstYearStr;
this.year.second = t.SecondYearStr;
this.tableData = res.data.data;
export default {
data() {
return {
msg: {},
total: 0,
tableData: [],
loading: false,
rateLoading: false,
activeName: "monthdata",
rateData: [],
year: {
first: "",
second: "",
},
(e) => {
this.loading = false;
}
);
EmployeeList: []
};
},
initRate() {
if (this.rateLoading) return;
this.rateLoading = true;
this.apipost(
"/api/ClueStatic/GetClueYearRateV2",
this.msg,
(res) => {
this.rateLoading = false;
this.rateData = res.data.data;
},
(e) => {
this.rateLoading = false;
}
);
},
tableRowClassName({ row }) {
let cname = "font-size-12";
if (row.DateStr == "平均") {
cname += " xiaoji-row";
} else if (row.DateStr == "总数") {
cname += " sum-row";
}
return cname;
},
tableCellClassName({ row, column }) {
try {
if (
row[column.property].toString().indexOf("-") != -1 &&
column.property != "DateStr"
) {
return "warning-col";
}
} catch (error) {}
},
changeMonthHandler(val) {
this.msg.YearStr = val.getFullYear();
mounted() {
this.init();
this.initRate();
this.Employee()
},
formatter(row, column) {
return row[column.property] + "%";
},
handleCommand(command) {
if (command == "1") {
this.downloadHandler();
}
},
downloadHandler() {
this.GetLocalFile(
"/api/ClueStatic/DownLoadClueDay",
this.msg,
"数据统计.xls",
(res) => {
methods: {
changeEmployee() {
this.msg.QEmployeeIds = this.msg.QEmployeeIdsArr.join(',')
this.init();
},
// 获取业务员
Employee() {
let userInfo = this.getLocalStorage();
let msg = {
RB_Group_id: userInfo.RB_Group_id,
BranchId: 1245,
DepartmentId: 0,
PostId: 0,
IsLeave: 0,
};
this.apipost2(
"admin_get_EmployeeGetList",
msg,
(res) => {
if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
} else {}
},
(err) => {}
);
},
init() {
if (this.loading) return;
this.loading = true;
this.apipost(
"/api/ClueStatic/GetClueYearV2",
this.msg,
(res) => {
this.loading = false;
let t = res.data.data[0];
this.year.first = t.FirstYearStr;
this.year.second = t.SecondYearStr;
this.tableData = res.data.data;
},
(e) => {
this.loading = false;
}
);
},
initRate() {
if (this.rateLoading) return;
this.rateLoading = true;
this.apipost(
"/api/ClueStatic/GetClueYearRateV2",
this.msg,
(res) => {
this.rateLoading = false;
this.rateData = res.data.data;
},
(e) => {
this.rateLoading = false;
}
);
},
tableRowClassName({
row
}) {
let cname = "font-size-12";
if (row.DateStr == "平均") {
cname += " xiaoji-row";
} else if (row.DateStr == "总数") {
cname += " sum-row";
}
return cname;
},
tableCellClassName({
row,
column
}) {
try {
if (
row[column.property].toString().indexOf("-") != -1 &&
column.property != "DateStr"
) {
return "warning-col";
}
} catch (error) {}
},
changeMonthHandler(val) {
this.msg.YearStr = val.getFullYear();
this.init();
this.initRate();
},
formatter(row, column) {
return row[column.property] + "%";
},
handleCommand(command) {
if (command == "1") {
this.downloadHandler();
}
},
downloadHandler() {
this.GetLocalFile(
"/api/ClueStatic/DownLoadClueDay",
this.msg,
"数据统计.xls",
(res) => {
this.$message({
message: "导出成功",
type: "success",
});
}
);
},
handleCommand(command) {
if (command == "1") {
if (this.activeName == "monthdata") {
this.downloadHandler(
"/api/ClueStatic/DownLoadClueYear",
"年度引流数据"
);
} else {
this.downloadHandler(
"/api/ClueStatic/DownLoadClueYearRate",
"年度引流成长率"
);
}
}
},
downloadHandler(url, name) {
this.GetLocalFile(url, this.msg, `${name}.xls`, (res) => {
this.$message({
message: "导出成功",
type: "success",
});
}
);
},
handleCommand(command) {
if (command == "1") {
if (this.activeName == "monthdata") {
this.downloadHandler(
"/api/ClueStatic/DownLoadClueYear",
"年度引流数据"
);
} else {
this.downloadHandler(
"/api/ClueStatic/DownLoadClueYearRate",
"年度引流成长率"
);
}
}
},
downloadHandler(url, name) {
this.GetLocalFile(url, this.msg, `${name}.xls`, (res) => {
this.$message({
message: "导出成功",
type: "success",
});
});
},
},
},
};
};
</script>
<style>
@import "../../assets/css/customerManage.css";
@import "../../assets/css/customerManage.css";
.el-table__fixed-body-wrapper table {
padding-bottom: 8px !important;
}
.el-table .xiaoji-row {
background: #ffff00;
}
.el-table .sum-row {
background: #00b0f0;
}
.el-table .warning-col {
background: red;
}
.el-table__fixed-body-wrapper table {
padding-bottom: 8px !important;
}
.el-table .xiaoji-row {
background: #ffff00;
}
.diy-eltabs .el-tabs__content {
height: calc(100% - 40px);
}
.el-table .sum-row {
background: #00b0f0;
}
.el-table .warning-col {
background: red;
}
.diy-eltabs .el-tabs__content {
height: calc(100% - 40px);
}
.diy-eltabs .data-box-item {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
</style>
.diy-eltabs .data-box-item {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
</style>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment