From 2ac08bbcc99caac6d03e548dbc0b04dddcac3d28 Mon Sep 17 00:00:00 2001 From: dengbf Date: Fri, 21 Nov 2025 18:42:57 +0800 Subject: [PATCH 1/3] =?UTF-8?q?-=20[=E5=85=B3=E8=81=94]=20#[15593523961856?= =?UTF-8?q?00]=E8=A1=A8=E5=8D=95=E4=B8=8B=E6=8B=89=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E8=B0=83=E6=95=B4=20http://192.168.0.96:8090?= =?UTF-8?q?/demo/rdm.html#/story-detail/939050947543040/939050947543042/15?= =?UTF-8?q?59352396185600?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/resources/assets/languages/page/en.json | 3 +- src/resources/assets/languages/page/zh.json | 3 +- src/resources/plugins/TsForm/TsFormSelect.md | 6 +- src/resources/plugins/TsForm/TsFormSelect.vue | 45 ++++++++++++++- .../TsSheet/form/component/formselect.vue | 2 + .../TsSheet/form/config/formselect-conf.vue | 30 ++++++++++ .../formtableinputer-attr-config-dialog.vue | 55 ++++++++++++++----- 7 files changed, 125 insertions(+), 19 deletions(-) diff --git a/src/resources/assets/languages/page/en.json b/src/resources/assets/languages/page/en.json index 74d6ce9ca..d83908c60 100644 --- a/src/resources/assets/languages/page/en.json +++ b/src/resources/assets/languages/page/en.json @@ -1085,5 +1085,6 @@ "datachange": "data conversion", "childmenucount": "Number of submenus", "systemmenuauth": "System menu permissions", - "defaulthomepage": "default page" + "defaulthomepage": "default page", + "selectalltip": "Support full selection of current data in multiple selection mode" } \ No newline at end of file diff --git a/src/resources/assets/languages/page/zh.json b/src/resources/assets/languages/page/zh.json index 858142719..f655a73a8 100644 --- a/src/resources/assets/languages/page/zh.json +++ b/src/resources/assets/languages/page/zh.json @@ -1087,5 +1087,6 @@ "datachange": "数据转换", "childmenucount": "子菜单数量", "systemmenuauth": "系统菜单权限", - "defaulthomepage": "默认首页" + "defaulthomepage": "默认首页", + "selectalltip": "多选模式下支持当前数据全选" } \ No newline at end of file diff --git a/src/resources/plugins/TsForm/TsFormSelect.md b/src/resources/plugins/TsForm/TsFormSelect.md index ad369fb91..30b009e33 100644 --- a/src/resources/plugins/TsForm/TsFormSelect.md +++ b/src/resources/plugins/TsForm/TsFormSelect.md @@ -88,8 +88,10 @@ needCallback|Boolean|false|否|是否搜索需要回调,主要用于实时搜 forbidContent|String,Array||否|禁止输入的字符串,主要用于通过allowCreate来创建选项时,主要是为了防止xss攻击 一般情况下面值为 ['<', '>', '"', "'", '&'] 或者 '<>&'|生效条件 search 时 firstSelect|Boolean|true|否|必填且下拉列表只有一个时,是否选中下拉列表的唯一项|- nowrapHead|Boolean|false|否|当出现多选的时候,不换行显示,如果数据过多时则显示不全,通过滚动条来查看数据|- -dropdownMenuMaxWidth|String,Boolean|false|下拉列表最大宽度 - +dropdownMenuMaxWidth|String,Boolean|false|否|下拉列表最大宽度 +pageSize|Number|20|否|dynamicUrl模式下,设置返回数据的条数 +isCanAll|Boolean|false|否|多选模式下支持当前数据全选 +allText|String|全选|否|多选时,全选文字 2021-11-09 新加方法 参数名|数据类型|默认值|必传|用途|说明 diff --git a/src/resources/plugins/TsForm/TsFormSelect.vue b/src/resources/plugins/TsForm/TsFormSelect.vue index aeff8e6e7..39c8e7bcd 100755 --- a/src/resources/plugins/TsForm/TsFormSelect.vue +++ b/src/resources/plugins/TsForm/TsFormSelect.vue @@ -114,6 +114,11 @@ {{ addItem[showName ? showName : textName] }} +
  • {{ allText }}
  • +
  • {{ allText }}
  • { @@ -1412,6 +1439,22 @@ export default { this.$utils.equalStr(arr, str) && (index = 0); } return index; + }, + selectAll() { + // 全选 + let value = []; + this.nodeList.forEach(item => { + if (item && item._disabled || !item) { + return; + } else { + value.push(item[this.valueName]); + } + }); + this.selectedList = this.nodeList.filter(item => !item._disabled && item); + this.currentValue = value; + this.searchKeyWord = ''; + this.onChangeValue(); + this.scrollTop(); } }, computed: { diff --git a/src/resources/plugins/TsSheet/form/component/formselect.vue b/src/resources/plugins/TsSheet/form/component/formselect.vue index f75f19f33..235001c1a 100644 --- a/src/resources/plugins/TsSheet/form/component/formselect.vue +++ b/src/resources/plugins/TsSheet/form/component/formselect.vue @@ -232,6 +232,8 @@ export default { setting.placeholder = this.config.placeholder; setting.sperateText = this.config.sperateText || '、'; setting.isAutoSelectdOnlyValue = this.config.isAutoSelectdOnlyValue || false; + setting.isCanAll = this.config.isCanAll || false; + setting.pageSize = this.config.pageSize || 20; if (this.config.dataSource === 'matrix') { setting.dynamicUrl = '/api/rest/matrix/column/data/search/forselect'; setting.rootName = 'dataList'; diff --git a/src/resources/plugins/TsSheet/form/config/formselect-conf.vue b/src/resources/plugins/TsSheet/form/config/formselect-conf.vue index b8a3da7e4..bd0cbbefe 100644 --- a/src/resources/plugins/TsSheet/form/config/formselect-conf.vue +++ b/src/resources/plugins/TsSheet/form/config/formselect-conf.vue @@ -8,6 +8,22 @@ :disabled="disabled" > + + + + + +
    @@ -268,6 +297,7 @@ export default { this.$set(this.config, 'sourceColumnList', []); this.$set(this.config, 'hiddenFieldList', []); this.$set(this.config, 'defaultValue', null); + this.$set(this.config, 'pageSize', 20); if (!this.$utils.isEmpty(this.formItem.reaction)) { Object.keys(this.formItem.reaction).forEach(key => { this.$set(this.formItem.reaction, key, {}); diff --git a/src/resources/plugins/TsSheet/form/config/formtableinputer-conf/formtableinputer-attr-config-dialog.vue b/src/resources/plugins/TsSheet/form/config/formtableinputer-conf/formtableinputer-attr-config-dialog.vue index 48cdf651a..00b2545b0 100644 --- a/src/resources/plugins/TsSheet/form/config/formtableinputer-conf/formtableinputer-attr-config-dialog.vue +++ b/src/resources/plugins/TsSheet/form/config/formtableinputer-conf/formtableinputer-attr-config-dialog.vue @@ -93,20 +93,34 @@ - - - + + + +
    @@ -920,6 +946,7 @@ export default { this.$set(this.propertyLocal.config, 'matrixUuid', null); this.$set(this.propertyLocal.config, 'formtableinputerUuid', null); this.$set(this.propertyLocal.config, 'mapping', {}); + this.$set(this.propertyLocal.config, 'pageSize', 20); this.$delete(this.propertyLocal.reaction, 'filter'); this.isReady = false; this.$nextTick(() => { -- Gitee From 75dfef9e217238f127a6fd8d33be551a5e8c5855 Mon Sep 17 00:00:00 2001 From: dengbf Date: Mon, 24 Nov 2025 12:11:09 +0800 Subject: [PATCH 2/3] =?UTF-8?q?-=20[=E5=85=B3=E8=81=94]=20#[15593523961856?= =?UTF-8?q?00]=E8=A1=A8=E5=8D=95=E4=B8=8B=E6=8B=89=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E8=B0=83=E6=95=B4=20http://192.168.0.96:8090?= =?UTF-8?q?/demo/rdm.html#/story-detail/939050947543040/939050947543042/15?= =?UTF-8?q?59352396185600?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/resources/plugins/TsSheet/form/config/formselect-conf.vue | 2 +- .../formtableinputer-attr-config-dialog.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/resources/plugins/TsSheet/form/config/formselect-conf.vue b/src/resources/plugins/TsSheet/form/config/formselect-conf.vue index bd0cbbefe..0641d3b23 100644 --- a/src/resources/plugins/TsSheet/form/config/formselect-conf.vue +++ b/src/resources/plugins/TsSheet/form/config/formselect-conf.vue @@ -165,7 +165,7 @@ :disabled="disabled" > - + - + Date: Mon, 24 Nov 2025 15:18:58 +0800 Subject: [PATCH 3/3] =?UTF-8?q?-=20[=E5=85=B3=E8=81=94]=20#[15593523961856?= =?UTF-8?q?00]=E8=A1=A8=E5=8D=95=E4=B8=8B=E6=8B=89=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E8=B0=83=E6=95=B4=20http://192.168.0.96:8090?= =?UTF-8?q?/demo/rdm.html#/story-detail/939050947543040/939050947543042/15?= =?UTF-8?q?59352396185600?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/resources/assets/languages/page/en.json | 3 ++- src/resources/assets/languages/page/zh.json | 3 ++- src/resources/plugins/TsSheet/form/config/formselect-conf.vue | 2 +- .../formtableinputer-attr-config-dialog.vue | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/resources/assets/languages/page/en.json b/src/resources/assets/languages/page/en.json index d83908c60..a2e86bb26 100644 --- a/src/resources/assets/languages/page/en.json +++ b/src/resources/assets/languages/page/en.json @@ -1086,5 +1086,6 @@ "childmenucount": "Number of submenus", "systemmenuauth": "System menu permissions", "defaulthomepage": "default page", - "selectalltip": "Support full selection of current data in multiple selection mode" + "selectalltip": "Support full selection of current data in multiple selection mode", + "pagesizedes": "Quantity limit: 10-500 pieces" } \ No newline at end of file diff --git a/src/resources/assets/languages/page/zh.json b/src/resources/assets/languages/page/zh.json index f655a73a8..f64605a60 100644 --- a/src/resources/assets/languages/page/zh.json +++ b/src/resources/assets/languages/page/zh.json @@ -1088,5 +1088,6 @@ "childmenucount": "子菜单数量", "systemmenuauth": "系统菜单权限", "defaulthomepage": "默认首页", - "selectalltip": "多选模式下支持当前数据全选" + "selectalltip": "多选模式下支持当前数据全选", + "pagesizedes": "数量限制:10-500条" } \ No newline at end of file diff --git a/src/resources/plugins/TsSheet/form/config/formselect-conf.vue b/src/resources/plugins/TsSheet/form/config/formselect-conf.vue index 0641d3b23..1e6e51704 100644 --- a/src/resources/plugins/TsSheet/form/config/formselect-conf.vue +++ b/src/resources/plugins/TsSheet/form/config/formselect-conf.vue @@ -165,7 +165,7 @@ :disabled="disabled" > - + - +