fastadmin 資料記錄行上新增操作按鈕並設定許可權

心无引擎,眼无流派發表於2024-11-13

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. 配置按鈕時的圖示地址

相關文章