yyuap-ref
Version:
cloud os fe ref project which is based on tinper
286 lines (239 loc) • 9.92 kB
JavaScript
;
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'];