作者 Cool
1 个管道 的构建 通过 耗费 0 秒

Merge branch 'master' of http://114.215.101.231:8099/guosheng/community into Branch_liuzhen

  1 +<?php
  2 +
  3 +namespace app\admin\controller;
  4 +
  5 +use app\common\controller\Backend;
  6 +use think\Db;
  7 +
  8 +/**
  9 + * 用户申请加入小区
  10 + *
  11 + * @icon fa fa-circle-o
  12 + */
  13 +class UserHouse extends Backend
  14 +{
  15 +
  16 + /**
  17 + * UserHouse模型对象
  18 + * @var \app\api\model\UserHouse
  19 + */
  20 + protected $model = null;
  21 +
  22 + public function _initialize()
  23 + {
  24 + parent::_initialize();
  25 + $this->model = new \app\api\model\UserHouse;
  26 +
  27 + }
  28 +
  29 + /**
  30 + * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
  31 + * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
  32 + * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
  33 + */
  34 +
  35 + /**
  36 + * 查看
  37 + */
  38 + public function index($ids = '')
  39 + {
  40 + //设置过滤方法
  41 + $this->request->filter(['strip_tags']);
  42 + if ($this->request->isAjax()) {
  43 + //如果发送的来源是Selectpage,则转发到Selectpage
  44 + if ($this->request->request('keyField')) {
  45 + return $this->selectpage();
  46 + }
  47 +
  48 + list($where, $sort, $order, $offset, $limit) = $this->buildparams();
  49 + $total = $this->model
  50 + ->where('house_id',$ids)
  51 + ->count();
  52 +
  53 + $list = $this->model
  54 + ->with(['user'])
  55 + ->where('house_id',$ids)
  56 + ->order($sort, $order)
  57 + ->limit($offset, $limit)
  58 + ->select();
  59 +
  60 + $list = collection($list)->toArray();
  61 + $result = array("total" => $total, "rows" => $list);
  62 +
  63 + return json($result);
  64 + }
  65 + $this->assignconfig('ids',$ids);
  66 + return $this->view->fetch();
  67 + }
  68 +
  69 + public function agree($ids = '')
  70 + {
  71 + //设置过滤方法
  72 + if ($this->request->isAjax()) {
  73 + $info = $this->model->get($ids,['user']);
  74 + if($info['status'] == 2){
  75 + $this->error('已同意,请勿重复操作');
  76 + }
  77 + Db::startTrans();
  78 + try{
  79 + // 绑定当前小区
  80 + if(empty($info['user']['house_id'])){
  81 + $info->user->house_id = $info['house_id'];
  82 + $info->user->save();
  83 + }
  84 + // 绑定数量减1
  85 + \app\admin\model\House::where('id',$info['house_id'])->setInc('bindnum');
  86 + // 绑定状态改为已绑定
  87 + $info->save(['status'=>2]);
  88 + // 提交事务
  89 + Db::commit();
  90 + } catch (\Exception $e) {
  91 + // 回滚事务
  92 + Db::rollback();
  93 + $this->error($e->getMessage());
  94 + }
  95 + $this->success('修改成功');
  96 + }
  97 + }
  98 +
  99 +}
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <div class="form-group"> 3 <div class="form-group">
4 <label class="control-label col-xs-12 col-sm-2">{:__('Admin_user_id')}:</label> 4 <label class="control-label col-xs-12 col-sm-2">{:__('Admin_user_id')}:</label>
5 <div class="col-xs-12 col-sm-8"> 5 <div class="col-xs-12 col-sm-8">
6 - <input id="c-admin_user_id" data-rule="required" data-source="house_admin/index" class="form-control selectpage" name="row[admin_user_id]" type="text" value="{$row.admin_user_id|htmlentities}"> 6 + <input id="c-admin_user_id" data-rule="required" data-source="house_admin/index" data-field="nickname" class="form-control selectpage" name="row[admin_user_id]" type="text" value="{$row.admin_user_id|htmlentities}">
7 </div> 7 </div>
8 </div> 8 </div>
9 <div class="form-group"> 9 <div class="form-group">
  1 +<div class="panel panel-default panel-intro">
  2 + {:build_heading()}
  3 +
  4 + <div class="panel-body">
  5 + <div id="myTabContent" class="tab-content">
  6 + <div class="tab-pane fade active in" id="one">
  7 + <div class="widget-body no-padding">
  8 + <div id="toolbar" class="toolbar">
  9 + <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
  10 + <!--<a href="javascript:;" class="btn btn-success btn-add {:$auth->check('house/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>-->
  11 + <!--<a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('house/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>-->
  12 + <!--<a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('house/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>-->
  13 + <!--<a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('house/import')?'':'hide'}" title="{:__('Import')}" id="btn-import-file" data-url="ajax/upload" data-mimetype="csv,xls,xlsx" data-multiple="false"><i class="fa fa-upload"></i> {:__('Import')}</a>-->
  14 +
  15 + <!--<div class="dropdown btn-group {:$auth->check('house/multi')?'':'hide'}">-->
  16 + <!--<a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>-->
  17 + <!--<ul class="dropdown-menu text-left" role="menu">-->
  18 + <!--<li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>-->
  19 + <!--<li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>-->
  20 + <!--</ul>-->
  21 + <!--</div>-->
  22 +
  23 +
  24 + </div>
  25 + <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
  26 + data-operate-edit="{:$auth->check('phone/edit')}"
  27 + data-operate-del="{:$auth->check('phone/del')}"
  28 + width="100%">
  29 + </table>
  30 + </div>
  31 + </div>
  32 +
  33 + </div>
  34 + </div>
  35 +</div>
@@ -6,5 +6,10 @@ namespace app\api\model; @@ -6,5 +6,10 @@ namespace app\api\model;
6 6
7 class UserHouse extends Base 7 class UserHouse extends Base
8 { 8 {
9 - 9 + /**
  10 + * 用户
  11 + */
  12 + public function user(){
  13 + return $this->belongsTo('User');
  14 + }
10 } 15 }
@@ -50,6 +50,19 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin @@ -50,6 +50,19 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
50 ], operate:false, formatter: Table.api.formatter.buttons 50 ], operate:false, formatter: Table.api.formatter.buttons
51 }, 51 },
52 52
  53 + {field: 'id', title: __('业主申请'), table: table, events: Table.api.events.operate, buttons:
  54 + [
  55 + {
  56 + text: '业主申请',
  57 + title: '业主申请',
  58 + icon: 'fa fa-list',
  59 + classname: 'btn btn-xs btn-primary btn-dialog',
  60 + url: 'user_house/index',
  61 + extend: 'data-area=\'["80%","80%"]\'',
  62 + }
  63 + ], operate:false, formatter: Table.api.formatter.buttons
  64 + },
  65 +
53 {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime}, 66 {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
54 // {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime}, 67 // {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
55 {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} 68 {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  1 +define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2 +
  3 + var Controller = {
  4 + index: function () {
  5 + // 初始化表格参数配置
  6 + Table.api.init({
  7 + extend: {
  8 + index_url: 'user_house/index' + '/ids/' + Config.ids + location.search,
  9 + table: 'user_house',
  10 + }
  11 + });
  12 +
  13 + var table = $("#table");
  14 +
  15 + // 初始化表格
  16 + table.bootstrapTable({
  17 + url: $.fn.bootstrapTable.defaults.extend.index_url,
  18 + pk: 'id',
  19 + sortName: 'id',
  20 + search:false,
  21 + showToggle: false,
  22 + showColumns: false,
  23 + showExport: false,
  24 + commonSearch: false,
  25 + columns: [
  26 + [
  27 + {checkbox: true},
  28 + {field: 'id', title: __('Id'), operate:false},
  29 + {field: 'user.nickname', title: __('用户昵称'), operate:false},
  30 + {field: 'user.id', title: __('用户ID'), operate:false},
  31 + {field: 'name', title: __('电话名称'), operate:false},
  32 + {field: 'phone', title: __('电话')},
  33 + {field: 'status', title: __('绑定状态')},
  34 + {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, buttons:
  35 + [
  36 + {
  37 + name: '同意',
  38 + text: function (row) {
  39 + if(row.status == 2){
  40 + return '已同意';
  41 + }else{
  42 + return '同意申请';
  43 + }
  44 + },
  45 + title: function (row) {
  46 + if(row.status == 2){
  47 + return '已同意';
  48 + }else{
  49 + return '同意申请';
  50 + }
  51 + },
  52 + classname: 'btn btn-xs btn-success btn-magic btn-ajax',
  53 + icon: 'fa fa-magic',
  54 + url: 'user_house/agree',
  55 + confirm: '确认发送',
  56 + success: function (data, ret) {
  57 + Layer.alert(ret.msg);
  58 + //如果需要阻止成功提示,则必须使用return false;
  59 + //return false;
  60 + },
  61 + error: function (data, ret) {
  62 + Layer.alert(ret.msg);
  63 + return false;
  64 + },
  65 + disable: function (row) {
  66 + //返回true时按钮显示,返回false隐藏
  67 + if(row.status == 2){
  68 + return true;
  69 + }
  70 + }
  71 + },
  72 + ], formatter: Table.api.formatter.operate,
  73 + }
  74 + ]
  75 + ]
  76 + });
  77 +
  78 + // 为表格绑定事件
  79 + Table.api.bindevent(table);
  80 + },
  81 + add: function () {
  82 + Controller.api.bindevent();
  83 + },
  84 + edit: function () {
  85 + Controller.api.bindevent();
  86 + },
  87 + api: {
  88 + bindevent: function () {
  89 + Form.api.bindevent($("form[role=form]"));
  90 + }
  91 + }
  92 + };
  93 + return Controller;
  94 +});