Browse Source

后台几个批量操作

lizhen_gitee 1 year ago
parent
commit
20c0de5b20

+ 78 - 1
application/admin/controller/attire/Attire.php

@@ -3,7 +3,7 @@
 namespace app\admin\controller\attire;
 
 use app\common\controller\Backend;
-
+use think\Db;
 /**
  * 装扮商城
  *
@@ -37,6 +37,83 @@ class Attire extends Backend
      * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
      * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
      */
+
+    /**
+     * 批量上架
+     */
+    public function batchshowup($ids = ''){
+        $ids = $ids ? $ids : input('ids','');
+
+        if ($this->request->isAjax()) {
+
+            $ids = explode(',', $ids);
+            if(!empty($ids)){
+                Db::startTrans();
+                $i = 0;
+                foreach($ids as $key => $val){
+                    if($val){
+                        $check = Db::name('attire')->where('id',$val)->find();
+                        if(!$check){
+                            Db::rollback();
+                            $this->error('不存在数据'.$val);
+                        }
+                        $rs = Db::name('attire')->where('id',$val)->update(['is_show'=>1]);
+                        if($rs === false){
+                            Db::rollback();
+                            $this->error('修改错误'.$val);
+                        }
+
+                        $i++;
+                    }
+
+                }
+                Db::commit();
+                $this->success('修改成功,修改行数:'.$i);
+            }else{
+                $this->error('请选择任意一个');
+            }
+
+        }
+
+    }
+    /**
+     * 批量下架
+     */
+    public function batchshowdown($ids = ''){
+        $ids = $ids ? $ids : input('ids','');
+
+        if ($this->request->isAjax()) {
+
+            $ids = explode(',', $ids);
+            if(!empty($ids)){
+                Db::startTrans();
+                $i = 0;
+                foreach($ids as $key => $val){
+                    if($val){
+                        $check = Db::name('attire')->where('id',$val)->find();
+                        if(!$check){
+                            Db::rollback();
+                            $this->error('不存在数据'.$val);
+                        }
+                        $rs = Db::name('attire')->where('id',$val)->update(['is_show'=>0]);
+                        if($rs === false){
+                            Db::rollback();
+                            $this->error('修改错误'.$val);
+                        }
+
+                        $i++;
+                    }
+
+                }
+                Db::commit();
+                $this->success('修改成功,修改行数:'.$i);
+            }else{
+                $this->error('请选择任意一个');
+            }
+
+        }
+
+    }
     
 
 }

+ 7 - 5
application/admin/view/attire/attire/index.html

@@ -10,15 +10,17 @@
                         <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('attire/attire/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('attire/attire/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('attire/attire/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
-                        <a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('attire/attire/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 class="btn btn-info btn-disabled disabled btn-batchshowup" href="javascript:;"><i class="fa"></i> 批量上架</a>
+                        <a class="btn btn-info btn-disabled disabled btn-batchshowdown" href="javascript:;"><i class="fa"></i> 批量下架</a>
+                        <!--<a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('attire/attire/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>-->
 
-                        <div class="dropdown btn-group {:$auth->check('attire/attire/multi')?'':'hide'}">
+                        <!--<div class="dropdown btn-group {:$auth->check('attire/attire/multi')?'':'hide'}">
                             <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>
                             <ul class="dropdown-menu text-left" role="menu">
-                                <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="is_show=1"><i class="fa fa-eye"></i>上架</a></li>
+                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="is_show=0"><i class="fa fa-eye-slash"></i>下架</a></li>
                             </ul>
-                        </div>
+                        </div>-->
 
                         
                     </div>

+ 3 - 4
application/admin/view/egg/gift/index.html

@@ -8,10 +8,9 @@
                     <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-success btn-add {:$auth->check('egg/gift/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('egg/gift/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('egg/gift/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
-                        <a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('egg/gift/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-success btn-edit btn-disabled disabled {:$auth->check('egg/gift/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('egg/gift/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
+                         <!--<a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('egg/gift/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-default" style="font-size:14px;color:dodgerblue;">
                             <span class="extend">
                                 礼物总价值:<span id="total-price">0</span>

+ 3 - 3
application/admin/view/gift/gift/index.html

@@ -10,15 +10,15 @@
                         <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('gift/gift/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('gift/gift/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('gift/gift/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
-                        <a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('gift/gift/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('gift/gift/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>-->
 
-                        <div class="dropdown btn-group {:$auth->check('gift/gift/multi')?'':'hide'}">
+                        <!--<div class="dropdown btn-group {:$auth->check('gift/gift/multi')?'':'hide'}">
                             <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>
                             <ul class="dropdown-menu text-left" role="menu">
                                 <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>
                             </ul>
-                        </div>
+                        </div>-->
 
                         
                     </div>

+ 17 - 0
public/assets/js/backend/attire/attire.js

@@ -42,6 +42,17 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
 
             // 为表格绑定事件
             Table.api.bindevent(table);
+
+            // 启动和暂停按钮
+            $(document).on("click", ".btn-batchshowup", function () {
+                var ids = Table.api.selectedids(table);
+                Fast.api.ajax_refresh('attire/attire/batchshowup/ids/'+ ids,'批量上架');
+
+            });
+            $(document).on("click", ".btn-batchshowdown", function () {
+                var ids = Table.api.selectedids(table);
+                Fast.api.ajax_refresh('attire/attire/batchshowdown/ids/'+ ids,'批量下架');
+            });
         },
         add: function () {
             Controller.api.bindevent();
@@ -49,6 +60,12 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
         edit: function () {
             Controller.api.bindevent();
         },
+        batchshowup: function () {
+            Form.api.bindevent($("form[role=form]"));
+        },
+        batchshowdown: function () {
+            Form.api.bindevent($("form[role=form]"));
+        },
         api: {
             bindevent: function () {
                 Form.api.bindevent($("form[role=form]"));

+ 32 - 0
public/assets/js/fast.js

@@ -88,6 +88,38 @@ define(['jquery', 'bootstrap', 'toastr', 'layer', 'lang'], function ($, undefine
                 }, options);
                 return $.ajax(options);
             },
+            //发送Ajax请求
+            ajax_refresh: function (options, success, error) {
+                options = typeof options === 'string' ? {url: options} : options;
+                var index;
+                if (typeof options.loading === 'undefined' || options.loading) {
+                    index = Layer.load(options.loading || 0);
+                }
+                options = $.extend({
+                    type: "POST",
+                    dataType: "json",
+                    xhrFields: {
+                        withCredentials: true
+                    },
+                    success: function (ret) {
+                        index && Layer.close(index);
+                        ret = Fast.events.onAjaxResponse(ret);
+                        if (ret.code === 1) {
+                            Fast.events.onAjaxSuccess(ret, success);
+                        } else {
+                            Fast.events.onAjaxError(ret, error);
+                        }
+                        $(".btn-refresh").trigger("click");
+                    },
+                    error: function (xhr) {
+                        index && Layer.close(index);
+                        var ret = {code: xhr.status, msg: xhr.statusText, data: null};
+                        Fast.events.onAjaxError(ret, error);
+                        $(".btn-refresh").trigger("click");
+                    }
+                }, options);
+                return $.ajax(options);
+            },
             //修复URL
             fixurl: function (url) {
                 if (url.substr(0, 1) !== "/") {