1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/pelin0963-layuiExtend

27.02.2025 19:28
GitLife Service Account
  1. Добавлено использование оператора "множественного выбора" в SQL с использованием условия IN. Для реализации этого функционала требуется участие backend-разработчиков. Принцип работы: множественный выбор преобразуется в оператор IN, значения разделены запятой, а затем backend собирает SQL запрос. Например:
else if (QueryConditionOption.in == qcop) {
    if (val != null) {
        String[] vals = val.split(",");
        if (vals.length > 0) {
            for (String string : vals) {
                list.add(string);
            }
            sqlWhere += field + " in (" + getInParams(vals.length) + ") ";
        }
    }
}
/**
 * Создает строку параметров на основе количества параметров. Например, для двух параметров вернет ? , ?
 * @param num Число должно быть больше нуля, например: 3
 * @return ?,?,?
 */
public String getInParams(int num){
    StringBuffer sb = new StringBuffer("");
    for(int i = 0; i < num; i++){
        if(i != 0){
            sb.append(",");
        }
        sb.append("?");
    }
    return sb.toString();
}
  1. Добавлен редактор для чекбоксов. Шаблон редактора чекбокса может использоваться как шаблон для select-редактора, так и для radio-редактора. Например, шаблон="Да:N|Нет:Y".

Примечание: Множественный выбор может быть представлен не только чекбоксами, но также текстовым полем. В случае использования текстового поля пользователю необходимо самостоятельно указывать значения через запятую. Например, если условие "Имя пользователя" выбрано как множественный выбор, то ввод значений "Пётр, Сергей" позволит выполнить множественный выбор. Также можно создать кастомный редактор множественного выбора со списком значений.

Смотреть демо [Политическое положение]

Последнее сообщение коммита: .
27.02.2025 19:28
GitLife Service Account

setCondition принимает JSON-строку в качестве параметра.

Обновите функцию setCondition. Добавлен метод getCondition и метод setHideCondition. Теперь setCondition принимает JSON-строку в качестве аргумента.

Для справки можно использовать страницу с вложенными запросами. Перейти к примеру
Способ использования:

  1. Установите условия запроса как обычно и выполните поиск.
  2. Вызовите dc.getCondition().
  3. Вставьте полученные данные в шаблон HTML.
<script id="initCondition" type="text/html">
    [{"logicalOperator":"and","groupname":"groupname2","subgroupname":"groupname41278259680340446","rowlevel":"0","conditionFieldVal":"DynamicCondition.province","conditionOptionVal":"equal","datatype":"string","conditionValueVal":{"value":"","text":""},"conditionValueLeftVal":{"value":"","text":""},"conditionValueRightVal":{"value":"","text":""}},{"logicalOperator":"and","groupname":"groupname2","subgroupname":"groupname4562658783588114","rowlevel":"0","conditionFieldVal":"DynamicCondition.city","conditionOptionVal":"equal","conditionValueVal":{"value":"","text":""},"conditionValueLeftVal":{"value":"","text":""},"conditionValueRightVal":{"value":"","text":""}},{"logicalOperator":"and","groupname":"groupname2","subgroupname":"groupname7145102822903624","rowlevel":"0","conditionFieldVal":"DynamicCondition.name","conditionOptionVal":"like","datatype":"string","conditionValueVal":{"value":"张三","text":"张三"},"conditionValueLeftVal":{"value":"","text":""},"conditionValueRightVal":{"value":"","text":""}}]
</script>
<script id="hideCondition" type="text/html">
    [{"logicalOperator":"and","groupname":"groupname2","subgroupname":"groupname9181101668913314","rowlevel":"0","conditionFieldVal":"DynamicCondition.province","conditionOptionVal":"equal","datatype":"string","conditionValueVal":{"value":"","text":""},"conditionValueLeftVal":{"value":"","text":""},"conditionValueRightVal":{"value":"","text":""}},{"logicalOperator":"and","groupname":"groupname2","subgroupname":"groupname03241505926701782","rowlevel":"0","conditionFieldVal":"DynamicCondition.city","conditionOptionVal":"equal","conditionValueVal":{"value":"","text":""},"conditionValueLeftVal":{"value":"","text":""},"conditionValueRightVal":{"value":"","text":""}},{"logicalOperator":"and","groupname":"groupname2","subgroupname":"groupname46197182796385294","rowlevel":"0","conditionFieldVal":"DynamicCondition.sex","conditionOptionVal":"equal","conditionValueVal":{"value":"1","text":"男"},"conditionValueLeftVal":{"value":"","text":""},"conditionValueRightVal":{"value":"","text":""}}]
</script>
  1. Инициализируйте условия с помощью setHideCondition и setCondition.
// При сборке данных запроса эти условия будут добавлены для отправки серверу, но они не отображаются на экране пользователя (или отображаются, но пользователю не требуется менять их)
dc.setHideCondition($("#hideCondition").html());
dc.setCondition($("#initCondition").html());
Последнее сообщение коммита: .
27.02.2025 19:27
GitLife Service Account

Исправление проблемы автоматического выбора по умолчанию для опций. В первом элементе списка <li> определяется первый вариант из массива ops. Если ops не определены, то выбирается первый элемент из config.opsList.

Например, если вы хотите сделать по умолчанию условие "содержит", а не "равно", можно изменить порядок в opsList файла dcConfig.js, поместив like на первое место.

Если вам не требуется глобальное изменение, а только для одного конкретного экрана, вы можете изменить значение config.opsList в методе dynamicCondition.create(config).

Если же вы хотите изменить только для определённого условия, вы можете указать свойство ops для этого элемента <li>. Например:

<li field="name" title="Имя" edit="text" ops="like,equal"></li>

Таким образом, для условия "Имя" будет выбрано по умолчанию значение "содержит", а для остальных условий — "равно".

27.02.2025 19:27
GitLife Service Account

Исправление бага, введенного 07-23. Решение проблемы с отключенным эффектом при переключении опций.
Отмена конфигурации unpopupBtnswidth; страница автоматически адаптируется к ширине, нет необходимости вручную её настраивать.

Последнее сообщение коммита: 修复07-23号引入的bug。解决选项切换不生效问题。
27.02.2025 19:26
GitLife Service Account

Исправление ошибки. При определении операций (ops), если меняется условие переключения, то опция действий (option) автоматически выбирается первым вариантом из ops.

27.02.2025 19:26
GitLife Service Account

Свойство установки начальных значений li изменено с initVal на init-val, initLeftVal на init-left-val, а initRightVal на init-right-val.
Ранее, в версии от 27 апреля 2019 года, значения initVal, initLeftVal и initRightVal имели проблемы совместимости с браузерами из-за различий в регистре букв.

27.02.2025 19:26
GitLife Service Account
шаблон опции разделён символом "|", заголовок и значение разделены ":".
Последнее сообщение коммита: 新增单选编辑器。如:<li field="mylike" title="爱好" edit="radio"
27.02.2025 19:26
GitLife Service Account

Оптимизация, решение проблемы ошибки при использовании метода size() с внесенной внешней версией jQuery.

Последнее сообщение коммита: 优化,解决引入外部jquery版本时使用size()报错问题。
27.02.2025 19:26
GitLife Service Account
  1. Устранил проблему с триггером запроса при нажатии Enter в поле ввода.
  2. Оптимизировал логику проверки условия. При пустых значениях операция BETWEEN должна считаться недействительной.
Последнее сообщение коммита: 修复升级引入的bug
27.02.2025 19:26
GitLife Service Account

Оптимизация совместимости с предыдущими версиями.
Следующий шаг — реализация начальных условий для вложенных запросов и упрощение метода использования связывания выпадающих списков.
Хотя текущая реализация позволяет использовать связывание выпадающих списков, это не очень удобно.

Предпросмотр версии
27.02.2025 19:26
GitLife Service Account

скобок и логических связей "или" и "и".

Совместимо с версией v3.
Добавлена поддержка вложенных условий запроса, то есть условия могут быть объединены с помощью скобок и логических связок "или" и "и".
Необходимо указать nestedQuery: true в конфигурационном файле.

Предпросмотр версии
27.02.2025 19:26
GitLife Service Account

Исправление бага в версии v3.1.0

Последнее сообщение коммита: 解决使用$.extend合并对象时数组长度错误问题。
27.02.2025 19:26
GitLife Service Account

выполнении запросов можно дополнительно указывать параметры, такие как тип данных параметра.

  1. Пользовательские операционные опции
    Для удобства можно расширять список операционных опций, включая такие варианты как равно, содержит, диапазон, начинается с, заканчивается на. Также возможно указывать порядок отображения этих опций в выпадающем списке. Пример конфигурации:
// Можно создать пользовательские операционные опции, где between создаёт два поля для ввода; empty и notempty не создают никаких полей для ввода
opsMap: {"greater_than": "больше", "less_than": "меньше"}, // Добавление новых операционных опций,
opsList: ["equal", "like", "between", "start", "end", "unequal", "empty", "greater_than"], // Список доступных операционных опций
  1. Добавление дополнительных параметров запроса
    Если требуется передача типа данных параметра серверной части, это можно сделать следующим образом:

2.1. В конфигурации добавьте:

// При отправке запроса будут прикреплены дополнительные параметры, определённые в <li>
, extraParams: ["datatype"]

2.2. Конфигурирование <li>:

<li field="DynamicCondition.name" title="Имя" ops="equal, like, end" datatype="string" edit="text" placeholder="Введите имя" layVerify=""></li>

Таким образом, сервер сможет получить информацию о том, что поле DynamicCondition.name имеет тип string.

27.02.2025 19:25
GitLife Service Account

Исправлено условие, связанное с переключением операционной опции conditionOption, которое не приводило к перерendering и, как следствие, не отображалось в выпадающем списке.

27.02.2025 19:25
GitLife Service Account

Оптимизация: текстовое поле ввода, нажатие клавиши Enter запускает операцию запроса.

Последнее сообщение коммита: 优化:文本输入框,按回车键触发查询操作。
27.02.2025 19:25
GitLife Service Account

Поддержка расширения редактора из dcConfig. Добавлен новый выпадающий древовидный редактор treeSelect.

Последнее сообщение коммита: 支持从dcConfig中扩展编辑器。新增下拉树编辑器treeSelect
27.02.2025 19:25
GitLife Service Account

Добавлены свойства initVal, initLeftVal, initRightVal для инициализации начальных значений контроллера.

Последнее сообщение коммита: li新增initVal,initLeftVal,initRightVal属性初始便于初始控件值。
27.02.2025 19:25
GitLife Service Account

параметров запроса.

Добавлен метод parseToRequest. Используется для прямого парсинга с помощью JavaScript и генерации параметров запроса.

Последнее сообщение коммита: 新增parseToRequest方法。用于直接使用js解析生成请求参数
27.02.2025 19:25
GitLife Service Account

Ли добавлен атрибут dateType. Поддерживает форматирование выбора дат. По умолчанию значение равно "date".

Последнее сообщение коммита: GitLife auto-translation commit
27.02.2025 19:25
GitLife Service Account

Редакторы text и date поддерживают характеристики placeholder.
Исправлена проблема с повторением id в шаблоне select редактора, что приводило к неправильному отображению.
Исправлено异常显示问题,当 counts值大于条件的数量时。

Последнее сообщение коммита: text和date编辑器支持placeholder特性。
1
https://api.gitlife.ru/oschina-mirror/pelin0963-layuiExtend.git
git@api.gitlife.ru:oschina-mirror/pelin0963-layuiExtend.git
oschina-mirror
pelin0963-layuiExtend
pelin0963-layuiExtend