UNPKG

yyuap-ref

Version:

cloud os fe ref project which is based on tinper

286 lines (239 loc) 9.92 kB
'use strict'; Object.defineProperty(exports, "__esModule", { 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; }; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactDom = require('react-dom'); var _reactDom2 = _interopRequireDefault(_reactDom); var _Ref = require('../components/ref/Ref'); var _Ref2 = _interopRequireDefault(_Ref); var _modal = require('../bee/modal'); var _modal2 = _interopRequireDefault(_modal); require('../assets/index.css'); var _api = require('./api.js'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var op = { title: '弹窗标题', RefSearch: true, RefList: true, RefButton: true, isRadio: true, param: { //url请求参数 refCode: 'test_grid', //test_common||test_grid||test_tree||test_treeTable tenantId: 'xxx', sysId: 'xxx' }, checkedArray: [{ memo: "page2:用友骨干", refremark: "page2:用友骨干", refpk: "857c41b7-e1a3-11e5-aa70-0242ac11001d", refcode: "test48", refname: "测试48", key: "currPageIndex:248" }], onCancel: function onCancel(p) { console.log(p); }, onSave: function onSave(sels) { console.log(sels); } }; var RefGrid = function (_Component) { _inherits(RefGrid, _Component); function RefGrid(props) { _classCallCheck(this, RefGrid); var _this = _possibleConstructorReturn(this, (RefGrid.__proto__ || Object.getPrototypeOf(RefGrid)).call(this, props)); _initialiseProps.call(_this); var option = _this.props.option; _this.state = { List: [], tableData: {}, //存放表格数据 tabData: {}, //存放tab标签的数据 selectedArray: option.checkedArray || [], //记录保存的选择项 tabActiveKey: null, //记录当前激活tab originKey: null, //保留tab点击已选择的前一tab的key isShowModal: true, //是否显示弹窗 pageCount: 0, //下拉加载数据使用--请求数据的总页数 curPage: 0, //下拉加载数据使用--请求数据的当前页 ifScroll: false, //下拉加载数据使用--控制滚动事件 refTable: null, //下拉加载数据使用--事件绑定对象 isAfterAjax: false, loading: true }; return _this; } //列表接口 _createClass(RefGrid, [{ key: 'getRefList', value: function getRefList(value) { var _this2 = this; var option = this.props.option; var URL = option.refModelUrl.GridUrl; (0, _api.getList)(URL, option.param).then(function (res) { if (res) { if (option.onAfterAjax && !_this2.state.isAfterAjax) { _this2.props.option.onAfterAjax(res); _this2.setState({ isAfterAjax: true }); } _this2.setState({ List: res.data, loading: false }); } }); } //搜索接口 }, { key: 'getSearchListFun', value: function getSearchListFun(value) { var _this3 = this; var option = this.props.option; var URL = option.refModelUrl.GridUrl; option.param.content = value; (0, _api.getList)(URL, option.param).then(function (res) { if (res.data) { _this3.setState({ List: res.data, tableData: { listData: res.data } }); } }); } }, { key: 'componentWillReceiveProps', value: function componentWillReceiveProps(nextProps) { this.setState({ selectedArray: nextProps.option.checkedArray }); } }, { key: 'componentWillMount', value: function componentWillMount() { var option = this.props.option; var activepage = this.state.activepage; if (option.RefList) { this.getRefList(); } } //按钮点击 //搜索输入变化触发 //选中数组保存回调 }, { key: 'render', value: function render() { var _this4 = this; var _props = this.props, option = _props.option, _props$modalOptions = _props.modalOptions, modalOptions = _props$modalOptions === undefined ? {} : _props$modalOptions; var _state = this.state, isShowModal = _state.isShowModal, loading = _state.loading; return _react2.default.createElement( 'div', null, isShowModal ? _react2.default.createElement( _modal2.default, _extends({ show: true, className: option.className + ' yyuap-ref', onHide: function onHide() { return _this4.onClickBtn('cancel'); }, enforceFocus: false }, modalOptions), _react2.default.createElement(_modal2.default.Header, { closeButton: true }), _react2.default.createElement( _modal2.default.Body, null, _react2.default.createElement( _Ref2.default, null, _react2.default.createElement( 'div', { className: 'RefGrid' }, option.title ? _react2.default.createElement( 'div', { className: 'Reftitle' }, option.title ) : _react2.default.createElement('div', { className: 'Reftitle' }), option.RefSearch ? _react2.default.createElement('div', { is: 'RefSearch', onSearch: this.onSearchClick, onChange: this.onSearchChange, searchPlaceholder: option.searchPlaceholder, language: option.param.locale || "" }) : _react2.default.createElement('div', null), option.RefList ? _react2.default.createElement('div', { is: 'RefList', data: this.state.List, isRadio: option.isRadio || false, SelectArray: this.state.selectedArray, RefListChecked: this.RefSelectedChecked, loading: loading, onClickBtn: this.onClickBtn.bind(this), language: option.param.locale || "" }) : _react2.default.createElement('div', null), option.RefButton ? _react2.default.createElement('div', { is: 'RefButton', language: option.param.locale || "", ishasemptyBtn: option.emptyBtn, buttonText: option.buttonText, onClickBtn: this.onClickBtn.bind(this) }) : _react2.default.createElement('div', null) ) ) ) ) : null ); } }]); return RefGrid; }(_react.Component); var _initialiseProps = function _initialiseProps() { var _this5 = this; this.onClickBtn = function (type) { //console.log(type,this.state.RefListSelectArray) switch (type) { case 'save': console.log(_this5.state.selectedArray); _this5.props.option.onSave(_this5.state.selectedArray); _this5.setState({ isShowModal: false }); break; case 'cancel': _this5.setState({ selectedArray: [], isShowModal: false }, function () { console.log(_this5.state.selectedArray); _this5.props.option.onCancel(); }); break; case 'empty': _this5.setState({ selectedArray: [] }, function () { console.log(_this5.state.selectedArray); }); break; default: _this5.setState({ selectedArray: [] }, function () { console.log(_this5.state.selectedArray); //this.props.options.onSave(this.state.RefListSelectArray) }); } //this.props.options.onSave(this.state.RefListSelectArray) _this5.props.option.destory(); }; this.onSearchClick = function (value) { console.log(value); var option = _this5.props.option; var activepage = _this5.state.activepage; _this5.setState({ searchvalue: value }); _this5.getSearchListFun(value); }; this.onSearchChange = function (value) { console.log(value); }; this.RefSelectedChecked = function (selectedArray) { console.log(selectedArray); _this5.setState({ selectedArray: selectedArray }); }; }; exports.default = RefGrid; module.exports = exports['default'];