mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-07-09 19:42:47 +08:00
优化tableData组件,修复动态字段,增加group重复验证
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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];
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<div class="placeholder" v-if="listSelected.length == 0">{{setting.placeholder}}</div>
|
||||
<div class="layui-btn layui-btn-xs layui-btn-normal" v-for="(itemSelect,indexSelect) in listSelected">
|
||||
<span>{{itemSelect[setting.fieldName]}}</span>
|
||||
<i class="layui-icon layui-icon-close" @click.stop="removeItem(itemSelect,indexSelect)"></i>
|
||||
<i class="layui-icon layui-icon-close" @click.stop="removeItem(itemSelect,indexSelect)" v-if="setting.readonly != 1"></i>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -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: '选择数据',
|
||||
|
||||
Reference in New Issue
Block a user