1. 一鍵 curd 以及配置選單
編寫控制器方法 - 業務邏輯
再次一鍵生成選單 - 生成剛剛寫稽核透過方法的控制器。
2. 自定義控制器中方法。
3. 檢視角色組的許可權,並授予該角色許可權。
4. 前端修改 index 頁面,因為需要許可權所以需要加上一句話
data-operate-log="{:$auth->check('pz/ypdjpz/log')}"
5. 修改對應頁面的 js。路徑為:public/assets/js/backend/
6. 修改公共 js。路徑為:public/assets/js/require-table.js
6.1 新增 url
6.2 新增按鈕
log: { name: 'log', icon: 'fa fa-trash', title: __('歷史記錄'), extend: 'data-toggle="tooltip"', classname: 'btn btn-xs btn-primary btn-log' }
6.3 將按鈕加入到資料中,在 formatter 的 operate 裡
if (options.extend.log_url !== '' && names.indexOf('log') === -1) { buttons.push(Table.button.log); }
6.4 增加點選事件
'click .btn-log': function (e, value, row, index) { e.stopPropagation(); e.preventDefault(); var that = this; var table = $(this).closest('table'); var options = table.bootstrapTable('getOptions'); var ids = row[options.pk]; Table.api.multi("log", ids, table, that); },
6.5 修改 multi 程式碼,修改 url 的三目運算子。
// var url = typeof data.url !== "undefined" ? data.url : (action == "del" ? options.extend.del_url : options.extend.multi_url); var url = typeof data.url !== "undefined" ? data.url : (action == "del" ? options.extend.del_url :(action == "log" ? options.extend.log_url:options.extend.multi_url));
7. 配置按鈕時的圖示地址