ztxkui 4.2.23-612 → 4.2.23-613

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.
@@ -1,11 +1,50 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (_) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
1
37
  import i18next from 'ztxkutils/dist/i18next';
2
- import { useCallback, useEffect, useState, useMemo, useRef } from 'react';
38
+ import { useCallback, useContext, useEffect, useState, useMemo, useRef, } from 'react';
3
39
  import { message } from '../../../index.build';
40
+ import { ElectronSignaturesContext } from '..';
4
41
  /**
5
42
  * 获取电子印章远程数据
6
43
  */
7
44
  export default function useFetchElectronData(options) {
45
+ var _this = this;
8
46
  var request = options.request, needQys = options.needQys, deptId = options.deptId, secondDepId = options.secondDepId, flowId = options.flowId, records = options.records;
47
+ var isFilterLegalSeal = useContext(ElectronSignaturesContext).isFilterLegalSeal;
9
48
  // records里面是否有勾选了电子印章的数据
10
49
  var hasElectronMemo = useMemo(function () {
11
50
  var _a;
@@ -16,6 +55,26 @@ export default function useFetchElectronData(options) {
16
55
  var _a = useState(), electronList = _a[0], setElectronList = _a[1];
17
56
  // 一级责任人数据
18
57
  var _b = useState(), firstLevelPersonName = _b[0], setFirstLevelPersonName = _b[1];
58
+ // 获取流程下需要过滤掉的印章列表 开关关闭或失败时降级不过滤
59
+ var getFilterSealList = useCallback(function (flowId) {
60
+ if (!flowId || !request || !isFilterLegalSeal) {
61
+ return Promise.resolve([]);
62
+ }
63
+ return request({
64
+ url: '/api/zmdms-scm-system/legalsealflow/getSeal',
65
+ params: { flowId: flowId },
66
+ method: 'GET',
67
+ })
68
+ .then(function (res) {
69
+ if (res.status === 200 && res.data.code === 200) {
70
+ return res.data.data || [];
71
+ }
72
+ return [];
73
+ })
74
+ .catch(function () {
75
+ return [];
76
+ });
77
+ }, [request, isFilterLegalSeal]);
19
78
  // 获取电子印章信息 接口层必须传入部门id 和 流程id 才能获取到印章信息
20
79
  var getElectronList = useCallback(function (params) {
21
80
  var newParam = {
@@ -34,21 +93,33 @@ export default function useFetchElectronData(options) {
34
93
  url: '/api/zmdms-resource/flowdeptseal/select-seal-info-list',
35
94
  params: newParam,
36
95
  method: 'GET',
37
- }).then(function (res) {
96
+ }).then(function (res) { return __awaiter(_this, void 0, void 0, function () {
97
+ var sealInfoList, filterSealList, filterSealIds_1;
38
98
  var _a, _b, _c;
39
- if (res.status === 200 && res.data.code === 200) {
40
- return ((_c = (_b = (_a = res.data.data) === null || _a === void 0 ? void 0 : _a.records) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.sealInfoList) || [];
41
- }
42
- else {
43
- message.error(res.data.msg || i18next.t('出错了'));
44
- return Promise.reject(res);
45
- }
46
- }).catch(function (error) {
99
+ return __generator(this, function (_d) {
100
+ switch (_d.label) {
101
+ case 0:
102
+ if (!(res.status === 200 && res.data.code === 200)) return [3 /*break*/, 2];
103
+ sealInfoList = ((_c = (_b = (_a = res.data.data) === null || _a === void 0 ? void 0 : _a.records) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.sealInfoList) || [];
104
+ return [4 /*yield*/, getFilterSealList(params.flowId)];
105
+ case 1:
106
+ filterSealList = _d.sent();
107
+ if (filterSealList.length > 0) {
108
+ filterSealIds_1 = new Set(filterSealList.map(function (item) { return item.sealId + ''; }));
109
+ return [2 /*return*/, sealInfoList.filter(function (seal) { return !filterSealIds_1.has(seal.sealId + ''); })];
110
+ }
111
+ return [2 /*return*/, sealInfoList];
112
+ case 2:
113
+ message.error(res.data.msg || i18next.t('出错了'));
114
+ return [2 /*return*/, Promise.reject(res)];
115
+ }
116
+ });
117
+ }); }).catch(function (error) {
47
118
  var _a, _b;
48
119
  message.error(((_b = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.msg) || i18next.t('请求失败!'));
49
120
  return Promise.reject(error);
50
121
  });
51
- }, [request]);
122
+ }, [request, getFilterSealList]);
52
123
  // 获取一级责任人名字 通过部门
53
124
  var getFirstLevelPerson = useCallback(function (deptId) {
54
125
  return request({
@@ -7,6 +7,8 @@ interface IElectronSignaturesContext {
7
7
  isNewElectronSealStyle?: boolean;
8
8
  /** 群杰印章是否使用新版展示样式 */
9
9
  isNewQunjSealStyle?: boolean;
10
+ /** 是否启用流程印章过滤(legalsealflow/getSeal) */
11
+ isFilterLegalSeal?: boolean;
10
12
  }
11
13
  export declare const ElectronSignaturesContext: React.Context<IElectronSignaturesContext>;
12
14
  declare const _default: React.NamedExoticComponent<IElectronSignaturesProps>;
@@ -28,27 +28,36 @@ export var ElectronSignaturesContext = createContext({
28
28
  isQjVerifyCode: true,
29
29
  isNewElectronSealStyle: false,
30
30
  isNewQunjSealStyle: false,
31
+ isFilterLegalSeal: false,
31
32
  });
32
33
  /**
33
34
  * 容器组件,为了将context传递给组件,方便组件能快速访问到一些信息
34
35
  */
35
36
  var ElectronSignaturesWrap = function (props) {
36
- var _a, _b, _c, _d;
37
+ var _a, _b, _c, _d, _e, _f;
37
38
  // 这里未上线之前,都使用默认为false。不采用最新版本的修改
38
- var _e = props.isQjVerifyCode, isQjVerifyCode = _e === void 0 ? false : _e, _f = props.isNewQys, isNewQys = _f === void 0 ? false : _f, resetProps = __rest(props, ["isQjVerifyCode", "isNewQys"]);
39
+ var _g = props.isQjVerifyCode, isQjVerifyCode = _g === void 0 ? false : _g, _h = props.isNewQys, isNewQys = _h === void 0 ? false : _h, resetProps = __rest(props, ["isQjVerifyCode", "isNewQys"]);
39
40
  // 全局配置:组件 props 优先,未传时取全局 ZtxkContext 配置
40
- var _g = useBaseContext(), globalElectronSealStyle = _g.isNewElectronSealStyle, globalQunjSealStyle = _g.isNewQunjSealStyle;
41
+ var _j = useBaseContext(), globalElectronSealStyle = _j.isNewElectronSealStyle, globalQunjSealStyle = _j.isNewQunjSealStyle, globalFilterLegalSeal = _j.isFilterLegalSeal;
41
42
  var isNewElectronSealStyle = (_b = (_a = props.isNewElectronSealStyle) !== null && _a !== void 0 ? _a : globalElectronSealStyle) !== null && _b !== void 0 ? _b : false;
42
43
  var isNewQunjSealStyle = (_d = (_c = props.isNewQunjSealStyle) !== null && _c !== void 0 ? _c : globalQunjSealStyle) !== null && _d !== void 0 ? _d : false;
44
+ var isFilterLegalSeal = (_f = (_e = props.isFilterLegalSeal) !== null && _e !== void 0 ? _e : globalFilterLegalSeal) !== null && _f !== void 0 ? _f : false;
43
45
  var defaultContext = useMemo(function () {
44
46
  return {
45
47
  isNewQys: isNewQys,
46
48
  isQjVerifyCode: isQjVerifyCode,
47
49
  isNewElectronSealStyle: isNewElectronSealStyle,
48
50
  isNewQunjSealStyle: isNewQunjSealStyle,
51
+ isFilterLegalSeal: isFilterLegalSeal,
49
52
  };
50
- }, [isNewQys, isQjVerifyCode, isNewElectronSealStyle, isNewQunjSealStyle]);
53
+ }, [
54
+ isNewQys,
55
+ isQjVerifyCode,
56
+ isNewElectronSealStyle,
57
+ isNewQunjSealStyle,
58
+ isFilterLegalSeal,
59
+ ]);
51
60
  return (React.createElement(ElectronSignaturesContext.Provider, { value: defaultContext },
52
- React.createElement(ElectronSignatures, __assign({ isQjVerifyCode: isQjVerifyCode, isNewQys: isNewQys, isNewElectronSealStyle: isNewElectronSealStyle, isNewQunjSealStyle: isNewQunjSealStyle }, resetProps))));
61
+ React.createElement(ElectronSignatures, __assign({ isQjVerifyCode: isQjVerifyCode, isNewQys: isNewQys, isNewElectronSealStyle: isNewElectronSealStyle, isNewQunjSealStyle: isNewQunjSealStyle, isFilterLegalSeal: isFilterLegalSeal }, resetProps))));
53
62
  };
54
63
  export default memo(ElectronSignaturesWrap);
@@ -455,6 +455,11 @@ export interface IElectronSignaturesItemPublic {
455
455
  * 未传时取全局 ZtxkContext 中的 isNewQunjSealStyle
456
456
  */
457
457
  isNewQunjSealStyle?: boolean;
458
+ /**
459
+ * 是否启用流程印章过滤(调用 legalsealflow/getSeal 过滤电子印章列表)
460
+ * 未传时取全局 ZtxkContext 中的 isFilterLegalSeal,默认 false 不过滤
461
+ */
462
+ isFilterLegalSeal?: boolean;
458
463
  /**
459
464
  * 户用合同章显示的逻辑的控制
460
465
  */
@@ -129,6 +129,11 @@ export interface IZtxkConfig {
129
129
  * 电子印章公司标签切换方式:hover 悬浮切换(默认),click 点击切换
130
130
  */
131
131
  electronSealTabTrigger?: 'hover' | 'click';
132
+ /**
133
+ * 是否启用电子印章流程过滤(按流程调 legalsealflow/getSeal 过滤印章列表)
134
+ * 组件 props isFilterLegalSeal 优先于全局配置,默认 false 不过滤
135
+ */
136
+ isFilterLegalSeal?: boolean;
132
137
  }
133
138
  declare const ZtxkContext: React.Context<IZtxkConfig>;
134
139
  export default ZtxkContext;
@@ -31,6 +31,7 @@ var ztxkConfig = {
31
31
  isNewQunjSealStyle: false,
32
32
  qunjSealTabTrigger: 'hover',
33
33
  electronSealTabTrigger: 'hover',
34
+ isFilterLegalSeal: false,
34
35
  };
35
36
  main();
36
37
  var ZtxkContext = React.createContext(ztxkConfig);
@@ -41,5 +41,6 @@ export default function useBaseContext(): {
41
41
  isNewQunjSealStyle?: boolean;
42
42
  qunjSealTabTrigger?: "click" | "hover";
43
43
  electronSealTabTrigger?: "click" | "hover";
44
+ isFilterLegalSeal?: boolean;
44
45
  };
45
46
  export declare function useAntdContext(): import("antd/lib/config-provider").ConfigConsumerProps;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ztxkui",
3
- "version": "4.2.23-612",
3
+ "version": "4.2.23-613",
4
4
  "private": false,
5
5
  "description": "React components library",
6
6
  "author": "zt-front-end",
@@ -112,4 +112,4 @@
112
112
  "react-dom": ">=16.9.0",
113
113
  "ztxkutils": ">=2.1.1"
114
114
  }
115
- }
115
+ }