"use strict"; (self["webpackChunk"] = self["webpackChunk"] || []).push([[21939],{ /***/ 72020: /*!*****************************************!*\ !*** ./src/components/NoData/index.tsx ***! \*****************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js */ 26801); /* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ 59301); /* harmony import */ var _assets_images_icons_nodata_png__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/assets/images/icons/nodata.png */ 4977); /* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd */ 3113); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ 37712); var noData = function noData(_ref) { var img = _ref.img, _ref$buttonProps = _ref.buttonProps, buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps, _ref$styles = _ref.styles, styles = _ref$styles === void 0 ? {} : _ref$styles, customText = _ref.customText, ButtonText = _ref.ButtonText, ButtonClick = _ref.ButtonClick, Buttonclass = _ref.Buttonclass, ButtonTwo = _ref.ButtonTwo, imgStyles = _ref.imgStyles, _ref$loading = _ref.loading, loading = _ref$loading === void 0 ? false : _ref$loading; return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("section", { className: "tc animated fadeIn", style: _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, { color: '#999', margin: '100px auto', visibility: loading ? 'hidden' : 'visible' }), styles), children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("img", { src: img || _assets_images_icons_nodata_png__WEBPACK_IMPORTED_MODULE_2__, style: _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, imgStyles) }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("p", { className: "mt20 font14", children: customText || '暂时还没有相关数据哦!' }), ButtonText && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(antd__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .ZP, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({ className: Buttonclass, onClick: ButtonClick }, buttonProps), {}, { children: ButtonText })), ButtonTwo && ButtonTwo] }); }; /* harmony default export */ __webpack_exports__.Z = (noData); /***/ }), /***/ 71722: /*!***********************************************************!*\ !*** ./src/pages/User/Detail/Order/index.tsx + 1 modules ***! \***********************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, { "default": function() { return /* binding */ Order; } }); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/regeneratorRuntime.js var regeneratorRuntime = __webpack_require__(10574); var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js var objectSpread2 = __webpack_require__(26801); var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/asyncToGenerator.js var asyncToGenerator = __webpack_require__(39343); var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js var slicedToArray = __webpack_require__(11006); var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectWithoutProperties.js var objectWithoutProperties = __webpack_require__(27161); var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js var _react_17_0_2_react = __webpack_require__(59301); // EXTERNAL MODULE: ./src/.umi-production/exports.ts + 8 modules var _umi_production_exports = __webpack_require__(66660); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tabs/index.js + 24 modules var tabs = __webpack_require__(99313); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules var modal = __webpack_require__(43418); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules var message = __webpack_require__(8591); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js var es_button = __webpack_require__(3113); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/skeleton/index.js + 12 modules var skeleton = __webpack_require__(59981); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/empty/index.js + 3 modules var empty = __webpack_require__(64165); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/pagination/index.js + 10 modules var pagination = __webpack_require__(41867); // EXTERNAL MODULE: ./src/utils/fetch.ts var fetch = __webpack_require__(97174); // EXTERNAL MODULE: ./src/utils/util.tsx var util = __webpack_require__(27291); // EXTERNAL MODULE: ./src/components/ui-customization/index.tsx + 34 modules var ui_customization = __webpack_require__(6487); ;// CONCATENATED MODULE: ./src/pages/User/Detail/Order/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var Ordermodules = ({"flex_box_center":"flex_box_center___YpQfo","flex_space_between":"flex_space_between___TbnTA","flex_box_vertical_center":"flex_box_vertical_center___i5tGV","flex_box_center_end":"flex_box_center_end___TGOEs","flex_box_column":"flex_box_column___WffX7","order":"order___vJMML","title":"title___y1Rw3","btn":"btn___BCKjx","content":"content___snC8y","w1":"w1___NLhhp","w2":"w2___wVmr8","w3":"w3___nkCwO","w4":"w4___rU_a2","w5":"w5___TXF5V","w6":"w6___fnvwR","listTitle":"listTitle___fxcJs","listContent":"listContent___KWWlP","info":"info___d0rSf","d1":"d1___J4DJD","d2":"d2___TWgK5","d3":"d3___vdAxO","unitPrice":"unitPrice___iZ863","p":"p___aEkYF","l":"l___QebDv","payType":"payType___U1bBW","price":"price___jAHt9","status":"status___r8pAq","action":"action___oXuBE"}); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js var jsx_runtime = __webpack_require__(37712); ;// CONCATENATED MODULE: ./src/pages/User/Detail/Order/index.tsx var _excluded = ["user", "userDetail", "globalSetting", "dispatch"]; var TabPane = tabs/* default */.Z.TabPane; // const listData = [ // { // num: "13031815255975476953148", //订单号 // state: "unpaid", //订单状态 // name: "Python程序设计入门", //商品名 // expiration: "2", //有效类型 // price: '100.0', //实际价格 // origin_price: "200.0", //原始价格 // days: 56, //有效天数 // // start_at: null, //固定开始日期 // // end_at: null, //固定结束日期 // created_at: "2021-03-18 15:25:59", //订单创建时间 // subject_id: 17 // 实践课程id // } // ] var Paths = function Paths(_ref) { var user = _ref.user, userDetail = _ref.userDetail, globalSetting = _ref.globalSetting, dispatch = _ref.dispatch, props = objectWithoutProperties_default()(_ref, _excluded); var _useState = (0,_react_17_0_2_react.useState)(''), _useState2 = slicedToArray_default()(_useState, 2), activeKey = _useState2[0], setActiveKey = _useState2[1]; var _useState3 = (0,_react_17_0_2_react.useState)([]), _useState4 = slicedToArray_default()(_useState3, 2), list = _useState4[0], setList = _useState4[1]; var _useState5 = (0,_react_17_0_2_react.useState)(0), _useState6 = slicedToArray_default()(_useState5, 2), total = _useState6[0], setTotal = _useState6[1]; var _useState7 = (0,_react_17_0_2_react.useState)(1), _useState8 = slicedToArray_default()(_useState7, 2), current = _useState8[0], setCurrent = _useState8[1]; var _useState9 = (0,_react_17_0_2_react.useState)(true), _useState10 = slicedToArray_default()(_useState9, 2), loading = _useState10[0], setLoading = _useState10[1]; var _useState11 = (0,_react_17_0_2_react.useState)(null), _useState12 = slicedToArray_default()(_useState11, 2), btnLoading = _useState12[0], setBtnLoading = _useState12[1]; (0,_react_17_0_2_react.useEffect)(function () { (0,util/* setDocumentTitle */.Dk)('我购买的课程'); getData(); }, []); var getData = /*#__PURE__*/function () { var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(param) { var initParam, res; return regeneratorRuntime_default()().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: initParam = { state: '', page: 1, per_page: 10 }; setLoading(true); _context.next = 4; return (0,fetch/* default */.ZP)("/api/payments.json", { method: 'get', params: objectSpread2_default()(objectSpread2_default()({}, initParam), param) }); case 4: res = _context.sent; if (res !== null && res !== void 0 && res.orders) { setList(res === null || res === void 0 ? void 0 : res.orders); setTotal(res === null || res === void 0 ? void 0 : res.count); setLoading(false); } case 6: case "end": return _context.stop(); } }, _callee); })); return function getData(_x) { return _ref2.apply(this, arguments); }; }(); var handleTabsClick = function handleTabsClick(key) { if (key === activeKey) return; getData({ state: key, page: 1 }); setCurrent(1); setActiveKey(key); }; var tabsMapping = [{ name: '全部订单', activeKey: '' }, { name: '待付款', activeKey: 'unpaid' }, { name: '已完成', activeKey: 'payed' }, { name: '已失效', activeKey: 'expired' }]; var cancelOrder = function cancelOrder(num) { modal/* default */.Z.confirm({ // className: reset.CustomTipsModalCss, centered: true, icon: null, okText: '确定', cancelText: '取消', title: '取消订单', content: '确定取消该订单吗?', onOk: function () { var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() { var res, page; return regeneratorRuntime_default()().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return (0,fetch/* default */.ZP)("/api/payments/".concat(num, "/cancel"), { method: 'POST' }); case 2: res = _context2.sent; if (res.status === 0) { page = list.length === 1 && current > 1 ? current - 1 : current; getData({ page: page, state: activeKey }); setCurrent(page); } case 4: case "end": return _context2.stop(); } }, _callee2); })); function onOk() { return _onOk.apply(this, arguments); } return onOk; }() }); }; var deleteOrder = function deleteOrder(num) { modal/* default */.Z.confirm({ // className: reset.CustomTipsModalCss, centered: true, okText: '确定', cancelText: '取消', icon: null, title: '删除订单', content: '确定删除该订单吗?', onOk: function () { var _onOk2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() { var res, page; return regeneratorRuntime_default()().wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return (0,fetch/* default */.ZP)("/api/payments/".concat(num, ".json"), { method: 'DELETE' }); case 2: res = _context3.sent; if (res.status === 0) { page = list.length === 1 && current > 1 ? current - 1 : current; getData({ page: page, state: activeKey }); setCurrent(page); } case 4: case "end": return _context3.stop(); } }, _callee3); })); function onOk() { return _onOk2.apply(this, arguments); } return onOk; }() }); }; var continuePayOrder = function continuePayOrder(item) { _umi_production_exports.history.push("/order/".concat(item === null || item === void 0 ? void 0 : item.subject_id, "/pay?order_num=").concat(item === null || item === void 0 ? void 0 : item.num)); }; var againBuyOrder = /*#__PURE__*/function () { var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4(item) { var res; return regeneratorRuntime_default()().wrap(function _callee4$(_context4) { while (1) switch (_context4.prev = _context4.next) { case 0: if (item.is_subject_exist) { _context4.next = 3; break; } message/* default */.ZP.warning('课程已下架'); return _context4.abrupt("return"); case 3: setBtnLoading(item === null || item === void 0 ? void 0 : item.num); _context4.next = 6; return (0,fetch/* default */.ZP)("/api/payments.json", { method: 'POST', body: { subject_id: item === null || item === void 0 ? void 0 : item.subject_id, payment_method: 'wechat_qr' } }); case 6: res = _context4.sent; if (res !== null && res !== void 0 && res.num) { _umi_production_exports.history.push("/order/".concat(item === null || item === void 0 ? void 0 : item.subject_id, "/pay?order_num=").concat(res === null || res === void 0 ? void 0 : res.num)); setBtnLoading(null); } case 8: case "end": return _context4.stop(); } }, _callee4); })); return function againBuyOrder(_x2) { return _ref3.apply(this, arguments); }; }(); var handleChange = function handleChange(page) { document.body.scrollIntoView(); getData({ page: page }); setCurrent(page); }; var start = function start(id, bool) { if (!bool) { message/* default */.ZP.warning('课程已下架'); return; } _umi_production_exports.history.push("/paths/".concat(id)); }; var invoice = function invoice(id) { _umi_production_exports.history.push("/order/invoice?ids=".concat(encodeURIComponent(JSON.stringify([id])))); }; var renderContent = function renderContent() { return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Ordermodules.content, children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Ordermodules.listTitle, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { style: { paddingLeft: 30, textAlign: 'left' }, className: Ordermodules.w1, children: "\u8BA2\u5355\u4FE1\u606F" }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Ordermodules.w2, children: "\u5355\u4EF7(\u5143)" }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Ordermodules.w3, children: "\u5B9E\u4ED8\u91D1\u989D(\u5143)" }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Ordermodules.w6, children: "\u652F\u4ED8\u65B9\u5F0F" }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Ordermodules.w4, children: "\u4EA4\u6613\u72B6\u6001" }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Ordermodules.w5, children: "\u64CD\u4F5C" })] }), list.map(function (item, index) { return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Ordermodules.listContent, children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Ordermodules.info, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("a", { href: "/paths/".concat(item.subject_id), className: Ordermodules.d1, children: item.name }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Ordermodules.d2, children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", { children: ["\u8BA2\u5355\u7F16\u53F7\uFF1A", item.num] }), /*#__PURE__*/(0,jsx_runtime.jsx)("span", { style: { marginLeft: 22 }, children: item.created_at })] }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Ordermodules.d3, children: ["\u8BFE\u7A0B\u6709\u6548\u671F\uFF1A", (item === null || item === void 0 ? void 0 : item.expiration) === '1' && '永久有效', (item === null || item === void 0 ? void 0 : item.expiration) === '2' && "\u8D2D\u4E70\u540E".concat(item === null || item === void 0 ? void 0 : item.days, "\u5929\u6709\u6548"), (item === null || item === void 0 ? void 0 : item.expiration) === '3' && "".concat(item === null || item === void 0 ? void 0 : item.start_at, "\u5230").concat(item === null || item === void 0 ? void 0 : item.end_at)] })] }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Ordermodules.unitPrice, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Ordermodules.p, children: item.price }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Ordermodules.l, children: item.origin_price })] }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Ordermodules.price, children: item.price }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Ordermodules.payType, children: item === null || item === void 0 ? void 0 : item.payment_method }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Ordermodules.status, children: item.state === 'unpaid' ? '待支付' : item.state === 'expired' ? "已失效" : '交易完成' }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Ordermodules.action, children: [item.state === 'unpaid' && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, { onClick: function onClick() { return cancelOrder(item.num); }, type: "primary", ghost: true, children: "\u53D6\u6D88\u8BA2\u5355" }), item.state === 'expired' && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, { onClick: function onClick() { return deleteOrder(item.num); }, type: "primary", danger: true, ghost: true, children: "\u5220\u9664\u8BA2\u5355" }), item.state === 'unpaid' && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, { onClick: function onClick() { return continuePayOrder(item); }, type: "primary", children: "\u7EE7\u7EED\u652F\u4ED8" }), item.state === 'expired' && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, { loading: btnLoading === item.num, disabled: btnLoading !== null && btnLoading !== item.num, onClick: function onClick() { return againBuyOrder(item); }, type: "primary", children: "\u91CD\u65B0\u8D2D\u4E70" }), item.allow_invoice && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, { onClick: function onClick() { return invoice(item.id); }, ghost: true, type: "primary", children: "\u5F00\u53D1\u7968" }), item.state === 'payed' && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, { onClick: function onClick() { return start(item.subject_id, item.is_subject_exist); }, type: "primary", children: "\u5F00\u59CB\u5B66\u4E60" })] })] }, index); })] }); }; return /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ui_customization/* CustomCrumbs */._b, { dataSource: [{ name: '我的' }, { name: '我购买的课程' }] }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Ordermodules.order, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Ordermodules.title, children: "\u6211\u8D2D\u4E70\u7684\u8BFE\u7A0B" }), /*#__PURE__*/(0,jsx_runtime.jsx)(tabs/* default */.Z, { activeKey: activeKey, onChange: handleTabsClick, tabBarExtraContent: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { onClick: function onClick() { return _umi_production_exports.history.push('/order/records'); }, className: Ordermodules.btn, children: "\u5F00\u7968\u8BB0\u5F55" }), children: tabsMapping.map(function (e) { return /*#__PURE__*/(0,jsx_runtime.jsx)(TabPane, { tab: e.name, children: /*#__PURE__*/(0,jsx_runtime.jsx)(skeleton/* default */.Z, { loading: loading, active: true, paragraph: { rows: 5 }, children: !!list.length ? renderContent() : /*#__PURE__*/(0,jsx_runtime.jsx)(empty/* default */.Z, {}) }) }, e.activeKey); }) }), /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, { hideOnSinglePage: true, onChange: function onChange(page) { return handleChange(page); }, current: current, pageSize: 10, total: total })] })] }); }; /* harmony default export */ var Order = ((0,_umi_production_exports.connect)(function (_ref4) { var user = _ref4.user, userDetail = _ref4.userDetail, globalSetting = _ref4.globalSetting; return { user: user, userDetail: userDetail, globalSetting: globalSetting }; })(Paths)); /***/ }) }]);