lizhen_gitee 1 year ago
parent
commit
7c6da3480e

+ 1 - 0
application/admin/controller/Family.php

@@ -71,4 +71,5 @@ class Family extends Backend
         return $this->view->fetch();
         return $this->view->fetch();
     }
     }
 
 
+
 }
 }

+ 42 - 1
application/admin/controller/Familymember.php

@@ -3,7 +3,7 @@
 namespace app\admin\controller;
 namespace app\admin\controller;
 
 
 use app\common\controller\Backend;
 use app\common\controller\Backend;
-
+use think\Db;
 /**
 /**
  * 家族成员管理
  * 家族成员管理
  *
  *
@@ -73,4 +73,45 @@ class Familymember extends Backend
         return $this->view->fetch();
         return $this->view->fetch();
     }
     }
 
 
+    /**
+     * 审核
+     */
+    public function audit(){
+        $id = input('id');
+        $info = Db::name('family_member')
+            ->where('id',$id)
+            ->find();
+
+        if ($this->request->isPost()) {
+            $status = input('status',0);
+            $data = [
+                'status' => $status,
+                /*'auditremark' => input('auditremark',''),
+                'audittime' => strtotime(input('audittime','')),
+                'updatetime' => time(),*/
+            ];
+            Db::startTrans();
+            $rs = Db::name('family_member')->where('id',$id)->update($data);
+
+            if($status == 1){
+
+                $res4 = \app\common\model\Family::where(["id"=>$info['guild_id']])->setInc("member");
+
+                //系统消息
+                $msg_id = \app\common\model\Message::addMessage($info['user_id'],'家族审核','家族审核已经通过');
+
+            }elseif($status == -1){
+                //系统消息
+                $msg_id = \app\common\model\Message::addMessage($info['user_id'],'家族审核','家族审核已经被拒绝');
+            }
+
+            Db::commit();
+
+            $this->success('审核完成');
+        }
+
+        $this->assign('row',$info);
+        return $this->view->fetch();
+    }
+
 }
 }

+ 2 - 2
application/admin/lang/zh-cn/family.php

@@ -3,7 +3,7 @@
 return [
 return [
     'Id'            => 'ID',
     'Id'            => 'ID',
     'G_id'          => '家族搜索ID',
     'G_id'          => '家族搜索ID',
-    'User_id'       => '族长',
+    'User_id'       => '族长用户id',
     'Group_id'      => '环信群组id',
     'Group_id'      => '环信群组id',
     'Name'          => '家族名称',
     'Name'          => '家族名称',
     'Image'         => '家族logo',
     'Image'         => '家族logo',
@@ -17,5 +17,5 @@ return [
     'Status -1'     => '已解散',
     'Status -1'     => '已解散',
     'Updatetime'    => '最后更新时间',
     'Updatetime'    => '最后更新时间',
     'Createtime'    => '创建时间',
     'Createtime'    => '创建时间',
-    'User.username' => '用户名'
+    'User.username' => '族长用户名'
 ];
 ];

+ 7 - 7
application/admin/view/family/edit.html

@@ -1,23 +1,23 @@
 <form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
 <form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
 
 
-    <div class="form-group">
+    <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('G_id')}:</label>
         <label class="control-label col-xs-12 col-sm-2">{:__('G_id')}:</label>
         <div class="col-xs-12 col-sm-8">
         <div class="col-xs-12 col-sm-8">
             <input id="c-g_id" data-rule="required" data-source="g/index" class="form-control selectpage" name="row[g_id]" type="text" value="{$row.g_id|htmlentities}">
             <input id="c-g_id" data-rule="required" data-source="g/index" class="form-control selectpage" name="row[g_id]" type="text" value="{$row.g_id|htmlentities}">
         </div>
         </div>
-    </div>
+    </div>-->
     <div class="form-group">
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('User_id')}:</label>
         <label class="control-label col-xs-12 col-sm-2">{:__('User_id')}:</label>
         <div class="col-xs-12 col-sm-8">
         <div class="col-xs-12 col-sm-8">
-            <input id="c-user_id" data-rule="required" data-source="user/user/index" data-field="nickname" class="form-control selectpage" name="row[user_id]" type="text" value="{$row.user_id|htmlentities}">
+            <input id="c-user_id" data-rule="required" data-source="user/user/index" disabled data-field="username" class="form-control selectpage" name="row[user_id]" type="text" value="{$row.user_id|htmlentities}">
         </div>
         </div>
     </div>
     </div>
-    <div class="form-group">
+    <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Group_id')}:</label>
         <label class="control-label col-xs-12 col-sm-2">{:__('Group_id')}:</label>
         <div class="col-xs-12 col-sm-8">
         <div class="col-xs-12 col-sm-8">
             <input id="c-group_id" data-rule="required" data-source="group/index" class="form-control selectpage" name="row[group_id]" type="text" value="{$row.group_id|htmlentities}">
             <input id="c-group_id" data-rule="required" data-source="group/index" class="form-control selectpage" name="row[group_id]" type="text" value="{$row.group_id|htmlentities}">
         </div>
         </div>
-    </div>
+    </div>-->
     <div class="form-group">
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
         <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
         <div class="col-xs-12 col-sm-8">
         <div class="col-xs-12 col-sm-8">
@@ -50,12 +50,12 @@
             <textarea id="c-notice" class="form-control " rows="5" name="row[notice]" cols="50">{$row.notice|htmlentities}</textarea>
             <textarea id="c-notice" class="form-control " rows="5" name="row[notice]" cols="50">{$row.notice|htmlentities}</textarea>
         </div>
         </div>
     </div>
     </div>
-    <div class="form-group">
+    <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Member')}:</label>
         <label class="control-label col-xs-12 col-sm-2">{:__('Member')}:</label>
         <div class="col-xs-12 col-sm-8">
         <div class="col-xs-12 col-sm-8">
             <input id="c-member" class="form-control" name="row[member]" type="number" value="{$row.member|htmlentities}">
             <input id="c-member" class="form-control" name="row[member]" type="number" value="{$row.member|htmlentities}">
         </div>
         </div>
-    </div>
+    </div>-->
     <div class="form-group">
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Weight')}:</label>
         <label class="control-label col-xs-12 col-sm-2">{:__('Weight')}:</label>
         <div class="col-xs-12 col-sm-8">
         <div class="col-xs-12 col-sm-8">

+ 2 - 2
application/admin/view/family/index.html

@@ -17,7 +17,7 @@
                 <div class="widget-body no-padding">
                 <div class="widget-body no-padding">
                     <div id="toolbar" class="toolbar">
                     <div id="toolbar" class="toolbar">
                         <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
                         <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
-                        <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('family/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
+                       <!-- <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('family/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
                         <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('family/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
                         <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('family/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
                         <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('family/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
                         <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('family/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
                         <a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('family/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>
                         <a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('family/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>
@@ -28,7 +28,7 @@
                                 <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>
                                 <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>
                                 <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>
                                 <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>
                             </ul>
                             </ul>
-                        </div>
+                        </div>-->
 
 
                         
                         
                     </div>
                     </div>

+ 34 - 0
application/admin/view/familymember/audit.html

@@ -0,0 +1,34 @@
+<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('User_id')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-user_id" data-rule="required" data-source="user/user/index" disabled data-field="username" class="form-control selectpage"  type="text" value="{$row.user_id|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Guild_id')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-guild_id" data-rule="required" data-source="family/index" disabled data-field="name" class="form-control selectpage"  type="text" value="{$row.guild_id|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            
+            <div class="radio">
+            {foreach name="statusList" item="vo"}
+            <label for="row[status]-{$key}"><input id="row[status]-{$key}" name="status" type="radio" value="{$key}" {in name="key" value="$row.status"}checked{/in} /> {$vo}</label>
+            {/foreach}
+            </div>
+
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 3 - 2
application/admin/view/familymember/index.html

@@ -17,7 +17,7 @@
                 <div class="widget-body no-padding">
                 <div class="widget-body no-padding">
                     <div id="toolbar" class="toolbar">
                     <div id="toolbar" class="toolbar">
                         <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
                         <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
-                        <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('familymember/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
+                        <!--<a href="javascript:;" class="btn btn-success btn-add {:$auth->check('familymember/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
                         <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('familymember/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
                         <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('familymember/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
                         <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('familymember/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
                         <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('familymember/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
                         <a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('familymember/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>
                         <a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('familymember/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>
@@ -28,13 +28,14 @@
                                 <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>
                                 <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>
                                 <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>
                                 <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>
                             </ul>
                             </ul>
-                        </div>
+                        </div>-->
 
 
                         
                         
                     </div>
                     </div>
                     <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
                     <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
                            data-operate-edit="{:$auth->check('familymember/edit')}" 
                            data-operate-edit="{:$auth->check('familymember/edit')}" 
                            data-operate-del="{:$auth->check('familymember/del')}" 
                            data-operate-del="{:$auth->check('familymember/del')}" 
+                           data-operate-audit="{:$auth->check('familymember/audit')}"
                            width="100%">
                            width="100%">
                     </table>
                     </table>
                 </div>
                 </div>

+ 4 - 3
public/assets/js/backend/family.js

@@ -26,9 +26,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                     [
                     [
                         {checkbox: true},
                         {checkbox: true},
                         {field: 'id', title: __('Id')},
                         {field: 'id', title: __('Id')},
-                        {field: 'g_id', title: __('G_id')},
+//                        {field: 'g_id', title: __('G_id')},
                         {field: 'user_id', title: __('User_id')},
                         {field: 'user_id', title: __('User_id')},
-                        {field: 'group_id', title: __('Group_id')},
+                        {field: 'user.username', title: __('User.username'), operate: 'LIKE'},
+
+//                        {field: 'group_id', title: __('Group_id')},
                         {field: 'name', title: __('Name'), operate: 'LIKE'},
                         {field: 'name', title: __('Name'), operate: 'LIKE'},
                         {field: 'image', title: __('Image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
                         {field: 'image', title: __('Image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
                         {field: 'member', title: __('Member')},
                         {field: 'member', title: __('Member')},
@@ -36,7 +38,6 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1'),"-1":__('Status -1')}, formatter: Table.api.formatter.status},
                         {field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1'),"-1":__('Status -1')}, formatter: Table.api.formatter.status},
                         {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                         {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                         {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                         {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
-                        {field: 'user.username', title: __('User.username'), operate: 'LIKE'},
                         {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                         {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                     ]
                     ]
                 ]
                 ]

+ 25 - 5
public/assets/js/backend/familymember.js

@@ -7,8 +7,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                 extend: {
                 extend: {
                     index_url: 'familymember/index' + location.search,
                     index_url: 'familymember/index' + location.search,
                     add_url: 'familymember/add',
                     add_url: 'familymember/add',
-                    edit_url: 'familymember/edit',
-                    del_url: 'familymember/del',
+//                    edit_url: 'familymember/edit',
+//                    del_url: 'familymember/del',
                     multi_url: 'familymember/multi',
                     multi_url: 'familymember/multi',
                     import_url: 'familymember/import',
                     import_url: 'familymember/import',
                     table: 'family_member',
                     table: 'family_member',
@@ -27,7 +27,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {checkbox: true},
                         {checkbox: true},
                         {field: 'id', title: __('Id')},
                         {field: 'id', title: __('Id')},
                         {field: 'guild_id', title: __('Guild_id')},
                         {field: 'guild_id', title: __('Guild_id')},
+                        {field: 'family.name', title: __('Family.name'), operate: 'LIKE'},
+
                         {field: 'user_id', title: __('User_id')},
                         {field: 'user_id', title: __('User_id')},
+                        {field: 'user.username', title: __('User.username'), operate: 'LIKE'},
+
                         {field: 'role', title: __('Role'), searchList: {"0":__('Role 0'),"1":__('Role 1'),"2":__('Role 2')}, formatter: Table.api.formatter.normal},
                         {field: 'role', title: __('Role'), searchList: {"0":__('Role 0'),"1":__('Role 1'),"2":__('Role 2')}, formatter: Table.api.formatter.normal},
                         {field: 'wealth', title: __('Wealth')},
                         {field: 'wealth', title: __('Wealth')},
                         {field: 'charm', title: __('Charm')},
                         {field: 'charm', title: __('Charm')},
@@ -35,9 +39,22 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1'),"-1":__('Status -1')}, formatter: Table.api.formatter.status},
                         {field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1'),"-1":__('Status -1')}, formatter: Table.api.formatter.status},
                         {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                         {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                         {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                         {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
-                        {field: 'family.name', title: __('Family.name'), operate: 'LIKE'},
-                        {field: 'user.username', title: __('User.username'), operate: 'LIKE'},
-                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+                        {field: 'operate', title: __('Operate'), table: table,
+                            buttons:[
+                                {
+                                    name:'audit',
+                                    text:'审核',
+                                    title:'审核',
+                                    icon:'fa fa-exclamation-circle',
+                                    classname:'btn btn-xs btn-info btn-dialog',
+                                    url:'familymember/audit/id/{ids}?dialog=1',
+                                    target:'_self',
+                                    hidden:function(row){
+                                        return row.status==0 ? false : true;
+                                    }
+                                }
+                            ],
+                            events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                     ]
                     ]
                 ]
                 ]
             });
             });
@@ -51,6 +68,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
         edit: function () {
         edit: function () {
             Controller.api.bindevent();
             Controller.api.bindevent();
         },
         },
+        audit: function () {
+            Controller.api.bindevent();
+        },
         api: {
         api: {
             bindevent: function () {
             bindevent: function () {
                 Form.api.bindevent($("form[role=form]"));
                 Form.api.bindevent($("form[role=form]"));