antd-form-document 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +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/doc.ts","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../src/applets/index.ts","../src/context.ts","../src/config.ts","../src/service/UIComponent.tsx","../src/service/ProComponent.tsx","../node_modules/@babel/runtime/helpers/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/regenerator/index.js","../src/utils/request.ts","../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","../node_modules/spark-md5/spark-md5.js","../src/components/SuperUpload/ChunkUpload.ts","../src/components/SuperUpload/index.tsx","../src/components/Table/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\nexport default class XMLDocument {\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 static toDocument(documentString: string): Document {\r\n return new DOMParser().parseFromString(documentString, \"text/xml\");\r\n }\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}","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;","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: 'regexp', pattern: new RegExp('^[1][3,5,7,8][0-9]\\\\d{8}$'), message };\r\n }\r\n if (type === 'regexp' && typeof pattern === 'string') {\r\n return { type, 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 => {\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 return false;\r\n } catch (e: any) {\r\n console.warn(e.message);\r\n return false;\r\n }\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 return [];\r\n }\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 return undefined;\r\n }\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\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 } = {\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, chunk, components } = conf;\r\n this.request = { ...this.request, ...request };\r\n this.file = { ...this.file, ...file };\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 }","import React from \"react\";\r\nimport { camelCase, every, some, find } from 'lodash';\r\nimport { collection, compute, condition, validate } from \"@/applets\";\r\nimport { DesignContext } from \"@/context\";\r\nimport { config } from '@/config';\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 * @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 = this.getStyleByString(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 = this.getStyleByString(style);\r\n const itemStyles = this.getStyleByString(itemStyle);\r\n return { styles, itemStyles };\r\n }\r\n\r\n /**\r\n * 获得样式对象\r\n * \r\n * @param style string\r\n * @returns styles\r\n */\r\n private getStyleByString(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 }\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) {\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\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, title, hidden } = this.props;\r\n const { Component, defaultValue, ...props } = this.props;\r\n return (\r\n <Form.Item\r\n label={this.getLabel()}\r\n name={code}\r\n hidden={hidden}\r\n rules={rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {<Component {...props} onChange={this.onChange}/>}\r\n </Form.Item>\r\n );\r\n }\r\n return <></>;\r\n }\r\n}\r\n","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 { cloneDeep } from 'lodash';\r\nimport { message } from 'antd';\r\nimport { extend } from 'umi-request';\r\nimport { parse, compile } from 'path-to-regexp';\r\nimport { config } from '@/config';\r\n\r\nconst umiRequest = extend({\r\n prefix: config.request.prefix,\r\n timeout: 10000,\r\n});\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 message.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 msg = '访问超时';\r\n if (data || response?.status !== 403) {\r\n message.error(data?.message ?? msg);\r\n }\r\n return Promise.resolve({\r\n success: false,\r\n message: msg,\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 { find } from \"lodash\";\r\nimport UIComponent from \"./UIComponent\";\r\nimport request from \"@/utils/request\";\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 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 && 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 }\r\n return Promise.reject(undefined);\r\n }).catch(error => {\r\n console.log(\"remote\", remote, error);\r\n return Promise.reject(error);\r\n });\r\n }\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\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\nconst downloadUrl = config.file.downloadUrl;\r\n\r\nexport const PreviewText = ({ value, type, onChange }: Design.PreviewProps) => {\r\n useEffect(() => {\r\n onChange?.(value);\r\n }, []);\r\n if (value && type === \"url\") {\r\n return <div><a href={value} target=\"_blank\" rel=\"noreferrer\">{value}</a></div>\r\n }\r\n return <div>{value}</div>\r\n}\r\n\r\nexport const PreviewDuration = ({ value, 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>{`${hour}小时${minute}分${second}秒`}</div>\r\n } else {\r\n return <div>000时00分00秒</div>\r\n }\r\n}\r\n\r\nexport const PreviewSwitch = ({ checked, onChange }: any) => {\r\n useEffect(() => {\r\n onChange(checked);\r\n }, []);\r\n return <div>{checked ? \"开启\" : \"关闭\"}</div>\r\n}\r\n\r\nexport const PreviewList = ({ value, list, 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>{items?.join()}</div>\r\n } else {\r\n const item = list?.find(({ key }: any) => key === value);\r\n return <div>{item?.label}</div>\r\n }\r\n}\r\n\r\nexport const PreviewFile = ({ fileList }: any) => {\r\n return <>\r\n {fileList?.map(({ worksAnnexId, contentType, url, fileName, fileTitle }: any) => {\r\n if (contentType?.endsWith(\"pdf\")) {\r\n return <div key={worksAnnexId}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <a href={url} target=\"_blank\" rel=\"noreferrer\">{fileTitle}</a>\r\n <a href={`${downloadUrl}/${worksAnnexId}`} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n if (contentType?.startsWith(\"image\")) {\r\n return <div key={worksAnnexId}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <Image width={200} src={url} alt={fileTitle} />\r\n <a href={`${downloadUrl}/${worksAnnexId}`} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n if (contentType?.startsWith(\"video\")) {\r\n return <div key={worksAnnexId}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <video src={url} controls style={{ width: 260 }}>当前浏览器不支持视频播放,请使用最新版谷歌浏览器!</video>\r\n <a href={`${downloadUrl}/${worksAnnexId}`} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n if (contentType?.startsWith(\"audio\")) {\r\n return <div key={worksAnnexId}>\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={`${downloadUrl}/${worksAnnexId}`} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </div>\r\n </div>\r\n }\r\n if (fileName?.endsWith(\".doc\") || fileName?.endsWith(\".docx\") || fileName?.endsWith(\".xls\") || fileName?.endsWith(\".xlsx\") || fileName?.endsWith(\".ppt\") || fileName?.endsWith(\".pptx\")) {\r\n return <div key={worksAnnexId}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <a href={'http://view.officeapps.live.com/op/view.aspx?src=' + url} target=\"_blank\" rel=\"noreferrer\">{fileTitle}</a>\r\n <a href={`${downloadUrl}/${worksAnnexId}`} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n return <div key={worksAnnexId}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <a href={url} target=\"_blank\" rel=\"noreferrer\">{fileTitle}</a>\r\n <a href={`${downloadUrl}/${worksAnnexId}`} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\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 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} /> : <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 /> : <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();\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 />) : (<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 } = 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 ? <PreviewText /> : <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} /> :\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} /> : <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} /> : <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 /> : <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 /> : <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 (changeValue) {\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 /> : <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 /> : <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) {\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.log(\"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(({ status }) => 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 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 let 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 this.timer = setInterval(() => {\r\n if (this.uploading) {\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: ++percent\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 (percent === 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 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 clearInterval(this.timer);\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 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 clearInterval(this.timer);\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={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}","(function (factory) {\n if (typeof exports === 'object') {\n // Node/CommonJS\n module.exports = factory();\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(factory);\n } else {\n // Browser globals (with support for web workers)\n var glob;\n\n try {\n glob = window;\n } catch (e) {\n glob = self;\n }\n\n glob.SparkMD5 = factory();\n }\n}(function (undefined) {\n\n 'use strict';\n\n /*\n * Fastest md5 implementation around (JKM md5).\n * Credits: Joseph Myers\n *\n * @see http://www.myersdaily.org/joseph/javascript/md5-text.html\n * @see http://jsperf.com/md5-shootout/7\n */\n\n /* this function is much faster,\n so if possible we use it. Some IEs\n are the only ones I know of that\n need the idiotic second function,\n generated by an if clause. */\n var add32 = function (a, b) {\n return (a + b) & 0xFFFFFFFF;\n },\n hex_chr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];\n\n\n function cmn(q, a, b, x, s, t) {\n a = add32(add32(a, q), add32(x, t));\n return add32((a << s) | (a >>> (32 - s)), b);\n }\n\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n\n function md5blk(s) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n }\n\n function md5blk_array(a) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n return md5blks;\n }\n\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3);\n }\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n return state;\n }\n\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n\n // Not sure if it is a bug, however IE10 will always produce a sub array of length 1\n // containing the last element of the parent array if the sub array specified starts\n // beyond the length of the parent array - weird.\n // https://connect.microsoft.com/IE/feedback/details/771452/typed-array-subarray-issue\n a = (i - 64) < n ? a.subarray(i - 64) : new Uint8Array(0);\n\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << ((i % 4) << 3);\n }\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n\n return state;\n }\n\n function rhex(n) {\n var s = '',\n j;\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] + hex_chr[(n >> (j * 8)) & 0x0F];\n }\n return s;\n }\n\n function hex(x) {\n var i;\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n return x.join('');\n }\n\n // In some cases the fast add32 function cannot be used..\n if (hex(md51('hello')) !== '5d41402abc4b2a76b9719d911017c592') {\n add32 = function (x, y) {\n var lsw = (x & 0xFFFF) + (y & 0xFFFF),\n msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xFFFF);\n };\n }\n\n // ---------------------------------------------------\n\n /**\n * ArrayBuffer slice polyfill.\n *\n * @see https://github.com/ttaubert/node-arraybuffer-slice\n */\n\n if (typeof ArrayBuffer !== 'undefined' && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = (val | 0) || 0;\n\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n\n return Math.min(val, length);\n }\n\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n\n if (to !== undefined) {\n end = clamp(to, length);\n }\n\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n\n return target;\n };\n })();\n }\n\n // ---------------------------------------------------\n\n /**\n * Helpers.\n */\n\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n\n return str;\n }\n\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n\n return returnUInt8Array ? arr : buff;\n }\n\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n\n return returnUInt8Array ? result : result.buffer;\n }\n\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n\n return String.fromCharCode.apply(String, bytes);\n }\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation.\n *\n * Use this class to perform an incremental md5, otherwise use the\n * static methods instead.\n */\n\n function SparkMD5() {\n // call reset to init the instance\n this.reset();\n }\n\n /**\n * Appends a string.\n * A conversion will be applied if an utf8 string is detected.\n *\n * @param {String} str The string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.append = function (str) {\n // Converts the string to utf8 bytes if necessary\n // Then append as binary\n this.appendBinary(toUtf8(str));\n\n return this;\n };\n\n /**\n * Appends a binary string.\n *\n * @param {String} contents The binary string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n\n var length = this._buff.length,\n i;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n\n this._buff = this._buff.substring(i - 64);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.reset = function () {\n this._buff = '';\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash.slice()\n };\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n\n return this;\n };\n\n /**\n * Releases memory used by the incremental buffer and other additional\n * resources. If you plan to use the instance again, use reset instead.\n */\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n\n /**\n * Finish the final calculation based on the tail.\n *\n * @param {Array} tail The tail (will be modified)\n * @param {Number} length The length of the remaining buffer\n */\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(this._hash, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Do the final computation based on the tail and length\n // Beware that the final length may not fit in 32 bits so we take care of that\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n\n /**\n * Performs the md5 hash on a string.\n * A conversion will be applied if utf8 string is detected.\n *\n * @param {String} str The string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hash = function (str, raw) {\n // Converts the string to utf8 bytes if necessary\n // Then compute it using the binary function\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n\n /**\n * Performs the md5 hash on a binary string.\n *\n * @param {String} content The binary string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation for array buffers.\n *\n * Use this class to perform an incremental md5 ONLY for array buffers.\n */\n SparkMD5.ArrayBuffer = function () {\n // call reset to init the instance\n this.reset();\n };\n\n /**\n * Appends an array buffer.\n *\n * @param {ArrayBuffer} arr The array to be appended\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n\n this._length += arr.byteLength;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n\n this._buff = (i - 64) < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n\n // Convert buffer to a string\n state.buff = arrayBuffer2Utf8Str(state.buff);\n\n return state;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n // Convert string to buffer\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n\n return SparkMD5.prototype.setState.call(this, state);\n };\n\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n\n /**\n * Performs the md5 hash on an array buffer.\n *\n * @param {ArrayBuffer} arr The array buffer\n * @param {Boolean} [raw] True to get the raw string, false to get the hex one\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n return SparkMD5;\n}));\n","import SparkMD5 from 'spark-md5';\r\nimport request from '@/utils/request';\r\nimport { config } from '@/config';\r\n\r\nconst filePrototype = File.prototype as any;\r\nconst fileBlobSlice = filePrototype.slice || filePrototype.mozSlice || filePrototype.webkitSlice;\r\nconst defaultBlockSize = 10 * 1024 ** 2;\r\n\r\n/**\r\n * 等待\r\n * \r\n * @param millisecond \r\n * @returns \r\n */\r\nconst wait = (millisecond: number) => {\r\n return new Promise(resolve => {\r\n setTimeout(() => {\r\n resolve(millisecond)\r\n }, millisecond)\r\n })\r\n}\r\n\r\n/**\r\n * 上传 Upload.js\r\n */\r\nclass ChunkUpload {\r\n spark = new SparkMD5.ArrayBuffer();\r\n percents: number[] = [0, 0, 0, 0, 0];\r\n progress?: (percent: number) => void;\r\n file?: Design.File.FileInfo;\r\n\r\n listeners: { [name: string]: (payload: any) => void } = {};\r\n \r\n threads;\r\n chunkSize;\r\n chunkRetry;\r\n\r\n uploading: boolean = false;\r\n uploadList: Design.File.FileChunk [] = [];\r\n uploadPosition: number = 0;\r\n\r\n constructor({ chunkSize = defaultBlockSize, threads = 5, chunkRetry = 3 }: Design.File.FileOption) {\r\n this.chunkSize = chunkSize;\r\n this.threads = threads;\r\n this.chunkRetry = chunkRetry;\r\n }\r\n\r\n /**\r\n * 事件绑定\r\n * \r\n * @param method \r\n * @param callback \r\n */\r\n on(method: string, callback: (payload: any) => void) {\r\n this.listeners[method] = callback;\r\n }\r\n\r\n /**\r\n * 事件解除\r\n * \r\n * @param method \r\n */\r\n off(method: string) {\r\n delete this.listeners[method];\r\n }\r\n\r\n /**\r\n * 事件触发\r\n * \r\n * @param method \r\n */\r\n trigger(method: string, payload: any = null) {\r\n const callback = this.listeners[method];\r\n if(typeof callback === 'function'){\r\n callback(payload);\r\n }\r\n }\r\n\r\n /**\r\n * Buffer md5 加密\r\n * \r\n * @param content \r\n * @returns \r\n */\r\n md5hex(content: ArrayBuffer): string {\r\n return new SparkMD5.ArrayBuffer().append(content).end()\r\n }\r\n\r\n /**\r\n * 获得文件md5 hex\r\n * \r\n * @param file \r\n * @returns \r\n */\r\n fileMd5(file: File) {\r\n const num = Math.floor(file.size / defaultBlockSize); \r\n const blob: Blob = fileBlobSlice.call(file, num * defaultBlockSize);\r\n return new Promise<string>((resolve, reject) => { \r\n const fileReader = new FileReader();\r\n fileReader.onerror = reject\r\n fileReader.onload = (e: ProgressEvent<FileReader>) => {\r\n const buffer = e.target?.result ?? new ArrayBuffer(0);\r\n resolve(this.md5hex(buffer as ArrayBuffer)); \r\n }\r\n fileReader.readAsArrayBuffer(blob);\r\n })\r\n\r\n }\r\n\r\n /**\r\n * 计算上传步骤进度\r\n * \r\n * @param percent \r\n * @param index \r\n * @param ratio \r\n */\r\n stepProgress(percent: number, index: number, ratio: number) {\r\n this.percents[index] = percent * ratio;\r\n const progress = this.percents.reduce((v1: number, v2: number) => v1 + v2);\r\n this.trigger(\"progress\", progress);\r\n }\r\n\r\n /**\r\n * 计算上传进度\r\n * \r\n * @param percent \r\n */\r\n setProgress(percent: number) {\r\n this.trigger(\"progress\", percent);\r\n }\r\n\r\n /**\r\n * 文件上传\r\n * \r\n * @param file\r\n */\r\n async start(file: Design.File.FileInfo) {\r\n this.file = file;\r\n const fileName = file.name;\r\n const fileSize = file.size;\r\n const fileMd5 = await this.fileMd5(file);\r\n file.md5 = fileMd5;\r\n const result = await request(\"post form \" + config.chunk.checkFile)({ fileName, fileMd5, fileSize }); \r\n if (result?.data?.exist) {\r\n this.onComplete(false);\r\n } else {\r\n this.stepProgress(100, 0, 0.02);\r\n this.beforeUpload();\r\n }\r\n }\r\n\r\n /**\r\n * 文件上传前\r\n * \r\n * @param file \r\n * @param fileName \r\n * @param fileMd5 \r\n */\r\n beforeUpload() {\r\n this.uploading = true;\r\n this.uploadPosition = 0;\r\n let chunkIndex = 0;\r\n const fileSize = this.file?.size ?? 0;\r\n const chunkCount = Math.ceil(fileSize / this.chunkSize);\r\n const fileReader = new FileReader()\r\n const readFile = () => {\r\n const start = chunkIndex * this.chunkSize,\r\n end = ((start + this.chunkSize) >= fileSize) ? fileSize : start + this.chunkSize; \r\n fileReader.readAsArrayBuffer(fileBlobSlice.call(this.file, start, end));\r\n }\r\n fileReader.onload = (e: ProgressEvent<FileReader>) => {\r\n chunkIndex ++;\r\n const buffer = e.target?.result ?? new ArrayBuffer(0);\r\n const chunkMd5 = this.md5hex(buffer as ArrayBuffer);\r\n const blob = new Blob([buffer]); \r\n this.uploadList.unshift({ chunkMd5, chunkIndex, blob });\r\n if (chunkIndex < chunkCount) {\r\n readFile();\r\n } else {\r\n this.uploading = false;\r\n }\r\n this.stepProgress(Math.round((chunkIndex / chunkCount) * 100), 1, 0.2);\r\n }\r\n readFile();\r\n this.startUpload(chunkCount);\r\n }\r\n\r\n /**\r\n * 分片上传\r\n * \r\n * @param fileName\r\n * @param fileMd5\r\n * @param chunkCount\r\n */\r\n async startUpload(chunkCount: number) { \r\n let index = 0;\r\n const timer = setInterval(() => {\r\n const size = this.uploadList.length;\r\n if (size === 0 && !this.uploading) {\r\n clearInterval(timer);\r\n } else {\r\n for (let i = 0; size - i > 0 && this.uploadPosition + i < this.threads; i ++, this.uploadPosition ++) {\r\n const chunk = this.uploadList.pop();\r\n if (chunk) {\r\n this.onUpload(chunk).then(()=> {\r\n index ++;\r\n this.stepProgress(Math.round((index / chunkCount) * 100), 2, 0.4);\r\n if (chunkCount === index) {\r\n this.doMerge();\r\n }\r\n });\r\n }\r\n } \r\n } \r\n }, 500);\r\n }\r\n\r\n /**\r\n * 开始上传\r\n * \r\n * @param fileName\r\n * @param fileMd5\r\n * @param chunk\r\n */\r\n async onUpload(chunk: Design.File.FileChunk) {\r\n const { chunkMd5, chunkIndex, blob } = chunk;\r\n const fileName = this.file?.name ?? \"\";\r\n const fileMd5 = this.file?.md5 ?? \"\"; \r\n const result = await request(\"post form \" + config.chunk.checkChunk)({ fileName, fileMd5, chunkMd5, chunkIndex });\r\n if (result?.data?.exist === false) {\r\n for (let i = 0; i < this.chunkRetry; i ++) {\r\n const formData = new FormData();\r\n formData.append(\"chunkIndex\", String(chunkIndex));\r\n formData.append(\"fileName\", fileName);\r\n formData.append(\"fileMd5\", fileMd5);\r\n formData.append(\"file\", blob);\r\n await request(\"post form \" + config.chunk.chunkUpload)(formData);\r\n break;\r\n }\r\n }\r\n this.uploadPosition --;\r\n }\r\n\r\n /**\r\n * 合并\r\n * \r\n */\r\n async doMerge() {\r\n const fileName = this.file?.name ?? \"\";\r\n const fileMd5 = this.file?.md5 ?? \"\"; \r\n await request(\"post form \" + config.chunk.doMerge)({fileName, fileMd5});\r\n this.mergeProgress();\r\n }\r\n\r\n /**\r\n * 合并进程\r\n */\r\n async mergeProgress() {\r\n const result = await request(config.chunk.mergeProgress)();\r\n const percent = result?.data?.percent;\r\n if (Number.isFinite(percent)) {\r\n this.stepProgress(percent, 3, 0.18);\r\n if (percent < 100) {\r\n await wait(1000);\r\n this.mergeProgress();\r\n } else {\r\n this.onComplete(true);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 上传完成\r\n * \r\n */\r\n async onComplete(step?: boolean) {\r\n const fileName = this.file?.name ?? \"\";\r\n const fileMd5 = this.file?.md5 ?? \"\"; \r\n const result = await request(\"post form \" + config.chunk.onComplete)({fileName, fileMd5});\r\n if (this.file && result) {\r\n this.file.response = result;\r\n }\r\n this.completeProgress(step);\r\n }\r\n\r\n /**\r\n * 其他进程\r\n */\r\n async completeProgress(step?: boolean) {\r\n const result = await request(config.chunk.completeProgress)();\r\n const percent = result?.data?.percent;\r\n if (Number.isFinite(percent)) {\r\n if (step) {\r\n this.stepProgress(percent, 4, 0.2);\r\n } else {\r\n this.setProgress(percent);\r\n }\r\n if (percent < 100) {\r\n await wait(1000);\r\n this.completeProgress(step);\r\n } else {\r\n this.trigger(\"complete\", this.file);\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default ChunkUpload;","import React from 'react';\r\nimport { Form, Upload, Button, Modal, Progress, message } from 'antd';\r\nimport { UploadOutlined } from '@ant-design/icons';\r\nimport bytes from 'bytes';\r\nimport request from '@/utils/request';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { PreviewFile } from '@/preview';\r\nimport { config } from '@/config';\r\nimport ChunkUpload from './ChunkUpload';\r\n\r\nconst { uploadUrl, listUrl } = config.file;\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 if (list && list.length > 0) {\r\n request(listUrl)({params: { 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.log(\"url\", listUrl, 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 file = info.file;\r\n const upload = new ChunkUpload({ chunkSize: 1024 * 1024 * 10, threads: 5 });\r\n upload.start(file);\r\n upload.on(\"progress\", (percent: number) => {\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: Math.round(percent)\r\n }\r\n });\r\n file.status = \"uploading\";\r\n });\r\n upload.on(\"complete\", (file: Design.File.FileInfo) => { \r\n const { id, url } = file.response.data;\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 }, () => {\r\n this.onChange(fileList);\r\n this.setState({\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n })\r\n });\r\n });\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={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={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, 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} 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 labelCol={{ span: 4 }}\r\n wrapperCol={{ span: 16 }}\r\n initialValues={entity}\r\n autoComplete=\"off\"\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 { Row } from 'antd';\r\nimport React from 'react';\r\n\r\nexport default ({ children, gutter }: any) => {\r\n return (\r\n <Row gutter={Number(gutter)} style={{ margin: 0 }}>\r\n {children}\r\n </Row>\r\n )\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 const list: any[] = [];\r\n children?.map(({ id, attributes }: any) => {\r\n const { title, description } = attributes;\r\n list.push({ key: id, title, description });\r\n });\r\n return list;\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 { camelCase } from 'lodash';\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 styleList = style?.replace(/\\ +/g, '').split(';');\r\n const styles = style ?? { padding: 16, backgroundColor: \"white\" };\r\n styleList?.forEach((items: any) => {\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 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 return (\r\n <Divider dashed={dashed} orientation={orientation} style={{ color: \"#055ab5\", fontWeight: \"bold\" }}>{children}</Divider>\r\n )\r\n}","import React, { useState, useMemo, memo } from 'react';\r\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\r\nimport { Button } from 'antd';\r\nimport { camelCase } from 'lodash';\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\r\n const itemStyle = useMemo(() => {\r\n const styles = {};\r\n const styleList = style?.replace(/\\ +/g, '').split(';');\r\n styleList?.forEach((items: any) => {\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 return styles;\r\n }, [style]);\r\n\r\n if (collapse) {\r\n return (\r\n <>\r\n <div style={itemStyle}>\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/doc\";\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\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 };\r\n\r\n form: React.RefObject<FormInstance>;\r\n root: XML;\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 const { document, form, preview } = this.props;\r\n this.root = XMLDocument.getRoot(document);\r\n\r\n const { style: styleValue, labelCol, wrapperCol, showTitle } = this.root.attributes;\r\n this.showTitle = !!showTitle;\r\n this.styles = this.props.style ?? {};\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.form = form ?? React.createRef()\r\n this.preview = preview ?? false; \r\n \r\n if (config.components) {\r\n this.customComponents = mapValues(config.components, (component: any) => (props: any) => <ProComponent Component={component} { ...props} />)\r\n }\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 onStepIndex = (stepIndex: number) => {\r\n this.setState({\r\n stepIndex\r\n })\r\n }\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 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 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 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 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 if (this.root.children) {\r\n const { initialValues } = this.props; \r\n return (\r\n <DesignContext.Provider value={{ ...this.props, form: this.form, showTitle: this.showTitle}}>\r\n <Form\r\n form={this.form}\r\n style={this.styles}\r\n initialValues={initialValues}\r\n onValuesChange={this.onValuesChange}\r\n {...this.layouts}\r\n >\r\n {this.root.children.map(this.children)}\r\n </Form>\r\n </DesignContext.Provider>\r\n );\r\n }\r\n return <Skeleton active />;\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","this","_defineProperty","id","uniqueId","_step","attributes","_iterator","s","item","trim","isBoolean","toBoolean","e","f","children","_step2","childNodes","_iterator2","_this$children","_node$nodeValue","node","Element","nodeType","textContent","text","cdata","nodeValue","replace","tag","nodeName","_createClass","parseInt","XMLDocument","documentString","DOMParser","parseFromString","doc","toDocument","parser","source","excluded","sourceKeys","keys","indexOf","objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","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","checkFile","checkChunk","chunkUpload","doMerge","mergeProgress","onComplete","completeProgress","request","chunk","components","_objectSpread","config","init","defineConfig","UIComponent","_React$PureComponent","_inherits","_super","_createSuper","_this","_len","arguments","args","_key","apply","concat","_assertThisInitialized","borderBottom","defaultValue","form","context","_form$current","_form$current2","code","current","getFieldValue","setFieldValue","_form$current3","_this2","setTimeout","_form$current4","_form$current5","getFieldsValue","showTitle","_this$props","title","labelStyles","getStyleByString","_jsx","itemProps","_itemLayouts$wrapperC","_this$props2","preview","labelCol","wrapperCol","tips","itemLayouts","span","assign","styleWrapper","tooltip","_this$props3","itemStyle","styles","itemStyles","split","forEach","items","_items$split","_items$split2","_slicedToArray","camelCase","_this$context$preview","fileds","_this$props4","_this$props4$defaultH","defaultHide","show","conditions","find","_conditions$children","action","list","map","fields","_ref2","join","Function","actuator","console","warn","condition","result","every","some","_this$props5","_validates$children$m","_validates$children","validates","content","_ref3","collection","_this3","computeValue","_ref4","moment","compute","_this$props$defaultVa","setDefaultValue","PureComponent","contextType","ProComponent","_UIComponent","forceUpdate","initValue","display","onComputeValue","rules","_this$getItem","getItem","hidden","Component","_objectWithoutProperties","_excluded","_Form","Item","label","getLabel","onChange","asyncGeneratorStep","gen","resolve","reject","_next","_throw","info","error","Promise","then","fn","_regeneratorRuntime","Op","hasOwn","hasOwnProperty","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","method","_invoke","AsyncIterator","PromiseImpl","invoke","record","__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","umiRequest","extend","timeout","targetUrl","options","cloneData","cloneDeep","data","url","domain","urlMatch","match","parse","compile","_message","toLocaleUpperCase","requestType","status","rest","success","_data$message","response","msg","request$1","uri","uriArray","_uriArray","_uriArray2","UIListComponent","_args","_asyncToGenerator","_callee","remote","_context","_Object$entries","entries","_Object$entries$2","_Object$entries$","log","_x2","itemList","plist","filter","includes","rule","validator","_","WidgetComponent","_PureComponent","Label","_this$getStyles","getStyles","Tooltip","PreviewText","useEffect","href","rel","PreviewDuration","_value$split2","_value$split","hour","minute","second","PreviewSwitch","checked","PreviewList","_ref5","_ref6","_ref7","PreviewFile","_ref8","fileList","_ref9","worksAnnexId","contentType","fileName","fileTitle","endsWith","_jsxs","_Space","paddingBottom","startsWith","width","src","alt","controls","alignItems","height","paddingLeft","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","_WidgetComponent","_this4","_len2","_key2","_this4$props$onChange","_this4$props","_Select","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","_TimePicker","arrayWithoutHoles","iterableToArray","nonIterableSpread","normFile","UplaodList","maxCount","fileTypeMessage","fileSize","getValueFromEvent","UploadWidget","modal","open","progress","fileTypeArray","_Upload","LIST_IGNORE","bytes","size","uploading","step","percent","Math","round","timer","setInterval","clearInterval","_response$message","ids","_this$state","count","onStart","onSuccess","onProgress","onError","beforeUpload","onBeforeUpload","onRemove","_Button","icon","UploadOutlined","_Modal","closable","footer","_Progress","hex_chr","md5cycle","x","k","a","b","c","d","md5blk","md5blks","charCodeAt","md5blk_array","md51","tail","tmp","lo","hi","substring","md51_array","subarray","Uint8Array","rhex","j","hex","toUtf8","str","unescape","encodeURIComponent","utf8Str2ArrayBuffer","returnUInt8Array","buff","ArrayBuffer","arrayBuffer2Utf8Str","fromCharCode","concatenateArrayBuffers","first","byteLength","set","buffer","hexToBinaryString","substr","SparkMD5","clamp","to","num","targetArray","sourceArray","begin","end","append","appendBinary","contents","_buff","_length","_hash","raw","ret","_finish","getState","hash","destroy","hashBinary","factory","filePrototype","File","fileBlobSlice","mozSlice","webkitSlice","defaultBlockSize","pow","wait","millisecond","ChunkUpload","_ref$chunkSize","chunkSize","_ref$threads","threads","_ref$chunkRetry","chunkRetry","_completeProgress","_onComplete","_mergeProgress","_doMerge","_onUpload","_startUpload","_start","callback","listeners","payload","floor","blob","fileReader","FileReader","onerror","onload","_e$target$result","_e$target","md5hex","readAsArrayBuffer","ratio","percents","reduce","v1","v2","trigger","_result$data","fileMd5","md5","exist","stepProgress","_this$file$size","_this$file","uploadPosition","chunkIndex","chunkCount","ceil","readFile","start","_e$target$result2","_e$target2","chunkMd5","Blob","uploadList","unshift","startUpload","_context2","onUpload","_callee2","_this$file$name","_this$file2","_this$file$md","_this$file3","_result$data2","formData","_context3","FormData","_callee3","_x3","_callee4","_this$file$name2","_this$file4","_this$file$md2","_this$file5","_context4","_callee5","_result$data3","_context5","isFinite","_this$file$name3","_this$file6","_this$file$md3","_this$file7","_context6","_callee6","_x4","_result$data4","_context7","setProgress","_callee7","_x5","upload","on","_file$response$data","customRequest","TableList","_columnList$children","columnList","column","_column$rules","TableWidget","columns","getColumns","dataSource","entity","uid","worksId","worksExtraId","dataIndex","valueType","render","onClick","confirm","QuestionCircleOutlined","okText","cancelText","onOk","_Card","bodyStyle","padding","extra","_Table","rowKey","ModalForm","onFinish","onCancel","_onOk","_Form$useForm","useForm","destroyOnClose","validateFields","initialValues","autoComplete","_Row","_Col","Row","gutter","margin","Col","Steps","direction","stepIndex","onChangeSetp","useMemo","description","_Steps","backgroundColor","Content","Content$1","memo","currentStepIndex","styleList","Divider","_ref$dashed","dashed","_ref$orientation","orientation","_Divider","fontWeight","hide","Collapse","_ref$defaultExpanded","defaultExpanded","off","collapse","useState","_useState2","_useState","isExpanded","onExpanded","_Fragment","UpOutlined","DownOutlined","Components","BaseComponents","Containers","FormDocument","_this$props$style","changedValues","xml","_this$customComponent","_this$customComponent2","customComponents","component","container","applet","root","getRoot","_this$root$attributes","styleValue","_style$split","_style$split2","layouts","mapValues","isObject","_attributes$hidden","_attributes$readonly","setComponentStatus","onStepIndex","child","_rules$children","Provider","Form","onValuesChange","_Skeleton","active"],"mappings":"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"}
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/doc.ts","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../src/applets/index.ts","../src/context.ts","../src/config.ts","../src/service/UIComponent.tsx","../src/service/ProComponent.tsx","../node_modules/@babel/runtime/helpers/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/regenerator/index.js","../src/utils/request.ts","../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","../node_modules/spark-md5/spark-md5.js","../src/components/SuperUpload/ChunkUpload.ts","../src/components/SuperUpload/index.tsx","../src/components/Table/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\nexport default class XMLDocument {\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 static toDocument(documentString: string): Document {\r\n return new DOMParser().parseFromString(documentString, \"text/xml\");\r\n }\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}","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;","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: 'regexp', pattern: new RegExp('^[1][3,5,7,8][0-9]\\\\d{8}$'), message };\r\n }\r\n if (type === 'regexp' && typeof pattern === 'string') {\r\n return { type, 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 => {\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 return false;\r\n } catch (e: any) {\r\n console.warn(e.message);\r\n return false;\r\n }\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 return [];\r\n }\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 return undefined;\r\n }\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\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 } = {\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, chunk, components } = conf;\r\n this.request = { ...this.request, ...request };\r\n this.file = { ...this.file, ...file };\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 }","import React from \"react\";\r\nimport { camelCase, every, some, find } from 'lodash';\r\nimport { collection, compute, condition, validate } from \"@/applets\";\r\nimport { DesignContext } from \"@/context\";\r\nimport { config } from '@/config';\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 * @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 = this.getStyleByString(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 = this.getStyleByString(style);\r\n const itemStyles = this.getStyleByString(itemStyle);\r\n return { styles, itemStyles };\r\n }\r\n\r\n /**\r\n * 获得样式对象\r\n * \r\n * @param style string\r\n * @returns styles\r\n */\r\n private getStyleByString(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 }\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) {\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\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, title, hidden } = this.props;\r\n const { Component, defaultValue, ...props } = this.props;\r\n return (\r\n <Form.Item\r\n label={this.getLabel()}\r\n name={code}\r\n hidden={hidden}\r\n rules={rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {<Component {...props} onChange={this.onChange}/>}\r\n </Form.Item>\r\n );\r\n }\r\n return <></>;\r\n }\r\n}\r\n","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 { cloneDeep } from 'lodash';\r\nimport { message } from 'antd';\r\nimport { extend } from 'umi-request';\r\nimport { parse, compile } from 'path-to-regexp';\r\nimport { config } from '@/config';\r\n\r\nconst umiRequest = extend({\r\n prefix: config.request.prefix,\r\n timeout: 10000,\r\n});\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 message.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 msg = '访问超时';\r\n if (data || response?.status !== 403) {\r\n message.error(data?.message ?? msg);\r\n }\r\n return Promise.resolve({\r\n success: false,\r\n message: msg,\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 { find } from \"lodash\";\r\nimport UIComponent from \"./UIComponent\";\r\nimport request from \"@/utils/request\";\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 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 && 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 }\r\n return Promise.reject(undefined);\r\n }).catch(error => {\r\n console.log(\"remote\", remote, error);\r\n return Promise.reject(error);\r\n });\r\n }\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\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\nconst downloadUrl = config.file.downloadUrl;\r\n\r\nexport const PreviewText = ({ value, type, onChange }: Design.PreviewProps) => {\r\n useEffect(() => {\r\n onChange?.(value);\r\n }, []);\r\n if (value && type === \"url\") {\r\n return <div><a href={value} target=\"_blank\" rel=\"noreferrer\">{value}</a></div>\r\n }\r\n return <div>{value}</div>\r\n}\r\n\r\nexport const PreviewDuration = ({ value, 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>{`${hour}小时${minute}分${second}秒`}</div>\r\n } else {\r\n return <div>000时00分00秒</div>\r\n }\r\n}\r\n\r\nexport const PreviewSwitch = ({ checked, onChange }: any) => {\r\n useEffect(() => {\r\n onChange(checked);\r\n }, []);\r\n return <div>{checked ? \"开启\" : \"关闭\"}</div>\r\n}\r\n\r\nexport const PreviewList = ({ value, list, 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>{items?.join()}</div>\r\n } else {\r\n const item = list?.find(({ key }: any) => key === value);\r\n return <div>{item?.label}</div>\r\n }\r\n}\r\n\r\nexport const PreviewFile = ({ fileList }: any) => {\r\n return <>\r\n {fileList?.map(({ worksAnnexId, contentType, url, fileName, fileTitle }: any) => {\r\n if (contentType?.endsWith(\"pdf\")) {\r\n return <div key={worksAnnexId}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <a href={url} target=\"_blank\" rel=\"noreferrer\">{fileTitle}</a>\r\n <a href={`${downloadUrl}/${worksAnnexId}`} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n if (contentType?.startsWith(\"image\")) {\r\n return <div key={worksAnnexId}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <Image width={200} src={url} alt={fileTitle} />\r\n <a href={`${downloadUrl}/${worksAnnexId}`} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n if (contentType?.startsWith(\"video\")) {\r\n return <div key={worksAnnexId}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <video src={url} controls style={{ width: 260 }}>当前浏览器不支持视频播放,请使用最新版谷歌浏览器!</video>\r\n <a href={`${downloadUrl}/${worksAnnexId}`} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n if (contentType?.startsWith(\"audio\")) {\r\n return <div key={worksAnnexId}>\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={`${downloadUrl}/${worksAnnexId}`} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </div>\r\n </div>\r\n }\r\n if (fileName?.endsWith(\".doc\") || fileName?.endsWith(\".docx\") || fileName?.endsWith(\".xls\") || fileName?.endsWith(\".xlsx\") || fileName?.endsWith(\".ppt\") || fileName?.endsWith(\".pptx\")) {\r\n return <div key={worksAnnexId}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <a href={'http://view.officeapps.live.com/op/view.aspx?src=' + url} target=\"_blank\" rel=\"noreferrer\">{fileTitle}</a>\r\n <a href={`${downloadUrl}/${worksAnnexId}`} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n return <div key={worksAnnexId}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <a href={url} target=\"_blank\" rel=\"noreferrer\">{fileTitle}</a>\r\n <a href={`${downloadUrl}/${worksAnnexId}`} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\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 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} /> : <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 /> : <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();\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 />) : (<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 } = 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 ? <PreviewText /> : <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} /> :\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} /> : <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} /> : <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 /> : <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 /> : <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 (changeValue) {\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 /> : <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 /> : <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) {\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.log(\"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(({ status }) => 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 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 let 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 this.timer = setInterval(() => {\r\n if (this.uploading) {\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: ++percent\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 (percent === 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 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 clearInterval(this.timer);\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 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 clearInterval(this.timer);\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={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}","(function (factory) {\n if (typeof exports === 'object') {\n // Node/CommonJS\n module.exports = factory();\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(factory);\n } else {\n // Browser globals (with support for web workers)\n var glob;\n\n try {\n glob = window;\n } catch (e) {\n glob = self;\n }\n\n glob.SparkMD5 = factory();\n }\n}(function (undefined) {\n\n 'use strict';\n\n /*\n * Fastest md5 implementation around (JKM md5).\n * Credits: Joseph Myers\n *\n * @see http://www.myersdaily.org/joseph/javascript/md5-text.html\n * @see http://jsperf.com/md5-shootout/7\n */\n\n /* this function is much faster,\n so if possible we use it. Some IEs\n are the only ones I know of that\n need the idiotic second function,\n generated by an if clause. */\n var add32 = function (a, b) {\n return (a + b) & 0xFFFFFFFF;\n },\n hex_chr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];\n\n\n function cmn(q, a, b, x, s, t) {\n a = add32(add32(a, q), add32(x, t));\n return add32((a << s) | (a >>> (32 - s)), b);\n }\n\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n\n function md5blk(s) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n }\n\n function md5blk_array(a) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n return md5blks;\n }\n\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3);\n }\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n return state;\n }\n\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n\n // Not sure if it is a bug, however IE10 will always produce a sub array of length 1\n // containing the last element of the parent array if the sub array specified starts\n // beyond the length of the parent array - weird.\n // https://connect.microsoft.com/IE/feedback/details/771452/typed-array-subarray-issue\n a = (i - 64) < n ? a.subarray(i - 64) : new Uint8Array(0);\n\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << ((i % 4) << 3);\n }\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n\n return state;\n }\n\n function rhex(n) {\n var s = '',\n j;\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] + hex_chr[(n >> (j * 8)) & 0x0F];\n }\n return s;\n }\n\n function hex(x) {\n var i;\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n return x.join('');\n }\n\n // In some cases the fast add32 function cannot be used..\n if (hex(md51('hello')) !== '5d41402abc4b2a76b9719d911017c592') {\n add32 = function (x, y) {\n var lsw = (x & 0xFFFF) + (y & 0xFFFF),\n msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xFFFF);\n };\n }\n\n // ---------------------------------------------------\n\n /**\n * ArrayBuffer slice polyfill.\n *\n * @see https://github.com/ttaubert/node-arraybuffer-slice\n */\n\n if (typeof ArrayBuffer !== 'undefined' && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = (val | 0) || 0;\n\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n\n return Math.min(val, length);\n }\n\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n\n if (to !== undefined) {\n end = clamp(to, length);\n }\n\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n\n return target;\n };\n })();\n }\n\n // ---------------------------------------------------\n\n /**\n * Helpers.\n */\n\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n\n return str;\n }\n\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n\n return returnUInt8Array ? arr : buff;\n }\n\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n\n return returnUInt8Array ? result : result.buffer;\n }\n\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n\n return String.fromCharCode.apply(String, bytes);\n }\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation.\n *\n * Use this class to perform an incremental md5, otherwise use the\n * static methods instead.\n */\n\n function SparkMD5() {\n // call reset to init the instance\n this.reset();\n }\n\n /**\n * Appends a string.\n * A conversion will be applied if an utf8 string is detected.\n *\n * @param {String} str The string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.append = function (str) {\n // Converts the string to utf8 bytes if necessary\n // Then append as binary\n this.appendBinary(toUtf8(str));\n\n return this;\n };\n\n /**\n * Appends a binary string.\n *\n * @param {String} contents The binary string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n\n var length = this._buff.length,\n i;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n\n this._buff = this._buff.substring(i - 64);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.reset = function () {\n this._buff = '';\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash.slice()\n };\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n\n return this;\n };\n\n /**\n * Releases memory used by the incremental buffer and other additional\n * resources. If you plan to use the instance again, use reset instead.\n */\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n\n /**\n * Finish the final calculation based on the tail.\n *\n * @param {Array} tail The tail (will be modified)\n * @param {Number} length The length of the remaining buffer\n */\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(this._hash, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Do the final computation based on the tail and length\n // Beware that the final length may not fit in 32 bits so we take care of that\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n\n /**\n * Performs the md5 hash on a string.\n * A conversion will be applied if utf8 string is detected.\n *\n * @param {String} str The string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hash = function (str, raw) {\n // Converts the string to utf8 bytes if necessary\n // Then compute it using the binary function\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n\n /**\n * Performs the md5 hash on a binary string.\n *\n * @param {String} content The binary string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation for array buffers.\n *\n * Use this class to perform an incremental md5 ONLY for array buffers.\n */\n SparkMD5.ArrayBuffer = function () {\n // call reset to init the instance\n this.reset();\n };\n\n /**\n * Appends an array buffer.\n *\n * @param {ArrayBuffer} arr The array to be appended\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n\n this._length += arr.byteLength;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n\n this._buff = (i - 64) < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n\n // Convert buffer to a string\n state.buff = arrayBuffer2Utf8Str(state.buff);\n\n return state;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n // Convert string to buffer\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n\n return SparkMD5.prototype.setState.call(this, state);\n };\n\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n\n /**\n * Performs the md5 hash on an array buffer.\n *\n * @param {ArrayBuffer} arr The array buffer\n * @param {Boolean} [raw] True to get the raw string, false to get the hex one\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n return SparkMD5;\n}));\n","import SparkMD5 from 'spark-md5';\r\nimport request from '@/utils/request';\r\nimport { config } from '@/config';\r\n\r\nconst filePrototype = File.prototype as any;\r\nconst fileBlobSlice = filePrototype.slice || filePrototype.mozSlice || filePrototype.webkitSlice;\r\nconst defaultBlockSize = 10 * 1024 ** 2;\r\n\r\n/**\r\n * 等待\r\n * \r\n * @param millisecond \r\n * @returns \r\n */\r\nconst wait = (millisecond: number) => {\r\n return new Promise(resolve => {\r\n setTimeout(() => {\r\n resolve(millisecond)\r\n }, millisecond)\r\n })\r\n}\r\n\r\n/**\r\n * 上传 Upload.js\r\n */\r\nclass ChunkUpload {\r\n spark = new SparkMD5.ArrayBuffer();\r\n percents: number[] = [0, 0, 0, 0, 0];\r\n progress?: (percent: number) => void;\r\n file?: Design.File.FileInfo;\r\n\r\n listeners: { [name: string]: (payload: any) => void } = {};\r\n \r\n threads;\r\n chunkSize;\r\n chunkRetry;\r\n\r\n uploading: boolean = false;\r\n uploadList: Design.File.FileChunk [] = [];\r\n uploadPosition: number = 0;\r\n\r\n constructor({ chunkSize = defaultBlockSize, threads = 5, chunkRetry = 3 }: Design.File.FileOption) {\r\n this.chunkSize = chunkSize;\r\n this.threads = threads;\r\n this.chunkRetry = chunkRetry;\r\n }\r\n\r\n /**\r\n * 事件绑定\r\n * \r\n * @param method \r\n * @param callback \r\n */\r\n on(method: string, callback: (payload: any) => void) {\r\n this.listeners[method] = callback;\r\n }\r\n\r\n /**\r\n * 事件解除\r\n * \r\n * @param method \r\n */\r\n off(method: string) {\r\n delete this.listeners[method];\r\n }\r\n\r\n /**\r\n * 事件触发\r\n * \r\n * @param method \r\n */\r\n trigger(method: string, payload: any = null) {\r\n const callback = this.listeners[method];\r\n if(typeof callback === 'function'){\r\n callback(payload);\r\n }\r\n }\r\n\r\n /**\r\n * Buffer md5 加密\r\n * \r\n * @param content \r\n * @returns \r\n */\r\n md5hex(content: ArrayBuffer): string {\r\n return new SparkMD5.ArrayBuffer().append(content).end()\r\n }\r\n\r\n /**\r\n * 获得文件md5 hex\r\n * \r\n * @param file \r\n * @returns \r\n */\r\n fileMd5(file: File) {\r\n const num = Math.floor(file.size / defaultBlockSize); \r\n const blob: Blob = fileBlobSlice.call(file, num * defaultBlockSize);\r\n return new Promise<string>((resolve, reject) => { \r\n const fileReader = new FileReader();\r\n fileReader.onerror = reject\r\n fileReader.onload = (e: ProgressEvent<FileReader>) => {\r\n const buffer = e.target?.result ?? new ArrayBuffer(0);\r\n resolve(this.md5hex(buffer as ArrayBuffer)); \r\n }\r\n fileReader.readAsArrayBuffer(blob);\r\n })\r\n\r\n }\r\n\r\n /**\r\n * 计算上传步骤进度\r\n * \r\n * @param percent \r\n * @param index \r\n * @param ratio \r\n */\r\n stepProgress(percent: number, index: number, ratio: number) {\r\n this.percents[index] = percent * ratio;\r\n const progress = this.percents.reduce((v1: number, v2: number) => v1 + v2);\r\n this.trigger(\"progress\", progress);\r\n }\r\n\r\n /**\r\n * 计算上传进度\r\n * \r\n * @param percent \r\n */\r\n setProgress(percent: number) {\r\n this.trigger(\"progress\", percent);\r\n }\r\n\r\n /**\r\n * 文件上传\r\n * \r\n * @param file\r\n */\r\n async start(file: Design.File.FileInfo) {\r\n this.file = file;\r\n const fileName = file.name;\r\n const fileSize = file.size;\r\n const fileMd5 = await this.fileMd5(file);\r\n file.md5 = fileMd5;\r\n const result = await request(\"post form \" + config.chunk.checkFile)({ fileName, fileMd5, fileSize }); \r\n if (result?.data?.exist) {\r\n this.onComplete(false);\r\n } else {\r\n this.stepProgress(100, 0, 0.02);\r\n this.beforeUpload();\r\n }\r\n }\r\n\r\n /**\r\n * 文件上传前\r\n * \r\n * @param file \r\n * @param fileName \r\n * @param fileMd5 \r\n */\r\n beforeUpload() {\r\n this.uploading = true;\r\n this.uploadPosition = 0;\r\n let chunkIndex = 0;\r\n const fileSize = this.file?.size ?? 0;\r\n const chunkCount = Math.ceil(fileSize / this.chunkSize);\r\n const fileReader = new FileReader()\r\n const readFile = () => {\r\n const start = chunkIndex * this.chunkSize,\r\n end = ((start + this.chunkSize) >= fileSize) ? fileSize : start + this.chunkSize; \r\n fileReader.readAsArrayBuffer(fileBlobSlice.call(this.file, start, end));\r\n }\r\n fileReader.onload = (e: ProgressEvent<FileReader>) => {\r\n chunkIndex ++;\r\n const buffer = e.target?.result ?? new ArrayBuffer(0);\r\n const chunkMd5 = this.md5hex(buffer as ArrayBuffer);\r\n const blob = new Blob([buffer]); \r\n this.uploadList.unshift({ chunkMd5, chunkIndex, blob });\r\n if (chunkIndex < chunkCount) {\r\n readFile();\r\n } else {\r\n this.uploading = false;\r\n }\r\n this.stepProgress(Math.round((chunkIndex / chunkCount) * 100), 1, 0.2);\r\n }\r\n readFile();\r\n this.startUpload(chunkCount);\r\n }\r\n\r\n /**\r\n * 分片上传\r\n * \r\n * @param fileName\r\n * @param fileMd5\r\n * @param chunkCount\r\n */\r\n async startUpload(chunkCount: number) { \r\n let index = 0;\r\n const timer = setInterval(() => {\r\n const size = this.uploadList.length;\r\n if (size === 0 && !this.uploading) {\r\n clearInterval(timer);\r\n } else {\r\n for (let i = 0; size - i > 0 && this.uploadPosition + i < this.threads; i ++, this.uploadPosition ++) {\r\n const chunk = this.uploadList.pop();\r\n if (chunk) {\r\n this.onUpload(chunk).then(()=> {\r\n index ++;\r\n this.stepProgress(Math.round((index / chunkCount) * 100), 2, 0.4);\r\n if (chunkCount === index) {\r\n this.doMerge();\r\n }\r\n });\r\n }\r\n } \r\n } \r\n }, 500);\r\n }\r\n\r\n /**\r\n * 开始上传\r\n * \r\n * @param fileName\r\n * @param fileMd5\r\n * @param chunk\r\n */\r\n async onUpload(chunk: Design.File.FileChunk) {\r\n const { chunkMd5, chunkIndex, blob } = chunk;\r\n const fileName = this.file?.name ?? \"\";\r\n const fileMd5 = this.file?.md5 ?? \"\"; \r\n const result = await request(\"post form \" + config.chunk.checkChunk)({ fileName, fileMd5, chunkMd5, chunkIndex });\r\n if (result?.data?.exist === false) {\r\n for (let i = 0; i < this.chunkRetry; i ++) {\r\n const formData = new FormData();\r\n formData.append(\"chunkIndex\", String(chunkIndex));\r\n formData.append(\"fileName\", fileName);\r\n formData.append(\"fileMd5\", fileMd5);\r\n formData.append(\"file\", blob);\r\n await request(\"post form \" + config.chunk.chunkUpload)(formData);\r\n break;\r\n }\r\n }\r\n this.uploadPosition --;\r\n }\r\n\r\n /**\r\n * 合并\r\n * \r\n */\r\n async doMerge() {\r\n const fileName = this.file?.name ?? \"\";\r\n const fileMd5 = this.file?.md5 ?? \"\"; \r\n await request(\"post form \" + config.chunk.doMerge)({fileName, fileMd5});\r\n this.mergeProgress();\r\n }\r\n\r\n /**\r\n * 合并进程\r\n */\r\n async mergeProgress() {\r\n const result = await request(config.chunk.mergeProgress)();\r\n const percent = result?.data?.percent;\r\n if (Number.isFinite(percent)) {\r\n this.stepProgress(percent, 3, 0.18);\r\n if (percent < 100) {\r\n await wait(1000);\r\n this.mergeProgress();\r\n } else {\r\n this.onComplete(true);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 上传完成\r\n * \r\n */\r\n async onComplete(step?: boolean) {\r\n const fileName = this.file?.name ?? \"\";\r\n const fileMd5 = this.file?.md5 ?? \"\"; \r\n const result = await request(\"post form \" + config.chunk.onComplete)({fileName, fileMd5});\r\n if (this.file && result) {\r\n this.file.response = result;\r\n }\r\n this.completeProgress(step);\r\n }\r\n\r\n /**\r\n * 其他进程\r\n */\r\n async completeProgress(step?: boolean) {\r\n const result = await request(config.chunk.completeProgress)();\r\n const percent = result?.data?.percent;\r\n if (Number.isFinite(percent)) {\r\n if (step) {\r\n this.stepProgress(percent, 4, 0.2);\r\n } else {\r\n this.setProgress(percent);\r\n }\r\n if (percent < 100) {\r\n await wait(1000);\r\n this.completeProgress(step);\r\n } else {\r\n this.trigger(\"complete\", this.file);\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default ChunkUpload;","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\nimport ChunkUpload from './ChunkUpload';\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.log(\"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 file = info.file;\r\n const upload = new ChunkUpload({ chunkSize: 1024 * 1024 * 10, threads: 5 });\r\n upload.start(file);\r\n upload.on(\"progress\", (percent: number) => {\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: Math.round(percent)\r\n }\r\n });\r\n file.status = \"uploading\";\r\n });\r\n upload.on(\"complete\", (file: Design.File.FileInfo) => { \r\n const { id, url } = file.response.data;\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 }, () => {\r\n this.onChange(fileList);\r\n this.setState({\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n })\r\n });\r\n });\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={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, 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} 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 labelCol={{ span: 4 }}\r\n wrapperCol={{ span: 16 }}\r\n initialValues={entity}\r\n autoComplete=\"off\"\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 { Row } from 'antd';\r\nimport React from 'react';\r\n\r\nexport default ({ children, gutter }: any) => {\r\n return (\r\n <Row gutter={Number(gutter)} style={{ margin: 0 }}>\r\n {children}\r\n </Row>\r\n )\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 const list: any[] = [];\r\n children?.map(({ id, attributes }: any) => {\r\n const { title, description } = attributes;\r\n list.push({ key: id, title, description });\r\n });\r\n return list;\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 { camelCase } from 'lodash';\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 styleList = style?.replace(/\\ +/g, '').split(';');\r\n const styles = style ?? { padding: 16, backgroundColor: \"white\" };\r\n styleList?.forEach((items: any) => {\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 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 return (\r\n <Divider dashed={dashed} orientation={orientation} style={{ color: \"#055ab5\", fontWeight: \"bold\" }}>{children}</Divider>\r\n )\r\n}","import React, { useState, useMemo, memo } from 'react';\r\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\r\nimport { Button } from 'antd';\r\nimport { camelCase } from 'lodash';\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\r\n const itemStyle = useMemo(() => {\r\n const styles = {};\r\n const styleList = style?.replace(/\\ +/g, '').split(';');\r\n styleList?.forEach((items: any) => {\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 return styles;\r\n }, [style]);\r\n\r\n if (collapse) {\r\n return (\r\n <>\r\n <div style={itemStyle}>\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/doc\";\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\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 };\r\n\r\n form: React.RefObject<FormInstance>;\r\n root: XML;\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 const { document, form, preview } = this.props;\r\n this.root = XMLDocument.getRoot(document);\r\n\r\n const { style: styleValue, labelCol, wrapperCol, showTitle } = this.root.attributes;\r\n this.showTitle = !!showTitle;\r\n this.styles = this.props.style ?? {};\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.form = form ?? React.createRef()\r\n this.preview = preview ?? false; \r\n \r\n if (config.components) {\r\n this.customComponents = mapValues(config.components, (component: any) => (props: any) => <ProComponent Component={component} { ...props} />)\r\n }\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 onStepIndex = (stepIndex: number) => {\r\n this.setState({\r\n stepIndex\r\n })\r\n }\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 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 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 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 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 if (this.root.children) {\r\n const { initialValues } = this.props; \r\n return (\r\n <DesignContext.Provider value={{ ...this.props, form: this.form, showTitle: this.showTitle}}>\r\n <Form\r\n form={this.form}\r\n style={this.styles}\r\n initialValues={initialValues}\r\n onValuesChange={this.onValuesChange}\r\n {...this.layouts}\r\n >\r\n {this.root.children.map(this.children)}\r\n </Form>\r\n </DesignContext.Provider>\r\n );\r\n }\r\n return <Skeleton active />;\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","this","_defineProperty","id","uniqueId","_step","attributes","_iterator","s","item","trim","isBoolean","toBoolean","e","f","children","_step2","childNodes","_iterator2","_this$children","_node$nodeValue","node","Element","nodeType","textContent","text","cdata","nodeValue","replace","tag","nodeName","_createClass","parseInt","XMLDocument","documentString","DOMParser","parseFromString","doc","toDocument","parser","source","excluded","sourceKeys","keys","indexOf","objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","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","checkFile","checkChunk","chunkUpload","doMerge","mergeProgress","onComplete","completeProgress","request","chunk","components","_objectSpread","config","init","defineConfig","UIComponent","_React$PureComponent","_inherits","_super","_createSuper","_this","_len","arguments","args","_key","apply","concat","_assertThisInitialized","borderBottom","defaultValue","form","context","_form$current","_form$current2","code","current","getFieldValue","setFieldValue","_form$current3","_this2","setTimeout","_form$current4","_form$current5","getFieldsValue","showTitle","_this$props","title","labelStyles","getStyleByString","_jsx","itemProps","_itemLayouts$wrapperC","_this$props2","preview","labelCol","wrapperCol","tips","itemLayouts","span","assign","styleWrapper","tooltip","_this$props3","itemStyle","styles","itemStyles","split","forEach","items","_items$split","_items$split2","_slicedToArray","camelCase","_this$context$preview","fileds","_this$props4","_this$props4$defaultH","defaultHide","show","conditions","find","_conditions$children","action","list","map","fields","_ref2","join","Function","actuator","console","warn","condition","result","every","some","_this$props5","_validates$children$m","_validates$children","validates","content","_ref3","collection","_this3","computeValue","_ref4","moment","compute","_this$props$defaultVa","setDefaultValue","PureComponent","contextType","ProComponent","_UIComponent","forceUpdate","initValue","display","onComputeValue","rules","_this$getItem","getItem","hidden","Component","_objectWithoutProperties","_excluded","_Form","Item","label","getLabel","onChange","asyncGeneratorStep","gen","resolve","reject","_next","_throw","info","error","Promise","then","fn","_regeneratorRuntime","Op","hasOwn","hasOwnProperty","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","method","_invoke","AsyncIterator","PromiseImpl","invoke","record","__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","umiRequest","extend","timeout","targetUrl","options","cloneData","cloneDeep","data","url","domain","urlMatch","match","parse","compile","_message","toLocaleUpperCase","requestType","status","rest","success","_data$message","response","msg","request$1","uri","uriArray","_uriArray","_uriArray2","UIListComponent","_args","_asyncToGenerator","_callee","remote","_context","_Object$entries","entries","_Object$entries$2","_Object$entries$","log","_x2","itemList","plist","filter","includes","rule","validator","_","WidgetComponent","_PureComponent","Label","_this$getStyles","getStyles","Tooltip","PreviewText","useEffect","href","rel","PreviewDuration","_value$split2","_value$split","hour","minute","second","PreviewSwitch","checked","PreviewList","_ref5","_ref6","_ref7","PreviewFile","_ref8","fileList","_ref9","worksAnnexId","contentType","fileName","fileTitle","endsWith","_jsxs","_Space","paddingBottom","startsWith","width","src","alt","controls","alignItems","height","paddingLeft","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","_WidgetComponent","_this4","_len2","_key2","_this4$props$onChange","_this4$props","_Select","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","_TimePicker","arrayWithoutHoles","iterableToArray","nonIterableSpread","normFile","UplaodList","maxCount","fileTypeMessage","fileSize","getValueFromEvent","UploadWidget","modal","open","progress","fileTypeArray","_Upload","LIST_IGNORE","bytes","size","uploading","step","percent","Math","round","timer","setInterval","clearInterval","_response$message","ids","_this$state","count","onStart","onSuccess","onProgress","onError","beforeUpload","onBeforeUpload","onRemove","_Button","icon","UploadOutlined","_Modal","closable","footer","_Progress","hex_chr","md5cycle","x","k","a","b","c","d","md5blk","md5blks","charCodeAt","md5blk_array","md51","tail","tmp","lo","hi","substring","md51_array","subarray","Uint8Array","rhex","j","hex","toUtf8","str","unescape","encodeURIComponent","utf8Str2ArrayBuffer","returnUInt8Array","buff","ArrayBuffer","arrayBuffer2Utf8Str","fromCharCode","concatenateArrayBuffers","first","byteLength","set","buffer","hexToBinaryString","substr","SparkMD5","clamp","to","num","targetArray","sourceArray","begin","end","append","appendBinary","contents","_buff","_length","_hash","raw","ret","_finish","getState","hash","destroy","hashBinary","factory","filePrototype","File","fileBlobSlice","mozSlice","webkitSlice","defaultBlockSize","pow","wait","millisecond","ChunkUpload","_ref$chunkSize","chunkSize","_ref$threads","threads","_ref$chunkRetry","chunkRetry","_completeProgress","_onComplete","_mergeProgress","_doMerge","_onUpload","_startUpload","_start","callback","listeners","payload","floor","blob","fileReader","FileReader","onerror","onload","_e$target$result","_e$target","md5hex","readAsArrayBuffer","ratio","percents","reduce","v1","v2","trigger","_result$data","fileMd5","md5","exist","stepProgress","_this$file$size","_this$file","uploadPosition","chunkIndex","chunkCount","ceil","readFile","start","_e$target$result2","_e$target2","chunkMd5","Blob","uploadList","unshift","startUpload","_context2","onUpload","_callee2","_this$file$name","_this$file2","_this$file$md","_this$file3","_result$data2","formData","_context3","FormData","_callee3","_x3","_callee4","_this$file$name2","_this$file4","_this$file$md2","_this$file5","_context4","_callee5","_result$data3","_context5","isFinite","_this$file$name3","_this$file6","_this$file$md3","_this$file7","_context6","_callee6","_x4","_result$data4","_context7","setProgress","_callee7","_x5","upload","on","_file$response$data","customRequest","TableList","_columnList$children","columnList","column","_column$rules","TableWidget","columns","getColumns","dataSource","entity","uid","worksId","worksExtraId","dataIndex","valueType","render","onClick","confirm","QuestionCircleOutlined","okText","cancelText","onOk","_Card","bodyStyle","padding","extra","_Table","rowKey","ModalForm","onFinish","onCancel","_onOk","_Form$useForm","useForm","destroyOnClose","validateFields","initialValues","autoComplete","_Row","_Col","Row","gutter","margin","Col","Steps","direction","stepIndex","onChangeSetp","useMemo","description","_Steps","backgroundColor","Content","Content$1","memo","currentStepIndex","styleList","Divider","_ref$dashed","dashed","_ref$orientation","orientation","_Divider","fontWeight","hide","Collapse","_ref$defaultExpanded","defaultExpanded","off","collapse","useState","_useState2","_useState","isExpanded","onExpanded","_Fragment","UpOutlined","DownOutlined","Components","BaseComponents","Containers","FormDocument","_this$props$style","changedValues","xml","_this$customComponent","_this$customComponent2","customComponents","component","container","applet","root","getRoot","_this$root$attributes","styleValue","_style$split","_style$split2","layouts","mapValues","isObject","_attributes$hidden","_attributes$readonly","setComponentStatus","onStepIndex","child","_rules$children","Provider","Form","onValuesChange","_Skeleton","active"],"mappings":"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"}