diff --git a/app/admin/traits/Curd.php b/app/admin/traits/Curd.php index 86af9d0..3987b41 100644 --- a/app/admin/traits/Curd.php +++ b/app/admin/traits/Curd.php @@ -24,14 +24,16 @@ trait Curd if (input('selectFields')) { return $this->selectList(); } - list($page, $limit, $where) = $this->buildTableParames(); + list($page, $limit, $where, $excludes, $request_options, $group) = $this->buildTableParames(); $count = $this->model ->where($where) + ->group($group) ->count(); $list = $this->model ->where($where) ->page($page, $limit) ->order($this->sort) + ->group($group) ->select(); $data = [ 'code' => 0, diff --git a/app/common/controller/AdminController.php b/app/common/controller/AdminController.php index b40008f..7ec8204 100644 --- a/app/common/controller/AdminController.php +++ b/app/common/controller/AdminController.php @@ -209,6 +209,7 @@ class AdminController extends BaseController $get = $this->request->get('', null, null); $page = isset($get['page']) && !empty($get['page']) ? $get['page'] : 1; $limit = isset($get['limit']) && !empty($get['limit']) ? $get['limit'] : 15; + $group = isset($get['group']) && !empty($get['group']) ? $get['group'] : null; $filters = isset($get['filter']) && !empty($get['filter']) ? $get['filter'] : '{}'; $ops = isset($get['op']) && !empty($get['op']) ? $get['op'] : '{}'; // json转数组 @@ -277,7 +278,7 @@ class AdminController extends BaseController $where[] = [$key, $op, "%{$val}"]; } } - return [$page, $limit, $where, $excludes, $request_options]; + return [$page, $limit, $where, $excludes, $request_options, $group]; } /** diff --git a/public/static/plugs/lay-module/tableData/tableData.html b/public/static/plugs/lay-module/tableData/tableData.html index 687c130..2a59265 100644 --- a/public/static/plugs/lay-module/tableData/tableData.html +++ b/public/static/plugs/lay-module/tableData/tableData.html @@ -4,7 +4,7 @@
{{setting.placeholder}}
{{itemSelect[setting.fieldName]}} - +
diff --git a/public/static/plugs/lay-module/tableData/tableData.js b/public/static/plugs/lay-module/tableData/tableData.js index 0828499..ce46476 100644 --- a/public/static/plugs/lay-module/tableData/tableData.js +++ b/public/static/plugs/lay-module/tableData/tableData.js @@ -46,7 +46,6 @@ define(['jquery', 'vue'], function ($, Vue) { var options = $.extend(defaultOption, data); - var valueField = options.valueField; if (options.index.indexOf('?') > -1) { @@ -84,8 +83,9 @@ define(['jquery', 'vue'], function ($, Vue) { $.get(options.index, { page: 1, limit: valueLength, - filter: JSON.stringify({ id: this.value }), - op: JSON.stringify({ id: 'in' }) + filter: JSON.stringify({ [options.valueField]: this.value }), + op: JSON.stringify({ [options.valueField]: 'in' }), + group: options.valueField }, (result) => { loading.hide() this.listSelected = result.data; @@ -101,8 +101,12 @@ define(['jquery', 'vue'], function ($, Vue) { methods: { openSelectPage() { - var selectedIds = this.listSelected.map(item => item.id); + if(options.readonly == 1){ + return false; + } + + var selectedIds = this.listSelected.map(item => item.id); var index = layer.open({ title: '选择数据',