Commit 661bbddf authored by guoyou's avatar guoyou

00

parents 3c5f2b42 7aae60eb
......@@ -8,5 +8,8 @@ test/unit/coverage
test/e2e/reports
selenium-debug.log
.idea
config/dev.env.js
config/**
**/dev.env.js
/*.json
/.gitignore
module.exports = {
NODE_ENV: '"development"',
BASE_API:'"https://xxtest.upyuns.com"',//'"https://dev.dfangche.com"',//'"https://xxfcmgmt.upyuns.com"(正)',//http://10.1.37.192:9527(何), //https://xxtest.upyuns.com(测),10.1.37.246:9527(韩), 10.1.37.244(李斌)10.1.37.248:8765(小威)
BASE_API:'"https://xxtest.upyuns.com"',//'"https://dev.dfangche.com"',//'"https://xxtest.upyuns.com"',//'"https://xxtest.upyuns.com"',//'"https://xxfcmgmt.upyuns.com"(正)',//http://10.1.37.192:9527(何), //https://xxtest.upyuns.com(测),10.1.37.246:9527(韩), 10.1.37.244(李斌)10.1.37.248:8765(小威)
APP_ORIGIN: '"https://wallstreetcn.com"'
}
module.exports = {
NODE_ENV: '"sit"',
BASE_API: '"https://dev.dfangche.com"',
BASE_API: '"https://xxtest.upyuns.com"',
APP_ORIGIN: '"https://wallstreetcn.com"'
};
......@@ -2880,13 +2880,28 @@
}
},
"echarts": {
"version": "3.6.2",
"resolved": "https://registry.npm.taobao.org/echarts/download/echarts-3.6.2.tgz",
"integrity": "sha1-hilUyLWBC/+HpIsN4EFu2MS7HDY=",
"version": "3.8.5",
"resolved": "https://registry.npmjs.org/echarts/-/echarts-3.8.5.tgz",
"integrity": "sha512-E+nnROMfCeiLeoT/fZyX8SE8mKzwkTjyemyoBF543oqjRtjTSKQAVDEihMXy4oC6pJS0tYGdMqCA2ATk8onyRg==",
"requires": {
"zrender": "^3.5.2"
"zrender": "3.7.4"
}
},
"echarts-amap": {
"version": "1.0.0-rc.6",
"resolved": "https://registry.npmjs.org/echarts-amap/-/echarts-amap-1.0.0-rc.6.tgz",
"integrity": "sha1-V4KnTa7lLtRM4/j2JXdWF4PwnhY="
},
"echarts-liquidfill": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/echarts-liquidfill/-/echarts-liquidfill-2.0.5.tgz",
"integrity": "sha512-3G19W5ngoh1L3BXYuD34g0Vd30ORWvQtyxRuL+7vmOZ3FkF6xkgD4pfcCL7QVAQOr+XZ4OiD2ot6dNGsRhflcg=="
},
"echarts-wordcloud": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/echarts-wordcloud/-/echarts-wordcloud-1.1.3.tgz",
"integrity": "sha512-Et8D5xEAoYkidmHun+hEH+2lF9dhCt6D0JJ390vlr2r/1zwhhZAbcL01CEvG93QcMcJpSvSPK8vRiGkTbMHRxg=="
},
"editorconfig": {
"version": "0.13.3",
"resolved": "https://registry.npm.taobao.org/editorconfig/download/editorconfig-0.13.3.tgz",
......@@ -7339,6 +7354,11 @@
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
},
"numerify": {
"version": "1.2.9",
"resolved": "https://registry.npmjs.org/numerify/-/numerify-1.2.9.tgz",
"integrity": "sha512-X4QzQiytV5ZN3TVLhzbtFzjTarUNnaa1pgNDFqt7u7Nqhxe7FvY2eYrGt4WYHlYXDqgtfC/n/a5nJ2y0LijV8w=="
},
"oauth-sign": {
"version": "0.9.0",
"resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz",
......@@ -11253,6 +11273,11 @@
"integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
"dev": true
},
"utils-lite": {
"version": "0.1.10",
"resolved": "https://registry.npmjs.org/utils-lite/-/utils-lite-0.1.10.tgz",
"integrity": "sha512-jlHvdtI8MyWURF/3u+ufIjf1Cs5WjN6WZl9qO8dEkZsVjaI7X5YMUhaCFzkvB69ljt6fo4Dd7V/Oj2NJOFDFOQ=="
},
"utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz",
......@@ -11264,6 +11289,18 @@
"resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.3.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.3.2.tgz",
"integrity": "sha1-G0r0lV6zB3xQHCOHL8ZROBFYcTE="
},
"v-charts": {
"version": "1.19.0",
"resolved": "https://registry.npmjs.org/v-charts/-/v-charts-1.19.0.tgz",
"integrity": "sha512-vm2HBUmxAsXK0ivwce9LytcpqrItDA5JSPLYVxZXtiuoyhcn80XX1/3dPJd/1GqG1OYv3jfBo1s9ra4q8GowqA==",
"requires": {
"echarts-amap": "1.0.0-rc.6",
"echarts-liquidfill": "^2.0.2",
"echarts-wordcloud": "^1.1.3",
"numerify": "1.2.9",
"utils-lite": "0.1.10"
}
},
"v-viewer": {
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/v-viewer/-/v-viewer-1.4.2.tgz",
......@@ -12132,9 +12169,9 @@
}
},
"zrender": {
"version": "3.6.3",
"resolved": "https://registry.npm.taobao.org/zrender/download/zrender-3.6.3.tgz",
"integrity": "sha1-46BroQXMRes2SSqBjnt66HmnsVs="
"version": "3.7.4",
"resolved": "https://registry.npmjs.org/zrender/-/zrender-3.7.4.tgz",
"integrity": "sha512-5Nz7+L1wIoL0+Pp/iOP56jD6eD017qC9VRSgUBheXBiAHgOBJZ4uh4/g6e83acIwa8RKSyZf/FlceKu5ntUuxQ=="
}
}
}
......@@ -16,8 +16,8 @@
"axios": "0.16.2",
"codemirror": "5.26.0",
"dropzone": "5.1.0",
"echarts": "3.6.2",
"element-ui": "1.4.1",
"echarts": "^3.8.5",
"element-ui": "^1.4.1",
"file-saver": "1.3.3",
"jquery": "^3.4.0",
"js-cookie": "2.1.4",
......@@ -31,6 +31,7 @@
"showdown": "1.7.1",
"simplemde": "1.11.2",
"sortablejs": "1.5.1",
"v-charts": "^1.19.0",
"v-viewer": "^1.4.2",
"vue": "2.4.2",
"vue-baidu-map": "^0.21.19",
......
......@@ -27,3 +27,10 @@ export function update(params) {
data:params
});
}
export function setBind(params) {
return fetch({
url: 'api/admin/relation/admin/bind',
method: 'post',
data: params
});
}
\ No newline at end of file
......@@ -4,6 +4,7 @@ export function appPage(obj) {
return fetch({
url: '/api/admin/appUsersManage/findAll',
method: 'post',
timeout: '30000',
data: obj
});
}
......@@ -148,3 +149,14 @@ export function username(id) {
method: 'get'
});
}
/**
* 用户详情
* @param obj
*/
export function getOne(id) {
return fetch({
url: '/api/admin/appUsersManage/user_info/'+id,
method: 'get',
});
}
import fetch from 'utils/fetch';
/**
* 获取消息列表
* @param query
*/
export function page(query) {
return fetch({
url: '/api/im/msg/bg/app/unauth/list',
method: 'post',
data: query
});
}
/**
* 获取更新
* @param query
*/
export function updateMsg(params) {
return fetch({
url: '/api/im/msg/bg/app/unauth/update',
method: 'post',
data: params
});
}
/**
* 删除消息
*/
export function delMsg(query) {
return fetch({
url: '/api/im/msg/bg/app/unauth/delete',
method: 'get',
params: query
});
}
/**
* 获取问答列表
*/
export function geImQuestionList(query) {
return fetch({
url: '/api/im/imQuestion/list',
method: 'get',
params: query
});
}
/**
* 更新问答
* @param query
*/
export function updateImQuestion(params) {
return fetch({
url: '/api/im/imQuestion/bg/app/unauth/update',
method: 'post',
data: params
});
}
/**
* 删除消息
*/
export function delQuestion(query) {
return fetch({
url: '/api/im/imQuestion/bg/app/unauth/delete',
method: 'get',
params: query
});
}
import fetch from 'utils/fetch';
//获取租车订单
export function page(query) {
return fetch({
url: '/api/order/baseOrder/getOrderList',
url: '/api/order/baseOrder/getAll',
method: 'get',
params:query
params: query
});
}
//获取旅游订单
export function getOrderList(query) {
return fetch({
url: '/api/order/baseOrder/getOrderList',
method: 'get',
params: query
});
}
/**
* 获取所有分公司
*/
......@@ -22,7 +30,7 @@ export function getAllBranchCompanyByZoneId(query) {
return fetch({
url: '/vehicle/branchCompany/app/unauth/getByZone',
method: 'get',
params:query
params: query
});
}
......@@ -30,7 +38,7 @@ export function getOrderVehicleCrosstown(query) {
return fetch({
url: '/api/order/orderVehicle/getByOrderId',
method: 'get',
params:query
params: query
});
}
......@@ -76,7 +84,7 @@ export function inquire(query) {
return fetch({
url: '/vehicle/vehicleInfo/rent/back-stage/usable-vehicle',
method: 'get',
params:query
params: query
});
}
......@@ -85,16 +93,16 @@ export function addIndent(params) {
return fetch({
url: '/api/order/orderRentVehicle/back-stage/add',
method: 'post',
data:params
data: params
});
}
//删除订单
export function calculate(no, params) {
return fetch({
url: '/api/order/baseOrder/back-stage/cancel/'+ no,
url: '/api/order/baseOrder/back-stage/cancel/' + no,
method: 'post',
data:params
data: params
});
}
......@@ -104,7 +112,7 @@ export function calculate(no, params) {
*/
export function getViolatePrice(no) {
return fetch({
url: '/api/order/orderRefund/bg-stage/getViolatePrice/'+ no,
url: '/api/order/orderRefund/bg-stage/getViolatePrice/' + no,
method: 'get',
});
}
......@@ -114,7 +122,7 @@ export function orderStatistics(params) {
return fetch({
url: 'api/order/orderStatistics/order',
method: 'post',
data:params
data: params
});
}
......@@ -154,3 +162,12 @@ export function user_info(id) {
method: 'get'
});
}
//获取订单详情
export function orderDetail(query) {
return fetch({
url: '/api/order/baseOrder/orderDetail',
method: 'get',
params: query
});
}
import fetch from 'utils/fetch';
export function getDate(query) {
return fetch({
url: 'api/admin/staff_statistics/page',
method: 'post',
data: query
});
}
import fetch from 'utils/fetch';
//车辆统计信息列表
export function pageList(params) {
return fetch({
url: '/vehicle/bg-vehicle/count/getAll',
method: 'get',
params: params
});
}
//车辆统计信息导出
export function vehicleInfoExcel(params) {
return fetch({
url: '/vehicle/bg-vehicle/count/app/unauth/export',
method: 'get',
params: params,
responseType: 'blob'
});
}
\ No newline at end of file
......@@ -31,7 +31,6 @@ export function getOneGoodsById(query) {
}
/**
* 获取bannerList
// url: '/api/tour/admin/tourBanner/page',
*/
export function getBannerList(query) {
return fetch({
......@@ -41,7 +40,7 @@ export function getBannerList(query) {
});
}
/**
* 添加banner '/api/tour/admin/tourBanner',
* 添加banner
*/
export function addBanner(params) {
return fetch({
......
......@@ -123,3 +123,11 @@ export function downloadExcel(query) {
responseType: 'blob'
});
}
export function exportExcel(query) {
return fetch({
url: '/vehicle/VehicleInformationDownload/app/unauth/export',
method: 'get',
responseType: 'blob'
});
}
......@@ -143,6 +143,17 @@ export function addVehicleModel(params) {
});
}
/**
* App是否展示
* @param {Object} params
*/
export function updateAppShow(params) {
return fetch({
url: '/vehicle/vehicleModel/bg/updateAppShow',
method: 'post',
data: params
});
}
/*
* 删除一条车型数据
* */
......@@ -180,10 +191,13 @@ export function dayList(day) {
}
// 日历价格设置
export function add_edit(params) {
export function add_edit(params, date) {
return fetch({
url: '/vehicle/admin/vehicle_model/calendar_price/add_edit',
url: '/vehicle/admin/vehicle_model/calendar_price/add_edit/' + date,
method: 'post',
headers: {
'Content-Type': 'application/json;charset=UTF-8'
},
data: params
});
}
......
......@@ -14,7 +14,7 @@ import 'assets/iconfont/iconfont'; // iconfont 具体图标见https://github.com
import * as filters from './filters'; // 全局vue filter
import Multiselect from 'vue-multiselect';// 使用的一个多选框组件,element-ui的select不能满足所有需求
import 'vue-multiselect/dist/vue-multiselect.min.css';// 多选框组件css
import 'swiper/dist/css/swiper.css';//引入swiper样式
import 'swiper/dist/css/swiper.css';// 引入swiper样式
import Sticky from 'components/Sticky'; // 粘性header组件
import IconSvg from 'components/Icon-svg';// svg 组件
import vueWaves from './directive/waves';// 水波纹指令
......@@ -71,6 +71,8 @@ Vue.use(Viewer, {
zIndex: 9999
}
})
import VCharts from 'v-charts'
Vue.use(VCharts)
// register globally
Vue.component('multiselect', Multiselect);
Vue.component('Sticky', Sticky);
......
......@@ -309,6 +309,33 @@ export const asyncRouterMap = [{
}
]
},
{
path: '/discoveryModule',
component: Layout,
name: '发现模块',
icon: 'setting',
authority: 'discoveryModule',
children: [
{
path: 'clapIndex',
component: _import('discoveryModule/clapIndex'),
name: '拍拍',
authority: 'clapIndex'
},
{
path: 'shortVideo',
component: _import('discoveryModule/shortVideo'),
name: '短视频',
authority: 'shortVideo'
},
{
path: 'questionsAndAnswers',
component: _import('discoveryModule/questionsAndAnswers'),
name: '问答',
authority: 'questionsAndAnswers'
}
]
},
{
path: '/campsiteManage',
component: Layout,
......@@ -524,9 +551,9 @@ export const asyncRouterMap = [{
authority: 'memberEnter'
},
{
path:'imCustomerServiceManger',
path: 'imCustomerServiceManger',
component: _import('userManagement/imCustomerServiceManger/cusomterServiceList'),
name:'客服列表',
name: '客服列表',
authority: 'imCustomerServiceManger'
},{
path: 'employeesInput',
......@@ -634,9 +661,8 @@ export const asyncRouterMap = [{
authority: 'carApplyList'
}
]
}
,
{
},
{
path: '/xxOfficialWebsite',
component: Layout,
name: '欣新房车官网管理',
......@@ -674,8 +700,8 @@ export const asyncRouterMap = [{
authority: 'friendLinkList'
}
]
},
{
},
{
path: '/summit',
component: Layout,
name: '峰会管理',
......@@ -689,5 +715,45 @@ export const asyncRouterMap = [{
authority: 'summitList'
}
]
},
{
path: '/statistics',
component: Layout,
name: '数据统计',
icon: 'setting',
authority: 'statistics',
children: [
{
path: 'orderStatistics',
component: _import('statistics/orderStatistics'),
name: '订单统计',
authority: 'orderStatistics'
}, {
path: 'vehicleStatistics',
component: _import('statistics/vehicleStatistics'),
name: '车辆统计',
authority: 'vehicleStatistics'
}
]
},
{
path: '/financial',
component: Layout,
name: '财务报表',
icon: 'setting',
authority: 'financial',
children: [
{
path: 'staffPerformance',
component: _import('financial/staffPerformance'),
name: '员工业绩报表',
authority: 'staffPerformance'
}, {
path: 'memberPerformance',
component: _import('financial/memberPerformance'),
name: '总公司报表',
authority: 'memberPerformance'
}
]
}
];
......@@ -268,3 +268,15 @@
}
return targetObj;
}
/**
* 深拷贝
*/
export function objDeepCopy(source) {
const sourceCopy = source instanceof Array ? [] : {};
for (const item in source) {
sourceCopy[item] = typeof source[item] === 'object' ? objDeepCopy(source[item]) : source[item];
}
return sourceCopy;
}
......@@ -3,7 +3,7 @@
<div class="filter-container" ref="filter-container">
<el-form ref="queryForm" :inline="inline" :model="listQuery" label-width="60px">
<el-row>
<el-col :span="4">
<el-col :span="6">
<el-form-item label="描述">
<el-input v-model.number="listQuery.popupName" placeholder="请输入描述"></el-input>
</el-form-item>
......
......@@ -3,7 +3,7 @@
<div class="filter-container" ref="filter-container">
<el-form ref="queryForm" :inline="inline" :model="listQuery" label-width="60px">
<el-row>
<el-col :span="4">
<el-col :span="6">
<el-form-item label="描述">
<el-input v-model.number="listQuery.activitiesName" placeholder="请输入描述"></el-input>
</el-form-item>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<template>
<div class="app-container calendar-list-container" v-loading="loading">
<el-row style="border-bottom:1px dashed #ccc;padding-bottom:20px">
<el-form :inline="true">
<el-form-item label="统计类型" style="width:200px">
<el-radio-group v-model="listquery.radio1">
<el-radio-button label="0">收入</el-radio-button>
<el-radio-button label="1">支出</el-radio-button>
</el-radio-group>
</el-form-item>
<el-date-picker v-model="time" type="daterange" placeholder="选择日期范围" @change="changeTime"></el-date-picker>
<el-select
v-model="listquery.userPostionId"
clearable
placeholder="请选择订单类型"
@change="changeStaff"
>
<el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
<el-button type="primary" :loading="excelLoading" @click="downloadExcel">导出报表</el-button>
</el-form>
</el-row>
<div class="information">
<h4>数据概况</h4>
<ul>
<li>
<p>{{information.staffNum}}</p>
<p>订单总量</p>
</li>
<li>
<p>{{information.totalRoyaltyAmount}}</p>
<p>应退还金额</p>
</li>
<li>
<p>{{information.totalRoyaltyAmount}}</p>
<p>实际退还</p>
</li>
</ul>
</div>
<el-table :data="tableData" border style="width: 100%" header-align="center" height="450">
<el-table-column prop="name" label="退款日期" align="center"></el-table-column>
<el-table-column prop="companyNames" label="订单ID" align="center">
<template scope="scope">
<p v-for="(item,index) in scope.row.companyNames" :key="index">{{item}}</p>
</template>
</el-table-column>
<el-table-column prop="postionNames" label="订单类型" align="center">
<template scope="scope">
<span
v-for="(item,index) in scope.row.postionNames"
:key="index"
style="margin-left:10px"
>{{item}}</span>
</template>
</el-table-column>
<el-table-column prop="phone" label="退还类型" align="center"></el-table-column>
<el-table-column prop="sellAmount" label="应退还金额" align="center"></el-table-column>
<el-table-column prop="royaltyAmount" label="实际退款接" align="center"></el-table-column>
<el-table-column label="客户名字" align="center">
<template scope="scope">
<span>{{scope.row.memberOrderNum}} / {{scope.row.memberAmount}}</span>
</template>
</el-table-column>
<el-table-column label="客户手机号" align="center">
<template scope="scope">
<span>{{scope.row.rentVehicleOrderNum}} / {{scope.row.rentVehicleAmount}}</span>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="listquery.page"
:page-sizes="[10,20,30, 50]"
:page-size="listquery.limit"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
style="margin-top:20px"
></el-pagination>
</div>
</template>
<script>
import { getDate } from 'api/statistics'
import { getrewardSetting } from 'api/purseManage'
export default {
created() {
this.getList()
},
data() {
return {
loading: false,
total: null,
information: {},
time: [],
tableData: [], //表格数据
excelLoading: false, //导出loading
options: [
{
id: '0',
name: '首次购买'
},
{
id: '1',
name: '续费'
},
{
id: '2',
name: '激活'
},
{
id: '3',
name: '付费'
}
], //身份
listquery: {
startDate: null, //开始日期
endDate: null, //结束日期
userPostionId: null, //身份
page: 1,
limit: 10,
radio1: 0
}
}
},
methods: {
handleSizeChange(val) {
this.listquery.limit = val
this.getList()
},
handleCurrentChange(val) {
this.listquery.page = val
this.getList()
},
//时间筛选
changeTime(val, value) {
this.listquery.page = 1
if (!!val) {
let value = val.split(' - ')
this.listquery.startDate = value[0] + ' 00:00:00'
this.listquery.endDate = value[1] + ' 23:59:59'
this.getList()
} else {
this.listquery.startDate = null
this.listquery.endDate = null
this.getList()
}
},
//身份筛选
changeStaff() {
this.listquery.page = 1
this.getList()
},
//列表数据
getList() {
// this.loading = true
// getDate(this.listquery).then(data => {
// if (data.status == 200) {
// this.tableData = data.data.data
// this.total = data.data.totalCount
// }
// setTimeout(() => {
// this.loading = false
// }, 300)
// })
},
//导出
downloadExcel() {
this.excelLoading = true
}
}
}
</script>
<style scoped>
.information {
border: 1px solid #ccc;
margin: 20px 0;
padding: 10px 20px;
}
.information h4 {
color: #333;
font-size: 16px;
font-weight: normal;
}
.information ul {
padding: 0;
border-top: 1px solid #eee;
padding: 10px 30px;
overflow: hidden;
}
.information li {
list-style: none;
text-align: center;
float: left;
width: 33.33%;
border-right: 1px solid #eee;
}
.information li:last-child {
border: none;
}
</style>
\ No newline at end of file
<template>
<div class="app-container calendar-list-container" v-loading="loading">
<el-row style="border-bottom:1px dashed #ccc;padding-bottom:20px">
<el-date-picker v-model="time" type="daterange" placeholder="选择日期范围" @change="changeTime"></el-date-picker>
<el-select
v-model="listquery.companyId"
filterable
placeholder="请选择公司"
@change="changeCompany"
clearable
>
<el-option v-for="item in allCompaniesArr" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
<el-select v-model="listquery.userPostionId" clearable placeholder="请选择身份" @change="changeStaff">
<el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
<el-button type="primary" :loading="excelLoading" @click="downloadExcel">导出报表</el-button>
</el-row>
<div class="information">
<h4>数据概况</h4>
<ul>
<li>
<p>{{information.staffNum}}</p>
<p>员工总数(人)</p>
</li>
<li>
<p>{{information.totalSellAmount}}</p>
<p>员工销售额(元)</p>
</li>
<li>
<p>{{information.totalRoyaltyAmount}}</p>
<p>员工App提成总额(元)</p>
</li>
</ul>
</div>
<el-table
:data="tableData"
border
style="width: 100%"
header-align="center"
height="450"
@select="choose"
@select-all="chooseAll"
ref="multipleTable"
>
<el-table-column type="selection" width="55" align="center"></el-table-column>
<el-table-column type="index" width="80" label="序号" align="center"></el-table-column>
<el-table-column prop="name" label="员工姓名" align="center"></el-table-column>
<el-table-column prop="companyNames" label="所属公司" align="center">
<template scope="scope">
<p v-for="(item,index) in scope.row.companyNames" :key="index">{{item}}</p>
</template>
</el-table-column>
<el-table-column prop="postionNames" label="身份" align="center">
<template scope="scope">
<span
v-for="(item,index) in scope.row.postionNames"
:key="index"
style="margin-left:10px"
>{{item}}</span>
</template>
</el-table-column>
<el-table-column prop="phone" label="电话" align="center"></el-table-column>
<el-table-column prop="sellAmount" label="销售额(元)" align="center"></el-table-column>
<el-table-column prop="royaltyAmount" label="APP提成(5%)" width="100px" align="center"></el-table-column>
<el-table-column label="会员订单数/合计金额(元)" width="120px" align="center">
<template scope="scope">
<span>{{scope.row.memberOrderNum}} / {{scope.row.memberAmount}}</span>
</template>
</el-table-column>
<el-table-column label="租车订单数/合计金额(元)" width="120px" align="center">
<template scope="scope">
<span>{{scope.row.rentVehicleOrderNum}} / {{scope.row.rentVehicleAmount}}</span>
</template>
</el-table-column>
<el-table-column label="旅游订单数/合计金额(元)" width="120px" align="center">
<template scope="scope">
<span>{{scope.row.travelOrderNum}} / {{scope.row.travelAmount}}</span>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="listquery.page"
:page-sizes="[3,10,20,30, 50]"
:page-size="listquery.limit"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
style="margin-top:20px"
></el-pagination>
</div>
</template>
<script>
import { getAll } from 'api/base_info/branch_company/'
import { getDate } from 'api/statistics'
import { getrewardSetting } from 'api/purseManage'
export default {
created() {
this.getList()
this.getCompany()
this.getrewardSettingFn()
},
data() {
return {
loading: false, //页面loading
total: null, //总页数
information: {}, //统计数据
time: [], //时间筛选
tableData: [], //表格数据
excelLoading: false, //导出loading
allCompaniesArr: [], //公司
options: [], //身份
allChoose: false, //是否全选
listquery: {
startDate: null, //开始日期
endDate: null, //结束日期
companyId: null, //公司
userPostionId: null, //身份
page: 1,
limit: 10,
isExport: false
}
}
},
methods: {
//全选
chooseAll(arr) {
arr.length > 0 ? (this.allChoose = true) : (this.allChoose = false)
},
//多选
choose(val, row) {
console.log(val)
},
//页码
handleSizeChange(val) {
this.listquery.limit = val
this.getList()
},
//分页
handleCurrentChange(val) {
this.listquery.page = val
this.getList()
},
//时间筛选
changeTime(val, value) {
this.listquery.page = 1
if (!!val) {
let value = val.split(' - ')
this.listquery.startDate = value[0] + ' 00:00:00'
this.listquery.endDate = value[1] + ' 23:59:59'
this.getList()
} else {
this.listquery.startDate = null
this.listquery.endDate = null
this.getList()
}
},
//分公司筛选
changeCompany(val) {
this.listquery.page = 1
this.getList()
},
//身份筛选
changeStaff() {
this.listquery.page = 1
this.getList()
},
//列表数据
getList() {
this.loading = true
getDate(this.listquery).then(data => {
if (data.status == 200) {
this.tableData = data.data.page.data
this.total = data.data.page.totalCount
//点击全选所有分页都全选
if (!!this.allChoose) {
this.$nextTick(function() {
for (
let index = 0;
index < this.tableData.length;
index++
) {
this.$refs.multipleTable.toggleRowSelection(
this.tableData[index]
)
}
})
}
//第一页才调取统计
if (data.data.page.pageNum == 1) {
this.information = data.data.total
}
}
setTimeout(() => {
this.loading = false
}, 300)
})
},
//获取分公司
getCompany() {
getAll().then(data => {
this.allCompaniesArr = data.data
})
},
//获取身份
getrewardSettingFn() {
getrewardSetting().then(data => {
this.options = data.data.filter(item => item.id != 6)
})
},
//导出
downloadExcel() {
this.excelLoading = true
}
}
}
</script>
<style scoped>
.information {
border: 1px solid #ccc;
margin: 20px 0;
padding: 10px 20px;
}
.information h4 {
color: #333;
font-size: 16px;
font-weight: normal;
}
.information ul {
padding: 0;
border-top: 1px solid #eee;
padding: 10px 30px;
overflow: hidden;
}
.information li {
list-style: none;
text-align: center;
float: left;
width: 33.33%;
border-right: 1px solid #eee;
}
.information li:last-child {
border: none;
}
</style>
\ No newline at end of file
......@@ -28,7 +28,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-col :span="6">
<el-form-item label="创建时间">
<el-date-picker
v-model="createTime"
......@@ -39,7 +39,7 @@
<!-- <el-date-picker v-model="createTime" type="datetimerange" placeholder="选择时间范围" @change="changeCreate"></el-date-picker> -->
</el-form-item>
</el-col>
<el-col :span="5">
<el-col :span="6">
<el-form-item label="支付时间">
<!-- <el-date-picker v-model="aplyTime" type="datetimerange" placeholder="选择支付时间范围" @change="changePay"></el-date-picker> -->
<el-date-picker
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -55,7 +55,7 @@
<span>{{scope.row.saleCount}}</span>
</template>
</el-table-column>
<el-table-column align="center" width="150" fixed="right" label="操作">
<el-table-column align="center" width="150" label="操作">
<template scope="scope">
<el-button size="small" class="el-button el-button--text el-button--small" @click="handleUpdate(scope.row)">{{good_btn_update?'编辑':'查看'}}
</el-button>
......
......@@ -3,12 +3,12 @@
<div class="filter-container">
<el-form ref="queryForm" :model="listQuery" label-width="100px">
<el-row>
<el-col :span="4">
<el-col :span="6">
<el-form-item label="手机号">
<el-input v-model.number="listQuery.username" placeholder="请输入手机号"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="16">
<el-form-item label="导入时间">
<el-date-picker
v-model="listQuery.startTime"
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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