ls-pro-common 1.0.0
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.
- package/CHANGELOG.md +746 -0
- package/README.md +23 -0
- package/dist/common.js +2 -0
- package/dist/common.js.LICENSE.txt +29 -0
- package/dist/common.less +0 -0
- package/dist/common.min.js +2 -0
- package/dist/common.min.js.LICENSE.txt +29 -0
- package/es/components/EditModalForm.d.ts +7 -0
- package/es/components/EditModalForm.js +29 -0
- package/es/hooks/useSingle/index.d.ts +29 -0
- package/es/hooks/useSingle/index.js +267 -0
- package/es/http/index.d.ts +47 -0
- package/es/http/index.js +306 -0
- package/es/index.d.ts +10 -0
- package/es/index.js +8 -0
- package/es/service/BaseService.d.ts +15 -0
- package/es/service/BaseService.js +202 -0
- package/es/typing.d.ts +43 -0
- package/es/typing.js +1 -0
- package/es/utils/index.d.ts +80 -0
- package/es/utils/index.js +205 -0
- package/lib/components/EditModalForm.d.ts +7 -0
- package/lib/components/EditModalForm.js +42 -0
- package/lib/hooks/useSingle/index.d.ts +29 -0
- package/lib/hooks/useSingle/index.js +288 -0
- package/lib/http/index.d.ts +47 -0
- package/lib/http/index.js +331 -0
- package/lib/index.d.ts +10 -0
- package/lib/index.js +82 -0
- package/lib/service/BaseService.d.ts +15 -0
- package/lib/service/BaseService.js +216 -0
- package/lib/typing.d.ts +43 -0
- package/lib/typing.js +5 -0
- package/lib/utils/index.d.ts +80 -0
- package/lib/utils/index.js +264 -0
- package/package.json +48 -0
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import "antd/es/modal/style";
|
|
2
|
+
import _Modal from "antd/es/modal";
|
|
3
|
+
import "antd/es/message/style";
|
|
4
|
+
import _message from "antd/es/message";
|
|
5
|
+
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
|
6
|
+
import React from "react";
|
|
7
|
+
import { QuestionCircleOutlined } from '@ant-design/icons';
|
|
8
|
+
export var getUrlQuery = function getUrlQuery(name) {
|
|
9
|
+
var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : location.search.substr(1) || '';
|
|
10
|
+
var reg = new RegExp('(^|[&|?])' + name + '=([^&]*)(&|$)'),
|
|
11
|
+
r = url.match(reg);
|
|
12
|
+
if (r != null) return unescape(decodeURI(r[2]));
|
|
13
|
+
return '';
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* 设置url传参
|
|
17
|
+
* @param {*} url
|
|
18
|
+
* @param {*} keyvals
|
|
19
|
+
* @returns
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
export var setUrlQuery = function setUrlQuery(url) {
|
|
23
|
+
var keyvals = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
24
|
+
var newUrl = url;
|
|
25
|
+
|
|
26
|
+
for (var name in keyvals) {
|
|
27
|
+
var reg = new RegExp('(^|)' + name + '=([^&]*)(|$)');
|
|
28
|
+
var tmp = name + '=' + keyvals[name];
|
|
29
|
+
|
|
30
|
+
if (newUrl.match(reg) != null) {
|
|
31
|
+
// @ts-ignore
|
|
32
|
+
newUrl = newUrl.replace(eval(reg), tmp);
|
|
33
|
+
} else {
|
|
34
|
+
newUrl = newUrl + (newUrl.match('[\?]') ? '&' : '?') + tmp;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return newUrl;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* 设置文档title
|
|
42
|
+
* @param {*} title
|
|
43
|
+
* @returns
|
|
44
|
+
*/
|
|
45
|
+
|
|
46
|
+
export var setTitle = function setTitle(title) {
|
|
47
|
+
if (!title) return;
|
|
48
|
+
title = title.length > 10 ? title.substring(0, 10) + '...' : title;
|
|
49
|
+
document.title = title;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* 获取Cookie
|
|
53
|
+
* @param {String} name cookie名
|
|
54
|
+
* @returns
|
|
55
|
+
*/
|
|
56
|
+
|
|
57
|
+
export var getCookie = function getCookie(name) {
|
|
58
|
+
var arr,
|
|
59
|
+
reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
|
|
60
|
+
if (arr = document.cookie.match(reg)) return arr[2];else return null;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* 设置Cookie
|
|
64
|
+
* @param {*} key Cookie名称
|
|
65
|
+
* @param {*} value Cookie 值
|
|
66
|
+
* @param { Number } day 有效天数 默认1天,
|
|
67
|
+
*/
|
|
68
|
+
|
|
69
|
+
export var setCookie = function setCookie(key, value) {
|
|
70
|
+
var day = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
71
|
+
|
|
72
|
+
if (day !== 0) {
|
|
73
|
+
var d = new Date(Date.now() + day * 24 * 60 * 60 * 1000);
|
|
74
|
+
document.cookie = "".concat(key, "=").concat(value, ";expires=").concat(d.toUTCString(), ";path=/");
|
|
75
|
+
} else {
|
|
76
|
+
document.cookie = key + "=;path=/";
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* 判断是否登录
|
|
81
|
+
* @returns
|
|
82
|
+
*/
|
|
83
|
+
|
|
84
|
+
export var isLogin = function isLogin() {
|
|
85
|
+
return !!getCookie('token');
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* 设置本地缓存
|
|
89
|
+
* @param { String } key 关键字
|
|
90
|
+
* @param { Object } data 值
|
|
91
|
+
*/
|
|
92
|
+
|
|
93
|
+
export var setCache = function setCache(key, data) {
|
|
94
|
+
if (_typeof(data) === 'object') {
|
|
95
|
+
data = JSON.stringify(data);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
localStorage.setItem(key, data);
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* 读取本地缓存
|
|
102
|
+
* @param { String } key 关键字
|
|
103
|
+
* @returns 关键字对应的值
|
|
104
|
+
*/
|
|
105
|
+
|
|
106
|
+
export var getCache = function getCache(key) {
|
|
107
|
+
var data = localStorage.getItem(key);
|
|
108
|
+
|
|
109
|
+
if (data && (data.startsWith('{') || data.startsWith('['))) {
|
|
110
|
+
data = JSON.parse(data);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
return data;
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* 简单日期格式化
|
|
117
|
+
* @param {*} dt 传入时间参数,若不传取当前时间
|
|
118
|
+
* @param {*} showTime 是否返回当前时间,默认返回时间
|
|
119
|
+
* @returns xxxx年-xx月-xx日 [xx时:xx分:xx秒]
|
|
120
|
+
*/
|
|
121
|
+
|
|
122
|
+
export var dateFormat = function dateFormat(dt) {
|
|
123
|
+
var showTime = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
124
|
+
var ct = dt ? dt : new Date(Date.now());
|
|
125
|
+
var str = ct.getFullYear() + '-' + ('' + (ct.getMonth() + 1)).padStart(2, '0') + '-' + ('' + ct.getDate()).padStart(2, '0');
|
|
126
|
+
|
|
127
|
+
if (showTime) {
|
|
128
|
+
str += ' ' + (ct.getHours() + '').padStart(2, '0') + ':' + (ct.getMinutes() + '').padStart(2, '0') + ":" + (ct.getSeconds() + '').padStart(2, '0');
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
return str;
|
|
132
|
+
};
|
|
133
|
+
/** @name 显示错误 */
|
|
134
|
+
|
|
135
|
+
export var showError = function showError(text) {
|
|
136
|
+
_message.error(text);
|
|
137
|
+
};
|
|
138
|
+
/** @name 显示警示 */
|
|
139
|
+
|
|
140
|
+
export var showWarn = function showWarn(text) {
|
|
141
|
+
_message.warn(text);
|
|
142
|
+
};
|
|
143
|
+
/** @name 显示成功 */
|
|
144
|
+
|
|
145
|
+
export var showSuccess = function showSuccess(text) {
|
|
146
|
+
_message.success(text);
|
|
147
|
+
};
|
|
148
|
+
/** @name 显示确认 */
|
|
149
|
+
|
|
150
|
+
export var showConfirm = function showConfirm(text) {
|
|
151
|
+
var title = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '系统提示';
|
|
152
|
+
return new Promise(function (resolve, reject) {
|
|
153
|
+
_Modal.confirm({
|
|
154
|
+
title: title,
|
|
155
|
+
content: text,
|
|
156
|
+
icon: /*#__PURE__*/React.createElement(QuestionCircleOutlined, null),
|
|
157
|
+
okType: 'danger',
|
|
158
|
+
closable: true,
|
|
159
|
+
onOk: function onOk() {
|
|
160
|
+
resolve(true);
|
|
161
|
+
},
|
|
162
|
+
onCancel: function onCancel() {
|
|
163
|
+
reject(false);
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
};
|
|
168
|
+
/**
|
|
169
|
+
* 日期组选择转换
|
|
170
|
+
* @param values 选择的值
|
|
171
|
+
* @param startField 第一个字段
|
|
172
|
+
* @param endField 第二个字段
|
|
173
|
+
* @param endSuffix
|
|
174
|
+
* @returns
|
|
175
|
+
*/
|
|
176
|
+
|
|
177
|
+
export var rangeToSearch = function rangeToSearch(values, startField, endField) {
|
|
178
|
+
var endSuffix = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
|
|
179
|
+
var data = {};
|
|
180
|
+
Array.isArray(values) && values[0] && (data[startField] = values[0]);
|
|
181
|
+
Array.isArray(values) && values[1] && (data[endField] = values[1] + endSuffix);
|
|
182
|
+
return data;
|
|
183
|
+
};
|
|
184
|
+
/** @name 状态列表 */
|
|
185
|
+
|
|
186
|
+
export var statusList = [{
|
|
187
|
+
value: 1,
|
|
188
|
+
text: '启用',
|
|
189
|
+
label: '1→启用'
|
|
190
|
+
}, {
|
|
191
|
+
value: 0,
|
|
192
|
+
text: '禁用',
|
|
193
|
+
label: '0→禁用'
|
|
194
|
+
}];
|
|
195
|
+
/** @name 是否列表 */
|
|
196
|
+
|
|
197
|
+
export var yesnoList = [{
|
|
198
|
+
value: 1,
|
|
199
|
+
text: '是',
|
|
200
|
+
label: '1→是'
|
|
201
|
+
}, {
|
|
202
|
+
value: 0,
|
|
203
|
+
text: '否',
|
|
204
|
+
label: '0→否'
|
|
205
|
+
}];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { ModalFormProps } from 'ls-pro-form';
|
|
3
|
+
export declare type EditModalFormProps<T = Record<string, any>> = ModalFormProps & {
|
|
4
|
+
labelWidth: number | undefined;
|
|
5
|
+
};
|
|
6
|
+
declare function EditModalForm<T = Record<string, any>>({ labelWidth, ...rest }: EditModalFormProps<T>): JSX.Element;
|
|
7
|
+
export default EditModalForm;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
|
+
|
|
12
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
|
+
|
|
16
|
+
var _lsProForm = require("ls-pro-form");
|
|
17
|
+
|
|
18
|
+
var _excluded = ["labelWidth"];
|
|
19
|
+
|
|
20
|
+
function EditModalForm(_ref) {
|
|
21
|
+
var labelWidth = _ref.labelWidth,
|
|
22
|
+
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
23
|
+
var defProps = (0, _objectSpread2.default)({
|
|
24
|
+
layout: 'horizontal'
|
|
25
|
+
}, rest);
|
|
26
|
+
|
|
27
|
+
if (labelWidth) {
|
|
28
|
+
defProps.labelCol = {
|
|
29
|
+
flex: "0 0 ".concat(labelWidth, "px")
|
|
30
|
+
};
|
|
31
|
+
defProps.wrapperCol = {
|
|
32
|
+
style: {
|
|
33
|
+
maxWidth: 'calc(100% - 100px)'
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, rest.visible ? /*#__PURE__*/_react.default.createElement(_lsProForm.ModalForm, defProps) : null);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
var _default = EditModalForm;
|
|
42
|
+
exports.default = _default;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { TableToolbar } from '../../typing';
|
|
2
|
+
interface ActionType {
|
|
3
|
+
reload: (resetPageIndex?: boolean) => void;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* 单表基本增删改查 hooks
|
|
7
|
+
* @param service 单表服务
|
|
8
|
+
* @param toolbar 定义基础功能按钮
|
|
9
|
+
* @param initItem 对象初始值,新增时设置默认值
|
|
10
|
+
* @param onBeforeSave 保存之前方法,开放给每个模块重写
|
|
11
|
+
* @param onBeforeRemove 删除之前方法,开放给每个模块重写
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
declare function useSingle(service: any, toolbar?: TableToolbar, initItem?: any, beforeSave?: Function, beforeRemove?: Function): {
|
|
15
|
+
tableRef: import("react").MutableRefObject<ActionType | undefined>;
|
|
16
|
+
selectRows: any;
|
|
17
|
+
showEdit: boolean;
|
|
18
|
+
editItem: any;
|
|
19
|
+
baseToolBar: JSX.Element[];
|
|
20
|
+
setSelectedRows: import("react").Dispatch<any>;
|
|
21
|
+
setShowEdit: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
22
|
+
setEditItem: import("react").Dispatch<any>;
|
|
23
|
+
onRemove: () => void;
|
|
24
|
+
onSave: (formData: any) => Promise<boolean>;
|
|
25
|
+
onLoad: (params: Record<string, any>, sort: Record<string, any>, filter: Record<string, any>) => Promise<any>;
|
|
26
|
+
onAdd: () => void;
|
|
27
|
+
onEdit: () => void;
|
|
28
|
+
};
|
|
29
|
+
export default useSingle;
|
|
@@ -0,0 +1,288 @@
|
|
|
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/button/style");
|
|
13
|
+
|
|
14
|
+
var _button = _interopRequireDefault(require("antd/es/button"));
|
|
15
|
+
|
|
16
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
17
|
+
|
|
18
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
19
|
+
|
|
20
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
21
|
+
|
|
22
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
23
|
+
|
|
24
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
25
|
+
|
|
26
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
27
|
+
|
|
28
|
+
var _icons = require("@ant-design/icons");
|
|
29
|
+
|
|
30
|
+
var _utils = require("../../utils");
|
|
31
|
+
|
|
32
|
+
var _excluded = ["current", "pageSize"];
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* 单表基本增删改查 hooks
|
|
36
|
+
* @param service 单表服务
|
|
37
|
+
* @param toolbar 定义基础功能按钮
|
|
38
|
+
* @param initItem 对象初始值,新增时设置默认值
|
|
39
|
+
* @param onBeforeSave 保存之前方法,开放给每个模块重写
|
|
40
|
+
* @param onBeforeRemove 删除之前方法,开放给每个模块重写
|
|
41
|
+
* @returns
|
|
42
|
+
*/
|
|
43
|
+
function useSingle(service, toolbar, initItem, beforeSave, beforeRemove) {
|
|
44
|
+
/** 选中行数据 */
|
|
45
|
+
var _useState = (0, _react.useState)([]),
|
|
46
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
47
|
+
selectRows = _useState2[0],
|
|
48
|
+
setSelectedRows = _useState2[1];
|
|
49
|
+
/** 显示新增编辑框 */
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
var _useState3 = (0, _react.useState)(false),
|
|
53
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
54
|
+
showEdit = _useState4[0],
|
|
55
|
+
setShowEdit = _useState4[1];
|
|
56
|
+
/** 新增或编辑对象初始值 */
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
var _useState5 = (0, _react.useState)(initItem),
|
|
60
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
61
|
+
editItem = _useState6[0],
|
|
62
|
+
setEditItem = _useState6[1];
|
|
63
|
+
/** 表格ref */
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
var tableRef = (0, _react.useRef)();
|
|
67
|
+
/** 新增按钮事件 */
|
|
68
|
+
|
|
69
|
+
var onAdd = function onAdd() {
|
|
70
|
+
setEditItem(initItem);
|
|
71
|
+
setShowEdit(true);
|
|
72
|
+
};
|
|
73
|
+
/** 编辑按钮事件 */
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
var onEdit = function onEdit() {
|
|
77
|
+
if (!selectRows.length) {
|
|
78
|
+
(0, _utils.showWarn)('请先选择需要更改的数据');
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
setEditItem(selectRows[0]);
|
|
83
|
+
setShowEdit(true);
|
|
84
|
+
};
|
|
85
|
+
/** 删除按钮事件 */
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
var onRemove = function onRemove() {
|
|
89
|
+
if (!selectRows.length) {
|
|
90
|
+
(0, _utils.showWarn)('请选择需要删除的数据');
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
(0, _utils.showConfirm)('确认要删除选择的数据?').then(function () {
|
|
95
|
+
var ids = selectRows.map(function (o) {
|
|
96
|
+
return o.id;
|
|
97
|
+
});
|
|
98
|
+
service.remove(ids).then(function (result) {
|
|
99
|
+
var _result$flag;
|
|
100
|
+
|
|
101
|
+
if ((result === null || result === void 0 ? void 0 : (_result$flag = result.flag) === null || _result$flag === void 0 ? void 0 : _result$flag.retCode) === '0') {
|
|
102
|
+
(0, _utils.showSuccess)(result.flag.retMsg);
|
|
103
|
+
|
|
104
|
+
if (tableRef.current) {
|
|
105
|
+
tableRef.current.reload(false);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
/** 新增,更改对应的保存事件 */
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
var onSave = /*#__PURE__*/function () {
|
|
115
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(formData) {
|
|
116
|
+
var _result$flag2;
|
|
117
|
+
|
|
118
|
+
var data, result;
|
|
119
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
120
|
+
while (1) {
|
|
121
|
+
switch (_context.prev = _context.next) {
|
|
122
|
+
case 0:
|
|
123
|
+
data = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, initItem), formData);
|
|
124
|
+
_context.t0 = beforeSave;
|
|
125
|
+
|
|
126
|
+
if (!_context.t0) {
|
|
127
|
+
_context.next = 7;
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
_context.next = 5;
|
|
132
|
+
return beforeSave(data);
|
|
133
|
+
|
|
134
|
+
case 5:
|
|
135
|
+
_context.t1 = _context.sent;
|
|
136
|
+
_context.t0 = _context.t1 === false;
|
|
137
|
+
|
|
138
|
+
case 7:
|
|
139
|
+
if (!_context.t0) {
|
|
140
|
+
_context.next = 9;
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
return _context.abrupt("return", false);
|
|
145
|
+
|
|
146
|
+
case 9:
|
|
147
|
+
_context.next = 11;
|
|
148
|
+
return service.save(data);
|
|
149
|
+
|
|
150
|
+
case 11:
|
|
151
|
+
result = _context.sent;
|
|
152
|
+
|
|
153
|
+
if (!((result === null || result === void 0 ? void 0 : (_result$flag2 = result.flag) === null || _result$flag2 === void 0 ? void 0 : _result$flag2.retCode) === '0')) {
|
|
154
|
+
_context.next = 16;
|
|
155
|
+
break;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
(0, _utils.showSuccess)(result.flag.retMsg);
|
|
159
|
+
|
|
160
|
+
if (tableRef.current) {
|
|
161
|
+
tableRef.current.reload(false);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
return _context.abrupt("return", true);
|
|
165
|
+
|
|
166
|
+
case 16:
|
|
167
|
+
return _context.abrupt("return", false);
|
|
168
|
+
|
|
169
|
+
case 17:
|
|
170
|
+
case "end":
|
|
171
|
+
return _context.stop();
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}, _callee);
|
|
175
|
+
}));
|
|
176
|
+
|
|
177
|
+
return function onSave(_x) {
|
|
178
|
+
return _ref.apply(this, arguments);
|
|
179
|
+
};
|
|
180
|
+
}();
|
|
181
|
+
/** 加载数据方法 */
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
var onLoad = /*#__PURE__*/function () {
|
|
185
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(params, sort, filter) {
|
|
186
|
+
var current, pageSize, rest, param, result;
|
|
187
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
188
|
+
while (1) {
|
|
189
|
+
switch (_context2.prev = _context2.next) {
|
|
190
|
+
case 0:
|
|
191
|
+
current = params.current, pageSize = params.pageSize, rest = (0, _objectWithoutProperties2.default)(params, _excluded);
|
|
192
|
+
param = {};
|
|
193
|
+
|
|
194
|
+
if (current) {
|
|
195
|
+
param.page = current;
|
|
196
|
+
param.pageSize = pageSize;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
if (Object.keys(rest).length) {
|
|
200
|
+
param.where = rest;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
console.log("useSingle", param, sort, filter);
|
|
204
|
+
_context2.next = 7;
|
|
205
|
+
return service.load(param);
|
|
206
|
+
|
|
207
|
+
case 7:
|
|
208
|
+
result = _context2.sent;
|
|
209
|
+
result.data = result.rows;
|
|
210
|
+
result.success = true;
|
|
211
|
+
return _context2.abrupt("return", result);
|
|
212
|
+
|
|
213
|
+
case 11:
|
|
214
|
+
case "end":
|
|
215
|
+
return _context2.stop();
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}, _callee2);
|
|
219
|
+
}));
|
|
220
|
+
|
|
221
|
+
return function onLoad(_x2, _x3, _x4) {
|
|
222
|
+
return _ref2.apply(this, arguments);
|
|
223
|
+
};
|
|
224
|
+
}();
|
|
225
|
+
|
|
226
|
+
var baseToolBar = [];
|
|
227
|
+
|
|
228
|
+
if (toolbar === null || toolbar === void 0 ? void 0 : toolbar.add) {
|
|
229
|
+
baseToolBar.push( /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
230
|
+
key: "add",
|
|
231
|
+
onClick: onAdd,
|
|
232
|
+
icon: /*#__PURE__*/_react.default.createElement(_icons.PlusOutlined, null)
|
|
233
|
+
}, "\u65B0\u589E"));
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
if (toolbar === null || toolbar === void 0 ? void 0 : toolbar.edit) {
|
|
237
|
+
baseToolBar.push( /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
238
|
+
key: "edit",
|
|
239
|
+
disabled: selectRows.length === 0,
|
|
240
|
+
onClick: onEdit,
|
|
241
|
+
icon: /*#__PURE__*/_react.default.createElement(_icons.EditOutlined, null)
|
|
242
|
+
}, "\u7F16\u8F91"));
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
if (toolbar === null || toolbar === void 0 ? void 0 : toolbar.remove) {
|
|
246
|
+
baseToolBar.push( /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
247
|
+
key: "remove",
|
|
248
|
+
onClick: onRemove,
|
|
249
|
+
danger: true,
|
|
250
|
+
disabled: selectRows.length === 0,
|
|
251
|
+
icon: /*#__PURE__*/_react.default.createElement(_icons.DeleteOutlined, null)
|
|
252
|
+
}, "\u5220\u9664"));
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
if (toolbar === null || toolbar === void 0 ? void 0 : toolbar.import) {
|
|
256
|
+
baseToolBar.push( /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
257
|
+
key: "import",
|
|
258
|
+
icon: /*#__PURE__*/_react.default.createElement(_icons.ImportOutlined, null)
|
|
259
|
+
}, "\u5BFC\u5165"));
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
if (toolbar === null || toolbar === void 0 ? void 0 : toolbar.export) {
|
|
263
|
+
baseToolBar.push( /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
264
|
+
key: "export",
|
|
265
|
+
icon: /*#__PURE__*/_react.default.createElement(_icons.ExportOutlined, null)
|
|
266
|
+
}, "\u5BFC\u51FA"));
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
return {
|
|
270
|
+
tableRef: tableRef,
|
|
271
|
+
selectRows: selectRows,
|
|
272
|
+
showEdit: showEdit,
|
|
273
|
+
editItem: editItem,
|
|
274
|
+
baseToolBar: baseToolBar,
|
|
275
|
+
setSelectedRows: setSelectedRows,
|
|
276
|
+
setShowEdit: setShowEdit,
|
|
277
|
+
setEditItem: setEditItem,
|
|
278
|
+
onRemove: onRemove,
|
|
279
|
+
onSave: onSave,
|
|
280
|
+
onLoad: onLoad,
|
|
281
|
+
onAdd: onAdd,
|
|
282
|
+
onEdit: onEdit
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
;
|
|
287
|
+
var _default = useSingle;
|
|
288
|
+
exports.default = _default;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
declare const request: import("umi-request").RequestMethod<false>;
|
|
2
|
+
/**
|
|
3
|
+
* get请求
|
|
4
|
+
* @param url 接口
|
|
5
|
+
* @param params 参数{key:value}
|
|
6
|
+
* @returns Promise<ApiResponse>
|
|
7
|
+
*/
|
|
8
|
+
export declare function httpGet(url: string, params?: Record<string, any>): Promise<any>;
|
|
9
|
+
/**
|
|
10
|
+
* post请求
|
|
11
|
+
* @param url 接口
|
|
12
|
+
* @param data 参数{key:value}
|
|
13
|
+
* @param isJson json请求还是form请求,默认为json请求
|
|
14
|
+
* @returns Promise<ApiResponse>
|
|
15
|
+
*/
|
|
16
|
+
export declare function httpPost(url: string, data?: Record<string, any>, isJson?: boolean): Promise<any>;
|
|
17
|
+
/**
|
|
18
|
+
* put 请求
|
|
19
|
+
* @param url 接口
|
|
20
|
+
* @param data 参数{key:value}
|
|
21
|
+
* @returns Promise<ApiResponse>
|
|
22
|
+
*/
|
|
23
|
+
export declare function httpPut(url: string, data?: Record<string, any>): Promise<any>;
|
|
24
|
+
/**
|
|
25
|
+
* delete 请求
|
|
26
|
+
* @param url 接口
|
|
27
|
+
* @param data 参数[]
|
|
28
|
+
* @returns Promise<ApiResponse>
|
|
29
|
+
*/
|
|
30
|
+
export declare function httpDelete(url: string, data: any): Promise<any>;
|
|
31
|
+
/**
|
|
32
|
+
* 读取数据字典
|
|
33
|
+
* @param dictCode 字典编码
|
|
34
|
+
* @returns Promise<Record<string,string>>
|
|
35
|
+
*/
|
|
36
|
+
export declare function getDict(dictCode: string): Promise<any>;
|
|
37
|
+
/**
|
|
38
|
+
* 加载下拉框的数据源
|
|
39
|
+
* @param url 后端接口
|
|
40
|
+
* @param param 请求参数
|
|
41
|
+
* @param valueField 值字段
|
|
42
|
+
* @param labelField 显示字段
|
|
43
|
+
* @param showValue 显示值
|
|
44
|
+
* @returns
|
|
45
|
+
*/
|
|
46
|
+
export declare function fetchOptions(url: string, param: any, valueField: string, labelField: string, showValue?: boolean): Promise<any>;
|
|
47
|
+
export default request;
|