UNPKG

@fle-ui/plus-im-record

Version:
161 lines 8 kB
import "antd/es/tooltip/style"; import _Tooltip from "antd/es/tooltip"; import "antd/es/message/style"; import _message from "antd/es/message"; function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } 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(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } import React, { useContext, useEffect, useState } from 'react'; import { ExclamationCircleOutlined } from '@ant-design/icons'; import classNames from 'classnames'; import Icon from '../Icon'; import CardTag from '../CardTag'; import { cardTagMap, fallbackImg } from '../common/const'; import { copyText } from '../common/utils'; import { ImContext } from '..'; import './index.less'; var ORDER_STATUS_MAP = { 1: { text: '待付款' }, 2: { text: '待发货' }, 3: { text: '已发货' }, 4: { text: '已完成' }, 5: { text: '已关闭' }, 6: { text: '售后' } }; export function fitUrl(url) { if (!url) return ''; return url.startsWith('http') ? url : "http://".concat(url); } var GoodsOrderCard = function GoodsOrderCard(props) { var _ref2, _ORDER_STATUS_MAP$dat; var _useContext = useContext(ImContext), api = _useContext.api; var _props$prefix = props.prefix, prefix = _props$prefix === void 0 ? 'chart-messages-item' : _props$prefix, _props$suspend = props.suspend, suspend = _props$suspend === void 0 ? false : _props$suspend, _props$orderSn = props.orderSn, orderSn = _props$orderSn === void 0 ? '' : _props$orderSn, orderId = props.orderId, recordSession = props.recordSession; var relationId = recordSession === null || recordSession === void 0 ? void 0 : recordSession.relationId; var relationType = recordSession === null || recordSession === void 0 ? void 0 : recordSession.relationType; var accid = recordSession === null || recordSession === void 0 ? void 0 : recordSession.accid; var _useState = useState({}), _useState2 = _slicedToArray(_useState, 2), data = _useState2[0], setData = _useState2[1]; useEffect(function () { if (orderId || orderSn) { api.getCSOrder({ orderSn: orderSn, orderId: Number(orderId) || orderId, accid: accid, relationId: relationId, relationType: relationType }).then(function (_ref) { var data = _ref.data; setData(data || {}); }); } }, [orderSn, orderId, relationId, accid]); function onCardClick() { // 现金 // https://cash.koudaiqifu.cn/1002855/order/order_detail?order_id=12128707 // 积分 // https://jifen.koudaiqifu.cn/1003408/order/order_detail?order_id=12128708 // 卡券 // http://cardjs.ufuly.cn/index.html#/8JmeYWGzdyI=/exchangeHistory if (data.applicationId === 7) { if (data.siteUrl) { window.open(fitUrl(data.siteUrl), '_blank'); } } else if (data.siteUrl) { window.open("".concat(fitUrl(data.siteUrl), "/order/order_detail?order_id=").concat(data.orderId), '_blank'); } } function formatOrderPrice() { var price = ''; if (data.applicationId === 6) { price = "".concat(data.totalPrice || 0, "\u5143"); } if (Number(data.totalScore) > 0 && Number(data.totalPrice) > 0) { price = "".concat(data.totalPrice, "\u5143+").concat(data.totalScore).concat(data.currencyStr || '积分'); } else if (Number(data.totalScore) > 0) { price = "".concat(data.totalScore).concat(data.currencyStr); } else if (Number(data.totalPrice) > 0) { price = "".concat(data.totalPrice, "\u5143"); } if (price) { price = "\uFF0C\u5408\u8BA1".concat(price); } return price; } return /*#__PURE__*/React.createElement("div", { className: classNames("".concat(prefix, "-order"), { suspend: suspend }), onClick: function onClick() { return onCardClick(); } }, /*#__PURE__*/React.createElement("div", { className: "".concat(prefix, "-order-info") }, /*#__PURE__*/React.createElement("div", { className: "".concat(prefix, "-order-info-img"), style: { background: "url(".concat(data.pic || fallbackImg, ") 0 0 / cover no-repeat") } }), /*#__PURE__*/React.createElement("div", { className: "".concat(prefix, "-order-info-right") }, /*#__PURE__*/React.createElement("div", { className: "".concat(prefix, "-order-info-title") }, /*#__PURE__*/React.createElement("div", { className: "one-line-text" }, "\u8BA2\u5355\u7F16\u53F7: ", data.orderSn), /*#__PURE__*/React.createElement(_Tooltip, { title: "\u590D\u5236" }, /*#__PURE__*/React.createElement(Icon, { type: "icon-fuzhi", onClick: function onClick(e) { e.stopPropagation(); e.preventDefault(); copyText(data.orderSn).then(function () { _message.success('复制成功'); }); } }))), data.applicationId === 7 ? null : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", { className: "".concat(prefix, "-order-info-price") }, "\u5171\u8BA1", data.itemCount || 0, "\u4EF6\u5546\u54C1", formatOrderPrice())), /*#__PURE__*/React.createElement("div", { className: "".concat(prefix, "-order-info-bottom") }, /*#__PURE__*/React.createElement("div", { className: "".concat(prefix, "-order-info-tags") }, Array.isArray(data.tagList) ? data.tagList.map(function (item, idx) { if (item.supplierType && cardTagMap[item.supplierType]) { return /*#__PURE__*/React.createElement(CardTag, _extends({}, cardTagMap[item.supplierType], { key: idx })); } else { return null; } }) : null), /*#__PURE__*/React.createElement("div", { className: "".concat(prefix, "-order-info-state") }, (_ref2 = data.state && ((_ORDER_STATUS_MAP$dat = ORDER_STATUS_MAP[data.state]) === null || _ORDER_STATUS_MAP$dat === void 0 ? void 0 : _ORDER_STATUS_MAP$dat.text)) !== null && _ref2 !== void 0 ? _ref2 : '')))), !suspend && !data.isCurrentSite && /*#__PURE__*/React.createElement("div", { className: "".concat(prefix, "-order-tip") }, /*#__PURE__*/React.createElement(ExclamationCircleOutlined, null), "\xA0 \u5F53\u524D\u8BA2\u5355\u5E76\u4E0D\u662F\u672C\u7AD9\u70B9\u5185\u8BA2\u5355\uFF0C\u8BF7\u6838\u5BF9\uFF01")); }; export default GoodsOrderCard;