@wufengteam/inputs
Version:
平台提供的右侧属性编辑器,需要在主工程中注册
158 lines • 7.06 kB
JavaScript
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
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, { useEffect, useState } from 'react';
import { Button, Tabs, Table } from 'antd';
import { LeftOutlined } from '@ant-design/icons';
import { cssPrefixCls } from '../../../utils';
import "./index.css";
import { SERVICE_KEY, TYPE_MAP } from '../../constant';
import { queryServiceReqAndRep } from '../../utils';
var TabPane = Tabs.TabPane;
var ServiceDetails = function ServiceDetails(props) {
var selectData = props.selectData,
closeParam = props.closeParam,
appId = props.appId,
tabKey = props.tabKey;
var _useState = useState('1'),
_useState2 = _slicedToArray(_useState, 2),
paramTabKey = _useState2[0],
setParamTabKey = _useState2[1];
var _useState3 = useState([]),
_useState4 = _slicedToArray(_useState3, 2),
request = _useState4[0],
setRequest = _useState4[1];
var _useState5 = useState([]),
_useState6 = _slicedToArray(_useState5, 2),
response = _useState6[0],
setResponse = _useState6[1];
var _useState7 = useState(false),
_useState8 = _slicedToArray(_useState7, 2),
dataLoading = _useState8[0],
setDataLoading = _useState8[1];
var queryServiceDetails = function queryServiceDetails() {
var params = {};
if (tabKey === SERVICE_KEY.RHIN) {
// 外部
params = {
busiApiId: selectData === null || selectData === void 0 ? void 0 : selectData.busiApiId,
productId: selectData === null || selectData === void 0 ? void 0 : selectData.productId,
appId: appId
};
} else if (tabKey === SERVICE_KEY.STD) {
// 编排类
params = {
serviceVersionId: selectData === null || selectData === void 0 ? void 0 : selectData.serviceVersionId,
version: 1
};
} else {
// sql \请求层
params = {
appServiceId: (selectData === null || selectData === void 0 ? void 0 : selectData.appServiceId) || (selectData === null || selectData === void 0 ? void 0 : selectData.serviceId),
appId: appId
};
}
setDataLoading(true);
queryServiceReqAndRep(tabKey, params).then(function (res) {
setDataLoading(false);
var reqData = res.reqData,
repData = res.repData;
if (reqData) {
setRequest(reqData);
}
if (repData) {
setResponse(repData);
}
});
};
useEffect(function () {
queryServiceDetails();
}, [JSON.stringify(selectData)]);
var renderType = function renderType(record) {
var type = (record === null || record === void 0 ? void 0 : record.type) || (record === null || record === void 0 ? void 0 : record.attrType);
if (type === 'array') {
if (record && (record === null || record === void 0 ? void 0 : record.children) && Array.isArray(record === null || record === void 0 ? void 0 : record.children) && (record === null || record === void 0 ? void 0 : record.children.length) > 0) {
if (_typeof(record === null || record === void 0 ? void 0 : record.children[0]) === 'object') {
type = 'objectArray';
}
}
}
return TYPE_MAP[type];
};
var columns = [{
title: '参数名称',
dataIndex: 'name',
width: 150,
key: 'name',
ellipsis: true,
render: function render(text, r) {
if (!text) {
return r === null || r === void 0 ? void 0 : r.code;
}
return text;
}
}, {
title: '参数编码',
dataIndex: 'code',
ellipsis: true
}, {
title: '参数类型',
dataIndex: 'type',
key: 'type',
width: 80,
render: function render(_, r) {
return renderType(r);
}
}];
return /*#__PURE__*/React.createElement("div", {
className: "".concat(cssPrefixCls, "-service-details")
}, /*#__PURE__*/React.createElement("div", {
className: "".concat(cssPrefixCls, "-paramBg"),
onClick: function onClick() {
return closeParam();
}
}), /*#__PURE__*/React.createElement("div", {
className: "".concat(cssPrefixCls, "-paramContent")
}, /*#__PURE__*/React.createElement("div", {
className: "".concat(cssPrefixCls, "-paramBack")
}, /*#__PURE__*/React.createElement(Button, {
onClick: function onClick() {
return closeParam();
},
type: "link",
icon: /*#__PURE__*/React.createElement(LeftOutlined, null)
}, "\u8FD4\u56DE")), /*#__PURE__*/React.createElement("div", {
className: "".concat(cssPrefixCls, "-paramList")
}, /*#__PURE__*/React.createElement(Tabs, {
activeKey: paramTabKey,
centered: true,
onChange: function onChange(key) {
setParamTabKey(key);
}
}, /*#__PURE__*/React.createElement(TabPane, {
tab: "\u8BF7\u6C42\u53C2\u6570",
key: "1"
}), /*#__PURE__*/React.createElement(TabPane, {
tab: "\uFF5C",
disabled: true
}), /*#__PURE__*/React.createElement(TabPane, {
tab: "\u54CD\u5E94\u53C2\u6570",
key: "2"
})), /*#__PURE__*/React.createElement(Table, {
scroll: {
y: 'calc(100% - 100px)'
},
rowKey: "code",
loading: dataLoading,
className: "".concat(cssPrefixCls, "-paramTable"),
size: "small",
pagination: false,
columns: columns,
dataSource: paramTabKey === '1' ? request : response
}))));
};
export default ServiceDetails;