antd-form-document 4.0.0 → 5.0.1

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.
Files changed (48) hide show
  1. package/dist/index.tsx +1 -1
  2. package/dist/index.tsx.map +1 -1
  3. package/dist/src/applets/index.d.ts +34 -34
  4. package/dist/src/components/Checkbox/index.d.ts +9 -9
  5. package/dist/src/components/DatePicker/index.d.ts +6 -6
  6. package/dist/src/components/DatePicker/index.d.ts.map +1 -1
  7. package/dist/src/components/Duration/index.d.ts +7 -7
  8. package/dist/src/components/Editor/index.d.ts +6 -6
  9. package/dist/src/components/FormList/index.d.ts +18 -18
  10. package/dist/src/components/InputNumber/index.d.ts +6 -6
  11. package/dist/src/components/Label/index.d.ts +5 -5
  12. package/dist/src/components/Photo/index.d.ts +5 -5
  13. package/dist/src/components/Radio/index.d.ts +9 -9
  14. package/dist/src/components/Select/index.d.ts +10 -10
  15. package/dist/src/components/SuperUpload/index.d.ts +5 -5
  16. package/dist/src/components/Switch/index.d.ts +6 -6
  17. package/dist/src/components/Table/index.d.ts +6 -6
  18. package/dist/src/components/Text/index.d.ts +6 -6
  19. package/dist/src/components/Text/index.d.ts.map +1 -1
  20. package/dist/src/components/TextArea/index.d.ts +6 -6
  21. package/dist/src/components/TimePicker/index.d.ts +6 -6
  22. package/dist/src/components/TimePicker/index.d.ts.map +1 -1
  23. package/dist/src/components/Tooltip/index.d.ts +5 -5
  24. package/dist/src/components/Upload/index.d.ts +5 -5
  25. package/dist/src/components/index.d.ts +18 -18
  26. package/dist/src/config.d.ts +35 -35
  27. package/dist/src/containers/Col/index.d.ts +2 -2
  28. package/dist/src/containers/Collapse/index.d.ts +3 -3
  29. package/dist/src/containers/Content/index.d.ts +3 -3
  30. package/dist/src/containers/Divider/index.d.ts +2 -2
  31. package/dist/src/containers/Row/index.d.ts +2 -2
  32. package/dist/src/containers/Steps/index.d.ts +2 -2
  33. package/dist/src/containers/index.d.ts +6 -6
  34. package/dist/src/context.d.ts +2 -2
  35. package/dist/src/entity/XML.d.ts +39 -39
  36. package/dist/src/form/index.d.ts +135 -135
  37. package/dist/src/index.d.ts +4 -4
  38. package/dist/src/preview/index.d.ts +18 -18
  39. package/dist/src/service/ProComponent.d.ts +12 -12
  40. package/dist/src/service/UIComponent.d.ts +106 -106
  41. package/dist/src/service/UIListComponent.d.ts +25 -25
  42. package/dist/src/service/WidgetComponent.d.ts +3 -3
  43. package/dist/src/service/index.d.ts +4 -4
  44. package/dist/src/utils/document.d.ts +43 -43
  45. package/dist/src/utils/loading.d.ts +19 -19
  46. package/dist/src/utils/request.d.ts +3 -3
  47. package/dist/src/utils/style.d.ts +7 -7
  48. package/package.json +24 -23
@@ -1 +1 @@
1
- {"version":3,"file":"index.tsx","sources":["../node_modules/style-inject/dist/style-inject.es.js","../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/toPrimitive.js","../node_modules/@babel/runtime/helpers/toPropertyKey.js","../node_modules/@babel/runtime/helpers/createClass.js","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/inherits.js","../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../src/entity/XML.ts","../src/utils/document.ts","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/regenerator/index.js","../src/applets/index.ts","../src/context.ts","../src/config.ts","../src/utils/loading.ts","../src/utils/request.ts","../src/utils/style.ts","../src/service/UIComponent.tsx","../src/service/ProComponent.tsx","../src/service/UIListComponent.tsx","../src/service/WidgetComponent.ts","../src/components/Label/index.tsx","../src/components/Tooltip/index.tsx","../src/preview/index.tsx","../src/components/Text/index.tsx","../src/components/TextArea/index.tsx","../src/components/InputNumber/index.tsx","../src/components/Editor/index.tsx","../src/components/Select/index.tsx","../src/components/Checkbox/index.tsx","../src/components/Radio/index.tsx","../src/components/Switch/index.tsx","../src/components/Duration/index.tsx","../src/components/DatePicker/index.tsx","../src/components/TimePicker/index.tsx","../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/toConsumableArray.js","../src/components/Upload/index.tsx","../src/components/Photo/index.tsx","../src/components/SuperUpload/index.tsx","../src/components/Table/index.tsx","../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js","../node_modules/@babel/runtime/helpers/extends.js","../src/components/FormList/index.tsx","../src/containers/Row/index.tsx","../src/containers/Col/index.tsx","../src/containers/Steps/index.tsx","../src/containers/Content/index.tsx","../src/containers/Divider/index.tsx","../src/containers/Collapse/index.tsx","../src/form/index.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import { parseInt, uniqueId } from \"lodash\";\r\n\r\nexport default class XML {\r\n readonly id: string;\r\n readonly tag: string;\r\n readonly text?: string;\r\n readonly attributes: { [name: string]: string | boolean } = {};\r\n readonly cdata?: string;\r\n readonly children?: XML[];\r\n\r\n constructor(element: Element) {\r\n // this.id = Math.floor(Math.random() * 1000000000).toString();\r\n this.id = uniqueId();\r\n /** 获得属性 */\r\n for (const item of element.attributes) {\r\n let value: string | boolean = item.value.trim();\r\n if (this.isBoolean(value)) {\r\n value = this.toBoolean(value);\r\n }\r\n this.attributes[item.name] = value;\r\n }\r\n\r\n /** 获得子元素 */\r\n this.children = new Array();\r\n for (const node of element.childNodes) {\r\n if (node instanceof Element) {\r\n this.children?.push(new XML(node));\r\n }\r\n /** 获得文本 */\r\n if (node.nodeType === 3 && node.textContent) {\r\n this.text = node.textContent;\r\n }\r\n /** 获得CDATA */\r\n if (node.nodeType === 4) {\r\n this.cdata = node.nodeValue?.replace(/\\ +/g, \" \").replace(/[\\t\\r\\n]/g, \"\");\r\n }\r\n }\r\n this.tag = element.nodeName;\r\n }\r\n\r\n /**\r\n * 判断是否为boolean型\r\n * \r\n * @param value \r\n * @returns \r\n */\r\n private isBoolean(value: string) {\r\n return value === \"true\" || value === \"false\";\r\n }\r\n\r\n /**\r\n * 转换boolean型\r\n * \r\n * @param value \r\n * @returns \r\n */\r\n private toBoolean(value: string) {\r\n return value === \"true\";\r\n }\r\n\r\n /**\r\n * 判断是否为number型\r\n * \r\n * @param value \r\n * @returns \r\n */\r\n private isNumber(value: string) {\r\n return /^\\d+$/.test(value);\r\n }\r\n\r\n /**\r\n * 转换number型\r\n * \r\n * @param value \r\n * @returns \r\n */\r\n private toNumber(value: string) {\r\n return parseInt(value, 10);\r\n }\r\n}","import XML from \"@/entity/XML\";\r\n\r\n/**\r\n * xml 解析类\r\n */\r\nexport default class XMLDocument {\r\n\r\n /**\r\n * document 解析 xml对象\r\n * \r\n * @param document \r\n * @returns \r\n */\r\n static parser(document: Document) {\r\n const element: Element = <Element>document.childNodes[0];\r\n return new XML(element);\r\n }\r\n\r\n /**\r\n * document字符串 转换 document对象\r\n * \r\n * @param documentString \r\n * @returns \r\n */\r\n static toDocument(documentString: string): Document {\r\n return new DOMParser().parseFromString(documentString, \"text/xml\");\r\n }\r\n\r\n /**\r\n * document字符串 转换 xml对象\r\n * \r\n * @param documentString \r\n * @returns \r\n */\r\n static getRoot(documentString: string): XML {\r\n const doc: Document = XMLDocument.toDocument(documentString);\r\n return XMLDocument.parser(doc);\r\n }\r\n\r\n /**\r\n * 选择单个元素\r\n * \r\n * @param document \r\n * @param selectors \r\n * @returns \r\n */\r\n static selector(document: Document | Element, selectors: string): Element | null {\r\n return document.querySelector(selectors);\r\n }\r\n\r\n /**\r\n * 选择多个元素\r\n * \r\n * @param document \r\n * @param selectors \r\n * @returns \r\n */\r\n static selectors(document: Document | Element, selectors: string): NodeListOf<Element> {\r\n return document.querySelectorAll(selectors);\r\n }\r\n}","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","import moment from 'moment';\r\n\r\n/**\r\n * validate 验证\r\n * \r\n * @param param0 \r\n * @returns \r\n */\r\nexport const validate = ({ type = 'string', required, minlength, maxlength, min, max, pattern, message }: any): Design.Rule => {\r\n if (required) {\r\n return { type, required, message };\r\n }\r\n if (minlength && maxlength) {\r\n return { type, min: Number(minlength), max: Number(maxlength), message };\r\n }\r\n if (min && max) {\r\n return { type, min: Number(min), max: Number(max), message };\r\n }\r\n if (type === \"phone\") {\r\n return { type: 'string', pattern: new RegExp('^[1][3,5,6,7,8][0-9]\\\\d{8}$'), message };\r\n }\r\n if (type === 'regexp' && typeof pattern === 'string') {\r\n return { type: 'string', pattern: new RegExp(pattern), message };\r\n }\r\n return { type, message };\r\n}\r\n\r\n/**\r\n * condition 条件\r\n * \r\n * @param param0 \r\n * @returns \r\n */\r\nexport const condition = (fields: object | undefined, preview: boolean) => ({ test }: { test: string }): boolean | undefined => {\r\n try {\r\n if (fields) {\r\n fields = { ...fields, preview }\r\n const keys: string = Object.keys(fields).join(\",\");\r\n const actuator: Function = new Function(`{${keys}}`, `return ${test}`);\r\n return actuator(fields);\r\n }\r\n } catch (e: any) {\r\n // console.warn(e.message);\r\n }\r\n return undefined;\r\n}\r\n\r\n/**\r\n * collection 集合\r\n * \r\n * @param param0 \r\n * @returns \r\n */\r\nexport const collection = (fields: object | undefined, { cdata }: { cdata: string }): Array<string> => {\r\n try {\r\n if (fields) {\r\n const keys: string = Object.keys(fields).join(\",\");\r\n const actuator: Function = new Function(`{${keys}}`, `${cdata}`);\r\n return actuator(fields);\r\n }\r\n const actuator: Function = new Function(`${cdata}`);\r\n return actuator();\r\n } catch (e: any) {\r\n // console.warn(e.message);\r\n }\r\n return [];\r\n}\r\n\r\n/**\r\n * compute 计算\r\n * \r\n * @param param0 \r\n * @returns \r\n */\r\nexport const compute = (fields: object | undefined, { cdata }: { cdata: string }): Array<string> | string | undefined => {\r\n try {\r\n if (fields) {\r\n const keys: string = Object.keys(fields).join(\",\");\r\n const actuator: Function = new Function(`{${keys}}`, 'moment', `${cdata}`);\r\n return actuator(fields, moment);\r\n }\r\n const actuator: Function = new Function('moment', `${cdata}`);\r\n return actuator(moment);\r\n } catch (e: any) {\r\n // console.warn(e.message);\r\n }\r\n return undefined;\r\n}\r\n","import React from \"react\";\r\n\r\nexport const DesignContext = React.createContext<Design.Context>({});","class DesignConfig {\r\n readonly request: {\r\n prefix: string;\r\n headers: {};\r\n params: {};\r\n } = {\r\n prefix: \"api\",\r\n headers: {},\r\n params: {},\r\n }\r\n readonly file: {\r\n listUrl: string,\r\n downloadUrl: string,\r\n uploadUrl: string,\r\n extraData?: {}\r\n } = {\r\n listUrl: \"/file/list\",\r\n downloadUrl: \"/file/download\",\r\n uploadUrl: \"/file/upload\",\r\n extraData: (file: Design.File.FileInfo, fileType: string) => {},\r\n }\r\n readonly style: {\r\n labelStyle: {}\r\n } = {\r\n labelStyle: {color: '#055ab5'}\r\n }\r\n readonly form: {\r\n documentUrl: string\r\n } = {\r\n documentUrl: \"/form/:formId\"\r\n }\r\n readonly chunk : {\r\n checkFile: string,\r\n checkChunk: string,\r\n chunkUpload: string,\r\n doMerge: string,\r\n mergeProgress: string,\r\n onComplete: string,\r\n completeProgress: string,\r\n chunkSize: number,\r\n } = {\r\n chunkSize: 10 * 1024 ** 2,\r\n checkFile: \"/chunk/checkFile\",\r\n checkChunk: \"/chunk/checkChunk\",\r\n chunkUpload: \"/chunk/chunkUpload\",\r\n doMerge: \"/chunk/doMerge\",\r\n mergeProgress: \"/chunk/mergeProgress\",\r\n onComplete: \"/chunk/onComplete\",\r\n completeProgress: \"/chunk/completeProgress\"\r\n }\r\n\r\n readonly components?: any\r\n \r\n private constructor(conf?: Design.Config) {\r\n if (conf) {\r\n const { request, file, form, chunk, components } = conf;\r\n this.request = { ...this.request, ...request };\r\n this.file = { ...this.file, ...file };\r\n this.form = { ...this.form, ...form };\r\n this.chunk = { ...this.chunk, ...chunk };\r\n this.components = components;\r\n }\r\n }\r\n\r\n static init(conf?: Design.Config) {\r\n return new DesignConfig(conf);\r\n }\r\n}\r\n\r\nlet config: DesignConfig = DesignConfig.init();\r\nconst defineConfig = (conf: Design.Config) => {\r\n config = DesignConfig.init(conf)\r\n}\r\n\r\nexport { defineConfig, config }","let num = 0;\r\nconst listeners: ((loading: boolean) => void)[] = [];\r\n\r\n/**\r\n * 注册loading\r\n * \r\n * @param payload \r\n */\r\nexport const regrister = (payload: (loading: boolean) => void) => {\r\n if (typeof payload === 'function') {\r\n listeners.push(payload);\r\n }\r\n}\r\n\r\n/**\r\n * 触发\r\n * \r\n * @param loading \r\n */\r\nconst trigger = async (loading: boolean) => {\r\n if (num === 0) {\r\n for (const callback of listeners) {\r\n callback(loading);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * 开始加载loading\r\n */\r\nexport const begin = async () => {\r\n if (num ++ === 0) {\r\n trigger(true);\r\n }\r\n}\r\n\r\n/**\r\n * 结束加载loading\r\n * \r\n */\r\nexport const end = async () => {\r\n if (-- num === 0) {\r\n trigger(false);\r\n }\r\n}\r\n\r\n/**\r\n * 错误loading\r\n */\r\nexport const error = async () => {\r\n num = 0;\r\n trigger(false);\r\n}","import { cloneDeep } from 'lodash';\r\nimport { extend } from 'umi-request';\r\nimport { parse, compile } from 'path-to-regexp';\r\nimport { config } from '@/config';\r\nimport { begin, end, error } from './loading';\r\n\r\nconst umiRequest = extend({\r\n prefix: config.request.prefix,\r\n timeout: 10000,\r\n});\r\n\r\n/** loading全局中间件 */\r\numiRequest.use(async (ctx, next) => {\r\n try {\r\n begin();\r\n await next();\r\n end();\r\n } catch (e) {\r\n error();\r\n throw e;\r\n }\r\n}, { global: true });\r\n\r\n/** 请求访问 **/\r\nconst request = (targetUrl: string, options: any) => {\r\n const cloneData = cloneDeep(options.data);\r\n let url = targetUrl;\r\n try {\r\n // 过滤protocol、domain、host\r\n let domain = '';\r\n const urlMatch = url.match(/[a-zA-z]+:\\/\\/[^/]*/);\r\n if (urlMatch) {\r\n [domain] = urlMatch;\r\n url = url.slice(domain.length);\r\n }\r\n // 编译url参数\r\n const match = parse(url);\r\n url = compile(url)(options.data);\r\n match.forEach((item: any) => {\r\n if (item instanceof Object && item.name in cloneData) {\r\n delete cloneData[item.name];\r\n }\r\n });\r\n url = domain + url;\r\n } catch (e: any) {\r\n console.error(e.message);\r\n }\r\n if (options.method.toLocaleUpperCase() === 'GET') {\r\n options.params = cloneData;\r\n } else if (options.type){\r\n options.requestType = options.type\r\n }\r\n options.prefix = config.request.prefix; \r\n // 调用umi-request\r\n return umiRequest(url, options)\r\n .then(({ status, ...rest }: any) => {\r\n const success = status === 200;\r\n return Promise.resolve({\r\n success,\r\n ...rest,\r\n });\r\n })\r\n .catch(({ response, data }: any) => {\r\n const message = data?.message ?? '访问超时';\r\n console.error(url, response, data);\r\n return Promise.resolve({\r\n success: false,\r\n message,\r\n });\r\n });\r\n};\r\n\r\n/** request **/\r\nexport default (uri: string) => {\r\n let [method, type, url] = ['GET', 'json', uri];\r\n const uriArray = uri.split(' ')\r\n if (uriArray.length === 2) {\r\n [method, url] = uriArray;\r\n } else if (uriArray.length === 3) {\r\n [method, type, url] = uriArray;\r\n }\r\n return (data?: any) => request(url, { method, type, data });\r\n}\r\n","import { camelCase } from 'lodash';\r\n\r\n/**\r\n * 转换样式对象\r\n * \r\n * @param style string\r\n * @returns styles\r\n */\r\nexport const toStyles = (style: string | undefined) => {\r\n const styles: {} = {};\r\n if (style) {\r\n const styleArray: string[] = style.replace(/\\ +/g, \"\").split(\";\");\r\n styleArray.forEach(items => {\r\n if (items) {\r\n const [key, value] = items.split(\":\");\r\n Object.assign(styles, { [camelCase(key)]: value });\r\n }\r\n });\r\n }\r\n return styles;\r\n}","import React from \"react\";\r\nimport { every, some, find } from \"lodash\";\r\nimport { collection, compute, condition, validate } from \"@/applets\";\r\nimport { DesignContext } from \"@/context\";\r\nimport request from \"@/utils/request\";\r\nimport { config } from \"@/config\";\r\nimport { toStyles } from \"@/utils/style\";\r\n\r\nexport default class UIComponent<P extends Design.ComponentProps, S = {}> extends React.PureComponent<P, S> {\r\n declare context: React.ContextType<typeof DesignContext>\r\n\r\n styleWrapper = { style: { borderBottom: '1px solid #d9d9d9' } };\r\n\r\n /**\r\n * 设置字段默认值\r\n * \r\n * @param defaultValue \r\n */\r\n setDefaultValue<T>(defaultValue: T): void {\r\n const form = this.context.form;\r\n if (form) {\r\n const code = this.props.code;\r\n const value = form.current?.getFieldValue(code);\r\n if (!value) {\r\n form.current?.setFieldValue(code, defaultValue);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 设置当前字段值\r\n * \r\n * @param value \r\n */\r\n setFieldValue<T>(value: T | undefined): void {\r\n const form = this.context.form;\r\n if (form) {\r\n const code = this.props.code;\r\n form.current?.setFieldValue(code, value);\r\n }\r\n }\r\n\r\n /**\r\n * 清楚当前值\r\n * \r\n */\r\n cleanFieldValue(): void {\r\n setTimeout(() => {\r\n this.setFieldValue(undefined);\r\n }, 1);\r\n }\r\n\r\n /**\r\n * 获得当前值\r\n * \r\n * @returns \r\n */\r\n getFieldValue<T>(): T | undefined {\r\n const form = this.context.form;\r\n if (form) {\r\n const code = this.props.code;\r\n return form.current?.getFieldValue(code);\r\n }\r\n }\r\n\r\n /**\r\n * 获得所有form对象值\r\n * \r\n * @returns \r\n */\r\n getFieldsValue(): object | undefined {\r\n const form = this.context.form;\r\n if (form) {\r\n return form.current?.getFieldsValue();\r\n }\r\n }\r\n\r\n /**\r\n * 获得标签\r\n * \r\n * @returns \r\n */\r\n getLabel() {\r\n const isShowTitle = this.context.showTitle\r\n if (isShowTitle) {\r\n const { title, labelStyle } = this.props;\r\n const labelStyles = toStyles(labelStyle);\r\n return <span style={{ ...config.style.labelStyle, ...labelStyles }}>{title}</span>;\r\n }\r\n }\r\n\r\n /**\r\n * 获得item信息\r\n * \r\n * @returns \r\n */\r\n getItem(): { itemProps: {}, itemLayouts: {} } {\r\n const { preview, labelCol, wrapperCol, tips } = this.props;\r\n const itemLayouts = labelCol && wrapperCol ? { labelCol: { span: labelCol }, wrapperCol: { span: wrapperCol } } : {};\r\n let itemProps: {};\r\n if (preview) {\r\n itemProps = { required: false };\r\n Object.assign(itemLayouts.wrapperCol ?? {}, this.styleWrapper);\r\n } else {\r\n itemProps = { tooltip: tips };\r\n }\r\n return { itemProps, itemLayouts };\r\n }\r\n\r\n /**\r\n * 样式\r\n * \r\n * @returns \r\n */\r\n getStyles(): { styles: {}, itemStyles: {} } {\r\n const { style, itemStyle } = this.props;\r\n const styles = toStyles(style);\r\n const itemStyles = toStyles(itemStyle);\r\n return { styles, itemStyles };\r\n }\r\n\r\n /**\r\n * 条件\r\n * \r\n * @param defaultHide \r\n * @param children \r\n * @returns \r\n */\r\n display(): boolean {\r\n const preview = this.context.preview ?? false;\r\n const fileds = this.getFieldsValue();\r\n const { defaultHide = false, children } = this.props;\r\n const show: boolean = !defaultHide;\r\n const conditions: Design.Modal.ConditionXML | undefined = find(children, { tag: \"Conditions\" });\r\n if (conditions) {\r\n const { type, action } = conditions;\r\n const list = conditions.children?.map(condition(fileds, preview));\r\n if (list?.length > 0 && list?.[0] !== undefined) {\r\n let result: boolean = false;\r\n if (type === 'and') {\r\n result = every(list);\r\n } else {\r\n result = some(list);\r\n }\r\n if ((result && action === 'hide') || (!result && action === 'show')) {\r\n return false;\r\n } else if ((!result && action === 'hide') || (result && action === 'show')) {\r\n return true;\r\n }\r\n }\r\n }\r\n return show;\r\n }\r\n\r\n /**\r\n * 规则\r\n * \r\n * @param preview \r\n * @param children \r\n * @returns \r\n */\r\n rules(): Design.Rule[] {\r\n const { preview, children } = this.props;\r\n if (!preview) {\r\n const validates = find(children, { tag: \"Validates\" });\r\n return validates?.children?.map(validate) ?? [];\r\n }\r\n return [];\r\n }\r\n\r\n /**\r\n * 可选内容列表\r\n * \r\n * @param children \r\n * @returns \r\n */\r\n collectionList(): string[] | undefined {\r\n const content = find(this.props.children, { tag: \"Collection\" });\r\n if (content) {\r\n const fileds = this.getFieldsValue();\r\n return collection(fileds, content);\r\n }\r\n return undefined;\r\n }\r\n\r\n /**\r\n * 计算值\r\n * \r\n * @param children \r\n * @returns \r\n */\r\n onComputeValue(): void {\r\n const content = find(this.props.children, { tag: \"Compute\" });\r\n if (content) {\r\n const fileds = this.getFieldsValue();\r\n const computeValue = compute(fileds, content);\r\n if (computeValue) {\r\n setTimeout(() => {\r\n this.setFieldValue(computeValue);\r\n }, 1);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 初始化值\r\n * \r\n * @param value \r\n */\r\n initValue(value?: string): void {\r\n const { defaultValue = value } = this.props;\r\n if (defaultValue) {\r\n this.setDefaultValue(defaultValue);\r\n }\r\n }\r\n\r\n /**\r\n * 请求网络\r\n * \r\n * @param remote \r\n * @returns \r\n */\r\n request = async (remote: string, args?: object) => {\r\n const params = args ?? this.context.params;\r\n return request(remote)({ ...params }).then(response => {\r\n const { success, data }: Design.Result = response;\r\n if (success) {\r\n if (Array.isArray(data)) {\r\n const list = data.map(item => {\r\n const [key, label] = Object.entries<string>(item)?.[0];\r\n return { key, label };\r\n });\r\n return Promise.resolve(list);\r\n } else {\r\n return Promise.resolve(data);\r\n }\r\n }\r\n return Promise.reject(undefined);\r\n }).catch(error => {\r\n console.error(\"remote\", remote, error);\r\n return Promise.reject(error);\r\n });\r\n }\r\n\r\n}\r\n\r\nUIComponent.contextType = DesignContext;","import React from \"react\";\r\nimport { Form } from \"antd\";\r\nimport UIComponent from \"./UIComponent\";\r\n\r\ninterface ProComponentProps extends Design.ComponentProps {\r\n Component: any;\r\n}\r\n\r\nexport default class ProComponent extends UIComponent<ProComponentProps> {\r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n initValue = () => {\r\n const { defaultValue } = this.props;\r\n if (defaultValue) {\r\n this.forceUpdate(() => {\r\n this.setDefaultValue(defaultValue);\r\n });\r\n }\r\n };\r\n\r\n onChange = (value: string) => {\r\n this.setFieldValue(value);\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, hidden } = this.props;\r\n const { Component, defaultValue, style, ...props } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {<Component {...props} style={styles} onChange={this.onChange}/>}\r\n </Form.Item>\r\n );\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import { find } from \"lodash\";\r\nimport UIComponent from \"./UIComponent\";\r\n\r\nexport default class UIListComponent<P extends Design.ComponentProps, S = {}> extends UIComponent<P, S> {\r\n\r\n /**\r\n * 选项列表\r\n * \r\n * @param children \r\n * @returns \r\n */\r\n optionList(): Design.ItemOption[] | undefined {\r\n const options = find(this.props.children, { tag: \"Options\" })\r\n return options?.children as [];\r\n }\r\n\r\n /**\r\n * 添加校验规则\r\n * \r\n * @returns \r\n */\r\n plusRules(): Design.Rule[] {\r\n const rules = this.rules();\r\n return rules?.map(rule => {\r\n if (rule.required) {\r\n const validator = (_: unknown, value: string) => value?.length > 0 ? Promise.resolve() : Promise.reject();\r\n return { ...rule, validator };\r\n }\r\n if (rule.min && rule.max) {\r\n const validator = (_: unknown, list: any[]) => list.length >= rule.min! && list.length <= rule.max! ? Promise.resolve() : Promise.reject();\r\n return { ...rule, validator };\r\n }\r\n return { ...rule };\r\n });\r\n }\r\n\r\n /**\r\n * 获得资源列表\r\n * \r\n * @param list \r\n * @param itemList \r\n * @param reset \r\n * @returns \r\n */\r\n getList = (list: Design.ItemOption[], itemList: string[] | undefined, reset: (plist: Design.ItemOption[]) => void) => {\r\n if (itemList) {\r\n const plist = list.filter(({ key }) => itemList.includes(key));\r\n reset(plist);\r\n return plist;\r\n }\r\n return list;\r\n }\r\n}","import React, { PureComponent } from \"react\";\r\n\r\nexport default class WidgetComponent<P = {}, S = {}> extends PureComponent<P, S> {\r\n\r\n}","import React from 'react';\r\nimport { Form } from 'antd';\r\nimport { UIComponent } from '@/service';\r\n\r\nexport default class Label extends UIComponent<Design.ComponentProps> {\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.rules();\r\n const { title, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n wrapperCol={{ span: 24 }}\r\n >\r\n <div style={styles}>{title}</div>\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}","import React from 'react';\r\nimport { Form } from 'antd';\r\nimport { UIComponent } from '@/service';\r\n\r\nexport default class Tooltip extends UIComponent<Design.ComponentProps> {\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n const { preview, } = this.props;\r\n if (show && !preview) {\r\n const { title, hidden, children } = this.props; \r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item style={itemStyles} hidden={hidden} wrapperCol={{ span: 24 }}>\r\n <div style={styles}>{title ?? children}</div>\r\n </Form.Item>\r\n );\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport { Space, Image } from 'antd';\r\nimport { config } from '@/config';\r\n\r\n/** 文本预览 */\r\nexport const PreviewText = ({ value, type, style, onChange }: Design.PreviewProps) => {\r\n useEffect(() => {\r\n onChange?.(value);\r\n }, []);\r\n if (value && type === \"url\") {\r\n return <div style={style}><a href={value} target=\"_blank\" rel=\"noreferrer\">{value}</a></div>\r\n }\r\n return <div style={style}>{value}</div>\r\n}\r\n\r\n/** 时长预览 */\r\nexport const PreviewDuration = ({ value, style, onChange }: any) => {\r\n useEffect(() => {\r\n onChange(value);\r\n }, []);\r\n if (value) {\r\n const [hour, minute, second] = value?.split(\":\");\r\n return <div style={style}>{`${hour}小时${minute}分${second}秒`}</div>\r\n } else {\r\n return <div style={style}>000时00分00秒</div>\r\n }\r\n}\r\n\r\n/** 切换预览 */\r\nexport const PreviewSwitch = ({ checked, style, onChange }: any) => {\r\n useEffect(() => {\r\n onChange(checked);\r\n }, []);\r\n return <div style={style}>{checked ? \"开启\" : \"关闭\"}</div>\r\n}\r\n\r\n/** 列表预览 */\r\nexport const PreviewList = ({ value, list, style, onChange }: any) => {\r\n useEffect(() => {\r\n onChange(value);\r\n }, []);\r\n\r\n if (Array.isArray(value)) {\r\n const items = list.filter(({ key }: any) => value.includes(key)).map(({ label }: any) => label);\r\n return <div style={style}>{items?.join()}</div>\r\n } else {\r\n const item = list?.find(({ key }: any) => key === value);\r\n return <div style={style}>{item?.label}</div>\r\n }\r\n}\r\n\r\n/** 文件预览 */\r\nexport const PreviewFile = ({ fileList }: { fileList: any[]}) => {\r\n const downloadUrl = config.request.prefix + config.file.downloadUrl;\r\n return <>\r\n {fileList?.map(({ id, name, url, contentType }: any) => {\r\n const uri = downloadUrl + \"/\" + id;\r\n /** pdf文本预览 */\r\n if (contentType?.endsWith(\"pdf\")) {\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <a href={url} target=\"_blank\" rel=\"noreferrer\">{name}</a>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n /** 图片文本预览 */\r\n if (contentType?.startsWith(\"image\")) {\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <Image width={200} src={url} alt={name} />\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n /** 视频文本预览 */\r\n if (contentType?.startsWith(\"video\")) {\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <video src={url} controls style={{ width: 260 }}>当前浏览器不支持视频播放,请使用最新版谷歌浏览器!</video>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n /** 音频文本预览 */\r\n if (contentType?.startsWith(\"audio\")) {\r\n return <div key={id}>\r\n <div style={{ paddingBottom: 10, display: 'flex', alignItems: 'center' }}>\r\n <audio src={url} controls style={{ width: 'calc(100% - 40px)', height: 30 }}>当前浏览器不支持音频播放,请使用最新版谷歌浏览器!</audio>\r\n <a style={{ paddingLeft: 10 }} href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </div>\r\n </div>\r\n }\r\n /** office文本预览 */\r\n if (name?.endsWith(\".doc\") || name?.endsWith(\".docx\") || name?.endsWith(\".xls\") || name?.endsWith(\".xlsx\") || name?.endsWith(\".ppt\") || name?.endsWith(\".pptx\")) {\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <a href={'http://view.officeapps.live.com/op/view.aspx?src=' + url} target=\"_blank\" rel=\"noreferrer\">{name}</a>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n /** 默认文本预览 */\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <a href={url} target=\"_blank\" rel=\"noreferrer\">{name}</a>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n })}\r\n </>\r\n}\r\n\r\nexport const PreviewImage = ({ fileList, width, height, style } : { fileList: any[], width: number, height: number, style?: object }) =>\r\n <>\r\n {fileList?.map(({ id, name, url }) => (\r\n <div key={id} style={style}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <Image width={width} height={height} src={url} alt={name} />\r\n <a href={config.request.prefix + config.file.downloadUrl + \"/\" + id} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n ))}\r\n </>","import React from \"react\";\r\nimport { Form, Input } from \"antd\";\r\nimport { UIComponent } from '@/service';\r\nimport { PreviewText } from \"@/preview\";\r\n\r\nexport default class Text extends UIComponent<Design.ComponentProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, type, preview, placeholder, maxLength, allowClear, showCount, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewText type={type} style={styles} /> : <Input maxLength={maxLength} placeholder={placeholder} allowClear={allowClear} showCount={showCount} disabled={readonly} style={styles} />}\r\n </Form.Item>\r\n );\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { Form, Input } from \"antd\";\r\nimport { UIComponent } from '@/service';\r\nimport { PreviewText } from \"@/preview\";\r\n\r\nexport default class TextArea extends UIComponent<Design.ComponentProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue(); \r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { code, preview, placeholder, maxLength, allowClear, showCount, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles} = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : (rules as [])}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewText style={styles} /> : <Input.TextArea maxLength={maxLength} placeholder={placeholder} allowClear={allowClear} showCount={showCount} disabled={readonly} style={styles} />}\r\n </Form.Item>\r\n );\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { Form, InputNumber as Numerial } from \"antd\";\r\nimport { UIComponent } from '@/service';\r\nimport { PreviewText } from \"@/preview\";\r\n\r\nexport default class InputNumber extends UIComponent<Design.NumberProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const { type = \"number\", precision } = this.props;\r\n let numberProps: {} = {};\r\n if (type === \"digits\") {\r\n if (precision) {\r\n numberProps = {\r\n precision: Number(precision),\r\n };\r\n } else {\r\n numberProps = {\r\n precision: 2,\r\n };\r\n }\r\n } else if (type === \"money\") {\r\n numberProps = {\r\n formatter: (value: string) =>\r\n `¥ ${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\"),\r\n parser: (value: string) => value!.replace(/\\$\\s?|(,*)/g, \"\"),\r\n };\r\n } else if (type === \"percentage\") {\r\n numberProps = {\r\n formatter: (value: string) => `${value}%`,\r\n parser: (value: string) => value!.replace(\"%\", \"\"),\r\n };\r\n }\r\n this.onComputeValue();\r\n const rules = this.rules().map(rule => rule.required ? { ...rule, type: \"integer\" } : rule);\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, preview, min, max, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : (rules as [])}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? (<PreviewText style={styles} />) : (<Numerial min={min} max={max} disabled={readonly} {...numberProps} style={styles} />)}\r\n </Form.Item>\r\n );\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Form } from 'antd';\r\nimport ReactWEditor from 'wangeditor-for-react';\r\nimport { PreviewText } from '@/preview';\r\nimport { UIComponent } from '@/service';\r\n\r\nexport default class Editor extends UIComponent<Design.ComponentProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, title, preview, placeholder, hidden, readonly } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n colon={!!title}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {(preview || readonly) ? <PreviewText style={styles} /> : <EditorWidget placeholder={placeholder} style={styles} />}\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass EditorWidget extends React.Component<Design.WidgetProps> {\r\n isReactWEditor = false\r\n editorRef: React.RefObject<any> = React.createRef();\r\n \r\n shouldComponentUpdate() {\r\n return !this.isReactWEditor\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { value, placeholder, style, onChange } = this.props;\r\n return (\r\n <ReactWEditor\r\n placeholder={placeholder} \r\n value={value}\r\n style={style}\r\n onBlur={() => {\r\n this.isReactWEditor = false\r\n }}\r\n onFocus={() => {\r\n this.isReactWEditor = true\r\n }}\r\n onChange={(value: string) => {\r\n onChange?.(value);\r\n }}\r\n />\r\n );\r\n } \r\n}\r\n","import React from 'react';\r\nimport { Form, Select } from 'antd';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { PreviewList } from '@/preview';\r\n\r\nexport default class SelectList extends UIListComponent<Design.RemoteProps, Design.ListState> {\r\n state = {\r\n list: [],\r\n }\r\n \r\n componentDidMount(): void { \r\n const { remote } = this.props;\r\n const optionList = this.optionList();\r\n if (optionList) {\r\n this.setState({ \r\n list: optionList\r\n }, this.initValue);\r\n } else if (remote && remote.trim().length > 0) {\r\n this.request(remote).then((list: Design.ItemOption[]) => {\r\n this.setState({ list }, this.initValue);\r\n });\r\n }\r\n }\r\n\r\n initValue() {\r\n const { defaultValue, multiple } = this.props;\r\n if (defaultValue) {\r\n if (multiple) {\r\n this.setDefaultValue([defaultValue]);\r\n } else {\r\n this.setDefaultValue(defaultValue);\r\n }\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const { code, preview, multiple, placeholder, allowClear = true, readonly, hidden } = this.props;\r\n const rules = multiple ? this.plusRules() : this.rules();\r\n const itemList = this.collectionList();\r\n const list = this.getList(this.state.list, itemList, (plist) => {\r\n if (plist.length > 0) {\r\n const currentValue = this.getFieldValue<string | string[]>();\r\n if (currentValue && (\r\n (!multiple && !plist.some(item => item.key === currentValue)) ||\r\n (multiple && !plist.some(item => currentValue.includes(item.key)))\r\n )) {\r\n this.cleanFieldValue();\r\n }\r\n }\r\n });\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewList list={this.state.list} style={styles} /> :\r\n <SelectWidget list={list} multiple={multiple} placeholder={placeholder} allowClear={allowClear} readonly={readonly} style={styles} />\r\n }\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nconst { Option } = Select;\r\nclass SelectWidget extends WidgetComponent<Design.WidgetProps> {\r\n\r\n handleItemValue = (value: string) => {\r\n this.props.onChange?.(value);\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { list, value, multiple, placeholder, allowClear, readonly, style } = this.props;\r\n return (<Select\r\n showSearch\r\n placeholder={placeholder}\r\n mode={multiple ? \"multiple\" : undefined}\r\n disabled={readonly}\r\n value={value as string}\r\n allowClear={allowClear}\r\n style={style}\r\n onChange={this.handleItemValue}\r\n filterOption={(inputValue: string, option: any) =>\r\n (option!.children as unknown as string).toLowerCase().includes(inputValue.toLowerCase())\r\n }\r\n >\r\n {list && (list.map(({ key, label }) => <Option key={key} value={key}>{label}</Option>))}\r\n </Select>);\r\n }\r\n}","import React from 'react';\r\nimport { Form, Checkbox } from 'antd';\r\nimport { PreviewList } from '@/preview';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\n\r\nexport default class CheckBox extends UIListComponent<Design.RemoteProps, Design.ListState> {\r\n state = {\r\n list: [],\r\n }\r\n \r\n componentDidMount(): void {\r\n const { remote } = this.props;\r\n const optionList = this.optionList();\r\n if (optionList) {\r\n this.setState({\r\n list: optionList\r\n }, this.initValue);\r\n } else if (remote && remote.trim().length > 0) {\r\n this.request(remote).then((list: Design.ItemOption[]) => {\r\n this.setState({ list }, this.initValue);\r\n });\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.plusRules();\r\n const itemList = this.collectionList();\r\n const list = this.getList(this.state.list, itemList, (plist) => {\r\n if (plist.length > 0) {\r\n const currentValue = this.getFieldValue<string[]>();\r\n if (currentValue && !plist.some(item => currentValue.includes(item.key))) {\r\n this.cleanFieldValue();\r\n }\r\n }\r\n });\r\n const { code, preview, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n { preview ? <PreviewList list={this.state.list} style={styles} /> : <CheckboxWidget list={list} readonly={readonly} style={styles}/> }\r\n </Form.Item>\r\n )\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nclass CheckboxWidget extends WidgetComponent<Design.WidgetProps> {\r\n render(): React.ReactNode {\r\n const { value, list, readonly, style, onChange } = this.props;\r\n return (\r\n <Checkbox.Group\r\n style={style}\r\n value={value as string[]}\r\n onChange={(value: any) => {\r\n onChange?.(value);\r\n }}\r\n >\r\n {list && (list.map(({ key, label }) => <Checkbox key={key} value={key} disabled={readonly}>{label}</Checkbox>))}\r\n </Checkbox.Group>\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Form, Radio } from 'antd';\r\nimport { PreviewList } from '@/preview';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\n\r\nexport default class RadioButton extends UIListComponent<Design.Radio.Props, Design.ListState> {\r\n state = {\r\n list: [],\r\n }\r\n \r\n componentDidMount(): void {\r\n const { remote } = this.props;\r\n const optionList = this.optionList();\r\n if (optionList) {\r\n this.setState({ \r\n list: optionList\r\n }, this.initValue);\r\n } else if (remote && remote.trim().length > 0) {\r\n this.request(remote).then((list: Design.ItemOption[]) => {\r\n this.setState({ list }, this.initValue);\r\n });\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const itemList = this.collectionList();\r\n const list = this.getList(this.state.list, itemList, (plist) => {\r\n if (plist.length > 0) {\r\n const currentValue = this.getFieldValue<string>();\r\n if (currentValue && !plist.some(item => currentValue.includes(item.key))) {\r\n this.cleanFieldValue();\r\n }\r\n }\r\n });\r\n const { code, preview, optionType, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewList list={list} style={styles} /> : <RadioWidget list={this.state.list} optionType={optionType} readonly={readonly} style={styles} />}\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n } \r\n}\r\n\r\nclass RadioWidget extends WidgetComponent<Design.Radio.WidgetProps> {\r\n render(): React.ReactNode {\r\n const { value, list, optionType, readonly, style, onChange } = this.props;\r\n return (\r\n <Radio.Group\r\n value={value}\r\n optionType={optionType}\r\n style={style}\r\n onChange={(e: any) => {\r\n onChange?.(e.target.value);\r\n }}\r\n >\r\n {list && (list.map(({ key, label }) => <Radio key={key} value={key} disabled={readonly}>{label}</Radio>))}\r\n </Radio.Group>\r\n );\r\n } \r\n}\r\n","import React from 'react';\r\nimport { Form, Switch } from 'antd';\r\nimport { PreviewSwitch } from '@/preview';\r\nimport { UIComponent } from '@/service';\r\n\r\nexport default class SwitchButton extends UIComponent<Design.ComponentProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { code, preview, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n label={this.getLabel()}\r\n name={code}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"checked\"\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewSwitch style={styles} /> : <Switch disabled={readonly} style={styles} />}\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}","import React from 'react';\r\nimport { Form, InputNumber } from 'antd';\r\nimport format from 'number-format.js';\r\nimport { PreviewDuration } from '@/preview';\r\nimport { UIComponent, WidgetComponent } from '@/service';\r\nimport './index.css';\r\n\r\nexport default class Duration extends UIComponent<Design.ComponentProps> {\r\n\r\n componentDidMount(): void {\r\n this.initValue(\"000:00:00\");\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, preview, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n { preview ? <PreviewDuration style={styles} /> : <DurationWidget readonly={readonly} style={styles}/> }\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass DurationWidget extends WidgetComponent<Design.WidgetProps> {\r\n\r\n duration: number[] = [0, 0, 0];\r\n \r\n changeValue = (index: number) => (changeValue: number | null) => {\r\n if (typeof changeValue === \"number\") {\r\n this.duration[index] = changeValue;\r\n const durations = this.duration.map((value: number, index: number) => (index === 0 ? format(\"000\", value) : format(\"00\", value)));\r\n this.props.onChange?.(durations.join(\":\"));\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { value, readonly, style } = this.props;\r\n if (typeof value === \"string\") {\r\n this.duration = value.split(\":\").map(Number);\r\n }\r\n return (\r\n <div className=\"duration\">\r\n <Form.Item>\r\n <InputNumber style={{width: '100%', ...style}} min={0} max={999} precision={0} value={this.duration[0]}\r\n formatter={(value: any) => value! < 100 ? (value! < 10 ? '00'+ value : '0'+ value) : value!.toString()}\r\n onChange={this.changeValue(0)} controls={false} disabled={readonly}\r\n />\r\n </Form.Item><span>小时</span>\r\n <Form.Item>\r\n <InputNumber style={{width: '100%', ...style}} min={0} max={59} precision={0} value={this.duration[1]}\r\n formatter={(value: any) => value! < 10 ? '0'+ value : value!.toString()}\r\n onChange={this.changeValue(1)} controls={false} disabled={readonly}\r\n />\r\n </Form.Item><span>分</span>\r\n <Form.Item>\r\n <InputNumber style={{width: '100%', ...style}} min={0} max={59} precision={0} value={this.duration[2]}\r\n formatter={(value: any) => value! < 10 ? '0'+ value : value!.toString()}\r\n onChange={this.changeValue(2)} controls={false} disabled={readonly}\r\n />\r\n </Form.Item><span>秒</span>\r\n </div>\r\n )\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Form, DatePicker } from 'antd';\r\nimport moment from 'moment';\r\nimport { PreviewText } from '@/preview';\r\nimport { UIComponent, WidgetComponent } from '@/service';\r\n\r\nexport default class Datepicker extends UIComponent<Design.Picker.Props> {\r\n\r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, type = \"date\", format = \"YYYY-MM-DD\", showTime = false, preview, placeholder, allowClear = true, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n { preview ? <PreviewText style={styles}/> : <DateWidget type={type} format={format} showTime={showTime} placeholder={placeholder} allowClear={allowClear} readonly={readonly} style={styles} /> }\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass DateWidget extends WidgetComponent<Design.Picker.WidgetProps> {\r\n render(): React.ReactNode {\r\n const { value, type, format, showTime, placeholder, allowClear, readonly, style, onChange } = this.props; \r\n return (\r\n <DatePicker \r\n value={value ? moment(value, format) : undefined}\r\n picker={type}\r\n format={format}\r\n showTime={showTime ? { format: 'HH:mm' } : undefined}\r\n placeholder={placeholder}\r\n allowClear={allowClear}\r\n disabled={readonly} \r\n style={style}\r\n onChange={(value: any) => {\r\n onChange?.(value?.format(format));\r\n }}\r\n />\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Form, TimePicker } from 'antd';\r\nimport moment from 'moment';\r\nimport { UIComponent, WidgetComponent } from '@/service';\r\nimport { PreviewText } from '@/preview';\r\n\r\nexport default class Timepicker extends UIComponent<Design.Picker.Props> {\r\n\r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, format = \"HH:mm:ss\", preview, placeholder, allowClear = true, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewText style={styles} /> : <TimeWidget format={format} placeholder={placeholder} allowClear={allowClear} readonly={readonly} style={styles} />}\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass TimeWidget extends WidgetComponent<Design.Picker.WidgetProps> {\r\n render(): React.ReactNode {\r\n const { value, format, placeholder, allowClear, readonly, style, onChange } = this.props;\r\n return (\r\n <TimePicker \r\n value={value ? moment(value, format) : undefined}\r\n format={format}\r\n placeholder={placeholder}\r\n allowClear={allowClear}\r\n disabled={readonly}\r\n style={style}\r\n onChange={(value: any) => {\r\n onChange?.(value?.format(format))\r\n }} />\r\n )\r\n }\r\n}\r\n","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import React from 'react';\r\nimport { Form, Upload, Button, Modal, Progress, message } from 'antd';\r\nimport { UploadOutlined } from '@ant-design/icons';\r\nimport request from '@/utils/request';\r\nimport bytes from 'bytes';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { PreviewFile } from '@/preview';\r\nimport { config } from '@/config';\r\n\r\nconst normFile = (e: any) => {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.list;\r\n};\r\n\r\nexport default class UplaodList extends UIListComponent<Design.File.Props> {\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.plusRules();\r\n const { code, preview, maxCount, fileType, fileTypeMessage, fileSize, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n getValueFromEvent={normFile}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <UploadWidget maxCount={maxCount} fileType={fileType} fileTypeMessage={fileTypeMessage} fileSize={fileSize} readonly={readonly} preview={preview} style={styles} />\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass UploadWidget extends WidgetComponent<Design.File.WidgetProps, Design.File.WidgetStates> {\r\n timer?: NodeJS.Timer;\r\n uploading = false;\r\n state = {\r\n fileList: [],\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n }\r\n\r\n componentDidMount(): void {\r\n const { list } = this.props;\r\n const url = config.file.listUrl;\r\n if (list && list?.length > 0 && list[0]) {\r\n request(url)({ ids: list }).then((response: Design.Result) => {\r\n const fileList = response.data.map((file: Design.File.FileInfo) => ({ ...file, status: 'done'}));\r\n this.setState({\r\n fileList\r\n }, () => {\r\n this.onChange(fileList);\r\n })\r\n }).catch((error: Error) => {\r\n console.warn(\"url\", url, error);\r\n });\r\n }\r\n }\r\n\r\n onChange(fileList: Design.File.FileInfo[]) {\r\n this.props.onChange?.(fileList.filter(({ id, status }) => (id && status === 'done')).map(({ id }) => id));\r\n }\r\n\r\n onBeforeUpload = (file: any) => {\r\n const { fileSize, fileType, fileTypeMessage } = this.props;\r\n const fileTypeArray = fileType?.replace(/\\ +/g, \"\").split(\",\");\r\n if (fileTypeArray && fileTypeArray.length > 0) {\r\n const isFileType = fileTypeArray.includes(file.type);\r\n if (!isFileType) {\r\n message.error(fileTypeMessage);\r\n return Upload.LIST_IGNORE;\r\n }\r\n } else {\r\n message.error(\"文件类型不匹配!\");\r\n return Upload.LIST_IGNORE;\r\n }\r\n if (fileSize) {\r\n const fileSizeValue = bytes.parse(fileSize);\r\n if (fileSizeValue < file.size) {\r\n message.error(`上传的文件大小,不能超过 ${fileSize}!`);\r\n return Upload.LIST_IGNORE;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n onStart = (): void => {\r\n clearInterval(this.timer);\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: 0\r\n }\r\n })\r\n this.uploading = true;\r\n }\r\n\r\n onProgress = (step: { percent: number}) => {\r\n if (!this.uploading) {\r\n return\r\n }\r\n clearInterval(this.timer);\r\n const percent = Math.round(step.percent / 2);\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: percent\r\n }\r\n });\r\n if (percent === 50) {\r\n let progress = percent;\r\n this.timer = setInterval(() => {\r\n if (this.uploading) {\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: ++progress\r\n }\r\n });\r\n } else {\r\n clearInterval(this.timer);\r\n this.setState({\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n });\r\n }\r\n if (progress === 99) {\r\n clearInterval(this.timer);\r\n }\r\n }, 1000);\r\n }\r\n }\r\n\r\n onSuccess = (response: any, file: any) => {\r\n clearInterval(this.timer);\r\n const { id, url } = response.data;\r\n file.status = \"done\";\r\n file.response = response;\r\n file.id = id;\r\n file.url = url;\r\n const fileList = [...this.state.fileList, file];\r\n this.setState({\r\n fileList,\r\n modal: {\r\n open: true,\r\n progress: 100\r\n }\r\n }, () => {\r\n this.onChange(fileList);\r\n setTimeout(()=> {\r\n this.setState({\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n })\r\n }, 500);\r\n });\r\n this.uploading = false;\r\n }\r\n\r\n onError = (error: any, response: any, file: any) => {\r\n clearInterval(this.timer);\r\n const fileList = [...this.state.fileList, file];\r\n file.status = \"error\";\r\n file.response = response?.message ?? \"上传失败\";\r\n this.setState({\r\n fileList,\r\n modal: {\r\n open: false,\r\n progress: 100\r\n }\r\n }, () => {\r\n this.onChange(fileList);\r\n });\r\n this.uploading = false;\r\n }\r\n\r\n onRemove = (file: any) => {\r\n const { fileList } = this.state;\r\n const list = fileList.filter(({ id }) => id !== file.id);\r\n this.setState({\r\n fileList: list\r\n }, () => {\r\n this.onChange(list);\r\n });\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { fileList, modal } = this.state;\r\n const { preview, maxCount: count, readonly, style } = this.props;\r\n const maxCount = count ? Number(count) : 0;\r\n if (preview) {\r\n return <PreviewFile fileList={fileList} />\r\n }\r\n const { onStart, onSuccess, onProgress, onError } = this;\r\n const itemProps = { onStart, onSuccess, onProgress, onError }\r\n return (\r\n <>\r\n <Upload\r\n action={config.request.prefix + config.file.uploadUrl}\r\n fileList={fileList}\r\n maxCount={maxCount}\r\n disabled={readonly}\r\n beforeUpload={this.onBeforeUpload}\r\n onRemove={this.onRemove}\r\n // data={file => {\r\n // const mime = this.fileExtraData(fileType);\r\n // return { mime, uid: file.uid };\r\n // }}\r\n { ...itemProps }\r\n >\r\n <Button disabled={readonly ? readonly : maxCount <= fileList.length} icon={<UploadOutlined />} style={style} >上传</Button>\r\n </Upload>\r\n <Modal open={modal.open} closable={false} footer={null}>\r\n <div>上传文件进度</div>\r\n <Progress percent={modal.progress} />\r\n </Modal>\r\n </>\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Form, Upload, Button, Modal, message } from 'antd';\r\nimport type { UploadProps } from 'antd/es/upload';\r\nimport { PlusOutlined } from '@ant-design/icons';\r\nimport request from '@/utils/request';\r\nimport ImgCrop from 'antd-img-crop';\r\nimport bytes from 'bytes';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { PreviewImage } from '@/preview';\r\nimport { config } from '@/config';\r\n\r\nconst normFile = (e: any) => {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.list;\r\n};\r\nconst fileType = [\"image/jpeg\", \"image/png\"];\r\n\r\nexport default class UplaodList extends UIListComponent<Design.File.Props> {\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.plusRules();\r\n const { code, preview, maxCount, fileSize, fileWidth = \"100\", fileHeight = \"100\", readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n getValueFromEvent={normFile}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <UploadWidget maxCount={maxCount} fileSize={fileSize} fileWidth={Number(fileWidth)} fileHeight={Number(fileHeight)} readonly={readonly} preview={preview} style={styles} />\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass UploadWidget extends WidgetComponent<Design.File.WidgetProps, Design.File.WidgetStates> {\r\n timer?: NodeJS.Timer;\r\n uploading = false;\r\n state = {\r\n fileList: [],\r\n fileView: undefined,\r\n }\r\n\r\n componentDidMount(): void {\r\n const { list } = this.props;\r\n const url = config.file.listUrl;\r\n if (list && list?.length > 0 && list[0]) {\r\n request(url)({ ids: list }).then((response: Design.Result) => {\r\n const fileList = response.data.map((file: Design.File.FileInfo) => ({ ...file, status: 'done'}));\r\n this.setState({\r\n fileList\r\n }, () => {\r\n this.onChange(fileList);\r\n })\r\n }).catch((error: Error) => {\r\n console.warn(\"url\", url, error);\r\n });\r\n }\r\n }\r\n\r\n onChange(fileList: Design.File.FileInfo[]) {\r\n this.props.onChange?.(fileList.filter(({ id, status }) => (id && status === 'done')).map(({ id }) => id));\r\n }\r\n\r\n onChangeValue: UploadProps['onChange'] = ({ fileList: list }) => {\r\n const fileList: Design.File.FileInfo[] = list.map((file: any) => {\r\n if (file.response?.status === 200) {\r\n const { id, name, url } = file.response.data;\r\n file.id = id;\r\n // file.name = name;\r\n file.url = url;\r\n file.status = 'done';\r\n } else if (file.response?.status === 500) {\r\n file.status = 'error';\r\n file.response = file.response.message;\r\n }\r\n return file;\r\n });\r\n this.setState({\r\n fileList\r\n }, () => {\r\n this.onChange(fileList);\r\n });\r\n }\r\n\r\n onBeforeUpload = (file: any) => {\r\n const isFileType = fileType.includes(file.type);\r\n if (!isFileType) {\r\n message.error(\"上传文件类型,仅支持图片类型!\");\r\n return Upload.LIST_IGNORE;\r\n }\r\n const { fileSize } = this.props;\r\n if (fileSize) {\r\n const fileSizeValue = bytes.parse(fileSize);\r\n if (fileSizeValue < file.size) {\r\n message.error(`上传的文件大小,不能超过 ${fileSize}!`);\r\n return Upload.LIST_IGNORE;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n onRemove = (file: any) => {\r\n const { fileList: list } = this.state;\r\n const fileList = list.filter(({ id }) => id !== file.id);\r\n this.setState({\r\n fileList\r\n }, () => {\r\n this.onChange(fileList);\r\n });\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { fileList, fileView } = this.state;\r\n const { preview, maxCount: count, readonly, fileWidth = 100, fileHeight = 100, style } = this.props;\r\n const maxCount = count ? Number(count) : 0;\r\n if (preview) {\r\n return <PreviewImage fileList={fileList} width={fileWidth} height={fileHeight} style={style}/>\r\n }\r\n return (<>\r\n <ImgCrop\r\n rotationSlider\r\n modalTitle=\"图片编辑\"\r\n modalOk=\"确认\"\r\n modalCancel=\"取消\"\r\n aspect={fileWidth / fileHeight}\r\n >\r\n <Upload\r\n listType=\"picture-card\"\r\n accept={fileType.join(\",\")}\r\n action={config.request.prefix + config.file.uploadUrl}\r\n fileList={fileList}\r\n maxCount={maxCount}\r\n disabled={readonly}\r\n beforeUpload={this.onBeforeUpload}\r\n onChange={this.onChangeValue}\r\n onRemove={this.onRemove}\r\n onPreview={(file: any) => this.setState({ fileView: file })}\r\n >\r\n {!readonly && (Number(maxCount) > fileList.length) && <Button type=\"link\" icon={<PlusOutlined />} style={style}/>}\r\n </Upload>\r\n </ImgCrop>\r\n {fileView?.[\"id\"] && <Modal title={fileView[\"name\"]} open={true} footer={null} onCancel={() => this.setState({ fileView: undefined})}>\r\n <img alt={fileView[\"name\"]} style={{ width: '100%' }} src={fileView[\"url\"]} />\r\n </Modal>}\r\n </>)\r\n }\r\n}","import React from 'react';\r\nimport { Form, Upload, Button, Modal, Progress, message } from 'antd';\r\nimport { UploadOutlined } from '@ant-design/icons';\r\nimport request from '@/utils/request';\r\nimport bytes from 'bytes';\r\nimport FileUpload from 'file-block-upload';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { PreviewFile } from '@/preview';\r\nimport { config } from '@/config';\r\n\r\nconst normFile = (e: any) => {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.list;\r\n};\r\n\r\nexport default class UplaodList extends UIListComponent<Design.File.Props> {\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.plusRules();\r\n const { code, preview, maxCount, fileType, fileTypeMessage, fileSize, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n getValueFromEvent={normFile}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <UploadWidget maxCount={maxCount} fileType={fileType} fileTypeMessage={fileTypeMessage} fileSize={fileSize} readonly={readonly} preview={preview} style={styles} />\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass UploadWidget extends WidgetComponent<Design.File.WidgetProps, Design.File.WidgetStates> {\r\n timer?: NodeJS.Timer;\r\n uploading = false;\r\n state = {\r\n fileList: [],\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n }\r\n\r\n componentDidMount(): void {\r\n const { list } = this.props;\r\n const url = config.file.listUrl;\r\n if (list && list.length > 0) {\r\n request(url)({ ids: list }).then((response: Design.Result) => {\r\n const fileList = response.data.map((file: Design.File.FileInfo) => ({ ...file, status: 'done' }));\r\n this.setState({\r\n fileList\r\n }, () => {\r\n this.onChange(fileList);\r\n })\r\n }).catch((error: Error) => {\r\n console.warn(\"url\", url, error);\r\n });\r\n }\r\n }\r\n\r\n onBeforeUpload = (file: any) => {\r\n const { fileSize, fileType, fileTypeMessage } = this.props;\r\n const fileTypeArray = fileType?.replace(/\\ +/g, \"\").split(\",\");\r\n if (fileTypeArray && fileTypeArray.length > 0) {\r\n const isFileType = fileTypeArray.includes(file.type);\r\n if (!isFileType) {\r\n message.error(fileTypeMessage);\r\n return Upload.LIST_IGNORE;\r\n }\r\n } else {\r\n message.error(\"文件类型不匹配!\");\r\n return Upload.LIST_IGNORE;\r\n }\r\n if (fileSize) {\r\n const fileSizeValue = bytes.parse(fileSize);\r\n if (fileSizeValue < file.size) {\r\n message.error(`上传的文件大小,不能超过 ${fileSize}!`);\r\n return Upload.LIST_IGNORE;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n customRequest = (info: any) => {\r\n const options = {\r\n blockSize: config.chunk.chunkSize,\r\n checkFile: async ({fileName, fileMd5, fileSize}: any) => (\r\n await request(\"post form \" + config.chunk.checkFile)({ fileName, fileMd5, fileSize })\r\n ),\r\n checkBlock: async ({fileName, fileMd5, blockMd5, blockIndex}: any) => (\r\n await request(\"post form \" + config.chunk.checkChunk)({ fileName, fileMd5, blockMd5, blockIndex })\r\n ),\r\n\r\n uploadBlock: async ({fileName, fileMd5, blockMd5, blockIndex, file}: any) => {\r\n const formData = new FormData();\r\n formData.append(\"blockIndex\", String(blockIndex));\r\n formData.append(\"blockMd5\", blockMd5);\r\n formData.append(\"fileName\", fileName);\r\n formData.append(\"fileMd5\", fileMd5);\r\n formData.append(\"file\", file as Blob);\r\n return await request(\"post form \" + config.chunk.chunkUpload)(formData);\r\n },\r\n\r\n mergeBlock: async ({fileName, fileMd5, fileSize}: any) => (\r\n await request(\"post form \" + config.chunk.doMerge)({fileName, fileMd5, fileSize})\r\n ),\r\n mergeProgress: async () => {\r\n const result = await request(config.chunk.mergeProgress)();\r\n return result?.data;\r\n },\r\n\r\n verifyFile: async ({fileName, fileMd5, fileSize}: any) => (\r\n await request(\"post form \" + config.chunk.onComplete)({fileName, fileMd5, fileSize})\r\n ),\r\n verifyProgress: async () => {\r\n const result = await request(config.chunk.completeProgress)();\r\n return result?.data;\r\n },\r\n };\r\n\r\n const upload = FileUpload.create(options);\r\n upload.progress((file: any, progress: number) => {\r\n file.status = \"uploading\";\r\n this.setState({ modal: { open: true, progress }});\r\n });\r\n upload.complete((file: any) => {\r\n const { id, url } = file.response;\r\n file.id = id;\r\n file.url = url;\r\n file.status = \"done\";\r\n const fileList = [...this.state.fileList, file];\r\n this.setState({\r\n fileList,\r\n modal: { open: false, progress: 0 }\r\n }, () => {\r\n this.onChange(fileList);\r\n });\r\n });\r\n upload.error((file: any, error: string) => {\r\n file.status = 'error';\r\n file.response = error;\r\n let fileList: any[] = this.state.fileList;\r\n const index = fileList.findIndex(({ uid }) => uid === file.uid);\r\n if (index === -1) {\r\n fileList.push(file);\r\n } else {\r\n fileList[index] = file;\r\n }\r\n this.setState({\r\n fileList,\r\n modal: { open: false, progress: 0 }\r\n });\r\n });\r\n upload.start(info.file);\r\n }\r\n\r\n onChange(fileList: Design.File.FileInfo[]) {\r\n this.props.onChange?.(fileList.filter(({ status }) => status === 'done').map(({ id }) => id));\r\n }\r\n\r\n onRemove = (file: any) => {\r\n const { fileList } = this.state;\r\n const list = fileList.filter(({ id }) => id !== file.id);\r\n this.setState({\r\n fileList: list\r\n }, () => {\r\n this.onChange(list);\r\n });\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { fileList, modal } = this.state;\r\n const { preview, maxCount: count, readonly, style } = this.props;\r\n const maxCount = count ? Number(count) : 0;\r\n if (preview) {\r\n return <PreviewFile fileList={fileList} />\r\n }\r\n return (\r\n <>\r\n <Upload\r\n action={config.request.prefix + config.file.uploadUrl}\r\n fileList={fileList}\r\n maxCount={maxCount}\r\n disabled={readonly}\r\n beforeUpload={this.onBeforeUpload}\r\n customRequest={this.customRequest}\r\n onRemove={this.onRemove}\r\n // data={file => {\r\n // const mime = this.fileExtraData(fileType);\r\n // return { mime, uid: file.uid };\r\n // }}\r\n >\r\n <Button disabled={readonly ? readonly : maxCount <= fileList.length} icon={<UploadOutlined />} style={style} >上传</Button>\r\n </Upload>\r\n <Modal open={modal.open} closable={false} footer={null}>\r\n <div>上传文件进度</div>\r\n <Progress percent={modal.progress} />\r\n </Modal>\r\n </>\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Form, Card, Table, Modal, Input, Space, Row, Col } from 'antd';\r\nimport { QuestionCircleOutlined } from '@ant-design/icons';\r\nimport { concat, find, uniqueId } from 'lodash';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { validate } from \"@/applets\";\r\n\r\nexport default class TableList extends UIListComponent<Design.ComponentProps> {\r\n \r\n getColumns() {\r\n const columnList = find(this.props.children, { tag: \"Columns\" })\r\n if (columnList) {\r\n return columnList.children?.map((column: Design.Table.ColumnData) => ({\r\n ...column,\r\n rules: column.rules?.map(validate)\r\n }));\r\n }\r\n return [];\r\n }\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.plusRules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, title, preview, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <TableWidget preview={preview || readonly} title={title} columns={this.getColumns()} style={styles} />\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass TableWidget extends WidgetComponent<Design.Table.WidgetProps, Design.Table.WidgetStates> {\r\n state= {\r\n dataSource: [],\r\n modal: {\r\n title: \"\",\r\n entity: undefined,\r\n show: false\r\n }\r\n };\r\n\r\n componentDidMount(): void {\r\n const { list, onChange } = this.props;\r\n if (Array.isArray(list)) {\r\n const dataSource = list.map(({ worksId, worksExtraId, ...items }, index) => {\r\n return { id: worksExtraId, index: index + 1, ...items }\r\n });\r\n this.setState({ dataSource }, () => {\r\n onChange?.(dataSource);\r\n })\r\n }\r\n }\r\n\r\n getColumns() {\r\n const { title, preview, columns, onChange } = this.props;\r\n const { dataSource } = this.state;\r\n if (preview) {\r\n return columns;\r\n }\r\n return concat(columns, {\r\n title: '操作',\r\n dataIndex: 'option',\r\n valueType: 'option',\r\n render: (_: unknown, record: any) => [\r\n <Space key=\"option\">\r\n <a key=\"modifly\"\r\n onClick={() => {\r\n this.setState({\r\n modal: { title: `修改${title}`, entity: record, show: true }\r\n })\r\n }}\r\n >\r\n 修改\r\n </a>\r\n <a key=\"delete\"\r\n onClick={() => {\r\n Modal.confirm({\r\n title: '警告',\r\n icon: <QuestionCircleOutlined />,\r\n content: '请确认是否删除该项数据?',\r\n okText: '确认',\r\n cancelText: '取消',\r\n onOk: () => {\r\n const list: Design.Table.Item[] = dataSource.filter(({ id, uid }) => !((id && record.id === id) || (uid && record.uid === uid)));\r\n this.setState({ dataSource: list }, () => {\r\n onChange?.(list);\r\n })\r\n },\r\n });\r\n }}\r\n >\r\n 删除\r\n </a>\r\n </Space>\r\n ],\r\n });\r\n }\r\n\r\n onFinish = (entity: Design.Table.Item) => {\r\n const { dataSource } = this.state;\r\n let list: Design.Table.Item[] = [];\r\n if (entity.id || entity.uid) {\r\n list = dataSource.map((item: Design.Table.Item) => {\r\n if (entity.id && item.id === entity.id) {\r\n return { ...item, ...entity }\r\n } else if (entity.uid && item.uid === entity.uid) {\r\n return { ...item, ...entity }\r\n }\r\n return item;\r\n });\r\n } else {\r\n entity.index = dataSource.length + 1;\r\n entity.uid = uniqueId();\r\n list = [...dataSource, entity];\r\n }\r\n\r\n this.setState({\r\n dataSource: list,\r\n modal: { title: \"\", entity: undefined, show: false }\r\n }, () => {\r\n this.props.onChange?.(list);\r\n })\r\n }\r\n\r\n onCancel = () => {\r\n this.setState({\r\n modal: { title: \"\", entity: undefined, show: false }\r\n })\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { title, preview, style } = this.props;\r\n const { dataSource, modal } = this.state;\r\n const columns = this.getColumns();\r\n return (\r\n <Card\r\n title={title}\r\n bodyStyle={{ padding: '0px 12px' }}\r\n extra={\r\n preview ? null :\r\n <a key=\"new\" onClick={() => {\r\n this.setState({\r\n modal: { title: `新建${title}`, entity: undefined, show: true }\r\n })\r\n }}>添加</a>\r\n }\r\n >\r\n <Table rowKey=\"index\" size=\"small\" style={style} columns={columns} dataSource={dataSource} />\r\n {modal.show && <ModalForm title={modal.title} entity={modal.entity} columns={columns} onFinish={this.onFinish} onCancel={this.onCancel} />}\r\n </Card>\r\n )\r\n }\r\n}\r\n\r\nconst ModalForm = ({ title, entity, columns, onFinish, onCancel }: Design.Table.ModalProps) => {\r\n const [form] = Form.useForm();\r\n return (\r\n <Modal \r\n title={title}\r\n width={740}\r\n open={true}\r\n destroyOnClose={true}\r\n onCancel={onCancel}\r\n onOk={async () => {\r\n const valid = form.validateFields()\r\n valid.then((data: Design.Table.Item)=> {\r\n onFinish({...entity, ...data});\r\n }).catch((e: any)=> {\r\n console.warn(e);\r\n });\r\n }} \r\n >\r\n <Form\r\n form={form} \r\n name=\"modalTable\"\r\n initialValues={entity}\r\n wrapperCol={{ span: 22 }}\r\n autoComplete=\"off\"\r\n layout='vertical'\r\n >\r\n <Row>\r\n {columns.length > 0 && columns.map(({ title, dataIndex, placeholder, rules }) => {\r\n if (dataIndex !== 'index' && dataIndex !== 'option') {\r\n return (\r\n <Col span={12} key={dataIndex}>\r\n <Form.Item label={title} name={dataIndex} rules={rules as []}>\r\n <Input placeholder={placeholder} />\r\n </Form.Item>\r\n </Col>\r\n )\r\n }\r\n })}\r\n </Row>\r\n </Form>\r\n </Modal>\r\n )\r\n}\r\n","function _objectDestructuringEmpty(obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure \" + obj);\n}\nmodule.exports = _objectDestructuringEmpty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _extends.apply(this, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import React, { useRef } from 'react';\r\nimport { Form, FormInstance, Card, Table, Modal, Space } from 'antd';\r\nimport { QuestionCircleOutlined } from '@ant-design/icons';\r\nimport { concat, find, uniqueId } from 'lodash';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport XMLDocument from \"@/utils/document\";\r\nimport { config } from '@/config';\r\nimport FormDocument from '@/form';\r\n\r\nexport default class FormList extends UIListComponent<Design.Form.Props, Design.Form.States> {\r\n\r\n itemList:{ code: string; title: string, type: string; data: {}; }[] = []\r\n columnList: any[] = []\r\n state = {\r\n doc: undefined,\r\n loading: true\r\n };\r\n\r\n componentDidMount(): void {\r\n const formId = this.props.formId!;\r\n this.setState({ loading: true });\r\n this.request(config.form.documentUrl, { formId }).then((xml: string) => {\r\n const doc = XMLDocument.toDocument(xml);\r\n this.setState({ doc });\r\n this.initItems(doc);\r\n });\r\n }\r\n\r\n initItems = async(doc: Document) => {\r\n this.columnList = find(this.props.children, { tag: \"Columns\" }).children;\r\n const codes: any[] = this.columnList.map((column: any) => column.dataIndex);\r\n const elements = XMLDocument.selectors(doc, \"[code]\");\r\n for (const element of elements) {\r\n const code = element.getAttribute(\"code\");\r\n const title = element.getAttribute(\"title\")!;\r\n const type = element.tagName.toLowerCase();\r\n if (code && codes.includes(code)) {\r\n const data: any = {};\r\n const remote = element.getAttribute(\"remote\");\r\n const options = XMLDocument.selectors(element, \"Option\");\r\n if (options.length > 0) {\r\n for (const option of options) {\r\n const key = option.getAttribute(\"value\");\r\n const value = option.textContent;\r\n if (key && value) {\r\n data[key] = value;\r\n }\r\n }\r\n } else if (remote) {\r\n const list: Design.ItemOption[] = await this.request(remote);\r\n for(const item of list) {\r\n data[item.key] = item.label;\r\n }\r\n }\r\n this.itemList.push({ code, title, type, data });\r\n }\r\n }\r\n this.setState({ loading: false });\r\n }\r\n \r\n render(): React.ReactNode { \r\n const show = this.display();\r\n if (show && !this.state.loading) {\r\n this.onComputeValue();\r\n const rules = this.plusRules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, title, witdh, preview, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n const { doc } = this.state;\r\n return (\r\n <Form.Item\r\n name={code}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <FormWidget preview={preview || readonly} title={title} witdh={witdh} columns={this.columnList} items={this.itemList} document={doc} style={styles} />\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass FormWidget extends WidgetComponent<Design.Form.WidgetProps, Design.Form.WidgetStates> {\r\n state= {\r\n dataSource: [],\r\n modal: {\r\n title: \"\",\r\n entity: undefined,\r\n show: false\r\n }\r\n };\r\n\r\n componentDidMount(): void {\r\n const list = this.props.list;\r\n if (Array.isArray(list)) {\r\n const dataSource = list.map(({ ...data }, index) => ({ id: uniqueId(), index: index + 1, ...data }));\r\n this.onChange(dataSource);\r\n }\r\n }\r\n\r\n onChange(list: any[]) {\r\n this.setState({ \r\n dataSource: list,\r\n modal: { title: \"\", entity: undefined, show: false }\r\n }, () => {\r\n this.props.onChange?.(list.map(({ id, index, ...data}) => data));\r\n })\r\n }\r\n\r\n getColumns() {\r\n const { preview, title, columns, items } = this.props;\r\n const { dataSource } = this.state;\r\n\r\n const columnList = columns.map((column: Design.Form.ColumnItem) => {\r\n const code = column.dataIndex\r\n const item: any = items.find((item: any) => item.code === code);\r\n if (item) {\r\n if (!column.title) {\r\n column.title = item.title;\r\n }\r\n column.render = (text: string) => Object.keys(item.data).length === 0 ? text: item.data[text]\r\n }\r\n return column;\r\n });\r\n \r\n if (preview) {\r\n return columnList;\r\n }\r\n return concat(columnList, {\r\n title: '操作',\r\n dataIndex: 'option',\r\n valueType: 'option',\r\n render: (_: unknown, record: any) => [\r\n <Space key=\"option\">\r\n <a key=\"modifly\"\r\n onClick={() => {\r\n this.setState({\r\n modal: { title: `修改${title}`, entity: record, show: true }\r\n })\r\n }}\r\n >修改</a>\r\n <a key=\"delete\"\r\n onClick={() => {\r\n Modal.confirm({\r\n title: '警告',\r\n icon: <QuestionCircleOutlined />,\r\n content: '请确认是否删除该项数据?',\r\n okText: '确认',\r\n cancelText: '取消',\r\n onOk: () => {\r\n const list: Design.Form.Data[] = dataSource.filter(({ id }) => !(id && record.id === id));\r\n this.onChange(list);\r\n },\r\n });\r\n }}\r\n >删除</a>\r\n </Space>\r\n ],\r\n });\r\n }\r\n\r\n onFinish = (entity: Design.Form.Data) => {\r\n const dataSource = this.state.dataSource;\r\n let list: Design.Form.Data[] = [];\r\n if (entity.id) {\r\n list = dataSource.map((data: Design.Form.Data) => data.id === entity.id ? { ...data, ...entity } : data);\r\n } else {\r\n entity.id = uniqueId();\r\n entity.index = dataSource.length + 1;\r\n list = [...dataSource, entity];\r\n }\r\n this.onChange(list);\r\n }\r\n\r\n onCancel = () => {\r\n this.setState({\r\n modal: { title: \"\", entity: undefined, show: false }\r\n })\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { preview, title, witdh, document, style } = this.props;\r\n const { dataSource, modal } = this.state;\r\n const columns = this.getColumns();\r\n return (\r\n <Card\r\n title={title}\r\n bodyStyle={{ padding: '0px 12px' }}\r\n extra={\r\n preview ? null :\r\n <a key=\"new\" onClick={() => {\r\n this.setState({\r\n modal: { title: `新建${title}`, entity: undefined, show: true }\r\n })\r\n }}>添加</a>\r\n }\r\n >\r\n <Table rowKey=\"id\" size=\"small\" style={style} columns={columns} dataSource={dataSource} />\r\n {modal.show && <ModalForm title={modal.title} witdh={witdh} entity={modal.entity} document={document} onFinish={this.onFinish} onCancel={this.onCancel} />}\r\n </Card>\r\n )\r\n }\r\n}\r\n\r\nconst ModalForm = ({ title, witdh=\"740\", entity, document, onFinish, onCancel }: Design.Form.ModalProps) => {\r\n const form: React.MutableRefObject<FormInstance | undefined> = useRef();\r\n \r\n return (\r\n <Modal \r\n title={title}\r\n width={Number(witdh)}\r\n open={true}\r\n destroyOnClose={true}\r\n onCancel={onCancel}\r\n onOk={async () => {\r\n try {\r\n await form.current?.validateFields();\r\n const data = form.current?.getFieldsValue();\r\n onFinish({...entity, ...data});\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }} \r\n >\r\n {document && <FormDocument form={form} document={document} initialValues={entity}/>}\r\n </Modal>\r\n )\r\n}\r\n","import { Row } from 'antd';\r\nimport React from 'react';\r\n\r\nexport default ({ children, gutter }: any) => (\r\n <Row gutter={Number(gutter)} style={{ margin: 0 }}>\r\n {children}\r\n </Row>\r\n)","import React from 'react';\r\nimport { Col } from 'antd';\r\n\r\nexport default ({ span, children }: any) => {\r\n return (\r\n <Col span={span}>\r\n {children}\r\n </Col>\r\n )\r\n}","import React, { useMemo } from 'react';\r\nimport { Steps } from 'antd';\r\n\r\nexport default ({ direction, stepIndex, onChangeSetp, children }: any) => {\r\n const items = useMemo(() => (\r\n children?.map(({ id, attributes }: any) => {\r\n const { title, description } = attributes;\r\n return { key: id, title, description };\r\n })\r\n ), [children]);\r\n \r\n return (\r\n <Steps\r\n current={stepIndex}\r\n direction={direction}\r\n onChange={onChangeSetp}\r\n items={items}\r\n style={{ padding: 16, backgroundColor: \"white\" }}\r\n />\r\n )\r\n}","import React, { useMemo, memo } from 'react';\r\nimport { Layout } from 'antd';\r\nimport { toStyles } from \"@/utils/style\";\r\n\r\nconst { Content } = Layout;\r\n\r\nexport default memo(({ currentStepIndex, stepIndex, style, children }: any) => {\r\n const itemStyle = useMemo(() => {\r\n const styles = style ? toStyles(style) : { padding: 16, backgroundColor: \"white\" };\r\n if (currentStepIndex !== Number(stepIndex)) {\r\n Object.assign(styles, { \"display\": \"none\" });\r\n }\r\n return styles;\r\n }, [currentStepIndex]);\r\n \r\n return (\r\n <Content style={itemStyle} >\r\n {children}\r\n </Content>\r\n )\r\n});","import React from 'react';\r\nimport { Divider } from 'antd';\r\n\r\nexport default ({ dashed = false, orientation = \"center\", children }: any) => (\r\n <Divider dashed={dashed} orientation={orientation} style={{ color: \"#055ab5\", fontWeight: \"bold\" }}>{children}</Divider>\r\n)","import React, { useState, useMemo, memo } from 'react';\r\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\r\nimport { Button } from 'antd';\r\nimport { toStyles } from \"@/utils/style\";\r\n\r\nconst hide = {\r\n display: 'none'\r\n}\r\nconst show = {\r\n display: 'block'\r\n}\r\n\r\nexport default memo(({ defaultExpanded = true, on, off, style, collapse, children }: any) => {\r\n const [isExpanded, onExpanded] = useState(defaultExpanded);\r\n const styles = toStyles(style);\r\n if (collapse) {\r\n return (\r\n <>\r\n <div style={styles}>\r\n <Button\r\n type='link'\r\n onClick={() => {\r\n onExpanded(!isExpanded);\r\n }}\r\n >{isExpanded ? off : on}{isExpanded ? <UpOutlined /> : <DownOutlined />} </Button>\r\n </div>\r\n <div style={isExpanded ? show : hide}>\r\n {children}\r\n </div>\r\n </>\r\n )\r\n }\r\n return <>{children}</>;\r\n});","import React, { PureComponent, ReactNode } from \"react\";\r\nimport { Form as BaseForm, FormInstance, Skeleton } from \"antd\";\r\nimport { find, mapValues, camelCase, isBoolean, isObject, isArray } from \"lodash\";\r\nimport XMLDocument from \"@/utils/document\";\r\nimport XML from \"@/entity/XML\";\r\nimport { ProComponent } from \"@/service\";\r\nimport * as BaseComponents from \"@/components\"\r\nimport { Col, Collapse, Content, Divider, Row, Steps } from \"@/containers\";\r\nimport { DesignContext } from \"@/context\";\r\nimport { config } from \"@/config\";\r\nimport { regrister } from \"@/utils/loading\";\r\n\r\nconst Components: {[name: string]: {}} = BaseComponents;\r\nconst Containers: {[name: string]: {}} = { Col, Collapse, Content, Divider, Row, Steps };\r\n\r\nexport default class FormDocument extends PureComponent<Design.HomeProps, Design.HomeState> {\r\n\r\n state = {\r\n stepIndex: 0,\r\n root: undefined,\r\n loading: true\r\n };\r\n\r\n form: React.RefObject<FormInstance>;\r\n preview?: boolean;\r\n layouts?: {};\r\n styles: {};\r\n showTitle?: boolean;\r\n customComponents?: {[name:string]: {}};\r\n\r\n constructor(props: Design.HomeProps) {\r\n super(props);\r\n this.styles = props.style ?? {};\r\n this.form = props.form ?? React.createRef()\r\n }\r\n\r\n componentDidMount(): void { \r\n const { document, preview } = this.props;\r\n let root;\r\n if (typeof document === \"string\") {\r\n root = XMLDocument.getRoot(document);\r\n } else {\r\n root = XMLDocument.parser(document);\r\n }\r\n \r\n const { style: styleValue, labelCol, wrapperCol, showTitle } = root.attributes;\r\n this.showTitle = !!showTitle;\r\n if (typeof styleValue === \"string\") {\r\n const styleList: string[] = styleValue?.replace(/\\ +/g, \"\").split(\";\");\r\n styleList?.forEach(style => {\r\n if (style) {\r\n const [key, value] = style.split(\":\");\r\n Object.assign(this.styles, { [camelCase(key)]: value });\r\n }\r\n });\r\n }\r\n if (labelCol && wrapperCol) {\r\n this.layouts = {\r\n labelCol: { span: labelCol },\r\n wrapperCol: { span: wrapperCol },\r\n };\r\n }\r\n this.preview = preview ?? false; \r\n if (config.components) {\r\n this.customComponents = mapValues(config.components, (component: any) => (props: any) => <ProComponent Component={component} { ...props} />)\r\n }\r\n this.setState({ root, loading: true });\r\n\r\n /** 注册loading插件 */\r\n regrister(loading => {\r\n this.setState({ loading });\r\n });\r\n }\r\n\r\n /**\r\n * 销毁form时,重置数据\r\n */\r\n componentWillUnmount(): void {\r\n this.form.current?.resetFields();\r\n this.setState({ root: undefined, loading: true });\r\n }\r\n\r\n onValuesChange = (changedValues: any) => {\r\n this.setState({\r\n values: changedValues\r\n })\r\n };\r\n\r\n /**\r\n * 切换步骤\r\n * \r\n * @param stepIndex \r\n */\r\n onStepIndex = (stepIndex: number) => { \r\n this.setState({\r\n stepIndex\r\n })\r\n }\r\n\r\n /**\r\n * 设置组件状态\r\n * \r\n * @param attributes \r\n */\r\n setComponentStatus(attributes: { [name: string]: string | boolean }) {\r\n const { hidden, readonly } = this.props;\r\n // 控件是否隐藏\r\n if (isBoolean(hidden)) {\r\n attributes.hidden = hidden;\r\n } else if (isArray(hidden)) {\r\n attributes.hidden = hidden.includes(attributes.code as string);\r\n } else if (isObject(hidden)) {\r\n attributes.hidden = !!hidden[attributes.code as string];\r\n } else {\r\n attributes.hidden = attributes.hidden ?? false;\r\n }\r\n // 控件是否只读\r\n if (isBoolean(readonly)) {\r\n attributes.readonly = readonly;\r\n } else if (isArray(readonly)) {\r\n attributes.readonly = readonly.includes(attributes.code as string);\r\n } else if (isObject(readonly)) {\r\n attributes.readonly = !!readonly[attributes.code as string];\r\n } else {\r\n attributes.readonly = attributes.readonly ?? false;\r\n }\r\n }\r\n\r\n /**\r\n * 加载组件\r\n * \r\n * @param xml \r\n * @param Component \r\n * @returns \r\n */\r\n component(xml: XML, Component: any) {\r\n const { id, attributes, children } = xml;\r\n this.setComponentStatus(attributes);\r\n return <Component key={id} preview={this.preview} {...attributes}>{children?.map(this.children)}</Component>\r\n }\r\n\r\n /**\r\n * 加载容器\r\n * \r\n * @param xml \r\n * @returns \r\n */\r\n container({ id, tag, attributes, text, children }: XML) {\r\n if (tag === \"Row\") {\r\n return <Row key={id} {...attributes}>{children?.map(this.children)}</Row>\r\n }\r\n if (tag === \"Col\") {\r\n return <Col key={id} span={Number(attributes.span)}>{children?.map(this.children)}</Col>\r\n }\r\n if (tag === \"Collapse\") {\r\n return <Collapse key={id} collapse={this.props.collapse} {...attributes}>{children?.map(this.children)}</Collapse>\r\n }\r\n if (tag === \"Content\") {\r\n return <Content key={id} currentStepIndex={this.state.stepIndex} {...attributes}>{children?.map(this.children)}</Content>\r\n }\r\n if (tag === \"Steps\") {\r\n return <Steps key={id} stepIndex={this.state.stepIndex} onChangeSetp={this.onStepIndex} {...attributes}>{children}</Steps>\r\n }\r\n if (tag === \"Divider\") {\r\n return <Divider key={id} {...attributes}>{text}</Divider>\r\n }\r\n }\r\n\r\n /**\r\n * 加载控件\r\n * \r\n * @param xml \r\n * @returns \r\n */\r\n applet({ tag, attributes, cdata, children }: XML) {\r\n if (tag === \"Columns\") {\r\n const child = children?.map(({ attributes, children }) => {\r\n if (children) {\r\n const rules: any = find(children.map(this.children), { tag: \"Validates\" });\r\n return { ...attributes, rules: rules?.children ?? [] };\r\n }\r\n return attributes;\r\n });\r\n return { tag, children: child };\r\n }\r\n if (tag === \"Options\") {\r\n const child = children?.map(({ attributes: { value }, text }) => ({ key: value, label: text }));\r\n return { tag, children: child };\r\n }\r\n if (tag === \"Validates\") {\r\n const child = children?.map(({ attributes }) => attributes);\r\n return { tag, children: child };\r\n }\r\n if (tag === \"Conditions\") {\r\n const { type, action } = attributes;\r\n const child = children?.map(({ attributes }) => attributes);\r\n return { tag, type, action, children: child };\r\n }\r\n if (tag === \"Collection\" || tag === \"Compute\") {\r\n return { tag, cdata };\r\n }\r\n }\r\n\r\n /**\r\n * 加载子项\r\n * \r\n * @param xml \r\n * @returns \r\n */\r\n children = (xml: XML) => {\r\n const Component = this.customComponents?.[xml.tag] ?? Components[xml.tag];\r\n if (Component) {\r\n return this.component(xml, Component);\r\n }\r\n const Container = Containers[xml.tag];\r\n if (Container) {\r\n return this.container(xml);\r\n }\r\n return this.applet(xml);\r\n }\r\n\r\n render(): ReactNode {\r\n const { root , loading } = this.state;\r\n const { initialValues } = this.props;\r\n return <>\r\n { root && \r\n <DesignContext.Provider value={{ ...this.props, form: this.form, showTitle: this.showTitle}}>\r\n <Form\r\n form={this.form}\r\n style={loading ? { ...this.styles, display: \"none\"} : this.styles }\r\n initialValues={initialValues}\r\n onValuesChange={this.onValuesChange}\r\n {...this.layouts}\r\n >\r\n {(root as XML).children?.map(this.children)}\r\n </Form>\r\n </DesignContext.Provider>\r\n }\r\n { loading && <Skeleton active />}\r\n </>\r\n }\r\n}\r\n\r\n/**\r\n * 表单组件\r\n */\r\nclass Form extends React.PureComponent<Design.FormProps> {\r\n\r\n onFinish = (values: object) => {\r\n console.log(\"Success:\", values);\r\n };\r\n\r\n render(): React.ReactNode {\r\n const { form, style, labelCol, wrapperCol, initialValues, children, onValuesChange } = this.props;\r\n return (\r\n <BaseForm\r\n ref={form}\r\n style={style}\r\n labelCol={labelCol}\r\n wrapperCol={wrapperCol}\r\n initialValues={initialValues}\r\n onFinish={this.onFinish}\r\n autoComplete=\"off\"\r\n onValuesChange={changedValues => {\r\n onValuesChange(changedValues);\r\n }}\r\n >\r\n {children}\r\n </BaseForm>\r\n );\r\n }\r\n}\r\n"],"names":["styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","exports","arr","Array","isArray","module","__esModule","i","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","call","next","Object","done","push","value","length","err","len","arr2","arrayLikeToArray","require$$0","o","minLen","n","prototype","toString","slice","constructor","name","from","test","TypeError","arrayWithHoles","iterableToArrayLimit","require$$1","unsupportedIterableToArray","require$$2","nonIterableRest","require$$3","instance","Constructor","_typeof","obj","input","hint","prim","toPrimitive","undefined","res","String","Number","arg","key","toPropertyKey","_defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","self","ReferenceError","_setPrototypeOf","p","setPrototypeOf","bind","__proto__","subClass","superClass","create","assertThisInitialized","_getPrototypeOf","getPrototypeOf","XML","element","_classCallCheck","_defineProperty","this","id","uniqueId","_step","_iterator","_createForOfIteratorHelper","attributes","s","item","trim","isBoolean","toBoolean","e","f","children","_step2","_iterator2","childNodes","_this$children","_node$nodeValue","node","Element","nodeType","textContent","text","cdata","nodeValue","replace","tag","nodeName","_createClass","parseInt","XMLDocument","documentString","DOMParser","parseFromString","doc","toDocument","parser","selectors","querySelector","querySelectorAll","source","excluded","sourceKeys","keys","indexOf","objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","asyncGeneratorStep","gen","resolve","reject","_next","_throw","info","error","Promise","then","fn","args","arguments","apply","_regeneratorRuntime","Op","hasOwn","hasOwnProperty","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","record","result","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","async","iter","val","object","reverse","pop","skipTempReset","prev","charAt","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","runtime","regenerator","regeneratorRuntime","accidentalStrictMode","globalThis","Function","validate","_ref","_ref$type","required","minlength","maxlength","min","max","pattern","message","RegExp","DesignContext","React","createContext","DesignConfig","conf","prefix","headers","params","listUrl","downloadUrl","uploadUrl","extraData","file","fileType","labelStyle","color","documentUrl","chunkSize","Math","pow","checkFile","checkChunk","chunkUpload","doMerge","mergeProgress","onComplete","completeProgress","request","form","chunk","components","_objectSpread","config","init","defineConfig","num","listeners","trigger","_asyncToGenerator","_callee","loading","_listeners","_context","callback","begin","_ref2","_callee2","_context2","end","_ref3","_callee3","_context3","_ref4","_callee4","_context4","umiRequest","extend","timeout","use","ctx","t0","_x2","global","targetUrl","options","cloneData","cloneDeep","data","url","domain","urlMatch","match","_slicedToArray","parse","compile","console","toLocaleUpperCase","requestType","status","rest","_objectWithoutProperties","_excluded","success","_data$message","response","request$1","uri","uriArray","split","_uriArray","_uriArray2","toStyles","styles","items","_items$split","_items$split2","assign","camelCase","UIComponent","_React$PureComponent","_inherits","_super","_createSuper","_this","_len","_args","_key","concat","_assertThisInitialized","borderBottom","remote","list","map","_Object$entries","_Object$entries$","entries","_Object$entries$2","label","defaultValue","_form$current","_form$current2","code","current","getFieldValue","setFieldValue","_form$current3","_this2","setTimeout","_form$current4","_form$current5","getFieldsValue","showTitle","_this$props","title","labelStyles","_jsx","itemProps","_itemLayouts$wrapperC","_this$props2","preview","labelCol","wrapperCol","tips","itemLayouts","span","styleWrapper","tooltip","_this$props3","itemStyle","itemStyles","_this$context$preview","fileds","_this$props4","_this$props4$defaultH","defaultHide","show","conditions","find","_conditions$children","action","fields","join","actuator","condition","every","some","_this$props5","_validates$children$m","_validates$children","validates","content","collection","_this3","computeValue","moment","compute","_this$props$defaultVa","setDefaultValue","PureComponent","contextType","ProComponent","_UIComponent","forceUpdate","initValue","display","onComputeValue","rules","_this$getItem","getItem","hidden","Component","_this$getStyles","getStyles","_Form","Item","getLabel","onChange","UIListComponent","itemList","plist","filter","includes","rule","validator","_","WidgetComponent","_PureComponent","Label","Tooltip","PreviewText","useEffect","href","rel","PreviewDuration","_value$split","_value$split2","hour","minute","second","PreviewSwitch","checked","PreviewList","_ref5","_ref6","_ref7","PreviewFile","_ref8","fileList","_ref9","contentType","endsWith","_jsxs","paddingBottom","startsWith","_Image","width","src","alt","controls","alignItems","height","paddingLeft","PreviewImage","_ref10","_Fragment","_ref11","_Space","Text","placeholder","maxLength","allowClear","showCount","readonly","_Input","disabled","TextArea","InputNumber","_this$props$type","precision","numberProps","formatter","_InputNumber","Editor","colon","EditorWidget","_React$Component","_super2","createRef","isReactWEditor","ReactWEditor","onBlur","onFocus","SelectList","_UIListComponent","optionList","setState","multiple","_this$props2$allowCle","plusRules","collectionList","getList","currentValue","cleanFieldValue","SelectWidget","Option","_Select","_WidgetComponent","_this4","_len2","_key2","_this4$props$onChange","_this4$props","showSearch","mode","handleItemValue","filterOption","inputValue","option","toLowerCase","CheckBox","CheckboxWidget","_Checkbox","Group","RadioButton","optionType","RadioWidget","_Radio","SwitchButton","valuePropName","_Switch","Duration","DurationWidget","index","changeValue","_this$props$onChange","duration","durations","format","className","Datepicker","_this$props$format","_this$props$showTime","showTime","_this$props$allowClea","DateWidget","_DatePicker","picker","Timepicker","TimeWidget","arrayWithoutHoles","iterableToArray","nonIterableSpread","normFile","UplaodList","maxCount","fileTypeMessage","fileSize","getValueFromEvent","UploadWidget","modal","open","progress","fileTypeArray","_message","_Upload","LIST_IGNORE","bytes","size","clearInterval","timer","uploading","step","percent","round","setInterval","_response$data","_toConsumableArray","_response$message","ids","warn","_this$state","count","onStart","onSuccess","onProgress","onError","beforeUpload","onBeforeUpload","onRemove","_Button","icon","UploadOutlined","_Modal","closable","footer","_this$props$fileWidth","fileWidth","_this$props$fileHeigh","fileHeight","fileView","_file$response","_file$response2","_file$response$data","_this$props3$fileWidt","_this$props3$fileHeig","ImgCrop","rotationSlider","modalTitle","modalOk","modalCancel","aspect","listType","accept","onChangeValue","onPreview","PlusOutlined","onCancel","_verifyProgress","_verifyFile","_mergeProgress","_mergeBlock","_uploadBlock","_checkBlock","_checkFile","blockSize","fileName","fileMd5","checkBlock","blockMd5","blockIndex","uploadBlock","formData","FormData","append","_x3","mergeBlock","_x4","_callee5","_context5","verifyFile","_callee6","_context6","_x5","verifyProgress","_callee7","_context7","upload","FileUpload","findIndex","uid","start","customRequest","_Progress","TableList","_columnList$children","columnList","column","_column$rules","TableWidget","columns","getColumns","dataSource","entity","worksId","worksExtraId","dataIndex","valueType","render","onClick","confirm","QuestionCircleOutlined","okText","cancelText","onOk","_Card","bodyStyle","padding","extra","_Table","rowKey","ModalForm","onFinish","_onOk","_Form$useForm","useForm","destroyOnClose","validateFields","initialValues","autoComplete","layout","_Row","_Col","_extends","FormList","codes","elements","_iterator3","_step3","getAttribute","tagName","formId","xml","initItems","witdh","FormWidget","_objectDestructuringEmpty","_this5","_this6","_ref5$witdh","useRef","log","FormDocument","Row","gutter","margin","Col","Steps","direction","stepIndex","onChangeSetp","useMemo","description","_Steps","backgroundColor","Content","_Layout","Content$1","memo","currentStepIndex","Divider","_ref$dashed","dashed","_ref$orientation","orientation","_Divider","fontWeight","hide","Collapse","_ref$defaultExpanded","defaultExpanded","on","off","collapse","_useState","useState","_useState2","isExpanded","onExpanded","UpOutlined","DownOutlined","Components","BaseComponents","Containers","_props$style","_props$form","root","changedValues","_this$customComponent","_this$customComponent2","customComponents","component","container","applet","payload","_root$attributes","getRoot","styleValue","styleList","_style$split","_style$split2","layouts","mapValues","_this$form$current","resetFields","isObject","_attributes$hidden","_attributes$readonly","setComponentStatus","onStepIndex","child","_rules$children","_root$children","Provider","Form","onValuesChange","_Skeleton","active"],"mappings":"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"}
1
+ {"version":3,"file":"index.tsx","sources":["../src/entity/XML.ts","../src/utils/document.ts","../src/applets/index.ts","../src/context.ts","../src/config.ts","../src/utils/loading.ts","../src/utils/request.ts","../src/utils/style.ts","../src/service/UIComponent.tsx","../src/service/ProComponent.tsx","../src/service/UIListComponent.tsx","../src/service/WidgetComponent.ts","../src/components/Label/index.tsx","../src/components/Tooltip/index.tsx","../src/preview/index.tsx","../src/components/Text/index.tsx","../src/components/TextArea/index.tsx","../src/components/InputNumber/index.tsx","../src/components/Editor/index.tsx","../src/components/Select/index.tsx","../src/components/Checkbox/index.tsx","../src/components/Radio/index.tsx","../src/components/Switch/index.tsx","../node_modules/style-inject/dist/style-inject.es.js","../src/components/Duration/index.tsx","../src/components/DatePicker/index.tsx","../src/components/TimePicker/index.tsx","../src/components/Upload/index.tsx","../src/components/Photo/index.tsx","../src/components/SuperUpload/index.tsx","../src/components/Table/index.tsx","../src/components/FormList/index.tsx","../src/containers/Row/index.tsx","../src/containers/Col/index.tsx","../src/containers/Steps/index.tsx","../src/containers/Content/index.tsx","../src/containers/Divider/index.tsx","../src/containers/Collapse/index.tsx","../src/form/index.tsx"],"sourcesContent":["import { parseInt, uniqueId } from \"lodash\";\r\n\r\nexport default class XML {\r\n readonly id: string;\r\n readonly tag: string;\r\n readonly text?: string;\r\n readonly attributes: { [name: string]: string | boolean } = {};\r\n readonly cdata?: string;\r\n readonly children?: XML[];\r\n\r\n constructor(element: Element) {\r\n // this.id = Math.floor(Math.random() * 1000000000).toString();\r\n this.id = uniqueId();\r\n /** 获得属性 */\r\n for (const item of element.attributes) {\r\n let value: string | boolean = item.value.trim();\r\n if (this.isBoolean(value)) {\r\n value = this.toBoolean(value);\r\n }\r\n this.attributes[item.name] = value;\r\n }\r\n\r\n /** 获得子元素 */\r\n this.children = new Array();\r\n for (const node of element.childNodes) {\r\n if (node instanceof Element) {\r\n this.children?.push(new XML(node));\r\n }\r\n /** 获得文本 */\r\n if (node.nodeType === 3 && node.textContent) {\r\n this.text = node.textContent;\r\n }\r\n /** 获得CDATA */\r\n if (node.nodeType === 4) {\r\n this.cdata = node.nodeValue?.replace(/\\ +/g, \" \").replace(/[\\t\\r\\n]/g, \"\");\r\n }\r\n }\r\n this.tag = element.nodeName;\r\n }\r\n\r\n /**\r\n * 判断是否为boolean型\r\n * \r\n * @param value \r\n * @returns \r\n */\r\n private isBoolean(value: string) {\r\n return value === \"true\" || value === \"false\";\r\n }\r\n\r\n /**\r\n * 转换boolean型\r\n * \r\n * @param value \r\n * @returns \r\n */\r\n private toBoolean(value: string) {\r\n return value === \"true\";\r\n }\r\n\r\n /**\r\n * 判断是否为number型\r\n * \r\n * @param value \r\n * @returns \r\n */\r\n private isNumber(value: string) {\r\n return /^\\d+$/.test(value);\r\n }\r\n\r\n /**\r\n * 转换number型\r\n * \r\n * @param value \r\n * @returns \r\n */\r\n private toNumber(value: string) {\r\n return parseInt(value, 10);\r\n }\r\n}","import XML from \"@/entity/XML\";\r\n\r\n/**\r\n * xml 解析类\r\n */\r\nexport default class XMLDocument {\r\n\r\n /**\r\n * document 解析 xml对象\r\n * \r\n * @param document \r\n * @returns \r\n */\r\n static parser(document: Document) {\r\n const element: Element = <Element>document.childNodes[0];\r\n return new XML(element);\r\n }\r\n\r\n /**\r\n * document字符串 转换 document对象\r\n * \r\n * @param documentString \r\n * @returns \r\n */\r\n static toDocument(documentString: string): Document {\r\n return new DOMParser().parseFromString(documentString, \"text/xml\");\r\n }\r\n\r\n /**\r\n * document字符串 转换 xml对象\r\n * \r\n * @param documentString \r\n * @returns \r\n */\r\n static getRoot(documentString: string): XML {\r\n const doc: Document = XMLDocument.toDocument(documentString);\r\n return XMLDocument.parser(doc);\r\n }\r\n\r\n /**\r\n * 选择单个元素\r\n * \r\n * @param document \r\n * @param selectors \r\n * @returns \r\n */\r\n static selector(document: Document | Element, selectors: string): Element | null {\r\n return document.querySelector(selectors);\r\n }\r\n\r\n /**\r\n * 选择多个元素\r\n * \r\n * @param document \r\n * @param selectors \r\n * @returns \r\n */\r\n static selectors(document: Document | Element, selectors: string): NodeListOf<Element> {\r\n return document.querySelectorAll(selectors);\r\n }\r\n}","import moment from 'moment';\r\n\r\n/**\r\n * validate 验证\r\n * \r\n * @param param0 \r\n * @returns \r\n */\r\nexport const validate = ({ type = 'string', required, minlength, maxlength, min, max, pattern, message }: any): Design.Rule => {\r\n if (required) {\r\n return { type, required, message };\r\n }\r\n if (minlength && maxlength) {\r\n return { type, min: Number(minlength), max: Number(maxlength), message };\r\n }\r\n if (min && max) {\r\n return { type, min: Number(min), max: Number(max), message };\r\n }\r\n if (type === \"phone\") {\r\n return { type: 'string', pattern: new RegExp('^[1][3,5,6,7,8][0-9]\\\\d{8}$'), message };\r\n }\r\n if (type === 'regexp' && typeof pattern === 'string') {\r\n return { type: 'string', pattern: new RegExp(pattern), message };\r\n }\r\n return { type, message };\r\n}\r\n\r\n/**\r\n * condition 条件\r\n * \r\n * @param param0 \r\n * @returns \r\n */\r\nexport const condition = (fields: object | undefined, preview: boolean) => ({ test }: { test: string }): boolean | undefined => {\r\n try {\r\n if (fields) {\r\n fields = { ...fields, preview }\r\n const keys: string = Object.keys(fields).join(\",\");\r\n const actuator: Function = new Function(`{${keys}}`, `return ${test}`);\r\n return actuator(fields);\r\n }\r\n } catch (e: any) {\r\n // console.warn(e.message);\r\n }\r\n return undefined;\r\n}\r\n\r\n/**\r\n * collection 集合\r\n * \r\n * @param param0 \r\n * @returns \r\n */\r\nexport const collection = (fields: object | undefined, { cdata }: { cdata: string }): Array<string> => {\r\n try {\r\n if (fields) {\r\n const keys: string = Object.keys(fields).join(\",\");\r\n const actuator: Function = new Function(`{${keys}}`, `${cdata}`);\r\n return actuator(fields);\r\n }\r\n const actuator: Function = new Function(`${cdata}`);\r\n return actuator();\r\n } catch (e: any) {\r\n // console.warn(e.message);\r\n }\r\n return [];\r\n}\r\n\r\n/**\r\n * compute 计算\r\n * \r\n * @param param0 \r\n * @returns \r\n */\r\nexport const compute = (fields: object | undefined, { cdata }: { cdata: string }): Array<string> | string | undefined => {\r\n try {\r\n if (fields) {\r\n const keys: string = Object.keys(fields).join(\",\");\r\n const actuator: Function = new Function(`{${keys}}`, 'moment', `${cdata}`);\r\n return actuator(fields, moment);\r\n }\r\n const actuator: Function = new Function('moment', `${cdata}`);\r\n return actuator(moment);\r\n } catch (e: any) {\r\n // console.warn(e.message);\r\n }\r\n return undefined;\r\n}\r\n","import React from \"react\";\r\n\r\nexport const DesignContext = React.createContext<Design.Context>({});","class DesignConfig {\r\n readonly request: {\r\n prefix: string;\r\n headers: {};\r\n params: {};\r\n } = {\r\n prefix: \"api\",\r\n headers: {},\r\n params: {},\r\n }\r\n readonly file: {\r\n listUrl: string,\r\n downloadUrl: string,\r\n uploadUrl: string,\r\n extraData?: {}\r\n } = {\r\n listUrl: \"/file/list\",\r\n downloadUrl: \"/file/download\",\r\n uploadUrl: \"/file/upload\",\r\n extraData: (file: Design.File.FileInfo, fileType: string) => {},\r\n }\r\n readonly style: {\r\n labelStyle: {}\r\n } = {\r\n labelStyle: {color: '#055ab5'}\r\n }\r\n readonly form: {\r\n documentUrl: string\r\n } = {\r\n documentUrl: \"/form/:formId\"\r\n }\r\n readonly chunk : {\r\n checkFile: string,\r\n checkChunk: string,\r\n chunkUpload: string,\r\n doMerge: string,\r\n mergeProgress: string,\r\n onComplete: string,\r\n completeProgress: string,\r\n chunkSize: number,\r\n } = {\r\n chunkSize: 10 * 1024 ** 2,\r\n checkFile: \"/chunk/checkFile\",\r\n checkChunk: \"/chunk/checkChunk\",\r\n chunkUpload: \"/chunk/chunkUpload\",\r\n doMerge: \"/chunk/doMerge\",\r\n mergeProgress: \"/chunk/mergeProgress\",\r\n onComplete: \"/chunk/onComplete\",\r\n completeProgress: \"/chunk/completeProgress\"\r\n }\r\n\r\n readonly components?: any\r\n \r\n private constructor(conf?: Design.Config) {\r\n if (conf) {\r\n const { request, file, form, chunk, components } = conf;\r\n this.request = { ...this.request, ...request };\r\n this.file = { ...this.file, ...file };\r\n this.form = { ...this.form, ...form };\r\n this.chunk = { ...this.chunk, ...chunk };\r\n this.components = components;\r\n }\r\n }\r\n\r\n static init(conf?: Design.Config) {\r\n return new DesignConfig(conf);\r\n }\r\n}\r\n\r\nlet config: DesignConfig = DesignConfig.init();\r\nconst defineConfig = (conf: Design.Config) => {\r\n config = DesignConfig.init(conf)\r\n}\r\n\r\nexport { defineConfig, config }","let num = 0;\r\nconst listeners: ((loading: boolean) => void)[] = [];\r\n\r\n/**\r\n * 注册loading\r\n * \r\n * @param payload \r\n */\r\nexport const regrister = (payload: (loading: boolean) => void) => {\r\n if (typeof payload === 'function') {\r\n listeners.push(payload);\r\n }\r\n}\r\n\r\n/**\r\n * 触发\r\n * \r\n * @param loading \r\n */\r\nconst trigger = async (loading: boolean) => {\r\n if (num === 0) {\r\n for (const callback of listeners) {\r\n callback(loading);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * 开始加载loading\r\n */\r\nexport const begin = async () => {\r\n if (num ++ === 0) {\r\n trigger(true);\r\n }\r\n}\r\n\r\n/**\r\n * 结束加载loading\r\n * \r\n */\r\nexport const end = async () => {\r\n if (-- num === 0) {\r\n trigger(false);\r\n }\r\n}\r\n\r\n/**\r\n * 错误loading\r\n */\r\nexport const error = async () => {\r\n num = 0;\r\n trigger(false);\r\n}","import { cloneDeep } from 'lodash';\r\nimport { extend } from 'umi-request';\r\nimport { parse, compile } from 'path-to-regexp';\r\nimport { config } from '@/config';\r\nimport { begin, end, error } from './loading';\r\n\r\nconst umiRequest = extend({\r\n prefix: config.request.prefix,\r\n timeout: 10000,\r\n});\r\n\r\n/** loading全局中间件 */\r\numiRequest.use(async (ctx, next) => {\r\n try {\r\n begin();\r\n await next();\r\n end();\r\n } catch (e) {\r\n error();\r\n throw e;\r\n }\r\n}, { global: true });\r\n\r\n/** 请求访问 **/\r\nconst request = (targetUrl: string, options: any) => {\r\n const cloneData = cloneDeep(options.data);\r\n let url = targetUrl;\r\n try {\r\n // 过滤protocol、domain、host\r\n let domain = '';\r\n const urlMatch = url.match(/[a-zA-z]+:\\/\\/[^/]*/);\r\n if (urlMatch) {\r\n [domain] = urlMatch;\r\n url = url.slice(domain.length);\r\n }\r\n // 编译url参数\r\n const match = parse(url);\r\n url = compile(url)(options.data);\r\n match.forEach((item: any) => {\r\n if (item instanceof Object && item.name in cloneData) {\r\n delete cloneData[item.name];\r\n }\r\n });\r\n url = domain + url;\r\n } catch (e: any) {\r\n console.error(e.message);\r\n }\r\n if (options.method.toLocaleUpperCase() === 'GET') {\r\n options.params = cloneData;\r\n } else if (options.type){\r\n options.requestType = options.type\r\n }\r\n options.prefix = config.request.prefix; \r\n // 调用umi-request\r\n return umiRequest(url, options)\r\n .then(({ status, ...rest }: any) => {\r\n const success = status === 200;\r\n return Promise.resolve({\r\n success,\r\n ...rest,\r\n });\r\n })\r\n .catch(({ response, data }: any) => {\r\n const message = data?.message ?? '访问超时';\r\n console.error(url, response, data);\r\n return Promise.resolve({\r\n success: false,\r\n message,\r\n });\r\n });\r\n};\r\n\r\n/** request **/\r\nexport default (uri: string) => {\r\n let [method, type, url] = ['GET', 'json', uri];\r\n const uriArray = uri.split(' ')\r\n if (uriArray.length === 2) {\r\n [method, url] = uriArray;\r\n } else if (uriArray.length === 3) {\r\n [method, type, url] = uriArray;\r\n }\r\n return (data?: any) => request(url, { method, type, data });\r\n}\r\n","import { camelCase } from 'lodash';\r\n\r\n/**\r\n * 转换样式对象\r\n * \r\n * @param style string\r\n * @returns styles\r\n */\r\nexport const toStyles = (style: string | undefined) => {\r\n const styles: {} = {};\r\n if (style) {\r\n const styleArray: string[] = style.replace(/\\ +/g, \"\").split(\";\");\r\n styleArray.forEach(items => {\r\n if (items) {\r\n const [key, value] = items.split(\":\");\r\n Object.assign(styles, { [camelCase(key)]: value });\r\n }\r\n });\r\n }\r\n return styles;\r\n}","import React from \"react\";\r\nimport { every, some, find } from \"lodash\";\r\nimport { collection, compute, condition, validate } from \"@/applets\";\r\nimport { DesignContext } from \"@/context\";\r\nimport request from \"@/utils/request\";\r\nimport { config } from \"@/config\";\r\nimport { toStyles } from \"@/utils/style\";\r\n\r\nexport default class UIComponent<P extends Design.ComponentProps, S = {}> extends React.PureComponent<P, S> {\r\n declare context: React.ContextType<typeof DesignContext>\r\n\r\n styleWrapper = { style: { borderBottom: '1px solid #d9d9d9' } };\r\n\r\n /**\r\n * 设置字段默认值\r\n * \r\n * @param defaultValue \r\n */\r\n setDefaultValue<T>(defaultValue: T): void {\r\n const form = this.context.form;\r\n if (form) {\r\n const code = this.props.code;\r\n const value = form.current?.getFieldValue(code);\r\n if (!value) {\r\n form.current?.setFieldValue(code, defaultValue);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 设置当前字段值\r\n * \r\n * @param value \r\n */\r\n setFieldValue<T>(value: T | undefined): void {\r\n const form = this.context.form;\r\n if (form) {\r\n const code = this.props.code;\r\n form.current?.setFieldValue(code, value);\r\n }\r\n }\r\n\r\n /**\r\n * 清楚当前值\r\n * \r\n */\r\n cleanFieldValue(): void {\r\n setTimeout(() => {\r\n this.setFieldValue(undefined);\r\n }, 1);\r\n }\r\n\r\n /**\r\n * 获得当前值\r\n * \r\n * @returns \r\n */\r\n getFieldValue<T>(): T | undefined {\r\n const form = this.context.form;\r\n if (form) {\r\n const code = this.props.code;\r\n return form.current?.getFieldValue(code);\r\n }\r\n }\r\n\r\n /**\r\n * 获得所有form对象值\r\n * \r\n * @returns \r\n */\r\n getFieldsValue(): object | undefined {\r\n const form = this.context.form;\r\n if (form) {\r\n return form.current?.getFieldsValue();\r\n }\r\n }\r\n\r\n /**\r\n * 获得标签\r\n * \r\n * @returns \r\n */\r\n getLabel() {\r\n const isShowTitle = this.context.showTitle\r\n if (isShowTitle) {\r\n const { title, labelStyle } = this.props;\r\n const labelStyles = toStyles(labelStyle);\r\n return <span style={{ ...config.style.labelStyle, ...labelStyles }}>{title}</span>;\r\n }\r\n }\r\n\r\n /**\r\n * 获得item信息\r\n * \r\n * @returns \r\n */\r\n getItem(): { itemProps: {}, itemLayouts: {} } {\r\n const { preview, labelCol, wrapperCol, tips } = this.props;\r\n const itemLayouts = labelCol && wrapperCol ? { labelCol: { span: labelCol }, wrapperCol: { span: wrapperCol } } : {};\r\n let itemProps: {};\r\n if (preview) {\r\n itemProps = { required: false };\r\n Object.assign(itemLayouts.wrapperCol ?? {}, this.styleWrapper);\r\n } else {\r\n itemProps = { tooltip: tips };\r\n }\r\n return { itemProps, itemLayouts };\r\n }\r\n\r\n /**\r\n * 样式\r\n * \r\n * @returns \r\n */\r\n getStyles(): { styles: {}, itemStyles: {} } {\r\n const { style, itemStyle } = this.props;\r\n const styles = toStyles(style);\r\n const itemStyles = toStyles(itemStyle);\r\n return { styles, itemStyles };\r\n }\r\n\r\n /**\r\n * 条件\r\n * \r\n * @param defaultHide \r\n * @param children \r\n * @returns \r\n */\r\n display(): boolean {\r\n const preview = this.context.preview ?? false;\r\n const fileds = this.getFieldsValue();\r\n const { defaultHide = false, children } = this.props;\r\n const show: boolean = !defaultHide;\r\n const conditions: Design.Modal.ConditionXML | undefined = find(children, { tag: \"Conditions\" });\r\n if (conditions) {\r\n const { type, action } = conditions;\r\n const list = conditions.children?.map(condition(fileds, preview));\r\n if (list?.length > 0 && list?.[0] !== undefined) {\r\n let result: boolean = false;\r\n if (type === 'and') {\r\n result = every(list);\r\n } else {\r\n result = some(list);\r\n }\r\n if ((result && action === 'hide') || (!result && action === 'show')) {\r\n return false;\r\n } else if ((!result && action === 'hide') || (result && action === 'show')) {\r\n return true;\r\n }\r\n }\r\n }\r\n return show;\r\n }\r\n\r\n /**\r\n * 规则\r\n * \r\n * @param preview \r\n * @param children \r\n * @returns \r\n */\r\n rules(): Design.Rule[] {\r\n const { preview, children } = this.props;\r\n if (!preview) {\r\n const validates = find(children, { tag: \"Validates\" });\r\n return validates?.children?.map(validate) ?? [];\r\n }\r\n return [];\r\n }\r\n\r\n /**\r\n * 可选内容列表\r\n * \r\n * @param children \r\n * @returns \r\n */\r\n collectionList(): string[] | undefined {\r\n const content = find(this.props.children, { tag: \"Collection\" });\r\n if (content) {\r\n const fileds = this.getFieldsValue();\r\n return collection(fileds, content);\r\n }\r\n return undefined;\r\n }\r\n\r\n /**\r\n * 计算值\r\n * \r\n * @param children \r\n * @returns \r\n */\r\n onComputeValue(): void {\r\n const content = find(this.props.children, { tag: \"Compute\" });\r\n if (content) {\r\n const fileds = this.getFieldsValue();\r\n const computeValue = compute(fileds, content);\r\n if (computeValue) {\r\n setTimeout(() => {\r\n this.setFieldValue(computeValue);\r\n }, 1);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 初始化值\r\n * \r\n * @param value \r\n */\r\n initValue(value?: string): void {\r\n const { defaultValue = value } = this.props;\r\n if (defaultValue) {\r\n this.setDefaultValue(defaultValue);\r\n }\r\n }\r\n\r\n /**\r\n * 请求网络\r\n * \r\n * @param remote \r\n * @returns \r\n */\r\n request = async (remote: string, args?: object) => {\r\n const params = args ?? this.context.params;\r\n return request(remote)({ ...params }).then(response => {\r\n const { success, data }: Design.Result = response;\r\n if (success) {\r\n if (Array.isArray(data)) {\r\n const list = data.map(item => {\r\n const [key, label] = Object.entries<string>(item)?.[0];\r\n return { key, label };\r\n });\r\n return Promise.resolve(list);\r\n } else {\r\n return Promise.resolve(data);\r\n }\r\n }\r\n return Promise.reject(undefined);\r\n }).catch(error => {\r\n console.error(\"remote\", remote, error);\r\n return Promise.reject(error);\r\n });\r\n }\r\n\r\n}\r\n\r\nUIComponent.contextType = DesignContext;","import React from \"react\";\r\nimport { Form } from \"antd\";\r\nimport UIComponent from \"./UIComponent\";\r\n\r\ninterface ProComponentProps extends Design.ComponentProps {\r\n Component: any;\r\n}\r\n\r\nexport default class ProComponent extends UIComponent<ProComponentProps> {\r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n initValue = () => {\r\n const { defaultValue } = this.props;\r\n if (defaultValue) {\r\n this.forceUpdate(() => {\r\n this.setDefaultValue(defaultValue);\r\n });\r\n }\r\n };\r\n\r\n onChange = (value: string) => {\r\n this.setFieldValue(value);\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, hidden } = this.props;\r\n const { Component, defaultValue, style, ...props } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {<Component {...props} style={styles} onChange={this.onChange}/>}\r\n </Form.Item>\r\n );\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import { find } from \"lodash\";\r\nimport UIComponent from \"./UIComponent\";\r\n\r\nexport default class UIListComponent<P extends Design.ComponentProps, S = {}> extends UIComponent<P, S> {\r\n\r\n /**\r\n * 选项列表\r\n * \r\n * @param children \r\n * @returns \r\n */\r\n optionList(): Design.ItemOption[] | undefined {\r\n const options = find(this.props.children, { tag: \"Options\" })\r\n return options?.children as [];\r\n }\r\n\r\n /**\r\n * 添加校验规则\r\n * \r\n * @returns \r\n */\r\n plusRules(): Design.Rule[] {\r\n const rules = this.rules();\r\n return rules?.map(rule => {\r\n if (rule.required) {\r\n const validator = (_: unknown, value: string) => value?.length > 0 ? Promise.resolve() : Promise.reject();\r\n return { ...rule, validator };\r\n }\r\n if (rule.min && rule.max) {\r\n const validator = (_: unknown, list: any[]) => list.length >= rule.min! && list.length <= rule.max! ? Promise.resolve() : Promise.reject();\r\n return { ...rule, validator };\r\n }\r\n return { ...rule };\r\n });\r\n }\r\n\r\n /**\r\n * 获得资源列表\r\n * \r\n * @param list \r\n * @param itemList \r\n * @param reset \r\n * @returns \r\n */\r\n getList = (list: Design.ItemOption[], itemList: string[] | undefined, reset: (plist: Design.ItemOption[]) => void) => {\r\n if (itemList) {\r\n const plist = list.filter(({ key }) => itemList.includes(key));\r\n reset(plist);\r\n return plist;\r\n }\r\n return list;\r\n }\r\n}","import React, { PureComponent } from \"react\";\r\n\r\nexport default class WidgetComponent<P = {}, S = {}> extends PureComponent<P, S> {\r\n\r\n}","import React from 'react';\r\nimport { Form } from 'antd';\r\nimport { UIComponent } from '@/service';\r\n\r\nexport default class Label extends UIComponent<Design.ComponentProps> {\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.rules();\r\n const { title, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n wrapperCol={{ span: 24 }}\r\n >\r\n <div style={styles}>{title}</div>\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}","import React from 'react';\r\nimport { Form } from 'antd';\r\nimport { UIComponent } from '@/service';\r\n\r\nexport default class Tooltip extends UIComponent<Design.ComponentProps> {\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n const { preview, } = this.props;\r\n if (show && !preview) {\r\n const { title, hidden, children } = this.props; \r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item style={itemStyles} hidden={hidden} wrapperCol={{ span: 24 }}>\r\n <div style={styles}>{title ?? children}</div>\r\n </Form.Item>\r\n );\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport { Space, Image } from 'antd';\r\nimport { config } from '@/config';\r\n\r\n/** 文本预览 */\r\nexport const PreviewText = ({ value, type, style, onChange }: Design.PreviewProps) => {\r\n useEffect(() => {\r\n onChange?.(value);\r\n }, []);\r\n if (value && type === \"url\") {\r\n return <div style={style}><a href={value} target=\"_blank\" rel=\"noreferrer\">{value}</a></div>\r\n }\r\n return <div style={style}>{value}</div>\r\n}\r\n\r\n/** 时长预览 */\r\nexport const PreviewDuration = ({ value, style, onChange }: any) => {\r\n useEffect(() => {\r\n onChange(value);\r\n }, []);\r\n if (value) {\r\n const [hour, minute, second] = value?.split(\":\");\r\n return <div style={style}>{`${hour}小时${minute}分${second}秒`}</div>\r\n } else {\r\n return <div style={style}>000时00分00秒</div>\r\n }\r\n}\r\n\r\n/** 切换预览 */\r\nexport const PreviewSwitch = ({ checked, style, onChange }: any) => {\r\n useEffect(() => {\r\n onChange(checked);\r\n }, []);\r\n return <div style={style}>{checked ? \"开启\" : \"关闭\"}</div>\r\n}\r\n\r\n/** 列表预览 */\r\nexport const PreviewList = ({ value, list, style, onChange }: any) => {\r\n useEffect(() => {\r\n onChange(value);\r\n }, []);\r\n\r\n if (Array.isArray(value)) {\r\n const items = list.filter(({ key }: any) => value.includes(key)).map(({ label }: any) => label);\r\n return <div style={style}>{items?.join()}</div>\r\n } else {\r\n const item = list?.find(({ key }: any) => key === value);\r\n return <div style={style}>{item?.label}</div>\r\n }\r\n}\r\n\r\n/** 文件预览 */\r\nexport const PreviewFile = ({ fileList }: { fileList: any[]}) => {\r\n const downloadUrl = config.request.prefix + config.file.downloadUrl;\r\n return <>\r\n {fileList?.map(({ id, name, url, contentType }: any) => {\r\n const uri = downloadUrl + \"/\" + id;\r\n /** pdf文本预览 */\r\n if (contentType?.endsWith(\"pdf\")) {\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <a href={url} target=\"_blank\" rel=\"noreferrer\">{name}</a>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n /** 图片文本预览 */\r\n if (contentType?.startsWith(\"image\")) {\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <Image width={200} src={url} alt={name} />\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n /** 视频文本预览 */\r\n if (contentType?.startsWith(\"video\")) {\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <video src={url} controls style={{ width: 260 }}>当前浏览器不支持视频播放,请使用最新版谷歌浏览器!</video>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n /** 音频文本预览 */\r\n if (contentType?.startsWith(\"audio\")) {\r\n return <div key={id}>\r\n <div style={{ paddingBottom: 10, display: 'flex', alignItems: 'center' }}>\r\n <audio src={url} controls style={{ width: 'calc(100% - 40px)', height: 30 }}>当前浏览器不支持音频播放,请使用最新版谷歌浏览器!</audio>\r\n <a style={{ paddingLeft: 10 }} href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </div>\r\n </div>\r\n }\r\n /** office文本预览 */\r\n if (name?.endsWith(\".doc\") || name?.endsWith(\".docx\") || name?.endsWith(\".xls\") || name?.endsWith(\".xlsx\") || name?.endsWith(\".ppt\") || name?.endsWith(\".pptx\")) {\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <a href={'http://view.officeapps.live.com/op/view.aspx?src=' + url} target=\"_blank\" rel=\"noreferrer\">{name}</a>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n /** 默认文本预览 */\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <a href={url} target=\"_blank\" rel=\"noreferrer\">{name}</a>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n })}\r\n </>\r\n}\r\n\r\nexport const PreviewImage = ({ fileList, width, height, style } : { fileList: any[], width: number, height: number, style?: object }) =>\r\n <>\r\n {fileList?.map(({ id, name, url }) => (\r\n <div key={id} style={style}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <Image width={width} height={height} src={url} alt={name} />\r\n <a href={config.request.prefix + config.file.downloadUrl + \"/\" + id} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n ))}\r\n </>","import React from \"react\";\r\nimport { Form, Input } from \"antd\";\r\nimport { UIComponent } from '@/service';\r\nimport { PreviewText } from \"@/preview\";\r\n\r\nexport default class Text extends UIComponent<Design.ComponentProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n console.log(rules);\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, type, preview, placeholder, maxLength, allowClear, showCount, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewText type={type} style={styles} /> : <Input maxLength={maxLength} placeholder={placeholder} allowClear={allowClear} showCount={showCount} disabled={readonly} style={styles} />}\r\n </Form.Item>\r\n );\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { Form, Input } from \"antd\";\r\nimport { UIComponent } from '@/service';\r\nimport { PreviewText } from \"@/preview\";\r\n\r\nexport default class TextArea extends UIComponent<Design.ComponentProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue(); \r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { code, preview, placeholder, maxLength, allowClear, showCount, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles} = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : (rules as [])}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewText style={styles} /> : <Input.TextArea maxLength={maxLength} placeholder={placeholder} allowClear={allowClear} showCount={showCount} disabled={readonly} style={styles} />}\r\n </Form.Item>\r\n );\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { Form, InputNumber as Numerial } from \"antd\";\r\nimport { UIComponent } from '@/service';\r\nimport { PreviewText } from \"@/preview\";\r\n\r\nexport default class InputNumber extends UIComponent<Design.NumberProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const { type = \"number\", precision } = this.props;\r\n let numberProps: {} = {};\r\n if (type === \"digits\") {\r\n if (precision) {\r\n numberProps = {\r\n precision: Number(precision),\r\n };\r\n } else {\r\n numberProps = {\r\n precision: 2,\r\n };\r\n }\r\n } else if (type === \"money\") {\r\n numberProps = {\r\n formatter: (value: string) =>\r\n `¥ ${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\"),\r\n parser: (value: string) => value!.replace(/\\$\\s?|(,*)/g, \"\"),\r\n };\r\n } else if (type === \"percentage\") {\r\n numberProps = {\r\n formatter: (value: string) => `${value}%`,\r\n parser: (value: string) => value!.replace(\"%\", \"\"),\r\n };\r\n }\r\n this.onComputeValue();\r\n const rules = this.rules().map(rule => rule.required ? { ...rule, type: \"integer\" } : rule);\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, preview, min, max, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : (rules as [])}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? (<PreviewText style={styles} />) : (<Numerial min={min} max={max} disabled={readonly} {...numberProps} style={styles} />)}\r\n </Form.Item>\r\n );\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Form } from 'antd';\r\nimport ReactWEditor from 'wangeditor-for-react';\r\nimport { PreviewText } from '@/preview';\r\nimport { UIComponent } from '@/service';\r\n\r\nexport default class Editor extends UIComponent<Design.ComponentProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, title, preview, placeholder, hidden, readonly } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n colon={!!title}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {(preview || readonly) ? <PreviewText style={styles} /> : <EditorWidget placeholder={placeholder} style={styles} />}\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass EditorWidget extends React.Component<Design.WidgetProps> {\r\n isReactWEditor = false\r\n editorRef: React.RefObject<any> = React.createRef();\r\n \r\n shouldComponentUpdate() {\r\n return !this.isReactWEditor\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { value, placeholder, style, onChange } = this.props;\r\n return (\r\n <ReactWEditor\r\n placeholder={placeholder} \r\n value={value}\r\n style={style}\r\n onBlur={() => {\r\n this.isReactWEditor = false\r\n }}\r\n onFocus={() => {\r\n this.isReactWEditor = true\r\n }}\r\n onChange={(value: string) => {\r\n onChange?.(value);\r\n }}\r\n />\r\n );\r\n } \r\n}\r\n","import React from 'react';\r\nimport { Form, Select } from 'antd';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { PreviewList } from '@/preview';\r\n\r\nexport default class SelectList extends UIListComponent<Design.RemoteProps, Design.ListState> {\r\n state = {\r\n list: [],\r\n }\r\n \r\n componentDidMount(): void { \r\n const { remote } = this.props;\r\n const optionList = this.optionList();\r\n if (optionList) {\r\n this.setState({ \r\n list: optionList\r\n }, this.initValue);\r\n } else if (remote && remote.trim().length > 0) {\r\n this.request(remote).then((list: Design.ItemOption[]) => {\r\n this.setState({ list }, this.initValue);\r\n });\r\n }\r\n }\r\n\r\n initValue() {\r\n const { defaultValue, multiple } = this.props;\r\n if (defaultValue) {\r\n if (multiple) {\r\n this.setDefaultValue([defaultValue]);\r\n } else {\r\n this.setDefaultValue(defaultValue);\r\n }\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const { code, preview, multiple, placeholder, allowClear = true, readonly, hidden } = this.props;\r\n const rules = multiple ? this.plusRules() : this.rules();\r\n const itemList = this.collectionList();\r\n const list = this.getList(this.state.list, itemList, (plist) => {\r\n if (plist.length > 0) {\r\n const currentValue = this.getFieldValue<string | string[]>();\r\n if (currentValue && (\r\n (!multiple && !plist.some(item => item.key === currentValue)) ||\r\n (multiple && !plist.some(item => currentValue.includes(item.key)))\r\n )) {\r\n this.cleanFieldValue();\r\n }\r\n }\r\n });\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewList list={this.state.list} style={styles} /> :\r\n <SelectWidget list={list} multiple={multiple} placeholder={placeholder} allowClear={allowClear} readonly={readonly} style={styles} />\r\n }\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nconst { Option } = Select;\r\nclass SelectWidget extends WidgetComponent<Design.WidgetProps> {\r\n\r\n handleItemValue = (value: string) => {\r\n this.props.onChange?.(value);\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { list, value, multiple, placeholder, allowClear, readonly, style } = this.props;\r\n return (<Select\r\n showSearch\r\n placeholder={placeholder}\r\n mode={multiple ? \"multiple\" : undefined}\r\n disabled={readonly}\r\n value={value as string}\r\n allowClear={allowClear}\r\n style={style}\r\n onChange={this.handleItemValue}\r\n filterOption={(inputValue: string, option: any) =>\r\n (option!.children as unknown as string).toLowerCase().includes(inputValue.toLowerCase())\r\n }\r\n >\r\n {list && (list.map(({ key, label }) => <Option key={key} value={key}>{label}</Option>))}\r\n </Select>);\r\n }\r\n}","import React from 'react';\r\nimport { Form, Checkbox } from 'antd';\r\nimport { PreviewList } from '@/preview';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\n\r\nexport default class CheckBox extends UIListComponent<Design.RemoteProps, Design.ListState> {\r\n state = {\r\n list: [],\r\n }\r\n \r\n componentDidMount(): void {\r\n const { remote } = this.props;\r\n const optionList = this.optionList();\r\n if (optionList) {\r\n this.setState({\r\n list: optionList\r\n }, this.initValue);\r\n } else if (remote && remote.trim().length > 0) {\r\n this.request(remote).then((list: Design.ItemOption[]) => {\r\n this.setState({ list }, this.initValue);\r\n });\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.plusRules();\r\n const itemList = this.collectionList();\r\n const list = this.getList(this.state.list, itemList, (plist) => {\r\n if (plist.length > 0) {\r\n const currentValue = this.getFieldValue<string[]>();\r\n if (currentValue && !plist.some(item => currentValue.includes(item.key))) {\r\n this.cleanFieldValue();\r\n }\r\n }\r\n });\r\n const { code, preview, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n { preview ? <PreviewList list={this.state.list} style={styles} /> : <CheckboxWidget list={list} readonly={readonly} style={styles}/> }\r\n </Form.Item>\r\n )\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nclass CheckboxWidget extends WidgetComponent<Design.WidgetProps> {\r\n render(): React.ReactNode {\r\n const { value, list, readonly, style, onChange } = this.props;\r\n return (\r\n <Checkbox.Group\r\n style={style}\r\n value={value as string[]}\r\n onChange={(value: any) => {\r\n onChange?.(value);\r\n }}\r\n >\r\n {list && (list.map(({ key, label }) => <Checkbox key={key} value={key} disabled={readonly}>{label}</Checkbox>))}\r\n </Checkbox.Group>\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Form, Radio } from 'antd';\r\nimport { PreviewList } from '@/preview';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\n\r\nexport default class RadioButton extends UIListComponent<Design.Radio.Props, Design.ListState> {\r\n state = {\r\n list: [],\r\n }\r\n \r\n componentDidMount(): void {\r\n const { remote } = this.props;\r\n const optionList = this.optionList();\r\n if (optionList) {\r\n this.setState({ \r\n list: optionList\r\n }, this.initValue);\r\n } else if (remote && remote.trim().length > 0) {\r\n this.request(remote).then((list: Design.ItemOption[]) => {\r\n this.setState({ list }, this.initValue);\r\n });\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const itemList = this.collectionList();\r\n const list = this.getList(this.state.list, itemList, (plist) => {\r\n if (plist.length > 0) {\r\n const currentValue = this.getFieldValue<string>();\r\n if (currentValue && !plist.some(item => currentValue.includes(item.key))) {\r\n this.cleanFieldValue();\r\n }\r\n }\r\n });\r\n const { code, preview, optionType, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewList list={list} style={styles} /> : <RadioWidget list={this.state.list} optionType={optionType} readonly={readonly} style={styles} />}\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n } \r\n}\r\n\r\nclass RadioWidget extends WidgetComponent<Design.Radio.WidgetProps> {\r\n render(): React.ReactNode {\r\n const { value, list, optionType, readonly, style, onChange } = this.props;\r\n return (\r\n <Radio.Group\r\n value={value}\r\n optionType={optionType}\r\n style={style}\r\n onChange={(e: any) => {\r\n onChange?.(e.target.value);\r\n }}\r\n >\r\n {list && (list.map(({ key, label }) => <Radio key={key} value={key} disabled={readonly}>{label}</Radio>))}\r\n </Radio.Group>\r\n );\r\n } \r\n}\r\n","import React from 'react';\r\nimport { Form, Switch } from 'antd';\r\nimport { PreviewSwitch } from '@/preview';\r\nimport { UIComponent } from '@/service';\r\n\r\nexport default class SwitchButton extends UIComponent<Design.ComponentProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { code, preview, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n label={this.getLabel()}\r\n name={code}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"checked\"\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewSwitch style={styles} /> : <Switch disabled={readonly} style={styles} />}\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React from 'react';\r\nimport { Form, InputNumber } from 'antd';\r\nimport format from 'number-format.js';\r\nimport { PreviewDuration } from '@/preview';\r\nimport { UIComponent, WidgetComponent } from '@/service';\r\nimport './index.css';\r\n\r\nexport default class Duration extends UIComponent<Design.ComponentProps> {\r\n\r\n componentDidMount(): void {\r\n this.initValue(\"000:00:00\");\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, preview, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n { preview ? <PreviewDuration style={styles} /> : <DurationWidget readonly={readonly} style={styles}/> }\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass DurationWidget extends WidgetComponent<Design.WidgetProps> {\r\n\r\n duration: number[] = [0, 0, 0];\r\n \r\n changeValue = (index: number) => (changeValue: number | null) => {\r\n if (typeof changeValue === \"number\") {\r\n this.duration[index] = changeValue;\r\n const durations = this.duration.map((value: number, index: number) => (index === 0 ? format(\"000\", value) : format(\"00\", value)));\r\n this.props.onChange?.(durations.join(\":\"));\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { value, readonly, style } = this.props;\r\n if (typeof value === \"string\") {\r\n this.duration = value.split(\":\").map(Number);\r\n }\r\n return (\r\n <div className=\"duration\">\r\n <Form.Item>\r\n <InputNumber style={{width: '100%', ...style}} min={0} max={999} precision={0} value={this.duration[0]}\r\n formatter={(value: any) => value! < 100 ? (value! < 10 ? '00'+ value : '0'+ value) : value!.toString()}\r\n onChange={this.changeValue(0)} controls={false} disabled={readonly}\r\n />\r\n </Form.Item><span>小时</span>\r\n <Form.Item>\r\n <InputNumber style={{width: '100%', ...style}} min={0} max={59} precision={0} value={this.duration[1]}\r\n formatter={(value: any) => value! < 10 ? '0'+ value : value!.toString()}\r\n onChange={this.changeValue(1)} controls={false} disabled={readonly}\r\n />\r\n </Form.Item><span>分</span>\r\n <Form.Item>\r\n <InputNumber style={{width: '100%', ...style}} min={0} max={59} precision={0} value={this.duration[2]}\r\n formatter={(value: any) => value! < 10 ? '0'+ value : value!.toString()}\r\n onChange={this.changeValue(2)} controls={false} disabled={readonly}\r\n />\r\n </Form.Item><span>秒</span>\r\n </div>\r\n )\r\n }\r\n}\r\n","import React from 'react';\r\nimport dayjs from 'dayjs';\r\nimport { Form, DatePicker } from 'antd';\r\nimport { PreviewText } from '@/preview';\r\nimport { UIComponent, WidgetComponent } from '@/service';\r\nimport weekday from \"dayjs/plugin/weekday\";\r\nimport localeData from \"dayjs/plugin/localeData\";\r\n \r\ndayjs.extend(weekday);\r\ndayjs.extend(localeData);\r\n\r\nexport default class Datepicker extends UIComponent<Design.Picker.Props> {\r\n\r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, type = \"date\", format = \"YYYY-MM-DD\", showTime = false, preview, placeholder, allowClear = true, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n { preview ? <PreviewText style={styles}/> : <DateWidget type={type} format={format} showTime={showTime} placeholder={placeholder} allowClear={allowClear} readonly={readonly} style={styles} /> }\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass DateWidget extends WidgetComponent<Design.Picker.WidgetProps> {\r\n render(): React.ReactNode {\r\n const { value, type, format, showTime, placeholder, allowClear, readonly, style, onChange } = this.props;\r\n return (\r\n <DatePicker\r\n value={value ? dayjs(value, format) : undefined}\r\n picker={type}\r\n format={format}\r\n showTime={showTime ? { format: 'HH:mm' } : undefined}\r\n placeholder={placeholder}\r\n allowClear={allowClear}\r\n disabled={readonly} \r\n style={style}\r\n onChange={(value: any) => {\r\n onChange?.(value?.format(format));\r\n }}\r\n />\r\n )\r\n }\r\n}","import React from 'react';\r\nimport dayjs from 'dayjs';\r\nimport { Form, TimePicker } from 'antd';\r\nimport { UIComponent, WidgetComponent } from '@/service';\r\nimport { PreviewText } from '@/preview';\r\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\r\n\r\ndayjs.extend(customParseFormat);\r\n\r\nexport default class Timepicker extends UIComponent<Design.Picker.Props> {\r\n\r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, format = \"HH:mm:ss\", preview, placeholder, allowClear = true, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewText style={styles} /> : <TimeWidget format={format} placeholder={placeholder} allowClear={allowClear} readonly={readonly} style={styles} />}\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass TimeWidget extends WidgetComponent<Design.Picker.WidgetProps> {\r\n render(): React.ReactNode {\r\n const { value, format, placeholder, allowClear, readonly, style, onChange } = this.props;\r\n return (\r\n <TimePicker \r\n value={value ? dayjs(value, format) : undefined}\r\n format={format}\r\n placeholder={placeholder}\r\n allowClear={allowClear}\r\n disabled={readonly}\r\n style={style}\r\n onChange={(value: any) => {\r\n onChange?.(value?.format(format))\r\n }} />\r\n )\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Form, Upload, Button, Modal, Progress, message } from 'antd';\r\nimport { UploadOutlined } from '@ant-design/icons';\r\nimport request from '@/utils/request';\r\nimport bytes from 'bytes';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { PreviewFile } from '@/preview';\r\nimport { config } from '@/config';\r\n\r\nconst normFile = (e: any) => {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.list;\r\n};\r\n\r\nexport default class UplaodList extends UIListComponent<Design.File.Props> {\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.plusRules();\r\n const { code, preview, maxCount, fileType, fileTypeMessage, fileSize, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n getValueFromEvent={normFile}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <UploadWidget maxCount={maxCount} fileType={fileType} fileTypeMessage={fileTypeMessage} fileSize={fileSize} readonly={readonly} preview={preview} style={styles} />\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass UploadWidget extends WidgetComponent<Design.File.WidgetProps, Design.File.WidgetStates> {\r\n timer?: NodeJS.Timer;\r\n uploading = false;\r\n state = {\r\n fileList: [],\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n }\r\n\r\n componentDidMount(): void {\r\n const { list } = this.props;\r\n const url = config.file.listUrl;\r\n if (list && list?.length > 0 && list[0]) {\r\n request(url)({ ids: list }).then((response: Design.Result) => {\r\n const fileList = response.data.map((file: Design.File.FileInfo) => ({ ...file, status: 'done'}));\r\n this.setState({\r\n fileList\r\n }, () => {\r\n this.onChange(fileList);\r\n })\r\n }).catch((error: Error) => {\r\n console.warn(\"url\", url, error);\r\n });\r\n }\r\n }\r\n\r\n onChange(fileList: Design.File.FileInfo[]) {\r\n this.props.onChange?.(fileList.filter(({ id, status }) => (id && status === 'done')).map(({ id }) => id));\r\n }\r\n\r\n onBeforeUpload = (file: any) => {\r\n const { fileSize, fileType, fileTypeMessage } = this.props;\r\n const fileTypeArray = fileType?.replace(/\\ +/g, \"\").split(\",\");\r\n if (fileTypeArray && fileTypeArray.length > 0) {\r\n const isFileType = fileTypeArray.includes(file.type);\r\n if (!isFileType) {\r\n message.error(fileTypeMessage);\r\n return Upload.LIST_IGNORE;\r\n }\r\n } else {\r\n message.error(\"文件类型不匹配!\");\r\n return Upload.LIST_IGNORE;\r\n }\r\n if (fileSize) {\r\n const fileSizeValue = bytes.parse(fileSize);\r\n if (fileSizeValue < file.size) {\r\n message.error(`上传的文件大小,不能超过 ${fileSize}!`);\r\n return Upload.LIST_IGNORE;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n onStart = (): void => {\r\n clearInterval(this.timer);\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: 0\r\n }\r\n })\r\n this.uploading = true;\r\n }\r\n\r\n onProgress = (step: { percent: number}) => {\r\n if (!this.uploading) {\r\n return\r\n }\r\n clearInterval(this.timer);\r\n const percent = Math.round(step.percent / 2);\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: percent\r\n }\r\n });\r\n if (percent === 50) {\r\n let progress = percent;\r\n this.timer = setInterval(() => {\r\n if (this.uploading) {\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: ++progress\r\n }\r\n });\r\n } else {\r\n clearInterval(this.timer);\r\n this.setState({\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n });\r\n }\r\n if (progress === 99) {\r\n clearInterval(this.timer);\r\n }\r\n }, 1000);\r\n }\r\n }\r\n\r\n onSuccess = (response: any, file: any) => {\r\n clearInterval(this.timer);\r\n const { id, url } = response.data;\r\n file.status = \"done\";\r\n file.response = response;\r\n file.id = id;\r\n file.url = url;\r\n const fileList = [...this.state.fileList, file];\r\n this.setState({\r\n fileList,\r\n modal: {\r\n open: true,\r\n progress: 100\r\n }\r\n }, () => {\r\n this.onChange(fileList);\r\n setTimeout(()=> {\r\n this.setState({\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n })\r\n }, 500);\r\n });\r\n this.uploading = false;\r\n }\r\n\r\n onError = (error: any, response: any, file: any) => {\r\n clearInterval(this.timer);\r\n const fileList = [...this.state.fileList, file];\r\n file.status = \"error\";\r\n file.response = response?.message ?? \"上传失败\";\r\n this.setState({\r\n fileList,\r\n modal: {\r\n open: false,\r\n progress: 100\r\n }\r\n }, () => {\r\n this.onChange(fileList);\r\n });\r\n this.uploading = false;\r\n }\r\n\r\n onRemove = (file: any) => {\r\n const { fileList } = this.state;\r\n const list = fileList.filter(({ id }) => id !== file.id);\r\n this.setState({\r\n fileList: list\r\n }, () => {\r\n this.onChange(list);\r\n });\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { fileList, modal } = this.state;\r\n const { preview, maxCount: count, readonly, style } = this.props;\r\n const maxCount = count ? Number(count) : 0;\r\n if (preview) {\r\n return <PreviewFile fileList={fileList} />\r\n }\r\n const { onStart, onSuccess, onProgress, onError } = this;\r\n const itemProps = { onStart, onSuccess, onProgress, onError }\r\n return (\r\n <>\r\n <Upload\r\n action={config.request.prefix + config.file.uploadUrl}\r\n fileList={fileList}\r\n maxCount={maxCount}\r\n disabled={readonly}\r\n beforeUpload={this.onBeforeUpload}\r\n onRemove={this.onRemove}\r\n // data={file => {\r\n // const mime = this.fileExtraData(fileType);\r\n // return { mime, uid: file.uid };\r\n // }}\r\n { ...itemProps }\r\n >\r\n <Button disabled={readonly ? readonly : maxCount <= fileList.length} icon={<UploadOutlined />} style={style} >上传</Button>\r\n </Upload>\r\n <Modal open={modal.open} closable={false} footer={null}>\r\n <div>上传文件进度</div>\r\n <Progress percent={modal.progress} />\r\n </Modal>\r\n </>\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Form, Upload, Button, Modal, message } from 'antd';\r\nimport type { UploadProps } from 'antd/es/upload';\r\nimport { PlusOutlined } from '@ant-design/icons';\r\nimport request from '@/utils/request';\r\nimport ImgCrop from 'antd-img-crop';\r\nimport bytes from 'bytes';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { PreviewImage } from '@/preview';\r\nimport { config } from '@/config';\r\n\r\nconst normFile = (e: any) => {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.list;\r\n};\r\nconst fileType = [\"image/jpeg\", \"image/png\"];\r\n\r\nexport default class UplaodList extends UIListComponent<Design.File.Props> {\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.plusRules();\r\n const { code, preview, maxCount, fileSize, fileWidth = \"100\", fileHeight = \"100\", readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n getValueFromEvent={normFile}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <UploadWidget maxCount={maxCount} fileSize={fileSize} fileWidth={Number(fileWidth)} fileHeight={Number(fileHeight)} readonly={readonly} preview={preview} style={styles} />\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass UploadWidget extends WidgetComponent<Design.File.WidgetProps, Design.File.WidgetStates> {\r\n timer?: NodeJS.Timer;\r\n uploading = false;\r\n state = {\r\n fileList: [],\r\n fileView: undefined,\r\n }\r\n\r\n componentDidMount(): void {\r\n const { list } = this.props;\r\n const url = config.file.listUrl;\r\n if (list && list?.length > 0 && list[0]) {\r\n request(url)({ ids: list }).then((response: Design.Result) => {\r\n const fileList = response.data.map((file: Design.File.FileInfo) => ({ ...file, status: 'done'}));\r\n this.setState({\r\n fileList\r\n }, () => {\r\n this.onChange(fileList);\r\n })\r\n }).catch((error: Error) => {\r\n console.warn(\"url\", url, error);\r\n });\r\n }\r\n }\r\n\r\n onChange(fileList: Design.File.FileInfo[]) {\r\n this.props.onChange?.(fileList.filter(({ id, status }) => (id && status === 'done')).map(({ id }) => id));\r\n }\r\n\r\n onChangeValue: UploadProps['onChange'] = ({ fileList: list }) => {\r\n const fileList: Design.File.FileInfo[] = list.map((file: any) => {\r\n if (file.response?.status === 200) {\r\n const { id, name, url } = file.response.data;\r\n file.id = id;\r\n // file.name = name;\r\n file.url = url;\r\n file.status = 'done';\r\n } else if (file.response?.status === 500) {\r\n file.status = 'error';\r\n file.response = file.response.message;\r\n }\r\n return file;\r\n });\r\n this.setState({\r\n fileList\r\n }, () => {\r\n this.onChange(fileList);\r\n });\r\n }\r\n\r\n onBeforeUpload = (file: any) => {\r\n const isFileType = fileType.includes(file.type);\r\n if (!isFileType) {\r\n message.error(\"上传文件类型,仅支持图片类型!\");\r\n return Upload.LIST_IGNORE;\r\n }\r\n const { fileSize } = this.props;\r\n if (fileSize) {\r\n const fileSizeValue = bytes.parse(fileSize);\r\n if (fileSizeValue < file.size) {\r\n message.error(`上传的文件大小,不能超过 ${fileSize}!`);\r\n return Upload.LIST_IGNORE;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n onRemove = (file: any) => {\r\n const { fileList: list } = this.state;\r\n const fileList = list.filter(({ id }) => id !== file.id);\r\n this.setState({\r\n fileList\r\n }, () => {\r\n this.onChange(fileList);\r\n });\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { fileList, fileView } = this.state;\r\n const { preview, maxCount: count, readonly, fileWidth = 100, fileHeight = 100, style } = this.props;\r\n const maxCount = count ? Number(count) : 0;\r\n if (preview) {\r\n return <PreviewImage fileList={fileList} width={fileWidth} height={fileHeight} style={style}/>\r\n }\r\n return (<>\r\n <ImgCrop\r\n rotationSlider\r\n modalTitle=\"图片编辑\"\r\n modalOk=\"确认\"\r\n modalCancel=\"取消\"\r\n aspect={fileWidth / fileHeight}\r\n >\r\n <Upload\r\n listType=\"picture-card\"\r\n accept={fileType.join(\",\")}\r\n action={config.request.prefix + config.file.uploadUrl}\r\n fileList={fileList}\r\n maxCount={maxCount}\r\n disabled={readonly}\r\n beforeUpload={this.onBeforeUpload}\r\n onChange={this.onChangeValue}\r\n onRemove={this.onRemove}\r\n onPreview={(file: any) => this.setState({ fileView: file })}\r\n >\r\n {!readonly && (Number(maxCount) > fileList.length) && <Button type=\"link\" icon={<PlusOutlined />} style={style}/>}\r\n </Upload>\r\n </ImgCrop>\r\n {fileView?.[\"id\"] && <Modal title={fileView[\"name\"]} open={true} footer={null} onCancel={() => this.setState({ fileView: undefined})}>\r\n <img alt={fileView[\"name\"]} style={{ width: '100%' }} src={fileView[\"url\"]} />\r\n </Modal>}\r\n </>)\r\n }\r\n}","import React from 'react';\r\nimport { Form, Upload, Button, Modal, Progress, message } from 'antd';\r\nimport { UploadOutlined } from '@ant-design/icons';\r\nimport request from '@/utils/request';\r\nimport bytes from 'bytes';\r\nimport FileUpload from 'file-block-upload';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { PreviewFile } from '@/preview';\r\nimport { config } from '@/config';\r\n\r\nconst normFile = (e: any) => {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.list;\r\n};\r\n\r\nexport default class UplaodList extends UIListComponent<Design.File.Props> {\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.plusRules();\r\n const { code, preview, maxCount, fileType, fileTypeMessage, fileSize, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n getValueFromEvent={normFile}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <UploadWidget maxCount={maxCount} fileType={fileType} fileTypeMessage={fileTypeMessage} fileSize={fileSize} readonly={readonly} preview={preview} style={styles} />\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass UploadWidget extends WidgetComponent<Design.File.WidgetProps, Design.File.WidgetStates> {\r\n timer?: NodeJS.Timer;\r\n uploading = false;\r\n state = {\r\n fileList: [],\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n }\r\n\r\n componentDidMount(): void {\r\n const { list } = this.props;\r\n const url = config.file.listUrl;\r\n if (list && list.length > 0) {\r\n request(url)({ ids: list }).then((response: Design.Result) => {\r\n const fileList = response.data.map((file: Design.File.FileInfo) => ({ ...file, status: 'done' }));\r\n this.setState({\r\n fileList\r\n }, () => {\r\n this.onChange(fileList);\r\n })\r\n }).catch((error: Error) => {\r\n console.warn(\"url\", url, error);\r\n });\r\n }\r\n }\r\n\r\n onBeforeUpload = (file: any) => {\r\n const { fileSize, fileType, fileTypeMessage } = this.props;\r\n const fileTypeArray = fileType?.replace(/\\ +/g, \"\").split(\",\");\r\n if (fileTypeArray && fileTypeArray.length > 0) {\r\n const isFileType = fileTypeArray.includes(file.type);\r\n if (!isFileType) {\r\n message.error(fileTypeMessage);\r\n return Upload.LIST_IGNORE;\r\n }\r\n } else {\r\n message.error(\"文件类型不匹配!\");\r\n return Upload.LIST_IGNORE;\r\n }\r\n if (fileSize) {\r\n const fileSizeValue = bytes.parse(fileSize);\r\n if (fileSizeValue < file.size) {\r\n message.error(`上传的文件大小,不能超过 ${fileSize}!`);\r\n return Upload.LIST_IGNORE;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n customRequest = (info: any) => {\r\n const options = {\r\n blockSize: config.chunk.chunkSize,\r\n checkFile: async ({fileName, fileMd5, fileSize}: any) => (\r\n await request(\"post form \" + config.chunk.checkFile)({ fileName, fileMd5, fileSize })\r\n ),\r\n checkBlock: async ({fileName, fileMd5, blockMd5, blockIndex}: any) => (\r\n await request(\"post form \" + config.chunk.checkChunk)({ fileName, fileMd5, blockMd5, blockIndex })\r\n ),\r\n\r\n uploadBlock: async ({fileName, fileMd5, blockMd5, blockIndex, file}: any) => {\r\n const formData = new FormData();\r\n formData.append(\"blockIndex\", String(blockIndex));\r\n formData.append(\"blockMd5\", blockMd5);\r\n formData.append(\"fileName\", fileName);\r\n formData.append(\"fileMd5\", fileMd5);\r\n formData.append(\"file\", file as Blob);\r\n return await request(\"post form \" + config.chunk.chunkUpload)(formData);\r\n },\r\n\r\n mergeBlock: async ({fileName, fileMd5, fileSize}: any) => (\r\n await request(\"post form \" + config.chunk.doMerge)({fileName, fileMd5, fileSize})\r\n ),\r\n mergeProgress: async () => {\r\n const result = await request(config.chunk.mergeProgress)();\r\n return result?.data;\r\n },\r\n\r\n verifyFile: async ({fileName, fileMd5, fileSize}: any) => (\r\n await request(\"post form \" + config.chunk.onComplete)({fileName, fileMd5, fileSize})\r\n ),\r\n verifyProgress: async () => {\r\n const result = await request(config.chunk.completeProgress)();\r\n return result?.data;\r\n },\r\n };\r\n\r\n const upload = FileUpload.create(options);\r\n upload.progress((file: any, progress: number) => {\r\n file.status = \"uploading\";\r\n this.setState({ modal: { open: true, progress }});\r\n });\r\n upload.complete((file: any) => {\r\n const { id, url } = file.response;\r\n file.id = id;\r\n file.url = url;\r\n file.status = \"done\";\r\n const fileList = [...this.state.fileList, file];\r\n this.setState({\r\n fileList,\r\n modal: { open: false, progress: 0 }\r\n }, () => {\r\n this.onChange(fileList);\r\n });\r\n });\r\n upload.error((file: any, error: string) => {\r\n file.status = 'error';\r\n file.response = error;\r\n let fileList: any[] = this.state.fileList;\r\n const index = fileList.findIndex(({ uid }) => uid === file.uid);\r\n if (index === -1) {\r\n fileList.push(file);\r\n } else {\r\n fileList[index] = file;\r\n }\r\n this.setState({\r\n fileList,\r\n modal: { open: false, progress: 0 }\r\n });\r\n });\r\n upload.start(info.file);\r\n }\r\n\r\n onChange(fileList: Design.File.FileInfo[]) {\r\n this.props.onChange?.(fileList.filter(({ status }) => status === 'done').map(({ id }) => id));\r\n }\r\n\r\n onRemove = (file: any) => {\r\n const { fileList } = this.state;\r\n const list = fileList.filter(({ id }) => id !== file.id);\r\n this.setState({\r\n fileList: list\r\n }, () => {\r\n this.onChange(list);\r\n });\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { fileList, modal } = this.state;\r\n const { preview, maxCount: count, readonly, style } = this.props;\r\n const maxCount = count ? Number(count) : 0;\r\n if (preview) {\r\n return <PreviewFile fileList={fileList} />\r\n }\r\n return (\r\n <>\r\n <Upload\r\n action={config.request.prefix + config.file.uploadUrl}\r\n fileList={fileList}\r\n maxCount={maxCount}\r\n disabled={readonly}\r\n beforeUpload={this.onBeforeUpload}\r\n customRequest={this.customRequest}\r\n onRemove={this.onRemove}\r\n // data={file => {\r\n // const mime = this.fileExtraData(fileType);\r\n // return { mime, uid: file.uid };\r\n // }}\r\n >\r\n <Button disabled={readonly ? readonly : maxCount <= fileList.length} icon={<UploadOutlined />} style={style} >上传</Button>\r\n </Upload>\r\n <Modal open={modal.open} closable={false} footer={null}>\r\n <div>上传文件进度</div>\r\n <Progress percent={modal.progress} />\r\n </Modal>\r\n </>\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Form, Card, Table, Modal, Input, Space, Row, Col } from 'antd';\r\nimport { QuestionCircleOutlined } from '@ant-design/icons';\r\nimport { concat, find, uniqueId } from 'lodash';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { validate } from \"@/applets\";\r\n\r\nexport default class TableList extends UIListComponent<Design.ComponentProps> {\r\n \r\n getColumns() {\r\n const columnList = find(this.props.children, { tag: \"Columns\" })\r\n if (columnList) {\r\n return columnList.children?.map((column: Design.Table.ColumnData) => ({\r\n ...column,\r\n rules: column.rules?.map(validate)\r\n }));\r\n }\r\n return [];\r\n }\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.plusRules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, title, preview, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <TableWidget preview={preview || readonly} title={title} columns={this.getColumns()} style={styles} />\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass TableWidget extends WidgetComponent<Design.Table.WidgetProps, Design.Table.WidgetStates> {\r\n state= {\r\n dataSource: [],\r\n modal: {\r\n title: \"\",\r\n entity: undefined,\r\n show: false\r\n }\r\n };\r\n\r\n componentDidMount(): void {\r\n const { list, onChange } = this.props;\r\n if (Array.isArray(list)) {\r\n const dataSource = list.map(({ worksId, worksExtraId, ...items }, index) => {\r\n return { id: worksExtraId, index: index + 1, ...items }\r\n });\r\n this.setState({ dataSource }, () => {\r\n onChange?.(dataSource);\r\n })\r\n }\r\n }\r\n\r\n getColumns() {\r\n const { title, preview, columns, onChange } = this.props;\r\n const { dataSource } = this.state;\r\n if (preview) {\r\n return columns;\r\n }\r\n return concat(columns, {\r\n title: '操作',\r\n dataIndex: 'option',\r\n valueType: 'option',\r\n render: (_: unknown, record: any) => [\r\n <Space key=\"option\">\r\n <a key=\"modifly\"\r\n onClick={() => {\r\n this.setState({\r\n modal: { title: `修改${title}`, entity: record, show: true }\r\n })\r\n }}\r\n >\r\n 修改\r\n </a>\r\n <a key=\"delete\"\r\n onClick={() => {\r\n Modal.confirm({\r\n title: '警告',\r\n icon: <QuestionCircleOutlined />,\r\n content: '请确认是否删除该项数据?',\r\n okText: '确认',\r\n cancelText: '取消',\r\n onOk: () => {\r\n const list: Design.Table.Item[] = dataSource.filter(({ id, uid }) => !((id && record.id === id) || (uid && record.uid === uid)));\r\n this.setState({ dataSource: list }, () => {\r\n onChange?.(list);\r\n })\r\n },\r\n });\r\n }}\r\n >\r\n 删除\r\n </a>\r\n </Space>\r\n ],\r\n });\r\n }\r\n\r\n onFinish = (entity: Design.Table.Item) => {\r\n const { dataSource } = this.state;\r\n let list: Design.Table.Item[] = [];\r\n if (entity.id || entity.uid) {\r\n list = dataSource.map((item: Design.Table.Item) => {\r\n if (entity.id && item.id === entity.id) {\r\n return { ...item, ...entity }\r\n } else if (entity.uid && item.uid === entity.uid) {\r\n return { ...item, ...entity }\r\n }\r\n return item;\r\n });\r\n } else {\r\n entity.index = dataSource.length + 1;\r\n entity.uid = uniqueId();\r\n list = [...dataSource, entity];\r\n }\r\n\r\n this.setState({\r\n dataSource: list,\r\n modal: { title: \"\", entity: undefined, show: false }\r\n }, () => {\r\n this.props.onChange?.(list);\r\n })\r\n }\r\n\r\n onCancel = () => {\r\n this.setState({\r\n modal: { title: \"\", entity: undefined, show: false }\r\n })\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { title, preview, style } = this.props;\r\n const { dataSource, modal } = this.state;\r\n const columns = this.getColumns();\r\n return (\r\n <Card\r\n title={title}\r\n bodyStyle={{ padding: '0px 12px' }}\r\n extra={\r\n preview ? null :\r\n <a key=\"new\" onClick={() => {\r\n this.setState({\r\n modal: { title: `新建${title}`, entity: undefined, show: true }\r\n })\r\n }}>添加</a>\r\n }\r\n >\r\n <Table rowKey=\"index\" size=\"small\" style={style} columns={columns} dataSource={dataSource} />\r\n {modal.show && <ModalForm title={modal.title} entity={modal.entity} columns={columns} onFinish={this.onFinish} onCancel={this.onCancel} />}\r\n </Card>\r\n )\r\n }\r\n}\r\n\r\nconst ModalForm = ({ title, entity, columns, onFinish, onCancel }: Design.Table.ModalProps) => {\r\n const [form] = Form.useForm();\r\n return (\r\n <Modal \r\n title={title}\r\n width={740}\r\n open={true}\r\n destroyOnClose={true}\r\n onCancel={onCancel}\r\n onOk={async () => {\r\n const valid = form.validateFields()\r\n valid.then((data: Design.Table.Item)=> {\r\n onFinish({...entity, ...data});\r\n }).catch((e: any)=> {\r\n console.warn(e);\r\n });\r\n }} \r\n >\r\n <Form\r\n form={form} \r\n name=\"modalTable\"\r\n initialValues={entity}\r\n wrapperCol={{ span: 22 }}\r\n autoComplete=\"off\"\r\n layout='vertical'\r\n >\r\n <Row>\r\n {columns.length > 0 && columns.map(({ title, dataIndex, placeholder, rules }) => {\r\n if (dataIndex !== 'index' && dataIndex !== 'option') {\r\n return (\r\n <Col span={12} key={dataIndex}>\r\n <Form.Item label={title} name={dataIndex} rules={rules as []}>\r\n <Input placeholder={placeholder} />\r\n </Form.Item>\r\n </Col>\r\n )\r\n }\r\n })}\r\n </Row>\r\n </Form>\r\n </Modal>\r\n )\r\n}\r\n","import React, { useRef } from 'react';\r\nimport { Form, FormInstance, Card, Table, Modal, Space } from 'antd';\r\nimport { QuestionCircleOutlined } from '@ant-design/icons';\r\nimport { concat, find, uniqueId } from 'lodash';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport XMLDocument from \"@/utils/document\";\r\nimport { config } from '@/config';\r\nimport FormDocument from '@/form';\r\n\r\nexport default class FormList extends UIListComponent<Design.Form.Props, Design.Form.States> {\r\n\r\n itemList:{ code: string; title: string, type: string; data: {}; }[] = []\r\n columnList: any[] = []\r\n state = {\r\n doc: undefined,\r\n loading: true\r\n };\r\n\r\n componentDidMount(): void {\r\n const formId = this.props.formId!;\r\n this.setState({ loading: true });\r\n this.request(config.form.documentUrl, { formId }).then((xml: string) => {\r\n const doc = XMLDocument.toDocument(xml);\r\n this.setState({ doc });\r\n this.initItems(doc);\r\n });\r\n }\r\n\r\n initItems = async(doc: Document) => {\r\n this.columnList = find(this.props.children, { tag: \"Columns\" }).children;\r\n const codes: any[] = this.columnList.map((column: any) => column.dataIndex);\r\n const elements = XMLDocument.selectors(doc, \"[code]\");\r\n for (const element of elements) {\r\n const code = element.getAttribute(\"code\");\r\n const title = element.getAttribute(\"title\")!;\r\n const type = element.tagName.toLowerCase();\r\n if (code && codes.includes(code)) {\r\n const data: any = {};\r\n const remote = element.getAttribute(\"remote\");\r\n const options = XMLDocument.selectors(element, \"Option\");\r\n if (options.length > 0) {\r\n for (const option of options) {\r\n const key = option.getAttribute(\"value\");\r\n const value = option.textContent;\r\n if (key && value) {\r\n data[key] = value;\r\n }\r\n }\r\n } else if (remote) {\r\n const list: Design.ItemOption[] = await this.request(remote);\r\n for(const item of list) {\r\n data[item.key] = item.label;\r\n }\r\n }\r\n this.itemList.push({ code, title, type, data });\r\n }\r\n }\r\n this.setState({ loading: false });\r\n }\r\n \r\n render(): React.ReactNode { \r\n const show = this.display();\r\n if (show && !this.state.loading) {\r\n this.onComputeValue();\r\n const rules = this.plusRules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, title, witdh, preview, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n const { doc } = this.state;\r\n return (\r\n <Form.Item\r\n name={code}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <FormWidget preview={preview || readonly} title={title} witdh={witdh} columns={this.columnList} items={this.itemList} document={doc} style={styles} />\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass FormWidget extends WidgetComponent<Design.Form.WidgetProps, Design.Form.WidgetStates> {\r\n state= {\r\n dataSource: [],\r\n modal: {\r\n title: \"\",\r\n entity: undefined,\r\n show: false\r\n }\r\n };\r\n\r\n componentDidMount(): void {\r\n const list = this.props.list;\r\n if (Array.isArray(list)) {\r\n const dataSource = list.map(({ ...data }, index) => ({ id: uniqueId(), index: index + 1, ...data }));\r\n this.onChange(dataSource);\r\n }\r\n }\r\n\r\n onChange(list: any[]) {\r\n this.setState({ \r\n dataSource: list,\r\n modal: { title: \"\", entity: undefined, show: false }\r\n }, () => {\r\n this.props.onChange?.(list.map(({ id, index, ...data}) => data));\r\n })\r\n }\r\n\r\n getColumns() {\r\n const { preview, title, columns, items } = this.props;\r\n const { dataSource } = this.state;\r\n\r\n const columnList = columns.map((column: Design.Form.ColumnItem) => {\r\n const code = column.dataIndex\r\n const item: any = items.find((item: any) => item.code === code);\r\n if (item) {\r\n if (!column.title) {\r\n column.title = item.title;\r\n }\r\n column.render = (text: string) => Object.keys(item.data).length === 0 ? text: item.data[text]\r\n }\r\n return column;\r\n });\r\n \r\n if (preview) {\r\n return columnList;\r\n }\r\n return concat(columnList, {\r\n title: '操作',\r\n dataIndex: 'option',\r\n valueType: 'option',\r\n render: (_: unknown, record: any) => [\r\n <Space key=\"option\">\r\n <a key=\"modifly\"\r\n onClick={() => {\r\n this.setState({\r\n modal: { title: `修改${title}`, entity: record, show: true }\r\n })\r\n }}\r\n >修改</a>\r\n <a key=\"delete\"\r\n onClick={() => {\r\n Modal.confirm({\r\n title: '警告',\r\n icon: <QuestionCircleOutlined />,\r\n content: '请确认是否删除该项数据?',\r\n okText: '确认',\r\n cancelText: '取消',\r\n onOk: () => {\r\n const list: Design.Form.Data[] = dataSource.filter(({ id }) => !(id && record.id === id));\r\n this.onChange(list);\r\n },\r\n });\r\n }}\r\n >删除</a>\r\n </Space>\r\n ],\r\n });\r\n }\r\n\r\n onFinish = (entity: Design.Form.Data) => {\r\n const dataSource = this.state.dataSource;\r\n let list: Design.Form.Data[] = [];\r\n if (entity.id) {\r\n list = dataSource.map((data: Design.Form.Data) => data.id === entity.id ? { ...data, ...entity } : data);\r\n } else {\r\n entity.id = uniqueId();\r\n entity.index = dataSource.length + 1;\r\n list = [...dataSource, entity];\r\n }\r\n this.onChange(list);\r\n }\r\n\r\n onCancel = () => {\r\n this.setState({\r\n modal: { title: \"\", entity: undefined, show: false }\r\n })\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { preview, title, witdh, document, style } = this.props;\r\n const { dataSource, modal } = this.state;\r\n const columns = this.getColumns();\r\n return (\r\n <Card\r\n title={title}\r\n bodyStyle={{ padding: '0px 12px' }}\r\n extra={\r\n preview ? null :\r\n <a key=\"new\" onClick={() => {\r\n this.setState({\r\n modal: { title: `新建${title}`, entity: undefined, show: true }\r\n })\r\n }}>添加</a>\r\n }\r\n >\r\n <Table rowKey=\"id\" size=\"small\" style={style} columns={columns} dataSource={dataSource} />\r\n {modal.show && <ModalForm title={modal.title} witdh={witdh} entity={modal.entity} document={document} onFinish={this.onFinish} onCancel={this.onCancel} />}\r\n </Card>\r\n )\r\n }\r\n}\r\n\r\nconst ModalForm = ({ title, witdh=\"740\", entity, document, onFinish, onCancel }: Design.Form.ModalProps) => {\r\n const form: React.MutableRefObject<FormInstance | undefined> = useRef();\r\n \r\n return (\r\n <Modal \r\n title={title}\r\n width={Number(witdh)}\r\n open={true}\r\n destroyOnClose={true}\r\n onCancel={onCancel}\r\n onOk={async () => {\r\n try {\r\n await form.current?.validateFields();\r\n const data = form.current?.getFieldsValue();\r\n onFinish({...entity, ...data});\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }} \r\n >\r\n {document && <FormDocument form={form} document={document} initialValues={entity}/>}\r\n </Modal>\r\n )\r\n}\r\n","import { Row } from 'antd';\r\nimport React from 'react';\r\n\r\nexport default ({ children, gutter }: any) => (\r\n <Row gutter={Number(gutter)} style={{ margin: 0 }}>\r\n {children}\r\n </Row>\r\n)","import React from 'react';\r\nimport { Col } from 'antd';\r\n\r\nexport default ({ span, children }: any) => {\r\n return (\r\n <Col span={span}>\r\n {children}\r\n </Col>\r\n )\r\n}","import React, { useMemo } from 'react';\r\nimport { Steps } from 'antd';\r\n\r\nexport default ({ direction, stepIndex, onChangeSetp, children }: any) => {\r\n const items = useMemo(() => (\r\n children?.map(({ id, attributes }: any) => {\r\n const { title, description } = attributes;\r\n return { key: id, title, description };\r\n })\r\n ), [children]);\r\n \r\n return (\r\n <Steps\r\n current={stepIndex}\r\n direction={direction}\r\n onChange={onChangeSetp}\r\n items={items}\r\n style={{ padding: 16, backgroundColor: \"white\" }}\r\n />\r\n )\r\n}","import React, { useMemo, memo } from 'react';\r\nimport { Layout } from 'antd';\r\nimport { toStyles } from \"@/utils/style\";\r\n\r\nconst { Content } = Layout;\r\n\r\nexport default memo(({ currentStepIndex, stepIndex, style, children }: any) => {\r\n const itemStyle = useMemo(() => {\r\n const styles = style ? toStyles(style) : { padding: 16, backgroundColor: \"white\" };\r\n if (currentStepIndex !== Number(stepIndex)) {\r\n Object.assign(styles, { \"display\": \"none\" });\r\n }\r\n return styles;\r\n }, [currentStepIndex]);\r\n \r\n return (\r\n <Content style={itemStyle} >\r\n {children}\r\n </Content>\r\n )\r\n});","import React from 'react';\r\nimport { Divider } from 'antd';\r\n\r\nexport default ({ dashed = false, orientation = \"center\", children }: any) => (\r\n <Divider dashed={dashed} orientation={orientation} style={{ color: \"#055ab5\", fontWeight: \"bold\" }}>{children}</Divider>\r\n)","import React, { useState, useMemo, memo } from 'react';\r\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\r\nimport { Button } from 'antd';\r\nimport { toStyles } from \"@/utils/style\";\r\n\r\nconst hide = {\r\n display: 'none'\r\n}\r\nconst show = {\r\n display: 'block'\r\n}\r\n\r\nexport default memo(({ defaultExpanded = true, on, off, style, collapse, children }: any) => {\r\n const [isExpanded, onExpanded] = useState(defaultExpanded);\r\n const styles = toStyles(style);\r\n if (collapse) {\r\n return (\r\n <>\r\n <div style={styles}>\r\n <Button\r\n type='link'\r\n onClick={() => {\r\n onExpanded(!isExpanded);\r\n }}\r\n >{isExpanded ? off : on}{isExpanded ? <UpOutlined /> : <DownOutlined />} </Button>\r\n </div>\r\n <div style={isExpanded ? show : hide}>\r\n {children}\r\n </div>\r\n </>\r\n )\r\n }\r\n return <>{children}</>;\r\n});","import React, { PureComponent, ReactNode } from \"react\";\r\nimport { Form as BaseForm, FormInstance, Skeleton } from \"antd\";\r\nimport { find, mapValues, camelCase, isBoolean, isObject, isArray } from \"lodash\";\r\nimport XMLDocument from \"@/utils/document\";\r\nimport XML from \"@/entity/XML\";\r\nimport { ProComponent } from \"@/service\";\r\nimport * as BaseComponents from \"@/components\"\r\nimport { Col, Collapse, Content, Divider, Row, Steps } from \"@/containers\";\r\nimport { DesignContext } from \"@/context\";\r\nimport { config } from \"@/config\";\r\nimport { regrister } from \"@/utils/loading\";\r\n\r\nconst Components: {[name: string]: {}} = BaseComponents;\r\nconst Containers: {[name: string]: {}} = { Col, Collapse, Content, Divider, Row, Steps };\r\n\r\nexport default class FormDocument extends PureComponent<Design.HomeProps, Design.HomeState> {\r\n\r\n state = {\r\n stepIndex: 0,\r\n root: undefined,\r\n loading: true\r\n };\r\n\r\n form: React.RefObject<FormInstance>;\r\n preview?: boolean;\r\n layouts?: {};\r\n styles: {};\r\n showTitle?: boolean;\r\n customComponents?: {[name:string]: {}};\r\n\r\n constructor(props: Design.HomeProps) {\r\n super(props);\r\n this.styles = props.style ?? {};\r\n this.form = props.form ?? React.createRef()\r\n }\r\n\r\n componentDidMount(): void { \r\n const { document, preview } = this.props;\r\n let root;\r\n if (typeof document === \"string\") {\r\n root = XMLDocument.getRoot(document);\r\n } else {\r\n root = XMLDocument.parser(document);\r\n }\r\n \r\n const { style: styleValue, labelCol, wrapperCol, showTitle } = root.attributes;\r\n this.showTitle = !!showTitle;\r\n if (typeof styleValue === \"string\") {\r\n const styleList: string[] = styleValue?.replace(/\\ +/g, \"\").split(\";\");\r\n styleList?.forEach(style => {\r\n if (style) {\r\n const [key, value] = style.split(\":\");\r\n Object.assign(this.styles, { [camelCase(key)]: value });\r\n }\r\n });\r\n }\r\n if (labelCol && wrapperCol) {\r\n this.layouts = {\r\n labelCol: { span: labelCol },\r\n wrapperCol: { span: wrapperCol },\r\n };\r\n }\r\n this.preview = preview ?? false; \r\n if (config.components) {\r\n this.customComponents = mapValues(config.components, (component: any) => (props: any) => <ProComponent Component={component} { ...props} />)\r\n }\r\n this.setState({ root, loading: true });\r\n\r\n /** 注册loading插件 */\r\n regrister(loading => {\r\n this.setState({ loading });\r\n });\r\n }\r\n\r\n /**\r\n * 销毁form时,重置数据\r\n */\r\n componentWillUnmount(): void {\r\n this.form.current?.resetFields();\r\n this.setState({ root: undefined, loading: true });\r\n }\r\n\r\n onValuesChange = (changedValues: any) => {\r\n this.setState({\r\n values: changedValues\r\n })\r\n };\r\n\r\n /**\r\n * 切换步骤\r\n * \r\n * @param stepIndex \r\n */\r\n onStepIndex = (stepIndex: number) => { \r\n this.setState({\r\n stepIndex\r\n })\r\n }\r\n\r\n /**\r\n * 设置组件状态\r\n * \r\n * @param attributes \r\n */\r\n setComponentStatus(attributes: { [name: string]: string | boolean }) {\r\n const { hidden, readonly } = this.props;\r\n // 控件是否隐藏\r\n if (isBoolean(hidden)) {\r\n attributes.hidden = hidden;\r\n } else if (isArray(hidden)) {\r\n attributes.hidden = hidden.includes(attributes.code as string);\r\n } else if (isObject(hidden)) {\r\n attributes.hidden = !!hidden[attributes.code as string];\r\n } else {\r\n attributes.hidden = attributes.hidden ?? false;\r\n }\r\n // 控件是否只读\r\n if (isBoolean(readonly)) {\r\n attributes.readonly = readonly;\r\n } else if (isArray(readonly)) {\r\n attributes.readonly = readonly.includes(attributes.code as string);\r\n } else if (isObject(readonly)) {\r\n attributes.readonly = !!readonly[attributes.code as string];\r\n } else {\r\n attributes.readonly = attributes.readonly ?? false;\r\n }\r\n }\r\n\r\n /**\r\n * 加载组件\r\n * \r\n * @param xml \r\n * @param Component \r\n * @returns \r\n */\r\n component(xml: XML, Component: any) {\r\n const { id, attributes, children } = xml;\r\n this.setComponentStatus(attributes);\r\n return <Component key={id} preview={this.preview} {...attributes}>{children?.map(this.children)}</Component>\r\n }\r\n\r\n /**\r\n * 加载容器\r\n * \r\n * @param xml \r\n * @returns \r\n */\r\n container({ id, tag, attributes, text, children }: XML) {\r\n if (tag === \"Row\") {\r\n return <Row key={id} {...attributes}>{children?.map(this.children)}</Row>\r\n }\r\n if (tag === \"Col\") {\r\n return <Col key={id} span={Number(attributes.span)}>{children?.map(this.children)}</Col>\r\n }\r\n if (tag === \"Collapse\") {\r\n return <Collapse key={id} collapse={this.props.collapse} {...attributes}>{children?.map(this.children)}</Collapse>\r\n }\r\n if (tag === \"Content\") {\r\n return <Content key={id} currentStepIndex={this.state.stepIndex} {...attributes}>{children?.map(this.children)}</Content>\r\n }\r\n if (tag === \"Steps\") {\r\n return <Steps key={id} stepIndex={this.state.stepIndex} onChangeSetp={this.onStepIndex} {...attributes}>{children}</Steps>\r\n }\r\n if (tag === \"Divider\") {\r\n return <Divider key={id} {...attributes}>{text}</Divider>\r\n }\r\n }\r\n\r\n /**\r\n * 加载控件\r\n * \r\n * @param xml \r\n * @returns \r\n */\r\n applet({ tag, attributes, cdata, children }: XML) {\r\n if (tag === \"Columns\") {\r\n const child = children?.map(({ attributes, children }) => {\r\n if (children) {\r\n const rules: any = find(children.map(this.children), { tag: \"Validates\" });\r\n return { ...attributes, rules: rules?.children ?? [] };\r\n }\r\n return attributes;\r\n });\r\n return { tag, children: child };\r\n }\r\n if (tag === \"Options\") {\r\n const child = children?.map(({ attributes: { value }, text }) => ({ key: value, label: text }));\r\n return { tag, children: child };\r\n }\r\n if (tag === \"Validates\") {\r\n const child = children?.map(({ attributes }) => attributes);\r\n return { tag, children: child };\r\n }\r\n if (tag === \"Conditions\") {\r\n const { type, action } = attributes;\r\n const child = children?.map(({ attributes }) => attributes);\r\n return { tag, type, action, children: child };\r\n }\r\n if (tag === \"Collection\" || tag === \"Compute\") {\r\n return { tag, cdata };\r\n }\r\n }\r\n\r\n /**\r\n * 加载子项\r\n * \r\n * @param xml \r\n * @returns \r\n */\r\n children = (xml: XML) => {\r\n const Component = this.customComponents?.[xml.tag] ?? Components[xml.tag];\r\n if (Component) {\r\n return this.component(xml, Component);\r\n }\r\n const Container = Containers[xml.tag];\r\n if (Container) {\r\n return this.container(xml);\r\n }\r\n return this.applet(xml);\r\n }\r\n\r\n render(): ReactNode {\r\n const { root , loading } = this.state;\r\n const { initialValues } = this.props;\r\n return <>\r\n { root && \r\n <DesignContext.Provider value={{ ...this.props, form: this.form, showTitle: this.showTitle}}>\r\n <Form\r\n form={this.form}\r\n style={loading ? { ...this.styles, display: \"none\"} : this.styles }\r\n initialValues={initialValues}\r\n onValuesChange={this.onValuesChange}\r\n {...this.layouts}\r\n >\r\n {(root as XML).children?.map(this.children)}\r\n </Form>\r\n </DesignContext.Provider>\r\n }\r\n { loading && <Skeleton active />}\r\n </>\r\n }\r\n}\r\n\r\n/**\r\n * 表单组件\r\n */\r\nclass Form extends React.PureComponent<Design.FormProps> {\r\n\r\n onFinish = (values: object) => {\r\n console.log(\"Success:\", values);\r\n };\r\n\r\n render(): React.ReactNode {\r\n const { form, style, labelCol, wrapperCol, initialValues, children, onValuesChange } = this.props;\r\n return (\r\n <BaseForm\r\n ref={form}\r\n style={style}\r\n labelCol={labelCol}\r\n wrapperCol={wrapperCol}\r\n initialValues={initialValues}\r\n onFinish={this.onFinish}\r\n autoComplete=\"off\"\r\n onValuesChange={changedValues => {\r\n onValuesChange(changedValues);\r\n }}\r\n >\r\n {children}\r\n </BaseForm>\r\n );\r\n }\r\n}\r\n"],"names":["XML","element","_classCallCheck","_defineProperty","this","id","uniqueId","_step","_iterator","_createForOfIteratorHelper","attributes","s","n","done","item","value","trim","isBoolean","toBoolean","name","err","e","f","children","Array","_step2","_iterator2","childNodes","_this$children","_node$nodeValue","node","Element","push","nodeType","textContent","text","cdata","nodeValue","replace","tag","nodeName","_createClass","key","test","parseInt","XMLDocument","document","documentString","DOMParser","parseFromString","doc","toDocument","parser","selectors","querySelector","querySelectorAll","validate","_ref","_ref$type","type","required","minlength","maxlength","min","max","pattern","message","Number","RegExp","DesignContext","React","createContext","DesignConfig","conf","prefix","headers","params","listUrl","downloadUrl","uploadUrl","extraData","file","fileType","labelStyle","color","documentUrl","chunkSize","Math","pow","checkFile","checkChunk","chunkUpload","doMerge","mergeProgress","onComplete","completeProgress","request","form","chunk","components","_objectSpread","config","init","defineConfig","num","listeners","trigger","_asyncToGenerator","_regeneratorRuntime","mark","_callee","loading","_i","_listeners","wrap","_context","prev","next","length","callback","stop","_x","apply","arguments","begin","_ref2","_callee2","_context2","end","_ref3","_callee3","_context3","error","_ref4","_callee4","_context4","umiRequest","extend","timeout","use","ctx","t0","_x2","global","targetUrl","options","cloneData","cloneDeep","data","url","domain","urlMatch","match","_slicedToArray","slice","parse","compile","forEach","Object","console","method","toLocaleUpperCase","requestType","then","status","rest","_objectWithoutProperties","_excluded","success","Promise","resolve","_data$message","response","request$1","uri","uriArray","split","_uriArray","_uriArray2","toStyles","style","styles","items","_items$split","_items$split2","assign","camelCase","UIComponent","_React$PureComponent","_inherits","_super","_createSuper","_this","_len","_args","_key","call","concat","_assertThisInitialized","borderBottom","remote","args","context","abrupt","isArray","list","map","_Object$entries","_Object$entries$","entries","_Object$entries$2","label","reject","undefined","defaultValue","_form$current","_form$current2","code","props","current","getFieldValue","setFieldValue","_form$current3","_this2","setTimeout","_form$current4","_form$current5","getFieldsValue","showTitle","_this$props","title","labelStyles","_jsx","itemProps","_itemLayouts$wrapperC","_this$props2","preview","labelCol","wrapperCol","tips","itemLayouts","span","styleWrapper","tooltip","_this$props3","itemStyle","itemStyles","_this$context$preview","fileds","_this$props4","_this$props4$defaultH","defaultHide","show","conditions","find","_conditions$children","action","fields","keys","join","Function","actuator","condition","result","every","some","_this$props5","_validates$children$m","_validates$children","validates","content","collection","_this3","computeValue","moment","compute","_this$props$defaultVa","setDefaultValue","PureComponent","contextType","ProComponent","_UIComponent","forceUpdate","initValue","display","onComputeValue","rules","_this$getItem","getItem","hidden","Component","_this$getStyles","getStyles","Form","Item","getLabel","onChange","UIListComponent","itemList","reset","plist","filter","includes","rule","validator","_","WidgetComponent","_PureComponent","Label","Tooltip","PreviewText","useEffect","href","target","rel","PreviewDuration","_value$split","_value$split2","hour","minute","second","PreviewSwitch","checked","PreviewList","_ref5","_ref6","_ref7","PreviewFile","_ref8","fileList","_ref9","contentType","endsWith","_jsxs","Space","paddingBottom","startsWith","Image","width","src","alt","controls","alignItems","height","paddingLeft","PreviewImage","_ref10","_Fragment","_ref11","Text","log","placeholder","maxLength","allowClear","showCount","readonly","Input","disabled","TextArea","InputNumber","_this$props$type","precision","numberProps","formatter","Numerial","Editor","colon","EditorWidget","_React$Component","_super2","createRef","isReactWEditor","ReactWEditor","onBlur","onFocus","SelectList","_UIListComponent","optionList","setState","multiple","_this$props2$allowCle","plusRules","collectionList","getList","state","currentValue","cleanFieldValue","SelectWidget","Option","Select","_WidgetComponent","_this4","_len2","_key2","_this4$props$onChange","_this4$props","showSearch","mode","handleItemValue","filterOption","inputValue","option","toLowerCase","CheckBox","CheckboxWidget","Checkbox","Group","RadioButton","optionType","RadioWidget","Radio","SwitchButton","valuePropName","Switch","css","ref","insertAt","head","getElementsByTagName","createElement","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","Duration","DurationWidget","index","changeValue","_this$props$onChange","duration","durations","format","className","toString","dayjs","weekday","localeData","Datepicker","_this$props$format","_this$props$showTime","showTime","_this$props$allowClea","DateWidget","DatePicker","picker","customParseFormat","Timepicker","TimeWidget","TimePicker","normFile","UplaodList","maxCount","fileTypeMessage","fileSize","getValueFromEvent","UploadWidget","modal","open","progress","fileTypeArray","Upload","LIST_IGNORE","bytes","size","clearInterval","timer","uploading","step","percent","round","setInterval","_response$data","_toConsumableArray","_response$message","ids","warn","_this$state","count","onStart","onSuccess","onProgress","onError","beforeUpload","onBeforeUpload","onRemove","Button","icon","UploadOutlined","Modal","closable","footer","Progress","_this$props$fileWidth","fileWidth","_this$props$fileHeigh","fileHeight","fileView","_file$response","_file$response2","_file$response$data","_this$props3$fileWidt","_this$props3$fileHeig","ImgCrop","rotationSlider","modalTitle","modalOk","modalCancel","aspect","listType","accept","onChangeValue","onPreview","PlusOutlined","onCancel","info","_verifyProgress","_verifyFile","_mergeProgress","_mergeBlock","_uploadBlock","_checkBlock","_checkFile","blockSize","fileName","fileMd5","sent","checkBlock","blockMd5","blockIndex","uploadBlock","formData","FormData","append","String","_x3","mergeBlock","_x4","_callee5","_context5","verifyFile","_callee6","_context6","_x5","verifyProgress","_callee7","_context7","upload","FileUpload","create","complete","findIndex","uid","start","customRequest","TableList","_columnList$children","columnList","column","_column$rules","TableWidget","columns","getColumns","dataSource","entity","worksId","worksExtraId","dataIndex","valueType","render","record","onClick","confirm","QuestionCircleOutlined","okText","cancelText","onOk","Card","bodyStyle","padding","extra","Table","rowKey","ModalForm","onFinish","_onOk","_Form$useForm","useForm","destroyOnClose","validateFields","initialValues","autoComplete","layout","Row","Col","FormList","codes","elements","_iterator3","_step3","getAttribute","tagName","finish","formId","xml","initItems","witdh","FormWidget","_extends","_objectDestructuringEmpty","_this5","_this6","_ref5$witdh","useRef","FormDocument","gutter","margin","Steps","direction","stepIndex","onChangeSetp","useMemo","description","backgroundColor","Content","Layout","Content$1","memo","currentStepIndex","Divider","_ref$dashed","dashed","_ref$orientation","orientation","fontWeight","hide","Collapse","_ref$defaultExpanded","defaultExpanded","on","off","collapse","_useState","useState","_useState2","isExpanded","onExpanded","UpOutlined","DownOutlined","Components","BaseComponents","Containers","_props$style","_props$form","root","changedValues","values","_this$customComponent","_this$customComponent2","customComponents","component","container","applet","payload","_root$attributes","getRoot","styleValue","styleList","_style$split","_style$split2","layouts","mapValues","_this$form$current","resetFields","isObject","_attributes$hidden","_attributes$readonly","setComponentStatus","onStepIndex","child","_rules$children","_root$children","Provider","onValuesChange","Skeleton","active","BaseForm"],"mappings":"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","x_google_ignoreList":[23]}