@choerodon/master
Version:
A package of Master for Choerodon platform.
222 lines (189 loc) • 9.12 kB
JavaScript
import "choerodon-ui/pro/lib/form/style";
import _Form from "@hzero-front-ui/c7n-ui/lib/FormPro";
import "choerodon-ui/pro/lib/select/style";
import _Select from "choerodon-ui/pro/lib/select";
import "choerodon-ui/pro/lib/email-field/style";
import _EmailField from "choerodon-ui/pro/lib/email-field";
import "choerodon-ui/pro/lib/text-field/style";
import _TextField from "choerodon-ui/pro/lib/text-field";
import "choerodon-ui/pro/lib/data-set/style";
import _DataSet from "choerodon-ui/pro/lib/data-set";
import "choerodon-ui/lib/alert/style";
import _Alert from "choerodon-ui/lib/alert";
import "choerodon-ui/pro/lib/button/style";
import _Button from "choerodon-ui/pro/lib/button";
import "choerodon-ui/pro/lib/message/style";
import _message from "choerodon-ui/pro/lib/message";
import "choerodon-ui/lib/tabs/style";
import _Tabs from "choerodon-ui/lib/tabs";
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
import React, { useState, useEffect, useMemo } from 'react';
import CopyToClipboard from 'react-copy-to-clipboard';
import axios from "../../../../../components/axios";
import InvitationModalDataSet from "./InvitationModalDataset";
var TabPane = _Tabs.TabPane;
export default function InvitationModal(props) {
var _useState = useState('link'),
_useState2 = _slicedToArray(_useState, 2),
tabkey = _useState2[0],
setTabkey = _useState2[1];
var _useState3 = useState(),
_useState4 = _slicedToArray(_useState3, 2),
link = _useState4[0],
setLink = _useState4[1];
var handleCopy = function handleCopy() {
_message.info('复制成功');
props.modal.close();
};
var isLink = tabkey === 'link';
useEffect(function () {
props.modal.update({
// 更新modal
cancelText: '取消',
footer: function footer(okBtn, cancelBtn) {
var confimBtn = isLink ? /*#__PURE__*/React.createElement(CopyToClipboard, {
text: link
}, /*#__PURE__*/React.createElement(_Button, {
color: "primary",
onClick: handleCopy
}, "\u590D\u5236")) : /*#__PURE__*/React.createElement(_Button, {
color: "primary",
onClick: handleSubmit
}, "\u9080\u8BF7");
return /*#__PURE__*/React.createElement("div", null, cancelBtn, confimBtn);
}
});
}, [tabkey, link]); // 获取链接
useEffect(function () {
var getLink = /*#__PURE__*/function () {
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
var res;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return axios.get('/iam/choerodon/v1/registers_invitation/batch_invitations');
case 2:
res = _context.sent;
setLink(res);
case 4:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return function getLink() {
return _ref.apply(this, arguments);
};
}();
getLink();
}, []); // 公告栏
var LINK_MESSAGE = '将您的专属推广链接分享给好友,邀请好友分享页面进行试用注册,成为推荐达人可领取实物礼品';
var FORM_MESSAGE = '填写好友信息,分享专属邀请给好友,邀请好友在分享页面进行试用注册,成为推荐达人可领实物礼品';
var notice = /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(_Alert, {
style: {
marginBottom: '20px',
height: '60px'
},
message: isLink ? LINK_MESSAGE : FORM_MESSAGE,
type: "info",
showIcon: true
})); // 链接框
var linkInvite = /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("strong", null, "\u9080\u8BF7\u94FE\u63A5")), /*#__PURE__*/React.createElement("div", {
style: {
width: '340px',
height: '82px',
background: '#F5F6FA'
}
}, /*#__PURE__*/React.createElement("div", {
style: {
marginLeft: '4px'
}
}, link)));
var Ds = useMemo(function () {
return new _DataSet(InvitationModalDataSet());
}, []); // 发送表单
var handleSubmit = /*#__PURE__*/function () {
var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
var checkRes, data;
return regeneratorRuntime.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return Ds.current.validate();
case 2:
checkRes = _context2.sent;
if (checkRes) {
_context2.next = 5;
break;
}
return _context2.abrupt("return", false);
case 5:
_context2.prev = 5;
_context2.next = 8;
return Ds.submit();
case 8:
data = _context2.sent;
if (!(data && (data === null || data === void 0 ? void 0 : data.failed))) {
_context2.next = 11;
break;
}
throw new Error(data === null || data === void 0 ? void 0 : data.message);
case 11:
props.modal.close();
return _context2.abrupt("return", true);
case 15:
_context2.prev = 15;
_context2.t0 = _context2["catch"](5);
return _context2.abrupt("return", '出现错误,请联系管理员');
case 18:
case "end":
return _context2.stop();
}
}
}, _callee2, null, [[5, 15]]);
}));
return function handleSubmit() {
return _ref2.apply(this, arguments);
};
}();
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(_Tabs, {
defaultActiveKey: "1",
onChange: setTabkey
}, /*#__PURE__*/React.createElement(TabPane, {
tab: "\u94FE\u63A5\u9080\u8BF7",
key: "link"
}, notice, linkInvite), /*#__PURE__*/React.createElement(TabPane, {
tab: "\u6CE8\u518C\u9080\u8BF7",
key: "register"
}, notice, /*#__PURE__*/React.createElement(_Form, {
record: Ds.current,
style: {
width: '3.4rem'
}
}, /*#__PURE__*/React.createElement(_TextField, {
name: "userName"
}), /*#__PURE__*/React.createElement(_TextField, {
name: "userPhone"
}), /*#__PURE__*/React.createElement(_EmailField, {
name: "userEmail"
}), /*#__PURE__*/React.createElement(_TextField, {
name: "orgName"
}), /*#__PURE__*/React.createElement(_TextField, {
name: "orgHomePage"
}), /*#__PURE__*/React.createElement(_Select, {
name: "orgBusinessType"
}), /*#__PURE__*/React.createElement(_Select, {
name: "wants"
})))));
}