diff --git a/CHANGELOG.md b/CHANGELOG.md index 6bb31d1..a7af082 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,10 @@ + +## [2.1.14](https://github.com/tinper-bee/bee-table/compare/v2.1.13...v2.1.14) (2019-08-17) + + + -## [2.1.13](https://github.com/tinper-bee/bee-table/compare/v2.1.12...v2.1.13) (2019-08-07) - - - - -## [2.1.12](https://github.com/tinper-bee/bee-table/compare/v2.1.11...v2.1.12) (2019-08-07) +## [2.1.13](https://github.com/tinper-bee/bee-table/compare/v2.1.11...v2.1.13) (2019-08-07) @@ -75,7 +75,7 @@ -# [2.1.0](https://github.com/tinper-bee/bee-table/compare/v2.0.24...v2.1.0) (2019-06-01) +# [2.1.0](https://github.com/tinper-bee/bee-table/compare/v2.0.25...v2.1.0) (2019-06-01) ### Bug Fixes @@ -84,6 +84,11 @@ + +## [2.0.25](https://github.com/tinper-bee/bee-table/compare/v2.0.24...v2.0.25) (2019-05-24) + + + ## [2.0.24](https://github.com/tinper-bee/bee-table/compare/v2.0.22...v2.0.24) (2019-05-22) diff --git a/README.md b/README.md index a837983..03d81ec 100644 --- a/README.md +++ b/README.md @@ -241,6 +241,9 @@ import multiSelect from "bee-table/lib/multiSelect.js"; | draggable | 可拖拽交换列 | boolean | false | | dragborder | 可拖拽改变列宽 | boolean | false | | checkMinSize | 当前表格显示最少列数 | boolean | false | +| onDragEnd | 交换列后的回调函数 | function | (event,data,columns) | +| onDrop | 交换列的回调函数 | function | (event,data,columns) | + diff --git a/build/Table.css b/build/Table.css index afc4d36..cf4e65e 100644 --- a/build/Table.css +++ b/build/Table.css @@ -304,7 +304,7 @@ .u-table-fixed-left .u-table-body-inner { margin-right: -20px; padding-right: 20px; } - .u-table-fixed-header .u-table-fixed-left .u-table-body-inner { + .u-table-fixed-header:not(.u-table-hide-header) .u-table-fixed-left .u-table-body-inner { padding-right: 0px; } .u-table-fixed-header .u-table-body-inner { height: 100%; @@ -438,8 +438,8 @@ -moz-user-select: -moz-none; -khtml-user-select: none; -webkit-user-select: none; - /* - Introduced in IE 10. + /* + Introduced in IE 10. */ -ms-user-select: none; user-select: none; } diff --git a/build/Table.js b/build/Table.js index a4fc85f..d7d4fbf 100644 --- a/build/Table.js +++ b/build/Table.js @@ -469,7 +469,7 @@ var Table = function (_Component) { this.domWidthDiff = this.contentDomWidth - this.contentWidth; } - if (this.computeWidth <= this.contentWidth) { + if (this.computeWidth < this.contentWidth) { var contentWidthDiff = this.scrollbarWidth ? this.contentWidth - this.computeWidth - this.scrollbarWidth : this.contentWidth - this.computeWidth; //bordered的表格需要减去边框的差值1 if (this.props.bordered) { @@ -560,7 +560,7 @@ var Table = function (_Component) { return this.props.expandedRowKeys || this.state.expandedRowKeys; }; - Table.prototype.getHeader = function getHeader(columns, fixed) { + Table.prototype.getHeader = function getHeader(columns, fixed, leftFixedWidth, rightFixedWidth) { var _props = this.props, filterDelay = _props.filterDelay, onFilterChange = _props.onFilterChange, @@ -573,6 +573,7 @@ var Table = function (_Component) { onDragEnter = _props.onDragEnter, onDragOver = _props.onDragOver, onDrop = _props.onDrop, + onDragEnd = _props.onDragEnd, draggable = _props.draggable, onMouseDown = _props.onMouseDown, onMouseMove = _props.onMouseMove, @@ -599,7 +600,7 @@ var Table = function (_Component) { } var trStyle = headerHeight && !fixed ? { height: headerHeight } : fixed ? this.getHeaderRowStyle(columns, rows) : null; - var drop = draggable ? { onDragStart: onDragStart, onDragOver: onDragOver, onDrop: onDrop, onDragEnter: onDragEnter, draggable: draggable } : {}; + var drop = draggable ? { onDragStart: onDragStart, onDragOver: onDragOver, onDrop: onDrop, onDragEnd: onDragEnd, onDragEnter: onDragEnter, draggable: draggable } : {}; var dragBorder = dragborder ? { onMouseDown: onMouseDown, onMouseMove: onMouseMove, onMouseUp: onMouseUp, dragborder: dragborder, onThMouseMove: onThMouseMove, dragborderKey: dragborderKey, onDropBorder: onDropBorder, onDraggingBorder: onDraggingBorder } : {}; var contentWidthDiff = 0; //非固定表格,宽度不够时自动扩充 @@ -625,7 +626,9 @@ var Table = function (_Component) { contentDomWidth: this.contentDomWidth, scrollbarWidth: this.scrollbarWidth, headerScroll: headerScroll, - bordered: bordered + bordered: bordered, + leftFixedWidth: leftFixedWidth, + rightFixedWidth: rightFixedWidth })) : null; }; @@ -1050,6 +1053,8 @@ var Table = function (_Component) { var bodyStyle = _extends({}, this.props.bodyStyle); var headStyle = {}; var innerBodyStyle = {}; + var leftFixedWidth = this.columnManager.getLeftColumnsWidth(this.contentWidth); + var rightFixedWidth = this.columnManager.getRightColumnsWidth(this.contentWidth); var tableClassName = ''; //表格元素的宽度大于容器的宽度也显示滚动条 @@ -1150,7 +1155,7 @@ var Table = function (_Component) { 'table', { className: ' ' + tableClassName + ' table-bordered ' + _drag_class + ' ', style: tableStyle }, _this4.getColGroup(columns, fixed), - hasHead ? _this4.getHeader(columns, fixed) : null, + hasHead ? _this4.getHeader(columns, fixed, leftFixedWidth, rightFixedWidth) : null, tableBody ); }; @@ -1219,8 +1224,8 @@ var Table = function (_Component) { ) ); } - var leftFixedWidth = this.columnManager.getLeftColumnsWidth(this.contentWidth); - var rightFixedWidth = this.columnManager.getRightColumnsWidth(this.contentWidth); + // const leftFixedWidth = this.columnManager.getLeftColumnsWidth(this.contentWidth); + // const rightFixedWidth = this.columnManager.getRightColumnsWidth(this.contentWidth); var expandIconWidth = expandIconAsCell ? 33 : 0; var parStyle = {}; if (!fixed) { @@ -1501,6 +1506,9 @@ var Table = function (_Component) { if (props.useFixedHeader || props.scroll && props.scroll.y) { className += ' ' + clsPrefix + '-fixed-header'; } + if (!props.showHeader) { + className += ' ' + clsPrefix + '-hide-header'; + } if (props.bordered) { className += ' ' + clsPrefix + '-bordered'; } diff --git a/build/TableHeader.js b/build/TableHeader.js index b2e2e67..b34461b 100644 --- a/build/TableHeader.js +++ b/build/TableHeader.js @@ -157,7 +157,9 @@ var TableHeader = function (_Component) { contentTable = _this$props2.contentTable, headerScroll = _this$props2.headerScroll, lastShowIndex = _this$props2.lastShowIndex, - onDraggingBorder = _this$props2.onDraggingBorder; + onDraggingBorder = _this$props2.onDraggingBorder, + leftFixedWidth = _this$props2.leftFixedWidth, + rightFixedWidth = _this$props2.rightFixedWidth; _utils.Event.stopPropagation(e); var event = _utils.Event.getEvent(e); @@ -189,11 +191,11 @@ var TableHeader = function (_Component) { _this.table.cols[lastShowIndex].style.width = lastWidth + "px"; //同步表头 _this.table.tableBodyCols[lastShowIndex].style.width = lastWidth + "px"; //同步表体 } - - var showScroll = contentDomWidth - (_this.drag.tableWidth + diff) - scrollbarWidth; + var showScroll = contentDomWidth - (leftFixedWidth + rightFixedWidth) - (_this.drag.tableWidth + diff) - scrollbarWidth; //表头滚动条处理 if (headerScroll) { if (showScroll < 0) { + //小于 0 出现滚动条 //找到固定列表格,设置表头的marginBottom值为scrollbarWidth; _this.table.contentTableHeader.style.overflowX = 'scroll'; _this.optTableMargin(_this.table.fixedLeftHeaderTable, scrollbarWidth); @@ -202,17 +204,20 @@ var TableHeader = function (_Component) { // fixedRighHeadertTable && (fixedRighHeadertTable.style.marginBottom = scrollbarWidth + "px"); //todo inner scroll-x去掉;outer marginbottom 设置成-15px】 } else { + //大于 0 不显示滚动条 _this.table.contentTableHeader.style.overflowX = 'hidden'; _this.optTableMargin(_this.table.fixedLeftHeaderTable, 0); _this.optTableMargin(_this.table.fixedRighHeadertTable, 0); } } else { if (showScroll < 0) { + _this.table.tableBody.style.overflowX = 'auto'; _this.optTableMargin(_this.table.fixedLeftBodyTable, '-' + scrollbarWidth); _this.optTableMargin(_this.table.fixedRightBodyTable, '-' + scrollbarWidth); _this.optTableScroll(_this.table.fixedLeftBodyTable, { x: 'scroll' }); _this.optTableScroll(_this.table.fixedRightBodyTable, { x: 'scroll' }); } else { + _this.table.tableBody.style.overflowX = 'hidden'; _this.optTableMargin(_this.table.fixedLeftBodyTable, 0); _this.optTableMargin(_this.table.fixedRightBodyTable, 0); _this.optTableScroll(_this.table.fixedLeftBodyTable, { x: 'auto' }); @@ -263,7 +268,7 @@ var TableHeader = function (_Component) { var innerTable = table.querySelector('.u-table-body-inner'); if (innerTable) { //fixbug: 拖拽列宽后,滚动条滚到表格底部,会导致固定列和非固定列错行 - // overflow.x && (innerTable.style.overflowX = overflow.x); + overflow.x && (innerTable.style.overflowX = overflow.x); overflow.y && (innerTable.style.overflowY = overflow.y); } } @@ -310,6 +315,12 @@ var TableHeader = function (_Component) { var event = _utils.Event.getEvent(e), target = _utils.Event.getTarget(event); _this.currentDome.setAttribute('draggable', false); //添加交换列效果 + + var data = _this.getCurrentEventData(_this._dragCurrent); + if (!data) return; + if (!_this.props.onDrop) return; + // this.props.onDrop(event,target); + _this.props.onDrop(event, { dragSource: _this.currentObj, dragTarg: data }); }; _this.onDragEnter = function (e) { @@ -335,8 +346,8 @@ var TableHeader = function (_Component) { var data = _this.getCurrentEventData(_this._dragCurrent); if (!data) return; if (!_this.currentObj || _this.currentObj.key == data.key) return; - if (!_this.props.onDrop) return; - _this.props.onDrop(event, { dragSource: _this.currentObj, dragTarg: data }); + if (!_this.props.onDragEnd) return; + _this.props.onDragEnd(event, { dragSource: _this.currentObj, dragTarg: data }); }; _this.onDragLeave = function (e) { @@ -531,6 +542,7 @@ var TableHeader = function (_Component) { table.cols = tableDome.getElementsByTagName("col"); table.ths = tableDome.getElementsByTagName("th"); table.tr = tableDome.getElementsByTagName("tr"); + table.tableBody = contentTable.querySelector('.u-table-scroll .u-table-body') && contentTable.querySelector('.u-table-scroll .u-table-body'); table.tableBodyCols = contentTable.querySelector('.u-table-scroll .u-table-body') && contentTable.querySelector('.u-table-scroll .u-table-body').getElementsByTagName("col"); } diff --git a/build/TableRow.js b/build/TableRow.js index 18efee7..7c016c8 100644 --- a/build/TableRow.js +++ b/build/TableRow.js @@ -646,7 +646,7 @@ var TableRow = function (_Component) { // key={hoverKey} , ref: this.bindElement }, - cells.length > 0 ? cells : _react2["default"].createElement('td', null) + cells.length > 0 ? cells : _react2["default"].createElement('td', { style: { width: 0, padding: 0 } }) ); }; diff --git a/build/lib/bigData.js b/build/lib/bigData.js index 88c856a..75b7ace 100644 --- a/build/lib/bigData.js +++ b/build/lib/bigData.js @@ -83,7 +83,8 @@ function bigData(Table) { _this.startIndex = _this.currentIndex; //数据开始位置 _this.endIndex = _this.currentIndex + _this.loadCount; //数据结束位置 } - if (nextProps.data !== props.data) { + if (nextProps.data.toString() !== props.data.toString()) { + //fix: 滚动加载场景中,数据动态改变下占位计算错误的问题(26 Jun) _this.cachedRowHeight = []; //缓存每行的高度 _this.cachedRowParentIndex = []; _this.computeCachedRowParentIndex(nextProps.data); diff --git a/build/lib/dragColumn.js b/build/lib/dragColumn.js index 1eefb7d..ea9fc27 100644 --- a/build/lib/dragColumn.js +++ b/build/lib/dragColumn.js @@ -1,7 +1,7 @@ 'use strict'; Object.defineProperty(exports, "__esModule", { - value: true + value: true }); var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; @@ -35,126 +35,115 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" function dragColumn(Table) { - return function (_Component) { - _inherits(DragColumn, _Component); + return function (_Component) { + _inherits(DragColumn, _Component); - function DragColumn(props) { - _classCallCheck(this, DragColumn); + function DragColumn(props) { + _classCallCheck(this, DragColumn); - var _this = _possibleConstructorReturn(this, _Component.call(this, props)); + var _this = _possibleConstructorReturn(this, _Component.call(this, props)); - _this.setColumOrderByIndex = function (_column) { - _column.forEach(function (da, i) { - da.dragIndex = i; - da.drgHover = false; - }); - return _column; - }; - - _this.onDrop = function (event, data) { - var dragSource = data.dragSource, - dragTarg = data.dragTarg; - var columns = _this.state.columns; - - var sourceIndex = -1, - targetIndex = -1; - - sourceIndex = columns.findIndex(function (da, i) { - return da.key == dragSource.key; - }); - targetIndex = columns.findIndex(function (da, i) { - return da.key == dragTarg.key; - }); - // 向前移动 - if (targetIndex < sourceIndex) { - targetIndex = targetIndex + 1; - } - columns.splice(targetIndex, 0, columns.splice(sourceIndex, 1)[0]); - var _newColumns = []; - columns.forEach(function (da, i) { - var newDate = _extends(da, {}); - newDate.title = da.title; - _newColumns.push(newDate); - }); - // console.log(" onDrop-------columns--- ",columns); - _this.setState({ - columns: _newColumns //cloneDeep(columns) - }); - // console.log(" onDrop-------columns--- ",_newColumns); - // console.log(columns === _newColumns); - if (_this.props.onDrop) { - _this.props.onDrop(event, data, columns); - } - }; - - _this.getTarget = function (evt) { - return evt.target || evt.srcElement; - }; - - _this.state = { - columns: _this.setColumOrderByIndex(props.columns) - }; - return _this; - } - - DragColumn.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) { - if (nextProps.columns != this.props.columns) { - this.setState({ - columns: this.setColumOrderByIndex(nextProps.columns) - }); - } - }; - - DragColumn.prototype.recursion = function (_recursion) { - function recursion(_x) { - return _recursion.apply(this, arguments); - } - - recursion.toString = function () { - return _recursion.toString(); - }; - - return recursion; - }(function (obj) { - var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - for (key in obj) { - if (_typeof(obj[key]) == 'object' && Object.keys(obj[key].length > 0)) { - data[key] = recursion(obj[key]); - } else { - data[key] = obj[key]; - } - } - return data; + _this.setColumOrderByIndex = function (_column) { + _column.forEach(function (da, i) { + da.dragIndex = i; + da.drgHover = false; }); + return _column; + }; - DragColumn.prototype.render = function render() { - var _props = this.props, - data = _props.data, - dragborder = _props.dragborder, - draggable = _props.draggable, - className = _props.className, - columns = _props.columns, - onDragStart = _props.onDragStart, - onDragEnter = _props.onDragEnter, - onDragOver = _props.onDragOver, - onDrop = _props.onDrop, - others = _objectWithoutProperties(_props, ['data', 'dragborder', 'draggable', 'className', 'columns', 'onDragStart', 'onDragEnter', 'onDragOver', 'onDrop']); + _this.onDragEnd = function (event, data) { + var dragSource = data.dragSource, + dragTarg = data.dragTarg; + var columns = _this.state.columns; - return _react2["default"].createElement(Table, _extends({}, others, { - columns: this.state.columns, - data: data, - className: className + ' u-table-drag-border', - onDragStart: this.onDragStart, - onDragOver: this.onDragOver, - onDrop: this.onDrop, - onDragEnter: this.onDragEnter, - draggable: draggable, - dragborder: dragborder - })); - }; + var sourceIndex = -1, + targetIndex = -1; - return DragColumn; - }(_react.Component); + sourceIndex = columns.findIndex(function (da, i) { + return da.key == dragSource.key; + }); + targetIndex = columns.findIndex(function (da, i) { + return da.key == dragTarg.key; + }); + // 向前移动 + if (targetIndex < sourceIndex) { + targetIndex = targetIndex + 1; + } + columns.splice(targetIndex, 0, columns.splice(sourceIndex, 1)[0]); + var _newColumns = []; + columns.forEach(function (da, i) { + var newDate = _extends(da, {}); + newDate.title = da.title; + _newColumns.push(newDate); + }); + _this.setState({ + columns: _newColumns //cloneDeep(columns) + }); + if (_this.props.onDragEnd) { + _this.props.onDragEnd(event, data, columns); + } + }; + + _this.getTarget = function (evt) { + return evt.target || evt.srcElement; + }; + + _this.state = { + columns: _this.setColumOrderByIndex(props.columns) + }; + return _this; + } + + DragColumn.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) { + if (nextProps.columns != this.props.columns) { + this.setState({ + columns: this.setColumOrderByIndex(nextProps.columns) + }); + } + }; + + DragColumn.prototype.recursion = function (_recursion) { + function recursion(_x) { + return _recursion.apply(this, arguments); + } + + recursion.toString = function () { + return _recursion.toString(); + }; + + return recursion; + }(function (obj) { + var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + for (key in obj) { + if (_typeof(obj[key]) == 'object' && Object.keys(obj[key].length > 0)) { + data[key] = recursion(obj[key]); + } else { + data[key] = obj[key]; + } + } + return data; + }); + + DragColumn.prototype.render = function render() { + var _props = this.props, + data = _props.data, + dragborder = _props.dragborder, + draggable = _props.draggable, + className = _props.className, + others = _objectWithoutProperties(_props, ['data', 'dragborder', 'draggable', 'className']); + + return _react2["default"].createElement(Table, _extends({}, others, { + columns: this.state.columns, + data: data, + className: className + ' u-table-drag-border', + onDragEnd: this.onDragEnd, + draggable: draggable, + dragborder: dragborder + })); + }; + + return DragColumn; + }(_react.Component); } module.exports = exports['default']; \ No newline at end of file diff --git a/build/lib/util.js b/build/lib/util.js index 237dba1..9ea2e19 100644 --- a/build/lib/util.js +++ b/build/lib/util.js @@ -1,7 +1,7 @@ 'use strict'; Object.defineProperty(exports, "__esModule", { - value: true + value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; @@ -20,29 +20,29 @@ exports.ObjectAssign = ObjectAssign; */ function sortBy(arr, prop, desc) { - var props = [], - ret = [], - i = 0, - len = arr.length; - if (typeof prop == 'string') { - for (; i < len; i++) { - var oI = arr[i]; - (props[i] = new String(oI && oI[prop] || ''))._obj = oI; + var props = [], + ret = [], + i = 0, + len = arr.length; + if (typeof prop == 'string') { + for (; i < len; i++) { + var oI = arr[i]; + (props[i] = new String(oI && oI[prop] || ''))._obj = oI; + } + } else if (typeof prop == 'function') { + for (; i < len; i++) { + var _oI = arr[i]; + (props[i] = new String(_oI && prop(_oI) || ''))._obj = _oI; + } + } else { + throw '参数类型错误'; } - } else if (typeof prop == 'function') { - for (; i < len; i++) { - var _oI = arr[i]; - (props[i] = new String(_oI && prop(_oI) || ''))._obj = _oI; + props.sort(); + for (i = 0; i < len; i++) { + ret[i] = props[i]._obj; } - } else { - throw '参数类型错误'; - } - props.sort(); - for (i = 0; i < len; i++) { - ret[i] = props[i]._obj; - } - if (desc) ret.reverse(); - return ret; + if (desc) ret.reverse(); + return ret; }; /** @@ -51,11 +51,11 @@ function sortBy(arr, prop, desc) { * @param {} property */ function compare(property) { - return function (a, b) { - var value1 = a[property]; - var value2 = b[property]; - return value1 - value2; - }; + return function (a, b) { + var value1 = a[property]; + var value2 = b[property]; + return value1 - value2; + }; } /** @@ -63,17 +63,17 @@ function compare(property) { * @param {*} obj 要拷贝的对象 */ function ObjectAssign(obj) { - var b = obj instanceof Array; - var tagObj = b ? [] : {}; - if (b) { - //数组 - obj.forEach(function (da) { - var _da = {}; - _extends(_da, da); - tagObj.push(_da); - }); - } else { - _extends(tagObj, obj); - } - return tagObj; + var b = obj instanceof Array; + var tagObj = b ? [] : {}; + if (b) { + //数组 + obj.forEach(function (da) { + var _da = {}; + _extends(_da, da); + tagObj.push(_da); + }); + } else { + _extends(tagObj, obj); + } + return tagObj; } \ No newline at end of file diff --git a/demo/demolist/Demo0101.js b/demo/demolist/Demo0101.js index 1b01526..4989612 100644 --- a/demo/demolist/Demo0101.js +++ b/demo/demolist/Demo0101.js @@ -7,7 +7,6 @@ */ import React, { Component } from "react"; -import {Button,Tooltip} from "tinper-bee"; import Table from "../../src"; const columns = [ diff --git a/demo/demolist/Demo0602.js b/demo/demolist/Demo0602.js index f030877..3220044 100644 --- a/demo/demolist/Demo0602.js +++ b/demo/demolist/Demo0602.js @@ -18,6 +18,7 @@ const columns = [ dataIndex: "index", key: "index", width: 80, + fixed: 'left', render(text, record, index){return index + 1} }, { @@ -131,12 +132,48 @@ const data = [ confirmState_name:"终止", closeState_name:"已关闭", key: "3" - } + }, + { + orderCode:"NU0391025", + supplierName: "xx供应商", + type_name: "1", + purchasing:'组织c', + purchasingGroup:"aa", + voucherDate:"2018年03月18日", + approvalState_name:"已审批", + confirmState_name:"执行中", + closeState_name:"未关闭", + key: "4" + }, + { + orderCode:"NU0391026", + supplierName: "xx供应商", + type_name: "2", + purchasing:'组织a', + purchasingGroup:"bb", + voucherDate:"2018年02月05日", + approvalState_name:"已审批", + confirmState_name:"待确认", + closeState_name:"未关闭", + key: "5" + }, + { + orderCode:"NU0391027", + supplierName: "xx供应商", + type_name: "3", + purchasing:'组织b', + purchasingGroup:"aa", + voucherDate:"2018年07月01日", + approvalState_name:"已审批", + confirmState_name:"终止", + closeState_name:"已关闭", + key: "6" + } ]; class Demo52 extends Component { render() { - return ; + return
; } } diff --git a/demo/demolist/Demo1001.js b/demo/demolist/Demo1001.js index fb5f1b1..081b328 100644 --- a/demo/demolist/Demo1001.js +++ b/demo/demolist/Demo1001.js @@ -2,7 +2,7 @@ * * @title 拖拽改变列顺序 * @parent 列操作-拖拽 Drag -* @description 点击选择表头并左右拖拽,可以改变表格列顺序。onDrop方法是拖拽交换列后触发的回调函数。注意:固定列不可以交换。 +* @description 点击选择表头并左右拖拽,可以改变表格列顺序。 onDragEnd 方法是拖拽交换列后触发的回调函数。注意:固定列不可以交换。 * demo1001 */ import React, { Component } from 'react'; @@ -69,8 +69,16 @@ class Demo22 extends Component { columns={columns} data={data} bordered - draggable={true} + draggable={true} + onDrop ={(event,data,columns)=>{ + console.log("--拖拽交换列onDrop触发事件"); + console.log("event.target:",event.target); + console.log("data:",data); + console.log("拖拽完成后的columns:",columns); + }} + + onDragEnd ={(event,data,columns)=>{ console.log("--拖拽交换列后触发事件"); console.log("event.target:",event.target); console.log("data:",data); diff --git a/demo/demolist/Demo1101.js b/demo/demolist/Demo1101.js index 035647a..d74ee54 100644 --- a/demo/demolist/Demo1101.js +++ b/demo/demolist/Demo1101.js @@ -29,7 +29,7 @@ const columns16 = [ }, { title: "订单编号", dataIndex: "a", key: "a", width: 250 }, { id: "123", title: "单据日期", dataIndex: "b", key: "b", width: 100 }, - { title: "供应商", dataIndex: "c", key: "c", width: 200 }, + { title: "供应商", dataIndex: "c", key: "c", width: 200, fixed:'right' }, ]; const columns17 = [ diff --git a/demo/demolist/Demo1401.js b/demo/demolist/Demo1401.js index c029298..13349fc 100644 --- a/demo/demolist/Demo1401.js +++ b/demo/demolist/Demo1401.js @@ -64,16 +64,16 @@ class Demo30 extends Component { render() { return ( +
{ console.log('currentIndex--'+index); }} /> - - +
); } } diff --git a/demo/index.js b/demo/index.js index 260c1ed..4479636 100644 --- a/demo/index.js +++ b/demo/index.js @@ -8,7 +8,7 @@ import Button from '../src'; -var Demo0101 = require("./demolist/Demo0101");var Demo0102 = require("./demolist/Demo0102");var Demo0103 = require("./demolist/Demo0103");var Demo0104 = require("./demolist/Demo0104");var Demo0105 = require("./demolist/Demo0105");var Demo0106 = require("./demolist/Demo0106");var Demo0107 = require("./demolist/Demo0107");var Demo0201 = require("./demolist/Demo0201");var Demo0202 = require("./demolist/Demo0202");var Demo0301 = require("./demolist/Demo0301");var Demo0302 = require("./demolist/Demo0302");var Demo0402 = require("./demolist/Demo0402");var Demo0404 = require("./demolist/Demo0404");var Demo0405 = require("./demolist/Demo0405");var Demo0501 = require("./demolist/Demo0501");var Demo0502 = require("./demolist/Demo0502");var Demo0503 = require("./demolist/Demo0503");var Demo0505 = require("./demolist/Demo0505");var Demo0601 = require("./demolist/Demo0601");var Demo0602 = require("./demolist/Demo0602");var Demo0603 = require("./demolist/Demo0603");var Demo0701 = require("./demolist/Demo0701");var Demo0702 = require("./demolist/Demo0702");var Demo0802 = require("./demolist/Demo0802");var Demo0901 = require("./demolist/Demo0901");var Demo0902 = require("./demolist/Demo0902");var Demo0903 = require("./demolist/Demo0903");var Demo1001 = require("./demolist/Demo1001");var Demo1002 = require("./demolist/Demo1002");var Demo1101 = require("./demolist/Demo1101");var Demo1102 = require("./demolist/Demo1102");var Demo1103 = require("./demolist/Demo1103");var Demo1105 = require("./demolist/Demo1105");var Demo1106 = require("./demolist/Demo1106");var Demo1107 = require("./demolist/Demo1107");var Demo1108 = require("./demolist/Demo1108");var Demo1201 = require("./demolist/Demo1201");var Demo1301 = require("./demolist/Demo1301");var Demo1302 = require("./demolist/Demo1302");var Demo1401 = require("./demolist/Demo1401");var Demo1402 = require("./demolist/Demo1402");var Demo1403 = require("./demolist/Demo1403");var Demo1404 = require("./demolist/Demo1404");var Demo1601 = require("./demolist/Demo1601");var DemoArray = [{"example":,"title":" 基本表格","code":"/**\r\n*\r\n* @title 基本表格\r\n* @parent 基础 Basic\r\n* @description 单元格数据过长时,可结合Tooltip组件使用。\r\n* demo0101\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Button,Tooltip} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 150 },\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width:100},\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 100},\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 100 },\r\n { title: \"职级\", dataIndex: \"e\", key: \"e\", width: 100 }\r\n];\r\n\r\nconst data = [\r\n { a: \"ASVAL_20190328\", b: \"小张\", c: \"男\", d: \"财务二科\", e: \"M1\", key: \"1\" },\r\n { a: \"ASVAL_20190320\", b: \"小明\", c: \"男\", d: \"财务一科\", e: \"T1\", key: \"2\" },\r\n { a: \"ASVAL_20190312\", b: \"小红\", c: \"女\", d: \"财务一科\", e: \"T2\", key: \"3\" }\r\n];\r\n\r\nclass Demo0101 extends Component {\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 单元格数据过长时,可结合Tooltip组件使用。"},{"example":,"title":" 默认无数据展示","code":"/**\r\n*\r\n* @title 默认无数据展示\r\n* @parent 基础 Basic\r\n* @description 无数据时默认展示图标,可在`emptyText`方法中自定义展示内容。\r\n* demo0102\r\n*/\r\n\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n {\r\n title: \"员工编号\",\r\n dataIndex: \"num\",\r\n key: \"num\",\r\n width: \"40%\"\r\n },\r\n {\r\n title: \"员工姓名\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n width: \"30%\"\r\n },\r\n {\r\n title: \"部门\",\r\n dataIndex: \"department\",\r\n key: \"department\"\r\n }\r\n];\r\n \r\nconst data = [];\r\n\r\n// 在此自定义无数据时的展示内容\r\nconst emptyFunc = () => 'No Data';\r\n \r\nclass Demo02 extends Component {\r\n render() {\r\n return (\r\n
\r\n )\r\n }\r\n}\r\n\r\n","desc":" 无数据时默认展示图标,可在`emptyText`方法中自定义展示内容。"},{"example":,"title":" 固定表头","code":"/**\r\n*\r\n* @title 固定表头\r\n* @parent 基础 Basic\r\n* @description 设置`scroll.y`指定滚动区域的高度,达到固定表头效果。\r\n* demo0103\r\n*/\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns03 = [\r\n {\r\n title: \"序号\",\r\n dataIndex: \"index\",\r\n key: \"index\",\r\n width: 80, \r\n render(text, record, index) {\r\n return index + 1;\r\n }\r\n },\r\n {\r\n title: \"订单编号\",\r\n dataIndex: \"orderCode\",\r\n key: \"orderCode\",\r\n width: 200, \r\n },\r\n {\r\n title: \"供应商名称\",\r\n dataIndex: \"supplierName\",\r\n key: \"supplierName\",\r\n width: 200\r\n },\r\n {\r\n title: \"类型\",\r\n dataIndex: \"type_name\",\r\n key: \"type_name\",\r\n width: 200\r\n },\r\n {\r\n title: \"采购组织\",\r\n dataIndex: \"purchasing\",\r\n key: \"purchasing\",\r\n width: 200\r\n },\r\n {\r\n title: \"采购组\",\r\n dataIndex: \"purchasingGroup\",\r\n key: \"purchasingGroup\",\r\n width: 200\r\n },\r\n {\r\n title: \"凭证日期\",\r\n dataIndex: \"voucherDate\",\r\n key: \"voucherDate\",\r\n width: 200,\r\n }\r\n];\r\n\r\nconst data03 = [\r\n { \r\n orderCode:\"NU0391025\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年03月18日\",\r\n key: \"1\"\r\n }, \r\n { \r\n orderCode:\"NU0391026\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织a', \r\n purchasingGroup:\"bb\",\r\n voucherDate:\"2018年02月05日\",\r\n key: \"2\"\r\n },\r\n { \r\n orderCode:\"NU0391027\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织b', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年07月01日\",\r\n key: \"3\"\r\n },\r\n { \r\n orderCode:\"NU0391028\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"4\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"cc\",\r\n voucherDate:\"2019年03月01日\",\r\n key: \"4\"\r\n },\r\n { \r\n orderCode:\"NU0391029\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"5\",\r\n purchasing:'组织d', \r\n purchasingGroup:\"ss\",\r\n voucherDate:\"2019年02月14日\",\r\n key: \"5\"\r\n },\r\n { \r\n orderCode:\"NU0391030\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织e', \r\n purchasingGroup:\"zz\",\r\n voucherDate:\"2019年02月18日\",\r\n key: \"6\"\r\n },\r\n { \r\n orderCode:\"NU0391031\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织f', \r\n purchasingGroup:\"qq\",\r\n voucherDate:\"2019年01月01日\",\r\n key: \"7\"\r\n },\r\n { \r\n orderCode:\"NU0391032\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织g', \r\n purchasingGroup:\"pp\",\r\n voucherDate:\"2019年01月31日\",\r\n key: \"8\"\r\n },\r\n];\r\n\r\nclass Demo03 extends Component {\r\n render() {\r\n return
;\r\n }\r\n}\r\n\r\n","desc":" 设置`scroll.y`指定滚动区域的高度,达到固定表头效果。"},{"example":,"title":" 隔行换色","code":"/**\r\n*\r\n* @title 隔行换色\r\n* @parent 基础 Basic\r\n* @description 可自定义斑马线颜色\r\n* demo0104\r\n*/\r\n\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns04 = [\r\n {title: \"序号\",dataIndex: \"index\",key: \"index\",width: 80, \r\n render(text, record, index) {\r\n return index + 1;\r\n }\r\n },\r\n {title: \"订单编号\",dataIndex: \"orderCode\",key: \"orderCode\",width: 200},\r\n {title: \"供应商名称\",dataIndex: \"supplierName\",key: \"supplierName\",width: 200},\r\n {title: \"类型\",dataIndex: \"type_name\",key: \"type_name\",width: 200},\r\n {title: \"采购组织\",dataIndex: \"purchasing\",key: \"purchasing\",width: 200},\r\n {title: \"采购组\",dataIndex: \"purchasingGroup\",key: \"purchasingGroup\",width: 200},\r\n {title: \"凭证日期\",dataIndex: \"voucherDate\",key: \"voucherDate\",width: 200}\r\n];\r\n\r\nconst data04 = [\r\n { \r\n orderCode:\"NU0391025\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年03月18日\",\r\n key: \"1\"\r\n }, \r\n { \r\n orderCode:\"NU0391026\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织a', \r\n purchasingGroup:\"bb\",\r\n voucherDate:\"2018年02月05日\",\r\n key: \"2\"\r\n },\r\n { \r\n orderCode:\"NU0391027\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织b', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年07月01日\",\r\n key: \"3\"\r\n },\r\n { \r\n orderCode:\"NU0391028\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"4\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"cc\",\r\n voucherDate:\"2019年03月01日\",\r\n key: \"4\"\r\n },\r\n { \r\n orderCode:\"NU0391029\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"5\",\r\n purchasing:'组织d', \r\n purchasingGroup:\"ss\",\r\n voucherDate:\"2019年02月14日\",\r\n key: \"5\"\r\n },\r\n { \r\n orderCode:\"NU0391030\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织e', \r\n purchasingGroup:\"zz\",\r\n voucherDate:\"2019年02月18日\",\r\n key: \"6\"\r\n },\r\n { \r\n orderCode:\"NU0391031\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织f', \r\n purchasingGroup:\"qq\",\r\n voucherDate:\"2019年01月01日\",\r\n key: \"7\"\r\n },\r\n { \r\n orderCode:\"NU0391032\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织g', \r\n purchasingGroup:\"pp\",\r\n voucherDate:\"2019年01月31日\",\r\n key: \"8\"\r\n },\r\n];\r\n\r\nclass Demo04 extends Component {\r\n render() {\r\n return
\r\n }\r\n}\r\n\r\n","desc":" 可自定义斑马线颜色","scss_code":".demo04 {\r\n &.u-table tr:nth-child(2n){\r\n background: #f7f9fb;\r\n }\r\n &.u-table tr.u-table-row-hover, .u-table tr:hover{\r\n background: #ebecf0;\r\n }\r\n}"},{"example":,"title":" 表格 Loading 加载","code":"/**\r\n*\r\n* @title 表格 Loading 加载\r\n* @parent 基础 Basic\r\n* @description loading可以传boolean或者object对象,object为bee-loading组件的参数类型\r\n* demo0105\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport {Button,Tooltip} from \"tinper-bee\";\r\n\r\nconst columns05 = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 300, className: \"rowClassName\",fixed:'left'},\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width: 500 },\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 500 },\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 200 }\r\n];\r\n\r\nconst data05 = [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", key: \"1\" },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", key: \"2\" },\r\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", key: \"3\" }\r\n];\r\n\r\nclass Demo05 extends Component {\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n loading : true\r\n }\r\n }\r\n changeLoading = () => {\r\n this.setState({\r\n loading : !this.state.loading\r\n })\r\n }\r\n render() {\r\n return (\r\n
\r\n \r\n 切换loading\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" loading可以传boolean或者object对象,object为bee-loading组件的参数类型"},{"example":,"title":" 单元格内容居中","code":"/**\r\n*\r\n* @title 单元格内容居中\r\n* @parent 基础 Basic\r\n* @description 在columns数据中设置`textAlign:'center'`,可实现单元格内容居中展示的效果。默认是居左显示。\r\n* demo0106\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Button,Tooltip} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n {\r\n title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 120, className: \"rowClassName\",\r\n fixed:'left',\r\n textAlign:'center',\r\n render: (text, record, index) => {\r\n return (\r\n \r\n {text}\r\n \r\n );\r\n }\r\n },\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width:100,textAlign:'center'},\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 100,textAlign:'center'},\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 100,textAlign:'center' },\r\n { title: \"职级\", dataIndex: \"e\", key: \"e\", width: 100,textAlign:'center' }\r\n];\r\n\r\nconst data = [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", e: \"M1\", key: \"1\" },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", e: \"T1\", key: \"2\" },\r\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", e: \"T2\", key: \"3\" }\r\n];\r\n\r\nclass Demo06 extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: data\r\n }\r\n }\r\n handleClick = () => {\r\n console.log('这是第' , this.currentIndex , '行');\r\n console.log('内容:' , this.currentRecord);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 在columns数据中设置`textAlign:'center'`,可实现单元格内容居中展示的效果。默认是居左显示。"},{"example":,"title":" 带边框","code":"/**\r\n*\r\n* @title 带边框\r\n* @parent 基础 Basic\r\n* @description 设置 `bordered` 属性可添加表格边框线。\r\n* demo0107\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Button,Tooltip} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 150 },\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width:100},\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 100},\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 100 },\r\n { title: \"职级\", dataIndex: \"e\", key: \"e\", width: 100 }\r\n];\r\n\r\nconst data = [\r\n { a: \"ASVAL_20190328\", b: \"小张\", c: \"男\", d: \"财务二科\", e: \"M1\", key: \"1\" },\r\n { a: \"ASVAL_20190320\", b: \"小明\", c: \"男\", d: \"财务一科\", e: \"T1\", key: \"2\" },\r\n { a: \"ASVAL_20190312\", b: \"小红\", c: \"女\", d: \"财务一科\", e: \"T2\", key: \"3\" }\r\n];\r\n\r\nclass Demo06 extends Component {\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 设置 `bordered` 属性可添加表格边框线。"},{"example":,"title":" 横向滚动条","code":"/**\r\n*\r\n* @title 横向滚动条\r\n* @parent 滚动 Scroll View\r\n* @description `scroll.x`的值代表表体内容的实际宽度,默认情况下是根据各列宽度合计出来的。其值超过父元素的宽度时会自动出现滚动条。如设置 `scroll={{ x:1000 }}`,可以手动添加横向滚动条,也可以设置`scroll={{ x:\"110%\" }}`。\r\n* demo0201\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n {\r\n title: \"序号\",\r\n dataIndex: \"index\",\r\n key: \"index\",\r\n width: 100, \r\n render(text, record, index) {\r\n return index + 1;\r\n }\r\n },\r\n {\r\n title: \"订单编号\",\r\n dataIndex: \"orderCode\",\r\n key: \"orderCode\",\r\n width: 300, \r\n },\r\n {\r\n title: \"供应商名称\",\r\n dataIndex: \"supplierName\",\r\n key: \"supplierName\",\r\n width: 200\r\n },\r\n {\r\n title: \"类型\",\r\n dataIndex: \"type_name\",\r\n key: \"type_name\",\r\n width: 200\r\n },\r\n {\r\n title: \"采购组织\",\r\n dataIndex: \"purchasing\",\r\n key: \"purchasing\",\r\n width: 200\r\n },\r\n {\r\n title: \"采购组\",\r\n dataIndex: \"purchasingGroup\",\r\n key: \"purchasingGroup\",\r\n width: 200\r\n },\r\n {\r\n title: \"凭证日期\",\r\n dataIndex: \"voucherDate\",\r\n key: \"voucherDate\",\r\n width: 300,\r\n },\r\n {\r\n title: \"审批状态\",\r\n dataIndex: \"approvalState_name\",\r\n key: \"approvalState_name\",\r\n width: 200\r\n },\r\n {\r\n title: \"确认状态\",\r\n dataIndex: \"confirmState_name\",\r\n key: \"confirmState_name\",\r\n width: 200\r\n }, \r\n {\r\n title: \"关闭状态\",\r\n dataIndex: \"closeState_name\",\r\n key: \"closeState_name\",\r\n width: 100\r\n }\r\n];\r\n \r\nconst data = [\r\n { \r\n orderCode:\"NU0391025\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年03月18日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"执行中\",\r\n closeState_name:\"未关闭\",\r\n key: \"1\"\r\n }, \r\n { \r\n orderCode:\"NU0391026\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织a', \r\n purchasingGroup:\"bb\",\r\n voucherDate:\"2018年02月05日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"待确认\",\r\n closeState_name:\"未关闭\",\r\n key: \"2\"\r\n },\r\n { \r\n orderCode:\"NU0391027\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织b', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年07月01日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"终止\",\r\n closeState_name:\"已关闭\",\r\n key: \"3\"\r\n },\r\n { \r\n orderCode:\"NU0391028\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"4\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"cc\",\r\n voucherDate:\"2019年03月01日\",\r\n approvalState_name:\"未审批\",\r\n confirmState_name:\"待确认\",\r\n closeState_name:\"未关闭\",\r\n key: \"4\"\r\n },\r\n { \r\n orderCode:\"NU0391029\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"5\",\r\n purchasing:'组织d', \r\n purchasingGroup:\"ss\",\r\n voucherDate:\"2019年02月14日\",\r\n approvalState_name:\"未审批\",\r\n confirmState_name:\"待确认\",\r\n closeState_name:\"未关闭\",\r\n key: \"5\"\r\n }\r\n];\r\n\r\nclass Demo11 extends Component {\r\n render() {\r\n return (\r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" `scroll.x`的值代表表体内容的实际宽度,默认情况下是根据各列宽度合计出来的。其值超过父元素的宽度时会自动出现滚动条。如设置 `scroll={{ x:1000 }}`,可以手动添加横向滚动条,也可以设置`scroll={{ x:\"110%\" }}`。"},{"example":,"title":" 纵向滚动条","code":"/**\r\n*\r\n* @title 纵向滚动条\r\n* @parent 滚动 Scroll View\r\n* @description 通过设置 `scroll.y` 可达到固定表头的效果。如设置 `scroll={{ y:200 }}` 表示表体高度超出 200px 后会显示滚动条。\r\n* demo0202\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n {title: \"序号\",dataIndex: \"index\",key: \"index\",width: 80, \r\n render(text, record, index) {\r\n return index + 1;\r\n }\r\n },\r\n {title: \"订单编号\",dataIndex: \"orderCode\",key: \"orderCode\",width: 200},\r\n {title: \"供应商名称\",dataIndex: \"supplierName\",key: \"supplierName\",width: 200},\r\n {title: \"类型\",dataIndex: \"type_name\",key: \"type_name\",width: 200},\r\n {title: \"采购组织\",dataIndex: \"purchasing\",key: \"purchasing\",width: 200},\r\n {title: \"采购组\",dataIndex: \"purchasingGroup\",key: \"purchasingGroup\",width: 200},\r\n {title: \"凭证日期\",dataIndex: \"voucherDate\",key: \"voucherDate\",width: 200}\r\n];\r\n \r\nconst data = [\r\n { \r\n orderCode:\"NU0391025\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年03月18日\",\r\n key: \"1\"\r\n }, \r\n { \r\n orderCode:\"NU0391026\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织a', \r\n purchasingGroup:\"bb\",\r\n voucherDate:\"2018年02月05日\",\r\n key: \"2\"\r\n },\r\n { \r\n orderCode:\"NU0391027\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织b', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年07月01日\",\r\n key: \"3\"\r\n },\r\n { \r\n orderCode:\"NU0391028\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"4\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"cc\",\r\n voucherDate:\"2019年03月01日\",\r\n key: \"4\"\r\n },\r\n { \r\n orderCode:\"NU0391029\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"5\",\r\n purchasing:'组织d', \r\n purchasingGroup:\"ss\",\r\n voucherDate:\"2019年02月14日\",\r\n key: \"5\"\r\n },\r\n { \r\n orderCode:\"NU0391030\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织e', \r\n purchasingGroup:\"zz\",\r\n voucherDate:\"2019年02月18日\",\r\n key: \"6\"\r\n },\r\n { \r\n orderCode:\"NU0391031\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织f', \r\n purchasingGroup:\"qq\",\r\n voucherDate:\"2019年01月01日\",\r\n key: \"7\"\r\n },\r\n { \r\n orderCode:\"NU0391032\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织g', \r\n purchasingGroup:\"pp\",\r\n voucherDate:\"2019年01月31日\",\r\n key: \"8\"\r\n },\r\n];\r\nclass Demo12 extends Component {\r\n render() {\r\n return (\r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 通过设置 `scroll.y` 可达到固定表头的效果。如设置 `scroll={{ y:200 }}` 表示表体高度超出 200px 后会显示滚动条。"},{"example":,"title":" 渲染本地数据","code":"/**\r\n*\r\n* @title 渲染本地数据\r\n* @parent 数据操作 Data Opetation\r\n* @description 可自定义页头和页脚。\r\n* demo0301\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Button,Tooltip} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n {\r\n title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 300, className: \"rowClassName\",\r\n fixed:'left',\r\n render: (text, record, index) => {\r\n return (\r\n \r\n {text}\r\n \r\n );\r\n }\r\n },\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width: 500 },\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 500 },\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 200 }\r\n];\r\n\r\nconst data = [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", key: \"1\" },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", key: \"2\" },\r\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", key: \"3\" }\r\n];\r\nclass Demo21 extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: data\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
员工信息统计表
}\r\n footer={currentData =>
合计: 共{data.length}条数据
}\r\n />\r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 可自定义页头和页脚。"},{"example":,"title":" 渲染远程数据","code":"/**\r\n*\r\n* @title 渲染远程数据\r\n* @parent 数据操作 Data Opetation\r\n* @description 可通过 ajax 请求方式,从服务端读取并展现数据。也可自行接入其他数据处理方式。\r\n* demo0302\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Button} from \"tinper-bee\";\r\nimport reqwest from 'reqwest';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [{\r\n title: 'Name',\r\n dataIndex: 'name',\r\n sorter: true,\r\n render: name => `${name.first} ${name.last}`,\r\n width: '20%',\r\n}, {\r\n title: 'Gender',\r\n dataIndex: 'gender',\r\n filters: [\r\n { text: 'Male', value: 'male' },\r\n { text: 'Female', value: 'female' },\r\n ],\r\n width: '20%',\r\n}, {\r\n title: 'Email',\r\n dataIndex: 'email',\r\n}];\r\n\r\nclass Demo22 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: [],\r\n loading: false,\r\n }\r\n }\r\n\r\n fetch = (params = {}) => {\r\n console.log('params:', params);\r\n this.setState({ loading: true });\r\n reqwest({\r\n url: 'https://randomuser.me/api',\r\n method: 'get',\r\n data: {\r\n results: 10,\r\n ...params,\r\n },\r\n type: 'json',\r\n }).then((data) => {\r\n this.setState({\r\n loading: false,\r\n data: data.results,\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 可通过 ajax 请求方式,从服务端读取并展现数据。也可自行接入其他数据处理方式。","scss_code":".demo22{\r\n .opt-btns{\r\n margin-bottom: 8px;\r\n }\r\n}"},{"example":,"title":" 多列表头","code":"/**\r\n *\r\n * @title 多列表头\r\n * @parent 列渲染 Custom Render\r\n * @description columns[n] 可以内嵌 children,以渲染分组表头。\r\n * 自定义表头高度需要传headerHeight,注:修改th的padding top和bottom置为0,否则会有影响\r\n * demo0402\r\n */\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport {Button} from \"tinper-bee\";\r\n\r\nconst { ColumnGroup, Column } = Table;\r\n\r\nconst columns = [\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n width: 100,\r\n fixed: \"left\"\r\n },\r\n {\r\n title: \"Other\",\r\n width:600,\r\n children: [\r\n {\r\n title: \"Age\",\r\n dataIndex: \"age\",\r\n key: \"age\",\r\n width: 200\r\n },\r\n {\r\n title: \"Address\",\r\n children: [\r\n {\r\n title: \"Street\",\r\n dataIndex: \"street\",\r\n key: \"street\",\r\n width: 200\r\n },\r\n {\r\n title: \"Block\",\r\n children: [\r\n {\r\n title: \"Building\",\r\n dataIndex: \"building\",\r\n key: \"building\",\r\n width: 100\r\n },\r\n {\r\n title: \"Door No.\",\r\n dataIndex: \"number\",\r\n key: \"number\",\r\n width: 100\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n title: \"Company\",\r\n width:400,\r\n children: [\r\n {\r\n title: \"Company Address\",\r\n dataIndex: \"companyAddress\",\r\n key: \"companyAddress\",\r\n width:200,\r\n },\r\n {\r\n title: \"Company Name\",\r\n dataIndex: \"companyName\",\r\n key: \"companyName\",\r\n width:200,\r\n }\r\n ]\r\n },\r\n {\r\n title: \"Gender\",\r\n dataIndex: \"gender\",\r\n key: \"gender\",\r\n width: 60,\r\n fixed: \"right\"\r\n }\r\n];\r\n\r\nconst data = [];\r\nfor (let i = 0; i < 20; i++) {\r\n data.push({\r\n key: i,\r\n name: \"John Brown\",\r\n age: i + 1,\r\n street: \"Lake Park\",\r\n building: \"C\",\r\n number: 2035,\r\n companyAddress: \"Lake Street 42\",\r\n companyName: \"SoftLake Co\",\r\n gender: \"M\"\r\n });\r\n}\r\n\r\nclass Demo32 extends Component {\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" columns[n] 可以内嵌 children,以渲染分组表头。","scss_code":".demo32{\r\n .u-table-thead th {\r\n padding-top: 0px;\r\n padding-bottom: 0px;\r\n }\r\n}"},{"example":,"title":" 数据关联","code":"/**\r\n*\r\n* @title 数据关联\r\n* @parent 列渲染 Custom Render\r\n* @description 数据行关联自定义菜单显示\r\n* demo0404\r\n*/\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport {Icon,Checkbox,Dropdown,Menu} from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport multiSelect from \"tinper-bee/lib/newMultiSelect\";;\r\nimport sort from \"tinper-bee/lib/sort\";;\r\n\r\nconst { Item } = Menu;\r\n\r\nconst data = [\r\n { \r\n num:\"NU0391025\", \r\n name: \"aa\",\r\n sex: \"男\",\r\n dept:'财务二科', \r\n rank:\"T1\",\r\n year:\"1\",\r\n seniority:\"1\",\r\n key: \"1\"\r\n }, \r\n { \r\n num:\"NU0391026\", \r\n name: \"bb\",\r\n sex: \"女\",\r\n dept:'财务一科', \r\n rank:\"M1\",\r\n year:\"1\",\r\n seniority:\"1\",\r\n key: \"2\"\r\n },\r\n { \r\n num:\"NU0391027\", \r\n name: \"dd\",\r\n sex: \"女\",\r\n dept:'财务一科', \r\n rank:\"T2\",\r\n year:\"2\",\r\n seniority:\"2\",\r\n key: \"3\"\r\n }\r\n];\r\n\r\nconst MultiSelectTable = multiSelect(Table, Checkbox);\r\nconst ComplexTable = sort(MultiSelectTable, Icon);\r\n\r\nclass Demo33 extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n getSelectedDataFunc = data => {\r\n console.log(data);\r\n }\r\n onSelect = (item) => {\r\n console.log(item);\r\n }\r\n render() {\r\n const menu1 = (\r\n \r\n 模态弹出\r\n 链接跳转\r\n 打开新页\r\n );\r\n let columns = [\r\n { title: \"关联\",dataIndex: \"link\",key: \"link\",width: 80, \r\n render: (text, record, index) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n },\r\n { title: \"员工编号\",dataIndex: \"num\",key: \"num\",width: 200 },\r\n { title: \"员工姓名\",dataIndex: \"name\",key: \"name\", width: 200},\r\n { title: \"员工性别\",dataIndex: \"sex\",key: \"sex\",width: 200 },\r\n { title: \"部门\",dataIndex: \"dept\",key: \"dept\",width: 200},\r\n { title: \"职级\",dataIndex: \"rank\",key: \"rank\",width: 200},\r\n { title: \"工龄\",dataIndex: \"year\",key: \"year\",width: 200},\r\n { title: \"司龄\",dataIndex: \"seniority\",key: \"seniority\",width: 200}\r\n ];\r\n return \r\n }\r\n}\r\n\r\n","desc":" 数据行关联自定义菜单显示"},{"example":,"title":" 列合计(总计)","code":"/**\r\n *\r\n * @title 列合计(总计)\r\n * @parent 列渲染 Custom Render\r\n * @description 给需要计算合计的列(columns),设置sumCol值为true即可,支持动态设置数据源。\r\n * demo0405\r\n */\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Checkbox} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";; \r\nimport sum from \"tinper-bee/lib/sum.js\";;\r\nimport multiSelect from \"tinper-bee/lib/multiSelect.js\";;\r\n \r\nlet ComplexTable = multiSelect(sum(Table), Checkbox);\r\nlet _sum = 0;\r\nconst columns = [\r\n {\r\n title: \"单据编号\",\r\n dataIndex: \"num\",\r\n key: \"num\",\r\n width: 120,\r\n fixed: \"left\"\r\n },\r\n {\r\n title: \"单据日期\",\r\n dataIndex: \"date\",\r\n key: \"date\",\r\n width: 200,\r\n },\r\n {\r\n title: \"业务类型\",\r\n dataIndex: \"type\",\r\n key: \"type\",\r\n width: 200\r\n },\r\n {\r\n title: \"供应商\",\r\n dataIndex: \"supplier\",\r\n key: \"supplier\",\r\n width: 100\r\n },\r\n {\r\n title: \"联系人\",\r\n dataIndex: \"contact\",\r\n key: \"contact\",\r\n },\r\n {\r\n title: \"仓库\",\r\n dataIndex: \"warehouse\",\r\n key: \"warehouse\",\r\n width: 80,\r\n },\r\n {\r\n title: \"整单数量\",\r\n dataIndex: \"total\",\r\n key: \"total\",\r\n width: 100,\r\n sumCol: true\r\n },\r\n {\r\n title: \"金额\",\r\n dataIndex: \"money\",\r\n key: \"money\",\r\n width: 100,\r\n sumCol: true\r\n }\r\n];\r\n\r\nfunction getData(){\r\n const data = [];\r\n for (let i = 0; i < 5; i++) {\r\n data.push({\r\n key: i,\r\n num: \"NU039100\"+i,\r\n date: \"2019-03-01\",\r\n type: \"普通采购\",\r\n supplier: \"gys\"+i,\r\n contact: \"Tom\",\r\n warehouse: \"普通仓\",\r\n total: i + Math.floor(Math.random()*10),\r\n money: 20 * Math.floor(Math.random()*10)\r\n });\r\n _sum += data[i].total;\r\n _sum += data[i].money;\r\n }\r\n return data;\r\n}\r\n\r\nclass Demo35 extends Component {\r\n \r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: getData(),\r\n sum:_sum\r\n };\r\n }\r\n\r\n render() {\r\n const {data} = this.state;\r\n return (\r\n
\r\n
总计: {_sum}
}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n\r\n","desc":" 给需要计算合计的列(columns),设置sumCol值为true即可,支持动态设置数据源。"},{"example":,"title":" 行内编辑","code":"/**\r\n *\r\n * @title 行内编辑\r\n * @parent 编辑 Editor\r\n * @description 可以对行进行编辑的表格\r\n * demo0501\r\n */\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport { Select, Form, FormControl, Button, Icon, Tooltip } from \"tinper-bee\";\r\nconst Option = Select.Option;\r\nimport { RefTreeWithInput } from \"ref-tree\";\r\n\r\nclass StringEditCell extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.state = {\r\n value: props.value\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (!nextProps.editable) {\r\n this.setState({ value: nextProps.value });\r\n }\r\n }\r\n\r\n handleChange = value => {\r\n const { onChange, throwError } = this.props;\r\n if (value === \"\") {\r\n throwError && throwError(true);\r\n } else {\r\n throwError && throwError(false);\r\n }\r\n this.setState({ value });\r\n onChange && onChange(value);\r\n };\r\n\r\n render() {\r\n const { editable, required, colName } = this.props;\r\n const { value } = this.state;\r\n let cls = \"editable-cell-input-wrapper\";\r\n if (required) cls += \" required\";\r\n if (value === \"\") cls += \" verify-cell\";\r\n return editable ? (\r\n
\r\n
\r\n \r\n \r\n {value === \"\" ? (\r\n {\"请输入\" + colName}
}\r\n >\r\n \r\n \r\n ) : null}\r\n \r\n
\r\n \r\n ) : (\r\n value || \" \"\r\n );\r\n }\r\n}\r\n\r\nconst SELECT_SOURCE = [\"男\", \"女\"];\r\n\r\nclass SelectEditCell extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.state = {\r\n value: props.value\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (!nextProps.editable) {\r\n this.setState({ value: nextProps.value });\r\n }\r\n }\r\n\r\n handleSelect = value => {\r\n this.setState({ value });\r\n this.props.onChange && this.props.onChange(value);\r\n };\r\n\r\n render() {\r\n const { editable } = this.props;\r\n const { value } = this.state;\r\n let cls = \"editable-cell-input-wrapper\";\r\n return editable ? (\r\n
\r\n
\r\n \r\n
\r\n
\r\n ) : (\r\n value || \" \"\r\n );\r\n }\r\n}\r\n\r\nconst option = {\r\n title: \"树\",\r\n searchable: true,\r\n multiple: false,\r\n param: {\r\n refCode: \"neworganizition_tree\"\r\n },\r\n checkStrictly: true,\r\n disabled: false,\r\n nodeDisplay: record => {\r\n return record.refname;\r\n },\r\n displayField: record => {\r\n return record.refname;\r\n }, //显示内容的键\r\n valueField: \"refpk\", //真实 value 的键\r\n refModelUrl: {\r\n treeUrl: \"https://mock.yonyoucloud.com/mock/358/blobRefTree\",\r\n treeUrl: \"/pap_basedoc/common-ref/blobRefTree\"\r\n },\r\n matchUrl: \"/pap_basedoc/common-ref/matchPKRefJSON\",\r\n filterUrl: \"/pap_basedoc/common-ref/filterRefJSON\",\r\n lazyModal: false,\r\n strictMode: true,\r\n lang: \"zh_CN\",\r\n treeData: [\r\n {\r\n code: \"org1\",\r\n children: [\r\n {\r\n code: \"bj\",\r\n entityType: \"mainEntity\",\r\n name: \"北京总部-简\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"bj\",\r\n refpk: \"5305416e-e7b4-4051-90bd-12d12942295b\",\r\n id: \"5305416e-e7b4-4051-90bd-12d12942295b\",\r\n isLeaf: \"true\",\r\n refname: \"北京总部-简\"\r\n },\r\n {\r\n code: \"xd\",\r\n entityType: \"mainEntity\",\r\n name: \"新道-简\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"xd\",\r\n refpk: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\r\n id: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\r\n isLeaf: \"true\",\r\n refname: \"新道-简\"\r\n },\r\n {\r\n code: \"yy3\",\r\n entityType: \"mainEntity\",\r\n name: \"test3\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"yy3\",\r\n refpk: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\r\n id: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\r\n isLeaf: \"true\",\r\n refname: \"test3\"\r\n },\r\n {\r\n code: \"yy1\",\r\n entityType: \"mainEntity\",\r\n name: \"test1\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"yy1\",\r\n refpk: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\r\n id: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\r\n isLeaf: \"true\",\r\n refname: \"test1\"\r\n },\r\n {\r\n code: \"dept2\",\r\n children: [\r\n {\r\n code: \"cs\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"测试部-简\",\r\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refcode: \"cs\",\r\n refpk: \"cc43a66a-438d-4106-937f-bec44406f771\",\r\n id: \"cc43a66a-438d-4106-937f-bec44406f771\",\r\n isLeaf: \"true\",\r\n refname: \"测试部-简\"\r\n },\r\n {\r\n code: \"qd\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"前端部-简\",\r\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refcode: \"qd\",\r\n refpk: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\r\n id: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\r\n isLeaf: \"true\",\r\n refname: \"前端部-简\"\r\n }\r\n ],\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"生产处\",\r\n refcode: \"dept2\",\r\n refpk: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n id: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refname: \"生产处\"\r\n },\r\n {\r\n code: \"dept1\",\r\n children: [\r\n {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n {\r\n code: \"dept1_1\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务一科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_1\",\r\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n isLeaf: \"true\",\r\n refname: \"财务一科\"\r\n }\r\n ],\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务处\",\r\n refcode: \"dept1\",\r\n refpk: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n id: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refname: \"财务处\"\r\n }\r\n ],\r\n entityType: \"mainEntity\",\r\n name: \"用友集团\",\r\n refcode: \"org1\",\r\n refpk: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refname: \"用友集团\"\r\n }\r\n ]\r\n};\r\n\r\nconst RefEditCell = Form.createForm()(\r\n class RefComponentWarpper extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.state = {\r\n value: props.value\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (!nextProps.editable) {\r\n this.setState({ value: nextProps.value });\r\n }\r\n }\r\n\r\n handleSelect = values => {\r\n this.setState({ value: values[0] });\r\n this.props.onChange && this.props.onChange(values[0]);\r\n };\r\n\r\n render() {\r\n const { getFieldProps, getFieldError } = this.props.form;\r\n const { editable, required } = this.props;\r\n const { value } = this.state;\r\n let cls = \"editable-cell-input-wrapper\";\r\n if (required) cls += \" required\";\r\n if (getFieldError(\"refValue\")) cls += \" verify-cell\";\r\n return editable ? (\r\n
\r\n \r\n {\"请输入\" + this.props.colName}\r\n
\r\n }\r\n >\r\n \r\n \r\n ),\r\n pattern: /[^{\"refname\":\"\",\"refpk\":\"\"}|{\"refpk\":\"\",\"refname\":\"\"}]/\r\n }\r\n ]\r\n })}\r\n />\r\n {getFieldError(\"refValue\")}\r\n \r\n ) : (\r\n value.name || \" \"\r\n );\r\n }\r\n }\r\n);\r\n\r\nlet dataSource = [\r\n {\r\n a: \"ASVAL_201903280005\",\r\n b: \"小张\",\r\n c: \"男\",\r\n d: {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n key: \"1\"\r\n },\r\n {\r\n a: \"ASVAL_201903200004\",\r\n b: \"小明\",\r\n c: \"男\",\r\n d: {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n key: \"2\"\r\n },\r\n {\r\n a: \"ASVAL_201903120002\",\r\n b: \"小红\",\r\n c: \"女\",\r\n d: {\r\n code: \"dept1_1\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务一科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_1\",\r\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n isLeaf: \"true\",\r\n refname: \"财务一科\"\r\n },\r\n key: \"3\"\r\n }\r\n];\r\n\r\nclass Demo0501 extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.state = {\r\n dataSource: dataSource,\r\n editingRowsMap: {},\r\n currentIndex: null,\r\n errorEditFlag: false\r\n };\r\n\r\n this.columns = [\r\n {\r\n title: \"员工编号\",\r\n dataIndex: \"a\",\r\n key: \"a\"\r\n },\r\n {\r\n title: \"名字\",\r\n dataIndex: \"b\",\r\n key: \"b\",\r\n render: (text, record, index) => (\r\n \r\n )\r\n },\r\n {\r\n title: \"性别\",\r\n dataIndex: \"c\",\r\n key: \"c\",\r\n width: 100,\r\n render: (text, record, index) => (\r\n \r\n )\r\n },\r\n {\r\n title: \"部门\",\r\n dataIndex: \"d\",\r\n key: \"d\",\r\n width: 215,\r\n render: (text, record, index) => (\r\n \r\n )\r\n },\r\n // 只是用来占位占宽度的\r\n {\r\n key: \"placeholder\"\r\n }\r\n ];\r\n\r\n this.state = {\r\n dataSource: dataSource,\r\n editingRowsMap: {},\r\n currentIndex: null,\r\n errorEditFlag: false\r\n };\r\n\r\n this.dataBuffer = {};\r\n }\r\n\r\n edit = index => () => {\r\n if (index === null) return;\r\n let editingRowsMap = { ...this.state.editingRowsMap };\r\n editingRowsMap[index] = index.toString();\r\n // 最好使用深复制\r\n this.dataBuffer[index] = { ...this.state.dataSource[index] };\r\n this.setState({ editingRowsMap });\r\n };\r\n\r\n abortEdit = index => () => {\r\n let editingRowsMap = { ...this.state.editingRowsMap };\r\n delete editingRowsMap[index];\r\n delete this.dataBuffer[index];\r\n this.setState({ editingRowsMap });\r\n };\r\n\r\n delete = index => () => {\r\n if (index === null) return;\r\n let { dataSource } = this.state;\r\n dataSource.splice(index,1);\r\n this.setState({\r\n dataSource:dataSource\r\n });\r\n }\r\n\r\n commitChange = index => () => {\r\n if (this.state.errorEditFlag) return;\r\n let editingRowsMap = { ...this.state.editingRowsMap };\r\n delete editingRowsMap[index];\r\n let dataSource = [...this.state.dataSource];\r\n dataSource[index] = { ...this.dataBuffer[index] };\r\n this.setState({ editingRowsMap, dataSource });\r\n };\r\n\r\n onCellChange = (index, key) => value => {\r\n this.dataBuffer[index][key] = value;\r\n };\r\n\r\n throwError = isError => {\r\n if (isError !== this.state.errorEditFlag)\r\n this.setState({ errorEditFlag: isError });\r\n };\r\n\r\n handleRowHover = (index, record) => {\r\n this.currentRecord = record;\r\n this.setState({ currentIndex: index });\r\n };\r\n\r\n renderRowHover = () => {\r\n const { currentIndex } = this.state;\r\n return this.state.editingRowsMap[currentIndex] ? (\r\n
\r\n \r\n 取消\r\n \r\n \r\n
\r\n ) : (\r\n
\r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n render() {\r\n const { dataSource } = this.state;\r\n const columns = this.columns;\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 可以对行进行编辑的表格","scss_code":".demo0501 .u-table {\r\n .u-row-hover {\r\n .opt-btns,.cancel-btns {\r\n button {\r\n margin: 0;\r\n &:first-child {\r\n margin-right: 8px;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .u-table-row {\r\n td {\r\n padding: 5px 8px;\r\n\r\n input {\r\n font-size: 12px;\r\n padding-left: 5px;\r\n }\r\n }\r\n\r\n .u-form-control,\r\n .u-select-selection {\r\n height: 30px;\r\n }\r\n }\r\n\r\n .editable-cell-text-wrapper {\r\n box-sizing: border-box;\r\n line-height: 20px;\r\n border-radius: 3px;\r\n }\r\n\r\n .required {\r\n margin-left: 10px;\r\n position: relative;\r\n\r\n &::before {\r\n content: \" \";\r\n border: 1px solid #F44336;\r\n width: 0;\r\n height: 12px;\r\n position: absolute;\r\n top: 9px;\r\n left: -8px;\r\n }\r\n\r\n span.u-input-group {\r\n display: block\r\n }\r\n }\r\n .verify-cell {\r\n padding-right: 25px !important;\r\n }\r\n\r\n .required-icon {\r\n position: absolute;\r\n top: 2px;\r\n color: #F44336;\r\n font-size: 20px;\r\n }\r\n\r\n .ref-input-wrap {\r\n width: 160px !important;\r\n }\r\n}\r\n\r\n.u-editable-table-tp {\r\n .tp-content {\r\n color: #F44336;\r\n }\r\n}"},{"example":,"title":" 单元格编辑","code":"/**\r\n *\r\n * @title 单元格编辑\r\n * @parent 编辑 Editor\r\n * @description 可以对单元格进行编辑的表格,示例中给出输入框、下拉框、参照的编辑模式,以及两类校验。(通过对 coloums 配置 render 属性实现渲染不同格式的编辑态单元格)\r\n * demo0502\r\n */\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport { Icon, Select, Tooltip, Form } from \"tinper-bee\";\r\nconst Option = Select.Option;\r\nimport { RefTreeWithInput } from \"ref-tree\";\r\n\r\nclass StringEditCell extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.state = {\r\n value: this.props.value,\r\n editable: false\r\n };\r\n this.editWarp = React.createRef();\r\n }\r\n\r\n commitChange = () => {\r\n if (this.state.value === \"\") return;\r\n this.setState({ editable: false });\r\n if (this.props.onChange) {\r\n this.props.onChange(this.state.value);\r\n }\r\n };\r\n\r\n edit = () => {\r\n this.setState({ editable: true });\r\n };\r\n\r\n handleKeydown = event => {\r\n if (event.keyCode == 13) {\r\n this.commitChange();\r\n }\r\n };\r\n\r\n handleChange = e => {\r\n if (e.target.value === \"\") this.editWarp.className += \" verify-cell\";\r\n this.setState({ value: e.target.value });\r\n };\r\n\r\n render() {\r\n const { value, editable } = this.state;\r\n return (\r\n
\r\n {editable ? (\r\n
this.editWarp = el} className=\"editable-cell-input-wrapper\">\r\n \r\n {value === \"\" ? (\r\n \r\n {\"请输入\" + this.props.colName}\r\n
\r\n }\r\n >\r\n \r\n \r\n ) : null}\r\n
\r\n ) : (\r\n
\r\n {value || \" \"}\r\n
\r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst SELECT_SOURCE = [\"男\", \"女\"];\r\n\r\nclass SelectEditCell extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.state = {\r\n value: this.props.value,\r\n editable: false\r\n };\r\n }\r\n\r\n handleSelect = value => {\r\n this.setState({ value });\r\n };\r\n\r\n commitChange = () => {\r\n this.setState({ editable: false });\r\n if (this.props.onChange) {\r\n this.props.onChange(this.state.value);\r\n }\r\n };\r\n\r\n edit = () => {\r\n this.setState({ editable: true });\r\n };\r\n\r\n render() {\r\n const { value, editable } = this.state;\r\n return (\r\n
\r\n {editable ? (\r\n
\r\n \r\n {SELECT_SOURCE.map((item, index) => (\r\n \r\n ))}\r\n \r\n
\r\n ) : (\r\n
\r\n {value || \" \"}\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst option = {\r\n title: \"树\",\r\n searchable: true,\r\n multiple: false,\r\n param: {\r\n refCode: \"neworganizition_tree\"\r\n },\r\n checkStrictly: true,\r\n disabled: false,\r\n nodeDisplay: record => {\r\n return record.refname;\r\n },\r\n displayField: record => {\r\n return record.refname;\r\n }, //显示内容的键\r\n valueField: \"refpk\", //真实 value 的键\r\n refModelUrl: {\r\n treeUrl: \"https://mock.yonyoucloud.com/mock/358/blobRefTree\",\r\n treeUrl: \"/pap_basedoc/common-ref/blobRefTree\"\r\n },\r\n matchUrl: \"/pap_basedoc/common-ref/matchPKRefJSON\",\r\n filterUrl: \"/pap_basedoc/common-ref/filterRefJSON\",\r\n lazyModal: false,\r\n strictMode: true,\r\n lang: \"zh_CN\",\r\n treeData: [\r\n {\r\n code: \"org1\",\r\n children: [\r\n {\r\n code: \"bj\",\r\n entityType: \"mainEntity\",\r\n name: \"北京总部-简\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"bj\",\r\n refpk: \"5305416e-e7b4-4051-90bd-12d12942295b\",\r\n id: \"5305416e-e7b4-4051-90bd-12d12942295b\",\r\n isLeaf: \"true\",\r\n refname: \"北京总部-简\"\r\n },\r\n {\r\n code: \"xd\",\r\n entityType: \"mainEntity\",\r\n name: \"新道-简\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"xd\",\r\n refpk: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\r\n id: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\r\n isLeaf: \"true\",\r\n refname: \"新道-简\"\r\n },\r\n {\r\n code: \"yy3\",\r\n entityType: \"mainEntity\",\r\n name: \"test3\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"yy3\",\r\n refpk: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\r\n id: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\r\n isLeaf: \"true\",\r\n refname: \"test3\"\r\n },\r\n {\r\n code: \"yy1\",\r\n entityType: \"mainEntity\",\r\n name: \"test1\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"yy1\",\r\n refpk: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\r\n id: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\r\n isLeaf: \"true\",\r\n refname: \"test1\"\r\n },\r\n {\r\n code: \"dept2\",\r\n children: [\r\n {\r\n code: \"cs\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"测试部-简\",\r\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refcode: \"cs\",\r\n refpk: \"cc43a66a-438d-4106-937f-bec44406f771\",\r\n id: \"cc43a66a-438d-4106-937f-bec44406f771\",\r\n isLeaf: \"true\",\r\n refname: \"测试部-简\"\r\n },\r\n {\r\n code: \"qd\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"前端部-简\",\r\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refcode: \"qd\",\r\n refpk: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\r\n id: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\r\n isLeaf: \"true\",\r\n refname: \"前端部-简\"\r\n }\r\n ],\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"生产处\",\r\n refcode: \"dept2\",\r\n refpk: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n id: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refname: \"生产处\"\r\n },\r\n {\r\n code: \"dept1\",\r\n children: [\r\n {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n {\r\n code: \"dept1_1\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务一科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_1\",\r\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n isLeaf: \"true\",\r\n refname: \"财务一科\"\r\n }\r\n ],\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务处\",\r\n refcode: \"dept1\",\r\n refpk: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n id: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refname: \"财务处\"\r\n }\r\n ],\r\n entityType: \"mainEntity\",\r\n name: \"用友集团\",\r\n refcode: \"org1\",\r\n refpk: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refname: \"用友集团\"\r\n }\r\n ]\r\n};\r\n\r\nconst RefEditCell = Form.createForm()(\r\n class RefComponentWarpper extends Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n value: this.props.value.d,\r\n editable: false\r\n };\r\n this.refWarp = React.createRef();\r\n }\r\n\r\n edit = () => {\r\n this.setState({ editable: true }, () => this.refWarp.focus());\r\n };\r\n\r\n handleSelect = values => {\r\n this.setState({ value: values[0] });\r\n };\r\n\r\n commitChange = () => {\r\n this.setState({ editable: false });\r\n if (this.props.onChange) {\r\n this.props.onChange(this.state.value);\r\n }\r\n };\r\n\r\n onRefBlur = e => {\r\n // 消除点击子组件,父组件先失焦再聚焦的事件触发过程带来的副作用\r\n const __REF_CONTENT__ = document.querySelector(\"div.ref-core-modal\");\r\n if (!__REF_CONTENT__ && e.target === this.refWarp) {\r\n this.commitChange();\r\n }\r\n };\r\n\r\n render() {\r\n const { getFieldProps, getFieldError } = this.props.form;\r\n const { value, editable } = this.state;\r\n return editable ? (\r\n (this.refWarp = el)}\r\n className=\"editable-cell-input-wrapper\"\r\n tabIndex={-1}\r\n onBlur={this.onRefBlur}\r\n >\r\n \r\n \r\n {getFieldError(\"code1\")}\r\n \r\n \r\n ) : (\r\n
\r\n {value.name || \" \"}\r\n
\r\n );\r\n }\r\n }\r\n);\r\n\r\nconst dataSource = [\r\n {\r\n a: \"ASVAL_201903280005\",\r\n b: \"小张\",\r\n c: \"男\",\r\n d: {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n key: \"1\"\r\n },\r\n {\r\n a: \"ASVAL_201903200004\",\r\n b: \"小明\",\r\n c: \"男\",\r\n d: {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n key: \"2\"\r\n },\r\n {\r\n a: \"ASVAL_201903120002\",\r\n b: \"小红\",\r\n c: \"女\",\r\n d: {\r\n code: \"dept1_1\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务一科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_1\",\r\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n isLeaf: \"true\",\r\n refname: \"财务一科\"\r\n },\r\n key: \"3\"\r\n }\r\n];\r\n\r\nclass Demo0502 extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.columns = [\r\n {\r\n title: \"员工编号\",\r\n dataIndex: \"a\",\r\n key: \"a\"\r\n },\r\n {\r\n title: \"名字\",\r\n dataIndex: \"b\",\r\n key: \"b\",\r\n render: (text, record, index) => (\r\n \r\n )\r\n },\r\n {\r\n title: \"性别\",\r\n dataIndex: \"c\",\r\n key: \"c\",\r\n width: 100,\r\n render: (text, record, index) => (\r\n \r\n )\r\n },\r\n {\r\n title: \"部门\",\r\n dataIndex: \"d\",\r\n key: \"d\",\r\n width: 215,\r\n render: (text, record, index) => (\r\n \r\n )\r\n },\r\n {\r\n key: \"placeholder\"\r\n }\r\n ];\r\n\r\n this.state = {\r\n dataSource: dataSource\r\n };\r\n }\r\n\r\n onCellChange = (index, key) => {\r\n return value => {\r\n const { dataSource } = this.state;\r\n dataSource[index][key] = value;\r\n this.setState({ dataSource }, () => console.dir(this.state.dataSource));\r\n };\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 可以对单元格进行编辑的表格,示例中给出输入框、下拉框、参照的编辑模式,以及两类校验。(通过对 coloums 配置 render 属性实现渲染不同格式的编辑态单元格)","scss_code":".u-editable-table .u-table {\r\n .u-table-row {\r\n td {\r\n padding: 5px 8px;\r\n\r\n input {\r\n padding-left: 5px;\r\n font-size: 12px;\r\n\r\n &.error {\r\n border-color: #F44336;\r\n }\r\n }\r\n }\r\n\r\n .editable-cell {\r\n height: 30px;\r\n }\r\n\r\n &-hover {\r\n .editable-cell-text-wrapper {\r\n line-height: 19px;\r\n }\r\n }\r\n\r\n .u-form-control,\r\n .u-select-selection {\r\n height: 30px;\r\n }\r\n }\r\n\r\n .editable-cell-text-wrapper {\r\n box-sizing: border-box;\r\n line-height: 20px;\r\n border-radius: 3px;\r\n }\r\n\r\n .editable-cell-input-wrapper {\r\n padding-right: 0;\r\n .ref-input-wrap {\r\n width: auto !important;\r\n height: 30px;\r\n .u-input-group{\r\n display: inline-block;\r\n }\r\n }\r\n }\r\n\r\n .verify-cell {\r\n padding-right: 25px !important;\r\n }\r\n\r\n .require {\r\n position: absolute;\r\n top: 2px;\r\n color: #F44336;\r\n font-size: 20px;\r\n }\r\n}\r\n\r\n.u-editable-table-tp {\r\n .tp-content {\r\n color: #F44336;\r\n }\r\n}"},{"example":,"title":" 弹框(表单)编辑","code":"/**\r\n *\r\n * @title 弹框(表单)编辑\r\n * @parent 编辑 Editor\r\n * @description 以弹框形式以对行进行编辑的表格\r\n * demo0503\r\n */\r\n\r\nimport React, { Component, PureComponent } from \"react\";\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport {\r\n Select, Form, FormControl, Button, Icon,\r\n Tooltip, Modal, FormGroup, Label, Row, Col\r\n} from \"tinper-bee\";\r\nconst Option = Select.Option;\r\nimport { RefTreeWithInput } from \"ref-tree\";\r\n\r\nfunction handleFormValueChange(WarpCompProps, field, allFields) {\r\n const { onChange, throwError } = WarpCompProps;\r\n if (field.value === \"\") return throwError && throwError(true);\r\n throwError && throwError(false);\r\n onChange && onChange(field.value);\r\n}\r\n\r\nconst StringEditCell = Form.createForm({\r\n onValuesChange: handleFormValueChange\r\n})(PureStringEditCell);\r\n\r\nfunction PureStringEditCell(props) {\r\n const { getFieldProps, getFieldError } = props.form;\r\n const { value, required } = props;\r\n let cls = \"editable-cell\";\r\n if (required) cls += \" required\";\r\n return (\r\n
\r\n \r\n {\"请输入\" + props.colName}\r\n
\r\n }\r\n >\r\n \r\n \r\n )\r\n }\r\n ]\r\n })}\r\n />\r\n {getFieldError(\"value\")}\r\n \r\n );\r\n}\r\n\r\nconst SELECT_SOURCE = [\"男\", \"女\"];\r\n\r\nclass SelectEditCell extends PureComponent {\r\n constructor(props, context) {\r\n super(props);\r\n }\r\n\r\n handleSelect = value => {\r\n this.props.onChange && this.props.onChange(value);\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nconst option = {\r\n title: \"树\",\r\n searchable: true,\r\n multiple: false,\r\n param: {\r\n refCode: \"neworganizition_tree\"\r\n },\r\n checkStrictly: true,\r\n disabled: false,\r\n nodeDisplay: record => {\r\n return record.refname;\r\n },\r\n displayField: record => {\r\n return record.refname;\r\n }, //显示内容的键\r\n valueField: \"refpk\", //真实 value 的键\r\n refModelUrl: {\r\n treeUrl: \"https://mock.yonyoucloud.com/mock/358/blobRefTree\",\r\n treeUrl: \"/pap_basedoc/common-ref/blobRefTree\"\r\n },\r\n matchUrl: \"/pap_basedoc/common-ref/matchPKRefJSON\",\r\n filterUrl: \"/pap_basedoc/common-ref/filterRefJSON\",\r\n lazyModal: false,\r\n strictMode: true,\r\n lang: \"zh_CN\",\r\n treeData: [\r\n {\r\n code: \"org1\",\r\n children: [\r\n {\r\n code: \"bj\",\r\n entityType: \"mainEntity\",\r\n name: \"北京总部-简\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"bj\",\r\n refpk: \"5305416e-e7b4-4051-90bd-12d12942295b\",\r\n id: \"5305416e-e7b4-4051-90bd-12d12942295b\",\r\n isLeaf: \"true\",\r\n refname: \"北京总部-简\"\r\n },\r\n {\r\n code: \"xd\",\r\n entityType: \"mainEntity\",\r\n name: \"新道-简\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"xd\",\r\n refpk: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\r\n id: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\r\n isLeaf: \"true\",\r\n refname: \"新道-简\"\r\n },\r\n {\r\n code: \"yy3\",\r\n entityType: \"mainEntity\",\r\n name: \"test3\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"yy3\",\r\n refpk: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\r\n id: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\r\n isLeaf: \"true\",\r\n refname: \"test3\"\r\n },\r\n {\r\n code: \"yy1\",\r\n entityType: \"mainEntity\",\r\n name: \"test1\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"yy1\",\r\n refpk: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\r\n id: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\r\n isLeaf: \"true\",\r\n refname: \"test1\"\r\n },\r\n {\r\n code: \"dept2\",\r\n children: [\r\n {\r\n code: \"cs\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"测试部-简\",\r\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refcode: \"cs\",\r\n refpk: \"cc43a66a-438d-4106-937f-bec44406f771\",\r\n id: \"cc43a66a-438d-4106-937f-bec44406f771\",\r\n isLeaf: \"true\",\r\n refname: \"测试部-简\"\r\n },\r\n {\r\n code: \"qd\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"前端部-简\",\r\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refcode: \"qd\",\r\n refpk: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\r\n id: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\r\n isLeaf: \"true\",\r\n refname: \"前端部-简\"\r\n }\r\n ],\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"生产处\",\r\n refcode: \"dept2\",\r\n refpk: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n id: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refname: \"生产处\"\r\n },\r\n {\r\n code: \"dept1\",\r\n children: [\r\n {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n {\r\n code: \"dept1_1\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务一科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_1\",\r\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n isLeaf: \"true\",\r\n refname: \"财务一科\"\r\n }\r\n ],\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务处\",\r\n refcode: \"dept1\",\r\n refpk: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n id: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refname: \"财务处\"\r\n }\r\n ],\r\n entityType: \"mainEntity\",\r\n name: \"用友集团\",\r\n refcode: \"org1\",\r\n refpk: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refname: \"用友集团\"\r\n }\r\n ]\r\n};\r\n\r\nconst RefEditCell = Form.createForm()(\r\n class RefComponentWarpper extends PureComponent {\r\n constructor(props, context) {\r\n super(props);\r\n }\r\n\r\n handleSelect = values => {\r\n const { form, throwError, onChange } = this.props\r\n if (form.getFieldError(\"refValue\")) return throwError && throwError(true);\r\n throwError && throwError(false);\r\n onChange && onChange(values[0]);\r\n };\r\n\r\n render() {\r\n const { getFieldProps, getFieldError } = this.props.form;\r\n const { value, required } = this.props;\r\n let cls = \"editable-cell\";\r\n if (required) cls += \" required\";\r\n return (\r\n
\r\n \r\n {\"请输入\" + this.props.colName}\r\n
\r\n }\r\n >\r\n \r\n \r\n ),\r\n pattern: /[^{\"refname\":\"\",\"refpk\":\"\"}|{\"refpk\":\"\",\"refname\":\"\"}]/\r\n }\r\n ]\r\n })}\r\n />\r\n {getFieldError(\"refValue\")}\r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\nclass EditModal extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.state = {\r\n data: this.props.data,\r\n errorEditFlag: false\r\n };\r\n\r\n // 属性名对应 columns 属性中的 key 值\r\n this.renderElm = {\r\n b: (record, index) => (\r\n \r\n ),\r\n\r\n c: (record, index) => (\r\n \r\n ),\r\n d: (record, index) => (\r\n \r\n )\r\n }\r\n }\r\n\r\n onFieldChange = field => value => {\r\n let data = { ...this.state.data };\r\n data[field] = value;\r\n this.setState({ data });\r\n }\r\n\r\n submitChange = () => {\r\n if (this.state.errorEditFlag) return;\r\n const { onSubmit, onHide, currentIndex } = this.props;\r\n onSubmit && onSubmit(this.state.data, currentIndex);\r\n onHide && onHide();\r\n }\r\n\r\n throwError = isError => {\r\n if (isError !== this.state.errorEditFlag)\r\n this.setState({ errorEditFlag: isError });\r\n };\r\n\r\n render() {\r\n const { show, onHide, columns, currentIndex } = this.props;\r\n const { data } = this.state;\r\n return (\r\n \r\n \r\n 编辑行\r\n \r\n \r\n
\r\n \r\n {\r\n columns.map((item, index) => {\r\n return (\r\n
\r\n \r\n \r\n {this.renderElm[item.key] &&\r\n this.renderElm[item.key](\r\n data,\r\n currentIndex\r\n )}\r\n {!this.renderElm[item.key] && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n \r\n );\r\n })\r\n }\r\n \r\n \r\n \r\n \r\n \r\n 取消\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nlet dataSource = [\r\n {\r\n a: \"ASVAL_201903280005\",\r\n b: \"小张\",\r\n c: \"男\",\r\n d: {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n key: \"1\"\r\n },\r\n {\r\n a: \"ASVAL_201903200004\",\r\n b: \"小明\",\r\n c: \"男\",\r\n d: {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n key: \"2\"\r\n },\r\n {\r\n a: \"ASVAL_201903120002\",\r\n b: \"小红\",\r\n c: \"女\",\r\n d: {\r\n code: \"dept1_1\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务一科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_1\",\r\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n isLeaf: \"true\",\r\n refname: \"财务一科\"\r\n },\r\n key: \"3\"\r\n }\r\n];\r\n\r\nclass Demo0503 extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n // 编辑态下每个单元格对应的编辑模式组件写在 EditModal 组件中,以 key 值对应\r\n this.columns = [\r\n {\r\n title: \"员工编号\",\r\n dataIndex: \"a\",\r\n key: \"a\"\r\n },\r\n {\r\n title: \"名字\",\r\n dataIndex: \"b\",\r\n key: \"b\"\r\n },\r\n {\r\n title: \"性别\",\r\n dataIndex: \"c\",\r\n key: \"c\",\r\n width: 100\r\n },\r\n {\r\n title: \"部门\",\r\n dataIndex: \"d\",\r\n key: \"d\",\r\n width: 215,\r\n render: (text, record, index) => record.d.name\r\n }\r\n ];\r\n\r\n this.state = {\r\n dataSource: dataSource,\r\n isEditing: false,\r\n currentIndex: null\r\n };\r\n }\r\n\r\n edit = () => {\r\n if (this.state.currentIndex === null) return;\r\n this.setState({ isEditing: true });\r\n };\r\n\r\n abortEdit = () => {\r\n this.setState({ isEditing: false });\r\n };\r\n\r\n commitChange = (editedRowData, rowIndex) => {\r\n console.log(editedRowData)\r\n console.log(rowIndex)\r\n let dataSource = [...this.state.dataSource];\r\n dataSource[rowIndex] = editedRowData;\r\n this.setState({ dataSource });\r\n };\r\n\r\n handleRowHover = (index, record) => {\r\n this.setState({ currentIndex: index });\r\n };\r\n\r\n hideEditModal = () => {\r\n this.setState({ isEditing: false });\r\n }\r\n\r\n renderRowHover = () => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n };\r\n\r\n\r\n render() {\r\n const { dataSource, isEditing, currentIndex } = this.state;\r\n const columns = this.columns;\r\n return (\r\n
\r\n \r\n {\r\n isEditing ? (\r\n \r\n ) : null\r\n }\r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 以弹框形式以对行进行编辑的表格","scss_code":".demo0503-m-b {\r\n\r\n &.u-modal .u-modal-body {\r\n padding: 16px 0;\r\n background: #f7f9fb;\r\n }\r\n\r\n .u-form-group {\r\n overflow: hidden;\r\n }\r\n\r\n .u-form-control {\r\n font-size: 12px;\r\n }\r\n\r\n .editable-cell {\r\n display: block;\r\n float: left;\r\n width: 265px;\r\n padding-right: 25px;\r\n }\r\n\r\n .ref-input-wrap {\r\n width: 240px !important;\r\n }\r\n\r\n .u-label {\r\n display: block;\r\n float: left;\r\n text-align: right;\r\n width: 110px;\r\n box-sizing: border-box;\r\n padding-right: 10px;\r\n font-size: 12px;\r\n height: 32px;\r\n line-height: 32px;\r\n .mast {\r\n padding: 0;\r\n color: red;\r\n }\r\n }\r\n\r\n .required-icon {\r\n position: absolute;\r\n top: 2px;\r\n color: #F44336;\r\n font-size: 20px;\r\n }\r\n}\r\n\r\n.u-editable-table-tp {\r\n z-index: 9999 !important;\r\n\r\n .tp-content {\r\n color: #F44336;\r\n }\r\n}\r\n.ref-core-button .u-button:first-child{\r\n margin-right: 8px;\r\n}"},{"example":,"title":" 全表格编辑","code":"/**\r\n *\r\n * @title 全表格编辑\r\n * @parent 编辑 Editor\r\n * @description 以行内编辑形式对全表数据进行编辑\r\n * demo0505\r\n */\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport { Select, Form, FormControl, Button, Icon, Tooltip } from \"tinper-bee\";\r\nconst Option = Select.Option;\r\nimport { RefTreeWithInput } from \"ref-tree\";\r\n\r\nclass StringEditCell extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.state = {\r\n value: props.value\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (!nextProps.editable) {\r\n this.setState({ value: nextProps.value });\r\n }\r\n }\r\n\r\n handleChange = value => {\r\n const { onChange, throwError } = this.props;\r\n if (value === \"\") {\r\n throwError && throwError(true);\r\n } else {\r\n throwError && throwError(false);\r\n }\r\n this.setState({ value });\r\n onChange && onChange(value);\r\n };\r\n\r\n render() {\r\n const { editable, required, colName, isEdited } = this.props;\r\n const { value } = this.state;\r\n let cls = \"editable-cell-input-wrapper\";\r\n if (required) cls += \" required\";\r\n if (value === \"\") cls += \" verify-cell\";\r\n if (isEdited) cls += \" edited\";\r\n return editable ? (\r\n
\r\n
\r\n \r\n \r\n {value === \"\" ? (\r\n {\"请输入\" + colName}
}\r\n >\r\n \r\n \r\n ) : null}\r\n \r\n
\r\n \r\n ) : (\r\n value || \" \"\r\n );\r\n }\r\n}\r\n\r\nconst SELECT_SOURCE = [\"男\", \"女\"];\r\n\r\nclass SelectEditCell extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.state = {\r\n value: props.value\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (!nextProps.editable) {\r\n this.setState({ value: nextProps.value });\r\n }\r\n }\r\n\r\n handleSelect = value => {\r\n this.setState({ value });\r\n this.props.onChange && this.props.onChange(value);\r\n };\r\n\r\n render() {\r\n const { editable, isEdited } = this.props;\r\n const { value } = this.state;\r\n let cls = \"editable-cell-input-wrapper\";\r\n if (isEdited) cls += \" edited\";\r\n return editable ? (\r\n
\r\n
\r\n \r\n
\r\n
\r\n ) : (\r\n value || \" \"\r\n );\r\n }\r\n}\r\n\r\nconst option = {\r\n title: \"树\",\r\n searchable: true,\r\n multiple: false,\r\n param: {\r\n refCode: \"neworganizition_tree\"\r\n },\r\n checkStrictly: true,\r\n disabled: false,\r\n nodeDisplay: record => {\r\n return record.refname;\r\n },\r\n displayField: record => {\r\n return record.refname;\r\n }, //显示内容的键\r\n valueField: \"refpk\", //真实 value 的键\r\n refModelUrl: {\r\n treeUrl: \"https://mock.yonyoucloud.com/mock/358/blobRefTree\",\r\n treeUrl: \"/pap_basedoc/common-ref/blobRefTree\"\r\n },\r\n matchUrl: \"/pap_basedoc/common-ref/matchPKRefJSON\",\r\n filterUrl: \"/pap_basedoc/common-ref/filterRefJSON\",\r\n lazyModal: false,\r\n strictMode: true,\r\n lang: \"zh_CN\",\r\n treeData: [\r\n {\r\n code: \"org1\",\r\n children: [\r\n {\r\n code: \"bj\",\r\n entityType: \"mainEntity\",\r\n name: \"北京总部-简\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"bj\",\r\n refpk: \"5305416e-e7b4-4051-90bd-12d12942295b\",\r\n id: \"5305416e-e7b4-4051-90bd-12d12942295b\",\r\n isLeaf: \"true\",\r\n refname: \"北京总部-简\"\r\n },\r\n {\r\n code: \"xd\",\r\n entityType: \"mainEntity\",\r\n name: \"新道-简\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"xd\",\r\n refpk: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\r\n id: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\r\n isLeaf: \"true\",\r\n refname: \"新道-简\"\r\n },\r\n {\r\n code: \"yy3\",\r\n entityType: \"mainEntity\",\r\n name: \"test3\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"yy3\",\r\n refpk: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\r\n id: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\r\n isLeaf: \"true\",\r\n refname: \"test3\"\r\n },\r\n {\r\n code: \"yy1\",\r\n entityType: \"mainEntity\",\r\n name: \"test1\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"yy1\",\r\n refpk: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\r\n id: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\r\n isLeaf: \"true\",\r\n refname: \"test1\"\r\n },\r\n {\r\n code: \"dept2\",\r\n children: [\r\n {\r\n code: \"cs\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"测试部-简\",\r\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refcode: \"cs\",\r\n refpk: \"cc43a66a-438d-4106-937f-bec44406f771\",\r\n id: \"cc43a66a-438d-4106-937f-bec44406f771\",\r\n isLeaf: \"true\",\r\n refname: \"测试部-简\"\r\n },\r\n {\r\n code: \"qd\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"前端部-简\",\r\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refcode: \"qd\",\r\n refpk: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\r\n id: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\r\n isLeaf: \"true\",\r\n refname: \"前端部-简\"\r\n }\r\n ],\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"生产处\",\r\n refcode: \"dept2\",\r\n refpk: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n id: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refname: \"生产处\"\r\n },\r\n {\r\n code: \"dept1\",\r\n children: [\r\n {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n {\r\n code: \"dept1_1\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务一科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_1\",\r\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n isLeaf: \"true\",\r\n refname: \"财务一科\"\r\n }\r\n ],\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务处\",\r\n refcode: \"dept1\",\r\n refpk: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n id: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refname: \"财务处\"\r\n }\r\n ],\r\n entityType: \"mainEntity\",\r\n name: \"用友集团\",\r\n refcode: \"org1\",\r\n refpk: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refname: \"用友集团\"\r\n }\r\n ]\r\n};\r\n\r\nconst RefEditCell = Form.createForm()(\r\n class RefComponentWarpper extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.state = {\r\n value: props.value\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (!nextProps.editable) {\r\n this.setState({ value: nextProps.value });\r\n }\r\n }\r\n\r\n handleSelect = values => {\r\n this.setState({ value: values[0] });\r\n this.props.onChange && this.props.onChange(values[0]);\r\n };\r\n\r\n render() {\r\n const { getFieldProps, getFieldError } = this.props.form;\r\n const { editable, required, isEdited } = this.props;\r\n const { value } = this.state;\r\n let cls = \"editable-cell-input-wrapper\";\r\n if (required) cls += \" required\";\r\n if (getFieldError(\"refValue\")) cls += \" verify-cell\";\r\n if (isEdited) cls += \" edited\";\r\n return editable ? (\r\n
\r\n \r\n {\"请输入\" + this.props.colName}\r\n
\r\n }\r\n >\r\n \r\n \r\n ),\r\n pattern: /[^{\"refname\":\"\",\"refpk\":\"\"}|{\"refpk\":\"\",\"refname\":\"\"}]/\r\n }\r\n ]\r\n })}\r\n />\r\n {getFieldError(\"refValue\")}\r\n \r\n ) : (\r\n value.name || \" \"\r\n );\r\n }\r\n }\r\n);\r\n\r\nlet dataSource = [\r\n {\r\n a: \"ASVAL_201903280005\",\r\n b: \"小张\",\r\n c: \"男\",\r\n d: {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n key: \"1\"\r\n },\r\n {\r\n a: \"ASVAL_201903200004\",\r\n b: \"小明\",\r\n c: \"男\",\r\n d: {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n key: \"2\"\r\n },\r\n {\r\n a: \"ASVAL_201903120002\",\r\n b: \"小红\",\r\n c: \"女\",\r\n d: {\r\n code: \"dept1_1\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务一科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_1\",\r\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n isLeaf: \"true\",\r\n refname: \"财务一科\"\r\n },\r\n key: \"3\"\r\n }\r\n];\r\n\r\nclass Demo0505 extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.columns = [\r\n {\r\n title: \"员工编号\",\r\n dataIndex: \"a\",\r\n key: \"a\"\r\n },\r\n {\r\n title: \"名字\",\r\n dataIndex: \"b\",\r\n key: \"b\",\r\n render: (text, record, index) => (\r\n \r\n )\r\n },\r\n {\r\n title: \"性别\",\r\n dataIndex: \"c\",\r\n key: \"c\",\r\n width: 100,\r\n render: (text, record, index) => (\r\n \r\n )\r\n },\r\n {\r\n title: \"部门\",\r\n dataIndex: \"d\",\r\n key: \"d\",\r\n width: 215,\r\n render: (text, record, index) => (\r\n \r\n )\r\n },\r\n // 只是用来占位占宽度的\r\n {\r\n key: \"placeholder\"\r\n }\r\n ];\r\n\r\n // 用于记录数据是否被修改\r\n dataSource.forEach(item => (item.isEdited = {}));\r\n this.state = {\r\n dataSource: dataSource,\r\n isEditingAll: false,\r\n currentIndex: null,\r\n errorEditFlag: false\r\n };\r\n\r\n // 用于记录编辑前数据\r\n this.dataBuffer = [];\r\n }\r\n\r\n edit = () => {\r\n this.dataBuffer = [];\r\n // 最好使用深复制\r\n this.state.dataSource.forEach((item, index) => {\r\n this.dataBuffer.push({ ...item });\r\n });\r\n this.setState({ isEditingAll: true });\r\n };\r\n\r\n abortEdit = () => {\r\n let originData = [...this.state.dataSource];\r\n originData.forEach(item => (item.isEdited = {}));\r\n this.setState({\r\n isEditingAll: false,\r\n dataSource: originData\r\n });\r\n };\r\n\r\n commitChange = () => {\r\n if (this.state.errorEditFlag) return;\r\n const newData = this.dataBuffer.map(item => {\r\n return Object.assign({}, item, { isEdited: {} });\r\n });\r\n this.setState({ isEditingAll: false, dataSource: newData });\r\n };\r\n\r\n onCellChange = (index, key) => value => {\r\n this.dataBuffer[index][key] = value;\r\n this.dataBuffer[index].isEdited[key] = true;\r\n };\r\n\r\n throwError = isError => {\r\n if (isError !== this.state.errorEditFlag)\r\n this.setState({ errorEditFlag: isError });\r\n };\r\n\r\n render() {\r\n const { dataSource, isEditingAll } = this.state;\r\n const columns = this.columns;\r\n return (\r\n
\r\n
\r\n {isEditingAll ? (\r\n \r\n \r\n \r\n 取消\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 以行内编辑形式对全表数据进行编辑","scss_code":".demo0505 {\r\n\r\n .toolbar-btns {\r\n margin-bottom: 8px;\r\n\r\n .u-button {\r\n &:first-child {\r\n margin-right: 8px;\r\n }\r\n }\r\n }\r\n\r\n .u-table {\r\n .u-row-select {\r\n background-color: #FFF7E7;\r\n }\r\n .u-table-row {\r\n td {\r\n padding: 5px 8px;\r\n\r\n input {\r\n font-size: 12px;\r\n padding-left: 5px;\r\n }\r\n }\r\n\r\n .u-form-control,\r\n .u-select-selection {\r\n height: 30px;\r\n }\r\n }\r\n\r\n .editable-cell-text-wrapper {\r\n box-sizing: border-box;\r\n line-height: 20px;\r\n border-radius: 3px;\r\n }\r\n\r\n .required {\r\n margin-left: 10px;\r\n position: relative;\r\n\r\n &::before {\r\n content: \" \";\r\n border: 1px solid #F44336;\r\n width: 0;\r\n height: 12px;\r\n position: absolute;\r\n top: 9px;\r\n left: -8px;\r\n }\r\n\r\n span.u-input-group {\r\n display: block\r\n }\r\n }\r\n\r\n .verify-cell {\r\n padding-right: 25px !important;\r\n }\r\n\r\n .edited::after {\r\n content: \" \";\r\n position: absolute;\r\n z-index: 999;\r\n top: 0;\r\n left: 0;\r\n border-width: 5px;\r\n border-style: solid;\r\n border-color: #f44336 transparent transparent #f44336;\r\n }\r\n\r\n .required-icon {\r\n position: absolute;\r\n top: 2px;\r\n color: #F44336;\r\n font-size: 20px;\r\n }\r\n\r\n .ref-input-wrap {\r\n width: 160px !important;\r\n }\r\n }\r\n}\r\n\r\n.u-editable-table-tp {\r\n .tp-content {\r\n color: #F44336;\r\n }\r\n}"},{"example":,"title":" 左侧固定列","code":"/**\r\n*\r\n* @title 左侧固定列\r\n* @parent 列操作-锁定 Fixed\r\n* @description 固定列到表格的左侧\r\n* demo0601\r\n*/\r\n\r\n\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n {\r\n title: \"序号\",\r\n dataIndex: \"index\",\r\n key: \"index\",\r\n width: 80, \r\n fixed: 'left',\r\n render(text, record, index){return index + 1}\r\n },\r\n {\r\n title: \"订单编号\",\r\n dataIndex: \"orderCode\",\r\n key: \"orderCode\",\r\n width: 100, \r\n fixed: 'left',\r\n },\r\n {\r\n title: \"供应商名称\",\r\n dataIndex: \"supplierName\",\r\n key: \"supplierName\",\r\n width: 100\r\n },\r\n {\r\n title: \"类型\",\r\n dataIndex: \"type_name\",\r\n key: \"type_name\",\r\n width: 100\r\n },\r\n {\r\n title: \"采购组织\",\r\n dataIndex: \"purchasing\",\r\n key: \"purchasing\",\r\n width: 100\r\n },\r\n {\r\n title: \"采购组\",\r\n dataIndex: \"purchasingGroup\",\r\n key: \"purchasingGroup\",\r\n width: 100\r\n },\r\n {\r\n title: \"凭证日期\",\r\n dataIndex: \"voucherDate\",\r\n key: \"voucherDate\",\r\n width: 200,\r\n \r\n },\r\n {\r\n title: \"审批状态\",\r\n dataIndex: \"approvalState_name\",\r\n key: \"approvalState_name\",\r\n width: 100\r\n },\r\n {\r\n title: \"确认状态\",\r\n dataIndex: \"confirmState_name\",\r\n key: \"confirmState_name\",\r\n width: 100\r\n }, \r\n {\r\n title: \"关闭状态\",\r\n dataIndex: \"closeState_name\",\r\n key: \"closeState_name\",\r\n width: 100\r\n }\r\n];\r\n\r\nconst data = [\r\n { \r\n orderCode:\"NU0391025\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年03月18日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"执行中\",\r\n closeState_name:\"未关闭\",\r\n key: \"1\"\r\n }, \r\n { \r\n orderCode:\"NU0391026\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织a', \r\n purchasingGroup:\"bb\",\r\n voucherDate:\"2018年02月05日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"待确认\",\r\n closeState_name:\"未关闭\",\r\n key: \"2\"\r\n },\r\n { \r\n orderCode:\"NU0391027\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织b', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年07月01日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"终止\",\r\n closeState_name:\"已关闭\",\r\n key: \"3\"\r\n }\r\n];\r\n\r\nclass Demo51 extends Component {\r\n render() {\r\n return
;\r\n }\r\n}\r\n\r\n","desc":" 固定列到表格的左侧"},{"example":,"title":" 右侧固定列","code":"/**\r\n*\r\n* @title 右侧固定列\r\n* @parent 列操作-锁定 Fixed\r\n* @description 固定列到表格的右侧\r\n* demo0602\r\n*/\r\n\r\n\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport {Popconfirm} from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n {\r\n title: \"序号\",\r\n dataIndex: \"index\",\r\n key: \"index\",\r\n width: 80, \r\n render(text, record, index){return index + 1}\r\n },\r\n {\r\n title: \"订单编号\",\r\n dataIndex: \"orderCode\",\r\n key: \"orderCode\",\r\n width: 100, \r\n },\r\n {\r\n title: \"供应商名称\",\r\n dataIndex: \"supplierName\",\r\n key: \"supplierName\",\r\n width: 100\r\n },\r\n {\r\n title: \"类型\",\r\n dataIndex: \"type_name\",\r\n key: \"type_name\",\r\n width: 100\r\n },\r\n {\r\n title: \"采购组织\",\r\n dataIndex: \"purchasing\",\r\n key: \"purchasing\",\r\n width: 100\r\n },\r\n {\r\n title: \"采购组\",\r\n dataIndex: \"purchasingGroup\",\r\n key: \"purchasingGroup\",\r\n width: 100\r\n },\r\n {\r\n title: \"凭证日期\",\r\n dataIndex: \"voucherDate\",\r\n key: \"voucherDate\",\r\n width: 200,\r\n \r\n },\r\n {\r\n title: \"审批状态\",\r\n dataIndex: \"approvalState_name\",\r\n key: \"approvalState_name\",\r\n width: 100\r\n },\r\n {\r\n title: \"确认状态\",\r\n dataIndex: \"confirmState_name\",\r\n key: \"confirmState_name\",\r\n width: 100\r\n }, \r\n {\r\n title: \"关闭状态\",\r\n dataIndex: \"closeState_name\",\r\n key: \"closeState_name\",\r\n width: 100\r\n },\r\n {\r\n title: \"操作\",\r\n dataIndex: \"d\",\r\n key: \"d\",\r\n width:100,\r\n fixed: \"right\",\r\n render(text, record, index) {\r\n return (\r\n
\r\n \r\n \r\n 一些操作\r\n \r\n \r\n
\r\n )\r\n }\r\n }\r\n];\r\n\r\nconst data = [\r\n { \r\n orderCode:\"NU0391025\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年03月18日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"执行中\",\r\n closeState_name:\"未关闭\",\r\n key: \"1\"\r\n }, \r\n { \r\n orderCode:\"NU0391026\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织a', \r\n purchasingGroup:\"bb\",\r\n voucherDate:\"2018年02月05日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"待确认\",\r\n closeState_name:\"未关闭\",\r\n key: \"2\"\r\n },\r\n { \r\n orderCode:\"NU0391027\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织b', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年07月01日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"终止\",\r\n closeState_name:\"已关闭\",\r\n key: \"3\"\r\n }\r\n];\r\n\r\nclass Demo52 extends Component {\r\n render() {\r\n return
;\r\n }\r\n}\r\n\r\n","desc":" 固定列到表格的右侧"},{"example":,"title":" 动态设置列锁定、解除锁定","code":"/**\r\n*\r\n* @title 动态设置列锁定、解除锁定\r\n* @parent 列操作-锁定 Fixed\r\n* @description 动态设置columns中数据的fixed属性值【fixed: \"left\",fixed: \"right\"】。\r\n* demo0603\r\n*/\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport {Icon,Menu,Dropdown} from \"tinper-bee\";\r\n\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst { Item } = Menu;\r\n\r\nconst columns = [\r\n {\r\n title: \"序号\",\r\n dataIndex: \"index\",\r\n key: \"index\",\r\n width: 80, \r\n fixed: 'left',\r\n render(text, record, index){return index + 1}\r\n },\r\n {\r\n title: \"订单编号\",\r\n dataIndex: \"orderCode\",\r\n key: \"orderCode\",\r\n width: 100, \r\n fixed: 'left',\r\n },\r\n {\r\n title: \"供应商名称\",\r\n dataIndex: \"supplierName\",\r\n key: \"supplierName\",\r\n width: 150\r\n },\r\n {\r\n title: \"类型\",\r\n dataIndex: \"type_name\",\r\n key: \"type_name\",\r\n width: 100\r\n },\r\n {\r\n title: \"采购组织\",\r\n dataIndex: \"purchasing\",\r\n key: \"purchasing\",\r\n width: 100\r\n },\r\n {\r\n title: \"采购组\",\r\n dataIndex: \"purchasingGroup\",\r\n key: \"purchasingGroup\",\r\n width: 100\r\n },\r\n {\r\n title: \"凭证日期\",\r\n dataIndex: \"voucherDate\",\r\n key: \"voucherDate\",\r\n width: 200,\r\n \r\n },\r\n {\r\n title: \"审批状态\",\r\n dataIndex: \"approvalState_name\",\r\n key: \"approvalState_name\",\r\n width: 100\r\n },\r\n {\r\n title: \"确认状态\",\r\n dataIndex: \"confirmState_name\",\r\n key: \"confirmState_name\",\r\n width: 100\r\n }, \r\n {\r\n title: \"关闭状态\",\r\n dataIndex: \"closeState_name\",\r\n key: \"closeState_name\",\r\n width: 100\r\n }\r\n];\r\n\r\nconst data = [\r\n { \r\n orderCode:\"NU0391025\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年03月18日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"执行中\",\r\n closeState_name:\"未关闭\",\r\n key: \"1\"\r\n }, \r\n { \r\n orderCode:\"NU0391026\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织a', \r\n purchasingGroup:\"bb\",\r\n voucherDate:\"2018年02月05日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"待确认\",\r\n closeState_name:\"未关闭\",\r\n key: \"2\"\r\n },\r\n { \r\n orderCode:\"NU0391027\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织b', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年07月01日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"终止\",\r\n closeState_name:\"已关闭\",\r\n key: \"3\"\r\n }\r\n];\r\n \r\nclass Demo24 extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n columns:columns\r\n }\r\n }\r\n \r\n onSelect = ({key,item})=>{ \r\n console.log(`${key} selected`); //获取key\r\n let currentObject = item.props.data; //获取选中对象的数据\r\n let {columns} = this.state;\r\n let fixedCols = [];\r\n let nonColums = [];\r\n columns.find(da=>{\r\n if(da.key == key){\r\n da.fixed?delete da.fixed:da.fixed = 'left';\r\n }\r\n da.fixed?fixedCols.push(da):nonColums.push(da);\r\n });\r\n \r\n columns = [...fixedCols,...nonColums]\r\n\r\n this.setState({\r\n columns\r\n });\r\n }\r\n //表头增加下拉菜单\r\n renderColumnsDropdown(columns) {\r\n const icon ='uf-arrow-down';\r\n \r\n return columns.map((originColumn,index) => {\r\n let column = Object.assign({}, originColumn);\r\n let menuInfo = [], title='锁定';\r\n if(originColumn.fixed){\r\n title = '解锁'\r\n }\r\n menuInfo.push({\r\n info:title,\r\n key:originColumn.key,\r\n index:index\r\n });\r\n const menu = (\r\n {\r\n menuInfo.map(da=>{ return {da.info} })\r\n }\r\n )\r\n column.title = (\r\n \r\n {column.title}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n return column;\r\n });\r\n \r\n }\r\n\r\n render() {\r\n let {columns} = this.state;\r\n columns = this.renderColumnsDropdown(columns);\r\n return(\r\n
\r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\n","desc":" 动态设置columns中数据的fixed属性值【fixed: \"left\",fixed: \"right\"】。","scss_code":"th{\r\n .drop-menu{\r\n .uf{\r\n font-size: 12px;\r\n visibility: hidden;\r\n margin-left: 15px;\r\n }\r\n \r\n \r\n }\r\n &:hover{\r\n .uf{\r\n visibility: visible;\r\n }\r\n }\r\n\r\n}\r\n\r\n"},{"example":,"title":" 按条件、值过滤","code":"/**\r\n*\r\n* @title 按条件、值过滤\r\n* @parent 列操作-过滤 Filter\r\n* @description 可以根据输入项目以及判断条件对表格内的数据进行过滤。可在控制台查看序列化后的参数字符串。\r\n* demo0701\r\n*/\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns26 = [\r\n { title: \"姓名\", width: 180, dataIndex: \"name\", key: \"name\", filterType: \"text\", filterDropdown: \"show\" },\r\n { title: \"年龄\", width: 150, dataIndex: \"age\", key: \"age\", filterType: \"dropdown\", filterDropdown: \"show\" },\r\n { title: \"日期\", width: 200, dataIndex: \"date\", key: \"date\", filterType: \"date\", filterDropdown: \"show\", format: \"YYYY-MM-DD\" },\r\n { title: \"居住地址\", width: 150, dataIndex: \"address\", key: \"address\", filterType: \"dropdown\", filterDropdown: \"show\" },\r\n { title: \"备注\", dataIndex: \"mark\", key: \"mark\" }\r\n];\r\n\r\nconst data26 = [\r\n {\r\n key: \"1\",\r\n name: \"John Brown\",\r\n age: 32,\r\n date: \"2018-09-19\",\r\n address: \"朝阳区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"2\",\r\n name: \"Jim Green\",\r\n age: 40,\r\n date: \"2018-09-18\",\r\n address: \"朝阳区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"3\",\r\n name: \"Jim Green\",\r\n age: 40,\r\n date: \"2018-09-18\",\r\n address: \"东城区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"4\",\r\n name: \"Jim Green\",\r\n age: 40,\r\n date: \"2018-09-18\",\r\n address: \"东城区\",\r\n mark: \"无\"\r\n }, {\r\n key: \"5\",\r\n name: \"John Brown\",\r\n age: 32,\r\n date: \"2018-09-18\",\r\n address: \"海淀区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"6\",\r\n name: \"Jim Green\",\r\n age: 48,\r\n date: \"2018-09-18\",\r\n address: \"海淀区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"7\",\r\n name: \"Jim Green\",\r\n age: 40,\r\n date: \"2018-09-18\",\r\n address: \"海淀区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"8\",\r\n name: \"Jim Green\",\r\n age: 38,\r\n date: \"2018-09-18\",\r\n address: \"海淀区\",\r\n mark: \"无\"\r\n }\r\n];\r\n\r\nclass Demo26 extends Component {\r\n handlerFilterChange = (key, val, condition) => {\r\n console.log('参数:key=', key, ' value=', val, 'condition=', condition);\r\n }\r\n\r\n handlerFilterClear = (key) => {\r\n console.log('清除条件', key);\r\n }\r\n render() {\r\n return ()\r\n onFilterClear={this.handlerFilterClear}//触发输入操作以及其他的回调(key,val)=>()\r\n filterDelay={500}//输入文本多少ms触发回调函数,默认300ms\r\n filterable={true}//是否开启过滤数据功能\r\n bordered\r\n columns={columns26}\r\n data={data26} />;\r\n }\r\n}\r\n\r\n","desc":" 可以根据输入项目以及判断条件对表格内的数据进行过滤。可在控制台查看序列化后的参数字符串。"},{"example":,"title":" 复杂表格中行过滤","code":"/**\r\n*\r\n* @title 复杂表格中行过滤\r\n* @parent 列操作-过滤 Filter\r\n* @description 在过滤数据行的基础上增加列拖拽、动态菜单显示、下拉条件动态传入自定义等\r\n* demo0702\r\n*/\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport {Icon,Checkbox} from \"tinper-bee\";\r\n\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport multiSelect from \"tinper-bee/lib/multiSelect\";;\r\nimport sort from \"tinper-bee/lib/sort\";;\r\n\r\nconst data27 = [\r\n {\r\n key: \"1\",\r\n name: \"John Brown\",\r\n age: 32,\r\n date: \"2018-09-19\",\r\n address: \"朝阳区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"2\",\r\n name: \"Jim Green\",\r\n age: 40,\r\n date: \"2018-09-18\",\r\n address: \"朝阳区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"3\",\r\n name: \"Jim Green\",\r\n age: 40,\r\n date: \"2018-09-18\",\r\n address: \"东城区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"4\",\r\n name: \"Jim Green\",\r\n age: 40,\r\n date: \"2018-09-18\",\r\n address: \"东城区\",\r\n mark: \"无\"\r\n }, {\r\n key: \"5\",\r\n name: \"John Brown\",\r\n age: 32,\r\n date: \"2018-09-18\",\r\n address: \"海淀区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"6\",\r\n name: \"Jim Green\",\r\n age: 48,\r\n date: \"2018-09-18\",\r\n address: \"海淀区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"7\",\r\n name: \"Jim Green\",\r\n age: 40,\r\n date: \"2018-09-18\",\r\n address: \"海淀区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"8\",\r\n name: \"Jim Green\",\r\n age: 38,\r\n date: \"2018-09-18\",\r\n address: \"海淀区\",\r\n mark: \"无\"\r\n }\r\n];\r\n\r\n\r\nconst MultiSelectTable = multiSelect(Table, Checkbox);\r\nconst ComplexTable = sort(MultiSelectTable, Icon);\r\nclass Demo27 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n dropdownvalue: []\r\n }\r\n }\r\n handlerFilterChange = (key, val, condition) => {\r\n console.log('参数:key=', key, ' value=', val, 'condition=', condition);\r\n }\r\n\r\n handlerFilterClear = (key) => {\r\n console.log('清除条件', key);\r\n }\r\n getSelectedDataFunc = data => {\r\n console.log(data);\r\n }\r\n onSelect = (item) => {\r\n console.log(item);\r\n }\r\n\r\n render() {\r\n let multiObj = {\r\n type: \"checkbox\"\r\n };\r\n let columns27 = [\r\n {\r\n title: \"姓名\",\r\n width: 180,\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n filterType: \"text\",//输入框类型\r\n filterDropdown: \"show\",//显示条件\r\n filterDropdownType: \"string\"//字符条件\r\n },\r\n {\r\n title: \"年龄\",\r\n width: 180,\r\n dataIndex: \"age\",\r\n key: \"age\",\r\n filterType: \"number\",//输入框类型\r\n filterDropdown: \"show\",//显示条件\r\n filterDropdownType: \"number\"//字符条件\r\n },\r\n {\r\n title: \"日期\",\r\n width: 190,\r\n dataIndex: \"date\",\r\n key: \"date\",\r\n filterType: \"date\",//输入框类型\r\n filterDropdown: \"show\",//显示条件\r\n filterDropdownType: \"string\"//字符条件\r\n },\r\n {\r\n title: \"时间范围\",\r\n width: 290,\r\n dataIndex: \"mark\",\r\n key: \"mark\",\r\n filterType: \"daterange\",//输入框类型\r\n filterDropdown: \"show\",//显示条件\r\n filterDropdownType: \"number\"//字符条件\r\n },\r\n {\r\n title: \"地址\",\r\n width: 100,\r\n dataIndex: \"address\",\r\n key: \"address\",\r\n filterType: \"dropdown\",//输入框类型\r\n filterDropdown: \"show\",//显示条件\r\n filterDropdownType: \"number\"//字符条件\r\n }\r\n ];\r\n return ()\r\n onFilterClear={this.handlerFilterClear}//触发输入操作以及其他的回调(key,val)=>()\r\n filterDelay={500}//输入文本多少ms触发回调函数,默认500ms\r\n filterable={true}//是否开启过滤数据功能\r\n getSelectedDataFunc={this.getSelectedDataFunc}\r\n bordered\r\n multiSelect={multiObj}\r\n columns={columns27}\r\n data={data27} />;\r\n }\r\n}\r\n\r\n","desc":" 在过滤数据行的基础上增加列拖拽、动态菜单显示、下拉条件动态传入自定义等"},{"example":,"title":" 列过滤面板","code":"/**\r\n*\r\n* @title 列过滤面板\r\n* @parent 列操作-隐藏 Hide\r\n* @description 点击表头右侧按钮,设置显示或隐藏表格列。可以自定义设置显示某列,通过ifshow属性控制,默认值为true(显示表格所有列)。afterFilter方法为列过滤后触发的回调函数。\r\n* demo0802\r\n*/\r\n\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport {Icon,Popover} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport filterColumn from \"tinper-bee/lib/filterColumn\";;\r\nimport sum from \"tinper-bee/lib/sum\";;\r\n\r\nconst data = [\r\n { \r\n orderCode:\"NU0391025\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年03月18日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"执行中\",\r\n closeState_name:\"未关闭\",\r\n key: \"1\"\r\n }, \r\n { \r\n orderCode:\"NU0391026\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织a', \r\n purchasingGroup:\"bb\",\r\n voucherDate:\"2018年02月05日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"待确认\",\r\n closeState_name:\"未关闭\",\r\n key: \"2\"\r\n },\r\n { \r\n orderCode:\"NU0391027\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织b', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年07月01日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"终止\",\r\n closeState_name:\"已关闭\",\r\n key: \"3\"\r\n }\r\n];\r\n\r\nconst FilterColumnTable = filterColumn(Table, Popover, Icon);\r\n\r\nconst defaultProps21 = {\r\n prefixCls: \"bee-table\"\r\n};\r\n\r\nclass Demo21 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state ={\r\n columns: [\r\n {\r\n title: \"序号\",\r\n dataIndex: \"index\",\r\n key: \"index\",\r\n width: 80, \r\n fixed: 'left',\r\n render(text, record, index){return index + 1}\r\n },\r\n {\r\n title: \"订单编号\",\r\n dataIndex: \"orderCode\",\r\n key: \"orderCode\",\r\n width: 100, \r\n fixed: 'left',\r\n },\r\n {\r\n title: \"供应商名称\",\r\n dataIndex: \"supplierName\",\r\n key: \"supplierName\",\r\n width: 150\r\n },\r\n {\r\n title: \"类型\",\r\n dataIndex: \"type_name\",\r\n key: \"type_name\",\r\n width: 100\r\n },\r\n {\r\n title: \"采购组织\",\r\n dataIndex: \"purchasing\",\r\n key: \"purchasing\",\r\n width: 100\r\n },\r\n ]};\r\n }\r\n afterFilter = (optData,columns)=>{\r\n if(optData.key == 'b'){\r\n if(optData.ifshow){\r\n columns[2].ifshow = false;\r\n }else{\r\n columns[2].ifshow = true;\r\n }\r\n this.setState({\r\n columns21 :columns,\r\n showFilterPopover:true\r\n });\r\n }\r\n \r\n }\r\n \r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nDemo21.defaultProps = defaultProps21;\r\n","desc":" 点击表头右侧按钮,设置显示或隐藏表格列。可以自定义设置显示某列,通过ifshow属性控制,默认值为true(显示表格所有列)。afterFilter方法为列过滤后触发的回调函数。"},{"example":,"title":" 列排序","code":"/**\r\n* @title 列排序\r\n* @parent 列操作-排序 Sort\r\n* @description column中增加sorter: (a, b) => a.c - b.c 这里的a,b代表前后两个数据,c代表比较当前对象的字段名称\r\n* demo0901\r\n*/\r\n\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport {Icon} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport sort from \"tinper-bee/lib/sort.js\";;\r\n\r\nlet ComplexTable = sort(Table, Icon);\r\nconst columns11 = [\r\n {\r\n title: \"单据编号\",\r\n dataIndex: \"num\",\r\n key: \"num\",\r\n width: 120,\r\n fixed: \"left\"\r\n },\r\n {\r\n title: \"单据日期\",\r\n dataIndex: \"date\",\r\n key: \"date\",\r\n width: 200,\r\n },\r\n {\r\n title: \"供应商\",\r\n dataIndex: \"supplier\",\r\n key: \"supplier\",\r\n width: 100\r\n },\r\n {\r\n title: \"联系人\",\r\n dataIndex: \"contact\",\r\n key: \"contact\",\r\n },\r\n {\r\n title: \"整单数量\",\r\n dataIndex: \"total\",\r\n key: \"total\",\r\n width: 150,\r\n sorter: (a, b) => a.total - b.total\r\n }\r\n];\r\n\r\nconst data11 = [\r\n { num: \"NU0391001\", date: \"2019-03-01\", supplier: 'xx供应商',contact:'Tom', total:30 ,key: \"1\" },\r\n { num: \"NU0391002\", date: \"2018-11-02\", supplier: 'yy供应商',contact:'Jack', total:41 ,key: \"2\" },\r\n { num: \"NU0391003\", date: \"2019-05-03\", supplier: 'zz供应商',contact:'Jane', total:25 ,key: \"3\" }\r\n];\r\n\r\nconst defaultProps11 = {\r\n prefixCls: \"bee-table\"\r\n};\r\nclass Demo11 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n sortOrder: \"\",\r\n data: data11\r\n };\r\n }\r\n render() {\r\n\r\n return ;\r\n }\r\n}\r\nDemo11.defaultProps = defaultProps11;\r\n\r\n\r\n","desc":" column中增加sorter: (a, b) => a.c - b.c 这里的a,b代表前后两个数据,c代表比较当前对象的字段名称"},{"example":,"title":" 后端列排序","code":"/**\r\n* @title 后端列排序\r\n* @parent 列操作-排序 Sort\r\n* @description 可在控制台中查看序列化后的参数字符串,将参数传递给后端即可进行列排序\r\n* demo0902\r\n*/\r\n\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport {Icon} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport sort from \"tinper-bee/lib/sort.js\";;\r\nlet ComplexTable = sort(Table, Icon);\r\n\r\n// const columns11 = [\r\n// {\r\n// title: \"名字\",\r\n// dataIndex: \"a\",\r\n// key: \"a\",\r\n// width: 100\r\n// },\r\n// {\r\n// title: \"性别\",\r\n// dataIndex: \"b\",\r\n// key: \"b\",\r\n// width: 100\r\n// },\r\n// {\r\n// title: \"年龄\",\r\n// dataIndex: \"c\",\r\n// key: \"c\",\r\n// width: 200,\r\n// sorter: (a, b) => a.c - b.c\r\n// },\r\n// {\r\n// title: \"武功级别\",\r\n// dataIndex: \"d\",\r\n// key: \"d\"\r\n// },\r\n// {\r\n// title: \"分数\",\r\n// dataIndex: \"e\",\r\n// key: \"e\",\r\n// sorter: (a, b) => a.c - b.c\r\n// },\r\n// ];\r\n\r\n// const data11 = [\r\n// { a: \"杨过\", b: \"男\", c: 30,d:'内行', e:139,key: \"2\" },\r\n// { a: \"令狐冲\", b: \"男\", c: 41,d:'大侠', e:109, key: \"1\" },\r\n// { a: \"郭靖\", b: \"男\", c: 25,d:'大侠', e:159, key: \"3\" }\r\n// ];\r\nconst columns11 = [\r\n {\r\n title: \"单据编号\",\r\n dataIndex: \"num\",\r\n key: \"num\",\r\n width: 120,\r\n fixed: \"left\"\r\n },\r\n {\r\n title: \"单据日期\",\r\n dataIndex: \"date\",\r\n key: \"date\",\r\n width: 200,\r\n },\r\n {\r\n title: \"供应商\",\r\n dataIndex: \"supplier\",\r\n key: \"supplier\",\r\n width: 100\r\n },\r\n {\r\n title: \"联系人\",\r\n dataIndex: \"contact\",\r\n key: \"contact\",\r\n },\r\n {\r\n title: \"整单数量\",\r\n dataIndex: \"total\",\r\n key: \"total\",\r\n width: 150,\r\n sorter: (a, b) => a.total - b.total\r\n },\r\n {\r\n title: \"金额\",\r\n dataIndex: \"money\",\r\n key: \"money\",\r\n width: 100,\r\n sorter: (a, b) => a.money - b.money\r\n }\r\n];\r\n\r\nconst data11 = [\r\n { num: \"NU0391001\", date: \"2019-03-01\", supplier: 'xx供应商',contact:'Tom', total:30 ,money: 100,key: \"1\" },\r\n { num: \"NU0391002\", date: \"2018-11-02\", supplier: 'yy供应商',contact:'Jack', total:41 ,money: 50,key: \"2\" },\r\n { num: \"NU0391003\", date: \"2019-05-03\", supplier: 'zz供应商',contact:'Jane', total:25 ,money: 200,key: \"3\" }\r\n];\r\n\r\nconst defaultProps = {\r\n prefixCls: \"bee-table\"\r\n};\r\nclass Demo28 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n sortOrder: \"\",\r\n data: data11\r\n };\r\n }\r\n /**\r\n * 后端获取数据\r\n */\r\n sortFun = (sortParam)=>{\r\n console.info(sortParam);\r\n //将参数传递给后端排序\r\n }\r\n render() {\r\n let sortObj = {\r\n mode:'multiple',\r\n backSource:true,\r\n sortFun:this.sortFun\r\n }\r\n return ;\r\n }\r\n}\r\nDemo28.defaultProps = defaultProps;\r\n\r\n\r\n","desc":" 可在控制台中查看序列化后的参数字符串,将参数传递给后端即可进行列排序"},{"example":,"title":" 多列排序","code":"/**\r\n *\r\n * @title 多列排序\r\n * @parent 列操作-排序 Sort\r\n * @description 结合多列排序、全选功能、合计功能的表格示例。新增排序后触发的回调函数sorterClick。\r\n * demo0903\r\n */\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Checkbox,Button,Icon} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport multiSelect from \"tinper-bee/lib/multiSelect.js\";;\r\nimport sort from \"tinper-bee/lib/sort.js\";;\r\nimport sum from \"tinper-bee/lib/sum.js\";;\r\n\r\nconst columns13 = [\r\n {\r\n title: \"订单编号\",\r\n dataIndex: \"a\",\r\n key: \"a\",\r\n className:'dfasd',\r\n width: 200,\r\n sorter: (pre, after) => {return pre.a.localeCompare(after.a)},\r\n sorterClick:(data,type)=>{//排序的回调函数\r\n //type value is up or down\r\n console.log(\"data\",data);\r\n }\r\n },\r\n {\r\n title: \"金额\",\r\n dataIndex: \"b\",\r\n key: \"b\",\r\n width: 200,\r\n sumCol: true,\r\n sorter: (pre, after) => pre.b - after.b,\r\n sorterClick:(data,type)=>{//排序的回调函数\r\n //type value is up or down\r\n console.log(\"data\",data);\r\n }\r\n },\r\n {\r\n title: \"整单数量\",\r\n dataIndex: \"c\",\r\n key: \"c\",\r\n width: 200,\r\n sumCol: true,\r\n sorter: (pre, after) => pre.c - after.c,\r\n sorterClick:(data,type)=>{//排序的回调函数\r\n //type value is up or down\r\n console.log(\"data\",data);\r\n }\r\n },\r\n {\r\n title: \"日销售量\",\r\n dataIndex: \"e\",\r\n key: \"e\",\r\n width: 200,\r\n sumCol: true,\r\n sorter: (pre, after) => pre.e - after.e,\r\n },\r\n {\r\n title: \"供应商\",\r\n dataIndex: \"d\",\r\n key: \"d\",\r\n width: 200\r\n }\r\n];\r\n\r\nconst data13 = [\r\n { a: \"NU0391001\", b: 675, c: 30, d: \"xx供应商\",e:100, key: \"2\" },\r\n { a: \"NU0391002\", b: 43, c: 41, d: \"yy供应商\",e:90, key: \"1\" },\r\n { a: \"NU0391003\", b: 43, c: 81, d: \"zz供应商\", e:120,key: \"4\" },\r\n { a: \"NU0391004\", b: 43, c: 81, d: \"aa供应商\", e:130,key: \"5\" },\r\n { a: \"NU0391005\", b: 153, c: 25, d: \"bb供应商\",e:90, key: \"3\" }\r\n];\r\n\r\n\r\n//拼接成复杂功能的table组件不能在render中定义,需要像此例子声明在组件的外侧,不然操作state会导致功能出现异常\r\nlet ComplexTable = multiSelect(sort(sum(Table, Icon)), Checkbox);\r\n\r\nclass Demo13 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data13: data13,\r\n selectedRow: this.selectedRow,\r\n selectDisabled: this.selectDisabled\r\n };\r\n }\r\n getSelectedDataFunc = data => {\r\n console.log(data);\r\n };\r\n selectDisabled = (record, index) => {\r\n // console.log(record);\r\n if (index === 1) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n selectedRow = (record, index) => {\r\n // console.log(record);\r\n if (index === 0) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n onClick = () => {\r\n this.setState({\r\n selectedRow: function() {}\r\n });\r\n };\r\n\r\n render() {\r\n let multiObj = {\r\n type: \"checkbox\"\r\n };\r\n let sortObj = {\r\n mode:'multiple'\r\n }\r\n \r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","desc":" 结合多列排序、全选功能、合计功能的表格示例。新增排序后触发的回调函数sorterClick。"},{"example":,"title":" 拖拽改变列顺序","code":"/**\r\n*\r\n* @title 拖拽改变列顺序\r\n* @parent 列操作-拖拽 Drag\r\n* @description 点击选择表头并左右拖拽,可以改变表格列顺序。onDrop方法是拖拽交换列后触发的回调函数。注意:固定列不可以交换。\r\n* demo1001\r\n*/\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport {Icon} from \"tinper-bee\";\r\n\r\nimport Table from \"tinper-bee/lib/src\";; \r\nimport dragColumn from \"tinper-bee/lib/dragColumn\";;\r\n\r\nconst columns = [\r\n {\r\n title: \"订单编号\",\r\n dataIndex: \"a\",\r\n key: \"a\",\r\n width: 100\r\n },\r\n {\r\n title: \"单据日期\",\r\n dataIndex: \"b\",\r\n key: \"b\",\r\n width: 200\r\n },\r\n {\r\n title: \"供应商\",\r\n dataIndex: \"c\",\r\n key: \"c\",\r\n width: 200,\r\n sumCol: true,\r\n sorter: (a, b) => a.c - b.c\r\n },\r\n {\r\n title: \"联系人\",\r\n dataIndex: \"d\",\r\n key: \"d\",\r\n width: 500,\r\n },\r\n {\r\n title: \"操作\",\r\n dataIndex: \"e\",\r\n key: \"e\",\r\n width: 200,\r\n fixed: 'right',\r\n }\r\n];\r\n\r\nconst data = [\r\n { a: \"NU0391001\", b: \"2019-03-01\", c: 'xx供应商',d:'Tom',e:'...', key: \"2\" },\r\n { a: \"NU0391002\", b: \"2018-11-02\", c: 'yy供应商',d:'Jack',e:'...', key: \"1\" },\r\n { a: \"NU0391003\", b: \"2019-05-03\", c: 'zz供应商',d:'Jane',e:'...', key: \"3\" }\r\n];\r\n\r\nconst DragColumnTable = dragColumn(Table);\r\n\r\nconst defaultProps22 = {\r\n prefixCls: \"bee-table\"\r\n};\r\n\r\nclass Demo22 extends Component {\r\n constructor(props) {\r\n super(props); \r\n }\r\n \r\n render() {\r\n return {\r\n console.log(\"--拖拽交换列后触发事件\");\r\n console.log(\"event.target:\",event.target);\r\n console.log(\"data:\",data);\r\n console.log(\"拖拽完成后的columns:\",columns);\r\n }}\r\n />;\r\n }\r\n}\r\n\r\nDemo22.defaultProps = defaultProps22;\r\n","desc":" 点击选择表头并左右拖拽,可以改变表格列顺序。onDrop方法是拖拽交换列后触发的回调函数。注意:固定列不可以交换。"},{"example":,"title":" 拖拽改变列宽度","code":"/**\r\n*\r\n* @title 拖拽改变列宽度\r\n* @parent 列操作-拖拽 Drag\r\n* @description onDropBorder方法为调整列宽后触发的回调函数。注:不支持tree结构的表头、合并表头的table。\r\n* demo1002\r\n*/\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport {Icon} from \"tinper-bee\";\r\n\r\nimport Table from \"tinper-bee/lib/src\";; \r\nimport dragColumn from \"tinper-bee/lib/dragColumn\";;\r\n\r\nconst columns23 = [\r\n {\r\n title: \"订单编号\",\r\n dataIndex: \"a\",\r\n key: \"a\",\r\n width: '200',\r\n fixed:'left'\r\n },\r\n {\r\n title: \"单据日期\",\r\n dataIndex: \"b\",\r\n key: \"b\",\r\n width: '600'\r\n },\r\n {\r\n title: \"供应商\",\r\n dataIndex: \"c\",\r\n key: \"c\",\r\n width: '200',\r\n }, \r\n {\r\n title: \"联系人\",\r\n dataIndex: \"d\",\r\n key: \"d\",\r\n width: 500,\r\n }\r\n];\r\n\r\nconst data23 = [\r\n { a: \"NU0391001\", b: \"2019-03-01\", c: \"xx供应商\",d:'Tom', key: \"2\" },\r\n { a: \"NU0391002\", b: \"2018-11-02\", c: \"yy供应商\",d:'Jack', key: \"1\" },\r\n { a: \"NU0391003\", b: \"2019-05-03\", c: \"zz供应商\",d:'Jane', key: \"3\" }\r\n];\r\n\r\nconst DragColumnTable = dragColumn(Table);\r\n\r\nclass Demo23 extends Component {\r\n constructor(props) {\r\n super(props); \r\n }\r\n\r\n render() {\r\n return {\r\n console.log(width+\"--调整列宽后触发事件\",e.target);\r\n }}\r\n />;\r\n }\r\n}\r\n\r\n","desc":" onDropBorder方法为调整列宽后触发的回调函数。注:不支持tree结构的表头、合并表头的table。"},{"example":,"title":" 嵌套子表格","code":"/**\r\n*\r\n* @title 嵌套子表格\r\n* @parent 扩展行 Expanded Row\r\n* @description 通过expandedRowRender参数来实现子表格。收起和展开的图标可自定义传入。注意:多选功能和嵌套表格一起使用时,需要设置 expandIconAsCell={true},把展开按钮放在单元格中展示。\r\n* demo1101\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport { Popconfirm,Icon,Checkbox } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport multiSelect from \"tinper-bee/lib/multiSelect\";;\r\n\r\nconst columns16 = [\r\n {\r\n title: \"操作\",\r\n dataIndex: \"d\",\r\n key: \"d\", \r\n width:100,\r\n render(text, record, index) {\r\n return (\r\n \r\n \r\n 一些操作\r\n \r\n \r\n );\r\n }\r\n },\r\n { title: \"订单编号\", dataIndex: \"a\", key: \"a\", width: 250 },\r\n { id: \"123\", title: \"单据日期\", dataIndex: \"b\", key: \"b\", width: 100 },\r\n { title: \"供应商\", dataIndex: \"c\", key: \"c\", width: 200 },\r\n \r\n];\r\nconst columns17 = [\r\n { title: \"订单编号\", dataIndex: \"a\", key: \"a\", width: 100 },\r\n { id: \"123\", title: \"单据日期\", dataIndex: \"b\", key: \"b\", width: 100 },\r\n { title: \"供应商\", dataIndex: \"c\", key: \"c\", width: 200 }\r\n];\r\n\r\nconst data16 = [\r\n { a: \"NU0391001\", b: \"2019-03-01\", c: \"xx供应商\", d: \"操作\", key: \"1\" },\r\n { a: \"NU0391002\", b: \"2018-11-02\", c: \"yy供应商\", d: \"操作\", key: \"2\" },\r\n { a: \"NU0391003\", b: \"2019-05-03\", c: \"zz供应商\", d: \"操作\", key: \"3\" }\r\n];\r\nconst MultiSelectTable = multiSelect(Table,Checkbox);\r\nclass Demo16 extends Component {\r\n constructor(props){\r\n super(props);\r\n this.state={\r\n data_obj:{}\r\n }\r\n }\r\n expandedRowRender = (record, index, indent) => {\r\n let height = 42 * (this.state.data_obj[record.key].length+ 2);\r\n \r\n return (\r\n \r\n );\r\n };\r\n getData=(expanded, record)=>{\r\n //当点击展开的时候才去请求数据\r\n let new_obj = Object.assign({},this.state.data_obj);\r\n if(expanded){\r\n if(record.key==='1'){\r\n new_obj[record.key] = [\r\n { a: \"NU0391056\", b: \"2019-03-01\", c: \"gys1\", d: \"操作\", key: \"1\" },\r\n { a: \"NU0391057\", b: \"2018-11-02\", c: \"gys2\", d: \"操作\", key: \"2\" },\r\n ]\r\n this.setState({\r\n data_obj:new_obj\r\n })\r\n }else{\r\n new_obj[record.key] = [\r\n { a: \"NU0391079\", b: \"2019-04-17\", c: \"gys5\", d: \"操作\", key: \"3\" },\r\n ]\r\n this.setState({\r\n data_obj:new_obj\r\n })\r\n }\r\n }\r\n }\r\n\r\n haveExpandIcon=(record, index)=>{\r\n //控制是否显示行展开icon,该参数只有在和expandedRowRender同时使用才生效\r\n if(index == 0){\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n render() {\r\n return (\r\n }\r\n expandedIcon={}\r\n />\r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 通过expandedRowRender参数来实现子表格。收起和展开的图标可自定义传入。注意:多选功能和嵌套表格一起使用时,需要设置 expandIconAsCell={true},把展开按钮放在单元格中展示。","scss_code":".expanded-table{\r\n .expand-icon-con .uf{\r\n font-size: 12px;\r\n }\r\n}"},{"example":,"title":" 树型表格数据展示","code":"/**\r\n*\r\n* @title 树型表格数据展示\r\n* @parent 扩展行 Expanded Row\r\n* @description 通过在data中配置children数据,来自动生成树形表格\r\n* demo1102\r\n*/\r\n\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\n\r\nconst columns4 = [\r\n {\r\n title: \"订单编号\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n width: \"40%\"\r\n },\r\n {\r\n title: \"单据日期\",\r\n dataIndex: \"age\",\r\n key: \"age\",\r\n width: \"30%\"\r\n },\r\n {\r\n title: \"供应商\",\r\n dataIndex: \"address\",\r\n key: \"address\"\r\n }\r\n];\r\n\r\nconst data4 = [\r\n {\r\n key: 1,\r\n name: \"NU0391001\",\r\n age: \"2019-03-01\",\r\n address: \"供应商1\",\r\n children: [\r\n {\r\n key: 11,\r\n name: \"NU0391002\",\r\n age: \"2019-03-02\",\r\n address: \"供应商2\"\r\n },\r\n {\r\n key: 12,\r\n name: \"NU0391003\",\r\n age: \"2019-03-03\",\r\n address: \"供应商3\",\r\n children: [\r\n {\r\n key: 121,\r\n name: \"NU0391004\",\r\n age: \"2019-03-04\",\r\n address: \"供应商4\"\r\n }\r\n ]\r\n },\r\n {\r\n key: 13,\r\n name: \"NU0391005\",\r\n age: \"2019-03-05\",\r\n address: \"供应商5\",\r\n children: [\r\n {\r\n key: 131,\r\n name: \"NU0391006\",\r\n age: \"2019-03-06\",\r\n address: \"供应商6\",\r\n children: [\r\n {\r\n key: 1311,\r\n name: \"NU0391007\",\r\n age: \"2019-03-07\",\r\n address: \"供应商7\"\r\n },\r\n {\r\n key: 1312,\r\n name: \"NU0391008\",\r\n age: \"2019-03-08\",\r\n address: \"供应商8\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n key: 2,\r\n name: \"NU0391009\",\r\n age: \"2019-03-09\",\r\n address: \"供应商9\"\r\n }\r\n];\r\nclass Demo4 extends Component {\r\n\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n data: data4,\r\n factoryValue: 0,\r\n selectedRow: new Array(data4.length)//状态同步\r\n }\r\n }\r\n\r\n render() {\r\n return
{\r\n if (this.state.selectedRow[index]) {\r\n return 'selected';\r\n } else {\r\n return '';\r\n }\r\n }}\r\n onRowClick={(record,index,indent)=>{\r\n let selectedRow = new Array(this.state.data.length);\r\n selectedRow[index] = true;\r\n this.setState({\r\n factoryValue: record,\r\n selectedRow: selectedRow\r\n });\r\n }}\r\n \r\n columns={columns4} data={data4} />;\r\n }\r\n}\r\n\r\n\r\n","desc":" 通过在data中配置children数据,来自动生成树形表格"},{"example":,"title":" 自定义表格标题、表尾、选中行颜色","code":"/**\r\n*\r\n* @title 自定义表格标题、表尾、选中行颜色\r\n* @parent 扩展行 Expanded Row\r\n* @description 可根据业务场景设置不同的`title`和`footer`。选中行颜色可用rowClassName作为选择器自定义css样式。\r\n* demo1103\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Button,Tooltip,} from \"tinper-bee\";\r\n\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 150, className: \"rowClassName\"},\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width: 100 },\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 100 },\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 100 }\r\n];\r\n\r\nconst data = [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", key: \"1\" },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", key: \"2\" },\r\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", key: \"3\" }\r\n];\r\n\r\nclass Demo26 extends Component {\r\n\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n data: data,\r\n selectedRowIndex: 0\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n {\r\n if (this.state.selectedRowIndex == index) {\r\n return 'selected';\r\n } else {\r\n return '';\r\n }\r\n }}\r\n onRowClick={(record,index,indent)=>{\r\n this.setState({ \r\n selectedRowIndex: index\r\n });\r\n }}\r\n title={currentData =>
员工信息统计表
}\r\n footer={currentData =>
合计: 共{data.length}条数据
}\r\n /> \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 可根据业务场景设置不同的`title`和`footer`。选中行颜色可用rowClassName作为选择器自定义css样式。"},{"example":,"title":" 紧凑型、宽松型","code":"/**\r\n*\r\n* @title 紧凑型、宽松型\r\n* @parent 扩展行 Expanded Row\r\n* @description 设置`size`属性使用紧凑型表格(`sm`)或宽松型表格(`lg`)。\r\n* demo1105\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Button,Tooltip,Tag} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n { title: \"订单编号\", dataIndex: \"orderNum\", key: \"orderNum\", width: 100 },\r\n { title: \"采购组织\", dataIndex: \"org\", key: \"org\", width: 200 },\r\n { title: \"供应商\", dataIndex: \"supplier\", key: \"supplier\", width: 100 },\r\n { title: \"订单日期\", dataIndex: \"orderDate\", key: \"orderDate\", width: 150 },\r\n { title: \"总数量\", dataIndex: \"quantity\", key: \"quantity\", width: 100 },\r\n { title: \"单据状态\", dataIndex: \"status\", key: \"status\", width: 100, \r\n render: (text, record, index) => {\r\n return (\r\n {text.desc}\r\n );\r\n }},\r\n { title: \"提交人\", dataIndex: \"submitter\", key: \"submitter\", width: 100 },\r\n { title: \"单位\", dataIndex: \"unit\", key: \"unit\", width: 100 },\r\n { title: \"总税价合计\", dataIndex: \"sum\", key: \"sum\", width: 100 },\r\n];\r\n\r\nconst data = [\r\n { \r\n orderNum: \"NU0391025\", \r\n org: \"用友网络科技股份有限公司\", \r\n supplier: \"xx供应商\", \r\n orderDate: '2018年03月18日', \r\n quantity: '100.00', \r\n status: {type:'success' ,desc:'正常'}, \r\n submitter: '小张', \r\n unit: 'pc', \r\n sum:'8,487.00', \r\n key: \"1\" \r\n },\r\n { \r\n orderNum: \"NU0391026\", \r\n org: \"用友网络科技股份有限公司\", \r\n supplier: \"xx供应商\", \r\n orderDate: '2018年02月05日', \r\n quantity: '91.00', \r\n status: {type:'danger' ,desc:'异常'}, \r\n submitter: '小红', \r\n unit: 'pc', \r\n sum:'675.00', \r\n key: \"2\" \r\n },\r\n { \r\n orderNum: \"NU0391027\", \r\n org: \"用友网络科技股份有限公司\", \r\n supplier: \"xx供应商\", \r\n orderDate: '2018年07月01日', \r\n quantity: '98.00', \r\n status: {type:'success' ,desc:'正常'}, \r\n submitter: '小李', \r\n unit: 'pc', \r\n sum:'1,531.00', \r\n key: \"3\" \r\n }\r\n];\r\n\r\nclass Demo1 extends Component {\r\n render() {\r\n return (\r\n
\r\n
紧凑型表格
\r\n
\r\n
宽松型表格
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 设置`size`属性使用紧凑型表格(`sm`)或宽松型表格(`lg`)。"},{"example":,"title":" 自定义行高","code":"/**\r\n*\r\n* @title 自定义行高\r\n* @parent 扩展行 Expanded Row\r\n* @description 设置`height`属性自定义表体行高,设置`headerHeight`属性自定义表头高度。鼠标hover行时呼出操作按钮。\r\n* demo1106\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Button,Tooltip} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 150, className: \"rowClassName\"},\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width: 100 },\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 100 },\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 100 }\r\n];\r\n\r\nconst data = [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", key: \"1\" },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", key: \"2\" },\r\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", key: \"3\" }\r\n];\r\n\r\nclass Demo1 extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: data,\r\n selectedRowIndex: 0\r\n }\r\n }\r\n handleClick = () => {\r\n console.log('这是第' , this.currentIndex , '行');\r\n console.log('内容:' , this.currentRecord);\r\n }\r\n\r\n onRowHover=(index,record)=>{\r\n this.currentIndex = index;\r\n this.currentRecord = record;\r\n }\r\n\r\n getHoverContent=()=>{\r\n return
\r\n }\r\n\r\n render() {\r\n return (\r\n {\r\n this.setState({\r\n selectedRowIndex: index\r\n });\r\n }}\r\n />\r\n\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 设置`height`属性自定义表体行高,设置`headerHeight`属性自定义表头高度。鼠标hover行时呼出操作按钮。"},{"example":,"title":" 图片在表格中的展示","code":"/**\r\n*\r\n* @title 图片在表格中的展示\r\n* @parent 扩展行 Expanded Row\r\n* @description 根据图片高度自动撑开行高,可结合图片查看器使用 http://design.yonyoucloud.com/tinper-bee/bee-viewer, 注:如果图片在固定列中,可以使用heightConsistent属性,当此属性为true,就不会出现错行问题\r\n* demo1107\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Button,Tooltip} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n {\r\n title: \"序号\",\r\n dataIndex: \"index\",\r\n key: \"index\",\r\n width: 80,\r\n render(text, record, index) {\r\n return index + 1;\r\n }\r\n },\r\n {\r\n title: \"图样\",\r\n dataIndex: \"picture\",\r\n key: \"picture\",\r\n render(text, record, index) {\r\n return \"Picture\"/\r\n }\r\n },\r\n {\r\n title: \"组织部门\",\r\n dataIndex: \"orgDept\",\r\n key: \"orgDept\",\r\n width: 100,\r\n },\r\n {\r\n title: \"设施管理部门\",\r\n dataIndex: \"facilityManageUnit\",\r\n key: \"facilityManageUnit\",\r\n width: 150,\r\n },\r\n {\r\n title: \"案卷编号\",\r\n dataIndex: \"docketnum\",\r\n key: \"docketnum\",\r\n width: 100,\r\n },\r\n {\r\n title: \"数量\",\r\n dataIndex: \"num\",\r\n key: \"num\",\r\n width: 100,\r\n },\r\n {\r\n title: \"首次发现时间\",\r\n dataIndex: \"discoveryTime\",\r\n key: \"discoveryTime\",\r\n width: 150,\r\n },\r\n {\r\n title: \"实际修复时间\",\r\n dataIndex: \"repairTime\",\r\n key: \"repairTime\",\r\n width: 150,\r\n }\r\n];\r\n\r\nconst data = [\r\n { key: \"1\", orgDept: \"组织1\", facilityManageUnit: \"部门1\", docketnum: 41, num: \"1\", discoveryTime: \"2018-10-17\", repairTime: \"2018-10-30\", picture: \"http://design.yonyoucloud.com/static/bee.tinper.org-demo/swiper-demo-1-min.jpg\"},\r\n { key: \"2\", orgDept: \"组织2\", facilityManageUnit: \"部门2\", docketnum: 30, num: \"2\", discoveryTime: \"2019-01-15\", repairTime: \"2019-01-20\", picture: \"http://design.yonyoucloud.com/static/bee.tinper.org-demo/swiper-demo-2-min.jpg\"},\r\n { key: \"3\", orgDept: \"组织3\", facilityManageUnit: \"部门3\", docketnum: 35, num: \"3\", discoveryTime: \"2019-04-10\", repairTime: \"2019-04-17\", picture: \"http://design.yonyoucloud.com/static/bee.tinper.org-demo/swiper-demo-3-min.jpg\"}\r\n];\r\n\r\nclass Demo1107 extends Component {\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 根据图片高度自动撑开行高,可结合图片查看器使用 http://design.yonyoucloud.com/tinper-bee/bee-viewer, 注:如果图片在固定列中,可以使用heightConsistent属性,当此属性为true,就不会出现错行问题"},{"example":,"title":" 自定义行、列合并","code":"/**\r\n*\r\n* @title 自定义行、列合并\r\n* @parent 扩展行 Expanded Row\r\n* @description 表头只支持列合并,使用 column 里的 colSpan 进行设置。表格支持行/列合并,使用 render 里的单元格属性 colSpan 或者 rowSpan 设值为 0 时,设置的表格不会渲染。\r\n* demo1108\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { Button } from 'tinper-bee';\r\n\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst renderContent = (value, row, index) => {\r\n const obj = {\r\n children: value,\r\n props: {},\r\n };\r\n if (index === 4) {\r\n obj.props.colSpan = 0;\r\n }\r\n return obj;\r\n};\r\n\r\nconst columns = [{\r\n title: '姓名',\r\n key: \"name\",\r\n dataIndex: 'name',\r\n render: (text, row, index) => {\r\n if (index < 4) {\r\n return {text};\r\n }\r\n return {\r\n children: {text},\r\n props: {\r\n colSpan: 5,\r\n },\r\n };\r\n },\r\n}, {\r\n title: '年龄',\r\n key: \"age\",\r\n dataIndex: 'age',\r\n render: renderContent,\r\n}, {\r\n title: '联系方式',\r\n colSpan: 2,\r\n key: \"tel\",\r\n dataIndex: 'tel',\r\n render: (value, row, index) => {\r\n const obj = {\r\n children: value,\r\n props: {},\r\n };\r\n if (index === 2) {\r\n obj.props.rowSpan = 2;\r\n }\r\n if (index === 3) {\r\n obj.props.rowSpan = 0;\r\n }\r\n if (index === 4) {\r\n obj.props.colSpan = 0;\r\n }\r\n return obj;\r\n },\r\n}, {\r\n title: '手机号',\r\n colSpan: 0,\r\n key: \"phone\",\r\n dataIndex: 'phone',\r\n render: renderContent,\r\n}, {\r\n title: '家庭住址',\r\n key: \"address\",\r\n dataIndex: 'address',\r\n render: renderContent,\r\n}];\r\n\r\n\r\nconst columns1 = [{\r\n title: '姓名',\r\n key: \"name\",\r\n dataIndex: 'name',\r\n render: (text, row, index) => {\r\n if (index < 4) {\r\n return {text};\r\n }\r\n return {\r\n children: {text},\r\n props: {\r\n colSpan: 5,\r\n },\r\n };\r\n },\r\n}, {\r\n title: '年龄',\r\n key: \"age\",\r\n dataIndex: 'age',\r\n render: renderContent,\r\n}, {\r\n title: '联系方式',\r\n colSpan: 2,\r\n key: \"tel\",\r\n dataIndex: 'tel',\r\n render: renderContent\r\n}, {\r\n title: '手机号',\r\n colSpan: 0,\r\n key: \"phone\",\r\n dataIndex: 'phone',\r\n render: renderContent,\r\n}, {\r\n title: '家庭住址',\r\n key: \"address\",\r\n dataIndex: 'address',\r\n render: renderContent,\r\n}];\r\nconst data = [{\r\n key: '1',\r\n name: '小红',\r\n age: 32,\r\n tel: '0571-22098909',\r\n phone: 18889898989,\r\n address: '北京海淀',\r\n}, {\r\n key: '2',\r\n name: '小明',\r\n tel: '0571-22098333',\r\n phone: 18889898888,\r\n age: 42,\r\n address: '河北张家口',\r\n}, {\r\n key: '3',\r\n name: '张三',\r\n age: 32,\r\n tel: '0575-22098909',\r\n phone: 18900010002,\r\n address: '浙江杭州',\r\n}, {\r\n key: '4',\r\n name: '李四',\r\n age: 18,\r\n tel: '0575-22098909',\r\n phone: 18900010002,\r\n address: '广州深圳',\r\n}, {\r\n key: '5',\r\n name: '王五',\r\n age: 18,\r\n tel: '0575-22098909',\r\n phone: 18900010002,\r\n address: '北京昌平',\r\n}];\r\n\r\nclass Demo15 extends Component {\r\n constructor(props){\r\n super(props);\r\n this.state={\r\n colFlag:false\r\n }\r\n }\r\n onChange=()=>{\r\n const colFlag = this.state.colFlag;\r\n this.setState({\r\n colFlag:!colFlag\r\n })\r\n }\r\n render() {\r\n let cols = this.state.colFlag?columns:columns1;\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n\r\n","desc":" 表头只支持列合并,使用 column 里的 colSpan 进行设置。表格支持行/列合并,使用 render 里的单元格属性 colSpan 或者 rowSpan 设值为 0 时,设置的表格不会渲染。"},{"example":,"title":" 拖拽改变行顺序","code":"/**\r\n*\r\n* @title 拖拽改变行顺序\r\n* @parent 行操作-拖拽\r\n* @description `rowDraggAble`参数设置是否使用行交换顺序功能,`onDropRow` 是拖拽行后的回调函数。注意:表格行数据必须有唯一标识,可以通过 `data.key` 或 `rowKey` 两种方式传入。\r\n* Demo1201\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { Switch } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\n\r\nconst columns = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 150 },\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width:200 },\r\n { title: \"系统权限\", dataIndex: \"c\", key: \"c\", width: 200,render:()=>{return()}},\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 100 },\r\n { title: \"职级\", dataIndex: \"e\", key: \"e\", width: 100 }\r\n];\r\n\r\nconst data = [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", e: \"M1\", key: \"1001\" },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", e: \"T1\", key: \"1002\" },\r\n { a: \"ASVAL_201903120001\", b: \"小红\", c: \"女\", d: \"财务四科\", e: \"T3\", key: \"1003\" },\r\n { a: \"ASVAL_201903120002\", b: \"小姚\", c: \"女\", d: \"财务一科\", e: \"T2\", key: \"1004\" },\r\n { a: \"ASVAL_201903120003\", b: \"小岳\", c: \"男\", d: \"财务五科\", e: \"T2\", key: \"1005\" },\r\n { a: \"ASVAL_201903120004\", b: \"小王\", c: \"男\", d: \"财务一科\", e: \"T5\", key: \"1006\" },\r\n { a: \"ASVAL_201903120005\", b: \"小绍\", c: \"男\", d: \"财务七科\", e: \"T2\", key: \"1007\" },\r\n { a: \"ASVAL_201903120006\", b: \"小郭\", c: \"男\", d: \"财务一科\", e: \"T3\", key: \"1008\" },\r\n { a: \"ASVAL_201903120007\", b: \"小杨\", c: \"女\", d: \"财务四科\", e: \"T2\", key: \"1009\" }\r\n];\r\n\r\nclass Demo1201 extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: data\r\n }\r\n }\r\n handleClick = () => {\r\n console.log('这是第' , this.currentIndex , '行');\r\n console.log('内容:' , this.currentRecord);\r\n }\r\n\r\n /**\r\n * 行拖拽开始时触发\r\n * @param record 拖拽行的数据\r\n * @param index 拖拽行的下标序号\r\n */\r\n onDragRowStart = (record,index) => {\r\n console.log('拖拽的行数据:', record);\r\n console.log('拖拽的行序号:', index);\r\n }\r\n\r\n /**\r\n * 行拖拽结束时触发\r\n * @param data 拖拽改变顺序后的新data数组\r\n * @param record 拖拽行的数据\r\n */\r\n onDropRow = (data, record) => {\r\n console.log('重排序后的data: ', data);\r\n console.log('拖拽的行数据: ', record);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" `rowDraggAble`参数设置是否使用行交换顺序功能,`onDropRow` 是拖拽行后的回调函数。注意:表格行数据必须有唯一标识,可以通过 `data.key` 或 `rowKey` 两种方式传入。"},{"example":,"title":" 多选功能","code":"/**\r\n*\r\n* @title 多选功能\r\n* @parent 行操作-选择\r\n* @description 支持多选、全选和禁止选择。getSelectedDataFunc方法是选中行的回调函数,返回当前选中的数据数组。给data数据添加_checked参数可设置当前数据是否选中,添加_disabled参数可禁止选择当前数据。\r\n* demo1301\r\n*/\r\n\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport {Checkbox} from \"tinper-bee\";\r\n\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport multiSelect from \"tinper-bee/lib/multiSelect.js\";;\r\n\r\nconst columns = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 300, className: \"rowClassName\"},\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width: 500 },\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 500 },\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 200 }\r\n];\r\n\r\nconst data = [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", key: \"1\",_checked:true },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", key: \"2\",_checked:false },\r\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", key: \"3\",_checked:false },\r\n { a: \"ASVAL_201903280010\", b: \"小王\", c: \"女\", d: \"财务二科\", key: \"4\",_disabled:true },\r\n { a: \"ASVAL_201903200021\", b: \"小李\", c: \"男\", d: \"财务一科\", key: \"5\",_checked:false}\r\n];\r\n//拼接成复杂功能的table组件不能在render中定义,需要像此例子声明在组件的外侧,不然操作state会导致功能出现异常\r\nlet MultiSelectTable = multiSelect(Table, Checkbox);\r\n\r\nclass Demo12 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: data\r\n };\r\n }\r\n /**\r\n *@param selectedList:当前选中的行数据\r\n *@param record 当前操作行数据\r\n *@param index 当前操作行索引\r\n * @memberof Demo12\r\n */\r\n getSelectedDataFunc = (selectedList,record,index) => {\r\n console.log(\"selectedList\", selectedList,\"index\",index);\r\n // 如果在回调中增加setState逻辑,需要同步data中的_checked属性。即下面的代码\r\n // const allChecked = selectedList.length == 0?false:true;\r\n // record为undefind则为全选或者全不选\r\n // if(!record){\r\n // data12.forEach(item=>{\r\n // item._checked = allChecked;\r\n // })\r\n // }else{\r\n // data12[index]['_checked'] = record._checked;\r\n // } \r\n\r\n \r\n };\r\n \r\n render() {\r\n let multiObj = {\r\n type: \"checkbox\"\r\n };\r\n return (\r\n {\r\n if (record._checked) {\r\n return 'selected';\r\n } else {\r\n return '';\r\n }\r\n }}\r\n getSelectedDataFunc={this.getSelectedDataFunc}/>\r\n );\r\n }\r\n}\r\n\r\n","desc":" 支持多选、全选和禁止选择。getSelectedDataFunc方法是选中行的回调函数,返回当前选中的数据数组。给data数据添加_checked参数可设置当前数据是否选中,添加_disabled参数可禁止选择当前数据。"},{"example":,"title":" 单选功能","code":"/**\r\n*\r\n* @title 单选功能\r\n* @parent 行操作-选择\r\n* @description 表格支持单选行操作,可自定义选中行背景色。getSelectedDataFunc方法是选中行的回调函数。\r\n* Demo1302\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { Radio } from 'tinper-bee';\r\n\n\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport singleSelect from \"tinper-bee/lib/singleSelect.js\";;\r\n\r\nconst columns = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 300 },\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width: 500 },\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 500 },\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 200 }\r\n ];\r\n \r\n const data = [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", key: \"1\" },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", key: \"2\" },\r\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", key: \"3\" },\r\n { a: \"ASVAL_201903280010\", b: \"小王\", c: \"女\", d: \"财务二科\", key: \"4\" },\r\n { a: \"ASVAL_201903200021\", b: \"小李\", c: \"男\", d: \"财务一科\", key: \"5\" }\r\n ];\r\n\r\n//拼接成复杂功能的table组件不能在render中定义,需要像此例子声明在组件的外侧,不然操作state会导致功能出现异常\r\nlet SingleSelectTable = singleSelect(Table, Radio);\r\n\r\nclass Demo1302 extends Component {\r\n\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n data: data,\r\n selectedRowIndex: 0,\r\n }\r\n }\r\n\r\n /**\r\n *@param selected 当前选中的行数据(当前操作行数据)\r\n *@param index 当前操作行索引\r\n * @memberof Demo12\r\n */\r\n getSelectedDataFunc = (record,index) => {\r\n console.log(\"record\", record, \"index\",index);\r\n\r\n this.setState({\r\n selectedRowIndex:index\r\n })\r\n };\r\n\r\n render() {\r\n let {selectedRowIndex} = this.state;\r\n\r\n return (\r\n {\r\n if (index === selectedRowIndex) {\r\n return 'selected';\r\n } else {\r\n return '';\r\n }\r\n }}\r\n getSelectedDataFunc={this.getSelectedDataFunc}\r\n /> \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 表格支持单选行操作,可自定义选中行背景色。getSelectedDataFunc方法是选中行的回调函数。"},{"example":,"title":" 万行以上数据渲染","code":"/**\r\n*\r\n* @title 万行以上数据渲染\r\n* @parent 无限滚动 Infinite-scroll\r\n* @description 万行数据渲染\r\n* demo1401\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Tooltip} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport BigData from \"tinper-bee/lib/bigData\";;\r\nconst BigDataTable = BigData(Table);\r\nconst columns = [\r\n {\r\n title:'序号',\r\n dataIndex:'index',\r\n width:'60',\r\n key:'index',\r\n render:(text,record,index)=>{\r\n return index\r\n }\r\n },\r\n {\r\n title: \"用户名\", dataIndex: \"a\", key: \"a\", width: 580, className: \"rowClassName\",\r\n render: (text, record, index) => {\r\n return (\r\n \r\n {text}\r\n \r\n );\r\n }\r\n },\r\n { id: \"123\", title: \"性别\", dataIndex: \"b\", key: \"b\", width: 80},\r\n { title: \"年龄\", dataIndex: \"c\", key: \"c\", width: 200 }\r\n\r\n];\r\n\r\nconst data = [ ...new Array(10000) ].map((e, i) => {\r\n const rs = { a: i + 'a', b: i + 'b', c: i + 'c', d: i + 'd', key: i };\r\n if(i%3==0){\r\n rs.b = '女';\r\n }\r\n return rs;\r\n })\r\n\r\n\r\nclass Demo30 extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: data,\r\n selectedRowIndex: 0\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n {\r\n console.log('currentIndex--'+index);\r\n }}\r\n />\r\n\r\n \r\n );\r\n }\r\n}\r\n\r\n","desc":" 万行数据渲染","scss_code":".big-data tr td {\r\n // height: 48px;\r\n}"},{"example":,"title":" 嵌套子表格滚动加载","code":"/**\r\n*\r\n* @title 嵌套子表格滚动加载\r\n* @parent 无限滚动 Infinite-scroll\r\n* @description 通过expandedRowRender参数来实现子表格。注意:表格行数据必须有唯一标识,可以通过 `data.key` 或 `rowKey` 两种方式传入。\r\n* demo1402\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Popconfirm} from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport BigData from \"tinper-bee/lib/bigData\";;\r\nconst BigDataTable = BigData(Table);\r\nconst outColumns = [\r\n {\r\n title: \"操作\",\r\n dataIndex: \"d\",\r\n key: \"d\", \r\n width:200,\r\n render(text, record, index) {\r\n return (\r\n \r\n \r\n 一些操作\r\n \r\n \r\n );\r\n }\r\n },\r\n { title: \"用户名\", dataIndex: \"a\", key: \"a\", width: 250 },\r\n { id: \"123\", title: \"性别\", dataIndex: \"b\", key: \"b\", width: 100 },\r\n { title: \"年龄\", dataIndex: \"c\", key: \"c\", width: 200 },\r\n \r\n];\r\nconst innerColumns = [\r\n {\r\n title: \"操作\",\r\n dataIndex: \"d\",\r\n key: \"d\",\r\n width:200,\r\n render(text, record, index) {\r\n return (\r\n \r\n \r\n 一些操作\r\n \r\n \r\n );\r\n }\r\n },\r\n { title: \"用户名\", dataIndex: \"a\", key: \"a\", width: 100 },\r\n { id: \"123\", title: \"性别\", dataIndex: \"b\", key: \"b\", width: 100 },\r\n { title: \"年龄\", dataIndex: \"c\", key: \"c\", width: 200 },\r\n \r\n];\r\n\r\nconst data16 = [ ...new Array(10000) ].map((e, i) => {\r\n return { a: i + 'a', b: i + 'b', c: i + 'c', d: i + 'd', key: i };\r\n })\r\n\r\n\r\n\r\n\r\n\r\nclass Demo31 extends Component {\r\n constructor(props){\r\n super(props);\r\n this.state={\r\n data_obj:{\r\n 0:[\r\n { a: \"令狐冲\", b: \"男\", c: 41, d: \"操作\", key: \"1\" },\r\n { a: \"杨过\", b: \"男\", c: 67, d: \"操作\", key: \"2\" }\r\n ],\r\n 1: [\r\n { a: \"令狐冲\", b: \"男\", c: 41, d: \"操作\", key: \"1\" },\r\n { a: \"菲菲\", b: \"nv\", c: 67, d: \"操作\", key: \"2\" }\r\n ],\r\n }\r\n }\r\n }\r\n expandedRowRender = (record, index, indent) => {\r\n let height = 200;\r\n let innderData = [ ...new Array(100) ].map((e, i) => {\r\n return { a: index+\"-\"+ i + 'a', b: i + 'b', c: i + 'c', d: i + 'd', key: index+\"-\"+ i };\r\n })\r\n return (\r\n \r\n );\r\n };\r\n getData=(expanded, record)=>{\r\n //当点击展开的时候才去请求数据\r\n let new_obj = Object.assign({},this.state.data_obj);\r\n if(expanded){\r\n if(record.key==='1'){\r\n new_obj[record.key] = [\r\n { a: \"令狐冲\", b: \"男\", c: 41, d: \"操作\", key: \"1\" },\r\n { a: \"杨过\", b: \"男\", c: 67, d: \"操作\", key: \"2\" }\r\n ]\r\n this.setState({\r\n data_obj:new_obj\r\n })\r\n }else{\r\n new_obj[record.key] = [\r\n { a: \"令狐冲\", b: \"男\", c: 41, d: \"操作\", key: \"1\" },\r\n { a: \"菲菲\", b: \"nv\", c: 67, d: \"操作\", key: \"2\" }\r\n ]\r\n this.setState({\r\n data_obj:new_obj\r\n })\r\n }\r\n }\r\n }\r\n haveExpandIcon=(record, index)=>{\r\n //控制是否显示行展开icon,该参数只有在和expandedRowRender同时使用才生效\r\n if(index == 0){\r\n return true;\r\n }\r\n return false;\r\n }\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 通过expandedRowRender参数来实现子表格。注意:表格行数据必须有唯一标识,可以通过 `data.key` 或 `rowKey` 两种方式传入。"},{"example":,"title":" 多功能表格滚动加载","code":"/**\r\n*\r\n* @title 多功能表格滚动加载\r\n* @parent 无限滚动 Infinite-scroll\r\n* @description\r\n* demo1403\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Tooltip,Checkbox,Icon,Popover} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport BigData from \"tinper-bee/lib/bigData\";;\r\nimport multiSelect from \"tinper-bee/lib/multiSelect\";;\r\nimport filterColumn from \"tinper-bee/lib/filterColumn\";;\r\n\r\nlet ComplexTable = filterColumn(multiSelect(BigData(Table), Checkbox), Popover, Icon);\r\n\r\nconst columns = [\r\n {\r\n title:'序号',\r\n dataIndex:'index',\r\n width:'80',\r\n key:'index',\r\n render:(text,record,index)=>{\r\n return index\r\n }\r\n },\r\n {\r\n title: \"用户名\", dataIndex: \"a\", key: \"a\", width: 580, className: \"rowClassName\",\r\n render: (text, record, index) => {\r\n return (\r\n \r\n {text}\r\n \r\n );\r\n }\r\n },\r\n { id: \"123\", title: \"性别\", dataIndex: \"b\", key: \"b\", width: 80},\r\n { title: \"年龄\", dataIndex: \"c\", key: \"c\", width: 200 }\r\n];\r\n\r\nconst data = [ ...new Array(10000) ].map((e, i) => {\r\n const rs = { a: i + 'a', b: i + 'b', c: i + 'c', d: i + 'd', key: i };\r\n if(i%3==0){\r\n rs.b = '女';\r\n }\r\n return rs;\r\n })\r\n\r\n\r\nclass Demo32 extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: data,\r\n selectedRowIndex: 0\r\n }\r\n }\r\n getSelectedDataFunc = data => {\r\n console.log(data);\r\n };\r\n\r\n render() {\r\n return (\r\n {\r\n this.setState({\r\n selectedRowIndex: index\r\n });\r\n }}\r\n getSelectedDataFunc={this.getSelectedDataFunc}/>\r\n\r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":""},{"example":,"title":" 层级树大数据场景","code":"/**\r\n* @title 层级树大数据场景\r\n* @parent 无限滚动 Infinite-scroll\r\n* @description\r\n* demo1404\r\n*/\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Tooltip} from \"tinper-bee\";\r\n\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport BigData from \"tinper-bee/lib/bigData\";;\r\nconst BigDataTable = BigData(Table);\r\nconst columns = [\r\n {\r\n title:'序号',\r\n dataIndex:'index',\r\n width:'150',\r\n key:'index',\r\n render:(text,record,index)=>{\r\n return index\r\n }\r\n },\r\n {\r\n title: \"用户名\", dataIndex: \"a\", key: \"a\", width: 580, className: \"rowClassName\",\r\n render: (text, record, index) => {\r\n return (\r\n \r\n {text}\r\n \r\n );\r\n }\r\n },\r\n { id: \"123\", title: \"性别\", dataIndex: \"b\", key: \"b\", width: 80},\r\n { title: \"年龄\", dataIndex: \"c\", key: \"c\", width: 200 }\r\n];\r\n\r\nconst data = [ ...new Array(1000) ].map((e, i) => {\r\n const rs = { a: i + 'a', b: i + 'b', c: i + 'c', d: i + 'd', key: i };\r\n if(i%3==0){\r\n rs.b = '女';\r\n rs.children = [];\r\n for(let subi=0;subi<3;subi++){\r\n rs.children.push({a: i +subi + 'asub', b: i +subi + 'bsub', c: i + subi +'csub', d: i + subi +'dsub', key: i+ `${subi} sub`});\r\n }\r\n }else{\r\n rs.children = [];\r\n for(let subi=0;subi<3;subi++){\r\n rs.children.push({a: i +subi + 'asub', b: i +subi + 'bsub', c: i + subi +'csub', d: i + subi +'dsub', key: i+ `${subi} sub`});\r\n }\r\n }\r\n return rs;\r\n })\r\n\r\n\r\nclass Demo34 extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: data,\r\n selectedRowIndex: 0\r\n }\r\n }\r\n onExpandedRowsChange = (expandedRowKeys)=>{\r\n console.log('expandedRowKeys',expandedRowKeys);\r\n }\r\n onExpand = (expandKeys)=>{\r\n console.log('expand---'+expandKeys);\r\n }\r\n render() {\r\n return (\r\n {\r\n console.log('currentIndex--'+index);\r\n }}\r\n onExpandedRowsChange={this.onExpandedRowsChange}\r\n />\r\n\r\n \r\n );\r\n }\r\n}\r\n\r\n","desc":""},{"example":,"title":" 表格+分页","code":"/**\r\n * @title 表格+分页\r\n * @parent 分页 Pagination\r\n * @description 点击分页联动表格\r\n * demo1601\r\n */\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Pagination} from \"tinper-bee\";\r\n\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 300, className: \"rowClassName\"},\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width: 500 },\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 500 },\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 200 }\r\n];\r\n\r\nconst pageData = {\r\n 1: [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", key: \"1\" },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", key: \"2\" },\r\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", key: \"3\" }\r\n ],\r\n 2: [\r\n { a: \"ASVAL_201903280010\", b: \"小王\", c: \"女\", d: \"财务二科\", key: \"4\" },\r\n { a: \"ASVAL_201903200021\", b: \"小李\", c: \"男\", d: \"财务一科\", key: \"5\" },\r\n ]\r\n};\r\n\r\nclass Demo8 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: pageData[1],\r\n activePage: 1\r\n };\r\n }\r\n\r\n handleSelect(eventKey) {\r\n this.setState({\r\n data: pageData[eventKey],\r\n activePage: eventKey\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n","desc":" 点击分页联动表格","scss_code":".demo8{\r\n .u-table {\r\n margin-bottom: 11px;\r\n }\r\n .u-pagination{\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n}"}] +var Demo0101 = require("./demolist/Demo0101");var Demo0102 = require("./demolist/Demo0102");var Demo0103 = require("./demolist/Demo0103");var Demo0104 = require("./demolist/Demo0104");var Demo0105 = require("./demolist/Demo0105");var Demo0106 = require("./demolist/Demo0106");var Demo0107 = require("./demolist/Demo0107");var Demo0201 = require("./demolist/Demo0201");var Demo0202 = require("./demolist/Demo0202");var Demo0301 = require("./demolist/Demo0301");var Demo0302 = require("./demolist/Demo0302");var Demo0402 = require("./demolist/Demo0402");var Demo0404 = require("./demolist/Demo0404");var Demo0405 = require("./demolist/Demo0405");var Demo0501 = require("./demolist/Demo0501");var Demo0502 = require("./demolist/Demo0502");var Demo0503 = require("./demolist/Demo0503");var Demo0505 = require("./demolist/Demo0505");var Demo0601 = require("./demolist/Demo0601");var Demo0602 = require("./demolist/Demo0602");var Demo0603 = require("./demolist/Demo0603");var Demo0701 = require("./demolist/Demo0701");var Demo0702 = require("./demolist/Demo0702");var Demo0802 = require("./demolist/Demo0802");var Demo0901 = require("./demolist/Demo0901");var Demo0902 = require("./demolist/Demo0902");var Demo0903 = require("./demolist/Demo0903");var Demo1001 = require("./demolist/Demo1001");var Demo1002 = require("./demolist/Demo1002");var Demo1101 = require("./demolist/Demo1101");var Demo1102 = require("./demolist/Demo1102");var Demo1103 = require("./demolist/Demo1103");var Demo1105 = require("./demolist/Demo1105");var Demo1106 = require("./demolist/Demo1106");var Demo1107 = require("./demolist/Demo1107");var Demo1108 = require("./demolist/Demo1108");var Demo1201 = require("./demolist/Demo1201");var Demo1301 = require("./demolist/Demo1301");var Demo1302 = require("./demolist/Demo1302");var Demo1401 = require("./demolist/Demo1401");var Demo1402 = require("./demolist/Demo1402");var Demo1403 = require("./demolist/Demo1403");var Demo1404 = require("./demolist/Demo1404");var Demo1601 = require("./demolist/Demo1601");var DemoArray = [{"example":,"title":" 基本表格","code":"/**\r\n*\r\n* @title 基本表格\r\n* @parent 基础 Basic\r\n* @description 单元格数据过长时,可结合Tooltip组件使用。\r\n* demo0101\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 150 },\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width:100},\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 100},\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 100 },\r\n { title: \"职级\", dataIndex: \"e\", key: \"e\", width: 100 }\r\n];\r\n\r\nconst data = [\r\n { a: \"ASVAL_20190328\", b: \"小张\", c: \"男\", d: \"财务二科\", e: \"M1\", key: \"1\" },\r\n { a: \"ASVAL_20190320\", b: \"小明\", c: \"男\", d: \"财务一科\", e: \"T1\", key: \"2\" },\r\n { a: \"ASVAL_20190312\", b: \"小红\", c: \"女\", d: \"财务一科\", e: \"T2\", key: \"3\" }\r\n];\r\n\r\nclass Demo0101 extends Component {\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 单元格数据过长时,可结合Tooltip组件使用。"},{"example":,"title":" 默认无数据展示","code":"/**\r\n*\r\n* @title 默认无数据展示\r\n* @parent 基础 Basic\r\n* @description 无数据时默认展示图标,可在`emptyText`方法中自定义展示内容。\r\n* demo0102\r\n*/\r\n\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n {\r\n title: \"员工编号\",\r\n dataIndex: \"num\",\r\n key: \"num\",\r\n width: \"40%\"\r\n },\r\n {\r\n title: \"员工姓名\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n width: \"30%\"\r\n },\r\n {\r\n title: \"部门\",\r\n dataIndex: \"department\",\r\n key: \"department\"\r\n }\r\n];\r\n \r\nconst data = [];\r\n\r\n// 在此自定义无数据时的展示内容\r\nconst emptyFunc = () => 'No Data';\r\n \r\nclass Demo02 extends Component {\r\n render() {\r\n return (\r\n
\r\n )\r\n }\r\n}\r\n\r\n","desc":" 无数据时默认展示图标,可在`emptyText`方法中自定义展示内容。"},{"example":,"title":" 固定表头","code":"/**\r\n*\r\n* @title 固定表头\r\n* @parent 基础 Basic\r\n* @description 设置`scroll.y`指定滚动区域的高度,达到固定表头效果。\r\n* demo0103\r\n*/\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns03 = [\r\n {\r\n title: \"序号\",\r\n dataIndex: \"index\",\r\n key: \"index\",\r\n width: 80, \r\n render(text, record, index) {\r\n return index + 1;\r\n }\r\n },\r\n {\r\n title: \"订单编号\",\r\n dataIndex: \"orderCode\",\r\n key: \"orderCode\",\r\n width: 200, \r\n },\r\n {\r\n title: \"供应商名称\",\r\n dataIndex: \"supplierName\",\r\n key: \"supplierName\",\r\n width: 200\r\n },\r\n {\r\n title: \"类型\",\r\n dataIndex: \"type_name\",\r\n key: \"type_name\",\r\n width: 200\r\n },\r\n {\r\n title: \"采购组织\",\r\n dataIndex: \"purchasing\",\r\n key: \"purchasing\",\r\n width: 200\r\n },\r\n {\r\n title: \"采购组\",\r\n dataIndex: \"purchasingGroup\",\r\n key: \"purchasingGroup\",\r\n width: 200\r\n },\r\n {\r\n title: \"凭证日期\",\r\n dataIndex: \"voucherDate\",\r\n key: \"voucherDate\",\r\n width: 200,\r\n }\r\n];\r\n\r\nconst data03 = [\r\n { \r\n orderCode:\"NU0391025\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年03月18日\",\r\n key: \"1\"\r\n }, \r\n { \r\n orderCode:\"NU0391026\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织a', \r\n purchasingGroup:\"bb\",\r\n voucherDate:\"2018年02月05日\",\r\n key: \"2\"\r\n },\r\n { \r\n orderCode:\"NU0391027\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织b', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年07月01日\",\r\n key: \"3\"\r\n },\r\n { \r\n orderCode:\"NU0391028\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"4\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"cc\",\r\n voucherDate:\"2019年03月01日\",\r\n key: \"4\"\r\n },\r\n { \r\n orderCode:\"NU0391029\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"5\",\r\n purchasing:'组织d', \r\n purchasingGroup:\"ss\",\r\n voucherDate:\"2019年02月14日\",\r\n key: \"5\"\r\n },\r\n { \r\n orderCode:\"NU0391030\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织e', \r\n purchasingGroup:\"zz\",\r\n voucherDate:\"2019年02月18日\",\r\n key: \"6\"\r\n },\r\n { \r\n orderCode:\"NU0391031\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织f', \r\n purchasingGroup:\"qq\",\r\n voucherDate:\"2019年01月01日\",\r\n key: \"7\"\r\n },\r\n { \r\n orderCode:\"NU0391032\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织g', \r\n purchasingGroup:\"pp\",\r\n voucherDate:\"2019年01月31日\",\r\n key: \"8\"\r\n },\r\n];\r\n\r\nclass Demo03 extends Component {\r\n render() {\r\n return
;\r\n }\r\n}\r\n\r\n","desc":" 设置`scroll.y`指定滚动区域的高度,达到固定表头效果。"},{"example":,"title":" 隔行换色","code":"/**\r\n*\r\n* @title 隔行换色\r\n* @parent 基础 Basic\r\n* @description 可自定义斑马线颜色\r\n* demo0104\r\n*/\r\n\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns04 = [\r\n {title: \"序号\",dataIndex: \"index\",key: \"index\",width: 80, \r\n render(text, record, index) {\r\n return index + 1;\r\n }\r\n },\r\n {title: \"订单编号\",dataIndex: \"orderCode\",key: \"orderCode\",width: 200},\r\n {title: \"供应商名称\",dataIndex: \"supplierName\",key: \"supplierName\",width: 200},\r\n {title: \"类型\",dataIndex: \"type_name\",key: \"type_name\",width: 200},\r\n {title: \"采购组织\",dataIndex: \"purchasing\",key: \"purchasing\",width: 200},\r\n {title: \"采购组\",dataIndex: \"purchasingGroup\",key: \"purchasingGroup\",width: 200},\r\n {title: \"凭证日期\",dataIndex: \"voucherDate\",key: \"voucherDate\",width: 200}\r\n];\r\n\r\nconst data04 = [\r\n { \r\n orderCode:\"NU0391025\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年03月18日\",\r\n key: \"1\"\r\n }, \r\n { \r\n orderCode:\"NU0391026\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织a', \r\n purchasingGroup:\"bb\",\r\n voucherDate:\"2018年02月05日\",\r\n key: \"2\"\r\n },\r\n { \r\n orderCode:\"NU0391027\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织b', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年07月01日\",\r\n key: \"3\"\r\n },\r\n { \r\n orderCode:\"NU0391028\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"4\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"cc\",\r\n voucherDate:\"2019年03月01日\",\r\n key: \"4\"\r\n },\r\n { \r\n orderCode:\"NU0391029\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"5\",\r\n purchasing:'组织d', \r\n purchasingGroup:\"ss\",\r\n voucherDate:\"2019年02月14日\",\r\n key: \"5\"\r\n },\r\n { \r\n orderCode:\"NU0391030\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织e', \r\n purchasingGroup:\"zz\",\r\n voucherDate:\"2019年02月18日\",\r\n key: \"6\"\r\n },\r\n { \r\n orderCode:\"NU0391031\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织f', \r\n purchasingGroup:\"qq\",\r\n voucherDate:\"2019年01月01日\",\r\n key: \"7\"\r\n },\r\n { \r\n orderCode:\"NU0391032\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织g', \r\n purchasingGroup:\"pp\",\r\n voucherDate:\"2019年01月31日\",\r\n key: \"8\"\r\n },\r\n];\r\n\r\nclass Demo04 extends Component {\r\n render() {\r\n return
\r\n }\r\n}\r\n\r\n","desc":" 可自定义斑马线颜色","scss_code":".demo04 {\r\n &.u-table tr:nth-child(2n){\r\n background: #f7f9fb;\r\n }\r\n &.u-table tr.u-table-row-hover, .u-table tr:hover{\r\n background: #ebecf0;\r\n }\r\n}"},{"example":,"title":" 表格 Loading 加载","code":"/**\r\n*\r\n* @title 表格 Loading 加载\r\n* @parent 基础 Basic\r\n* @description loading可以传boolean或者object对象,object为bee-loading组件的参数类型\r\n* demo0105\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport {Button,Tooltip} from \"tinper-bee\";\r\n\r\nconst columns05 = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 300, className: \"rowClassName\",fixed:'left'},\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width: 500 },\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 500 },\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 200 }\r\n];\r\n\r\nconst data05 = [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", key: \"1\" },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", key: \"2\" },\r\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", key: \"3\" }\r\n];\r\n\r\nclass Demo05 extends Component {\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n loading : true\r\n }\r\n }\r\n changeLoading = () => {\r\n this.setState({\r\n loading : !this.state.loading\r\n })\r\n }\r\n render() {\r\n return (\r\n
\r\n \r\n 切换loading\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" loading可以传boolean或者object对象,object为bee-loading组件的参数类型"},{"example":,"title":" 单元格内容居中","code":"/**\r\n*\r\n* @title 单元格内容居中\r\n* @parent 基础 Basic\r\n* @description 在columns数据中设置`textAlign:'center'`,可实现单元格内容居中展示的效果。默认是居左显示。\r\n* demo0106\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Button,Tooltip} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n {\r\n title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 120, className: \"rowClassName\",\r\n fixed:'left',\r\n textAlign:'center',\r\n render: (text, record, index) => {\r\n return (\r\n \r\n {text}\r\n \r\n );\r\n }\r\n },\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width:100,textAlign:'center'},\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 100,textAlign:'center'},\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 100,textAlign:'center' },\r\n { title: \"职级\", dataIndex: \"e\", key: \"e\", width: 100,textAlign:'center' }\r\n];\r\n\r\nconst data = [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", e: \"M1\", key: \"1\" },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", e: \"T1\", key: \"2\" },\r\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", e: \"T2\", key: \"3\" }\r\n];\r\n\r\nclass Demo06 extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: data\r\n }\r\n }\r\n handleClick = () => {\r\n console.log('这是第' , this.currentIndex , '行');\r\n console.log('内容:' , this.currentRecord);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 在columns数据中设置`textAlign:'center'`,可实现单元格内容居中展示的效果。默认是居左显示。"},{"example":,"title":" 带边框","code":"/**\r\n*\r\n* @title 带边框\r\n* @parent 基础 Basic\r\n* @description 设置 `bordered` 属性可添加表格边框线。\r\n* demo0107\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Button,Tooltip} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 150 },\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width:100},\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 100},\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 100 },\r\n { title: \"职级\", dataIndex: \"e\", key: \"e\", width: 100 }\r\n];\r\n\r\nconst data = [\r\n { a: \"ASVAL_20190328\", b: \"小张\", c: \"男\", d: \"财务二科\", e: \"M1\", key: \"1\" },\r\n { a: \"ASVAL_20190320\", b: \"小明\", c: \"男\", d: \"财务一科\", e: \"T1\", key: \"2\" },\r\n { a: \"ASVAL_20190312\", b: \"小红\", c: \"女\", d: \"财务一科\", e: \"T2\", key: \"3\" }\r\n];\r\n\r\nclass Demo06 extends Component {\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 设置 `bordered` 属性可添加表格边框线。"},{"example":,"title":" 横向滚动条","code":"/**\r\n*\r\n* @title 横向滚动条\r\n* @parent 滚动 Scroll View\r\n* @description `scroll.x`的值代表表体内容的实际宽度,默认情况下是根据各列宽度合计出来的。其值超过父元素的宽度时会自动出现滚动条。如设置 `scroll={{ x:1000 }}`,可以手动添加横向滚动条,也可以设置`scroll={{ x:\"110%\" }}`。\r\n* demo0201\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n {\r\n title: \"序号\",\r\n dataIndex: \"index\",\r\n key: \"index\",\r\n width: 100, \r\n render(text, record, index) {\r\n return index + 1;\r\n }\r\n },\r\n {\r\n title: \"订单编号\",\r\n dataIndex: \"orderCode\",\r\n key: \"orderCode\",\r\n width: 300, \r\n },\r\n {\r\n title: \"供应商名称\",\r\n dataIndex: \"supplierName\",\r\n key: \"supplierName\",\r\n width: 200\r\n },\r\n {\r\n title: \"类型\",\r\n dataIndex: \"type_name\",\r\n key: \"type_name\",\r\n width: 200\r\n },\r\n {\r\n title: \"采购组织\",\r\n dataIndex: \"purchasing\",\r\n key: \"purchasing\",\r\n width: 200\r\n },\r\n {\r\n title: \"采购组\",\r\n dataIndex: \"purchasingGroup\",\r\n key: \"purchasingGroup\",\r\n width: 200\r\n },\r\n {\r\n title: \"凭证日期\",\r\n dataIndex: \"voucherDate\",\r\n key: \"voucherDate\",\r\n width: 300,\r\n },\r\n {\r\n title: \"审批状态\",\r\n dataIndex: \"approvalState_name\",\r\n key: \"approvalState_name\",\r\n width: 200\r\n },\r\n {\r\n title: \"确认状态\",\r\n dataIndex: \"confirmState_name\",\r\n key: \"confirmState_name\",\r\n width: 200\r\n }, \r\n {\r\n title: \"关闭状态\",\r\n dataIndex: \"closeState_name\",\r\n key: \"closeState_name\",\r\n width: 100\r\n }\r\n];\r\n \r\nconst data = [\r\n { \r\n orderCode:\"NU0391025\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年03月18日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"执行中\",\r\n closeState_name:\"未关闭\",\r\n key: \"1\"\r\n }, \r\n { \r\n orderCode:\"NU0391026\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织a', \r\n purchasingGroup:\"bb\",\r\n voucherDate:\"2018年02月05日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"待确认\",\r\n closeState_name:\"未关闭\",\r\n key: \"2\"\r\n },\r\n { \r\n orderCode:\"NU0391027\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织b', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年07月01日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"终止\",\r\n closeState_name:\"已关闭\",\r\n key: \"3\"\r\n },\r\n { \r\n orderCode:\"NU0391028\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"4\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"cc\",\r\n voucherDate:\"2019年03月01日\",\r\n approvalState_name:\"未审批\",\r\n confirmState_name:\"待确认\",\r\n closeState_name:\"未关闭\",\r\n key: \"4\"\r\n },\r\n { \r\n orderCode:\"NU0391029\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"5\",\r\n purchasing:'组织d', \r\n purchasingGroup:\"ss\",\r\n voucherDate:\"2019年02月14日\",\r\n approvalState_name:\"未审批\",\r\n confirmState_name:\"待确认\",\r\n closeState_name:\"未关闭\",\r\n key: \"5\"\r\n }\r\n];\r\n\r\nclass Demo11 extends Component {\r\n render() {\r\n return (\r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" `scroll.x`的值代表表体内容的实际宽度,默认情况下是根据各列宽度合计出来的。其值超过父元素的宽度时会自动出现滚动条。如设置 `scroll={{ x:1000 }}`,可以手动添加横向滚动条,也可以设置`scroll={{ x:\"110%\" }}`。"},{"example":,"title":" 纵向滚动条","code":"/**\r\n*\r\n* @title 纵向滚动条\r\n* @parent 滚动 Scroll View\r\n* @description 通过设置 `scroll.y` 可达到固定表头的效果。如设置 `scroll={{ y:200 }}` 表示表体高度超出 200px 后会显示滚动条。\r\n* demo0202\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n {title: \"序号\",dataIndex: \"index\",key: \"index\",width: 80, \r\n render(text, record, index) {\r\n return index + 1;\r\n }\r\n },\r\n {title: \"订单编号\",dataIndex: \"orderCode\",key: \"orderCode\",width: 200},\r\n {title: \"供应商名称\",dataIndex: \"supplierName\",key: \"supplierName\",width: 200},\r\n {title: \"类型\",dataIndex: \"type_name\",key: \"type_name\",width: 200},\r\n {title: \"采购组织\",dataIndex: \"purchasing\",key: \"purchasing\",width: 200},\r\n {title: \"采购组\",dataIndex: \"purchasingGroup\",key: \"purchasingGroup\",width: 200},\r\n {title: \"凭证日期\",dataIndex: \"voucherDate\",key: \"voucherDate\",width: 200}\r\n];\r\n \r\nconst data = [\r\n { \r\n orderCode:\"NU0391025\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年03月18日\",\r\n key: \"1\"\r\n }, \r\n { \r\n orderCode:\"NU0391026\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织a', \r\n purchasingGroup:\"bb\",\r\n voucherDate:\"2018年02月05日\",\r\n key: \"2\"\r\n },\r\n { \r\n orderCode:\"NU0391027\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织b', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年07月01日\",\r\n key: \"3\"\r\n },\r\n { \r\n orderCode:\"NU0391028\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"4\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"cc\",\r\n voucherDate:\"2019年03月01日\",\r\n key: \"4\"\r\n },\r\n { \r\n orderCode:\"NU0391029\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"5\",\r\n purchasing:'组织d', \r\n purchasingGroup:\"ss\",\r\n voucherDate:\"2019年02月14日\",\r\n key: \"5\"\r\n },\r\n { \r\n orderCode:\"NU0391030\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织e', \r\n purchasingGroup:\"zz\",\r\n voucherDate:\"2019年02月18日\",\r\n key: \"6\"\r\n },\r\n { \r\n orderCode:\"NU0391031\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织f', \r\n purchasingGroup:\"qq\",\r\n voucherDate:\"2019年01月01日\",\r\n key: \"7\"\r\n },\r\n { \r\n orderCode:\"NU0391032\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织g', \r\n purchasingGroup:\"pp\",\r\n voucherDate:\"2019年01月31日\",\r\n key: \"8\"\r\n },\r\n];\r\nclass Demo12 extends Component {\r\n render() {\r\n return (\r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 通过设置 `scroll.y` 可达到固定表头的效果。如设置 `scroll={{ y:200 }}` 表示表体高度超出 200px 后会显示滚动条。"},{"example":,"title":" 渲染本地数据","code":"/**\r\n*\r\n* @title 渲染本地数据\r\n* @parent 数据操作 Data Opetation\r\n* @description 可自定义页头和页脚。\r\n* demo0301\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Button,Tooltip} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n {\r\n title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 300, className: \"rowClassName\",\r\n fixed:'left',\r\n render: (text, record, index) => {\r\n return (\r\n \r\n {text}\r\n \r\n );\r\n }\r\n },\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width: 500 },\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 500 },\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 200 }\r\n];\r\n\r\nconst data = [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", key: \"1\" },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", key: \"2\" },\r\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", key: \"3\" }\r\n];\r\nclass Demo21 extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: data\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
员工信息统计表
}\r\n footer={currentData =>
合计: 共{data.length}条数据
}\r\n />\r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 可自定义页头和页脚。"},{"example":,"title":" 渲染远程数据","code":"/**\r\n*\r\n* @title 渲染远程数据\r\n* @parent 数据操作 Data Opetation\r\n* @description 可通过 ajax 请求方式,从服务端读取并展现数据。也可自行接入其他数据处理方式。\r\n* demo0302\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Button} from \"tinper-bee\";\r\nimport reqwest from 'reqwest';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [{\r\n title: 'Name',\r\n dataIndex: 'name',\r\n sorter: true,\r\n render: name => `${name.first} ${name.last}`,\r\n width: '20%',\r\n}, {\r\n title: 'Gender',\r\n dataIndex: 'gender',\r\n filters: [\r\n { text: 'Male', value: 'male' },\r\n { text: 'Female', value: 'female' },\r\n ],\r\n width: '20%',\r\n}, {\r\n title: 'Email',\r\n dataIndex: 'email',\r\n}];\r\n\r\nclass Demo22 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: [],\r\n loading: false,\r\n }\r\n }\r\n\r\n fetch = (params = {}) => {\r\n console.log('params:', params);\r\n this.setState({ loading: true });\r\n reqwest({\r\n url: 'https://randomuser.me/api',\r\n method: 'get',\r\n data: {\r\n results: 10,\r\n ...params,\r\n },\r\n type: 'json',\r\n }).then((data) => {\r\n this.setState({\r\n loading: false,\r\n data: data.results,\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 可通过 ajax 请求方式,从服务端读取并展现数据。也可自行接入其他数据处理方式。","scss_code":".demo22{\r\n .opt-btns{\r\n margin-bottom: 8px;\r\n }\r\n}"},{"example":,"title":" 多列表头","code":"/**\r\n *\r\n * @title 多列表头\r\n * @parent 列渲染 Custom Render\r\n * @description columns[n] 可以内嵌 children,以渲染分组表头。\r\n * 自定义表头高度需要传headerHeight,注:修改th的padding top和bottom置为0,否则会有影响\r\n * demo0402\r\n */\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport {Button} from \"tinper-bee\";\r\n\r\nconst { ColumnGroup, Column } = Table;\r\n\r\nconst columns = [\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n width: 100,\r\n fixed: \"left\"\r\n },\r\n {\r\n title: \"Other\",\r\n width:600,\r\n children: [\r\n {\r\n title: \"Age\",\r\n dataIndex: \"age\",\r\n key: \"age\",\r\n width: 200\r\n },\r\n {\r\n title: \"Address\",\r\n children: [\r\n {\r\n title: \"Street\",\r\n dataIndex: \"street\",\r\n key: \"street\",\r\n width: 200\r\n },\r\n {\r\n title: \"Block\",\r\n children: [\r\n {\r\n title: \"Building\",\r\n dataIndex: \"building\",\r\n key: \"building\",\r\n width: 100\r\n },\r\n {\r\n title: \"Door No.\",\r\n dataIndex: \"number\",\r\n key: \"number\",\r\n width: 100\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n title: \"Company\",\r\n width:400,\r\n children: [\r\n {\r\n title: \"Company Address\",\r\n dataIndex: \"companyAddress\",\r\n key: \"companyAddress\",\r\n width:200,\r\n },\r\n {\r\n title: \"Company Name\",\r\n dataIndex: \"companyName\",\r\n key: \"companyName\",\r\n width:200,\r\n }\r\n ]\r\n },\r\n {\r\n title: \"Gender\",\r\n dataIndex: \"gender\",\r\n key: \"gender\",\r\n width: 60,\r\n fixed: \"right\"\r\n }\r\n];\r\n\r\nconst data = [];\r\nfor (let i = 0; i < 20; i++) {\r\n data.push({\r\n key: i,\r\n name: \"John Brown\",\r\n age: i + 1,\r\n street: \"Lake Park\",\r\n building: \"C\",\r\n number: 2035,\r\n companyAddress: \"Lake Street 42\",\r\n companyName: \"SoftLake Co\",\r\n gender: \"M\"\r\n });\r\n}\r\n\r\nclass Demo32 extends Component {\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" columns[n] 可以内嵌 children,以渲染分组表头。","scss_code":".demo32{\r\n .u-table-thead th {\r\n padding-top: 0px;\r\n padding-bottom: 0px;\r\n }\r\n}"},{"example":,"title":" 数据关联","code":"/**\r\n*\r\n* @title 数据关联\r\n* @parent 列渲染 Custom Render\r\n* @description 数据行关联自定义菜单显示\r\n* demo0404\r\n*/\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport {Icon,Checkbox,Dropdown,Menu} from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport multiSelect from \"tinper-bee/lib/newMultiSelect\";;\r\nimport sort from \"tinper-bee/lib/sort\";;\r\n\r\nconst { Item } = Menu;\r\n\r\nconst data = [\r\n { \r\n num:\"NU0391025\", \r\n name: \"aa\",\r\n sex: \"男\",\r\n dept:'财务二科', \r\n rank:\"T1\",\r\n year:\"1\",\r\n seniority:\"1\",\r\n key: \"1\"\r\n }, \r\n { \r\n num:\"NU0391026\", \r\n name: \"bb\",\r\n sex: \"女\",\r\n dept:'财务一科', \r\n rank:\"M1\",\r\n year:\"1\",\r\n seniority:\"1\",\r\n key: \"2\"\r\n },\r\n { \r\n num:\"NU0391027\", \r\n name: \"dd\",\r\n sex: \"女\",\r\n dept:'财务一科', \r\n rank:\"T2\",\r\n year:\"2\",\r\n seniority:\"2\",\r\n key: \"3\"\r\n }\r\n];\r\n\r\nconst MultiSelectTable = multiSelect(Table, Checkbox);\r\nconst ComplexTable = sort(MultiSelectTable, Icon);\r\n\r\nclass Demo33 extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n getSelectedDataFunc = data => {\r\n console.log(data);\r\n }\r\n onSelect = (item) => {\r\n console.log(item);\r\n }\r\n render() {\r\n const menu1 = (\r\n \r\n 模态弹出\r\n 链接跳转\r\n 打开新页\r\n );\r\n let columns = [\r\n { title: \"关联\",dataIndex: \"link\",key: \"link\",width: 80, \r\n render: (text, record, index) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n },\r\n { title: \"员工编号\",dataIndex: \"num\",key: \"num\",width: 200 },\r\n { title: \"员工姓名\",dataIndex: \"name\",key: \"name\", width: 200},\r\n { title: \"员工性别\",dataIndex: \"sex\",key: \"sex\",width: 200 },\r\n { title: \"部门\",dataIndex: \"dept\",key: \"dept\",width: 200},\r\n { title: \"职级\",dataIndex: \"rank\",key: \"rank\",width: 200},\r\n { title: \"工龄\",dataIndex: \"year\",key: \"year\",width: 200},\r\n { title: \"司龄\",dataIndex: \"seniority\",key: \"seniority\",width: 200}\r\n ];\r\n return \r\n }\r\n}\r\n\r\n","desc":" 数据行关联自定义菜单显示"},{"example":,"title":" 列合计(总计)","code":"/**\r\n *\r\n * @title 列合计(总计)\r\n * @parent 列渲染 Custom Render\r\n * @description 给需要计算合计的列(columns),设置sumCol值为true即可,支持动态设置数据源。\r\n * demo0405\r\n */\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Checkbox} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";; \r\nimport sum from \"tinper-bee/lib/sum.js\";;\r\nimport multiSelect from \"tinper-bee/lib/multiSelect.js\";;\r\n \r\nlet ComplexTable = multiSelect(sum(Table), Checkbox);\r\nlet _sum = 0;\r\nconst columns = [\r\n {\r\n title: \"单据编号\",\r\n dataIndex: \"num\",\r\n key: \"num\",\r\n width: 120,\r\n fixed: \"left\"\r\n },\r\n {\r\n title: \"单据日期\",\r\n dataIndex: \"date\",\r\n key: \"date\",\r\n width: 200,\r\n },\r\n {\r\n title: \"业务类型\",\r\n dataIndex: \"type\",\r\n key: \"type\",\r\n width: 200\r\n },\r\n {\r\n title: \"供应商\",\r\n dataIndex: \"supplier\",\r\n key: \"supplier\",\r\n width: 100\r\n },\r\n {\r\n title: \"联系人\",\r\n dataIndex: \"contact\",\r\n key: \"contact\",\r\n },\r\n {\r\n title: \"仓库\",\r\n dataIndex: \"warehouse\",\r\n key: \"warehouse\",\r\n width: 80,\r\n },\r\n {\r\n title: \"整单数量\",\r\n dataIndex: \"total\",\r\n key: \"total\",\r\n width: 100,\r\n sumCol: true\r\n },\r\n {\r\n title: \"金额\",\r\n dataIndex: \"money\",\r\n key: \"money\",\r\n width: 100,\r\n sumCol: true\r\n }\r\n];\r\n\r\nfunction getData(){\r\n const data = [];\r\n for (let i = 0; i < 5; i++) {\r\n data.push({\r\n key: i,\r\n num: \"NU039100\"+i,\r\n date: \"2019-03-01\",\r\n type: \"普通采购\",\r\n supplier: \"gys\"+i,\r\n contact: \"Tom\",\r\n warehouse: \"普通仓\",\r\n total: i + Math.floor(Math.random()*10),\r\n money: 20 * Math.floor(Math.random()*10)\r\n });\r\n _sum += data[i].total;\r\n _sum += data[i].money;\r\n }\r\n return data;\r\n}\r\n\r\nclass Demo35 extends Component {\r\n \r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: getData(),\r\n sum:_sum\r\n };\r\n }\r\n\r\n render() {\r\n const {data} = this.state;\r\n return (\r\n
\r\n
总计: {_sum}
}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n\r\n","desc":" 给需要计算合计的列(columns),设置sumCol值为true即可,支持动态设置数据源。"},{"example":,"title":" 行内编辑","code":"/**\r\n *\r\n * @title 行内编辑\r\n * @parent 编辑 Editor\r\n * @description 可以对行进行编辑的表格\r\n * demo0501\r\n */\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport { Select, Form, FormControl, Button, Icon, Tooltip } from \"tinper-bee\";\r\nconst Option = Select.Option;\r\nimport { RefTreeWithInput } from \"ref-tree\";\r\n\r\nclass StringEditCell extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.state = {\r\n value: props.value\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (!nextProps.editable) {\r\n this.setState({ value: nextProps.value });\r\n }\r\n }\r\n\r\n handleChange = value => {\r\n const { onChange, throwError } = this.props;\r\n if (value === \"\") {\r\n throwError && throwError(true);\r\n } else {\r\n throwError && throwError(false);\r\n }\r\n this.setState({ value });\r\n onChange && onChange(value);\r\n };\r\n\r\n render() {\r\n const { editable, required, colName } = this.props;\r\n const { value } = this.state;\r\n let cls = \"editable-cell-input-wrapper\";\r\n if (required) cls += \" required\";\r\n if (value === \"\") cls += \" verify-cell\";\r\n return editable ? (\r\n
\r\n
\r\n \r\n \r\n {value === \"\" ? (\r\n {\"请输入\" + colName}
}\r\n >\r\n \r\n \r\n ) : null}\r\n \r\n
\r\n \r\n ) : (\r\n value || \" \"\r\n );\r\n }\r\n}\r\n\r\nconst SELECT_SOURCE = [\"男\", \"女\"];\r\n\r\nclass SelectEditCell extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.state = {\r\n value: props.value\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (!nextProps.editable) {\r\n this.setState({ value: nextProps.value });\r\n }\r\n }\r\n\r\n handleSelect = value => {\r\n this.setState({ value });\r\n this.props.onChange && this.props.onChange(value);\r\n };\r\n\r\n render() {\r\n const { editable } = this.props;\r\n const { value } = this.state;\r\n let cls = \"editable-cell-input-wrapper\";\r\n return editable ? (\r\n
\r\n
\r\n \r\n
\r\n
\r\n ) : (\r\n value || \" \"\r\n );\r\n }\r\n}\r\n\r\nconst option = {\r\n title: \"树\",\r\n searchable: true,\r\n multiple: false,\r\n param: {\r\n refCode: \"neworganizition_tree\"\r\n },\r\n checkStrictly: true,\r\n disabled: false,\r\n nodeDisplay: record => {\r\n return record.refname;\r\n },\r\n displayField: record => {\r\n return record.refname;\r\n }, //显示内容的键\r\n valueField: \"refpk\", //真实 value 的键\r\n refModelUrl: {\r\n treeUrl: \"https://mock.yonyoucloud.com/mock/358/blobRefTree\",\r\n treeUrl: \"/pap_basedoc/common-ref/blobRefTree\"\r\n },\r\n matchUrl: \"/pap_basedoc/common-ref/matchPKRefJSON\",\r\n filterUrl: \"/pap_basedoc/common-ref/filterRefJSON\",\r\n lazyModal: false,\r\n strictMode: true,\r\n lang: \"zh_CN\",\r\n treeData: [\r\n {\r\n code: \"org1\",\r\n children: [\r\n {\r\n code: \"bj\",\r\n entityType: \"mainEntity\",\r\n name: \"北京总部-简\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"bj\",\r\n refpk: \"5305416e-e7b4-4051-90bd-12d12942295b\",\r\n id: \"5305416e-e7b4-4051-90bd-12d12942295b\",\r\n isLeaf: \"true\",\r\n refname: \"北京总部-简\"\r\n },\r\n {\r\n code: \"xd\",\r\n entityType: \"mainEntity\",\r\n name: \"新道-简\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"xd\",\r\n refpk: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\r\n id: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\r\n isLeaf: \"true\",\r\n refname: \"新道-简\"\r\n },\r\n {\r\n code: \"yy3\",\r\n entityType: \"mainEntity\",\r\n name: \"test3\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"yy3\",\r\n refpk: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\r\n id: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\r\n isLeaf: \"true\",\r\n refname: \"test3\"\r\n },\r\n {\r\n code: \"yy1\",\r\n entityType: \"mainEntity\",\r\n name: \"test1\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"yy1\",\r\n refpk: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\r\n id: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\r\n isLeaf: \"true\",\r\n refname: \"test1\"\r\n },\r\n {\r\n code: \"dept2\",\r\n children: [\r\n {\r\n code: \"cs\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"测试部-简\",\r\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refcode: \"cs\",\r\n refpk: \"cc43a66a-438d-4106-937f-bec44406f771\",\r\n id: \"cc43a66a-438d-4106-937f-bec44406f771\",\r\n isLeaf: \"true\",\r\n refname: \"测试部-简\"\r\n },\r\n {\r\n code: \"qd\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"前端部-简\",\r\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refcode: \"qd\",\r\n refpk: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\r\n id: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\r\n isLeaf: \"true\",\r\n refname: \"前端部-简\"\r\n }\r\n ],\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"生产处\",\r\n refcode: \"dept2\",\r\n refpk: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n id: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refname: \"生产处\"\r\n },\r\n {\r\n code: \"dept1\",\r\n children: [\r\n {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n {\r\n code: \"dept1_1\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务一科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_1\",\r\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n isLeaf: \"true\",\r\n refname: \"财务一科\"\r\n }\r\n ],\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务处\",\r\n refcode: \"dept1\",\r\n refpk: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n id: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refname: \"财务处\"\r\n }\r\n ],\r\n entityType: \"mainEntity\",\r\n name: \"用友集团\",\r\n refcode: \"org1\",\r\n refpk: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refname: \"用友集团\"\r\n }\r\n ]\r\n};\r\n\r\nconst RefEditCell = Form.createForm()(\r\n class RefComponentWarpper extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.state = {\r\n value: props.value\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (!nextProps.editable) {\r\n this.setState({ value: nextProps.value });\r\n }\r\n }\r\n\r\n handleSelect = values => {\r\n this.setState({ value: values[0] });\r\n this.props.onChange && this.props.onChange(values[0]);\r\n };\r\n\r\n render() {\r\n const { getFieldProps, getFieldError } = this.props.form;\r\n const { editable, required } = this.props;\r\n const { value } = this.state;\r\n let cls = \"editable-cell-input-wrapper\";\r\n if (required) cls += \" required\";\r\n if (getFieldError(\"refValue\")) cls += \" verify-cell\";\r\n return editable ? (\r\n
\r\n \r\n {\"请输入\" + this.props.colName}\r\n
\r\n }\r\n >\r\n \r\n \r\n ),\r\n pattern: /[^{\"refname\":\"\",\"refpk\":\"\"}|{\"refpk\":\"\",\"refname\":\"\"}]/\r\n }\r\n ]\r\n })}\r\n />\r\n {getFieldError(\"refValue\")}\r\n \r\n ) : (\r\n value.name || \" \"\r\n );\r\n }\r\n }\r\n);\r\n\r\nlet dataSource = [\r\n {\r\n a: \"ASVAL_201903280005\",\r\n b: \"小张\",\r\n c: \"男\",\r\n d: {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n key: \"1\"\r\n },\r\n {\r\n a: \"ASVAL_201903200004\",\r\n b: \"小明\",\r\n c: \"男\",\r\n d: {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n key: \"2\"\r\n },\r\n {\r\n a: \"ASVAL_201903120002\",\r\n b: \"小红\",\r\n c: \"女\",\r\n d: {\r\n code: \"dept1_1\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务一科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_1\",\r\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n isLeaf: \"true\",\r\n refname: \"财务一科\"\r\n },\r\n key: \"3\"\r\n }\r\n];\r\n\r\nclass Demo0501 extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.state = {\r\n dataSource: dataSource,\r\n editingRowsMap: {},\r\n currentIndex: null,\r\n errorEditFlag: false\r\n };\r\n\r\n this.columns = [\r\n {\r\n title: \"员工编号\",\r\n dataIndex: \"a\",\r\n key: \"a\"\r\n },\r\n {\r\n title: \"名字\",\r\n dataIndex: \"b\",\r\n key: \"b\",\r\n render: (text, record, index) => (\r\n \r\n )\r\n },\r\n {\r\n title: \"性别\",\r\n dataIndex: \"c\",\r\n key: \"c\",\r\n width: 100,\r\n render: (text, record, index) => (\r\n \r\n )\r\n },\r\n {\r\n title: \"部门\",\r\n dataIndex: \"d\",\r\n key: \"d\",\r\n width: 215,\r\n render: (text, record, index) => (\r\n \r\n )\r\n },\r\n // 只是用来占位占宽度的\r\n {\r\n key: \"placeholder\"\r\n }\r\n ];\r\n\r\n this.state = {\r\n dataSource: dataSource,\r\n editingRowsMap: {},\r\n currentIndex: null,\r\n errorEditFlag: false\r\n };\r\n\r\n this.dataBuffer = {};\r\n }\r\n\r\n edit = index => () => {\r\n if (index === null) return;\r\n let editingRowsMap = { ...this.state.editingRowsMap };\r\n editingRowsMap[index] = index.toString();\r\n // 最好使用深复制\r\n this.dataBuffer[index] = { ...this.state.dataSource[index] };\r\n this.setState({ editingRowsMap });\r\n };\r\n\r\n abortEdit = index => () => {\r\n let editingRowsMap = { ...this.state.editingRowsMap };\r\n delete editingRowsMap[index];\r\n delete this.dataBuffer[index];\r\n this.setState({ editingRowsMap });\r\n };\r\n\r\n delete = index => () => {\r\n if (index === null) return;\r\n let { dataSource } = this.state;\r\n dataSource.splice(index,1);\r\n this.setState({\r\n dataSource:dataSource\r\n });\r\n }\r\n\r\n commitChange = index => () => {\r\n if (this.state.errorEditFlag) return;\r\n let editingRowsMap = { ...this.state.editingRowsMap };\r\n delete editingRowsMap[index];\r\n let dataSource = [...this.state.dataSource];\r\n dataSource[index] = { ...this.dataBuffer[index] };\r\n this.setState({ editingRowsMap, dataSource });\r\n };\r\n\r\n onCellChange = (index, key) => value => {\r\n this.dataBuffer[index][key] = value;\r\n };\r\n\r\n throwError = isError => {\r\n if (isError !== this.state.errorEditFlag)\r\n this.setState({ errorEditFlag: isError });\r\n };\r\n\r\n handleRowHover = (index, record) => {\r\n this.currentRecord = record;\r\n this.setState({ currentIndex: index });\r\n };\r\n\r\n renderRowHover = () => {\r\n const { currentIndex } = this.state;\r\n return this.state.editingRowsMap[currentIndex] ? (\r\n
\r\n \r\n 取消\r\n \r\n \r\n
\r\n ) : (\r\n
\r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n render() {\r\n const { dataSource } = this.state;\r\n const columns = this.columns;\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 可以对行进行编辑的表格","scss_code":".demo0501 .u-table {\r\n .u-row-hover {\r\n .opt-btns,.cancel-btns {\r\n button {\r\n margin: 0;\r\n &:first-child {\r\n margin-right: 8px;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .u-table-row {\r\n td {\r\n padding: 5px 8px;\r\n\r\n input {\r\n font-size: 12px;\r\n padding-left: 5px;\r\n }\r\n }\r\n\r\n .u-form-control,\r\n .u-select-selection {\r\n height: 30px;\r\n }\r\n }\r\n\r\n .editable-cell-text-wrapper {\r\n box-sizing: border-box;\r\n line-height: 20px;\r\n border-radius: 3px;\r\n }\r\n\r\n .required {\r\n margin-left: 10px;\r\n position: relative;\r\n\r\n &::before {\r\n content: \" \";\r\n border: 1px solid #F44336;\r\n width: 0;\r\n height: 12px;\r\n position: absolute;\r\n top: 9px;\r\n left: -8px;\r\n }\r\n\r\n span.u-input-group {\r\n display: block\r\n }\r\n }\r\n .verify-cell {\r\n padding-right: 25px !important;\r\n }\r\n\r\n .required-icon {\r\n position: absolute;\r\n top: 2px;\r\n color: #F44336;\r\n font-size: 20px;\r\n }\r\n\r\n .ref-input-wrap {\r\n width: 160px !important;\r\n }\r\n}\r\n\r\n.u-editable-table-tp {\r\n .tp-content {\r\n color: #F44336;\r\n }\r\n}"},{"example":,"title":" 单元格编辑","code":"/**\r\n *\r\n * @title 单元格编辑\r\n * @parent 编辑 Editor\r\n * @description 可以对单元格进行编辑的表格,示例中给出输入框、下拉框、参照的编辑模式,以及两类校验。(通过对 coloums 配置 render 属性实现渲染不同格式的编辑态单元格)\r\n * demo0502\r\n */\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport { Icon, Select, Tooltip, Form } from \"tinper-bee\";\r\nconst Option = Select.Option;\r\nimport { RefTreeWithInput } from \"ref-tree\";\r\n\r\nclass StringEditCell extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.state = {\r\n value: this.props.value,\r\n editable: false\r\n };\r\n this.editWarp = React.createRef();\r\n }\r\n\r\n commitChange = () => {\r\n if (this.state.value === \"\") return;\r\n this.setState({ editable: false });\r\n if (this.props.onChange) {\r\n this.props.onChange(this.state.value);\r\n }\r\n };\r\n\r\n edit = () => {\r\n this.setState({ editable: true });\r\n };\r\n\r\n handleKeydown = event => {\r\n if (event.keyCode == 13) {\r\n this.commitChange();\r\n }\r\n };\r\n\r\n handleChange = e => {\r\n if (e.target.value === \"\") this.editWarp.className += \" verify-cell\";\r\n this.setState({ value: e.target.value });\r\n };\r\n\r\n render() {\r\n const { value, editable } = this.state;\r\n return (\r\n
\r\n {editable ? (\r\n
this.editWarp = el} className=\"editable-cell-input-wrapper\">\r\n \r\n {value === \"\" ? (\r\n \r\n {\"请输入\" + this.props.colName}\r\n
\r\n }\r\n >\r\n \r\n \r\n ) : null}\r\n
\r\n ) : (\r\n
\r\n {value || \" \"}\r\n
\r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst SELECT_SOURCE = [\"男\", \"女\"];\r\n\r\nclass SelectEditCell extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.state = {\r\n value: this.props.value,\r\n editable: false\r\n };\r\n }\r\n\r\n handleSelect = value => {\r\n this.setState({ value });\r\n };\r\n\r\n commitChange = () => {\r\n this.setState({ editable: false });\r\n if (this.props.onChange) {\r\n this.props.onChange(this.state.value);\r\n }\r\n };\r\n\r\n edit = () => {\r\n this.setState({ editable: true });\r\n };\r\n\r\n render() {\r\n const { value, editable } = this.state;\r\n return (\r\n
\r\n {editable ? (\r\n
\r\n \r\n {SELECT_SOURCE.map((item, index) => (\r\n \r\n ))}\r\n \r\n
\r\n ) : (\r\n
\r\n {value || \" \"}\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst option = {\r\n title: \"树\",\r\n searchable: true,\r\n multiple: false,\r\n param: {\r\n refCode: \"neworganizition_tree\"\r\n },\r\n checkStrictly: true,\r\n disabled: false,\r\n nodeDisplay: record => {\r\n return record.refname;\r\n },\r\n displayField: record => {\r\n return record.refname;\r\n }, //显示内容的键\r\n valueField: \"refpk\", //真实 value 的键\r\n refModelUrl: {\r\n treeUrl: \"https://mock.yonyoucloud.com/mock/358/blobRefTree\",\r\n treeUrl: \"/pap_basedoc/common-ref/blobRefTree\"\r\n },\r\n matchUrl: \"/pap_basedoc/common-ref/matchPKRefJSON\",\r\n filterUrl: \"/pap_basedoc/common-ref/filterRefJSON\",\r\n lazyModal: false,\r\n strictMode: true,\r\n lang: \"zh_CN\",\r\n treeData: [\r\n {\r\n code: \"org1\",\r\n children: [\r\n {\r\n code: \"bj\",\r\n entityType: \"mainEntity\",\r\n name: \"北京总部-简\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"bj\",\r\n refpk: \"5305416e-e7b4-4051-90bd-12d12942295b\",\r\n id: \"5305416e-e7b4-4051-90bd-12d12942295b\",\r\n isLeaf: \"true\",\r\n refname: \"北京总部-简\"\r\n },\r\n {\r\n code: \"xd\",\r\n entityType: \"mainEntity\",\r\n name: \"新道-简\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"xd\",\r\n refpk: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\r\n id: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\r\n isLeaf: \"true\",\r\n refname: \"新道-简\"\r\n },\r\n {\r\n code: \"yy3\",\r\n entityType: \"mainEntity\",\r\n name: \"test3\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"yy3\",\r\n refpk: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\r\n id: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\r\n isLeaf: \"true\",\r\n refname: \"test3\"\r\n },\r\n {\r\n code: \"yy1\",\r\n entityType: \"mainEntity\",\r\n name: \"test1\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"yy1\",\r\n refpk: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\r\n id: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\r\n isLeaf: \"true\",\r\n refname: \"test1\"\r\n },\r\n {\r\n code: \"dept2\",\r\n children: [\r\n {\r\n code: \"cs\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"测试部-简\",\r\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refcode: \"cs\",\r\n refpk: \"cc43a66a-438d-4106-937f-bec44406f771\",\r\n id: \"cc43a66a-438d-4106-937f-bec44406f771\",\r\n isLeaf: \"true\",\r\n refname: \"测试部-简\"\r\n },\r\n {\r\n code: \"qd\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"前端部-简\",\r\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refcode: \"qd\",\r\n refpk: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\r\n id: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\r\n isLeaf: \"true\",\r\n refname: \"前端部-简\"\r\n }\r\n ],\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"生产处\",\r\n refcode: \"dept2\",\r\n refpk: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n id: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refname: \"生产处\"\r\n },\r\n {\r\n code: \"dept1\",\r\n children: [\r\n {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n {\r\n code: \"dept1_1\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务一科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_1\",\r\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n isLeaf: \"true\",\r\n refname: \"财务一科\"\r\n }\r\n ],\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务处\",\r\n refcode: \"dept1\",\r\n refpk: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n id: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refname: \"财务处\"\r\n }\r\n ],\r\n entityType: \"mainEntity\",\r\n name: \"用友集团\",\r\n refcode: \"org1\",\r\n refpk: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refname: \"用友集团\"\r\n }\r\n ]\r\n};\r\n\r\nconst RefEditCell = Form.createForm()(\r\n class RefComponentWarpper extends Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n value: this.props.value.d,\r\n editable: false\r\n };\r\n this.refWarp = React.createRef();\r\n }\r\n\r\n edit = () => {\r\n this.setState({ editable: true }, () => this.refWarp.focus());\r\n };\r\n\r\n handleSelect = values => {\r\n this.setState({ value: values[0] });\r\n };\r\n\r\n commitChange = () => {\r\n this.setState({ editable: false });\r\n if (this.props.onChange) {\r\n this.props.onChange(this.state.value);\r\n }\r\n };\r\n\r\n onRefBlur = e => {\r\n // 消除点击子组件,父组件先失焦再聚焦的事件触发过程带来的副作用\r\n const __REF_CONTENT__ = document.querySelector(\"div.ref-core-modal\");\r\n if (!__REF_CONTENT__ && e.target === this.refWarp) {\r\n this.commitChange();\r\n }\r\n };\r\n\r\n render() {\r\n const { getFieldProps, getFieldError } = this.props.form;\r\n const { value, editable } = this.state;\r\n return editable ? (\r\n (this.refWarp = el)}\r\n className=\"editable-cell-input-wrapper\"\r\n tabIndex={-1}\r\n onBlur={this.onRefBlur}\r\n >\r\n \r\n \r\n {getFieldError(\"code1\")}\r\n \r\n \r\n ) : (\r\n
\r\n {value.name || \" \"}\r\n
\r\n );\r\n }\r\n }\r\n);\r\n\r\nconst dataSource = [\r\n {\r\n a: \"ASVAL_201903280005\",\r\n b: \"小张\",\r\n c: \"男\",\r\n d: {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n key: \"1\"\r\n },\r\n {\r\n a: \"ASVAL_201903200004\",\r\n b: \"小明\",\r\n c: \"男\",\r\n d: {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n key: \"2\"\r\n },\r\n {\r\n a: \"ASVAL_201903120002\",\r\n b: \"小红\",\r\n c: \"女\",\r\n d: {\r\n code: \"dept1_1\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务一科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_1\",\r\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n isLeaf: \"true\",\r\n refname: \"财务一科\"\r\n },\r\n key: \"3\"\r\n }\r\n];\r\n\r\nclass Demo0502 extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.columns = [\r\n {\r\n title: \"员工编号\",\r\n dataIndex: \"a\",\r\n key: \"a\"\r\n },\r\n {\r\n title: \"名字\",\r\n dataIndex: \"b\",\r\n key: \"b\",\r\n render: (text, record, index) => (\r\n \r\n )\r\n },\r\n {\r\n title: \"性别\",\r\n dataIndex: \"c\",\r\n key: \"c\",\r\n width: 100,\r\n render: (text, record, index) => (\r\n \r\n )\r\n },\r\n {\r\n title: \"部门\",\r\n dataIndex: \"d\",\r\n key: \"d\",\r\n width: 215,\r\n render: (text, record, index) => (\r\n \r\n )\r\n },\r\n {\r\n key: \"placeholder\"\r\n }\r\n ];\r\n\r\n this.state = {\r\n dataSource: dataSource\r\n };\r\n }\r\n\r\n onCellChange = (index, key) => {\r\n return value => {\r\n const { dataSource } = this.state;\r\n dataSource[index][key] = value;\r\n this.setState({ dataSource }, () => console.dir(this.state.dataSource));\r\n };\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 可以对单元格进行编辑的表格,示例中给出输入框、下拉框、参照的编辑模式,以及两类校验。(通过对 coloums 配置 render 属性实现渲染不同格式的编辑态单元格)","scss_code":".u-editable-table .u-table {\r\n .u-table-row {\r\n td {\r\n padding: 5px 8px;\r\n\r\n input {\r\n padding-left: 5px;\r\n font-size: 12px;\r\n\r\n &.error {\r\n border-color: #F44336;\r\n }\r\n }\r\n }\r\n\r\n .editable-cell {\r\n height: 30px;\r\n }\r\n\r\n &-hover {\r\n .editable-cell-text-wrapper {\r\n line-height: 19px;\r\n }\r\n }\r\n\r\n .u-form-control,\r\n .u-select-selection {\r\n height: 30px;\r\n }\r\n }\r\n\r\n .editable-cell-text-wrapper {\r\n box-sizing: border-box;\r\n line-height: 20px;\r\n border-radius: 3px;\r\n }\r\n\r\n .editable-cell-input-wrapper {\r\n padding-right: 0;\r\n .ref-input-wrap {\r\n width: auto !important;\r\n height: 30px;\r\n .u-input-group{\r\n display: inline-block;\r\n }\r\n }\r\n }\r\n\r\n .verify-cell {\r\n padding-right: 25px !important;\r\n }\r\n\r\n .require {\r\n position: absolute;\r\n top: 2px;\r\n color: #F44336;\r\n font-size: 20px;\r\n }\r\n}\r\n\r\n.u-editable-table-tp {\r\n .tp-content {\r\n color: #F44336;\r\n }\r\n}"},{"example":,"title":" 弹框(表单)编辑","code":"/**\r\n *\r\n * @title 弹框(表单)编辑\r\n * @parent 编辑 Editor\r\n * @description 以弹框形式以对行进行编辑的表格\r\n * demo0503\r\n */\r\n\r\nimport React, { Component, PureComponent } from \"react\";\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport {\r\n Select, Form, FormControl, Button, Icon,\r\n Tooltip, Modal, FormGroup, Label, Row, Col\r\n} from \"tinper-bee\";\r\nconst Option = Select.Option;\r\nimport { RefTreeWithInput } from \"ref-tree\";\r\n\r\nfunction handleFormValueChange(WarpCompProps, field, allFields) {\r\n const { onChange, throwError } = WarpCompProps;\r\n if (field.value === \"\") return throwError && throwError(true);\r\n throwError && throwError(false);\r\n onChange && onChange(field.value);\r\n}\r\n\r\nconst StringEditCell = Form.createForm({\r\n onValuesChange: handleFormValueChange\r\n})(PureStringEditCell);\r\n\r\nfunction PureStringEditCell(props) {\r\n const { getFieldProps, getFieldError } = props.form;\r\n const { value, required } = props;\r\n let cls = \"editable-cell\";\r\n if (required) cls += \" required\";\r\n return (\r\n
\r\n \r\n {\"请输入\" + props.colName}\r\n
\r\n }\r\n >\r\n \r\n \r\n )\r\n }\r\n ]\r\n })}\r\n />\r\n {getFieldError(\"value\")}\r\n \r\n );\r\n}\r\n\r\nconst SELECT_SOURCE = [\"男\", \"女\"];\r\n\r\nclass SelectEditCell extends PureComponent {\r\n constructor(props, context) {\r\n super(props);\r\n }\r\n\r\n handleSelect = value => {\r\n this.props.onChange && this.props.onChange(value);\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nconst option = {\r\n title: \"树\",\r\n searchable: true,\r\n multiple: false,\r\n param: {\r\n refCode: \"neworganizition_tree\"\r\n },\r\n checkStrictly: true,\r\n disabled: false,\r\n nodeDisplay: record => {\r\n return record.refname;\r\n },\r\n displayField: record => {\r\n return record.refname;\r\n }, //显示内容的键\r\n valueField: \"refpk\", //真实 value 的键\r\n refModelUrl: {\r\n treeUrl: \"https://mock.yonyoucloud.com/mock/358/blobRefTree\",\r\n treeUrl: \"/pap_basedoc/common-ref/blobRefTree\"\r\n },\r\n matchUrl: \"/pap_basedoc/common-ref/matchPKRefJSON\",\r\n filterUrl: \"/pap_basedoc/common-ref/filterRefJSON\",\r\n lazyModal: false,\r\n strictMode: true,\r\n lang: \"zh_CN\",\r\n treeData: [\r\n {\r\n code: \"org1\",\r\n children: [\r\n {\r\n code: \"bj\",\r\n entityType: \"mainEntity\",\r\n name: \"北京总部-简\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"bj\",\r\n refpk: \"5305416e-e7b4-4051-90bd-12d12942295b\",\r\n id: \"5305416e-e7b4-4051-90bd-12d12942295b\",\r\n isLeaf: \"true\",\r\n refname: \"北京总部-简\"\r\n },\r\n {\r\n code: \"xd\",\r\n entityType: \"mainEntity\",\r\n name: \"新道-简\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"xd\",\r\n refpk: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\r\n id: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\r\n isLeaf: \"true\",\r\n refname: \"新道-简\"\r\n },\r\n {\r\n code: \"yy3\",\r\n entityType: \"mainEntity\",\r\n name: \"test3\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"yy3\",\r\n refpk: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\r\n id: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\r\n isLeaf: \"true\",\r\n refname: \"test3\"\r\n },\r\n {\r\n code: \"yy1\",\r\n entityType: \"mainEntity\",\r\n name: \"test1\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"yy1\",\r\n refpk: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\r\n id: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\r\n isLeaf: \"true\",\r\n refname: \"test1\"\r\n },\r\n {\r\n code: \"dept2\",\r\n children: [\r\n {\r\n code: \"cs\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"测试部-简\",\r\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refcode: \"cs\",\r\n refpk: \"cc43a66a-438d-4106-937f-bec44406f771\",\r\n id: \"cc43a66a-438d-4106-937f-bec44406f771\",\r\n isLeaf: \"true\",\r\n refname: \"测试部-简\"\r\n },\r\n {\r\n code: \"qd\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"前端部-简\",\r\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refcode: \"qd\",\r\n refpk: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\r\n id: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\r\n isLeaf: \"true\",\r\n refname: \"前端部-简\"\r\n }\r\n ],\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"生产处\",\r\n refcode: \"dept2\",\r\n refpk: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n id: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refname: \"生产处\"\r\n },\r\n {\r\n code: \"dept1\",\r\n children: [\r\n {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n {\r\n code: \"dept1_1\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务一科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_1\",\r\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n isLeaf: \"true\",\r\n refname: \"财务一科\"\r\n }\r\n ],\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务处\",\r\n refcode: \"dept1\",\r\n refpk: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n id: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refname: \"财务处\"\r\n }\r\n ],\r\n entityType: \"mainEntity\",\r\n name: \"用友集团\",\r\n refcode: \"org1\",\r\n refpk: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refname: \"用友集团\"\r\n }\r\n ]\r\n};\r\n\r\nconst RefEditCell = Form.createForm()(\r\n class RefComponentWarpper extends PureComponent {\r\n constructor(props, context) {\r\n super(props);\r\n }\r\n\r\n handleSelect = values => {\r\n const { form, throwError, onChange } = this.props\r\n if (form.getFieldError(\"refValue\")) return throwError && throwError(true);\r\n throwError && throwError(false);\r\n onChange && onChange(values[0]);\r\n };\r\n\r\n render() {\r\n const { getFieldProps, getFieldError } = this.props.form;\r\n const { value, required } = this.props;\r\n let cls = \"editable-cell\";\r\n if (required) cls += \" required\";\r\n return (\r\n
\r\n \r\n {\"请输入\" + this.props.colName}\r\n
\r\n }\r\n >\r\n \r\n \r\n ),\r\n pattern: /[^{\"refname\":\"\",\"refpk\":\"\"}|{\"refpk\":\"\",\"refname\":\"\"}]/\r\n }\r\n ]\r\n })}\r\n />\r\n {getFieldError(\"refValue\")}\r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\nclass EditModal extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.state = {\r\n data: this.props.data,\r\n errorEditFlag: false\r\n };\r\n\r\n // 属性名对应 columns 属性中的 key 值\r\n this.renderElm = {\r\n b: (record, index) => (\r\n \r\n ),\r\n\r\n c: (record, index) => (\r\n \r\n ),\r\n d: (record, index) => (\r\n \r\n )\r\n }\r\n }\r\n\r\n onFieldChange = field => value => {\r\n let data = { ...this.state.data };\r\n data[field] = value;\r\n this.setState({ data });\r\n }\r\n\r\n submitChange = () => {\r\n if (this.state.errorEditFlag) return;\r\n const { onSubmit, onHide, currentIndex } = this.props;\r\n onSubmit && onSubmit(this.state.data, currentIndex);\r\n onHide && onHide();\r\n }\r\n\r\n throwError = isError => {\r\n if (isError !== this.state.errorEditFlag)\r\n this.setState({ errorEditFlag: isError });\r\n };\r\n\r\n render() {\r\n const { show, onHide, columns, currentIndex } = this.props;\r\n const { data } = this.state;\r\n return (\r\n \r\n \r\n 编辑行\r\n \r\n \r\n
\r\n \r\n {\r\n columns.map((item, index) => {\r\n return (\r\n
\r\n \r\n \r\n {this.renderElm[item.key] &&\r\n this.renderElm[item.key](\r\n data,\r\n currentIndex\r\n )}\r\n {!this.renderElm[item.key] && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n \r\n );\r\n })\r\n }\r\n \r\n \r\n \r\n \r\n \r\n 取消\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nlet dataSource = [\r\n {\r\n a: \"ASVAL_201903280005\",\r\n b: \"小张\",\r\n c: \"男\",\r\n d: {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n key: \"1\"\r\n },\r\n {\r\n a: \"ASVAL_201903200004\",\r\n b: \"小明\",\r\n c: \"男\",\r\n d: {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n key: \"2\"\r\n },\r\n {\r\n a: \"ASVAL_201903120002\",\r\n b: \"小红\",\r\n c: \"女\",\r\n d: {\r\n code: \"dept1_1\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务一科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_1\",\r\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n isLeaf: \"true\",\r\n refname: \"财务一科\"\r\n },\r\n key: \"3\"\r\n }\r\n];\r\n\r\nclass Demo0503 extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n // 编辑态下每个单元格对应的编辑模式组件写在 EditModal 组件中,以 key 值对应\r\n this.columns = [\r\n {\r\n title: \"员工编号\",\r\n dataIndex: \"a\",\r\n key: \"a\"\r\n },\r\n {\r\n title: \"名字\",\r\n dataIndex: \"b\",\r\n key: \"b\"\r\n },\r\n {\r\n title: \"性别\",\r\n dataIndex: \"c\",\r\n key: \"c\",\r\n width: 100\r\n },\r\n {\r\n title: \"部门\",\r\n dataIndex: \"d\",\r\n key: \"d\",\r\n width: 215,\r\n render: (text, record, index) => record.d.name\r\n }\r\n ];\r\n\r\n this.state = {\r\n dataSource: dataSource,\r\n isEditing: false,\r\n currentIndex: null\r\n };\r\n }\r\n\r\n edit = () => {\r\n if (this.state.currentIndex === null) return;\r\n this.setState({ isEditing: true });\r\n };\r\n\r\n abortEdit = () => {\r\n this.setState({ isEditing: false });\r\n };\r\n\r\n commitChange = (editedRowData, rowIndex) => {\r\n console.log(editedRowData)\r\n console.log(rowIndex)\r\n let dataSource = [...this.state.dataSource];\r\n dataSource[rowIndex] = editedRowData;\r\n this.setState({ dataSource });\r\n };\r\n\r\n handleRowHover = (index, record) => {\r\n this.setState({ currentIndex: index });\r\n };\r\n\r\n hideEditModal = () => {\r\n this.setState({ isEditing: false });\r\n }\r\n\r\n renderRowHover = () => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n };\r\n\r\n\r\n render() {\r\n const { dataSource, isEditing, currentIndex } = this.state;\r\n const columns = this.columns;\r\n return (\r\n
\r\n \r\n {\r\n isEditing ? (\r\n \r\n ) : null\r\n }\r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 以弹框形式以对行进行编辑的表格","scss_code":".demo0503-m-b {\r\n\r\n &.u-modal .u-modal-body {\r\n padding: 16px 0;\r\n background: #f7f9fb;\r\n }\r\n\r\n .u-form-group {\r\n overflow: hidden;\r\n }\r\n\r\n .u-form-control {\r\n font-size: 12px;\r\n }\r\n\r\n .editable-cell {\r\n display: block;\r\n float: left;\r\n width: 265px;\r\n padding-right: 25px;\r\n }\r\n\r\n .ref-input-wrap {\r\n width: 240px !important;\r\n }\r\n\r\n .u-label {\r\n display: block;\r\n float: left;\r\n text-align: right;\r\n width: 110px;\r\n box-sizing: border-box;\r\n padding-right: 10px;\r\n font-size: 12px;\r\n height: 32px;\r\n line-height: 32px;\r\n .mast {\r\n padding: 0;\r\n color: red;\r\n }\r\n }\r\n\r\n .required-icon {\r\n position: absolute;\r\n top: 2px;\r\n color: #F44336;\r\n font-size: 20px;\r\n }\r\n}\r\n\r\n.u-editable-table-tp {\r\n z-index: 9999 !important;\r\n\r\n .tp-content {\r\n color: #F44336;\r\n }\r\n}\r\n.ref-core-button .u-button:first-child{\r\n margin-right: 8px;\r\n}"},{"example":,"title":" 全表格编辑","code":"/**\r\n *\r\n * @title 全表格编辑\r\n * @parent 编辑 Editor\r\n * @description 以行内编辑形式对全表数据进行编辑\r\n * demo0505\r\n */\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport { Select, Form, FormControl, Button, Icon, Tooltip } from \"tinper-bee\";\r\nconst Option = Select.Option;\r\nimport { RefTreeWithInput } from \"ref-tree\";\r\n\r\nclass StringEditCell extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.state = {\r\n value: props.value\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (!nextProps.editable) {\r\n this.setState({ value: nextProps.value });\r\n }\r\n }\r\n\r\n handleChange = value => {\r\n const { onChange, throwError } = this.props;\r\n if (value === \"\") {\r\n throwError && throwError(true);\r\n } else {\r\n throwError && throwError(false);\r\n }\r\n this.setState({ value });\r\n onChange && onChange(value);\r\n };\r\n\r\n render() {\r\n const { editable, required, colName, isEdited } = this.props;\r\n const { value } = this.state;\r\n let cls = \"editable-cell-input-wrapper\";\r\n if (required) cls += \" required\";\r\n if (value === \"\") cls += \" verify-cell\";\r\n if (isEdited) cls += \" edited\";\r\n return editable ? (\r\n
\r\n
\r\n \r\n \r\n {value === \"\" ? (\r\n {\"请输入\" + colName}
}\r\n >\r\n \r\n \r\n ) : null}\r\n \r\n
\r\n \r\n ) : (\r\n value || \" \"\r\n );\r\n }\r\n}\r\n\r\nconst SELECT_SOURCE = [\"男\", \"女\"];\r\n\r\nclass SelectEditCell extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.state = {\r\n value: props.value\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (!nextProps.editable) {\r\n this.setState({ value: nextProps.value });\r\n }\r\n }\r\n\r\n handleSelect = value => {\r\n this.setState({ value });\r\n this.props.onChange && this.props.onChange(value);\r\n };\r\n\r\n render() {\r\n const { editable, isEdited } = this.props;\r\n const { value } = this.state;\r\n let cls = \"editable-cell-input-wrapper\";\r\n if (isEdited) cls += \" edited\";\r\n return editable ? (\r\n
\r\n
\r\n \r\n
\r\n
\r\n ) : (\r\n value || \" \"\r\n );\r\n }\r\n}\r\n\r\nconst option = {\r\n title: \"树\",\r\n searchable: true,\r\n multiple: false,\r\n param: {\r\n refCode: \"neworganizition_tree\"\r\n },\r\n checkStrictly: true,\r\n disabled: false,\r\n nodeDisplay: record => {\r\n return record.refname;\r\n },\r\n displayField: record => {\r\n return record.refname;\r\n }, //显示内容的键\r\n valueField: \"refpk\", //真实 value 的键\r\n refModelUrl: {\r\n treeUrl: \"https://mock.yonyoucloud.com/mock/358/blobRefTree\",\r\n treeUrl: \"/pap_basedoc/common-ref/blobRefTree\"\r\n },\r\n matchUrl: \"/pap_basedoc/common-ref/matchPKRefJSON\",\r\n filterUrl: \"/pap_basedoc/common-ref/filterRefJSON\",\r\n lazyModal: false,\r\n strictMode: true,\r\n lang: \"zh_CN\",\r\n treeData: [\r\n {\r\n code: \"org1\",\r\n children: [\r\n {\r\n code: \"bj\",\r\n entityType: \"mainEntity\",\r\n name: \"北京总部-简\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"bj\",\r\n refpk: \"5305416e-e7b4-4051-90bd-12d12942295b\",\r\n id: \"5305416e-e7b4-4051-90bd-12d12942295b\",\r\n isLeaf: \"true\",\r\n refname: \"北京总部-简\"\r\n },\r\n {\r\n code: \"xd\",\r\n entityType: \"mainEntity\",\r\n name: \"新道-简\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"xd\",\r\n refpk: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\r\n id: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\r\n isLeaf: \"true\",\r\n refname: \"新道-简\"\r\n },\r\n {\r\n code: \"yy3\",\r\n entityType: \"mainEntity\",\r\n name: \"test3\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"yy3\",\r\n refpk: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\r\n id: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\r\n isLeaf: \"true\",\r\n refname: \"test3\"\r\n },\r\n {\r\n code: \"yy1\",\r\n entityType: \"mainEntity\",\r\n name: \"test1\",\r\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refcode: \"yy1\",\r\n refpk: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\r\n id: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\r\n isLeaf: \"true\",\r\n refname: \"test1\"\r\n },\r\n {\r\n code: \"dept2\",\r\n children: [\r\n {\r\n code: \"cs\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"测试部-简\",\r\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refcode: \"cs\",\r\n refpk: \"cc43a66a-438d-4106-937f-bec44406f771\",\r\n id: \"cc43a66a-438d-4106-937f-bec44406f771\",\r\n isLeaf: \"true\",\r\n refname: \"测试部-简\"\r\n },\r\n {\r\n code: \"qd\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"前端部-简\",\r\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refcode: \"qd\",\r\n refpk: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\r\n id: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\r\n isLeaf: \"true\",\r\n refname: \"前端部-简\"\r\n }\r\n ],\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"生产处\",\r\n refcode: \"dept2\",\r\n refpk: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n id: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\r\n refname: \"生产处\"\r\n },\r\n {\r\n code: \"dept1\",\r\n children: [\r\n {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n {\r\n code: \"dept1_1\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务一科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_1\",\r\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n isLeaf: \"true\",\r\n refname: \"财务一科\"\r\n }\r\n ],\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务处\",\r\n refcode: \"dept1\",\r\n refpk: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n id: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refname: \"财务处\"\r\n }\r\n ],\r\n entityType: \"mainEntity\",\r\n name: \"用友集团\",\r\n refcode: \"org1\",\r\n refpk: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n refname: \"用友集团\"\r\n }\r\n ]\r\n};\r\n\r\nconst RefEditCell = Form.createForm()(\r\n class RefComponentWarpper extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.state = {\r\n value: props.value\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (!nextProps.editable) {\r\n this.setState({ value: nextProps.value });\r\n }\r\n }\r\n\r\n handleSelect = values => {\r\n this.setState({ value: values[0] });\r\n this.props.onChange && this.props.onChange(values[0]);\r\n };\r\n\r\n render() {\r\n const { getFieldProps, getFieldError } = this.props.form;\r\n const { editable, required, isEdited } = this.props;\r\n const { value } = this.state;\r\n let cls = \"editable-cell-input-wrapper\";\r\n if (required) cls += \" required\";\r\n if (getFieldError(\"refValue\")) cls += \" verify-cell\";\r\n if (isEdited) cls += \" edited\";\r\n return editable ? (\r\n
\r\n \r\n {\"请输入\" + this.props.colName}\r\n
\r\n }\r\n >\r\n \r\n \r\n ),\r\n pattern: /[^{\"refname\":\"\",\"refpk\":\"\"}|{\"refpk\":\"\",\"refname\":\"\"}]/\r\n }\r\n ]\r\n })}\r\n />\r\n {getFieldError(\"refValue\")}\r\n \r\n ) : (\r\n value.name || \" \"\r\n );\r\n }\r\n }\r\n);\r\n\r\nlet dataSource = [\r\n {\r\n a: \"ASVAL_201903280005\",\r\n b: \"小张\",\r\n c: \"男\",\r\n d: {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n key: \"1\"\r\n },\r\n {\r\n a: \"ASVAL_201903200004\",\r\n b: \"小明\",\r\n c: \"男\",\r\n d: {\r\n code: \"dept1_2\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务二科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_2\",\r\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\r\n isLeaf: \"true\",\r\n refname: \"财务二科\"\r\n },\r\n key: \"2\"\r\n },\r\n {\r\n a: \"ASVAL_201903120002\",\r\n b: \"小红\",\r\n c: \"女\",\r\n d: {\r\n code: \"dept1_1\",\r\n entityType: \"subEntity\",\r\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\r\n name: \"财务一科\",\r\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\r\n refcode: \"dept1_1\",\r\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\r\n isLeaf: \"true\",\r\n refname: \"财务一科\"\r\n },\r\n key: \"3\"\r\n }\r\n];\r\n\r\nclass Demo0505 extends Component {\r\n constructor(props, context) {\r\n super(props);\r\n this.columns = [\r\n {\r\n title: \"员工编号\",\r\n dataIndex: \"a\",\r\n key: \"a\"\r\n },\r\n {\r\n title: \"名字\",\r\n dataIndex: \"b\",\r\n key: \"b\",\r\n render: (text, record, index) => (\r\n \r\n )\r\n },\r\n {\r\n title: \"性别\",\r\n dataIndex: \"c\",\r\n key: \"c\",\r\n width: 100,\r\n render: (text, record, index) => (\r\n \r\n )\r\n },\r\n {\r\n title: \"部门\",\r\n dataIndex: \"d\",\r\n key: \"d\",\r\n width: 215,\r\n render: (text, record, index) => (\r\n \r\n )\r\n },\r\n // 只是用来占位占宽度的\r\n {\r\n key: \"placeholder\"\r\n }\r\n ];\r\n\r\n // 用于记录数据是否被修改\r\n dataSource.forEach(item => (item.isEdited = {}));\r\n this.state = {\r\n dataSource: dataSource,\r\n isEditingAll: false,\r\n currentIndex: null,\r\n errorEditFlag: false\r\n };\r\n\r\n // 用于记录编辑前数据\r\n this.dataBuffer = [];\r\n }\r\n\r\n edit = () => {\r\n this.dataBuffer = [];\r\n // 最好使用深复制\r\n this.state.dataSource.forEach((item, index) => {\r\n this.dataBuffer.push({ ...item });\r\n });\r\n this.setState({ isEditingAll: true });\r\n };\r\n\r\n abortEdit = () => {\r\n let originData = [...this.state.dataSource];\r\n originData.forEach(item => (item.isEdited = {}));\r\n this.setState({\r\n isEditingAll: false,\r\n dataSource: originData\r\n });\r\n };\r\n\r\n commitChange = () => {\r\n if (this.state.errorEditFlag) return;\r\n const newData = this.dataBuffer.map(item => {\r\n return Object.assign({}, item, { isEdited: {} });\r\n });\r\n this.setState({ isEditingAll: false, dataSource: newData });\r\n };\r\n\r\n onCellChange = (index, key) => value => {\r\n this.dataBuffer[index][key] = value;\r\n this.dataBuffer[index].isEdited[key] = true;\r\n };\r\n\r\n throwError = isError => {\r\n if (isError !== this.state.errorEditFlag)\r\n this.setState({ errorEditFlag: isError });\r\n };\r\n\r\n render() {\r\n const { dataSource, isEditingAll } = this.state;\r\n const columns = this.columns;\r\n return (\r\n
\r\n
\r\n {isEditingAll ? (\r\n \r\n \r\n \r\n 取消\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 以行内编辑形式对全表数据进行编辑","scss_code":".demo0505 {\r\n\r\n .toolbar-btns {\r\n margin-bottom: 8px;\r\n\r\n .u-button {\r\n &:first-child {\r\n margin-right: 8px;\r\n }\r\n }\r\n }\r\n\r\n .u-table {\r\n .u-row-select {\r\n background-color: #FFF7E7;\r\n }\r\n .u-table-row {\r\n td {\r\n padding: 5px 8px;\r\n\r\n input {\r\n font-size: 12px;\r\n padding-left: 5px;\r\n }\r\n }\r\n\r\n .u-form-control,\r\n .u-select-selection {\r\n height: 30px;\r\n }\r\n }\r\n\r\n .editable-cell-text-wrapper {\r\n box-sizing: border-box;\r\n line-height: 20px;\r\n border-radius: 3px;\r\n }\r\n\r\n .required {\r\n margin-left: 10px;\r\n position: relative;\r\n\r\n &::before {\r\n content: \" \";\r\n border: 1px solid #F44336;\r\n width: 0;\r\n height: 12px;\r\n position: absolute;\r\n top: 9px;\r\n left: -8px;\r\n }\r\n\r\n span.u-input-group {\r\n display: block\r\n }\r\n }\r\n\r\n .verify-cell {\r\n padding-right: 25px !important;\r\n }\r\n\r\n .edited::after {\r\n content: \" \";\r\n position: absolute;\r\n z-index: 999;\r\n top: 0;\r\n left: 0;\r\n border-width: 5px;\r\n border-style: solid;\r\n border-color: #f44336 transparent transparent #f44336;\r\n }\r\n\r\n .required-icon {\r\n position: absolute;\r\n top: 2px;\r\n color: #F44336;\r\n font-size: 20px;\r\n }\r\n\r\n .ref-input-wrap {\r\n width: 160px !important;\r\n }\r\n }\r\n}\r\n\r\n.u-editable-table-tp {\r\n .tp-content {\r\n color: #F44336;\r\n }\r\n}"},{"example":,"title":" 左侧固定列","code":"/**\r\n*\r\n* @title 左侧固定列\r\n* @parent 列操作-锁定 Fixed\r\n* @description 固定列到表格的左侧\r\n* demo0601\r\n*/\r\n\r\n\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n {\r\n title: \"序号\",\r\n dataIndex: \"index\",\r\n key: \"index\",\r\n width: 80, \r\n fixed: 'left',\r\n render(text, record, index){return index + 1}\r\n },\r\n {\r\n title: \"订单编号\",\r\n dataIndex: \"orderCode\",\r\n key: \"orderCode\",\r\n width: 100, \r\n fixed: 'left',\r\n },\r\n {\r\n title: \"供应商名称\",\r\n dataIndex: \"supplierName\",\r\n key: \"supplierName\",\r\n width: 100\r\n },\r\n {\r\n title: \"类型\",\r\n dataIndex: \"type_name\",\r\n key: \"type_name\",\r\n width: 100\r\n },\r\n {\r\n title: \"采购组织\",\r\n dataIndex: \"purchasing\",\r\n key: \"purchasing\",\r\n width: 100\r\n },\r\n {\r\n title: \"采购组\",\r\n dataIndex: \"purchasingGroup\",\r\n key: \"purchasingGroup\",\r\n width: 100\r\n },\r\n {\r\n title: \"凭证日期\",\r\n dataIndex: \"voucherDate\",\r\n key: \"voucherDate\",\r\n width: 200,\r\n \r\n },\r\n {\r\n title: \"审批状态\",\r\n dataIndex: \"approvalState_name\",\r\n key: \"approvalState_name\",\r\n width: 100\r\n },\r\n {\r\n title: \"确认状态\",\r\n dataIndex: \"confirmState_name\",\r\n key: \"confirmState_name\",\r\n width: 100\r\n }, \r\n {\r\n title: \"关闭状态\",\r\n dataIndex: \"closeState_name\",\r\n key: \"closeState_name\",\r\n width: 100\r\n }\r\n];\r\n\r\nconst data = [\r\n { \r\n orderCode:\"NU0391025\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年03月18日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"执行中\",\r\n closeState_name:\"未关闭\",\r\n key: \"1\"\r\n }, \r\n { \r\n orderCode:\"NU0391026\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织a', \r\n purchasingGroup:\"bb\",\r\n voucherDate:\"2018年02月05日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"待确认\",\r\n closeState_name:\"未关闭\",\r\n key: \"2\"\r\n },\r\n { \r\n orderCode:\"NU0391027\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织b', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年07月01日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"终止\",\r\n closeState_name:\"已关闭\",\r\n key: \"3\"\r\n }\r\n];\r\n\r\nclass Demo51 extends Component {\r\n render() {\r\n return
;\r\n }\r\n}\r\n\r\n","desc":" 固定列到表格的左侧"},{"example":,"title":" 右侧固定列","code":"/**\r\n*\r\n* @title 右侧固定列\r\n* @parent 列操作-锁定 Fixed\r\n* @description 固定列到表格的右侧\r\n* demo0602\r\n*/\r\n\r\n\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport {Popconfirm} from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n {\r\n title: \"序号\",\r\n dataIndex: \"index\",\r\n key: \"index\",\r\n width: 80, \r\n fixed: 'left',\r\n render(text, record, index){return index + 1}\r\n },\r\n {\r\n title: \"订单编号\",\r\n dataIndex: \"orderCode\",\r\n key: \"orderCode\",\r\n width: 100, \r\n },\r\n {\r\n title: \"供应商名称\",\r\n dataIndex: \"supplierName\",\r\n key: \"supplierName\",\r\n width: 100\r\n },\r\n {\r\n title: \"类型\",\r\n dataIndex: \"type_name\",\r\n key: \"type_name\",\r\n width: 100\r\n },\r\n {\r\n title: \"采购组织\",\r\n dataIndex: \"purchasing\",\r\n key: \"purchasing\",\r\n width: 100\r\n },\r\n {\r\n title: \"采购组\",\r\n dataIndex: \"purchasingGroup\",\r\n key: \"purchasingGroup\",\r\n width: 100\r\n },\r\n {\r\n title: \"凭证日期\",\r\n dataIndex: \"voucherDate\",\r\n key: \"voucherDate\",\r\n width: 200,\r\n \r\n },\r\n {\r\n title: \"审批状态\",\r\n dataIndex: \"approvalState_name\",\r\n key: \"approvalState_name\",\r\n width: 100\r\n },\r\n {\r\n title: \"确认状态\",\r\n dataIndex: \"confirmState_name\",\r\n key: \"confirmState_name\",\r\n width: 100\r\n }, \r\n {\r\n title: \"关闭状态\",\r\n dataIndex: \"closeState_name\",\r\n key: \"closeState_name\",\r\n width: 100\r\n },\r\n {\r\n title: \"操作\",\r\n dataIndex: \"d\",\r\n key: \"d\",\r\n width:100,\r\n fixed: \"right\",\r\n render(text, record, index) {\r\n return (\r\n
\r\n \r\n \r\n 一些操作\r\n \r\n \r\n
\r\n )\r\n }\r\n }\r\n];\r\n\r\nconst data = [\r\n { \r\n orderCode:\"NU0391025\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年03月18日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"执行中\",\r\n closeState_name:\"未关闭\",\r\n key: \"1\"\r\n }, \r\n { \r\n orderCode:\"NU0391026\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织a', \r\n purchasingGroup:\"bb\",\r\n voucherDate:\"2018年02月05日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"待确认\",\r\n closeState_name:\"未关闭\",\r\n key: \"2\"\r\n },\r\n { \r\n orderCode:\"NU0391027\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织b', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年07月01日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"终止\",\r\n closeState_name:\"已关闭\",\r\n key: \"3\"\r\n },\r\n { \r\n orderCode:\"NU0391025\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年03月18日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"执行中\",\r\n closeState_name:\"未关闭\",\r\n key: \"4\"\r\n }, \r\n { \r\n orderCode:\"NU0391026\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织a', \r\n purchasingGroup:\"bb\",\r\n voucherDate:\"2018年02月05日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"待确认\",\r\n closeState_name:\"未关闭\",\r\n key: \"5\"\r\n },\r\n { \r\n orderCode:\"NU0391027\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织b', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年07月01日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"终止\",\r\n closeState_name:\"已关闭\",\r\n key: \"6\"\r\n }\r\n];\r\n\r\nclass Demo52 extends Component {\r\n render() {\r\n return
;\r\n }\r\n}\r\n\r\n","desc":" 固定列到表格的右侧"},{"example":,"title":" 动态设置列锁定、解除锁定","code":"/**\r\n*\r\n* @title 动态设置列锁定、解除锁定\r\n* @parent 列操作-锁定 Fixed\r\n* @description 动态设置columns中数据的fixed属性值【fixed: \"left\",fixed: \"right\"】。\r\n* demo0603\r\n*/\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport {Icon,Menu,Dropdown} from \"tinper-bee\";\r\n\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst { Item } = Menu;\r\n\r\nconst columns = [\r\n {\r\n title: \"序号\",\r\n dataIndex: \"index\",\r\n key: \"index\",\r\n width: 80, \r\n fixed: 'left',\r\n render(text, record, index){return index + 1}\r\n },\r\n {\r\n title: \"订单编号\",\r\n dataIndex: \"orderCode\",\r\n key: \"orderCode\",\r\n width: 100, \r\n fixed: 'left',\r\n },\r\n {\r\n title: \"供应商名称\",\r\n dataIndex: \"supplierName\",\r\n key: \"supplierName\",\r\n width: 150\r\n },\r\n {\r\n title: \"类型\",\r\n dataIndex: \"type_name\",\r\n key: \"type_name\",\r\n width: 100\r\n },\r\n {\r\n title: \"采购组织\",\r\n dataIndex: \"purchasing\",\r\n key: \"purchasing\",\r\n width: 100\r\n },\r\n {\r\n title: \"采购组\",\r\n dataIndex: \"purchasingGroup\",\r\n key: \"purchasingGroup\",\r\n width: 100\r\n },\r\n {\r\n title: \"凭证日期\",\r\n dataIndex: \"voucherDate\",\r\n key: \"voucherDate\",\r\n width: 200,\r\n \r\n },\r\n {\r\n title: \"审批状态\",\r\n dataIndex: \"approvalState_name\",\r\n key: \"approvalState_name\",\r\n width: 100\r\n },\r\n {\r\n title: \"确认状态\",\r\n dataIndex: \"confirmState_name\",\r\n key: \"confirmState_name\",\r\n width: 100\r\n }, \r\n {\r\n title: \"关闭状态\",\r\n dataIndex: \"closeState_name\",\r\n key: \"closeState_name\",\r\n width: 100\r\n }\r\n];\r\n\r\nconst data = [\r\n { \r\n orderCode:\"NU0391025\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年03月18日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"执行中\",\r\n closeState_name:\"未关闭\",\r\n key: \"1\"\r\n }, \r\n { \r\n orderCode:\"NU0391026\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织a', \r\n purchasingGroup:\"bb\",\r\n voucherDate:\"2018年02月05日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"待确认\",\r\n closeState_name:\"未关闭\",\r\n key: \"2\"\r\n },\r\n { \r\n orderCode:\"NU0391027\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织b', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年07月01日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"终止\",\r\n closeState_name:\"已关闭\",\r\n key: \"3\"\r\n }\r\n];\r\n \r\nclass Demo24 extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n columns:columns\r\n }\r\n }\r\n \r\n onSelect = ({key,item})=>{ \r\n console.log(`${key} selected`); //获取key\r\n let currentObject = item.props.data; //获取选中对象的数据\r\n let {columns} = this.state;\r\n let fixedCols = [];\r\n let nonColums = [];\r\n columns.find(da=>{\r\n if(da.key == key){\r\n da.fixed?delete da.fixed:da.fixed = 'left';\r\n }\r\n da.fixed?fixedCols.push(da):nonColums.push(da);\r\n });\r\n \r\n columns = [...fixedCols,...nonColums]\r\n\r\n this.setState({\r\n columns\r\n });\r\n }\r\n //表头增加下拉菜单\r\n renderColumnsDropdown(columns) {\r\n const icon ='uf-arrow-down';\r\n \r\n return columns.map((originColumn,index) => {\r\n let column = Object.assign({}, originColumn);\r\n let menuInfo = [], title='锁定';\r\n if(originColumn.fixed){\r\n title = '解锁'\r\n }\r\n menuInfo.push({\r\n info:title,\r\n key:originColumn.key,\r\n index:index\r\n });\r\n const menu = (\r\n {\r\n menuInfo.map(da=>{ return {da.info} })\r\n }\r\n )\r\n column.title = (\r\n \r\n {column.title}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n return column;\r\n });\r\n \r\n }\r\n\r\n render() {\r\n let {columns} = this.state;\r\n columns = this.renderColumnsDropdown(columns);\r\n return(\r\n
\r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\n","desc":" 动态设置columns中数据的fixed属性值【fixed: \"left\",fixed: \"right\"】。","scss_code":"th{\r\n .drop-menu{\r\n .uf{\r\n font-size: 12px;\r\n visibility: hidden;\r\n margin-left: 15px;\r\n }\r\n \r\n \r\n }\r\n &:hover{\r\n .uf{\r\n visibility: visible;\r\n }\r\n }\r\n\r\n}\r\n\r\n"},{"example":,"title":" 按条件、值过滤","code":"/**\r\n*\r\n* @title 按条件、值过滤\r\n* @parent 列操作-过滤 Filter\r\n* @description 可以根据输入项目以及判断条件对表格内的数据进行过滤。可在控制台查看序列化后的参数字符串。\r\n* demo0701\r\n*/\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns26 = [\r\n { title: \"姓名\", width: 180, dataIndex: \"name\", key: \"name\", filterType: \"text\", filterDropdown: \"show\" },\r\n { title: \"年龄\", width: 150, dataIndex: \"age\", key: \"age\", filterType: \"dropdown\", filterDropdown: \"show\" },\r\n { title: \"日期\", width: 200, dataIndex: \"date\", key: \"date\", filterType: \"date\", filterDropdown: \"show\", format: \"YYYY-MM-DD\" },\r\n { title: \"居住地址\", width: 150, dataIndex: \"address\", key: \"address\", filterType: \"dropdown\", filterDropdown: \"show\" },\r\n { title: \"备注\", dataIndex: \"mark\", key: \"mark\" }\r\n];\r\n\r\nconst data26 = [\r\n {\r\n key: \"1\",\r\n name: \"John Brown\",\r\n age: 32,\r\n date: \"2018-09-19\",\r\n address: \"朝阳区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"2\",\r\n name: \"Jim Green\",\r\n age: 40,\r\n date: \"2018-09-18\",\r\n address: \"朝阳区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"3\",\r\n name: \"Jim Green\",\r\n age: 40,\r\n date: \"2018-09-18\",\r\n address: \"东城区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"4\",\r\n name: \"Jim Green\",\r\n age: 40,\r\n date: \"2018-09-18\",\r\n address: \"东城区\",\r\n mark: \"无\"\r\n }, {\r\n key: \"5\",\r\n name: \"John Brown\",\r\n age: 32,\r\n date: \"2018-09-18\",\r\n address: \"海淀区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"6\",\r\n name: \"Jim Green\",\r\n age: 48,\r\n date: \"2018-09-18\",\r\n address: \"海淀区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"7\",\r\n name: \"Jim Green\",\r\n age: 40,\r\n date: \"2018-09-18\",\r\n address: \"海淀区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"8\",\r\n name: \"Jim Green\",\r\n age: 38,\r\n date: \"2018-09-18\",\r\n address: \"海淀区\",\r\n mark: \"无\"\r\n }\r\n];\r\n\r\nclass Demo26 extends Component {\r\n handlerFilterChange = (key, val, condition) => {\r\n console.log('参数:key=', key, ' value=', val, 'condition=', condition);\r\n }\r\n\r\n handlerFilterClear = (key) => {\r\n console.log('清除条件', key);\r\n }\r\n render() {\r\n return ()\r\n onFilterClear={this.handlerFilterClear}//触发输入操作以及其他的回调(key,val)=>()\r\n filterDelay={500}//输入文本多少ms触发回调函数,默认300ms\r\n filterable={true}//是否开启过滤数据功能\r\n bordered\r\n columns={columns26}\r\n data={data26} />;\r\n }\r\n}\r\n\r\n","desc":" 可以根据输入项目以及判断条件对表格内的数据进行过滤。可在控制台查看序列化后的参数字符串。"},{"example":,"title":" 复杂表格中行过滤","code":"/**\r\n*\r\n* @title 复杂表格中行过滤\r\n* @parent 列操作-过滤 Filter\r\n* @description 在过滤数据行的基础上增加列拖拽、动态菜单显示、下拉条件动态传入自定义等\r\n* demo0702\r\n*/\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport {Icon,Checkbox} from \"tinper-bee\";\r\n\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport multiSelect from \"tinper-bee/lib/multiSelect\";;\r\nimport sort from \"tinper-bee/lib/sort\";;\r\n\r\nconst data27 = [\r\n {\r\n key: \"1\",\r\n name: \"John Brown\",\r\n age: 32,\r\n date: \"2018-09-19\",\r\n address: \"朝阳区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"2\",\r\n name: \"Jim Green\",\r\n age: 40,\r\n date: \"2018-09-18\",\r\n address: \"朝阳区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"3\",\r\n name: \"Jim Green\",\r\n age: 40,\r\n date: \"2018-09-18\",\r\n address: \"东城区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"4\",\r\n name: \"Jim Green\",\r\n age: 40,\r\n date: \"2018-09-18\",\r\n address: \"东城区\",\r\n mark: \"无\"\r\n }, {\r\n key: \"5\",\r\n name: \"John Brown\",\r\n age: 32,\r\n date: \"2018-09-18\",\r\n address: \"海淀区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"6\",\r\n name: \"Jim Green\",\r\n age: 48,\r\n date: \"2018-09-18\",\r\n address: \"海淀区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"7\",\r\n name: \"Jim Green\",\r\n age: 40,\r\n date: \"2018-09-18\",\r\n address: \"海淀区\",\r\n mark: \"无\"\r\n },\r\n {\r\n key: \"8\",\r\n name: \"Jim Green\",\r\n age: 38,\r\n date: \"2018-09-18\",\r\n address: \"海淀区\",\r\n mark: \"无\"\r\n }\r\n];\r\n\r\n\r\nconst MultiSelectTable = multiSelect(Table, Checkbox);\r\nconst ComplexTable = sort(MultiSelectTable, Icon);\r\nclass Demo27 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n dropdownvalue: []\r\n }\r\n }\r\n handlerFilterChange = (key, val, condition) => {\r\n console.log('参数:key=', key, ' value=', val, 'condition=', condition);\r\n }\r\n\r\n handlerFilterClear = (key) => {\r\n console.log('清除条件', key);\r\n }\r\n getSelectedDataFunc = data => {\r\n console.log(data);\r\n }\r\n onSelect = (item) => {\r\n console.log(item);\r\n }\r\n\r\n render() {\r\n let multiObj = {\r\n type: \"checkbox\"\r\n };\r\n let columns27 = [\r\n {\r\n title: \"姓名\",\r\n width: 180,\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n filterType: \"text\",//输入框类型\r\n filterDropdown: \"show\",//显示条件\r\n filterDropdownType: \"string\"//字符条件\r\n },\r\n {\r\n title: \"年龄\",\r\n width: 180,\r\n dataIndex: \"age\",\r\n key: \"age\",\r\n filterType: \"number\",//输入框类型\r\n filterDropdown: \"show\",//显示条件\r\n filterDropdownType: \"number\"//字符条件\r\n },\r\n {\r\n title: \"日期\",\r\n width: 190,\r\n dataIndex: \"date\",\r\n key: \"date\",\r\n filterType: \"date\",//输入框类型\r\n filterDropdown: \"show\",//显示条件\r\n filterDropdownType: \"string\"//字符条件\r\n },\r\n {\r\n title: \"时间范围\",\r\n width: 290,\r\n dataIndex: \"mark\",\r\n key: \"mark\",\r\n filterType: \"daterange\",//输入框类型\r\n filterDropdown: \"show\",//显示条件\r\n filterDropdownType: \"number\"//字符条件\r\n },\r\n {\r\n title: \"地址\",\r\n width: 100,\r\n dataIndex: \"address\",\r\n key: \"address\",\r\n filterType: \"dropdown\",//输入框类型\r\n filterDropdown: \"show\",//显示条件\r\n filterDropdownType: \"number\"//字符条件\r\n }\r\n ];\r\n return ()\r\n onFilterClear={this.handlerFilterClear}//触发输入操作以及其他的回调(key,val)=>()\r\n filterDelay={500}//输入文本多少ms触发回调函数,默认500ms\r\n filterable={true}//是否开启过滤数据功能\r\n getSelectedDataFunc={this.getSelectedDataFunc}\r\n bordered\r\n multiSelect={multiObj}\r\n columns={columns27}\r\n data={data27} />;\r\n }\r\n}\r\n\r\n","desc":" 在过滤数据行的基础上增加列拖拽、动态菜单显示、下拉条件动态传入自定义等"},{"example":,"title":" 列过滤面板","code":"/**\r\n*\r\n* @title 列过滤面板\r\n* @parent 列操作-隐藏 Hide\r\n* @description 点击表头右侧按钮,设置显示或隐藏表格列。可以自定义设置显示某列,通过ifshow属性控制,默认值为true(显示表格所有列)。afterFilter方法为列过滤后触发的回调函数。\r\n* demo0802\r\n*/\r\n\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport {Icon,Popover} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport filterColumn from \"tinper-bee/lib/filterColumn\";;\r\nimport sum from \"tinper-bee/lib/sum\";;\r\n\r\nconst data = [\r\n { \r\n orderCode:\"NU0391025\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年03月18日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"执行中\",\r\n closeState_name:\"未关闭\",\r\n key: \"1\"\r\n }, \r\n { \r\n orderCode:\"NU0391026\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织a', \r\n purchasingGroup:\"bb\",\r\n voucherDate:\"2018年02月05日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"待确认\",\r\n closeState_name:\"未关闭\",\r\n key: \"2\"\r\n },\r\n { \r\n orderCode:\"NU0391027\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织b', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年07月01日\",\r\n approvalState_name:\"已审批\",\r\n confirmState_name:\"终止\",\r\n closeState_name:\"已关闭\",\r\n key: \"3\"\r\n }\r\n];\r\n\r\nconst FilterColumnTable = filterColumn(Table, Popover, Icon);\r\n\r\nconst defaultProps21 = {\r\n prefixCls: \"bee-table\"\r\n};\r\n\r\nclass Demo21 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state ={\r\n columns: [\r\n {\r\n title: \"序号\",\r\n dataIndex: \"index\",\r\n key: \"index\",\r\n width: 80, \r\n fixed: 'left',\r\n render(text, record, index){return index + 1}\r\n },\r\n {\r\n title: \"订单编号\",\r\n dataIndex: \"orderCode\",\r\n key: \"orderCode\",\r\n width: 100, \r\n fixed: 'left',\r\n },\r\n {\r\n title: \"供应商名称\",\r\n dataIndex: \"supplierName\",\r\n key: \"supplierName\",\r\n width: 150\r\n },\r\n {\r\n title: \"类型\",\r\n dataIndex: \"type_name\",\r\n key: \"type_name\",\r\n width: 100\r\n },\r\n {\r\n title: \"采购组织\",\r\n dataIndex: \"purchasing\",\r\n key: \"purchasing\",\r\n width: 100\r\n },\r\n ]};\r\n }\r\n afterFilter = (optData,columns)=>{\r\n if(optData.key == 'b'){\r\n if(optData.ifshow){\r\n columns[2].ifshow = false;\r\n }else{\r\n columns[2].ifshow = true;\r\n }\r\n this.setState({\r\n columns21 :columns,\r\n showFilterPopover:true\r\n });\r\n }\r\n \r\n }\r\n \r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nDemo21.defaultProps = defaultProps21;\r\n","desc":" 点击表头右侧按钮,设置显示或隐藏表格列。可以自定义设置显示某列,通过ifshow属性控制,默认值为true(显示表格所有列)。afterFilter方法为列过滤后触发的回调函数。"},{"example":,"title":" 列排序","code":"/**\r\n* @title 列排序\r\n* @parent 列操作-排序 Sort\r\n* @description column中增加sorter: (a, b) => a.c - b.c 这里的a,b代表前后两个数据,c代表比较当前对象的字段名称\r\n* demo0901\r\n*/\r\n\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport {Icon} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport sort from \"tinper-bee/lib/sort.js\";;\r\n\r\nlet ComplexTable = sort(Table, Icon);\r\nconst columns11 = [\r\n {\r\n title: \"单据编号\",\r\n dataIndex: \"num\",\r\n key: \"num\",\r\n width: 120,\r\n fixed: \"left\"\r\n },\r\n {\r\n title: \"单据日期\",\r\n dataIndex: \"date\",\r\n key: \"date\",\r\n width: 200,\r\n },\r\n {\r\n title: \"供应商\",\r\n dataIndex: \"supplier\",\r\n key: \"supplier\",\r\n width: 100\r\n },\r\n {\r\n title: \"联系人\",\r\n dataIndex: \"contact\",\r\n key: \"contact\",\r\n },\r\n {\r\n title: \"整单数量\",\r\n dataIndex: \"total\",\r\n key: \"total\",\r\n width: 150,\r\n sorter: (a, b) => a.total - b.total\r\n }\r\n];\r\n\r\nconst data11 = [\r\n { num: \"NU0391001\", date: \"2019-03-01\", supplier: 'xx供应商',contact:'Tom', total:30 ,key: \"1\" },\r\n { num: \"NU0391002\", date: \"2018-11-02\", supplier: 'yy供应商',contact:'Jack', total:41 ,key: \"2\" },\r\n { num: \"NU0391003\", date: \"2019-05-03\", supplier: 'zz供应商',contact:'Jane', total:25 ,key: \"3\" }\r\n];\r\n\r\nconst defaultProps11 = {\r\n prefixCls: \"bee-table\"\r\n};\r\nclass Demo11 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n sortOrder: \"\",\r\n data: data11\r\n };\r\n }\r\n render() {\r\n\r\n return ;\r\n }\r\n}\r\nDemo11.defaultProps = defaultProps11;\r\n\r\n\r\n","desc":" column中增加sorter: (a, b) => a.c - b.c 这里的a,b代表前后两个数据,c代表比较当前对象的字段名称"},{"example":,"title":" 后端列排序","code":"/**\r\n* @title 后端列排序\r\n* @parent 列操作-排序 Sort\r\n* @description 可在控制台中查看序列化后的参数字符串,将参数传递给后端即可进行列排序\r\n* demo0902\r\n*/\r\n\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport {Icon} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport sort from \"tinper-bee/lib/sort.js\";;\r\nlet ComplexTable = sort(Table, Icon);\r\n\r\n// const columns11 = [\r\n// {\r\n// title: \"名字\",\r\n// dataIndex: \"a\",\r\n// key: \"a\",\r\n// width: 100\r\n// },\r\n// {\r\n// title: \"性别\",\r\n// dataIndex: \"b\",\r\n// key: \"b\",\r\n// width: 100\r\n// },\r\n// {\r\n// title: \"年龄\",\r\n// dataIndex: \"c\",\r\n// key: \"c\",\r\n// width: 200,\r\n// sorter: (a, b) => a.c - b.c\r\n// },\r\n// {\r\n// title: \"武功级别\",\r\n// dataIndex: \"d\",\r\n// key: \"d\"\r\n// },\r\n// {\r\n// title: \"分数\",\r\n// dataIndex: \"e\",\r\n// key: \"e\",\r\n// sorter: (a, b) => a.c - b.c\r\n// },\r\n// ];\r\n\r\n// const data11 = [\r\n// { a: \"杨过\", b: \"男\", c: 30,d:'内行', e:139,key: \"2\" },\r\n// { a: \"令狐冲\", b: \"男\", c: 41,d:'大侠', e:109, key: \"1\" },\r\n// { a: \"郭靖\", b: \"男\", c: 25,d:'大侠', e:159, key: \"3\" }\r\n// ];\r\nconst columns11 = [\r\n {\r\n title: \"单据编号\",\r\n dataIndex: \"num\",\r\n key: \"num\",\r\n width: 120,\r\n fixed: \"left\"\r\n },\r\n {\r\n title: \"单据日期\",\r\n dataIndex: \"date\",\r\n key: \"date\",\r\n width: 200,\r\n },\r\n {\r\n title: \"供应商\",\r\n dataIndex: \"supplier\",\r\n key: \"supplier\",\r\n width: 100\r\n },\r\n {\r\n title: \"联系人\",\r\n dataIndex: \"contact\",\r\n key: \"contact\",\r\n },\r\n {\r\n title: \"整单数量\",\r\n dataIndex: \"total\",\r\n key: \"total\",\r\n width: 150,\r\n sorter: (a, b) => a.total - b.total\r\n },\r\n {\r\n title: \"金额\",\r\n dataIndex: \"money\",\r\n key: \"money\",\r\n width: 100,\r\n sorter: (a, b) => a.money - b.money\r\n }\r\n];\r\n\r\nconst data11 = [\r\n { num: \"NU0391001\", date: \"2019-03-01\", supplier: 'xx供应商',contact:'Tom', total:30 ,money: 100,key: \"1\" },\r\n { num: \"NU0391002\", date: \"2018-11-02\", supplier: 'yy供应商',contact:'Jack', total:41 ,money: 50,key: \"2\" },\r\n { num: \"NU0391003\", date: \"2019-05-03\", supplier: 'zz供应商',contact:'Jane', total:25 ,money: 200,key: \"3\" }\r\n];\r\n\r\nconst defaultProps = {\r\n prefixCls: \"bee-table\"\r\n};\r\nclass Demo28 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n sortOrder: \"\",\r\n data: data11\r\n };\r\n }\r\n /**\r\n * 后端获取数据\r\n */\r\n sortFun = (sortParam)=>{\r\n console.info(sortParam);\r\n //将参数传递给后端排序\r\n }\r\n render() {\r\n let sortObj = {\r\n mode:'multiple',\r\n backSource:true,\r\n sortFun:this.sortFun\r\n }\r\n return ;\r\n }\r\n}\r\nDemo28.defaultProps = defaultProps;\r\n\r\n\r\n","desc":" 可在控制台中查看序列化后的参数字符串,将参数传递给后端即可进行列排序"},{"example":,"title":" 多列排序","code":"/**\r\n *\r\n * @title 多列排序\r\n * @parent 列操作-排序 Sort\r\n * @description 结合多列排序、全选功能、合计功能的表格示例。新增排序后触发的回调函数sorterClick。\r\n * demo0903\r\n */\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Checkbox,Button,Icon} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport multiSelect from \"tinper-bee/lib/multiSelect.js\";;\r\nimport sort from \"tinper-bee/lib/sort.js\";;\r\nimport sum from \"tinper-bee/lib/sum.js\";;\r\n\r\nconst columns13 = [\r\n {\r\n title: \"订单编号\",\r\n dataIndex: \"a\",\r\n key: \"a\",\r\n className:'dfasd',\r\n width: 200,\r\n sorter: (pre, after) => {return pre.a.localeCompare(after.a)},\r\n sorterClick:(data,type)=>{//排序的回调函数\r\n //type value is up or down\r\n console.log(\"data\",data);\r\n }\r\n },\r\n {\r\n title: \"金额\",\r\n dataIndex: \"b\",\r\n key: \"b\",\r\n width: 200,\r\n sumCol: true,\r\n sorter: (pre, after) => pre.b - after.b,\r\n sorterClick:(data,type)=>{//排序的回调函数\r\n //type value is up or down\r\n console.log(\"data\",data);\r\n }\r\n },\r\n {\r\n title: \"整单数量\",\r\n dataIndex: \"c\",\r\n key: \"c\",\r\n width: 200,\r\n sumCol: true,\r\n sorter: (pre, after) => pre.c - after.c,\r\n sorterClick:(data,type)=>{//排序的回调函数\r\n //type value is up or down\r\n console.log(\"data\",data);\r\n }\r\n },\r\n {\r\n title: \"日销售量\",\r\n dataIndex: \"e\",\r\n key: \"e\",\r\n width: 200,\r\n sumCol: true,\r\n sorter: (pre, after) => pre.e - after.e,\r\n },\r\n {\r\n title: \"供应商\",\r\n dataIndex: \"d\",\r\n key: \"d\",\r\n width: 200\r\n }\r\n];\r\n\r\nconst data13 = [\r\n { a: \"NU0391001\", b: 675, c: 30, d: \"xx供应商\",e:100, key: \"2\" },\r\n { a: \"NU0391002\", b: 43, c: 41, d: \"yy供应商\",e:90, key: \"1\" },\r\n { a: \"NU0391003\", b: 43, c: 81, d: \"zz供应商\", e:120,key: \"4\" },\r\n { a: \"NU0391004\", b: 43, c: 81, d: \"aa供应商\", e:130,key: \"5\" },\r\n { a: \"NU0391005\", b: 153, c: 25, d: \"bb供应商\",e:90, key: \"3\" }\r\n];\r\n\r\n\r\n//拼接成复杂功能的table组件不能在render中定义,需要像此例子声明在组件的外侧,不然操作state会导致功能出现异常\r\nlet ComplexTable = multiSelect(sort(sum(Table, Icon)), Checkbox);\r\n\r\nclass Demo13 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data13: data13,\r\n selectedRow: this.selectedRow,\r\n selectDisabled: this.selectDisabled\r\n };\r\n }\r\n getSelectedDataFunc = data => {\r\n console.log(data);\r\n };\r\n selectDisabled = (record, index) => {\r\n // console.log(record);\r\n if (index === 1) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n selectedRow = (record, index) => {\r\n // console.log(record);\r\n if (index === 0) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n onClick = () => {\r\n this.setState({\r\n selectedRow: function() {}\r\n });\r\n };\r\n\r\n render() {\r\n let multiObj = {\r\n type: \"checkbox\"\r\n };\r\n let sortObj = {\r\n mode:'multiple'\r\n }\r\n \r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","desc":" 结合多列排序、全选功能、合计功能的表格示例。新增排序后触发的回调函数sorterClick。"},{"example":,"title":" 拖拽改变列顺序","code":"/**\r\n*\r\n* @title 拖拽改变列顺序\r\n* @parent 列操作-拖拽 Drag\r\n* @description 点击选择表头并左右拖拽,可以改变表格列顺序。 onDragEnd 方法是拖拽交换列后触发的回调函数。注意:固定列不可以交换。\r\n* demo1001\r\n*/\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport {Icon} from \"tinper-bee\";\r\n\r\nimport Table from \"tinper-bee/lib/src\";; \r\nimport dragColumn from \"tinper-bee/lib/dragColumn\";;\r\n\r\nconst columns = [\r\n {\r\n title: \"订单编号\",\r\n dataIndex: \"a\",\r\n key: \"a\",\r\n width: 100\r\n },\r\n {\r\n title: \"单据日期\",\r\n dataIndex: \"b\",\r\n key: \"b\",\r\n width: 200\r\n },\r\n {\r\n title: \"供应商\",\r\n dataIndex: \"c\",\r\n key: \"c\",\r\n width: 200,\r\n sumCol: true,\r\n sorter: (a, b) => a.c - b.c\r\n },\r\n {\r\n title: \"联系人\",\r\n dataIndex: \"d\",\r\n key: \"d\",\r\n width: 500,\r\n },\r\n {\r\n title: \"操作\",\r\n dataIndex: \"e\",\r\n key: \"e\",\r\n width: 200,\r\n fixed: 'right',\r\n }\r\n];\r\n\r\nconst data = [\r\n { a: \"NU0391001\", b: \"2019-03-01\", c: 'xx供应商',d:'Tom',e:'...', key: \"2\" },\r\n { a: \"NU0391002\", b: \"2018-11-02\", c: 'yy供应商',d:'Jack',e:'...', key: \"1\" },\r\n { a: \"NU0391003\", b: \"2019-05-03\", c: 'zz供应商',d:'Jane',e:'...', key: \"3\" }\r\n];\r\n\r\nconst DragColumnTable = dragColumn(Table);\r\n\r\nconst defaultProps22 = {\r\n prefixCls: \"bee-table\"\r\n};\r\n\r\nclass Demo22 extends Component {\r\n constructor(props) {\r\n super(props); \r\n }\r\n \r\n render() {\r\n return {\r\n console.log(\"--拖拽交换列onDrop触发事件\");\r\n console.log(\"event.target:\",event.target);\r\n console.log(\"data:\",data);\r\n console.log(\"拖拽完成后的columns:\",columns);\r\n }}\r\n\r\n onDragEnd ={(event,data,columns)=>{\r\n console.log(\"--拖拽交换列后触发事件\");\r\n console.log(\"event.target:\",event.target);\r\n console.log(\"data:\",data);\r\n console.log(\"拖拽完成后的columns:\",columns);\r\n }}\r\n />;\r\n }\r\n}\r\n\r\nDemo22.defaultProps = defaultProps22;\r\n","desc":" 点击选择表头并左右拖拽,可以改变表格列顺序。 onDragEnd 方法是拖拽交换列后触发的回调函数。注意:固定列不可以交换。"},{"example":,"title":" 拖拽改变列宽度","code":"/**\r\n*\r\n* @title 拖拽改变列宽度\r\n* @parent 列操作-拖拽 Drag\r\n* @description onDropBorder方法为调整列宽后触发的回调函数。注:不支持tree结构的表头、合并表头的table。\r\n* demo1002\r\n*/\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport {Icon} from \"tinper-bee\";\r\n\r\nimport Table from \"tinper-bee/lib/src\";; \r\nimport dragColumn from \"tinper-bee/lib/dragColumn\";;\r\n\r\nconst columns23 = [\r\n {\r\n title: \"订单编号\",\r\n dataIndex: \"a\",\r\n key: \"a\",\r\n width: '200',\r\n fixed:'left'\r\n },\r\n {\r\n title: \"单据日期\",\r\n dataIndex: \"b\",\r\n key: \"b\",\r\n width: '600'\r\n },\r\n {\r\n title: \"供应商\",\r\n dataIndex: \"c\",\r\n key: \"c\",\r\n width: '200',\r\n }, \r\n {\r\n title: \"联系人\",\r\n dataIndex: \"d\",\r\n key: \"d\",\r\n width: 500,\r\n }\r\n];\r\n\r\nconst data23 = [\r\n { a: \"NU0391001\", b: \"2019-03-01\", c: \"xx供应商\",d:'Tom', key: \"2\" },\r\n { a: \"NU0391002\", b: \"2018-11-02\", c: \"yy供应商\",d:'Jack', key: \"1\" },\r\n { a: \"NU0391003\", b: \"2019-05-03\", c: \"zz供应商\",d:'Jane', key: \"3\" }\r\n];\r\n\r\nconst DragColumnTable = dragColumn(Table);\r\n\r\nclass Demo23 extends Component {\r\n constructor(props) {\r\n super(props); \r\n }\r\n\r\n render() {\r\n return {\r\n console.log(width+\"--调整列宽后触发事件\",e.target);\r\n }}\r\n />;\r\n }\r\n}\r\n\r\n","desc":" onDropBorder方法为调整列宽后触发的回调函数。注:不支持tree结构的表头、合并表头的table。"},{"example":,"title":" 嵌套子表格","code":"/**\r\n*\r\n* @title 嵌套子表格\r\n* @parent 扩展行 Expanded Row\r\n* @description 通过expandedRowRender参数来实现子表格。收起和展开的图标可自定义传入。注意:多选功能和嵌套表格一起使用时,需要设置 expandIconAsCell={true},把展开按钮放在单元格中展示。\r\n* demo1101\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport { Popconfirm,Icon,Checkbox } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport multiSelect from \"tinper-bee/lib/multiSelect\";;\r\n\r\nconst columns16 = [\r\n {\r\n title: \"操作\",\r\n dataIndex: \"d\",\r\n key: \"d\", \r\n width:100,\r\n render(text, record, index) {\r\n return (\r\n \r\n \r\n 一些操作\r\n \r\n \r\n );\r\n }\r\n },\r\n { title: \"订单编号\", dataIndex: \"a\", key: \"a\", width: 250 },\r\n { id: \"123\", title: \"单据日期\", dataIndex: \"b\", key: \"b\", width: 100 },\r\n { title: \"供应商\", dataIndex: \"c\", key: \"c\", width: 200, fixed:'right' },\r\n \r\n];\r\nconst columns17 = [\r\n { title: \"订单编号\", dataIndex: \"a\", key: \"a\", width: 100 },\r\n { id: \"123\", title: \"单据日期\", dataIndex: \"b\", key: \"b\", width: 100 },\r\n { title: \"供应商\", dataIndex: \"c\", key: \"c\", width: 200 }\r\n];\r\n\r\nconst data16 = [\r\n { a: \"NU0391001\", b: \"2019-03-01\", c: \"xx供应商\", d: \"操作\", key: \"1\" },\r\n { a: \"NU0391002\", b: \"2018-11-02\", c: \"yy供应商\", d: \"操作\", key: \"2\" },\r\n { a: \"NU0391003\", b: \"2019-05-03\", c: \"zz供应商\", d: \"操作\", key: \"3\" }\r\n];\r\nconst MultiSelectTable = multiSelect(Table,Checkbox);\r\nclass Demo16 extends Component {\r\n constructor(props){\r\n super(props);\r\n this.state={\r\n data_obj:{}\r\n }\r\n }\r\n expandedRowRender = (record, index, indent) => {\r\n let height = 42 * (this.state.data_obj[record.key].length+ 2);\r\n \r\n return (\r\n \r\n );\r\n };\r\n getData=(expanded, record)=>{\r\n //当点击展开的时候才去请求数据\r\n let new_obj = Object.assign({},this.state.data_obj);\r\n if(expanded){\r\n if(record.key==='1'){\r\n new_obj[record.key] = [\r\n { a: \"NU0391056\", b: \"2019-03-01\", c: \"gys1\", d: \"操作\", key: \"1\" },\r\n { a: \"NU0391057\", b: \"2018-11-02\", c: \"gys2\", d: \"操作\", key: \"2\" },\r\n ]\r\n this.setState({\r\n data_obj:new_obj\r\n })\r\n }else{\r\n new_obj[record.key] = [\r\n { a: \"NU0391079\", b: \"2019-04-17\", c: \"gys5\", d: \"操作\", key: \"3\" },\r\n ]\r\n this.setState({\r\n data_obj:new_obj\r\n })\r\n }\r\n }\r\n }\r\n\r\n haveExpandIcon=(record, index)=>{\r\n //控制是否显示行展开icon,该参数只有在和expandedRowRender同时使用才生效\r\n if(index == 0){\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n render() {\r\n return (\r\n }\r\n expandedIcon={}\r\n />\r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 通过expandedRowRender参数来实现子表格。收起和展开的图标可自定义传入。注意:多选功能和嵌套表格一起使用时,需要设置 expandIconAsCell={true},把展开按钮放在单元格中展示。","scss_code":".expanded-table{\r\n .expand-icon-con .uf{\r\n font-size: 12px;\r\n }\r\n}"},{"example":,"title":" 树型表格数据展示","code":"/**\r\n*\r\n* @title 树型表格数据展示\r\n* @parent 扩展行 Expanded Row\r\n* @description 通过在data中配置children数据,来自动生成树形表格\r\n* demo1102\r\n*/\r\n\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\n\r\nconst columns4 = [\r\n {\r\n title: \"订单编号\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n width: \"40%\"\r\n },\r\n {\r\n title: \"单据日期\",\r\n dataIndex: \"age\",\r\n key: \"age\",\r\n width: \"30%\"\r\n },\r\n {\r\n title: \"供应商\",\r\n dataIndex: \"address\",\r\n key: \"address\"\r\n }\r\n];\r\n\r\nconst data4 = [\r\n {\r\n key: 1,\r\n name: \"NU0391001\",\r\n age: \"2019-03-01\",\r\n address: \"供应商1\",\r\n children: [\r\n {\r\n key: 11,\r\n name: \"NU0391002\",\r\n age: \"2019-03-02\",\r\n address: \"供应商2\"\r\n },\r\n {\r\n key: 12,\r\n name: \"NU0391003\",\r\n age: \"2019-03-03\",\r\n address: \"供应商3\",\r\n children: [\r\n {\r\n key: 121,\r\n name: \"NU0391004\",\r\n age: \"2019-03-04\",\r\n address: \"供应商4\"\r\n }\r\n ]\r\n },\r\n {\r\n key: 13,\r\n name: \"NU0391005\",\r\n age: \"2019-03-05\",\r\n address: \"供应商5\",\r\n children: [\r\n {\r\n key: 131,\r\n name: \"NU0391006\",\r\n age: \"2019-03-06\",\r\n address: \"供应商6\",\r\n children: [\r\n {\r\n key: 1311,\r\n name: \"NU0391007\",\r\n age: \"2019-03-07\",\r\n address: \"供应商7\"\r\n },\r\n {\r\n key: 1312,\r\n name: \"NU0391008\",\r\n age: \"2019-03-08\",\r\n address: \"供应商8\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n key: 2,\r\n name: \"NU0391009\",\r\n age: \"2019-03-09\",\r\n address: \"供应商9\"\r\n }\r\n];\r\nclass Demo4 extends Component {\r\n\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n data: data4,\r\n factoryValue: 0,\r\n selectedRow: new Array(data4.length)//状态同步\r\n }\r\n }\r\n\r\n render() {\r\n return
{\r\n if (this.state.selectedRow[index]) {\r\n return 'selected';\r\n } else {\r\n return '';\r\n }\r\n }}\r\n onRowClick={(record,index,indent)=>{\r\n let selectedRow = new Array(this.state.data.length);\r\n selectedRow[index] = true;\r\n this.setState({\r\n factoryValue: record,\r\n selectedRow: selectedRow\r\n });\r\n }}\r\n \r\n columns={columns4} data={data4} />;\r\n }\r\n}\r\n\r\n\r\n","desc":" 通过在data中配置children数据,来自动生成树形表格"},{"example":,"title":" 自定义表格标题、表尾、选中行颜色","code":"/**\r\n*\r\n* @title 自定义表格标题、表尾、选中行颜色\r\n* @parent 扩展行 Expanded Row\r\n* @description 可根据业务场景设置不同的`title`和`footer`。选中行颜色可用rowClassName作为选择器自定义css样式。\r\n* demo1103\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Button,Tooltip,} from \"tinper-bee\";\r\n\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 150, className: \"rowClassName\"},\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width: 100 },\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 100 },\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 100 }\r\n];\r\n\r\nconst data = [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", key: \"1\" },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", key: \"2\" },\r\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", key: \"3\" }\r\n];\r\n\r\nclass Demo26 extends Component {\r\n\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n data: data,\r\n selectedRowIndex: 0\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n {\r\n if (this.state.selectedRowIndex == index) {\r\n return 'selected';\r\n } else {\r\n return '';\r\n }\r\n }}\r\n onRowClick={(record,index,indent)=>{\r\n this.setState({ \r\n selectedRowIndex: index\r\n });\r\n }}\r\n title={currentData =>
员工信息统计表
}\r\n footer={currentData =>
合计: 共{data.length}条数据
}\r\n /> \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 可根据业务场景设置不同的`title`和`footer`。选中行颜色可用rowClassName作为选择器自定义css样式。"},{"example":,"title":" 紧凑型、宽松型","code":"/**\r\n*\r\n* @title 紧凑型、宽松型\r\n* @parent 扩展行 Expanded Row\r\n* @description 设置`size`属性使用紧凑型表格(`sm`)或宽松型表格(`lg`)。\r\n* demo1105\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Button,Tooltip,Tag} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n { title: \"订单编号\", dataIndex: \"orderNum\", key: \"orderNum\", width: 100 },\r\n { title: \"采购组织\", dataIndex: \"org\", key: \"org\", width: 200 },\r\n { title: \"供应商\", dataIndex: \"supplier\", key: \"supplier\", width: 100 },\r\n { title: \"订单日期\", dataIndex: \"orderDate\", key: \"orderDate\", width: 150 },\r\n { title: \"总数量\", dataIndex: \"quantity\", key: \"quantity\", width: 100 },\r\n { title: \"单据状态\", dataIndex: \"status\", key: \"status\", width: 100, \r\n render: (text, record, index) => {\r\n return (\r\n {text.desc}\r\n );\r\n }},\r\n { title: \"提交人\", dataIndex: \"submitter\", key: \"submitter\", width: 100 },\r\n { title: \"单位\", dataIndex: \"unit\", key: \"unit\", width: 100 },\r\n { title: \"总税价合计\", dataIndex: \"sum\", key: \"sum\", width: 100 },\r\n];\r\n\r\nconst data = [\r\n { \r\n orderNum: \"NU0391025\", \r\n org: \"用友网络科技股份有限公司\", \r\n supplier: \"xx供应商\", \r\n orderDate: '2018年03月18日', \r\n quantity: '100.00', \r\n status: {type:'success' ,desc:'正常'}, \r\n submitter: '小张', \r\n unit: 'pc', \r\n sum:'8,487.00', \r\n key: \"1\" \r\n },\r\n { \r\n orderNum: \"NU0391026\", \r\n org: \"用友网络科技股份有限公司\", \r\n supplier: \"xx供应商\", \r\n orderDate: '2018年02月05日', \r\n quantity: '91.00', \r\n status: {type:'danger' ,desc:'异常'}, \r\n submitter: '小红', \r\n unit: 'pc', \r\n sum:'675.00', \r\n key: \"2\" \r\n },\r\n { \r\n orderNum: \"NU0391027\", \r\n org: \"用友网络科技股份有限公司\", \r\n supplier: \"xx供应商\", \r\n orderDate: '2018年07月01日', \r\n quantity: '98.00', \r\n status: {type:'success' ,desc:'正常'}, \r\n submitter: '小李', \r\n unit: 'pc', \r\n sum:'1,531.00', \r\n key: \"3\" \r\n }\r\n];\r\n\r\nclass Demo1 extends Component {\r\n render() {\r\n return (\r\n
\r\n
紧凑型表格
\r\n
\r\n
宽松型表格
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 设置`size`属性使用紧凑型表格(`sm`)或宽松型表格(`lg`)。"},{"example":,"title":" 自定义行高","code":"/**\r\n*\r\n* @title 自定义行高\r\n* @parent 扩展行 Expanded Row\r\n* @description 设置`height`属性自定义表体行高,设置`headerHeight`属性自定义表头高度。鼠标hover行时呼出操作按钮。\r\n* demo1106\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Button,Tooltip} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 150, className: \"rowClassName\"},\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width: 100 },\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 100 },\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 100 }\r\n];\r\n\r\nconst data = [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", key: \"1\" },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", key: \"2\" },\r\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", key: \"3\" }\r\n];\r\n\r\nclass Demo1 extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: data,\r\n selectedRowIndex: 0\r\n }\r\n }\r\n handleClick = () => {\r\n console.log('这是第' , this.currentIndex , '行');\r\n console.log('内容:' , this.currentRecord);\r\n }\r\n\r\n onRowHover=(index,record)=>{\r\n this.currentIndex = index;\r\n this.currentRecord = record;\r\n }\r\n\r\n getHoverContent=()=>{\r\n return
\r\n }\r\n\r\n render() {\r\n return (\r\n {\r\n this.setState({\r\n selectedRowIndex: index\r\n });\r\n }}\r\n />\r\n\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 设置`height`属性自定义表体行高,设置`headerHeight`属性自定义表头高度。鼠标hover行时呼出操作按钮。"},{"example":,"title":" 图片在表格中的展示","code":"/**\r\n*\r\n* @title 图片在表格中的展示\r\n* @parent 扩展行 Expanded Row\r\n* @description 根据图片高度自动撑开行高,可结合图片查看器使用 http://design.yonyoucloud.com/tinper-bee/bee-viewer, 注:如果图片在固定列中,可以使用heightConsistent属性,当此属性为true,就不会出现错行问题\r\n* demo1107\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Button,Tooltip} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n {\r\n title: \"序号\",\r\n dataIndex: \"index\",\r\n key: \"index\",\r\n width: 80,\r\n render(text, record, index) {\r\n return index + 1;\r\n }\r\n },\r\n {\r\n title: \"图样\",\r\n dataIndex: \"picture\",\r\n key: \"picture\",\r\n render(text, record, index) {\r\n return \"Picture\"/\r\n }\r\n },\r\n {\r\n title: \"组织部门\",\r\n dataIndex: \"orgDept\",\r\n key: \"orgDept\",\r\n width: 100,\r\n },\r\n {\r\n title: \"设施管理部门\",\r\n dataIndex: \"facilityManageUnit\",\r\n key: \"facilityManageUnit\",\r\n width: 150,\r\n },\r\n {\r\n title: \"案卷编号\",\r\n dataIndex: \"docketnum\",\r\n key: \"docketnum\",\r\n width: 100,\r\n },\r\n {\r\n title: \"数量\",\r\n dataIndex: \"num\",\r\n key: \"num\",\r\n width: 100,\r\n },\r\n {\r\n title: \"首次发现时间\",\r\n dataIndex: \"discoveryTime\",\r\n key: \"discoveryTime\",\r\n width: 150,\r\n },\r\n {\r\n title: \"实际修复时间\",\r\n dataIndex: \"repairTime\",\r\n key: \"repairTime\",\r\n width: 150,\r\n }\r\n];\r\n\r\nconst data = [\r\n { key: \"1\", orgDept: \"组织1\", facilityManageUnit: \"部门1\", docketnum: 41, num: \"1\", discoveryTime: \"2018-10-17\", repairTime: \"2018-10-30\", picture: \"http://design.yonyoucloud.com/static/bee.tinper.org-demo/swiper-demo-1-min.jpg\"},\r\n { key: \"2\", orgDept: \"组织2\", facilityManageUnit: \"部门2\", docketnum: 30, num: \"2\", discoveryTime: \"2019-01-15\", repairTime: \"2019-01-20\", picture: \"http://design.yonyoucloud.com/static/bee.tinper.org-demo/swiper-demo-2-min.jpg\"},\r\n { key: \"3\", orgDept: \"组织3\", facilityManageUnit: \"部门3\", docketnum: 35, num: \"3\", discoveryTime: \"2019-04-10\", repairTime: \"2019-04-17\", picture: \"http://design.yonyoucloud.com/static/bee.tinper.org-demo/swiper-demo-3-min.jpg\"}\r\n];\r\n\r\nclass Demo1107 extends Component {\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 根据图片高度自动撑开行高,可结合图片查看器使用 http://design.yonyoucloud.com/tinper-bee/bee-viewer, 注:如果图片在固定列中,可以使用heightConsistent属性,当此属性为true,就不会出现错行问题"},{"example":,"title":" 自定义行、列合并","code":"/**\r\n*\r\n* @title 自定义行、列合并\r\n* @parent 扩展行 Expanded Row\r\n* @description 表头只支持列合并,使用 column 里的 colSpan 进行设置。表格支持行/列合并,使用 render 里的单元格属性 colSpan 或者 rowSpan 设值为 0 时,设置的表格不会渲染。\r\n* demo1108\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { Button } from 'tinper-bee';\r\n\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst renderContent = (value, row, index) => {\r\n const obj = {\r\n children: value,\r\n props: {},\r\n };\r\n if (index === 4) {\r\n obj.props.colSpan = 0;\r\n }\r\n return obj;\r\n};\r\n\r\nconst columns = [{\r\n title: '姓名',\r\n key: \"name\",\r\n dataIndex: 'name',\r\n render: (text, row, index) => {\r\n if (index < 4) {\r\n return {text};\r\n }\r\n return {\r\n children: {text},\r\n props: {\r\n colSpan: 5,\r\n },\r\n };\r\n },\r\n}, {\r\n title: '年龄',\r\n key: \"age\",\r\n dataIndex: 'age',\r\n render: renderContent,\r\n}, {\r\n title: '联系方式',\r\n colSpan: 2,\r\n key: \"tel\",\r\n dataIndex: 'tel',\r\n render: (value, row, index) => {\r\n const obj = {\r\n children: value,\r\n props: {},\r\n };\r\n if (index === 2) {\r\n obj.props.rowSpan = 2;\r\n }\r\n if (index === 3) {\r\n obj.props.rowSpan = 0;\r\n }\r\n if (index === 4) {\r\n obj.props.colSpan = 0;\r\n }\r\n return obj;\r\n },\r\n}, {\r\n title: '手机号',\r\n colSpan: 0,\r\n key: \"phone\",\r\n dataIndex: 'phone',\r\n render: renderContent,\r\n}, {\r\n title: '家庭住址',\r\n key: \"address\",\r\n dataIndex: 'address',\r\n render: renderContent,\r\n}];\r\n\r\n\r\nconst columns1 = [{\r\n title: '姓名',\r\n key: \"name\",\r\n dataIndex: 'name',\r\n render: (text, row, index) => {\r\n if (index < 4) {\r\n return {text};\r\n }\r\n return {\r\n children: {text},\r\n props: {\r\n colSpan: 5,\r\n },\r\n };\r\n },\r\n}, {\r\n title: '年龄',\r\n key: \"age\",\r\n dataIndex: 'age',\r\n render: renderContent,\r\n}, {\r\n title: '联系方式',\r\n colSpan: 2,\r\n key: \"tel\",\r\n dataIndex: 'tel',\r\n render: renderContent\r\n}, {\r\n title: '手机号',\r\n colSpan: 0,\r\n key: \"phone\",\r\n dataIndex: 'phone',\r\n render: renderContent,\r\n}, {\r\n title: '家庭住址',\r\n key: \"address\",\r\n dataIndex: 'address',\r\n render: renderContent,\r\n}];\r\nconst data = [{\r\n key: '1',\r\n name: '小红',\r\n age: 32,\r\n tel: '0571-22098909',\r\n phone: 18889898989,\r\n address: '北京海淀',\r\n}, {\r\n key: '2',\r\n name: '小明',\r\n tel: '0571-22098333',\r\n phone: 18889898888,\r\n age: 42,\r\n address: '河北张家口',\r\n}, {\r\n key: '3',\r\n name: '张三',\r\n age: 32,\r\n tel: '0575-22098909',\r\n phone: 18900010002,\r\n address: '浙江杭州',\r\n}, {\r\n key: '4',\r\n name: '李四',\r\n age: 18,\r\n tel: '0575-22098909',\r\n phone: 18900010002,\r\n address: '广州深圳',\r\n}, {\r\n key: '5',\r\n name: '王五',\r\n age: 18,\r\n tel: '0575-22098909',\r\n phone: 18900010002,\r\n address: '北京昌平',\r\n}];\r\n\r\nclass Demo15 extends Component {\r\n constructor(props){\r\n super(props);\r\n this.state={\r\n colFlag:false\r\n }\r\n }\r\n onChange=()=>{\r\n const colFlag = this.state.colFlag;\r\n this.setState({\r\n colFlag:!colFlag\r\n })\r\n }\r\n render() {\r\n let cols = this.state.colFlag?columns:columns1;\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n\r\n","desc":" 表头只支持列合并,使用 column 里的 colSpan 进行设置。表格支持行/列合并,使用 render 里的单元格属性 colSpan 或者 rowSpan 设值为 0 时,设置的表格不会渲染。"},{"example":,"title":" 拖拽改变行顺序","code":"/**\r\n*\r\n* @title 拖拽改变行顺序\r\n* @parent 行操作-拖拽\r\n* @description `rowDraggAble`参数设置是否使用行交换顺序功能,`onDropRow` 是拖拽行后的回调函数。注意:表格行数据必须有唯一标识,可以通过 `data.key` 或 `rowKey` 两种方式传入。\r\n* Demo1201\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { Switch } from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\n\r\nconst columns = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 150 },\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width:200 },\r\n { title: \"系统权限\", dataIndex: \"c\", key: \"c\", width: 200,render:()=>{return()}},\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 100 },\r\n { title: \"职级\", dataIndex: \"e\", key: \"e\", width: 100 }\r\n];\r\n\r\nconst data = [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", e: \"M1\", key: \"1001\" },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", e: \"T1\", key: \"1002\" },\r\n { a: \"ASVAL_201903120001\", b: \"小红\", c: \"女\", d: \"财务四科\", e: \"T3\", key: \"1003\" },\r\n { a: \"ASVAL_201903120002\", b: \"小姚\", c: \"女\", d: \"财务一科\", e: \"T2\", key: \"1004\" },\r\n { a: \"ASVAL_201903120003\", b: \"小岳\", c: \"男\", d: \"财务五科\", e: \"T2\", key: \"1005\" },\r\n { a: \"ASVAL_201903120004\", b: \"小王\", c: \"男\", d: \"财务一科\", e: \"T5\", key: \"1006\" },\r\n { a: \"ASVAL_201903120005\", b: \"小绍\", c: \"男\", d: \"财务七科\", e: \"T2\", key: \"1007\" },\r\n { a: \"ASVAL_201903120006\", b: \"小郭\", c: \"男\", d: \"财务一科\", e: \"T3\", key: \"1008\" },\r\n { a: \"ASVAL_201903120007\", b: \"小杨\", c: \"女\", d: \"财务四科\", e: \"T2\", key: \"1009\" }\r\n];\r\n\r\nclass Demo1201 extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: data\r\n }\r\n }\r\n handleClick = () => {\r\n console.log('这是第' , this.currentIndex , '行');\r\n console.log('内容:' , this.currentRecord);\r\n }\r\n\r\n /**\r\n * 行拖拽开始时触发\r\n * @param record 拖拽行的数据\r\n * @param index 拖拽行的下标序号\r\n */\r\n onDragRowStart = (record,index) => {\r\n console.log('拖拽的行数据:', record);\r\n console.log('拖拽的行序号:', index);\r\n }\r\n\r\n /**\r\n * 行拖拽结束时触发\r\n * @param data 拖拽改变顺序后的新data数组\r\n * @param record 拖拽行的数据\r\n */\r\n onDropRow = (data, record) => {\r\n console.log('重排序后的data: ', data);\r\n console.log('拖拽的行数据: ', record);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" `rowDraggAble`参数设置是否使用行交换顺序功能,`onDropRow` 是拖拽行后的回调函数。注意:表格行数据必须有唯一标识,可以通过 `data.key` 或 `rowKey` 两种方式传入。"},{"example":,"title":" 多选功能","code":"/**\r\n*\r\n* @title 多选功能\r\n* @parent 行操作-选择\r\n* @description 支持多选、全选和禁止选择。getSelectedDataFunc方法是选中行的回调函数,返回当前选中的数据数组。给data数据添加_checked参数可设置当前数据是否选中,添加_disabled参数可禁止选择当前数据。\r\n* demo1301\r\n*/\r\n\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport {Checkbox} from \"tinper-bee\";\r\n\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport multiSelect from \"tinper-bee/lib/multiSelect.js\";;\r\n\r\nconst columns = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 300, className: \"rowClassName\"},\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width: 500 },\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 500 },\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 200 }\r\n];\r\n\r\nconst data = [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", key: \"1\",_checked:true },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", key: \"2\",_checked:false },\r\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", key: \"3\",_checked:false },\r\n { a: \"ASVAL_201903280010\", b: \"小王\", c: \"女\", d: \"财务二科\", key: \"4\",_disabled:true },\r\n { a: \"ASVAL_201903200021\", b: \"小李\", c: \"男\", d: \"财务一科\", key: \"5\",_checked:false}\r\n];\r\n//拼接成复杂功能的table组件不能在render中定义,需要像此例子声明在组件的外侧,不然操作state会导致功能出现异常\r\nlet MultiSelectTable = multiSelect(Table, Checkbox);\r\n\r\nclass Demo12 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: data\r\n };\r\n }\r\n /**\r\n *@param selectedList:当前选中的行数据\r\n *@param record 当前操作行数据\r\n *@param index 当前操作行索引\r\n * @memberof Demo12\r\n */\r\n getSelectedDataFunc = (selectedList,record,index) => {\r\n console.log(\"selectedList\", selectedList,\"index\",index);\r\n // 如果在回调中增加setState逻辑,需要同步data中的_checked属性。即下面的代码\r\n // const allChecked = selectedList.length == 0?false:true;\r\n // record为undefind则为全选或者全不选\r\n // if(!record){\r\n // data12.forEach(item=>{\r\n // item._checked = allChecked;\r\n // })\r\n // }else{\r\n // data12[index]['_checked'] = record._checked;\r\n // } \r\n\r\n \r\n };\r\n \r\n render() {\r\n let multiObj = {\r\n type: \"checkbox\"\r\n };\r\n return (\r\n {\r\n if (record._checked) {\r\n return 'selected';\r\n } else {\r\n return '';\r\n }\r\n }}\r\n getSelectedDataFunc={this.getSelectedDataFunc}/>\r\n );\r\n }\r\n}\r\n\r\n","desc":" 支持多选、全选和禁止选择。getSelectedDataFunc方法是选中行的回调函数,返回当前选中的数据数组。给data数据添加_checked参数可设置当前数据是否选中,添加_disabled参数可禁止选择当前数据。"},{"example":,"title":" 单选功能","code":"/**\r\n*\r\n* @title 单选功能\r\n* @parent 行操作-选择\r\n* @description 表格支持单选行操作,可自定义选中行背景色。getSelectedDataFunc方法是选中行的回调函数。\r\n* Demo1302\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { Radio } from 'tinper-bee';\r\n\n\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport singleSelect from \"tinper-bee/lib/singleSelect.js\";;\r\n\r\nconst columns = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 300 },\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width: 500 },\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 500 },\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 200 }\r\n ];\r\n \r\n const data = [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", key: \"1\" },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", key: \"2\" },\r\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", key: \"3\" },\r\n { a: \"ASVAL_201903280010\", b: \"小王\", c: \"女\", d: \"财务二科\", key: \"4\" },\r\n { a: \"ASVAL_201903200021\", b: \"小李\", c: \"男\", d: \"财务一科\", key: \"5\" }\r\n ];\r\n\r\n//拼接成复杂功能的table组件不能在render中定义,需要像此例子声明在组件的外侧,不然操作state会导致功能出现异常\r\nlet SingleSelectTable = singleSelect(Table, Radio);\r\n\r\nclass Demo1302 extends Component {\r\n\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n data: data,\r\n selectedRowIndex: 0,\r\n }\r\n }\r\n\r\n /**\r\n *@param selected 当前选中的行数据(当前操作行数据)\r\n *@param index 当前操作行索引\r\n * @memberof Demo12\r\n */\r\n getSelectedDataFunc = (record,index) => {\r\n console.log(\"record\", record, \"index\",index);\r\n\r\n this.setState({\r\n selectedRowIndex:index\r\n })\r\n };\r\n\r\n render() {\r\n let {selectedRowIndex} = this.state;\r\n\r\n return (\r\n {\r\n if (index === selectedRowIndex) {\r\n return 'selected';\r\n } else {\r\n return '';\r\n }\r\n }}\r\n getSelectedDataFunc={this.getSelectedDataFunc}\r\n /> \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 表格支持单选行操作,可自定义选中行背景色。getSelectedDataFunc方法是选中行的回调函数。"},{"example":,"title":" 万行以上数据渲染","code":"/**\r\n*\r\n* @title 万行以上数据渲染\r\n* @parent 无限滚动 Infinite-scroll\r\n* @description 万行数据渲染\r\n* demo1401\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Tooltip} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport BigData from \"tinper-bee/lib/bigData\";;\r\nconst BigDataTable = BigData(Table);\r\nconst columns = [\r\n {\r\n title:'序号',\r\n dataIndex:'index',\r\n width:'60',\r\n key:'index',\r\n render:(text,record,index)=>{\r\n return index\r\n }\r\n },\r\n {\r\n title: \"用户名\", dataIndex: \"a\", key: \"a\", width: 580, className: \"rowClassName\",\r\n render: (text, record, index) => {\r\n return (\r\n \r\n {text}\r\n \r\n );\r\n }\r\n },\r\n { id: \"123\", title: \"性别\", dataIndex: \"b\", key: \"b\", width: 80},\r\n { title: \"年龄\", dataIndex: \"c\", key: \"c\", width: 200 }\r\n\r\n];\r\n\r\nconst data = [ ...new Array(10000) ].map((e, i) => {\r\n const rs = { a: i + 'a', b: i + 'b', c: i + 'c', d: i + 'd', key: i };\r\n if(i%3==0){\r\n rs.b = '女';\r\n }\r\n return rs;\r\n })\r\n\r\n\r\nclass Demo30 extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: data,\r\n selectedRowIndex: 0\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n {\r\n console.log('currentIndex--'+index);\r\n }}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n\r\n","desc":" 万行数据渲染","scss_code":".big-data tr td {\r\n // height: 48px;\r\n}"},{"example":,"title":" 嵌套子表格滚动加载","code":"/**\r\n*\r\n* @title 嵌套子表格滚动加载\r\n* @parent 无限滚动 Infinite-scroll\r\n* @description 通过expandedRowRender参数来实现子表格。注意:表格行数据必须有唯一标识,可以通过 `data.key` 或 `rowKey` 两种方式传入。\r\n* demo1402\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Popconfirm} from 'tinper-bee';\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport BigData from \"tinper-bee/lib/bigData\";;\r\nconst BigDataTable = BigData(Table);\r\nconst outColumns = [\r\n {\r\n title: \"操作\",\r\n dataIndex: \"d\",\r\n key: \"d\", \r\n width:200,\r\n render(text, record, index) {\r\n return (\r\n \r\n \r\n 一些操作\r\n \r\n \r\n );\r\n }\r\n },\r\n { title: \"用户名\", dataIndex: \"a\", key: \"a\", width: 250 },\r\n { id: \"123\", title: \"性别\", dataIndex: \"b\", key: \"b\", width: 100 },\r\n { title: \"年龄\", dataIndex: \"c\", key: \"c\", width: 200 },\r\n \r\n];\r\nconst innerColumns = [\r\n {\r\n title: \"操作\",\r\n dataIndex: \"d\",\r\n key: \"d\",\r\n width:200,\r\n render(text, record, index) {\r\n return (\r\n \r\n \r\n 一些操作\r\n \r\n \r\n );\r\n }\r\n },\r\n { title: \"用户名\", dataIndex: \"a\", key: \"a\", width: 100 },\r\n { id: \"123\", title: \"性别\", dataIndex: \"b\", key: \"b\", width: 100 },\r\n { title: \"年龄\", dataIndex: \"c\", key: \"c\", width: 200 },\r\n \r\n];\r\n\r\nconst data16 = [ ...new Array(10000) ].map((e, i) => {\r\n return { a: i + 'a', b: i + 'b', c: i + 'c', d: i + 'd', key: i };\r\n })\r\n\r\n\r\n\r\n\r\n\r\nclass Demo31 extends Component {\r\n constructor(props){\r\n super(props);\r\n this.state={\r\n data_obj:{\r\n 0:[\r\n { a: \"令狐冲\", b: \"男\", c: 41, d: \"操作\", key: \"1\" },\r\n { a: \"杨过\", b: \"男\", c: 67, d: \"操作\", key: \"2\" }\r\n ],\r\n 1: [\r\n { a: \"令狐冲\", b: \"男\", c: 41, d: \"操作\", key: \"1\" },\r\n { a: \"菲菲\", b: \"nv\", c: 67, d: \"操作\", key: \"2\" }\r\n ],\r\n }\r\n }\r\n }\r\n expandedRowRender = (record, index, indent) => {\r\n let height = 200;\r\n let innderData = [ ...new Array(100) ].map((e, i) => {\r\n return { a: index+\"-\"+ i + 'a', b: i + 'b', c: i + 'c', d: i + 'd', key: index+\"-\"+ i };\r\n })\r\n return (\r\n \r\n );\r\n };\r\n getData=(expanded, record)=>{\r\n //当点击展开的时候才去请求数据\r\n let new_obj = Object.assign({},this.state.data_obj);\r\n if(expanded){\r\n if(record.key==='1'){\r\n new_obj[record.key] = [\r\n { a: \"令狐冲\", b: \"男\", c: 41, d: \"操作\", key: \"1\" },\r\n { a: \"杨过\", b: \"男\", c: 67, d: \"操作\", key: \"2\" }\r\n ]\r\n this.setState({\r\n data_obj:new_obj\r\n })\r\n }else{\r\n new_obj[record.key] = [\r\n { a: \"令狐冲\", b: \"男\", c: 41, d: \"操作\", key: \"1\" },\r\n { a: \"菲菲\", b: \"nv\", c: 67, d: \"操作\", key: \"2\" }\r\n ]\r\n this.setState({\r\n data_obj:new_obj\r\n })\r\n }\r\n }\r\n }\r\n haveExpandIcon=(record, index)=>{\r\n //控制是否显示行展开icon,该参数只有在和expandedRowRender同时使用才生效\r\n if(index == 0){\r\n return true;\r\n }\r\n return false;\r\n }\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":" 通过expandedRowRender参数来实现子表格。注意:表格行数据必须有唯一标识,可以通过 `data.key` 或 `rowKey` 两种方式传入。"},{"example":,"title":" 多功能表格滚动加载","code":"/**\r\n*\r\n* @title 多功能表格滚动加载\r\n* @parent 无限滚动 Infinite-scroll\r\n* @description\r\n* demo1403\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Tooltip,Checkbox,Icon,Popover} from \"tinper-bee\";\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport BigData from \"tinper-bee/lib/bigData\";;\r\nimport multiSelect from \"tinper-bee/lib/multiSelect\";;\r\nimport filterColumn from \"tinper-bee/lib/filterColumn\";;\r\n\r\nlet ComplexTable = filterColumn(multiSelect(BigData(Table), Checkbox), Popover, Icon);\r\n\r\nconst columns = [\r\n {\r\n title:'序号',\r\n dataIndex:'index',\r\n width:'80',\r\n key:'index',\r\n render:(text,record,index)=>{\r\n return index\r\n }\r\n },\r\n {\r\n title: \"用户名\", dataIndex: \"a\", key: \"a\", width: 580, className: \"rowClassName\",\r\n render: (text, record, index) => {\r\n return (\r\n \r\n {text}\r\n \r\n );\r\n }\r\n },\r\n { id: \"123\", title: \"性别\", dataIndex: \"b\", key: \"b\", width: 80},\r\n { title: \"年龄\", dataIndex: \"c\", key: \"c\", width: 200 }\r\n];\r\n\r\nconst data = [ ...new Array(10000) ].map((e, i) => {\r\n const rs = { a: i + 'a', b: i + 'b', c: i + 'c', d: i + 'd', key: i };\r\n if(i%3==0){\r\n rs.b = '女';\r\n }\r\n return rs;\r\n })\r\n\r\n\r\nclass Demo32 extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: data,\r\n selectedRowIndex: 0\r\n }\r\n }\r\n getSelectedDataFunc = data => {\r\n console.log(data);\r\n };\r\n\r\n render() {\r\n return (\r\n {\r\n this.setState({\r\n selectedRowIndex: index\r\n });\r\n }}\r\n getSelectedDataFunc={this.getSelectedDataFunc}/>\r\n\r\n );\r\n }\r\n}\r\n\r\n\r\n","desc":""},{"example":,"title":" 层级树大数据场景","code":"/**\r\n* @title 层级树大数据场景\r\n* @parent 无限滚动 Infinite-scroll\r\n* @description\r\n* demo1404\r\n*/\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Tooltip} from \"tinper-bee\";\r\n\r\nimport Table from \"tinper-bee/lib/src\";;\r\nimport BigData from \"tinper-bee/lib/bigData\";;\r\nconst BigDataTable = BigData(Table);\r\nconst columns = [\r\n {\r\n title:'序号',\r\n dataIndex:'index',\r\n width:'150',\r\n key:'index',\r\n render:(text,record,index)=>{\r\n return index\r\n }\r\n },\r\n {\r\n title: \"用户名\", dataIndex: \"a\", key: \"a\", width: 580, className: \"rowClassName\",\r\n render: (text, record, index) => {\r\n return (\r\n \r\n {text}\r\n \r\n );\r\n }\r\n },\r\n { id: \"123\", title: \"性别\", dataIndex: \"b\", key: \"b\", width: 80},\r\n { title: \"年龄\", dataIndex: \"c\", key: \"c\", width: 200 }\r\n];\r\n\r\nconst data = [ ...new Array(1000) ].map((e, i) => {\r\n const rs = { a: i + 'a', b: i + 'b', c: i + 'c', d: i + 'd', key: i };\r\n if(i%3==0){\r\n rs.b = '女';\r\n rs.children = [];\r\n for(let subi=0;subi<3;subi++){\r\n rs.children.push({a: i +subi + 'asub', b: i +subi + 'bsub', c: i + subi +'csub', d: i + subi +'dsub', key: i+ `${subi} sub`});\r\n }\r\n }else{\r\n rs.children = [];\r\n for(let subi=0;subi<3;subi++){\r\n rs.children.push({a: i +subi + 'asub', b: i +subi + 'bsub', c: i + subi +'csub', d: i + subi +'dsub', key: i+ `${subi} sub`});\r\n }\r\n }\r\n return rs;\r\n })\r\n\r\n\r\nclass Demo34 extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: data,\r\n selectedRowIndex: 0\r\n }\r\n }\r\n onExpandedRowsChange = (expandedRowKeys)=>{\r\n console.log('expandedRowKeys',expandedRowKeys);\r\n }\r\n onExpand = (expandKeys)=>{\r\n console.log('expand---'+expandKeys);\r\n }\r\n render() {\r\n return (\r\n {\r\n console.log('currentIndex--'+index);\r\n }}\r\n onExpandedRowsChange={this.onExpandedRowsChange}\r\n />\r\n\r\n \r\n );\r\n }\r\n}\r\n\r\n","desc":""},{"example":,"title":" 表格+分页","code":"/**\r\n * @title 表格+分页\r\n * @parent 分页 Pagination\r\n * @description 点击分页联动表格\r\n * demo1601\r\n */\r\n\r\nimport React, { Component } from \"react\";\nimport { } from 'tinper-bee';\r\nimport {Pagination} from \"tinper-bee\";\r\n\r\nimport Table from \"tinper-bee/lib/src\";;\r\n\r\nconst columns = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 300, className: \"rowClassName\"},\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width: 500 },\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 500 },\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 200 }\r\n];\r\n\r\nconst pageData = {\r\n 1: [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", key: \"1\" },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", key: \"2\" },\r\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", key: \"3\" }\r\n ],\r\n 2: [\r\n { a: \"ASVAL_201903280010\", b: \"小王\", c: \"女\", d: \"财务二科\", key: \"4\" },\r\n { a: \"ASVAL_201903200021\", b: \"小李\", c: \"男\", d: \"财务一科\", key: \"5\" },\r\n ]\r\n};\r\n\r\nclass Demo8 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: pageData[1],\r\n activePage: 1\r\n };\r\n }\r\n\r\n handleSelect(eventKey) {\r\n this.setState({\r\n data: pageData[eventKey],\r\n activePage: eventKey\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n","desc":" 点击分页联动表格","scss_code":".demo8{\r\n .u-table {\r\n margin-bottom: 11px;\r\n }\r\n .u-pagination{\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n}"}] class Demo extends Component { diff --git a/dist/demo.css b/dist/demo.css index b7761a9..d4fb625 100644 --- a/dist/demo.css +++ b/dist/demo.css @@ -291,7 +291,7 @@ .u-table-fixed-left .u-table-body-inner { margin-right: -20px; padding-right: 20px; } - .u-table-fixed-header .u-table-fixed-left .u-table-body-inner { + .u-table-fixed-header:not(.u-table-hide-header) .u-table-fixed-left .u-table-body-inner { padding-right: 0px; } .u-table-fixed-header .u-table-body-inner { height: 100%; diff --git a/dist/demo.css.map b/dist/demo.css.map index ec7d830..8c04075 100644 --- a/dist/demo.css.map +++ b/dist/demo.css.map @@ -1 +1 @@ -{"version":3,"sources":["demo.css","../node_modules/tinper-bee-core/scss/minxin-variables.scss","../node_modules/bee-loading/node_modules/tinper-bee-core/scss/minxin-variables.scss","../node_modules/bee-loading/src/Loading.scss","../node_modules/tinper-bee-core/scss/minxin-themeColors.scss","../src/Table.scss","TableDemo.scss","demolist/Demo0104.scss","demolist/Demo0302.scss","demolist/Demo0402.scss","demolist/Demo0501.scss","demolist/Demo0502.scss","demolist/Demo0503.scss","demolist/Demo0505.scss","demolist/Demo0603.scss","demolist/Demo1101.scss","demolist/Demo1601.scss"],"names":[],"mappings":"AAAA,iBAAiB;ACuXjB,eAAe;AAWf,iBAAiB;ACXjB,eAAe;AAWf,iBAAiB;AC5XjB;;IAEI;AAcJ;;IAEI;AACJ;EACE,mBAAkB;EAClB,UAAS;EACT,QAAO;EACP,SAAQ;EACR,gBCfmB;EDgBnB,eFauB;EEZvB,mBAAkB,EACnB;;AAGD;;IAEI;AAEJ;EAGM,mBAAkB;EAClB,oBAAmB;EACnB,YAAW;EAEX,0BAAyB;EAGzB,YDkwCmB;ECjwCnB,aDiwCmB;EChwCnB,SD2wCiB;EC1wCjB,UD2wCkB;EC1wClB,mBD6wCsB;EC5wCtB,kBD4wCsB;EC3wCtB,mCAAkC;EAClC,sBAAqB;EAErB,wCAAuC;EACvC,mBAAkB;EAClB,kBDuvCmB,EC9uCpB;EA9BL;IAuBQ,YDqvCiB,ECpvClB;EAxBP;IA0BQ,eA9DoB;IA+DpB,gBAAe;IACf,WAAU,EACX;;AA7BP;EAiCQ,mBD2vCuB;EC1vCvB,kBD0vCuB;ECzvCvB,YD0uCoB;ECzuCpB,aDyuCoB;ECxuCpB,kBDwuCoB,ECjuCrB;EA5CP;IAuCU,YDsuCkB,ECruCnB;EAxCT;IA0CU,gBAAe,EAChB;;AA3CT;EAgDQ,mBD0uCwB;ECzuCxB,kBDyuCwB;ECxuCxB,YDytCqB;ECxtCrB,aDwtCqB;ECvtCrB,kBDutCqB,EChtCtB;EA3DP;IAsDU,YDqtCmB,ECptCpB;EAvDT;IAyDU,gBAAe,EAChB;;AA1DT;EA+DQ,eDorC8B,ECjrC/B;;AAlEP;EAsEQ,eD8qCqB,EC3qCtB;;AAzEP;EA6EQ,eDwqC2B,ECrqC5B;;AAMP;EACE,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,cAAa;EAGb,2CAAsC,EAIvC;EAbD;IAWI,gBAAe,EAChB;;AAGH;EACE;IAEE,iCAAgC,EAAA;EAGlC;IAEE,mCAAkC,EAAA;EAGpC;IAEE,mCAAkC,EAAA,EAAA;;AAItC;EAEI,mBAAkB;EAClB,SD8pCmB;EC7pCnB,UD8pCoB;EC7pCpB,kBDqqC0B;ECpqC1B,mBDqqC2B,ECnnC5B;EAxDH;IAQM,0BAAyB;IACzB,WDkpCiB;ICjpCjB,aDkpCmB;ICjpCnB,mBAAkB;IAClB,YAAW;IAEX,0BAAyB;IACzB,sBAAqB,EACtB;EAhBL;IAkBM,kBD0pC2B;ICzpC3B,mBD0pC4B,ECrpC7B;IAxBL;MAqBQ,WDwoCkB;MCvoClB,aDwoCoB,ECvoCrB;EAvBP;IA0BM,kBD8oC4B;IC7oC5B,mBD8oC4B,ECzoC7B;IAhCL;MA6BQ,WD4nCmB;MC3nCnB,aD4nCoB,EC3nCrB;EA/BP;IAoCQ,2ED6lC8D;IC5lC9D,0BDmmCU,EClmCX;EAtCP;IAoCQ,2ED8lC8D;IC7lC9D,0BDomCU,ECnmCX;EAtCP;IAoCQ,2ED+lC8D;IC9lC9D,0BDqmCU,ECpmCX;EAtCP;IAoCQ,2EDgmC8D;IC/lC9D,0BDsmCU,ECrmCX;EAtCP;IAoCQ,2EDimC8D;IChmC9D,0BDumCU,ECtmCX;EAtCP;IA2CQ,0BDklC8B,ECjlC/B;EA5CP;IAgDQ,0BD8kCqB,EC7kCtB;EAjDP;IAqDQ,0BD0kC2B,ECzkC5B;;AAIP;EAGM,mBAAkB;EAClB,UAAS;EACT,SAAQ;EAER,iCAA+B,EAChC;;AAGL;EACE;IAEE,qBAAoB,EAAA;EAGtB;IAEE,uBAAsB,EAAA;EAGxB;IAEE,qBAAoB,EAAA,EAAA;;AExNxB;EACE,gBApBmB;EAqBnB,eJkBuB;EIhBvB,mBAAkB;EAClB,kBAvBgB;EAwBhB,iBAAgB,EA2qBjB;EA1qBC;IAEE,mBAAkB,EAKnB;IAPA;MAIG,cAAa;MACb,qBAAoB,EACrB;EAEH;IACE,mBAAkB,EAOnB;IANC;MACE,mBAAkB;MAClB,SAAQ;MACR,UAAS,EAEV;EAtBL;IAyBI,YAAW;IACX,0BAAyB;IACzB,iBAAgB,EACjB;EA5BH;IAgCI,kBAlCyB;IAmCzB,iBAAgB;IAEhB,kBAAiB,EAOlB;IA1CH;MAqCM,mBAAkB,EACnB;IAtCL;MAwCM,iBAAgB,EACjB;EAzCL;IA6CI,4CA7D4D;IA8D5D,kBAhEc,EA6Ef;IA3DH;MAgDM,eAAc,EAOf;MAvDL;QAkDQ,eAAc,EACf;MAnDP;QAqDQ,eAAc,EACf;IAtDP;MAyDM,sBACF,EAAC;EA1DL;IA8DM,iCAnEyB,EAoE1B;EA/DL;IAiEM,mBAAkB,EACnB;EAlEL;IA0EU,+BAA8B,EAC/B;EA3ET;IA+EM,eAAc,EAOf;IAtFL;MAiFQ,eAAc,EACf;IAlFP;MAoFQ,eAAc,EACf;EArFP;IAwFM,qBAAa;IAAb,cAAa;IACb,gCAA2B;IAA3B,4BAA2B,EAgB5B;IAzGL;MA2FQ,mBAAkB,EACnB;IA5FP;MA8FQ,aAAY,EAOb;MArGP;QAgGU,WAAU,EACX;MAjGT;QAmGU,WAAU,EACX;IApGT;MAuGQ,UAAS,EACV;EAxGP;IA4GI,+BJiF8D,EIhF/D;EA7GH;;IAiHI,kBA7HoB;IA8HpB,sBAAqB,EAmBtB;IArIH;;MAqHQ,gBAAe;MACf,kBAAiB,EAClB;IAvHP;;MA0HM,mBAAkB,EACnB;IA3HL;;MA6HM,kBAAiB,EAClB;IA9HL;;MAgIM,gBAAe;MACf,sBAAqB;MACrB,gBAAe;MACf,kBAAiB,EAClB;EAEF;IAEG,iBApJkB,EAqJnB;EAEF;IAEG,kBAzJkB,EA0JnB;EA9IL;IAoJQ,4BAA2B;IAC3B,+BAA8B,EAO/B;IA5JP;MAuJU,aAAY,EACb;IAxJT;MA0JU,aAAY,EACb;EAIP;IACE,+BAAuD,EACxD;EAED;IACE,eAAc,EACf;EACA;IAEG,qCAxL0D;IAyL1D,uBAAsB;IACtB,oBAAmB,EAEpB;EANF;IASK,iBAAgB,EACnB;EAVF;IAaK,gBAAgB,EACjB;EAdJ;IAkBG,4CAxM0D;IAyM1D,uBAAsB,EACvB;EApBF;;IAuBG,2CA7M0D;IA8M1D,uBAAsB,EACvB;EAEF;IAGK,iBAAgB,EAIjB;IAPJ;MAKO,cAAa,EACd;EAIP;IACE,iBAAgB;IAChB,+BJmvC2E;IIlvC3E,uBJmvC+D,EIlvChE;EA/MH;IAkNI,iBA9NoB,EA+NrB;EAED;IACE,iBAAgB;IAChB,mBAAkB,EACnB;EACD;IACE,oBAAmB;IACnB,oBAAmB,EACpB;EAEA;IACC,mBAAkB,EACnB;EAED;IACE,aAAY;IACZ,iBAAgB,EACjB;EAGD;IACE,mBAAkB;IAClB,qBAAoB;IACpB,qBAAoB;IACpB,mBAAkB;IAClB,uBAAsB,EACvB;EAED;IACE,kBA7PoB;IA8PpB,yCAlQ4D,EAmQ7D;EAED;IACE,mBAAkB,EACnB;EAED;IACE,kBAtQoB;IAuQpB,4CA3Q4D,EA+Q7D;IANA;MAIG,mBAAkB,EACnB;EAEH;IACE,mBA7QoB,EA8QrB;EAED;IACE,kBAA8B;IAC9B,iBAAgB;IAChB,4CAvR4D;IAwR5D,mBAAkB;IAClB,mBAAkB,EAUnB;IAfA;MAOG,gBAAe;MACf,kBAAiB,EAMlB;MAdF;QAUK,gBAAe;QACf,kBAAiB;QACjB,eAAc,EACf;EAIL;IACE,YAAW,EACZ;EACA;IAIK,iBAAgB,EACjB;EALJ;IAOK,+BAAuD,EACxD;EAEH;IACE,gBAAe;IACf,sBAAqB;IACrB,kBAAiB;IACjB,YAAW;IACX,aAAY;IACZ,mBAAkB;IAClB,kBAAiB;IACjB,0BAAiB;IAAjB,uBAAiB;IAAjB,sBAAiB;IAAjB,kBAAiB,EAKlB;IAbA;MAUG,gBAAe;MACf,WAAU,EACX;EAEH;IACE,mBAAkB,EACnB;EACD;IACE,aAAY,EACb;EACA;IAEG,iBAAgB;IAChB,kBAAiB,EAClB;EAEF;IAEG,iBAAgB;IAChB,kBAAiB,EAClB;EAGJ;IAEG,oBAAmB,EACpB;EAtUL;IAyUI,oBAAmB,EAQpB;IAjVH;MA2UM,oBAAmB,EACpB;IA5UL;MA+UM,WAAU,EACX;EAEH;IACE,cAAa,EACd;EACD;IAEE,gBAAe;IACf,YAAW;IACX,WAAU,EAWX;IAfA;MAMG,eAAc,EACf;IACD;MACE,oBAAmB;MACnB,YAAW,EAIZ;MANA;QAIG,YAAW,EACZ;EAGL;IACE,kBAAiB,EAIlB;IALA;MAGG,aAAY,EACb;EAEH;IACE,aAAY,EAIb;IALA;MAGG,aAAY,EACb;EAGH;IAEE,mBAAkB;IAClB,OAAM;IACN,iBAAgB;IAChB,WAAU,EAKX;IAVA;MAOG,YAAW;MACX,iBAAgB,EACjB;EAGH;IACE,QAAO;IACP,+CAA8C,EAQ/C;IAPC;MACE,oBAAmB;MACnB,oBAAmB,EACpB;IACD;MACE,iBAAgB,EACjB;EAGH;IACE,SAAQ;IACR,gDAA+C,EAShD;IALC;MACE,mBAAkB;MAClB,qBAAoB,EACrB;EAIH;IACE,iBAAgB,EACjB;EAED;IACE,iBAAgB,EACjB;EAEA;IAEG,oBAAmB,EACpB;EAHF;IAKG,qBAAa;IAAb,cAAa;IACb,sBAAuB;IAAvB,wBAAuB;IACvB,uBAAmB;IAAnB,oBAAmB,EAIpB;IAXF;MASK,gBAAe,EAChB;EAVJ;IAaG,+BJohCyE;IInhCzE,uBJohC6D;IInhC7D,6BAA2B;IAE3B,4BAA2B;IAE3B,0BAAyB;IACzB;;QAEE;IACA,sBAAqB;IACrB,kBAAiB,EA+DpB;IAvFF;MA8BK,mBAAkB;MAClB,iBAAgB;MAChB,aAAY;MACZ,uBAAsB;MACtB,mBAAkB;MAClB,sBAAqB;MACrB,iBAAgB,EAejB;MAnDJ;QAsCO,aAAY;QACZ,iBAAgB;QAChB,eAxcS,EAycV;MAzCN;;QA6CO,kBAAiB;QACjB,eAAc;QACd,YAAW;QACX,gBAAe,EAChB;IAjDN;;;;MAyDK,eAAc,EACf;IA1DJ;;MA8DK,aAAY;MACZ,gBAAe,EAChB;IAhEJ;;MAmEK,sBAAqB;MACrB,WAAU;MACV,gBAAe;MACf,iBAAgB;MAGhB,uCAAyC;MACzC,+GAA8G;MAC9G,QAAO;MACP,iBAAgB;MAChB,YAAW;MACX,YAAW,EAGZ;IAjFJ;MAoFS,sBAAqB,EACxB;EArFN;IAyFG,aAAY,EACb;EA1FF;IA4FG,+BJ9T4D,EIgU7D;EA9FF;IAoGG,iBAAgB,EACjB;EACD;IACE,mBAAkB,EAgCnB;IA9BC;MACE,aAAY;MACZ,mBAAkB;MAClB,aAAY;MACZ,OAAM;MAIN,YAAW;MAEX,uBAAsB;MACtB,WAAU,EAYX;MAvBA;QAcG,aAAY;QACZ,WAAU;QACV,wBAAsB;QACtB,eAAc,EACf;MAlBF;QAoBG,oBAAkB,EACnB;IAGH;MACE,mBAAkB,EAInB;MALA;QAGG,oBACF,EAAC;EAGJ;IAEG,aAAY,EACb;EAOH;IACE,YAAW;IACX,kBAAiB;IACjB,iBAAgB;IAChB,eAAa,EACd;EACD;IAEE,gBAAe;IACf,mBAAkB,EACnB;EACD;IACE,mBAAkB,EACnB;EACD;IACE,mBAAkB;IAClB,YAAW;IACX,aAAa;IACb,kBAAiB;IACjB,WAAW;IACX,SAAQ;IACR,WAAU;IACV,+BJy3ByE;IIx3BzE,mBAAkB;IAClB,gBAAe,EAKhB;IAfA;MAYG,aAAY;MACZ,eA7kBW,EA8kBZ;EAEH;IACE,gBAAe;IACf,gBAAe;IAEf,gBAAe,EAKhB;IATA;MAMG,YAAW,EAEZ;EAEH;IACE,kBAAiB;IACjB,iBAAgB;IAChB,uBAAsB;IACtB,gBAAe;IACf,iBAAgB;IAChB,wBAAuB;IACvB,oBAAmB;IACnB,sBAAqB;IACrB,uBAAsB,EACvB;EACD;IACE,uBAAsB;IACtB,iBAAgB,EACjB;EAGH;IAEE,cAAY;IACZ,qBAAoB,EACrB;EA9mBH;IAinBI,aAvnBiB;IAwnBjB,kBAxnBiB;IAynBjB,YAAU;IACV,eAAc;IACd,iBAAgB,EASjB;IA9nBH;MAunBM,kBA7nBe;MA8nBf,mBAAkB,EAKnB;MA7nBL;QA0nBQ,YAhoBa;QAioBb,aAjoBa,EAkoBd;EA5nBP;IAkoBQ,mBA7oBuB,EA8oBxB;EAnoBP;IA0oBU,kBAtpBc,EAupBf;EA3oBT;IAipBI,WAAU;IACV,YAAW,EACZ;EAnpBH;IAqpBI,cAAa,EACd;EAtpBH;IAwpBI,+BAA8B;IAC9B,mBAAkB,EACnB;EA1pBH;IA4pBI,mBAAkB;IAClB,0BAAyB;IACzB,mBAAkB,EACnB;EA/pBH;IAkqBI,cAAa,EACd;EAnqBH;IAsqBI,cAAa,EACd;EAvqBH;IA0qBI,aAAW,EACZ;EA3qBH;IA6qBI,aAAY;IACZ,aAAY,EACb;;AAIH;EACE,cAAa;EAGb,kBAAiB,EAClB;;AAEC;EAEI,oBAAkB,EACnB;;AAEL;EAEI,0BAAyB,EAC1B;;AAHH;;EAMI,qCArtB4D,EAstB7D;;AAGH;;EAEE,WAAU;EACV,+DAA8D;EAC9D,yBAAwB;EACxB,0BAAyB;EACzB,6BAA4B,EAC7B;;AAED;EACE,kEAAiE;EACjE,yBAAwB;EACxB,0BAAyB;EACzB,6BAA4B,EAC7B;;AAED;;EAEE,2BAA0B;EAC1B,8BAA6B,EAC9B;;AAED;EACE,6BAA4B;EAC5B,8BAA6B,EAC9B;;AAED;EACE;IACE,sBAAqB;IACrB,4BAA2B;IAC3B,WAAU;IACV,6BJlsB+C,EAAA;EIosBjD;IACE,sBAAqB;IACrB,yBAAwB;IACxB,WAAU,EAAA;EAEZ;IACE,6BJ1sB+C,EAAA;EI4sBjD;IACE,wBAAuB;IACvB,WAAU,EAAA,EAAA;;AAId;EACE;IACE,sBAAqB;IACrB,yBAAwB;IACxB,WAAU,EAAA;EAEZ;IACE,sBAAqB;IACrB,6BAA4B;IAC5B,WAAU,EAAA,EAAA;;AAId;EACE,cAAa;EACb,kBAAiB;EACjB,WAAU,EACX;;AACD;EACE,cAAa;EACb,aAAY;EACZ,sBAAsB;EACtB,yBAAyB;EACzB,wBAAuB;EACvB,eAAc;EACd,yBAAyB;EACzB,0BAA0B;EAC1B,UAAS;EACT,mBAAkB;EAClB,WAAU;EACV,SAAQ;EACR,SAAQ,EACT;;AAED;EACE,mBAAkB,EACnB;;AAED;;EAEE,oBAAmB,EACpB;;AACD;EAEI,cAAa,EACd;;AAHH;EAKI,aAAY;EACZ,gBAAe,EAChB;;AAGH;EACE,0BAAyB;EACzB,aAAY,EACb;;AAED;;EAEE,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,YAAW;EACX,gBAAe,EAChB;;AAED;EACE,kBAAiB;EACjB,cAAa,EACd;;AAED;EACE,kBAAiB,EAClB;;AAED;EACE,sBAAqB,EACtB;;AAED;;EAEE,eAAc,EACf;;AAED;EACE,mBAAkB,EACnB;;AAED;EACE,oBAAmB,EAuBpB;EAxBD;IAGI,mBAAkB;IAClB,YAAW;IACX,YAAW;IACX,SAAQ;IACR,eAAc;IACd,gBAAe,EAChB;EATH;IAWI,aAAY,EACb;EAZH;IAcI,aAAY;IACZ,oBAAmB;IACnB,sBAAqB;IACrB,oBAAmB,EACpB;EAlBH;IAoBI,SAAQ;IACR,YAAW;IACX,mBAAkB,EACnB;;AAIH;EACE,YAAW;EACX,mBAAkB,EAyDnB;EA3DD;IAKI,oBAAmB,EACpB;EANH;IASI,oBAAmB,EACpB;EAVH;IAaI,cAAa,EACd;EAdH;IAiBI,kBAAiB;IACjB,mBAAkB;IAClB,WAAU;IACV,YAAW;IACX,mBAAkB,EAqCnB;IA1DH;MAwBM,eAAc;MACd,UAAS;MACT,mBAAkB;MAClB,mBAAkB,EAQnB;MAnCL;QA8BQ,WACF,EAAC;MA/BP;QAiCQ,UACF,EAAC;IAlCP;MAuCQ,oBAAmB,EACpB;IAxCP;MA0CQ,kBAAiB,EAClB;IA3CP;MA+CM,gBAAe;MACf,cAAa,EACd;IAjDL;MAoDM,mBAAkB;MAClB,WAAU;MACV,aAAY;MACZ,SAAQ;MACR,UAAS,EACV;;AAIL;EACI,cAAa,EAShB;EAVD;IAIY,kBAh7BoB;IAi7BpB,aAj7BoB;IAk7BpB,yBAAwB;IACxB,gBAAe,EAClB;;AAGT;EAEI,aAz7B4B,EA07B7B;;AAHH;EAKI,aA57B4B,EA67B7B;;AANH;EASM,kBAAiB,EAClB;;AAVL;EAaI,kBAAiB,EAClB;;AAEH;EACE,mBAAkB;EAClB,YAAW;EACX,cAAa;EACb,uBAAmB;EAAnB,oBAAmB;EACnB,sBAAuB;EAAvB,wBAAuB;EACvB,wBAAuB,EACxB;;AAED;EACE,mBAAkB;EAClB,UAAS,EACV;;AAKD;EAGM,oBAAmB,EACpB;;AAJL;EAOI,wBAAuB;EACvB,oBAAmB;EACnB,uBAAsB;EACtB,iBAAgB,EACjB;;AAEH;EAGM,oBAAmB,EACpB;;AAJL;EAQI,wBAAuB;EACvB,oBAAmB;EACnB,uBAAsB;EACtB,iBAAgB,EACjB;;AAEH;EACE,mBAAkB;EAClB,aAAW,EACZ;;AAED;EAGM,kBAAiB;EACjB,0BAAyB,EAC1B;;AALL;EAUM,kBAAiB;EACjB,0BAAyB,EAC1B;;AAZL;EAiBM,cAAa,EACd;;AAIL;EAEI,oBAAmB;EACnB,wCAAuC,EACxC;;AAJH;EAOI,iCAAgC,EACjC;;ACrhCH;EACE,oBAAmB,EACpB;;AAED;EACE,aAAY,EAMb;EAPD;IAII,YAAW,EACZ;;AAGH;EACE,cAAa;EACb,YAAW;EACX,oBAAmB;EACnB,sBAAqB,EAKtB;EATD;IAMI,oBAAmB;IACnB,sBAAqB,EACtB;;AC1CH;EAEQ,oBAAmB,EACtB;;AAHL;EAKQ,oBAAmB,EACtB;;ACNL;EAEQ,mBAAkB,EACrB;;ACHL;EAEQ,iBAAgB;EAChB,oBAAmB,EACtB;;ACJL;EAIQ,UAAS,EAIV;EARP;IAMU,kBAAiB,EAClB;;AAPT;EAcM,iBAAgB,EAMjB;EApBL;IAiBQ,gBAAe;IACf,kBAAiB,EAClB;;AAnBP;;EAwBM,aAAY,EACb;;AAzBL;EA6BI,uBAAsB;EACtB,kBAAiB;EACjB,mBAAkB,EACnB;;AAhCH;EAmCI,kBAAiB;EACjB,mBAAkB,EAenB;EAnDH;IAuCM,aAAY;IACZ,0BAAyB;IACzB,SAAQ;IACR,aAAY;IACZ,mBAAkB;IAClB,SAAQ;IACR,WAAU,EACX;EA9CL;IAiDM,eACF,EAAC;;AAlDL;EAqDI,+BAA8B,EAC/B;;AAtDH;EAyDI,mBAAkB;EAClB,SAAQ;EACR,eAAc;EACd,gBAAe,EAChB;;AA7DH;EAgEI,wBAAuB,EACxB;;AAGH;EAEI,eAAc,EACf;;ACvEH;EAGM,iBAAgB,EAUjB;EAbL;IAMQ,kBAAiB;IACjB,gBAAe,EAKhB;IAZP;MAUU,sBAAqB,EACtB;;AAXT;EAgBM,aAAY,EACb;;AAjBL;EAqBQ,kBAAiB,EAClB;;AAtBP;;EA2BM,aAAY,EACb;;AA5BL;EAgCI,uBAAsB;EACtB,kBAAiB;EACjB,mBAAkB,EACnB;;AAnCH;EAsCI,iBAAgB,EAQjB;EA9CH;IAwCM,uBAAsB;IACtB,aAAY,EAIb;IA7CL;MA2CQ,sBAAqB,EACtB;;AA5CP;EAiDI,+BAA8B,EAC/B;;AAlDH;EAqDI,mBAAkB;EAClB,SAAQ;EACR,eAAc;EACd,gBAAe,EAChB;;AAGH;EAEI,eAAc,EACf;;AC/DH;EAGI,gBAAe;EACf,oBAAmB,EACpB;;AALH;EAQI,iBAAgB,EACjB;;AATH;EAYI,gBAAe,EAChB;;AAbH;EAgBI,eAAc;EACd,YAAW;EACX,aAAY;EACZ,oBAAmB,EACpB;;AApBH;EAuBI,wBAAuB,EACxB;;AAxBH;EA2BI,eAAc;EACd,YAAW;EACX,kBAAiB;EACjB,aAAY;EACZ,uBAAsB;EACtB,oBAAmB;EACnB,gBAAe;EACf,aAAY;EACZ,kBAAiB,EAKlB;EAxCH;IAqCM,WAAU;IACV,WAAU,EACX;;AAvCL;EA2CI,mBAAkB;EAClB,SAAQ;EACR,eAAc;EACd,gBAAe,EAChB;;AAGH;EACE,yBAAwB,EAKzB;EAND;IAII,eAAc,EACf;;AAEH;EACE,kBAAiB,EAClB;;AC3DD;EAGI,mBAAkB,EAOnB;EAVH;IAOQ,kBAAiB,EAClB;;AARP;EAcM,0BAAyB,EAC1B;;AAfL;EAkBQ,iBAAgB,EAMjB;EAxBP;IAqBU,gBAAe;IACf,kBAAiB,EAClB;;AAvBT;;EA4BQ,aAAY,EACb;;AA7BP;EAiCM,uBAAsB;EACtB,kBAAiB;EACjB,mBAAkB,EACnB;;AApCL;EAuCM,kBAAiB;EACjB,mBAAkB,EAenB;EAvDL;IA2CQ,aAAY;IACZ,0BAAyB;IACzB,SAAQ;IACR,aAAY;IACZ,mBAAkB;IAClB,SAAQ;IACR,WAAU,EACX;EAlDP;IAqDQ,eACF,EAAC;;AAtDP;EA0DM,+BAA8B,EAC/B;;AA3DL;EA8DM,aAAY;EACZ,mBAAkB;EAClB,aAAY;EACZ,OAAM;EACN,QAAO;EACP,kBAAiB;EACjB,oBAAmB;EACnB,sDAAqD,EACtD;;AAtEL;EAyEM,mBAAkB;EAClB,SAAQ;EACR,eAAc;EACd,gBAAe,EAChB;;AA7EL;EAgFM,wBAAuB,EACxB;;AAIL;EAEI,eAAc,EACf;;ACxFH;EAGY,gBAAe;EACf,mBAAkB;EAClB,kBAAiB,EACpB;;AANT;EAYgB,oBAAmB,EAC1B;;ACbT;EAEQ,gBAAe,EAClB;;;ACHL;EAEQ,oBAAmB,EACtB;;AAHL;EAKQ,qBAAa;EAAb,cAAa;EACb,uBAAmB;EAAnB,oBAAmB;EACnB,sBAAuB;EAAvB,wBAAuB,EAC1B","file":"demo.css","sourcesContent":["@charset \"UTF-8\";\n/* FormGroup */\n/* Navlayout */\n/* FormGroup */\n/* Navlayout */\n/**\r\n * 加载背景\r\n */\n/**\r\n * 文字\r\n */\n.u-loading-desc {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n font-size: 14px;\n color: #212121;\n text-align: center; }\n\n/**\r\n * default样式 单个圆圈加载\r\n */\n.u-loading.u-loading-rotate > div {\n position: absolute;\n border-radius: 100%;\n margin: 2px;\n -webkit-animation-fill-mode: both;\n animation-fill-mode: both;\n width: 40px;\n height: 40px;\n top: 50%;\n left: 50%;\n margin-left: -22px;\n margin-top: -22px;\n background: transparent !important;\n display: inline-block;\n -webkit-animation: rotate 1s 0s linear infinite;\n animation: rotate 1s 0s linear infinite;\n text-align: center;\n line-height: 40px; }\n .u-loading.u-loading-rotate > div > img {\n width: 40px; }\n .u-loading.u-loading-rotate > div > .uf {\n color: #0084ff;\n font-size: 40px;\n padding: 0; }\n\n.u-loading.u-loading-rotate.u-loading-rotate-lg > div {\n margin-left: -35px;\n margin-top: -35px;\n width: 60px;\n height: 60px;\n line-height: 60px; }\n .u-loading.u-loading-rotate.u-loading-rotate-lg > div > img {\n width: 60px; }\n .u-loading.u-loading-rotate.u-loading-rotate-lg > div > .uf {\n font-size: 60px; }\n\n.u-loading.u-loading-rotate.u-loading-rotate-sm > div {\n margin-left: -15px;\n margin-top: -15px;\n width: 25px;\n height: 25px;\n line-height: 25px; }\n .u-loading.u-loading-rotate.u-loading-rotate-sm > div > img {\n width: 25px; }\n .u-loading.u-loading-rotate.u-loading-rotate-sm > div > .uf {\n font-size: 25px; }\n\n.u-loading.u-loading-rotate.u-loading-rotate-primary > div > .uf {\n color: #3f51b5; }\n\n.u-loading.u-loading-rotate.u-loading-rotate-success > div > .uf {\n color: #4caf50; }\n\n.u-loading.u-loading-rotate.u-loading-rotate-warning > div > .uf {\n color: #ff9800; }\n\n.u-loading-backdrop {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1900;\n background-color: rgba(255, 255, 255, 0.4); }\n .u-loading-backdrop.full-screen {\n position: fixed; }\n\n@keyframes rotate {\n 0% {\n -webkit-transform: rotate(0deg) scale(1);\n transform: rotate(0deg) scale(1); }\n 50% {\n -webkit-transform: rotate(180deg) scale(1);\n transform: rotate(180deg) scale(1); }\n 100% {\n -webkit-transform: rotate(360deg) scale(1);\n transform: rotate(360deg) scale(1); } }\n\n.u-loading.u-loading-line {\n position: absolute;\n top: 50%;\n left: 50%;\n margin-top: -30px;\n margin-left: -25px; }\n .u-loading.u-loading-line > div {\n background-color: #C2C3C5;\n width: 6px;\n height: 50px;\n border-radius: 2px;\n margin: 2px;\n -webkit-animation-fill-mode: both;\n animation-fill-mode: both;\n display: inline-block; }\n .u-loading.u-loading-line.u-loading-line-lg {\n margin-top: -50px;\n margin-left: -30px; }\n .u-loading.u-loading-line.u-loading-line-lg > div {\n width: 8px;\n height: 90px; }\n .u-loading.u-loading-line.u-loading-line-sm {\n margin-top: -22px;\n margin-left: -20px; }\n .u-loading.u-loading-line.u-loading-line-sm > div {\n width: 4px;\n height: 35px; }\n .u-loading.u-loading-line div:nth-child(1) {\n -webkit-animation: line-scale 1s 0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n animation: line-scale 1s 0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n background-color: #F44336; }\n .u-loading.u-loading-line div:nth-child(2) {\n -webkit-animation: line-scale 1s 0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n animation: line-scale 1s 0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n background-color: #7ED321; }\n .u-loading.u-loading-line div:nth-child(3) {\n -webkit-animation: line-scale 1s 0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n animation: line-scale 1s 0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n background-color: #0084FF; }\n .u-loading.u-loading-line div:nth-child(4) {\n -webkit-animation: line-scale 1s 0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n animation: line-scale 1s 0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n background-color: #FF9800; }\n .u-loading.u-loading-line div:nth-child(5) {\n -webkit-animation: line-scale 1s 0.5s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n animation: line-scale 1s 0.5s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n background-color: #D0021B; }\n .u-loading.u-loading-line.u-loading-line-primary > div {\n background-color: #3f51b5; }\n .u-loading.u-loading-line.u-loading-line-success > div {\n background-color: #4caf50; }\n .u-loading.u-loading-line.u-loading-line-warning > div {\n background-color: #ff9800; }\n\n.u-loading.u-loading-custom > div {\n position: absolute;\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%); }\n\n@keyframes line-scale {\n 0% {\n -webkit-transform: scaley(1);\n transform: scaley(1); }\n 50% {\n -webkit-transform: scaley(0.4);\n transform: scaley(0.4); }\n 100% {\n -webkit-transform: scaley(1);\n transform: scaley(1); } }\n\n.u-table {\n font-size: 12px;\n color: #212121;\n position: relative;\n line-height: 1.33;\n overflow: hidden; }\n .u-table-body {\n position: relative; }\n .u-table-body .u-table-row-expand-columns-in-body .expand-icon-con {\n display: none;\n pointer-events: none; }\n .u-table-hiden-drag {\n position: relative; }\n .u-table-hiden-drag-li {\n position: absolute;\n top: 0px;\n left: 0px; }\n .u-table table {\n width: 100%;\n border-collapse: collapse;\n text-align: left; }\n .u-table th {\n font-weight: bold;\n text-align: left;\n line-height: 16px; }\n .u-table th[colspan] {\n text-align: center; }\n .u-table th ::last-child {\n overflow: hidden; }\n .u-table td {\n border-bottom: 1px solid rgb(193, 199, 208);\n line-height: 1.33; }\n .u-table td a {\n color: #2196F3; }\n .u-table td a:hover {\n color: #1565c0; }\n .u-table td a:active {\n color: #1565c0; }\n .u-table td .u-switch-span {\n display: inline-block; }\n .u-table thead tr:last-child {\n border-bottom: 1px solid #C1C7D0; }\n .u-table thead tr > th:last-child {\n border-right: none; }\n .u-table tr:hover td .uf-eye {\n visibility: visible !important; }\n .u-table tr tr a {\n color: #2196F3; }\n .u-table tr tr a:hover {\n color: #1565c0; }\n .u-table tr tr a:active {\n color: #1565c0; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body) {\n display: flex;\n flex-direction: row-reverse; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body):nth-last-child(1):last-child {\n border-right: none; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body) .expand-icon-con {\n height: 14px; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body) .expand-icon-con .uf {\n padding: 0; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body) .expand-icon-con .u-table-row-expand-icon {\n width: 2px; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body) .u-checkbox {\n margin: 0; }\n .u-table tr.tr-row-hover {\n background: rgb(235, 236, 240); }\n .u-table th,\n .u-table td {\n padding: 12px 8px;\n word-break: break-all; }\n .u-table th.drag-handle-column .uf,\n .u-table td.drag-handle-column .uf {\n font-size: 12px;\n line-height: 12px; }\n .u-table th.text-center,\n .u-table td.text-center {\n text-align: center; }\n .u-table th.text-right,\n .u-table td.text-right {\n text-align: right; }\n .u-table th .expand-icon-con,\n .u-table td .expand-icon-con {\n cursor: pointer;\n display: inline-block;\n font-size: 12px;\n line-height: 12px; }\n .u-table-sm td {\n padding: 8px 8px; }\n .u-table-lg td {\n padding: 16px 8px; }\n .u-table tr.filterable th {\n padding-top: 5px !important;\n padding-bottom: 5px !important; }\n .u-table tr.filterable th .filterContext {\n height: 35px; }\n .u-table tr.filterable th .u-select-selection--single {\n height: 26px; }\n .u-table-row-hover {\n background: rgb(235, 236, 240); }\n .u-table-scroll {\n overflow: auto; }\n .u-table-bordered table {\n border: 1px solid rgb(193, 199, 208);\n box-sizing: border-box;\n table-layout: fixed; }\n .u-table-bordered .u-table-header > table {\n border-bottom: 0; }\n .u-table-bordered .u-table-header ~ .u-table-body table, .u-table-bordered .u-table-header ~ .u-table-body-outer table {\n border-top: 0px; }\n .u-table-bordered th {\n border-bottom: 1px solid rgb(193, 199, 208);\n box-sizing: border-box; }\n .u-table-bordered th,\n .u-table-bordered td {\n border-right: 1px solid rgb(193, 199, 208);\n box-sizing: border-box; }\n .u-table-drag-border tr th.th-can-not-drag {\n overflow: hidden; }\n .u-table-drag-border tr th.th-can-not-drag .u-table-thead-th-drag-gap {\n display: none; }\n .u-table-header {\n overflow: hidden;\n background: rgb(241, 242, 245);\n color: rgb(33, 33, 33); }\n .u-table.fixed-height td {\n padding: 0px 8px; }\n .u-table-fixed-header .u-table-body {\n background: #fff;\n position: relative; }\n .u-table-fixed-left .u-table-body-inner {\n margin-right: -20px;\n padding-right: 20px; }\n .u-table-fixed-header .u-table-fixed-left .u-table-body-inner {\n padding-right: 0px; }\n .u-table-fixed-header .u-table-body-inner {\n height: 100%;\n overflow: scroll; }\n .u-table-fixed-header .u-table-scroll .u-table-header {\n overflow-x: scroll;\n padding-bottom: 20px;\n margin-bottom: -20px;\n overflow-y: scroll;\n box-sizing: border-box; }\n .u-table-title {\n padding: 12px 8px;\n border-top: 1px solid rgb(193, 199, 208); }\n .u-table-content {\n position: relative; }\n .u-table-footer {\n padding: 12px 8px;\n border-bottom: 1px solid rgb(193, 199, 208); }\n .u-table-footer .u-table-scroll {\n overflow-x: hidden; }\n .u-table-footer .u-table {\n margin: -12px -8px; }\n .u-table-placeholder {\n padding: 12px 8px;\n background: #fff;\n border-bottom: 1px solid rgb(193, 199, 208);\n text-align: center;\n position: relative; }\n .u-table-placeholder .table-nodata {\n font-size: 40px;\n line-height: 44px; }\n .u-table-placeholder .table-nodata + span {\n font-size: 12px;\n line-height: 12px;\n display: block; }\n .u-table-expand-icon-col {\n width: 10px; }\n .u-table-row .u-table tr, .u-table-expanded-row .u-table tr {\n background: #fff; }\n .u-table-row .u-table tr.u-table-row-hover, .u-table-expanded-row .u-table tr.u-table-row-hover {\n background: rgb(235, 236, 240); }\n .u-table-row-expand-icon, .u-table-expanded-row-expand-icon {\n cursor: pointer;\n display: inline-block;\n margin-right: 8px;\n width: 14px;\n height: 14px;\n text-align: center;\n line-height: 14px;\n user-select: none; }\n .u-table-row-expand-icon.uf, .u-table-expanded-row-expand-icon.uf {\n font-size: 12px;\n padding: 0; }\n .u-table-row-spaced, .u-table-expanded-row-spaced {\n visibility: hidden; }\n .u-table-row-spaced:after, .u-table-expanded-row-spaced:after {\n content: \".\"; }\n .u-table-row-expanded:after, .u-table-expanded-row-expanded:after {\n content: \"\\e639\";\n font-family: \"uf\"; }\n .u-table-row-collapsed:after, .u-table-expanded-row-collapsed:after {\n content: \"\\e61c\";\n font-family: \"uf\"; }\n .u-table-row.selected {\n background: #FFF7E7; }\n .u-table tr.u-table-expanded-row {\n background: #DFE1E6; }\n .u-table tr.u-table-expanded-row:hover {\n background: #DFE1E6; }\n .u-table tr.u-table-expanded-row .u-table {\n z-index: 1; }\n .u-table-column-hidden {\n display: none; }\n .u-table-prev-columns-page, .u-table-next-columns-page {\n cursor: pointer;\n color: #666;\n z-index: 1; }\n .u-table-prev-columns-page:hover, .u-table-next-columns-page:hover {\n color: #2db7f5; }\n .u-table-prev-columns-page-disabled, .u-table-next-columns-page-disabled {\n cursor: not-allowed;\n color: #999; }\n .u-table-prev-columns-page-disabled:hover, .u-table-next-columns-page-disabled:hover {\n color: #999; }\n .u-table-prev-columns-page {\n margin-right: 8px; }\n .u-table-prev-columns-page:before {\n content: \"<\"; }\n .u-table-next-columns-page {\n float: right; }\n .u-table-next-columns-page:before {\n content: \">\"; }\n .u-table-fixed-left, .u-table-fixed-right {\n position: absolute;\n top: 0;\n overflow: hidden;\n z-index: 1; }\n .u-table-fixed-left table, .u-table-fixed-right table {\n width: auto;\n background: #fff; }\n .u-table-fixed-left {\n left: 0;\n box-shadow: 4px 0 4px rgba(100, 100, 100, 0.1); }\n .u-table-fixed-left-body-inner {\n margin-right: -20px;\n padding-right: 20px; }\n .u-table-fixed-left-fixed-header .u-table-fixed-left .u-table-fixed-left-body-inner {\n padding-right: 0; }\n .u-table-fixed-right {\n right: 0;\n box-shadow: -4px 0 4px rgba(100, 100, 100, 0.1); }\n .u-table-fixed-right-expanded-row {\n color: transparent;\n pointer-events: none; }\n .u-table-scroll-position-left .u-table-fixed-left {\n box-shadow: none; }\n .u-table-scroll-position-right .u-table-fixed-right {\n box-shadow: none; }\n .u-table-thead .filter-text, .u-table-thead .filter-dropdown, .u-table-thead .filter-date {\n font-weight: normal; }\n .u-table-thead .filter-wrap {\n display: flex;\n justify-content: center;\n align-items: center; }\n .u-table-thead .filter-wrap .filter-btns {\n min-width: 58px; }\n .u-table-thead th {\n background: rgb(241, 242, 245);\n color: rgb(33, 33, 33);\n background-clip: padding-box;\n -moz-user-select: -moz-none;\n -khtml-user-select: none;\n -webkit-user-select: none;\n /*\r\n Introduced in IE 10. \r\n */\n -ms-user-select: none;\n user-select: none; }\n .u-table-thead th .bee-table-column-sorter {\n position: relative;\n margin-left: 4px;\n height: 16px;\n vertical-align: middle;\n text-align: center;\n display: inline-block;\n margin-top: -3px; }\n .u-table-thead th .bee-table-column-sorter i {\n padding: 0px;\n font-weight: 600;\n color: #505F79; }\n .u-table-thead th .bee-table-column-sorter > .bee-table-column-sorter-down,\n .u-table-thead th .bee-table-column-sorter > .bee-table-column-sorter-up, .u-table-thead th .bee-table-column-sorter > .bee-table-column-sorter-flat {\n line-height: 16px;\n display: block;\n width: 34px;\n cursor: pointer; }\n .u-table-thead th .bee-table-column-sorter-down.on .uf-triangle-down,\n .u-table-thead th .bee-table-column-sorter-down.on .uf-triangle-up,\n .u-table-thead th .bee-table-column-sorter-up.on .uf-triangle-down,\n .u-table-thead th .bee-table-column-sorter-up.on .uf-triangle-up {\n color: #108ee9; }\n .u-table-thead th .bee-table-column-sorter .uf-triangle-down,\n .u-table-thead th .bee-table-column-sorter .uf-triangle-up {\n -webkit-filter: none;\n filter: none;\n font-size: 12px; }\n .u-table-thead th .bee-table-column-sorter .uf-triangle-down,\n .u-table-thead th .bee-table-column-sorter .uf-triangle-up {\n display: inline-block;\n padding: 0;\n font-size: 12px;\n font-size: 8px\\9;\n -webkit-transform: scale(0.66667) rotate(0deg);\n -ms-transform: scale(0.66667) rotate(0deg);\n transform: scale(0.66667) rotate(0deg);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=1, M12=0, M21=0, M22=1)\";\n zoom: 1;\n line-height: 4px;\n height: 4px;\n color: #999; }\n .u-table-thead th:hover .bee-table-column-sorter {\n display: inline-block; }\n .u-table-thead .th-drag {\n cursor: move; }\n .u-table-thead .th-drag:hover {\n background: rgb(235, 236, 240); }\n .u-table-thead .th-drag-hover {\n background: #ccc; }\n .u-table-thead-th {\n position: relative; }\n .u-table-thead-th-drag-gap {\n height: 100%;\n position: absolute;\n right: -10px;\n top: 0;\n width: 20px;\n box-sizing: border-box;\n z-index: 1; }\n .u-table-thead-th-drag-gap .online {\n height: 100%;\n width: 1px;\n background: transparent;\n margin: 0 auto; }\n .u-table-thead-th-drag-gap .online-hover {\n background: #000000; }\n .u-table-thead-th-drag-gap:hover {\n cursor: col-resize; }\n .u-table-thead-th-drag-gap:hover .online {\n background: #000000; }\n .u-table-thead-th:last-child-drag-gap {\n border: none; }\n .u-table-filter-column-pop-cont {\n margin: 0px;\n max-height: 300px;\n overflow-y: auto;\n color: #212121; }\n .u-table-filter-column-clear-setting {\n cursor: pointer;\n margin-bottom: 4px; }\n .u-table-filter-column-cont {\n position: relative; }\n .u-table-filter-column-filter-icon {\n position: absolute;\n width: 30px;\n height: 39px;\n line-height: 39px;\n right: 0px;\n top: 1px;\n z-index: 2;\n background: rgb(241, 242, 245);\n text-align: center;\n cursor: pointer; }\n .u-table-filter-column-filter-icon i.uf {\n padding: 0px;\n color: #505F79; }\n .u-table-filter-column-pop-cont-item {\n margin-top: 8px;\n font-size: 12px;\n cursor: pointer; }\n .u-table-filter-column-pop-cont-item .u-checkbox {\n margin: 0px; }\n .u-table-filter-column-pop-cont-item span.drop-menu-title {\n margin-left: -3px;\n max-width: 132px;\n width: auto !important;\n min-width: 56px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: inline-block;\n vertical-align: middle; }\n .u-table-filter-column-pop .u-modal-dialog {\n border: 1px solid #ccc;\n background: #fff; }\n .u-table-row-fixed-columns-in-body {\n display: none;\n pointer-events: none; }\n .u-table .u-checkbox {\n height: 14px;\n line-height: 14px;\n margin: 0px;\n display: block;\n margin-left: 5px; }\n .u-table .u-checkbox .u-checkbox-label {\n line-height: 14px;\n padding-left: 16px; }\n .u-table .u-checkbox .u-checkbox-label:before, .u-table .u-checkbox .u-checkbox-label:after {\n width: 14px;\n height: 14px; }\n .u-table .u-table-scroll tr td:first-child, .u-table .u-table-scroll tr th:first-child, .u-table .u-table-fixed-left tr td:first-child, .u-table .u-table-fixed-left tr th:first-child {\n padding-left: 12px; }\n .u-table.has-fixed-left .u-table-scroll tr td:first-child, .u-table.has-fixed-left .u-table-scroll tr th:first-child {\n padding-left: 8px; }\n .u-table ::-webkit-scrollbar {\n width: 8px;\n height: 8px; }\n .u-table ::-webkit-scrollbar-button {\n display: none; }\n .u-table ::-webkit-scrollbar-thumb {\n background: #d5d5d5 !important;\n border-radius: 5px; }\n .u-table ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: #d5d5d5;\n position: absolute; }\n .u-table ::-webkit-scrollbar-track {\n display: none; }\n .u-table ::-webkit-scrollbar-track-piece {\n display: none; }\n .u-table .row-dragg-able {\n cursor: move; }\n .u-table .u-table-drag-hidden-cont {\n width: 100px;\n height: 40px; }\n\n.u-table:focus {\n outline: none;\n box-shadow: 0 0 0; }\n\n.u-table-bordered .u-table-drag-gap {\n background: #e9e9e9; }\n\n.u-table.bordered table {\n border-collapse: collapse; }\n\n.u-table.bordered th,\n.u-table.bordered td {\n border: 1px solid rgb(193, 199, 208); }\n\n.move-enter,\n.move-appear {\n opacity: 0;\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n animation-duration: 2.5s;\n animation-fill-mode: both;\n animation-play-state: paused; }\n\n.move-leave {\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-play-state: paused; }\n\n.move-enter.move-enter-active,\n.move-appear.move-enter-active {\n animation-name: moveLeftIn;\n animation-play-state: running; }\n\n.move-leave.move-leave-active {\n animation-name: moveRightOut;\n animation-play-state: running; }\n\n@keyframes moveLeftIn {\n 0% {\n transform-origin: 0 0;\n transform: translateX(30px);\n opacity: 0;\n background: rgb(238,238,238); }\n 20% {\n transform-origin: 0 0;\n transform: translateX(0);\n opacity: 1; }\n 80% {\n background: rgb(238,238,238); }\n 100% {\n background: transparent;\n opacity: 1; } }\n\n@keyframes moveRightOut {\n 0% {\n transform-origin: 0 0;\n transform: translateX(0);\n opacity: 1; }\n 100% {\n transform-origin: 0 0;\n transform: translateX(-30px);\n opacity: 0; } }\n\n.formItem-style {\n height: unset;\n min-height: unset;\n padding: 0; }\n\n.errMessage-style {\n display: none;\n border: none;\n /* margin-top: 5px; */\n /* margin-bottom: 5px; */\n background: transparent;\n color: #f22c1d;\n /* padding-left: 12px; */\n /* padding-right: 12px; */\n margin: 0;\n position: absolute;\n padding: 0;\n top: 3px;\n right: 0; }\n\n.editable-cell {\n position: relative; }\n\n.editable-cell-input-wrapper,\n.editable-cell-text-wrapper {\n padding-right: 24px; }\n\n.editable-cell-input-wrapper .u-form-item.formItem-style .u-label {\n display: none; }\n\n.editable-cell-input-wrapper .u-input-group .u-form-control {\n height: 26px;\n font-size: 12px; }\n\n.editable-cell-text-wrapper {\n padding: 5px 24px 5px 5px;\n height: 30px; }\n\n.editable-cell-icon,\n.editable-cell-icon-check {\n position: absolute;\n top: 0;\n right: 0;\n width: 20px;\n cursor: pointer; }\n\n.editable-cell-icon {\n line-height: 28px;\n display: none; }\n\n.editable-cell-icon-check {\n line-height: 28px; }\n\n.editable-cell:hover .editable-cell-icon {\n display: inline-block; }\n\n.editable-cell-icon:hover,\n.editable-cell-icon-check:hover {\n color: #2db7f5; }\n\n.editable-add-btn {\n margin-bottom: 8px; }\n\n.search-component {\n margin-bottom: 20px; }\n .search-component .empty-search {\n position: absolute;\n right: 45px;\n z-index: 20;\n top: 5px;\n color: #524e4e;\n cursor: pointer; }\n .search-component.u-input-group.simple {\n float: right; }\n .search-component.u-input-group.simple .u-form-control {\n width: 251px;\n background: #f5f5f5;\n border-color: #f5f5f5;\n border-radius: 20px; }\n .search-component.u-input-group.simple .u-input-group-btn {\n top: 3px;\n right: 20px;\n position: absolute; }\n\n.col-resize-container {\n height: 0px;\n position: relative; }\n .col-resize-container + .table-col-resizer:first-of-type {\n table-layout: fixed; }\n .col-resize-container .active-drag .icon {\n visibility: visible; }\n .col-resize-container .last-handle {\n display: none; }\n .col-resize-container .drag-handle {\n margin-left: -5px;\n position: absolute;\n z-index: 5;\n width: 10px;\n cursor: col-resize; }\n .col-resize-container .drag-handle .icon {\n color: #40b0dc;\n top: -1px;\n position: absolute;\n visibility: hidden; }\n .col-resize-container .drag-handle .icon:first-child {\n left: -2px; }\n .col-resize-container .drag-handle .icon:last-child {\n left: 6px; }\n .col-resize-container .drag-handle:hover .icon {\n visibility: visible; }\n .col-resize-container .drag-handle:hover .col-resizer {\n border: 1px solid; }\n .col-resize-container .drag-handle.disabled-drag {\n cursor: default;\n display: none; }\n .col-resize-container .drag-handle .col-resizer {\n position: absolute;\n width: 1px;\n height: 100%;\n top: 0px;\n left: 3px; }\n\n.u-filter-dropdown-menu-wrap {\n z-index: 1800; }\n .u-filter-dropdown-menu-wrap .u-dropdown-menu li.u-dropdown-menu-item {\n line-height: 26px;\n height: 26px;\n padding: 0px 16px 0 16px;\n cursor: pointer; }\n\n.filter-wrap .u-form-control {\n height: 26px; }\n\n.filter-wrap .u-input-number.u-input-group.simple .u-input-group-btn .icon-group {\n height: 26px; }\n\n.filter-wrap .calendar-picker .u-input-group-btn {\n line-height: 20px; }\n\n.filter-wrap .u-input-number.u-input-group.simple .u-input-group-btn .icon-group .uf {\n line-height: 12px; }\n\n.u-row-hover {\n position: absolute;\n right: 24px;\n display: none;\n align-items: center;\n justify-content: center;\n background: transparent; }\n\n.u-row-hover2 {\n position: absolute;\n left: 100; }\n\n.header-dispaly-in-row.u-table table {\n table-layout: fixed; }\n\n.header-dispaly-in-row th {\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle;\n overflow: hidden; }\n\n.body-dispaly-in-row.u-table table {\n table-layout: fixed; }\n\n.body-dispaly-in-row td {\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle;\n overflow: hidden; }\n\n.u-table-drag-hidden-cont {\n position: absolute;\n top: -1000px; }\n\n.u-editable-table .u-table .u-table-row-hover .editable-cell-text-wrapper {\n padding-left: 4px;\n border: 1px solid #c1c7d0; }\n\n.u-editable-table .u-table .editable-cell-text-wrapper:hover {\n padding-left: 4px;\n border: 1px solid #a5adba; }\n\n.u-editable-table .u-table .editable-cell-input-wrapper:focus {\n outline: none; }\n\n.u-editable-table-tp .tooltip-arrow {\n top: 1px !important;\n border-bottom-color: #F44336 !important; }\n\n.u-editable-table-tp .tooltip-inner {\n border-color: #F44336 !important; }\n\n.selected {\n background: #FFF7E7; }\n\n.demo25 {\n height: 100%; }\n .demo25 .u-table-filter-column-filter-icon {\n right: 15px; }\n\n.opt-btns .u-button {\n margin: 0 4px;\n color: #fff;\n background: #505F79;\n border-color: #505F79; }\n .opt-btns .u-button:hover, .opt-btns .u-button:active {\n background: #344563;\n border-color: #505F79; }\n\n.demo04.u-table tr:nth-child(2n) {\n background: #f7f9fb; }\n\n.demo04.u-table tr.u-table-row-hover, .demo04 .u-table tr:hover {\n background: #ebecf0; }\n\n.demo22 .opt-btns {\n margin-bottom: 8px; }\n\n.demo32 .u-table-thead th {\n padding-top: 0px;\n padding-bottom: 0px; }\n\n.demo0501 .u-table .u-row-hover .opt-btns button, .demo0501 .u-table .u-row-hover .cancel-btns button {\n margin: 0; }\n .demo0501 .u-table .u-row-hover .opt-btns button:first-child, .demo0501 .u-table .u-row-hover .cancel-btns button:first-child {\n margin-right: 8px; }\n\n.demo0501 .u-table .u-table-row td {\n padding: 5px 8px; }\n .demo0501 .u-table .u-table-row td input {\n font-size: 12px;\n padding-left: 5px; }\n\n.demo0501 .u-table .u-table-row .u-form-control,\n.demo0501 .u-table .u-table-row .u-select-selection {\n height: 30px; }\n\n.demo0501 .u-table .editable-cell-text-wrapper {\n box-sizing: border-box;\n line-height: 20px;\n border-radius: 3px; }\n\n.demo0501 .u-table .required {\n margin-left: 10px;\n position: relative; }\n .demo0501 .u-table .required::before {\n content: \" \";\n border: 1px solid #F44336;\n width: 0;\n height: 12px;\n position: absolute;\n top: 9px;\n left: -8px; }\n .demo0501 .u-table .required span.u-input-group {\n display: block; }\n\n.demo0501 .u-table .verify-cell {\n padding-right: 25px !important; }\n\n.demo0501 .u-table .required-icon {\n position: absolute;\n top: 2px;\n color: #F44336;\n font-size: 20px; }\n\n.demo0501 .u-table .ref-input-wrap {\n width: 160px !important; }\n\n.u-editable-table-tp .tp-content {\n color: #F44336; }\n\n.u-editable-table .u-table .u-table-row td {\n padding: 5px 8px; }\n .u-editable-table .u-table .u-table-row td input {\n padding-left: 5px;\n font-size: 12px; }\n .u-editable-table .u-table .u-table-row td input.error {\n border-color: #F44336; }\n\n.u-editable-table .u-table .u-table-row .editable-cell {\n height: 30px; }\n\n.u-editable-table .u-table .u-table-row-hover .editable-cell-text-wrapper {\n line-height: 19px; }\n\n.u-editable-table .u-table .u-table-row .u-form-control,\n.u-editable-table .u-table .u-table-row .u-select-selection {\n height: 30px; }\n\n.u-editable-table .u-table .editable-cell-text-wrapper {\n box-sizing: border-box;\n line-height: 20px;\n border-radius: 3px; }\n\n.u-editable-table .u-table .editable-cell-input-wrapper {\n padding-right: 0; }\n .u-editable-table .u-table .editable-cell-input-wrapper .ref-input-wrap {\n width: auto !important;\n height: 30px; }\n .u-editable-table .u-table .editable-cell-input-wrapper .ref-input-wrap .u-input-group {\n display: inline-block; }\n\n.u-editable-table .u-table .verify-cell {\n padding-right: 25px !important; }\n\n.u-editable-table .u-table .require {\n position: absolute;\n top: 2px;\n color: #F44336;\n font-size: 20px; }\n\n.u-editable-table-tp .tp-content {\n color: #F44336; }\n\n.demo0503-m-b.u-modal .u-modal-body {\n padding: 16px 0;\n background: #f7f9fb; }\n\n.demo0503-m-b .u-form-group {\n overflow: hidden; }\n\n.demo0503-m-b .u-form-control {\n font-size: 12px; }\n\n.demo0503-m-b .editable-cell {\n display: block;\n float: left;\n width: 265px;\n padding-right: 25px; }\n\n.demo0503-m-b .ref-input-wrap {\n width: 240px !important; }\n\n.demo0503-m-b .u-label {\n display: block;\n float: left;\n text-align: right;\n width: 110px;\n box-sizing: border-box;\n padding-right: 10px;\n font-size: 12px;\n height: 32px;\n line-height: 32px; }\n .demo0503-m-b .u-label .mast {\n padding: 0;\n color: red; }\n\n.demo0503-m-b .required-icon {\n position: absolute;\n top: 2px;\n color: #F44336;\n font-size: 20px; }\n\n.u-editable-table-tp {\n z-index: 9999 !important; }\n .u-editable-table-tp .tp-content {\n color: #F44336; }\n\n.ref-core-button .u-button:first-child {\n margin-right: 8px; }\n\n.demo0505 .toolbar-btns {\n margin-bottom: 8px; }\n .demo0505 .toolbar-btns .u-button:first-child {\n margin-right: 8px; }\n\n.demo0505 .u-table .u-row-select {\n background-color: #FFF7E7; }\n\n.demo0505 .u-table .u-table-row td {\n padding: 5px 8px; }\n .demo0505 .u-table .u-table-row td input {\n font-size: 12px;\n padding-left: 5px; }\n\n.demo0505 .u-table .u-table-row .u-form-control,\n.demo0505 .u-table .u-table-row .u-select-selection {\n height: 30px; }\n\n.demo0505 .u-table .editable-cell-text-wrapper {\n box-sizing: border-box;\n line-height: 20px;\n border-radius: 3px; }\n\n.demo0505 .u-table .required {\n margin-left: 10px;\n position: relative; }\n .demo0505 .u-table .required::before {\n content: \" \";\n border: 1px solid #F44336;\n width: 0;\n height: 12px;\n position: absolute;\n top: 9px;\n left: -8px; }\n .demo0505 .u-table .required span.u-input-group {\n display: block; }\n\n.demo0505 .u-table .verify-cell {\n padding-right: 25px !important; }\n\n.demo0505 .u-table .edited::after {\n content: \" \";\n position: absolute;\n z-index: 999;\n top: 0;\n left: 0;\n border-width: 5px;\n border-style: solid;\n border-color: #f44336 transparent transparent #f44336; }\n\n.demo0505 .u-table .required-icon {\n position: absolute;\n top: 2px;\n color: #F44336;\n font-size: 20px; }\n\n.demo0505 .u-table .ref-input-wrap {\n width: 160px !important; }\n\n.u-editable-table-tp .tp-content {\n color: #F44336; }\n\nth .drop-menu .uf {\n font-size: 12px;\n visibility: hidden;\n margin-left: 15px; }\n\nth:hover .uf {\n visibility: visible; }\n\n.expanded-table .expand-icon-con .uf {\n font-size: 12px; }\n\n\n.demo8 .u-table {\n margin-bottom: 11px; }\n\n.demo8 .u-pagination {\n display: flex;\n align-items: center;\n justify-content: center; }\n","\n\n// $performance_font: 'Helvetica', 'Arial', sans-serif !default;\n\n@import \"minxin-colors\";\n\n\n\n@function strip-units($number) {\n @return $number / ($number * 0 + 1);\n}\n$unit: 10px !default;\n// IMAGES\n$image_path: '/images' !default;\n\n\n\n//默认颜色\n$trim-color-classes: false !default;\n\n@import \"minxin-themeColors\";\n\n//对比色\n$color-primary-contrast: $color-dark-contrast !default;\n$color-accent-contrast: $color-dark-contrast !default;\n//字体颜色\n$color-text: $palette-grey-900 !default;\n\n//不明所以 $primary-color: unquote(\"rgba(#{$palette-grey-500}, 0.20)\") !default;\n\n// -- Fonts 字体大小权重预定义\n$preferred-font: 'Open Sans','Helvetica Neue',Arial,'Hiragino Sans GB','Microsoft YaHei',sans-serif !default;\n$font-size: 1.6 * $unit !default;\n$font-size-tiny: 1.2 * $unit !default;\n$font-size-small: 1.4 * $unit !default;\n$font-size-normal: $font-size !default;\n$font-size-big: 1.8 * $unit !default;\n$font-size-base: 12px !default;\n$font-weight-thin: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-semi-bold: 500 !default;\n$font-weight-bold: 700 !default;\n$font-color:unquote(\"rgb(#{$palette-u-gray-800})\") !default;\n// 白色背景下的文字颜色\n$font-color-base: #212121 !default;\n\n$font-weight-override: false;\n$font-weight-light: 300;\n$font-weight-normal: 400;\n$font-weight-medium: 500;\n$font-weight-bold: 700;\n$font-weight-base: $font-weight-normal;\n\n\n\n\n$gray-base: unquote(\"rgb(#{$palette-grey-900})\") !default;\n$gray-darkest: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$gray-darker: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$gray-dark: unquote(\"rgb(#{$palette-grey-600})\") !default;\n$gray: unquote(\"rgb(#{$palette-grey-500})\") !default;\n$gray-light: unquote(\"rgb(#{$palette-grey-400})\") !default;\n$gray-lighter: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$gray-lightest:unquote(\"rgb(#{$palette-grey-200})\") !default;\n$inverse: unquote(\"rgb(#{$color-white})\") !default;\n// $border-color-base: $gray-lighter;\n$border-color-base: unquote(\"rgb(#{$border-color})\") !default;\n$line-height-base: 1.57142857;\n\n// 边框圆角\n$border-radius-base: $border-radius;\n\n// 阴影\n\n$shadow-key-umbra-opacity: 0.2 !default;\n$shadow-key-penumbra-opacity: 0.14 !default;\n$shadow-ambient-shadow-opacity: 0.12 !default;\n\n$shadow-base: 0 1px 5px $gray-lighter;\n\n\n\n//-- Indexes\n$z-index-highest: 300;\n$z-index-higher: 200;\n$z-index-high: 100;\n$z-index-normal: 1;\n$z-index-low: -100;\n$z-index-lower: -200;\n\n$zindex-modal: 1700;\n$zindex-modal-background: 1600;\n$zIndex-notification: 1560;\n$zIndex-message: 1550;\n$zIndex-popconfirm: 1540;\n$zIndex-popover: 1540;\n$zIndex-tooltip: 1530;\n$zIndex-alert: 1510;\n$zindex-navbar-fixed: 1500;\n$zindex-menubar: 1400;\n$zindex-overlay: 1300;\n$zindex-dropdown: 1200;\n$zindex-navbar: 1200;\n$zindex-header: 1100;\n$zindex-footer: 1000;\n$zindex-backtop:2000;\n\n// 文本字体\n\n//todo\n$text-color-primary: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$text-link-color: unquote(\"rgb(#{$color-accent})\") !default;\n\n$target-elements-directly: true !default;\n\n\n$global-selected-color: unquote(\"rgb(#{$palette-blue-100})\") !default;\n\n\n// 控件\n$cursor-disabled: not-allowed;\n\n\n$title-color: $gray-darkest;\n//todo\n$subtitle-color: $gray-darker;\n$text-color: $gray-dark;\n\n$prompt-color: $gray;\n//全局不同状态颜色\n//todo\n$active-color-base: unquote(\"rgb(#{$palette-blue-800})\") !default;\n$normal-color-base: unquote(\"rgb(#{$palette-blue-600})\") !default;\n$hover-color-base: unquote(\"rgb(#{$palette-blue-400})\") !default;\n\n$bg-color-base: $gray-lightest;\n\n//disable颜色\n$disabled-color-base: #909090;\n$disabled-border-color: $gray-lighter;\n$disabled-bg-color: $gray-lightest;\n\n// 全局链接颜色\n$link-color: $normal-color-base;\n$link-hover-color: $hover-color-base;\n$link-active-color: $active-color-base;\n\n// 品牌色\n$brand-default: $gray-lighter;\n$brand-default-hover: $gray-lightest;\n$brand-default-active: $gray-light;\n// $brand-default: unquote(\"rgb(#{$color-primary})\");\n// $brand-default-hover: unquote(\"rgb(#{$color-primary-light})\");\n// $brand-default-active: unquote(\"rgb(#{$color-primary-dark})\");\n\n$brand-primary : unquote(\"rgb(#{$primary-color})\") !default;\n$brand-primary-hover: unquote(\"rgb(#{$primary-color-light})\") !default;\n$brand-primary-active: unquote(\"rgb(#{$primary-color-dark})\") !default;\n\n$brand-secondary : unquote(\"rgb(#{$secondary-color})\") !default;\n$brand-secondary-hover: unquote(\"rgb(#{$secondary-color-light})\") !default;\n$brand-secondary-active: unquote(\"rgb(#{$secondary-color-dark})\") !default;\n\n$brand-success: unquote(\"rgb(#{$palette-green-500})\") !default;\n$brand-success-hover: unquote(\"rgb(#{$palette-green-300})\") !default;\n$brand-success-active: unquote(\"rgb(#{$palette-green-700})\") !default;\n\n$brand-info: unquote(\"rgb(#{$palette-cyan-500})\") !default;\n$brand-info-hover: unquote(\"rgb(#{$palette-cyan-300})\") !default;\n$brand-info-active: unquote(\"rgb(#{$palette-cyan-700})\") !default;\n\n$brand-warning: unquote(\"rgb(#{$palette-orange-500})\") !default;\n$brand-warning-hover: unquote(\"rgb(#{$palette-orange-300})\") !default;\n$brand-warning-active: unquote(\"rgb(#{$palette-orange-700})\") !default;\n\n\n$brand-news: unquote(\"rgb(#{$palette-blue-500})\") !default;\n$brand-news-hover: unquote(\"rgb(#{$palette-blue-300})\") !default;\n$brand-news-active: unquote(\"rgb(#{$palette-blue-700})\") !default;\n\n$brand-danger: unquote(\"rgb(#{$palette-red-500})\") !default;\n$brand-danger-hover: unquote(\"rgb(#{$palette-red-300})\") !default;\n$brand-danger-active: unquote(\"rgb(#{$palette-red-700})\") !default;\n\n$brand-dark: $gray-darker;\n$brand-dark-hover: $gray-dark;\n$brand-dark-active: $gray-darkest;\n\n$brand-light : unquote(\"rgb(#{$color-dark-contrast})\") !default;\n$brand-light-hover: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$brand-light-active: unquote(\"rgb(#{$palette-grey-400})\") !default;\n\n$brand-light-primary : unquote(\"rgb(#{$palette-blue-50})\") !default;\n$brand-light-success: unquote(\"rgb(#{$palette-green-50})\") !default;\n$brand-light-info: unquote(\"rgb(#{$palette-cyan-50})\") !default;\n$brand-light-warning: unquote(\"rgb(#{$palette-orange-50})\") !default;\n$brand-light-news: unquote(\"rgb(#{$palette-blue-50})\") !default;\n$brand-light-danger: unquote(\"rgb(#{$palette-red-50})\") !default;\n\n//不同背景下对应的文字颜色\n\n$color-news: unquote(\"rgb(#{$palette-blue-500})\") !default;\n$color-success: unquote(\"rgb(#{$palette-green-500})\") !default;\n$color-info: unquote(\"rgb(#{$palette-cyan-500})\") !default;\n$color-warning: unquote(\"rgb(#{$palette-orange-500})\") !default;\n$color-danger: unquote(\"rgb(#{$palette-red-500})\") !default;\n$color-light: $gray-darker !default;\n\n//redius\n\n$default-border-radius: $border-radius;\n\n// hover时的背景色,包括select、dropdown、table、datepicker、tree、menu等组件\n$hover-bg-color-base: unquote(\"rgb(#{$item-hover-bg-color-base})\") !default;\n// // selected背景色,包括:select、menu等\n$selected-bg-color-base: unquote(\"rgb(#{$item-selected-bg-color-base})\") !default;\n\n// UButton\n\n// Button 基础背景色.\n// 默认按钮()\n$button-default-color: unquote(\"rgb(#{$default-color})\");\n$button-default-color-IE8: unquote(\"rgb(#{$default-color})\");\n\n// 边框按钮(shape:'border')\n$button-border-bg-color: unquote(\"rgb(#{$color-dark-contrast})\");\n\n// Button 不同状态下的背景色 :hover、active、focus状态.\n$button-hover-color: unquote(\"rgb(#{$default-color-light})\");\n$button-active-color: unquote(\"rgb(#{$default-color-dark})\");\n$button-focus-color: unquote(\"rgb(#{$default-color-light})\");\n\n// Button 配置不同colors属性时的背景色.\n$button-primary-color: $brand-primary;\n$button-primary-active-color: $brand-primary-active;\n$button-primary-hover-color: $brand-primary-hover;\n$button-secondary-color: $brand-secondary;\n$button-secondary-active-color: $brand-secondary-active;\n$button-secondary-hover-color: $brand-secondary-hover;\n$button-success-color: $brand-success;\n$button-success-active-color: $brand-success-active;\n$button-success-hover-color: $brand-success-hover;\n$button-info-color: $brand-info;\n$button-info-active-color: $brand-info-active;\n$button-info-hover-color: $brand-info-hover;\n$button-warning-color: $brand-warning;\n$button-warning-active-color: $brand-warning-active;\n$button-warning-hover-color: $brand-warning-hover;\n$button-danger-color: $brand-danger;\n$button-danger-active-color: $brand-danger-active;\n$button-danger-hover-color: $brand-danger-hover;\n$button-dark-color: $brand-dark;\n$button-dark-active-color: $brand-dark-active;\n$button-dark-hover-color: $brand-dark-hover;\n$button-light-color: $brand-light;\n$button-light-active-color: $brand-light-active;\n$button-light-hover-color: $brand-light-hover;\n\n// Button 文字颜色.\n// 主按钮(colors:'primary')\n$button-primary-text-color: $color-primary-contrast !default;\n$button-text-color: $button-primary-text-color;\n// 次按钮(colors:'secondary')\n$button-second-text-color: unquote(\"rgb(#{$button-secondary-text-color})\") !default;\n// 默认按钮()\n$button-default-text-color: unquote(\"rgb(#{$palette-grey-900})\") !default;\n// 边框按钮(shape:'border')\n// $button-border-text-color: unquote(\"rgb(#{$primary-color})\") !default;\n\n// Button 边框样式及颜色.\n$button-border-style: unquote(\"solid\") !default;\n$button-border-color: $border-color-base;\n$button-default-border-color: $button-default-color !default;\n\n// Button 不同状态下的边框颜色 :hover、active、focus状态.\n$button-hover-border-color: $brand-default-hover;\n$button-active-border-color: $brand-default-active;\n$button-focus-border-color: $brand-default-active;\n\n// FAB colors and sizes.\n$button-fab-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-hover-color-alt: unquote(\"rgb(#{$color-accent-light})\") !default;\n$button-fab-active-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-text-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$button-fab-ripple-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n\n// Icon button colors and sizes.\n$button-icon-color: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$button-icon-focus-color: $button-focus-color !default;\n\n// Button 最小宽度、高度、内边距、外边距、行高、边框粗细、圆角.\n$button-min-width: 72/10 * $unit !default;\n$button-height: 36/10 * $unit !default;\n$button-padding: 4/10* $unit 13/10 * $unit !default;\n$button-padding-IE8: 4px 13px !default;\n$button-top-padding: 1310 * $unit !default;\n$button-left-padding: 6/10* $unit !default;\n$button-line-height:1.57142857;\n$button-margin: 4/10 * $unit !default;\n$button-border-radius: 3/10 * $unit !default;\n$button-border-width: 1/10 * $unit !default;\n\n$button-fab-size: 38/10 * $unit !default;\n$button-fab-size-mini: 30/10 * $unit !default;\n$button-fab-font-size: 14/10 * $unit !default;\n\n$button-icon-size: 32/10 * $unit !default;\n$button-icon-size-mini: 13/10 * $unit !default;\n\n$button-raised-font-size: 14/10 * $unit !default;\n\n// Button 大按钮\n$button-padding-y-lg:8px;\n$button-padding-x-lg:15px;\n$font-size-lg:1.4 * $unit;\n\n\n// Button 特大型按钮\n$button-padding-y-xg:10.5px;\n$button-padding-x-xg:18px;\n$font-size-xg:1.6 * $unit;\n\n\n// Button 小型按钮\n$button-padding-y-sm:3px;\n$button-padding-x-sm:5px;\n$font-size-sm:1.2 * $unit;\n\n\n\n// UText\n\n\n$form-control-border-radius: $border-radius-base;\n$form-control-default-font-size: 14px;\n$form-control-lg-font-size: 14px;\n$form-control-sm-font-size: 12px;\n$form-control-default-height: 32px;\n$form-control-lg-height: 40px;\n$form-control-sm-height: 26px;\n$form-control-color: #424242;\n$form-control-bg-color: #fff;\n$form-control-border-color: $border-color-base;\n$form-control-disable-bg-color: #F7F9FB;\n$form-control-disable-color: $disabled-color-base;\n$form-control-disable-border-color: #DFE1E6;\n\n$input-text-background-color: transparent !default;\n$input-text-label-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$input-text-bottom-border-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n$input-text-bottom-border-color-IE8: unquote(\"rgb(#{$color-black})\") !default;\n$input-text-highlight-color: unquote(\"rgb(#{$primary-color})\") !default;\n$input-text-disabled-color: $input-text-bottom-border-color !default;\n$input-text-disabled-text-color: $input-text-label-color !default;\n$input-text-error-color: unquote(\"rgb(222, 50, 38)\") !default;\n$input-text-must-color:unquote(\"rgb(#{$palette-red-A700})\") !default;\n\n\n$input-text-font-size: 14px !default;\n$input-text-width: 100% !default;\n$input-text-padding: 4px !default;\n$input-text-vertical-spacing: 20px !default;\n\n$input-text-button-size: 32px !default;\n$input-text-floating-label-fontsize: 12px !default;\n$input-text-expandable-icon-top: 16px !default;\n$input-text-height:36px !default;\n$input-text-normal-width:360px !default;\n$input-text-short-width:180px !default;\n$input-text-normal-border-color:unquote(\"rgb(#{$palette-u-gray-400})\") !default;\n$input-text-color:unquote(\"rgb(#{$palette-u-gray-A200})\") !default;\n$input-text-focus-border-color:unquote(\"rgb(#{$palette-u-blue-400})\") !default;\n$input-lable-color:unquote(\"rgb(#{$palette-u-gray-900})\") !default;\n\n\n/* FormGroup */\n\n$error-input-border:$brand-danger;\n$warning-input-border:$brand-warning;\n$success-input-border:$brand-success;\n$success-addon-bg: $brand-light-success;\n$warning-addon-bg: $brand-light-warning;\n$error-addon-bg: $brand-light-danger;\n$form-group-margin-top: 15px;\n$form-group-margin-bottom: 15px;\n\n/* Navlayout */\n\n$layout-nav-color: unquote(\"rgb(#{$palette-grey-100})\") !default;\n\n// Drawer\n$layout-drawer-bg-color: unquote(\"rgb(#{$palette-grey-50})\") !default;\n$layout-drawer-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$layout-text-color: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$layout-drawer-navigation-color: #757575 !default;\n$layout-drawer-navigation-link-active-background: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$layout-drawer-navigation-link-active-color: $layout-text-color !default;\n\n// Header\n$layout-header-bg-color: unquote(\"rgb(#{$primary-color})\") !default;\n$layout-header-text-color: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n$layout-header-nav-hover-color: unquote(\"rgba(#{$palette-grey-700}, 0.6)\") !default;\n$layout-header-tab-text-color: unquote(\"rgba(#{$color-primary-contrast}, 0.6)\") !default;\n\n// Tabs\n$layout-header-tab-highlight: unquote(\"rgb(#{$color-accent})\") !default;\n\n$layout-nav-link-font-size: 13px !default;\n\n$layout-drawer-narrow: 240px !default;\n$layout-drawer-wide: 456px !default;\n$layout-drawer-width: $layout-drawer-narrow !default;\n\n$layout-header-icon-size: 32px !default;\n$layout-screen-size-threshold: 1024px !default;\n$layout-header-icon-margin: 24px !default;\n$layout-drawer-button-mobile-size: 44px !default;\n$layout-drawer-button-desktop-size: 34px !default;\n$layout-drawer-button-desktop-margin-top: 5px !default;\n$layout-drawer-button-mobile-margin-top: 10px !default;\n\n$layout-header-mobile-row-height: 56px !default;\n$layout-mobile-header-height: $layout-header-mobile-row-height;\n$layout-header-desktop-row-height: 44px !default;\n$layout-desktop-header-height: $layout-header-desktop-row-height;\n\n$layout-header-desktop-baseline: 80px !default;\n$layout-header-mobile-baseline: 72px !default;\n$layout-header-mobile-indent: 16px !default;\n$layout-header-desktop-indent: 40px !default;\n\n$layout-tab-font-size: 14px !default;\n$layout-tab-bar-height: 48px !default;\n$layout-tab-mobile-padding: 12px !default;\n$layout-tab-desktop-padding: 24px !default;\n$layout-tab-highlight-thickness: 2px !default;\n\n// gridlayout\n\n// Extra small screen / phone\n//$screen-xs: 480px;\n\n$screen-xs-min: 480px;\n// Deprecated `@screen-phone` as of v3.0.1\n//@screen-phone: @screen-xs-min;\n\n// Small screen / tablet\n// Deprecated `@screen-sm` as of v3.0.1\n//@screen-sm: 768px;\n$screen-sm-min: 768px;\n// Deprecated `@screen-tablet` as of v3.0.1\n//@screen-tablet: @screen-sm-min;\n\n// Medium screen / desktop\n// Deprecated `@screen-md` as of v3.0.1\n//@screen-md: 992px;\n$screen-md-min: 992px;\n// Deprecated `@screen-desktop` as of v3.0.1\n//@screen-desktop: @screen-md-min;\n\n// Large screen / wide desktop\n// Deprecated `@screen-lg` as of v3.0.1\n//@screen-lg: 1200px;\n$screen-lg-min: 1200px;\n// Deprecated `@screen-lg-desktop` as of v3.0.1\n//@screen-lg-desktop: @screen-lg-min;\n$screen-xs-max: ($screen-sm-min - 1 );\n\n$screen-sm-max: ($screen-sm-min - 1 );\n\n$screen-md-max: ($screen-lg-min - 1 );\n\n\n\n\n// Number of columns in the grid.\n$grid-columns: 12;\n// Padding between columns. Gets divided in half for the left and right.\n$grid-gutter-width: 30px;\n// Navbar collapse\n// Point at which the navbar becomes uncollapsed.\n$grid-float-breakpoint: 768px;\n// Point at which the navbar begins collapsing.\n$grid-float-breakpoint-max: ($grid-float-breakpoint - 1);\n\n\n// Small screen / tablet\n$container-tablet: (720px + $grid-gutter-width);\n// For `@screen-sm-min` and up.\n$container-sm: $container-tablet;\n\n// Medium screen / desktop\n$container-desktop: (940px + $grid-gutter-width);\n// For `@screen-md-min` and up.\n$container-md: $container-desktop;\n\n// Large screen / wide desktop\n$container-large-desktop: (1140px + $grid-gutter-width);\n// For `@screen-lg-min` and up.\n$container-lg: $container-large-desktop;\n\n\n\n// menu\n\n$default-dropdown-bg-color: unquote(\"rgb(#{$color-white})\") !default;\n$menu-expand-duration: 0.3s !default;\n$menu-fade-duration: 0.2s !default;\n\n// Default Item Colors\n$default-item-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$default-item-text-color-IE8: unquote(\"rgb(#{$color-black})\") !default;\n$default-item-outline-color: unquote(\"rgb(#{$palette-u-blue-400})\") !default;\n$default-item-hover-bg-color: unquote(\"rgb(#{$palette-u-blue-100})\") !default;\n$default-item-focus-bg-color: unquote(\"rgb(#{$palette-u-blue-200})\") !default;\n$default-item-active-bg-color: unquote(\"rgb(#{$palette-u-blue-200})\") !default;\n$default-item-divider-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n// Disabled Button Colors\n$disabled-item-text-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n\n// Tile\n$tile-width: 100%;\n\n$tile-default-border-color: #e9e9e9;\n$tile-default-hover-shadow-color: rgba(0, 0, 0, 0.2);\n\n$tile-primary-border-color: $button-primary-color;\n$tile-primary-hover-shadow-color: $button-primary-hover-color;\n\n$tile-danger-border-color: $button-danger-color;\n$tile-danger-hover-shadow-color: $button-danger-hover-color;\n\n$tile-warning-border-color: $button-warning-color;\n$tile-warning-hover-shadow-color: $button-warning-hover-color;\n\n$tile-success-border-color: $button-success-color;\n$tile-success-hover-shadow-color: $button-success-hover-color;\n\n$tile-info-border-color: $button-info-color;\n$tile-info-hover-shadow-color: $button-info-hover-color;\n\n// Alert\n$alert-news-bg: $brand-light-news;\n$alert-success-bg: $brand-light-success;\n$alert-info-bg: $brand-light-info;\n$alert-warning-bg: $brand-light-warning;\n$alert-danger-bg: $brand-light-danger;\n\n\n$alert-dark-news-bg: $brand-news;\n$alert-dark-success-bg: $brand-success;\n$alert-dark-info-bg: $brand-info;\n$alert-dark-warning-bg: $brand-warning;\n$alert-dark-danger-bg: $brand-danger;\n\n$alert-news-color: $color-news;\n$alert-success-color: $color-success;\n$alert-info-color: $color-info;\n$alert-warning-color: $color-warning;\n$alert-danger-color: $color-danger;\n\n$timeline-primary-color: $brand-primary;\n$timeline-news-color: $color-news;\n$timeline-success-color: $color-success;\n$timeline-info-color: $color-info;\n$timeline-warning-color: $color-warning;\n$timeline-danger-color: $color-danger;\n\n$alert-padding:10px;\n$alert-font-size:12px;\n$alert-border-radius: $border-radius;\n$alert-text-padding-left: 15px;\n$alert-text-padding-right: 15px;\n$alert-close-font-size: 21px;\n$alert-close-opacity: .2;\n$alert-close-font-weight: 700;\n\n//Checkbox\n\n$checkbox-color: unquote(\"rgb(#{$primary-color})\") !default;\n$checkbox-off-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-off-color-IE8: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-disabled-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-focus-color: unquote(\"rgba(#{$palette-u-blue-500}, 0.26)\") !default;\n$checkbox-image-path: $image_path;\n\n$checkbox-label-font-size: 13px !default;\n$checkbox-label-height: 24px !default;\n$checkbox-button-size: 16px !default;\n$checkbox-inner-margin: 2px !default;\n$checkbox-padding: 8px !default;\n$checkbox-top-offset:\n ($checkbox-label-height - $checkbox-button-size - $checkbox-inner-margin) / 2;\n$checkbox-ripple-size: $checkbox-label-height * 1.5;\n\n$checkbox-primary-bg: $brand-primary;\n$checkbox-success-bg: $brand-success;\n$checkbox-info-bg: $brand-info;\n$checkbox-warning-bg: $brand-warning;\n$checkbox-danger-bg: $brand-danger;\n$checkbox-dark-bg: $brand-dark;\n\n$progress-primary-bg: $brand-primary;\n$progress-success-bg: $brand-success;\n$progress-info-bg: $brand-info;\n$progress-warning-bg: $brand-warning;\n$progress-danger-bg: $brand-danger;\n$progress-dark-bg: $brand-dark;\n\n$primary-color-opacity:unquote(\"rgba(#{$primary-color}, 0.7)\") !default;\n$color-success-opacity:unquote(\"rgba(#{$palette-green-500}, 0.7)\") !default;\n$color-info-opacity:unquote(\"rgba(#{$palette-cyan-500}, 0.7)\") !default;\n$color-warning-opacity:unquote(\"rgba(#{$palette-orange-500}, 0.7)\") !default;\n$color-danger-opacity:unquote(\"rgba(#{$palette-red-500}, 0.7)\") !default;\n$color-dark-opacity:unquote(\"rgba(#{$palette-grey-700}, 0.7)\") !default;\n\n\n$progress-sm-height: 10px;\n$progress-xs-height: 5px;\n$progress-xs-width: 170px;\n$progress-default-height: 20px;\n$progress-sm-lable-font-size: 10px;\n$progress-sm-lable-line-height: 10px;\n$progress-xs-lable-line-height: 8px;\n$progress-xs-lable-margin-left: 140px;\n$progress-xs-lable-font-size: 10px;\n$progress-xs-lable-color: #000;\n\n// Radio\n\n$radio-color: unquote(\"rgb(#{$primary-color})\") !default;\n$radio-off-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$radio-off-color-IE8: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$radio-disabled-color: $disabled-color-base !default;\n\n$radio-label-font-size: 13px !default;\n$radio-label-height: 32px !default;\n$radio-button-size: 16px !default;\n$radio-inner-margin: $radio-button-size / 4;\n$radio-padding: 8px !default;\n$radio-top-offset: ($radio-label-height - $radio-button-size) / 2;\n$radio-ripple-size: 42px !default;\n\n$radio-primary-bg: $brand-primary;\n$radio-success-bg: $brand-success;\n$radio-info-bg: $brand-info;\n$radio-warning-bg: $brand-warning;\n$radio-danger-bg: $brand-danger;\n$radio-dark-bg: $brand-dark;\n\n$radio-disabled-bg: #f7f7f7;\n$radio-diabled-border-color: #d9d9d9;\n\n$radio-border-color: #d9d9d9;\n$radio-bg-color: #fff;\n$radio-color:$font-color-base;\n\n$radio-checked-bg-color: #fff;\n$radio-checked-color: $brand-primary;\n$radio-checked-border-color: $radio-checked-color;\n\n$radio-icon-height: 18px;\n$radio-icon-width: 18px;\n$radio-icon-checked-height: 8px;\n$radio-icon-checked-width: 8px;\n\n$radio-button-lg-height:42px;\n$radio-button-lg-line-height:26px;\n\n$radio-button-sm-height:22px;\n$radio-button-sm-line-height:20px;\n\n$radio-button-height: 28px;\n$radio-button-line-height: 26px;\n\n\n\n\n\n//loading\n\n$loading-color-1: unquote(\"rgb(#{$palette-blue-400})\") !default;\n$loading-color-2: unquote(\"rgb(#{$palette-red-500})\") !default;\n$loading-color-3: unquote(\"rgb(#{$palette-yellow-600})\") !default;\n$loading-color-4: unquote(\"rgb(#{$palette-green-500})\") !default;\n\n$loading-single-color: unquote(\"rgb(#{$primary-color})\") !default;\n\n$loading-size: 28px !default;\n$loading-stroke-width: 3px !default;\n\n// Amount of circle the arc takes up.\n$loading-arc-size: 270deg !default;\n// Time it takes to expand and contract arc.\n$loading-arc-time: 1333ms !default;\n// How much the start location of the arc should rotate each time.\n$loading-arc-start-rot: 216deg !default;\n\n$loading-duration: 360 * $loading-arc-time / (\n strip-units($loading-arc-start-rot + (360deg - $loading-arc-size)));\n\n// datetimepicker\n$timepicker-border-gap-color:#ccc;\n$timepicker-font-size:14px;\n\n$date-bg-color: unquote(\"rgb(#{$primary-color})\") !default;\n\n// message\n$snackbar-color: unquote(\"rgb(#{$color-white})\") !default;\n$snackbar-background-color: unquote(\"rgb(#{$primary-color})\") !default;\n$snackbar-color-cancel: unquote(\"rgb(#{$palette-red-500})\") !default;\n$snackbar-color-accept: unquote(\"rgb(#{$palette-green-500})\") !default;\n$snackbar-color-warning: unquote(\"rgb(#{$palette-lime-200})\") !default;\n\n// DATA TABLE\n\n$data-table-font-size: 13px !default;\n$data-table-header-font-size: 12px !default;\n$data-table-header-sort-icon-size: 16px !default;\n\n$data-table-header-color: rgba(#000, 0.54) !default;\n$data-table-header-sorted-color: rgba(#000, 0.87) !default;\n$data-table-divider-color: rgba(#000, 0.12) !default;\n$data-table-divider-color-IE8: rgb(0,0,0) !default;\n\n//$data-table-hover-color: #eeeeee !default;\n$data-table-hover-color: #E9F7FC !default;\n$data-table-selection-color: #C4EAF6 !default;\n\n$data-table-dividers: 1px solid $data-table-divider-color !default;\n$data-table-dividers-IE8: 1px solid $data-table-divider-color-IE8 !default;\n\n$data-table-row-height: 48px !default;\n$data-table-last-row-height: 56px !default;\n$data-table-header-height: 56px !default;\n\n$data-table-column-spacing: 36px !default;\n$data-table-column-padding: $data-table-column-spacing / 2;\n\n$data-table-card-header-height: 64px !default;\n$data-table-card-title-top: 20px !default;\n$data-table-card-padding: 24px !default;\n$data-table-button-padding-right: 16px !default;\n$data-table-cell-top: $data-table-card-padding / 2;\n\n// $line-height-computed: round(($font-size-small * $line-height-base));\n$line-height-computed: round((14px * $line-height-base));\n$table-bg: transparent;\n$table-cell-padding: 8px;\n$table-border-color: $border-color-base;\n$table-bg-hover: $bg-color-base;\n$table-bg-active: $table-bg-hover;\n$table-bg-accent: unquote(\"rgba(#{$palette-grey-200},.3)\") !default;\n\n\n\n\n// tooltip\n$tooltip-max-width: 200px;\n$tooltip-color: #fff;\n$tooltip-bg: #42526E;\n$tooltip-inverse-border-color: #d9d9d9;\n$tooltip-inverse-color: rgb(51,51,51);\n$tooltip-arrow-color: $tooltip-bg;\n$tooltip-opacity: 1;\n\n\n// 进度条\n$bar-height: 4px !default;\n$progress-main-color: unquote(\"rgb(#{$primary-color})\") !default;\n$progress-secondary-color: unquote(\"rgba(#{$color-primary-contrast}, 0.7)\") !default;\n$progress-fallback-buffer-color: unquote(\"rgba(#{$color-primary-contrast}, 0.9)\") !default;\n$progress-image-path: $image_path;\n$progress-buffer-bar-border:unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n\n// Tabs\n$layout-header-tab-highlight: unquote(\"rgb(#{$color-accent})\") !default;\n\n\n\n$tab-highlight-color: unquote(\"rgb(#{$primary-color})\") !default;\n$tab-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$tab-active-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$tab-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n\n\n\n//CARD\n\n$card-width: 330px !default;\n$card-height: 200px !default;\n$card-font-size: 13px !default;\n$card-title-font-size: 24px !default;\n$card-subtitle-font-size: 10px !default;\n$card-horizontal-padding: 16px !default;\n$card-vertical-padding: 16px !default;\n\n$card-title-perspective-origin-x: 165px !default;\n$card-title-perspective-origin-y: 56px !default;\n\n$card-title-transform-origin-x: 165px !default;\n$card-title-transform-origin-y: 56px !default;\n\n$card-title-text-transform-origin-x: 149px !default;\n$card-title-text-transform-origin-y: 48px !default;\n\n$card-supporting-text-font-size: 1.4 * $unit !default;\n$card-supporting-text-line-height: 18px !default;\n\n$card-actions-font-size: 13px !default;\n\n$card-title-text-font-weight: 300 !default;\n$card-z-index: 1 !default;\n\n// Cover image\n$card-cover-image-height: 186px !default;\n$card-background-image-url: '' !default;\n\n\n\n$card-background-color: unquote(\"rgb(#{$color-white})\") !default;\n$card-text-color: unquote(\"rgb(#{$color-black})\") !default;\n$card-image-placeholder-color: unquote(\"rgb(#{$color-accent})\") !default;\n$card-supporting-text-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$card-border-color: rgba(0,0,0,0.1) !default;\n$card-subtitle-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n\n\n$input-border:unquote(\"rgb(#{$palette-u-gray-500})\");\n$input-border-focus:unquote(\"rgb(#{$primary-color})\");\n$input-border-disabled:unquote(\"rgb(#{$palette-u-gray-100})\");\n$input-bg-disabled:unquote(\"rgb(#{$palette-u-gray-100})\");\n$input-color:unquote(\"rgb(#{$palette-u-gray-A100})\");\n$form-input-height:36px;\n$form-input-height-sm:28px;\n$form-input-padding-left:12px;\n$form-label-color:unquote(\"rgb(#{$palette-u-gray-900})\");\n$form-control-feedback-color:unquote(\"rgb(#{$palette-u-gray-700})\");\n$form-validate-error-color:unquote(\"rgb(#{$palette-u-red-600})\");\n\n\n// BADGE\n$badge-font-size: 12px !default;\n$badge-color: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$badge-color-inverse: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background-inverse: unquote(\"rgba(#{$color-accent-contrast},0.2)\") !default;\n$badge-size : 22px !default;\n$badge-padding: 2px !default;\n$badge-overlap: 12px !default;\n\n$badge-primary-color:#FFFFFF;\n$badge-primary-bg:$brand-primary;\n\n$badge-success-color:#FFFFFF;\n$badge-success-bg: $brand-success;\n\n$badge-info-color:#FFFFFF;\n$badge-info-bg:$brand-info;\n\n$badge-warning-color:#FFFFFF;\n$badge-warning-bg:$brand-warning;\n\n$badge-danger-color:#FFFFFF;\n$badge-danger-bg:$brand-danger;\n\n$badge-dark-color:#FFFFFF;\n$badge-dark-bg:$brand-dark;\n\n$badge-font-size: 12px;\n$badge-font-dataicon-size: 10px;\n$badge-default-dataicon-fontcolor: #757575;\n$badge-default-dataicon-bgcolor: #fff;\n$badge-default-dataicon-bordercolor: $border-color-base;\n\n// labels\n$tag-padding: .25em .6em .25em;\n$tag-border-radius: 0.3em;\n$tag-bg: #eeeeee;\n$tag-round-border-radius: 1em;\n$tag-default-color: #757575;\n$tag-default-bg:#e0e0e0;\n$tag-lg-font-size: 16px;\n$tag-sm-font-size: 10px;\n$tag-sm-padding: .1em .5em .1em;\n$tag-default-hover-bg: $brand-default-hover;\n$tag-primary-hover-bg: $brand-primary-hover;\n$tag-success-hover-bg: $brand-success-hover;\n$tag-info-hover-bg: $brand-info-hover;\n$tag-warning-hover-bg: $brand-warning-hover;\n$tag-danger-hover-bg: $brand-danger-hover;\n$tag-dark-hover-bg: $brand-dark-hover;\n$tag-default-bg: $brand-default;\n$tag-primary-bg: $brand-primary;\n$tag-success-bg: $brand-success;\n$tag-info-bg: $brand-info;\n$tag-warning-bg: $brand-warning;\n$tag-danger-bg: $brand-danger;\n$tag-dark-bg: $brand-dark;\n$tag-default-hover-color:unquote(\"rgb(#{$palette-u-gray-500})\");\n\n\n// pagination\n$pagination-gap-hover-border:#7A869A;\n\n$pagination-link-padding: 7px 13px;\n$pagination-lg-font-size: 16px;\n$pagination-lg-padding-vertical: 9.5px;\n$pagination-lg-padding-horizontal: 15.5px;\n\n$pagination-small-font-size: 12px;\n$pagination-small-padding-vertical: 4px;\n$pagination-small-padding-horizontal: 9.5px;\n\n$pag-color: #666666;\n$pag-bg-color: #fff;\n$pag-border-color:#d7d7d7;\n$pag-hover-color: #666;\n$pag-hover-bg-color:$hover-bg-color-base;\n$pag-hover-border-color:#d7d7d7;\n$pag-active-color: #fff;\n$pag-active-bg-color:#7A869A;\n$pag-active-border-color:#7A869A;\n$pag-disabled-color: #777;\n$pag-disabled-bg-color:#fff;\n$pag-disabled-border-color:#ddd;\n\n$border-radius-base: $border-radius;\n$border-radius-large: 4px;\n$border-radius-small: 2px;\n\n$line-height-large: 1.3333333; // extra decimals for Win 8.1 Chrome\n$line-height-small: 1.5;\n// widget\n\n$widget-padding-left:30px;\n$widget-padding-top:10px;\n\n//tooltips\n\n$tooltip-default-bg: $brand-default;\n$tooltip-primary-bg: $brand-primary;\n$tooltip-success-bg: $brand-success;\n$tooltip-info-bg: $brand-info;\n$tooltip-warning-bg: $brand-warning;\n$tooltip-danger-bg: $brand-danger;\n$tooltip-dark-bg: $brand-dark;\n\n//menu Button\n\n$menu-default-bg: $brand-default;\n$menu-primary-bg: $brand-primary;\n$menu-success-bg: $brand-success;\n$menu-info-bg: $brand-info;\n$menu-warning-bg: $brand-warning;\n$menu-danger-bg: $brand-danger;\n$menu-dark-bg: $brand-dark;\n$menu-default-bg-hover: $brand-default-hover;\n$menu-primary-bg-hover: $brand-primary-hover;\n$menu-success-bg-hover: $brand-success-hover;\n$menu-info-bg-hover: $brand-info-hover;\n$menu-warning-bg-hover: $brand-warning-hover;\n$menu-danger-bg-hover: $brand-danger-hover;\n$menu-dark-bg-hover: $brand-dark-hover;\n\n\n// breadcrumbs\n\n$breadcrumb-padding-vertical: 8px;\n$breadcrumb-padding-horizontal: 10px;\n$breadcrumb-separator: \"/\\00a0\";\n$breadcrumb-bg: transparent;\n$breadcrumb-margin-bottom: 10px;\n\n$breadcrumb-color: $brand-primary;\n$breadcrumb-active-color: $text-color;\n\n$breadcrumb-icon-margin-right: 10px;\n$breadcrumb-arrow-separator: \"\\00bb\\00a0\";\n\n$breadcrumb-bg-color: #f5f5f5;\n$breadcrumb-active-color: #777;\n$breadcrumb-separate-color: #ccc;\n\n// list-group\n$list-group-media-heading-font-size : $font-size-small;//14px\n$list-group-link-disabled-color : $disabled-color-base;\n\n$list-group-link-disabled-bg : $gray-lightest;\n\n$list-group-active-color : $brand-primary;\n$list-group-link-active-color : unquote(\"rgb(#{$color-white})\") !default;\n$list-group-link-active-bg : $brand-primary;\n\n\n$list-group-item-icon-margin-right : 10px;\n\n$list-group-bg-inherit-item-border : rgba(0, 0, 0, 0.075);\n$list-group-bg-inherit-item-hover-bg : rgba(0, 0, 0, 0.075);\n\n\n$list-group-border-radius: $border-radius-base;\n\n\n\n$list-group-link-color: $text-color;\n$list-group-link-hover-color: $text-color;\n$list-group-link-heading-color: $title-color;\n\n$list-group-hover-bg: $bg-color-base;\n\n$list-group-disabled-bg: transparent;\n\n$list-group-disabled-color: $disabled-color-base;\n\n\n$list-group-disabled-text-color: $list-group-disabled-color;\n$list-group-active-bg: transparent;\n$list-group-active-border: $list-group-active-bg;\n// $list-group-active-text-color: lighten($list-group-active-color, 40%);\n$list-group-active-text-color: $list-group-active-color;\n\n$list-group-bg: #fff;\n$list-group-border: transparent;\n// $list-group-bordered-border : $border-color-base;\n// $list-group-bordered-active-color : $component-active-color;\n// $list-group-bordered-active-bg : $component-active-bg;\n// $list-group-bordered-active-border : $list-group-bordered-active-bg;\n\n// $list-group-gap-item-margin-bottom : 2px;\n\n//step\n$steps-margin-bottom: $line-height-computed;\n$step-padding-horizontal:20px;\n$step-padding-vertical: 12px;\n\n$step-vertical-padding-horizontal: 20px;\n$step-vertical-padding-vertical:18px;\n\n$step-color: $gray;\n$step-bg: $bg-color-base;\n$step-number-bg: $gray-lighter;\n$step-number-color: $inverse;\n\n$step-current-color: $inverse;\n$step-current-bg: $brand-primary;\n\n$step-done-color: $inverse;\n$step-done-bg:$brand-success;\n\n$step-error-color: $inverse;\n$step-error-bg: $brand-danger;\n\n$step-disabled-color:$gray-light;\n\n$step-font-size: inherit;\n$step-title-font-size: 20px;\n$step-icon-font-size:27px;\n$step-number-font-size:24px;\n$step-number-size: 40px;\n\n$step-lg-padding-horizontal:20px;\n$step-lg-padding-vertical:20px;\n$step-lg-font-size: 16px;\n$step-lg-title-font-size:22px;\n$step-lg-icon-font-size: 32px;\n$step-lg-number-font-size:28px;\n$step-lg-number-size:46px;\n\n$step-sm-font-size: 12px;\n$step-sm-title-font-size: 18px;\n$step-sm-icon-font-size: 24px;\n$step-sm-number-font-size: 24px;\n$step-sm-number-size: 30px;\n\n$step-xs-font-size: 10px;\n$step-xs-title-font-size: 16px;\n$step-xs-icon-font-size: 22px;\n$step-xs-number-font-size: 20px;\n$step-xs-number-size: 24px;\n\n// blog nav\n$blognav-active-color:unquote(\"rgb(#{$primary-color})\");\n// widget\n$widget-padding-left:30px;\n$widget-padding-top:10px;\n\n\n// couter 数据统计\n\n$counter-number-color: $gray-darkest;\n$counter-number-font-size: 20px;\n$counter-icon-font-size: $counter-number-font-size;\n\n$counter-lg-number-font-size: 40px;\n$counter-md-number-font-size: 30px;\n$counter-sm-number-font-size: 14px;\n\n$counter-lg-icon-font-size: $counter-lg-number-font-size;\n$counter-md-icon-font-size: $counter-md-number-font-size;\n$counter-sm-icon-font-size: $counter-sm-number-font-size;\n\n$counter-inverse-color: $inverse;\n\n\n// navbar\n\n\n$menu-active-color: #108ee9;\n$menu-border-active-color: #108ee9;\n$menu-selected-bg-color: #eaf8fe;\n$menu-group-titil-color: #999;\n$menu-group-title-padding-left: 32px;\n$menu-color: #666;\n$menu-border-color: #d9d9d9;\n\n$navbar-default-bg-color: #f8f8f8;\n$navbar-default-border-color: #e7e7e7;\n$navbar-default-color: #777;\n$navbar-default-hover-color: #333;\n$navbar-inverse-hover-color: #fff;\n$navbar-inverse-color: #9d9d9d;\n$navbar-inverse-bg-color: #222;\n$navbar-inverse-border-color: #080808;\n$navbar-border-radius: 4px;\n\n$navbar-side-container-border-color: #d9d9d9;\n$navbar-side-container-width: 242px;\n$navbar-side-container-border-shadow: #d9d9d9;\n\n// Basics of a navbar\n$navbar-height: 50px;\n$navbar-margin-bottom: $line-height-computed;\n$navbar-border-radius: $border-radius-base;\n$navbar-padding-horizontal: floor(($grid-gutter-width / 2));\n$navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2);\n$navbar-collapse-max-height: 340px;\n\n$navbar-avatar-margin-horizontal: (($navbar-height - 32px) / 2);\n\n$navbar-brand-padding-horizontal: 20px;\n$navbar-brand-logo-height: 32px;\n\n$navbar-default-color: $text-color;\n$navbar-default-bg: $inverse;\n$navbar-default-border: $border-color-base;\n\n// Navbar links\n$navbar-default-link-color: $text-color;\n$navbar-default-link-hover-color: $gray-darker;\n$navbar-default-link-hover-bg: rgba(238,238,238, 30%);\n$navbar-default-link-active-color: $navbar-default-link-hover-color;\n$navbar-default-link-active-bg: rgba(238,238,238, 60%);\n$navbar-default-link-disabled-color: $disabled-color-base;\n$navbar-default-link-disabled-bg: transparent;\n\n// Navbar brand label\n$navbar-default-brand-color: $title-color;\n$navbar-default-brand-hover-color: $navbar-default-brand-color;\n$navbar-default-brand-hover-bg: none;\n\n// Navbar toggle\n$navbar-default-toggle-hover-bg: $navbar-default-link-hover-bg;\n$navbar-default-toggle-icon-bar-bg: $navbar-default-color;\n$navbar-default-toggle-border-color: transparent;\n\n\n// Inverted navbar\n// Reset inverted navbar basics\n$navbar-inverse-bg: $brand-primary;\n$navbar-inverse-border: rgba(0, 0, 0, .1);\n\n// Inverted navbar links\n$navbar-inverse-link-color: $inverse;\n$navbar-inverse-link-hover-color: $inverse;\n$navbar-inverse-link-hover-bg: rgba(0, 0, 0, .1);\n$navbar-inverse-link-active-color: $navbar-inverse-link-hover-color;\n$navbar-inverse-link-active-bg: $navbar-inverse-link-hover-bg;\n$navbar-inverse-link-disabled-color: $inverse;\n$navbar-inverse-link-disabled-bg: transparent;\n\n// Inverted navbar brand label\n$navbar-inverse-brand-color: $navbar-inverse-link-color;\n$navbar-inverse-brand-hover-color: $inverse;\n$navbar-inverse-brand-hover-bg: none;\n\n// Inverted navbar toggle\n$navbar-inverse-toggle-hover-bg: $navbar-inverse-link-hover-bg;\n$navbar-inverse-toggle-icon-bar-bg: $inverse;\n$navbar-inverse-toggle-border-color: transparent;\n\n//hamburger\n$hamburger-size: 17px;\n\n\n//panel\n$panel-header-padding : 10px 15px;\n$panel-footer-padding : 10px 15px;\n$panel-body-padding : 15px 15px;\n$panel-header-bg-color : #f5f5f5;\n$panel-footer-bg-color : #f5f5f5;\n$panel-bg-color : #fff;\n$panel-default-color : #757575;\n$panel-inner-border-color: #ddd;\n\n\n//modal\n$modal-header-padding : 15px;\n$modal-body-padding : 15px;\n$modal-footer-padding : 15px;\n$modal-content-bg-color: #fff;\n$modal-backdrop-bg: #000;\n$modal-backdrop-opacity: .6;\n$modal-header-border-color: transparent;\n$modal-footer-border-color: transparent;\n$modal-xlg: 976px;\n$modal-lg: 800px;\n$modal-sm: 400px;\n$modal-default: 600px;\n$modal-border-radius: $border-radius-base;\n\n//notification\n\n$zIndex-notification: $zIndex-notification;\n$notification-top: 30px;\n$notification-bottom: 30px;\n$notification-right: 30px;\n$notification-width: 300px;\n$notification-text-margin-right: 15px;\n$notice-padding: 15px;\n$notice-background: $gray-darkest;\n$notice-bottom: 15px;\n\n//message\n\n$message-font-size: 12px;\n\n$message-right: 30px;\n$message-width: 300px;\n$message-text-margin-right: 15px;\n$message-padding: 0;\n$message-content-padding: 15px;\n$message-background: $gray-darkest;\n\n//popconfirm\n\n$popconfirm-max-width: 300px;\n\n$popconfirm-dark-bg: $gray-darkest;\n$popconfirm-fallback-dark-border-color: $gray-darkest;\n$popconfirm-margin: 10px;\n$popconfirm-title-bg: #fff;\n$popconfirm-border-color:$border-color-base;\n$popconfirm-arrow-width: 10px;\n$popconfirm-arrow-color: $border-color-base;\n$popconfirm-arrow-outer-width: 0;\n$popconfirm-arrow-outer-color: $border-color-base;\n$popconfirm-border-right-color: $border-color-base;\n$popconfirm-fallback-border-color: #fff;\n\n//select\n\n$select-bg-color: #fff;\n$select-border-color: $border-color-base;\n$select-border-radius: $border-radius-base;\n$select-color: $font-color-base;\n$select-font-size: 12px;\n$select-dropdown-color: #666;\n$select-dropdown-bg-color: #fff;\n$select-dropdown-hover-bg: $hover-bg-color-base;\n$select-dropdown-selected-bg: $selected-bg-color-base;\n$select-dropdown-selected-color: rgb(134, 119, 119);\n$select-dropwdown-item-padding: 7px 16px;\n$select-disabled-color: $disabled-color-base;\n$select-disabled-bg: #f7f7f7;\n$select-disabled-border-color: #d9d9d9;\n//dropdown\n\n$dropdown-item-hover-bg-color: unquote(\"rgb(#{$palette-grey-100})\");\n$dropdown-item-divier-bg-color: $gray-lighter;\n$dropdown-border-color: $border-color-base;\n$dropdown-border-radius:3px;\n$dropdown-shadow: 0 1px 5px $dropdown-border-color;\n$dropdown-margin: 5px 0 0 0;\n$dropdown-menu-item-padding: 0px 16px 0 28px;\n$dropdown-menu-font-size: 12px;\n$dropdown-menu-item-height: 42px;\n$dropdown-menu-item-light-height: 42px;\n$dropdown-menu-title-font-size: 12px;\n$dropdown-menu-title-color: $disabled-color-base;\n$dropdown-menu-title-padding:8px 16px;\n$dropdown-menu-title-line-height: 1.5;\n\n//upload\n\n$upload-list-color: #108ee9;\n$upload-list-bg : #fff;\n$upload-list-hover-bg: #e7f4fd;\n$upload-list-error-color: #f50;\n$upload-thumbnail-height: 48px;\n$upload-thumbnail-width: 48px;\n$upload-thumbnail-img-height: 48px;\n$upload-thumbnail-img-width: 48px;\n\n//loading\n\n$loading-loadprimary: rgb(63, 81, 181);\n$loading-loadsuccess: #4caf50;\n$loading-loadwarn: rgb(255, 152, 0);\n$loading-lineanimating: (\n 1:line-scale 1s 0.1s infinite cubic-bezier(.2, .68, .18, 1.08),\n 2:line-scale 1s 0.2s infinite cubic-bezier(.2, .68, .18, 1.08),\n 3:line-scale 1s 0.3s infinite cubic-bezier(.2, .68, .18, 1.08),\n 4:line-scale 1s 0.4s infinite cubic-bezier(.2, .68, .18, 1.08),\n 5:line-scale 1s 0.5s infinite cubic-bezier(.2, .68, .18, 1.08)\n);\n$loading-linebackcolor: (\n 1: #F44336,\n 2: #7ED321,\n 3: #0084FF,\n 4: #FF9800,\n 5: #D0021B\n);\n$loading-back-width: 120px;\n$loading-back-height:110px;\n$loading-desc-font-size: 16px;\n$loading-desc-color: #cecece;\n$loading-rotate-bor:#c2c3c5;\n\n//两种加载的尺寸 width height\n$loading-rotate-sm-size: 25px;\n$loading-rotate-size:40px;\n$loading-rotate-lg-size:60px;\n\n$loading-line-sm-width: 4px;\n$loading-line-sm-height:35px;\n$loading-line-width:6px;\n$loading-line-height:50px;\n$loading-line-lg-width:8px;\n$loading-line-lg-height:90px ;\n\n//居中位置top left\n$loading-center-top:50%;\n$loading-center-left:50%;\n\n$loading-rotate-center-sm: -15px ;\n$loading-rotate-center:-22px;\n$loading-rotate-center-lg:-35px ;\n\n$loading-line-center-sm-top: -22px;\n$loading-line-center-sm-left:-20px;\n$loading-line-center-top:-30px;\n$loading-line-center-left:-25px;\n$loading-line-center-lg-top:-50px;\n$loading-line-center-lg-left:-30px;\n\n\n//switch\n\n\n//color\n$switch-border-color: $gray-lighter;\n$switch-back-color: $gray-lighter;\n$switch-checked-borColor: $brand-primary;\n$switch-checked-backColor: $brand-primary;\n\n// border-radius of different state switch\n$switch-border-radius: 20px;\n$switch-border-radius-after: 18px;\n\n// width height line-height of the three switches\n$switch-width: (default:44px, small:32px, large:60px);\n$switch-height: (default:22px, small:16px, large:30px);\n$switch-lineHeight: (default:20px, small:12px, large:12px);\n\n// style of u-switch-inner\n$switch-inner-fontSize: (default:12px, small:10px, large:18px);\n$switch-inner-left: (default:22px, small:16px, large:30px);\n$switch-inner-largeTop: 8px;\n\n// style of u-switch:active:after\n$switch-active-width: (default:24px, small:16px, large:32px);\n\n// style of u-switch:after\n$switch-after-widthHeight: 18px;\n$switch-after-widthHeight-sm: 14px;\n$switch-after-widthHeight-lg: 26px;\n$switch-after-top: 1px;\n$switch-after-top-sm: 0;\n$switch-after-top-lg: 1px;\n$switch-after-left: 0;\n$switch-after-left-sm: 0;\n$switch-after-left-lg: 0;\n\n// style of u-switch.is-checked\n$switch-checked-innerLeft: (default:8px, small:4px, large:8px);\n$switch-checked-afterLeft: (default:24px, small:16px, large:32px);\n$switch-checked-activeLeft: (default:16px, small:10px, large:26px);\n\n$switch-primary-bg: $brand-primary;\n$switch-dark-bg: $brand-dark;\n$switch-success-bg: $brand-success;\n$switch-warning-bg: $brand-warning;\n$switch-danger-bg: $brand-danger;\n$switch-info-bg: $brand-info;\n\n//tabs\n\n$tabs-basic-back: #f5f5f5;\n$tabs-cls-color: #666;\n$tabs-cls-width: 900px;\n$tabs-simple-conHeight: 120px;\n$tabs-simple-conPad: 16px;\n$tabs-simple-conWidth: 100%;\n\n$tabs-fontSize: (simple:14px, fill:14px, turn:14px, slide:14px, fade:14px, fadeup:14px);\n$tabs-lineHeight: (simple:2.3, fill:2.3, turn:2.3, slide:2.3, fade:2.3, fadeup:2.3);\n$tabs-marginBottom: -1px;\n\n$tabs-simple-tab: (padding:0 16px, margin:5px 0 5px 5px, radius:0 0 0 0, back:#fff);\n$tabs-simple-tabBorder: 1px solid #fff;\n$tabs-simple-activeBorder: 1px solid $brand-primary;\n$tabs-simple-activeColor: #fff;\n$tabs-simple-activeBorBottom: 1px solid $brand-primary;\n$tabs-simple-activeTopRadius: 5px;\n$tabs-simple-fontWeight: bold;\n\n$tabs-fill-tab: (padding: 0 16px, color:#666, back:#fff, afterBack:#d2d8d6, activeBack:$brand-primary);\n$tabs-fill-tab-maright: 5px;\n$tabs-fill-after-top: 0;\n$tabs-fill-after-left: 0;\n$tabs-fill-after-width: 100%;\n$tabs-fill-after-height: 100%;\n$tabs-fill-fontWeight: bold;\n\n$tabs-turn-tab: (padding: 0 16px, color:#fff, back:#f5f5f5, afterBack:$brand-primary, activeBack:$brand-primary);\n$tabs-turn-after-top: 0;\n$tabs-turn-after-left: 0;\n$tabs-turn-after-width: 100%;\n$tabs-turn-after-height: 100%;\n$tabs-turn-beforeBot: 32px;\n$tabs-turn-beforeRight: 15px;\n$tabs-turn-fontWeight: bold;\n$tabs-moveleft-conHeight: 120px;\n$tabs-moveleft-conPad: 16px;\n\n$tabs-slide-tabs: (width:25%, padding: 0 16px, back:#f5f5f5);\n$tabs-slide-child-bottom: 0;\n$tabs-slide-child-left: 0;\n$tabs-slide-child-height: 4px;\n$tabs-slide-child-back: $brand-primary;\n$tabs-slide-fontWeight: bold;\n\n$tabs-fade-tab: (marLeft:5px, marTop:5px, color:#666, padding:0 16px, radius:0 0 0 0);\n$tabs-fade-conPad: 16px;\n$tabs-fade-conBor: 5px;\n\n$tabs-fadeup-tab: (marTop:5px, color:#666, padding:0 16px, radius:0 0 0 0);\n$tabs-fadeup-top: -5px;\n$tabs-fadeup-left: 0;\n$tabs-fadeup-width: 100%;\n$tabs-fadeup-height: 100%;\n$tabs-fadeup-color: #666;\n$tabs-fadeup-conHeight: 120px;\n$tabs-fadeup-conPad: 16px;\n\n\n//rate\n$rate-star-default-color:$gray-lightest;\n$rate-star-active-color:$brand-primary;\n$rate-star-marginRight:8px;\n//backtop\n$back-top-padding:5px;\n$backtop-background:unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$backtop-color:unquote(\"rgb(#{$color-white})\") !default;\n$backtop-right:10px;\n$backtop-bottom:10px;\n$backtop-dom-right:40px;\n\n\n//dnd\n$dnd-list-background:unquote(\"rgb(#{$palette-grey-400})\")!default;\n$dnd-list-padding:8px;\n$dnd-list-dragging-background:unquote(\"rgb(#{$palette-light-blue-A200})\")!default;\n$dnd-item-color:unquote(\"rgb(#{$color-black})\")!default;\n$dnd-item-padding:16px;\n$dnd-item-margin:4px;\n$dnd-item-background:unquote(\"rgb(#{$palette-grey-500})\")!default;\n$dnd-item-dragging-background:unquote(\"rgb(#{$palette-blue-300})\")!default;\n\n// bee-tree\n$tree-checkbox-color: unquote(\"rgb(#{$primary-color})\") !default;\n$tree-node-bg-color: $hover-bg-color-base !default;\n\n// bee-table\n$table-head-background-color: unquote(\"rgb(#{$table-header-background-color})\") !default;\n$table-head-text-color: unquote(\"rgb(#{$table-header-text-color})\") !default;\n\n// bee-transfer\n$transfer-border-gap-color:#d9d9d9;\n\n// bee-transfer\n$cascader-border-gap-color:#ccc;","\n\n// $performance_font: 'Helvetica', 'Arial', sans-serif !default;\n\n@import \"minxin-colors\";\n\n\n\n@function strip-units($number) {\n @return $number / ($number * 0 + 1);\n}\n$unit: 10px !default;\n// IMAGES\n$image_path: '/images' !default;\n\n\n\n//默认颜色\n$trim-color-classes: false !default;\n\n@import \"minxin-themeColors\";\n\n//对比色\n$color-primary-contrast: $color-dark-contrast !default;\n$color-accent-contrast: $color-dark-contrast !default;\n//字体颜色\n$color-text: $palette-grey-900 !default;\n\n//不明所以 $primary-color: unquote(\"rgba(#{$palette-grey-500}, 0.20)\") !default;\n\n// -- Fonts 字体大小权重预定义\n$preferred-font: 'Open Sans','Helvetica Neue',Arial,'Hiragino Sans GB','Microsoft YaHei',sans-serif !default;\n$font-size: 1.6 * $unit !default;\n$font-size-tiny: 1.2 * $unit !default;\n$font-size-small: 1.4 * $unit !default;\n$font-size-normal: $font-size !default;\n$font-size-big: 1.8 * $unit !default;\n$font-size-base: 12px !default;\n$font-weight-thin: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-semi-bold: 500 !default;\n$font-weight-bold: 700 !default;\n$font-color:unquote(\"rgb(#{$palette-u-gray-800})\") !default;\n// 白色背景下的文字颜色\n$font-color-base: #212121 !default;\n\n$font-weight-override: false;\n$font-weight-light: 300;\n$font-weight-normal: 400;\n$font-weight-medium: 500;\n$font-weight-bold: 700;\n$font-weight-base: $font-weight-normal;\n\n\n\n\n$gray-base: unquote(\"rgb(#{$palette-grey-900})\") !default;\n$gray-darkest: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$gray-darker: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$gray-dark: unquote(\"rgb(#{$palette-grey-600})\") !default;\n$gray: unquote(\"rgb(#{$palette-grey-500})\") !default;\n$gray-light: unquote(\"rgb(#{$palette-grey-400})\") !default;\n$gray-lighter: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$gray-lightest:unquote(\"rgb(#{$palette-grey-200})\") !default;\n$inverse: unquote(\"rgb(#{$color-white})\") !default;\n// $border-color-base: $gray-lighter;\n$border-color-base: unquote(\"rgb(#{$border-color})\") !default;\n$line-height-base: 1.57142857;\n\n// 边框圆角\n$border-radius-base: $border-radius;\n\n// 阴影\n\n$shadow-key-umbra-opacity: 0.2 !default;\n$shadow-key-penumbra-opacity: 0.14 !default;\n$shadow-ambient-shadow-opacity: 0.12 !default;\n\n$shadow-base: 0 1px 5px $gray-lighter;\n\n\n\n//-- Indexes\n$z-index-highest: 300;\n$z-index-higher: 200;\n$z-index-high: 100;\n$z-index-normal: 1;\n$z-index-low: -100;\n$z-index-lower: -200;\n\n$zindex-modal: 1700;\n$zindex-modal-background: 1600;\n$zIndex-notification: 1560;\n$zIndex-message: 1550;\n$zIndex-popconfirm: 1540;\n$zIndex-popover: 1540;\n$zIndex-tooltip: 1530;\n$zIndex-alert: 1510;\n$zindex-navbar-fixed: 1500;\n$zindex-menubar: 1400;\n$zindex-overlay: 1300;\n$zindex-dropdown: 1200;\n$zindex-navbar: 1200;\n$zindex-header: 1100;\n$zindex-footer: 1000;\n$zindex-backtop:2000;\n\n// 文本字体\n\n//todo\n$text-color-primary: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$text-link-color: unquote(\"rgb(#{$color-accent})\") !default;\n\n$target-elements-directly: true !default;\n\n\n$global-selected-color: unquote(\"rgb(#{$palette-blue-100})\") !default;\n\n\n// 控件\n$cursor-disabled: not-allowed;\n\n\n$title-color: $gray-darkest;\n//todo\n$subtitle-color: $gray-darker;\n$text-color: $gray-dark;\n\n$prompt-color: $gray;\n//全局不同状态颜色\n//todo\n$active-color-base: unquote(\"rgb(#{$palette-blue-800})\") !default;\n$normal-color-base: unquote(\"rgb(#{$palette-blue-600})\") !default;\n$hover-color-base: unquote(\"rgb(#{$palette-blue-400})\") !default;\n\n$bg-color-base: $gray-lightest;\n\n//disable颜色\n$disabled-color-base: #909090;\n$disabled-border-color: $gray-lighter;\n$disabled-bg-color: $gray-lightest;\n\n// 全局链接颜色\n$link-color: $normal-color-base;\n$link-hover-color: $hover-color-base;\n$link-active-color: $active-color-base;\n\n// 品牌色\n$brand-default: $gray-lighter;\n$brand-default-hover: $gray-lightest;\n$brand-default-active: $gray-light;\n// $brand-default: unquote(\"rgb(#{$color-primary})\");\n// $brand-default-hover: unquote(\"rgb(#{$color-primary-light})\");\n// $brand-default-active: unquote(\"rgb(#{$color-primary-dark})\");\n\n$brand-primary : unquote(\"rgb(#{$primary-color})\") !default;\n$brand-primary-hover: unquote(\"rgb(#{$primary-color-light})\") !default;\n$brand-primary-active: unquote(\"rgb(#{$primary-color-dark})\") !default;\n\n$brand-secondary : unquote(\"rgb(#{$secondary-color})\") !default;\n$brand-secondary-hover: unquote(\"rgb(#{$secondary-color-light})\") !default;\n$brand-secondary-active: unquote(\"rgb(#{$secondary-color-dark})\") !default;\n\n$brand-success: unquote(\"rgb(#{$palette-green-500})\") !default;\n$brand-success-hover: unquote(\"rgb(#{$palette-green-300})\") !default;\n$brand-success-active: unquote(\"rgb(#{$palette-green-700})\") !default;\n\n$brand-info: unquote(\"rgb(#{$palette-cyan-500})\") !default;\n$brand-info-hover: unquote(\"rgb(#{$palette-cyan-300})\") !default;\n$brand-info-active: unquote(\"rgb(#{$palette-cyan-700})\") !default;\n\n$brand-warning: unquote(\"rgb(#{$palette-orange-500})\") !default;\n$brand-warning-hover: unquote(\"rgb(#{$palette-orange-300})\") !default;\n$brand-warning-active: unquote(\"rgb(#{$palette-orange-700})\") !default;\n\n\n$brand-news: unquote(\"rgb(#{$palette-blue-500})\") !default;\n$brand-news-hover: unquote(\"rgb(#{$palette-blue-300})\") !default;\n$brand-news-active: unquote(\"rgb(#{$palette-blue-700})\") !default;\n\n$brand-danger: unquote(\"rgb(#{$palette-red-500})\") !default;\n$brand-danger-hover: unquote(\"rgb(#{$palette-red-300})\") !default;\n$brand-danger-active: unquote(\"rgb(#{$palette-red-700})\") !default;\n\n$brand-dark: $gray-darker;\n$brand-dark-hover: $gray-dark;\n$brand-dark-active: $gray-darkest;\n\n$brand-light : unquote(\"rgb(#{$color-dark-contrast})\") !default;\n$brand-light-hover: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$brand-light-active: unquote(\"rgb(#{$palette-grey-400})\") !default;\n\n$brand-light-primary : unquote(\"rgb(#{$palette-blue-50})\") !default;\n$brand-light-success: unquote(\"rgb(#{$palette-green-50})\") !default;\n$brand-light-info: unquote(\"rgb(#{$palette-cyan-50})\") !default;\n$brand-light-warning: unquote(\"rgb(#{$palette-orange-50})\") !default;\n$brand-light-news: unquote(\"rgb(#{$palette-blue-50})\") !default;\n$brand-light-danger: unquote(\"rgb(#{$palette-red-50})\") !default;\n\n//不同背景下对应的文字颜色\n\n$color-news: unquote(\"rgb(#{$palette-blue-500})\") !default;\n$color-success: unquote(\"rgb(#{$palette-green-500})\") !default;\n$color-info: unquote(\"rgb(#{$palette-cyan-500})\") !default;\n$color-warning: unquote(\"rgb(#{$palette-orange-500})\") !default;\n$color-danger: unquote(\"rgb(#{$palette-red-500})\") !default;\n$color-light: $gray-darker !default;\n\n//redius\n\n$default-border-radius: $border-radius;\n\n// hover时的背景色,包括select、dropdown、table、datepicker、tree、menu等组件\n$hover-bg-color-base: unquote(\"rgb(#{$item-hover-bg-color-base})\") !default;\n// // selected背景色,包括:select、menu等\n$selected-bg-color-base: unquote(\"rgb(#{$item-selected-bg-color-base})\") !default;\n\n// UButton\n\n// Button 基础背景色.\n// 默认按钮()\n$button-default-color: unquote(\"rgb(#{$default-color})\");\n$button-default-color-IE8: unquote(\"rgb(#{$default-color})\");\n\n// 边框按钮(shape:'border')\n$button-border-bg-color: unquote(\"rgb(#{$color-dark-contrast})\");\n\n// Button 不同状态下的背景色 :hover、active、focus状态.\n$button-hover-color: unquote(\"rgb(#{$default-color-light})\");\n$button-active-color: unquote(\"rgb(#{$default-color-dark})\");\n$button-focus-color: unquote(\"rgb(#{$default-color-light})\");\n\n// Button 配置不同colors属性时的背景色.\n$button-primary-color: $brand-primary;\n$button-primary-active-color: $brand-primary-active;\n$button-primary-hover-color: $brand-primary-hover;\n$button-secondary-color: $brand-secondary;\n$button-secondary-active-color: $brand-secondary-active;\n$button-secondary-hover-color: $brand-secondary-hover;\n$button-success-color: $brand-success;\n$button-success-active-color: $brand-success-active;\n$button-success-hover-color: $brand-success-hover;\n$button-info-color: $brand-info;\n$button-info-active-color: $brand-info-active;\n$button-info-hover-color: $brand-info-hover;\n$button-warning-color: $brand-warning;\n$button-warning-active-color: $brand-warning-active;\n$button-warning-hover-color: $brand-warning-hover;\n$button-danger-color: $brand-danger;\n$button-danger-active-color: $brand-danger-active;\n$button-danger-hover-color: $brand-danger-hover;\n$button-dark-color: $brand-dark;\n$button-dark-active-color: $brand-dark-active;\n$button-dark-hover-color: $brand-dark-hover;\n$button-light-color: $brand-light;\n$button-light-active-color: $brand-light-active;\n$button-light-hover-color: $brand-light-hover;\n\n// Button 文字颜色.\n// 主按钮(colors:'primary')\n$button-primary-text-color: $color-primary-contrast !default;\n$button-text-color: $button-primary-text-color;\n// 次按钮(colors:'secondary')\n$button-second-text-color: unquote(\"rgb(#{$button-secondary-text-color})\") !default;\n// 默认按钮()\n$button-default-text-color: unquote(\"rgb(#{$palette-grey-900})\") !default;\n// 边框按钮(shape:'border')\n// $button-border-text-color: unquote(\"rgb(#{$primary-color})\") !default;\n\n// Button 边框样式及颜色.\n$button-border-style: unquote(\"solid\") !default;\n$button-border-color: $border-color-base;\n$button-default-border-color: $button-default-color !default;\n\n// Button 不同状态下的边框颜色 :hover、active、focus状态.\n$button-hover-border-color: $brand-default-hover;\n$button-active-border-color: $brand-default-active;\n$button-focus-border-color: $brand-default-active;\n\n// FAB colors and sizes.\n$button-fab-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-hover-color-alt: unquote(\"rgb(#{$color-accent-light})\") !default;\n$button-fab-active-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-text-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$button-fab-ripple-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n\n// Icon button colors and sizes.\n$button-icon-color: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$button-icon-focus-color: $button-focus-color !default;\n\n// Button 最小宽度、高度、内边距、外边距、行高、边框粗细、圆角.\n$button-min-width: 72/10 * $unit !default;\n$button-height: 36/10 * $unit !default;\n$button-padding: 4/10* $unit 13/10 * $unit !default;\n$button-padding-IE8: 4px 13px !default;\n$button-top-padding: 1310 * $unit !default;\n$button-left-padding: 6/10* $unit !default;\n$button-line-height:1.57142857;\n$button-margin: 4/10 * $unit !default;\n$button-border-radius: 3/10 * $unit !default;\n$button-border-width: 1/10 * $unit !default;\n\n$button-fab-size: 38/10 * $unit !default;\n$button-fab-size-mini: 30/10 * $unit !default;\n$button-fab-font-size: 14/10 * $unit !default;\n\n$button-icon-size: 32/10 * $unit !default;\n$button-icon-size-mini: 13/10 * $unit !default;\n\n$button-raised-font-size: 14/10 * $unit !default;\n\n// Button 大按钮\n$button-padding-y-lg:8px;\n$button-padding-x-lg:15px;\n$font-size-lg:1.4 * $unit;\n\n\n// Button 特大型按钮\n$button-padding-y-xg:10.5px;\n$button-padding-x-xg:18px;\n$font-size-xg:1.6 * $unit;\n\n\n// Button 小型按钮\n$button-padding-y-sm:3px;\n$button-padding-x-sm:5px;\n$font-size-sm:1.2 * $unit;\n\n\n\n// UText\n\n\n$form-control-border-radius: $border-radius-base;\n$form-control-default-font-size: 14px;\n$form-control-lg-font-size: 14px;\n$form-control-sm-font-size: 12px;\n$form-control-default-height: 32px;\n$form-control-lg-height: 40px;\n$form-control-sm-height: 26px;\n$form-control-color: #424242;\n$form-control-bg-color: #fff;\n$form-control-border-color: $border-color-base;\n$form-control-disable-bg-color: #F7F9FB;\n$form-control-disable-color: $disabled-color-base;\n$form-control-disable-border-color: #DFE1E6;\n\n$input-text-background-color: transparent !default;\n$input-text-label-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$input-text-bottom-border-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n$input-text-bottom-border-color-IE8: unquote(\"rgb(#{$color-black})\") !default;\n$input-text-highlight-color: unquote(\"rgb(#{$primary-color})\") !default;\n$input-text-disabled-color: $input-text-bottom-border-color !default;\n$input-text-disabled-text-color: $input-text-label-color !default;\n$input-text-error-color: unquote(\"rgb(222, 50, 38)\") !default;\n$input-text-must-color:unquote(\"rgb(#{$palette-red-A700})\") !default;\n\n\n$input-text-font-size: 14px !default;\n$input-text-width: 100% !default;\n$input-text-padding: 4px !default;\n$input-text-vertical-spacing: 20px !default;\n\n$input-text-button-size: 32px !default;\n$input-text-floating-label-fontsize: 12px !default;\n$input-text-expandable-icon-top: 16px !default;\n$input-text-height:36px !default;\n$input-text-normal-width:360px !default;\n$input-text-short-width:180px !default;\n$input-text-normal-border-color:unquote(\"rgb(#{$palette-u-gray-400})\") !default;\n$input-text-color:unquote(\"rgb(#{$palette-u-gray-A200})\") !default;\n$input-text-focus-border-color:unquote(\"rgb(#{$palette-u-blue-400})\") !default;\n$input-lable-color:unquote(\"rgb(#{$palette-u-gray-900})\") !default;\n\n\n/* FormGroup */\n\n$error-input-border:$brand-danger;\n$warning-input-border:$brand-warning;\n$success-input-border:$brand-success;\n$success-addon-bg: $brand-light-success;\n$warning-addon-bg: $brand-light-warning;\n$error-addon-bg: $brand-light-danger;\n$form-group-margin-top: 15px;\n$form-group-margin-bottom: 15px;\n\n/* Navlayout */\n\n$layout-nav-color: unquote(\"rgb(#{$palette-grey-100})\") !default;\n\n// Drawer\n$layout-drawer-bg-color: unquote(\"rgb(#{$palette-grey-50})\") !default;\n$layout-drawer-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$layout-text-color: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$layout-drawer-navigation-color: #757575 !default;\n$layout-drawer-navigation-link-active-background: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$layout-drawer-navigation-link-active-color: $layout-text-color !default;\n\n// Header\n$layout-header-bg-color: unquote(\"rgb(#{$primary-color})\") !default;\n$layout-header-text-color: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n$layout-header-nav-hover-color: unquote(\"rgba(#{$palette-grey-700}, 0.6)\") !default;\n$layout-header-tab-text-color: unquote(\"rgba(#{$color-primary-contrast}, 0.6)\") !default;\n\n// Tabs\n$layout-header-tab-highlight: unquote(\"rgb(#{$color-accent})\") !default;\n\n$layout-nav-link-font-size: 13px !default;\n\n$layout-drawer-narrow: 240px !default;\n$layout-drawer-wide: 456px !default;\n$layout-drawer-width: $layout-drawer-narrow !default;\n\n$layout-header-icon-size: 32px !default;\n$layout-screen-size-threshold: 1024px !default;\n$layout-header-icon-margin: 24px !default;\n$layout-drawer-button-mobile-size: 44px !default;\n$layout-drawer-button-desktop-size: 34px !default;\n$layout-drawer-button-desktop-margin-top: 5px !default;\n$layout-drawer-button-mobile-margin-top: 10px !default;\n\n$layout-header-mobile-row-height: 56px !default;\n$layout-mobile-header-height: $layout-header-mobile-row-height;\n$layout-header-desktop-row-height: 44px !default;\n$layout-desktop-header-height: $layout-header-desktop-row-height;\n\n$layout-header-desktop-baseline: 80px !default;\n$layout-header-mobile-baseline: 72px !default;\n$layout-header-mobile-indent: 16px !default;\n$layout-header-desktop-indent: 40px !default;\n\n$layout-tab-font-size: 14px !default;\n$layout-tab-bar-height: 48px !default;\n$layout-tab-mobile-padding: 12px !default;\n$layout-tab-desktop-padding: 24px !default;\n$layout-tab-highlight-thickness: 2px !default;\n\n// gridlayout\n\n// Extra small screen / phone\n//$screen-xs: 480px;\n\n$screen-xs-min: 480px;\n// Deprecated `@screen-phone` as of v3.0.1\n//@screen-phone: @screen-xs-min;\n\n// Small screen / tablet\n// Deprecated `@screen-sm` as of v3.0.1\n//@screen-sm: 768px;\n$screen-sm-min: 768px;\n// Deprecated `@screen-tablet` as of v3.0.1\n//@screen-tablet: @screen-sm-min;\n\n// Medium screen / desktop\n// Deprecated `@screen-md` as of v3.0.1\n//@screen-md: 992px;\n$screen-md-min: 992px;\n// Deprecated `@screen-desktop` as of v3.0.1\n//@screen-desktop: @screen-md-min;\n\n// Large screen / wide desktop\n// Deprecated `@screen-lg` as of v3.0.1\n//@screen-lg: 1200px;\n$screen-lg-min: 1200px;\n// Deprecated `@screen-lg-desktop` as of v3.0.1\n//@screen-lg-desktop: @screen-lg-min;\n$screen-xs-max: ($screen-sm-min - 1 );\n\n$screen-sm-max: ($screen-sm-min - 1 );\n\n$screen-md-max: ($screen-lg-min - 1 );\n\n\n\n\n// Number of columns in the grid.\n$grid-columns: 12;\n// Padding between columns. Gets divided in half for the left and right.\n$grid-gutter-width: 30px;\n// Navbar collapse\n// Point at which the navbar becomes uncollapsed.\n$grid-float-breakpoint: 768px;\n// Point at which the navbar begins collapsing.\n$grid-float-breakpoint-max: ($grid-float-breakpoint - 1);\n\n\n// Small screen / tablet\n$container-tablet: (720px + $grid-gutter-width);\n// For `@screen-sm-min` and up.\n$container-sm: $container-tablet;\n\n// Medium screen / desktop\n$container-desktop: (940px + $grid-gutter-width);\n// For `@screen-md-min` and up.\n$container-md: $container-desktop;\n\n// Large screen / wide desktop\n$container-large-desktop: (1140px + $grid-gutter-width);\n// For `@screen-lg-min` and up.\n$container-lg: $container-large-desktop;\n\n\n\n// menu\n\n$default-dropdown-bg-color: unquote(\"rgb(#{$color-white})\") !default;\n$menu-expand-duration: 0.3s !default;\n$menu-fade-duration: 0.2s !default;\n\n// Default Item Colors\n$default-item-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$default-item-text-color-IE8: unquote(\"rgb(#{$color-black})\") !default;\n$default-item-outline-color: unquote(\"rgb(#{$palette-u-blue-400})\") !default;\n$default-item-hover-bg-color: unquote(\"rgb(#{$palette-u-blue-100})\") !default;\n$default-item-focus-bg-color: unquote(\"rgb(#{$palette-u-blue-200})\") !default;\n$default-item-active-bg-color: unquote(\"rgb(#{$palette-u-blue-200})\") !default;\n$default-item-divider-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n// Disabled Button Colors\n$disabled-item-text-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n\n// Tile\n$tile-width: 100%;\n\n$tile-default-border-color: #e9e9e9;\n$tile-default-hover-shadow-color: rgba(0, 0, 0, 0.2);\n\n$tile-primary-border-color: $button-primary-color;\n$tile-primary-hover-shadow-color: $button-primary-hover-color;\n\n$tile-danger-border-color: $button-danger-color;\n$tile-danger-hover-shadow-color: $button-danger-hover-color;\n\n$tile-warning-border-color: $button-warning-color;\n$tile-warning-hover-shadow-color: $button-warning-hover-color;\n\n$tile-success-border-color: $button-success-color;\n$tile-success-hover-shadow-color: $button-success-hover-color;\n\n$tile-info-border-color: $button-info-color;\n$tile-info-hover-shadow-color: $button-info-hover-color;\n\n// Alert\n$alert-news-bg: $brand-light-news;\n$alert-success-bg: $brand-light-success;\n$alert-info-bg: $brand-light-info;\n$alert-warning-bg: $brand-light-warning;\n$alert-danger-bg: $brand-light-danger;\n\n\n$alert-dark-news-bg: $brand-news;\n$alert-dark-success-bg: $brand-success;\n$alert-dark-info-bg: $brand-info;\n$alert-dark-warning-bg: $brand-warning;\n$alert-dark-danger-bg: $brand-danger;\n\n$alert-news-color: $color-news;\n$alert-success-color: $color-success;\n$alert-info-color: $color-info;\n$alert-warning-color: $color-warning;\n$alert-danger-color: $color-danger;\n\n$timeline-primary-color: $brand-primary;\n$timeline-news-color: $color-news;\n$timeline-success-color: $color-success;\n$timeline-info-color: $color-info;\n$timeline-warning-color: $color-warning;\n$timeline-danger-color: $color-danger;\n\n$alert-padding:10px;\n$alert-font-size:12px;\n$alert-border-radius: $border-radius;\n$alert-text-padding-left: 15px;\n$alert-text-padding-right: 15px;\n$alert-close-font-size: 21px;\n$alert-close-opacity: .2;\n$alert-close-font-weight: 700;\n\n//Checkbox\n\n$checkbox-color: unquote(\"rgb(#{$primary-color})\") !default;\n$checkbox-off-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-off-color-IE8: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-disabled-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-focus-color: unquote(\"rgba(#{$palette-u-blue-500}, 0.26)\") !default;\n$checkbox-image-path: $image_path;\n\n$checkbox-label-font-size: 13px !default;\n$checkbox-label-height: 24px !default;\n$checkbox-button-size: 16px !default;\n$checkbox-inner-margin: 2px !default;\n$checkbox-padding: 8px !default;\n$checkbox-top-offset:\n ($checkbox-label-height - $checkbox-button-size - $checkbox-inner-margin) / 2;\n$checkbox-ripple-size: $checkbox-label-height * 1.5;\n\n$checkbox-primary-bg: $brand-primary;\n$checkbox-success-bg: $brand-success;\n$checkbox-info-bg: $brand-info;\n$checkbox-warning-bg: $brand-warning;\n$checkbox-danger-bg: $brand-danger;\n$checkbox-dark-bg: $brand-dark;\n\n$progress-primary-bg: $brand-primary;\n$progress-success-bg: $brand-success;\n$progress-info-bg: $brand-info;\n$progress-warning-bg: $brand-warning;\n$progress-danger-bg: $brand-danger;\n$progress-dark-bg: $brand-dark;\n\n$primary-color-opacity:unquote(\"rgba(#{$primary-color}, 0.7)\") !default;\n$color-success-opacity:unquote(\"rgba(#{$palette-green-500}, 0.7)\") !default;\n$color-info-opacity:unquote(\"rgba(#{$palette-cyan-500}, 0.7)\") !default;\n$color-warning-opacity:unquote(\"rgba(#{$palette-orange-500}, 0.7)\") !default;\n$color-danger-opacity:unquote(\"rgba(#{$palette-red-500}, 0.7)\") !default;\n$color-dark-opacity:unquote(\"rgba(#{$palette-grey-700}, 0.7)\") !default;\n\n\n$progress-sm-height: 10px;\n$progress-xs-height: 5px;\n$progress-xs-width: 170px;\n$progress-default-height: 20px;\n$progress-sm-lable-font-size: 10px;\n$progress-sm-lable-line-height: 10px;\n$progress-xs-lable-line-height: 8px;\n$progress-xs-lable-margin-left: 140px;\n$progress-xs-lable-font-size: 10px;\n$progress-xs-lable-color: #000;\n\n// Radio\n\n$radio-color: unquote(\"rgb(#{$primary-color})\") !default;\n$radio-off-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$radio-off-color-IE8: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$radio-disabled-color: $disabled-color-base !default;\n\n$radio-label-font-size: 13px !default;\n$radio-label-height: 32px !default;\n$radio-button-size: 16px !default;\n$radio-inner-margin: $radio-button-size / 4;\n$radio-padding: 8px !default;\n$radio-top-offset: ($radio-label-height - $radio-button-size) / 2;\n$radio-ripple-size: 42px !default;\n\n$radio-primary-bg: $brand-primary;\n$radio-success-bg: $brand-success;\n$radio-info-bg: $brand-info;\n$radio-warning-bg: $brand-warning;\n$radio-danger-bg: $brand-danger;\n$radio-dark-bg: $brand-dark;\n\n$radio-disabled-bg: #f7f7f7;\n$radio-diabled-border-color: #d9d9d9;\n\n$radio-border-color: #d9d9d9;\n$radio-bg-color: #fff;\n$radio-color:$font-color-base;\n\n$radio-checked-bg-color: #fff;\n$radio-checked-color: $brand-primary;\n$radio-checked-border-color: $radio-checked-color;\n\n$radio-icon-height: 18px;\n$radio-icon-width: 18px;\n$radio-icon-checked-height: 8px;\n$radio-icon-checked-width: 8px;\n\n$radio-button-lg-height:42px;\n$radio-button-lg-line-height:26px;\n\n$radio-button-sm-height:22px;\n$radio-button-sm-line-height:20px;\n\n$radio-button-height: 28px;\n$radio-button-line-height: 26px;\n\n\n\n\n\n//loading\n\n$loading-color-1: unquote(\"rgb(#{$palette-blue-400})\") !default;\n$loading-color-2: unquote(\"rgb(#{$palette-red-500})\") !default;\n$loading-color-3: unquote(\"rgb(#{$palette-yellow-600})\") !default;\n$loading-color-4: unquote(\"rgb(#{$palette-green-500})\") !default;\n\n$loading-single-color: unquote(\"rgb(#{$primary-color})\") !default;\n\n$loading-size: 28px !default;\n$loading-stroke-width: 3px !default;\n\n// Amount of circle the arc takes up.\n$loading-arc-size: 270deg !default;\n// Time it takes to expand and contract arc.\n$loading-arc-time: 1333ms !default;\n// How much the start location of the arc should rotate each time.\n$loading-arc-start-rot: 216deg !default;\n\n$loading-duration: 360 * $loading-arc-time / (\n strip-units($loading-arc-start-rot + (360deg - $loading-arc-size)));\n\n// datetimepicker\n$timepicker-border-gap-color:#ccc;\n$timepicker-font-size:14px;\n\n$date-bg-color: unquote(\"rgb(#{$primary-color})\") !default;\n\n// message\n$snackbar-color: unquote(\"rgb(#{$color-white})\") !default;\n$snackbar-background-color: unquote(\"rgb(#{$primary-color})\") !default;\n$snackbar-color-cancel: unquote(\"rgb(#{$palette-red-500})\") !default;\n$snackbar-color-accept: unquote(\"rgb(#{$palette-green-500})\") !default;\n$snackbar-color-warning: unquote(\"rgb(#{$palette-lime-200})\") !default;\n\n// DATA TABLE\n\n$data-table-font-size: 13px !default;\n$data-table-header-font-size: 12px !default;\n$data-table-header-sort-icon-size: 16px !default;\n\n$data-table-header-color: rgba(#000, 0.54) !default;\n$data-table-header-sorted-color: rgba(#000, 0.87) !default;\n$data-table-divider-color: rgba(#000, 0.12) !default;\n$data-table-divider-color-IE8: rgb(0,0,0) !default;\n\n//$data-table-hover-color: #eeeeee !default;\n$data-table-hover-color: #E9F7FC !default;\n$data-table-selection-color: #C4EAF6 !default;\n\n$data-table-dividers: 1px solid $data-table-divider-color !default;\n$data-table-dividers-IE8: 1px solid $data-table-divider-color-IE8 !default;\n\n$data-table-row-height: 48px !default;\n$data-table-last-row-height: 56px !default;\n$data-table-header-height: 56px !default;\n\n$data-table-column-spacing: 36px !default;\n$data-table-column-padding: $data-table-column-spacing / 2;\n\n$data-table-card-header-height: 64px !default;\n$data-table-card-title-top: 20px !default;\n$data-table-card-padding: 24px !default;\n$data-table-button-padding-right: 16px !default;\n$data-table-cell-top: $data-table-card-padding / 2;\n\n// $line-height-computed: round(($font-size-small * $line-height-base));\n$line-height-computed: round((14px * $line-height-base));\n$table-bg: transparent;\n$table-cell-padding: 8px;\n$table-border-color: $border-color-base;\n$table-bg-hover: $bg-color-base;\n$table-bg-active: $table-bg-hover;\n$table-bg-accent: unquote(\"rgba(#{$palette-grey-200},.3)\") !default;\n\n\n\n\n// tooltip\n$tooltip-max-width: 200px;\n$tooltip-color: #fff;\n$tooltip-bg: #42526E;\n$tooltip-inverse-border-color: #d9d9d9;\n$tooltip-inverse-color: rgb(51,51,51);\n$tooltip-arrow-color: $tooltip-bg;\n$tooltip-opacity: 1;\n\n\n// 进度条\n$bar-height: 4px !default;\n$progress-main-color: unquote(\"rgb(#{$primary-color})\") !default;\n$progress-secondary-color: unquote(\"rgba(#{$color-primary-contrast}, 0.7)\") !default;\n$progress-fallback-buffer-color: unquote(\"rgba(#{$color-primary-contrast}, 0.9)\") !default;\n$progress-image-path: $image_path;\n$progress-buffer-bar-border:unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n\n// Tabs\n$layout-header-tab-highlight: unquote(\"rgb(#{$color-accent})\") !default;\n\n\n\n$tab-highlight-color: unquote(\"rgb(#{$primary-color})\") !default;\n$tab-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$tab-active-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$tab-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n\n\n\n//CARD\n\n$card-width: 330px !default;\n$card-height: 200px !default;\n$card-font-size: 13px !default;\n$card-title-font-size: 24px !default;\n$card-subtitle-font-size: 10px !default;\n$card-horizontal-padding: 16px !default;\n$card-vertical-padding: 16px !default;\n\n$card-title-perspective-origin-x: 165px !default;\n$card-title-perspective-origin-y: 56px !default;\n\n$card-title-transform-origin-x: 165px !default;\n$card-title-transform-origin-y: 56px !default;\n\n$card-title-text-transform-origin-x: 149px !default;\n$card-title-text-transform-origin-y: 48px !default;\n\n$card-supporting-text-font-size: 1.4 * $unit !default;\n$card-supporting-text-line-height: 18px !default;\n\n$card-actions-font-size: 13px !default;\n\n$card-title-text-font-weight: 300 !default;\n$card-z-index: 1 !default;\n\n// Cover image\n$card-cover-image-height: 186px !default;\n$card-background-image-url: '' !default;\n\n\n\n$card-background-color: unquote(\"rgb(#{$color-white})\") !default;\n$card-text-color: unquote(\"rgb(#{$color-black})\") !default;\n$card-image-placeholder-color: unquote(\"rgb(#{$color-accent})\") !default;\n$card-supporting-text-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$card-border-color: rgba(0,0,0,0.1) !default;\n$card-subtitle-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n\n\n$input-border:unquote(\"rgb(#{$palette-u-gray-500})\");\n$input-border-focus:unquote(\"rgb(#{$primary-color})\");\n$input-border-disabled:unquote(\"rgb(#{$palette-u-gray-100})\");\n$input-bg-disabled:unquote(\"rgb(#{$palette-u-gray-100})\");\n$input-color:unquote(\"rgb(#{$palette-u-gray-A100})\");\n$form-input-height:36px;\n$form-input-height-sm:28px;\n$form-input-padding-left:12px;\n$form-label-color:unquote(\"rgb(#{$palette-u-gray-900})\");\n$form-control-feedback-color:unquote(\"rgb(#{$palette-u-gray-700})\");\n$form-validate-error-color:unquote(\"rgb(#{$palette-u-red-600})\");\n\n\n// BADGE\n$badge-font-size: 12px !default;\n$badge-color: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$badge-color-inverse: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background-inverse: unquote(\"rgba(#{$color-accent-contrast},0.2)\") !default;\n$badge-size : 22px !default;\n$badge-padding: 2px !default;\n$badge-overlap: 12px !default;\n\n$badge-primary-color:#FFFFFF;\n$badge-primary-bg:$brand-primary;\n\n$badge-success-color:#FFFFFF;\n$badge-success-bg: $brand-success;\n\n$badge-info-color:#FFFFFF;\n$badge-info-bg:$brand-info;\n\n$badge-warning-color:#FFFFFF;\n$badge-warning-bg:$brand-warning;\n\n$badge-danger-color:#FFFFFF;\n$badge-danger-bg:$brand-danger;\n\n$badge-dark-color:#FFFFFF;\n$badge-dark-bg:$brand-dark;\n\n$badge-font-size: 12px;\n$badge-font-dataicon-size: 10px;\n$badge-default-dataicon-fontcolor: #757575;\n$badge-default-dataicon-bgcolor: #fff;\n$badge-default-dataicon-bordercolor: $border-color-base;\n\n// labels\n$tag-padding: .25em .6em .25em;\n$tag-border-radius: 0.3em;\n$tag-bg: #eeeeee;\n$tag-round-border-radius: 1em;\n$tag-default-color: #757575;\n$tag-default-bg:#e0e0e0;\n$tag-lg-font-size: 16px;\n$tag-sm-font-size: 10px;\n$tag-sm-padding: .1em .5em .1em;\n$tag-default-hover-bg: $brand-default-hover;\n$tag-primary-hover-bg: $brand-primary-hover;\n$tag-success-hover-bg: $brand-success-hover;\n$tag-info-hover-bg: $brand-info-hover;\n$tag-warning-hover-bg: $brand-warning-hover;\n$tag-danger-hover-bg: $brand-danger-hover;\n$tag-dark-hover-bg: $brand-dark-hover;\n$tag-default-bg: $brand-default;\n$tag-primary-bg: $brand-primary;\n$tag-success-bg: $brand-success;\n$tag-info-bg: $brand-info;\n$tag-warning-bg: $brand-warning;\n$tag-danger-bg: $brand-danger;\n$tag-dark-bg: $brand-dark;\n$tag-default-hover-color:unquote(\"rgb(#{$palette-u-gray-500})\");\n\n\n// pagination\n$pagination-gap-hover-border:#7A869A;\n\n$pagination-link-padding: 7px 13px;\n$pagination-lg-font-size: 16px;\n$pagination-lg-padding-vertical: 9.5px;\n$pagination-lg-padding-horizontal: 15.5px;\n\n$pagination-small-font-size: 12px;\n$pagination-small-padding-vertical: 4px;\n$pagination-small-padding-horizontal: 9.5px;\n\n$pag-color: #666666;\n$pag-bg-color: #fff;\n$pag-border-color:#d7d7d7;\n$pag-hover-color: #666;\n$pag-hover-bg-color:$hover-bg-color-base;\n$pag-hover-border-color:#d7d7d7;\n$pag-active-color: #fff;\n$pag-active-bg-color:#7A869A;\n$pag-active-border-color:#7A869A;\n$pag-disabled-color: #777;\n$pag-disabled-bg-color:#fff;\n$pag-disabled-border-color:#ddd;\n\n$border-radius-base: $border-radius;\n$border-radius-large: 4px;\n$border-radius-small: 2px;\n\n$line-height-large: 1.3333333; // extra decimals for Win 8.1 Chrome\n$line-height-small: 1.5;\n// widget\n\n$widget-padding-left:30px;\n$widget-padding-top:10px;\n\n//tooltips\n\n$tooltip-default-bg: $brand-default;\n$tooltip-primary-bg: $brand-primary;\n$tooltip-success-bg: $brand-success;\n$tooltip-info-bg: $brand-info;\n$tooltip-warning-bg: $brand-warning;\n$tooltip-danger-bg: $brand-danger;\n$tooltip-dark-bg: $brand-dark;\n\n//menu Button\n\n$menu-default-bg: $brand-default;\n$menu-primary-bg: $brand-primary;\n$menu-success-bg: $brand-success;\n$menu-info-bg: $brand-info;\n$menu-warning-bg: $brand-warning;\n$menu-danger-bg: $brand-danger;\n$menu-dark-bg: $brand-dark;\n$menu-default-bg-hover: $brand-default-hover;\n$menu-primary-bg-hover: $brand-primary-hover;\n$menu-success-bg-hover: $brand-success-hover;\n$menu-info-bg-hover: $brand-info-hover;\n$menu-warning-bg-hover: $brand-warning-hover;\n$menu-danger-bg-hover: $brand-danger-hover;\n$menu-dark-bg-hover: $brand-dark-hover;\n\n\n// breadcrumbs\n\n$breadcrumb-padding-vertical: 8px;\n$breadcrumb-padding-horizontal: 10px;\n$breadcrumb-separator: \"/\\00a0\";\n$breadcrumb-bg: transparent;\n$breadcrumb-margin-bottom: 10px;\n\n$breadcrumb-color: $brand-primary;\n$breadcrumb-active-color: $text-color;\n\n$breadcrumb-icon-margin-right: 10px;\n$breadcrumb-arrow-separator: \"\\00bb\\00a0\";\n\n$breadcrumb-bg-color: #f5f5f5;\n$breadcrumb-active-color: #777;\n$breadcrumb-separate-color: #ccc;\n\n// list-group\n$list-group-media-heading-font-size : $font-size-small;//14px\n$list-group-link-disabled-color : $disabled-color-base;\n\n$list-group-link-disabled-bg : $gray-lightest;\n\n$list-group-active-color : $brand-primary;\n$list-group-link-active-color : unquote(\"rgb(#{$color-white})\") !default;\n$list-group-link-active-bg : $brand-primary;\n\n\n$list-group-item-icon-margin-right : 10px;\n\n$list-group-bg-inherit-item-border : rgba(0, 0, 0, 0.075);\n$list-group-bg-inherit-item-hover-bg : rgba(0, 0, 0, 0.075);\n\n\n$list-group-border-radius: $border-radius-base;\n\n\n\n$list-group-link-color: $text-color;\n$list-group-link-hover-color: $text-color;\n$list-group-link-heading-color: $title-color;\n\n$list-group-hover-bg: $bg-color-base;\n\n$list-group-disabled-bg: transparent;\n\n$list-group-disabled-color: $disabled-color-base;\n\n\n$list-group-disabled-text-color: $list-group-disabled-color;\n$list-group-active-bg: transparent;\n$list-group-active-border: $list-group-active-bg;\n// $list-group-active-text-color: lighten($list-group-active-color, 40%);\n$list-group-active-text-color: $list-group-active-color;\n\n$list-group-bg: #fff;\n$list-group-border: transparent;\n// $list-group-bordered-border : $border-color-base;\n// $list-group-bordered-active-color : $component-active-color;\n// $list-group-bordered-active-bg : $component-active-bg;\n// $list-group-bordered-active-border : $list-group-bordered-active-bg;\n\n// $list-group-gap-item-margin-bottom : 2px;\n\n//step\n$steps-margin-bottom: $line-height-computed;\n$step-padding-horizontal:20px;\n$step-padding-vertical: 12px;\n\n$step-vertical-padding-horizontal: 20px;\n$step-vertical-padding-vertical:18px;\n\n$step-color: $gray;\n$step-bg: $bg-color-base;\n$step-number-bg: $gray-lighter;\n$step-number-color: $inverse;\n\n$step-current-color: $inverse;\n$step-current-bg: $brand-primary;\n\n$step-done-color: $inverse;\n$step-done-bg:$brand-success;\n\n$step-error-color: $inverse;\n$step-error-bg: $brand-danger;\n\n$step-disabled-color:$gray-light;\n\n$step-font-size: inherit;\n$step-title-font-size: 20px;\n$step-icon-font-size:27px;\n$step-number-font-size:24px;\n$step-number-size: 40px;\n\n$step-lg-padding-horizontal:20px;\n$step-lg-padding-vertical:20px;\n$step-lg-font-size: 16px;\n$step-lg-title-font-size:22px;\n$step-lg-icon-font-size: 32px;\n$step-lg-number-font-size:28px;\n$step-lg-number-size:46px;\n\n$step-sm-font-size: 12px;\n$step-sm-title-font-size: 18px;\n$step-sm-icon-font-size: 24px;\n$step-sm-number-font-size: 24px;\n$step-sm-number-size: 30px;\n\n$step-xs-font-size: 10px;\n$step-xs-title-font-size: 16px;\n$step-xs-icon-font-size: 22px;\n$step-xs-number-font-size: 20px;\n$step-xs-number-size: 24px;\n\n// blog nav\n$blognav-active-color:unquote(\"rgb(#{$primary-color})\");\n// widget\n$widget-padding-left:30px;\n$widget-padding-top:10px;\n\n\n// couter 数据统计\n\n$counter-number-color: $gray-darkest;\n$counter-number-font-size: 20px;\n$counter-icon-font-size: $counter-number-font-size;\n\n$counter-lg-number-font-size: 40px;\n$counter-md-number-font-size: 30px;\n$counter-sm-number-font-size: 14px;\n\n$counter-lg-icon-font-size: $counter-lg-number-font-size;\n$counter-md-icon-font-size: $counter-md-number-font-size;\n$counter-sm-icon-font-size: $counter-sm-number-font-size;\n\n$counter-inverse-color: $inverse;\n\n\n// navbar\n\n\n$menu-active-color: #108ee9;\n$menu-border-active-color: #108ee9;\n$menu-selected-bg-color: #eaf8fe;\n$menu-group-titil-color: #999;\n$menu-group-title-padding-left: 32px;\n$menu-color: #666;\n$menu-border-color: #d9d9d9;\n\n$navbar-default-bg-color: #f8f8f8;\n$navbar-default-border-color: #e7e7e7;\n$navbar-default-color: #777;\n$navbar-default-hover-color: #333;\n$navbar-inverse-hover-color: #fff;\n$navbar-inverse-color: #9d9d9d;\n$navbar-inverse-bg-color: #222;\n$navbar-inverse-border-color: #080808;\n$navbar-border-radius: 4px;\n\n$navbar-side-container-border-color: #d9d9d9;\n$navbar-side-container-width: 242px;\n$navbar-side-container-border-shadow: #d9d9d9;\n\n// Basics of a navbar\n$navbar-height: 50px;\n$navbar-margin-bottom: $line-height-computed;\n$navbar-border-radius: $border-radius-base;\n$navbar-padding-horizontal: floor(($grid-gutter-width / 2));\n$navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2);\n$navbar-collapse-max-height: 340px;\n\n$navbar-avatar-margin-horizontal: (($navbar-height - 32px) / 2);\n\n$navbar-brand-padding-horizontal: 20px;\n$navbar-brand-logo-height: 32px;\n\n$navbar-default-color: $text-color;\n$navbar-default-bg: $inverse;\n$navbar-default-border: $border-color-base;\n\n// Navbar links\n$navbar-default-link-color: $text-color;\n$navbar-default-link-hover-color: $gray-darker;\n$navbar-default-link-hover-bg: rgba(238,238,238, 30%);\n$navbar-default-link-active-color: $navbar-default-link-hover-color;\n$navbar-default-link-active-bg: rgba(238,238,238, 60%);\n$navbar-default-link-disabled-color: $disabled-color-base;\n$navbar-default-link-disabled-bg: transparent;\n\n// Navbar brand label\n$navbar-default-brand-color: $title-color;\n$navbar-default-brand-hover-color: $navbar-default-brand-color;\n$navbar-default-brand-hover-bg: none;\n\n// Navbar toggle\n$navbar-default-toggle-hover-bg: $navbar-default-link-hover-bg;\n$navbar-default-toggle-icon-bar-bg: $navbar-default-color;\n$navbar-default-toggle-border-color: transparent;\n\n\n// Inverted navbar\n// Reset inverted navbar basics\n$navbar-inverse-bg: $brand-primary;\n$navbar-inverse-border: rgba(0, 0, 0, .1);\n\n// Inverted navbar links\n$navbar-inverse-link-color: $inverse;\n$navbar-inverse-link-hover-color: $inverse;\n$navbar-inverse-link-hover-bg: rgba(0, 0, 0, .1);\n$navbar-inverse-link-active-color: $navbar-inverse-link-hover-color;\n$navbar-inverse-link-active-bg: $navbar-inverse-link-hover-bg;\n$navbar-inverse-link-disabled-color: $inverse;\n$navbar-inverse-link-disabled-bg: transparent;\n\n// Inverted navbar brand label\n$navbar-inverse-brand-color: $navbar-inverse-link-color;\n$navbar-inverse-brand-hover-color: $inverse;\n$navbar-inverse-brand-hover-bg: none;\n\n// Inverted navbar toggle\n$navbar-inverse-toggle-hover-bg: $navbar-inverse-link-hover-bg;\n$navbar-inverse-toggle-icon-bar-bg: $inverse;\n$navbar-inverse-toggle-border-color: transparent;\n\n//hamburger\n$hamburger-size: 17px;\n\n\n//panel\n$panel-header-padding : 10px 15px;\n$panel-footer-padding : 10px 15px;\n$panel-body-padding : 15px 15px;\n$panel-header-bg-color : #f5f5f5;\n$panel-footer-bg-color : #f5f5f5;\n$panel-bg-color : #fff;\n$panel-default-color : #757575;\n$panel-inner-border-color: #ddd;\n\n\n//modal\n$modal-header-padding : 15px;\n$modal-body-padding : 15px;\n$modal-footer-padding : 15px;\n$modal-content-bg-color: #fff;\n$modal-backdrop-bg: #000;\n$modal-backdrop-opacity: .6;\n$modal-header-border-color: transparent;\n$modal-footer-border-color: transparent;\n$modal-xlg: 976px;\n$modal-lg: 800px;\n$modal-sm: 400px;\n$modal-default: 600px;\n$modal-border-radius: $border-radius-base;\n\n//notification\n\n$zIndex-notification: $zIndex-notification;\n$notification-top: 30px;\n$notification-bottom: 30px;\n$notification-right: 30px;\n$notification-width: 300px;\n$notification-text-margin-right: 15px;\n$notice-padding: 15px;\n$notice-background: $gray-darkest;\n$notice-bottom: 15px;\n\n//message\n\n$message-font-size: 12px;\n\n$message-right: 30px;\n$message-width: 300px;\n$message-text-margin-right: 15px;\n$message-padding: 0;\n$message-content-padding: 15px;\n$message-background: $gray-darkest;\n\n//popconfirm\n\n$popconfirm-max-width: 300px;\n\n$popconfirm-dark-bg: $gray-darkest;\n$popconfirm-fallback-dark-border-color: $gray-darkest;\n$popconfirm-margin: 10px;\n$popconfirm-title-bg: #fff;\n$popconfirm-border-color:$border-color-base;\n$popconfirm-arrow-width: 10px;\n$popconfirm-arrow-color: $border-color-base;\n$popconfirm-arrow-outer-width: 0;\n$popconfirm-arrow-outer-color: $border-color-base;\n$popconfirm-border-right-color: $border-color-base;\n$popconfirm-fallback-border-color: #fff;\n\n//select\n\n$select-bg-color: #fff;\n$select-border-color: $border-color-base;\n$select-border-radius: $border-radius-base;\n$select-color: $font-color-base;\n$select-font-size: 12px;\n$select-dropdown-color: #666;\n$select-dropdown-bg-color: #fff;\n$select-dropdown-hover-bg: $hover-bg-color-base;\n$select-dropdown-selected-bg: $selected-bg-color-base;\n$select-dropdown-selected-color: rgb(134, 119, 119);\n$select-dropwdown-item-padding: 7px 16px;\n$select-disabled-color: $disabled-color-base;\n$select-disabled-bg: #f7f7f7;\n$select-disabled-border-color: #d9d9d9;\n//dropdown\n\n$dropdown-item-hover-bg-color: unquote(\"rgb(#{$palette-grey-100})\");\n$dropdown-item-divier-bg-color: $gray-lighter;\n$dropdown-border-color: $border-color-base;\n$dropdown-border-radius:3px;\n$dropdown-shadow: 0 1px 5px $dropdown-border-color;\n$dropdown-margin: 5px 0 0 0;\n$dropdown-menu-item-padding: 0px 16px 0 28px;\n$dropdown-menu-font-size: 12px;\n$dropdown-menu-item-height: 42px;\n$dropdown-menu-item-light-height: 42px;\n$dropdown-menu-title-font-size: 12px;\n$dropdown-menu-title-color: $disabled-color-base;\n$dropdown-menu-title-padding:8px 16px;\n$dropdown-menu-title-line-height: 1.5;\n\n//upload\n\n$upload-list-color: #108ee9;\n$upload-list-bg : #fff;\n$upload-list-hover-bg: #e7f4fd;\n$upload-list-error-color: #f50;\n$upload-thumbnail-height: 48px;\n$upload-thumbnail-width: 48px;\n$upload-thumbnail-img-height: 48px;\n$upload-thumbnail-img-width: 48px;\n\n//loading\n\n$loading-loadprimary: rgb(63, 81, 181);\n$loading-loadsuccess: #4caf50;\n$loading-loadwarn: rgb(255, 152, 0);\n$loading-lineanimating: (\n 1:line-scale 1s 0.1s infinite cubic-bezier(.2, .68, .18, 1.08),\n 2:line-scale 1s 0.2s infinite cubic-bezier(.2, .68, .18, 1.08),\n 3:line-scale 1s 0.3s infinite cubic-bezier(.2, .68, .18, 1.08),\n 4:line-scale 1s 0.4s infinite cubic-bezier(.2, .68, .18, 1.08),\n 5:line-scale 1s 0.5s infinite cubic-bezier(.2, .68, .18, 1.08)\n);\n$loading-linebackcolor: (\n 1: #F44336,\n 2: #7ED321,\n 3: #0084FF,\n 4: #FF9800,\n 5: #D0021B\n);\n$loading-back-width: 120px;\n$loading-back-height:110px;\n$loading-desc-font-size: 16px;\n$loading-desc-color: #cecece;\n$loading-rotate-bor:#c2c3c5;\n\n//两种加载的尺寸 width height\n$loading-rotate-sm-size: 25px;\n$loading-rotate-size:40px;\n$loading-rotate-lg-size:60px;\n\n$loading-line-sm-width: 4px;\n$loading-line-sm-height:35px;\n$loading-line-width:6px;\n$loading-line-height:50px;\n$loading-line-lg-width:8px;\n$loading-line-lg-height:90px ;\n\n//居中位置top left\n$loading-center-top:50%;\n$loading-center-left:50%;\n\n$loading-rotate-center-sm: -15px ;\n$loading-rotate-center:-22px;\n$loading-rotate-center-lg:-35px ;\n\n$loading-line-center-sm-top: -22px;\n$loading-line-center-sm-left:-20px;\n$loading-line-center-top:-30px;\n$loading-line-center-left:-25px;\n$loading-line-center-lg-top:-50px;\n$loading-line-center-lg-left:-30px;\n\n\n//switch\n\n\n//color\n$switch-border-color: $gray-lighter;\n$switch-back-color: $gray-lighter;\n$switch-checked-borColor: $brand-primary;\n$switch-checked-backColor: $brand-primary;\n\n// border-radius of different state switch\n$switch-border-radius: 20px;\n$switch-border-radius-after: 18px;\n\n// width height line-height of the three switches\n$switch-width: (default:44px, small:32px, large:60px);\n$switch-height: (default:22px, small:16px, large:30px);\n$switch-lineHeight: (default:20px, small:12px, large:12px);\n\n// style of u-switch-inner\n$switch-inner-fontSize: (default:12px, small:10px, large:18px);\n$switch-inner-left: (default:22px, small:16px, large:30px);\n$switch-inner-largeTop: 8px;\n\n// style of u-switch:active:after\n$switch-active-width: (default:24px, small:16px, large:32px);\n\n// style of u-switch:after\n$switch-after-widthHeight: 18px;\n$switch-after-widthHeight-sm: 14px;\n$switch-after-widthHeight-lg: 26px;\n$switch-after-top: 1px;\n$switch-after-top-sm: 0;\n$switch-after-top-lg: 1px;\n$switch-after-left: 0;\n$switch-after-left-sm: 0;\n$switch-after-left-lg: 0;\n\n// style of u-switch.is-checked\n$switch-checked-innerLeft: (default:8px, small:4px, large:8px);\n$switch-checked-afterLeft: (default:24px, small:16px, large:32px);\n$switch-checked-activeLeft: (default:16px, small:10px, large:26px);\n\n$switch-primary-bg: $brand-primary;\n$switch-dark-bg: $brand-dark;\n$switch-success-bg: $brand-success;\n$switch-warning-bg: $brand-warning;\n$switch-danger-bg: $brand-danger;\n$switch-info-bg: $brand-info;\n\n//tabs\n\n$tabs-basic-back: #f5f5f5;\n$tabs-cls-color: #666;\n$tabs-cls-width: 900px;\n$tabs-simple-conHeight: 120px;\n$tabs-simple-conPad: 16px;\n$tabs-simple-conWidth: 100%;\n\n$tabs-fontSize: (simple:14px, fill:14px, turn:14px, slide:14px, fade:14px, fadeup:14px);\n$tabs-lineHeight: (simple:2.3, fill:2.3, turn:2.3, slide:2.3, fade:2.3, fadeup:2.3);\n$tabs-marginBottom: -1px;\n\n$tabs-simple-tab: (padding:0 16px, margin:5px 0 5px 5px, radius:0 0 0 0, back:#fff);\n$tabs-simple-tabBorder: 1px solid #fff;\n$tabs-simple-activeBorder: 1px solid $brand-primary;\n$tabs-simple-activeColor: #fff;\n$tabs-simple-activeBorBottom: 1px solid $brand-primary;\n$tabs-simple-activeTopRadius: 5px;\n$tabs-simple-fontWeight: bold;\n\n$tabs-fill-tab: (padding: 0 16px, color:#666, back:#fff, afterBack:#d2d8d6, activeBack:$brand-primary);\n$tabs-fill-tab-maright: 5px;\n$tabs-fill-after-top: 0;\n$tabs-fill-after-left: 0;\n$tabs-fill-after-width: 100%;\n$tabs-fill-after-height: 100%;\n$tabs-fill-fontWeight: bold;\n\n$tabs-turn-tab: (padding: 0 16px, color:#fff, back:#f5f5f5, afterBack:$brand-primary, activeBack:$brand-primary);\n$tabs-turn-after-top: 0;\n$tabs-turn-after-left: 0;\n$tabs-turn-after-width: 100%;\n$tabs-turn-after-height: 100%;\n$tabs-turn-beforeBot: 32px;\n$tabs-turn-beforeRight: 15px;\n$tabs-turn-fontWeight: bold;\n$tabs-moveleft-conHeight: 120px;\n$tabs-moveleft-conPad: 16px;\n\n$tabs-slide-tabs: (width:25%, padding: 0 16px, back:#f5f5f5);\n$tabs-slide-child-bottom: 0;\n$tabs-slide-child-left: 0;\n$tabs-slide-child-height: 4px;\n$tabs-slide-child-back: $brand-primary;\n$tabs-slide-fontWeight: bold;\n\n$tabs-fade-tab: (marLeft:5px, marTop:5px, color:#666, padding:0 16px, radius:0 0 0 0);\n$tabs-fade-conPad: 16px;\n$tabs-fade-conBor: 5px;\n\n$tabs-fadeup-tab: (marTop:5px, color:#666, padding:0 16px, radius:0 0 0 0);\n$tabs-fadeup-top: -5px;\n$tabs-fadeup-left: 0;\n$tabs-fadeup-width: 100%;\n$tabs-fadeup-height: 100%;\n$tabs-fadeup-color: #666;\n$tabs-fadeup-conHeight: 120px;\n$tabs-fadeup-conPad: 16px;\n\n\n//rate\n$rate-star-default-color:$gray-lightest;\n$rate-star-active-color:$brand-primary;\n$rate-star-marginRight:8px;\n//backtop\n$back-top-padding:5px;\n$backtop-background:unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$backtop-color:unquote(\"rgb(#{$color-white})\") !default;\n$backtop-right:10px;\n$backtop-bottom:10px;\n$backtop-dom-right:40px;\n\n\n//dnd\n$dnd-list-background:unquote(\"rgb(#{$palette-grey-400})\")!default;\n$dnd-list-padding:8px;\n$dnd-list-dragging-background:unquote(\"rgb(#{$palette-light-blue-A200})\")!default;\n$dnd-item-color:unquote(\"rgb(#{$color-black})\")!default;\n$dnd-item-padding:16px;\n$dnd-item-margin:4px;\n$dnd-item-background:unquote(\"rgb(#{$palette-grey-500})\")!default;\n$dnd-item-dragging-background:unquote(\"rgb(#{$palette-blue-300})\")!default;\n\n// bee-tree\n$tree-checkbox-color: unquote(\"rgb(#{$primary-color})\") !default;\n$tree-node-bg-color: $hover-bg-color-base !default;\n\n// bee-table\n$table-head-background-color: unquote(\"rgb(#{$table-header-background-color})\") !default;\n$table-head-text-color: unquote(\"rgb(#{$table-header-text-color})\") !default;\n\n// bee-transfer\n$transfer-border-gap-color:#d9d9d9;\n\n// bee-transfer\n$cascader-border-gap-color:#ccc;","@import \"../node_modules/tinper-bee-core/scss/minxin-variables\";\r\n@import \"../node_modules/tinper-bee-core/scss/minxin-mixins\";\r\n\r\n\r\n$loading-icon-color: #0084ff;\r\n\r\n/**\r\n * 加载背景\r\n */\r\n//.u-loading-back{\r\n// position:relative;\r\n// text-align: center;\r\n// width:$loading-back-width;\r\n// height:$loading-back-height;\r\n// margin:0 auto;\r\n// &.light{\r\n// background: #fff;\r\n// }\r\n// &.dark{\r\n// background: #000;\r\n// }\r\n//}\r\n/**\r\n * 文字\r\n */\r\n.u-loading-desc {\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n font-size: $font-size-base;\r\n color: $font-color-base;\r\n text-align: center;\r\n}\r\n\r\n\r\n/**\r\n * default样式 单个圆圈加载\r\n */\r\n\r\n.u-loading {\r\n &.u-loading-rotate {\r\n & > div {\r\n position: absolute;\r\n border-radius: 100%;\r\n margin: 2px;\r\n -webkit-animation-fill-mode: both;\r\n animation-fill-mode: both;\r\n // border: 2px solid #0084ff;\r\n // border-bottom-color: transparent;\r\n width: $loading-rotate-size;\r\n height: $loading-rotate-size;\r\n top: $loading-center-top;\r\n left: $loading-center-left;\r\n margin-left: $loading-rotate-center;\r\n margin-top: $loading-rotate-center;\r\n background: transparent !important;\r\n display: inline-block;\r\n -webkit-animation: rotate 1s 0s linear infinite;\r\n animation: rotate 1s 0s linear infinite;\r\n text-align: center;\r\n line-height: $loading-rotate-size;\r\n & > img{\r\n width: $loading-rotate-size;\r\n }\r\n & > .uf{\r\n color: $loading-icon-color;\r\n font-size: 40px;\r\n padding: 0;\r\n }\r\n }\r\n &.u-loading-rotate-lg {\r\n & > div {\r\n margin-left: $loading-rotate-center-lg;\r\n margin-top: $loading-rotate-center-lg;\r\n width: $loading-rotate-lg-size;\r\n height: $loading-rotate-lg-size;\r\n line-height: $loading-rotate-lg-size;\r\n & > img{\r\n width: $loading-rotate-lg-size;\r\n }\r\n & > .uf{\r\n font-size: 60px;\r\n }\r\n }\r\n }\r\n &.u-loading-rotate-sm {\r\n & > div {\r\n margin-left:$loading-rotate-center-sm;\r\n margin-top: $loading-rotate-center-sm;\r\n width: $loading-rotate-sm-size;\r\n height:$loading-rotate-sm-size;\r\n line-height: $loading-rotate-sm-size;\r\n & > img{\r\n width: $loading-rotate-sm-size;\r\n }\r\n & > .uf{\r\n font-size: 25px;\r\n }\r\n }\r\n }\r\n &.u-loading-rotate-primary {\r\n & > div > .uf{\r\n color: $loading-loadprimary;\r\n // border: 2px solid $loading-loadprimary;\r\n // border-bottom-color: transparent;\r\n }\r\n }\r\n &.u-loading-rotate-success {\r\n & > div > .uf{\r\n color: $loading-loadsuccess;\r\n // border: 2px solid $loading-loadsuccess;\r\n // border-bottom-color: transparent;\r\n }\r\n }\r\n &.u-loading-rotate-warning {\r\n & > div > .uf{\r\n color: $loading-loadwarn;\r\n // border: 2px solid $loading-loadwarn;\r\n // border-bottom-color: transparent;\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\n.u-loading-backdrop{\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 1900;\r\n // opacity: .4;\r\n // filter: blur(.5px);\r\n background-color:rgba(255,255,255,0.4);\r\n &.full-screen{\r\n position: fixed;\r\n }\r\n}\r\n\r\n@keyframes rotate {\r\n 0% {\r\n -webkit-transform: rotate(0deg) scale(1);\r\n transform: rotate(0deg) scale(1);\r\n }\r\n\r\n 50% {\r\n -webkit-transform: rotate(180deg) scale(1);\r\n transform: rotate(180deg) scale(1);\r\n }\r\n\r\n 100% {\r\n -webkit-transform: rotate(360deg) scale(1);\r\n transform: rotate(360deg) scale(1);\r\n }\r\n}\r\n\r\n.u-loading {\r\n &.u-loading-line {\r\n position: absolute;\r\n top:$loading-center-top;\r\n left: $loading-center-left;\r\n margin-top: $loading-line-center-top;\r\n margin-left: $loading-line-center-left;\r\n & > div {\r\n background-color: #C2C3C5;\r\n width: $loading-line-width;\r\n height: $loading-line-height;\r\n border-radius: 2px;\r\n margin: 2px;\r\n -webkit-animation-fill-mode: both;\r\n animation-fill-mode: both;\r\n display: inline-block;\r\n }\r\n &.u-loading-line-lg {\r\n margin-top: $loading-line-center-lg-top;\r\n margin-left: $loading-line-center-lg-left;\r\n & > div {\r\n width: $loading-line-lg-width;\r\n height: $loading-line-lg-height;\r\n }\r\n }\r\n &.u-loading-line-sm {\r\n margin-top: $loading-line-center-sm-top;\r\n margin-left: $loading-line-center-sm-left;\r\n & > div {\r\n width:$loading-line-sm-width;\r\n height: $loading-line-sm-height;\r\n }\r\n }\r\n @each $index, $anima in $loading-lineanimating {\r\n div:nth-child( #{$index} ) {\r\n -webkit-animation: $anima;\r\n animation: $anima;\r\n background-color: map_get($loading-linebackcolor, $index);\r\n }\r\n }\r\n\r\n &.u-loading-line-primary {\r\n & > div {\r\n background-color: $loading-loadprimary;\r\n }\r\n }\r\n &.u-loading-line-success {\r\n & > div {\r\n background-color: $loading-loadsuccess;\r\n }\r\n }\r\n &.u-loading-line-warning {\r\n & > div {\r\n background-color: $loading-loadwarn;\r\n }\r\n }\r\n }\r\n}\r\n.u-loading {\r\n &.u-loading-custom {\r\n & > div {\r\n position: absolute;\r\n left: 50%;\r\n top: 50%;\r\n -webkit-transform: translate(-50%,-50%);\r\n transform: translate(-50%,-50%);\r\n }\r\n }\r\n}\r\n@keyframes line-scale {\r\n 0% {\r\n -webkit-transform: scaley(1);\r\n transform: scaley(1);\r\n }\r\n\r\n 50% {\r\n -webkit-transform: scaley(0.4);\r\n transform: scaley(0.4);\r\n }\r\n\r\n 100% {\r\n -webkit-transform: scaley(1);\r\n transform: scaley(1);\r\n\r\n }\r\n}\r\n","@import \"minxin-colors\";\n\n// 默认色\n$default-color: $palette-blue-grey-50;\n$default-color-dark: \"223,225,230\";\n$default-color-light: \"223,225,230\";\n\n// 主题色\n$primary-color: \"245, 60, 50\" !default;\n$primary-color-dark: \"230, 0, 18\" !default;\n$primary-color-light: \"230, 0, 18\" !default;\n\n// 字体\n$font-family-primary: \"Open Sans\", \"Helvetica Neue\", Arial, \"Hiragino Sans GB\", \"Microsoft YaHei\", sans-serif !default;\n// 主字号\n$font-size-base: 14px !default;\n// 主按钮文本色\n$text-color-base: $color-dark-contrast !default; \n\n// 圆角,包括:button、select等\n$border-radius: 3px !default;\n// 边框色,包括按钮、输入框、分页\n$border-color: \"165, 173, 186\" !default;\n// 条目hover背景色,包括:select、dropdown、table、datepicker、tree、menu、calendar\n$item-hover-bg-color-base: \"235, 236, 240\" !default;\n// 条目selected背景色,包括:select、menu等\n$item-selected-bg-color-base: \"255, 247, 231\" !default;\n\n// Button 细化样式变量:\n// 次按钮背景色\n$secondary-color: $palette-blue-grey-50 !default;\n$secondary-color-dark: \"223,225,230\" !default;\n$secondary-color-light: \"223,225,230\" !default;\n// 次按钮文本色\n$button-secondary-text-color: $palette-grey-900 !default;\n\n// Table 细化样式变量:\n// 表头背景色\n$table-header-background-color: \"241, 242, 245\";\n// 表头文字颜色\n$table-header-text-color: \"33, 33, 33\";\n// 表格分割线颜色\n$table-border-color-base: \"193, 199, 208\";\n// 表格行hover背景色\n$table-row-hover-bg-color: \"235, 236, 240\";\n\n// 向下兼容\n$color-primary: $palette-blue-600 !default;\n$color-primary-dark: $palette-blue-800 !default;\n$color-primary-light: $palette-blue-400 !default;\n\n// 辅色\n$color-accent: $palette-green-600 !default;\n$color-accent-dark: $palette-green-800 !default;\n$color-accent-light: $palette-green-400 !default;\n\n\n// cyan主题\n//$color-primary: $palette-cyan-500 !default;\n//$color-primary-dark: $palette-cyan-700 !default;\n//$color-accent: $palette-light-blue-500 !default;\n\n// orange主题\n//$color-primary: $palette-orange-500 !default;\n//$color-primary-dark: $palette-orange-700 !default;\n//$color-accent: $palette-deep-orange-500 !default;\n","@import \"../node_modules/tinper-bee-core/scss/minxin-variables\";\r\n@import \"../node_modules/tinper-bee-core/scss/minxin-mixins\";\r\n@import \"../node_modules/bee-loading/src/Loading\";\r\n\r\n$text-color: $font-color-base;\r\n$font-size-base: 12px;\r\n$line-height: 1.33;\r\n// 主题定制border:\r\n$table-border-color: unquote(\"rgb(#{$table-border-color-base})\");\r\n// $table-head-background-color: #f7f7f7;\r\n// $table-head-text-color: #666;\r\n$vertical-padding: 12px;\r\n$horizontal-padding: 8px;\r\n$first-horizontal-padding: 12px;\r\n// $table-border-color: #e9e9e9;\r\n\r\n$table-hover-color: #E7F2FC;\r\n$table-move-in-color: $bg-color-base;\r\n$checkbox-height:14px;\r\n$table-th-bottom-border:#C1C7D0;\r\n\r\n$filter-form-control-height:26px;\r\n$table-head-font-weight: bold;\r\n$icon-color:#505F79;\r\n.u-table {\r\n font-size: $font-size-base;\r\n color: $text-color;\r\n // transition: opacity 0.3s ease;\r\n position: relative;\r\n line-height: $line-height;\r\n overflow: hidden;\r\n &-body{\r\n // overflow: hidden!important;\r\n position: relative;\r\n .u-table-row-expand-columns-in-body .expand-icon-con {\r\n display: none;\r\n pointer-events: none;\r\n }\r\n }\r\n &-hiden-drag{\r\n position: relative;\r\n &-li{\r\n position: absolute;\r\n top: 0px;\r\n left: 0px;\r\n // height: 10px;//这个高度先注释掉了,加上后,在火狐浏览器上会站位置。滚动条拉到最右边有错行\r\n }\r\n }\r\n table {\r\n width: 100%;\r\n border-collapse: collapse;\r\n text-align: left;\r\n }\r\n\r\n th {\r\n // background: $table-head-background-color;\r\n font-weight: $table-head-font-weight;\r\n text-align: left;\r\n // transition: background 0.3s ease;\r\n line-height: 16px;\r\n &[colspan] {\r\n text-align: center;\r\n }\r\n ::last-child{\r\n overflow: hidden;\r\n }\r\n }\r\n\r\n td {\r\n border-bottom: 1px solid $table-border-color;\r\n line-height: $line-height;\r\n a{\r\n color: #2196F3;\r\n &:hover{\r\n color: #1565c0;\r\n }\r\n &:active{\r\n color: #1565c0;\r\n }\r\n }\r\n .u-switch-span{\r\n display: inline-block\r\n }\r\n }\r\n thead{\r\n tr:last-child{\r\n border-bottom: 1px solid $table-th-bottom-border;\r\n }\r\n tr>th:last-child{\r\n border-right: none; \r\n }\r\n }\r\n tr {\r\n // transition: all 0.3s ease;\r\n &:hover {\r\n // background: $hover-bg-color-base;\r\n td {\r\n .uf-eye{\r\n visibility: visible !important;\r\n }\r\n }\r\n }\r\n tr a{\r\n color: #2196F3;\r\n &:hover{\r\n color: #1565c0;\r\n }\r\n &:active{\r\n color: #1565c0;\r\n }\r\n }\r\n td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body){\r\n display: flex;\r\n flex-direction: row-reverse;\r\n &:nth-last-child(1):last-child {\r\n border-right: none;\r\n }\r\n .expand-icon-con {\r\n height: 14px;\r\n .uf{\r\n padding: 0;\r\n }\r\n .u-table-row-expand-icon {\r\n width: 2px;\r\n }\r\n }\r\n .u-checkbox {\r\n margin: 0;\r\n }\r\n }\r\n }\r\n tr.tr-row-hover {\r\n background: $hover-bg-color-base;\r\n }\r\n\r\n th,\r\n td {\r\n padding: $vertical-padding $horizontal-padding;\r\n word-break: break-all;\r\n &.drag-handle-column {\r\n .uf {\r\n font-size: 12px;\r\n line-height: 12px;\r\n }\r\n }\r\n &.text-center{\r\n text-align: center;\r\n }\r\n &.text-right{\r\n text-align: right;\r\n }\r\n .expand-icon-con{\r\n cursor: pointer;\r\n display: inline-block;\r\n font-size: 12px;\r\n line-height: 12px;\r\n }\r\n }\r\n &-sm {\r\n td {\r\n padding: 8px $horizontal-padding;\r\n }\r\n }\r\n &-lg {\r\n td {\r\n padding: 16px $horizontal-padding;\r\n }\r\n }\r\n tr {\r\n \r\n &.filterable{\r\n th{\r\n padding-top: 5px !important;\r\n padding-bottom: 5px !important;\r\n .filterContext{\r\n height: 35px;\r\n }\r\n .u-select-selection--single{\r\n height: 26px;\r\n }\r\n }\r\n }\r\n }\r\n &-row-hover {\r\n background:unquote(\"rgb(#{$table-row-hover-bg-color})\");\r\n }\r\n \r\n &-scroll {\r\n overflow: auto;\r\n }\r\n &-bordered {\r\n table {\r\n border: 1px solid $table-border-color;\r\n box-sizing: border-box;\r\n table-layout: fixed;\r\n // width:auto;\r\n }\r\n \r\n .u-table-header>table {\r\n border-bottom: 0;\r\n }\r\n .u-table-header~.u-table-body,.u-table-header~.u-table-body-outer{\r\n table{\r\n border-top: 0px ;\r\n }\r\n }\r\n\r\n th {\r\n border-bottom: 1px solid $table-border-color;\r\n box-sizing: border-box;\r\n }\r\n th,\r\n td {\r\n border-right: 1px solid $table-border-color;\r\n box-sizing: border-box;\r\n }\r\n }\r\n &-drag-border{\r\n tr {\r\n th.th-can-not-drag{ //拖拽tag影响了表格整体宽度\r\n overflow: hidden;\r\n .u-table-thead-th-drag-gap{//最后一个非固定列不可以拖拽\r\n display: none;\r\n }\r\n }\r\n }\r\n }\r\n &-header {\r\n overflow: hidden;\r\n background: $table-head-background-color;\r\n color: $table-head-text-color;\r\n }\r\n\r\n &.fixed-height td {\r\n padding: 0px $horizontal-padding;\r\n }\r\n\r\n &-fixed-header &-body {\r\n background: #fff;\r\n position: relative;\r\n }\r\n &-fixed-left &-body-inner {\r\n margin-right: -20px;\r\n padding-right: 20px;\r\n }\r\n\r\n &-fixed-header &-fixed-left &-body-inner {\r\n padding-right: 0px;\r\n }\r\n\r\n &-fixed-header &-body-inner {\r\n height: 100%;\r\n overflow: scroll;\r\n }\r\n\r\n\r\n &-fixed-header &-scroll &-header {\r\n overflow-x: scroll;\r\n padding-bottom: 20px;\r\n margin-bottom: -20px;\r\n overflow-y: scroll;\r\n box-sizing: border-box;\r\n }\r\n\r\n &-title {\r\n padding: $vertical-padding $horizontal-padding;\r\n border-top: 1px solid $table-border-color;\r\n }\r\n\r\n &-content {\r\n position: relative;\r\n }\r\n\r\n &-footer {\r\n padding: $vertical-padding $horizontal-padding;\r\n border-bottom: 1px solid $table-border-color;\r\n .u-table-scroll{\r\n overflow-x: hidden;\r\n }\r\n }\r\n &-footer & {\r\n margin: (-$vertical-padding) (-$horizontal-padding);\r\n }\r\n\r\n &-placeholder {\r\n padding: $vertical-padding 8px;\r\n background: #fff;\r\n border-bottom: 1px solid $table-border-color;\r\n text-align: center;\r\n position: relative;\r\n .table-nodata{ \r\n font-size: 40px; \r\n line-height: 44px;\r\n + span{\r\n font-size: 12px;\r\n line-height: 12px;\r\n display: block;\r\n }\r\n }\r\n }\r\n\r\n &-expand-icon-col {\r\n width: 10px;\r\n }\r\n &-row,\r\n &-expanded-row {\r\n .u-table{\r\n tr{\r\n background: #fff;\r\n }\r\n tr.u-table-row-hover{\r\n background:unquote(\"rgb(#{$table-row-hover-bg-color})\");\r\n }\r\n }\r\n &-expand-icon {\r\n cursor: pointer;\r\n display: inline-block;\r\n margin-right: 8px;\r\n width: 14px;\r\n height: 14px;\r\n text-align: center;\r\n line-height: 14px;\r\n user-select: none;\r\n &.uf{\r\n font-size: 12px;\r\n padding: 0;\r\n }\r\n }\r\n &-spaced {\r\n visibility: hidden;\r\n }\r\n &-spaced:after {\r\n content: \".\";\r\n }\r\n &-expanded {\r\n &:after {\r\n content: \"\\e639\";\r\n font-family: \"uf\";\r\n }\r\n }\r\n &-collapsed {\r\n &:after {\r\n content: \"\\e61c\";\r\n font-family: \"uf\";\r\n }\r\n }\r\n }\r\n &-row{\r\n &.selected{\r\n background: #FFF7E7;\r\n }\r\n }\r\n tr.u-table-expanded-row {\r\n background: #DFE1E6;\r\n &:hover {\r\n background: #DFE1E6;\r\n }\r\n .u-table {\r\n // padding: 0 40px 0 20px;\r\n z-index: 1;\r\n }\r\n }\r\n &-column-hidden {\r\n display: none;\r\n }\r\n &-prev-columns-page,\r\n &-next-columns-page {\r\n cursor: pointer;\r\n color: #666;\r\n z-index: 1;\r\n &:hover {\r\n color: #2db7f5;\r\n }\r\n &-disabled {\r\n cursor: not-allowed;\r\n color: #999;\r\n &:hover {\r\n color: #999;\r\n }\r\n }\r\n }\r\n &-prev-columns-page {\r\n margin-right: 8px;\r\n &:before {\r\n content: \"<\";\r\n }\r\n }\r\n &-next-columns-page {\r\n float: right;\r\n &:before {\r\n content: \">\";\r\n }\r\n }\r\n\r\n &-fixed-left,\r\n &-fixed-right {\r\n position: absolute;\r\n top: 0;\r\n overflow: hidden;\r\n z-index: 1;\r\n table {\r\n width: auto;\r\n background: #fff;\r\n }\r\n }\r\n\r\n &-fixed-left {\r\n left: 0;\r\n box-shadow: 4px 0 4px rgba(100, 100, 100, 0.1);\r\n &-body-inner {\r\n margin-right: -20px;\r\n padding-right: 20px;\r\n }\r\n &-fixed-header & &-body-inner {\r\n padding-right: 0;\r\n }\r\n }\r\n\r\n &-fixed-right {\r\n right: 0;\r\n box-shadow: -4px 0 4px rgba(100, 100, 100, 0.1);\r\n\r\n // hide expand row content in right fixed Table\r\n // https://github.com/ant-design/ant-design/issues/1898\r\n &-expanded-row {\r\n color: transparent;\r\n pointer-events: none;\r\n }\r\n \r\n }\r\n \r\n &-scroll-position-left &-fixed-left {\r\n box-shadow: none;\r\n }\r\n\r\n &-scroll-position-right &-fixed-right {\r\n box-shadow: none;\r\n }\r\n\r\n &-thead{\r\n .filter-text,.filter-dropdown,.filter-date {\r\n font-weight: normal;\r\n }\r\n .filter-wrap{\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n .filter-btns{\r\n min-width: 58px;\r\n }\r\n }\r\n th{\r\n background: $table-head-background-color;\r\n color: $table-head-text-color;\r\n background-clip:padding-box;\r\n //禁止选中文字\r\n -moz-user-select: -moz-none;\r\n -khtml-user-select: none;\r\n -webkit-user-select: none; \r\n /*\r\n Introduced in IE 10. \r\n */\r\n -ms-user-select: none;\r\n user-select: none;\r\n\r\n // overflow: hidden;\r\n // white-space: nowrap;\r\n // text-overflow: ellipsis;\r\n .bee-table-column-sorter {\r\n position: relative;\r\n margin-left: 4px;\r\n height: 16px;\r\n vertical-align: middle;\r\n text-align: center;\r\n display: inline-block;\r\n margin-top: -3px;\r\n i{\r\n padding: 0px;\r\n font-weight: 600;\r\n color: $icon-color;\r\n }\r\n \r\n & > .bee-table-column-sorter-down,\r\n & > .bee-table-column-sorter-up, & > .bee-table-column-sorter-flat {\r\n line-height: 16px;\r\n display: block;\r\n width: 34px;\r\n cursor: pointer;\r\n }\r\n \r\n }\r\n\r\n .bee-table-column-sorter-down.on .uf-triangle-down,\r\n .bee-table-column-sorter-down.on .uf-triangle-up,\r\n .bee-table-column-sorter-up.on .uf-triangle-down,\r\n .bee-table-column-sorter-up.on .uf-triangle-up {\r\n color: #108ee9;\r\n }\r\n .bee-table-column-sorter .uf-triangle-down,\r\n .bee-table-column-sorter .uf-triangle-up {\r\n -webkit-filter: none;\r\n filter: none;\r\n font-size: 12px;\r\n }\r\n .bee-table-column-sorter .uf-triangle-down,\r\n .bee-table-column-sorter .uf-triangle-up {\r\n display: inline-block;\r\n padding: 0;\r\n font-size: 12px;\r\n font-size: 8px\\9;\r\n -webkit-transform: scale(0.66666667) rotate(0deg);\r\n -ms-transform: scale(0.66666667) rotate(0deg);\r\n transform: scale(0.66666667) rotate(0deg);\r\n -ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=1, M12=0, M21=0, M22=1)\";\r\n zoom: 1;\r\n line-height: 4px;\r\n height: 4px;\r\n color: #999;\r\n // -webkit-transition: all 0.3s;\r\n // transition: all 0.3s;\r\n }\r\n &:hover{\r\n .bee-table-column-sorter {\r\n display: inline-block;\r\n }\r\n }\r\n }\r\n .th-drag{\r\n cursor: move;\r\n }\r\n .th-drag:hover{\r\n background: $hover-bg-color-base;\r\n\r\n }\r\n //为了区分是拖拽宽度还是交换列,先注释上面了\r\n // .th-drag:hover{\r\n // background:#ccc;\r\n // }\r\n .th-drag-hover{ \r\n background: #ccc;\r\n }\r\n &-th{\r\n position: relative;\r\n\r\n &-drag-gap{\r\n height: 100%;\r\n position: absolute;\r\n right: -10px;\r\n top: 0;\r\n // background:transparent;\r\n // width: 1px;\r\n // background:#ccc;\r\n width: 20px;\r\n \r\n box-sizing: border-box;\r\n z-index: 1;\r\n\r\n .online{\r\n height: 100%;\r\n width: 1px;\r\n background:transparent;//兼容火狐浏览器,如果table设置border,\r\n margin: 0 auto;\r\n }\r\n .online-hover{\r\n background:#000000;\r\n }\r\n \r\n }\r\n &-drag-gap:hover{\r\n cursor: col-resize;\r\n .online{\r\n background: #000000\r\n }\r\n }\r\n }\r\n &-th:last-child {\r\n &-drag-gap{\r\n border: none;\r\n }\r\n }\r\n }\r\n\r\n\r\n &-filter-column{\r\n \r\n &-pop-cont{\r\n margin: 0px;\r\n max-height: 300px;\r\n overflow-y: auto;\r\n color:#212121;\r\n }\r\n &-clear-setting{ \r\n // border-bottom: 1px solid #ccc;\r\n cursor: pointer;\r\n margin-bottom: 4px;\r\n }\r\n &-cont{\r\n position: relative;\r\n }\r\n &-filter-icon{\r\n position: absolute;\r\n width: 30px;\r\n height: 39px ;\r\n line-height: 39px;\r\n right: 0px ;\r\n top:1px ;\r\n z-index: 2;\r\n background: $table-head-background-color;\r\n text-align: center;\r\n cursor: pointer;\r\n i.uf{\r\n padding: 0px;\r\n color: $icon-color;\r\n }\r\n }\r\n &-pop-cont-item{\r\n margin-top: 8px;\r\n font-size: 12px;\r\n // line-height: 30px;\r\n cursor: pointer;\r\n .u-checkbox {\r\n margin: 0px;\r\n\r\n }\r\n }\r\n &-pop-cont-item span.drop-menu-title{\r\n margin-left: -3px;\r\n max-width: 132px;\r\n width: auto !important;\r\n min-width: 56px;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n display: inline-block;\r\n vertical-align: middle;\r\n }\r\n &-pop .u-modal-dialog{\r\n border: 1px solid #ccc;\r\n background: #fff;\r\n }\r\n }\r\n //拖拽宽度代码\r\n &-row-fixed-columns-in-body{\r\n // visibility: hidden;\r\n display:none;\r\n pointer-events: none;\r\n }\r\n //固定列含有checkbox 样式复写\r\n .u-checkbox {\r\n height: $checkbox-height;\r\n line-height: $checkbox-height;\r\n margin:0px;\r\n display: block;\r\n margin-left: 5px;\r\n .u-checkbox-label{\r\n line-height: $checkbox-height;\r\n padding-left: 16px;\r\n &:before,&:after {\r\n width: $checkbox-height;\r\n height: $checkbox-height;\r\n }\r\n }\r\n }\r\n .u-table-scroll,.u-table-fixed-left{\r\n tr{\r\n td:first-child, th:first-child{\r\n padding-left: $first-horizontal-padding\r\n }\r\n }\r\n }\r\n &.has-fixed-left{\r\n .u-table-scroll{\r\n tr{\r\n td:first-child, th:first-child{\r\n padding-left: $horizontal-padding\r\n }\r\n }\r\n }\r\n }\r\n // 滚动条样式复写\r\n ::-webkit-scrollbar {\r\n width: 8px;\r\n height: 8px;\r\n }\r\n ::-webkit-scrollbar-button {\r\n display: none;\r\n }\r\n ::-webkit-scrollbar-thumb {\r\n background: #d5d5d5 !important;\r\n border-radius: 5px;\r\n }\r\n ::-webkit-scrollbar-thumb {\r\n border-radius: 4px;\r\n background-color: #d5d5d5;\r\n position: absolute;\r\n }\r\n\r\n ::-webkit-scrollbar-track {\r\n display: none;\r\n }\r\n\r\n ::-webkit-scrollbar-track-piece {\r\n display: none;\r\n }\r\n\r\n .row-dragg-able{\r\n cursor:move;\r\n }\r\n .u-table-drag-hidden-cont{\r\n width: 100px;\r\n height: 40px;\r\n }\r\n\r\n}\r\n\r\n.u-table:focus{\r\n outline: none;\r\n // border-color: #9ecaed;\r\n // box-shadow: 0 0 10px #9ecaed;\r\n box-shadow: 0 0 0;\r\n}\r\n\r\n .u-table-bordered {\r\n .u-table-drag-gap{\r\n background:#e9e9e9;\r\n }\r\n }\r\n.u-table.bordered {\r\n table {\r\n border-collapse: collapse;\r\n }\r\n th,\r\n td {\r\n border: 1px solid $table-border-color;\r\n }\r\n}\r\n\r\n.move-enter,\r\n.move-appear {\r\n opacity: 0;\r\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\r\n animation-duration: 2.5s;\r\n animation-fill-mode: both;\r\n animation-play-state: paused;\r\n}\r\n\r\n.move-leave {\r\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\r\n animation-duration: 0.5s;\r\n animation-fill-mode: both;\r\n animation-play-state: paused;\r\n}\r\n\r\n.move-enter.move-enter-active,\r\n.move-appear.move-enter-active {\r\n animation-name: moveLeftIn;\r\n animation-play-state: running;\r\n}\r\n\r\n.move-leave.move-leave-active {\r\n animation-name: moveRightOut;\r\n animation-play-state: running;\r\n}\r\n\r\n@keyframes moveLeftIn {\r\n 0% {\r\n transform-origin: 0 0;\r\n transform: translateX(30px);\r\n opacity: 0;\r\n background: $table-move-in-color;\r\n }\r\n 20% {\r\n transform-origin: 0 0;\r\n transform: translateX(0);\r\n opacity: 1;\r\n }\r\n 80% {\r\n background: $table-move-in-color;\r\n }\r\n 100% {\r\n background: transparent;\r\n opacity: 1;\r\n }\r\n}\r\n\r\n@keyframes moveRightOut {\r\n 0% {\r\n transform-origin: 0 0;\r\n transform: translateX(0);\r\n opacity: 1;\r\n }\r\n 100% {\r\n transform-origin: 0 0;\r\n transform: translateX(-30px);\r\n opacity: 0;\r\n }\r\n}\r\n\r\n.formItem-style {\r\n height: unset;\r\n min-height: unset;\r\n padding: 0;\r\n}\r\n.errMessage-style {\r\n display: none;\r\n border: none;\r\n /* margin-top: 5px; */\r\n /* margin-bottom: 5px; */\r\n background: transparent;\r\n color: #f22c1d;\r\n /* padding-left: 12px; */\r\n /* padding-right: 12px; */\r\n margin: 0;\r\n position: absolute;\r\n padding: 0;\r\n top: 3px;\r\n right: 0;\r\n}\r\n\r\n.editable-cell {\r\n position: relative;\r\n}\r\n\r\n.editable-cell-input-wrapper,\r\n.editable-cell-text-wrapper {\r\n padding-right: 24px;\r\n}\r\n.editable-cell-input-wrapper {\r\n .u-form-item.formItem-style .u-label{\r\n display: none;\r\n }\r\n .u-input-group .u-form-control{\r\n height: 26px;\r\n font-size: 12px;\r\n }\r\n}\r\n\r\n.editable-cell-text-wrapper {\r\n padding: 5px 24px 5px 5px;\r\n height: 30px;\r\n}\r\n\r\n.editable-cell-icon,\r\n.editable-cell-icon-check {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n width: 20px;\r\n cursor: pointer;\r\n}\r\n\r\n.editable-cell-icon {\r\n line-height: 28px;\r\n display: none;\r\n}\r\n\r\n.editable-cell-icon-check {\r\n line-height: 28px;\r\n}\r\n\r\n.editable-cell:hover .editable-cell-icon {\r\n display: inline-block;\r\n}\r\n\r\n.editable-cell-icon:hover,\r\n.editable-cell-icon-check:hover {\r\n color: #2db7f5;\r\n}\r\n\r\n.editable-add-btn {\r\n margin-bottom: 8px;\r\n}\r\n\r\n.search-component {\r\n margin-bottom: 20px;\r\n .empty-search {\r\n position: absolute;\r\n right: 45px;\r\n z-index: 20;\r\n top: 5px;\r\n color: #524e4e;\r\n cursor: pointer;\r\n }\r\n &.u-input-group.simple {\r\n float: right;\r\n }\r\n &.u-input-group.simple .u-form-control {\r\n width: 251px;\r\n background: #f5f5f5;\r\n border-color: #f5f5f5;\r\n border-radius: 20px;\r\n }\r\n &.u-input-group.simple .u-input-group-btn {\r\n top: 3px;\r\n right: 20px;\r\n position: absolute;\r\n }\r\n}\r\n\r\n\r\n.col-resize-container {\r\n height: 0px;\r\n position: relative;\r\n\r\n & + .table-col-resizer:first-of-type {\r\n table-layout: fixed;\r\n }\r\n\r\n .active-drag .icon{\r\n visibility: visible;\r\n }\r\n\r\n .last-handle {\r\n display: none;\r\n }\r\n\r\n .drag-handle {\r\n margin-left: -5px;\r\n position: absolute;\r\n z-index: 5;\r\n width: 10px;\r\n cursor: col-resize;\r\n\r\n .icon {\r\n color: #40b0dc;\r\n top: -1px;\r\n position: absolute;\r\n visibility: hidden;\r\n\r\n &:first-child {\r\n left: -2px\r\n }\r\n &:last-child {\r\n left: 6px\r\n }\r\n }\r\n\r\n &:hover{\r\n .icon{\r\n visibility: visible;\r\n }\r\n .col-resizer {\r\n border: 1px solid;\r\n }\r\n }\r\n\r\n &.disabled-drag {\r\n cursor: default;\r\n display: none;\r\n }\r\n\r\n .col-resizer {\r\n position: absolute;\r\n width: 1px;\r\n height: 100%;\r\n top: 0px;\r\n left: 3px;\r\n }\r\n }\r\n}\r\n\r\n.u-filter-dropdown-menu-wrap {\r\n z-index: 1800;\r\n .u-dropdown-menu {\r\n li.u-dropdown-menu-item {\r\n line-height: $filter-form-control-height;\r\n height: $filter-form-control-height;\r\n padding: 0px 16px 0 16px;\r\n cursor: pointer;\r\n }\r\n }\r\n}\r\n.filter-wrap {\r\n .u-form-control{\r\n height: $filter-form-control-height;\r\n }\r\n .u-input-number.u-input-group.simple .u-input-group-btn .icon-group {\r\n height: $filter-form-control-height;\r\n }\r\n .calendar-picker {\r\n .u-input-group-btn{\r\n line-height: 20px;\r\n }\r\n }\r\n .u-input-number.u-input-group.simple .u-input-group-btn .icon-group .uf{\r\n line-height: 12px;\r\n }\r\n}\r\n.u-row-hover{\r\n position: absolute;\r\n right: 24px;\r\n display: none;\r\n align-items: center;\r\n justify-content: center;\r\n background: transparent;\r\n}\r\n\r\n.u-row-hover2{\r\n position: absolute;\r\n left: 100;\r\n}\r\n\r\n\r\n\r\n// 表格显示里面的内容显示在一行\r\n.header-dispaly-in-row{\r\n &.u-table{\r\n table{\r\n table-layout: fixed;\r\n }\r\n }\r\n th{\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n vertical-align: middle;\r\n overflow: hidden;\r\n }\r\n}\r\n.body-dispaly-in-row{\r\n &.u-table{\r\n table{\r\n table-layout: fixed;\r\n }\r\n \r\n }\r\n td{\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n vertical-align: middle;\r\n overflow: hidden;\r\n }\r\n}\r\n.u-table-drag-hidden-cont{\r\n position: absolute;\r\n top:-1000px;\r\n}\r\n\r\n.u-editable-table .u-table {\r\n .u-table-row-hover {\r\n .editable-cell-text-wrapper {\r\n padding-left: 4px;\r\n border: 1px solid #c1c7d0;\r\n }\r\n }\r\n\r\n .editable-cell-text-wrapper {\r\n &:hover {\r\n padding-left: 4px;\r\n border: 1px solid #a5adba;\r\n }\r\n }\r\n\r\n .editable-cell-input-wrapper {\r\n &:focus {\r\n outline: none;\r\n }\r\n }\r\n}\r\n\r\n.u-editable-table-tp {\r\n .tooltip-arrow {\r\n top: 1px !important;\r\n border-bottom-color: #F44336 !important;\r\n }\r\n\r\n .tooltip-inner {\r\n border-color: #F44336 !important;\r\n }\r\n}\r\n","// @import \"../node_modules/tinper-bee-core/scss/index.scss\";\r\n// @import \"../node_modules/bee-panel/src/Panel.scss\";\r\n// @import \"../node_modules/bee-layout/src/Layout.scss\";\r\n// @import \"../node_modules/bee-button/src/Button.scss\";\r\n// @import \"../node_modules/bee-transition/src/Transition.scss\";\r\n// @import \"../node_modules/bee-popconfirm/src/Popconfirm.scss\";\r\n// @import \"../node_modules/bee-form-control/src/FormControl.scss\";\r\n// @import \"../node_modules/bee-pagination/src/Pagination.scss\";\r\n// @import \"../node_modules/bee-checkbox/src/Checkbox.scss\";\r\n// @import \"../node_modules/bee-select/src/Select.scss\";\r\n// @import \"../node_modules/bee-popover/src/Popover.scss\";\r\n// @import \"../node_modules/bee-tooltip/src/Tooltip.scss\";\r\n// @import \"../node_modules/bee-message/build/Message.css\";\r\n// @import \"../node_modules/bee-dropdown/build/Dropdown.css\";\r\n// @import \"../node_modules/bee-input-number/build/InputNumber.css\";\r\n// @import \"../node_modules/bee-modal/build/Modal.css\";\r\n@import \"../src/Table.scss\";\r\n\r\n\r\n//引入日期控件样式文件\r\n// @import \"../node_modules/bee-datepicker/src/datepicker.scss\";\r\n\r\n.selected{\r\n background: #FFF7E7;\r\n}\r\n\r\n.demo25{\r\n height: 100%;\r\n\r\n .u-table-filter-column-filter-icon{\r\n right: 15px;\r\n }\r\n\r\n}\r\n.opt-btns .u-button{\r\n margin: 0 4px;\r\n color: #fff;\r\n background: #505F79;\r\n border-color: #505F79;\r\n &:hover, &:active{\r\n background: #344563;\r\n border-color: #505F79;\r\n }\r\n}",".demo04 {\r\n &.u-table tr:nth-child(2n){\r\n background: #f7f9fb;\r\n }\r\n &.u-table tr.u-table-row-hover, .u-table tr:hover{\r\n background: #ebecf0;\r\n }\r\n}",".demo22{\r\n .opt-btns{\r\n margin-bottom: 8px;\r\n }\r\n}",".demo32{\r\n .u-table-thead th {\r\n padding-top: 0px;\r\n padding-bottom: 0px;\r\n }\r\n}",".demo0501 .u-table {\r\n .u-row-hover {\r\n .opt-btns,.cancel-btns {\r\n button {\r\n margin: 0;\r\n &:first-child {\r\n margin-right: 8px;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .u-table-row {\r\n td {\r\n padding: 5px 8px;\r\n\r\n input {\r\n font-size: 12px;\r\n padding-left: 5px;\r\n }\r\n }\r\n\r\n .u-form-control,\r\n .u-select-selection {\r\n height: 30px;\r\n }\r\n }\r\n\r\n .editable-cell-text-wrapper {\r\n box-sizing: border-box;\r\n line-height: 20px;\r\n border-radius: 3px;\r\n }\r\n\r\n .required {\r\n margin-left: 10px;\r\n position: relative;\r\n\r\n &::before {\r\n content: \" \";\r\n border: 1px solid #F44336;\r\n width: 0;\r\n height: 12px;\r\n position: absolute;\r\n top: 9px;\r\n left: -8px;\r\n }\r\n\r\n span.u-input-group {\r\n display: block\r\n }\r\n }\r\n .verify-cell {\r\n padding-right: 25px !important;\r\n }\r\n\r\n .required-icon {\r\n position: absolute;\r\n top: 2px;\r\n color: #F44336;\r\n font-size: 20px;\r\n }\r\n\r\n .ref-input-wrap {\r\n width: 160px !important;\r\n }\r\n}\r\n\r\n.u-editable-table-tp {\r\n .tp-content {\r\n color: #F44336;\r\n }\r\n}",".u-editable-table .u-table {\r\n .u-table-row {\r\n td {\r\n padding: 5px 8px;\r\n\r\n input {\r\n padding-left: 5px;\r\n font-size: 12px;\r\n\r\n &.error {\r\n border-color: #F44336;\r\n }\r\n }\r\n }\r\n\r\n .editable-cell {\r\n height: 30px;\r\n }\r\n\r\n &-hover {\r\n .editable-cell-text-wrapper {\r\n line-height: 19px;\r\n }\r\n }\r\n\r\n .u-form-control,\r\n .u-select-selection {\r\n height: 30px;\r\n }\r\n }\r\n\r\n .editable-cell-text-wrapper {\r\n box-sizing: border-box;\r\n line-height: 20px;\r\n border-radius: 3px;\r\n }\r\n\r\n .editable-cell-input-wrapper {\r\n padding-right: 0;\r\n .ref-input-wrap {\r\n width: auto !important;\r\n height: 30px;\r\n .u-input-group{\r\n display: inline-block;\r\n }\r\n }\r\n }\r\n\r\n .verify-cell {\r\n padding-right: 25px !important;\r\n }\r\n\r\n .require {\r\n position: absolute;\r\n top: 2px;\r\n color: #F44336;\r\n font-size: 20px;\r\n }\r\n}\r\n\r\n.u-editable-table-tp {\r\n .tp-content {\r\n color: #F44336;\r\n }\r\n}",".demo0503-m-b {\r\n\r\n &.u-modal .u-modal-body {\r\n padding: 16px 0;\r\n background: #f7f9fb;\r\n }\r\n\r\n .u-form-group {\r\n overflow: hidden;\r\n }\r\n\r\n .u-form-control {\r\n font-size: 12px;\r\n }\r\n\r\n .editable-cell {\r\n display: block;\r\n float: left;\r\n width: 265px;\r\n padding-right: 25px;\r\n }\r\n\r\n .ref-input-wrap {\r\n width: 240px !important;\r\n }\r\n\r\n .u-label {\r\n display: block;\r\n float: left;\r\n text-align: right;\r\n width: 110px;\r\n box-sizing: border-box;\r\n padding-right: 10px;\r\n font-size: 12px;\r\n height: 32px;\r\n line-height: 32px;\r\n .mast {\r\n padding: 0;\r\n color: red;\r\n }\r\n }\r\n\r\n .required-icon {\r\n position: absolute;\r\n top: 2px;\r\n color: #F44336;\r\n font-size: 20px;\r\n }\r\n}\r\n\r\n.u-editable-table-tp {\r\n z-index: 9999 !important;\r\n\r\n .tp-content {\r\n color: #F44336;\r\n }\r\n}\r\n.ref-core-button .u-button:first-child{\r\n margin-right: 8px;\r\n}",".demo0505 {\r\n\r\n .toolbar-btns {\r\n margin-bottom: 8px;\r\n\r\n .u-button {\r\n &:first-child {\r\n margin-right: 8px;\r\n }\r\n }\r\n }\r\n\r\n .u-table {\r\n .u-row-select {\r\n background-color: #FFF7E7;\r\n }\r\n .u-table-row {\r\n td {\r\n padding: 5px 8px;\r\n\r\n input {\r\n font-size: 12px;\r\n padding-left: 5px;\r\n }\r\n }\r\n\r\n .u-form-control,\r\n .u-select-selection {\r\n height: 30px;\r\n }\r\n }\r\n\r\n .editable-cell-text-wrapper {\r\n box-sizing: border-box;\r\n line-height: 20px;\r\n border-radius: 3px;\r\n }\r\n\r\n .required {\r\n margin-left: 10px;\r\n position: relative;\r\n\r\n &::before {\r\n content: \" \";\r\n border: 1px solid #F44336;\r\n width: 0;\r\n height: 12px;\r\n position: absolute;\r\n top: 9px;\r\n left: -8px;\r\n }\r\n\r\n span.u-input-group {\r\n display: block\r\n }\r\n }\r\n\r\n .verify-cell {\r\n padding-right: 25px !important;\r\n }\r\n\r\n .edited::after {\r\n content: \" \";\r\n position: absolute;\r\n z-index: 999;\r\n top: 0;\r\n left: 0;\r\n border-width: 5px;\r\n border-style: solid;\r\n border-color: #f44336 transparent transparent #f44336;\r\n }\r\n\r\n .required-icon {\r\n position: absolute;\r\n top: 2px;\r\n color: #F44336;\r\n font-size: 20px;\r\n }\r\n\r\n .ref-input-wrap {\r\n width: 160px !important;\r\n }\r\n }\r\n}\r\n\r\n.u-editable-table-tp {\r\n .tp-content {\r\n color: #F44336;\r\n }\r\n}","th{\r\n .drop-menu{\r\n .uf{\r\n font-size: 12px;\r\n visibility: hidden;\r\n margin-left: 15px;\r\n }\r\n \r\n \r\n }\r\n &:hover{\r\n .uf{\r\n visibility: visible;\r\n }\r\n }\r\n\r\n}\r\n\r\n",".expanded-table{\r\n .expand-icon-con .uf{\r\n font-size: 12px;\r\n }\r\n}",".demo8{\r\n .u-table {\r\n margin-bottom: 11px;\r\n }\r\n .u-pagination{\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n}"],"sourceRoot":"/source/"} \ No newline at end of file +{"version":3,"sources":["demo.css","../node_modules/tinper-bee-core/scss/minxin-variables.scss","../node_modules/bee-loading/node_modules/tinper-bee-core/scss/minxin-variables.scss","../node_modules/bee-loading/src/Loading.scss","../node_modules/tinper-bee-core/scss/minxin-themeColors.scss","../src/Table.scss","TableDemo.scss","demolist/Demo0104.scss","demolist/Demo0302.scss","demolist/Demo0402.scss","demolist/Demo0501.scss","demolist/Demo0502.scss","demolist/Demo0503.scss","demolist/Demo0505.scss","demolist/Demo0603.scss","demolist/Demo1101.scss","demolist/Demo1601.scss"],"names":[],"mappings":"AAAA,iBAAiB;ACuXjB,eAAe;AAWf,iBAAiB;ACXjB,eAAe;AAWf,iBAAiB;AC5XjB;;IAEI;AAcJ;;IAEI;AACJ;EACE,mBAAkB;EAClB,UAAS;EACT,QAAO;EACP,SAAQ;EACR,gBCfmB;EDgBnB,eFauB;EEZvB,mBAAkB,EACnB;;AAGD;;IAEI;AAEJ;EAGM,mBAAkB;EAClB,oBAAmB;EACnB,YAAW;EAEX,0BAAyB;EAGzB,YDkwCmB;ECjwCnB,aDiwCmB;EChwCnB,SD2wCiB;EC1wCjB,UD2wCkB;EC1wClB,mBD6wCsB;EC5wCtB,kBD4wCsB;EC3wCtB,mCAAkC;EAClC,sBAAqB;EAErB,wCAAuC;EACvC,mBAAkB;EAClB,kBDuvCmB,EC9uCpB;EA9BL;IAuBQ,YDqvCiB,ECpvClB;EAxBP;IA0BQ,eA9DoB;IA+DpB,gBAAe;IACf,WAAU,EACX;;AA7BP;EAiCQ,mBD2vCuB;EC1vCvB,kBD0vCuB;ECzvCvB,YD0uCoB;ECzuCpB,aDyuCoB;ECxuCpB,kBDwuCoB,ECjuCrB;EA5CP;IAuCU,YDsuCkB,ECruCnB;EAxCT;IA0CU,gBAAe,EAChB;;AA3CT;EAgDQ,mBD0uCwB;ECzuCxB,kBDyuCwB;ECxuCxB,YDytCqB;ECxtCrB,aDwtCqB;ECvtCrB,kBDutCqB,EChtCtB;EA3DP;IAsDU,YDqtCmB,ECptCpB;EAvDT;IAyDU,gBAAe,EAChB;;AA1DT;EA+DQ,eDorC8B,ECjrC/B;;AAlEP;EAsEQ,eD8qCqB,EC3qCtB;;AAzEP;EA6EQ,eDwqC2B,ECrqC5B;;AAMP;EACE,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,cAAa;EAGb,2CAAsC,EAIvC;EAbD;IAWI,gBAAe,EAChB;;AAGH;EACE;IAEE,iCAAgC,EAAA;EAGlC;IAEE,mCAAkC,EAAA;EAGpC;IAEE,mCAAkC,EAAA,EAAA;;AAItC;EAEI,mBAAkB;EAClB,SD8pCmB;EC7pCnB,UD8pCoB;EC7pCpB,kBDqqC0B;ECpqC1B,mBDqqC2B,ECnnC5B;EAxDH;IAQM,0BAAyB;IACzB,WDkpCiB;ICjpCjB,aDkpCmB;ICjpCnB,mBAAkB;IAClB,YAAW;IAEX,0BAAyB;IACzB,sBAAqB,EACtB;EAhBL;IAkBM,kBD0pC2B;ICzpC3B,mBD0pC4B,ECrpC7B;IAxBL;MAqBQ,WDwoCkB;MCvoClB,aDwoCoB,ECvoCrB;EAvBP;IA0BM,kBD8oC4B;IC7oC5B,mBD8oC4B,ECzoC7B;IAhCL;MA6BQ,WD4nCmB;MC3nCnB,aD4nCoB,EC3nCrB;EA/BP;IAoCQ,2ED6lC8D;IC5lC9D,0BDmmCU,EClmCX;EAtCP;IAoCQ,2ED8lC8D;IC7lC9D,0BDomCU,ECnmCX;EAtCP;IAoCQ,2ED+lC8D;IC9lC9D,0BDqmCU,ECpmCX;EAtCP;IAoCQ,2EDgmC8D;IC/lC9D,0BDsmCU,ECrmCX;EAtCP;IAoCQ,2EDimC8D;IChmC9D,0BDumCU,ECtmCX;EAtCP;IA2CQ,0BDklC8B,ECjlC/B;EA5CP;IAgDQ,0BD8kCqB,EC7kCtB;EAjDP;IAqDQ,0BD0kC2B,ECzkC5B;;AAIP;EAGM,mBAAkB;EAClB,UAAS;EACT,SAAQ;EAER,iCAA+B,EAChC;;AAGL;EACE;IAEE,qBAAoB,EAAA;EAGtB;IAEE,uBAAsB,EAAA;EAGxB;IAEE,qBAAoB,EAAA,EAAA;;AExNxB;EACE,gBApBmB;EAqBnB,eJkBuB;EIhBvB,mBAAkB;EAClB,kBAvBgB;EAwBhB,iBAAgB,EA2qBjB;EA1qBC;IAEE,mBAAkB,EAKnB;IAPA;MAIG,cAAa;MACb,qBAAoB,EACrB;EAEH;IACE,mBAAkB,EAOnB;IANC;MACE,mBAAkB;MAClB,SAAQ;MACR,UAAS,EAEV;EAtBL;IAyBI,YAAW;IACX,0BAAyB;IACzB,iBAAgB,EACjB;EA5BH;IAgCI,kBAlCyB;IAmCzB,iBAAgB;IAEhB,kBAAiB,EAOlB;IA1CH;MAqCM,mBAAkB,EACnB;IAtCL;MAwCM,iBAAgB,EACjB;EAzCL;IA6CI,4CA7D4D;IA8D5D,kBAhEc,EA6Ef;IA3DH;MAgDM,eAAc,EAOf;MAvDL;QAkDQ,eAAc,EACf;MAnDP;QAqDQ,eAAc,EACf;IAtDP;MAyDM,sBACF,EAAC;EA1DL;IA8DM,iCAnEyB,EAoE1B;EA/DL;IAiEM,mBAAkB,EACnB;EAlEL;IA0EU,+BAA8B,EAC/B;EA3ET;IA+EM,eAAc,EAOf;IAtFL;MAiFQ,eAAc,EACf;IAlFP;MAoFQ,eAAc,EACf;EArFP;IAwFM,qBAAa;IAAb,cAAa;IACb,gCAA2B;IAA3B,4BAA2B,EAgB5B;IAzGL;MA2FQ,mBAAkB,EACnB;IA5FP;MA8FQ,aAAY,EAOb;MArGP;QAgGU,WAAU,EACX;MAjGT;QAmGU,WAAU,EACX;IApGT;MAuGQ,UAAS,EACV;EAxGP;IA4GI,+BJiF8D,EIhF/D;EA7GH;;IAiHI,kBA7HoB;IA8HpB,sBAAqB,EAmBtB;IArIH;;MAqHQ,gBAAe;MACf,kBAAiB,EAClB;IAvHP;;MA0HM,mBAAkB,EACnB;IA3HL;;MA6HM,kBAAiB,EAClB;IA9HL;;MAgIM,gBAAe;MACf,sBAAqB;MACrB,gBAAe;MACf,kBAAiB,EAClB;EAEF;IAEG,iBApJkB,EAqJnB;EAEF;IAEG,kBAzJkB,EA0JnB;EA9IL;IAoJQ,4BAA2B;IAC3B,+BAA8B,EAO/B;IA5JP;MAuJU,aAAY,EACb;IAxJT;MA0JU,aAAY,EACb;EAIP;IACE,+BAAuD,EACxD;EAED;IACE,eAAc,EACf;EACA;IAEG,qCAxL0D;IAyL1D,uBAAsB;IACtB,oBAAmB,EAEpB;EANF;IASK,iBAAgB,EACnB;EAVF;IAaK,gBAAgB,EACjB;EAdJ;IAkBG,4CAxM0D;IAyM1D,uBAAsB,EACvB;EApBF;;IAuBG,2CA7M0D;IA8M1D,uBAAsB,EACvB;EAEF;IAGK,iBAAgB,EAIjB;IAPJ;MAKO,cAAa,EACd;EAIP;IACE,iBAAgB;IAChB,+BJmvC2E;IIlvC3E,uBJmvC+D,EIlvChE;EA/MH;IAkNI,iBA9NoB,EA+NrB;EAED;IACE,iBAAgB;IAChB,mBAAkB,EACnB;EACD;IACE,oBAAmB;IACnB,oBAAmB,EACpB;EAEA;IACC,mBAAkB,EACnB;EAED;IACE,aAAY;IACZ,iBAAgB,EACjB;EAGD;IACE,mBAAkB;IAClB,qBAAoB;IACpB,qBAAoB;IACpB,mBAAkB;IAClB,uBAAsB,EACvB;EAED;IACE,kBA7PoB;IA8PpB,yCAlQ4D,EAmQ7D;EAED;IACE,mBAAkB,EACnB;EAED;IACE,kBAtQoB;IAuQpB,4CA3Q4D,EA+Q7D;IANA;MAIG,mBAAkB,EACnB;EAEH;IACE,mBA7QoB,EA8QrB;EAED;IACE,kBAA8B;IAC9B,iBAAgB;IAChB,4CAvR4D;IAwR5D,mBAAkB;IAClB,mBAAkB,EAUnB;IAfA;MAOG,gBAAe;MACf,kBAAiB,EAMlB;MAdF;QAUK,gBAAe;QACf,kBAAiB;QACjB,eAAc,EACf;EAIL;IACE,YAAW,EACZ;EACA;IAIK,iBAAgB,EACjB;EALJ;IAOK,+BAAuD,EACxD;EAEH;IACE,gBAAe;IACf,sBAAqB;IACrB,kBAAiB;IACjB,YAAW;IACX,aAAY;IACZ,mBAAkB;IAClB,kBAAiB;IACjB,0BAAiB;IAAjB,uBAAiB;IAAjB,sBAAiB;IAAjB,kBAAiB,EAKlB;IAbA;MAUG,gBAAe;MACf,WAAU,EACX;EAEH;IACE,mBAAkB,EACnB;EACD;IACE,aAAY,EACb;EACA;IAEG,iBAAgB;IAChB,kBAAiB,EAClB;EAEF;IAEG,iBAAgB;IAChB,kBAAiB,EAClB;EAGJ;IAEG,oBAAmB,EACpB;EAtUL;IAyUI,oBAAmB,EAQpB;IAjVH;MA2UM,oBAAmB,EACpB;IA5UL;MA+UM,WAAU,EACX;EAEH;IACE,cAAa,EACd;EACD;IAEE,gBAAe;IACf,YAAW;IACX,WAAU,EAWX;IAfA;MAMG,eAAc,EACf;IACD;MACE,oBAAmB;MACnB,YAAW,EAIZ;MANA;QAIG,YAAW,EACZ;EAGL;IACE,kBAAiB,EAIlB;IALA;MAGG,aAAY,EACb;EAEH;IACE,aAAY,EAIb;IALA;MAGG,aAAY,EACb;EAGH;IAEE,mBAAkB;IAClB,OAAM;IACN,iBAAgB;IAChB,WAAU,EAKX;IAVA;MAOG,YAAW;MACX,iBAAgB,EACjB;EAGH;IACE,QAAO;IACP,+CAA8C,EAQ/C;IAPC;MACE,oBAAmB;MACnB,oBAAmB,EACpB;IACD;MACE,iBAAgB,EACjB;EAGH;IACE,SAAQ;IACR,gDAA+C,EAShD;IALC;MACE,mBAAkB;MAClB,qBAAoB,EACrB;EAIH;IACE,iBAAgB,EACjB;EAED;IACE,iBAAgB,EACjB;EAEA;IAEG,oBAAmB,EACpB;EAHF;IAKG,qBAAa;IAAb,cAAa;IACb,sBAAuB;IAAvB,wBAAuB;IACvB,uBAAmB;IAAnB,oBAAmB,EAIpB;IAXF;MASK,gBAAe,EAChB;EAVJ;IAaG,+BJohCyE;IInhCzE,uBJohC6D;IInhC7D,6BAA2B;IAE3B,4BAA2B;IAE3B,0BAAyB;IACzB;;QAEE;IACA,sBAAqB;IACrB,kBAAiB,EA+DpB;IAvFF;MA8BK,mBAAkB;MAClB,iBAAgB;MAChB,aAAY;MACZ,uBAAsB;MACtB,mBAAkB;MAClB,sBAAqB;MACrB,iBAAgB,EAejB;MAnDJ;QAsCO,aAAY;QACZ,iBAAgB;QAChB,eAxcS,EAycV;MAzCN;;QA6CO,kBAAiB;QACjB,eAAc;QACd,YAAW;QACX,gBAAe,EAChB;IAjDN;;;;MAyDK,eAAc,EACf;IA1DJ;;MA8DK,aAAY;MACZ,gBAAe,EAChB;IAhEJ;;MAmEK,sBAAqB;MACrB,WAAU;MACV,gBAAe;MACf,iBAAgB;MAGhB,uCAAyC;MACzC,+GAA8G;MAC9G,QAAO;MACP,iBAAgB;MAChB,YAAW;MACX,YAAW,EAGZ;IAjFJ;MAoFS,sBAAqB,EACxB;EArFN;IAyFG,aAAY,EACb;EA1FF;IA4FG,+BJ9T4D,EIgU7D;EA9FF;IAoGG,iBAAgB,EACjB;EACD;IACE,mBAAkB,EAgCnB;IA9BC;MACE,aAAY;MACZ,mBAAkB;MAClB,aAAY;MACZ,OAAM;MAIN,YAAW;MAEX,uBAAsB;MACtB,WAAU,EAYX;MAvBA;QAcG,aAAY;QACZ,WAAU;QACV,wBAAsB;QACtB,eAAc,EACf;MAlBF;QAoBG,oBAAkB,EACnB;IAGH;MACE,mBAAkB,EAInB;MALA;QAGG,oBACF,EAAC;EAGJ;IAEG,aAAY,EACb;EAOH;IACE,YAAW;IACX,kBAAiB;IACjB,iBAAgB;IAChB,eAAa,EACd;EACD;IAEE,gBAAe;IACf,mBAAkB,EACnB;EACD;IACE,mBAAkB,EACnB;EACD;IACE,mBAAkB;IAClB,YAAW;IACX,aAAa;IACb,kBAAiB;IACjB,WAAW;IACX,SAAQ;IACR,WAAU;IACV,+BJy3ByE;IIx3BzE,mBAAkB;IAClB,gBAAe,EAKhB;IAfA;MAYG,aAAY;MACZ,eA7kBW,EA8kBZ;EAEH;IACE,gBAAe;IACf,gBAAe;IAEf,gBAAe,EAKhB;IATA;MAMG,YAAW,EAEZ;EAEH;IACE,kBAAiB;IACjB,iBAAgB;IAChB,uBAAsB;IACtB,gBAAe;IACf,iBAAgB;IAChB,wBAAuB;IACvB,oBAAmB;IACnB,sBAAqB;IACrB,uBAAsB,EACvB;EACD;IACE,uBAAsB;IACtB,iBAAgB,EACjB;EAGH;IAEE,cAAY;IACZ,qBAAoB,EACrB;EA9mBH;IAinBI,aAvnBiB;IAwnBjB,kBAxnBiB;IAynBjB,YAAU;IACV,eAAc;IACd,iBAAgB,EASjB;IA9nBH;MAunBM,kBA7nBe;MA8nBf,mBAAkB,EAKnB;MA7nBL;QA0nBQ,YAhoBa;QAioBb,aAjoBa,EAkoBd;EA5nBP;IAkoBQ,mBA7oBuB,EA8oBxB;EAnoBP;IA0oBU,kBAtpBc,EAupBf;EA3oBT;IAipBI,WAAU;IACV,YAAW,EACZ;EAnpBH;IAqpBI,cAAa,EACd;EAtpBH;IAwpBI,+BAA8B;IAC9B,mBAAkB,EACnB;EA1pBH;IA4pBI,mBAAkB;IAClB,0BAAyB;IACzB,mBAAkB,EACnB;EA/pBH;IAkqBI,cAAa,EACd;EAnqBH;IAsqBI,cAAa,EACd;EAvqBH;IA0qBI,aAAW,EACZ;EA3qBH;IA6qBI,aAAY;IACZ,aAAY,EACb;;AAIH;EACE,cAAa;EAGb,kBAAiB,EAClB;;AAEC;EAEI,oBAAkB,EACnB;;AAEL;EAEI,0BAAyB,EAC1B;;AAHH;;EAMI,qCArtB4D,EAstB7D;;AAGH;;EAEE,WAAU;EACV,+DAA8D;EAC9D,yBAAwB;EACxB,0BAAyB;EACzB,6BAA4B,EAC7B;;AAED;EACE,kEAAiE;EACjE,yBAAwB;EACxB,0BAAyB;EACzB,6BAA4B,EAC7B;;AAED;;EAEE,2BAA0B;EAC1B,8BAA6B,EAC9B;;AAED;EACE,6BAA4B;EAC5B,8BAA6B,EAC9B;;AAED;EACE;IACE,sBAAqB;IACrB,4BAA2B;IAC3B,WAAU;IACV,6BJlsB+C,EAAA;EIosBjD;IACE,sBAAqB;IACrB,yBAAwB;IACxB,WAAU,EAAA;EAEZ;IACE,6BJ1sB+C,EAAA;EI4sBjD;IACE,wBAAuB;IACvB,WAAU,EAAA,EAAA;;AAId;EACE;IACE,sBAAqB;IACrB,yBAAwB;IACxB,WAAU,EAAA;EAEZ;IACE,sBAAqB;IACrB,6BAA4B;IAC5B,WAAU,EAAA,EAAA;;AAId;EACE,cAAa;EACb,kBAAiB;EACjB,WAAU,EACX;;AACD;EACE,cAAa;EACb,aAAY;EACZ,sBAAsB;EACtB,yBAAyB;EACzB,wBAAuB;EACvB,eAAc;EACd,yBAAyB;EACzB,0BAA0B;EAC1B,UAAS;EACT,mBAAkB;EAClB,WAAU;EACV,SAAQ;EACR,SAAQ,EACT;;AAED;EACE,mBAAkB,EACnB;;AAED;;EAEE,oBAAmB,EACpB;;AACD;EAEI,cAAa,EACd;;AAHH;EAKI,aAAY;EACZ,gBAAe,EAChB;;AAGH;EACE,0BAAyB;EACzB,aAAY,EACb;;AAED;;EAEE,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,YAAW;EACX,gBAAe,EAChB;;AAED;EACE,kBAAiB;EACjB,cAAa,EACd;;AAED;EACE,kBAAiB,EAClB;;AAED;EACE,sBAAqB,EACtB;;AAED;;EAEE,eAAc,EACf;;AAED;EACE,mBAAkB,EACnB;;AAED;EACE,oBAAmB,EAuBpB;EAxBD;IAGI,mBAAkB;IAClB,YAAW;IACX,YAAW;IACX,SAAQ;IACR,eAAc;IACd,gBAAe,EAChB;EATH;IAWI,aAAY,EACb;EAZH;IAcI,aAAY;IACZ,oBAAmB;IACnB,sBAAqB;IACrB,oBAAmB,EACpB;EAlBH;IAoBI,SAAQ;IACR,YAAW;IACX,mBAAkB,EACnB;;AAIH;EACE,YAAW;EACX,mBAAkB,EAyDnB;EA3DD;IAKI,oBAAmB,EACpB;EANH;IASI,oBAAmB,EACpB;EAVH;IAaI,cAAa,EACd;EAdH;IAiBI,kBAAiB;IACjB,mBAAkB;IAClB,WAAU;IACV,YAAW;IACX,mBAAkB,EAqCnB;IA1DH;MAwBM,eAAc;MACd,UAAS;MACT,mBAAkB;MAClB,mBAAkB,EAQnB;MAnCL;QA8BQ,WACF,EAAC;MA/BP;QAiCQ,UACF,EAAC;IAlCP;MAuCQ,oBAAmB,EACpB;IAxCP;MA0CQ,kBAAiB,EAClB;IA3CP;MA+CM,gBAAe;MACf,cAAa,EACd;IAjDL;MAoDM,mBAAkB;MAClB,WAAU;MACV,aAAY;MACZ,SAAQ;MACR,UAAS,EACV;;AAIL;EACI,cAAa,EAShB;EAVD;IAIY,kBAh7BoB;IAi7BpB,aAj7BoB;IAk7BpB,yBAAwB;IACxB,gBAAe,EAClB;;AAGT;EAEI,aAz7B4B,EA07B7B;;AAHH;EAKI,aA57B4B,EA67B7B;;AANH;EASM,kBAAiB,EAClB;;AAVL;EAaI,kBAAiB,EAClB;;AAEH;EACE,mBAAkB;EAClB,YAAW;EACX,cAAa;EACb,uBAAmB;EAAnB,oBAAmB;EACnB,sBAAuB;EAAvB,wBAAuB;EACvB,wBAAuB,EACxB;;AAED;EACE,mBAAkB;EAClB,UAAS,EACV;;AAKD;EAGM,oBAAmB,EACpB;;AAJL;EAOI,wBAAuB;EACvB,oBAAmB;EACnB,uBAAsB;EACtB,iBAAgB,EACjB;;AAEH;EAGM,oBAAmB,EACpB;;AAJL;EAQI,wBAAuB;EACvB,oBAAmB;EACnB,uBAAsB;EACtB,iBAAgB,EACjB;;AAEH;EACE,mBAAkB;EAClB,aAAW,EACZ;;AAED;EAGM,kBAAiB;EACjB,0BAAyB,EAC1B;;AALL;EAUM,kBAAiB;EACjB,0BAAyB,EAC1B;;AAZL;EAiBM,cAAa,EACd;;AAIL;EAEI,oBAAmB;EACnB,wCAAuC,EACxC;;AAJH;EAOI,iCAAgC,EACjC;;ACrhCH;EACE,oBAAmB,EACpB;;AAED;EACE,aAAY,EAMb;EAPD;IAII,YAAW,EACZ;;AAGH;EACE,cAAa;EACb,YAAW;EACX,oBAAmB;EACnB,sBAAqB,EAKtB;EATD;IAMI,oBAAmB;IACnB,sBAAqB,EACtB;;AC1CH;EAEQ,oBAAmB,EACtB;;AAHL;EAKQ,oBAAmB,EACtB;;ACNL;EAEQ,mBAAkB,EACrB;;ACHL;EAEQ,iBAAgB;EAChB,oBAAmB,EACtB;;ACJL;EAIQ,UAAS,EAIV;EARP;IAMU,kBAAiB,EAClB;;AAPT;EAcM,iBAAgB,EAMjB;EApBL;IAiBQ,gBAAe;IACf,kBAAiB,EAClB;;AAnBP;;EAwBM,aAAY,EACb;;AAzBL;EA6BI,uBAAsB;EACtB,kBAAiB;EACjB,mBAAkB,EACnB;;AAhCH;EAmCI,kBAAiB;EACjB,mBAAkB,EAenB;EAnDH;IAuCM,aAAY;IACZ,0BAAyB;IACzB,SAAQ;IACR,aAAY;IACZ,mBAAkB;IAClB,SAAQ;IACR,WAAU,EACX;EA9CL;IAiDM,eACF,EAAC;;AAlDL;EAqDI,+BAA8B,EAC/B;;AAtDH;EAyDI,mBAAkB;EAClB,SAAQ;EACR,eAAc;EACd,gBAAe,EAChB;;AA7DH;EAgEI,wBAAuB,EACxB;;AAGH;EAEI,eAAc,EACf;;ACvEH;EAGM,iBAAgB,EAUjB;EAbL;IAMQ,kBAAiB;IACjB,gBAAe,EAKhB;IAZP;MAUU,sBAAqB,EACtB;;AAXT;EAgBM,aAAY,EACb;;AAjBL;EAqBQ,kBAAiB,EAClB;;AAtBP;;EA2BM,aAAY,EACb;;AA5BL;EAgCI,uBAAsB;EACtB,kBAAiB;EACjB,mBAAkB,EACnB;;AAnCH;EAsCI,iBAAgB,EAQjB;EA9CH;IAwCM,uBAAsB;IACtB,aAAY,EAIb;IA7CL;MA2CQ,sBAAqB,EACtB;;AA5CP;EAiDI,+BAA8B,EAC/B;;AAlDH;EAqDI,mBAAkB;EAClB,SAAQ;EACR,eAAc;EACd,gBAAe,EAChB;;AAGH;EAEI,eAAc,EACf;;AC/DH;EAGI,gBAAe;EACf,oBAAmB,EACpB;;AALH;EAQI,iBAAgB,EACjB;;AATH;EAYI,gBAAe,EAChB;;AAbH;EAgBI,eAAc;EACd,YAAW;EACX,aAAY;EACZ,oBAAmB,EACpB;;AApBH;EAuBI,wBAAuB,EACxB;;AAxBH;EA2BI,eAAc;EACd,YAAW;EACX,kBAAiB;EACjB,aAAY;EACZ,uBAAsB;EACtB,oBAAmB;EACnB,gBAAe;EACf,aAAY;EACZ,kBAAiB,EAKlB;EAxCH;IAqCM,WAAU;IACV,WAAU,EACX;;AAvCL;EA2CI,mBAAkB;EAClB,SAAQ;EACR,eAAc;EACd,gBAAe,EAChB;;AAGH;EACE,yBAAwB,EAKzB;EAND;IAII,eAAc,EACf;;AAEH;EACE,kBAAiB,EAClB;;AC3DD;EAGI,mBAAkB,EAOnB;EAVH;IAOQ,kBAAiB,EAClB;;AARP;EAcM,0BAAyB,EAC1B;;AAfL;EAkBQ,iBAAgB,EAMjB;EAxBP;IAqBU,gBAAe;IACf,kBAAiB,EAClB;;AAvBT;;EA4BQ,aAAY,EACb;;AA7BP;EAiCM,uBAAsB;EACtB,kBAAiB;EACjB,mBAAkB,EACnB;;AApCL;EAuCM,kBAAiB;EACjB,mBAAkB,EAenB;EAvDL;IA2CQ,aAAY;IACZ,0BAAyB;IACzB,SAAQ;IACR,aAAY;IACZ,mBAAkB;IAClB,SAAQ;IACR,WAAU,EACX;EAlDP;IAqDQ,eACF,EAAC;;AAtDP;EA0DM,+BAA8B,EAC/B;;AA3DL;EA8DM,aAAY;EACZ,mBAAkB;EAClB,aAAY;EACZ,OAAM;EACN,QAAO;EACP,kBAAiB;EACjB,oBAAmB;EACnB,sDAAqD,EACtD;;AAtEL;EAyEM,mBAAkB;EAClB,SAAQ;EACR,eAAc;EACd,gBAAe,EAChB;;AA7EL;EAgFM,wBAAuB,EACxB;;AAIL;EAEI,eAAc,EACf;;ACxFH;EAGY,gBAAe;EACf,mBAAkB;EAClB,kBAAiB,EACpB;;AANT;EAYgB,oBAAmB,EAC1B;;ACbT;EAEQ,gBAAe,EAClB;;;ACHL;EAEQ,oBAAmB,EACtB;;AAHL;EAKQ,qBAAa;EAAb,cAAa;EACb,uBAAmB;EAAnB,oBAAmB;EACnB,sBAAuB;EAAvB,wBAAuB,EAC1B","file":"demo.css","sourcesContent":["@charset \"UTF-8\";\n/* FormGroup */\n/* Navlayout */\n/* FormGroup */\n/* Navlayout */\n/**\r\n * 加载背景\r\n */\n/**\r\n * 文字\r\n */\n.u-loading-desc {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n font-size: 14px;\n color: #212121;\n text-align: center; }\n\n/**\r\n * default样式 单个圆圈加载\r\n */\n.u-loading.u-loading-rotate > div {\n position: absolute;\n border-radius: 100%;\n margin: 2px;\n -webkit-animation-fill-mode: both;\n animation-fill-mode: both;\n width: 40px;\n height: 40px;\n top: 50%;\n left: 50%;\n margin-left: -22px;\n margin-top: -22px;\n background: transparent !important;\n display: inline-block;\n -webkit-animation: rotate 1s 0s linear infinite;\n animation: rotate 1s 0s linear infinite;\n text-align: center;\n line-height: 40px; }\n .u-loading.u-loading-rotate > div > img {\n width: 40px; }\n .u-loading.u-loading-rotate > div > .uf {\n color: #0084ff;\n font-size: 40px;\n padding: 0; }\n\n.u-loading.u-loading-rotate.u-loading-rotate-lg > div {\n margin-left: -35px;\n margin-top: -35px;\n width: 60px;\n height: 60px;\n line-height: 60px; }\n .u-loading.u-loading-rotate.u-loading-rotate-lg > div > img {\n width: 60px; }\n .u-loading.u-loading-rotate.u-loading-rotate-lg > div > .uf {\n font-size: 60px; }\n\n.u-loading.u-loading-rotate.u-loading-rotate-sm > div {\n margin-left: -15px;\n margin-top: -15px;\n width: 25px;\n height: 25px;\n line-height: 25px; }\n .u-loading.u-loading-rotate.u-loading-rotate-sm > div > img {\n width: 25px; }\n .u-loading.u-loading-rotate.u-loading-rotate-sm > div > .uf {\n font-size: 25px; }\n\n.u-loading.u-loading-rotate.u-loading-rotate-primary > div > .uf {\n color: #3f51b5; }\n\n.u-loading.u-loading-rotate.u-loading-rotate-success > div > .uf {\n color: #4caf50; }\n\n.u-loading.u-loading-rotate.u-loading-rotate-warning > div > .uf {\n color: #ff9800; }\n\n.u-loading-backdrop {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1900;\n background-color: rgba(255, 255, 255, 0.4); }\n .u-loading-backdrop.full-screen {\n position: fixed; }\n\n@keyframes rotate {\n 0% {\n -webkit-transform: rotate(0deg) scale(1);\n transform: rotate(0deg) scale(1); }\n 50% {\n -webkit-transform: rotate(180deg) scale(1);\n transform: rotate(180deg) scale(1); }\n 100% {\n -webkit-transform: rotate(360deg) scale(1);\n transform: rotate(360deg) scale(1); } }\n\n.u-loading.u-loading-line {\n position: absolute;\n top: 50%;\n left: 50%;\n margin-top: -30px;\n margin-left: -25px; }\n .u-loading.u-loading-line > div {\n background-color: #C2C3C5;\n width: 6px;\n height: 50px;\n border-radius: 2px;\n margin: 2px;\n -webkit-animation-fill-mode: both;\n animation-fill-mode: both;\n display: inline-block; }\n .u-loading.u-loading-line.u-loading-line-lg {\n margin-top: -50px;\n margin-left: -30px; }\n .u-loading.u-loading-line.u-loading-line-lg > div {\n width: 8px;\n height: 90px; }\n .u-loading.u-loading-line.u-loading-line-sm {\n margin-top: -22px;\n margin-left: -20px; }\n .u-loading.u-loading-line.u-loading-line-sm > div {\n width: 4px;\n height: 35px; }\n .u-loading.u-loading-line div:nth-child(1) {\n -webkit-animation: line-scale 1s 0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n animation: line-scale 1s 0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n background-color: #F44336; }\n .u-loading.u-loading-line div:nth-child(2) {\n -webkit-animation: line-scale 1s 0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n animation: line-scale 1s 0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n background-color: #7ED321; }\n .u-loading.u-loading-line div:nth-child(3) {\n -webkit-animation: line-scale 1s 0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n animation: line-scale 1s 0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n background-color: #0084FF; }\n .u-loading.u-loading-line div:nth-child(4) {\n -webkit-animation: line-scale 1s 0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n animation: line-scale 1s 0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n background-color: #FF9800; }\n .u-loading.u-loading-line div:nth-child(5) {\n -webkit-animation: line-scale 1s 0.5s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n animation: line-scale 1s 0.5s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n background-color: #D0021B; }\n .u-loading.u-loading-line.u-loading-line-primary > div {\n background-color: #3f51b5; }\n .u-loading.u-loading-line.u-loading-line-success > div {\n background-color: #4caf50; }\n .u-loading.u-loading-line.u-loading-line-warning > div {\n background-color: #ff9800; }\n\n.u-loading.u-loading-custom > div {\n position: absolute;\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%); }\n\n@keyframes line-scale {\n 0% {\n -webkit-transform: scaley(1);\n transform: scaley(1); }\n 50% {\n -webkit-transform: scaley(0.4);\n transform: scaley(0.4); }\n 100% {\n -webkit-transform: scaley(1);\n transform: scaley(1); } }\n\n.u-table {\n font-size: 12px;\n color: #212121;\n position: relative;\n line-height: 1.33;\n overflow: hidden; }\n .u-table-body {\n position: relative; }\n .u-table-body .u-table-row-expand-columns-in-body .expand-icon-con {\n display: none;\n pointer-events: none; }\n .u-table-hiden-drag {\n position: relative; }\n .u-table-hiden-drag-li {\n position: absolute;\n top: 0px;\n left: 0px; }\n .u-table table {\n width: 100%;\n border-collapse: collapse;\n text-align: left; }\n .u-table th {\n font-weight: bold;\n text-align: left;\n line-height: 16px; }\n .u-table th[colspan] {\n text-align: center; }\n .u-table th ::last-child {\n overflow: hidden; }\n .u-table td {\n border-bottom: 1px solid rgb(193, 199, 208);\n line-height: 1.33; }\n .u-table td a {\n color: #2196F3; }\n .u-table td a:hover {\n color: #1565c0; }\n .u-table td a:active {\n color: #1565c0; }\n .u-table td .u-switch-span {\n display: inline-block; }\n .u-table thead tr:last-child {\n border-bottom: 1px solid #C1C7D0; }\n .u-table thead tr > th:last-child {\n border-right: none; }\n .u-table tr:hover td .uf-eye {\n visibility: visible !important; }\n .u-table tr tr a {\n color: #2196F3; }\n .u-table tr tr a:hover {\n color: #1565c0; }\n .u-table tr tr a:active {\n color: #1565c0; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body) {\n display: flex;\n flex-direction: row-reverse; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body):nth-last-child(1):last-child {\n border-right: none; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body) .expand-icon-con {\n height: 14px; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body) .expand-icon-con .uf {\n padding: 0; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body) .expand-icon-con .u-table-row-expand-icon {\n width: 2px; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body) .u-checkbox {\n margin: 0; }\n .u-table tr.tr-row-hover {\n background: rgb(235, 236, 240); }\n .u-table th,\n .u-table td {\n padding: 12px 8px;\n word-break: break-all; }\n .u-table th.drag-handle-column .uf,\n .u-table td.drag-handle-column .uf {\n font-size: 12px;\n line-height: 12px; }\n .u-table th.text-center,\n .u-table td.text-center {\n text-align: center; }\n .u-table th.text-right,\n .u-table td.text-right {\n text-align: right; }\n .u-table th .expand-icon-con,\n .u-table td .expand-icon-con {\n cursor: pointer;\n display: inline-block;\n font-size: 12px;\n line-height: 12px; }\n .u-table-sm td {\n padding: 8px 8px; }\n .u-table-lg td {\n padding: 16px 8px; }\n .u-table tr.filterable th {\n padding-top: 5px !important;\n padding-bottom: 5px !important; }\n .u-table tr.filterable th .filterContext {\n height: 35px; }\n .u-table tr.filterable th .u-select-selection--single {\n height: 26px; }\n .u-table-row-hover {\n background: rgb(235, 236, 240); }\n .u-table-scroll {\n overflow: auto; }\n .u-table-bordered table {\n border: 1px solid rgb(193, 199, 208);\n box-sizing: border-box;\n table-layout: fixed; }\n .u-table-bordered .u-table-header > table {\n border-bottom: 0; }\n .u-table-bordered .u-table-header ~ .u-table-body table, .u-table-bordered .u-table-header ~ .u-table-body-outer table {\n border-top: 0px; }\n .u-table-bordered th {\n border-bottom: 1px solid rgb(193, 199, 208);\n box-sizing: border-box; }\n .u-table-bordered th,\n .u-table-bordered td {\n border-right: 1px solid rgb(193, 199, 208);\n box-sizing: border-box; }\n .u-table-drag-border tr th.th-can-not-drag {\n overflow: hidden; }\n .u-table-drag-border tr th.th-can-not-drag .u-table-thead-th-drag-gap {\n display: none; }\n .u-table-header {\n overflow: hidden;\n background: rgb(241, 242, 245);\n color: rgb(33, 33, 33); }\n .u-table.fixed-height td {\n padding: 0px 8px; }\n .u-table-fixed-header .u-table-body {\n background: #fff;\n position: relative; }\n .u-table-fixed-left .u-table-body-inner {\n margin-right: -20px;\n padding-right: 20px; }\n .u-table-fixed-header:not(.u-table-hide-header) .u-table-fixed-left .u-table-body-inner {\n padding-right: 0px; }\n .u-table-fixed-header .u-table-body-inner {\n height: 100%;\n overflow: scroll; }\n .u-table-fixed-header .u-table-scroll .u-table-header {\n overflow-x: scroll;\n padding-bottom: 20px;\n margin-bottom: -20px;\n overflow-y: scroll;\n box-sizing: border-box; }\n .u-table-title {\n padding: 12px 8px;\n border-top: 1px solid rgb(193, 199, 208); }\n .u-table-content {\n position: relative; }\n .u-table-footer {\n padding: 12px 8px;\n border-bottom: 1px solid rgb(193, 199, 208); }\n .u-table-footer .u-table-scroll {\n overflow-x: hidden; }\n .u-table-footer .u-table {\n margin: -12px -8px; }\n .u-table-placeholder {\n padding: 12px 8px;\n background: #fff;\n border-bottom: 1px solid rgb(193, 199, 208);\n text-align: center;\n position: relative; }\n .u-table-placeholder .table-nodata {\n font-size: 40px;\n line-height: 44px; }\n .u-table-placeholder .table-nodata + span {\n font-size: 12px;\n line-height: 12px;\n display: block; }\n .u-table-expand-icon-col {\n width: 10px; }\n .u-table-row .u-table tr, .u-table-expanded-row .u-table tr {\n background: #fff; }\n .u-table-row .u-table tr.u-table-row-hover, .u-table-expanded-row .u-table tr.u-table-row-hover {\n background: rgb(235, 236, 240); }\n .u-table-row-expand-icon, .u-table-expanded-row-expand-icon {\n cursor: pointer;\n display: inline-block;\n margin-right: 8px;\n width: 14px;\n height: 14px;\n text-align: center;\n line-height: 14px;\n user-select: none; }\n .u-table-row-expand-icon.uf, .u-table-expanded-row-expand-icon.uf {\n font-size: 12px;\n padding: 0; }\n .u-table-row-spaced, .u-table-expanded-row-spaced {\n visibility: hidden; }\n .u-table-row-spaced:after, .u-table-expanded-row-spaced:after {\n content: \".\"; }\n .u-table-row-expanded:after, .u-table-expanded-row-expanded:after {\n content: \"\\e639\";\n font-family: \"uf\"; }\n .u-table-row-collapsed:after, .u-table-expanded-row-collapsed:after {\n content: \"\\e61c\";\n font-family: \"uf\"; }\n .u-table-row.selected {\n background: #FFF7E7; }\n .u-table tr.u-table-expanded-row {\n background: #DFE1E6; }\n .u-table tr.u-table-expanded-row:hover {\n background: #DFE1E6; }\n .u-table tr.u-table-expanded-row .u-table {\n z-index: 1; }\n .u-table-column-hidden {\n display: none; }\n .u-table-prev-columns-page, .u-table-next-columns-page {\n cursor: pointer;\n color: #666;\n z-index: 1; }\n .u-table-prev-columns-page:hover, .u-table-next-columns-page:hover {\n color: #2db7f5; }\n .u-table-prev-columns-page-disabled, .u-table-next-columns-page-disabled {\n cursor: not-allowed;\n color: #999; }\n .u-table-prev-columns-page-disabled:hover, .u-table-next-columns-page-disabled:hover {\n color: #999; }\n .u-table-prev-columns-page {\n margin-right: 8px; }\n .u-table-prev-columns-page:before {\n content: \"<\"; }\n .u-table-next-columns-page {\n float: right; }\n .u-table-next-columns-page:before {\n content: \">\"; }\n .u-table-fixed-left, .u-table-fixed-right {\n position: absolute;\n top: 0;\n overflow: hidden;\n z-index: 1; }\n .u-table-fixed-left table, .u-table-fixed-right table {\n width: auto;\n background: #fff; }\n .u-table-fixed-left {\n left: 0;\n box-shadow: 4px 0 4px rgba(100, 100, 100, 0.1); }\n .u-table-fixed-left-body-inner {\n margin-right: -20px;\n padding-right: 20px; }\n .u-table-fixed-left-fixed-header .u-table-fixed-left .u-table-fixed-left-body-inner {\n padding-right: 0; }\n .u-table-fixed-right {\n right: 0;\n box-shadow: -4px 0 4px rgba(100, 100, 100, 0.1); }\n .u-table-fixed-right-expanded-row {\n color: transparent;\n pointer-events: none; }\n .u-table-scroll-position-left .u-table-fixed-left {\n box-shadow: none; }\n .u-table-scroll-position-right .u-table-fixed-right {\n box-shadow: none; }\n .u-table-thead .filter-text, .u-table-thead .filter-dropdown, .u-table-thead .filter-date {\n font-weight: normal; }\n .u-table-thead .filter-wrap {\n display: flex;\n justify-content: center;\n align-items: center; }\n .u-table-thead .filter-wrap .filter-btns {\n min-width: 58px; }\n .u-table-thead th {\n background: rgb(241, 242, 245);\n color: rgb(33, 33, 33);\n background-clip: padding-box;\n -moz-user-select: -moz-none;\n -khtml-user-select: none;\n -webkit-user-select: none;\n /*\r\n Introduced in IE 10. \r\n */\n -ms-user-select: none;\n user-select: none; }\n .u-table-thead th .bee-table-column-sorter {\n position: relative;\n margin-left: 4px;\n height: 16px;\n vertical-align: middle;\n text-align: center;\n display: inline-block;\n margin-top: -3px; }\n .u-table-thead th .bee-table-column-sorter i {\n padding: 0px;\n font-weight: 600;\n color: #505F79; }\n .u-table-thead th .bee-table-column-sorter > .bee-table-column-sorter-down,\n .u-table-thead th .bee-table-column-sorter > .bee-table-column-sorter-up, .u-table-thead th .bee-table-column-sorter > .bee-table-column-sorter-flat {\n line-height: 16px;\n display: block;\n width: 34px;\n cursor: pointer; }\n .u-table-thead th .bee-table-column-sorter-down.on .uf-triangle-down,\n .u-table-thead th .bee-table-column-sorter-down.on .uf-triangle-up,\n .u-table-thead th .bee-table-column-sorter-up.on .uf-triangle-down,\n .u-table-thead th .bee-table-column-sorter-up.on .uf-triangle-up {\n color: #108ee9; }\n .u-table-thead th .bee-table-column-sorter .uf-triangle-down,\n .u-table-thead th .bee-table-column-sorter .uf-triangle-up {\n -webkit-filter: none;\n filter: none;\n font-size: 12px; }\n .u-table-thead th .bee-table-column-sorter .uf-triangle-down,\n .u-table-thead th .bee-table-column-sorter .uf-triangle-up {\n display: inline-block;\n padding: 0;\n font-size: 12px;\n font-size: 8px\\9;\n -webkit-transform: scale(0.66667) rotate(0deg);\n -ms-transform: scale(0.66667) rotate(0deg);\n transform: scale(0.66667) rotate(0deg);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=1, M12=0, M21=0, M22=1)\";\n zoom: 1;\n line-height: 4px;\n height: 4px;\n color: #999; }\n .u-table-thead th:hover .bee-table-column-sorter {\n display: inline-block; }\n .u-table-thead .th-drag {\n cursor: move; }\n .u-table-thead .th-drag:hover {\n background: rgb(235, 236, 240); }\n .u-table-thead .th-drag-hover {\n background: #ccc; }\n .u-table-thead-th {\n position: relative; }\n .u-table-thead-th-drag-gap {\n height: 100%;\n position: absolute;\n right: -10px;\n top: 0;\n width: 20px;\n box-sizing: border-box;\n z-index: 1; }\n .u-table-thead-th-drag-gap .online {\n height: 100%;\n width: 1px;\n background: transparent;\n margin: 0 auto; }\n .u-table-thead-th-drag-gap .online-hover {\n background: #000000; }\n .u-table-thead-th-drag-gap:hover {\n cursor: col-resize; }\n .u-table-thead-th-drag-gap:hover .online {\n background: #000000; }\n .u-table-thead-th:last-child-drag-gap {\n border: none; }\n .u-table-filter-column-pop-cont {\n margin: 0px;\n max-height: 300px;\n overflow-y: auto;\n color: #212121; }\n .u-table-filter-column-clear-setting {\n cursor: pointer;\n margin-bottom: 4px; }\n .u-table-filter-column-cont {\n position: relative; }\n .u-table-filter-column-filter-icon {\n position: absolute;\n width: 30px;\n height: 39px;\n line-height: 39px;\n right: 0px;\n top: 1px;\n z-index: 2;\n background: rgb(241, 242, 245);\n text-align: center;\n cursor: pointer; }\n .u-table-filter-column-filter-icon i.uf {\n padding: 0px;\n color: #505F79; }\n .u-table-filter-column-pop-cont-item {\n margin-top: 8px;\n font-size: 12px;\n cursor: pointer; }\n .u-table-filter-column-pop-cont-item .u-checkbox {\n margin: 0px; }\n .u-table-filter-column-pop-cont-item span.drop-menu-title {\n margin-left: -3px;\n max-width: 132px;\n width: auto !important;\n min-width: 56px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: inline-block;\n vertical-align: middle; }\n .u-table-filter-column-pop .u-modal-dialog {\n border: 1px solid #ccc;\n background: #fff; }\n .u-table-row-fixed-columns-in-body {\n display: none;\n pointer-events: none; }\n .u-table .u-checkbox {\n height: 14px;\n line-height: 14px;\n margin: 0px;\n display: block;\n margin-left: 5px; }\n .u-table .u-checkbox .u-checkbox-label {\n line-height: 14px;\n padding-left: 16px; }\n .u-table .u-checkbox .u-checkbox-label:before, .u-table .u-checkbox .u-checkbox-label:after {\n width: 14px;\n height: 14px; }\n .u-table .u-table-scroll tr td:first-child, .u-table .u-table-scroll tr th:first-child, .u-table .u-table-fixed-left tr td:first-child, .u-table .u-table-fixed-left tr th:first-child {\n padding-left: 12px; }\n .u-table.has-fixed-left .u-table-scroll tr td:first-child, .u-table.has-fixed-left .u-table-scroll tr th:first-child {\n padding-left: 8px; }\n .u-table ::-webkit-scrollbar {\n width: 8px;\n height: 8px; }\n .u-table ::-webkit-scrollbar-button {\n display: none; }\n .u-table ::-webkit-scrollbar-thumb {\n background: #d5d5d5 !important;\n border-radius: 5px; }\n .u-table ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: #d5d5d5;\n position: absolute; }\n .u-table ::-webkit-scrollbar-track {\n display: none; }\n .u-table ::-webkit-scrollbar-track-piece {\n display: none; }\n .u-table .row-dragg-able {\n cursor: move; }\n .u-table .u-table-drag-hidden-cont {\n width: 100px;\n height: 40px; }\n\n.u-table:focus {\n outline: none;\n box-shadow: 0 0 0; }\n\n.u-table-bordered .u-table-drag-gap {\n background: #e9e9e9; }\n\n.u-table.bordered table {\n border-collapse: collapse; }\n\n.u-table.bordered th,\n.u-table.bordered td {\n border: 1px solid rgb(193, 199, 208); }\n\n.move-enter,\n.move-appear {\n opacity: 0;\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n animation-duration: 2.5s;\n animation-fill-mode: both;\n animation-play-state: paused; }\n\n.move-leave {\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-play-state: paused; }\n\n.move-enter.move-enter-active,\n.move-appear.move-enter-active {\n animation-name: moveLeftIn;\n animation-play-state: running; }\n\n.move-leave.move-leave-active {\n animation-name: moveRightOut;\n animation-play-state: running; }\n\n@keyframes moveLeftIn {\n 0% {\n transform-origin: 0 0;\n transform: translateX(30px);\n opacity: 0;\n background: rgb(238,238,238); }\n 20% {\n transform-origin: 0 0;\n transform: translateX(0);\n opacity: 1; }\n 80% {\n background: rgb(238,238,238); }\n 100% {\n background: transparent;\n opacity: 1; } }\n\n@keyframes moveRightOut {\n 0% {\n transform-origin: 0 0;\n transform: translateX(0);\n opacity: 1; }\n 100% {\n transform-origin: 0 0;\n transform: translateX(-30px);\n opacity: 0; } }\n\n.formItem-style {\n height: unset;\n min-height: unset;\n padding: 0; }\n\n.errMessage-style {\n display: none;\n border: none;\n /* margin-top: 5px; */\n /* margin-bottom: 5px; */\n background: transparent;\n color: #f22c1d;\n /* padding-left: 12px; */\n /* padding-right: 12px; */\n margin: 0;\n position: absolute;\n padding: 0;\n top: 3px;\n right: 0; }\n\n.editable-cell {\n position: relative; }\n\n.editable-cell-input-wrapper,\n.editable-cell-text-wrapper {\n padding-right: 24px; }\n\n.editable-cell-input-wrapper .u-form-item.formItem-style .u-label {\n display: none; }\n\n.editable-cell-input-wrapper .u-input-group .u-form-control {\n height: 26px;\n font-size: 12px; }\n\n.editable-cell-text-wrapper {\n padding: 5px 24px 5px 5px;\n height: 30px; }\n\n.editable-cell-icon,\n.editable-cell-icon-check {\n position: absolute;\n top: 0;\n right: 0;\n width: 20px;\n cursor: pointer; }\n\n.editable-cell-icon {\n line-height: 28px;\n display: none; }\n\n.editable-cell-icon-check {\n line-height: 28px; }\n\n.editable-cell:hover .editable-cell-icon {\n display: inline-block; }\n\n.editable-cell-icon:hover,\n.editable-cell-icon-check:hover {\n color: #2db7f5; }\n\n.editable-add-btn {\n margin-bottom: 8px; }\n\n.search-component {\n margin-bottom: 20px; }\n .search-component .empty-search {\n position: absolute;\n right: 45px;\n z-index: 20;\n top: 5px;\n color: #524e4e;\n cursor: pointer; }\n .search-component.u-input-group.simple {\n float: right; }\n .search-component.u-input-group.simple .u-form-control {\n width: 251px;\n background: #f5f5f5;\n border-color: #f5f5f5;\n border-radius: 20px; }\n .search-component.u-input-group.simple .u-input-group-btn {\n top: 3px;\n right: 20px;\n position: absolute; }\n\n.col-resize-container {\n height: 0px;\n position: relative; }\n .col-resize-container + .table-col-resizer:first-of-type {\n table-layout: fixed; }\n .col-resize-container .active-drag .icon {\n visibility: visible; }\n .col-resize-container .last-handle {\n display: none; }\n .col-resize-container .drag-handle {\n margin-left: -5px;\n position: absolute;\n z-index: 5;\n width: 10px;\n cursor: col-resize; }\n .col-resize-container .drag-handle .icon {\n color: #40b0dc;\n top: -1px;\n position: absolute;\n visibility: hidden; }\n .col-resize-container .drag-handle .icon:first-child {\n left: -2px; }\n .col-resize-container .drag-handle .icon:last-child {\n left: 6px; }\n .col-resize-container .drag-handle:hover .icon {\n visibility: visible; }\n .col-resize-container .drag-handle:hover .col-resizer {\n border: 1px solid; }\n .col-resize-container .drag-handle.disabled-drag {\n cursor: default;\n display: none; }\n .col-resize-container .drag-handle .col-resizer {\n position: absolute;\n width: 1px;\n height: 100%;\n top: 0px;\n left: 3px; }\n\n.u-filter-dropdown-menu-wrap {\n z-index: 1800; }\n .u-filter-dropdown-menu-wrap .u-dropdown-menu li.u-dropdown-menu-item {\n line-height: 26px;\n height: 26px;\n padding: 0px 16px 0 16px;\n cursor: pointer; }\n\n.filter-wrap .u-form-control {\n height: 26px; }\n\n.filter-wrap .u-input-number.u-input-group.simple .u-input-group-btn .icon-group {\n height: 26px; }\n\n.filter-wrap .calendar-picker .u-input-group-btn {\n line-height: 20px; }\n\n.filter-wrap .u-input-number.u-input-group.simple .u-input-group-btn .icon-group .uf {\n line-height: 12px; }\n\n.u-row-hover {\n position: absolute;\n right: 24px;\n display: none;\n align-items: center;\n justify-content: center;\n background: transparent; }\n\n.u-row-hover2 {\n position: absolute;\n left: 100; }\n\n.header-dispaly-in-row.u-table table {\n table-layout: fixed; }\n\n.header-dispaly-in-row th {\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle;\n overflow: hidden; }\n\n.body-dispaly-in-row.u-table table {\n table-layout: fixed; }\n\n.body-dispaly-in-row td {\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle;\n overflow: hidden; }\n\n.u-table-drag-hidden-cont {\n position: absolute;\n top: -1000px; }\n\n.u-editable-table .u-table .u-table-row-hover .editable-cell-text-wrapper {\n padding-left: 4px;\n border: 1px solid #c1c7d0; }\n\n.u-editable-table .u-table .editable-cell-text-wrapper:hover {\n padding-left: 4px;\n border: 1px solid #a5adba; }\n\n.u-editable-table .u-table .editable-cell-input-wrapper:focus {\n outline: none; }\n\n.u-editable-table-tp .tooltip-arrow {\n top: 1px !important;\n border-bottom-color: #F44336 !important; }\n\n.u-editable-table-tp .tooltip-inner {\n border-color: #F44336 !important; }\n\n.selected {\n background: #FFF7E7; }\n\n.demo25 {\n height: 100%; }\n .demo25 .u-table-filter-column-filter-icon {\n right: 15px; }\n\n.opt-btns .u-button {\n margin: 0 4px;\n color: #fff;\n background: #505F79;\n border-color: #505F79; }\n .opt-btns .u-button:hover, .opt-btns .u-button:active {\n background: #344563;\n border-color: #505F79; }\n\n.demo04.u-table tr:nth-child(2n) {\n background: #f7f9fb; }\n\n.demo04.u-table tr.u-table-row-hover, .demo04 .u-table tr:hover {\n background: #ebecf0; }\n\n.demo22 .opt-btns {\n margin-bottom: 8px; }\n\n.demo32 .u-table-thead th {\n padding-top: 0px;\n padding-bottom: 0px; }\n\n.demo0501 .u-table .u-row-hover .opt-btns button, .demo0501 .u-table .u-row-hover .cancel-btns button {\n margin: 0; }\n .demo0501 .u-table .u-row-hover .opt-btns button:first-child, .demo0501 .u-table .u-row-hover .cancel-btns button:first-child {\n margin-right: 8px; }\n\n.demo0501 .u-table .u-table-row td {\n padding: 5px 8px; }\n .demo0501 .u-table .u-table-row td input {\n font-size: 12px;\n padding-left: 5px; }\n\n.demo0501 .u-table .u-table-row .u-form-control,\n.demo0501 .u-table .u-table-row .u-select-selection {\n height: 30px; }\n\n.demo0501 .u-table .editable-cell-text-wrapper {\n box-sizing: border-box;\n line-height: 20px;\n border-radius: 3px; }\n\n.demo0501 .u-table .required {\n margin-left: 10px;\n position: relative; }\n .demo0501 .u-table .required::before {\n content: \" \";\n border: 1px solid #F44336;\n width: 0;\n height: 12px;\n position: absolute;\n top: 9px;\n left: -8px; }\n .demo0501 .u-table .required span.u-input-group {\n display: block; }\n\n.demo0501 .u-table .verify-cell {\n padding-right: 25px !important; }\n\n.demo0501 .u-table .required-icon {\n position: absolute;\n top: 2px;\n color: #F44336;\n font-size: 20px; }\n\n.demo0501 .u-table .ref-input-wrap {\n width: 160px !important; }\n\n.u-editable-table-tp .tp-content {\n color: #F44336; }\n\n.u-editable-table .u-table .u-table-row td {\n padding: 5px 8px; }\n .u-editable-table .u-table .u-table-row td input {\n padding-left: 5px;\n font-size: 12px; }\n .u-editable-table .u-table .u-table-row td input.error {\n border-color: #F44336; }\n\n.u-editable-table .u-table .u-table-row .editable-cell {\n height: 30px; }\n\n.u-editable-table .u-table .u-table-row-hover .editable-cell-text-wrapper {\n line-height: 19px; }\n\n.u-editable-table .u-table .u-table-row .u-form-control,\n.u-editable-table .u-table .u-table-row .u-select-selection {\n height: 30px; }\n\n.u-editable-table .u-table .editable-cell-text-wrapper {\n box-sizing: border-box;\n line-height: 20px;\n border-radius: 3px; }\n\n.u-editable-table .u-table .editable-cell-input-wrapper {\n padding-right: 0; }\n .u-editable-table .u-table .editable-cell-input-wrapper .ref-input-wrap {\n width: auto !important;\n height: 30px; }\n .u-editable-table .u-table .editable-cell-input-wrapper .ref-input-wrap .u-input-group {\n display: inline-block; }\n\n.u-editable-table .u-table .verify-cell {\n padding-right: 25px !important; }\n\n.u-editable-table .u-table .require {\n position: absolute;\n top: 2px;\n color: #F44336;\n font-size: 20px; }\n\n.u-editable-table-tp .tp-content {\n color: #F44336; }\n\n.demo0503-m-b.u-modal .u-modal-body {\n padding: 16px 0;\n background: #f7f9fb; }\n\n.demo0503-m-b .u-form-group {\n overflow: hidden; }\n\n.demo0503-m-b .u-form-control {\n font-size: 12px; }\n\n.demo0503-m-b .editable-cell {\n display: block;\n float: left;\n width: 265px;\n padding-right: 25px; }\n\n.demo0503-m-b .ref-input-wrap {\n width: 240px !important; }\n\n.demo0503-m-b .u-label {\n display: block;\n float: left;\n text-align: right;\n width: 110px;\n box-sizing: border-box;\n padding-right: 10px;\n font-size: 12px;\n height: 32px;\n line-height: 32px; }\n .demo0503-m-b .u-label .mast {\n padding: 0;\n color: red; }\n\n.demo0503-m-b .required-icon {\n position: absolute;\n top: 2px;\n color: #F44336;\n font-size: 20px; }\n\n.u-editable-table-tp {\n z-index: 9999 !important; }\n .u-editable-table-tp .tp-content {\n color: #F44336; }\n\n.ref-core-button .u-button:first-child {\n margin-right: 8px; }\n\n.demo0505 .toolbar-btns {\n margin-bottom: 8px; }\n .demo0505 .toolbar-btns .u-button:first-child {\n margin-right: 8px; }\n\n.demo0505 .u-table .u-row-select {\n background-color: #FFF7E7; }\n\n.demo0505 .u-table .u-table-row td {\n padding: 5px 8px; }\n .demo0505 .u-table .u-table-row td input {\n font-size: 12px;\n padding-left: 5px; }\n\n.demo0505 .u-table .u-table-row .u-form-control,\n.demo0505 .u-table .u-table-row .u-select-selection {\n height: 30px; }\n\n.demo0505 .u-table .editable-cell-text-wrapper {\n box-sizing: border-box;\n line-height: 20px;\n border-radius: 3px; }\n\n.demo0505 .u-table .required {\n margin-left: 10px;\n position: relative; }\n .demo0505 .u-table .required::before {\n content: \" \";\n border: 1px solid #F44336;\n width: 0;\n height: 12px;\n position: absolute;\n top: 9px;\n left: -8px; }\n .demo0505 .u-table .required span.u-input-group {\n display: block; }\n\n.demo0505 .u-table .verify-cell {\n padding-right: 25px !important; }\n\n.demo0505 .u-table .edited::after {\n content: \" \";\n position: absolute;\n z-index: 999;\n top: 0;\n left: 0;\n border-width: 5px;\n border-style: solid;\n border-color: #f44336 transparent transparent #f44336; }\n\n.demo0505 .u-table .required-icon {\n position: absolute;\n top: 2px;\n color: #F44336;\n font-size: 20px; }\n\n.demo0505 .u-table .ref-input-wrap {\n width: 160px !important; }\n\n.u-editable-table-tp .tp-content {\n color: #F44336; }\n\nth .drop-menu .uf {\n font-size: 12px;\n visibility: hidden;\n margin-left: 15px; }\n\nth:hover .uf {\n visibility: visible; }\n\n.expanded-table .expand-icon-con .uf {\n font-size: 12px; }\n\n\n.demo8 .u-table {\n margin-bottom: 11px; }\n\n.demo8 .u-pagination {\n display: flex;\n align-items: center;\n justify-content: center; }\n","\n\n// $performance_font: 'Helvetica', 'Arial', sans-serif !default;\n\n@import \"minxin-colors\";\n\n\n\n@function strip-units($number) {\n @return $number / ($number * 0 + 1);\n}\n$unit: 10px !default;\n// IMAGES\n$image_path: '/images' !default;\n\n\n\n//默认颜色\n$trim-color-classes: false !default;\n\n@import \"minxin-themeColors\";\n\n//对比色\n$color-primary-contrast: $color-dark-contrast !default;\n$color-accent-contrast: $color-dark-contrast !default;\n//字体颜色\n$color-text: $palette-grey-900 !default;\n\n//不明所以 $primary-color: unquote(\"rgba(#{$palette-grey-500}, 0.20)\") !default;\n\n// -- Fonts 字体大小权重预定义\n$preferred-font: 'Open Sans','Helvetica Neue',Arial,'Hiragino Sans GB','Microsoft YaHei',sans-serif !default;\n$font-size: 1.6 * $unit !default;\n$font-size-tiny: 1.2 * $unit !default;\n$font-size-small: 1.4 * $unit !default;\n$font-size-normal: $font-size !default;\n$font-size-big: 1.8 * $unit !default;\n$font-size-base: 12px !default;\n$font-weight-thin: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-semi-bold: 500 !default;\n$font-weight-bold: 700 !default;\n$font-color:unquote(\"rgb(#{$palette-u-gray-800})\") !default;\n// 白色背景下的文字颜色\n$font-color-base: #212121 !default;\n\n$font-weight-override: false;\n$font-weight-light: 300;\n$font-weight-normal: 400;\n$font-weight-medium: 500;\n$font-weight-bold: 700;\n$font-weight-base: $font-weight-normal;\n\n\n\n\n$gray-base: unquote(\"rgb(#{$palette-grey-900})\") !default;\n$gray-darkest: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$gray-darker: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$gray-dark: unquote(\"rgb(#{$palette-grey-600})\") !default;\n$gray: unquote(\"rgb(#{$palette-grey-500})\") !default;\n$gray-light: unquote(\"rgb(#{$palette-grey-400})\") !default;\n$gray-lighter: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$gray-lightest:unquote(\"rgb(#{$palette-grey-200})\") !default;\n$inverse: unquote(\"rgb(#{$color-white})\") !default;\n// $border-color-base: $gray-lighter;\n$border-color-base: unquote(\"rgb(#{$border-color})\") !default;\n$line-height-base: 1.57142857;\n\n// 边框圆角\n$border-radius-base: $border-radius;\n\n// 阴影\n\n$shadow-key-umbra-opacity: 0.2 !default;\n$shadow-key-penumbra-opacity: 0.14 !default;\n$shadow-ambient-shadow-opacity: 0.12 !default;\n\n$shadow-base: 0 1px 5px $gray-lighter;\n\n\n\n//-- Indexes\n$z-index-highest: 300;\n$z-index-higher: 200;\n$z-index-high: 100;\n$z-index-normal: 1;\n$z-index-low: -100;\n$z-index-lower: -200;\n\n$zindex-modal: 1700;\n$zindex-modal-background: 1600;\n$zIndex-notification: 1560;\n$zIndex-message: 1550;\n$zIndex-popconfirm: 1540;\n$zIndex-popover: 1540;\n$zIndex-tooltip: 1530;\n$zIndex-alert: 1510;\n$zindex-navbar-fixed: 1500;\n$zindex-menubar: 1400;\n$zindex-overlay: 1300;\n$zindex-dropdown: 1200;\n$zindex-navbar: 1200;\n$zindex-header: 1100;\n$zindex-footer: 1000;\n$zindex-backtop:2000;\n\n// 文本字体\n\n//todo\n$text-color-primary: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$text-link-color: unquote(\"rgb(#{$color-accent})\") !default;\n\n$target-elements-directly: true !default;\n\n\n$global-selected-color: unquote(\"rgb(#{$palette-blue-100})\") !default;\n\n\n// 控件\n$cursor-disabled: not-allowed;\n\n\n$title-color: $gray-darkest;\n//todo\n$subtitle-color: $gray-darker;\n$text-color: $gray-dark;\n\n$prompt-color: $gray;\n//全局不同状态颜色\n//todo\n$active-color-base: unquote(\"rgb(#{$palette-blue-800})\") !default;\n$normal-color-base: unquote(\"rgb(#{$palette-blue-600})\") !default;\n$hover-color-base: unquote(\"rgb(#{$palette-blue-400})\") !default;\n\n$bg-color-base: $gray-lightest;\n\n//disable颜色\n$disabled-color-base: #909090;\n$disabled-border-color: $gray-lighter;\n$disabled-bg-color: $gray-lightest;\n\n// 全局链接颜色\n$link-color: $normal-color-base;\n$link-hover-color: $hover-color-base;\n$link-active-color: $active-color-base;\n\n// 品牌色\n$brand-default: $gray-lighter;\n$brand-default-hover: $gray-lightest;\n$brand-default-active: $gray-light;\n// $brand-default: unquote(\"rgb(#{$color-primary})\");\n// $brand-default-hover: unquote(\"rgb(#{$color-primary-light})\");\n// $brand-default-active: unquote(\"rgb(#{$color-primary-dark})\");\n\n$brand-primary : unquote(\"rgb(#{$primary-color})\") !default;\n$brand-primary-hover: unquote(\"rgb(#{$primary-color-light})\") !default;\n$brand-primary-active: unquote(\"rgb(#{$primary-color-dark})\") !default;\n\n$brand-secondary : unquote(\"rgb(#{$secondary-color})\") !default;\n$brand-secondary-hover: unquote(\"rgb(#{$secondary-color-light})\") !default;\n$brand-secondary-active: unquote(\"rgb(#{$secondary-color-dark})\") !default;\n\n$brand-success: unquote(\"rgb(#{$palette-green-500})\") !default;\n$brand-success-hover: unquote(\"rgb(#{$palette-green-300})\") !default;\n$brand-success-active: unquote(\"rgb(#{$palette-green-700})\") !default;\n\n$brand-info: unquote(\"rgb(#{$palette-cyan-500})\") !default;\n$brand-info-hover: unquote(\"rgb(#{$palette-cyan-300})\") !default;\n$brand-info-active: unquote(\"rgb(#{$palette-cyan-700})\") !default;\n\n$brand-warning: unquote(\"rgb(#{$palette-orange-500})\") !default;\n$brand-warning-hover: unquote(\"rgb(#{$palette-orange-300})\") !default;\n$brand-warning-active: unquote(\"rgb(#{$palette-orange-700})\") !default;\n\n\n$brand-news: unquote(\"rgb(#{$palette-blue-500})\") !default;\n$brand-news-hover: unquote(\"rgb(#{$palette-blue-300})\") !default;\n$brand-news-active: unquote(\"rgb(#{$palette-blue-700})\") !default;\n\n$brand-danger: unquote(\"rgb(#{$palette-red-500})\") !default;\n$brand-danger-hover: unquote(\"rgb(#{$palette-red-300})\") !default;\n$brand-danger-active: unquote(\"rgb(#{$palette-red-700})\") !default;\n\n$brand-dark: $gray-darker;\n$brand-dark-hover: $gray-dark;\n$brand-dark-active: $gray-darkest;\n\n$brand-light : unquote(\"rgb(#{$color-dark-contrast})\") !default;\n$brand-light-hover: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$brand-light-active: unquote(\"rgb(#{$palette-grey-400})\") !default;\n\n$brand-light-primary : unquote(\"rgb(#{$palette-blue-50})\") !default;\n$brand-light-success: unquote(\"rgb(#{$palette-green-50})\") !default;\n$brand-light-info: unquote(\"rgb(#{$palette-cyan-50})\") !default;\n$brand-light-warning: unquote(\"rgb(#{$palette-orange-50})\") !default;\n$brand-light-news: unquote(\"rgb(#{$palette-blue-50})\") !default;\n$brand-light-danger: unquote(\"rgb(#{$palette-red-50})\") !default;\n\n//不同背景下对应的文字颜色\n\n$color-news: unquote(\"rgb(#{$palette-blue-500})\") !default;\n$color-success: unquote(\"rgb(#{$palette-green-500})\") !default;\n$color-info: unquote(\"rgb(#{$palette-cyan-500})\") !default;\n$color-warning: unquote(\"rgb(#{$palette-orange-500})\") !default;\n$color-danger: unquote(\"rgb(#{$palette-red-500})\") !default;\n$color-light: $gray-darker !default;\n\n//redius\n\n$default-border-radius: $border-radius;\n\n// hover时的背景色,包括select、dropdown、table、datepicker、tree、menu等组件\n$hover-bg-color-base: unquote(\"rgb(#{$item-hover-bg-color-base})\") !default;\n// // selected背景色,包括:select、menu等\n$selected-bg-color-base: unquote(\"rgb(#{$item-selected-bg-color-base})\") !default;\n\n// UButton\n\n// Button 基础背景色.\n// 默认按钮()\n$button-default-color: unquote(\"rgb(#{$default-color})\");\n$button-default-color-IE8: unquote(\"rgb(#{$default-color})\");\n\n// 边框按钮(shape:'border')\n$button-border-bg-color: unquote(\"rgb(#{$color-dark-contrast})\");\n\n// Button 不同状态下的背景色 :hover、active、focus状态.\n$button-hover-color: unquote(\"rgb(#{$default-color-light})\");\n$button-active-color: unquote(\"rgb(#{$default-color-dark})\");\n$button-focus-color: unquote(\"rgb(#{$default-color-light})\");\n\n// Button 配置不同colors属性时的背景色.\n$button-primary-color: $brand-primary;\n$button-primary-active-color: $brand-primary-active;\n$button-primary-hover-color: $brand-primary-hover;\n$button-secondary-color: $brand-secondary;\n$button-secondary-active-color: $brand-secondary-active;\n$button-secondary-hover-color: $brand-secondary-hover;\n$button-success-color: $brand-success;\n$button-success-active-color: $brand-success-active;\n$button-success-hover-color: $brand-success-hover;\n$button-info-color: $brand-info;\n$button-info-active-color: $brand-info-active;\n$button-info-hover-color: $brand-info-hover;\n$button-warning-color: $brand-warning;\n$button-warning-active-color: $brand-warning-active;\n$button-warning-hover-color: $brand-warning-hover;\n$button-danger-color: $brand-danger;\n$button-danger-active-color: $brand-danger-active;\n$button-danger-hover-color: $brand-danger-hover;\n$button-dark-color: $brand-dark;\n$button-dark-active-color: $brand-dark-active;\n$button-dark-hover-color: $brand-dark-hover;\n$button-light-color: $brand-light;\n$button-light-active-color: $brand-light-active;\n$button-light-hover-color: $brand-light-hover;\n\n// Button 文字颜色.\n// 主按钮(colors:'primary')\n$button-primary-text-color: $color-primary-contrast !default;\n$button-text-color: $button-primary-text-color;\n// 次按钮(colors:'secondary')\n$button-second-text-color: unquote(\"rgb(#{$button-secondary-text-color})\") !default;\n// 默认按钮()\n$button-default-text-color: unquote(\"rgb(#{$palette-grey-900})\") !default;\n// 边框按钮(shape:'border')\n// $button-border-text-color: unquote(\"rgb(#{$primary-color})\") !default;\n\n// Button 边框样式及颜色.\n$button-border-style: unquote(\"solid\") !default;\n$button-border-color: $border-color-base;\n$button-default-border-color: $button-default-color !default;\n\n// Button 不同状态下的边框颜色 :hover、active、focus状态.\n$button-hover-border-color: $brand-default-hover;\n$button-active-border-color: $brand-default-active;\n$button-focus-border-color: $brand-default-active;\n\n// FAB colors and sizes.\n$button-fab-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-hover-color-alt: unquote(\"rgb(#{$color-accent-light})\") !default;\n$button-fab-active-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-text-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$button-fab-ripple-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n\n// Icon button colors and sizes.\n$button-icon-color: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$button-icon-focus-color: $button-focus-color !default;\n\n// Button 最小宽度、高度、内边距、外边距、行高、边框粗细、圆角.\n$button-min-width: 72/10 * $unit !default;\n$button-height: 36/10 * $unit !default;\n$button-padding: 4/10* $unit 13/10 * $unit !default;\n$button-padding-IE8: 4px 13px !default;\n$button-top-padding: 1310 * $unit !default;\n$button-left-padding: 6/10* $unit !default;\n$button-line-height:1.57142857;\n$button-margin: 4/10 * $unit !default;\n$button-border-radius: 3/10 * $unit !default;\n$button-border-width: 1/10 * $unit !default;\n\n$button-fab-size: 38/10 * $unit !default;\n$button-fab-size-mini: 30/10 * $unit !default;\n$button-fab-font-size: 14/10 * $unit !default;\n\n$button-icon-size: 32/10 * $unit !default;\n$button-icon-size-mini: 13/10 * $unit !default;\n\n$button-raised-font-size: 14/10 * $unit !default;\n\n// Button 大按钮\n$button-padding-y-lg:8px;\n$button-padding-x-lg:15px;\n$font-size-lg:1.4 * $unit;\n\n\n// Button 特大型按钮\n$button-padding-y-xg:10.5px;\n$button-padding-x-xg:18px;\n$font-size-xg:1.6 * $unit;\n\n\n// Button 小型按钮\n$button-padding-y-sm:3px;\n$button-padding-x-sm:5px;\n$font-size-sm:1.2 * $unit;\n\n\n\n// UText\n\n\n$form-control-border-radius: $border-radius-base;\n$form-control-default-font-size: 14px;\n$form-control-lg-font-size: 14px;\n$form-control-sm-font-size: 12px;\n$form-control-default-height: 32px;\n$form-control-lg-height: 40px;\n$form-control-sm-height: 26px;\n$form-control-color: #424242;\n$form-control-bg-color: #fff;\n$form-control-border-color: $border-color-base;\n$form-control-disable-bg-color: #F7F9FB;\n$form-control-disable-color: $disabled-color-base;\n$form-control-disable-border-color: #DFE1E6;\n\n$input-text-background-color: transparent !default;\n$input-text-label-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$input-text-bottom-border-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n$input-text-bottom-border-color-IE8: unquote(\"rgb(#{$color-black})\") !default;\n$input-text-highlight-color: unquote(\"rgb(#{$primary-color})\") !default;\n$input-text-disabled-color: $input-text-bottom-border-color !default;\n$input-text-disabled-text-color: $input-text-label-color !default;\n$input-text-error-color: unquote(\"rgb(222, 50, 38)\") !default;\n$input-text-must-color:unquote(\"rgb(#{$palette-red-A700})\") !default;\n\n\n$input-text-font-size: 14px !default;\n$input-text-width: 100% !default;\n$input-text-padding: 4px !default;\n$input-text-vertical-spacing: 20px !default;\n\n$input-text-button-size: 32px !default;\n$input-text-floating-label-fontsize: 12px !default;\n$input-text-expandable-icon-top: 16px !default;\n$input-text-height:36px !default;\n$input-text-normal-width:360px !default;\n$input-text-short-width:180px !default;\n$input-text-normal-border-color:unquote(\"rgb(#{$palette-u-gray-400})\") !default;\n$input-text-color:unquote(\"rgb(#{$palette-u-gray-A200})\") !default;\n$input-text-focus-border-color:unquote(\"rgb(#{$palette-u-blue-400})\") !default;\n$input-lable-color:unquote(\"rgb(#{$palette-u-gray-900})\") !default;\n\n\n/* FormGroup */\n\n$error-input-border:$brand-danger;\n$warning-input-border:$brand-warning;\n$success-input-border:$brand-success;\n$success-addon-bg: $brand-light-success;\n$warning-addon-bg: $brand-light-warning;\n$error-addon-bg: $brand-light-danger;\n$form-group-margin-top: 15px;\n$form-group-margin-bottom: 15px;\n\n/* Navlayout */\n\n$layout-nav-color: unquote(\"rgb(#{$palette-grey-100})\") !default;\n\n// Drawer\n$layout-drawer-bg-color: unquote(\"rgb(#{$palette-grey-50})\") !default;\n$layout-drawer-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$layout-text-color: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$layout-drawer-navigation-color: #757575 !default;\n$layout-drawer-navigation-link-active-background: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$layout-drawer-navigation-link-active-color: $layout-text-color !default;\n\n// Header\n$layout-header-bg-color: unquote(\"rgb(#{$primary-color})\") !default;\n$layout-header-text-color: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n$layout-header-nav-hover-color: unquote(\"rgba(#{$palette-grey-700}, 0.6)\") !default;\n$layout-header-tab-text-color: unquote(\"rgba(#{$color-primary-contrast}, 0.6)\") !default;\n\n// Tabs\n$layout-header-tab-highlight: unquote(\"rgb(#{$color-accent})\") !default;\n\n$layout-nav-link-font-size: 13px !default;\n\n$layout-drawer-narrow: 240px !default;\n$layout-drawer-wide: 456px !default;\n$layout-drawer-width: $layout-drawer-narrow !default;\n\n$layout-header-icon-size: 32px !default;\n$layout-screen-size-threshold: 1024px !default;\n$layout-header-icon-margin: 24px !default;\n$layout-drawer-button-mobile-size: 44px !default;\n$layout-drawer-button-desktop-size: 34px !default;\n$layout-drawer-button-desktop-margin-top: 5px !default;\n$layout-drawer-button-mobile-margin-top: 10px !default;\n\n$layout-header-mobile-row-height: 56px !default;\n$layout-mobile-header-height: $layout-header-mobile-row-height;\n$layout-header-desktop-row-height: 44px !default;\n$layout-desktop-header-height: $layout-header-desktop-row-height;\n\n$layout-header-desktop-baseline: 80px !default;\n$layout-header-mobile-baseline: 72px !default;\n$layout-header-mobile-indent: 16px !default;\n$layout-header-desktop-indent: 40px !default;\n\n$layout-tab-font-size: 14px !default;\n$layout-tab-bar-height: 48px !default;\n$layout-tab-mobile-padding: 12px !default;\n$layout-tab-desktop-padding: 24px !default;\n$layout-tab-highlight-thickness: 2px !default;\n\n// gridlayout\n\n// Extra small screen / phone\n//$screen-xs: 480px;\n\n$screen-xs-min: 480px;\n// Deprecated `@screen-phone` as of v3.0.1\n//@screen-phone: @screen-xs-min;\n\n// Small screen / tablet\n// Deprecated `@screen-sm` as of v3.0.1\n//@screen-sm: 768px;\n$screen-sm-min: 768px;\n// Deprecated `@screen-tablet` as of v3.0.1\n//@screen-tablet: @screen-sm-min;\n\n// Medium screen / desktop\n// Deprecated `@screen-md` as of v3.0.1\n//@screen-md: 992px;\n$screen-md-min: 992px;\n// Deprecated `@screen-desktop` as of v3.0.1\n//@screen-desktop: @screen-md-min;\n\n// Large screen / wide desktop\n// Deprecated `@screen-lg` as of v3.0.1\n//@screen-lg: 1200px;\n$screen-lg-min: 1200px;\n// Deprecated `@screen-lg-desktop` as of v3.0.1\n//@screen-lg-desktop: @screen-lg-min;\n$screen-xs-max: ($screen-sm-min - 1 );\n\n$screen-sm-max: ($screen-sm-min - 1 );\n\n$screen-md-max: ($screen-lg-min - 1 );\n\n\n\n\n// Number of columns in the grid.\n$grid-columns: 12;\n// Padding between columns. Gets divided in half for the left and right.\n$grid-gutter-width: 30px;\n// Navbar collapse\n// Point at which the navbar becomes uncollapsed.\n$grid-float-breakpoint: 768px;\n// Point at which the navbar begins collapsing.\n$grid-float-breakpoint-max: ($grid-float-breakpoint - 1);\n\n\n// Small screen / tablet\n$container-tablet: (720px + $grid-gutter-width);\n// For `@screen-sm-min` and up.\n$container-sm: $container-tablet;\n\n// Medium screen / desktop\n$container-desktop: (940px + $grid-gutter-width);\n// For `@screen-md-min` and up.\n$container-md: $container-desktop;\n\n// Large screen / wide desktop\n$container-large-desktop: (1140px + $grid-gutter-width);\n// For `@screen-lg-min` and up.\n$container-lg: $container-large-desktop;\n\n\n\n// menu\n\n$default-dropdown-bg-color: unquote(\"rgb(#{$color-white})\") !default;\n$menu-expand-duration: 0.3s !default;\n$menu-fade-duration: 0.2s !default;\n\n// Default Item Colors\n$default-item-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$default-item-text-color-IE8: unquote(\"rgb(#{$color-black})\") !default;\n$default-item-outline-color: unquote(\"rgb(#{$palette-u-blue-400})\") !default;\n$default-item-hover-bg-color: unquote(\"rgb(#{$palette-u-blue-100})\") !default;\n$default-item-focus-bg-color: unquote(\"rgb(#{$palette-u-blue-200})\") !default;\n$default-item-active-bg-color: unquote(\"rgb(#{$palette-u-blue-200})\") !default;\n$default-item-divider-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n// Disabled Button Colors\n$disabled-item-text-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n\n// Tile\n$tile-width: 100%;\n\n$tile-default-border-color: #e9e9e9;\n$tile-default-hover-shadow-color: rgba(0, 0, 0, 0.2);\n\n$tile-primary-border-color: $button-primary-color;\n$tile-primary-hover-shadow-color: $button-primary-hover-color;\n\n$tile-danger-border-color: $button-danger-color;\n$tile-danger-hover-shadow-color: $button-danger-hover-color;\n\n$tile-warning-border-color: $button-warning-color;\n$tile-warning-hover-shadow-color: $button-warning-hover-color;\n\n$tile-success-border-color: $button-success-color;\n$tile-success-hover-shadow-color: $button-success-hover-color;\n\n$tile-info-border-color: $button-info-color;\n$tile-info-hover-shadow-color: $button-info-hover-color;\n\n// Alert\n$alert-news-bg: $brand-light-news;\n$alert-success-bg: $brand-light-success;\n$alert-info-bg: $brand-light-info;\n$alert-warning-bg: $brand-light-warning;\n$alert-danger-bg: $brand-light-danger;\n\n\n$alert-dark-news-bg: $brand-news;\n$alert-dark-success-bg: $brand-success;\n$alert-dark-info-bg: $brand-info;\n$alert-dark-warning-bg: $brand-warning;\n$alert-dark-danger-bg: $brand-danger;\n\n$alert-news-color: $color-news;\n$alert-success-color: $color-success;\n$alert-info-color: $color-info;\n$alert-warning-color: $color-warning;\n$alert-danger-color: $color-danger;\n\n$timeline-primary-color: $brand-primary;\n$timeline-news-color: $color-news;\n$timeline-success-color: $color-success;\n$timeline-info-color: $color-info;\n$timeline-warning-color: $color-warning;\n$timeline-danger-color: $color-danger;\n\n$alert-padding:10px;\n$alert-font-size:12px;\n$alert-border-radius: $border-radius;\n$alert-text-padding-left: 15px;\n$alert-text-padding-right: 15px;\n$alert-close-font-size: 21px;\n$alert-close-opacity: .2;\n$alert-close-font-weight: 700;\n\n//Checkbox\n\n$checkbox-color: unquote(\"rgb(#{$primary-color})\") !default;\n$checkbox-off-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-off-color-IE8: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-disabled-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-focus-color: unquote(\"rgba(#{$palette-u-blue-500}, 0.26)\") !default;\n$checkbox-image-path: $image_path;\n\n$checkbox-label-font-size: 13px !default;\n$checkbox-label-height: 24px !default;\n$checkbox-button-size: 16px !default;\n$checkbox-inner-margin: 2px !default;\n$checkbox-padding: 8px !default;\n$checkbox-top-offset:\n ($checkbox-label-height - $checkbox-button-size - $checkbox-inner-margin) / 2;\n$checkbox-ripple-size: $checkbox-label-height * 1.5;\n\n$checkbox-primary-bg: $brand-primary;\n$checkbox-success-bg: $brand-success;\n$checkbox-info-bg: $brand-info;\n$checkbox-warning-bg: $brand-warning;\n$checkbox-danger-bg: $brand-danger;\n$checkbox-dark-bg: $brand-dark;\n\n$progress-primary-bg: $brand-primary;\n$progress-success-bg: $brand-success;\n$progress-info-bg: $brand-info;\n$progress-warning-bg: $brand-warning;\n$progress-danger-bg: $brand-danger;\n$progress-dark-bg: $brand-dark;\n\n$primary-color-opacity:unquote(\"rgba(#{$primary-color}, 0.7)\") !default;\n$color-success-opacity:unquote(\"rgba(#{$palette-green-500}, 0.7)\") !default;\n$color-info-opacity:unquote(\"rgba(#{$palette-cyan-500}, 0.7)\") !default;\n$color-warning-opacity:unquote(\"rgba(#{$palette-orange-500}, 0.7)\") !default;\n$color-danger-opacity:unquote(\"rgba(#{$palette-red-500}, 0.7)\") !default;\n$color-dark-opacity:unquote(\"rgba(#{$palette-grey-700}, 0.7)\") !default;\n\n\n$progress-sm-height: 10px;\n$progress-xs-height: 5px;\n$progress-xs-width: 170px;\n$progress-default-height: 20px;\n$progress-sm-lable-font-size: 10px;\n$progress-sm-lable-line-height: 10px;\n$progress-xs-lable-line-height: 8px;\n$progress-xs-lable-margin-left: 140px;\n$progress-xs-lable-font-size: 10px;\n$progress-xs-lable-color: #000;\n\n// Radio\n\n$radio-color: unquote(\"rgb(#{$primary-color})\") !default;\n$radio-off-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$radio-off-color-IE8: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$radio-disabled-color: $disabled-color-base !default;\n\n$radio-label-font-size: 13px !default;\n$radio-label-height: 32px !default;\n$radio-button-size: 16px !default;\n$radio-inner-margin: $radio-button-size / 4;\n$radio-padding: 8px !default;\n$radio-top-offset: ($radio-label-height - $radio-button-size) / 2;\n$radio-ripple-size: 42px !default;\n\n$radio-primary-bg: $brand-primary;\n$radio-success-bg: $brand-success;\n$radio-info-bg: $brand-info;\n$radio-warning-bg: $brand-warning;\n$radio-danger-bg: $brand-danger;\n$radio-dark-bg: $brand-dark;\n\n$radio-disabled-bg: #f7f7f7;\n$radio-diabled-border-color: #d9d9d9;\n\n$radio-border-color: #d9d9d9;\n$radio-bg-color: #fff;\n$radio-color:$font-color-base;\n\n$radio-checked-bg-color: #fff;\n$radio-checked-color: $brand-primary;\n$radio-checked-border-color: $radio-checked-color;\n\n$radio-icon-height: 18px;\n$radio-icon-width: 18px;\n$radio-icon-checked-height: 8px;\n$radio-icon-checked-width: 8px;\n\n$radio-button-lg-height:42px;\n$radio-button-lg-line-height:26px;\n\n$radio-button-sm-height:22px;\n$radio-button-sm-line-height:20px;\n\n$radio-button-height: 28px;\n$radio-button-line-height: 26px;\n\n\n\n\n\n//loading\n\n$loading-color-1: unquote(\"rgb(#{$palette-blue-400})\") !default;\n$loading-color-2: unquote(\"rgb(#{$palette-red-500})\") !default;\n$loading-color-3: unquote(\"rgb(#{$palette-yellow-600})\") !default;\n$loading-color-4: unquote(\"rgb(#{$palette-green-500})\") !default;\n\n$loading-single-color: unquote(\"rgb(#{$primary-color})\") !default;\n\n$loading-size: 28px !default;\n$loading-stroke-width: 3px !default;\n\n// Amount of circle the arc takes up.\n$loading-arc-size: 270deg !default;\n// Time it takes to expand and contract arc.\n$loading-arc-time: 1333ms !default;\n// How much the start location of the arc should rotate each time.\n$loading-arc-start-rot: 216deg !default;\n\n$loading-duration: 360 * $loading-arc-time / (\n strip-units($loading-arc-start-rot + (360deg - $loading-arc-size)));\n\n// datetimepicker\n$timepicker-border-gap-color:#ccc;\n$timepicker-font-size:14px;\n\n$date-bg-color: unquote(\"rgb(#{$primary-color})\") !default;\n\n// message\n$snackbar-color: unquote(\"rgb(#{$color-white})\") !default;\n$snackbar-background-color: unquote(\"rgb(#{$primary-color})\") !default;\n$snackbar-color-cancel: unquote(\"rgb(#{$palette-red-500})\") !default;\n$snackbar-color-accept: unquote(\"rgb(#{$palette-green-500})\") !default;\n$snackbar-color-warning: unquote(\"rgb(#{$palette-lime-200})\") !default;\n\n// DATA TABLE\n\n$data-table-font-size: 13px !default;\n$data-table-header-font-size: 12px !default;\n$data-table-header-sort-icon-size: 16px !default;\n\n$data-table-header-color: rgba(#000, 0.54) !default;\n$data-table-header-sorted-color: rgba(#000, 0.87) !default;\n$data-table-divider-color: rgba(#000, 0.12) !default;\n$data-table-divider-color-IE8: rgb(0,0,0) !default;\n\n//$data-table-hover-color: #eeeeee !default;\n$data-table-hover-color: #E9F7FC !default;\n$data-table-selection-color: #C4EAF6 !default;\n\n$data-table-dividers: 1px solid $data-table-divider-color !default;\n$data-table-dividers-IE8: 1px solid $data-table-divider-color-IE8 !default;\n\n$data-table-row-height: 48px !default;\n$data-table-last-row-height: 56px !default;\n$data-table-header-height: 56px !default;\n\n$data-table-column-spacing: 36px !default;\n$data-table-column-padding: $data-table-column-spacing / 2;\n\n$data-table-card-header-height: 64px !default;\n$data-table-card-title-top: 20px !default;\n$data-table-card-padding: 24px !default;\n$data-table-button-padding-right: 16px !default;\n$data-table-cell-top: $data-table-card-padding / 2;\n\n// $line-height-computed: round(($font-size-small * $line-height-base));\n$line-height-computed: round((14px * $line-height-base));\n$table-bg: transparent;\n$table-cell-padding: 8px;\n$table-border-color: $border-color-base;\n$table-bg-hover: $bg-color-base;\n$table-bg-active: $table-bg-hover;\n$table-bg-accent: unquote(\"rgba(#{$palette-grey-200},.3)\") !default;\n\n\n\n\n// tooltip\n$tooltip-max-width: 200px;\n$tooltip-color: #fff;\n$tooltip-bg: #42526E;\n$tooltip-inverse-border-color: #d9d9d9;\n$tooltip-inverse-color: rgb(51,51,51);\n$tooltip-arrow-color: $tooltip-bg;\n$tooltip-opacity: 1;\n\n\n// 进度条\n$bar-height: 4px !default;\n$progress-main-color: unquote(\"rgb(#{$primary-color})\") !default;\n$progress-secondary-color: unquote(\"rgba(#{$color-primary-contrast}, 0.7)\") !default;\n$progress-fallback-buffer-color: unquote(\"rgba(#{$color-primary-contrast}, 0.9)\") !default;\n$progress-image-path: $image_path;\n$progress-buffer-bar-border:unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n\n// Tabs\n$layout-header-tab-highlight: unquote(\"rgb(#{$color-accent})\") !default;\n\n\n\n$tab-highlight-color: unquote(\"rgb(#{$primary-color})\") !default;\n$tab-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$tab-active-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$tab-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n\n\n\n//CARD\n\n$card-width: 330px !default;\n$card-height: 200px !default;\n$card-font-size: 13px !default;\n$card-title-font-size: 24px !default;\n$card-subtitle-font-size: 10px !default;\n$card-horizontal-padding: 16px !default;\n$card-vertical-padding: 16px !default;\n\n$card-title-perspective-origin-x: 165px !default;\n$card-title-perspective-origin-y: 56px !default;\n\n$card-title-transform-origin-x: 165px !default;\n$card-title-transform-origin-y: 56px !default;\n\n$card-title-text-transform-origin-x: 149px !default;\n$card-title-text-transform-origin-y: 48px !default;\n\n$card-supporting-text-font-size: 1.4 * $unit !default;\n$card-supporting-text-line-height: 18px !default;\n\n$card-actions-font-size: 13px !default;\n\n$card-title-text-font-weight: 300 !default;\n$card-z-index: 1 !default;\n\n// Cover image\n$card-cover-image-height: 186px !default;\n$card-background-image-url: '' !default;\n\n\n\n$card-background-color: unquote(\"rgb(#{$color-white})\") !default;\n$card-text-color: unquote(\"rgb(#{$color-black})\") !default;\n$card-image-placeholder-color: unquote(\"rgb(#{$color-accent})\") !default;\n$card-supporting-text-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$card-border-color: rgba(0,0,0,0.1) !default;\n$card-subtitle-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n\n\n$input-border:unquote(\"rgb(#{$palette-u-gray-500})\");\n$input-border-focus:unquote(\"rgb(#{$primary-color})\");\n$input-border-disabled:unquote(\"rgb(#{$palette-u-gray-100})\");\n$input-bg-disabled:unquote(\"rgb(#{$palette-u-gray-100})\");\n$input-color:unquote(\"rgb(#{$palette-u-gray-A100})\");\n$form-input-height:36px;\n$form-input-height-sm:28px;\n$form-input-padding-left:12px;\n$form-label-color:unquote(\"rgb(#{$palette-u-gray-900})\");\n$form-control-feedback-color:unquote(\"rgb(#{$palette-u-gray-700})\");\n$form-validate-error-color:unquote(\"rgb(#{$palette-u-red-600})\");\n\n\n// BADGE\n$badge-font-size: 12px !default;\n$badge-color: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$badge-color-inverse: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background-inverse: unquote(\"rgba(#{$color-accent-contrast},0.2)\") !default;\n$badge-size : 22px !default;\n$badge-padding: 2px !default;\n$badge-overlap: 12px !default;\n\n$badge-primary-color:#FFFFFF;\n$badge-primary-bg:$brand-primary;\n\n$badge-success-color:#FFFFFF;\n$badge-success-bg: $brand-success;\n\n$badge-info-color:#FFFFFF;\n$badge-info-bg:$brand-info;\n\n$badge-warning-color:#FFFFFF;\n$badge-warning-bg:$brand-warning;\n\n$badge-danger-color:#FFFFFF;\n$badge-danger-bg:$brand-danger;\n\n$badge-dark-color:#FFFFFF;\n$badge-dark-bg:$brand-dark;\n\n$badge-font-size: 12px;\n$badge-font-dataicon-size: 10px;\n$badge-default-dataicon-fontcolor: #757575;\n$badge-default-dataicon-bgcolor: #fff;\n$badge-default-dataicon-bordercolor: $border-color-base;\n\n// labels\n$tag-padding: .25em .6em .25em;\n$tag-border-radius: 0.3em;\n$tag-bg: #eeeeee;\n$tag-round-border-radius: 1em;\n$tag-default-color: #757575;\n$tag-default-bg:#e0e0e0;\n$tag-lg-font-size: 16px;\n$tag-sm-font-size: 10px;\n$tag-sm-padding: .1em .5em .1em;\n$tag-default-hover-bg: $brand-default-hover;\n$tag-primary-hover-bg: $brand-primary-hover;\n$tag-success-hover-bg: $brand-success-hover;\n$tag-info-hover-bg: $brand-info-hover;\n$tag-warning-hover-bg: $brand-warning-hover;\n$tag-danger-hover-bg: $brand-danger-hover;\n$tag-dark-hover-bg: $brand-dark-hover;\n$tag-default-bg: $brand-default;\n$tag-primary-bg: $brand-primary;\n$tag-success-bg: $brand-success;\n$tag-info-bg: $brand-info;\n$tag-warning-bg: $brand-warning;\n$tag-danger-bg: $brand-danger;\n$tag-dark-bg: $brand-dark;\n$tag-default-hover-color:unquote(\"rgb(#{$palette-u-gray-500})\");\n\n\n// pagination\n$pagination-gap-hover-border:#7A869A;\n\n$pagination-link-padding: 7px 13px;\n$pagination-lg-font-size: 16px;\n$pagination-lg-padding-vertical: 9.5px;\n$pagination-lg-padding-horizontal: 15.5px;\n\n$pagination-small-font-size: 12px;\n$pagination-small-padding-vertical: 4px;\n$pagination-small-padding-horizontal: 9.5px;\n\n$pag-color: #666666;\n$pag-bg-color: #fff;\n$pag-border-color:#d7d7d7;\n$pag-hover-color: #666;\n$pag-hover-bg-color:$hover-bg-color-base;\n$pag-hover-border-color:#d7d7d7;\n$pag-active-color: #fff;\n$pag-active-bg-color:#7A869A;\n$pag-active-border-color:#7A869A;\n$pag-disabled-color: #777;\n$pag-disabled-bg-color:#fff;\n$pag-disabled-border-color:#ddd;\n\n$border-radius-base: $border-radius;\n$border-radius-large: 4px;\n$border-radius-small: 2px;\n\n$line-height-large: 1.3333333; // extra decimals for Win 8.1 Chrome\n$line-height-small: 1.5;\n// widget\n\n$widget-padding-left:30px;\n$widget-padding-top:10px;\n\n//tooltips\n\n$tooltip-default-bg: $brand-default;\n$tooltip-primary-bg: $brand-primary;\n$tooltip-success-bg: $brand-success;\n$tooltip-info-bg: $brand-info;\n$tooltip-warning-bg: $brand-warning;\n$tooltip-danger-bg: $brand-danger;\n$tooltip-dark-bg: $brand-dark;\n\n//menu Button\n\n$menu-default-bg: $brand-default;\n$menu-primary-bg: $brand-primary;\n$menu-success-bg: $brand-success;\n$menu-info-bg: $brand-info;\n$menu-warning-bg: $brand-warning;\n$menu-danger-bg: $brand-danger;\n$menu-dark-bg: $brand-dark;\n$menu-default-bg-hover: $brand-default-hover;\n$menu-primary-bg-hover: $brand-primary-hover;\n$menu-success-bg-hover: $brand-success-hover;\n$menu-info-bg-hover: $brand-info-hover;\n$menu-warning-bg-hover: $brand-warning-hover;\n$menu-danger-bg-hover: $brand-danger-hover;\n$menu-dark-bg-hover: $brand-dark-hover;\n\n\n// breadcrumbs\n\n$breadcrumb-padding-vertical: 8px;\n$breadcrumb-padding-horizontal: 10px;\n$breadcrumb-separator: \"/\\00a0\";\n$breadcrumb-bg: transparent;\n$breadcrumb-margin-bottom: 10px;\n\n$breadcrumb-color: $brand-primary;\n$breadcrumb-active-color: $text-color;\n\n$breadcrumb-icon-margin-right: 10px;\n$breadcrumb-arrow-separator: \"\\00bb\\00a0\";\n\n$breadcrumb-bg-color: #f5f5f5;\n$breadcrumb-active-color: #777;\n$breadcrumb-separate-color: #ccc;\n\n// list-group\n$list-group-media-heading-font-size : $font-size-small;//14px\n$list-group-link-disabled-color : $disabled-color-base;\n\n$list-group-link-disabled-bg : $gray-lightest;\n\n$list-group-active-color : $brand-primary;\n$list-group-link-active-color : unquote(\"rgb(#{$color-white})\") !default;\n$list-group-link-active-bg : $brand-primary;\n\n\n$list-group-item-icon-margin-right : 10px;\n\n$list-group-bg-inherit-item-border : rgba(0, 0, 0, 0.075);\n$list-group-bg-inherit-item-hover-bg : rgba(0, 0, 0, 0.075);\n\n\n$list-group-border-radius: $border-radius-base;\n\n\n\n$list-group-link-color: $text-color;\n$list-group-link-hover-color: $text-color;\n$list-group-link-heading-color: $title-color;\n\n$list-group-hover-bg: $bg-color-base;\n\n$list-group-disabled-bg: transparent;\n\n$list-group-disabled-color: $disabled-color-base;\n\n\n$list-group-disabled-text-color: $list-group-disabled-color;\n$list-group-active-bg: transparent;\n$list-group-active-border: $list-group-active-bg;\n// $list-group-active-text-color: lighten($list-group-active-color, 40%);\n$list-group-active-text-color: $list-group-active-color;\n\n$list-group-bg: #fff;\n$list-group-border: transparent;\n// $list-group-bordered-border : $border-color-base;\n// $list-group-bordered-active-color : $component-active-color;\n// $list-group-bordered-active-bg : $component-active-bg;\n// $list-group-bordered-active-border : $list-group-bordered-active-bg;\n\n// $list-group-gap-item-margin-bottom : 2px;\n\n//step\n$steps-margin-bottom: $line-height-computed;\n$step-padding-horizontal:20px;\n$step-padding-vertical: 12px;\n\n$step-vertical-padding-horizontal: 20px;\n$step-vertical-padding-vertical:18px;\n\n$step-color: $gray;\n$step-bg: $bg-color-base;\n$step-number-bg: $gray-lighter;\n$step-number-color: $inverse;\n\n$step-current-color: $inverse;\n$step-current-bg: $brand-primary;\n\n$step-done-color: $inverse;\n$step-done-bg:$brand-success;\n\n$step-error-color: $inverse;\n$step-error-bg: $brand-danger;\n\n$step-disabled-color:$gray-light;\n\n$step-font-size: inherit;\n$step-title-font-size: 20px;\n$step-icon-font-size:27px;\n$step-number-font-size:24px;\n$step-number-size: 40px;\n\n$step-lg-padding-horizontal:20px;\n$step-lg-padding-vertical:20px;\n$step-lg-font-size: 16px;\n$step-lg-title-font-size:22px;\n$step-lg-icon-font-size: 32px;\n$step-lg-number-font-size:28px;\n$step-lg-number-size:46px;\n\n$step-sm-font-size: 12px;\n$step-sm-title-font-size: 18px;\n$step-sm-icon-font-size: 24px;\n$step-sm-number-font-size: 24px;\n$step-sm-number-size: 30px;\n\n$step-xs-font-size: 10px;\n$step-xs-title-font-size: 16px;\n$step-xs-icon-font-size: 22px;\n$step-xs-number-font-size: 20px;\n$step-xs-number-size: 24px;\n\n// blog nav\n$blognav-active-color:unquote(\"rgb(#{$primary-color})\");\n// widget\n$widget-padding-left:30px;\n$widget-padding-top:10px;\n\n\n// couter 数据统计\n\n$counter-number-color: $gray-darkest;\n$counter-number-font-size: 20px;\n$counter-icon-font-size: $counter-number-font-size;\n\n$counter-lg-number-font-size: 40px;\n$counter-md-number-font-size: 30px;\n$counter-sm-number-font-size: 14px;\n\n$counter-lg-icon-font-size: $counter-lg-number-font-size;\n$counter-md-icon-font-size: $counter-md-number-font-size;\n$counter-sm-icon-font-size: $counter-sm-number-font-size;\n\n$counter-inverse-color: $inverse;\n\n\n// navbar\n\n\n$menu-active-color: #108ee9;\n$menu-border-active-color: #108ee9;\n$menu-selected-bg-color: #eaf8fe;\n$menu-group-titil-color: #999;\n$menu-group-title-padding-left: 32px;\n$menu-color: #666;\n$menu-border-color: #d9d9d9;\n\n$navbar-default-bg-color: #f8f8f8;\n$navbar-default-border-color: #e7e7e7;\n$navbar-default-color: #777;\n$navbar-default-hover-color: #333;\n$navbar-inverse-hover-color: #fff;\n$navbar-inverse-color: #9d9d9d;\n$navbar-inverse-bg-color: #222;\n$navbar-inverse-border-color: #080808;\n$navbar-border-radius: 4px;\n\n$navbar-side-container-border-color: #d9d9d9;\n$navbar-side-container-width: 242px;\n$navbar-side-container-border-shadow: #d9d9d9;\n\n// Basics of a navbar\n$navbar-height: 50px;\n$navbar-margin-bottom: $line-height-computed;\n$navbar-border-radius: $border-radius-base;\n$navbar-padding-horizontal: floor(($grid-gutter-width / 2));\n$navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2);\n$navbar-collapse-max-height: 340px;\n\n$navbar-avatar-margin-horizontal: (($navbar-height - 32px) / 2);\n\n$navbar-brand-padding-horizontal: 20px;\n$navbar-brand-logo-height: 32px;\n\n$navbar-default-color: $text-color;\n$navbar-default-bg: $inverse;\n$navbar-default-border: $border-color-base;\n\n// Navbar links\n$navbar-default-link-color: $text-color;\n$navbar-default-link-hover-color: $gray-darker;\n$navbar-default-link-hover-bg: rgba(238,238,238, 30%);\n$navbar-default-link-active-color: $navbar-default-link-hover-color;\n$navbar-default-link-active-bg: rgba(238,238,238, 60%);\n$navbar-default-link-disabled-color: $disabled-color-base;\n$navbar-default-link-disabled-bg: transparent;\n\n// Navbar brand label\n$navbar-default-brand-color: $title-color;\n$navbar-default-brand-hover-color: $navbar-default-brand-color;\n$navbar-default-brand-hover-bg: none;\n\n// Navbar toggle\n$navbar-default-toggle-hover-bg: $navbar-default-link-hover-bg;\n$navbar-default-toggle-icon-bar-bg: $navbar-default-color;\n$navbar-default-toggle-border-color: transparent;\n\n\n// Inverted navbar\n// Reset inverted navbar basics\n$navbar-inverse-bg: $brand-primary;\n$navbar-inverse-border: rgba(0, 0, 0, .1);\n\n// Inverted navbar links\n$navbar-inverse-link-color: $inverse;\n$navbar-inverse-link-hover-color: $inverse;\n$navbar-inverse-link-hover-bg: rgba(0, 0, 0, .1);\n$navbar-inverse-link-active-color: $navbar-inverse-link-hover-color;\n$navbar-inverse-link-active-bg: $navbar-inverse-link-hover-bg;\n$navbar-inverse-link-disabled-color: $inverse;\n$navbar-inverse-link-disabled-bg: transparent;\n\n// Inverted navbar brand label\n$navbar-inverse-brand-color: $navbar-inverse-link-color;\n$navbar-inverse-brand-hover-color: $inverse;\n$navbar-inverse-brand-hover-bg: none;\n\n// Inverted navbar toggle\n$navbar-inverse-toggle-hover-bg: $navbar-inverse-link-hover-bg;\n$navbar-inverse-toggle-icon-bar-bg: $inverse;\n$navbar-inverse-toggle-border-color: transparent;\n\n//hamburger\n$hamburger-size: 17px;\n\n\n//panel\n$panel-header-padding : 10px 15px;\n$panel-footer-padding : 10px 15px;\n$panel-body-padding : 15px 15px;\n$panel-header-bg-color : #f5f5f5;\n$panel-footer-bg-color : #f5f5f5;\n$panel-bg-color : #fff;\n$panel-default-color : #757575;\n$panel-inner-border-color: #ddd;\n\n\n//modal\n$modal-header-padding : 15px;\n$modal-body-padding : 15px;\n$modal-footer-padding : 15px;\n$modal-content-bg-color: #fff;\n$modal-backdrop-bg: #000;\n$modal-backdrop-opacity: .6;\n$modal-header-border-color: transparent;\n$modal-footer-border-color: transparent;\n$modal-xlg: 976px;\n$modal-lg: 800px;\n$modal-sm: 400px;\n$modal-default: 600px;\n$modal-border-radius: $border-radius-base;\n\n//notification\n\n$zIndex-notification: $zIndex-notification;\n$notification-top: 30px;\n$notification-bottom: 30px;\n$notification-right: 30px;\n$notification-width: 300px;\n$notification-text-margin-right: 15px;\n$notice-padding: 15px;\n$notice-background: $gray-darkest;\n$notice-bottom: 15px;\n\n//message\n\n$message-font-size: 12px;\n\n$message-right: 30px;\n$message-width: 300px;\n$message-text-margin-right: 15px;\n$message-padding: 0;\n$message-content-padding: 15px;\n$message-background: $gray-darkest;\n\n//popconfirm\n\n$popconfirm-max-width: 300px;\n\n$popconfirm-dark-bg: $gray-darkest;\n$popconfirm-fallback-dark-border-color: $gray-darkest;\n$popconfirm-margin: 10px;\n$popconfirm-title-bg: #fff;\n$popconfirm-border-color:$border-color-base;\n$popconfirm-arrow-width: 10px;\n$popconfirm-arrow-color: $border-color-base;\n$popconfirm-arrow-outer-width: 0;\n$popconfirm-arrow-outer-color: $border-color-base;\n$popconfirm-border-right-color: $border-color-base;\n$popconfirm-fallback-border-color: #fff;\n\n//select\n\n$select-bg-color: #fff;\n$select-border-color: $border-color-base;\n$select-border-radius: $border-radius-base;\n$select-color: $font-color-base;\n$select-font-size: 12px;\n$select-dropdown-color: #666;\n$select-dropdown-bg-color: #fff;\n$select-dropdown-hover-bg: $hover-bg-color-base;\n$select-dropdown-selected-bg: $selected-bg-color-base;\n$select-dropdown-selected-color: rgb(134, 119, 119);\n$select-dropwdown-item-padding: 7px 16px;\n$select-disabled-color: $disabled-color-base;\n$select-disabled-bg: #f7f7f7;\n$select-disabled-border-color: #d9d9d9;\n//dropdown\n\n$dropdown-item-hover-bg-color: unquote(\"rgb(#{$palette-grey-100})\");\n$dropdown-item-divier-bg-color: $gray-lighter;\n$dropdown-border-color: $border-color-base;\n$dropdown-border-radius:3px;\n$dropdown-shadow: 0 1px 5px $dropdown-border-color;\n$dropdown-margin: 5px 0 0 0;\n$dropdown-menu-item-padding: 0px 16px 0 28px;\n$dropdown-menu-font-size: 12px;\n$dropdown-menu-item-height: 42px;\n$dropdown-menu-item-light-height: 42px;\n$dropdown-menu-title-font-size: 12px;\n$dropdown-menu-title-color: $disabled-color-base;\n$dropdown-menu-title-padding:8px 16px;\n$dropdown-menu-title-line-height: 1.5;\n\n//upload\n\n$upload-list-color: #108ee9;\n$upload-list-bg : #fff;\n$upload-list-hover-bg: #e7f4fd;\n$upload-list-error-color: #f50;\n$upload-thumbnail-height: 48px;\n$upload-thumbnail-width: 48px;\n$upload-thumbnail-img-height: 48px;\n$upload-thumbnail-img-width: 48px;\n\n//loading\n\n$loading-loadprimary: rgb(63, 81, 181);\n$loading-loadsuccess: #4caf50;\n$loading-loadwarn: rgb(255, 152, 0);\n$loading-lineanimating: (\n 1:line-scale 1s 0.1s infinite cubic-bezier(.2, .68, .18, 1.08),\n 2:line-scale 1s 0.2s infinite cubic-bezier(.2, .68, .18, 1.08),\n 3:line-scale 1s 0.3s infinite cubic-bezier(.2, .68, .18, 1.08),\n 4:line-scale 1s 0.4s infinite cubic-bezier(.2, .68, .18, 1.08),\n 5:line-scale 1s 0.5s infinite cubic-bezier(.2, .68, .18, 1.08)\n);\n$loading-linebackcolor: (\n 1: #F44336,\n 2: #7ED321,\n 3: #0084FF,\n 4: #FF9800,\n 5: #D0021B\n);\n$loading-back-width: 120px;\n$loading-back-height:110px;\n$loading-desc-font-size: 16px;\n$loading-desc-color: #cecece;\n$loading-rotate-bor:#c2c3c5;\n\n//两种加载的尺寸 width height\n$loading-rotate-sm-size: 25px;\n$loading-rotate-size:40px;\n$loading-rotate-lg-size:60px;\n\n$loading-line-sm-width: 4px;\n$loading-line-sm-height:35px;\n$loading-line-width:6px;\n$loading-line-height:50px;\n$loading-line-lg-width:8px;\n$loading-line-lg-height:90px ;\n\n//居中位置top left\n$loading-center-top:50%;\n$loading-center-left:50%;\n\n$loading-rotate-center-sm: -15px ;\n$loading-rotate-center:-22px;\n$loading-rotate-center-lg:-35px ;\n\n$loading-line-center-sm-top: -22px;\n$loading-line-center-sm-left:-20px;\n$loading-line-center-top:-30px;\n$loading-line-center-left:-25px;\n$loading-line-center-lg-top:-50px;\n$loading-line-center-lg-left:-30px;\n\n\n//switch\n\n\n//color\n$switch-border-color: $gray-lighter;\n$switch-back-color: $gray-lighter;\n$switch-checked-borColor: $brand-primary;\n$switch-checked-backColor: $brand-primary;\n\n// border-radius of different state switch\n$switch-border-radius: 20px;\n$switch-border-radius-after: 18px;\n\n// width height line-height of the three switches\n$switch-width: (default:44px, small:32px, large:60px);\n$switch-height: (default:22px, small:16px, large:30px);\n$switch-lineHeight: (default:20px, small:12px, large:12px);\n\n// style of u-switch-inner\n$switch-inner-fontSize: (default:12px, small:10px, large:18px);\n$switch-inner-left: (default:22px, small:16px, large:30px);\n$switch-inner-largeTop: 8px;\n\n// style of u-switch:active:after\n$switch-active-width: (default:24px, small:16px, large:32px);\n\n// style of u-switch:after\n$switch-after-widthHeight: 18px;\n$switch-after-widthHeight-sm: 14px;\n$switch-after-widthHeight-lg: 26px;\n$switch-after-top: 1px;\n$switch-after-top-sm: 0;\n$switch-after-top-lg: 1px;\n$switch-after-left: 0;\n$switch-after-left-sm: 0;\n$switch-after-left-lg: 0;\n\n// style of u-switch.is-checked\n$switch-checked-innerLeft: (default:8px, small:4px, large:8px);\n$switch-checked-afterLeft: (default:24px, small:16px, large:32px);\n$switch-checked-activeLeft: (default:16px, small:10px, large:26px);\n\n$switch-primary-bg: $brand-primary;\n$switch-dark-bg: $brand-dark;\n$switch-success-bg: $brand-success;\n$switch-warning-bg: $brand-warning;\n$switch-danger-bg: $brand-danger;\n$switch-info-bg: $brand-info;\n\n//tabs\n\n$tabs-basic-back: #f5f5f5;\n$tabs-cls-color: #666;\n$tabs-cls-width: 900px;\n$tabs-simple-conHeight: 120px;\n$tabs-simple-conPad: 16px;\n$tabs-simple-conWidth: 100%;\n\n$tabs-fontSize: (simple:14px, fill:14px, turn:14px, slide:14px, fade:14px, fadeup:14px);\n$tabs-lineHeight: (simple:2.3, fill:2.3, turn:2.3, slide:2.3, fade:2.3, fadeup:2.3);\n$tabs-marginBottom: -1px;\n\n$tabs-simple-tab: (padding:0 16px, margin:5px 0 5px 5px, radius:0 0 0 0, back:#fff);\n$tabs-simple-tabBorder: 1px solid #fff;\n$tabs-simple-activeBorder: 1px solid $brand-primary;\n$tabs-simple-activeColor: #fff;\n$tabs-simple-activeBorBottom: 1px solid $brand-primary;\n$tabs-simple-activeTopRadius: 5px;\n$tabs-simple-fontWeight: bold;\n\n$tabs-fill-tab: (padding: 0 16px, color:#666, back:#fff, afterBack:#d2d8d6, activeBack:$brand-primary);\n$tabs-fill-tab-maright: 5px;\n$tabs-fill-after-top: 0;\n$tabs-fill-after-left: 0;\n$tabs-fill-after-width: 100%;\n$tabs-fill-after-height: 100%;\n$tabs-fill-fontWeight: bold;\n\n$tabs-turn-tab: (padding: 0 16px, color:#fff, back:#f5f5f5, afterBack:$brand-primary, activeBack:$brand-primary);\n$tabs-turn-after-top: 0;\n$tabs-turn-after-left: 0;\n$tabs-turn-after-width: 100%;\n$tabs-turn-after-height: 100%;\n$tabs-turn-beforeBot: 32px;\n$tabs-turn-beforeRight: 15px;\n$tabs-turn-fontWeight: bold;\n$tabs-moveleft-conHeight: 120px;\n$tabs-moveleft-conPad: 16px;\n\n$tabs-slide-tabs: (width:25%, padding: 0 16px, back:#f5f5f5);\n$tabs-slide-child-bottom: 0;\n$tabs-slide-child-left: 0;\n$tabs-slide-child-height: 4px;\n$tabs-slide-child-back: $brand-primary;\n$tabs-slide-fontWeight: bold;\n\n$tabs-fade-tab: (marLeft:5px, marTop:5px, color:#666, padding:0 16px, radius:0 0 0 0);\n$tabs-fade-conPad: 16px;\n$tabs-fade-conBor: 5px;\n\n$tabs-fadeup-tab: (marTop:5px, color:#666, padding:0 16px, radius:0 0 0 0);\n$tabs-fadeup-top: -5px;\n$tabs-fadeup-left: 0;\n$tabs-fadeup-width: 100%;\n$tabs-fadeup-height: 100%;\n$tabs-fadeup-color: #666;\n$tabs-fadeup-conHeight: 120px;\n$tabs-fadeup-conPad: 16px;\n\n\n//rate\n$rate-star-default-color:$gray-lightest;\n$rate-star-active-color:$brand-primary;\n$rate-star-marginRight:8px;\n//backtop\n$back-top-padding:5px;\n$backtop-background:unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$backtop-color:unquote(\"rgb(#{$color-white})\") !default;\n$backtop-right:10px;\n$backtop-bottom:10px;\n$backtop-dom-right:40px;\n\n\n//dnd\n$dnd-list-background:unquote(\"rgb(#{$palette-grey-400})\")!default;\n$dnd-list-padding:8px;\n$dnd-list-dragging-background:unquote(\"rgb(#{$palette-light-blue-A200})\")!default;\n$dnd-item-color:unquote(\"rgb(#{$color-black})\")!default;\n$dnd-item-padding:16px;\n$dnd-item-margin:4px;\n$dnd-item-background:unquote(\"rgb(#{$palette-grey-500})\")!default;\n$dnd-item-dragging-background:unquote(\"rgb(#{$palette-blue-300})\")!default;\n\n// bee-tree\n$tree-checkbox-color: unquote(\"rgb(#{$primary-color})\") !default;\n$tree-node-bg-color: $hover-bg-color-base !default;\n\n// bee-table\n$table-head-background-color: unquote(\"rgb(#{$table-header-background-color})\") !default;\n$table-head-text-color: unquote(\"rgb(#{$table-header-text-color})\") !default;\n\n// bee-transfer\n$transfer-border-gap-color:#d9d9d9;\n\n// bee-transfer\n$cascader-border-gap-color:#ccc;","\n\n// $performance_font: 'Helvetica', 'Arial', sans-serif !default;\n\n@import \"minxin-colors\";\n\n\n\n@function strip-units($number) {\n @return $number / ($number * 0 + 1);\n}\n$unit: 10px !default;\n// IMAGES\n$image_path: '/images' !default;\n\n\n\n//默认颜色\n$trim-color-classes: false !default;\n\n@import \"minxin-themeColors\";\n\n//对比色\n$color-primary-contrast: $color-dark-contrast !default;\n$color-accent-contrast: $color-dark-contrast !default;\n//字体颜色\n$color-text: $palette-grey-900 !default;\n\n//不明所以 $primary-color: unquote(\"rgba(#{$palette-grey-500}, 0.20)\") !default;\n\n// -- Fonts 字体大小权重预定义\n$preferred-font: 'Open Sans','Helvetica Neue',Arial,'Hiragino Sans GB','Microsoft YaHei',sans-serif !default;\n$font-size: 1.6 * $unit !default;\n$font-size-tiny: 1.2 * $unit !default;\n$font-size-small: 1.4 * $unit !default;\n$font-size-normal: $font-size !default;\n$font-size-big: 1.8 * $unit !default;\n$font-size-base: 12px !default;\n$font-weight-thin: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-semi-bold: 500 !default;\n$font-weight-bold: 700 !default;\n$font-color:unquote(\"rgb(#{$palette-u-gray-800})\") !default;\n// 白色背景下的文字颜色\n$font-color-base: #212121 !default;\n\n$font-weight-override: false;\n$font-weight-light: 300;\n$font-weight-normal: 400;\n$font-weight-medium: 500;\n$font-weight-bold: 700;\n$font-weight-base: $font-weight-normal;\n\n\n\n\n$gray-base: unquote(\"rgb(#{$palette-grey-900})\") !default;\n$gray-darkest: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$gray-darker: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$gray-dark: unquote(\"rgb(#{$palette-grey-600})\") !default;\n$gray: unquote(\"rgb(#{$palette-grey-500})\") !default;\n$gray-light: unquote(\"rgb(#{$palette-grey-400})\") !default;\n$gray-lighter: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$gray-lightest:unquote(\"rgb(#{$palette-grey-200})\") !default;\n$inverse: unquote(\"rgb(#{$color-white})\") !default;\n// $border-color-base: $gray-lighter;\n$border-color-base: unquote(\"rgb(#{$border-color})\") !default;\n$line-height-base: 1.57142857;\n\n// 边框圆角\n$border-radius-base: $border-radius;\n\n// 阴影\n\n$shadow-key-umbra-opacity: 0.2 !default;\n$shadow-key-penumbra-opacity: 0.14 !default;\n$shadow-ambient-shadow-opacity: 0.12 !default;\n\n$shadow-base: 0 1px 5px $gray-lighter;\n\n\n\n//-- Indexes\n$z-index-highest: 300;\n$z-index-higher: 200;\n$z-index-high: 100;\n$z-index-normal: 1;\n$z-index-low: -100;\n$z-index-lower: -200;\n\n$zindex-modal: 1700;\n$zindex-modal-background: 1600;\n$zIndex-notification: 1560;\n$zIndex-message: 1550;\n$zIndex-popconfirm: 1540;\n$zIndex-popover: 1540;\n$zIndex-tooltip: 1530;\n$zIndex-alert: 1510;\n$zindex-navbar-fixed: 1500;\n$zindex-menubar: 1400;\n$zindex-overlay: 1300;\n$zindex-dropdown: 1200;\n$zindex-navbar: 1200;\n$zindex-header: 1100;\n$zindex-footer: 1000;\n$zindex-backtop:2000;\n\n// 文本字体\n\n//todo\n$text-color-primary: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$text-link-color: unquote(\"rgb(#{$color-accent})\") !default;\n\n$target-elements-directly: true !default;\n\n\n$global-selected-color: unquote(\"rgb(#{$palette-blue-100})\") !default;\n\n\n// 控件\n$cursor-disabled: not-allowed;\n\n\n$title-color: $gray-darkest;\n//todo\n$subtitle-color: $gray-darker;\n$text-color: $gray-dark;\n\n$prompt-color: $gray;\n//全局不同状态颜色\n//todo\n$active-color-base: unquote(\"rgb(#{$palette-blue-800})\") !default;\n$normal-color-base: unquote(\"rgb(#{$palette-blue-600})\") !default;\n$hover-color-base: unquote(\"rgb(#{$palette-blue-400})\") !default;\n\n$bg-color-base: $gray-lightest;\n\n//disable颜色\n$disabled-color-base: #909090;\n$disabled-border-color: $gray-lighter;\n$disabled-bg-color: $gray-lightest;\n\n// 全局链接颜色\n$link-color: $normal-color-base;\n$link-hover-color: $hover-color-base;\n$link-active-color: $active-color-base;\n\n// 品牌色\n$brand-default: $gray-lighter;\n$brand-default-hover: $gray-lightest;\n$brand-default-active: $gray-light;\n// $brand-default: unquote(\"rgb(#{$color-primary})\");\n// $brand-default-hover: unquote(\"rgb(#{$color-primary-light})\");\n// $brand-default-active: unquote(\"rgb(#{$color-primary-dark})\");\n\n$brand-primary : unquote(\"rgb(#{$primary-color})\") !default;\n$brand-primary-hover: unquote(\"rgb(#{$primary-color-light})\") !default;\n$brand-primary-active: unquote(\"rgb(#{$primary-color-dark})\") !default;\n\n$brand-secondary : unquote(\"rgb(#{$secondary-color})\") !default;\n$brand-secondary-hover: unquote(\"rgb(#{$secondary-color-light})\") !default;\n$brand-secondary-active: unquote(\"rgb(#{$secondary-color-dark})\") !default;\n\n$brand-success: unquote(\"rgb(#{$palette-green-500})\") !default;\n$brand-success-hover: unquote(\"rgb(#{$palette-green-300})\") !default;\n$brand-success-active: unquote(\"rgb(#{$palette-green-700})\") !default;\n\n$brand-info: unquote(\"rgb(#{$palette-cyan-500})\") !default;\n$brand-info-hover: unquote(\"rgb(#{$palette-cyan-300})\") !default;\n$brand-info-active: unquote(\"rgb(#{$palette-cyan-700})\") !default;\n\n$brand-warning: unquote(\"rgb(#{$palette-orange-500})\") !default;\n$brand-warning-hover: unquote(\"rgb(#{$palette-orange-300})\") !default;\n$brand-warning-active: unquote(\"rgb(#{$palette-orange-700})\") !default;\n\n\n$brand-news: unquote(\"rgb(#{$palette-blue-500})\") !default;\n$brand-news-hover: unquote(\"rgb(#{$palette-blue-300})\") !default;\n$brand-news-active: unquote(\"rgb(#{$palette-blue-700})\") !default;\n\n$brand-danger: unquote(\"rgb(#{$palette-red-500})\") !default;\n$brand-danger-hover: unquote(\"rgb(#{$palette-red-300})\") !default;\n$brand-danger-active: unquote(\"rgb(#{$palette-red-700})\") !default;\n\n$brand-dark: $gray-darker;\n$brand-dark-hover: $gray-dark;\n$brand-dark-active: $gray-darkest;\n\n$brand-light : unquote(\"rgb(#{$color-dark-contrast})\") !default;\n$brand-light-hover: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$brand-light-active: unquote(\"rgb(#{$palette-grey-400})\") !default;\n\n$brand-light-primary : unquote(\"rgb(#{$palette-blue-50})\") !default;\n$brand-light-success: unquote(\"rgb(#{$palette-green-50})\") !default;\n$brand-light-info: unquote(\"rgb(#{$palette-cyan-50})\") !default;\n$brand-light-warning: unquote(\"rgb(#{$palette-orange-50})\") !default;\n$brand-light-news: unquote(\"rgb(#{$palette-blue-50})\") !default;\n$brand-light-danger: unquote(\"rgb(#{$palette-red-50})\") !default;\n\n//不同背景下对应的文字颜色\n\n$color-news: unquote(\"rgb(#{$palette-blue-500})\") !default;\n$color-success: unquote(\"rgb(#{$palette-green-500})\") !default;\n$color-info: unquote(\"rgb(#{$palette-cyan-500})\") !default;\n$color-warning: unquote(\"rgb(#{$palette-orange-500})\") !default;\n$color-danger: unquote(\"rgb(#{$palette-red-500})\") !default;\n$color-light: $gray-darker !default;\n\n//redius\n\n$default-border-radius: $border-radius;\n\n// hover时的背景色,包括select、dropdown、table、datepicker、tree、menu等组件\n$hover-bg-color-base: unquote(\"rgb(#{$item-hover-bg-color-base})\") !default;\n// // selected背景色,包括:select、menu等\n$selected-bg-color-base: unquote(\"rgb(#{$item-selected-bg-color-base})\") !default;\n\n// UButton\n\n// Button 基础背景色.\n// 默认按钮()\n$button-default-color: unquote(\"rgb(#{$default-color})\");\n$button-default-color-IE8: unquote(\"rgb(#{$default-color})\");\n\n// 边框按钮(shape:'border')\n$button-border-bg-color: unquote(\"rgb(#{$color-dark-contrast})\");\n\n// Button 不同状态下的背景色 :hover、active、focus状态.\n$button-hover-color: unquote(\"rgb(#{$default-color-light})\");\n$button-active-color: unquote(\"rgb(#{$default-color-dark})\");\n$button-focus-color: unquote(\"rgb(#{$default-color-light})\");\n\n// Button 配置不同colors属性时的背景色.\n$button-primary-color: $brand-primary;\n$button-primary-active-color: $brand-primary-active;\n$button-primary-hover-color: $brand-primary-hover;\n$button-secondary-color: $brand-secondary;\n$button-secondary-active-color: $brand-secondary-active;\n$button-secondary-hover-color: $brand-secondary-hover;\n$button-success-color: $brand-success;\n$button-success-active-color: $brand-success-active;\n$button-success-hover-color: $brand-success-hover;\n$button-info-color: $brand-info;\n$button-info-active-color: $brand-info-active;\n$button-info-hover-color: $brand-info-hover;\n$button-warning-color: $brand-warning;\n$button-warning-active-color: $brand-warning-active;\n$button-warning-hover-color: $brand-warning-hover;\n$button-danger-color: $brand-danger;\n$button-danger-active-color: $brand-danger-active;\n$button-danger-hover-color: $brand-danger-hover;\n$button-dark-color: $brand-dark;\n$button-dark-active-color: $brand-dark-active;\n$button-dark-hover-color: $brand-dark-hover;\n$button-light-color: $brand-light;\n$button-light-active-color: $brand-light-active;\n$button-light-hover-color: $brand-light-hover;\n\n// Button 文字颜色.\n// 主按钮(colors:'primary')\n$button-primary-text-color: $color-primary-contrast !default;\n$button-text-color: $button-primary-text-color;\n// 次按钮(colors:'secondary')\n$button-second-text-color: unquote(\"rgb(#{$button-secondary-text-color})\") !default;\n// 默认按钮()\n$button-default-text-color: unquote(\"rgb(#{$palette-grey-900})\") !default;\n// 边框按钮(shape:'border')\n// $button-border-text-color: unquote(\"rgb(#{$primary-color})\") !default;\n\n// Button 边框样式及颜色.\n$button-border-style: unquote(\"solid\") !default;\n$button-border-color: $border-color-base;\n$button-default-border-color: $button-default-color !default;\n\n// Button 不同状态下的边框颜色 :hover、active、focus状态.\n$button-hover-border-color: $brand-default-hover;\n$button-active-border-color: $brand-default-active;\n$button-focus-border-color: $brand-default-active;\n\n// FAB colors and sizes.\n$button-fab-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-hover-color-alt: unquote(\"rgb(#{$color-accent-light})\") !default;\n$button-fab-active-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-text-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$button-fab-ripple-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n\n// Icon button colors and sizes.\n$button-icon-color: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$button-icon-focus-color: $button-focus-color !default;\n\n// Button 最小宽度、高度、内边距、外边距、行高、边框粗细、圆角.\n$button-min-width: 72/10 * $unit !default;\n$button-height: 36/10 * $unit !default;\n$button-padding: 4/10* $unit 13/10 * $unit !default;\n$button-padding-IE8: 4px 13px !default;\n$button-top-padding: 1310 * $unit !default;\n$button-left-padding: 6/10* $unit !default;\n$button-line-height:1.57142857;\n$button-margin: 4/10 * $unit !default;\n$button-border-radius: 3/10 * $unit !default;\n$button-border-width: 1/10 * $unit !default;\n\n$button-fab-size: 38/10 * $unit !default;\n$button-fab-size-mini: 30/10 * $unit !default;\n$button-fab-font-size: 14/10 * $unit !default;\n\n$button-icon-size: 32/10 * $unit !default;\n$button-icon-size-mini: 13/10 * $unit !default;\n\n$button-raised-font-size: 14/10 * $unit !default;\n\n// Button 大按钮\n$button-padding-y-lg:8px;\n$button-padding-x-lg:15px;\n$font-size-lg:1.4 * $unit;\n\n\n// Button 特大型按钮\n$button-padding-y-xg:10.5px;\n$button-padding-x-xg:18px;\n$font-size-xg:1.6 * $unit;\n\n\n// Button 小型按钮\n$button-padding-y-sm:3px;\n$button-padding-x-sm:5px;\n$font-size-sm:1.2 * $unit;\n\n\n\n// UText\n\n\n$form-control-border-radius: $border-radius-base;\n$form-control-default-font-size: 14px;\n$form-control-lg-font-size: 14px;\n$form-control-sm-font-size: 12px;\n$form-control-default-height: 32px;\n$form-control-lg-height: 40px;\n$form-control-sm-height: 26px;\n$form-control-color: #424242;\n$form-control-bg-color: #fff;\n$form-control-border-color: $border-color-base;\n$form-control-disable-bg-color: #F7F9FB;\n$form-control-disable-color: $disabled-color-base;\n$form-control-disable-border-color: #DFE1E6;\n\n$input-text-background-color: transparent !default;\n$input-text-label-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$input-text-bottom-border-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n$input-text-bottom-border-color-IE8: unquote(\"rgb(#{$color-black})\") !default;\n$input-text-highlight-color: unquote(\"rgb(#{$primary-color})\") !default;\n$input-text-disabled-color: $input-text-bottom-border-color !default;\n$input-text-disabled-text-color: $input-text-label-color !default;\n$input-text-error-color: unquote(\"rgb(222, 50, 38)\") !default;\n$input-text-must-color:unquote(\"rgb(#{$palette-red-A700})\") !default;\n\n\n$input-text-font-size: 14px !default;\n$input-text-width: 100% !default;\n$input-text-padding: 4px !default;\n$input-text-vertical-spacing: 20px !default;\n\n$input-text-button-size: 32px !default;\n$input-text-floating-label-fontsize: 12px !default;\n$input-text-expandable-icon-top: 16px !default;\n$input-text-height:36px !default;\n$input-text-normal-width:360px !default;\n$input-text-short-width:180px !default;\n$input-text-normal-border-color:unquote(\"rgb(#{$palette-u-gray-400})\") !default;\n$input-text-color:unquote(\"rgb(#{$palette-u-gray-A200})\") !default;\n$input-text-focus-border-color:unquote(\"rgb(#{$palette-u-blue-400})\") !default;\n$input-lable-color:unquote(\"rgb(#{$palette-u-gray-900})\") !default;\n\n\n/* FormGroup */\n\n$error-input-border:$brand-danger;\n$warning-input-border:$brand-warning;\n$success-input-border:$brand-success;\n$success-addon-bg: $brand-light-success;\n$warning-addon-bg: $brand-light-warning;\n$error-addon-bg: $brand-light-danger;\n$form-group-margin-top: 15px;\n$form-group-margin-bottom: 15px;\n\n/* Navlayout */\n\n$layout-nav-color: unquote(\"rgb(#{$palette-grey-100})\") !default;\n\n// Drawer\n$layout-drawer-bg-color: unquote(\"rgb(#{$palette-grey-50})\") !default;\n$layout-drawer-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$layout-text-color: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$layout-drawer-navigation-color: #757575 !default;\n$layout-drawer-navigation-link-active-background: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$layout-drawer-navigation-link-active-color: $layout-text-color !default;\n\n// Header\n$layout-header-bg-color: unquote(\"rgb(#{$primary-color})\") !default;\n$layout-header-text-color: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n$layout-header-nav-hover-color: unquote(\"rgba(#{$palette-grey-700}, 0.6)\") !default;\n$layout-header-tab-text-color: unquote(\"rgba(#{$color-primary-contrast}, 0.6)\") !default;\n\n// Tabs\n$layout-header-tab-highlight: unquote(\"rgb(#{$color-accent})\") !default;\n\n$layout-nav-link-font-size: 13px !default;\n\n$layout-drawer-narrow: 240px !default;\n$layout-drawer-wide: 456px !default;\n$layout-drawer-width: $layout-drawer-narrow !default;\n\n$layout-header-icon-size: 32px !default;\n$layout-screen-size-threshold: 1024px !default;\n$layout-header-icon-margin: 24px !default;\n$layout-drawer-button-mobile-size: 44px !default;\n$layout-drawer-button-desktop-size: 34px !default;\n$layout-drawer-button-desktop-margin-top: 5px !default;\n$layout-drawer-button-mobile-margin-top: 10px !default;\n\n$layout-header-mobile-row-height: 56px !default;\n$layout-mobile-header-height: $layout-header-mobile-row-height;\n$layout-header-desktop-row-height: 44px !default;\n$layout-desktop-header-height: $layout-header-desktop-row-height;\n\n$layout-header-desktop-baseline: 80px !default;\n$layout-header-mobile-baseline: 72px !default;\n$layout-header-mobile-indent: 16px !default;\n$layout-header-desktop-indent: 40px !default;\n\n$layout-tab-font-size: 14px !default;\n$layout-tab-bar-height: 48px !default;\n$layout-tab-mobile-padding: 12px !default;\n$layout-tab-desktop-padding: 24px !default;\n$layout-tab-highlight-thickness: 2px !default;\n\n// gridlayout\n\n// Extra small screen / phone\n//$screen-xs: 480px;\n\n$screen-xs-min: 480px;\n// Deprecated `@screen-phone` as of v3.0.1\n//@screen-phone: @screen-xs-min;\n\n// Small screen / tablet\n// Deprecated `@screen-sm` as of v3.0.1\n//@screen-sm: 768px;\n$screen-sm-min: 768px;\n// Deprecated `@screen-tablet` as of v3.0.1\n//@screen-tablet: @screen-sm-min;\n\n// Medium screen / desktop\n// Deprecated `@screen-md` as of v3.0.1\n//@screen-md: 992px;\n$screen-md-min: 992px;\n// Deprecated `@screen-desktop` as of v3.0.1\n//@screen-desktop: @screen-md-min;\n\n// Large screen / wide desktop\n// Deprecated `@screen-lg` as of v3.0.1\n//@screen-lg: 1200px;\n$screen-lg-min: 1200px;\n// Deprecated `@screen-lg-desktop` as of v3.0.1\n//@screen-lg-desktop: @screen-lg-min;\n$screen-xs-max: ($screen-sm-min - 1 );\n\n$screen-sm-max: ($screen-sm-min - 1 );\n\n$screen-md-max: ($screen-lg-min - 1 );\n\n\n\n\n// Number of columns in the grid.\n$grid-columns: 12;\n// Padding between columns. Gets divided in half for the left and right.\n$grid-gutter-width: 30px;\n// Navbar collapse\n// Point at which the navbar becomes uncollapsed.\n$grid-float-breakpoint: 768px;\n// Point at which the navbar begins collapsing.\n$grid-float-breakpoint-max: ($grid-float-breakpoint - 1);\n\n\n// Small screen / tablet\n$container-tablet: (720px + $grid-gutter-width);\n// For `@screen-sm-min` and up.\n$container-sm: $container-tablet;\n\n// Medium screen / desktop\n$container-desktop: (940px + $grid-gutter-width);\n// For `@screen-md-min` and up.\n$container-md: $container-desktop;\n\n// Large screen / wide desktop\n$container-large-desktop: (1140px + $grid-gutter-width);\n// For `@screen-lg-min` and up.\n$container-lg: $container-large-desktop;\n\n\n\n// menu\n\n$default-dropdown-bg-color: unquote(\"rgb(#{$color-white})\") !default;\n$menu-expand-duration: 0.3s !default;\n$menu-fade-duration: 0.2s !default;\n\n// Default Item Colors\n$default-item-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$default-item-text-color-IE8: unquote(\"rgb(#{$color-black})\") !default;\n$default-item-outline-color: unquote(\"rgb(#{$palette-u-blue-400})\") !default;\n$default-item-hover-bg-color: unquote(\"rgb(#{$palette-u-blue-100})\") !default;\n$default-item-focus-bg-color: unquote(\"rgb(#{$palette-u-blue-200})\") !default;\n$default-item-active-bg-color: unquote(\"rgb(#{$palette-u-blue-200})\") !default;\n$default-item-divider-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n// Disabled Button Colors\n$disabled-item-text-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n\n// Tile\n$tile-width: 100%;\n\n$tile-default-border-color: #e9e9e9;\n$tile-default-hover-shadow-color: rgba(0, 0, 0, 0.2);\n\n$tile-primary-border-color: $button-primary-color;\n$tile-primary-hover-shadow-color: $button-primary-hover-color;\n\n$tile-danger-border-color: $button-danger-color;\n$tile-danger-hover-shadow-color: $button-danger-hover-color;\n\n$tile-warning-border-color: $button-warning-color;\n$tile-warning-hover-shadow-color: $button-warning-hover-color;\n\n$tile-success-border-color: $button-success-color;\n$tile-success-hover-shadow-color: $button-success-hover-color;\n\n$tile-info-border-color: $button-info-color;\n$tile-info-hover-shadow-color: $button-info-hover-color;\n\n// Alert\n$alert-news-bg: $brand-light-news;\n$alert-success-bg: $brand-light-success;\n$alert-info-bg: $brand-light-info;\n$alert-warning-bg: $brand-light-warning;\n$alert-danger-bg: $brand-light-danger;\n\n\n$alert-dark-news-bg: $brand-news;\n$alert-dark-success-bg: $brand-success;\n$alert-dark-info-bg: $brand-info;\n$alert-dark-warning-bg: $brand-warning;\n$alert-dark-danger-bg: $brand-danger;\n\n$alert-news-color: $color-news;\n$alert-success-color: $color-success;\n$alert-info-color: $color-info;\n$alert-warning-color: $color-warning;\n$alert-danger-color: $color-danger;\n\n$timeline-primary-color: $brand-primary;\n$timeline-news-color: $color-news;\n$timeline-success-color: $color-success;\n$timeline-info-color: $color-info;\n$timeline-warning-color: $color-warning;\n$timeline-danger-color: $color-danger;\n\n$alert-padding:10px;\n$alert-font-size:12px;\n$alert-border-radius: $border-radius;\n$alert-text-padding-left: 15px;\n$alert-text-padding-right: 15px;\n$alert-close-font-size: 21px;\n$alert-close-opacity: .2;\n$alert-close-font-weight: 700;\n\n//Checkbox\n\n$checkbox-color: unquote(\"rgb(#{$primary-color})\") !default;\n$checkbox-off-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-off-color-IE8: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-disabled-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-focus-color: unquote(\"rgba(#{$palette-u-blue-500}, 0.26)\") !default;\n$checkbox-image-path: $image_path;\n\n$checkbox-label-font-size: 13px !default;\n$checkbox-label-height: 24px !default;\n$checkbox-button-size: 16px !default;\n$checkbox-inner-margin: 2px !default;\n$checkbox-padding: 8px !default;\n$checkbox-top-offset:\n ($checkbox-label-height - $checkbox-button-size - $checkbox-inner-margin) / 2;\n$checkbox-ripple-size: $checkbox-label-height * 1.5;\n\n$checkbox-primary-bg: $brand-primary;\n$checkbox-success-bg: $brand-success;\n$checkbox-info-bg: $brand-info;\n$checkbox-warning-bg: $brand-warning;\n$checkbox-danger-bg: $brand-danger;\n$checkbox-dark-bg: $brand-dark;\n\n$progress-primary-bg: $brand-primary;\n$progress-success-bg: $brand-success;\n$progress-info-bg: $brand-info;\n$progress-warning-bg: $brand-warning;\n$progress-danger-bg: $brand-danger;\n$progress-dark-bg: $brand-dark;\n\n$primary-color-opacity:unquote(\"rgba(#{$primary-color}, 0.7)\") !default;\n$color-success-opacity:unquote(\"rgba(#{$palette-green-500}, 0.7)\") !default;\n$color-info-opacity:unquote(\"rgba(#{$palette-cyan-500}, 0.7)\") !default;\n$color-warning-opacity:unquote(\"rgba(#{$palette-orange-500}, 0.7)\") !default;\n$color-danger-opacity:unquote(\"rgba(#{$palette-red-500}, 0.7)\") !default;\n$color-dark-opacity:unquote(\"rgba(#{$palette-grey-700}, 0.7)\") !default;\n\n\n$progress-sm-height: 10px;\n$progress-xs-height: 5px;\n$progress-xs-width: 170px;\n$progress-default-height: 20px;\n$progress-sm-lable-font-size: 10px;\n$progress-sm-lable-line-height: 10px;\n$progress-xs-lable-line-height: 8px;\n$progress-xs-lable-margin-left: 140px;\n$progress-xs-lable-font-size: 10px;\n$progress-xs-lable-color: #000;\n\n// Radio\n\n$radio-color: unquote(\"rgb(#{$primary-color})\") !default;\n$radio-off-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$radio-off-color-IE8: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$radio-disabled-color: $disabled-color-base !default;\n\n$radio-label-font-size: 13px !default;\n$radio-label-height: 32px !default;\n$radio-button-size: 16px !default;\n$radio-inner-margin: $radio-button-size / 4;\n$radio-padding: 8px !default;\n$radio-top-offset: ($radio-label-height - $radio-button-size) / 2;\n$radio-ripple-size: 42px !default;\n\n$radio-primary-bg: $brand-primary;\n$radio-success-bg: $brand-success;\n$radio-info-bg: $brand-info;\n$radio-warning-bg: $brand-warning;\n$radio-danger-bg: $brand-danger;\n$radio-dark-bg: $brand-dark;\n\n$radio-disabled-bg: #f7f7f7;\n$radio-diabled-border-color: #d9d9d9;\n\n$radio-border-color: #d9d9d9;\n$radio-bg-color: #fff;\n$radio-color:$font-color-base;\n\n$radio-checked-bg-color: #fff;\n$radio-checked-color: $brand-primary;\n$radio-checked-border-color: $radio-checked-color;\n\n$radio-icon-height: 18px;\n$radio-icon-width: 18px;\n$radio-icon-checked-height: 8px;\n$radio-icon-checked-width: 8px;\n\n$radio-button-lg-height:42px;\n$radio-button-lg-line-height:26px;\n\n$radio-button-sm-height:22px;\n$radio-button-sm-line-height:20px;\n\n$radio-button-height: 28px;\n$radio-button-line-height: 26px;\n\n\n\n\n\n//loading\n\n$loading-color-1: unquote(\"rgb(#{$palette-blue-400})\") !default;\n$loading-color-2: unquote(\"rgb(#{$palette-red-500})\") !default;\n$loading-color-3: unquote(\"rgb(#{$palette-yellow-600})\") !default;\n$loading-color-4: unquote(\"rgb(#{$palette-green-500})\") !default;\n\n$loading-single-color: unquote(\"rgb(#{$primary-color})\") !default;\n\n$loading-size: 28px !default;\n$loading-stroke-width: 3px !default;\n\n// Amount of circle the arc takes up.\n$loading-arc-size: 270deg !default;\n// Time it takes to expand and contract arc.\n$loading-arc-time: 1333ms !default;\n// How much the start location of the arc should rotate each time.\n$loading-arc-start-rot: 216deg !default;\n\n$loading-duration: 360 * $loading-arc-time / (\n strip-units($loading-arc-start-rot + (360deg - $loading-arc-size)));\n\n// datetimepicker\n$timepicker-border-gap-color:#ccc;\n$timepicker-font-size:14px;\n\n$date-bg-color: unquote(\"rgb(#{$primary-color})\") !default;\n\n// message\n$snackbar-color: unquote(\"rgb(#{$color-white})\") !default;\n$snackbar-background-color: unquote(\"rgb(#{$primary-color})\") !default;\n$snackbar-color-cancel: unquote(\"rgb(#{$palette-red-500})\") !default;\n$snackbar-color-accept: unquote(\"rgb(#{$palette-green-500})\") !default;\n$snackbar-color-warning: unquote(\"rgb(#{$palette-lime-200})\") !default;\n\n// DATA TABLE\n\n$data-table-font-size: 13px !default;\n$data-table-header-font-size: 12px !default;\n$data-table-header-sort-icon-size: 16px !default;\n\n$data-table-header-color: rgba(#000, 0.54) !default;\n$data-table-header-sorted-color: rgba(#000, 0.87) !default;\n$data-table-divider-color: rgba(#000, 0.12) !default;\n$data-table-divider-color-IE8: rgb(0,0,0) !default;\n\n//$data-table-hover-color: #eeeeee !default;\n$data-table-hover-color: #E9F7FC !default;\n$data-table-selection-color: #C4EAF6 !default;\n\n$data-table-dividers: 1px solid $data-table-divider-color !default;\n$data-table-dividers-IE8: 1px solid $data-table-divider-color-IE8 !default;\n\n$data-table-row-height: 48px !default;\n$data-table-last-row-height: 56px !default;\n$data-table-header-height: 56px !default;\n\n$data-table-column-spacing: 36px !default;\n$data-table-column-padding: $data-table-column-spacing / 2;\n\n$data-table-card-header-height: 64px !default;\n$data-table-card-title-top: 20px !default;\n$data-table-card-padding: 24px !default;\n$data-table-button-padding-right: 16px !default;\n$data-table-cell-top: $data-table-card-padding / 2;\n\n// $line-height-computed: round(($font-size-small * $line-height-base));\n$line-height-computed: round((14px * $line-height-base));\n$table-bg: transparent;\n$table-cell-padding: 8px;\n$table-border-color: $border-color-base;\n$table-bg-hover: $bg-color-base;\n$table-bg-active: $table-bg-hover;\n$table-bg-accent: unquote(\"rgba(#{$palette-grey-200},.3)\") !default;\n\n\n\n\n// tooltip\n$tooltip-max-width: 200px;\n$tooltip-color: #fff;\n$tooltip-bg: #42526E;\n$tooltip-inverse-border-color: #d9d9d9;\n$tooltip-inverse-color: rgb(51,51,51);\n$tooltip-arrow-color: $tooltip-bg;\n$tooltip-opacity: 1;\n\n\n// 进度条\n$bar-height: 4px !default;\n$progress-main-color: unquote(\"rgb(#{$primary-color})\") !default;\n$progress-secondary-color: unquote(\"rgba(#{$color-primary-contrast}, 0.7)\") !default;\n$progress-fallback-buffer-color: unquote(\"rgba(#{$color-primary-contrast}, 0.9)\") !default;\n$progress-image-path: $image_path;\n$progress-buffer-bar-border:unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n\n// Tabs\n$layout-header-tab-highlight: unquote(\"rgb(#{$color-accent})\") !default;\n\n\n\n$tab-highlight-color: unquote(\"rgb(#{$primary-color})\") !default;\n$tab-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$tab-active-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$tab-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n\n\n\n//CARD\n\n$card-width: 330px !default;\n$card-height: 200px !default;\n$card-font-size: 13px !default;\n$card-title-font-size: 24px !default;\n$card-subtitle-font-size: 10px !default;\n$card-horizontal-padding: 16px !default;\n$card-vertical-padding: 16px !default;\n\n$card-title-perspective-origin-x: 165px !default;\n$card-title-perspective-origin-y: 56px !default;\n\n$card-title-transform-origin-x: 165px !default;\n$card-title-transform-origin-y: 56px !default;\n\n$card-title-text-transform-origin-x: 149px !default;\n$card-title-text-transform-origin-y: 48px !default;\n\n$card-supporting-text-font-size: 1.4 * $unit !default;\n$card-supporting-text-line-height: 18px !default;\n\n$card-actions-font-size: 13px !default;\n\n$card-title-text-font-weight: 300 !default;\n$card-z-index: 1 !default;\n\n// Cover image\n$card-cover-image-height: 186px !default;\n$card-background-image-url: '' !default;\n\n\n\n$card-background-color: unquote(\"rgb(#{$color-white})\") !default;\n$card-text-color: unquote(\"rgb(#{$color-black})\") !default;\n$card-image-placeholder-color: unquote(\"rgb(#{$color-accent})\") !default;\n$card-supporting-text-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$card-border-color: rgba(0,0,0,0.1) !default;\n$card-subtitle-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n\n\n$input-border:unquote(\"rgb(#{$palette-u-gray-500})\");\n$input-border-focus:unquote(\"rgb(#{$primary-color})\");\n$input-border-disabled:unquote(\"rgb(#{$palette-u-gray-100})\");\n$input-bg-disabled:unquote(\"rgb(#{$palette-u-gray-100})\");\n$input-color:unquote(\"rgb(#{$palette-u-gray-A100})\");\n$form-input-height:36px;\n$form-input-height-sm:28px;\n$form-input-padding-left:12px;\n$form-label-color:unquote(\"rgb(#{$palette-u-gray-900})\");\n$form-control-feedback-color:unquote(\"rgb(#{$palette-u-gray-700})\");\n$form-validate-error-color:unquote(\"rgb(#{$palette-u-red-600})\");\n\n\n// BADGE\n$badge-font-size: 12px !default;\n$badge-color: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$badge-color-inverse: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background-inverse: unquote(\"rgba(#{$color-accent-contrast},0.2)\") !default;\n$badge-size : 22px !default;\n$badge-padding: 2px !default;\n$badge-overlap: 12px !default;\n\n$badge-primary-color:#FFFFFF;\n$badge-primary-bg:$brand-primary;\n\n$badge-success-color:#FFFFFF;\n$badge-success-bg: $brand-success;\n\n$badge-info-color:#FFFFFF;\n$badge-info-bg:$brand-info;\n\n$badge-warning-color:#FFFFFF;\n$badge-warning-bg:$brand-warning;\n\n$badge-danger-color:#FFFFFF;\n$badge-danger-bg:$brand-danger;\n\n$badge-dark-color:#FFFFFF;\n$badge-dark-bg:$brand-dark;\n\n$badge-font-size: 12px;\n$badge-font-dataicon-size: 10px;\n$badge-default-dataicon-fontcolor: #757575;\n$badge-default-dataicon-bgcolor: #fff;\n$badge-default-dataicon-bordercolor: $border-color-base;\n\n// labels\n$tag-padding: .25em .6em .25em;\n$tag-border-radius: 0.3em;\n$tag-bg: #eeeeee;\n$tag-round-border-radius: 1em;\n$tag-default-color: #757575;\n$tag-default-bg:#e0e0e0;\n$tag-lg-font-size: 16px;\n$tag-sm-font-size: 10px;\n$tag-sm-padding: .1em .5em .1em;\n$tag-default-hover-bg: $brand-default-hover;\n$tag-primary-hover-bg: $brand-primary-hover;\n$tag-success-hover-bg: $brand-success-hover;\n$tag-info-hover-bg: $brand-info-hover;\n$tag-warning-hover-bg: $brand-warning-hover;\n$tag-danger-hover-bg: $brand-danger-hover;\n$tag-dark-hover-bg: $brand-dark-hover;\n$tag-default-bg: $brand-default;\n$tag-primary-bg: $brand-primary;\n$tag-success-bg: $brand-success;\n$tag-info-bg: $brand-info;\n$tag-warning-bg: $brand-warning;\n$tag-danger-bg: $brand-danger;\n$tag-dark-bg: $brand-dark;\n$tag-default-hover-color:unquote(\"rgb(#{$palette-u-gray-500})\");\n\n\n// pagination\n$pagination-gap-hover-border:#7A869A;\n\n$pagination-link-padding: 7px 13px;\n$pagination-lg-font-size: 16px;\n$pagination-lg-padding-vertical: 9.5px;\n$pagination-lg-padding-horizontal: 15.5px;\n\n$pagination-small-font-size: 12px;\n$pagination-small-padding-vertical: 4px;\n$pagination-small-padding-horizontal: 9.5px;\n\n$pag-color: #666666;\n$pag-bg-color: #fff;\n$pag-border-color:#d7d7d7;\n$pag-hover-color: #666;\n$pag-hover-bg-color:$hover-bg-color-base;\n$pag-hover-border-color:#d7d7d7;\n$pag-active-color: #fff;\n$pag-active-bg-color:#7A869A;\n$pag-active-border-color:#7A869A;\n$pag-disabled-color: #777;\n$pag-disabled-bg-color:#fff;\n$pag-disabled-border-color:#ddd;\n\n$border-radius-base: $border-radius;\n$border-radius-large: 4px;\n$border-radius-small: 2px;\n\n$line-height-large: 1.3333333; // extra decimals for Win 8.1 Chrome\n$line-height-small: 1.5;\n// widget\n\n$widget-padding-left:30px;\n$widget-padding-top:10px;\n\n//tooltips\n\n$tooltip-default-bg: $brand-default;\n$tooltip-primary-bg: $brand-primary;\n$tooltip-success-bg: $brand-success;\n$tooltip-info-bg: $brand-info;\n$tooltip-warning-bg: $brand-warning;\n$tooltip-danger-bg: $brand-danger;\n$tooltip-dark-bg: $brand-dark;\n\n//menu Button\n\n$menu-default-bg: $brand-default;\n$menu-primary-bg: $brand-primary;\n$menu-success-bg: $brand-success;\n$menu-info-bg: $brand-info;\n$menu-warning-bg: $brand-warning;\n$menu-danger-bg: $brand-danger;\n$menu-dark-bg: $brand-dark;\n$menu-default-bg-hover: $brand-default-hover;\n$menu-primary-bg-hover: $brand-primary-hover;\n$menu-success-bg-hover: $brand-success-hover;\n$menu-info-bg-hover: $brand-info-hover;\n$menu-warning-bg-hover: $brand-warning-hover;\n$menu-danger-bg-hover: $brand-danger-hover;\n$menu-dark-bg-hover: $brand-dark-hover;\n\n\n// breadcrumbs\n\n$breadcrumb-padding-vertical: 8px;\n$breadcrumb-padding-horizontal: 10px;\n$breadcrumb-separator: \"/\\00a0\";\n$breadcrumb-bg: transparent;\n$breadcrumb-margin-bottom: 10px;\n\n$breadcrumb-color: $brand-primary;\n$breadcrumb-active-color: $text-color;\n\n$breadcrumb-icon-margin-right: 10px;\n$breadcrumb-arrow-separator: \"\\00bb\\00a0\";\n\n$breadcrumb-bg-color: #f5f5f5;\n$breadcrumb-active-color: #777;\n$breadcrumb-separate-color: #ccc;\n\n// list-group\n$list-group-media-heading-font-size : $font-size-small;//14px\n$list-group-link-disabled-color : $disabled-color-base;\n\n$list-group-link-disabled-bg : $gray-lightest;\n\n$list-group-active-color : $brand-primary;\n$list-group-link-active-color : unquote(\"rgb(#{$color-white})\") !default;\n$list-group-link-active-bg : $brand-primary;\n\n\n$list-group-item-icon-margin-right : 10px;\n\n$list-group-bg-inherit-item-border : rgba(0, 0, 0, 0.075);\n$list-group-bg-inherit-item-hover-bg : rgba(0, 0, 0, 0.075);\n\n\n$list-group-border-radius: $border-radius-base;\n\n\n\n$list-group-link-color: $text-color;\n$list-group-link-hover-color: $text-color;\n$list-group-link-heading-color: $title-color;\n\n$list-group-hover-bg: $bg-color-base;\n\n$list-group-disabled-bg: transparent;\n\n$list-group-disabled-color: $disabled-color-base;\n\n\n$list-group-disabled-text-color: $list-group-disabled-color;\n$list-group-active-bg: transparent;\n$list-group-active-border: $list-group-active-bg;\n// $list-group-active-text-color: lighten($list-group-active-color, 40%);\n$list-group-active-text-color: $list-group-active-color;\n\n$list-group-bg: #fff;\n$list-group-border: transparent;\n// $list-group-bordered-border : $border-color-base;\n// $list-group-bordered-active-color : $component-active-color;\n// $list-group-bordered-active-bg : $component-active-bg;\n// $list-group-bordered-active-border : $list-group-bordered-active-bg;\n\n// $list-group-gap-item-margin-bottom : 2px;\n\n//step\n$steps-margin-bottom: $line-height-computed;\n$step-padding-horizontal:20px;\n$step-padding-vertical: 12px;\n\n$step-vertical-padding-horizontal: 20px;\n$step-vertical-padding-vertical:18px;\n\n$step-color: $gray;\n$step-bg: $bg-color-base;\n$step-number-bg: $gray-lighter;\n$step-number-color: $inverse;\n\n$step-current-color: $inverse;\n$step-current-bg: $brand-primary;\n\n$step-done-color: $inverse;\n$step-done-bg:$brand-success;\n\n$step-error-color: $inverse;\n$step-error-bg: $brand-danger;\n\n$step-disabled-color:$gray-light;\n\n$step-font-size: inherit;\n$step-title-font-size: 20px;\n$step-icon-font-size:27px;\n$step-number-font-size:24px;\n$step-number-size: 40px;\n\n$step-lg-padding-horizontal:20px;\n$step-lg-padding-vertical:20px;\n$step-lg-font-size: 16px;\n$step-lg-title-font-size:22px;\n$step-lg-icon-font-size: 32px;\n$step-lg-number-font-size:28px;\n$step-lg-number-size:46px;\n\n$step-sm-font-size: 12px;\n$step-sm-title-font-size: 18px;\n$step-sm-icon-font-size: 24px;\n$step-sm-number-font-size: 24px;\n$step-sm-number-size: 30px;\n\n$step-xs-font-size: 10px;\n$step-xs-title-font-size: 16px;\n$step-xs-icon-font-size: 22px;\n$step-xs-number-font-size: 20px;\n$step-xs-number-size: 24px;\n\n// blog nav\n$blognav-active-color:unquote(\"rgb(#{$primary-color})\");\n// widget\n$widget-padding-left:30px;\n$widget-padding-top:10px;\n\n\n// couter 数据统计\n\n$counter-number-color: $gray-darkest;\n$counter-number-font-size: 20px;\n$counter-icon-font-size: $counter-number-font-size;\n\n$counter-lg-number-font-size: 40px;\n$counter-md-number-font-size: 30px;\n$counter-sm-number-font-size: 14px;\n\n$counter-lg-icon-font-size: $counter-lg-number-font-size;\n$counter-md-icon-font-size: $counter-md-number-font-size;\n$counter-sm-icon-font-size: $counter-sm-number-font-size;\n\n$counter-inverse-color: $inverse;\n\n\n// navbar\n\n\n$menu-active-color: #108ee9;\n$menu-border-active-color: #108ee9;\n$menu-selected-bg-color: #eaf8fe;\n$menu-group-titil-color: #999;\n$menu-group-title-padding-left: 32px;\n$menu-color: #666;\n$menu-border-color: #d9d9d9;\n\n$navbar-default-bg-color: #f8f8f8;\n$navbar-default-border-color: #e7e7e7;\n$navbar-default-color: #777;\n$navbar-default-hover-color: #333;\n$navbar-inverse-hover-color: #fff;\n$navbar-inverse-color: #9d9d9d;\n$navbar-inverse-bg-color: #222;\n$navbar-inverse-border-color: #080808;\n$navbar-border-radius: 4px;\n\n$navbar-side-container-border-color: #d9d9d9;\n$navbar-side-container-width: 242px;\n$navbar-side-container-border-shadow: #d9d9d9;\n\n// Basics of a navbar\n$navbar-height: 50px;\n$navbar-margin-bottom: $line-height-computed;\n$navbar-border-radius: $border-radius-base;\n$navbar-padding-horizontal: floor(($grid-gutter-width / 2));\n$navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2);\n$navbar-collapse-max-height: 340px;\n\n$navbar-avatar-margin-horizontal: (($navbar-height - 32px) / 2);\n\n$navbar-brand-padding-horizontal: 20px;\n$navbar-brand-logo-height: 32px;\n\n$navbar-default-color: $text-color;\n$navbar-default-bg: $inverse;\n$navbar-default-border: $border-color-base;\n\n// Navbar links\n$navbar-default-link-color: $text-color;\n$navbar-default-link-hover-color: $gray-darker;\n$navbar-default-link-hover-bg: rgba(238,238,238, 30%);\n$navbar-default-link-active-color: $navbar-default-link-hover-color;\n$navbar-default-link-active-bg: rgba(238,238,238, 60%);\n$navbar-default-link-disabled-color: $disabled-color-base;\n$navbar-default-link-disabled-bg: transparent;\n\n// Navbar brand label\n$navbar-default-brand-color: $title-color;\n$navbar-default-brand-hover-color: $navbar-default-brand-color;\n$navbar-default-brand-hover-bg: none;\n\n// Navbar toggle\n$navbar-default-toggle-hover-bg: $navbar-default-link-hover-bg;\n$navbar-default-toggle-icon-bar-bg: $navbar-default-color;\n$navbar-default-toggle-border-color: transparent;\n\n\n// Inverted navbar\n// Reset inverted navbar basics\n$navbar-inverse-bg: $brand-primary;\n$navbar-inverse-border: rgba(0, 0, 0, .1);\n\n// Inverted navbar links\n$navbar-inverse-link-color: $inverse;\n$navbar-inverse-link-hover-color: $inverse;\n$navbar-inverse-link-hover-bg: rgba(0, 0, 0, .1);\n$navbar-inverse-link-active-color: $navbar-inverse-link-hover-color;\n$navbar-inverse-link-active-bg: $navbar-inverse-link-hover-bg;\n$navbar-inverse-link-disabled-color: $inverse;\n$navbar-inverse-link-disabled-bg: transparent;\n\n// Inverted navbar brand label\n$navbar-inverse-brand-color: $navbar-inverse-link-color;\n$navbar-inverse-brand-hover-color: $inverse;\n$navbar-inverse-brand-hover-bg: none;\n\n// Inverted navbar toggle\n$navbar-inverse-toggle-hover-bg: $navbar-inverse-link-hover-bg;\n$navbar-inverse-toggle-icon-bar-bg: $inverse;\n$navbar-inverse-toggle-border-color: transparent;\n\n//hamburger\n$hamburger-size: 17px;\n\n\n//panel\n$panel-header-padding : 10px 15px;\n$panel-footer-padding : 10px 15px;\n$panel-body-padding : 15px 15px;\n$panel-header-bg-color : #f5f5f5;\n$panel-footer-bg-color : #f5f5f5;\n$panel-bg-color : #fff;\n$panel-default-color : #757575;\n$panel-inner-border-color: #ddd;\n\n\n//modal\n$modal-header-padding : 15px;\n$modal-body-padding : 15px;\n$modal-footer-padding : 15px;\n$modal-content-bg-color: #fff;\n$modal-backdrop-bg: #000;\n$modal-backdrop-opacity: .6;\n$modal-header-border-color: transparent;\n$modal-footer-border-color: transparent;\n$modal-xlg: 976px;\n$modal-lg: 800px;\n$modal-sm: 400px;\n$modal-default: 600px;\n$modal-border-radius: $border-radius-base;\n\n//notification\n\n$zIndex-notification: $zIndex-notification;\n$notification-top: 30px;\n$notification-bottom: 30px;\n$notification-right: 30px;\n$notification-width: 300px;\n$notification-text-margin-right: 15px;\n$notice-padding: 15px;\n$notice-background: $gray-darkest;\n$notice-bottom: 15px;\n\n//message\n\n$message-font-size: 12px;\n\n$message-right: 30px;\n$message-width: 300px;\n$message-text-margin-right: 15px;\n$message-padding: 0;\n$message-content-padding: 15px;\n$message-background: $gray-darkest;\n\n//popconfirm\n\n$popconfirm-max-width: 300px;\n\n$popconfirm-dark-bg: $gray-darkest;\n$popconfirm-fallback-dark-border-color: $gray-darkest;\n$popconfirm-margin: 10px;\n$popconfirm-title-bg: #fff;\n$popconfirm-border-color:$border-color-base;\n$popconfirm-arrow-width: 10px;\n$popconfirm-arrow-color: $border-color-base;\n$popconfirm-arrow-outer-width: 0;\n$popconfirm-arrow-outer-color: $border-color-base;\n$popconfirm-border-right-color: $border-color-base;\n$popconfirm-fallback-border-color: #fff;\n\n//select\n\n$select-bg-color: #fff;\n$select-border-color: $border-color-base;\n$select-border-radius: $border-radius-base;\n$select-color: $font-color-base;\n$select-font-size: 12px;\n$select-dropdown-color: #666;\n$select-dropdown-bg-color: #fff;\n$select-dropdown-hover-bg: $hover-bg-color-base;\n$select-dropdown-selected-bg: $selected-bg-color-base;\n$select-dropdown-selected-color: rgb(134, 119, 119);\n$select-dropwdown-item-padding: 7px 16px;\n$select-disabled-color: $disabled-color-base;\n$select-disabled-bg: #f7f7f7;\n$select-disabled-border-color: #d9d9d9;\n//dropdown\n\n$dropdown-item-hover-bg-color: unquote(\"rgb(#{$palette-grey-100})\");\n$dropdown-item-divier-bg-color: $gray-lighter;\n$dropdown-border-color: $border-color-base;\n$dropdown-border-radius:3px;\n$dropdown-shadow: 0 1px 5px $dropdown-border-color;\n$dropdown-margin: 5px 0 0 0;\n$dropdown-menu-item-padding: 0px 16px 0 28px;\n$dropdown-menu-font-size: 12px;\n$dropdown-menu-item-height: 42px;\n$dropdown-menu-item-light-height: 42px;\n$dropdown-menu-title-font-size: 12px;\n$dropdown-menu-title-color: $disabled-color-base;\n$dropdown-menu-title-padding:8px 16px;\n$dropdown-menu-title-line-height: 1.5;\n\n//upload\n\n$upload-list-color: #108ee9;\n$upload-list-bg : #fff;\n$upload-list-hover-bg: #e7f4fd;\n$upload-list-error-color: #f50;\n$upload-thumbnail-height: 48px;\n$upload-thumbnail-width: 48px;\n$upload-thumbnail-img-height: 48px;\n$upload-thumbnail-img-width: 48px;\n\n//loading\n\n$loading-loadprimary: rgb(63, 81, 181);\n$loading-loadsuccess: #4caf50;\n$loading-loadwarn: rgb(255, 152, 0);\n$loading-lineanimating: (\n 1:line-scale 1s 0.1s infinite cubic-bezier(.2, .68, .18, 1.08),\n 2:line-scale 1s 0.2s infinite cubic-bezier(.2, .68, .18, 1.08),\n 3:line-scale 1s 0.3s infinite cubic-bezier(.2, .68, .18, 1.08),\n 4:line-scale 1s 0.4s infinite cubic-bezier(.2, .68, .18, 1.08),\n 5:line-scale 1s 0.5s infinite cubic-bezier(.2, .68, .18, 1.08)\n);\n$loading-linebackcolor: (\n 1: #F44336,\n 2: #7ED321,\n 3: #0084FF,\n 4: #FF9800,\n 5: #D0021B\n);\n$loading-back-width: 120px;\n$loading-back-height:110px;\n$loading-desc-font-size: 16px;\n$loading-desc-color: #cecece;\n$loading-rotate-bor:#c2c3c5;\n\n//两种加载的尺寸 width height\n$loading-rotate-sm-size: 25px;\n$loading-rotate-size:40px;\n$loading-rotate-lg-size:60px;\n\n$loading-line-sm-width: 4px;\n$loading-line-sm-height:35px;\n$loading-line-width:6px;\n$loading-line-height:50px;\n$loading-line-lg-width:8px;\n$loading-line-lg-height:90px ;\n\n//居中位置top left\n$loading-center-top:50%;\n$loading-center-left:50%;\n\n$loading-rotate-center-sm: -15px ;\n$loading-rotate-center:-22px;\n$loading-rotate-center-lg:-35px ;\n\n$loading-line-center-sm-top: -22px;\n$loading-line-center-sm-left:-20px;\n$loading-line-center-top:-30px;\n$loading-line-center-left:-25px;\n$loading-line-center-lg-top:-50px;\n$loading-line-center-lg-left:-30px;\n\n\n//switch\n\n\n//color\n$switch-border-color: $gray-lighter;\n$switch-back-color: $gray-lighter;\n$switch-checked-borColor: $brand-primary;\n$switch-checked-backColor: $brand-primary;\n\n// border-radius of different state switch\n$switch-border-radius: 20px;\n$switch-border-radius-after: 18px;\n\n// width height line-height of the three switches\n$switch-width: (default:44px, small:32px, large:60px);\n$switch-height: (default:22px, small:16px, large:30px);\n$switch-lineHeight: (default:20px, small:12px, large:12px);\n\n// style of u-switch-inner\n$switch-inner-fontSize: (default:12px, small:10px, large:18px);\n$switch-inner-left: (default:22px, small:16px, large:30px);\n$switch-inner-largeTop: 8px;\n\n// style of u-switch:active:after\n$switch-active-width: (default:24px, small:16px, large:32px);\n\n// style of u-switch:after\n$switch-after-widthHeight: 18px;\n$switch-after-widthHeight-sm: 14px;\n$switch-after-widthHeight-lg: 26px;\n$switch-after-top: 1px;\n$switch-after-top-sm: 0;\n$switch-after-top-lg: 1px;\n$switch-after-left: 0;\n$switch-after-left-sm: 0;\n$switch-after-left-lg: 0;\n\n// style of u-switch.is-checked\n$switch-checked-innerLeft: (default:8px, small:4px, large:8px);\n$switch-checked-afterLeft: (default:24px, small:16px, large:32px);\n$switch-checked-activeLeft: (default:16px, small:10px, large:26px);\n\n$switch-primary-bg: $brand-primary;\n$switch-dark-bg: $brand-dark;\n$switch-success-bg: $brand-success;\n$switch-warning-bg: $brand-warning;\n$switch-danger-bg: $brand-danger;\n$switch-info-bg: $brand-info;\n\n//tabs\n\n$tabs-basic-back: #f5f5f5;\n$tabs-cls-color: #666;\n$tabs-cls-width: 900px;\n$tabs-simple-conHeight: 120px;\n$tabs-simple-conPad: 16px;\n$tabs-simple-conWidth: 100%;\n\n$tabs-fontSize: (simple:14px, fill:14px, turn:14px, slide:14px, fade:14px, fadeup:14px);\n$tabs-lineHeight: (simple:2.3, fill:2.3, turn:2.3, slide:2.3, fade:2.3, fadeup:2.3);\n$tabs-marginBottom: -1px;\n\n$tabs-simple-tab: (padding:0 16px, margin:5px 0 5px 5px, radius:0 0 0 0, back:#fff);\n$tabs-simple-tabBorder: 1px solid #fff;\n$tabs-simple-activeBorder: 1px solid $brand-primary;\n$tabs-simple-activeColor: #fff;\n$tabs-simple-activeBorBottom: 1px solid $brand-primary;\n$tabs-simple-activeTopRadius: 5px;\n$tabs-simple-fontWeight: bold;\n\n$tabs-fill-tab: (padding: 0 16px, color:#666, back:#fff, afterBack:#d2d8d6, activeBack:$brand-primary);\n$tabs-fill-tab-maright: 5px;\n$tabs-fill-after-top: 0;\n$tabs-fill-after-left: 0;\n$tabs-fill-after-width: 100%;\n$tabs-fill-after-height: 100%;\n$tabs-fill-fontWeight: bold;\n\n$tabs-turn-tab: (padding: 0 16px, color:#fff, back:#f5f5f5, afterBack:$brand-primary, activeBack:$brand-primary);\n$tabs-turn-after-top: 0;\n$tabs-turn-after-left: 0;\n$tabs-turn-after-width: 100%;\n$tabs-turn-after-height: 100%;\n$tabs-turn-beforeBot: 32px;\n$tabs-turn-beforeRight: 15px;\n$tabs-turn-fontWeight: bold;\n$tabs-moveleft-conHeight: 120px;\n$tabs-moveleft-conPad: 16px;\n\n$tabs-slide-tabs: (width:25%, padding: 0 16px, back:#f5f5f5);\n$tabs-slide-child-bottom: 0;\n$tabs-slide-child-left: 0;\n$tabs-slide-child-height: 4px;\n$tabs-slide-child-back: $brand-primary;\n$tabs-slide-fontWeight: bold;\n\n$tabs-fade-tab: (marLeft:5px, marTop:5px, color:#666, padding:0 16px, radius:0 0 0 0);\n$tabs-fade-conPad: 16px;\n$tabs-fade-conBor: 5px;\n\n$tabs-fadeup-tab: (marTop:5px, color:#666, padding:0 16px, radius:0 0 0 0);\n$tabs-fadeup-top: -5px;\n$tabs-fadeup-left: 0;\n$tabs-fadeup-width: 100%;\n$tabs-fadeup-height: 100%;\n$tabs-fadeup-color: #666;\n$tabs-fadeup-conHeight: 120px;\n$tabs-fadeup-conPad: 16px;\n\n\n//rate\n$rate-star-default-color:$gray-lightest;\n$rate-star-active-color:$brand-primary;\n$rate-star-marginRight:8px;\n//backtop\n$back-top-padding:5px;\n$backtop-background:unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$backtop-color:unquote(\"rgb(#{$color-white})\") !default;\n$backtop-right:10px;\n$backtop-bottom:10px;\n$backtop-dom-right:40px;\n\n\n//dnd\n$dnd-list-background:unquote(\"rgb(#{$palette-grey-400})\")!default;\n$dnd-list-padding:8px;\n$dnd-list-dragging-background:unquote(\"rgb(#{$palette-light-blue-A200})\")!default;\n$dnd-item-color:unquote(\"rgb(#{$color-black})\")!default;\n$dnd-item-padding:16px;\n$dnd-item-margin:4px;\n$dnd-item-background:unquote(\"rgb(#{$palette-grey-500})\")!default;\n$dnd-item-dragging-background:unquote(\"rgb(#{$palette-blue-300})\")!default;\n\n// bee-tree\n$tree-checkbox-color: unquote(\"rgb(#{$primary-color})\") !default;\n$tree-node-bg-color: $hover-bg-color-base !default;\n\n// bee-table\n$table-head-background-color: unquote(\"rgb(#{$table-header-background-color})\") !default;\n$table-head-text-color: unquote(\"rgb(#{$table-header-text-color})\") !default;\n\n// bee-transfer\n$transfer-border-gap-color:#d9d9d9;\n\n// bee-transfer\n$cascader-border-gap-color:#ccc;","@import \"../node_modules/tinper-bee-core/scss/minxin-variables\";\r\n@import \"../node_modules/tinper-bee-core/scss/minxin-mixins\";\r\n\r\n\r\n$loading-icon-color: #0084ff;\r\n\r\n/**\r\n * 加载背景\r\n */\r\n//.u-loading-back{\r\n// position:relative;\r\n// text-align: center;\r\n// width:$loading-back-width;\r\n// height:$loading-back-height;\r\n// margin:0 auto;\r\n// &.light{\r\n// background: #fff;\r\n// }\r\n// &.dark{\r\n// background: #000;\r\n// }\r\n//}\r\n/**\r\n * 文字\r\n */\r\n.u-loading-desc {\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n font-size: $font-size-base;\r\n color: $font-color-base;\r\n text-align: center;\r\n}\r\n\r\n\r\n/**\r\n * default样式 单个圆圈加载\r\n */\r\n\r\n.u-loading {\r\n &.u-loading-rotate {\r\n & > div {\r\n position: absolute;\r\n border-radius: 100%;\r\n margin: 2px;\r\n -webkit-animation-fill-mode: both;\r\n animation-fill-mode: both;\r\n // border: 2px solid #0084ff;\r\n // border-bottom-color: transparent;\r\n width: $loading-rotate-size;\r\n height: $loading-rotate-size;\r\n top: $loading-center-top;\r\n left: $loading-center-left;\r\n margin-left: $loading-rotate-center;\r\n margin-top: $loading-rotate-center;\r\n background: transparent !important;\r\n display: inline-block;\r\n -webkit-animation: rotate 1s 0s linear infinite;\r\n animation: rotate 1s 0s linear infinite;\r\n text-align: center;\r\n line-height: $loading-rotate-size;\r\n & > img{\r\n width: $loading-rotate-size;\r\n }\r\n & > .uf{\r\n color: $loading-icon-color;\r\n font-size: 40px;\r\n padding: 0;\r\n }\r\n }\r\n &.u-loading-rotate-lg {\r\n & > div {\r\n margin-left: $loading-rotate-center-lg;\r\n margin-top: $loading-rotate-center-lg;\r\n width: $loading-rotate-lg-size;\r\n height: $loading-rotate-lg-size;\r\n line-height: $loading-rotate-lg-size;\r\n & > img{\r\n width: $loading-rotate-lg-size;\r\n }\r\n & > .uf{\r\n font-size: 60px;\r\n }\r\n }\r\n }\r\n &.u-loading-rotate-sm {\r\n & > div {\r\n margin-left:$loading-rotate-center-sm;\r\n margin-top: $loading-rotate-center-sm;\r\n width: $loading-rotate-sm-size;\r\n height:$loading-rotate-sm-size;\r\n line-height: $loading-rotate-sm-size;\r\n & > img{\r\n width: $loading-rotate-sm-size;\r\n }\r\n & > .uf{\r\n font-size: 25px;\r\n }\r\n }\r\n }\r\n &.u-loading-rotate-primary {\r\n & > div > .uf{\r\n color: $loading-loadprimary;\r\n // border: 2px solid $loading-loadprimary;\r\n // border-bottom-color: transparent;\r\n }\r\n }\r\n &.u-loading-rotate-success {\r\n & > div > .uf{\r\n color: $loading-loadsuccess;\r\n // border: 2px solid $loading-loadsuccess;\r\n // border-bottom-color: transparent;\r\n }\r\n }\r\n &.u-loading-rotate-warning {\r\n & > div > .uf{\r\n color: $loading-loadwarn;\r\n // border: 2px solid $loading-loadwarn;\r\n // border-bottom-color: transparent;\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\n.u-loading-backdrop{\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 1900;\r\n // opacity: .4;\r\n // filter: blur(.5px);\r\n background-color:rgba(255,255,255,0.4);\r\n &.full-screen{\r\n position: fixed;\r\n }\r\n}\r\n\r\n@keyframes rotate {\r\n 0% {\r\n -webkit-transform: rotate(0deg) scale(1);\r\n transform: rotate(0deg) scale(1);\r\n }\r\n\r\n 50% {\r\n -webkit-transform: rotate(180deg) scale(1);\r\n transform: rotate(180deg) scale(1);\r\n }\r\n\r\n 100% {\r\n -webkit-transform: rotate(360deg) scale(1);\r\n transform: rotate(360deg) scale(1);\r\n }\r\n}\r\n\r\n.u-loading {\r\n &.u-loading-line {\r\n position: absolute;\r\n top:$loading-center-top;\r\n left: $loading-center-left;\r\n margin-top: $loading-line-center-top;\r\n margin-left: $loading-line-center-left;\r\n & > div {\r\n background-color: #C2C3C5;\r\n width: $loading-line-width;\r\n height: $loading-line-height;\r\n border-radius: 2px;\r\n margin: 2px;\r\n -webkit-animation-fill-mode: both;\r\n animation-fill-mode: both;\r\n display: inline-block;\r\n }\r\n &.u-loading-line-lg {\r\n margin-top: $loading-line-center-lg-top;\r\n margin-left: $loading-line-center-lg-left;\r\n & > div {\r\n width: $loading-line-lg-width;\r\n height: $loading-line-lg-height;\r\n }\r\n }\r\n &.u-loading-line-sm {\r\n margin-top: $loading-line-center-sm-top;\r\n margin-left: $loading-line-center-sm-left;\r\n & > div {\r\n width:$loading-line-sm-width;\r\n height: $loading-line-sm-height;\r\n }\r\n }\r\n @each $index, $anima in $loading-lineanimating {\r\n div:nth-child( #{$index} ) {\r\n -webkit-animation: $anima;\r\n animation: $anima;\r\n background-color: map_get($loading-linebackcolor, $index);\r\n }\r\n }\r\n\r\n &.u-loading-line-primary {\r\n & > div {\r\n background-color: $loading-loadprimary;\r\n }\r\n }\r\n &.u-loading-line-success {\r\n & > div {\r\n background-color: $loading-loadsuccess;\r\n }\r\n }\r\n &.u-loading-line-warning {\r\n & > div {\r\n background-color: $loading-loadwarn;\r\n }\r\n }\r\n }\r\n}\r\n.u-loading {\r\n &.u-loading-custom {\r\n & > div {\r\n position: absolute;\r\n left: 50%;\r\n top: 50%;\r\n -webkit-transform: translate(-50%,-50%);\r\n transform: translate(-50%,-50%);\r\n }\r\n }\r\n}\r\n@keyframes line-scale {\r\n 0% {\r\n -webkit-transform: scaley(1);\r\n transform: scaley(1);\r\n }\r\n\r\n 50% {\r\n -webkit-transform: scaley(0.4);\r\n transform: scaley(0.4);\r\n }\r\n\r\n 100% {\r\n -webkit-transform: scaley(1);\r\n transform: scaley(1);\r\n\r\n }\r\n}\r\n","@import \"minxin-colors\";\n\n// 默认色\n$default-color: $palette-blue-grey-50;\n$default-color-dark: \"223,225,230\";\n$default-color-light: \"223,225,230\";\n\n// 主题色\n$primary-color: \"245, 60, 50\" !default;\n$primary-color-dark: \"230, 0, 18\" !default;\n$primary-color-light: \"230, 0, 18\" !default;\n\n// 字体\n$font-family-primary: \"Open Sans\", \"Helvetica Neue\", Arial, \"Hiragino Sans GB\", \"Microsoft YaHei\", sans-serif !default;\n// 主字号\n$font-size-base: 14px !default;\n// 主按钮文本色\n$text-color-base: $color-dark-contrast !default; \n\n// 圆角,包括:button、select等\n$border-radius: 3px !default;\n// 边框色,包括按钮、输入框、分页\n$border-color: \"165, 173, 186\" !default;\n// 条目hover背景色,包括:select、dropdown、table、datepicker、tree、menu、calendar\n$item-hover-bg-color-base: \"235, 236, 240\" !default;\n// 条目selected背景色,包括:select、menu等\n$item-selected-bg-color-base: \"255, 247, 231\" !default;\n\n// Button 细化样式变量:\n// 次按钮背景色\n$secondary-color: $palette-blue-grey-50 !default;\n$secondary-color-dark: \"223,225,230\" !default;\n$secondary-color-light: \"223,225,230\" !default;\n// 次按钮文本色\n$button-secondary-text-color: $palette-grey-900 !default;\n\n// Table 细化样式变量:\n// 表头背景色\n$table-header-background-color: \"241, 242, 245\";\n// 表头文字颜色\n$table-header-text-color: \"33, 33, 33\";\n// 表格分割线颜色\n$table-border-color-base: \"193, 199, 208\";\n// 表格行hover背景色\n$table-row-hover-bg-color: \"235, 236, 240\";\n\n// 向下兼容\n$color-primary: $palette-blue-600 !default;\n$color-primary-dark: $palette-blue-800 !default;\n$color-primary-light: $palette-blue-400 !default;\n\n// 辅色\n$color-accent: $palette-green-600 !default;\n$color-accent-dark: $palette-green-800 !default;\n$color-accent-light: $palette-green-400 !default;\n\n\n// cyan主题\n//$color-primary: $palette-cyan-500 !default;\n//$color-primary-dark: $palette-cyan-700 !default;\n//$color-accent: $palette-light-blue-500 !default;\n\n// orange主题\n//$color-primary: $palette-orange-500 !default;\n//$color-primary-dark: $palette-orange-700 !default;\n//$color-accent: $palette-deep-orange-500 !default;\n","@import \"../node_modules/tinper-bee-core/scss/minxin-variables\";\r\n@import \"../node_modules/tinper-bee-core/scss/minxin-mixins\";\r\n@import \"../node_modules/bee-loading/src/Loading\";\r\n\r\n$text-color: $font-color-base;\r\n$font-size-base: 12px;\r\n$line-height: 1.33;\r\n// 主题定制border:\r\n$table-border-color: unquote(\"rgb(#{$table-border-color-base})\");\r\n// $table-head-background-color: #f7f7f7;\r\n// $table-head-text-color: #666;\r\n$vertical-padding: 12px;\r\n$horizontal-padding: 8px;\r\n$first-horizontal-padding: 12px;\r\n// $table-border-color: #e9e9e9;\r\n\r\n$table-hover-color: #E7F2FC;\r\n$table-move-in-color: $bg-color-base;\r\n$checkbox-height:14px;\r\n$table-th-bottom-border:#C1C7D0;\r\n\r\n$filter-form-control-height:26px;\r\n$table-head-font-weight: bold;\r\n$icon-color:#505F79;\r\n.u-table {\r\n font-size: $font-size-base;\r\n color: $text-color;\r\n // transition: opacity 0.3s ease;\r\n position: relative;\r\n line-height: $line-height;\r\n overflow: hidden;\r\n &-body{\r\n // overflow: hidden!important;\r\n position: relative;\r\n .u-table-row-expand-columns-in-body .expand-icon-con {\r\n display: none;\r\n pointer-events: none;\r\n }\r\n }\r\n &-hiden-drag{\r\n position: relative;\r\n &-li{\r\n position: absolute;\r\n top: 0px;\r\n left: 0px;\r\n // height: 10px;//这个高度先注释掉了,加上后,在火狐浏览器上会站位置。滚动条拉到最右边有错行\r\n }\r\n }\r\n table {\r\n width: 100%;\r\n border-collapse: collapse;\r\n text-align: left;\r\n }\r\n\r\n th {\r\n // background: $table-head-background-color;\r\n font-weight: $table-head-font-weight;\r\n text-align: left;\r\n // transition: background 0.3s ease;\r\n line-height: 16px;\r\n &[colspan] {\r\n text-align: center;\r\n }\r\n ::last-child{\r\n overflow: hidden;\r\n }\r\n }\r\n\r\n td {\r\n border-bottom: 1px solid $table-border-color;\r\n line-height: $line-height;\r\n a{\r\n color: #2196F3;\r\n &:hover{\r\n color: #1565c0;\r\n }\r\n &:active{\r\n color: #1565c0;\r\n }\r\n }\r\n .u-switch-span{\r\n display: inline-block\r\n }\r\n }\r\n thead{\r\n tr:last-child{\r\n border-bottom: 1px solid $table-th-bottom-border;\r\n }\r\n tr>th:last-child{\r\n border-right: none; \r\n }\r\n }\r\n tr {\r\n // transition: all 0.3s ease;\r\n &:hover {\r\n // background: $hover-bg-color-base;\r\n td {\r\n .uf-eye{\r\n visibility: visible !important;\r\n }\r\n }\r\n }\r\n tr a{\r\n color: #2196F3;\r\n &:hover{\r\n color: #1565c0;\r\n }\r\n &:active{\r\n color: #1565c0;\r\n }\r\n }\r\n td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body){\r\n display: flex;\r\n flex-direction: row-reverse;\r\n &:nth-last-child(1):last-child {\r\n border-right: none;\r\n }\r\n .expand-icon-con {\r\n height: 14px;\r\n .uf{\r\n padding: 0;\r\n }\r\n .u-table-row-expand-icon {\r\n width: 2px;\r\n }\r\n }\r\n .u-checkbox {\r\n margin: 0;\r\n }\r\n }\r\n }\r\n tr.tr-row-hover {\r\n background: $hover-bg-color-base;\r\n }\r\n\r\n th,\r\n td {\r\n padding: $vertical-padding $horizontal-padding;\r\n word-break: break-all;\r\n &.drag-handle-column {\r\n .uf {\r\n font-size: 12px;\r\n line-height: 12px;\r\n }\r\n }\r\n &.text-center{\r\n text-align: center;\r\n }\r\n &.text-right{\r\n text-align: right;\r\n }\r\n .expand-icon-con{\r\n cursor: pointer;\r\n display: inline-block;\r\n font-size: 12px;\r\n line-height: 12px;\r\n }\r\n }\r\n &-sm {\r\n td {\r\n padding: 8px $horizontal-padding;\r\n }\r\n }\r\n &-lg {\r\n td {\r\n padding: 16px $horizontal-padding;\r\n }\r\n }\r\n tr {\r\n \r\n &.filterable{\r\n th{\r\n padding-top: 5px !important;\r\n padding-bottom: 5px !important;\r\n .filterContext{\r\n height: 35px;\r\n }\r\n .u-select-selection--single{\r\n height: 26px;\r\n }\r\n }\r\n }\r\n }\r\n &-row-hover {\r\n background:unquote(\"rgb(#{$table-row-hover-bg-color})\");\r\n }\r\n \r\n &-scroll {\r\n overflow: auto;\r\n }\r\n &-bordered {\r\n table {\r\n border: 1px solid $table-border-color;\r\n box-sizing: border-box;\r\n table-layout: fixed;\r\n // width:auto;\r\n }\r\n \r\n .u-table-header>table {\r\n border-bottom: 0;\r\n }\r\n .u-table-header~.u-table-body,.u-table-header~.u-table-body-outer{\r\n table{\r\n border-top: 0px ;\r\n }\r\n }\r\n\r\n th {\r\n border-bottom: 1px solid $table-border-color;\r\n box-sizing: border-box;\r\n }\r\n th,\r\n td {\r\n border-right: 1px solid $table-border-color;\r\n box-sizing: border-box;\r\n }\r\n }\r\n &-drag-border{\r\n tr {\r\n th.th-can-not-drag{ //拖拽tag影响了表格整体宽度\r\n overflow: hidden;\r\n .u-table-thead-th-drag-gap{//最后一个非固定列不可以拖拽\r\n display: none;\r\n }\r\n }\r\n }\r\n }\r\n &-header {\r\n overflow: hidden;\r\n background: $table-head-background-color;\r\n color: $table-head-text-color;\r\n }\r\n\r\n &.fixed-height td {\r\n padding: 0px $horizontal-padding;\r\n }\r\n\r\n &-fixed-header &-body {\r\n background: #fff;\r\n position: relative;\r\n }\r\n &-fixed-left &-body-inner {\r\n margin-right: -20px;\r\n padding-right: 20px;\r\n }\r\n\r\n &-fixed-header:not(.u-table-hide-header) &-fixed-left &-body-inner {\r\n padding-right: 0px;\r\n }\r\n\r\n &-fixed-header &-body-inner {\r\n height: 100%;\r\n overflow: scroll;\r\n }\r\n\r\n\r\n &-fixed-header &-scroll &-header {\r\n overflow-x: scroll;\r\n padding-bottom: 20px;\r\n margin-bottom: -20px;\r\n overflow-y: scroll;\r\n box-sizing: border-box;\r\n }\r\n\r\n &-title {\r\n padding: $vertical-padding $horizontal-padding;\r\n border-top: 1px solid $table-border-color;\r\n }\r\n\r\n &-content {\r\n position: relative;\r\n }\r\n\r\n &-footer {\r\n padding: $vertical-padding $horizontal-padding;\r\n border-bottom: 1px solid $table-border-color;\r\n .u-table-scroll{\r\n overflow-x: hidden;\r\n }\r\n }\r\n &-footer & {\r\n margin: (-$vertical-padding) (-$horizontal-padding);\r\n }\r\n\r\n &-placeholder {\r\n padding: $vertical-padding 8px;\r\n background: #fff;\r\n border-bottom: 1px solid $table-border-color;\r\n text-align: center;\r\n position: relative;\r\n .table-nodata{ \r\n font-size: 40px; \r\n line-height: 44px;\r\n + span{\r\n font-size: 12px;\r\n line-height: 12px;\r\n display: block;\r\n }\r\n }\r\n }\r\n\r\n &-expand-icon-col {\r\n width: 10px;\r\n }\r\n &-row,\r\n &-expanded-row {\r\n .u-table{\r\n tr{\r\n background: #fff;\r\n }\r\n tr.u-table-row-hover{\r\n background:unquote(\"rgb(#{$table-row-hover-bg-color})\");\r\n }\r\n }\r\n &-expand-icon {\r\n cursor: pointer;\r\n display: inline-block;\r\n margin-right: 8px;\r\n width: 14px;\r\n height: 14px;\r\n text-align: center;\r\n line-height: 14px;\r\n user-select: none;\r\n &.uf{\r\n font-size: 12px;\r\n padding: 0;\r\n }\r\n }\r\n &-spaced {\r\n visibility: hidden;\r\n }\r\n &-spaced:after {\r\n content: \".\";\r\n }\r\n &-expanded {\r\n &:after {\r\n content: \"\\e639\";\r\n font-family: \"uf\";\r\n }\r\n }\r\n &-collapsed {\r\n &:after {\r\n content: \"\\e61c\";\r\n font-family: \"uf\";\r\n }\r\n }\r\n }\r\n &-row{\r\n &.selected{\r\n background: #FFF7E7;\r\n }\r\n }\r\n tr.u-table-expanded-row {\r\n background: #DFE1E6;\r\n &:hover {\r\n background: #DFE1E6;\r\n }\r\n .u-table {\r\n // padding: 0 40px 0 20px;\r\n z-index: 1;\r\n }\r\n }\r\n &-column-hidden {\r\n display: none;\r\n }\r\n &-prev-columns-page,\r\n &-next-columns-page {\r\n cursor: pointer;\r\n color: #666;\r\n z-index: 1;\r\n &:hover {\r\n color: #2db7f5;\r\n }\r\n &-disabled {\r\n cursor: not-allowed;\r\n color: #999;\r\n &:hover {\r\n color: #999;\r\n }\r\n }\r\n }\r\n &-prev-columns-page {\r\n margin-right: 8px;\r\n &:before {\r\n content: \"<\";\r\n }\r\n }\r\n &-next-columns-page {\r\n float: right;\r\n &:before {\r\n content: \">\";\r\n }\r\n }\r\n\r\n &-fixed-left,\r\n &-fixed-right {\r\n position: absolute;\r\n top: 0;\r\n overflow: hidden;\r\n z-index: 1;\r\n table {\r\n width: auto;\r\n background: #fff;\r\n }\r\n }\r\n\r\n &-fixed-left {\r\n left: 0;\r\n box-shadow: 4px 0 4px rgba(100, 100, 100, 0.1);\r\n &-body-inner {\r\n margin-right: -20px;\r\n padding-right: 20px;\r\n }\r\n &-fixed-header & &-body-inner {\r\n padding-right: 0;\r\n }\r\n }\r\n\r\n &-fixed-right {\r\n right: 0;\r\n box-shadow: -4px 0 4px rgba(100, 100, 100, 0.1);\r\n\r\n // hide expand row content in right fixed Table\r\n // https://github.com/ant-design/ant-design/issues/1898\r\n &-expanded-row {\r\n color: transparent;\r\n pointer-events: none;\r\n }\r\n \r\n }\r\n \r\n &-scroll-position-left &-fixed-left {\r\n box-shadow: none;\r\n }\r\n\r\n &-scroll-position-right &-fixed-right {\r\n box-shadow: none;\r\n }\r\n\r\n &-thead{\r\n .filter-text,.filter-dropdown,.filter-date {\r\n font-weight: normal;\r\n }\r\n .filter-wrap{\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n .filter-btns{\r\n min-width: 58px;\r\n }\r\n }\r\n th{\r\n background: $table-head-background-color;\r\n color: $table-head-text-color;\r\n background-clip:padding-box;\r\n //禁止选中文字\r\n -moz-user-select: -moz-none;\r\n -khtml-user-select: none;\r\n -webkit-user-select: none; \r\n /*\r\n Introduced in IE 10. \r\n */\r\n -ms-user-select: none;\r\n user-select: none;\r\n\r\n // overflow: hidden;\r\n // white-space: nowrap;\r\n // text-overflow: ellipsis;\r\n .bee-table-column-sorter {\r\n position: relative;\r\n margin-left: 4px;\r\n height: 16px;\r\n vertical-align: middle;\r\n text-align: center;\r\n display: inline-block;\r\n margin-top: -3px;\r\n i{\r\n padding: 0px;\r\n font-weight: 600;\r\n color: $icon-color;\r\n }\r\n \r\n & > .bee-table-column-sorter-down,\r\n & > .bee-table-column-sorter-up, & > .bee-table-column-sorter-flat {\r\n line-height: 16px;\r\n display: block;\r\n width: 34px;\r\n cursor: pointer;\r\n }\r\n \r\n }\r\n\r\n .bee-table-column-sorter-down.on .uf-triangle-down,\r\n .bee-table-column-sorter-down.on .uf-triangle-up,\r\n .bee-table-column-sorter-up.on .uf-triangle-down,\r\n .bee-table-column-sorter-up.on .uf-triangle-up {\r\n color: #108ee9;\r\n }\r\n .bee-table-column-sorter .uf-triangle-down,\r\n .bee-table-column-sorter .uf-triangle-up {\r\n -webkit-filter: none;\r\n filter: none;\r\n font-size: 12px;\r\n }\r\n .bee-table-column-sorter .uf-triangle-down,\r\n .bee-table-column-sorter .uf-triangle-up {\r\n display: inline-block;\r\n padding: 0;\r\n font-size: 12px;\r\n font-size: 8px\\9;\r\n -webkit-transform: scale(0.66666667) rotate(0deg);\r\n -ms-transform: scale(0.66666667) rotate(0deg);\r\n transform: scale(0.66666667) rotate(0deg);\r\n -ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=1, M12=0, M21=0, M22=1)\";\r\n zoom: 1;\r\n line-height: 4px;\r\n height: 4px;\r\n color: #999;\r\n // -webkit-transition: all 0.3s;\r\n // transition: all 0.3s;\r\n }\r\n &:hover{\r\n .bee-table-column-sorter {\r\n display: inline-block;\r\n }\r\n }\r\n }\r\n .th-drag{\r\n cursor: move;\r\n }\r\n .th-drag:hover{\r\n background: $hover-bg-color-base;\r\n\r\n }\r\n //为了区分是拖拽宽度还是交换列,先注释上面了\r\n // .th-drag:hover{\r\n // background:#ccc;\r\n // }\r\n .th-drag-hover{ \r\n background: #ccc;\r\n }\r\n &-th{\r\n position: relative;\r\n\r\n &-drag-gap{\r\n height: 100%;\r\n position: absolute;\r\n right: -10px;\r\n top: 0;\r\n // background:transparent;\r\n // width: 1px;\r\n // background:#ccc;\r\n width: 20px;\r\n \r\n box-sizing: border-box;\r\n z-index: 1;\r\n\r\n .online{\r\n height: 100%;\r\n width: 1px;\r\n background:transparent;//兼容火狐浏览器,如果table设置border,\r\n margin: 0 auto;\r\n }\r\n .online-hover{\r\n background:#000000;\r\n }\r\n \r\n }\r\n &-drag-gap:hover{\r\n cursor: col-resize;\r\n .online{\r\n background: #000000\r\n }\r\n }\r\n }\r\n &-th:last-child {\r\n &-drag-gap{\r\n border: none;\r\n }\r\n }\r\n }\r\n\r\n\r\n &-filter-column{\r\n \r\n &-pop-cont{\r\n margin: 0px;\r\n max-height: 300px;\r\n overflow-y: auto;\r\n color:#212121;\r\n }\r\n &-clear-setting{ \r\n // border-bottom: 1px solid #ccc;\r\n cursor: pointer;\r\n margin-bottom: 4px;\r\n }\r\n &-cont{\r\n position: relative;\r\n }\r\n &-filter-icon{\r\n position: absolute;\r\n width: 30px;\r\n height: 39px ;\r\n line-height: 39px;\r\n right: 0px ;\r\n top:1px ;\r\n z-index: 2;\r\n background: $table-head-background-color;\r\n text-align: center;\r\n cursor: pointer;\r\n i.uf{\r\n padding: 0px;\r\n color: $icon-color;\r\n }\r\n }\r\n &-pop-cont-item{\r\n margin-top: 8px;\r\n font-size: 12px;\r\n // line-height: 30px;\r\n cursor: pointer;\r\n .u-checkbox {\r\n margin: 0px;\r\n\r\n }\r\n }\r\n &-pop-cont-item span.drop-menu-title{\r\n margin-left: -3px;\r\n max-width: 132px;\r\n width: auto !important;\r\n min-width: 56px;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n display: inline-block;\r\n vertical-align: middle;\r\n }\r\n &-pop .u-modal-dialog{\r\n border: 1px solid #ccc;\r\n background: #fff;\r\n }\r\n }\r\n //拖拽宽度代码\r\n &-row-fixed-columns-in-body{\r\n // visibility: hidden;\r\n display:none;\r\n pointer-events: none;\r\n }\r\n //固定列含有checkbox 样式复写\r\n .u-checkbox {\r\n height: $checkbox-height;\r\n line-height: $checkbox-height;\r\n margin:0px;\r\n display: block;\r\n margin-left: 5px;\r\n .u-checkbox-label{\r\n line-height: $checkbox-height;\r\n padding-left: 16px;\r\n &:before,&:after {\r\n width: $checkbox-height;\r\n height: $checkbox-height;\r\n }\r\n }\r\n }\r\n .u-table-scroll,.u-table-fixed-left{\r\n tr{\r\n td:first-child, th:first-child{\r\n padding-left: $first-horizontal-padding\r\n }\r\n }\r\n }\r\n &.has-fixed-left{\r\n .u-table-scroll{\r\n tr{\r\n td:first-child, th:first-child{\r\n padding-left: $horizontal-padding\r\n }\r\n }\r\n }\r\n }\r\n // 滚动条样式复写\r\n ::-webkit-scrollbar {\r\n width: 8px;\r\n height: 8px;\r\n }\r\n ::-webkit-scrollbar-button {\r\n display: none;\r\n }\r\n ::-webkit-scrollbar-thumb {\r\n background: #d5d5d5 !important;\r\n border-radius: 5px;\r\n }\r\n ::-webkit-scrollbar-thumb {\r\n border-radius: 4px;\r\n background-color: #d5d5d5;\r\n position: absolute;\r\n }\r\n\r\n ::-webkit-scrollbar-track {\r\n display: none;\r\n }\r\n\r\n ::-webkit-scrollbar-track-piece {\r\n display: none;\r\n }\r\n\r\n .row-dragg-able{\r\n cursor:move;\r\n }\r\n .u-table-drag-hidden-cont{\r\n width: 100px;\r\n height: 40px;\r\n }\r\n\r\n}\r\n\r\n.u-table:focus{\r\n outline: none;\r\n // border-color: #9ecaed;\r\n // box-shadow: 0 0 10px #9ecaed;\r\n box-shadow: 0 0 0;\r\n}\r\n\r\n .u-table-bordered {\r\n .u-table-drag-gap{\r\n background:#e9e9e9;\r\n }\r\n }\r\n.u-table.bordered {\r\n table {\r\n border-collapse: collapse;\r\n }\r\n th,\r\n td {\r\n border: 1px solid $table-border-color;\r\n }\r\n}\r\n\r\n.move-enter,\r\n.move-appear {\r\n opacity: 0;\r\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\r\n animation-duration: 2.5s;\r\n animation-fill-mode: both;\r\n animation-play-state: paused;\r\n}\r\n\r\n.move-leave {\r\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\r\n animation-duration: 0.5s;\r\n animation-fill-mode: both;\r\n animation-play-state: paused;\r\n}\r\n\r\n.move-enter.move-enter-active,\r\n.move-appear.move-enter-active {\r\n animation-name: moveLeftIn;\r\n animation-play-state: running;\r\n}\r\n\r\n.move-leave.move-leave-active {\r\n animation-name: moveRightOut;\r\n animation-play-state: running;\r\n}\r\n\r\n@keyframes moveLeftIn {\r\n 0% {\r\n transform-origin: 0 0;\r\n transform: translateX(30px);\r\n opacity: 0;\r\n background: $table-move-in-color;\r\n }\r\n 20% {\r\n transform-origin: 0 0;\r\n transform: translateX(0);\r\n opacity: 1;\r\n }\r\n 80% {\r\n background: $table-move-in-color;\r\n }\r\n 100% {\r\n background: transparent;\r\n opacity: 1;\r\n }\r\n}\r\n\r\n@keyframes moveRightOut {\r\n 0% {\r\n transform-origin: 0 0;\r\n transform: translateX(0);\r\n opacity: 1;\r\n }\r\n 100% {\r\n transform-origin: 0 0;\r\n transform: translateX(-30px);\r\n opacity: 0;\r\n }\r\n}\r\n\r\n.formItem-style {\r\n height: unset;\r\n min-height: unset;\r\n padding: 0;\r\n}\r\n.errMessage-style {\r\n display: none;\r\n border: none;\r\n /* margin-top: 5px; */\r\n /* margin-bottom: 5px; */\r\n background: transparent;\r\n color: #f22c1d;\r\n /* padding-left: 12px; */\r\n /* padding-right: 12px; */\r\n margin: 0;\r\n position: absolute;\r\n padding: 0;\r\n top: 3px;\r\n right: 0;\r\n}\r\n\r\n.editable-cell {\r\n position: relative;\r\n}\r\n\r\n.editable-cell-input-wrapper,\r\n.editable-cell-text-wrapper {\r\n padding-right: 24px;\r\n}\r\n.editable-cell-input-wrapper {\r\n .u-form-item.formItem-style .u-label{\r\n display: none;\r\n }\r\n .u-input-group .u-form-control{\r\n height: 26px;\r\n font-size: 12px;\r\n }\r\n}\r\n\r\n.editable-cell-text-wrapper {\r\n padding: 5px 24px 5px 5px;\r\n height: 30px;\r\n}\r\n\r\n.editable-cell-icon,\r\n.editable-cell-icon-check {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n width: 20px;\r\n cursor: pointer;\r\n}\r\n\r\n.editable-cell-icon {\r\n line-height: 28px;\r\n display: none;\r\n}\r\n\r\n.editable-cell-icon-check {\r\n line-height: 28px;\r\n}\r\n\r\n.editable-cell:hover .editable-cell-icon {\r\n display: inline-block;\r\n}\r\n\r\n.editable-cell-icon:hover,\r\n.editable-cell-icon-check:hover {\r\n color: #2db7f5;\r\n}\r\n\r\n.editable-add-btn {\r\n margin-bottom: 8px;\r\n}\r\n\r\n.search-component {\r\n margin-bottom: 20px;\r\n .empty-search {\r\n position: absolute;\r\n right: 45px;\r\n z-index: 20;\r\n top: 5px;\r\n color: #524e4e;\r\n cursor: pointer;\r\n }\r\n &.u-input-group.simple {\r\n float: right;\r\n }\r\n &.u-input-group.simple .u-form-control {\r\n width: 251px;\r\n background: #f5f5f5;\r\n border-color: #f5f5f5;\r\n border-radius: 20px;\r\n }\r\n &.u-input-group.simple .u-input-group-btn {\r\n top: 3px;\r\n right: 20px;\r\n position: absolute;\r\n }\r\n}\r\n\r\n\r\n.col-resize-container {\r\n height: 0px;\r\n position: relative;\r\n\r\n & + .table-col-resizer:first-of-type {\r\n table-layout: fixed;\r\n }\r\n\r\n .active-drag .icon{\r\n visibility: visible;\r\n }\r\n\r\n .last-handle {\r\n display: none;\r\n }\r\n\r\n .drag-handle {\r\n margin-left: -5px;\r\n position: absolute;\r\n z-index: 5;\r\n width: 10px;\r\n cursor: col-resize;\r\n\r\n .icon {\r\n color: #40b0dc;\r\n top: -1px;\r\n position: absolute;\r\n visibility: hidden;\r\n\r\n &:first-child {\r\n left: -2px\r\n }\r\n &:last-child {\r\n left: 6px\r\n }\r\n }\r\n\r\n &:hover{\r\n .icon{\r\n visibility: visible;\r\n }\r\n .col-resizer {\r\n border: 1px solid;\r\n }\r\n }\r\n\r\n &.disabled-drag {\r\n cursor: default;\r\n display: none;\r\n }\r\n\r\n .col-resizer {\r\n position: absolute;\r\n width: 1px;\r\n height: 100%;\r\n top: 0px;\r\n left: 3px;\r\n }\r\n }\r\n}\r\n\r\n.u-filter-dropdown-menu-wrap {\r\n z-index: 1800;\r\n .u-dropdown-menu {\r\n li.u-dropdown-menu-item {\r\n line-height: $filter-form-control-height;\r\n height: $filter-form-control-height;\r\n padding: 0px 16px 0 16px;\r\n cursor: pointer;\r\n }\r\n }\r\n}\r\n.filter-wrap {\r\n .u-form-control{\r\n height: $filter-form-control-height;\r\n }\r\n .u-input-number.u-input-group.simple .u-input-group-btn .icon-group {\r\n height: $filter-form-control-height;\r\n }\r\n .calendar-picker {\r\n .u-input-group-btn{\r\n line-height: 20px;\r\n }\r\n }\r\n .u-input-number.u-input-group.simple .u-input-group-btn .icon-group .uf{\r\n line-height: 12px;\r\n }\r\n}\r\n.u-row-hover{\r\n position: absolute;\r\n right: 24px;\r\n display: none;\r\n align-items: center;\r\n justify-content: center;\r\n background: transparent;\r\n}\r\n\r\n.u-row-hover2{\r\n position: absolute;\r\n left: 100;\r\n}\r\n\r\n\r\n\r\n// 表格显示里面的内容显示在一行\r\n.header-dispaly-in-row{\r\n &.u-table{\r\n table{\r\n table-layout: fixed;\r\n }\r\n }\r\n th{\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n vertical-align: middle;\r\n overflow: hidden;\r\n }\r\n}\r\n.body-dispaly-in-row{\r\n &.u-table{\r\n table{\r\n table-layout: fixed;\r\n }\r\n \r\n }\r\n td{\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n vertical-align: middle;\r\n overflow: hidden;\r\n }\r\n}\r\n.u-table-drag-hidden-cont{\r\n position: absolute;\r\n top:-1000px;\r\n}\r\n\r\n.u-editable-table .u-table {\r\n .u-table-row-hover {\r\n .editable-cell-text-wrapper {\r\n padding-left: 4px;\r\n border: 1px solid #c1c7d0;\r\n }\r\n }\r\n\r\n .editable-cell-text-wrapper {\r\n &:hover {\r\n padding-left: 4px;\r\n border: 1px solid #a5adba;\r\n }\r\n }\r\n\r\n .editable-cell-input-wrapper {\r\n &:focus {\r\n outline: none;\r\n }\r\n }\r\n}\r\n\r\n.u-editable-table-tp {\r\n .tooltip-arrow {\r\n top: 1px !important;\r\n border-bottom-color: #F44336 !important;\r\n }\r\n\r\n .tooltip-inner {\r\n border-color: #F44336 !important;\r\n }\r\n}\r\n","// @import \"../node_modules/tinper-bee-core/scss/index.scss\";\r\n// @import \"../node_modules/bee-panel/src/Panel.scss\";\r\n// @import \"../node_modules/bee-layout/src/Layout.scss\";\r\n// @import \"../node_modules/bee-button/src/Button.scss\";\r\n// @import \"../node_modules/bee-transition/src/Transition.scss\";\r\n// @import \"../node_modules/bee-popconfirm/src/Popconfirm.scss\";\r\n// @import \"../node_modules/bee-form-control/src/FormControl.scss\";\r\n// @import \"../node_modules/bee-pagination/src/Pagination.scss\";\r\n// @import \"../node_modules/bee-checkbox/src/Checkbox.scss\";\r\n// @import \"../node_modules/bee-select/src/Select.scss\";\r\n// @import \"../node_modules/bee-popover/src/Popover.scss\";\r\n// @import \"../node_modules/bee-tooltip/src/Tooltip.scss\";\r\n// @import \"../node_modules/bee-message/build/Message.css\";\r\n// @import \"../node_modules/bee-dropdown/build/Dropdown.css\";\r\n// @import \"../node_modules/bee-input-number/build/InputNumber.css\";\r\n// @import \"../node_modules/bee-modal/build/Modal.css\";\r\n@import \"../src/Table.scss\";\r\n\r\n\r\n//引入日期控件样式文件\r\n// @import \"../node_modules/bee-datepicker/src/datepicker.scss\";\r\n\r\n.selected{\r\n background: #FFF7E7;\r\n}\r\n\r\n.demo25{\r\n height: 100%;\r\n\r\n .u-table-filter-column-filter-icon{\r\n right: 15px;\r\n }\r\n\r\n}\r\n.opt-btns .u-button{\r\n margin: 0 4px;\r\n color: #fff;\r\n background: #505F79;\r\n border-color: #505F79;\r\n &:hover, &:active{\r\n background: #344563;\r\n border-color: #505F79;\r\n }\r\n}",".demo04 {\r\n &.u-table tr:nth-child(2n){\r\n background: #f7f9fb;\r\n }\r\n &.u-table tr.u-table-row-hover, .u-table tr:hover{\r\n background: #ebecf0;\r\n }\r\n}",".demo22{\r\n .opt-btns{\r\n margin-bottom: 8px;\r\n }\r\n}",".demo32{\r\n .u-table-thead th {\r\n padding-top: 0px;\r\n padding-bottom: 0px;\r\n }\r\n}",".demo0501 .u-table {\r\n .u-row-hover {\r\n .opt-btns,.cancel-btns {\r\n button {\r\n margin: 0;\r\n &:first-child {\r\n margin-right: 8px;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .u-table-row {\r\n td {\r\n padding: 5px 8px;\r\n\r\n input {\r\n font-size: 12px;\r\n padding-left: 5px;\r\n }\r\n }\r\n\r\n .u-form-control,\r\n .u-select-selection {\r\n height: 30px;\r\n }\r\n }\r\n\r\n .editable-cell-text-wrapper {\r\n box-sizing: border-box;\r\n line-height: 20px;\r\n border-radius: 3px;\r\n }\r\n\r\n .required {\r\n margin-left: 10px;\r\n position: relative;\r\n\r\n &::before {\r\n content: \" \";\r\n border: 1px solid #F44336;\r\n width: 0;\r\n height: 12px;\r\n position: absolute;\r\n top: 9px;\r\n left: -8px;\r\n }\r\n\r\n span.u-input-group {\r\n display: block\r\n }\r\n }\r\n .verify-cell {\r\n padding-right: 25px !important;\r\n }\r\n\r\n .required-icon {\r\n position: absolute;\r\n top: 2px;\r\n color: #F44336;\r\n font-size: 20px;\r\n }\r\n\r\n .ref-input-wrap {\r\n width: 160px !important;\r\n }\r\n}\r\n\r\n.u-editable-table-tp {\r\n .tp-content {\r\n color: #F44336;\r\n }\r\n}",".u-editable-table .u-table {\r\n .u-table-row {\r\n td {\r\n padding: 5px 8px;\r\n\r\n input {\r\n padding-left: 5px;\r\n font-size: 12px;\r\n\r\n &.error {\r\n border-color: #F44336;\r\n }\r\n }\r\n }\r\n\r\n .editable-cell {\r\n height: 30px;\r\n }\r\n\r\n &-hover {\r\n .editable-cell-text-wrapper {\r\n line-height: 19px;\r\n }\r\n }\r\n\r\n .u-form-control,\r\n .u-select-selection {\r\n height: 30px;\r\n }\r\n }\r\n\r\n .editable-cell-text-wrapper {\r\n box-sizing: border-box;\r\n line-height: 20px;\r\n border-radius: 3px;\r\n }\r\n\r\n .editable-cell-input-wrapper {\r\n padding-right: 0;\r\n .ref-input-wrap {\r\n width: auto !important;\r\n height: 30px;\r\n .u-input-group{\r\n display: inline-block;\r\n }\r\n }\r\n }\r\n\r\n .verify-cell {\r\n padding-right: 25px !important;\r\n }\r\n\r\n .require {\r\n position: absolute;\r\n top: 2px;\r\n color: #F44336;\r\n font-size: 20px;\r\n }\r\n}\r\n\r\n.u-editable-table-tp {\r\n .tp-content {\r\n color: #F44336;\r\n }\r\n}",".demo0503-m-b {\r\n\r\n &.u-modal .u-modal-body {\r\n padding: 16px 0;\r\n background: #f7f9fb;\r\n }\r\n\r\n .u-form-group {\r\n overflow: hidden;\r\n }\r\n\r\n .u-form-control {\r\n font-size: 12px;\r\n }\r\n\r\n .editable-cell {\r\n display: block;\r\n float: left;\r\n width: 265px;\r\n padding-right: 25px;\r\n }\r\n\r\n .ref-input-wrap {\r\n width: 240px !important;\r\n }\r\n\r\n .u-label {\r\n display: block;\r\n float: left;\r\n text-align: right;\r\n width: 110px;\r\n box-sizing: border-box;\r\n padding-right: 10px;\r\n font-size: 12px;\r\n height: 32px;\r\n line-height: 32px;\r\n .mast {\r\n padding: 0;\r\n color: red;\r\n }\r\n }\r\n\r\n .required-icon {\r\n position: absolute;\r\n top: 2px;\r\n color: #F44336;\r\n font-size: 20px;\r\n }\r\n}\r\n\r\n.u-editable-table-tp {\r\n z-index: 9999 !important;\r\n\r\n .tp-content {\r\n color: #F44336;\r\n }\r\n}\r\n.ref-core-button .u-button:first-child{\r\n margin-right: 8px;\r\n}",".demo0505 {\r\n\r\n .toolbar-btns {\r\n margin-bottom: 8px;\r\n\r\n .u-button {\r\n &:first-child {\r\n margin-right: 8px;\r\n }\r\n }\r\n }\r\n\r\n .u-table {\r\n .u-row-select {\r\n background-color: #FFF7E7;\r\n }\r\n .u-table-row {\r\n td {\r\n padding: 5px 8px;\r\n\r\n input {\r\n font-size: 12px;\r\n padding-left: 5px;\r\n }\r\n }\r\n\r\n .u-form-control,\r\n .u-select-selection {\r\n height: 30px;\r\n }\r\n }\r\n\r\n .editable-cell-text-wrapper {\r\n box-sizing: border-box;\r\n line-height: 20px;\r\n border-radius: 3px;\r\n }\r\n\r\n .required {\r\n margin-left: 10px;\r\n position: relative;\r\n\r\n &::before {\r\n content: \" \";\r\n border: 1px solid #F44336;\r\n width: 0;\r\n height: 12px;\r\n position: absolute;\r\n top: 9px;\r\n left: -8px;\r\n }\r\n\r\n span.u-input-group {\r\n display: block\r\n }\r\n }\r\n\r\n .verify-cell {\r\n padding-right: 25px !important;\r\n }\r\n\r\n .edited::after {\r\n content: \" \";\r\n position: absolute;\r\n z-index: 999;\r\n top: 0;\r\n left: 0;\r\n border-width: 5px;\r\n border-style: solid;\r\n border-color: #f44336 transparent transparent #f44336;\r\n }\r\n\r\n .required-icon {\r\n position: absolute;\r\n top: 2px;\r\n color: #F44336;\r\n font-size: 20px;\r\n }\r\n\r\n .ref-input-wrap {\r\n width: 160px !important;\r\n }\r\n }\r\n}\r\n\r\n.u-editable-table-tp {\r\n .tp-content {\r\n color: #F44336;\r\n }\r\n}","th{\r\n .drop-menu{\r\n .uf{\r\n font-size: 12px;\r\n visibility: hidden;\r\n margin-left: 15px;\r\n }\r\n \r\n \r\n }\r\n &:hover{\r\n .uf{\r\n visibility: visible;\r\n }\r\n }\r\n\r\n}\r\n\r\n",".expanded-table{\r\n .expand-icon-con .uf{\r\n font-size: 12px;\r\n }\r\n}",".demo8{\r\n .u-table {\r\n margin-bottom: 11px;\r\n }\r\n .u-pagination{\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n}"],"sourceRoot":"/source/"} \ No newline at end of file diff --git a/docs/api.md b/docs/api.md index 2b4cd43..349b977 100644 --- a/docs/api.md +++ b/docs/api.md @@ -105,7 +105,7 @@ import 'bee-table/build/Table.css'; |:--|:---|:--|:---| |key|列的键|string|-| |className|传入列的classname|String |-| -|colSpan|该列的colSpan,设置列合并|Number|-| +|colSpan|表头列合并,设置为 0 时,不渲染|Number|-| |title|列的标题|node|-| |dataIndex| 显示数据记录的字段|String|-| |width|宽度的特定比例根据列的宽度计算|String/Number|-| @@ -126,6 +126,7 @@ import 'bee-table/build/Table.css'; | filterDropdownIncludeKeys | 能够设置指定的下拉条件项,通过设置keys 其中string条件可设置:LIKE,ULIKE,EQ,UEQ,START,END.number条件可设置:GT,GTEQ,LT,LTEQ,EQ,UEQ | array | [] 不设置此属性为显示所有 | filterInputNumberOptions | 数值框接收的props,具体属性参考bee-input-number | object | null | textAlign | 内容对齐方式,默认是左对齐('left、right、center') | string | +| mergeEndIndex | 大数据量滚动加载场景,合并表格行时,设置合并结束位置的行 index 值,设置在列 render 函数中的 props 属性上 | Number | ### 高阶函数 diff --git a/package.json b/package.json index b9cd10b..1ef1fc9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bee-table", - "version": "2.1.13", + "version": "2.2.0", "description": "Table ui component for react", "keywords": [ "react", @@ -92,4 +92,4 @@ "reqwest": "^2.0.5", "tinper-bee": "latest" } -} \ No newline at end of file +} diff --git a/src/Table.js b/src/Table.js index 7308757..72e69d4 100644 --- a/src/Table.js +++ b/src/Table.js @@ -304,7 +304,7 @@ class Table extends Component { this.domWidthDiff = this.contentDomWidth - this.contentWidth; } - if (this.computeWidth <= this.contentWidth) { + if (this.computeWidth < this.contentWidth) { let contentWidthDiff = this.scrollbarWidth?this.contentWidth - this.computeWidth-this.scrollbarWidth:this.contentWidth - this.computeWidth; //bordered的表格需要减去边框的差值1 if(this.props.bordered){ @@ -400,8 +400,8 @@ class Table extends Component { return this.props.expandedRowKeys || this.state.expandedRowKeys; } - getHeader(columns, fixed) { - const { filterDelay, onFilterChange, onFilterClear, filterable, showHeader, expandIconAsCell, clsPrefix, onDragStart, onDragEnter, onDragOver, onDrop, draggable, + getHeader(columns, fixed, leftFixedWidth, rightFixedWidth) { + const { filterDelay, onFilterChange, onFilterClear, filterable, showHeader, expandIconAsCell, clsPrefix, onDragStart, onDragEnter, onDragOver, onDrop,onDragEnd, draggable, onMouseDown, onMouseMove, onMouseUp, dragborder, onThMouseMove, dragborderKey, minColumnWidth, headerHeight,afterDragColWidth,headerScroll ,bordered,onDropBorder,onDraggingBorder} = this.props; const rows = this.getHeaderRows(columns); if (expandIconAsCell && fixed !== 'right') { @@ -414,7 +414,7 @@ class Table extends Component { } const trStyle = headerHeight&&!fixed ? { height: headerHeight } : (fixed ? this.getHeaderRowStyle(columns, rows) : null); - let drop = draggable ? { onDragStart, onDragOver, onDrop, onDragEnter, draggable } : {}; + let drop = draggable ? { onDragStart, onDragOver, onDrop,onDragEnd, onDragEnter, draggable } : {}; let dragBorder = dragborder ? { onMouseDown, onMouseMove, onMouseUp, dragborder, onThMouseMove, dragborderKey,onDropBorder,onDraggingBorder } : {}; let contentWidthDiff = 0; //非固定表格,宽度不够时自动扩充 @@ -444,6 +444,8 @@ class Table extends Component { scrollbarWidth = {this.scrollbarWidth} headerScroll = {headerScroll} bordered = {bordered} + leftFixedWidth = {leftFixedWidth} + rightFixedWidth = {rightFixedWidth} /> ) : null; } @@ -894,6 +896,8 @@ class Table extends Component { const bodyStyle = { ...this.props.bodyStyle }; const headStyle = {}; const innerBodyStyle = {}; + const leftFixedWidth = this.columnManager.getLeftColumnsWidth(this.contentWidth); + const rightFixedWidth = this.columnManager.getRightColumnsWidth(this.contentWidth); let tableClassName = ''; //表格元素的宽度大于容器的宽度也显示滚动条 @@ -994,7 +998,7 @@ class Table extends Component {
{/* {this.props.dragborder?null:this.getColGroup(columns, fixed)} */} {this.getColGroup(columns, fixed)} - {hasHead ? this.getHeader(columns, fixed) : null} + {hasHead ? this.getHeader(columns, fixed, leftFixedWidth, rightFixedWidth) : null} {tableBody}
); @@ -1059,8 +1063,8 @@ class Table extends Component { ); } - const leftFixedWidth = this.columnManager.getLeftColumnsWidth(this.contentWidth); - const rightFixedWidth = this.columnManager.getRightColumnsWidth(this.contentWidth); + // const leftFixedWidth = this.columnManager.getLeftColumnsWidth(this.contentWidth); + // const rightFixedWidth = this.columnManager.getRightColumnsWidth(this.contentWidth); let expandIconWidth = expandIconAsCell ? 33 : 0; let parStyle = {} if(!fixed){ @@ -1332,6 +1336,9 @@ class Table extends Component { if (props.useFixedHeader || (props.scroll && props.scroll.y)) { className += ` ${clsPrefix}-fixed-header`; } + if (!props.showHeader) { + className += ` ${clsPrefix}-hide-header`; + } if (props.bordered) { className += ` ${clsPrefix}-bordered`; } diff --git a/src/Table.scss b/src/Table.scss index a99070e..d58bf74 100644 --- a/src/Table.scss +++ b/src/Table.scss @@ -244,7 +244,7 @@ $icon-color:#505F79; padding-right: 20px; } - &-fixed-header &-fixed-left &-body-inner { + &-fixed-header:not(.u-table-hide-header) &-fixed-left &-body-inner { padding-right: 0px; } diff --git a/src/TableHeader.js b/src/TableHeader.js index a4f8d3a..2b75b8d 100644 --- a/src/TableHeader.js +++ b/src/TableHeader.js @@ -79,6 +79,7 @@ class TableHeader extends Component { table.cols = tableDome.getElementsByTagName("col"); table.ths = tableDome.getElementsByTagName("th"); table.tr = tableDome.getElementsByTagName("tr"); + table.tableBody = contentTable.querySelector('.u-table-scroll .u-table-body') && contentTable.querySelector('.u-table-scroll .u-table-body'); table.tableBodyCols = contentTable.querySelector('.u-table-scroll .u-table-body') && contentTable.querySelector('.u-table-scroll .u-table-body').getElementsByTagName("col"); } @@ -277,7 +278,7 @@ class TableHeader extends Component { */ onTrMouseMove = (e) => { if(!this.props.dragborder && !this.props.draggable)return; - const { clsPrefix ,dragborder,contentDomWidth,scrollbarWidth,contentTable,headerScroll,lastShowIndex,onDraggingBorder} = this.props; + const { clsPrefix ,dragborder,contentDomWidth,scrollbarWidth,contentTable,headerScroll,lastShowIndex,onDraggingBorder, leftFixedWidth, rightFixedWidth} = this.props; Event.stopPropagation(e); let event = Event.getEvent(e); if(this.props.dragborder && this.drag.option == "border"){ @@ -307,11 +308,10 @@ class TableHeader extends Component { this.table.cols[lastShowIndex].style.width = lastWidth +"px";//同步表头 this.table.tableBodyCols[lastShowIndex].style.width = lastWidth + "px";//同步表体 } - - let showScroll = contentDomWidth - (this.drag.tableWidth + diff) - scrollbarWidth ; + let showScroll = contentDomWidth - (leftFixedWidth + rightFixedWidth) - (this.drag.tableWidth + diff) - scrollbarWidth ; //表头滚动条处理 if(headerScroll){ - if(showScroll < 0){ + if(showScroll < 0){ //小于 0 出现滚动条 //找到固定列表格,设置表头的marginBottom值为scrollbarWidth; this.table.contentTableHeader.style.overflowX = 'scroll'; this.optTableMargin( this.table.fixedLeftHeaderTable,scrollbarWidth); @@ -319,18 +319,20 @@ class TableHeader extends Component { // fixedLeftHeaderTable && (fixedLeftHeaderTable.style.marginBottom = scrollbarWidth + "px"); // fixedRighHeadertTable && (fixedRighHeadertTable.style.marginBottom = scrollbarWidth + "px"); //todo inner scroll-x去掉;outer marginbottom 设置成-15px】 - }else{ + }else{ //大于 0 不显示滚动条 this.table.contentTableHeader.style.overflowX = 'hidden'; this.optTableMargin( this.table.fixedLeftHeaderTable,0); this.optTableMargin( this.table.fixedRighHeadertTable,0); } }else{ if(showScroll < 0){ + this.table.tableBody.style.overflowX = 'auto'; this.optTableMargin( this.table.fixedLeftBodyTable,'-'+scrollbarWidth); this.optTableMargin( this.table.fixedRightBodyTable,'-'+scrollbarWidth); this.optTableScroll( this.table.fixedLeftBodyTable,{x:'scroll'}); this.optTableScroll( this.table.fixedRightBodyTable,{x:'scroll'}); }else{ + this.table.tableBody.style.overflowX = 'hidden'; this.optTableMargin( this.table.fixedLeftBodyTable,0); this.optTableMargin( this.table.fixedRightBodyTable,0); this.optTableScroll( this.table.fixedLeftBodyTable,{x:'auto'}); @@ -407,7 +409,7 @@ class TableHeader extends Component { const innerTable = table.querySelector('.u-table-body-inner'); if(innerTable){ //fixbug: 拖拽列宽后,滚动条滚到表格底部,会导致固定列和非固定列错行 - // overflow.x && (innerTable.style.overflowX = overflow.x); + overflow.x && (innerTable.style.overflowX = overflow.x); overflow.y && (innerTable.style.overflowY = overflow.y); } @@ -490,6 +492,12 @@ class TableHeader extends Component { let event = Event.getEvent(e) , target = Event.getTarget(event); this.currentDome.setAttribute('draggable',false);//添加交换列效果 + + let data = this.getCurrentEventData(this._dragCurrent); + if(!data)return; + if(!this.props.onDrop)return; + // this.props.onDrop(event,target); + this.props.onDrop(event,{dragSource:this.currentObj,dragTarg:data}); }; @@ -516,8 +524,8 @@ class TableHeader extends Component { let data = this.getCurrentEventData(this._dragCurrent); if(!data)return; if (!this.currentObj || this.currentObj.key == data.key) return; - if(!this.props.onDrop)return; - this.props.onDrop(event,{dragSource:this.currentObj,dragTarg:data}); + if(!this.props.onDragEnd)return; + this.props.onDragEnd(event,{dragSource:this.currentObj,dragTarg:data}); } diff --git a/src/TableRow.js b/src/TableRow.js index 8df5d82..64957ab 100644 --- a/src/TableRow.js +++ b/src/TableRow.js @@ -531,7 +531,7 @@ class TableRow extends Component{ // key={hoverKey} ref={this.bindElement} > - {cells.length>0?cells:} + {cells.length>0?cells:} ); } diff --git a/src/lib/bigData.js b/src/lib/bigData.js index 57ab12e..2fb9f71 100644 --- a/src/lib/bigData.js +++ b/src/lib/bigData.js @@ -60,7 +60,8 @@ export default function bigData(Table) { _this.endIndex = _this.currentIndex + _this.loadCount; //数据结束位置 } - if (nextProps.data !== props.data) { + if (nextProps.data.toString() !== props.data.toString()) { + //fix: 滚动加载场景中,数据动态改变下占位计算错误的问题(26 Jun) _this.cachedRowHeight = []; //缓存每行的高度 _this.cachedRowParentIndex = []; _this.computeCachedRowParentIndex(nextProps.data); diff --git a/src/lib/dragColumn.js b/src/lib/dragColumn.js index f8796d3..4f8bc81 100644 --- a/src/lib/dragColumn.js +++ b/src/lib/dragColumn.js @@ -43,7 +43,7 @@ export default function dragColumn(Table) { return data } - onDrop=(event,data)=>{ + onDragEnd=(event,data)=>{ let {dragSource,dragTarg} = data; let {columns} = this.state; let sourceIndex = -1,targetIndex = -1; @@ -65,14 +65,11 @@ export default function dragColumn(Table) { newDate.title = da.title; _newColumns.push(newDate); }); - // console.log(" onDrop-------columns--- ",columns); this.setState({ columns:_newColumns//cloneDeep(columns) }); - // console.log(" onDrop-------columns--- ",_newColumns); - // console.log(columns === _newColumns); - if(this.props.onDrop){ - this.props.onDrop(event,data,columns); + if(this.props.onDragEnd){ + this.props.onDragEnd(event,data,columns); } } @@ -86,11 +83,6 @@ export default function dragColumn(Table) { dragborder, draggable, className, - columns, - onDragStart, - onDragEnter, - onDragOver, - onDrop, ...others } = this.props; return ( @@ -99,10 +91,7 @@ export default function dragColumn(Table) { columns={this.state.columns} data={data} className={`${className} u-table-drag-border`} - onDragStart={this.onDragStart} - onDragOver={this.onDragOver} - onDrop={this.onDrop} - onDragEnter={this.onDragEnter} + onDragEnd={this.onDragEnd} draggable={draggable} dragborder={dragborder} />)