UNPKG

yylib-quick-mobile

Version:

yylib-quick-mobile

639 lines (553 loc) 25.8 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _textareaItem = require('antd-mobile/lib/textarea-item'); var _textareaItem2 = _interopRequireDefault(_textareaItem); var _whiteSpace = require('antd-mobile/lib/white-space'); var _whiteSpace2 = _interopRequireDefault(_whiteSpace); var _button = require('antd-mobile/lib/button'); var _button2 = _interopRequireDefault(_button); var _modal = require('antd-mobile/lib/modal'); var _modal2 = _interopRequireDefault(_modal); var _icon = require('antd-mobile/lib/icon'); var _icon2 = _interopRequireDefault(_icon); var _list = require('antd-mobile/lib/list'); var _list2 = _interopRequireDefault(_list); var _radio = require('antd-mobile/lib/radio'); var _radio2 = _interopRequireDefault(_radio); var _checkbox = require('antd-mobile/lib/checkbox'); var _checkbox2 = _interopRequireDefault(_checkbox); 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/textarea-item/style/css'); require('antd-mobile/lib/white-space/style/css'); require('antd-mobile/lib/button/style/css'); require('antd-mobile/lib/modal/style/css'); require('antd-mobile/lib/icon/style/css'); require('antd-mobile/lib/list/style/css'); require('antd-mobile/lib/radio/style/css'); require('antd-mobile/lib/checkbox/style/css'); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _YYAssignRef = require('./../bpm/YYAssignRef'); var _YYAssignRef2 = _interopRequireDefault(_YYAssignRef); var _YYAddSignModal = require('./../bpm/YYAddSignModal'); var _YYAddSignModal2 = _interopRequireDefault(_YYAddSignModal); var _YYPicker = require('./../picker/YYPicker'); var _YYPicker2 = _interopRequireDefault(_YYPicker); var _YYNavBar = require('./../navBar/YYNavBar'); var _YYNavBar2 = _interopRequireDefault(_YYNavBar); var _YYForm = require('./../form/YYForm'); var _YYForm2 = _interopRequireDefault(_YYForm); var _YYIcon = require('./../icon/YYIcon'); var _YYIcon2 = _interopRequireDefault(_YYIcon); var _YYToast = require('./../toast/YYToast'); var _YYToast2 = _interopRequireDefault(_YYToast); var _YYRefer = require('./../refer/YYRefer'); var _YYRefer2 = _interopRequireDefault(_YYRefer); var _YYApproveHistory = require('./../bpm/YYApproveHistory'); var _YYApproveHistory2 = _interopRequireDefault(_YYApproveHistory); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _RestUrl = require('../../common/RestUrl'); require('./YYApprove.less'); 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 CheckboxItem = _checkbox2.default.CheckboxItem; var RadioItem = _radio2.default.RadioItem; var Item = _list2.default.Item; var YYApprove = function (_React$Component) { _inherits(YYApprove, _React$Component); function YYApprove(props) { _classCallCheck(this, YYApprove); var _this = _possibleConstructorReturn(this, (YYApprove.__proto__ || Object.getPrototypeOf(YYApprove)).call(this, props)); _this.getInfo = function () { var ajax = window.YYUtils.Ajax; var _this$props = _this.props, showApprove = _this$props.showApprove, userId = _this$props.userId, billId = _this$props.billId; ajax.getText(_RestUrl.MODULE_URL.getBpmId, { 'billId': billId }, function (getBpmIdTextData) { var getBpmIdData = JSON.parse(getBpmIdTextData); if (getBpmIdData.success && getBpmIdData.success == true) { if (getBpmIdData.bpmId) { ajax.postText(_RestUrl.MODULE_URL.beforeReject, { 'bpmId': getBpmIdData.bpmId, 'userId': userId }, function (beforeRejectTextData) { var beforeRejectData = JSON.parse(beforeRejectTextData); var PickerData = []; if (!beforeRejectData.success) { _YYToast2.default.info(beforeRejectData.msg, 3); return; } if (beforeRejectData.rejectAble) { PickerData.push({ label: '同意', value: 0 }, { label: '不同意且退回', value: 1 }); } if (beforeRejectData.inPower && !beforeRejectData.rejectAble) { PickerData.push({ label: '审核', value: 2 }); } if (beforeRejectData.addsignAble) { PickerData.push({ label: '改派', value: 3 }); } var bohuiDate = [{ label: '提交人', value: '提交人' }]; if (beforeRejectData.data && beforeRejectData.data.array && beforeRejectData.data.array.length > 0) { for (var i = 0; i < beforeRejectData.data.array.length; i++) { bohuiDate.push({ value: beforeRejectData.data.array[i].activityId, label: beforeRejectData.data.array[i].activityName }); } } _this.setState({ bpmId: getBpmIdData.bpmId, PickerData: PickerData, inPower: beforeRejectData.inPower, rejectAble: beforeRejectData.rejectAble, addsignAble: beforeRejectData.addsignAble, assignAble: beforeRejectData.assignAble, countersign: beforeRejectData["parenttaskid"] ? beforeRejectData["parenttaskid"] : "", counterSignAble: beforeRejectData.addsigninPower && beforeRejectData["addAisnInfo"]["addlotAble"] ? true : false, taskId: beforeRejectData.addsigninPower ? beforeRejectData["addAisnInfo"]["taskId"] : "", bohuiDate: bohuiDate }); }); } else { _YYToast2.default.fail('没有审批历史', 2); } } else { _YYToast2.default.fail('查看审批记录失败,请检查参数', 2); } }); }; _this.addSign = function () { _this.setState({ jiaqianModal: true }); }; _this.beforeApprove = function () { var ajax = window.YYUtils.Ajax; var _this$state = _this.state, valueRadio = _this$state.valueRadio, assignAble = _this$state.assignAble, countersign = _this$state.countersign; var opttype = 1; if (valueRadio === 0) opttype = 1;else if (valueRadio === 1) opttype = 0; var param = { opttype: opttype, taskid: countersign, comment: customTip, assignee: _this.props.userId }; if (assignAble != null && assignAble == true && (valueRadio == 0 || valueRadio == 2)) { _this.showAssign(); } else if (countersign !== "") { ajax.postJSON(_RestUrl.MODULE_URL.completeSignTask, param, function (msg) { _this.setState({ rejectVisible: false }); if (msg.success && msg.success === true) { _YYToast2.default.success(msg.msg, 2); _this.getInfo(); } else { _YYToast2.default.fail(msg.msg, 2); } if (_this.props.onOk && typeof _this.props.onOk == "function") { _this.props.onOk(msg); } }); } else { _this.doApprove([]); } }; _this.doApprove = function (assign) { var _this$props2 = _this.props, userId = _this$props2.userId, billId = _this$props2.billId, billTypeId = _this$props2.billTypeId; var _this$state2 = _this.state, bpmId = _this$state2.bpmId, valueRadio = _this$state2.valueRadio, bohuiValueRadio = _this$state2.bohuiValueRadio, addsingUser = _this$state2.addsingUser, customTip = _this$state2.customTip; var opinionContent = null; if (valueRadio == 0) opinionContent = "同意";else if (valueRadio == 1) opinionContent = "不同意且退回";else if (valueRadio == 2) opinionContent = "审核";else if (valueRadio == 3) { opinionContent = "改派"; if (!addsingUser) { _YYToast2.default.info("请选择需要改派处!", 2); return; } } var approveObject = {}; approveObject = { userId: userId, bill: { billTypeId: billTypeId, billId: billId, bpmId: bpmId }, bpmId: bpmId, approveType: opinionContent, comment: customTip, delegateUser: addsingUser ? addsingUser.userId : null, activityId: bohuiValueRadio, assignAble: assign != null && assign.length > 0 ? true : false, assign: assign }; _this.onBpmApprove(approveObject); }; _this.onBpmApprove = function (data) { var ajax = window.YYUtils.Ajax; var url = ''; if (data.approveType == "同意" || data.approveType == "审核") { url = _RestUrl.MODULE_URL.doApprove; } else if (data.approveType == "改派") { url = _RestUrl.MODULE_URL.delegateTaskCompletely; } else if (data.approveType == "不同意且退回") { url = _RestUrl.MODULE_URL.disApprove; } ajax.postText(url, data, function (text) { var data = JSON.parse(text); if (data.success && data.success === true) { _this.setState({ showApprove: false }); _YYToast2.default.success(data.msg, 2); if (_this.props.onBpmApprove) { _this.props.onBpmApprove(true); } } else { _YYToast2.default.info(data.msg, 2); _this.props.onBpmApprove(true); } }); }; _this.showApproveModal = function () { _this.setState({ showApprove: false }); if (_this.props.onCloseApprove) { _this.props.onCloseApprove(); } }; _this.clickApproveHistory = function () { if (_this.state.inPower) { _this.setState({ showApprove: false, showApproveHistory: true }); } else { _YYToast2.default.info('无查看权限', 1); } }; _this.showApproveHistoryModal = function () { _this.setState({ showApprove: true, showApproveHistory: false }); }; _this.bohuiOnChange = function (valueList) { var value = valueList[0]; _this.setState({ bohuiValueRadio: value }); }; _this.approveActionOnChange = function (valueList) { var value = valueList[0]; switch (value) { case 0: _this.setState({ customTip: '同意!' }); break; case 1: _this.setState({ customTip: '驳回!' }); break; case 2: _this.setState({ customTip: '已审核!' }); break; case 3: _this.setState({ customTip: '改派!' }); break; default: _this.setState({ customTip: '错误!' }); break; } _this.setState({ valueRadio: value }); }; _this.showAssign = function () { _this.setState({ showAssignRef: true }); }; _this.closeAssign = function () { _this.setState({ showAssignRef: false }); }; _this.comfirmAssign = function (val) { _this.closeAssign(); console.log(val); _this.doApprove([val]); }; _this.checkedAddsign = function (user) { _this.closeAddsign(); console.log(user); _this.setState({ addsingUser: user }); }; _this.showAddsign = function () { _this.setState({ showAddsignRef: true }); }; _this.closeAddsign = function () { _this.setState({ showApprove: true, showAddsignRef: false, showApproveHistory: false }); }; _this.customTipOnChange = function (value) { _this.setState({ customTip: value }); }; _this.state = { showApprove: _this.props.showApprove, showApproveHistory: false, valueRadio: 0, bohuiValueRadio: '提交人', showAssignRef: false, showAddsignRef: false, customTip: '同意!', PickerData: [], counterSignAble: false, jiaqianModal: false, taskId: "", countersign: "" }; return _this; } _createClass(YYApprove, [{ key: 'componentDidMount', value: function componentDidMount() { this.getInfo(); } }, { key: 'componentWillReceiveProps', value: function componentWillReceiveProps(nextprops) { if (nextprops.showApprove !== this.state.showApprove) { this.setState({ showApprove: nextprops.showApprove }); } } }, { key: 'render', value: function render() { var _this2 = this; var _state = this.state, showApprove = _state.showApprove, showApproveHistory = _state.showApproveHistory, PickerData = _state.PickerData, valueRadio = _state.valueRadio, inPower = _state.inPower, rejectAble = _state.rejectAble, addsignAble = _state.addsignAble, assignAble = _state.assignAble, bohuiValueRadio = _state.bohuiValueRadio, bohuiDate = _state.bohuiDate, showAssignRef = _state.showAssignRef, customTip = _state.customTip, counterSignAble = _state.counterSignAble, jiaqianModal = _state.jiaqianModal, taskId = _state.taskId; var _props = this.props, userId = _props.userId, billId = _props.billId, billTypeId = _props.billTypeId, orgId = _props.orgId, form = _props.form; var radioText = null; var radioText0 = _react2.default.createElement( Item, { disabled: true }, '\u6D41\u7A0B\u5C06\u7EE7\u7EED' ); var radioText1 = _react2.default.createElement(_YYPicker2.default, { value: [bohuiValueRadio], data: bohuiDate, form: form, cols: 1, label: '\u6D41\u7A0B\u5C06\u9000\u56DE\u5230', field: 'bohuiValueRadio', required: true, onOk: this.bohuiOnChange }); var radioText2 = _react2.default.createElement( Item, { disabled: true }, '\u6D41\u7A0B\u7EE7\u7EED\u6D41\u8F6C,\u672C\u9879\u4E00\u822C\u5728\u4F1A\u7B7E\u65F6\u4F7F\u7528' ); var radioText3 = _react2.default.createElement( 'div', null, _react2.default.createElement( Item, { className: 'yy-item', arrow: 'horizontal', onClick: this.showAddsign, extra: this.state.addsingUser ? this.state.addsingUser.name : null }, '\u5F53\u524D\u4EFB\u52A1\u6539\u5728' ), _react2.default.createElement(_YYRefer2.default, { referlabel: '\u6D41\u7A0B\u6539\u6D3E\u81F3', referName: 'Addsign', onOk: this.checkedAddsign, onClose: this.closeAddsign, multiMode: false, open: this.state.showAddsignRef, referCode: '00081', referStyle: 'list', form: form }) ); switch (valueRadio) { case 0: radioText = radioText0;break; case 1: radioText = radioText1;break; case 2: radioText = radioText2;break; case 3: radioText = radioText3;break; default: radioText = valueRadio;break; } var YYApproveHistoryModal = inPower ? _react2.default.createElement( _modal2.default, { popup: true, visible: showApproveHistory, maskClosable: false, animationType: 'slide-up' }, _react2.default.createElement( 'div', { className: 'yy-bpm-modal-body' }, _react2.default.createElement( _YYNavBar2.default, { className: 'no-border-navbar', mode: 'light', leftContent: _react2.default.createElement(_icon2.default, { type: 'left' }), onLeftClick: this.showApproveHistoryModal }, '\u5BA1\u6279\u5386\u53F2' ), _react2.default.createElement(_YYApproveHistory2.default, { userId: userId, billId: billId }) ) ) : null; var AssignRef = showAssignRef ? _react2.default.createElement(_YYAssignRef2.default, { visible: showAssignRef, type: "approve", billTypeId: billTypeId, bpmId: this.state.bpmId, userId: userId, comfirm: this.comfirmAssign }) : null; var counterSignRef = jiaqianModal ? _react2.default.createElement(_YYAddSignModal2.default, { visible: jiaqianModal, type: "approve", billTypeId: billTypeId, bpmId: this.state.bpmId, taskId: taskId, userId: userId, onClose: function onClose() { _this2.setState({ jiaqianModal: false }); } }) : null; return _react2.default.createElement( 'div', { className: 'yy-approve' }, AssignRef, YYApproveHistoryModal, counterSignRef, _react2.default.createElement( _modal2.default, { popup: true, visible: showApprove, maskClosable: false, animationType: 'slide-up' }, _react2.default.createElement( 'div', { className: 'yy-bpm-modal-body' }, _react2.default.createElement( _YYNavBar2.default, { className: 'no-border-navbar', mode: 'light', leftContent: _react2.default.createElement(_icon2.default, { type: 'left' }), onLeftClick: this.showApproveModal, rightContent: _react2.default.createElement( _button2.default, { type: 'ghost', size: 'small', inline: true, disabled: !inPower, onClick: this.clickApproveHistory }, '\u67E5\u770B\u5BA1\u6279\u5386\u53F2' ) }, '\u5BA1\u6279' ), _react2.default.createElement( _list2.default, null, _react2.default.createElement(_YYPicker2.default, { value: [valueRadio], data: PickerData, form: form, cols: 1, label: '\u5BA1\u6279\u610F\u89C1', field: 'valueRadio', required: true, disabled: PickerData.length < 1, onOk: this.approveActionOnChange }), radioText ), _react2.default.createElement(_whiteSpace2.default, null), _react2.default.createElement( _list2.default, null, _react2.default.createElement(_textareaItem2.default, { title: '\u5BA1\u6279\u8BED', placeholder: '请输入审批语', value: customTip, onChange: this.customTipOnChange.bind(this), rows: 3 }) ), _react2.default.createElement( 'div', { className: 'yy-botton-bottom-group' }, _react2.default.createElement( _button2.default, { className: 'yy-button-bottom-in', disabled: !counterSignAble, type: 'primary', onClick: this.addSign }, '\u52A0\u7B7E' ), _react2.default.createElement( _button2.default, { className: 'yy-button-bottom-in', disabled: !inPower, type: 'primary', onClick: this.beforeApprove }, '\u786E\u5B9A' ) ) ) ) ); } }]); return YYApprove; }(_react2.default.Component); YYApprove.defaultProps = { userId: '', billId: '' }; exports.default = _YYForm2.default.create()(YYApprove);