ls-pro-common 1.0.27 → 1.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ import type { InputProps } from 'antd';
3
+ import type { ProFormItemProps } from 'ls-pro-form';
4
+ export declare type IconSelectorProps = ProFormItemProps<InputProps> & {
5
+ /** @name 图标类型 */
6
+ type: string;
7
+ /** @name 是否可上传,默认可上传 */
8
+ uploadable?: boolean;
9
+ /** @name 弹框title */
10
+ title?: string;
11
+ /** @name 弹框宽度 */
12
+ modalWidth?: string;
13
+ /**
14
+ * @name 最大值, 默认2M
15
+ */
16
+ maxSize?: number;
17
+ };
18
+ declare function IconSelector(prop: IconSelectorProps): JSX.Element;
19
+ export default IconSelector;
@@ -0,0 +1,293 @@
1
+ import "antd/es/modal/style";
2
+ import _Modal from "antd/es/modal";
3
+ import "antd/es/card/style";
4
+ import _Card from "antd/es/card";
5
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
6
+ import "antd/es/upload/style";
7
+ import _Upload from "antd/es/upload";
8
+ import "antd/es/button/style";
9
+ import _Button from "antd/es/button";
10
+ import "antd/es/input/style";
11
+ import _Input from "antd/es/input";
12
+ import _extends from "@babel/runtime/helpers/esm/extends";
13
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
14
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
15
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
16
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
17
+ var _excluded = ["type", "uploadable", "readonly", "allowClear", "title", "modalWidth", "name", "maxSize"];
18
+ import React from "react";
19
+ import { useMemo, useState, useEffect, useContext } from 'react';
20
+ import { ProFormText, ProFormContext } from 'ls-pro-form';
21
+ import { PlusOutlined, UploadOutlined } from '@ant-design/icons';
22
+ import { httpGet, httpPost } from '../http';
23
+ import { getCache, toGatewayUrl, showError, showWarn, showSuccess } from '../utils';
24
+ var fileCenter = getCache('file-center-api') || '/zuul/petrel-file-center-api/';
25
+ var pageSize = 16;
26
+
27
+ function IconSelector(prop) {
28
+ //@ts-ignore?
29
+ var _useContext = useContext(ProFormContext),
30
+ formRef = _useContext.formRef;
31
+
32
+ var _useState = useState(false),
33
+ _useState2 = _slicedToArray(_useState, 2),
34
+ visible = _useState2[0],
35
+ setVisible = _useState2[1];
36
+
37
+ var _useState3 = useState(''),
38
+ _useState4 = _slicedToArray(_useState3, 2),
39
+ imgUrl = _useState4[0],
40
+ setImgUrl = _useState4[1];
41
+
42
+ var _useState5 = useState(1),
43
+ _useState6 = _slicedToArray(_useState5, 2),
44
+ page = _useState6[0],
45
+ setPage = _useState6[1];
46
+
47
+ var _useState7 = useState(0),
48
+ _useState8 = _slicedToArray(_useState7, 2),
49
+ total = _useState8[0],
50
+ setTotal = _useState8[1];
51
+
52
+ var _useState9 = useState([]),
53
+ _useState10 = _slicedToArray(_useState9, 2),
54
+ list = _useState10[0],
55
+ setList = _useState10[1];
56
+
57
+ var type = prop.type,
58
+ _prop$uploadable = prop.uploadable,
59
+ uploadable = _prop$uploadable === void 0 ? true : _prop$uploadable,
60
+ _prop$readonly = prop.readonly,
61
+ readonly = _prop$readonly === void 0 ? true : _prop$readonly,
62
+ allowClear = prop.allowClear,
63
+ _prop$title = prop.title,
64
+ title = _prop$title === void 0 ? "选择图标" : _prop$title,
65
+ _prop$modalWidth = prop.modalWidth,
66
+ modalWidth = _prop$modalWidth === void 0 ? '600px' : _prop$modalWidth,
67
+ name = prop.name,
68
+ _prop$maxSize = prop.maxSize,
69
+ maxSize = _prop$maxSize === void 0 ? 2 : _prop$maxSize,
70
+ rest = _objectWithoutProperties(prop, _excluded);
71
+
72
+ var uploadImgApi = useMemo(function () {
73
+ return toGatewayUrl(fileCenter + 'file/upload/' + type);
74
+ }, [type]);
75
+ var showImgApi = useMemo(function () {
76
+ return fileCenter + 'file/show/' + type;
77
+ }, [type]);
78
+
79
+ var loadData = /*#__PURE__*/function () {
80
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(pageIndex) {
81
+ var url, param, result, rows;
82
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
83
+ while (1) {
84
+ switch (_context.prev = _context.next) {
85
+ case 0:
86
+ url = "/petrel-itg-api/sysMongo/page";
87
+ param = {
88
+ "search.status": 1,
89
+ "search.collectName": type,
90
+ "page.pn": pageIndex,
91
+ "page.size": pageSize
92
+ };
93
+ _context.next = 4;
94
+ return httpGet(url, param);
95
+
96
+ case 4:
97
+ result = _context.sent;
98
+ rows = result.rows || [];
99
+ setList(rows);
100
+ setTotal(result.total || 0);
101
+
102
+ case 8:
103
+ case "end":
104
+ return _context.stop();
105
+ }
106
+ }
107
+ }, _callee);
108
+ }));
109
+
110
+ return function loadData(_x) {
111
+ return _ref.apply(this, arguments);
112
+ };
113
+ }();
114
+
115
+ useEffect(function () {
116
+ if (!visible) return;
117
+ loadData(page);
118
+ }, [visible, page]);
119
+ var totalPage = useMemo(function () {
120
+ if (total === 0) return 1;
121
+ return Math.ceil(total / pageSize);
122
+ }, [total]); // 验证上传文件大小
123
+
124
+ var beforeUpload = function beforeUpload(file) {
125
+ var sizeLimit = file.size / 1024 / 1024 >= maxSize;
126
+
127
+ if (sizeLimit) {
128
+ showError("\u4E0A\u4F20\u7684\u6587\u4EF6\u4E0D\u80FD\u5927\u4E8E".concat(maxSize, "M"));
129
+ }
130
+
131
+ return !sizeLimit;
132
+ }; // 上传图片并调用 sysMongo 接口保存
133
+
134
+
135
+ var onUpload = function onUpload(info) {
136
+ if (info.file.status === 'done') {
137
+ var _result$flag;
138
+
139
+ var result = info.file.response;
140
+
141
+ if ((result === null || result === void 0 ? void 0 : (_result$flag = result.flag) === null || _result$flag === void 0 ? void 0 : _result$flag.retCode) === '0') {
142
+ var f = result.data[0];
143
+ var data = {
144
+ collectName: type,
145
+ mongoUrl: showImgApi + "/" + f.fileId,
146
+ mongoName: f.fileName || "",
147
+ remarks: "",
148
+ status: 1
149
+ };
150
+ var url = "/petrel/petrel-itg-api/sysMongo";
151
+ httpPost(url, data, true, false).then(function (res) {
152
+ if (res.flag.retCode === "0") {
153
+ showSuccess("上传成功");
154
+
155
+ if (page !== totalPage) {
156
+ setPage(totalPage);
157
+ } else {
158
+ loadData(totalPage);
159
+ }
160
+ } else {
161
+ showSuccess(result.flag.retMsg);
162
+ }
163
+ });
164
+ } else {
165
+ var _result$flag2;
166
+
167
+ showError((result === null || result === void 0 ? void 0 : (_result$flag2 = result.flag) === null || _result$flag2 === void 0 ? void 0 : _result$flag2.retMsg) || '上传图片失败,请联系管理员');
168
+ }
169
+ } else if (info.file.status === 'error') {
170
+ showError('上传数据失败,请联系管理员');
171
+ }
172
+ };
173
+
174
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ProFormText, _extends({
175
+ name: name
176
+ }, rest), /*#__PURE__*/React.createElement(_Input, _extends({
177
+ addonAfter: imgUrl ? /*#__PURE__*/React.createElement("img", {
178
+ style: {
179
+ maxWidth: 22,
180
+ maxHeight: 22
181
+ },
182
+ src: imgUrl,
183
+ onClick: function onClick() {
184
+ return setVisible(true);
185
+ }
186
+ }) : /*#__PURE__*/React.createElement(PlusOutlined, {
187
+ onClick: function onClick() {
188
+ return setVisible(true);
189
+ }
190
+ })
191
+ }, rest.fieldProps, {
192
+ readOnly: readonly,
193
+ allowClear: allowClear
194
+ }))), /*#__PURE__*/React.createElement(_Modal, {
195
+ title: title,
196
+ visible: visible,
197
+ width: modalWidth,
198
+ destroyOnClose: true,
199
+ onCancel: function onCancel() {
200
+ return setVisible(false);
201
+ },
202
+ bodyStyle: {
203
+ padding: 8
204
+ },
205
+ footer: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
206
+ style: {
207
+ display: 'inline-block',
208
+ marginRight: 8
209
+ }
210
+ }, /*#__PURE__*/React.createElement(_Upload, {
211
+ beforeUpload: beforeUpload,
212
+ onChange: onUpload,
213
+ action: uploadImgApi,
214
+ showUploadList: false,
215
+ name: "file",
216
+ maxCount: 1,
217
+ headers: {
218
+ token: localStorage.getItem('token') || ''
219
+ },
220
+ accept: ".png,.gif,.jpg,.jpeg,.bmp"
221
+ }, /*#__PURE__*/React.createElement(_Button, {
222
+ icon: /*#__PURE__*/React.createElement(UploadOutlined, null)
223
+ }, "\u4E0A\u4F20\u65B0\u56FE"))), /*#__PURE__*/React.createElement(_Button, {
224
+ disabled: page === 1,
225
+ onClick: function onClick() {
226
+ setPage(page - 1);
227
+ }
228
+ }, "\u4E0A\u4E00\u9875"), /*#__PURE__*/React.createElement("span", {
229
+ style: {
230
+ padding: 8
231
+ }
232
+ }, page, "/", totalPage), /*#__PURE__*/React.createElement(_Button, {
233
+ disabled: page === totalPage,
234
+ onClick: function onClick() {
235
+ setPage(page + 1);
236
+ }
237
+ }, "\u4E0B\u4E00\u9875"), /*#__PURE__*/React.createElement(_Button, {
238
+ onClick: function onClick() {
239
+ return loadData(page);
240
+ }
241
+ }, "\u5237\u65B0"))
242
+ }, list.map(function (o) {
243
+ return /*#__PURE__*/React.createElement(_Card, {
244
+ hoverable: true,
245
+ style: {
246
+ width: '125px',
247
+ height: '130px',
248
+ display: 'inline-block',
249
+ margin: '10px',
250
+ verticalAlign: 'middle'
251
+ },
252
+ bodyStyle: {
253
+ padding: '15px 8px',
254
+ textAlign: 'center'
255
+ },
256
+ onDoubleClick: function onDoubleClick() {
257
+ if (!name) {
258
+ showWarn('选择图标组件未设置name属性');
259
+ return;
260
+ }
261
+
262
+ var formVal = formRef.current.getFieldsValue();
263
+
264
+ var val = _objectSpread({}, formVal); //@ts-ignore
265
+
266
+
267
+ val[name] = o.mongoUrl;
268
+ formRef.current.setFieldsValue(val);
269
+ setImgUrl(toGatewayUrl(o.mongoUrl));
270
+ setVisible(false);
271
+ }
272
+ }, /*#__PURE__*/React.createElement("div", {
273
+ style: {
274
+ height: 80
275
+ }
276
+ }, /*#__PURE__*/React.createElement("img", {
277
+ title: o.mongoName,
278
+ style: {
279
+ maxWidth: '80px',
280
+ maxHeight: '80px'
281
+ },
282
+ src: toGatewayUrl(o.mongoUrl)
283
+ })), /*#__PURE__*/React.createElement("div", {
284
+ style: {
285
+ whiteSpace: 'nowrap',
286
+ textOverflow: 'ellipsis',
287
+ overflow: 'hidden'
288
+ }
289
+ }, o.mongoName));
290
+ })));
291
+ }
292
+
293
+ export default IconSelector;
package/es/index.d.ts CHANGED
@@ -2,6 +2,7 @@ import DtlLayout from './components/DtlLayout';
2
2
  import InputTable from './components/InputTable';
3
3
  import Page404 from './components/404';
4
4
  import Loading from './components/Loading';
5
+ import IconSelector from './components/IconSelector';
5
6
  import BaseService from './service/BaseService';
6
7
  import request, { httpGet, httpPut, httpPost, httpDelete, getDict, fetchOptions } from './http';
7
8
  import * as utils from './utils';
@@ -13,4 +14,4 @@ import usePermission from './hooks/usePermission';
13
14
  import type { ApiResponse, TableToolbar, BaseApiType, MethodType } from './typing';
14
15
  import type { DtlLyaoutProps } from './components/DtlLayout';
15
16
  export type { ApiResponse, TableToolbar, BaseApiType, MethodType, DtlLyaoutProps };
16
- export { DtlLayout, InputTable, Page404, Loading, BaseService, request, httpDelete, httpGet, httpPost, httpPut, getDict, fetchOptions, utils, useSingle, useDtl, usePermission };
17
+ export { DtlLayout, InputTable, Page404, Loading, IconSelector, BaseService, request, httpDelete, httpGet, httpPost, httpPut, getDict, fetchOptions, utils, useSingle, useDtl, usePermission };
package/es/index.js CHANGED
@@ -2,6 +2,7 @@ import DtlLayout from './components/DtlLayout';
2
2
  import InputTable from './components/InputTable';
3
3
  import Page404 from './components/404';
4
4
  import Loading from './components/Loading';
5
+ import IconSelector from './components/IconSelector';
5
6
  import BaseService from './service/BaseService';
6
7
  import request, { httpGet, httpPut, httpPost, httpDelete, getDict, fetchOptions } from './http';
7
8
  import * as utils from './utils';
@@ -10,4 +11,4 @@ import * as utils from './utils';
10
11
  import useSingle from './hooks/useSingle';
11
12
  import useDtl from './hooks/useDtl';
12
13
  import usePermission from './hooks/usePermission';
13
- export { DtlLayout, InputTable, Page404, Loading, BaseService, request, httpDelete, httpGet, httpPost, httpPut, getDict, fetchOptions, utils, useSingle, useDtl, usePermission };
14
+ export { DtlLayout, InputTable, Page404, Loading, IconSelector, BaseService, request, httpDelete, httpGet, httpPost, httpPut, getDict, fetchOptions, utils, useSingle, useDtl, usePermission };
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ import type { InputProps } from 'antd';
3
+ import type { ProFormItemProps } from 'ls-pro-form';
4
+ export declare type IconSelectorProps = ProFormItemProps<InputProps> & {
5
+ /** @name 图标类型 */
6
+ type: string;
7
+ /** @name 是否可上传,默认可上传 */
8
+ uploadable?: boolean;
9
+ /** @name 弹框title */
10
+ title?: string;
11
+ /** @name 弹框宽度 */
12
+ modalWidth?: string;
13
+ /**
14
+ * @name 最大值, 默认2M
15
+ */
16
+ maxSize?: number;
17
+ };
18
+ declare function IconSelector(prop: IconSelectorProps): JSX.Element;
19
+ export default IconSelector;
@@ -0,0 +1,322 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ require("antd/es/modal/style");
13
+
14
+ var _modal = _interopRequireDefault(require("antd/es/modal"));
15
+
16
+ require("antd/es/card/style");
17
+
18
+ var _card = _interopRequireDefault(require("antd/es/card"));
19
+
20
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
21
+
22
+ require("antd/es/upload/style");
23
+
24
+ var _upload = _interopRequireDefault(require("antd/es/upload"));
25
+
26
+ require("antd/es/button/style");
27
+
28
+ var _button = _interopRequireDefault(require("antd/es/button"));
29
+
30
+ require("antd/es/input/style");
31
+
32
+ var _input = _interopRequireDefault(require("antd/es/input"));
33
+
34
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
35
+
36
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
37
+
38
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
39
+
40
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
41
+
42
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
43
+
44
+ var _react = _interopRequireWildcard(require("react"));
45
+
46
+ var _lsProForm = require("ls-pro-form");
47
+
48
+ var _icons = require("@ant-design/icons");
49
+
50
+ var _http = require("../http");
51
+
52
+ var _utils = require("../utils");
53
+
54
+ var _excluded = ["type", "uploadable", "readonly", "allowClear", "title", "modalWidth", "name", "maxSize"];
55
+ var fileCenter = (0, _utils.getCache)('file-center-api') || '/zuul/petrel-file-center-api/';
56
+ var pageSize = 16;
57
+
58
+ function IconSelector(prop) {
59
+ //@ts-ignore?
60
+ var _useContext = (0, _react.useContext)(_lsProForm.ProFormContext),
61
+ formRef = _useContext.formRef;
62
+
63
+ var _useState = (0, _react.useState)(false),
64
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
65
+ visible = _useState2[0],
66
+ setVisible = _useState2[1];
67
+
68
+ var _useState3 = (0, _react.useState)(''),
69
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
70
+ imgUrl = _useState4[0],
71
+ setImgUrl = _useState4[1];
72
+
73
+ var _useState5 = (0, _react.useState)(1),
74
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
75
+ page = _useState6[0],
76
+ setPage = _useState6[1];
77
+
78
+ var _useState7 = (0, _react.useState)(0),
79
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
80
+ total = _useState8[0],
81
+ setTotal = _useState8[1];
82
+
83
+ var _useState9 = (0, _react.useState)([]),
84
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
85
+ list = _useState10[0],
86
+ setList = _useState10[1];
87
+
88
+ var type = prop.type,
89
+ _prop$uploadable = prop.uploadable,
90
+ uploadable = _prop$uploadable === void 0 ? true : _prop$uploadable,
91
+ _prop$readonly = prop.readonly,
92
+ readonly = _prop$readonly === void 0 ? true : _prop$readonly,
93
+ allowClear = prop.allowClear,
94
+ _prop$title = prop.title,
95
+ title = _prop$title === void 0 ? "选择图标" : _prop$title,
96
+ _prop$modalWidth = prop.modalWidth,
97
+ modalWidth = _prop$modalWidth === void 0 ? '600px' : _prop$modalWidth,
98
+ name = prop.name,
99
+ _prop$maxSize = prop.maxSize,
100
+ maxSize = _prop$maxSize === void 0 ? 2 : _prop$maxSize,
101
+ rest = (0, _objectWithoutProperties2.default)(prop, _excluded);
102
+ var uploadImgApi = (0, _react.useMemo)(function () {
103
+ return (0, _utils.toGatewayUrl)(fileCenter + 'file/upload/' + type);
104
+ }, [type]);
105
+ var showImgApi = (0, _react.useMemo)(function () {
106
+ return fileCenter + 'file/show/' + type;
107
+ }, [type]);
108
+
109
+ var loadData = /*#__PURE__*/function () {
110
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(pageIndex) {
111
+ var url, param, result, rows;
112
+ return _regenerator.default.wrap(function _callee$(_context) {
113
+ while (1) {
114
+ switch (_context.prev = _context.next) {
115
+ case 0:
116
+ url = "/petrel-itg-api/sysMongo/page";
117
+ param = {
118
+ "search.status": 1,
119
+ "search.collectName": type,
120
+ "page.pn": pageIndex,
121
+ "page.size": pageSize
122
+ };
123
+ _context.next = 4;
124
+ return (0, _http.httpGet)(url, param);
125
+
126
+ case 4:
127
+ result = _context.sent;
128
+ rows = result.rows || [];
129
+ setList(rows);
130
+ setTotal(result.total || 0);
131
+
132
+ case 8:
133
+ case "end":
134
+ return _context.stop();
135
+ }
136
+ }
137
+ }, _callee);
138
+ }));
139
+
140
+ return function loadData(_x) {
141
+ return _ref.apply(this, arguments);
142
+ };
143
+ }();
144
+
145
+ (0, _react.useEffect)(function () {
146
+ if (!visible) return;
147
+ loadData(page);
148
+ }, [visible, page]);
149
+ var totalPage = (0, _react.useMemo)(function () {
150
+ if (total === 0) return 1;
151
+ return Math.ceil(total / pageSize);
152
+ }, [total]); // 验证上传文件大小
153
+
154
+ var beforeUpload = function beforeUpload(file) {
155
+ var sizeLimit = file.size / 1024 / 1024 >= maxSize;
156
+
157
+ if (sizeLimit) {
158
+ (0, _utils.showError)("\u4E0A\u4F20\u7684\u6587\u4EF6\u4E0D\u80FD\u5927\u4E8E".concat(maxSize, "M"));
159
+ }
160
+
161
+ return !sizeLimit;
162
+ }; // 上传图片并调用 sysMongo 接口保存
163
+
164
+
165
+ var onUpload = function onUpload(info) {
166
+ if (info.file.status === 'done') {
167
+ var _result$flag;
168
+
169
+ var result = info.file.response;
170
+
171
+ if ((result === null || result === void 0 ? void 0 : (_result$flag = result.flag) === null || _result$flag === void 0 ? void 0 : _result$flag.retCode) === '0') {
172
+ var f = result.data[0];
173
+ var data = {
174
+ collectName: type,
175
+ mongoUrl: showImgApi + "/" + f.fileId,
176
+ mongoName: f.fileName || "",
177
+ remarks: "",
178
+ status: 1
179
+ };
180
+ var url = "/petrel/petrel-itg-api/sysMongo";
181
+ (0, _http.httpPost)(url, data, true, false).then(function (res) {
182
+ if (res.flag.retCode === "0") {
183
+ (0, _utils.showSuccess)("上传成功");
184
+
185
+ if (page !== totalPage) {
186
+ setPage(totalPage);
187
+ } else {
188
+ loadData(totalPage);
189
+ }
190
+ } else {
191
+ (0, _utils.showSuccess)(result.flag.retMsg);
192
+ }
193
+ });
194
+ } else {
195
+ var _result$flag2;
196
+
197
+ (0, _utils.showError)((result === null || result === void 0 ? void 0 : (_result$flag2 = result.flag) === null || _result$flag2 === void 0 ? void 0 : _result$flag2.retMsg) || '上传图片失败,请联系管理员');
198
+ }
199
+ } else if (info.file.status === 'error') {
200
+ (0, _utils.showError)('上传数据失败,请联系管理员');
201
+ }
202
+ };
203
+
204
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_lsProForm.ProFormText, (0, _extends2.default)({
205
+ name: name
206
+ }, rest), /*#__PURE__*/_react.default.createElement(_input.default, (0, _extends2.default)({
207
+ addonAfter: imgUrl ? /*#__PURE__*/_react.default.createElement("img", {
208
+ style: {
209
+ maxWidth: 22,
210
+ maxHeight: 22
211
+ },
212
+ src: imgUrl,
213
+ onClick: function onClick() {
214
+ return setVisible(true);
215
+ }
216
+ }) : /*#__PURE__*/_react.default.createElement(_icons.PlusOutlined, {
217
+ onClick: function onClick() {
218
+ return setVisible(true);
219
+ }
220
+ })
221
+ }, rest.fieldProps, {
222
+ readOnly: readonly,
223
+ allowClear: allowClear
224
+ }))), /*#__PURE__*/_react.default.createElement(_modal.default, {
225
+ title: title,
226
+ visible: visible,
227
+ width: modalWidth,
228
+ destroyOnClose: true,
229
+ onCancel: function onCancel() {
230
+ return setVisible(false);
231
+ },
232
+ bodyStyle: {
233
+ padding: 8
234
+ },
235
+ footer: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
236
+ style: {
237
+ display: 'inline-block',
238
+ marginRight: 8
239
+ }
240
+ }, /*#__PURE__*/_react.default.createElement(_upload.default, {
241
+ beforeUpload: beforeUpload,
242
+ onChange: onUpload,
243
+ action: uploadImgApi,
244
+ showUploadList: false,
245
+ name: "file",
246
+ maxCount: 1,
247
+ headers: {
248
+ token: localStorage.getItem('token') || ''
249
+ },
250
+ accept: ".png,.gif,.jpg,.jpeg,.bmp"
251
+ }, /*#__PURE__*/_react.default.createElement(_button.default, {
252
+ icon: /*#__PURE__*/_react.default.createElement(_icons.UploadOutlined, null)
253
+ }, "\u4E0A\u4F20\u65B0\u56FE"))), /*#__PURE__*/_react.default.createElement(_button.default, {
254
+ disabled: page === 1,
255
+ onClick: function onClick() {
256
+ setPage(page - 1);
257
+ }
258
+ }, "\u4E0A\u4E00\u9875"), /*#__PURE__*/_react.default.createElement("span", {
259
+ style: {
260
+ padding: 8
261
+ }
262
+ }, page, "/", totalPage), /*#__PURE__*/_react.default.createElement(_button.default, {
263
+ disabled: page === totalPage,
264
+ onClick: function onClick() {
265
+ setPage(page + 1);
266
+ }
267
+ }, "\u4E0B\u4E00\u9875"), /*#__PURE__*/_react.default.createElement(_button.default, {
268
+ onClick: function onClick() {
269
+ return loadData(page);
270
+ }
271
+ }, "\u5237\u65B0"))
272
+ }, list.map(function (o) {
273
+ return /*#__PURE__*/_react.default.createElement(_card.default, {
274
+ hoverable: true,
275
+ style: {
276
+ width: '125px',
277
+ height: '130px',
278
+ display: 'inline-block',
279
+ margin: '10px',
280
+ verticalAlign: 'middle'
281
+ },
282
+ bodyStyle: {
283
+ padding: '15px 8px',
284
+ textAlign: 'center'
285
+ },
286
+ onDoubleClick: function onDoubleClick() {
287
+ if (!name) {
288
+ (0, _utils.showWarn)('选择图标组件未设置name属性');
289
+ return;
290
+ }
291
+
292
+ var formVal = formRef.current.getFieldsValue();
293
+ var val = (0, _objectSpread2.default)({}, formVal); //@ts-ignore
294
+
295
+ val[name] = o.mongoUrl;
296
+ formRef.current.setFieldsValue(val);
297
+ setImgUrl((0, _utils.toGatewayUrl)(o.mongoUrl));
298
+ setVisible(false);
299
+ }
300
+ }, /*#__PURE__*/_react.default.createElement("div", {
301
+ style: {
302
+ height: 80
303
+ }
304
+ }, /*#__PURE__*/_react.default.createElement("img", {
305
+ title: o.mongoName,
306
+ style: {
307
+ maxWidth: '80px',
308
+ maxHeight: '80px'
309
+ },
310
+ src: (0, _utils.toGatewayUrl)(o.mongoUrl)
311
+ })), /*#__PURE__*/_react.default.createElement("div", {
312
+ style: {
313
+ whiteSpace: 'nowrap',
314
+ textOverflow: 'ellipsis',
315
+ overflow: 'hidden'
316
+ }
317
+ }, o.mongoName));
318
+ })));
319
+ }
320
+
321
+ var _default = IconSelector;
322
+ exports.default = _default;