settter
parent
c7d77f4ca6
commit
dd6b9d9699
|
@ -14,7 +14,6 @@ class Bill extends Base
|
|||
* 流水列表
|
||||
*
|
||||
* @return Json|View
|
||||
* @throws Exception
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
|
@ -25,11 +24,11 @@ class Bill extends Base
|
|||
$keyword = $this->request->param('keyword/s', '');
|
||||
$page = $this->request->param('page/d', 1);
|
||||
$size = $this->request->param('size/d', 30);
|
||||
$orders = ['id' => 'desc'];
|
||||
$orders = ['a.id' => 'desc'];
|
||||
$list = $repo->billList($page, $size, $keyword, $startTime, $endTime, $orders);
|
||||
$list['agency_money_sum'] = BillRepository::getInstance()->getAgencyMoneySum(CouponBill::agency_money, $startTime, $endTime);
|
||||
$list['admin_money_sum'] = BillRepository::getInstance()->getAgencyMoneySum(CouponBill::admin_money, $startTime, $endTime);
|
||||
$list['consumer_money_sum'] = BillRepository::getInstance()->getAgencyMoneySum(CouponBill::consumer_money, $startTime, $endTime);
|
||||
$list['agency_money_sum'] = BillRepository::getInstance()->getAgencyMoneySum(CouponBill::agency_money, $keyword, $startTime, $endTime);
|
||||
$list['admin_money_sum'] = BillRepository::getInstance()->getAgencyMoneySum(CouponBill::admin_money, $keyword, $startTime, $endTime);
|
||||
$list['consumer_money_sum'] = BillRepository::getInstance()->getAgencyMoneySum(CouponBill::consumer_money, $keyword, $startTime, $endTime);
|
||||
return $this->json(0, 'success', $list);
|
||||
}
|
||||
|
||||
|
@ -43,5 +42,65 @@ class Bill extends Base
|
|||
return $this->view();
|
||||
}
|
||||
|
||||
/**
|
||||
* 充值流水
|
||||
*
|
||||
* @return Json|View
|
||||
* @throws Exception
|
||||
*/
|
||||
public function recharge()
|
||||
{
|
||||
$startTime = input("start_time/s", date("Y-m-d H:i:s", strtotime(date("Y-m-d") . " -1 month")));
|
||||
$endTime = input("end_time/s", date("Y-m-d 00:00:00"));
|
||||
if ($this->request->isPost()) {
|
||||
$repo = BillRepository::getInstance();
|
||||
$keyword = $this->request->param('keyword/s', '');
|
||||
$page = $this->request->param('page/d', 1);
|
||||
$size = $this->request->param('size/d', 30);
|
||||
$orders = ['a.id' => 'desc'];
|
||||
$list = $repo->rechargeBillList($page, $size, $keyword, $startTime, $endTime, $orders);
|
||||
$list['recharge_money_sum'] = BillRepository::getInstance()->getRechargeMoneySum($keyword, $startTime, $endTime);
|
||||
|
||||
return $this->json(0, 'success', $list);
|
||||
}
|
||||
|
||||
$this->data["recharge_money_sum"] = BillRepository::getInstance()->getRechargeMoneySum();
|
||||
|
||||
$this->data["startTime"] = $startTime;
|
||||
$this->data["endTime"] = $endTime;
|
||||
|
||||
return $this->view();
|
||||
}
|
||||
|
||||
/**
|
||||
* 扣款流水
|
||||
*
|
||||
* @return Json|View
|
||||
* @throws Exception
|
||||
*/
|
||||
public function deduction()
|
||||
{
|
||||
$startTime = input("start_time/s", date("Y-m-d H:i:s", strtotime(date("Y-m-d") . " -1 month")));
|
||||
$endTime = input("end_time/s", date("Y-m-d 00:00:00"));
|
||||
if ($this->request->isPost()) {
|
||||
$repo = BillRepository::getInstance();
|
||||
$keyword = $this->request->param('keyword/s', '');
|
||||
$page = $this->request->param('page/d', 1);
|
||||
$size = $this->request->param('size/d', 30);
|
||||
$orders = ['a.id' => 'desc'];
|
||||
$list = $repo->deductionBillList($page, $size, $keyword, $startTime, $endTime, $orders);
|
||||
$list['deduction_money_sum'] = BillRepository::getInstance()->getDeductionMoneySum($keyword,$startTime, $endTime);
|
||||
|
||||
return $this->json(0, 'success', $list);
|
||||
}
|
||||
|
||||
$this->data["deduction_money_sum"] = BillRepository::getInstance()->getDeductionMoneySum();
|
||||
|
||||
$this->data["startTime"] = $startTime;
|
||||
$this->data["endTime"] = $endTime;
|
||||
|
||||
return $this->view();
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -71,22 +71,23 @@ class Coupon extends Base
|
|||
->when(Member::is_agency($this->auth['roles']),function ($q){
|
||||
$q->where( 'agency_code', '=', $this->auth['business_code']);
|
||||
})
|
||||
->field("code,business_name,business_subtitle,type")
|
||||
->with('category');
|
||||
->field("code,business_name,business_subtitle,type");
|
||||
//->with('category');
|
||||
});
|
||||
}
|
||||
|
||||
if(Member::is_agency($this->auth['roles'])){
|
||||
|
||||
return $q::hasWhere('business', function ($q) {
|
||||
$q//如果是渠道商或者工作人员 只查看自己的下级商家
|
||||
->where( 'agency_code', '=', $this->auth['business_code'])
|
||||
->field("code,business_name,business_subtitle,type")
|
||||
->with('category');
|
||||
->field("code,business_name,business_subtitle,type");
|
||||
//->with('category');
|
||||
});
|
||||
}else{
|
||||
return $q->with(["business" => function ($query) {
|
||||
$query->field("code,business_name,business_subtitle,type")
|
||||
->with('category');
|
||||
$query->field("code,business_name,business_subtitle,type");
|
||||
//->with('category');
|
||||
}]);
|
||||
}
|
||||
|
||||
|
|
|
@ -61,13 +61,9 @@ class Index extends Base
|
|||
$res['logoInfo'] = ['title' => '恒美植发', 'href' => "", 'image' => '/static/manager/image/logo.png'];
|
||||
|
||||
$menus = CmsRepository::getInstance()->getMenuList(Menu::TYPE_MENU, Menu::SHOW_YES)->toArray();
|
||||
foreach ($menus as $k => $m) {
|
||||
$menus[$k]['icon'] = !empty($m['icon']) ? 'fa '.$m['icon'] : '';
|
||||
$menus[$k]['href'] = ltrim($m['href'], '/');
|
||||
}
|
||||
|
||||
$menus = CmsRepository::getInstance()->buildMenuChild(0, $menus, 'child',);
|
||||
|
||||
$userId = $this->auth['user_id'] ?? 0;
|
||||
$menus = CmsRepository::getInstance()->handMenuRule($userId, $menus);
|
||||
$menus = CmsRepository::getInstance()->buildMenuChild(0, $menus, 'child');
|
||||
$res['menuInfo'] = $menus;
|
||||
|
||||
return json($res);
|
||||
|
|
|
@ -16,4 +16,8 @@ class Business extends Base
|
|||
{
|
||||
return $this->hasOne(Account::class, 'business_code',"code");
|
||||
}
|
||||
public function agency()
|
||||
{
|
||||
return $this->hasOne(self::class,"code","agency_code");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -86,6 +86,7 @@ class Member extends Base
|
|||
/**
|
||||
* 验证当前用户是否是渠道商
|
||||
* @param string $roles
|
||||
* @return bool
|
||||
*/
|
||||
public static function is_agency(string $roles)
|
||||
{
|
||||
|
@ -101,6 +102,7 @@ class Member extends Base
|
|||
}
|
||||
|
||||
if (in_array(self::STAFF_ROLE_ID, $roles) || in_array(self::ANENT_ROLE_ID, $roles)) {
|
||||
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -19,6 +19,7 @@ class Recharge extends Base
|
|||
|
||||
public function business()
|
||||
{
|
||||
return $this->hasOne(Business::class,"code","business_code")->bind(["business_name"]);
|
||||
return $this->hasOne(Business::class,"code","business_code");
|
||||
}
|
||||
|
||||
}
|
|
@ -3,7 +3,9 @@
|
|||
namespace app\repository;
|
||||
|
||||
use app\model\CouponBill;
|
||||
use app\model\Deduction;
|
||||
use app\model\Member as MemberModel;
|
||||
use app\model\Recharge;
|
||||
use app\service\Repository;
|
||||
use think\Collection;
|
||||
use think\Model;
|
||||
|
@ -27,9 +29,6 @@ class BillRepository extends Repository
|
|||
* @param null $endTime
|
||||
* @param array $orders
|
||||
* @return array
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function billList($page, $size, $keyword = null, $startTime = null, $endTime = null, $orders = ["id" => "desc"])
|
||||
{
|
||||
|
@ -40,14 +39,13 @@ class BillRepository extends Repository
|
|||
'list' => new Collection(),
|
||||
];
|
||||
$rep = CouponBill::alias("a")
|
||||
->join("business b","a.business_code = b.code")
|
||||
->join("account c","a.user_code = c.user_code")
|
||||
->join("coupon_main d","a.coupon_main_id = d.id")
|
||||
|
||||
->when(!empty($keyword),function ($q) use($keyword){
|
||||
->join("business b", "a.business_code = b.code")
|
||||
->join("account c", "a.user_code = c.user_code")
|
||||
->join("coupon_main d", "a.coupon_main_id = d.id")
|
||||
->when(!empty($keyword), function ($q) use ($keyword) {
|
||||
$q->where("b.business_name|c.nick_name|d.name", "like", "%$keyword%");
|
||||
})
|
||||
->when(MemberModel::is_agency(session("auth")['roles']),function ($q) {
|
||||
->when(MemberModel::is_agency(session("auth")['roles']), function ($q) {
|
||||
$q->where("b.agency_code", "=", session("auth")['business_code']);
|
||||
})
|
||||
->when(!empty($startTime), function ($q) use ($startTime) {
|
||||
|
@ -56,11 +54,7 @@ class BillRepository extends Repository
|
|||
->when(!empty($endTime), function ($q) use ($endTime) {
|
||||
$q->whereTime("a.create_time", "<=", $endTime);
|
||||
})
|
||||
->field("a.*,b.business_name,c.nick_name,c.avatar_url,d.name as coupon_main_name")
|
||||
;
|
||||
|
||||
|
||||
|
||||
->field("a.*,b.business_name,c.nick_name,c.avatar_url,d.name as coupon_main_name");
|
||||
|
||||
$failData ['total'] = $rep->count();
|
||||
$failData ['list'] = $rep
|
||||
|
@ -70,26 +64,202 @@ class BillRepository extends Repository
|
|||
return $failData;
|
||||
}
|
||||
|
||||
/**
|
||||
* 充值流水列表
|
||||
* @param $page
|
||||
* @param $size
|
||||
* @param $keyword
|
||||
* @param null $startTime
|
||||
* @param null $endTime
|
||||
* @param array $orders
|
||||
* @return array
|
||||
*/
|
||||
public function rechargeBillList($page, $size, $keyword = null, $startTime = null, $endTime = null, $orders = ["a.id" => "desc"])
|
||||
{
|
||||
|
||||
$failData = [
|
||||
'total' => 0,
|
||||
'current' => $page,
|
||||
'size' => $size,
|
||||
'list' => new Collection(),
|
||||
];
|
||||
$rep = Recharge::alias("a")
|
||||
->join("account b", "a.open_id = b.open_id")
|
||||
->join("business c", "a.business_code = c.code")
|
||||
->join("member d", "a.member_id = d.id", "left")
|
||||
->join("business e", "c.agency_code = e.code", "left")
|
||||
->when(!empty($startTime), function ($q) use ($startTime) {
|
||||
$q->whereTime("a.update_time", ">=", $startTime);
|
||||
})
|
||||
->when(!empty($keyword), function ($q) use ($keyword) {
|
||||
$q->where("c.business_name|e.business_name", "like", "%$keyword%");
|
||||
})
|
||||
->when(!empty($endTime), function ($q) use ($endTime) {
|
||||
$q->whereTime("a.update_time", "<=", $endTime);
|
||||
})
|
||||
->field(
|
||||
[
|
||||
"a.*",
|
||||
"b.nick_name",
|
||||
"b.avatar_url",
|
||||
"d.nickname as member_nickname",
|
||||
"c.business_name",
|
||||
"e.business_name as agency_business_name",
|
||||
]
|
||||
);
|
||||
|
||||
$failData ['total'] = $rep->count();
|
||||
$failData ['list'] = $rep
|
||||
->page($page, $size)
|
||||
->order($orders)
|
||||
->select();
|
||||
return $failData;
|
||||
}
|
||||
|
||||
/**
|
||||
* 扣款流水列表
|
||||
* @param $page
|
||||
* @param $size
|
||||
* @param $keyword
|
||||
* @param null $startTime
|
||||
* @param null $endTime
|
||||
* @param array $orders
|
||||
* @return array
|
||||
*/
|
||||
public function deductionBillList($page, $size, $keyword = null, $startTime = null, $endTime = null, $orders = ["id" => "desc"])
|
||||
{
|
||||
|
||||
$failData = [
|
||||
'total' => 0,
|
||||
'current' => $page,
|
||||
'size' => $size,
|
||||
'list' => new Collection(),
|
||||
];
|
||||
$rep = Deduction::alias("a")
|
||||
->join("business c", "a.business_code = c.code")
|
||||
->join("business f", "f.code = c.agency_code", "left")
|
||||
->join("coupon_main e", "a.coupon_main_id = e.id")
|
||||
->join("coupon_bill d", "a.bill_id = d.id")
|
||||
->join("account b", "d.user_code = b.user_code", "left")
|
||||
->when(!empty($startTime), function ($q) use ($startTime) {
|
||||
$q->whereTime("a.create_time", ">=", $startTime);
|
||||
})
|
||||
->when(!empty($keyword), function ($q) use ($keyword) {
|
||||
$q->where("c.business_name|f.business_name", "like", "%" . $keyword . "%");
|
||||
})
|
||||
->when(!empty($endTime), function ($q) use ($endTime) {
|
||||
$q->whereTime("a.create_time", "<=", $endTime);
|
||||
})
|
||||
->field(
|
||||
[
|
||||
"a.money",
|
||||
"a.balance",
|
||||
"a.create_time",
|
||||
"b.nick_name",
|
||||
"b.avatar_url",
|
||||
"e.name as coupon_main_name",
|
||||
"c.business_name",
|
||||
"f.business_name as agency_business_name",
|
||||
|
||||
"d.consumer_money",
|
||||
"d.admin_money",
|
||||
"d.agency_money",
|
||||
|
||||
"d.lat",
|
||||
"d.lng",
|
||||
|
||||
]
|
||||
);
|
||||
|
||||
$failData ['total'] = $rep->count();
|
||||
$failData ['list'] = $rep
|
||||
->page($page, $size)
|
||||
->order($orders)
|
||||
->select();
|
||||
return $failData;
|
||||
}
|
||||
|
||||
/**
|
||||
* 总收益
|
||||
* @param $field
|
||||
* @param null $keyword
|
||||
* @param null $start_time
|
||||
* @param null $end_time
|
||||
* @return float
|
||||
*/
|
||||
public function getAgencyMoneySum($field, $start_time = null, $end_time = null)
|
||||
public function getAgencyMoneySum($field, $keyword = null, $start_time = null, $end_time = null)
|
||||
{
|
||||
return CouponBill::when(!empty($start_time), function ($q) use ($start_time) {
|
||||
$q->whereTime("create_time", ">=", $start_time);
|
||||
return CouponBill::alias("a")
|
||||
->join("business b", "a.business_code = b.code", "left")
|
||||
->join("business e", "a.agency_code = e.code", "left")
|
||||
->join("account c", "a.user_code = c.user_code")
|
||||
->join("coupon_main d", "a.coupon_main_id = d.id")
|
||||
->when(!empty($keyword), function ($q) use ($keyword) {
|
||||
$q->whereTime("c.business_name|e.business_name", "like", "%" . $keyword . "%");
|
||||
})
|
||||
->when(!empty($start_time), function ($q) use ($start_time) {
|
||||
$q->whereTime("a.create_time", ">=", $start_time);
|
||||
})
|
||||
->when(!empty($end_time), function ($q) use ($end_time) {
|
||||
$q->whereTime("create_time", "<=", $end_time);
|
||||
$q->whereTime("a.create_time", "<=", $end_time);
|
||||
})
|
||||
->when(MemberModel::is_agency(session("auth")['roles']),function ($q) {
|
||||
$q->where("agency_code", "=", session("auth")['business_code']);
|
||||
->when(MemberModel::is_agency(session("auth")['roles']), function ($q) {
|
||||
$q->where("a.agency_code", "=", session("auth")['business_code']);
|
||||
})
|
||||
->sum($field);
|
||||
->sum("a." . $field);
|
||||
}
|
||||
|
||||
/**
|
||||
* 总充值流水
|
||||
* @param null $keyword
|
||||
* @param null $start_time
|
||||
* @param null $end_time
|
||||
* @return float
|
||||
*/
|
||||
public function getRechargeMoneySum($keyword = null, $start_time = null, $end_time = null)
|
||||
{
|
||||
return Recharge::alias("a")
|
||||
->join("account b", "a.open_id = b.open_id")
|
||||
->join("business c", "a.business_code = c.code")
|
||||
->join("member d", "a.member_id = d.id", "left")
|
||||
->join("business e", "c.agency_code = e.code", "left")
|
||||
->when(!empty($keyword), function ($q) use ($keyword) {
|
||||
$q->whereTime("c.business_name|e.business_name", "like", "%" . $keyword . "%");
|
||||
})
|
||||
->when(!empty($start_time), function ($q) use ($start_time) {
|
||||
$q->whereTime("a.update_time", ">=", $start_time);
|
||||
})
|
||||
->when(!empty($end_time), function ($q) use ($end_time) {
|
||||
$q->whereTime("a.update_time", "<=", $end_time);
|
||||
})
|
||||
->sum("a.money");
|
||||
}
|
||||
|
||||
/**
|
||||
* 总扣款流水
|
||||
* @param null $keyword
|
||||
* @param null $start_time
|
||||
* @param null $end_time
|
||||
* @return float
|
||||
*/
|
||||
public function getDeductionMoneySum($keyword = null,$start_time = null, $end_time = null)
|
||||
{
|
||||
return Deduction::alias("a")
|
||||
->join("business c", "a.business_code = c.code")
|
||||
->join("business f", "f.code = c.agency_code", "left")
|
||||
->join("coupon_main e", "a.coupon_main_id = e.id")
|
||||
->join("coupon_bill d", "a.bill_id = d.id")
|
||||
->join("account b", "d.user_code = b.user_code", "left")
|
||||
->when(!empty($keyword), function ($q) use ($keyword) {
|
||||
$q->where("c.business_name|f.business_name", "like", "%" . $keyword . "%");
|
||||
})
|
||||
->when(!empty($start_time), function ($q) use ($start_time) {
|
||||
$q->whereTime("a.create_time", ">=", $start_time);
|
||||
})
|
||||
->when(!empty($end_time), function ($q) use ($end_time) {
|
||||
$q->whereTime("a.create_time", "<=", $end_time);
|
||||
})
|
||||
->sum("a.money");
|
||||
}
|
||||
|
||||
}
|
|
@ -37,13 +37,21 @@ class BusinessRepository extends Repository
|
|||
{
|
||||
$q = $this->model->alias("a")
|
||||
->join("account b", "a.code = b.business_code")
|
||||
->join("category c", "a.type = c.id","left")
|
||||
->field(["a.code as business_code",
|
||||
"b.avatar_url",
|
||||
"b.nick_name as account_nick_name",
|
||||
"a.business_name",
|
||||
"a.total_recharge",
|
||||
"a.id as basiness_id",
|
||||
"a.balance"])
|
||||
"a.balance",
|
||||
"a.contact_name",
|
||||
"a.contact_phone",
|
||||
"a.business_address",
|
||||
"a.business_license",
|
||||
"a.state",
|
||||
"c.name as type_name",
|
||||
])
|
||||
->group("a.id");
|
||||
$data = [
|
||||
'total' => 0,
|
||||
|
@ -102,7 +110,7 @@ class BusinessRepository extends Repository
|
|||
public function businessDeductionList($where, int $page = 1, int $limit = 0, array $order = ["create_time" => "desc", "id" => "desc"])
|
||||
{
|
||||
return Deduction::findList($where, [], $page, $limit, function ($q) {
|
||||
return $q->with("couponMain");
|
||||
return $q->with(["couponMain","bill"]);
|
||||
}, $order);
|
||||
}
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ namespace app\repository;
|
|||
use app\traits\cms\ArticleTrait;
|
||||
use app\traits\cms\MenuTrait;
|
||||
use app\traits\CmsCategoryTrait;
|
||||
use tauthz\facade\Enforcer;
|
||||
use think\db\exception\DataNotFoundException;
|
||||
use think\db\exception\DbException;
|
||||
use think\db\exception\ModelNotFoundException;
|
||||
|
@ -46,4 +47,30 @@ class CmsRepository extends Repository
|
|||
|
||||
return $list;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取后台用户权限列表
|
||||
*
|
||||
* @param int $accountId
|
||||
* @return array
|
||||
*/
|
||||
public function getUserRules(int $accountId): array
|
||||
{
|
||||
$rules = [];
|
||||
$roles = Enforcer::getRolesForUser($accountId);
|
||||
foreach ($roles as $role) {
|
||||
$rules = array_merge($rules, Enforcer::getPermissionsForUser($role));
|
||||
}
|
||||
|
||||
$ruleNameList = [];
|
||||
foreach ($rules as $rule) {
|
||||
if (isset($rule[2])) {
|
||||
$ruleNameList[] = $rule[1].':'.$rule[2];
|
||||
} else {
|
||||
$ruleNameList[] = $rule[1];
|
||||
}
|
||||
}
|
||||
|
||||
return array_unique($ruleNameList);
|
||||
}
|
||||
}
|
|
@ -3,6 +3,7 @@
|
|||
namespace app\traits\cms;
|
||||
|
||||
use app\model\Menu;
|
||||
use app\repository\CmsRepository;
|
||||
use tauthz\facade\Enforcer;
|
||||
use think\Collection;
|
||||
|
||||
|
@ -46,6 +47,31 @@ trait MenuTrait
|
|||
return $treeList;
|
||||
}
|
||||
|
||||
|
||||
//菜单权限过滤
|
||||
public function handMenuRule(int $accountId, array $menus): array
|
||||
{
|
||||
$rules = CmsRepository::getInstance()->getUserRules($accountId);
|
||||
|
||||
foreach ($menus as $k => $m) {
|
||||
$menus[$k]['icon'] = !empty($m['icon']) ? 'fa '.$m['icon'] : '';
|
||||
$menus[$k]['href'] = ltrim($m['href'], '/');
|
||||
|
||||
if ($m['pid'] !== 0) {
|
||||
$name = $m['name'];
|
||||
$nameArr = explode(':', $name);
|
||||
if (count($nameArr) <= 1) {
|
||||
$name = $name.':index';
|
||||
}
|
||||
|
||||
if (!in_array($name, $rules)) {
|
||||
unset($menus[$k]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return $menus;
|
||||
}
|
||||
|
||||
/**
|
||||
* 检测批量数据下 是否有子栏目
|
||||
*
|
||||
|
|
|
@ -0,0 +1,132 @@
|
|||
layui.use(['laytpl', 'table', 'jquery', 'form', 'miniTab', 'xmSelect',"laydate"], function () {
|
||||
let $ = layui.jquery,
|
||||
form = layui.form,
|
||||
table = layui.table,
|
||||
layer = layui.layer,
|
||||
xmSelect = layui.xmSelect,
|
||||
miniTab = layui.miniTab,
|
||||
laydate = layui.laydate ;
|
||||
|
||||
/**** index begin ***/
|
||||
//index页面
|
||||
if ($('.location-index-page').length > 0) {
|
||||
miniTab.listen();
|
||||
var exportDataTitle=
|
||||
[
|
||||
"消费者昵称","扣款优惠券名称",
|
||||
"所属商家名称","商家所属平台商",
|
||||
"扣款总额","当前余额",
|
||||
"消费者红包","平台商佣金",
|
||||
"太古佣金","扣款时间",
|
||||
"经纬度"
|
||||
];
|
||||
var exportData =[];
|
||||
// 渲染表格
|
||||
let listUrl = $('#table-container').data('url');
|
||||
let insTb = table.render({
|
||||
elem: '#table-container',
|
||||
toolbar: '#toolbar-tpl',
|
||||
defaultToolbar: [{ //自定义头部工具栏右侧图标。如无需自定义,去除该参数即可
|
||||
title: '搜索'
|
||||
, layEvent: 'search'
|
||||
, icon: 'layui-icon-search'
|
||||
},'filter'],
|
||||
url: listUrl,
|
||||
method: 'post',
|
||||
even: true,
|
||||
limits: [10,20,50,100,200,500,1000],
|
||||
request: {
|
||||
pageName: 'page',
|
||||
limitName: 'size',
|
||||
},
|
||||
parseData: function (res) {
|
||||
//console.log(res)
|
||||
$("#deduction_money_sum").text(res.data.deduction_money_sum?res.data.deduction_money_sum:0)
|
||||
|
||||
return {
|
||||
"code": res.code, //解析接口状态
|
||||
"msg": res.msg, //解析提示文本
|
||||
"count": res.data.total, //解析数据长度
|
||||
"data": res.data.list //解析数据列表
|
||||
};
|
||||
},
|
||||
page: true,
|
||||
cols: [[
|
||||
{type: 'checkbox'},
|
||||
{ field:"nick_name",title: '消费者昵称'},
|
||||
{templet: "#row-avatar_url",field:"avatar_url",title: '消费者头像'},
|
||||
{field:"coupon_main_name",title: '扣款优惠券名称'},
|
||||
|
||||
{field:"business_name",title: '所属商家名称'},
|
||||
{field:"agency_business_name",title: '商家所属平台商'},
|
||||
{field: "money", title: '扣款总额'},
|
||||
{field: "balance", title: '当前余额'},
|
||||
|
||||
{field: "consumer_money", title: '消费者红包'},
|
||||
{field: "agency_money", title: '平台商佣金'},
|
||||
{field: "admin_money", title: '太古佣金'},
|
||||
{field: "create_time", title: '扣款时间'},
|
||||
{templet: "#row-position", title: '经纬度'},
|
||||
// {templet: '#row-operate', minWidth: 200, fixed: 'right', align: 'center', title: '操作'}
|
||||
]],
|
||||
done: function (res, curr, count) {
|
||||
Tools.setInsTb(insTb);
|
||||
var rdata=[];
|
||||
res.data.forEach(function (d,index) {
|
||||
rdata[index] = [
|
||||
d.nick_name ,
|
||||
d.coupon_main_name ,
|
||||
d.business_name ,
|
||||
d.agency_business_name ,
|
||||
d.money,
|
||||
d.balance,
|
||||
d.consumer_money,
|
||||
d.agency_money,
|
||||
d.admin_money,
|
||||
d.create_time,
|
||||
d.lng + "," + d.lat
|
||||
|
||||
]
|
||||
})
|
||||
exportData=rdata
|
||||
}
|
||||
});
|
||||
$("#exports").on("click",function(){
|
||||
//console.log(exportData)
|
||||
table.exportFile(exportDataTitle,exportData, 'xls');
|
||||
return false;
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
//执行搜索重载
|
||||
table.reload('table-container', {
|
||||
page: {curr: 1}
|
||||
, where: data.field
|
||||
}, 'data');
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
//日期时间选择器
|
||||
laydate.render({
|
||||
elem: '#start_time'
|
||||
,type: 'datetime'
|
||||
});
|
||||
|
||||
//日期时间选择器
|
||||
laydate.render({
|
||||
elem: '#end_time'
|
||||
,type: 'datetime'
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
/*** index end ***/
|
||||
|
||||
});
|
|
@ -0,0 +1,116 @@
|
|||
layui.use(['laytpl', 'table', 'jquery', 'form', 'miniTab', 'xmSelect',"laydate"], function () {
|
||||
let $ = layui.jquery,
|
||||
form = layui.form,
|
||||
table = layui.table,
|
||||
layer = layui.layer,
|
||||
xmSelect = layui.xmSelect,
|
||||
miniTab = layui.miniTab,
|
||||
laydate = layui.laydate ;
|
||||
|
||||
/**** index begin ***/
|
||||
//index页面
|
||||
if ($('.location-index-page').length > 0) {
|
||||
miniTab.listen();
|
||||
var exportDataTitle=
|
||||
["充值者昵称","平台商充值(后台人员)","商家名称","商家所属平台商","充值时间","充值金额","当前余额"]
|
||||
;
|
||||
var exportData =[];
|
||||
// 渲染表格
|
||||
let listUrl = $('#table-container').data('url');
|
||||
let insTb = table.render({
|
||||
elem: '#table-container',
|
||||
toolbar: '#toolbar-tpl',
|
||||
defaultToolbar: [{ //自定义头部工具栏右侧图标。如无需自定义,去除该参数即可
|
||||
title: '搜索'
|
||||
, layEvent: 'search'
|
||||
, icon: 'layui-icon-search'
|
||||
},'filter'],
|
||||
url: listUrl,
|
||||
method: 'post',
|
||||
even: true,
|
||||
limits: [10,20,50,100,200,500,1000],
|
||||
request: {
|
||||
pageName: 'page',
|
||||
limitName: 'size',
|
||||
},
|
||||
parseData: function (res) {
|
||||
//console.log(res)
|
||||
$("#recharge_money_sum").text(res.data.recharge_money_sum?res.data.recharge_money_sum:0)
|
||||
|
||||
return {
|
||||
"code": res.code, //解析接口状态
|
||||
"msg": res.msg, //解析提示文本
|
||||
"count": res.data.total, //解析数据长度
|
||||
"data": res.data.list //解析数据列表
|
||||
};
|
||||
},
|
||||
page: true,
|
||||
cols: [[
|
||||
{type: 'checkbox'},
|
||||
{ field:"nick_name",title: '充值者昵称'},
|
||||
{templet: "#row-recharge-account-avatar_url",field:"avatar_url",title: '充值者头像'},
|
||||
{field:"member_nickname",title: '平台商充值(后台人员)'},
|
||||
|
||||
{field:"business_name",title: '商家名称'},
|
||||
{field:"agency_business_name",title: '商家所属平台商'},
|
||||
{field: "update_time", title: '充值时间'},
|
||||
{field: "money", title: '充值金额'},
|
||||
{field: "balance", title: '当前余额'},
|
||||
// {templet: '#row-operate', minWidth: 200, fixed: 'right', align: 'center', title: '操作'}
|
||||
]],
|
||||
done: function (res, curr, count) {
|
||||
Tools.setInsTb(insTb);
|
||||
var rdata=[];
|
||||
res.data.forEach(function (d,index) {
|
||||
rdata[index] = [
|
||||
d.nick_name ,
|
||||
d.member_nickname ,
|
||||
d.business_name ,
|
||||
d.agency_business_name ,
|
||||
d.update_time,
|
||||
d.money,
|
||||
d.balance,
|
||||
]
|
||||
})
|
||||
exportData=rdata
|
||||
}
|
||||
});
|
||||
$("#exports").on("click",function(){
|
||||
//console.log(exportData)
|
||||
table.exportFile(exportDataTitle,exportData, 'xls');
|
||||
return false;
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
//执行搜索重载
|
||||
table.reload('table-container', {
|
||||
page: {curr: 1}
|
||||
, where: data.field
|
||||
}, 'data');
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
//日期时间选择器
|
||||
laydate.render({
|
||||
elem: '#start_time'
|
||||
,type: 'datetime'
|
||||
});
|
||||
|
||||
//日期时间选择器
|
||||
laydate.render({
|
||||
elem: '#end_time'
|
||||
,type: 'datetime'
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
/*** index end ***/
|
||||
|
||||
});
|
|
@ -40,25 +40,13 @@ layui.use(['laytpl', 'table', 'jquery', 'form', 'miniTab', 'xmSelect'], function
|
|||
page: true,
|
||||
cols: [[
|
||||
// {type: 'checkbox'},
|
||||
{templet:function(d){
|
||||
return d.business.business_name
|
||||
}, title: '商家名称'},
|
||||
{templet:function(d){
|
||||
return d.business.type_name
|
||||
}, title: '商家类型'},
|
||||
{templet:function(d){
|
||||
return d.business.contact_name
|
||||
}, title: '联系人'},
|
||||
{templet:function(d){
|
||||
return d.business.contact_phone
|
||||
}, title: '联系电话'},
|
||||
{templet:function(d){
|
||||
return d.business.business_address
|
||||
}, title: '地址'},
|
||||
{ field : "business_name", title: '商家名称'},
|
||||
{ field : "type_name", title: '商家类型'},
|
||||
{field : "contact_name" , title: '联系人'},
|
||||
{field : "contact_phone" , title: '联系电话'},
|
||||
{field : "business_address" , title: '地址'},
|
||||
{templet: '#row-business-license', title: '执照', style: 'height: 90px;'},
|
||||
{templet: '#row-status', title: '状态', style: 'height: 90px;'},
|
||||
|
||||
|
||||
{templet: '#row-operate', minWidth: 350, field: 'right', align: 'center', title: '操作', fixed: 'right'}
|
||||
]],
|
||||
done: function () {
|
||||
|
|
|
@ -47,7 +47,7 @@ layui.use(['laytpl', 'table', 'jquery', 'form', 'miniTab', 'xmSelect'], function
|
|||
{field: 'coupon_total_count', title: '优惠券领取数'},
|
||||
{field: 'coupon_used_count', title: '优惠券使用数'},
|
||||
{field: 'coupon_not_use_count', title: '优惠券未使用数'},
|
||||
{field: 'consumer_coupon_bill_total', title: '红包总数'},
|
||||
{field: 'consumer_coupon_bill_total', title: '红包总收入'},
|
||||
{field: 'login_time', title: '最近登录'},
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,115 @@
|
|||
{layout name="manager/layout" /}
|
||||
<style>
|
||||
.layui-table-cell{
|
||||
height: auto;
|
||||
white-space: normal;
|
||||
}
|
||||
.layui-table .layui-layer-photos {height: 90px;}
|
||||
.layui-table img{
|
||||
max-height: 100%;
|
||||
object-fit: cover;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
display: block;
|
||||
max-width: 150px;
|
||||
vertical-align: middle;
|
||||
border: 0;
|
||||
}
|
||||
.l_font{
|
||||
font-size: 26px;height: 25px
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="layui-row layui-col-space12">
|
||||
<div class="layui-row layui-col-space15">
|
||||
|
||||
</div>
|
||||
<div class="layui-col-md10">
|
||||
<div class="layui-row ">
|
||||
<div class="layui-col-md6">
|
||||
<div class="layui-panel" style="border-radius: 8px;">
|
||||
<div class="layui-row" style="padding: 5% 0;text-align: center">
|
||||
<h3><strong>总扣款流水:</strong></h3>
|
||||
<span class="l_font" >{$deduction_money_sum ?? 0}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md6">
|
||||
<div class="layui-panel" style="border-radius: 8px;">
|
||||
<div class="layui-row" style="padding: 5% 0;text-align: center">
|
||||
<h3><strong>当前扣款流水:</strong></h3>
|
||||
<span class="l_font" id="deduction_money_sum"> </span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="layui-col-xs12 layui-col-md12">
|
||||
<div id="echarts-records" style="background-color:#ffffff;min-height:600px;">
|
||||
<div class="layuimini-container location-index-page">
|
||||
<div class="layuimini-main">
|
||||
<fieldset class="table-search-fieldset" >
|
||||
<legend>搜索信息</legend>
|
||||
<div style="margin: 10px 10px 10px 10px">
|
||||
<form class="layui-form layui-form-pane" action="">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">关键词</label>
|
||||
<div class="layui-inline">
|
||||
<input type="text" name="keyword" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">开始时间</label>
|
||||
<div class="layui-inline">
|
||||
<input type="text" name="start_time" id="start_time" value="{$startTime}" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">结束时间</label>
|
||||
<div class="layui-inline">
|
||||
<input type="text" name="end_time" id="end_time" value="{$endTime}" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div>
|
||||
<table id="table-container" class="layui-table" data-url="/manager/bill/deduction" lay-filter="table-container"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- toolbar -->
|
||||
<script type="text/html" id="toolbar-tpl">
|
||||
<a class="layui-btn layui-btn-primary layui-btn-sm" data-table-refresh lay-event="refresh"><i class="fa fa-refresh"></i></a>
|
||||
<a class="layui-btn layui-btn-primary layui-btn-sm" id="exports">导出</a>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!-- 列 轮播图 -->
|
||||
<script type="text/html" id="row-avatar_url">
|
||||
<div class="layui-layer-photos">
|
||||
<img src="{{ d.avatar_url }}" layer-src="{{ d.avatar_url }}" alt="">
|
||||
</div>
|
||||
</script>
|
||||
<!-- 列 轮播图 -->
|
||||
<script type="text/html" id="row-position">
|
||||
经纬度:{{ d.lng }},{{ d.lat }}
|
||||
</script>
|
||||
|
||||
<script src="__MANAGER__/js/bill_deduction.js?v={:mt_rand()}"></script>
|
|
@ -0,0 +1,113 @@
|
|||
{layout name="manager/layout" /}
|
||||
<style>
|
||||
.layui-table-cell{
|
||||
height: auto;
|
||||
white-space: normal;
|
||||
}
|
||||
.layui-table .layui-layer-photos {height: 90px;}
|
||||
.layui-table img{
|
||||
max-height: 100%;
|
||||
object-fit: cover;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
display: block;
|
||||
max-width: 150px;
|
||||
vertical-align: middle;
|
||||
border: 0;
|
||||
}
|
||||
.l_font{
|
||||
font-size: 26px;height: 25px
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="layui-row layui-col-space12">
|
||||
<div class="layui-row layui-col-space15">
|
||||
|
||||
</div>
|
||||
<div class="layui-col-md10">
|
||||
<div class="layui-row ">
|
||||
<div class="layui-col-md6">
|
||||
<div class="layui-panel" style="border-radius: 8px;">
|
||||
<div class="layui-row" style="padding: 5% 0;text-align: center">
|
||||
<h3><strong>总充值流水:</strong></h3>
|
||||
<span class="l_font" >{$recharge_money_sum ?? 0}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md6">
|
||||
<div class="layui-panel" style="border-radius: 8px;">
|
||||
<div class="layui-row" style="padding: 5% 0;text-align: center">
|
||||
<h3><strong>当前充值流水:</strong></h3>
|
||||
<span class="l_font" id="recharge_money_sum"> </span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="layui-col-xs12 layui-col-md12">
|
||||
<div id="echarts-records" style="background-color:#ffffff;min-height:600px;">
|
||||
<div class="layuimini-container location-index-page">
|
||||
<div class="layuimini-main">
|
||||
<fieldset class="table-search-fieldset" >
|
||||
<legend>搜索信息</legend>
|
||||
<div style="margin: 10px 10px 10px 10px">
|
||||
<form class="layui-form layui-form-pane" action="">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">关键词</label>
|
||||
<div class="layui-inline">
|
||||
<input type="text" name="keyword" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">开始时间</label>
|
||||
<div class="layui-inline">
|
||||
<input type="text" name="start_time" id="start_time" value="{$startTime}" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">结束时间</label>
|
||||
<div class="layui-inline">
|
||||
<input type="text" name="end_time" id="end_time" value="{$endTime}" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div>
|
||||
<table id="table-container" class="layui-table" data-url="/manager/bill/recharge" lay-filter="table-container"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- toolbar -->
|
||||
<script type="text/html" id="toolbar-tpl">
|
||||
<a class="layui-btn layui-btn-primary layui-btn-sm" data-table-refresh lay-event="refresh"><i class="fa fa-refresh"></i></a>
|
||||
<a class="layui-btn layui-btn-primary layui-btn-sm" id="exports">导出</a>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!-- 列 轮播图 -->
|
||||
<script type="text/html" id="row-recharge-account-avatar_url">
|
||||
<div class="layui-layer-photos">
|
||||
<img src="{{ d.avatar_url }}" layer-src="{{ d.avatar_url }}" alt="">
|
||||
</div>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script src="__MANAGER__/js/bill_recharge.js?v={:mt_rand()}"></script>
|
|
@ -71,7 +71,8 @@
|
|||
|
||||
<!-- 列 轮播图 -->
|
||||
<script type="text/html" id="row-other">
|
||||
经纬度:{{ d.lng }},{{ d.lat }}
|
||||
经纬度:{{ d.bill!=undefined?d.bill.lng:'' }},{{ d.bill!=undefined?d.lat:'' }}
|
||||
|
||||
</script>
|
||||
|
||||
<script src="__MANAGER__/js/business/business_deduction_list.js?v={:mt_rand()}"></script>
|
|
@ -52,15 +52,15 @@
|
|||
<!-- 操作列 -->
|
||||
<script type="text/html" id="row-operate">
|
||||
|
||||
{{# if (d.business.state == 0){ }}
|
||||
{{# if (d.state == 0){ }}
|
||||
<a class=" layui-btn layui-btn-primary layui-btn-xs" lay-event="wait"
|
||||
data-href="/manager/business/business-wait.html?business_code={{d.business.code}}"
|
||||
data-href="/manager/business/business-wait.html?business_code={{d.business_code}}"
|
||||
data-state="1"
|
||||
>
|
||||
通过
|
||||
</a>
|
||||
<a class=" layui-btn layui-btn-primary layui-btn-xs" lay-event="wait"
|
||||
data-href="/manager/business/business-wait.html?business_code={{d.business.code}}"
|
||||
data-href="/manager/business/business-wait.html?business_code={{d.business_code}}"
|
||||
data-state="2"
|
||||
>
|
||||
驳回
|
||||
|
@ -77,7 +77,7 @@
|
|||
|
||||
<!-- 状态列 -->
|
||||
<script type="text/html" id="row-status">
|
||||
{{# if (d.business.state == 0){ }}
|
||||
{{# if (d.state == 0){ }}
|
||||
待审核
|
||||
{{# }else{ }}
|
||||
驳回
|
||||
|
@ -87,7 +87,7 @@
|
|||
<!-- 列 轮播图 -->
|
||||
<script type="text/html" id="row-business-license">
|
||||
<div class="layui-layer-photos">
|
||||
<img src="{{ d.business.business_license }}" layer-src="{{ d.business.business_license }}" alt="">
|
||||
<img src="{{ d.business_license }}" layer-src="{{ d.business_license }}" alt="">
|
||||
</div>
|
||||
</script>
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
check: {
|
||||
enable: true,
|
||||
nocheckInherit: true,
|
||||
chkboxType: { "Y" : "s", "N" : "ps" },
|
||||
chkboxType: { "Y" : "ps", "N" : "ps" },
|
||||
},
|
||||
callback: {
|
||||
onClick: open,
|
||||
|
|
Loading…
Reference in New Issue