@cimom-ui/standard-ui 1.1.11 → 1.1.13
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/README.md +38 -4
- package/dist/standard-ui.common.js +298 -79
- package/dist/standard-ui.umd.js +298 -79
- package/dist/standard-ui.umd.min.js +3 -3
- package/package.json +1 -1
|
@@ -3137,7 +3137,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
3137
3137
|
|
|
3138
3138
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
|
|
3139
3139
|
// Module
|
|
3140
|
-
___CSS_LOADER_EXPORT___.push([module.id, `.normal-report-table-panel{flex:1 1 0%;min-width:0;min-height:0;background:#fff;border:1px solid #e8edf4;border-radius:10px;box-shadow:0 6px 18px rgba(31,73,125,.06);height:100%;overflow:hidden;display:flex;flex-direction:column}.normal-report-table-wrap{flex:1;min-height:0;display:flex;flex-direction:column;padding:0 12px}.normal-report-table-wrap .el-table,.normal-report-table-wrap .vxe-table{flex:1;min-height:0}.normal-report-table-actions{flex-shrink:0;display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid #edf1f6;margin-bottom:10px}.normal-report-table-actions .el-button+.el-button{margin-left:0}.normal-report-table-actions-left{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:6px}.normal-report-table-actions-right{flex-shrink:0;margin-left:auto;display:flex;align-items:center;gap:6px}.standard-toolbar-left,.standard-toolbar-right{display:flex;align-items:center;gap:6px;min-width:0}.standard-toolbar-left .el-button+.el-button,.standard-toolbar-right .el-button+.el-button{margin-left:0}.normal-report-column-setting-entry,.normal-report-column-setting-entry .el-popover__reference-wrapper{display:inline-flex;align-items:center}.normal-report-column-setting{min-width:270px}.normal-report-column-setting-header{padding-bottom:8px;border-bottom:1px solid #ebeef5}.normal-report-column-setting-list{max-height:300px;overflow-y:auto;padding:4px 0}.normal-report-column-setting-item{display:flex;align-items:center;gap:2px;padding:5px 4px;border-radius:4px}.normal-report-column-setting-item .el-checkbox{flex:1;min-width:0;margin-right:0;display:flex;align-items:center}.normal-report-column-setting-item .el-checkbox__input{display:flex;align-items:center;flex-shrink:0}.normal-report-column-setting-item .normal-report-column-setting-item-title{cursor:grab}.normal-report-column-setting-item .normal-report-column-setting-item-title:active{cursor:grabbing}.normal-report-column-setting-item .el-checkbox,.normal-report-column-setting-item .el-checkbox__label{-webkit-user-select:none;-moz-user-select:none;user-select:none}.normal-report-column-setting-item .normal-report-column-setting-item-title .el-checkbox__label{flex-shrink:0;width:var(--normal-report-title-width);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.normal-report-column-setting-item .normal-report-column-setting-item-width{flex-shrink:0;width:92px}.normal-report-column-setting-item .el-button+.el-button{margin-left:0}.normal-report-column-setting-item .is-pinned{color:#409eff}.normal-report-column-setting-item .is-sort-off,.normal-report-column-setting-item .is-sort-off:focus,.normal-report-column-setting-item .is-sort-off:hover{color:#c0c4cc}.normal-report-column-setting-item.drag-over{background:#ecf5ff}.normal-report-column-setting-footer{margin-top:8px;padding-top:8px;border-top:1px solid #ebeef5;text-align:right}.normal-report-table-footer{flex-shrink:0;box-sizing:border-box;min-height:49px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:8px 12px;border-top:1px solid #edf1f6}.normal-report-table-footer .normal-report-table-pagination{padding-top:0}.normal-report-table-footer.is-only-pagination{justify-content:flex-end}.normal-report-footer-empty{margin-top:10px}.normal-report-toolbar-empty{margin-bottom:10px}.normal-report-update-time{font-size:13px;color:#909399;flex-shrink:0}.vxe-table--context-menu-wrapper .vxe-context-menu--option-wrapper+.vxe-context-menu--option-wrapper,.vxe-table--context-menu-wrapper .vxe-table--context-menu-group-wrapper+.vxe-table--context-menu-group-wrapper{border-top:1px solid #e8eaec;margin-top:2px;padding-top:2px}.normal-report-table-pagination{flex-shrink:0;padding-top:10px;text-align:right}.normal-report-op-more{margin-left:10px}.normal-report-main-table.vxe-table .vxe-body--row{transition:transform .22s ease,filter .22s ease}.normal-report-main-table.vxe-table .vxe-body--row:hover{transform:translateY(-3px);filter:drop-shadow(0 8px 16px rgba(31,73,125,.22))}.vxe-table--footer-wrapper::-webkit-scrollbar{width:8px!important;height:8px!important}.vxe-table--footer-wrapper::-webkit-scrollbar-track{background-color:#fff!important}.vxe-table--footer-wrapper::-webkit-scrollbar-thumb{background-color:#dddee0!important;border-radius:5px!important;border:1px solid #f1f1f1!important}.vxe-table--footer-wrapper::-webkit-scrollbar-thumb:hover{background-color:#a8a8a8!important}.vxe-table--footer-wrapper::-webkit-scrollbar-thumb:active{background-color:#dddee0!important}.vxe-table--footer-wrapper::-webkit-scrollbar-corner{background-color:#fff!important}.vxe-table--body-wrapper::-webkit-scrollbar{width:8px!important;height:8px!important}.vxe-table--body-wrapper::-webkit-scrollbar-track{background-color:#fff!important}.vxe-table--body-wrapper::-webkit-scrollbar-thumb{background-color:#dddee0!important;border-radius:5px!important;border:1px solid #f1f1f1!important}.vxe-table--body-wrapper::-webkit-scrollbar-thumb:active,.vxe-table--body-wrapper::-webkit-scrollbar-thumb:hover{background-color:#dddee0!important}.vxe-table--body-wrapper::-webkit-scrollbar-corner{background-color:#fff!important}.vxe-table .vxe-header--row{height:
|
|
3140
|
+
___CSS_LOADER_EXPORT___.push([module.id, `.normal-report-table-panel{flex:1 1 0%;min-width:0;min-height:0;background:#fff;border:1px solid #e8edf4;border-radius:10px;box-shadow:0 6px 18px rgba(31,73,125,.06);height:100%;overflow:hidden;display:flex;flex-direction:column}.normal-report-table-wrap{flex:1;min-height:0;display:flex;flex-direction:column;padding:0 12px}.normal-report-table-wrap .el-table,.normal-report-table-wrap .vxe-table{flex:1;min-height:0}.normal-report-table-actions{flex-shrink:0;display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid #edf1f6;margin-bottom:10px}.normal-report-table-actions .el-button+.el-button{margin-left:0}.normal-report-table-actions-left{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:6px}.normal-report-table-actions-right{flex-shrink:0;margin-left:auto;display:flex;align-items:center;gap:6px}.standard-toolbar-left,.standard-toolbar-query,.standard-toolbar-right{display:flex;align-items:center;gap:6px;min-width:0}.standard-toolbar-left .el-button+.el-button,.standard-toolbar-query .el-button+.el-button,.standard-toolbar-right .el-button+.el-button{margin-left:0}.normal-report-column-setting-entry,.normal-report-column-setting-entry .el-popover__reference-wrapper{display:inline-flex;align-items:center}.normal-report-column-setting{min-width:270px}.normal-report-column-setting-header{padding-bottom:8px;border-bottom:1px solid #ebeef5}.normal-report-column-setting-list{max-height:300px;overflow-y:auto;padding:4px 0}.normal-report-column-setting-item{display:flex;align-items:center;gap:2px;padding:5px 4px;border-radius:4px}.normal-report-column-setting-item .el-checkbox{flex:1;min-width:0;margin-right:0;display:flex;align-items:center}.normal-report-column-setting-item .el-checkbox__input{display:flex;align-items:center;flex-shrink:0}.normal-report-column-setting-item .normal-report-column-setting-item-title{cursor:grab}.normal-report-column-setting-item .normal-report-column-setting-item-title:active{cursor:grabbing}.normal-report-column-setting-item .el-checkbox,.normal-report-column-setting-item .el-checkbox__label{-webkit-user-select:none;-moz-user-select:none;user-select:none}.normal-report-column-setting-item .normal-report-column-setting-item-title .el-checkbox__label{flex-shrink:0;width:var(--normal-report-title-width);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.normal-report-column-setting-item .normal-report-column-setting-item-width{flex-shrink:0;width:92px}.normal-report-column-setting-item .el-button+.el-button{margin-left:0}.normal-report-column-setting-item .is-pinned{color:#409eff}.normal-report-column-setting-item .is-sort-off,.normal-report-column-setting-item .is-sort-off:focus,.normal-report-column-setting-item .is-sort-off:hover{color:#c0c4cc}.normal-report-column-setting-item.drag-over{background:#ecf5ff}.normal-report-column-setting-footer{margin-top:8px;padding-top:8px;border-top:1px solid #ebeef5;text-align:right}.normal-report-table-footer{flex-shrink:0;box-sizing:border-box;min-height:49px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:8px 12px;border-top:1px solid #edf1f6}.normal-report-table-footer .normal-report-table-pagination{padding-top:0}.normal-report-table-footer.is-only-pagination{justify-content:flex-end}.normal-report-footer-empty{margin-top:10px}.normal-report-toolbar-empty{margin-bottom:10px}.normal-report-update-time{font-size:13px;color:#909399;flex-shrink:0}.vxe-table--context-menu-wrapper .vxe-context-menu--option-wrapper+.vxe-context-menu--option-wrapper,.vxe-table--context-menu-wrapper .vxe-table--context-menu-group-wrapper+.vxe-table--context-menu-group-wrapper{border-top:1px solid #e8eaec;margin-top:2px;padding-top:2px}.normal-report-table-pagination{flex-shrink:0;padding-top:10px;text-align:right}.normal-report-op-more{margin-left:10px}.normal-report-main-table.vxe-table .vxe-body--row{transition:transform .22s ease,filter .22s ease}.normal-report-main-table.vxe-table .vxe-body--row:hover{transform:translateY(-3px);filter:drop-shadow(0 8px 16px rgba(31,73,125,.22))}.vxe-table--footer-wrapper::-webkit-scrollbar{width:8px!important;height:8px!important}.vxe-table--footer-wrapper::-webkit-scrollbar-track{background-color:#fff!important}.vxe-table--footer-wrapper::-webkit-scrollbar-thumb{background-color:#dddee0!important;border-radius:5px!important;border:1px solid #f1f1f1!important}.vxe-table--footer-wrapper::-webkit-scrollbar-thumb:hover{background-color:#a8a8a8!important}.vxe-table--footer-wrapper::-webkit-scrollbar-thumb:active{background-color:#dddee0!important}.vxe-table--footer-wrapper::-webkit-scrollbar-corner{background-color:#fff!important}.vxe-table--body-wrapper::-webkit-scrollbar{width:8px!important;height:8px!important}.vxe-table--body-wrapper::-webkit-scrollbar-track{background-color:#fff!important}.vxe-table--body-wrapper::-webkit-scrollbar-thumb{background-color:#dddee0!important;border-radius:5px!important;border:1px solid #f1f1f1!important}.vxe-table--body-wrapper::-webkit-scrollbar-thumb:active,.vxe-table--body-wrapper::-webkit-scrollbar-thumb:hover{background-color:#dddee0!important}.vxe-table--body-wrapper::-webkit-scrollbar-corner{background-color:#fff!important}.vxe-table .vxe-header--row{height:36px!important}.vxe-table .vxe-header--column{padding:0!important;color:#636364!important;font-weight:600!important;font-size:13px!important;background-color:#f5f7fa!important}.vxe-table .vxe-header--column,.vxe-table .vxe-header--column>.vxe-cell{height:36px!important;max-height:36px!important;line-height:36px!important}.vxe-table .vxe-header--column>.vxe-cell{padding-top:0!important;padding-bottom:0!important}.vxe-table .vxe-body--row{height:34px!important}.vxe-table .vxe-body--row td.vxe-body--column{font-size:12px!important}.vxe-table .vxe-body--column>.vxe-cell,.vxe-table .vxe-body--row td.vxe-body--column{height:34px!important;max-height:34px!important;line-height:34px!important;padding-top:0!important;padding-bottom:0!important}.vxe-table .vxe-tree-cell{display:flex;align-items:center;height:34px;line-height:34px;overflow:hidden}.vxe-table .vxe-body--column .el-tag--mini{height:26px;line-height:24px;padding:0 4px;font-size:12px;vertical-align:middle}.vxe-table .vxe-body--column .el-button--mini{height:26px;line-height:24px;padding:0 2px;font-size:12px;vertical-align:middle}.vxe-table .vxe-body--column.col--active>.vxe-cell{overflow:visible!important;line-height:normal!important}.vxe-table .vxe-body--column.col--active .el-input,.vxe-table .vxe-body--column.col--active .el-input__inner,.vxe-table .vxe-body--column.col--active .vxe-default-input,.vxe-table .vxe-body--column.col--active .vxe-default-select,.vxe-table .vxe-body--column.col--active .vxe-default-textarea,.vxe-table .vxe-body--column.col--active .vxe-input{width:100%;height:34px!important;max-height:34px!important;line-height:32px!important;font-size:12px!important;box-sizing:border-box}.vxe-header--column.nr-header-drag-source{opacity:.45}.vxe-header--column.nr-header-drag-target{background-color:rgba(64,158,255,.08);box-shadow:inset 2px 0 0 #409eff}body.nr-header-dragging{-webkit-user-select:none;-moz-user-select:none;user-select:none}body.nr-header-dragging .vxe-header--column{cursor:grab}`, ""]);
|
|
3141
3141
|
// Exports
|
|
3142
3142
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
|
|
3143
3143
|
|
|
@@ -121099,8 +121099,8 @@ var StandardTimePick_component = normalizeComponent(
|
|
|
121099
121099
|
)
|
|
121100
121100
|
|
|
121101
121101
|
/* harmony default export */ const StandardTimePick = (StandardTimePick_component.exports);
|
|
121102
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/StandardTable/index.vue?vue&type=template&id=
|
|
121103
|
-
var
|
|
121102
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/StandardTable/index.vue?vue&type=template&id=a9e9136a
|
|
121103
|
+
var StandardTablevue_type_template_id_a9e9136a_render = function render() {
|
|
121104
121104
|
var _vm = this,
|
|
121105
121105
|
_c = _vm._self._c;
|
|
121106
121106
|
return _c('section', {
|
|
@@ -121362,7 +121362,7 @@ var StandardTablevue_type_template_id_05e17600_render = function render() {
|
|
|
121362
121362
|
return _vm.onTableMousedown.apply(null, arguments);
|
|
121363
121363
|
}
|
|
121364
121364
|
}
|
|
121365
|
-
}, [_vm.showCheckbox ? _c('vxe-column', {
|
|
121365
|
+
}, [_vm.columnsReady && _vm.showCheckbox ? _c('vxe-column', {
|
|
121366
121366
|
attrs: {
|
|
121367
121367
|
"type": "checkbox",
|
|
121368
121368
|
"width": "50",
|
|
@@ -121371,7 +121371,7 @@ var StandardTablevue_type_template_id_05e17600_render = function render() {
|
|
|
121371
121371
|
"align": "center",
|
|
121372
121372
|
"resizable": false
|
|
121373
121373
|
}
|
|
121374
|
-
}) : _vm._e(), _vm._l(_vm.
|
|
121374
|
+
}) : _vm._e(), _vm._l(_vm.renderedColumns, function (col) {
|
|
121375
121375
|
return _c('vxe-column', {
|
|
121376
121376
|
key: col.key,
|
|
121377
121377
|
attrs: {
|
|
@@ -121434,7 +121434,7 @@ var StandardTablevue_type_template_id_05e17600_render = function render() {
|
|
|
121434
121434
|
}
|
|
121435
121435
|
}) : _vm.getFooterEmptyVisible() ? _c('standard-footer-empty') : _vm._e()], 1);
|
|
121436
121436
|
};
|
|
121437
|
-
var
|
|
121437
|
+
var StandardTablevue_type_template_id_a9e9136a_staticRenderFns = [];
|
|
121438
121438
|
|
|
121439
121439
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/StandardTable/ToolbarEmpty.vue?vue&type=script&lang=js
|
|
121440
121440
|
/**
|
|
@@ -121588,7 +121588,9 @@ var NormalReportCell = {
|
|
|
121588
121588
|
edit = _ctx$props.edit;
|
|
121589
121589
|
var parent = ctx.parent;
|
|
121590
121590
|
if (!col || !parent || typeof parent.renderCell !== 'function') return null;
|
|
121591
|
-
|
|
121591
|
+
// 把本次渲染的 h 传下去:操作列按钮必须在当前渲染里创建,
|
|
121592
|
+
// 不能用表格实例上预先生成的 VNode,否则 vxe 调用插槽时按钮挂不上
|
|
121593
|
+
var result = parent.renderCell(col, scope, edit, h);
|
|
121592
121594
|
if (result == null || result === '') return null;
|
|
121593
121595
|
if (Array.isArray(result)) {
|
|
121594
121596
|
return result.map(function (item) {
|
|
@@ -121779,12 +121781,12 @@ var NormalReportSlotView = {
|
|
|
121779
121781
|
// ===== 其它 =====
|
|
121780
121782
|
updateTime: '--',
|
|
121781
121783
|
// 数据更新时间(tableData 变化时自动刷新)
|
|
121782
|
-
// 表头行高
|
|
121784
|
+
// 表头行高 36px、内容行高 34px:交给 vxe-table 计算行高,和样式保持一致
|
|
121783
121785
|
headerCellConfig: {
|
|
121784
|
-
height:
|
|
121786
|
+
height: 36
|
|
121785
121787
|
},
|
|
121786
121788
|
cellConfig: {
|
|
121787
|
-
height:
|
|
121789
|
+
height: 34
|
|
121788
121790
|
},
|
|
121789
121791
|
// 有可编辑列且未传 edit-config 时使用,保持对象引用稳定,避免表格反复重置编辑状态
|
|
121790
121792
|
defaultEditConfig: {
|
|
@@ -121818,7 +121820,9 @@ var NormalReportSlotView = {
|
|
|
121818
121820
|
// ResizeObserver 实例(监听表格容器尺寸变化)
|
|
121819
121821
|
resizeTimer: null,
|
|
121820
121822
|
// 尺寸变化防抖定时器
|
|
121821
|
-
|
|
121823
|
+
// 首屏先让 standard-column 在 created 中注册完,再渲染 vxe-column。
|
|
121824
|
+
// 否则第一次往往只有操作列,vxe-table 会固化它的插槽,随后数据列插入后操作列变空白
|
|
121825
|
+
columnsReady: false
|
|
121822
121826
|
};
|
|
121823
121827
|
},
|
|
121824
121828
|
computed: {
|
|
@@ -121995,6 +121999,10 @@ var NormalReportSlotView = {
|
|
|
121995
121999
|
};
|
|
121996
122000
|
}).filter(Boolean);
|
|
121997
122001
|
},
|
|
122002
|
+
// 实际交给 vxe-table 的列:列注册完成前不输出,避免操作列先挂载
|
|
122003
|
+
renderedColumns: function renderedColumns() {
|
|
122004
|
+
return this.columnsReady ? this.vxeColumns : [];
|
|
122005
|
+
},
|
|
121998
122006
|
// vxe-table 列配置(用户列 + 操作列;多选框列在模板中单独以 <vxe-column> 声明)
|
|
121999
122007
|
// 注意:vxe-table 3.x 不消费 columns 配置对象,本计算属性仅供模板 v-for 生成 <vxe-column> 子组件
|
|
122000
122008
|
vxeColumns: function vxeColumns() {
|
|
@@ -122093,9 +122101,22 @@ var NormalReportSlotView = {
|
|
|
122093
122101
|
}
|
|
122094
122102
|
},
|
|
122095
122103
|
mounted: function mounted() {
|
|
122104
|
+
var _this4 = this;
|
|
122096
122105
|
this.initResizeObserver();
|
|
122097
122106
|
// 表头拖拽排序结束后抑制一次 click(document 捕获阶段拦截,防止拖拽结束触发排序切换)
|
|
122098
122107
|
document.addEventListener('click', this.onDocumentClickCapture, true);
|
|
122108
|
+
// 本次 patch 中 standard-column 的 created 已经完成注册,此刻再放行列
|
|
122109
|
+
this.columnsReady = true;
|
|
122110
|
+
// 列挂载后再重算。height="100%" 要等浏览器完成 flex 布局才有父容器高度,
|
|
122111
|
+
// 只在 nextTick 里算会把表体高度当成内容高度,滚动条不再出现
|
|
122112
|
+
this.$nextTick(function () {
|
|
122113
|
+
_this4.resizeRecalculate();
|
|
122114
|
+
if (typeof requestAnimationFrame === 'function') {
|
|
122115
|
+
requestAnimationFrame(function () {
|
|
122116
|
+
return _this4.resizeRecalculate();
|
|
122117
|
+
});
|
|
122118
|
+
}
|
|
122119
|
+
});
|
|
122099
122120
|
},
|
|
122100
122121
|
beforeDestroy: function beforeDestroy() {
|
|
122101
122122
|
this.destroyResizeObserver();
|
|
@@ -122120,51 +122141,51 @@ var NormalReportSlotView = {
|
|
|
122120
122141
|
},
|
|
122121
122142
|
// 工具栏左侧子组件 vnode(渲染到操作区左侧)
|
|
122122
122143
|
getToolbarLeftVNodes: function getToolbarLeftVNodes() {
|
|
122123
|
-
var
|
|
122144
|
+
var _this5 = this;
|
|
122124
122145
|
return this.getDefaultSlotVNodes().filter(function (v) {
|
|
122125
|
-
return
|
|
122146
|
+
return _this5.isVNodeOfType(v, TOOLBAR_LEFT_TYPES);
|
|
122126
122147
|
});
|
|
122127
122148
|
},
|
|
122128
122149
|
// 工具栏右侧子组件 vnode(渲染到操作区右侧)
|
|
122129
122150
|
getToolbarRightVNodes: function getToolbarRightVNodes() {
|
|
122130
|
-
var
|
|
122151
|
+
var _this6 = this;
|
|
122131
122152
|
return this.getDefaultSlotVNodes().filter(function (v) {
|
|
122132
|
-
return
|
|
122153
|
+
return _this6.isVNodeOfType(v, TOOLBAR_RIGHT_TYPES);
|
|
122133
122154
|
});
|
|
122134
122155
|
},
|
|
122135
122156
|
// 底部栏左侧子组件 vnode(渲染到底部栏左侧)
|
|
122136
122157
|
getFooterLeftVNodes: function getFooterLeftVNodes() {
|
|
122137
|
-
var
|
|
122158
|
+
var _this7 = this;
|
|
122138
122159
|
return this.getDefaultSlotVNodes().filter(function (v) {
|
|
122139
|
-
return
|
|
122160
|
+
return _this7.isVNodeOfType(v, FOOTER_LEFT_TYPES);
|
|
122140
122161
|
});
|
|
122141
122162
|
},
|
|
122142
122163
|
// 底部栏右侧分页子组件 vnode(渲染到底部栏右侧)
|
|
122143
122164
|
getFooterRightVNodes: function getFooterRightVNodes() {
|
|
122144
|
-
var
|
|
122165
|
+
var _this8 = this;
|
|
122145
122166
|
return this.getDefaultSlotVNodes().filter(function (v) {
|
|
122146
|
-
return
|
|
122167
|
+
return _this8.isVNodeOfType(v, FOOTER_RIGHT_TYPES);
|
|
122147
122168
|
});
|
|
122148
122169
|
},
|
|
122149
122170
|
// 底部空占位子组件 vnode(页面声明时渲染,未声明时使用内置默认占位)
|
|
122150
122171
|
getFooterEmptyVNodes: function getFooterEmptyVNodes() {
|
|
122151
|
-
var
|
|
122172
|
+
var _this9 = this;
|
|
122152
122173
|
return this.getDefaultSlotVNodes().filter(function (v) {
|
|
122153
|
-
return
|
|
122174
|
+
return _this9.isVNodeOfType(v, FOOTER_EMPTY_TYPES);
|
|
122154
122175
|
});
|
|
122155
122176
|
},
|
|
122156
122177
|
// 工具栏空占位子组件 vnode(页面声明时渲染,未声明时使用内置默认占位)
|
|
122157
122178
|
getToolbarEmptyVNodes: function getToolbarEmptyVNodes() {
|
|
122158
|
-
var
|
|
122179
|
+
var _this0 = this;
|
|
122159
122180
|
return this.getDefaultSlotVNodes().filter(function (v) {
|
|
122160
|
-
return
|
|
122181
|
+
return _this0.isVNodeOfType(v, TOOLBAR_EMPTY_TYPES);
|
|
122161
122182
|
});
|
|
122162
122183
|
},
|
|
122163
122184
|
// 隐藏注册区 vnode:默认插槽中除区域子组件(工具栏/底部栏功能区 + 空占位)之外的内容
|
|
122164
122185
|
getHiddenSlotVNodes: function getHiddenSlotVNodes() {
|
|
122165
|
-
var
|
|
122186
|
+
var _this1 = this;
|
|
122166
122187
|
return this.getDefaultSlotVNodes().filter(function (v) {
|
|
122167
|
-
return !
|
|
122188
|
+
return !_this1.isVNodeOfType(v, TOOLBAR_LEFT_TYPES) && !_this1.isVNodeOfType(v, TOOLBAR_RIGHT_TYPES) && !_this1.isVNodeOfType(v, FOOTER_LEFT_TYPES) && !_this1.isVNodeOfType(v, FOOTER_RIGHT_TYPES) && !_this1.isVNodeOfType(v, FOOTER_EMPTY_TYPES) && !_this1.isVNodeOfType(v, TOOLBAR_EMPTY_TYPES);
|
|
122168
122189
|
});
|
|
122169
122190
|
},
|
|
122170
122191
|
// 操作区是否显示
|
|
@@ -122254,14 +122275,14 @@ var NormalReportSlotView = {
|
|
|
122254
122275
|
},
|
|
122255
122276
|
// ===== 单元格渲染 =====
|
|
122256
122277
|
// 渲染单元格内容(统一分发):seq 序号 / 操作列按钮 / 列组件插槽与字段值
|
|
122257
|
-
renderCell: function renderCell(col, scope, isEdit) {
|
|
122278
|
+
renderCell: function renderCell(col, scope, isEdit, h) {
|
|
122258
122279
|
// 内置序号列:vxe 插槽参数 seq 即显示序号
|
|
122259
122280
|
if (col.isSeq) {
|
|
122260
122281
|
return String(scope.seq != null ? scope.seq : '');
|
|
122261
122282
|
}
|
|
122262
|
-
//
|
|
122283
|
+
// 操作列:渲染操作按钮(使用单元格本次渲染的 h)
|
|
122263
122284
|
if (col.isOp) {
|
|
122264
|
-
return this.renderOpCell(scope.row);
|
|
122285
|
+
return this.renderOpCell(scope.row, h);
|
|
122265
122286
|
}
|
|
122266
122287
|
var comp = col.comp;
|
|
122267
122288
|
if (!comp) return '';
|
|
@@ -122286,7 +122307,7 @@ var NormalReportSlotView = {
|
|
|
122286
122307
|
// 渲染单个操作按钮:active 为 false 时不再隐藏(原按 v-if 消失),
|
|
122287
122308
|
// 改为渲染 disabled 按钮(变灰不可操作)
|
|
122288
122309
|
renderOpButton: function renderOpButton(h, row, btn, idx) {
|
|
122289
|
-
var
|
|
122310
|
+
var _this10 = this;
|
|
122290
122311
|
var active = this.isOpActive(btn, row);
|
|
122291
122312
|
var data = {
|
|
122292
122313
|
key: idx,
|
|
@@ -122297,7 +122318,7 @@ var NormalReportSlotView = {
|
|
|
122297
122318
|
},
|
|
122298
122319
|
on: {
|
|
122299
122320
|
click: function click() {
|
|
122300
|
-
return
|
|
122321
|
+
return _this10.handleOpClick(row, btn);
|
|
122301
122322
|
}
|
|
122302
122323
|
},
|
|
122303
122324
|
// 阻止点击事件冒泡到表格单元格:
|
|
@@ -122319,7 +122340,7 @@ var NormalReportSlotView = {
|
|
|
122319
122340
|
// 超出按钮渲染为 el-dropdown-item,点击后走与直接按钮一致的 handleOpClick;
|
|
122320
122341
|
// active 为 false 的按钮以 disabled 形式变灰展示
|
|
122321
122342
|
renderOpMore: function renderOpMore(h, row, restButtons) {
|
|
122322
|
-
var
|
|
122343
|
+
var _this11 = this;
|
|
122323
122344
|
return h('el-dropdown', {
|
|
122324
122345
|
key: '__normal_report_op_more__',
|
|
122325
122346
|
"class": 'normal-report-op-more',
|
|
@@ -122329,7 +122350,7 @@ var NormalReportSlotView = {
|
|
|
122329
122350
|
},
|
|
122330
122351
|
on: {
|
|
122331
122352
|
command: function command(btn) {
|
|
122332
|
-
return
|
|
122353
|
+
return _this11.handleOpClick(row, btn);
|
|
122333
122354
|
}
|
|
122334
122355
|
},
|
|
122335
122356
|
nativeOn: {
|
|
@@ -122347,7 +122368,7 @@ var NormalReportSlotView = {
|
|
|
122347
122368
|
})]), h('el-dropdown-menu', {
|
|
122348
122369
|
slot: 'dropdown'
|
|
122349
122370
|
}, restButtons.map(function (btn, idx) {
|
|
122350
|
-
var active =
|
|
122371
|
+
var active = _this11.isOpActive(btn, row);
|
|
122351
122372
|
return h('el-dropdown-item', {
|
|
122352
122373
|
key: idx,
|
|
122353
122374
|
props: {
|
|
@@ -122362,20 +122383,20 @@ var NormalReportSlotView = {
|
|
|
122362
122383
|
},
|
|
122363
122384
|
// 渲染操作列:按钮 ≤ 3 个时全部直接渲染;超过 3 个时前 3 个直接渲染,
|
|
122364
122385
|
// 其余统一收纳进“更多”下拉菜单;active 为 false 的按钮渲染为 disabled(变灰)
|
|
122365
|
-
renderOpCell: function renderOpCell(row) {
|
|
122366
|
-
var
|
|
122367
|
-
var
|
|
122386
|
+
renderOpCell: function renderOpCell(row, h) {
|
|
122387
|
+
var _this12 = this;
|
|
122388
|
+
var createElement = h || this.$createElement;
|
|
122368
122389
|
var btns = this.opButtons;
|
|
122369
122390
|
if (!btns.length) return null;
|
|
122370
122391
|
if (btns.length <= OP_MAX_DIRECT_COUNT) {
|
|
122371
122392
|
return btns.map(function (btn, idx) {
|
|
122372
|
-
return
|
|
122393
|
+
return _this12.renderOpButton(createElement, row, btn, idx);
|
|
122373
122394
|
});
|
|
122374
122395
|
}
|
|
122375
122396
|
var nodes = btns.slice(0, OP_MAX_DIRECT_COUNT).map(function (btn, idx) {
|
|
122376
|
-
return
|
|
122397
|
+
return _this12.renderOpButton(createElement, row, btn, idx);
|
|
122377
122398
|
});
|
|
122378
|
-
nodes.push(this.renderOpMore(
|
|
122399
|
+
nodes.push(this.renderOpMore(createElement, row, btns.slice(OP_MAX_DIRECT_COUNT)));
|
|
122379
122400
|
return nodes;
|
|
122380
122401
|
},
|
|
122381
122402
|
// 操作按钮是否有效:active 可为布尔值或 (row, btn) => boolean 函数
|
|
@@ -122456,12 +122477,12 @@ var NormalReportSlotView = {
|
|
|
122456
122477
|
},
|
|
122457
122478
|
// 复制文本到剪贴板:优先使用现代 API,失败时降级 execCommand
|
|
122458
122479
|
copyTextToClipboard: function copyTextToClipboard(text) {
|
|
122459
|
-
var
|
|
122480
|
+
var _this13 = this;
|
|
122460
122481
|
if (navigator.clipboard && window.isSecureContext) {
|
|
122461
122482
|
navigator.clipboard.writeText(text).then(function () {
|
|
122462
|
-
|
|
122483
|
+
_this13.$message && _this13.$message.success('复制成功:' + text);
|
|
122463
122484
|
})["catch"](function () {
|
|
122464
|
-
|
|
122485
|
+
_this13.fallbackCopyText(text);
|
|
122465
122486
|
});
|
|
122466
122487
|
} else {
|
|
122467
122488
|
this.fallbackCopyText(text);
|
|
@@ -122547,23 +122568,23 @@ var NormalReportSlotView = {
|
|
|
122547
122568
|
// 切换列的排序开关:sortable 已纳入列 key,修改后强制重建列,
|
|
122548
122569
|
// 再由 applyColumnOrder 恢复列顺序(重建会打乱 staticColumns 顺序)
|
|
122549
122570
|
toggleHeaderColumnSort: function toggleHeaderColumnSort(uid) {
|
|
122550
|
-
var
|
|
122571
|
+
var _this14 = this;
|
|
122551
122572
|
var st = this.columnStates[uid];
|
|
122552
122573
|
if (!st) return;
|
|
122553
122574
|
this.$set(st, 'sortable', !st.sortable);
|
|
122554
122575
|
this.$nextTick(function () {
|
|
122555
|
-
return
|
|
122576
|
+
return _this14.applyColumnOrder();
|
|
122556
122577
|
});
|
|
122557
122578
|
},
|
|
122558
122579
|
// 切换列的固定状态(左/右固定互斥,再次点击同侧即取消):
|
|
122559
122580
|
// fixed 同样纳入列 key,重建后 vxe-table 重新解析固定列分组
|
|
122560
122581
|
toggleHeaderColumnFixed: function toggleHeaderColumnFixed(uid, side) {
|
|
122561
|
-
var
|
|
122582
|
+
var _this15 = this;
|
|
122562
122583
|
var st = this.columnStates[uid];
|
|
122563
122584
|
if (!st) return;
|
|
122564
122585
|
this.$set(st, 'fixed', st.fixed === side ? '' : side);
|
|
122565
122586
|
this.$nextTick(function () {
|
|
122566
|
-
return
|
|
122587
|
+
return _this15.applyColumnOrder();
|
|
122567
122588
|
});
|
|
122568
122589
|
},
|
|
122569
122590
|
// ===== 单元格编辑 =====
|
|
@@ -122679,7 +122700,7 @@ var NormalReportSlotView = {
|
|
|
122679
122700
|
},
|
|
122680
122701
|
// 交换列顺序(columnOrder 重排后强制同步 vxe-table 内部列配置)
|
|
122681
122702
|
moveColumnOrder: function moveColumnOrder(fromUid, toUid) {
|
|
122682
|
-
var
|
|
122703
|
+
var _this16 = this;
|
|
122683
122704
|
var from = this.columnOrder.indexOf(fromUid);
|
|
122684
122705
|
var to = this.columnOrder.indexOf(toUid);
|
|
122685
122706
|
if (from < 0 || to < 0 || from === to) return;
|
|
@@ -122688,7 +122709,7 @@ var NormalReportSlotView = {
|
|
|
122688
122709
|
order.splice(to, 0, moved);
|
|
122689
122710
|
this.columnOrder = order;
|
|
122690
122711
|
this.$nextTick(function () {
|
|
122691
|
-
return
|
|
122712
|
+
return _this16.applyColumnOrder();
|
|
122692
122713
|
});
|
|
122693
122714
|
},
|
|
122694
122715
|
// ===== 对外方法(父组件通过 ref 调用) =====
|
|
@@ -122708,9 +122729,10 @@ var NormalReportSlotView = {
|
|
|
122708
122729
|
getSelection: function getSelection() {
|
|
122709
122730
|
return this.$refs.xTable ? this.$refs.xTable.getCheckboxRecords() : [];
|
|
122710
122731
|
},
|
|
122711
|
-
//
|
|
122732
|
+
// 表格重新布局(扩展:外层容器尺寸变化后调用)。
|
|
122733
|
+
// 必须完整重算:否则父容器高度变化后表体高度不更新,内容超出也不出滚动条
|
|
122712
122734
|
recalculate: function recalculate() {
|
|
122713
|
-
if (this.$refs.xTable) this.$refs.xTable.recalculate();
|
|
122735
|
+
if (this.$refs.xTable) this.$refs.xTable.recalculate(true);
|
|
122714
122736
|
},
|
|
122715
122737
|
// 树形表格:设置所有节点展开/收起(供页面“展开全部/收起全部”按钮使用)
|
|
122716
122738
|
setAllTreeExpand: function setAllTreeExpand(expanded) {
|
|
@@ -122725,18 +122747,14 @@ var NormalReportSlotView = {
|
|
|
122725
122747
|
// 表现为固定列行与数据行错位。此处监听表格容器尺寸变化,防抖后
|
|
122726
122748
|
// 重新计算布局并调用 refreshScroll() 强制同步各滚动层位置。
|
|
122727
122749
|
initResizeObserver: function initResizeObserver() {
|
|
122728
|
-
var
|
|
122750
|
+
var _this17 = this;
|
|
122729
122751
|
var wrapEl = this.$refs.tableWrap;
|
|
122730
122752
|
if (!wrapEl) return;
|
|
122731
122753
|
if (typeof ResizeObserver !== 'undefined') {
|
|
122732
|
-
|
|
122754
|
+
// 首次通知也要重算。挂载时容器往往已有高度,但还不是 flex 约束后的高度,
|
|
122755
|
+
// 跳过这次就会把“内容撑开的高度”当成可视高度,滚动条不再出现
|
|
122733
122756
|
this.resizeObserver = new ResizeObserver(function () {
|
|
122734
|
-
|
|
122735
|
-
if (_this16.resizeSkipFirst) {
|
|
122736
|
-
_this16.resizeSkipFirst = false;
|
|
122737
|
-
return;
|
|
122738
|
-
}
|
|
122739
|
-
_this16.scheduleTableRecalculate();
|
|
122757
|
+
_this17.scheduleTableRecalculate();
|
|
122740
122758
|
});
|
|
122741
122759
|
this.resizeObserver.observe(wrapEl);
|
|
122742
122760
|
} else {
|
|
@@ -122744,27 +122762,30 @@ var NormalReportSlotView = {
|
|
|
122744
122762
|
window.addEventListener('resize', this.handleWindowResize);
|
|
122745
122763
|
}
|
|
122746
122764
|
},
|
|
122747
|
-
//
|
|
122765
|
+
// 防抖:连续尺寸变化(如拖拽分割线)停稳后再重算,读到的是最终宽高
|
|
122748
122766
|
scheduleTableRecalculate: function scheduleTableRecalculate() {
|
|
122749
|
-
var
|
|
122750
|
-
if (this.resizeTimer)
|
|
122767
|
+
var _this18 = this;
|
|
122768
|
+
if (this.resizeTimer) clearTimeout(this.resizeTimer);
|
|
122751
122769
|
this.resizeTimer = setTimeout(function () {
|
|
122752
|
-
|
|
122753
|
-
|
|
122754
|
-
},
|
|
122770
|
+
_this18.resizeTimer = null;
|
|
122771
|
+
_this18.resizeRecalculate();
|
|
122772
|
+
}, 50);
|
|
122755
122773
|
},
|
|
122756
|
-
//
|
|
122774
|
+
// 重新计算布局,并在重算完成后强制同步固定列与主表体的滚动位置。
|
|
122775
|
+
// 容器还没有宽度时 vxe 会直接跳过滚动计算,等下一次尺寸通知再算
|
|
122757
122776
|
resizeRecalculate: function resizeRecalculate() {
|
|
122758
|
-
var
|
|
122777
|
+
var _this19 = this;
|
|
122759
122778
|
var xTable = this.$refs.xTable;
|
|
122779
|
+
var wrapEl = this.$refs.tableWrap;
|
|
122760
122780
|
if (!xTable) return;
|
|
122781
|
+
if (wrapEl && wrapEl.clientWidth === 0) return;
|
|
122761
122782
|
var restore = function restore() {
|
|
122762
|
-
|
|
122783
|
+
_this19.$nextTick(function () {
|
|
122763
122784
|
if (xTable.refreshScroll) xTable.refreshScroll();
|
|
122764
122785
|
});
|
|
122765
122786
|
};
|
|
122766
122787
|
if (xTable.recalculate) {
|
|
122767
|
-
var result = xTable.recalculate();
|
|
122788
|
+
var result = xTable.recalculate(true);
|
|
122768
122789
|
if (result && typeof result.then === 'function') {
|
|
122769
122790
|
result.then(restore);
|
|
122770
122791
|
} else {
|
|
@@ -122820,13 +122841,13 @@ var NormalReportSlotView = {
|
|
|
122820
122841
|
});
|
|
122821
122842
|
xTable.staticColumns = next;
|
|
122822
122843
|
this.$nextTick(function () {
|
|
122823
|
-
xTable.recalculate && xTable.recalculate();
|
|
122844
|
+
xTable.recalculate && xTable.recalculate(true);
|
|
122824
122845
|
});
|
|
122825
122846
|
},
|
|
122826
122847
|
// ===== 列设置弹层 =====
|
|
122827
122848
|
// 打开列设置:以当前注册列生成工作副本(每次打开都重新初始化)
|
|
122828
122849
|
openColumnSetting: function openColumnSetting() {
|
|
122829
|
-
var
|
|
122850
|
+
var _this20 = this;
|
|
122830
122851
|
var compMap = {};
|
|
122831
122852
|
this.columnComps.forEach(function (comp) {
|
|
122832
122853
|
compMap[comp._uid] = comp;
|
|
@@ -122854,7 +122875,7 @@ var NormalReportSlotView = {
|
|
|
122854
122875
|
// 列标题宽度:按最长列名称计算(中文 25px/字 + 英文 15px/字 + 30px 余量),
|
|
122855
122876
|
// 各列标题统一按该宽度显示,保证输入框与按钮对齐
|
|
122856
122877
|
this.columnTitleWidth = this.columnDraft.reduce(function (max, c) {
|
|
122857
|
-
return Math.max(max,
|
|
122878
|
+
return Math.max(max, _this20.calcColumnTitleWidth(c.title));
|
|
122858
122879
|
}, 0);
|
|
122859
122880
|
},
|
|
122860
122881
|
// 计算单个列标题的显示宽度(px):中文 25px/字 + 英文 15px/字 + 30px 余量
|
|
@@ -122946,10 +122967,10 @@ var NormalReportSlotView = {
|
|
|
122946
122967
|
},
|
|
122947
122968
|
// 确认:将面板副本应用到列状态并刷新表格
|
|
122948
122969
|
confirmColumnSetting: function confirmColumnSetting() {
|
|
122949
|
-
var
|
|
122970
|
+
var _this21 = this;
|
|
122950
122971
|
var order = [];
|
|
122951
122972
|
this.columnDraft.forEach(function (d) {
|
|
122952
|
-
|
|
122973
|
+
_this21.$set(_this21.columnStates, d.uid, {
|
|
122953
122974
|
visible: d.visible,
|
|
122954
122975
|
fixed: d.fixed || '',
|
|
122955
122976
|
minWidth: d.minWidth != null ? d.minWidth : null,
|
|
@@ -122960,7 +122981,7 @@ var NormalReportSlotView = {
|
|
|
122960
122981
|
this.columnOrder = order;
|
|
122961
122982
|
this.columnSettingVisible = false;
|
|
122962
122983
|
this.$nextTick(function () {
|
|
122963
|
-
|
|
122984
|
+
_this21.applyColumnOrder();
|
|
122964
122985
|
});
|
|
122965
122986
|
}
|
|
122966
122987
|
}
|
|
@@ -122982,8 +123003,8 @@ var StandardTablevue_type_style_index_0_prod_lang_scss_external = __webpack_requ
|
|
|
122982
123003
|
|
|
122983
123004
|
var StandardTable_component = normalizeComponent(
|
|
122984
123005
|
components_StandardTablevue_type_script_lang_js,
|
|
122985
|
-
|
|
122986
|
-
|
|
123006
|
+
StandardTablevue_type_template_id_a9e9136a_render,
|
|
123007
|
+
StandardTablevue_type_template_id_a9e9136a_staticRenderFns,
|
|
122987
123008
|
false,
|
|
122988
123009
|
null,
|
|
122989
123010
|
null,
|
|
@@ -123279,12 +123300,13 @@ var ToolbarLeft_component = normalizeComponent(
|
|
|
123279
123300
|
* 工具栏右侧子组件(双标签组件):
|
|
123280
123301
|
*
|
|
123281
123302
|
* <standard-toolbar-right show-adjustment>
|
|
123282
|
-
* <
|
|
123303
|
+
* <standard-toolbar-query query-method="onQuery" show-export export-method="onExport" />
|
|
123283
123304
|
* </standard-toolbar-right>
|
|
123284
123305
|
*
|
|
123285
123306
|
* 说明:
|
|
123286
|
-
* 1. 必须放在 <standard-table>
|
|
123287
|
-
*
|
|
123307
|
+
* 1. 必须放在 <standard-table> 默认插槽内,标签内部内容(按钮、standard-toolbar-query 等)
|
|
123308
|
+
* 由主组件就地渲染到表格操作区右侧(“调整”列设置按钮之前);
|
|
123309
|
+
* standard-toolbar-query 只能放在本组件内部;
|
|
123288
123310
|
* 2. showAdjustment(模板写法 show-adjustment):是否显示“调整”列设置按钮。
|
|
123289
123311
|
* 列设置弹层仍由主组件 StandardTable 渲染,本组件仅声明开关;
|
|
123290
123312
|
* 主组件自身的 showAdjustment 属性继续有效(任一为 true 即显示“调整”按钮);
|
|
@@ -123355,6 +123377,199 @@ var ToolbarRight_component = normalizeComponent(
|
|
|
123355
123377
|
)
|
|
123356
123378
|
|
|
123357
123379
|
/* harmony default export */ const ToolbarRight = (ToolbarRight_component.exports);
|
|
123380
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/StandardTable/ToolbarQuery.vue?vue&type=template&id=2b616fae
|
|
123381
|
+
var ToolbarQueryvue_type_template_id_2b616fae_render = function render() {
|
|
123382
|
+
var _vm = this,
|
|
123383
|
+
_c = _vm._self._c;
|
|
123384
|
+
return _vm.placedCorrectly ? _c('div', {
|
|
123385
|
+
staticClass: "standard-toolbar-query"
|
|
123386
|
+
}, [_c('standard-input', {
|
|
123387
|
+
attrs: {
|
|
123388
|
+
"value": _vm.keyword,
|
|
123389
|
+
"placeholder": _vm.placeholder
|
|
123390
|
+
},
|
|
123391
|
+
on: {
|
|
123392
|
+
"input": _vm.onInput,
|
|
123393
|
+
"enter": _vm.onQuery
|
|
123394
|
+
}
|
|
123395
|
+
}), _c('standard-button', {
|
|
123396
|
+
attrs: {
|
|
123397
|
+
"type": "primary",
|
|
123398
|
+
"icon": "el-icon-search",
|
|
123399
|
+
"label": "查询",
|
|
123400
|
+
"loading": _vm.loading
|
|
123401
|
+
},
|
|
123402
|
+
on: {
|
|
123403
|
+
"click": _vm.onQuery
|
|
123404
|
+
}
|
|
123405
|
+
}), _vm.showExport ? _c('standard-button', {
|
|
123406
|
+
attrs: {
|
|
123407
|
+
"icon": "el-icon-upload2",
|
|
123408
|
+
"label": "导出"
|
|
123409
|
+
},
|
|
123410
|
+
on: {
|
|
123411
|
+
"click": _vm.onExport
|
|
123412
|
+
}
|
|
123413
|
+
}) : _vm._e()], 1) : _vm._e();
|
|
123414
|
+
};
|
|
123415
|
+
var ToolbarQueryvue_type_template_id_2b616fae_staticRenderFns = [];
|
|
123416
|
+
|
|
123417
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/StandardTable/ToolbarQuery.vue?vue&type=script&lang=js
|
|
123418
|
+
|
|
123419
|
+
|
|
123420
|
+
|
|
123421
|
+
/**
|
|
123422
|
+
* 工具栏右侧查询子组件(单标签):
|
|
123423
|
+
*
|
|
123424
|
+
* <standard-toolbar-right>
|
|
123425
|
+
* <standard-toolbar-query
|
|
123426
|
+
* v-model="keyword"
|
|
123427
|
+
* placeholder="请输入关键字"
|
|
123428
|
+
* query-method="onQuery"
|
|
123429
|
+
* show-export
|
|
123430
|
+
* export-method="onExport"
|
|
123431
|
+
* />
|
|
123432
|
+
* </standard-toolbar-right>
|
|
123433
|
+
*
|
|
123434
|
+
* 说明:
|
|
123435
|
+
* 1. 只能作为 standard-toolbar-right 的子组件使用,放在其它位置时不渲染并给出警告;
|
|
123436
|
+
* 2. 默认包含输入框、查询按钮;showExport(模板写法 show-export)为 true 时再显示导出按钮。
|
|
123437
|
+
* 输入框回车与点击查询等效;
|
|
123438
|
+
* 3. queryMethod / exportMethod(模板写法 query-method / export-method)
|
|
123439
|
+
* 支持函数(直接调用)与字符串(沿父组件链查找页面方法),入参为当前关键字;
|
|
123440
|
+
* 4. 同时派发 query / export 事件,参数同样为当前关键字。export 仅在导出按钮显示时由点击触发。
|
|
123441
|
+
*/
|
|
123442
|
+
/* harmony default export */ const ToolbarQueryvue_type_script_lang_js = ({
|
|
123443
|
+
name: 'StandardToolbarQuery',
|
|
123444
|
+
components: {
|
|
123445
|
+
StandardInput: StandardInput,
|
|
123446
|
+
StandardButton: StandardButton
|
|
123447
|
+
},
|
|
123448
|
+
model: {
|
|
123449
|
+
prop: 'value',
|
|
123450
|
+
event: 'input'
|
|
123451
|
+
},
|
|
123452
|
+
props: {
|
|
123453
|
+
// v-model 绑定的查询关键字
|
|
123454
|
+
value: {
|
|
123455
|
+
type: [String, Number],
|
|
123456
|
+
"default": ''
|
|
123457
|
+
},
|
|
123458
|
+
// 输入框占位文案
|
|
123459
|
+
placeholder: {
|
|
123460
|
+
type: String,
|
|
123461
|
+
"default": '请输入关键字'
|
|
123462
|
+
},
|
|
123463
|
+
// 查询方法:函数直接调用,字符串则沿父组件链查找同名方法
|
|
123464
|
+
queryMethod: {
|
|
123465
|
+
type: [Function, String],
|
|
123466
|
+
"default": ''
|
|
123467
|
+
},
|
|
123468
|
+
// 导出方法:函数直接调用,字符串则沿父组件链查找同名方法
|
|
123469
|
+
exportMethod: {
|
|
123470
|
+
type: [Function, String],
|
|
123471
|
+
"default": ''
|
|
123472
|
+
},
|
|
123473
|
+
// 是否显示导出按钮,默认不显示
|
|
123474
|
+
showExport: {
|
|
123475
|
+
type: Boolean,
|
|
123476
|
+
"default": false
|
|
123477
|
+
},
|
|
123478
|
+
// 查询按钮加载态
|
|
123479
|
+
loading: {
|
|
123480
|
+
type: Boolean,
|
|
123481
|
+
"default": false
|
|
123482
|
+
}
|
|
123483
|
+
},
|
|
123484
|
+
data: function data() {
|
|
123485
|
+
return {
|
|
123486
|
+
// 未确认父级前先渲染,挂载后若不在 toolbar-right 内再隐藏,避免正确用法被误伤
|
|
123487
|
+
placedCorrectly: true,
|
|
123488
|
+
keyword: this.value == null ? '' : String(this.value)
|
|
123489
|
+
};
|
|
123490
|
+
},
|
|
123491
|
+
watch: {
|
|
123492
|
+
value: function value(val) {
|
|
123493
|
+
this.keyword = val == null ? '' : String(val);
|
|
123494
|
+
}
|
|
123495
|
+
},
|
|
123496
|
+
mounted: function mounted() {
|
|
123497
|
+
this.validatePlacement();
|
|
123498
|
+
},
|
|
123499
|
+
methods: {
|
|
123500
|
+
// 沿父组件链查找 StandardToolbarRight(插槽内容的 $parent 为实际渲染它的组件)
|
|
123501
|
+
findToolbarRight: function findToolbarRight() {
|
|
123502
|
+
var parent = this.$parent;
|
|
123503
|
+
while (parent) {
|
|
123504
|
+
if (parent.$options && parent.$options.name === 'StandardToolbarRight') return parent;
|
|
123505
|
+
parent = parent.$parent;
|
|
123506
|
+
}
|
|
123507
|
+
return null;
|
|
123508
|
+
},
|
|
123509
|
+
// 父组件链与 DOM 宿主双重确认:任一命中即视为放在 standard-toolbar-right 内
|
|
123510
|
+
validatePlacement: function validatePlacement() {
|
|
123511
|
+
var el = this.$el;
|
|
123512
|
+
var byDom = !!(el && el.nodeType === 1 && el.parentElement && el.parentElement.closest('.standard-toolbar-right'));
|
|
123513
|
+
if (this.findToolbarRight() || byDom) return;
|
|
123514
|
+
this.placedCorrectly = false;
|
|
123515
|
+
console.warn('[StandardToolbarQuery] 只能放在 standard-toolbar-right 内部');
|
|
123516
|
+
},
|
|
123517
|
+
onInput: function onInput(val) {
|
|
123518
|
+
this.keyword = val == null ? '' : String(val);
|
|
123519
|
+
this.$emit('input', this.keyword);
|
|
123520
|
+
},
|
|
123521
|
+
// method 为函数时直接调用;为字符串时沿父组件链查找同名方法
|
|
123522
|
+
invokeMethod: function invokeMethod(method, keyword) {
|
|
123523
|
+
if (typeof method === 'function') {
|
|
123524
|
+
method(keyword);
|
|
123525
|
+
return;
|
|
123526
|
+
}
|
|
123527
|
+
if (typeof method === 'string' && method) {
|
|
123528
|
+
var parent = this.$parent;
|
|
123529
|
+
while (parent) {
|
|
123530
|
+
if (typeof parent[method] === 'function') {
|
|
123531
|
+
parent[method](keyword);
|
|
123532
|
+
return;
|
|
123533
|
+
}
|
|
123534
|
+
parent = parent.$parent;
|
|
123535
|
+
}
|
|
123536
|
+
console.warn("[StandardToolbarQuery] \u672A\u627E\u5230\u65B9\u6CD5 ".concat(method));
|
|
123537
|
+
}
|
|
123538
|
+
},
|
|
123539
|
+
onQuery: function onQuery() {
|
|
123540
|
+
var keyword = this.keyword;
|
|
123541
|
+
this.invokeMethod(this.queryMethod, keyword);
|
|
123542
|
+
this.$emit('query', keyword);
|
|
123543
|
+
},
|
|
123544
|
+
onExport: function onExport() {
|
|
123545
|
+
var keyword = this.keyword;
|
|
123546
|
+
this.invokeMethod(this.exportMethod, keyword);
|
|
123547
|
+
this.$emit('export', keyword);
|
|
123548
|
+
}
|
|
123549
|
+
}
|
|
123550
|
+
});
|
|
123551
|
+
;// ./src/components/StandardTable/ToolbarQuery.vue?vue&type=script&lang=js
|
|
123552
|
+
/* harmony default export */ const StandardTable_ToolbarQueryvue_type_script_lang_js = (ToolbarQueryvue_type_script_lang_js);
|
|
123553
|
+
;// ./src/components/StandardTable/ToolbarQuery.vue
|
|
123554
|
+
|
|
123555
|
+
|
|
123556
|
+
|
|
123557
|
+
|
|
123558
|
+
|
|
123559
|
+
/* normalize component */
|
|
123560
|
+
;
|
|
123561
|
+
var ToolbarQuery_component = normalizeComponent(
|
|
123562
|
+
StandardTable_ToolbarQueryvue_type_script_lang_js,
|
|
123563
|
+
ToolbarQueryvue_type_template_id_2b616fae_render,
|
|
123564
|
+
ToolbarQueryvue_type_template_id_2b616fae_staticRenderFns,
|
|
123565
|
+
false,
|
|
123566
|
+
null,
|
|
123567
|
+
null,
|
|
123568
|
+
null
|
|
123569
|
+
|
|
123570
|
+
)
|
|
123571
|
+
|
|
123572
|
+
/* harmony default export */ const ToolbarQuery = (ToolbarQuery_component.exports);
|
|
123358
123573
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/StandardTable/FooterLeft.vue?vue&type=script&lang=js
|
|
123359
123574
|
/**
|
|
123360
123575
|
* 底部栏左侧子组件(单标签组件):
|
|
@@ -123536,6 +123751,7 @@ var FooterRight_component = normalizeComponent(
|
|
|
123536
123751
|
* 'standard-column': StandardTable.Column,
|
|
123537
123752
|
* 'standard-toolbar-left': StandardTable.ToolbarLeft,
|
|
123538
123753
|
* 'standard-toolbar-right': StandardTable.ToolbarRight,
|
|
123754
|
+
* 'standard-toolbar-query': StandardTable.ToolbarQuery,
|
|
123539
123755
|
* 'standard-footer-left': StandardTable.FooterLeft,
|
|
123540
123756
|
* 'standard-footer-right': StandardTable.FooterRight,
|
|
123541
123757
|
* 'standard-footer-empty': StandardTable.FooterEmpty,
|
|
@@ -123557,10 +123773,12 @@ var FooterRight_component = normalizeComponent(
|
|
|
123557
123773
|
|
|
123558
123774
|
|
|
123559
123775
|
|
|
123776
|
+
|
|
123560
123777
|
// 将各子组件挂载为静态属性,方便引用方统一引入注册
|
|
123561
123778
|
StandardTable.Column = Column;
|
|
123562
123779
|
StandardTable.ToolbarLeft = ToolbarLeft;
|
|
123563
123780
|
StandardTable.ToolbarRight = ToolbarRight;
|
|
123781
|
+
StandardTable.ToolbarQuery = ToolbarQuery;
|
|
123564
123782
|
StandardTable.FooterLeft = FooterLeft;
|
|
123565
123783
|
StandardTable.FooterRight = FooterRight;
|
|
123566
123784
|
StandardTable.FooterEmpty = FooterEmpty;
|
|
@@ -123572,6 +123790,7 @@ StandardTable.install = function (Vue) {
|
|
|
123572
123790
|
Vue.component(Column.name, Column);
|
|
123573
123791
|
Vue.component(ToolbarLeft.name, ToolbarLeft);
|
|
123574
123792
|
Vue.component(ToolbarRight.name, ToolbarRight);
|
|
123793
|
+
Vue.component(ToolbarQuery.name, ToolbarQuery);
|
|
123575
123794
|
Vue.component(FooterLeft.name, FooterLeft);
|
|
123576
123795
|
Vue.component(FooterRight.name, FooterRight);
|
|
123577
123796
|
Vue.component(FooterEmpty.name, FooterEmpty);
|