venus-design 1.0.53 → 1.0.55

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,4 +1,5 @@
1
1
  import qs from 'qs';
2
+ import { VenusFormGroupInterface, VenusFormItemInterface } from "..";
2
3
  export declare function thousandSeparator(num?: string): string;
3
4
  export declare function unitWanNum(num: number): string;
4
5
  export declare function tableUnitWanNum(num: number, isUnit?: boolean): string;
@@ -69,4 +70,6 @@ export declare const getDifyConfig: () => DifyConfig;
69
70
  */
70
71
  export declare const getDifyUserNames: () => string;
71
72
  export declare const onMnLoginDify: () => Promise<void>;
73
+ export declare function dfs(groups: VenusFormGroupInterface[], cb: (item: VenusFormItemInterface) => void): void;
74
+ export declare function deepClone<T>(obj: T): T;
72
75
  export {};
@@ -1,6 +1,6 @@
1
- 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); }
2
1
  import "antd/es/message/style";
3
2
  import _message from "antd/es/message";
3
+ 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); }
4
4
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
5
5
  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."); }
6
6
  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; } }
@@ -527,4 +527,45 @@ export var onMnLoginDify = /*#__PURE__*/function () {
527
527
  return function onMnLoginDify() {
528
528
  return _ref3.apply(this, arguments);
529
529
  };
530
- }();
530
+ }();
531
+
532
+ /* ------------ 深度优先遍历(全部节点) ------------ */
533
+ export function dfs(groups, cb) {
534
+ var _iterator7 = _createForOfIteratorHelper(groups),
535
+ _step7;
536
+ try {
537
+ for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
538
+ var g = _step7.value;
539
+ var _iterator8 = _createForOfIteratorHelper(g.attributeList),
540
+ _step8;
541
+ try {
542
+ for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
543
+ var _item = _step8.value;
544
+ cb(_item);
545
+ }
546
+ } catch (err) {
547
+ _iterator8.e(err);
548
+ } finally {
549
+ _iterator8.f();
550
+ }
551
+ }
552
+ } catch (err) {
553
+ _iterator7.e(err);
554
+ } finally {
555
+ _iterator7.f();
556
+ }
557
+ }
558
+
559
+ /* ------------ 深克隆 ------------ */
560
+ export function deepClone(obj) {
561
+ if (obj === null || _typeof(obj) !== 'object') return obj;
562
+ if (obj instanceof Date) return new Date(obj.getTime());
563
+ if (obj instanceof Array) return obj.map(deepClone);
564
+ var cloned = {};
565
+ for (var key in obj) {
566
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
567
+ cloned[key] = deepClone(obj[key]);
568
+ }
569
+ }
570
+ return cloned;
571
+ }
@@ -9,10 +9,11 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
9
9
  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; } }
10
10
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
11
  import { designFormData } from "../services";
12
- import React, { useEffect, useState } from "react";
13
- import { VenusDetail } from "../..";
12
+ import React, { useContext, useEffect, useRef, useState } from "react";
13
+ import { RefContext, VenusDetail } from "../..";
14
14
  var VenusDesignDetail = function VenusDesignDetail(props) {
15
15
  var url = props.item.modelClassName + "";
16
+ var detailRef = useRef(null);
16
17
  var _useState = useState(false),
17
18
  _useState2 = _slicedToArray(_useState, 2),
18
19
  loading = _useState2[0],
@@ -51,7 +52,19 @@ var VenusDesignDetail = function VenusDesignDetail(props) {
51
52
  getData();
52
53
  }
53
54
  }, []);
54
- return /*#__PURE__*/React.createElement(VenusDetail, {
55
+ var _useContext = useContext(RefContext),
56
+ register = _useContext.register;
57
+ useEffect(function () {
58
+ var bag = {
59
+ detailRef: detailRef
60
+ };
61
+ var unregister = register(bag);
62
+ return unregister;
63
+ }, [detailRef, register]);
64
+ return /*#__PURE__*/React.createElement(VenusDetail
65
+ //@ts-ignore
66
+ , {
67
+ ref: detailRef,
55
68
  loading: loading //加载中
56
69
  //reflushFlagNum={tag.reflushFlagNum||1}
57
70
  ,
@@ -1,3 +1,3 @@
1
1
  import React from "react";
2
- declare const VenusDesignForm: (props: any) => React.JSX.Element;
2
+ declare const VenusDesignForm: React.ForwardRefExoticComponent<Omit<any, "ref"> & React.RefAttributes<unknown>>;
3
3
  export default VenusDesignForm;
@@ -11,17 +11,35 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
11
11
  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; } }
12
12
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
13
  import { designFormData } from "../services";
14
- import { VenusForm } from "../..";
15
- import React, { useEffect, useState } from "react";
16
- var VenusDesignForm = function VenusDesignForm(props) {
14
+ import { VenusForm, RefContext } from "../..";
15
+ import React, { forwardRef, useContext, useEffect, useRef, useState } from "react";
16
+ var VenusDesignForm = /*#__PURE__*/forwardRef(function (props, ref) {
17
17
  var _Form$useForm = _Form.useForm(),
18
18
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
19
19
  form = _Form$useForm2[0]; //表单
20
20
  var url = props.item.modelClassName + "";
21
+ var formRef = useRef();
21
22
  var _useState = useState({}),
22
23
  _useState2 = _slicedToArray(_useState, 2),
23
24
  formData = _useState2[0],
24
25
  setFormData = _useState2[1];
26
+ var _useContext = useContext(RefContext),
27
+ register = _useContext.register;
28
+ useEffect(function () {
29
+ var bag = {
30
+ form: form,
31
+ formRef: formRef,
32
+ validate: function validate() {
33
+ return form.validateFields().then(function () {
34
+ return true;
35
+ }).catch(function () {
36
+ return false;
37
+ });
38
+ }
39
+ };
40
+ var unregister = register(bag);
41
+ return unregister;
42
+ }, [form, register]);
25
43
  var getData = /*#__PURE__*/function () {
26
44
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
27
45
  var res;
@@ -54,6 +72,7 @@ var VenusDesignForm = function VenusDesignForm(props) {
54
72
  submitNodeFlag: false,
55
73
  form: form //必传
56
74
  ,
75
+ ref: formRef,
57
76
  submitIng: false //必传 确认按钮加载
58
77
  //closeParentEdit={true} //当需要自己处理表单回显时设置为true
59
78
  ,
@@ -70,5 +89,5 @@ var VenusDesignForm = function VenusDesignForm(props) {
70
89
  ,
71
90
  dataSceneIid: props.item.sceneId //数据场景标识
72
91
  });
73
- };
92
+ });
74
93
  export default VenusDesignForm;
@@ -8,11 +8,12 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
8
8
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
9
9
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
10
10
  import { LoadingDesignTableData } from "../services";
11
- import React, { useRef } from "react";
12
- import { VenusTable } from "../..";
11
+ import React, { useContext, useEffect, useRef } from "react";
12
+ import { VenusTable, RefContext } from "../..";
13
13
  var VenusDesignTable = function VenusDesignTable(props) {
14
14
  var actionRef = useRef(); //表单的ref
15
15
  var url = props.item.modelClassName + "";
16
+ var tableRef = useRef();
16
17
  //加载数据
17
18
  var loadingData = /*#__PURE__*/function () {
18
19
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(params) {
@@ -77,9 +78,20 @@ var VenusDesignTable = function VenusDesignTable(props) {
77
78
  return _ref.apply(this, arguments);
78
79
  };
79
80
  }();
81
+ var _useContext = useContext(RefContext),
82
+ register = _useContext.register;
83
+ useEffect(function () {
84
+ var bag = {
85
+ actionRef: actionRef,
86
+ tableRef: tableRef
87
+ };
88
+ var unregister = register(bag);
89
+ return unregister;
90
+ }, [actionRef, register]);
80
91
  return /*#__PURE__*/React.createElement(VenusTable
81
92
  //@ts-ignore
82
93
  , {
94
+ ref: tableRef,
83
95
  actionRef: actionRef,
84
96
  request: props.conf.type != "view" ? loadingData : function () {} //加载数据
85
97
  ,
@@ -4,6 +4,7 @@ interface VenusDesignComType {
4
4
  id?: string;
5
5
  type?: "view" | "render";
6
6
  height?: any;
7
+ data?: any[];
7
8
  params?: any;
8
9
  }
9
10
  /**
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import { VenusFormRefInterface, VenusTableRef } from "..";
3
+ import { FormInstance } from "antd";
4
+ import { ActionType } from "@ant-design/pro-components";
5
+ export default interface InstanceBag {
6
+ form?: FormInstance;
7
+ formRef?: VenusFormRefInterface;
8
+ actionRef?: React.RefObject<ActionType | undefined>;
9
+ tableRef?: React.RefObject<VenusTableRef | undefined>;
10
+ detailRef?: React.RefObject<any>;
11
+ validate?: () => Promise<boolean>;
12
+ }
File without changes
@@ -1,4 +1,9 @@
1
+ import React from 'react';
2
+ import { InstanceBag } from "..";
1
3
  /**
2
4
  * 表单项的类型
3
5
  */
4
6
  export declare const VENUS_DESIGN_TYPE: any;
7
+ export declare const RefContext: React.Context<{
8
+ register: (bag: InstanceBag) => () => void;
9
+ }>;
@@ -30,4 +30,9 @@ export var VENUS_DESIGN_TYPE = {
30
30
  height: height
31
31
  });
32
32
  }
33
- };
33
+ };
34
+ export var RefContext = /*#__PURE__*/React.createContext({
35
+ register: function register() {
36
+ return function () {};
37
+ }
38
+ });
@@ -53,6 +53,9 @@ var handleColumnFnsics = function handleColumnFnsics(formColumns, type, disabled
53
53
  console.log();
54
54
  var columnList = [];
55
55
  for (var i = 0; i < formColumns.length; i++) {
56
+ if (zeroAndOneToTrueOrFalse(formColumns[i].formShowFlag)) {
57
+ continue;
58
+ }
56
59
  var handleFormItemType = VENUS_FORM_ITEM_TYPE[formColumns[i].formUnitType] || function () {
57
60
  return {};
58
61
  };
@@ -1,17 +1,6 @@
1
1
  import React from 'react';
2
- import { VenusFormGroupInterface, VenusFormType } from "..";
2
+ import { VenusFormType } from "..";
3
3
  import './style.less';
4
- export interface VenusFormRefInterface {
5
- current: {
6
- getFormRef: () => any;
7
- setDisabledField: (fieldNames: string[], disabled: boolean) => void;
8
- setDisabledExceptField: (fieldNames: string[], disabled: boolean) => void;
9
- getFormDataField: () => any;
10
- setDisabledAllField: (disabled: boolean) => void;
11
- setFormRequiredFlagField: (fieldNames: string[], requiredFlag: boolean) => void;
12
- setFormDataField: (formData: VenusFormGroupInterface[]) => void;
13
- };
14
- }
15
4
  /**
16
5
  * 表单组件
17
6
  * @param props
@@ -1,8 +1,7 @@
1
+ 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); }
1
2
  import "antd/es/button/style";
2
3
  import _Button from "antd/es/button";
3
4
  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); }
4
- 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); }
5
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
6
5
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
7
6
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
7
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -18,8 +17,9 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
18
17
  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; } }
19
18
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
20
19
  import React, { useEffect, forwardRef, useImperativeHandle, useState } from 'react';
21
- import { ProForm, getFormData, getVenusFormFormate, handleFormItems, setVenusFormFormate } from "./..";
20
+ import { ProForm, getFormData, getVenusFormFormate, handleFormItems, setVenusFormFormate, deepClone, dfs } from "./..";
22
21
  import "./style.less";
22
+
23
23
  /**
24
24
  * 表单组件
25
25
  * @param props
@@ -41,6 +41,11 @@ var VenusForm = /*#__PURE__*/forwardRef(function (props, ref) {
41
41
  _useState6 = _slicedToArray(_useState5, 2),
42
42
  formWatchData = _useState6[0],
43
43
  setWatchData = _useState6[1];
44
+ var _useState7 = useState(false),
45
+ _useState8 = _slicedToArray(_useState7, 2),
46
+ didNotify = _useState8[0],
47
+ setDidNotify = _useState8[1]; // 新增标记
48
+
44
49
  //监听场景标识变化
45
50
  useEffect(function () {
46
51
  getFormDataLoad(); //查询显示列
@@ -48,7 +53,7 @@ var VenusForm = /*#__PURE__*/forwardRef(function (props, ref) {
48
53
 
49
54
  //如果是编辑则先处理数据再为表单设置数据
50
55
  useEffect(function () {
51
- if (formData.length < 1) return;
56
+ if (formData.length < 1 || didNotify) return;
52
57
  if (!isEdit && JSON.stringify(props.dataSource) !== "{}" && props.dataSource !== undefined) {
53
58
  props.form.setFieldsValue(getVenusFormFormate(formData, props.dataSource));
54
59
  setWatchData(props.dataSource);
@@ -60,6 +65,7 @@ var VenusForm = /*#__PURE__*/forwardRef(function (props, ref) {
60
65
  setSetData(true);
61
66
  }
62
67
  }
68
+ setDidNotify(true);
63
69
  //表单赋值之后
64
70
  if (props.onSetDataAfter) {
65
71
  props.onSetDataAfter();
@@ -211,11 +217,11 @@ var VenusForm = /*#__PURE__*/forwardRef(function (props, ref) {
211
217
  useImperativeHandle(ref, function () {
212
218
  return {
213
219
  /* 1. 对指定数组内的字段统一设置禁用/启用 */
214
- setDisabledField: function setDisabledField(fieldNames, disabled) {
220
+ setDisabledField: function setDisabledField(fieldIds, disabled) {
215
221
  setFormData(function (prev) {
216
222
  var clone = deepClone(prev);
217
223
  dfs(clone, function (node) {
218
- if (fieldNames.includes(node.fieldId)) {
224
+ if (fieldIds.includes(node.fieldId)) {
219
225
  //@ts-ignore
220
226
  node.nonEditableScene = disabled ? 'EDIT' : null;
221
227
  }
@@ -224,11 +230,11 @@ var VenusForm = /*#__PURE__*/forwardRef(function (props, ref) {
224
230
  });
225
231
  },
226
232
  /* 2. 除了指定数组内的字段,其余全部禁用/启用 */
227
- setDisabledExceptField: function setDisabledExceptField(fieldNames, disabled) {
233
+ setDisabledExceptField: function setDisabledExceptField(fieldIds, disabled) {
228
234
  setFormData(function (prev) {
229
235
  var clone = deepClone(prev);
230
236
  dfs(clone, function (node) {
231
- if (!fieldNames.includes(node.fieldId)) {
237
+ if (!fieldIds.includes(node.fieldId)) {
232
238
  //@ts-ignore
233
239
  node.nonEditableScene = disabled ? 'EDIT' : null;
234
240
  }
@@ -237,11 +243,11 @@ var VenusForm = /*#__PURE__*/forwardRef(function (props, ref) {
237
243
  });
238
244
  },
239
245
  /* 设置必填/不必填 */
240
- setFormRequiredFlagFields: function setFormRequiredFlagFields(fieldNames, requiredFlag) {
246
+ setFormRequiredFlagFields: function setFormRequiredFlagFields(fieldIds, requiredFlag) {
241
247
  setFormData(function (prev) {
242
248
  var clone = deepClone(prev);
243
249
  dfs(clone, function (node) {
244
- if (fieldNames.includes(node.fieldId)) {
250
+ if (fieldIds.includes(node.fieldId)) {
245
251
  //@ts-ignore
246
252
  node.formRequiredFlag = requiredFlag ? 1 : 0;
247
253
  }
@@ -249,6 +255,19 @@ var VenusForm = /*#__PURE__*/forwardRef(function (props, ref) {
249
255
  return clone;
250
256
  });
251
257
  },
258
+ //设置是否显示
259
+ setFormDataHiddenFields: function setFormDataHiddenFields(fieldIds, hiddenFlag) {
260
+ setFormData(function (prev) {
261
+ var clone = deepClone(prev);
262
+ dfs(clone, function (node) {
263
+ if (fieldIds.includes(node.fieldId)) {
264
+ //@ts-ignore
265
+ node.formShowFlag = hiddenFlag ? 1 : 0;
266
+ }
267
+ });
268
+ return clone;
269
+ });
270
+ },
252
271
  //获取表单项
253
272
  getFormDataField: function getFormDataField() {
254
273
  return formData;
@@ -273,47 +292,6 @@ var VenusForm = /*#__PURE__*/forwardRef(function (props, ref) {
273
292
  }
274
293
  };
275
294
  });
276
-
277
- /* ------------ 深度优先遍历(全部节点) ------------ */
278
- function dfs(groups, cb) {
279
- var _iterator = _createForOfIteratorHelper(groups),
280
- _step;
281
- try {
282
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
283
- var g = _step.value;
284
- var _iterator2 = _createForOfIteratorHelper(g.attributeList),
285
- _step2;
286
- try {
287
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
288
- var _item = _step2.value;
289
- cb(_item);
290
- }
291
- } catch (err) {
292
- _iterator2.e(err);
293
- } finally {
294
- _iterator2.f();
295
- }
296
- }
297
- } catch (err) {
298
- _iterator.e(err);
299
- } finally {
300
- _iterator.f();
301
- }
302
- }
303
-
304
- /* ------------ 深克隆 ------------ */
305
- function deepClone(obj) {
306
- if (obj === null || _typeof(obj) !== 'object') return obj;
307
- if (obj instanceof Date) return new Date(obj.getTime());
308
- if (obj instanceof Array) return obj.map(deepClone);
309
- var cloned = {};
310
- for (var key in obj) {
311
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
312
- cloned[key] = deepClone(obj[key]);
313
- }
314
- }
315
- return cloned;
316
- }
317
295
  return formData != null ? /*#__PURE__*/React.createElement(ProForm, _extends({
318
296
  onValuesChange: onValuesChange //表单数据变化时
319
297
  }, props, {
@@ -116,3 +116,23 @@ export interface VenusFormType {
116
116
  onValuesChange?: Function;
117
117
  initAfter?: Function;
118
118
  }
119
+ export interface VenusFormRefInterface {
120
+ current: {
121
+ getFormRef: () => any;
122
+ setDisabledField: (fieldNames: string[], disabled: boolean) => void;
123
+ setDisabledExceptField: (fieldNames: string[], disabled: boolean) => void;
124
+ getFormDataField: () => any;
125
+ setDisabledAllField: (disabled: boolean) => void;
126
+ setFormRequiredFlagFields: (fieldNames: string[], requiredFlag: boolean) => void;
127
+ setFormDataField: (formData: VenusFormGroupInterface[]) => void;
128
+ };
129
+ }
130
+ export interface VenusFormRefCurrentInterface {
131
+ getFormRef: () => any;
132
+ setDisabledField: (fieldNames: string[], disabled: boolean) => void;
133
+ setDisabledExceptField: (fieldNames: string[], disabled: boolean) => void;
134
+ getFormDataField: () => any;
135
+ setDisabledAllField: (disabled: boolean) => void;
136
+ setFormRequiredFlagField: (fieldNames: string[], requiredFlag: boolean) => void;
137
+ setFormDataField: (formData: VenusFormGroupInterface[]) => void;
138
+ }
@@ -1,4 +1,4 @@
1
- import { VenusFormItemInterface } from "./interface";
1
+ import { VenusFormGroupInterface, VenusFormItemInterface } from "./interface";
2
2
  import React from "react";
3
3
  /**
4
4
  * 保存时表单项值的处理
@@ -130,3 +130,23 @@ export declare const getUserFormate: (data: any, dataIdIndex: string, dataIndex:
130
130
  export declare const setUserFormate: (data: any, dataIdIndex: string, dataIndex: string) => {
131
131
  [x: string]: any;
132
132
  } | undefined;
133
+ export interface VenusFormRefInterface {
134
+ current: {
135
+ getFormRef: () => any;
136
+ setDisabledField: (fieldNames: string[], disabled: boolean) => void;
137
+ setDisabledExceptField: (fieldNames: string[], disabled: boolean) => void;
138
+ getFormDataField: () => any;
139
+ setDisabledAllField: (disabled: boolean) => void;
140
+ setFormRequiredFlagField: (fieldNames: string[], requiredFlag: boolean) => void;
141
+ setFormDataField: (formData: VenusFormGroupInterface[]) => void;
142
+ };
143
+ }
144
+ export interface VenusFormRefCurrentInterface {
145
+ getFormRef: () => any;
146
+ setDisabledField: (fieldNames: string[], disabled: boolean) => void;
147
+ setDisabledExceptField: (fieldNames: string[], disabled: boolean) => void;
148
+ getFormDataField: () => any;
149
+ setDisabledAllField: (disabled: boolean) => void;
150
+ setFormRequiredFlagField: (fieldNames: string[], requiredFlag: boolean) => void;
151
+ setFormDataField: (formData: VenusFormGroupInterface[]) => void;
152
+ }
@@ -397,7 +397,7 @@ export var handleNameAndIdSplit = function handleNameAndIdSplit(val) {
397
397
  */
398
398
  export var VENUS_FORM_ITEM_TYPE = {
399
399
  "Select": function Select(column, type, disabled, formData) {
400
- return zeroAndOneToTrueOrFalse(column.formShowFlag) ? null : /*#__PURE__*/React.createElement(VenusFormSelect, {
400
+ return /*#__PURE__*/React.createElement(VenusFormSelect, {
401
401
  width: "md",
402
402
  name: column.fieldId,
403
403
  key: column.fieldId,
@@ -11,5 +11,5 @@ export declare const getColumnsTable: (dataViewId: string, dataSceneId: string)
11
11
  * @param props
12
12
  * @returns
13
13
  */
14
- declare const VenusTable: (props: VenusTableType) => React.JSX.Element;
14
+ declare const VenusTable: React.ForwardRefExoticComponent<VenusTableType & React.RefAttributes<unknown>>;
15
15
  export default VenusTable;
@@ -14,8 +14,8 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
14
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
15
15
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
16
16
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
17
- import { DataView, getColumnData, storage, deleteSessionKeysWithPrefix, getMenuId, handleColumnFilterFns, handleColumnFns } from "./..";
18
- import React, { useState, useEffect } from 'react';
17
+ import { DataView, getColumnData, storage, deleteSessionKeysWithPrefix, getMenuId, handleColumnFilterFns, handleColumnFns, deepClone } from "./..";
18
+ import React, { useState, useEffect, forwardRef, useImperativeHandle } from 'react';
19
19
  /**
20
20
  * 动态表格
21
21
  * @param props
@@ -57,7 +57,7 @@ export var getColumnsTable = /*#__PURE__*/function () {
57
57
  * @param props
58
58
  * @returns
59
59
  */
60
- var VenusTable = function VenusTable(props) {
60
+ var VenusTable = /*#__PURE__*/forwardRef(function (props, ref) {
61
61
  //@ts-ignore
62
62
  var _useState = useState([]),
63
63
  _useState2 = _slicedToArray(_useState, 2),
@@ -296,6 +296,23 @@ var VenusTable = function VenusTable(props) {
296
296
  }
297
297
  }
298
298
  };
299
+
300
+ /* ---------- 暴露给父组件的方法 ---------- */
301
+ useImperativeHandle(ref, function () {
302
+ return {
303
+ /* 1. 对指定数组内的字段统一设置禁用/启用 */
304
+ setHiddenField: function setHiddenField(fieldIds) {
305
+ //@ts-ignore
306
+ setColumns(function (prev) {
307
+ var clone = deepClone(prev);
308
+ //@ts-ignore
309
+ return clone.filter(function (v) {
310
+ return !fieldIds.includes(v.key);
311
+ });
312
+ });
313
+ }
314
+ };
315
+ });
299
316
  return /*#__PURE__*/React.createElement(React.Fragment, null, columns.length > 0 ? /*#__PURE__*/React.createElement(DataView, _extends({
300
317
  columns: columns //列配置
301
318
  //@ts-ignore
@@ -355,5 +372,5 @@ var VenusTable = function VenusTable(props) {
355
372
  } //加载数据的方法
356
373
  // ErrorBoundary={<Empty description={false} />} //防止白屏
357
374
  })) : /*#__PURE__*/React.createElement(React.Fragment, null));
358
- };
375
+ });
359
376
  export default VenusTable;
@@ -32,6 +32,11 @@ export interface VenusSelectDataVo {
32
32
  label?: string;
33
33
  children?: [VenusSelectDataVo];
34
34
  }
35
+ export interface VenusTableRef {
36
+ current: {
37
+ setHiddenField: (fieldIds: String[]) => void;
38
+ };
39
+ }
35
40
  export default interface VenusTableType {
36
41
  exportHidden?: Boolean;
37
42
  exportFileName?: String;
@@ -9,13 +9,17 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
9
  // WF.tsx
10
10
  import VenusForm from "../VenusForm";
11
11
  import { DemoFormData, venusFormData } from "../VenusForm/demo/VenusFormData";
12
- import React, { useImperativeHandle, useEffect, useRef } from 'react';
12
+ import React, { useImperativeHandle, useEffect, useRef, useState } from 'react';
13
13
 
14
14
  /**
15
15
  * 工作流表单组件
16
16
  */
17
17
  var WF = /*#__PURE__*/React.forwardRef(function (props, ref) {
18
18
  var formRef = useRef(null);
19
+ var _useState = useState(false),
20
+ _useState2 = _slicedToArray(_useState, 2),
21
+ onSetDisableOne = _useState2[0],
22
+ setDisableOne = _useState2[1];
19
23
  var _Form$useForm = _Form.useForm(),
20
24
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
21
25
  form = _Form$useForm2[0];
@@ -5,7 +5,9 @@ import { VenusWorkDetail } from "./..";
5
5
 
6
6
  //模拟审批页面同意时控制审批表单中的内容
7
7
  var VenusWorkDetailDemo = /*#__PURE__*/forwardRef(function (props, ref) {
8
+ // 审批详情实例
8
9
  var venusRef = useRef();
10
+ // 审批详情表单实例
9
11
  useImperativeHandle(ref, function () {
10
12
  return {
11
13
  validateBusinessForm: function validateBusinessForm() {
@@ -16,6 +18,7 @@ var VenusWorkDetailDemo = /*#__PURE__*/forwardRef(function (props, ref) {
16
18
  }
17
19
  };
18
20
  });
21
+ // 表单实例
19
22
  var instRef = useRef(null);
20
23
 
21
24
  //效验
@@ -28,17 +31,32 @@ var VenusWorkDetailDemo = /*#__PURE__*/forwardRef(function (props, ref) {
28
31
  //设置code不禁用
29
32
  formRef.current.setDisabledField(["code"], false);
30
33
  };
31
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(VenusWorkDetail, {
34
+
35
+ //挂载时获取表单实例
36
+ var onMount = function onMount(inst) {
37
+ instRef.current = inst;
38
+ var formRef = instRef.current.getPageRef();
39
+ };
40
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
41
+ style: {
42
+ border: "1px #827d7dff solid ",
43
+ borderRadius: "5px",
44
+ marginBottom: 10,
45
+ padding: 10
46
+ }
47
+ }, /*#__PURE__*/React.createElement("div", {
48
+ style: {
49
+ marginBottom: 5
50
+ }
51
+ }, "\u5BA1\u6279\u8868\u5355"), /*#__PURE__*/React.createElement(VenusWorkDetail, {
32
52
  ref: venusRef,
33
- onMount: function onMount(inst) {
34
- return instRef.current = inst;
35
- },
53
+ onMount: onMount,
36
54
  businessKey: "123",
37
55
  componentUrl: "888/",
38
56
  loader: function loader() {
39
57
  return import("./WF");
40
58
  }
41
- }), /*#__PURE__*/React.createElement(_Button, {
59
+ })), /*#__PURE__*/React.createElement(_Button, {
42
60
  onClick: onOk
43
61
  }, "\u5BA1\u6279\u540C\u610F"));
44
62
  });
package/dist/index.d.ts CHANGED
@@ -20,7 +20,7 @@ export { default as VenusWorkDetail } from './VenusWorkDetail';
20
20
  export { default as VenusCard } from './VenusCard';
21
21
  export { default as VenusCardStyle } from './VenusCard/style.less';
22
22
  export { default as SelectRoleAndUser } from './Approval/components/SelectRoleAndUser';
23
- export { thousandSeparator, unitWanNum, tableUnitWanNum, getCookieDomain, getUrlParams, getUrlSearchStr, renderMillion, isNotNullVenus, renderFileNameAndIds, renderFileNameAndIdsNew, renderTableFileNameAndIds, haveSecLevel, haveSecLevelNew, isValidDate, getweek, formatLarkAvatar, isVenusStrNotNull, getApp, encrypt, initOwnerApp, getDefaultMenu, getDifyConfig, getDifyUserNames, onMnLoginDify, deleteSessionKeysWithPrefix, handleSecLevelUploadValue } from './Config/utils';
23
+ export { thousandSeparator, unitWanNum, tableUnitWanNum, getCookieDomain, getUrlParams, getUrlSearchStr, renderMillion, isNotNullVenus, renderFileNameAndIds, renderFileNameAndIdsNew, renderTableFileNameAndIds, haveSecLevel, haveSecLevelNew, isValidDate, getweek, formatLarkAvatar, isVenusStrNotNull, getApp, encrypt, initOwnerApp, getDefaultMenu, getDifyConfig, getDifyUserNames, onMnLoginDify, deleteSessionKeysWithPrefix, handleSecLevelUploadValue, deepClone, dfs } from './Config/utils';
24
24
  export { default as AuthButton, ButtonPath, checkPathname, getRouteMap, AddButtonNew, EditButton, ADDButtona, DetailButton, CommonButton, VenusButton, AddButton, AButton } from './AuthButton';
25
25
  export { default as DataView } from './DataView';
26
26
  export { default as BISpin } from './BISpin';
@@ -31,11 +31,10 @@ export { default as SelectRoleDataPremission } from './SelectCompoments/SelectRo
31
31
  export { default as Error } from './Error';
32
32
  export { default as IconFont } from './IconFont';
33
33
  export { default as RenderRouter } from './RenderRouter';
34
- export { default as VenusFormInterface, VenusFormGroupInterface, VenusFormItemInterface, VenusFormDataVo, VenusFormRadioType, VenusFormType } from './VenusForm/interface';
34
+ export { default as VenusFormInterface, VenusFormGroupInterface, VenusFormItemInterface, VenusFormDataVo, VenusFormRadioType, VenusFormType, VenusFormRefInterface, VenusFormRefCurrentInterface } from './VenusForm/interface';
35
35
  export { handleFormItems, radioEnumData, zeroAndOneToTrueOrFalse, haveQt, validatorListToValidator, setVenusFormFormate, getVenusFormFormate } from './VenusForm/handleVenusFormFunctions';
36
36
  export { VENUS_FORM_ITEM_VALUE, VENUS_FORM_EDIT_ITEM_VALUE, handleDatePickerData, handleNameAndIdSplit, VENUS_FORM_ITEM_TYPE, isNotEditScene, getUserFormate, setUserFormate, addFormCustomCom, VENUS_FORM_CUSTOMCOM_TYPE, getColumnByFieldName } from './VenusForm/staticAttr';
37
37
  export { default as LoadableStep } from './LoadableStep';
38
- export { default as VenusFormRefInterface } from './VenusForm/index';
39
38
  export { dataToEnum, requestEnumDataCallback, requestRadioDataCallback, requestCheckboxDataCallback, requestDataOptionsCallback, requestSeclevelEnumCallback, requestSeclevelDataCallback, requestFormCallback, requestDefineCallback, requestCostumColumnsDataCallback } from './Config/useCallback';
40
39
  export { default as SelectKYSeclevel } from './SelectCompoments/SelectKYSeclevel';
41
40
  export { default as SelectUserBySecLevelId } from './SelectCompoments/SelectUserBySecLevelId';
@@ -43,7 +42,7 @@ export { getColumnSearchProps, getColumnDateSearchProps, getColumnNumberSearchPr
43
42
  export { default as SelectUDRBySecLevelId } from './SelectCompoments/SelectUserOrDeptBySeclevel';
44
43
  export { default as VenusTable } from './VenusTable';
45
44
  export { handleColumnFns, handleColumnFilterFns, getMenuId, handleDataIndex, getColumnSearch, getRenderColumn, assemblyFilterData, handleConflictFlag } from './VenusTable/handleVenusTableFunctions';
46
- export { default as VenusTableType, VenusColumns, VenusSelectDataVo, VenusEnumType } from './VenusTable/interface';
45
+ export { default as VenusTableType, VenusColumns, VenusSelectDataVo, VenusEnumType, VenusTableRef } from './VenusTable/interface';
47
46
  export { VENUS_TABLE_COLUMNFILTER_TYPE, VENUS_TABLE_COLUMNENUM_TYPE, VENUS_TABLE_COLUMNRENDER_TYPE, addRenderFunction, addCellRenderFunction } from './VenusTable/staticAttr';
48
47
  export { default as Descriptions } from './Descriptions';
49
48
  export { default as VenusDetail } from './VenusDetail';
@@ -60,7 +59,9 @@ export { default as VenusAdjustBatch } from './VenusAdjustBatch';
60
59
  export { default as VenusAdjustBatchType } from './VenusAdjustBatch/interface';
61
60
  export { default as SelectApp } from './SelectCompoments/SelectApp';
62
61
  export { default as ModalApproval } from './Approval';
62
+ export { default as InstanceBag } from './VenusDesignCom/interfact';
63
63
  export { default as VenusDesignCom } from './VenusDesignCom';
64
+ export { RefContext } from './VenusDesignCom/staticAttr';
64
65
  export { default as ExcelCom } from './ExcelCom';
65
66
  export { default as WorkGz } from './WorkGz';
66
67
  export { default as WorkRecord } from './WorkRecord';
package/dist/index.js CHANGED
@@ -20,7 +20,7 @@ export { default as VenusWorkDetail } from "./VenusWorkDetail";
20
20
  export { default as VenusCard } from "./VenusCard";
21
21
  export { default as VenusCardStyle } from "./VenusCard/style.less";
22
22
  export { default as SelectRoleAndUser } from "./Approval/components/SelectRoleAndUser";
23
- export { thousandSeparator, unitWanNum, tableUnitWanNum, getCookieDomain, getUrlParams, getUrlSearchStr, renderMillion, isNotNullVenus, renderFileNameAndIds, renderFileNameAndIdsNew, renderTableFileNameAndIds, haveSecLevel, haveSecLevelNew, isValidDate, getweek, formatLarkAvatar, isVenusStrNotNull, getApp, encrypt, initOwnerApp, getDefaultMenu, getDifyConfig, getDifyUserNames, onMnLoginDify, deleteSessionKeysWithPrefix, handleSecLevelUploadValue } from "./Config/utils";
23
+ export { thousandSeparator, unitWanNum, tableUnitWanNum, getCookieDomain, getUrlParams, getUrlSearchStr, renderMillion, isNotNullVenus, renderFileNameAndIds, renderFileNameAndIdsNew, renderTableFileNameAndIds, haveSecLevel, haveSecLevelNew, isValidDate, getweek, formatLarkAvatar, isVenusStrNotNull, getApp, encrypt, initOwnerApp, getDefaultMenu, getDifyConfig, getDifyUserNames, onMnLoginDify, deleteSessionKeysWithPrefix, handleSecLevelUploadValue, deepClone, dfs } from "./Config/utils";
24
24
  export { default as AuthButton, ButtonPath, checkPathname, getRouteMap, AddButtonNew, EditButton, ADDButtona, DetailButton, CommonButton, VenusButton, AddButton, AButton } from "./AuthButton";
25
25
  export { default as DataView } from "./DataView";
26
26
  export { default as BISpin } from "./BISpin";
@@ -31,11 +31,10 @@ export { default as SelectRoleDataPremission } from "./SelectCompoments/SelectRo
31
31
  export { default as Error } from "./Error";
32
32
  export { default as IconFont } from "./IconFont";
33
33
  export { default as RenderRouter } from "./RenderRouter";
34
- export { default as VenusFormInterface, VenusFormGroupInterface, VenusFormItemInterface, VenusFormDataVo, VenusFormRadioType, VenusFormType } from "./VenusForm/interface";
34
+ export { default as VenusFormInterface, VenusFormGroupInterface, VenusFormItemInterface, VenusFormDataVo, VenusFormRadioType, VenusFormType, VenusFormRefInterface, VenusFormRefCurrentInterface } from "./VenusForm/interface";
35
35
  export { handleFormItems, radioEnumData, zeroAndOneToTrueOrFalse, haveQt, validatorListToValidator, setVenusFormFormate, getVenusFormFormate } from "./VenusForm/handleVenusFormFunctions";
36
36
  export { VENUS_FORM_ITEM_VALUE, VENUS_FORM_EDIT_ITEM_VALUE, handleDatePickerData, handleNameAndIdSplit, VENUS_FORM_ITEM_TYPE, isNotEditScene, getUserFormate, setUserFormate, addFormCustomCom, VENUS_FORM_CUSTOMCOM_TYPE, getColumnByFieldName } from "./VenusForm/staticAttr";
37
37
  export { default as LoadableStep } from "./LoadableStep";
38
- export { default as VenusFormRefInterface } from "./VenusForm/index";
39
38
  export { dataToEnum, requestEnumDataCallback, requestRadioDataCallback, requestCheckboxDataCallback, requestDataOptionsCallback, requestSeclevelEnumCallback, requestSeclevelDataCallback, requestFormCallback, requestDefineCallback, requestCostumColumnsDataCallback } from "./Config/useCallback";
40
39
  export { default as SelectKYSeclevel } from "./SelectCompoments/SelectKYSeclevel";
41
40
  export { default as SelectUserBySecLevelId } from "./SelectCompoments/SelectUserBySecLevelId";
@@ -43,7 +42,7 @@ export { getColumnSearchProps, getColumnDateSearchProps, getColumnNumberSearchPr
43
42
  export { default as SelectUDRBySecLevelId } from "./SelectCompoments/SelectUserOrDeptBySeclevel";
44
43
  export { default as VenusTable } from "./VenusTable";
45
44
  export { handleColumnFns, handleColumnFilterFns, getMenuId, handleDataIndex, getColumnSearch, getRenderColumn, assemblyFilterData, handleConflictFlag } from "./VenusTable/handleVenusTableFunctions";
46
- export { default as VenusTableType, VenusColumns, VenusSelectDataVo, VenusEnumType } from "./VenusTable/interface";
45
+ export { default as VenusTableType, VenusColumns, VenusSelectDataVo, VenusEnumType, VenusTableRef } from "./VenusTable/interface";
47
46
  export { VENUS_TABLE_COLUMNFILTER_TYPE, VENUS_TABLE_COLUMNENUM_TYPE, VENUS_TABLE_COLUMNRENDER_TYPE, addRenderFunction, addCellRenderFunction } from "./VenusTable/staticAttr";
48
47
  export { default as Descriptions } from "./Descriptions";
49
48
  export { default as VenusDetail } from "./VenusDetail";
@@ -60,7 +59,9 @@ export { default as VenusAdjustBatch } from "./VenusAdjustBatch";
60
59
  export { default as VenusAdjustBatchType } from "./VenusAdjustBatch/interface";
61
60
  export { default as SelectApp } from "./SelectCompoments/SelectApp";
62
61
  export { default as ModalApproval } from "./Approval";
62
+ export { default as InstanceBag } from "./VenusDesignCom/interfact";
63
63
  export { default as VenusDesignCom } from "./VenusDesignCom";
64
+ export { RefContext } from "./VenusDesignCom/staticAttr";
64
65
  //export {default as Ckediter} from './Ckediter';
65
66
  export { default as ExcelCom } from "./ExcelCom";
66
67
  export { default as WorkGz } from "./WorkGz";
@@ -79,7 +80,6 @@ export { default as VenusNetDiskUpload } from "./VenusNetDiskUpload";
79
80
  export { default as VenusUploadForm } from "./VenusUploadForm";
80
81
  export { getStrLeng, renderTxt, renderDoubleTxt, renderArrText, renderPopTable } from "./HoverPopover";
81
82
  export { default as EditingTools } from "./EditingTools";
82
-
83
83
  //export {default as ResizeableTableColum} from './ResizeableTableColum'
84
84
  export { default as ChangePwd } from "./ChangePwd";
85
85
  export { default as Drawer } from "./VenusDrawer";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "venus-design",
3
- "version": "1.0.53",
3
+ "version": "1.0.55",
4
4
  "description": "venus all compoments",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",