vxe-table 3.8.19 → 3.8.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/custom/src/panel.js +2 -1
- package/lib/custom/src/panel.min.js +1 -1
- package/lib/edit/src/mixin.js +11 -11
- package/lib/edit/src/mixin.min.js +1 -1
- package/lib/export/src/mixin.js +14 -8
- package/lib/export/src/mixin.min.js +1 -1
- package/lib/form/src/form-config-item.js +16 -6
- package/lib/form/src/form-config-item.min.js +1 -1
- package/lib/form/src/form-item.js +24 -6
- package/lib/form/src/form-item.min.js +1 -1
- package/lib/form/src/form.js +24 -10
- package/lib/form/src/form.min.js +1 -1
- package/lib/form/src/util.js +2 -0
- package/lib/form/src/util.min.js +1 -1
- package/lib/form/style/style.css +6 -4
- package/lib/form/style/style.min.css +1 -1
- package/lib/grid/src/grid.js +17 -12
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.umd.js +166 -84
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +2 -1
- package/lib/input/src/input.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/methods.js +21 -5
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +9 -4
- package/lib/table/src/table.min.js +1 -1
- package/lib/textarea/src/textarea.js +4 -1
- package/lib/textarea/src/textarea.min.js +1 -1
- package/lib/tools/log.js +1 -1
- package/lib/tools/log.min.js +1 -1
- package/lib/v-x-e-table/index.js +1 -1
- package/lib/v-x-e-table/index.min.js +1 -1
- package/lib/v-x-e-table/src/conf.js +2 -1
- package/lib/v-x-e-table/src/conf.min.js +1 -1
- package/lib/v-x-e-table/src/renderer.js +16 -16
- package/lib/v-x-e-table/src/renderer.min.js +1 -1
- package/lib/vxe-form/style/style.css +6 -4
- package/lib/vxe-form/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/custom/src/panel.js +2 -1
- package/packages/edit/src/mixin.js +11 -10
- package/packages/export/src/mixin.js +10 -6
- package/packages/form/src/form-config-item.js +14 -7
- package/packages/form/src/form-item.js +22 -7
- package/packages/form/src/form.js +14 -10
- package/packages/form/src/util.js +2 -0
- package/packages/grid/src/grid.js +14 -9
- package/packages/input/src/input.js +2 -1
- package/packages/table/src/methods.js +21 -7
- package/packages/table/src/table.js +6 -2
- package/packages/textarea/src/textarea.js +4 -1
- package/packages/v-x-e-table/src/conf.js +2 -1
- package/packages/v-x-e-table/src/renderer.js +16 -16
- package/styles/form.scss +6 -4
- /package/lib/icon/style/{iconfont.1723091290878.ttf → iconfont.1724204493937.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1723091290878.woff → iconfont.1724204493937.woff} +0 -0
- /package/lib/icon/style/{iconfont.1723091290878.woff2 → iconfont.1724204493937.woff2} +0 -0
- /package/lib/{iconfont.1723091290878.ttf → iconfont.1724204493937.ttf} +0 -0
- /package/lib/{iconfont.1723091290878.woff → iconfont.1724204493937.woff} +0 -0
- /package/lib/{iconfont.1723091290878.woff2 → iconfont.1724204493937.woff2} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
.vxe-form--item .vxe-default-input[type=reset]:hover,.vxe-form--item .vxe-default-input[type=submit]:hover{color:#73b8ff;border-color:#73b8ff}.vxe-form{position:relative;font-size:14px;color:#606266;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;background-color:#fff;text-align:left}.vxe-form--item-row{display:flex;flex-direction:row;flex-wrap:wrap}.vxe-form--item-row>.vxe-form--item-col_1{width:4.16667%}.vxe-form--item-row>.vxe-form--item-col_2{width:8.33333%}.vxe-form--item-row>.vxe-form--item-col_3{width:12.5%}.vxe-form--item-row>.vxe-form--item-col_4{width:16.66667%}.vxe-form--item-row>.vxe-form--item-col_5{width:20.83333%}.vxe-form--item-row>.vxe-form--item-col_6{width:25%}.vxe-form--item-row>.vxe-form--item-col_7{width:29.16667%}.vxe-form--item-row>.vxe-form--item-col_8{width:33.33333%}.vxe-form--item-row>.vxe-form--item-col_9{width:37.5%}.vxe-form--item-row>.vxe-form--item-col_10{width:41.66667%}.vxe-form--item-row>.vxe-form--item-col_11{width:45.83333%}.vxe-form--item-row>.vxe-form--item-col_12{width:50%}.vxe-form--item-row>.vxe-form--item-col_13{width:54.16667%}.vxe-form--item-row>.vxe-form--item-col_14{width:58.33333%}.vxe-form--item-row>.vxe-form--item-col_15{width:62.5%}.vxe-form--item-row>.vxe-form--item-col_16{width:66.66667%}.vxe-form--item-row>.vxe-form--item-col_17{width:70.83333%}.vxe-form--item-row>.vxe-form--item-col_18{width:75%}.vxe-form--item-row>.vxe-form--item-col_19{width:79.16667%}.vxe-form--item-row>.vxe-form--item-col_20{width:83.33333%}.vxe-form--item-row>.vxe-form--item-col_21{width:87.5%}.vxe-form--item-row>.vxe-form--item-col_22{width:91.66667%}.vxe-form--item-row>.vxe-form--item-col_23{width:95.83333%}.vxe-form--item-row>.vxe-form--item-col_24{width:100%}.vxe-form-slots{display:none}.vxe-form--item-content,.vxe-form--item-trigger-node{display:inline-block;vertical-align:middle}.vxe-form--item-title{display:flex;flex-direction:row;max-width:320px;padding-right:.8em}.vxe-form--item-title.is--ellipsis .vxe-form--item-title-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-form--item-title .vxe-form--item-title-postfix,.vxe-form--item-title .vxe-form--item-title-prefix,.vxe-form--item-title .vxe-form--item-title-suffix{flex-shrink:0}.vxe-form--item-title .vxe-form--item-title-prefix,.vxe-form--item-title .vxe-form--item-title-suffix{cursor:help;vertical-align:middle}.vxe-form--item-title .vxe-form--item-title-prefix{margin-right:.25em}.vxe-form--item-title .vxe-form--item-title-suffix{margin-left:.2em}.vxe-form--item-title .vxe-form--item-title-postfix{display:flex;align-items:center}.vxe-form--item-title .vxe-form--item-title-content{flex-grow:1}.vxe-form--item-title .vxe-form--item-title-label{vertical-align:middle}.vxe-form--item-trigger-node{font-size:12px;min-width:100px;color:#909399;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-form--item-trigger-node .vxe-form--item-trigger-icon{display:inline-block;margin:0 .25em;transition:all .1s}.vxe-form--item-valid{position:absolute;width:100%;font-size:12px;line-height:1.2em;color:#f56c6c;background-color:inherit;z-index:1;opacity:0;transform-origin:center top;transform:scaleY(0);transition:all .2s ease-in-out}.vxe-form .vxe-form--gather{display:inline-flex;flex-direction:row;flex-wrap:wrap;align-content:flex-start}.vxe-form .vxe-form--wrapper{display:flex;flex-direction:row;flex-wrap:wrap}.vxe-form .vxe-form--item{display:none
|
|
1
|
+
.vxe-form--item .vxe-default-input[type=reset]:hover,.vxe-form--item .vxe-default-input[type=submit]:hover{color:#73b8ff;border-color:#73b8ff}.vxe-form{position:relative;font-size:14px;color:#606266;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;background-color:#fff;text-align:left}.vxe-form--item-row{display:flex;flex-direction:row;flex-wrap:wrap}.vxe-form--item-row>.vxe-form--item-col_1{width:4.16667%}.vxe-form--item-row>.vxe-form--item-col_2{width:8.33333%}.vxe-form--item-row>.vxe-form--item-col_3{width:12.5%}.vxe-form--item-row>.vxe-form--item-col_4{width:16.66667%}.vxe-form--item-row>.vxe-form--item-col_5{width:20.83333%}.vxe-form--item-row>.vxe-form--item-col_6{width:25%}.vxe-form--item-row>.vxe-form--item-col_7{width:29.16667%}.vxe-form--item-row>.vxe-form--item-col_8{width:33.33333%}.vxe-form--item-row>.vxe-form--item-col_9{width:37.5%}.vxe-form--item-row>.vxe-form--item-col_10{width:41.66667%}.vxe-form--item-row>.vxe-form--item-col_11{width:45.83333%}.vxe-form--item-row>.vxe-form--item-col_12{width:50%}.vxe-form--item-row>.vxe-form--item-col_13{width:54.16667%}.vxe-form--item-row>.vxe-form--item-col_14{width:58.33333%}.vxe-form--item-row>.vxe-form--item-col_15{width:62.5%}.vxe-form--item-row>.vxe-form--item-col_16{width:66.66667%}.vxe-form--item-row>.vxe-form--item-col_17{width:70.83333%}.vxe-form--item-row>.vxe-form--item-col_18{width:75%}.vxe-form--item-row>.vxe-form--item-col_19{width:79.16667%}.vxe-form--item-row>.vxe-form--item-col_20{width:83.33333%}.vxe-form--item-row>.vxe-form--item-col_21{width:87.5%}.vxe-form--item-row>.vxe-form--item-col_22{width:91.66667%}.vxe-form--item-row>.vxe-form--item-col_23{width:95.83333%}.vxe-form--item-row>.vxe-form--item-col_24{width:100%}.vxe-form-slots{display:none}.vxe-form--item-content,.vxe-form--item-trigger-node{display:inline-block;vertical-align:middle}.vxe-form--item-title{display:flex;flex-direction:row;max-width:320px;padding-right:.8em}.vxe-form--item-title.is--ellipsis .vxe-form--item-title-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-form--item-title .vxe-form--item-title-postfix,.vxe-form--item-title .vxe-form--item-title-prefix,.vxe-form--item-title .vxe-form--item-title-suffix{flex-shrink:0}.vxe-form--item-title .vxe-form--item-title-prefix,.vxe-form--item-title .vxe-form--item-title-suffix{cursor:help;vertical-align:middle}.vxe-form--item-title .vxe-form--item-title-prefix{margin-right:.25em}.vxe-form--item-title .vxe-form--item-title-suffix{margin-left:.2em}.vxe-form--item-title .vxe-form--item-title-postfix{display:flex;align-items:center}.vxe-form--item-title .vxe-form--item-title-content{flex-grow:1}.vxe-form--item-title .vxe-form--item-title-label{vertical-align:middle}.vxe-form--item-trigger-node{font-size:12px;min-width:100px;color:#909399;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-form--item-trigger-node .vxe-form--item-trigger-icon{display:inline-block;margin:0 .25em;transition:all .1s}.vxe-form--item-valid{position:absolute;width:100%;font-size:12px;line-height:1.2em;color:#f56c6c;background-color:inherit;z-index:1;opacity:0;transform-origin:center top;transform:scaleY(0);transition:all .2s ease-in-out}.vxe-form .vxe-form--gather{display:inline-flex;flex-direction:row;flex-wrap:wrap;align-content:flex-start}.vxe-form .vxe-form--wrapper{display:flex;flex-direction:row;flex-wrap:wrap}.vxe-form .vxe-form--item{display:none}.vxe-form .vxe-form--item.is--active:not(.is--hidden){display:inline-flex}.vxe-form--item.is--padding{padding:.6em}.vxe-form--item.is--padding.is--vertical{padding:.4em .6em}.vxe-form--item.is--colon .vxe-form--item-title-postfix:after{content:":";font-weight:400;margin-left:.2em}.vxe-form--item.is--asterisk.is--required .vxe-form--item-title-content:before{content:"*";color:#f56c6c;font-family:Verdana,Arial,Tahoma;margin-right:.2em;font-weight:400;vertical-align:middle}.vxe-form--item.is--vertical .vxe-form--item-inner{flex-direction:column;align-items:initial}.vxe-form--item.is--vertical .vxe-form--item-inner .vxe-form--item-title{height:2.5em;line-height:2.3em;padding-right:0;max-width:none}.vxe-form--item.is--vertical .vxe-form--item-inner .vxe-form--item-title-content{flex-grow:initial}.vxe-form--item.is--span .vxe-default-input:not([type=submit]):not([type=reset]),.vxe-form--item.is--span .vxe-default-select,.vxe-form--item.is--span .vxe-default-textarea,.vxe-form--item.is--span .vxe-input,.vxe-form--item.is--span .vxe-select,.vxe-form--item.is--span .vxe-textarea{width:100%}.vxe-form--item.is--error .vxe-default-input,.vxe-form--item.is--error .vxe-default-select,.vxe-form--item.is--error .vxe-default-textarea,.vxe-form--item.is--error .vxe-input>.vxe-input--inner,.vxe-form--item.is--error .vxe-select,.vxe-form--item.is--error .vxe-select.is--active>.vxe-input .vxe-input--inner,.vxe-form--item.is--error .vxe-textarea>.vxe-textarea--inner{border-color:#f56c6c}.vxe-form--item.is--error .vxe-default-input[type=search]:focus,.vxe-form--item.is--error .vxe-default-input[type=text]:focus,.vxe-form--item.is--error .vxe-default-select:focus,.vxe-form--item.is--error .vxe-default-textarea:focus,.vxe-form--item.is--error .vxe-input>.vxe-input--inner:focus,.vxe-form--item.is--error .vxe-textarea>.vxe-textarea--inner:focus{border-color:#f56c6c}.vxe-form--item.is--error .vxe-form--item-valid{opacity:1;transform:scaleY(1)}.vxe-form--item .vxe-form--item-inner{display:flex;flex-direction:row;align-items:center;flex-grow:1}.vxe-form--item .vxe-form--item-inner .vxe-form--item-title{flex-shrink:0}.vxe-form--item .vxe-form--item-inner .vxe-form--item-content{position:relative;flex-grow:1;word-break:break-all}.vxe-form--item .vxe-default-input,.vxe-form--item .vxe-default-select,.vxe-form--item .vxe-default-textarea{outline:0;border:1px solid #dcdfe6;border-radius:4px}.vxe-form--item .vxe-default-input,.vxe-form--item .vxe-default-select{height:34px}.vxe-form--item .vxe-default-input{padding:0 .8em}.vxe-form--item .vxe-default-textarea{height:68px;padding:.3em .6em}.vxe-form--item .vxe-default-input[type=number]{padding-right:.2em}.vxe-form--item .vxe-default-input[type=search],.vxe-form--item .vxe-default-input[type=text]{padding:0 1em}.vxe-form--item .vxe-default-input[type=search],.vxe-form--item .vxe-default-input[type=text],.vxe-form--item .vxe-default-select,.vxe-form--item .vxe-default-textarea{color:#606266}.vxe-form--item .vxe-default-input[type=search]:focus,.vxe-form--item .vxe-default-input[type=text]:focus,.vxe-form--item .vxe-default-select:focus,.vxe-form--item .vxe-default-textarea:focus{border:1px solid #409eff}.vxe-form--item .vxe-default-input[type=search][disabled],.vxe-form--item .vxe-default-input[type=text][disabled],.vxe-form--item .vxe-default-select[disabled],.vxe-form--item .vxe-default-textarea[disabled]{cursor:not-allowed;background-color:#f3f3f3}.vxe-form--item .vxe-default-input[type=reset],.vxe-form--item .vxe-default-input[type=submit]{line-height:32px;background-color:#fff;cursor:pointer}.vxe-form--item .vxe-default-input[type=reset]:active,.vxe-form--item .vxe-default-input[type=submit]:active{color:#0d84ff;border-color:#0d84ff}.vxe-form--item .vxe-default-input[type=date]::-webkit-inner-spin-button{margin-top:6px}.vxe-form--item .vxe-default-input[type=date]::-webkit-inner-spin-button,.vxe-form--item .vxe-default-input[type=number]::-webkit-inner-spin-button{height:24px}.vxe-form--item .vxe-default-input::-moz-placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-input:-ms-input-placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-input::placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-input[type=search],.vxe-form--item .vxe-default-input[type=text],.vxe-form--item .vxe-default-select,.vxe-form--item .vxe-default-textarea{width:180px}.vxe-form--item .vxe-default-textarea{resize:none;vertical-align:middle}.vxe-form--item .vxe-default-textarea::-moz-placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-textarea:-ms-input-placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-textarea::placeholder{color:#c0c4cc}.vxe-form .vxe-form--item-inner{min-height:36px}.vxe-form .vxe-form--item-inner>.align--center{text-align:center}.vxe-form .vxe-form--item-inner>.align--left{text-align:left}.vxe-form .vxe-form--item-inner>.align--right{text-align:right}.vxe-form.size--medium{font-size:14px}.vxe-form.size--medium .vxe-form--item-inner{min-height:34px}.vxe-form.size--medium .vxe-default-input[type=reset],.vxe-form.size--medium .vxe-default-input[type=submit]{line-height:30px}.vxe-form.size--medium .vxe-default-input,.vxe-form.size--medium .vxe-default-select{height:32px}.vxe-form.size--medium .vxe-default-textarea{height:64px}.vxe-form.size--small{font-size:13px}.vxe-form.size--small .vxe-form--item-inner{min-height:32px}.vxe-form.size--small .vxe-default-input[type=reset],.vxe-form.size--small .vxe-default-input[type=submit]{line-height:28px}.vxe-form.size--small .vxe-default-input,.vxe-form.size--small .vxe-default-select{height:30px}.vxe-form.size--small .vxe-default-textarea{height:60px}.vxe-form.size--mini{font-size:12px}.vxe-form.size--mini .vxe-form--item-inner{min-height:30px}.vxe-form.size--mini .vxe-default-input[type=reset],.vxe-form.size--mini .vxe-default-input[type=submit]{line-height:26px}.vxe-form.size--mini .vxe-default-input,.vxe-form.size--mini .vxe-default-select{height:28px}.vxe-form.size--mini .vxe-default-textarea{height:56px}
|
package/package.json
CHANGED
|
@@ -473,7 +473,8 @@ const renderPopupPanel = (h, _vm) => {
|
|
|
473
473
|
h('vxe-tooltip', {
|
|
474
474
|
props: {
|
|
475
475
|
enterable: true,
|
|
476
|
-
content: GlobalConfig.i18n('vxe.custom.setting.sortHelpTip')
|
|
476
|
+
content: GlobalConfig.i18n('vxe.custom.setting.sortHelpTip'),
|
|
477
|
+
popupClassName: 'vxe-table--ignore-clear'
|
|
477
478
|
},
|
|
478
479
|
scopedSlots: {
|
|
479
480
|
default: () => {
|
|
@@ -619,25 +619,26 @@ export default {
|
|
|
619
619
|
const { editRender } = column
|
|
620
620
|
if (isEnableConf(editRender)) {
|
|
621
621
|
const compRender = VXETable.renderer.get(editRender.name)
|
|
622
|
-
let
|
|
622
|
+
let autoFocus = editRender.autofocus || editRender.autoFocus
|
|
623
|
+
let autoSelect = editRender.autoSelect || editRender.autoselect
|
|
623
624
|
let inputElem
|
|
624
|
-
if (!
|
|
625
|
-
|
|
625
|
+
if (!autoFocus && compRender) {
|
|
626
|
+
autoFocus = compRender.tableAutoFocus || compRender.tableAutofocus || compRender.autofocus
|
|
626
627
|
}
|
|
627
|
-
if (!
|
|
628
|
-
|
|
628
|
+
if (!autoSelect && compRender) {
|
|
629
|
+
autoSelect = compRender.tableAutoSelect || compRender.autoselect
|
|
629
630
|
}
|
|
630
631
|
// 如果指定了聚焦 class
|
|
631
|
-
if (XEUtils.isFunction(
|
|
632
|
-
inputElem =
|
|
633
|
-
} else if (
|
|
634
|
-
inputElem = cell.querySelector(
|
|
632
|
+
if (XEUtils.isFunction(autoFocus)) {
|
|
633
|
+
inputElem = autoFocus.call(this, params)
|
|
634
|
+
} else if (autoFocus) {
|
|
635
|
+
inputElem = cell.querySelector(autoFocus)
|
|
635
636
|
if (inputElem) {
|
|
636
637
|
inputElem.focus()
|
|
637
638
|
}
|
|
638
639
|
}
|
|
639
640
|
if (inputElem) {
|
|
640
|
-
if (
|
|
641
|
+
if (autoSelect) {
|
|
641
642
|
inputElem.select()
|
|
642
643
|
} else {
|
|
643
644
|
// 保持一致行为,光标移到末端
|
|
@@ -42,7 +42,7 @@ function hasTreeChildren ($xetable, row) {
|
|
|
42
42
|
return row[childrenField] && row[childrenField].length > 0
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
function getSeq ($xetable, row, $rowIndex, column, $columnIndex) {
|
|
45
|
+
function getSeq ($xetable, cellValue, row, $rowIndex, column, $columnIndex) {
|
|
46
46
|
const seqOpts = $xetable.seqOpts
|
|
47
47
|
const seqMethod = seqOpts.seqMethod || column.seqMethod
|
|
48
48
|
if (seqMethod) {
|
|
@@ -55,7 +55,7 @@ function getSeq ($xetable, row, $rowIndex, column, $columnIndex) {
|
|
|
55
55
|
$columnIndex
|
|
56
56
|
})
|
|
57
57
|
}
|
|
58
|
-
return
|
|
58
|
+
return cellValue
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
function defaultFilterExportColumn (column) {
|
|
@@ -115,9 +115,11 @@ function getLabelData ($xetable, opts, columns, datas) {
|
|
|
115
115
|
cellValue = bodyExportMethod({ $table: $xetable, row, column, options: opts })
|
|
116
116
|
} else {
|
|
117
117
|
switch (column.type) {
|
|
118
|
-
case 'seq':
|
|
119
|
-
|
|
118
|
+
case 'seq': {
|
|
119
|
+
const seqValue = path.map((num, i) => i % 2 === 0 ? (Number(num) + 1) : '.').join('')
|
|
120
|
+
cellValue = mode === 'all' ? seqValue : getSeq($xetable, seqValue, row, $rowIndex, column, $columnIndex)
|
|
120
121
|
break
|
|
122
|
+
}
|
|
121
123
|
case 'checkbox':
|
|
122
124
|
cellValue = toBooleanValue($xetable.isCheckedByCheckboxRow(row))
|
|
123
125
|
item._checkboxLabel = checkboxOpts.labelField ? XEUtils.get(row, checkboxOpts.labelField) : ''
|
|
@@ -171,9 +173,11 @@ function getLabelData ($xetable, opts, columns, datas) {
|
|
|
171
173
|
cellValue = exportLabelMethod({ $table: $xetable, row, column, options: opts })
|
|
172
174
|
} else {
|
|
173
175
|
switch (column.type) {
|
|
174
|
-
case 'seq':
|
|
175
|
-
|
|
176
|
+
case 'seq': {
|
|
177
|
+
const seqValue = $rowIndex + 1
|
|
178
|
+
cellValue = mode === 'all' ? seqValue : getSeq($xetable, seqValue, row, $rowIndex, column, $columnIndex)
|
|
176
179
|
break
|
|
180
|
+
}
|
|
177
181
|
case 'checkbox':
|
|
178
182
|
cellValue = toBooleanValue($xetable.isCheckedByCheckboxRow(row))
|
|
179
183
|
item._checkboxLabel = checkboxOpts.labelField ? XEUtils.get(row, checkboxOpts.labelField) : ''
|
|
@@ -27,8 +27,8 @@ const VxeFormConfigItem = {
|
|
|
27
27
|
},
|
|
28
28
|
render (h) {
|
|
29
29
|
const { _e, $xeform, itemConfig: item } = this
|
|
30
|
-
const { rules, data, disabled, readonly, collapseAll, validOpts, titleAlign: allTitleAlign, titleWidth: allTitleWidth, titleColon: allTitleColon, titleAsterisk: allTitleAsterisk, titleOverflow: allTitleOverflow, vertical: allVertical } = $xeform
|
|
31
|
-
const { slots, title, folding, visible, field, collapseNode, itemRender, showError, errRule, className, titleOverflow, vertical, children, showTitle, contentClassName, contentStyle, titleClassName, titleStyle } = item
|
|
30
|
+
const { rules, data, disabled, readonly, collapseAll, validOpts, titleBold: allTitleBold, titleAlign: allTitleAlign, titleWidth: allTitleWidth, titleColon: allTitleColon, titleAsterisk: allTitleAsterisk, titleOverflow: allTitleOverflow, vertical: allVertical, padding: allPadding } = $xeform
|
|
31
|
+
const { slots, title, folding, visible, field, collapseNode, itemRender, showError, errRule, className, titleOverflow, vertical, padding, children, showTitle, contentClassName, contentStyle, titleClassName, titleStyle } = item
|
|
32
32
|
const compConf = isEnableConf(itemRender) ? VXETable.renderer.get(itemRender.name) : null
|
|
33
33
|
const itemClassName = compConf ? (compConf.formItemClassName || compConf.itemClassName) : ''
|
|
34
34
|
const itemStyle = compConf ? (compConf.formItemStyle || compConf.itemStyle) : null
|
|
@@ -38,18 +38,21 @@ const VxeFormConfigItem = {
|
|
|
38
38
|
const itemTitleStyle = compConf ? (compConf.formItemTitleStyle || compConf.itemTitleStyle) : null
|
|
39
39
|
const span = item.span || $xeform.span
|
|
40
40
|
const align = item.align || $xeform.align
|
|
41
|
+
const itemPadding = XEUtils.eqNull(padding) ? allPadding : padding
|
|
42
|
+
const itemVertical = XEUtils.eqNull(vertical) ? allVertical : vertical
|
|
43
|
+
const titleBold = XEUtils.eqNull(item.titleBold) ? allTitleBold : item.titleBold
|
|
41
44
|
const titleAlign = XEUtils.eqNull(item.titleAlign) ? allTitleAlign : item.titleAlign
|
|
42
|
-
const titleWidth = XEUtils.eqNull(item.titleWidth) ? allTitleWidth : item.titleWidth
|
|
45
|
+
const titleWidth = itemVertical ? null : (XEUtils.eqNull(item.titleWidth) ? allTitleWidth : item.titleWidth)
|
|
43
46
|
const titleColon = XEUtils.eqNull(item.titleColon) ? allTitleColon : item.titleColon
|
|
44
47
|
const titleAsterisk = XEUtils.eqNull(item.titleAsterisk) ? allTitleAsterisk : item.titleAsterisk
|
|
45
|
-
const itemOverflow =
|
|
46
|
-
const itemVertical = (XEUtils.isUndefined(vertical) || XEUtils.isNull(vertical)) ? allVertical : vertical
|
|
48
|
+
const itemOverflow = XEUtils.eqNull(titleOverflow) ? allTitleOverflow : titleOverflow
|
|
47
49
|
const ovEllipsis = itemOverflow === 'ellipsis'
|
|
48
50
|
const ovTitle = itemOverflow === 'title'
|
|
49
51
|
const ovTooltip = itemOverflow === true || itemOverflow === 'tooltip'
|
|
50
52
|
const hasEllipsis = ovTitle || ovTooltip || ovEllipsis
|
|
51
53
|
const params = { data, disabled, readonly, field, property: field, item, $form: $xeform, $grid: $xeform.xegrid }
|
|
52
|
-
let isRequired
|
|
54
|
+
let isRequired = false
|
|
55
|
+
let isValid = false
|
|
53
56
|
if (visible === false) {
|
|
54
57
|
return _e()
|
|
55
58
|
}
|
|
@@ -70,7 +73,8 @@ const VxeFormConfigItem = {
|
|
|
70
73
|
}
|
|
71
74
|
if (!readonly && rules) {
|
|
72
75
|
const itemRules = rules[field]
|
|
73
|
-
if (itemRules) {
|
|
76
|
+
if (itemRules && itemRules.length) {
|
|
77
|
+
isValid = true
|
|
74
78
|
isRequired = itemRules.some(rule => rule.required)
|
|
75
79
|
}
|
|
76
80
|
}
|
|
@@ -101,8 +105,11 @@ const VxeFormConfigItem = {
|
|
|
101
105
|
{
|
|
102
106
|
'is--title': title,
|
|
103
107
|
'is--colon': titleColon,
|
|
108
|
+
'is--bold': titleBold,
|
|
109
|
+
'is--padding': itemPadding,
|
|
104
110
|
'is--vertical': itemVertical,
|
|
105
111
|
'is--asterisk': titleAsterisk,
|
|
112
|
+
'is--valid': isValid,
|
|
106
113
|
'is--required': isRequired,
|
|
107
114
|
'is--hidden': folding && collapseAll,
|
|
108
115
|
'is--active': isActivetem($xeform, item),
|
|
@@ -12,6 +12,10 @@ const props = {
|
|
|
12
12
|
size: String,
|
|
13
13
|
span: [String, Number],
|
|
14
14
|
align: String,
|
|
15
|
+
titleBold: {
|
|
16
|
+
type: Boolean,
|
|
17
|
+
default: null
|
|
18
|
+
},
|
|
15
19
|
titleAlign: {
|
|
16
20
|
type: String,
|
|
17
21
|
default: null
|
|
@@ -36,6 +40,10 @@ const props = {
|
|
|
36
40
|
type: Boolean,
|
|
37
41
|
default: null
|
|
38
42
|
},
|
|
43
|
+
padding: {
|
|
44
|
+
type: Boolean,
|
|
45
|
+
default: null
|
|
46
|
+
},
|
|
39
47
|
className: [String, Function],
|
|
40
48
|
contentClassName: [String, Function],
|
|
41
49
|
contentStyle: [Object, Function],
|
|
@@ -64,8 +72,8 @@ Object.keys(props).forEach(name => {
|
|
|
64
72
|
})
|
|
65
73
|
|
|
66
74
|
const renderItem = (h, _vm, item, slots) => {
|
|
67
|
-
const { _e, rules, data, disabled, readonly, collapseAll, validOpts, titleAlign: allTitleAlign, titleWidth: allTitleWidth, titleColon: allTitleColon, titleAsterisk: allTitleAsterisk, titleOverflow: allTitleOverflow, vertical: allVertical } = _vm
|
|
68
|
-
const { title, folding, visible, field, collapseNode, itemRender, showError, errRule, className, titleOverflow, vertical, showTitle, contentClassName, contentStyle, titleClassName, titleStyle } = item
|
|
75
|
+
const { _e, rules, data, disabled, readonly, collapseAll, validOpts, titleBold: allTitleBold, titleAlign: allTitleAlign, titleWidth: allTitleWidth, titleColon: allTitleColon, titleAsterisk: allTitleAsterisk, titleOverflow: allTitleOverflow, vertical: allVertical, padding: allPadding } = _vm
|
|
76
|
+
const { title, folding, visible, field, collapseNode, itemRender, showError, errRule, className, titleOverflow, vertical, padding, showTitle, contentClassName, contentStyle, titleClassName, titleStyle } = item
|
|
69
77
|
const compConf = isEnableConf(itemRender) ? VXETable.renderer.get(itemRender.name) : null
|
|
70
78
|
const itemClassName = compConf ? (compConf.formItemClassName || compConf.itemClassName) : ''
|
|
71
79
|
const itemStyle = compConf ? (compConf.formItemStyle || compConf.itemStyle) : null
|
|
@@ -75,24 +83,28 @@ const renderItem = (h, _vm, item, slots) => {
|
|
|
75
83
|
const itemTitleStyle = compConf ? (compConf.formItemTitleStyle || compConf.itemTitleStyle) : null
|
|
76
84
|
const span = item.span || _vm.span
|
|
77
85
|
const align = item.align || _vm.align
|
|
86
|
+
const itemPadding = XEUtils.eqNull(padding) ? allPadding : padding
|
|
87
|
+
const itemVertical = XEUtils.eqNull(vertical) ? allVertical : vertical
|
|
88
|
+
const titleBold = XEUtils.eqNull(item.titleBold) ? allTitleBold : item.titleBold
|
|
78
89
|
const titleAlign = XEUtils.eqNull(item.titleAlign) ? allTitleAlign : item.titleAlign
|
|
79
|
-
const titleWidth = XEUtils.eqNull(item.titleWidth) ? allTitleWidth : item.titleWidth
|
|
90
|
+
const titleWidth = itemVertical ? null : (XEUtils.eqNull(item.titleWidth) ? allTitleWidth : item.titleWidth)
|
|
80
91
|
const titleColon = XEUtils.eqNull(item.titleColon) ? allTitleColon : item.titleColon
|
|
81
92
|
const titleAsterisk = XEUtils.eqNull(item.titleAsterisk) ? allTitleAsterisk : item.titleAsterisk
|
|
82
|
-
const itemOverflow =
|
|
83
|
-
const itemVertical = (XEUtils.isUndefined(vertical) || XEUtils.isNull(vertical)) ? allVertical : vertical
|
|
93
|
+
const itemOverflow = XEUtils.eqNull(titleOverflow) ? allTitleOverflow : titleOverflow
|
|
84
94
|
const ovEllipsis = itemOverflow === 'ellipsis'
|
|
85
95
|
const ovTitle = itemOverflow === 'title'
|
|
86
96
|
const ovTooltip = itemOverflow === true || itemOverflow === 'tooltip'
|
|
87
97
|
const hasEllipsis = ovTitle || ovTooltip || ovEllipsis
|
|
88
98
|
const params = { data, disabled, readonly, field, property: field, item, $form: _vm, $grid: _vm.xegrid }
|
|
89
|
-
let isRequired
|
|
99
|
+
let isRequired = false
|
|
100
|
+
let isValid = false
|
|
90
101
|
if (visible === false) {
|
|
91
102
|
return _e()
|
|
92
103
|
}
|
|
93
104
|
if (!readonly && rules) {
|
|
94
105
|
const itemRules = rules[field]
|
|
95
|
-
if (itemRules) {
|
|
106
|
+
if (itemRules && itemRules.length) {
|
|
107
|
+
isValid = true
|
|
96
108
|
isRequired = itemRules.some(rule => rule.required)
|
|
97
109
|
}
|
|
98
110
|
}
|
|
@@ -123,8 +135,11 @@ const renderItem = (h, _vm, item, slots) => {
|
|
|
123
135
|
{
|
|
124
136
|
'is--title': title,
|
|
125
137
|
'is--colon': titleColon,
|
|
138
|
+
'is--bold': titleBold,
|
|
139
|
+
'is--padding': itemPadding,
|
|
126
140
|
'is--vertical': itemVertical,
|
|
127
141
|
'is--asterisk': titleAsterisk,
|
|
142
|
+
'is--valid': isValid,
|
|
128
143
|
'is--required': isRequired,
|
|
129
144
|
'is--hidden': folding && collapseAll,
|
|
130
145
|
'is--active': isActivetem(_vm, item),
|
|
@@ -74,6 +74,7 @@ export default {
|
|
|
74
74
|
size: { type: String, default: () => GlobalConfig.form.size || GlobalConfig.size },
|
|
75
75
|
span: { type: [String, Number], default: () => GlobalConfig.form.span },
|
|
76
76
|
align: { type: String, default: () => GlobalConfig.form.align },
|
|
77
|
+
titleBold: { type: String, default: () => GlobalConfig.form.titleBold },
|
|
77
78
|
titleAlign: { type: String, default: () => GlobalConfig.form.titleAlign },
|
|
78
79
|
titleWidth: { type: [String, Number], default: () => GlobalConfig.form.titleWidth },
|
|
79
80
|
titleColon: { type: Boolean, default: () => GlobalConfig.form.titleColon },
|
|
@@ -83,6 +84,7 @@ export default {
|
|
|
83
84
|
type: Boolean,
|
|
84
85
|
default: null
|
|
85
86
|
},
|
|
87
|
+
padding: { type: Boolean, default: () => GlobalConfig.form.padding },
|
|
86
88
|
className: [String, Function],
|
|
87
89
|
disabled: Boolean,
|
|
88
90
|
readonly: Boolean,
|
|
@@ -157,6 +159,9 @@ export default {
|
|
|
157
159
|
[`size--${vSize}`]: vSize,
|
|
158
160
|
'is--loading': loading
|
|
159
161
|
}],
|
|
162
|
+
attrs: {
|
|
163
|
+
spellcheck: false
|
|
164
|
+
},
|
|
160
165
|
on: {
|
|
161
166
|
submit: this.submitEvent,
|
|
162
167
|
reset: this.resetEvent
|
|
@@ -380,10 +385,12 @@ export default {
|
|
|
380
385
|
return this.$nextTick()
|
|
381
386
|
}
|
|
382
387
|
let fields = []
|
|
383
|
-
if (
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
388
|
+
if (fieldOrItem) {
|
|
389
|
+
if (XEUtils.isArray(fieldOrItem)) {
|
|
390
|
+
fields = fieldOrItem
|
|
391
|
+
} else {
|
|
392
|
+
fields = [fieldOrItem]
|
|
393
|
+
}
|
|
387
394
|
}
|
|
388
395
|
return this.beginValidate(fields.map(field => handleFieldOrItem(this, field)), '', callback)
|
|
389
396
|
},
|
|
@@ -569,13 +576,10 @@ export default {
|
|
|
569
576
|
if (!i) {
|
|
570
577
|
DomTools.scrollToView($el.querySelector(`.${item.id}`))
|
|
571
578
|
}
|
|
579
|
+
const autoFocus = itemRender.autoFocus || itemRender.autofocus || (compConf ? compConf.formItemAutoFocus : null)
|
|
572
580
|
// 如果指定了聚焦 class
|
|
573
|
-
if (
|
|
574
|
-
inputElem = $el.querySelector(`.${item.id} ${
|
|
575
|
-
}
|
|
576
|
-
// 渲染器的聚焦处理
|
|
577
|
-
if (!inputElem && compConf && compConf.autofocus) {
|
|
578
|
-
inputElem = $el.querySelector(`.${item.id} ${compConf.autofocus}`)
|
|
581
|
+
if (autoFocus) {
|
|
582
|
+
inputElem = $el.querySelector(`.${item.id} ${autoFocus}`)
|
|
579
583
|
}
|
|
580
584
|
if (inputElem) {
|
|
581
585
|
inputElem.focus()
|
|
@@ -14,6 +14,8 @@ class ItemConfig {
|
|
|
14
14
|
titleAlign: item.titleAlign,
|
|
15
15
|
titleWidth: item.titleWidth,
|
|
16
16
|
titleColon: item.titleColon,
|
|
17
|
+
vertical: item.vertical,
|
|
18
|
+
padding: item.padding,
|
|
17
19
|
titleAsterisk: item.titleAsterisk,
|
|
18
20
|
titlePrefix: item.titlePrefix,
|
|
19
21
|
titleSuffix: item.titleSuffix,
|
|
@@ -445,10 +445,10 @@ export default {
|
|
|
445
445
|
}
|
|
446
446
|
},
|
|
447
447
|
created () {
|
|
448
|
-
const { data, formOpts, proxyOpts, proxyConfig } = this
|
|
449
|
-
if (proxyConfig && (data || (proxyOpts.form && formOpts.data))) {
|
|
450
|
-
|
|
451
|
-
}
|
|
448
|
+
// const { data, formOpts, proxyOpts, proxyConfig } = this
|
|
449
|
+
// if (proxyConfig && (data || (proxyOpts.form && formOpts.data))) {
|
|
450
|
+
// errLog('vxe.error.errConflicts', ['grid.data', 'grid.proxy-config'])
|
|
451
|
+
// }
|
|
452
452
|
|
|
453
453
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
454
454
|
if (this.toolbar) {
|
|
@@ -538,7 +538,7 @@ export default {
|
|
|
538
538
|
const { proxyInited, proxyConfig, proxyOpts, formConfig, formOpts } = this
|
|
539
539
|
if (proxyConfig) {
|
|
540
540
|
if (isEnableConf(formConfig) && proxyOpts.form && formOpts.items) {
|
|
541
|
-
const
|
|
541
|
+
const fData = {}
|
|
542
542
|
formOpts.items.forEach(item => {
|
|
543
543
|
const { field, itemRender } = item
|
|
544
544
|
if (field) {
|
|
@@ -551,10 +551,10 @@ export default {
|
|
|
551
551
|
itemValue = defaultValue
|
|
552
552
|
}
|
|
553
553
|
}
|
|
554
|
-
|
|
554
|
+
fData[field] = itemValue
|
|
555
555
|
}
|
|
556
556
|
})
|
|
557
|
-
this.formData =
|
|
557
|
+
this.formData = fData
|
|
558
558
|
}
|
|
559
559
|
if (!proxyInited && proxyOpts.autoLoad !== false) {
|
|
560
560
|
this.proxyInited = true
|
|
@@ -575,10 +575,11 @@ export default {
|
|
|
575
575
|
* @param {String/Object} code 字符串或对象
|
|
576
576
|
*/
|
|
577
577
|
commitProxy (proxyTarget, ...args) {
|
|
578
|
-
const { $refs, toolbar, toolbarConfig, toolbarOpts, proxyOpts, tablePage, pagerConfig, editRules,
|
|
578
|
+
const { $refs, toolbar, toolbarConfig, toolbarOpts, proxyOpts, tablePage, pagerConfig, editRules, isRespMsg, isActiveMsg, validConfig, pagerOpts } = this
|
|
579
579
|
const { beforeQuery, afterQuery, beforeDelete, afterDelete, beforeSave, afterSave, ajax = {} } = proxyOpts
|
|
580
580
|
const resConfigs = proxyOpts.response || proxyOpts.props || {}
|
|
581
581
|
const $xetable = $refs.xTable
|
|
582
|
+
const formData = this.getFormData()
|
|
582
583
|
let button
|
|
583
584
|
let code
|
|
584
585
|
if (XEUtils.isString(proxyTarget)) {
|
|
@@ -936,6 +937,10 @@ export default {
|
|
|
936
937
|
}
|
|
937
938
|
return Promise.resolve()
|
|
938
939
|
},
|
|
940
|
+
getFormData () {
|
|
941
|
+
const { proxyConfig, proxyOpts, formOpts, formData } = this
|
|
942
|
+
return proxyConfig && isEnableConf(proxyOpts) && proxyOpts.form ? formData : formOpts.data
|
|
943
|
+
},
|
|
939
944
|
getFormItems (itemIndex) {
|
|
940
945
|
const { formConfig, formOpts } = this
|
|
941
946
|
const itemList = []
|
|
@@ -1078,7 +1083,7 @@ export default {
|
|
|
1078
1083
|
return {
|
|
1079
1084
|
data: this.tableData,
|
|
1080
1085
|
filter: this.filterData,
|
|
1081
|
-
form: this.
|
|
1086
|
+
form: this.getFormData(),
|
|
1082
1087
|
sort: sortData.length ? sortData[0] : {},
|
|
1083
1088
|
sorts: sortData,
|
|
1084
1089
|
pager: this.tablePage,
|
|
@@ -1165,7 +1165,8 @@ export default {
|
|
|
1165
1165
|
maxlength: inpMaxlength,
|
|
1166
1166
|
readonly: inpReadonly,
|
|
1167
1167
|
disabled,
|
|
1168
|
-
autocomplete: autoComplete || autocomplete
|
|
1168
|
+
autocomplete: autoComplete || autocomplete,
|
|
1169
|
+
spellcheck: false
|
|
1169
1170
|
},
|
|
1170
1171
|
on: {
|
|
1171
1172
|
keydown: this.keydownEvent,
|
|
@@ -1250,6 +1250,11 @@ const Methods = {
|
|
|
1250
1250
|
const fullColumnFieldData = this.fullColumnFieldData
|
|
1251
1251
|
return fullColumnFieldData[field] ? fullColumnFieldData[field].column : null
|
|
1252
1252
|
},
|
|
1253
|
+
getParentColumn (fieldOrColumn) {
|
|
1254
|
+
const fullColumnIdData = this.fullColumnIdData
|
|
1255
|
+
const column = handleFieldOrColumn(this, fieldOrColumn)
|
|
1256
|
+
return column && column.parentId && fullColumnIdData[column.parentId] ? fullColumnIdData[column.parentId].column : null
|
|
1257
|
+
},
|
|
1253
1258
|
/**
|
|
1254
1259
|
* 获取当前表格的列
|
|
1255
1260
|
* 收集到的全量列、全量表头列、处理条件之后的全量表头列、当前渲染中的表头列
|
|
@@ -2002,6 +2007,7 @@ const Methods = {
|
|
|
2002
2007
|
const resizeList = []
|
|
2003
2008
|
const pxList = []
|
|
2004
2009
|
const pxMinList = []
|
|
2010
|
+
const autoMinList = []
|
|
2005
2011
|
const scaleList = []
|
|
2006
2012
|
const scaleMinList = []
|
|
2007
2013
|
const autoList = []
|
|
@@ -2024,6 +2030,8 @@ const Methods = {
|
|
|
2024
2030
|
scaleList.push(column)
|
|
2025
2031
|
} else if (DomTools.isPx(column.minWidth)) {
|
|
2026
2032
|
pxMinList.push(column)
|
|
2033
|
+
} else if (column.minWidth === 'auto') {
|
|
2034
|
+
autoMinList.push(column)
|
|
2027
2035
|
} else if (DomTools.isScale(column.minWidth)) {
|
|
2028
2036
|
scaleMinList.push(column)
|
|
2029
2037
|
} else {
|
|
@@ -2031,7 +2039,7 @@ const Methods = {
|
|
|
2031
2039
|
}
|
|
2032
2040
|
}
|
|
2033
2041
|
})
|
|
2034
|
-
Object.assign(this.columnStore, { resizeList, pxList, pxMinList, scaleList, scaleMinList, autoList, remainList })
|
|
2042
|
+
Object.assign(this.columnStore, { resizeList, pxList, pxMinList, autoMinList, scaleList, scaleMinList, autoList, remainList })
|
|
2035
2043
|
},
|
|
2036
2044
|
/**
|
|
2037
2045
|
* 刷新滚动操作,手动同步滚动相关位置(对于某些特殊的操作,比如滚动条错位、固定列不同步)
|
|
@@ -2102,11 +2110,11 @@ const Methods = {
|
|
|
2102
2110
|
const cellStyle = getComputedStyle(firstCellEl)
|
|
2103
2111
|
paddingSize = Math.floor(XEUtils.toNumber(cellStyle.paddingLeft) + XEUtils.toNumber(cellStyle.paddingRight)) + 2
|
|
2104
2112
|
}
|
|
2105
|
-
let colWidth = column.renderAutoWidth - paddingSize
|
|
2113
|
+
let colWidth = column.renderAutoWidth - paddingSize
|
|
2106
2114
|
XEUtils.arrayEach(cellElList, (cellEl) => {
|
|
2107
2115
|
const labelEl = cellEl.firstChild
|
|
2108
2116
|
if (labelEl) {
|
|
2109
|
-
colWidth = Math.max(colWidth, labelEl.offsetWidth)
|
|
2117
|
+
colWidth = Math.max(colWidth, Math.ceil(labelEl.offsetWidth) + 4)
|
|
2110
2118
|
}
|
|
2111
2119
|
})
|
|
2112
2120
|
column.renderAutoWidth = colWidth + paddingSize
|
|
@@ -2133,13 +2141,19 @@ const Methods = {
|
|
|
2133
2141
|
let remainWidth = bodyWidth
|
|
2134
2142
|
let meanWidth = remainWidth / 100
|
|
2135
2143
|
const { fit, columnStore } = this
|
|
2136
|
-
const { resizeList, pxMinList, pxList, scaleList, scaleMinList, autoList, remainList } = columnStore
|
|
2144
|
+
const { resizeList, pxMinList, pxList, autoMinList, scaleList, scaleMinList, autoList, remainList } = columnStore
|
|
2137
2145
|
// 最小宽
|
|
2138
2146
|
pxMinList.forEach(column => {
|
|
2139
2147
|
const minWidth = parseInt(column.minWidth)
|
|
2140
2148
|
tableWidth += minWidth
|
|
2141
2149
|
column.renderWidth = minWidth
|
|
2142
2150
|
})
|
|
2151
|
+
// 最小自适应
|
|
2152
|
+
autoMinList.forEach((column) => {
|
|
2153
|
+
const scaleWidth = Math.max(60, XEUtils.toInteger(column.renderAutoWidth))
|
|
2154
|
+
tableWidth += scaleWidth
|
|
2155
|
+
column.renderWidth = scaleWidth
|
|
2156
|
+
})
|
|
2143
2157
|
// 最小百分比
|
|
2144
2158
|
scaleMinList.forEach(column => {
|
|
2145
2159
|
const scaleWidth = Math.floor(parseInt(column.minWidth) * meanWidth)
|
|
@@ -2171,10 +2185,10 @@ const Methods = {
|
|
|
2171
2185
|
column.renderWidth = width
|
|
2172
2186
|
})
|
|
2173
2187
|
remainWidth -= tableWidth
|
|
2174
|
-
meanWidth = remainWidth > 0 ? Math.floor(remainWidth / (scaleMinList.length + pxMinList.length + remainList.length)) : 0
|
|
2188
|
+
meanWidth = remainWidth > 0 ? Math.floor(remainWidth / (scaleMinList.length + pxMinList.length + autoMinList.length + remainList.length)) : 0
|
|
2175
2189
|
if (fit) {
|
|
2176
2190
|
if (remainWidth > 0) {
|
|
2177
|
-
scaleMinList.concat(pxMinList).forEach(column => {
|
|
2191
|
+
scaleMinList.concat(pxMinList).concat(autoMinList).forEach(column => {
|
|
2178
2192
|
tableWidth += meanWidth
|
|
2179
2193
|
column.renderWidth += meanWidth
|
|
2180
2194
|
})
|
|
@@ -2193,7 +2207,7 @@ const Methods = {
|
|
|
2193
2207
|
* 偏移量算法
|
|
2194
2208
|
* 如果所有列足够放的情况下,从最后动态列开始分配
|
|
2195
2209
|
*/
|
|
2196
|
-
const dynamicList = scaleList.concat(scaleMinList).concat(pxMinList).concat(remainList)
|
|
2210
|
+
const dynamicList = scaleList.concat(scaleMinList).concat(pxMinList).concat(autoMinList).concat(remainList)
|
|
2197
2211
|
let dynamicSize = dynamicList.length - 1
|
|
2198
2212
|
if (dynamicSize > 0) {
|
|
2199
2213
|
let odiffer = bodyWidth - tableWidth
|
|
@@ -382,6 +382,7 @@ export default {
|
|
|
382
382
|
resizeList: [],
|
|
383
383
|
pxList: [],
|
|
384
384
|
pxMinList: [],
|
|
385
|
+
autoMinList: [],
|
|
385
386
|
scaleList: [],
|
|
386
387
|
scaleMinList: [],
|
|
387
388
|
autoList: [],
|
|
@@ -628,8 +629,8 @@ export default {
|
|
|
628
629
|
return Object.assign({}, GlobalConfig.table.customConfig, this.customConfig)
|
|
629
630
|
},
|
|
630
631
|
autoWidthColumnList () {
|
|
631
|
-
const { visibleColumn } = this
|
|
632
|
-
return visibleColumn.filter(column => column.width === 'auto')
|
|
632
|
+
const { tableColumn, visibleColumn } = this
|
|
633
|
+
return tableColumn.length || visibleColumn.length ? visibleColumn.filter(column => column.width === 'auto' || column.minWidth === 'auto') : []
|
|
633
634
|
},
|
|
634
635
|
fixedColumnSize () {
|
|
635
636
|
const { collectColumn } = this
|
|
@@ -1109,6 +1110,9 @@ export default {
|
|
|
1109
1110
|
'is--virtual-x': scrollXLoad,
|
|
1110
1111
|
'is--virtual-y': scrollYLoad
|
|
1111
1112
|
}],
|
|
1113
|
+
attrs: {
|
|
1114
|
+
spellcheck: false
|
|
1115
|
+
},
|
|
1112
1116
|
on: {
|
|
1113
1117
|
keydown: this.keydownEvent
|
|
1114
1118
|
}
|