yylib-quick-mobile
Version:
yylib-quick-mobile
639 lines (553 loc) • 25.8 kB
JavaScript
'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);