venus-design 0.9.2 → 0.9.4

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.
@@ -317,7 +317,7 @@ export default /*#__PURE__*/React.forwardRef(function (props, ref) {
317
317
  };
318
318
  });
319
319
  useEffect(function () {
320
- if (userdata && (userdata === null || userdata === void 0 ? void 0 : userdata.length) > 0) {
320
+ if (userdata) {
321
321
  setVisible(true);
322
322
  }
323
323
  }, [userdata]);
@@ -114,6 +114,18 @@ export declare const VenusFormSearch: (props: any) => React.JSX.Element;
114
114
  * @returns
115
115
  */
116
116
  export declare const VenusFormSwitch: (props: any) => React.JSX.Element;
117
+ /**
118
+ * 评分组件
119
+ * @param props
120
+ * @returns
121
+ */
122
+ export declare const VenusFormRate: (props: any) => React.JSX.Element;
123
+ /**
124
+ * 滑块输入组件
125
+ * @param props
126
+ * @returns
127
+ */
128
+ export declare const VenusFormSlider: (props: any) => React.JSX.Element;
117
129
  /**
118
130
  * 上传组件
119
131
  * @param props
@@ -1,3 +1,7 @@
1
+ import "antd/es/slider/style";
2
+ import _Slider from "antd/es/slider";
3
+ import "antd/es/rate/style";
4
+ import _Rate from "antd/es/rate";
1
5
  import "antd/es/switch/style";
2
6
  import _Switch from "antd/es/switch";
3
7
  import "antd/es/checkbox/style";
@@ -59,7 +63,9 @@ var _excluded = ["children", "pageLoading", "pageFormClassName", "submitter", "s
59
63
  _excluded35 = ["comAttr", "request", "placeholder", "disabled"],
60
64
  _excluded36 = ["comAttr", "request", "fieldNames", "otherKeys", "placeholder", "disabled"],
61
65
  _excluded37 = ["comAttr", "request", "fieldNames", "otherKeys", "placeholder", "disabled"],
62
- _excluded38 = ["comAttr", "placeholder", "disabled", "isDuo"];
66
+ _excluded38 = ["comAttr", "placeholder", "disabled", "isDuo"],
67
+ _excluded39 = ["comAttr", "placeholder", "disabled", "isDuo"],
68
+ _excluded40 = ["comAttr", "placeholder", "disabled", "isDuo"];
63
69
  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); }
64
70
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
65
71
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
@@ -846,19 +852,51 @@ export var VenusFormSwitch = function VenusFormSwitch(props) {
846
852
  disabled: disabled
847
853
  }, comAttr)));
848
854
  };
849
-
850
855
  /**
851
- * 上传组件
856
+ * 评分组件
852
857
  * @param props
853
858
  * @returns
854
859
  */
855
- export var VenusFormUploadPro = function VenusFormUploadPro(props) {
860
+ export var VenusFormRate = function VenusFormRate(props) {
856
861
  var _props$comAttr33 = props.comAttr,
857
862
  comAttr = _props$comAttr33 === void 0 ? {} : _props$comAttr33,
858
863
  placeholder = props.placeholder,
859
864
  disabled = props.disabled,
860
865
  isDuo = props.isDuo,
861
866
  others = _objectWithoutProperties(props, _excluded38);
867
+ return /*#__PURE__*/React.createElement(FormItem2, others, /*#__PURE__*/React.createElement(_Rate, _extends({
868
+ disabled: disabled
869
+ }, comAttr)));
870
+ };
871
+ /**
872
+ * 滑块输入组件
873
+ * @param props
874
+ * @returns
875
+ */
876
+ export var VenusFormSlider = function VenusFormSlider(props) {
877
+ var _props$comAttr34 = props.comAttr,
878
+ comAttr = _props$comAttr34 === void 0 ? {} : _props$comAttr34,
879
+ placeholder = props.placeholder,
880
+ disabled = props.disabled,
881
+ isDuo = props.isDuo,
882
+ others = _objectWithoutProperties(props, _excluded39);
883
+ return /*#__PURE__*/React.createElement(FormItem2, others, /*#__PURE__*/React.createElement(_Slider, _extends({
884
+ disabled: disabled
885
+ }, comAttr)));
886
+ };
887
+
888
+ /**
889
+ * 上传组件
890
+ * @param props
891
+ * @returns
892
+ */
893
+ export var VenusFormUploadPro = function VenusFormUploadPro(props) {
894
+ var _props$comAttr35 = props.comAttr,
895
+ comAttr = _props$comAttr35 === void 0 ? {} : _props$comAttr35,
896
+ placeholder = props.placeholder,
897
+ disabled = props.disabled,
898
+ isDuo = props.isDuo,
899
+ others = _objectWithoutProperties(props, _excluded40);
862
900
  return /*#__PURE__*/React.createElement(FormItem2, others, /*#__PURE__*/React.createElement(VenusUploadSecLevelForm, _extends({
863
901
  placeholder: placeholder,
864
902
  isDuo: isDuo,
@@ -10,7 +10,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
10
10
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
11
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
12
12
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
- import { FormItem2, SelectKYSeclevel, SelectUserBySecLevelId, VenusFormCheckBoxGroup, VenusFormCheckBoxInputGroup, VenusFormDatePicker, VenusFormNumberPercent, VenusFormNumberUnit, VenusFormRadioGroup, VenusFormSearch, VenusFormSelect, VenusFormSwitch, VenusFormText, VenusFormTextarea, VenusFormTreeSelect, VenusFormUpload, VenusFormUploadImage, VenusFormUploadPro, VenusFormNumber } from "./..";
13
+ import { FormItem2, SelectKYSeclevel, SelectUserBySecLevelId, VenusFormRate, VenusFormCheckBoxGroup, VenusFormCheckBoxInputGroup, VenusFormDatePicker, VenusFormNumberPercent, VenusFormNumberUnit, VenusFormRadioGroup, VenusFormSearch, VenusFormSelect, VenusFormSwitch, VenusFormText, VenusFormTextarea, VenusFormTreeSelect, VenusFormUpload, VenusFormUploadImage, VenusFormUploadPro, VenusFormNumber, VenusFormSlider } from "./..";
14
14
  import React from "react";
15
15
  import { handleTreeSelectOptions, haveQt, radioEnumData, validatorListToValidator, zeroAndOneToTrueOrFalse } from "./handleVenusFormFunctions";
16
16
  import { dataToEnum } from "./..";
@@ -993,11 +993,52 @@ export var VENUS_FORM_ITEM_TYPE = {
993
993
  }]
994
994
  });
995
995
  },
996
- //开关
997
- "rate": function rate() {},
998
996
  //评分
999
- "slider": function slider() {},
997
+ "Rate": function Rate(column, type, disabled, formData) {
998
+ /*#__PURE__*/React.createElement(VenusFormRate, {
999
+ labelAlign: column.labelAlign || "left",
1000
+ width: "md",
1001
+ name: column.fieldId,
1002
+ key: column.fieldId,
1003
+ className: column.formItemClassName,
1004
+ label: column.fieldName,
1005
+ disabled: disabled ? disabled : isNotEditScene(type, column.nonEditableScene),
1006
+ span: column.formWidth || 8,
1007
+ comAttr: _objectSpread({}, column.parameterSource)
1008
+ //@ts-ignore
1009
+ ,
1010
+ placeholder: VENUS_FORM_PLACHOLDER_TYPE[column.formUnitType] + column.fieldName,
1011
+ rules: [{
1012
+ //是否必填通过其他字段判断时可使用required:{label:string,fieldName:string,value:any}
1013
+ required: column.parameterSource.required ? getOperatorByLabel(column.parameterSource.required, formData, column) : zeroAndOneToTrueOrFalse(column.formRequiredFlag),
1014
+ //@ts-ignore
1015
+ message: VENUS_FORM_PLACHOLDER_TYPE[column.formUnitType] + column.fieldName
1016
+ }]
1017
+ });
1018
+ },
1000
1019
  //滑块输入条
1020
+ "Slider": function Slider(column, type, disabled, formData) {
1021
+ /*#__PURE__*/React.createElement(VenusFormSlider, {
1022
+ labelAlign: column.labelAlign || "left",
1023
+ width: "md",
1024
+ name: column.fieldId,
1025
+ key: column.fieldId,
1026
+ className: column.formItemClassName,
1027
+ label: column.fieldName,
1028
+ disabled: disabled ? disabled : isNotEditScene(type, column.nonEditableScene),
1029
+ span: column.formWidth || 8,
1030
+ comAttr: _objectSpread({}, column.parameterSource)
1031
+ //@ts-ignore
1032
+ ,
1033
+ placeholder: VENUS_FORM_PLACHOLDER_TYPE[column.formUnitType] + column.fieldName,
1034
+ rules: [{
1035
+ //是否必填通过其他字段判断时可使用required:{label:string,fieldName:string,value:any}
1036
+ required: column.parameterSource.required ? getOperatorByLabel(column.parameterSource.required, formData, column) : zeroAndOneToTrueOrFalse(column.formRequiredFlag),
1037
+ //@ts-ignore
1038
+ message: VENUS_FORM_PLACHOLDER_TYPE[column.formUnitType] + column.fieldName
1039
+ }]
1040
+ });
1041
+ },
1001
1042
  "segmented": function segmented() {},
1002
1043
  //分段控制器
1003
1044
  "money": function money() {} //金额
@@ -1,10 +1,12 @@
1
1
  import React from 'react';
2
2
  import type { Column, ConfigType } from './src/types';
3
+ import './style.less';
3
4
  import EVirtTable from './src/EVirtTable';
4
5
  import Cell from './src/Cell';
5
6
  export interface VirtTableProps {
6
7
  columns: Column[];
7
8
  data: any[];
9
+ headerTitle?: string;
8
10
  footerData?: any[];
9
11
  config?: ConfigType;
10
12
  loading?: boolean;
@@ -8,6 +8,10 @@ import _DatePicker from "antd/es/date-picker";
8
8
  import "antd/es/select/style";
9
9
  import _Select from "antd/es/select";
10
10
  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); }
11
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
12
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
14
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
11
15
  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; }
12
16
  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); } }
13
17
  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); }); }; }
@@ -24,14 +28,19 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
24
28
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
25
29
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
26
30
  import React, { useEffect, useRef, useState, useMemo } from 'react';
31
+ import "./style.less";
27
32
  import EVirtTable from "./src/EVirtTable";
28
33
  import dayjs from 'dayjs';
29
34
  import SelectUDRBySecLevelId from "../SelectCompoments/SelectUserOrDeptBySeclevel";
30
35
  import { flattenSnap, pruneTree } from "./utils";
31
36
  import { defaultConfig } from "./config";
32
37
  import SelectKYSeclevel from "../SelectCompoments/SelectKYSeclevel";
38
+ import Tools from "./src/Tools";
33
39
  var Option = _Select.Option;
34
40
  var RangePicker = _DatePicker.RangePicker;
41
+ import useDeepCompareEffect from 'use-deep-compare-effect';
42
+ import { groupFields } from "./src/util";
43
+ import { SelectBysceneIdAndCreateBy } from "../Config/api";
35
44
  export default function VirtTable(props) {
36
45
  var columns = props.columns,
37
46
  data = props.data,
@@ -62,61 +71,66 @@ export default function VirtTable(props) {
62
71
  _useState4 = _slicedToArray(_useState3, 2),
63
72
  editorType = _useState4[0],
64
73
  setEditorType = _useState4[1];
65
- var _useState5 = useState(null),
74
+ var _useState5 = useState({}),
66
75
  _useState6 = _slicedToArray(_useState5, 2),
67
- editorCell = _useState6[0],
68
- setEditorCell = _useState6[1];
69
- var _useState7 = useState({}),
76
+ columnStatus = _useState6[0],
77
+ setColumnStatus = _useState6[1];
78
+ var _useState7 = useState(null),
70
79
  _useState8 = _slicedToArray(_useState7, 2),
71
- editorStyle = _useState8[0],
72
- setEditorStyle = _useState8[1];
73
- var _useState9 = useState("tag"),
80
+ editorCell = _useState8[0],
81
+ setEditorCell = _useState8[1];
82
+ var _useState9 = useState({}),
74
83
  _useState10 = _slicedToArray(_useState9, 2),
75
- selectMode = _useState10[0],
76
- setSelectMode = _useState10[1];
84
+ editorStyle = _useState10[0],
85
+ setEditorStyle = _useState10[1];
86
+ var _useState11 = useState("tag"),
87
+ _useState12 = _slicedToArray(_useState11, 2),
88
+ selectMode = _useState12[0],
89
+ setSelectMode = _useState12[1];
90
+ var pathname = window.location.pathname;
77
91
 
78
92
  /* 各编辑器值 */
79
- var _useState11 = useState(),
80
- _useState12 = _slicedToArray(_useState11, 2),
81
- selectValue = _useState12[0],
82
- setSelectValue = _useState12[1];
83
93
  var _useState13 = useState(),
84
94
  _useState14 = _slicedToArray(_useState13, 2),
85
- numberValue = _useState14[0],
86
- setNumberValue = _useState14[1];
95
+ selectValue = _useState14[0],
96
+ setSelectValue = _useState14[1];
87
97
  var _useState15 = useState(),
88
98
  _useState16 = _slicedToArray(_useState15, 2),
89
- dateValue = _useState16[0],
90
- setDateValue = _useState16[1];
91
- var _useState17 = useState(''),
99
+ numberValue = _useState16[0],
100
+ setNumberValue = _useState16[1];
101
+ var _useState17 = useState(),
92
102
  _useState18 = _slicedToArray(_useState17, 2),
93
- selevelValue = _useState18[0],
94
- setSelevelValue = _useState18[1];
95
- var _useState19 = useState([]),
103
+ dateValue = _useState18[0],
104
+ setDateValue = _useState18[1];
105
+ var _useState19 = useState(''),
96
106
  _useState20 = _slicedToArray(_useState19, 2),
97
- userValue = _useState20[0],
98
- setUserValue = _useState20[1];
107
+ selevelValue = _useState20[0],
108
+ setSelevelValue = _useState20[1];
99
109
  var _useState21 = useState([]),
100
110
  _useState22 = _slicedToArray(_useState21, 2),
101
- deptValue = _useState22[0],
102
- setDeptValue = _useState22[1];
111
+ userValue = _useState22[0],
112
+ setUserValue = _useState22[1];
113
+ var _useState23 = useState([]),
114
+ _useState24 = _slicedToArray(_useState23, 2),
115
+ deptValue = _useState24[0],
116
+ setDeptValue = _useState24[1];
103
117
 
104
118
  // 新增状态:保存所有列的过滤条件
105
- var _useState23 = useState(new Map()),
106
- _useState24 = _slicedToArray(_useState23, 2),
107
- filterMap = _useState24[0],
108
- setFilterMap = _useState24[1];
119
+ var _useState25 = useState(new Map()),
120
+ _useState26 = _slicedToArray(_useState25, 2),
121
+ filterMap = _useState26[0],
122
+ setFilterMap = _useState26[1];
109
123
  /* overlayer 渲染用 */
110
- var _useState25 = useState({
124
+ var _useState27 = useState({
111
125
  views: []
112
126
  }),
113
- _useState26 = _slicedToArray(_useState25, 2),
114
- overlayerViews = _useState26[0],
115
- setOverlayerViews = _useState26[1];
127
+ _useState28 = _slicedToArray(_useState27, 2),
128
+ overlayerViews = _useState28[0],
129
+ setOverlayerViews = _useState28[1];
116
130
  /* 0. 永远保留完整树 */
117
131
  var fullForestRef = useRef(data);
118
- useEffect(function () {
119
- fullForestRef.current = data;
132
+ useDeepCompareEffect(function () {
133
+ return grid === null || grid === void 0 ? void 0 : grid.loadData(data);
120
134
  }, [data]);
121
135
 
122
136
  /* 3. 过滤触发:先剪枝 → 把新树重新 load 进去 */
@@ -329,12 +343,12 @@ export default function VirtTable(props) {
329
343
 
330
344
  /* props 变化同步 */
331
345
  useEffect(function () {
332
- return grid === null || grid === void 0 ? void 0 : grid.loadColumns(columns);
333
- }, [columns]);
334
- useEffect(function () {
335
- return grid === null || grid === void 0 ? void 0 : grid.loadData(data);
346
+ grid === null || grid === void 0 || grid.loadData(data);
336
347
  }, [data]);
337
348
  useEffect(function () {
349
+ grid === null || grid === void 0 || grid.loadColumns(columns);
350
+ }, [columns]);
351
+ useDeepCompareEffect(function () {
338
352
  return grid === null || grid === void 0 ? void 0 : grid.loadFooterData(footerData);
339
353
  }, [footerData]);
340
354
 
@@ -385,6 +399,93 @@ export default function VirtTable(props) {
385
399
  var handleSelectChange = function handleSelectChange(val) {
386
400
  setSelectValue(val);
387
401
  };
402
+ /* ****** 1. 静态配置(仅用于首次分组) ****** */
403
+ var costumColumnMap = {
404
+ num: {
405
+ show: false
406
+ },
407
+ name: {
408
+ fixed: 'left'
409
+ },
410
+ secLevel: {
411
+ fixed: 'right',
412
+ show: true
413
+ },
414
+ birth: {
415
+ show: false,
416
+ fixed: 'left'
417
+ }
418
+ };
419
+ /* ****** 5. 核心:根据勾选生成新 columns ****** */
420
+ var createColumns = function createColumns(base, checked) {
421
+ return base.map(function (col) {
422
+ return _objectSpread(_objectSpread({}, col), {}, {
423
+ hide: !checked.includes(col.key)
424
+ });
425
+ });
426
+ };
427
+ /**
428
+ * 获取列状态
429
+ */
430
+ var getColumnStatus = /*#__PURE__*/function () {
431
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
432
+ var _groupFields, leftKeys, rightKeys, unfixedKeys, left, right, unfixed, fullColumns, res, _data3, _groupFields2, _leftKeys, _rightKeys, _unfixedKeys, _left, _right, _unfixed, _fullColumns;
433
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
434
+ while (1) switch (_context2.prev = _context2.next) {
435
+ case 0:
436
+ if (!(process.env.DUMI_APP_BUILD_ENV === 'development')) {
437
+ _context2.next = 7;
438
+ break;
439
+ }
440
+ //@ts-ignore
441
+ _groupFields = groupFields(costumColumnMap, columns), leftKeys = _groupFields.leftKeys, rightKeys = _groupFields.rightKeys, unfixedKeys = _groupFields.unfixedKeys, left = _groupFields.left, right = _groupFields.right, unfixed = _groupFields.unfixed;
442
+ /* 按当前勾选值生成完整列并回写 */
443
+ fullColumns = [].concat(_toConsumableArray(createColumns(left, [])), _toConsumableArray(createColumns(right, [])), _toConsumableArray(createColumns(unfixed, [])));
444
+ grid === null || grid === void 0 || grid.loadColumns(fullColumns);
445
+ setColumnStatus({
446
+ leftKeys: leftKeys,
447
+ rightKeys: rightKeys,
448
+ unfixedKeys: unfixedKeys,
449
+ left: left,
450
+ right: right,
451
+ unfixed: unfixed
452
+ });
453
+ _context2.next = 11;
454
+ break;
455
+ case 7:
456
+ _context2.next = 9;
457
+ return SelectBysceneIdAndCreateBy(pathname);
458
+ case 9:
459
+ res = _context2.sent;
460
+ if (res && res.success) {
461
+ _data3 = res.data || {};
462
+ /* ****** 2. 分组 + showKeys ****** */
463
+ _groupFields2 = groupFields(_data3.costumColumnMap, columns), _leftKeys = _groupFields2.leftKeys, _rightKeys = _groupFields2.rightKeys, _unfixedKeys = _groupFields2.unfixedKeys, _left = _groupFields2.left, _right = _groupFields2.right, _unfixed = _groupFields2.unfixed;
464
+ /* 按当前勾选值生成完整列并回写 */
465
+ _fullColumns = [].concat(_toConsumableArray(createColumns(_left, [])), _toConsumableArray(createColumns(_right, [])), _toConsumableArray(createColumns(_unfixed, [])));
466
+ grid === null || grid === void 0 || grid.loadColumns(_fullColumns);
467
+ setColumnStatus({
468
+ leftKeys: _leftKeys,
469
+ rightKeys: _rightKeys,
470
+ unfixedKeys: _unfixedKeys,
471
+ left: _left,
472
+ right: _right,
473
+ unfixed: _unfixed
474
+ });
475
+ }
476
+ case 11:
477
+ case "end":
478
+ return _context2.stop();
479
+ }
480
+ }, _callee2);
481
+ }));
482
+ return function getColumnStatus() {
483
+ return _ref4.apply(this, arguments);
484
+ };
485
+ }();
486
+ useEffect(function () {
487
+ getColumnStatus();
488
+ }, [pathname]);
388
489
 
389
490
  /* 编辑器节点 */
390
491
  var editorNode = useMemo(function () {
@@ -514,7 +615,17 @@ export default function VirtTable(props) {
514
615
  return null;
515
616
  }
516
617
  }, [editorType, editorCell, editorStyle, selectValue, numberValue, dateValue, selevelValue, userValue, deptValue]);
517
- return /*#__PURE__*/React.createElement("div", {
618
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
619
+ className: "virt-table-header"
620
+ }, /*#__PURE__*/React.createElement("div", {
621
+ className: "virt-table-header-title"
622
+ }, props.headerTitle), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Tools, _extends({}, props, {
623
+ //@ts-ignore
624
+ gridRef: grid
625
+ //@ts-ignore
626
+ ,
627
+ columnStatus: columnStatus
628
+ })))), /*#__PURE__*/React.createElement("div", {
518
629
  ref: coreRef,
519
630
  style: {
520
631
  position: 'relative',
@@ -558,5 +669,5 @@ export default function VirtTable(props) {
558
669
  })));
559
670
  }));
560
671
  }));
561
- })));
672
+ }))));
562
673
  }
@@ -99,6 +99,7 @@ export default class Cell extends BaseCell {
99
99
  private updateContainer;
100
100
  private updateSelection;
101
101
  private updateHoverIcon;
102
+ private drawUserPicker;
102
103
  /**
103
104
  * 获取自动高度
104
105
  * @returns
@@ -806,6 +806,36 @@ var Cell = /*#__PURE__*/function (_BaseCell) {
806
806
  this.ctx.canvasElement.setAttribute('data-hover-icon-event', this.hoverIconEvent || '');
807
807
  }
808
808
  }
809
+ }, {
810
+ key: "drawUserPicker",
811
+ value: function drawUserPicker() {
812
+ var paint = this.ctx.paint;
813
+
814
+ /* 矩形尺寸 & 圆角 */
815
+ var width = 40; // 宽
816
+ var height = 20; // 高
817
+ var radius = 10; // 圆角半径(半高即全圆角,可改小)
818
+
819
+ /* 左上角坐标,让矩形在单元格内水平+垂直居中 */
820
+ var x = this.drawX + (this.visibleWidth - width) / 2;
821
+ var y = this.drawY + (this.visibleHeight - height) / 2;
822
+
823
+ /* 灰色背景圆角矩形 */
824
+ paint.drawRect(x, y, width, height, {
825
+ fillColor: '#D0D0D0',
826
+ // 灰色
827
+ radius: radius // 圆角
828
+ });
829
+
830
+ /* 白色文字(首字符)居中 */
831
+ var text = (this.displayText || '').charAt(0).toUpperCase();
832
+ paint.drawText(text, x, y, width, height, {
833
+ font: '12px Arial',
834
+ color: '#fff',
835
+ align: 'center',
836
+ verticalAlign: 'middle'
837
+ });
838
+ }
809
839
  /**
810
840
  * 获取自动高度
811
841
  * @returns
@@ -1082,7 +1112,12 @@ var Cell = /*#__PURE__*/function (_BaseCell) {
1082
1112
  // 树连线(需在文本之前绘制,避免覆盖图标但不遮挡文本)
1083
1113
  this.drawTreeLine();
1084
1114
  // 文字与图标
1085
- this.drawText();
1115
+ /* 替掉原来的 drawText() 调用 */
1116
+ //if (this.editorType === 'UserPicker') {
1117
+ //this.drawUserPicker();
1118
+ //} else {
1119
+ this.drawText(); // 保持旧逻辑
1120
+ //}
1086
1121
  this.drawImage();
1087
1122
  this.drawSelector();
1088
1123
  this.drawAutofillPiont();
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { ToolsProps } from './types';
3
+ declare const ColumnSet: (props: ToolsProps) => React.JSX.Element;
4
+ export default ColumnSet;