UNPKG

yylib-quick-mobile

Version:

yylib-quick-mobile

462 lines (405 loc) 16 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _modal = require('antd-mobile/lib/modal'); var _modal2 = _interopRequireDefault(_modal); var _pullToRefresh = require('antd-mobile/lib/pull-to-refresh'); var _pullToRefresh2 = _interopRequireDefault(_pullToRefresh); var _icon = require('antd-mobile/lib/icon'); var _icon2 = _interopRequireDefault(_icon); var _inputItem = require('antd-mobile/lib/input-item'); var _inputItem2 = _interopRequireDefault(_inputItem); var _toast = require('antd-mobile/lib/toast'); var _toast2 = _interopRequireDefault(_toast); var _listView = require('antd-mobile/lib/list-view'); var _listView2 = _interopRequireDefault(_listView); var _list = require('antd-mobile/lib/list'); var _list2 = _interopRequireDefault(_list); 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; }; }(); require('antd-mobile/lib/modal/style/css'); require('antd-mobile/lib/pull-to-refresh/style/css'); require('antd-mobile/lib/icon/style/css'); require('antd-mobile/lib/input-item/style/css'); require('antd-mobile/lib/toast/style/css'); require('antd-mobile/lib/list-view/style/css'); require('antd-mobile/lib/list/style/css'); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _YYButton = require('./../button/YYButton'); var _YYButton2 = _interopRequireDefault(_YYButton); var _RestUrl = require('../../common/RestUrl'); require('./../list-view/YYList.less'); require('./submit.css'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } 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 Item = _list2.default.Item; var Brief = Item.Brief; function MyBody(props) { return _react2.default.createElement( 'div', { className: 'am-list-body my-body' }, props.children ); } var YYApproveSubmitBtn = function (_React$Component) { _inherits(YYApproveSubmitBtn, _React$Component); function YYApproveSubmitBtn(props) { _classCallCheck(this, YYApproveSubmitBtn); var _this2 = _possibleConstructorReturn(this, (YYApproveSubmitBtn.__proto__ || Object.getPrototypeOf(YYApproveSubmitBtn)).call(this, props)); _this2.onRefresh = function () { var _self = _this2; var subParam = _this2.props.subParam; _self.setState({ refreshing: true, isLoading: false }); var getParam = { size: 10, page: 1, userId: subParam.userId, billTypeId: subParam.billTypeId, orgId: subParam.orgId, searchText: "" }; _self.getListData(_RestUrl.MODULE_URL.getConfigList, getParam, function (listData, last) { if (!last) { var _ds = _self.state.dataSource.cloneWithRows(listData); _self.setState({ pageNumber: 2, dataSource: _ds, initdata: listData, noPagination: false, isLoading: false, refreshing: false }); } else { _self.setState({ dataSource: ds, initdata: listData, noPagination: true, isLoading: false, refreshing: false }); } }); }; _this2.onEndReached = function (event) { var _self = _this2; var subParam = _this2.props.subParam; var initdata = _this2.state.initdata; _this2.setState({ refreshing: false, isLoading: true }); var getParam = { size: 10, page: _this2.state.pageNumber, userId: subParam.userId, billTypeId: subParam.billTypeId, orgId: subParam.orgId, searchText: "" }; if (!_this2.state.noPagination) { _this2.getListData(_RestUrl.MODULE_URL.getConfigList, getParam, function (listData, last) { _self.rData = [].concat(_toConsumableArray(initdata), _toConsumableArray(listData)); if (!last) { _self.setState({ pageNumber: _self.state.pageNumber + 1, dataSource: _self.state.dataSource.cloneWithRows(_self.rData), initdata: _self.rData, isLoading: false, noPagination: false }); } else { _self.setState({ dataSource: _self.state.dataSource.cloneWithRows(_self.rData), initdata: _self.rData, noPagination: true, isLoading: false }); } }); } else { _this2.setState({ isLoading: false }); } }; var dataSource = new _listView2.default.DataSource({ rowHasChanged: function rowHasChanged(row1, row2) { return row1 !== row2; } }); _this2.state = { modalVisible: _this2.props.modalVisible, dataSource: dataSource, pageNumber: 1, noPagination: false, isLoading: true, refreshing: true, appendData: [], initdata: [] }; return _this2; } _createClass(YYApproveSubmitBtn, [{ key: 'getListData', value: function getListData(url, param, callback) { var ajax = window.YYUtils.Ajax; var listData = []; ajax.getText(url, param, function (result) { var resultData = JSON.parse(result); if (resultData && resultData.success) { listData = resultData['data']; var total = resultData['total']; var page = Math.ceil(total / param.size); var last = false; if (param.page >= page) { last = true; } callback(listData, last); } }); } }, { key: 'onBeforeClick', value: function onBeforeClick() { var _this = this; if (this.props.onBeforeClick) { this.props.onBeforeClick(function (data) { _this.onSubmitBefore(data); }); } else { this.onSubmitBefore(); } } }, { key: 'onSubmitBefore', value: function onSubmitBefore(data) { var _this3 = this; var ajax = window.YYUtils.Ajax; var subParam = this.props.subParam; var _self = this; var params = { orgId: window.YYUtils.AuthToken.getOrgaId(), billTypeId: subParam.billTypeId, billTypeCode: subParam.billTypeCode, userId: window.YYUtils.AuthToken.getUserId(), billId: subParam.billId }; var defaultProcInstName = subParam.defaultProcInstName + "_" + subParam.billTypeCode; var url = _RestUrl.MODULE_URL.beforeSubmit; ajax.postJSON(url, params, null, function (error) { _toast2.default.fail("网络异常,稍后重试!", 1); }, function (result) { if (result != null && result.status == 200) { var param = eval("(" + result.text + ")"); if (param != null) { var visible = param.show; if (!visible) { _toast2.default.info(param.msg, 1); return; } param.procInstName = param.procInstName ? param.procInstName : defaultProcInstName; _this3.setState({ title: param.procInstName, modalVisible: visible, data: Object.assign({}, data, param) }); var getParam = { size: 10, page: 1, userId: window.YYUtils.AuthToken.getUserId(), billTypeId: subParam.billTypeId, orgId: window.YYUtils.AuthToken.getOrgaId(), searchText: "" }; _self.getListData(_RestUrl.MODULE_URL.getConfigList, getParam, function (listData, last) { if (!last) { var _ds2 = _self.state.dataSource.cloneWithRows(listData); _self.setState({ pageNumber: 2, dataSource: _ds2, initdata: listData, noPagination: false, isLoading: false, refreshing: false }); } else { _self.setState({ dataSource: ds, initdata: listData, noPagination: true, isLoading: false, refreshing: false }); } }); } } else { _toast2.default.fail(result.msg, 1); } }); } }, { key: '_clickItem', value: function _clickItem(row) { var ajax = window.YYUtils.Ajax; _toast2.default.loading("提交中"); var _self = this; var subParam = this.props.subParam; var data = this.state.data; var param = {}; if (row) { param.assign = []; param.assignAble = false; param.bill = { companyId: data.companyId, billId: data.id, id: data.id }; param.billCode = data.billCode; param.billName = ''; param.billId = data.id; param.billtypeId = data.billType; param.businessKey = data.id; param.prockey = row.prokey; param.procInstName = this.state.title; param.userId = window.YYUtils.AuthToken.getUserId(); param.formurl = _RestUrl.ADDR; param.refUrl = _RestUrl.ADDR; param.serUrl = _RestUrl.ADDR; param.maurl = ''; } ajax.postText(_RestUrl.MODULE_URL.doSubmit, param, function (msg) { _toast2.default.hide(); var resultData = JSON.parse(msg); if (resultData['success']) { _toast2.default.success(resultData['msg'], 1); _self.setState({ modalVisible: false }); if (_self.props.onlistClick) { _self.props.onlistClick(); } } else { _toast2.default.fail(resultData['msg'], 1); _self.setState({ modalVisible: false }); if (_self.props.onlistClick) { _self.props.onlistClick(); } } }); } }, { key: 'createRow', value: function createRow(rowData, sectionID, rowID, highlightRow) { return _react2.default.createElement( Item, { className: 'approve_item', align: 'top', key: rowData.id ? rowData.id : rowID, onClick: this._clickItem.bind(this, rowData), extra: rowData['orgName'], wrap: false }, rowData['processName'], _react2.default.createElement( Brief, null, rowData['categoryName'] ) ); } }, { key: 'onClose', value: function onClose() { this.setState({ modalVisible: false }); this.props.onClose && this.props.onClose(); } }, { key: 'componentWillReceiveProps', value: function componentWillReceiveProps(nextprops) { if (nextprops.modalVisible !== this.state.modalVisible) { this.setState({ modalVisible: nextprops.modalVisible }); } } }, { key: 'ThemeChange', value: function ThemeChange(value) { this.setState({ title: value }); } }, { key: 'render', value: function render() { var _this4 = this; var _state = this.state, title = _state.title, dataSource = _state.dataSource, refreshing = _state.refreshing, isLoading = _state.isLoading, modalVisible = _state.modalVisible; var _props = this.props, onEndReachedThreshold = _props.onEndReachedThreshold, disabled = _props.disabled, subParam = _props.subParam, onBeforeClick = _props.onBeforeClick, onlistClick = _props.onlistClick, restProps = _objectWithoutProperties(_props, ['onEndReachedThreshold', 'disabled', 'subParam', 'onBeforeClick', 'onlistClick']); var height = "calc(100% - 40px)"; return _react2.default.createElement( 'div', { className: 'submitBtn' }, _react2.default.createElement( _modal2.default, { style: { backgroundColor: "black", height: '100%' }, visible: modalVisible, popup: true, animationType: 'slide-up', maskClosable: true, onClose: this.onClose.bind(this) }, _react2.default.createElement(_inputItem2.default, { className: 'submitBtn_input', onChange: this.ThemeChange.bind(this), value: title }), _react2.default.createElement(_icon2.default, { className: 'close-icon', size: 'lg', type: 'cross', onClick: this.onClose.bind(this) }), _react2.default.createElement(_listView2.default, { className: 'yy-list am-list submit-list', key: 1, renderBodyComponent: function renderBodyComponent() { return _react2.default.createElement(MyBody, null); }, renderRow: function renderRow(rowData, sectionID, rowID, highlightRow) { return _this4.createRow(rowData, sectionID, rowID, highlightRow); }, dataSource: dataSource, style: { height: height, overflow: 'auto' }, onScroll: function onScroll() {}, scrollRenderAheadDistance: 500, onEndReached: this.onEndReached, onEndReachedThreshold: onEndReachedThreshold, pullToRefresh: _react2.default.createElement(_pullToRefresh2.default, { distanceToRefresh: 25, refreshing: refreshing, onRefresh: this.onRefresh }) }) ), _react2.default.createElement( _YYButton2.default, _extends({}, restProps, { onClick: this.onBeforeClick.bind(this), disabled: disabled }), '\u63D0\u4EA4' ) ); } }]); return YYApproveSubmitBtn; }(_react2.default.Component); YYApproveSubmitBtn.defaultProps = { subParam: { billId: '', billTypeId: '', billTypeCode: '', defaultProcInstName: '' }, onEndReachedThreshold: 50, onBeforeClick: null, onlistClick: null }; exports.default = YYApproveSubmitBtn;