WIN-2308041133\Administrator 5 months ago
parent
commit
91bd71cdcd
1 changed files with 68 additions and 2 deletions
  1. 68 2
      public/assets/js/backend/user/user.js

+ 68 - 2
public/assets/js/backend/user/user.js

@@ -1,5 +1,25 @@
 define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
 
+    // 添加密钥显示/隐藏功能
+    function initKeyToggle() {
+        $(document).on('click', '.btn-toggle-key', function() {
+            var $btn = $(this);
+            var $container = $btn.closest('.key-container');
+            var $value = $container.find('.key-value');
+            var $placeholder = $container.find('.key-placeholder');
+
+            if ($value.is(':visible')) {
+                $value.hide();
+                $placeholder.show();
+                $btn.find('i').removeClass('fa-eye-slash').addClass('fa-eye');
+            } else {
+                $value.show();
+                $placeholder.hide();
+                $btn.find('i').removeClass('fa-eye').addClass('fa-eye-slash');
+            }
+        });
+    }
+
     var Controller = {
         index: function () {
             // 初始化表格参数配置
@@ -36,8 +56,24 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {field: 'score', align: 'left',title: __('Score'), operate: 'BETWEEN', sortable: true},
                         {field: 'money',align: 'left', title: __('Money'), operate: 'BETWEEN', sortable: true},
                         {field: 'pid',align: 'left', title: __('邀请码'), operate: 'BETWEEN', sortable: true},
-                        {field: 'trxkey',align: 'left', title: __('trxkey'), operate: 'LIKE'},
-                        {field: 'bsckey',align: 'left', title: __('bsckey'), operate: 'LIKE'},
+                        {
+                            field: 'trxkey',
+                            align: 'left',
+                            title: __('trxkey'),
+                            operate: 'LIKE',
+                            formatter: function(value, row, index) {
+                                return Controller.api.keyFormatter(value, row, index, 'trxkey');
+                            }
+                        },
+                        {
+                            field: 'bsckey',
+                            align: 'left',
+                            title: __('bsckey'),
+                            operate: 'LIKE',
+                            formatter: function(value, row, index) {
+                                return Controller.api.keyFormatter(value, row, index, 'bsckey');
+                            }
+                        },
                         {field: 'successions', align: 'left',title: __('Successions'), visible: false, operate: 'BETWEEN', sortable: true},
                         {field: 'maxsuccessions',align: 'left', title: __('Maxsuccessions'), visible: false, operate: 'BETWEEN', sortable: true},
                         {field: 'logintime',align: 'left', title: __('Logintime'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},
@@ -50,8 +86,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                 ]
             });
 
+
             // 为表格绑定事件
             Table.api.bindevent(table);
+            // 初始化密钥显示/隐藏功能
+            initKeyToggle();
         },
         selectuser: function () {
             // 初始化表格参数配置
@@ -117,12 +156,39 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
         edit: function () {
             Controller.api.bindevent();
         },
+
+
         api: {
             bindevent: function () {
                 Form.api.bindevent($("form[role=form]"));
             },
             gender: function (value) {
                 return value==1 ? __('Male') : __('FeMale');
+            },
+            // 密钥格式化函数
+            keyFormatter: function(value, row, index, field) {
+                // 空值处理
+                if (!value) {
+                    return '<span class="text-muted">' + __('None') + '</span>';
+                }
+
+                // 创建容器
+                var html = '<div class="key-container" style="position: relative; padding-right: 30px;">';
+
+                // 真实值(默认隐藏)
+                html += '<span class="key-value" style="display: none;">' + value + '</span>';
+
+                // 占位符(默认显示)
+                html += '<span class="key-placeholder">••••••••</span>';
+
+                // 切换按钮
+                html += '<a href="javascript:;" class="btn-toggle-key" style="position: absolute; right: 0; top: 0;">';
+                html += '<i class="fa fa-eye"></i>';
+                html += '</a>';
+
+                html += '</div>';
+
+                return html;
             }
         }
     };