소스 검색

Merge remote-tracking branch 'origin/master'

luoyifan 3 년 전
부모
커밋
d4d7dc82f7
2개의 변경된 파일28개의 추가작업 그리고 3개의 파일을 삭제
  1. 1 2
      src/controls/stores.js
  2. 27 1
      src/lib/systemLib.ts

+ 1 - 2
src/controls/stores.js

@@ -10,14 +10,13 @@ export function gridInvokeBuild(scope, grid, config, dataSource, reloadParams =
     const me = grid
     const params = calcObjectFlat(scope.viewModel.data, dataSource.params)
     let storeOption = {}
-
     if (dataSource.method === 'invoke') {
         // 默认支持 gridInvoke
         storeOption = {
             remoteSort: config.remoteSort,
             remoteFilter: config.remoteFilter,
             autoLoad: true,
-            pageSize: config.pageSize,
+            pageSize: me.store.pageSize || config.pageSize,
             proxy: {
                 type: 'jsonAjax',
                 $owner: me,

+ 27 - 1
src/lib/systemLib.ts

@@ -368,8 +368,9 @@ export function tryEnable(data, enableSetting) {
  * @param config 目标对象的配置(在构造函数之前也可以)
  * @param getDictFn 获取字典的方法
  * @param bizKey 传入字典的参数
+ * @param multiValueSeparator 多个字典值的分割符号
  */
-export function setComboStore(sender, config, getDictFn, bizKey) {
+export function setComboStore(sender, config, getDictFn, bizKey, multiValueSeparator = "") {
     if (sender.xtype === 'combotree') {
         getDictFn(bizKey, (r) => {
             if (sender.store) {
@@ -428,6 +429,31 @@ export function setComboStore(sender, config, getDictFn, bizKey) {
             const renderer = (value, metaData) => {
                 const valueField = r.field[0]
                 const displayField = r.field[1]
+                const separator = multiValueSeparator
+                if (separator) {
+                    const arr = value.split(separator)
+                    let displayValue = ""
+                    for (let i = 0; i < arr.length; i++) {
+                        const itv = arr[i]
+                        if (i > 0) {
+                            displayValue += separator
+                        }
+                        let j = 0
+                        _.each(r.data, row => {
+                            // 从 valueField 找到要显示的 displayField
+                            if (row[valueField] == itv) {
+                                displayValue += row[displayField]
+                                return false
+                            } else {
+                                if (i >= r.data.length -1) {
+                                    displayValue += itv
+                                }
+                            }
+                            j++
+                        })
+                    }
+                    return displayValue
+                }
                 _.each(r.data, row => {
                     // 从 valueField 找到要显示的 displayField
                     if (row[valueField] == value) {