123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8"/>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
- <meta name="keywords" content="扫码支付,线上投币,运营数据,物联网"/>
- <meta name="format-detection" content="telphone=no,email=no"/>
- <meta name="viewport"
- content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <meta http-equiv="expires" content="0">
- <title>收入详情</title>
- <link rel="stylesheet" href="/components/lib/mui.min.css"/>
- <link rel="stylesheet" href="../components/lib/mui.picker.min.css"/>
- <link rel="stylesheet" href="/components/custom/css/common.css"/>
- <link rel="stylesheet" href="/app/css/xyf.common.min.css">
- <style>
- #time {
- line-height: 44px;
- padding-left: 15px;
- }
- </style>
- </head>
- <body class="income-trend">
- <div class="mui-table-view mui-reset">
- <div class="mui-row">
- <div class="mui-col-xs-9 mui-col-sm-9">
- <span class="font-b-14-6" id="time"></span>
- </div>
- <div class="mui-col-xs-3 mui-col-sm-3 mui-text-right">
- <div class="filter-btn"><span>筛选</span><i class="iconfont icon-triangle-up"></i></div>
- </div>
- </div>
- </div>
- <div id="pullrefresh" class="mui-content mui-scroll-wrapper" style="margin-top: 44px">
- <div class="mui-scroll">
- <div class="mui-content ">
- <div class="mui-control-content mui-active">
- <div class="index-hd">
- <i class="iconfont icon-purse purse-logo-back"></i>
- <a href="javascript:void(0)" class="hd-tab">
- <em>累计收益(元)</em>
- <span id="totalIncome">0.00</span>
- </a>
- <div class="mui-table hd-cell">
- <div class="mui-table-cell mui-ellipsis">
- <span>昨日收益(元)</span><em id="yesterdayIncome">+0.00</em>
- </div>
- <div class="mui-table-cell mui-ellipsis">
- <span>本月收益(元)</span><em id="currentMonthIncome">+0.00</em>
- </div>
- <div class="mui-table-cell mui-ellipsis">
- <span>计数(条)</span><em id="total">0</em>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="group-wrap mui-table-view"></div>
- </div>
- </div>
- <div class="filter-panel datepickerSelecter" style="display: none" id="options">
- <div class="input-group-vertical mui-table-view clear-b-border datepicker">
- <div class="mui-button-row">
- <button class="mui-btn mui-btn-outlined" range="1">今天</button>
- <button class="mui-btn mui-btn-outlined" range="7">近7天</button>
- <button class="mui-btn mui-btn-outlined" range="15">近15天</button>
- <button class="mui-btn mui-btn-outlined" range="30">近30天</button>
- </div>
- <div class="or-border-fir mui-input-row input-clear or-order-status select-date" id="start-date">
- <label class="or-label-text">开始日期</label>
- <span class="mui-icon mui-icon-arrowright"></span>
- <span class="or-order-status-font selected-text" id="beginDate"></span>
- </div>
- <div class="or-border-fir mui-input-row input-clear or-order-status select-date" id="end-date">
- <label class="or-label-text">结束日期</label>
- <span class="mui-icon mui-icon-arrowright"></span>
- <span class="or-order-status-font selected-text" id="endDate"></span>
- </div>
- <div class="or-border-fir mui-input-row input-clear or-order-status" id="type">
- <label class="or-label-text">收益类型</label>
- <span class="mui-icon mui-icon-arrowright"></span>
- <span class="or-order-status-font selected-text">全部</span>
- </div>
- <div class="or-border-fir mui-input-row input-clear or-order-status" id="showPickerDealer">
- <label class="or-label-text">经销商</label>
- <span class="mui-icon mui-icon-arrowright"></span>
- <span class="or-order-status-font selected-text">全部</span>
- </div>
- <div class="or-border-fir mui-input-row filter-panel-btn flexbox">
- <span class="cancel-btn flex">取消</span>
- <span class="ok-btn flex">确定</span>
- </div>
- </div>
- </div>
- <script src="/components/lib/jquery.min.js"></script>
- <script src="/components/lib/mui.min.js"></script>
- <script src="/components/lib/mui.picker.min.js"></script>
- <script src="/components/lib/moment.min.js"></script>
- <script src="/components/lib/moment.zh.js"></script>
- <script src="/components/custom/js/common.js"></script>
- <script src="/app/js/xyf.common.js"></script>
- <script>
- var startTime = moment().format("YYYY-MM-DD");
- var endTime = moment().format("YYYY-MM-DD");
- var type = getQueryString("type");//收入类型,dealer_card_fee、ad、dealer_withdraw_fee
- var typeMap = {
- "": "全部",
- dealer_card_fee: "流量卡",
- dealer_device_fee: "设备营收",
- dealer_withdraw_fee: "提现手续费",
- };
- setTimeTitle();//设置时间标题
- var pageIndex = 0;
- var total = 0;
- var dealerId = null;
- FilterComponent({
- ok: function () {
- /*合法性验证*/
- if (startTime > endTime) {
- mui.alert('开始日期不能大于结束日期', '温馨提示', '确定');
- return false;
- }
- setTimeTitle();//显示刚刚选择的时间
- search();//刷新数据
- }
- });
- function setTimeTitle() {
- var typeText = typeMap[type] || "";
- if (startTime == endTime) {
- $("#time").html(startTime + "的" + typeText + "收益");
- } else {
- $("#time").html(startTime + "至" + endTime + "的" + typeText + "收益");
- }
- $('#beginDate').text(startTime);
- $('#endDate').text(endTime);
- }
- $(function () {
- if (type != null && !typeMap[type]) {
- mui.toast("页面参数错误");
- return;
- }
- //可选日期范围
- var pickerBegin = moment().add(-5, "year").toDate();//控件可选最小时间
- var pickerEnd = new Date();//控件可选最大时间
- var options = {
- type: "date",
- beginDate: pickerBegin,
- endDate: pickerEnd
- };
- var startTimeBtn = $('#start-date');
- var startTimePicker = new mui.DtPicker(options);
- startTimePicker.setSelectedValue(startTime);
- startTimeBtn[0].addEventListener('tap', function () {
- startTimePicker.show(function (time) {
- startTime = time.y.text + '-' + time.m.text + '-' + time.d.text + '';
- $('#beginDate').text(startTime);
- });
- }, false);
- var endTimeBtn = $('#end-date');
- var endTimePicker = new mui.DtPicker(options);
- endTimePicker.setSelectedValue(endTime);
- endTimeBtn[0].addEventListener('tap', function () {
- endTimePicker.show(function (time) {
- endTime = time.y.text + '-' + time.m.text + '-' + time.d.text + '';
- $('#endDate').text(endTime);
- });
- }, false);
- $('.datepicker .mui-button-row button').tap(function () {
- $(this).addClass('active').siblings().removeClass('active');
- var range = $(this).attr('range');
- setDateTime(range);//快速日期选择
- startTimePicker.setSelectedValue(startTime);
- endTimePicker.setSelectedValue(endTime);
- });
- function setDateTime(range) {
- endTime = moment().format("YYYY-MM-DD");
- if (range && range > 0) {
- startTime = moment().add(-(range - 1), "day").format("YYYY-MM-DD");
- }
- $('#beginDate').text(startTime);
- $('#endDate').text(endTime);
- }
- // ....................收益类型,广告收入、提现手续费、流量卡等....................
- var typePicker = new mui.PopPicker({
- layer: 1
- });
- var typeMapList = [];
- for (var key in typeMap) {
- typeMapList.push({value: key, text: typeMap[key]})
- }
- typePicker.setData(typeMapList);
- typePicker.pickers[0].setSelectedValue(type);
- $('#type .selected-text').html(typeMap[type]);
- $("#type").on("tap", function () {
- typePicker.show(function (rs) {
- type = rs[0].value;
- $('#type .selected-text').html(rs[0].text);
- });
- return false;
- });
- //....................经销商选择器.................... todo 经销商太多选择器不好用
- var dealerPicker = new mui.PopPicker({
- layer: 1
- });
- sendRequest('/agent/getDealerList', 'GET', {"pageSize": 1000,}, function (res) {
- if (res.result == 1) {
- var pickerDatas = [];
- pickerDatas.push({
- value: '',
- text: '全部',
- });
- var datas = res.para.dataList;
- for (var i = 0, length = datas.length; i < length; i++) {
- var item = {
- value: datas[i].id,
- text: datas[i].name + " " + datas[i].tel,
- };
- pickerDatas.push(item);
- }
- dealerPicker.setData(pickerDatas);
- } else {
- mui.toast(res.description);
- }
- });
- // 地址选择器
- $("#showPickerDealer").on("tap", function () {
- dealerPicker.show(function (rs) {
- dealerId = rs[0].value;
- $('#showPickerDealer .selected-text').html(rs[0].text);
- });
- return false;
- });
- //初始化收入概览
- incomeStatistics();
- });
- mui.init({
- pullRefresh: {
- container: '#pullrefresh',
- up: {
- contentrefresh: '正在加载...',
- contentnomore: '没有更多数据了...',
- callback: pullupRefresh
- }
- }
- });
- /**
- * 收入概览
- */
- function incomeStatistics() {
- var url = "/agent/getIncomeStatistics";
- var inData = {
- "startTime": startTime,
- "endTime": endTime,
- "source": type,
- "dealerId": dealerId,
- };
- sendRequest(url, "GET", inData, function (response) {
- if (response.result == 1) {
- var obj = response.para;
- $("#totalIncome").html(parseFloat(obj.totalIncome) + "");
- $("#yesterdayIncome").html("+" + parseFloat(obj.yesterdayIncome) + "");
- $("#currentMonthIncome").html("+" + parseFloat(obj.currentMonthIncome) + "");
- } else {
- mui.toast(response.description);
- }
- });
- }
- function search() {
- pageIndex = 0;
- listNowMonth = "";
- $('.group-wrap').html("");
- mui('#pullrefresh').pullRefresh().refresh(true);//重置上拉加载
- pullupRefresh();//刷新数据
- incomeStatistics();//刷新收入概览
- }
- var listNowMonth = "";//列表当前的月份
- function pullupRefresh() {
- pageIndex++;
- var url = "/agent/getIncomeList";
- var data = {
- "pageIndex": pageIndex,
- "pageSize": 10,
- "startTime": startTime,
- "endTime": endTime,
- "source": type,
- "dealerId": dealerId,
- };
- sendRequest(url, "GET", data, function (res) {
- if (res.result == 1) {
- if (pageIndex == 1) {
- total = res.para.total;
- $("#total").text(total);//刷新计数
- if (total == 0) {
- $("body").append('<div class="nomore"></div>');
- }
- }
- mui('#pullrefresh').pullRefresh().endPullupToRefresh((pageIndex * 10 >= total));
- var groupWrap = $('.group-wrap');
- var length = res.para.dataList.length;
- if (length == 0) {
- var dataDom = '<li class="month-row"><div class="month-text">' + moment(endTime || new Date()).format("YY年MM月") + '</div>' +
- '<div class="month-income">无记录</div></li>';
- groupWrap.append(dataDom);
- }
- for (var i = 0; i < length; i++) {
- var item = res.para.dataList[i];
- var amount = parseFloat(item.amount);
- //新的月份准备放在列表中间
- var month = moment(item.time).format("YY年MM月");
- if (month == listNowMonth) {
- //nothing
- } else {
- listNowMonth = month;
- var monthDom = '<li class="month-row"><div class="month-text">' + listNowMonth + '</div><div class="month-income">收入¥'
- + item.monthlyIncome + '</div></li>';
- //上一个月底部加线条
- groupWrap.find(".mui-table-view-cell:last-child").addClass("last-child");
- groupWrap.append(monthDom);
- }
- //todo 暂时不可看下一级
- var dom = '<li class="mui-table-view-cell"><a class="mui-navigate-right-todo" ' +
- // 'href="date-income-data.html?dateStr=' + item.dateStr + '&dateText=' + item.dateText + '"' +
- 'href="#">' +
- '<p><span class="font-b-14">' + item.title + '</span><span class="mui-pull-right font-16"><em class="c-red">+' + (amount) + '</em></span></p>' +
- '<p><span class="font-12">' + item.createdTime + '</span></p>' +
- '</a></li>';
- groupWrap.append(dom);
- }
- } else {
- mui.toast(res.description);
- }
- });
- }
- if (mui.os.plus) {
- mui.plusReady(function () {
- setTimeout(function () {
- mui('#pullrefresh').pullRefresh().pullupLoading();
- }, 1000);
- });
- } else {
- mui.ready(function () {
- mui('#pullrefresh').pullRefresh().pullupLoading();
- });
- }
- </script>
- </body>
- </html>
|