UNPKG

yylib-quick-mobile

Version:

yylib-quick-mobile

321 lines (270 loc) 11.7 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _modal = require('antd-mobile/lib/modal'); var _modal2 = _interopRequireDefault(_modal); var _navBar = require('antd-mobile/lib/nav-bar'); var _navBar2 = _interopRequireDefault(_navBar); var _icon = require('antd-mobile/lib/icon'); var _icon2 = _interopRequireDefault(_icon); var _popover = require('antd-mobile/lib/popover'); var _popover2 = _interopRequireDefault(_popover); 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/nav-bar/style/css'); require('antd-mobile/lib/icon/style/css'); require('antd-mobile/lib/popover/style/css'); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _YYIcon = require('./../icon/YYIcon'); var _YYIcon2 = _interopRequireDefault(_YYIcon); var _YYToast = require('./../toast/YYToast'); var _YYToast2 = _interopRequireDefault(_YYToast); var _YYApprove = require('./YYApprove'); var _YYApprove2 = _interopRequireDefault(_YYApprove); var _YYApproveHistory = require('./YYApproveHistory'); var _YYApproveHistory2 = _interopRequireDefault(_YYApproveHistory); require('./YYApprove.less'); var _RestUrl = require('../../common/RestUrl'); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _lfwUtil = require('../../utils/lfwUtil'); 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 _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 = _popover2.default.Item; var BILL_STATE = { STORAGE: -1, FREE: 0, COMMIT: 1, APPROVING: 2, APPROVED: 3, UNAPPROVED: 4, APPROVED2: 5 }; var YYApproveNavBar = function (_React$Component) { _inherits(YYApproveNavBar, _React$Component); function YYApproveNavBar(props) { _classCallCheck(this, YYApproveNavBar); var _this = _possibleConstructorReturn(this, (YYApproveNavBar.__proto__ || Object.getPrototypeOf(YYApproveNavBar)).call(this, props)); _this.onLeftClick = function (e) { if (_this.props.RunInDesign) { return; } if (_this.props.onLeftClick) { _this.props.onLeftClick(e); } else { (0, _lfwUtil.backOrClose)(); } }; _this.onSelect = function (opt, index) { var ajax = window.YYUtils.Ajax; var self = _this; var _this$props = _this.props, billId = _this$props.billId, billTypeId = _this$props.billTypeId; var userId = window.YYUtils.AuthToken.getUserId(); _this.setState({ visible: false }); var url = null; if (index == 0) { _this.showApprove(); } else if (index == 1) { _this.setState({ showApprove: false }); url = _RestUrl.MODULE_URL.unapprove; } else if (index == 2) { _this.setState({ showApprove: false }); _this.setState({ showApproveHistory: true }); } else if (index == 3) { _this.setState({ showApprove: false }); url = _RestUrl.MODULE_URL.doCallBack; } if (index == 1 || index == 3) { if (!billId) { _YYToast2.default.info("找不到对应的表单!", 2); } else if (!billTypeId) { _YYToast2.default.info("找不到对应的单据类型!", 2); } else { _YYToast2.default.loading('Loading...', 0, null, false); ajax.postJSON(url, { userId: userId, billId: billId, billTypeId: billTypeId }, null, function (error) {}, function (data) { if (data != null && data.status == 200) { var param = eval("(" + data.text + ")"); if (param != null) { if (param.success == true && param.msg) { _YYToast2.default.success(param.msg, 2); if (self.props.onSelect) { self.props.onSelect(true, index); } } else { _YYToast2.default.info(param.msg, 2); if (self.props.onSelect) { self.props.onSelect(false, index); } } } } }); } } }; _this.showApprove = function () { _this.setState({ showApprove: true }); }; _this.closeApprove = function () { _this.setState({ showApprove: false }); }; _this.state = { showApprove: false, visible: false, showApproveHistory: false }; return _this; } _createClass(YYApproveNavBar, [{ key: 'onClose', value: function onClose() { this.setState({ showApproveHistory: false }); } }, { key: 'onBpmApprove', value: function onBpmApprove(flag) { this.setState({ showApprove: false }); this.props.onSelect(flag); } }, { key: 'render', value: function render() { var _props = this.props, mode = _props.mode, leftIcon = _props.leftIcon, leftContent = _props.leftContent, children = _props.children, className = _props.className, billId = _props.billId, billTypeId = _props.billTypeId, billState = _props.billState, restProps = _objectWithoutProperties(_props, ['mode', 'leftIcon', 'leftContent', 'children', 'className', 'billId', 'billTypeId', 'billState']); var userId = window.YYUtils.AuthToken.getUserId(); var wrapClz = (0, _classnames2.default)('yy-approve-navBar', className); var leftIconCom = typeof leftIcon === 'string' ? _react2.default.createElement(_YYIcon2.default, { type: leftIcon }) : leftIcon; return _react2.default.createElement( 'div', null, _react2.default.createElement( _navBar2.default, { className: wrapClz, mode: mode, icon: leftIconCom, leftContent: leftContent, onLeftClick: this.onLeftClick, rightContent: billState || billState === 0 ? billState === BILL_STATE.FREE ? null : _react2.default.createElement( _popover2.default, { visible: this.state.visible, overlay: billState === BILL_STATE.COMMIT ? [_react2.default.createElement( Item, { icon: _react2.default.createElement(_YYIcon2.default, { type: 'edit', size: 'xs' }) }, '\u6267\u884C\u5BA1\u6279' ), _react2.default.createElement( Item, { disabled: true, icon: _react2.default.createElement(_icon2.default, { type: 'cross', size: 'xs' }) }, '\u6267\u884C\u5F03\u5BA1' ), _react2.default.createElement( Item, { icon: _react2.default.createElement(_YYIcon2.default, { type: 'more', size: 'xs' }) }, '\u5BA1\u6279\u5386\u53F2' ), _react2.default.createElement( Item, { icon: _react2.default.createElement(_YYIcon2.default, { type: 'triangle_up_fill', size: 'xs' }) }, '\u6536\u56DE' )] : [billState === BILL_STATE.APPROVED ? _react2.default.createElement( Item, { disabled: true, icon: _react2.default.createElement(_YYIcon2.default, { type: 'edit', size: 'xs' }) }, '\u6267\u884C\u5BA1\u6279' ) : _react2.default.createElement( Item, { icon: _react2.default.createElement(_YYIcon2.default, { type: 'edit', size: 'xs' }) }, '\u6267\u884C\u5BA1\u6279' ), billState === BILL_STATE.APPROVING || billState === BILL_STATE.APPROVED ? _react2.default.createElement( Item, { icon: _react2.default.createElement(_icon2.default, { type: 'cross', size: 'xs' }) }, '\u6267\u884C\u5F03\u5BA1' ) : _react2.default.createElement( Item, { disabled: true, icon: _react2.default.createElement(_icon2.default, { type: 'cross', size: 'xs' }) }, '\u6267\u884C\u5F03\u5BA1' ), _react2.default.createElement( Item, { icon: _react2.default.createElement(_YYIcon2.default, { type: 'more', size: 'xs' }) }, '\u5BA1\u6279\u5386\u53F2' )], onSelect: this.onSelect.bind(this) }, _react2.default.createElement( 'div', null, '\u5BA1\u6279' ) ) : null }, children ), this.state.showApprove ? _react2.default.createElement(_YYApprove2.default, { showApprove: this.state.showApprove, billTypeId: billTypeId, userId: userId, billId: billId, onBpmApprove: this.onBpmApprove.bind(this), onCloseApprove: this.closeApprove.bind(this) }) : null, _react2.default.createElement( _modal2.default, { visible: this.state.showApproveHistory, style: { backgroundColor: "black" }, className: 'yy-modal-approvehistory yy-modal-fill', popup: true, closable: true, animationType: 'slide-up', title: '\u67E5\u770B\u5BA1\u6279\u6D41', maskClosable: true, onClose: this.onClose.bind(this) }, _react2.default.createElement(_YYApproveHistory2.default, { userId: userId, billId: billId }) ) ); } }]); return YYApproveNavBar; }(_react2.default.Component); YYApproveNavBar.defaultProps = { mode: 'light', leftIcon: null, leftContent: null, onLeftClick: null, visible: true, userId: '', billId: '', billTypeId: '', billState: '' }; exports.default = YYApproveNavBar;