From c7d77f4ca652e7f35f72774860606ccdc1bf1cc7 Mon Sep 17 00:00:00 2001 From: wangxinglong <2371974647@qq.com> Date: Tue, 30 Nov 2021 18:31:58 +0800 Subject: [PATCH] setter --- app/controller/manager/Agency.php | 288 ++++++++++++++---- app/controller/manager/Business.php | 1 - app/controller/manager/Comment.php | 4 +- app/controller/manager/Consumer.php | 27 +- app/controller/manager/Login.php | 13 + app/model/Business.php | 5 + app/model/BusinessFlow.php | 2 +- app/model/Deduction.php | 4 + app/model/Member.php | 12 + app/repository/BillRepository.php | 6 - app/repository/BusinessRepository.php | 60 +++- public/static/manager/js/agency.js | 13 + .../js/business/business_deduction_list.js | 7 + public/static/manager/js/channel.js | 119 ++++++++ view/manager/agency/add.html | 12 - view/manager/agency/add_channel.html | 58 ++++ view/manager/agency/channel_list.html | 58 ++++ view/manager/agency/edit.html | 12 - view/manager/agency/edit_channel.html | 53 ++++ .../business/business_deduction_list.html | 5 + view/manager/consumer/blank_list.html | 9 - view/manager/consumer/index.html | 13 - 22 files changed, 629 insertions(+), 152 deletions(-) create mode 100644 public/static/manager/js/channel.js create mode 100644 view/manager/agency/add_channel.html create mode 100644 view/manager/agency/channel_list.html create mode 100644 view/manager/agency/edit_channel.html diff --git a/app/controller/manager/Agency.php b/app/controller/manager/Agency.php index 173a115..7e85170 100644 --- a/app/controller/manager/Agency.php +++ b/app/controller/manager/Agency.php @@ -48,31 +48,71 @@ class Agency extends Base return $this->json(4002, '请输入正确的手机号码'); } - $item['roles'] = [MemberModel::STAFF_ROLE_ID]; + $item['roles'] = MemberModel::STAFF_ROLE_ID; $item['status'] = MemberModel::COMMON_ON; - $item['pid'] = $this->auth["user_id"]; - $item['business_code'] = $this->auth["business_code"]; + $item['pid'] = $this->auth["user_id"]; + $item['business_code'] = $this->auth["business_code"]; - $roles = []; - if ($item['roles']) { - $roles = $item['roles']; - $item['roles'] = implode(',', $item['roles']); - } + $roles = [MemberModel::STAFF_ROLE_ID]; Db::startTrans(); try { - - //如果关联商家 - if (!empty($item['business_code'])) { - $Business = BusinessRepository::getInstance()->findOneByWhere(["code" => $item['business_code']]); - if (empty($Business)) { - Db::rollback(); - return $this->json(4001, "指定商家不存在"); - } - $Business->save(["is_agency" => BusinessModel::COMMON_ON]); + $item['password'] = md5($item['password'] . $item['username']); + $member = MemberModel::create($item); + foreach ($roles as $role) { + Enforcer::addRoleForUser($member['id'], $role); } + Db::commit(); + return $this->json(); + } catch (ValidateException $e) { + Db::rollback(); + return $this->json(4001, $e->getError()); + } + } + + $this->data['roleJson'] = $this->roleJson(); + $this->data['business'] = BusinessRepository::getInstance()->getBusinessAll(); + + return $this->view(); + } + + /** + * 添加平台商 + * + * @return Json|View + * @throws Exception + */ + public function addChannel() + { + if ($this->request->isPost()) { + $item = input('post.'); + + $validate = $this->validateByApi($item, [ + 'username|用户名' => 'require|alphaDash|min:4|max:16|unique:member', + 'mobile|手机号' => 'require|unique:member', + 'nickname|昵称' => 'require|chsAlphaNum|min:2|max:10', + 'password|密码' => 'require|min:4|max:16', + 'remark|备注信息' => 'max:255', + ]); + + if ($validate !== true) { + return $validate; + } + + if (!checkMobile($item['mobile'])) { + return $this->json(4002, '请输入正确的手机号码'); + } + + $item['roles'] = MemberModel::ANENT_ROLE_ID; + $item['status'] = MemberModel::COMMON_ON; + $item['pid'] = 0; + $roles = [MemberModel::ANENT_ROLE_ID]; + + + Db::startTrans(); + try { $item['password'] = md5($item['password'] . $item['username']); $member = MemberModel::create($item); foreach ($roles as $role) { @@ -125,42 +165,11 @@ class Agency extends Base if (!checkMobile($item['mobile'])) { return $this->json(4002, '请输入正确的手机号码'); } - $item['roles'] = [MemberModel::STAFF_ROLE_ID]; - $roles = []; - if ($item['roles']) { - $roles = $item['roles']; - $item['roles'] = implode(',', $item['roles']); - } - Db::startTrans(); try { - //之前关联的商家不为空 并且已经改变 吧之前的商家 从代理商变成普通商家 - if ($info['business_code'] != $item['business_code']) { - if (!empty($info['business_code'])) { - $oldBusiness = BusinessRepository::getInstance()->findOneByWhere(["code" => $info['business_code']]); - if (!empty($oldBusiness)) { - $oldBusiness->save(["is_agency" => BusinessModel::COMMON_OFF]); - } - } - //如果改变了关联商家 - if (!empty($item['business_code'])) { - $Business = BusinessRepository::getInstance()->findOneByWhere(["code" => $item['business_code']]); - if (empty($Business)) { - Db::rollback(); - return $this->json(4001, "指定商家不存在"); - } - $Business->save(["is_agency" => BusinessModel::COMMON_ON]); - } - } $info->save($item); - //删除所有角色 - Enforcer::deleteRolesForUser($id); - //新增角色 - foreach ($roles as $role) { - Enforcer::addRoleForUser($id, $role); - } Db::commit(); return $this->json(); } catch (ValidateException $e) { @@ -170,16 +179,85 @@ class Agency extends Base } $this->data['item'] = $info; - $this->data['roleJson'] = $this->roleJson(explode(',', $info['roles'])); + return $this->view(); + } + + /** + * 编辑 + * + * @return Json|View + * @throws DataNotFoundException + * @throws DbException + * @throws ModelNotFoundException + * @throws Exception + */ + public function editChannel() + { + $id = input('id/d', 0); + + if (!$info = MemberModel::findById($id)) { + return $this->json(4001, '记录不存在'); + } + + if ($this->request->isPost()) { + $item = input('post.'); + + $validate = $this->validateByApi($item, [ + 'mobile|手机号' => 'require|unique:member,mobile,' . $id, + 'nickname|昵称' => 'require|chsAlphaNum|min:2|max:10', + 'remark|备注信息' => 'max:255', + ]); + + if ($validate !== true) { + return $validate; + } + + if (!checkMobile($item['mobile'])) { + return $this->json(4002, '请输入正确的手机号码'); + } + + Db::startTrans(); + try { + //之前关联的商家不为空 并且已经改变 吧之前的商家 从代理商变成普通商家 + if ($info['business_code'] != $item['business_code']) { + if($info['business_code']!="_" ){ + $oldBusiness = BusinessRepository::getInstance()->findOneByWhere(["code" => $info['business_code']]); + if (!empty($oldBusiness)) { + $oldBusiness->save(["is_agency" => BusinessModel::COMMON_OFF]); + } + } + //如果改变了关联商家 + if($item['business_code']!="_"){ + $Business = BusinessRepository::getInstance()->findOneByWhere(["code" => $item['business_code']]); + if (empty($Business)) { + Db::rollback(); + return $this->json(4001, "指定商家不存在"); + } + $Business->save(["is_agency" => BusinessModel::COMMON_ON]); + } + + //修改下级工作人员的平台商号 + BusinessModel::where("pid",$info['id'])->update(["business_code"=>$item['business_code']]); + } + + $info->save($item); + Db::commit(); + return $this->json(); + } catch (ValidateException $e) { + Db::rollback(); + return $this->json(4001, $e->getError()); + } + } + + $this->data['item'] = $info; $this->data['business'] = BusinessRepository::getInstance()->getBusinessAll(); return $this->view(); } - /** - * 列表 + * 工作人员列表 * * @return Json|View * @throws Exception @@ -190,23 +268,86 @@ class Agency extends Base if ($this->request->isPost()) { $page = $this->request->param('page/d', 1); $size = $this->request->param('size/d', 30); - //只查询拥有渠道商的账号 $whereMap = [['roles', "=", MemberModel::STAFF_ROLE_ID], ['id', "<>", 1]]; $orders = ['id' => 'asc']; - //如果是渠道商或者工作人员 只查看自己的商家 - if (MemberModel::is_agency($this->auth['roles'])){ + if (MemberModel::is_agency($this->auth['roles'])) { $whereMap[] = ["pid", "=", $this->auth['user_id']]; } - $list = MemberModel::findList($whereMap, [], $page, $size, null, $orders); - return $this->json(0, 'success', $list); } return $this->view(); } + /** + * 渠道商列表 + * + * @return Json|View + * @throws Exception + */ + public function channelList() + { + if ($this->request->isPost()) { + $page = $this->request->param('page/d', 1); + $size = $this->request->param('size/d', 30); + //只查询拥有渠道商的账号 + $whereMap = [['roles', "=", MemberModel::ANENT_ROLE_ID], ['id', "<>", 1]]; + $orders = ['id' => 'asc']; + + $list = MemberModel::findList($whereMap, [], $page, $size, null, $orders); + + $list["list"]->each(function ($item) { + //管理的商家数 + $item->business_count = BusinessRepository::getInstance()->agencyHasBusinessCount($item['business_code']); + //管理的商家的优惠券数 + $item->coupon_count = BusinessRepository::getInstance()->agencyHasCouponCount($item['business_code']); + }); + return $this->json(0, 'success', $list); + } + return $this->view(); + } + + + /** + * 单个字段编辑 + * + * @return Json + * @throws DataNotFoundException + * @throws DbException + * @throws ModelNotFoundException + * @throws Exception + */ + public function modify(): Json + { + if ($this->request->isPost()) { + $item = input('post.'); + $validate = $this->validateByApi($item, [ + 'field' => 'require', + 'value' => 'require', + ]); + + if ($validate !== true) { + return $validate; + } + + if (!$info = MemberModel::findById($item['id'])) { + return $this->json(4001, '记录不存在'); + } + + $update = [$item['field'] => $item['value']]; + + + try { + $info->save($update); + return $this->json(); + } catch (ValidateException $e) { + return $this->json(4001, $e->getError()); + } + } + return $this->json(4000, '非法请求'); + } /** * 删除 @@ -220,6 +361,11 @@ class Agency extends Base if (empty($ids)) { $ids[] = input('post.id/d'); } + foreach ($ids as $id) { + if ($id == 1) { + return $this->json(5000, "错误的删除操作"); + } + } MemberModel::deleteByIds($ids); foreach ($ids as $id) { Enforcer::deleteRolesForUser($id); @@ -231,6 +377,36 @@ class Agency extends Base } + /** + * 删除 + * + * @return Json + */ + public function delChannel(): Json + { + if ($this->request->isPost()) { + $ids = input('post.ids/a', []); + if (empty($ids)) { + $ids[] = input('post.id/d'); + } + foreach ($ids as $id) { + if ($id == 1) { + return $this->json(5000, "错误的删除操作"); + } + if(MemberModel::hasStaff($id)){ + return $this->json(5000, "还存在员工,不能删除"); + } + } + MemberModel::deleteByIds($ids); + foreach ($ids as $id) { + Enforcer::deleteRolesForUser($id); + } + Log::write(get_class() . 'Del', 'del', '涉及到的ID为:' . implode(',', $ids)); + return $this->json(); + } + return $this->json(4001, '非法请求!'); + } + /** * 修改密码 * diff --git a/app/controller/manager/Business.php b/app/controller/manager/Business.php index faf1126..94f7970 100644 --- a/app/controller/manager/Business.php +++ b/app/controller/manager/Business.php @@ -12,7 +12,6 @@ use app\model\Member; use app\model\BusinessCircle as BusinessCircleModel ; use app\repository\AccountRepository; use app\repository\BusinessRepository; -use app\repository\CouponRepository; use app\repository\RechargeRepository; use app\service\wx\WechatPay; use Exception; diff --git a/app/controller/manager/Comment.php b/app/controller/manager/Comment.php index ac25a15..7760310 100644 --- a/app/controller/manager/Comment.php +++ b/app/controller/manager/Comment.php @@ -180,7 +180,7 @@ class Comment extends Base $whereMap = [["comment.is_delete", "=", CommentModel::COMMON_OFF]]; $orders = ['comment.id' => 'desc']; if (!empty($keyword)) { - $whereMap[] = ['account.nick_name', 'like', "%$keyword%"]; + $whereMap[] = ['account.nick_name|comment.comment', 'like', "%$keyword%"]; } if ($type >= 0) { $whereMap[] = ['comment.type', '=', $type]; @@ -217,7 +217,7 @@ class Comment extends Base $size = $this->request->param('size/d', 30); $whereMap = [["comment.is_delete", "=", CommentModel::COMMON_ON]]; if (!empty($keyword)) { - $whereMap[] = ['account.nick_name', 'like', "%$keyword%"]; + $whereMap[] = ['account.nick_name|comment.comment', 'like', "%$keyword%"]; } $orders = ['comment.id' => 'desc']; $list = CommentModel::findList($whereMap, [], $page, $size, function ($q) { diff --git a/app/controller/manager/Consumer.php b/app/controller/manager/Consumer.php index 2bb3ef7..5390443 100644 --- a/app/controller/manager/Consumer.php +++ b/app/controller/manager/Consumer.php @@ -2,23 +2,11 @@ namespace app\controller\manager; -use app\exception\RepositoryException; use app\model\Account; -use app\model\BusinessFlow; use app\model\Coupon; -use app\model\CouponMain; -use app\model\Recharge; -use app\model\Business as BusinessModel; -use app\model\Member; -use app\model\Tag; use app\repository\AccountRepository; -use app\repository\BusinessRepository; -use app\repository\CouponRepository; -use app\repository\RechargeRepository; -use app\service\wx\WechatPay; use Exception; -use think\facade\Db; use think\response\Json; use think\response\View; @@ -36,11 +24,9 @@ class Consumer extends Base */ public function index() { - $stateArray = Account::allState(); if ($this->request->isPost()) { $repo = AccountRepository::getInstance(); $keyword = $this->request->param('keyword/s', ''); - $state = $this->request->param('state/d', "-1"); $page = $this->request->param('page/d', 1); $size = $this->request->param('size/d', 30); @@ -49,9 +35,6 @@ class Consumer extends Base if (!empty($keyword)) { $whereMap[] = ['nick_name', 'like', "%$keyword%"]; } - if (isset($stateArray[$state])) { - $whereMap[] = ['state', '=', $state]; - } $list = $repo->findList($whereMap, [], $page, $size, function ($q) { return $q->with("tag"); }, $orders); @@ -71,7 +54,6 @@ class Consumer extends Base return $this->json(0, 'success', $list); } - $this->data["state"] = $stateArray; return $this->view(); } @@ -141,11 +123,11 @@ class Consumer extends Base */ public function blankList() { - $stateArray = Account::allState(); + if ($this->request->isPost()) { $repo = AccountRepository::getInstance(); $keyword = $this->request->param('keyword/s', ''); - $state = $this->request->param('state/d', "-1"); + $page = $this->request->param('page/d', 1); $size = $this->request->param('size/d', 30); @@ -157,9 +139,7 @@ class Consumer extends Base if (!empty($keyword)) { $whereMap[] = ['nick_name', 'like', "%$keyword%"]; } - if (isset($stateArray[$state])) { - $whereMap[] = ['state', '=', $state]; - } + $list = $repo->findList($whereMap, [], $page, $size, null, $orders); $time = time(); $list["list"]->each(function ($item) use ($time) { @@ -183,7 +163,6 @@ class Consumer extends Base return $this->json(0, 'success', $list); } - $this->data["state"] = $stateArray; return $this->view(); } diff --git a/app/controller/manager/Login.php b/app/controller/manager/Login.php index f4b5988..af743f4 100644 --- a/app/controller/manager/Login.php +++ b/app/controller/manager/Login.php @@ -6,6 +6,7 @@ use app\service\Jwt; use Exception; use app\model\{Member, AuthRule, LoginLog}; use app\controller\BaseController; +use tauthz\facade\Enforcer; use think\response\Json; use think\response\View; @@ -41,6 +42,18 @@ class Login extends BaseController if ($member['status'] != Member::STATUS_NORMAL) { return $this->json(4004, '账号已被禁用'); } + if($member['pid']){ + $parentNumber = Member::getById($member['pid']); + if(empty($parentNumber)){ + return $this->json(4004, '平台商账号不存在'); + } + if ($parentNumber['status'] != Member::STATUS_NORMAL) { + return $this->json(4004, '所属平台商账号已被禁用'); + } + + } + + $userInfo = [ 'user_id' => $member['id'], diff --git a/app/model/Business.php b/app/model/Business.php index ebaf2f7..db7020e 100644 --- a/app/model/Business.php +++ b/app/model/Business.php @@ -7,8 +7,13 @@ class Business extends Base const state_reviewing = 0; const state_on = 1; const state_off = 2; + public function category() { return $this->hasOne(Category::class, 'id',"type"); } + public function account() + { + return $this->hasOne(Account::class, 'business_code',"code"); + } } diff --git a/app/model/BusinessFlow.php b/app/model/BusinessFlow.php index 433450b..126769b 100644 --- a/app/model/BusinessFlow.php +++ b/app/model/BusinessFlow.php @@ -2,7 +2,7 @@ namespace app\model; -//商家和用户的链接表 +//用户关注的商家 class BusinessFlow extends Base { public function account() diff --git a/app/model/Deduction.php b/app/model/Deduction.php index fbcdad1..fd8d776 100644 --- a/app/model/Deduction.php +++ b/app/model/Deduction.php @@ -15,4 +15,8 @@ use think\db\exception\ModelNotFoundException; class Deduction extends Base { + public function couponMain() + { + return $this->hasOne(CouponMain::class,"id","coupon_main_id"); + } } \ No newline at end of file diff --git a/app/model/Member.php b/app/model/Member.php index e90e849..9eabf77 100644 --- a/app/model/Member.php +++ b/app/model/Member.php @@ -3,6 +3,7 @@ namespace app\model; use think\facade\Db; +use think\Model; class Member extends Base { @@ -104,4 +105,15 @@ class Member extends Base } return false; } + + public static function onAfterInsert ($obj) + { + $obj->create_time = date("Y-m-d H:i:s"); + $obj->save(); + } + + public static function hasStaff($id) + { + return self::where("pid",$id)->count(); + } } \ No newline at end of file diff --git a/app/repository/BillRepository.php b/app/repository/BillRepository.php index 1f10845..450ea62 100644 --- a/app/repository/BillRepository.php +++ b/app/repository/BillRepository.php @@ -2,14 +2,8 @@ namespace app\repository; -use app\exception\RepositoryException; -use app\model\Business; -use app\model\BusinessFlow; use app\model\CouponBill; -use app\model\CouponMain; -use app\model\Deduction; use app\model\Member as MemberModel; -use app\model\Recharge; use app\service\Repository; use think\Collection; use think\Model; diff --git a/app/repository/BusinessRepository.php b/app/repository/BusinessRepository.php index 77b2a14..5c62796 100644 --- a/app/repository/BusinessRepository.php +++ b/app/repository/BusinessRepository.php @@ -1,10 +1,9 @@ model->alias("a") - ->join("account b","a.code = b.business_code") + ->join("account b", "a.code = b.business_code") ->field(["a.code as business_code", "b.avatar_url", "b.nick_name as account_nick_name", @@ -44,7 +44,7 @@ class BusinessRepository extends Repository "a.total_recharge", "a.id as basiness_id", "a.balance"]) - ->group("a.id"); + ->group("a.id"); $data = [ 'total' => 0, 'current' => $page, @@ -101,7 +101,9 @@ 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, null, $order); + return Deduction::findList($where, [], $page, $limit, function ($q) { + return $q->with("couponMain"); + }, $order); } /** @@ -124,26 +126,26 @@ class BusinessRepository extends Repository /* 获取所有的商家*/ public function getBusinessAll() { - return BusinessFlow::alias("a") - ->join("account b","a.user_code = b.user_code") - ->join("business c","a.business_code = c.code") - ->field("c.code , c.business_name ") - ->order("a.id desc") - ->select(); + return Business::alias("a") + ->join("account b", "a.code = b.business_code") + ->field("a.code , a.business_name ") + ->order("a.id desc") + ->group("a.id") + ->select(); } /** * 获取单个商家详情 * @param $businessCode * @param bool $lock - * @return BusinessFlow|array|Model|null + * @return array|Model|null * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ - public function getBusinessAccount($businessCode,bool $lock = false) + public function getBusinessAccount($businessCode, bool $lock = false) { - $Flow = BusinessFlow::with(["account", "business"])->where("business_code", $businessCode)->when($lock,function ($q){ + $Flow = Business::with(["account"])->where("code", $businessCode)->when($lock, function ($q) { $q->lock(true); })->find(); if (empty($Flow) || empty($Flow->account) || empty($Flow->business)) { @@ -155,10 +157,36 @@ class BusinessRepository extends Repository /** * 查看指定商圈下的商家 * @param $businessCircleId - * @return Business + * @return Business[]|array|Collection + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException */ public function getByCircleId($businessCircleId) { - return Business::where("business_circle_id",$businessCircleId)->select(); + return Business::where("business_circle_id", $businessCircleId)->select(); + } + + /** + * 平台商下有多少商家 + * @param $agencyCode + * @return int + */ + public function agencyHasBusinessCount($agencyCode) + { + return Business::where("agency_code", $agencyCode)->count(); + } + + /** + * 平台商下商家 所持有的优惠券数量 + * @param $agencyCode + * @return int + */ + public function agencyHasCouponCount($agencyCode) + { + return Business::alias("a") + ->join("coupon_main b", "a.code =b.business_code") + ->where("a.agency_code", $agencyCode) + ->sum("b.count"); } } \ No newline at end of file diff --git a/public/static/manager/js/agency.js b/public/static/manager/js/agency.js index a8eac18..6eb2a5f 100644 --- a/public/static/manager/js/agency.js +++ b/public/static/manager/js/agency.js @@ -5,6 +5,7 @@ layui.use(['laytpl', 'table', 'jquery', 'form', 'miniTab', 'xmSelect'], function layer = layui.layer, xmSelect = layui.xmSelect, miniTab = layui.miniTab; + let modifyUrl = $('#row-modify').data('url'); /**** index begin ***/ //index页面 @@ -60,6 +61,18 @@ layui.use(['laytpl', 'table', 'jquery', 'form', 'miniTab', 'xmSelect'], function return false; }); + //监听状态改变 + form.on('switch(changeStatus)', function(obj){ + let val = obj.elem.checked ? 1 : 0; + $.post(modifyUrl, {id: this.value, field: this.name, value: val}, function (res) { + layer.msg(res.msg) + if (res.code === 0) { + setTimeout(function () { + insTb.reload(); + }, 1000) + } + }) + }); /** td edit **/ table.on('edit(table-container)', function (obj) { diff --git a/public/static/manager/js/business/business_deduction_list.js b/public/static/manager/js/business/business_deduction_list.js index 7e930d9..8ba3595 100644 --- a/public/static/manager/js/business/business_deduction_list.js +++ b/public/static/manager/js/business/business_deduction_list.js @@ -43,6 +43,13 @@ layui.use(['laytpl', 'table', 'jquery', 'form', 'miniTab', 'xmSelect'], function {field: 'create_time', title: '扣费时间'}, {field: 'money', title: '扣费金额'}, {field: 'reason', title: '扣费原因'}, + {templet : '#row-other', title: '其他'}, + {templet : function (d) { + if(d.couponMain!=undefined){ + return d.couponMain.name; + } + return ''; + }, title: '优惠券名称'}, {field: 'balance' , title: '当前余额'}, ]], done: function () { diff --git a/public/static/manager/js/channel.js b/public/static/manager/js/channel.js new file mode 100644 index 0000000..15e3341 --- /dev/null +++ b/public/static/manager/js/channel.js @@ -0,0 +1,119 @@ +layui.use(['laytpl', 'table', 'jquery', 'form', 'miniTab', 'xmSelect'], function () { + let $ = layui.jquery, + form = layui.form, + table = layui.table, + layer = layui.layer, + xmSelect = layui.xmSelect, + miniTab = layui.miniTab; + let modifyUrl = $('#row-modify').data('url'); + + /**** index begin ***/ + //index页面 + if ($('.location-index-page').length > 0) { + miniTab.listen(); + + // 渲染表格 + let listUrl = $('#table-container').data('url'); + let insTb = table.render({ + elem: '#table-container', + toolbar: '#toolbar-tpl', + defaultToolbar: [null], + url: listUrl, + method: 'post', + even: true, + limits: [10,20,50,100,200,500,1000], + request: { + pageName: 'page', + limitName: 'size', + }, + parseData: function (res) { + return { + "code": res.code, //解析接口状态 + "msg": res.msg, //解析提示文本 + "count": res.data.total, //解析数据长度 + "data": res.data.list //解析数据列表 + }; + }, + page: true, + cols: [[ + {type: 'checkbox'}, + {field: 'id', width: 80, title: 'ID'}, + {field: 'nickname', title: '昵称'}, + {field: 'business_count', title: '下属商家数'}, + {field: 'coupon_count', title: '下属优惠券数'}, + {field: 'create_time', title: '注册时间'}, + {templet: '#row-status', title: '状态'}, + + {templet: '#row-operate', minWidth: 150, field: 'right', align: 'center', title: '操作', fixed: 'right'} + ]], + done: function () { + Tools.setInsTb(insTb); + } + }); + + // 监听搜索操作 + form.on('submit(data-search-btn)', function (data) { + //执行搜索重载 + table.reload('table-container', { + page: {curr: 1} + , where: data.field + }, 'data'); + + return false; + }); + + //监听状态改变 + form.on('switch(changeStatus)', function(obj){ + let val = obj.elem.checked ? 1 : 0; + $.post(modifyUrl, {id: this.value, field: this.name, value: val}, function (res) { + layer.msg(res.msg) + if (res.code === 0) { + setTimeout(function () { + insTb.reload(); + }, 1000) + } + }) + }); + /** td edit **/ + + table.on('edit(table-container)', function (obj) { + let id = obj.data.id; + if (obj.field == 'sort') { + $.ajax('/manager/slide/sort', { + data: { + "sort": obj.value, + "id": id + } + ,dataType : 'json' + ,type: 'POST' + }) + .done(function () { + insTb.reload(); + }) + } + }); + } + /*** index end ***/ + + /** add and edit **/ + if ($('.location-operate-page').length > 0) { + //监听提交 + form.on('submit(saveMember)', function (data) { + let url = $(data.elem).data('url'); + $.post(url, data.field, function (res) { + layer.msg(res.msg); + if (res.code === 0) { + //刷新父级列表 + parent.layui.$('[data-table-refresh]').trigger("click"); + setTimeout(function () { + //关闭当前弹出层 + let iframeIndex = parent.layer.getFrameIndex(window.name); + parent.layer.close(iframeIndex); + }, 1000) + } + }); + return false; + }); + } + +}); \ No newline at end of file diff --git a/view/manager/agency/add.html b/view/manager/agency/add.html index 8d12f10..2309b04 100644 --- a/view/manager/agency/add.html +++ b/view/manager/agency/add.html @@ -34,18 +34,6 @@ -
-