web-component-gallery 1.1.3 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/amap.umd.js CHANGED
@@ -8263,7 +8263,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_
8263
8263
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8264
8264
 
8265
8265
  "use strict";
8266
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/upload/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n model: {\n prop: 'value',\n event: 'handleFileUpload'\n },\n components: {\n Icon: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Upload: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n props: {\n value: {\n type: [String, Array],\n default: () => []\n },\n /* 提示文字 */\n tips: String,\n /* 上传文件数量限制 */\n uploadLen: {\n type: Number,\n default: 1\n },\n /* 上传接口 */\n fileUploadUrl: String,\n /* 显示需要pin的接口前缀 */\n filePrefixUrl: String,\n /* 上传文件格式限制 */\n fileAccept: String,\n /* 上传文件携带Headers信息 */\n fileHeaders: Object,\n /* 删除文件函数回调 */\n fileRemoveHandle: Function\n },\n data() {\n return {\n fileList: [],\n modalValue: []\n };\n },\n watch: {\n value() {\n this.setResetFile();\n }\n },\n computed: {\n uploadAttrs() {\n return {\n prefix: this.filePrefixUrl ?? this.$https.FILEURL,\n action: this.fileUploadUrl ?? this.$https.UPLOADURL,\n headers: this.fileHeaders ?? this.$store.getters.fileHeaders\n };\n }\n },\n mounted() {\n this.setResetFile();\n },\n methods: {\n setResetFile() {\n let arrayObject;\n try {\n arrayObject = JSON.parse(this.value);\n } catch (e) {\n arrayObject = [].concat(this.value);\n }\n this.modalValue = arrayObject ?? [];\n this.fileList = this.modalValue.map(file => ({\n ...file,\n url: `${this.uploadAttrs.prefix}${file.url}`,\n type: file.contentType,\n status: 'done'\n }));\n },\n handleFilePreview({\n uid,\n contentType,\n url\n }) {\n let suffix = url.substr(url.lastIndexOf('.') + 1);\n const pictureSuffix = ['JPEG', 'JPG', 'GIF', 'PNG', 'TIFF', 'WEBP', 'BMP'];\n if (contentType.includes('image') || pictureSuffix.includes(suffix.toUpperCase())) {\n this.$viewerApi({\n options: {\n url: 'url',\n toolbar: true,\n initialViewIndex: this.fileList.findIndex(file => file.url == url)\n },\n images: this.fileList\n });\n return;\n }\n this.$dialog('fileBrowse', {\n src: url\n });\n },\n handleFileChange({\n file,\n fileList\n }) {\n file.status == 'uploading' && (this.fileList = fileList);\n switch (file.status) {\n case 'removed':\n const params = {\n id: file.uid\n };\n const requestHandle = this.fileRemoveHandle ? this.fileRemoveHandle(params) : this.$store.dispatch('fileRemoveHandle', params);\n requestHandle.then(Response => {\n const i = this.modalValue.findIndex(e => e.uid == file.uid);\n this.modalValue.splice(i, 1);\n this.$emit('handleFileUpload', JSON.stringify(this.modalValue));\n });\n break;\n case 'done':\n const {\n data\n } = file.response;\n const uploadFileObj = {\n ...data,\n uid: data.id\n };\n delete uploadFileObj.id;\n this.modalValue.push(uploadFileObj);\n this.$emit('handleFileUpload', JSON.stringify(this.modalValue));\n break;\n }\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/components/AUpload.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
8266
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/upload/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n model: {\n prop: 'value',\n event: 'handleFileUpload'\n },\n components: {\n Icon: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Upload: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n props: {\n value: {\n type: [String, Array],\n default: () => []\n },\n /* 提示文字 */\n tips: String,\n /* 上传文件数量限制 */\n uploadLen: {\n type: Number,\n default: 1\n },\n /* 上传接口 */\n fileUploadUrl: String,\n /* 显示需要pin的接口前缀 */\n filePrefixUrl: String,\n /* 上传文件格式限制 */\n fileAccept: String,\n /* 上传文件携带Headers信息 */\n fileHeaders: Object,\n /* 删除文件函数回调 */\n fileRemoveHandle: Function\n },\n data() {\n return {\n fileList: [],\n modalValue: []\n };\n },\n watch: {\n value() {\n this.setResetFile();\n }\n },\n computed: {\n uploadAttrs() {\n return {\n prefix: this.filePrefixUrl ?? this.$https.FILEURL,\n action: this.fileUploadUrl ?? this.$https.UPLOADURL,\n headers: this.fileHeaders ?? this.$store.getters.fileHeaders\n };\n }\n },\n mounted() {\n this.setResetFile();\n },\n methods: {\n setResetFile() {\n let arrayObject;\n try {\n arrayObject = JSON.parse(this.value);\n } catch (e) {\n arrayObject = [].concat(this.value);\n }\n this.modalValue = arrayObject ?? [];\n this.fileList = this.modalValue.map(file => ({\n ...file,\n url: `${this.uploadAttrs.prefix}${file.url}`,\n type: file.contentType,\n status: 'done'\n }));\n },\n handleFilePreview({\n uid,\n contentType,\n url\n }) {\n let suffix = url.substr(url.lastIndexOf('.') + 1);\n const pictureSuffix = ['JPEG', 'JPG', 'GIF', 'PNG', 'TIFF', 'WEBP', 'BMP'];\n if (contentType.includes('image') || pictureSuffix.includes(suffix.toUpperCase())) {\n this.$viewerApi({\n options: {\n url: 'url',\n toolbar: true,\n initialViewIndex: this.fileList.findIndex(file => file.url == url)\n },\n images: this.fileList\n });\n return;\n }\n this.$dialog('Brower', {\n data: url\n }, {\n title: '预览文件',\n width: 1104,\n height: 848,\n centered: true,\n maskClosable: false,\n footer: false,\n bodyStyle: {\n height: 'calc( 100% - 54px )'\n }\n });\n },\n handleFileChange({\n file,\n fileList\n }) {\n file.status == 'uploading' && (this.fileList = fileList);\n switch (file.status) {\n case 'removed':\n const params = {\n id: file.uid\n };\n const requestHandle = this.fileRemoveHandle ? this.fileRemoveHandle(params) : this.$store.dispatch('fileRemoveHandle', params);\n requestHandle.then(Response => {\n const i = this.modalValue.findIndex(e => e.uid == file.uid);\n this.modalValue.splice(i, 1);\n this.$emit('handleFileUpload', JSON.stringify(this.modalValue));\n });\n break;\n case 'done':\n const {\n data\n } = file.response;\n const uploadFileObj = {\n ...data,\n uid: data.id\n };\n delete uploadFileObj.id;\n this.modalValue.push(uploadFileObj);\n this.$emit('handleFileUpload', JSON.stringify(this.modalValue));\n break;\n }\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/components/AUpload.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
8267
8267
 
8268
8268
  /***/ }),
8269
8269
 
@@ -8527,7 +8527,7 @@ eval("/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source cod
8527
8527
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8528
8528
 
8529
8529
  "use strict";
8530
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AmapDrawProps: function() { return /* binding */ AmapDrawProps; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_AmapSearch_index_jsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/AmapSearch/index.jsx */ \"./plugins/lib/amap/components/AmapSearch/index.jsx\");\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var _AmapDraw_less__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AmapDraw.less */ \"./plugins/lib/amap/AmapDraw.less\");\n\n\n\n\nconst AmapDrawProps = {\n /** drawEl为地图容器实例名称 */\n drawEl: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string.def('AmapDraw'),\n /** drawType为绘制类型\r\n * 可选值(point点 | line线 | polygon面) \r\n */\n drawType: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string.def('point'),\n /** 绘制图标 (只在point类型下生效 */\n drawIcon: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].any.def('http://qxfa.tpddns.cn:8090/poi/poi-marker-default.png'),\n /** drawCount为绘制物绘制个数 */\n drawCount: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].number.def(1),\n /** drawOptions为绘制物配置项 */\n drawOptions: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object.def({}),\n /** drawInfo为绘制物信息 */\n drawInfo: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].array]),\n /** drawInfoAll为所有不同类型绘制物信息(用于回显地图图层) \r\n * 格式: { point: ([]||{}), line: ([]||{}) }\r\n */\n drawInfoAll: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object,\n /** 限制区域 */\n drawLimitArea: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string]),\n /** 限制区域样式配置 */\n drawLimitAreaOptions: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object.def({}),\n /** 是否为纯地图展示数据 */\n isExhibition: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].bool.def(false)\n};\nconst AmapDraw = {\n name: 'AmapDraw',\n props: AmapDrawProps,\n model: {\n prop: 'drawInfo',\n event: 'getAMapLayersInfo'\n },\n data() {\n return {\n amap: null,\n drawArea: null,\n drawLayers: null,\n drawMouseTool: null,\n buttonProps: [],\n drawButtonProps: [{\n type: 'primary',\n text: '绘制',\n event: {\n click: this.AmapDraw\n }\n }, {\n text: '清除',\n event: {\n click: this.AmapDrawClear\n }\n }],\n saveButtonProps: [{\n type: 'primary',\n text: '保存',\n event: {\n click: this.AmapDrawSave\n }\n }, {\n text: '取消',\n event: {\n click: this.AmapDrawReset\n }\n }]\n };\n },\n computed: {\n drawLayersInfo: {\n get() {\n return this.drawInfo;\n },\n set(newValue) {\n this.$emit('getAMapLayersInfo', newValue);\n }\n }\n },\n watch: {\n drawInfo: {\n handler(newVal, oldVal) {\n this.drawLayersInfo = newVal;\n newVal && this.echoDrawLayers(this.drawType);\n },\n deep: true\n },\n drawInfoAll(newValue) {\n newValue && this.echoDrawLayers();\n },\n drawOptions(newValue) {\n /** 检测options覆盖物配置是否更改,更改后要同步到地图上 */\n Object.keys(newValue).length && this.setOverlayOptions(newValue);\n },\n drawLimitArea(newValue) {\n newValue && this.setDrawLimitArea();\n }\n },\n mounted() {\n const timer = setTimeout(() => {\n this.$initAMap({\n el: this.drawEl\n }, amap => {\n this.amap = amap;\n this.buttonProps = [].concat(this.drawButtonProps);\n this.echoDrawLayers(this.drawType);\n /** 如果有限制区域,则描绘在地图上 */\n this.drawLimitArea && this.setDrawLimitArea();\n clearTimeout(timer);\n });\n }, 60);\n },\n destroyed() {\n this.AmapDrawClear();\n },\n methods: {\n /** 绘制 */\n AmapDraw() {\n this.buttonProps = [].concat(this.saveButtonProps);\n this.drawMouseTool = new this.$amap.MouseTool(this.amap);\n this.AmapDrawClear();\n this.setDrawLayers(this.drawType);\n this.drawMouseTool.on('draw', ({\n obj\n }) => {\n if (this.drawArea && !this[`is${this.drawType}InRing`](obj)) return this.amap.remove(obj), this.$message.error('未在范围内描绘!');\n /** 暂未支持一次性绘制多个 */\n this.drawCount > 1 ? (this.drawLayers = this.drawLayers || [], this.drawLayers.push(obj)) : this.drawLayers = obj;\n if (this.drawLayers && (this.drawLayers.length == this.drawCount || this.drawCount == 1)) {\n return this.drawMouseTool.close();\n }\n });\n },\n /** 清空绘制 / 清空搜索 */\n AmapDrawClear() {\n this.amap.getAllOverlays().forEach(layerItem => layerItem.getExtData() != 'Area' && this.amap.remove(layerItem));\n // this.amap.clearMap()\n this.drawLayers = null;\n this.drawLayersInfo = {};\n },\n /** 保存当前绘制 */\n AmapDrawSave() {\n this.assignDrawLayers(this.drawType);\n this.buttonProps = [].concat(this.drawButtonProps);\n },\n /** 取消当前绘制 */\n AmapDrawReset() {\n this.buttonProps = [].concat(this.drawButtonProps);\n this.AmapDrawClear();\n },\n /** 搜索地址 */\n searchChoose(searchMarker, searchInfo) {\n this.AmapDrawClear();\n searchMarker.setMap(this.amap);\n this.amap.setZoomAndCenter(15, searchMarker.getPosition());\n this.drawType == 'point' && (this.drawLayersInfo = searchInfo);\n // this.$emit('getAMapLayersInfo', this.drawLayersInfo)\n },\n /** 检测覆盖物配置信息并同步 */\n setOverlayOptions(options) {\n if (!this.drawLayers) return;\n this.drawCount > 1 ? this.drawLayers.forEach(drawItem => drawItem.setOptions(options)) : this.drawLayers.setOptions(options);\n },\n /** 绘制限定区域 */\n setDrawLimitArea() {\n let areaRange = [];\n try {\n areaRange = JSON.parse(this.drawLimitArea);\n } catch {\n areaRange = this.drawLimitArea;\n }\n this.drawArea && this.amap.remove(this.drawArea);\n /** 判断目前地图上存在的所绘制覆盖物是否在限制范围内 */\n this.setMapArea(areaRange);\n this.judgeOverlays();\n },\n /** 绘制地图区域范围 */\n setMapArea(jurisdictionRange) {\n this.drawArea = new this.$amap.Polygon({\n map: this.amap,\n path: jurisdictionRange,\n extData: 'Area',\n strokeWeight: 6,\n ...this.drawLimitAreaOptions\n });\n const {\n lng,\n lat\n } = this.drawArea.getBounds().getCenter();\n this.amap.setZoomAndCenter(15, [lng, lat]);\n },\n /** 判断一个线段是否在面内 */\n islineInRing(polyline) {\n const paths = polyline.getPath();\n return paths.every(pointItem => this.ispointInRing(pointItem));\n },\n /** 判断一个点是否在面内 */\n ispointInRing(point) {\n let position;\n try {\n position = point.getPosition();\n } catch {\n position = point;\n }\n return this.$amap.GeometryUtil.isPointInRing(position, this.drawArea.getPath());\n },\n /** 判断地图上所覆盖物是否在限制范围内 */\n judgeOverlays() {\n this.amap.getAllOverlays().forEach(layerItem => layerItem.getExtData() != 'Area' && !this[`is${this.drawType}InRing`](layerItem) && this.removeOverlay(layerItem));\n },\n /** 清除单个覆盖物(或 不符合区域范围的覆盖物 */\n removeOverlay(layerItem) {\n this.amap.remove(layerItem);\n this.$message.error('未在区域范围内,请重新描绘!');\n try {\n const i = this.drawLayers.findIndex(layer => layer.getExtData() == layerItem.getExtData());\n this.drawLayers.splice(i, 1);\n } catch {\n this.drawLayers = null;\n this.drawLayersInfo = {};\n }\n },\n /** 根据类型处理不同数据 */\n setDrawLayers(drawType) {\n const type = {\n point: 'marker',\n line: 'polyline',\n polygon: 'polygon'\n };\n\n /** 图层基础配置 */\n const drawOptions = drawType == 'point' ? this.$amapLayers.setMarker(this.drawIcon).getOptions() : {\n strokeWeight: 8\n };\n this.drawMouseTool[type[drawType]]({\n ...drawOptions,\n ...this.drawOptions\n });\n },\n /** 赋值不同图层数据 */\n assignDrawLayers(drawType) {\n if (drawType == 'point') {\n const {\n lng,\n lat\n } = this.drawLayers.getPosition();\n const position = {\n longitude: lng,\n latitude: lat\n };\n this.$amapMethods.getMapAddress(position, address => {\n this.drawLayersInfo = {\n ...position,\n ...address\n };\n });\n return;\n }\n const range = this.drawLayers.getPath().map(({\n lng,\n lat\n }) => [lng, lat]);\n this.drawLayersInfo = {\n range\n };\n },\n /** 回显不同类型图层 */\n echoDrawLayers(drawType) {\n const drawLayersItem = (drawItem, type, i = 0) => {\n if (!drawItem || !Object.keys(drawItem).length || !this.amap) return;\n let layersItem = null;\n const {\n longitude,\n latitude,\n range\n } = drawItem;\n const setOptions = {\n extData: `draw${type}${i}`,\n ...this.drawOptions\n };\n if (type == 'point') {\n layersItem = this.$amapLayers.setMarker(this.drawIcon, {\n position: [longitude, latitude],\n ...setOptions\n });\n } else {\n const options = {\n path: range,\n strokeWeight: 8,\n ...setOptions\n };\n layersItem = type == 'line' ? new this.$amap.Polyline(options) : new this.$amap.Polygon(options);\n }\n layersItem.setMap(this.amap);\n this.amap.setFitView();\n };\n if (!this.isExhibition) {\n drawLayersItem(this.drawLayersInfo, drawType);\n return;\n }\n if (this.drawInfoAll) {\n for (let key in this.drawInfoAll) {\n const isArray = Array.isArray(this.drawInfoAll[key]);\n isArray ? this.drawInfoAll[key].forEach((drawItem, i) => {\n drawLayersItem(drawItem, key, i);\n }) : drawLayersItem(this.drawInfoAll[key], key);\n }\n return;\n }\n drawLayersItem(this.drawLayersInfo, drawType);\n }\n },\n render(h) {\n const {\n drawEl,\n drawIcon,\n buttonProps,\n isExhibition,\n AmapDrawClear,\n searchChoose\n } = this;\n return h(\"div\", {\n \"class\": \"AmapDraw\"\n }, [!isExhibition && h(_components_AmapSearch_index_jsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n \"props\": {\n ...{\n drawIcon,\n buttonProps\n }\n },\n \"on\": {\n ...{\n searchReset: AmapDrawClear,\n searchChoose\n }\n }\n }), h(\"div\", {\n \"attrs\": {\n \"id\": drawEl\n }\n })]);\n }\n};\nAmapDraw.install = function (Vue) {\n Vue.component('AmapDraw', AmapDraw);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (AmapDraw);\n\n//# sourceURL=webpack://mui/./plugins/lib/amap/AmapDraw.jsx?");
8530
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AmapDrawProps: function() { return /* binding */ AmapDrawProps; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_AmapSearch_index_jsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/AmapSearch/index.jsx */ \"./plugins/lib/amap/components/AmapSearch/index.jsx\");\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var _AmapDraw_less__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AmapDraw.less */ \"./plugins/lib/amap/AmapDraw.less\");\n\n\n\n\nconst AmapDrawProps = {\n /** drawEl为地图容器实例名称 */\n drawEl: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string.def('AmapDraw'),\n /** drawType为绘制类型\r\n * 可选值(point点 | line线 | polygon面)\r\n */\n drawType: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string.def('point'),\n /** 绘制图标 (只在point类型下生效 */\n drawIcon: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].any.def('http://qxfa.tpddns.cn:8090/poi/poi-marker-default.png'),\n /** drawCount为绘制物绘制个数 */\n drawCount: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].number.def(1),\n /** drawOptions为绘制物配置项 */\n drawOptions: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object.def({}),\n /** drawInfo为绘制物信息 */\n drawInfo: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].array]),\n /** drawInfoAll为所有不同类型绘制物信息(用于回显地图图层)\r\n * 格式: { point: ([]||{}), line: ([]||{}) }\r\n */\n drawInfoAll: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object,\n /** 限制区域 */\n drawLimitArea: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string]),\n /** 限制区域样式配置 */\n drawLimitAreaOptions: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object.def({}),\n /** 是否为纯地图展示数据 */\n isExhibition: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].bool.def(false)\n};\nconst AmapDraw = {\n name: 'AmapDraw',\n props: AmapDrawProps,\n data() {\n return {\n amap: null,\n drawArea: null,\n drawLayers: null,\n drawMouseTool: null,\n buttonProps: [],\n drawButtonProps: [{\n type: 'primary',\n text: '绘制',\n event: {\n click: this.AmapDraw\n }\n }, {\n text: '清除',\n event: {\n click: this.AmapDrawClear\n }\n }],\n saveButtonProps: [{\n type: 'primary',\n text: '保存',\n event: {\n click: this.AmapDrawSave\n }\n }, {\n text: '取消',\n event: {\n click: this.AmapDrawReset\n }\n }]\n };\n },\n computed: {\n drawLayersInfo: {\n get() {\n return this.drawInfo;\n },\n set(newValue) {\n this.$emit('getAMapLayersInfo', newValue);\n }\n }\n },\n watch: {\n drawInfo: {\n handler(newVal, oldVal) {\n const newValue = this.drawLayersInfo;\n newVal && this.echoDrawLayers(this.drawType);\n },\n deep: true\n },\n drawInfoAll(newValue) {\n newValue && this.echoDrawLayers();\n },\n drawOptions(newValue) {\n /** 检测options覆盖物配置是否更改,更改后要同步到地图上 */\n Object.keys(newValue).length && this.setOverlayOptions(newValue);\n },\n drawLimitArea(newValue) {\n newValue && this.setDrawLimitArea();\n }\n },\n mounted() {\n const timer = setTimeout(() => {\n this.$initAMap({\n el: this.drawEl\n }, amap => {\n this.amap = amap;\n this.buttonProps = [].concat(this.drawButtonProps);\n this.echoDrawLayers(this.drawType);\n /** 如果有限制区域,则描绘在地图上 */\n this.drawLimitArea && this.setDrawLimitArea();\n clearTimeout(timer);\n });\n }, 60);\n },\n destroyed() {\n this.AmapDrawClear();\n },\n methods: {\n /** 绘制 */\n AmapDraw() {\n this.buttonProps = [].concat(this.saveButtonProps);\n this.drawMouseTool = new this.$amap.MouseTool(this.amap);\n this.AmapDrawClear();\n this.setDrawLayers(this.drawType);\n this.drawMouseTool.on('draw', ({\n obj\n }) => {\n if (this.drawArea && !this[`is${this.drawType}InRing`](obj)) return this.amap.remove(obj), this.$message.error('未在范围内描绘!');\n /** 暂未支持一次性绘制多个 */\n this.drawCount > 1 ? (this.drawLayers = this.drawLayers || [], this.drawLayers.push(obj)) : this.drawLayers = obj;\n if (this.drawLayers && (this.drawLayers.length == this.drawCount || this.drawCount == 1)) {\n return this.drawMouseTool.close();\n }\n });\n },\n /** 清空绘制 / 清空搜索 */\n AmapDrawClear() {\n this.amap.getAllOverlays().forEach(layerItem => layerItem.getExtData() != 'Area' && this.amap.remove(layerItem));\n // this.amap.clearMap()\n this.drawLayers = null;\n this.drawLayersInfo = {};\n },\n /** 保存当前绘制 */\n AmapDrawSave() {\n this.assignDrawLayers(this.drawType);\n this.buttonProps = [].concat(this.drawButtonProps);\n },\n /** 取消当前绘制 */\n AmapDrawReset() {\n this.buttonProps = [].concat(this.drawButtonProps);\n this.AmapDrawClear();\n },\n /** 搜索地址 */\n searchChoose(searchMarker, searchInfo) {\n this.AmapDrawClear();\n searchMarker.setMap(this.amap);\n this.amap.setZoomAndCenter(15, searchMarker.getPosition());\n this.drawType == 'point' && (this.drawLayersInfo = searchInfo);\n // this.$emit('getAMapLayersInfo', this.drawLayersInfo)\n },\n /** 检测覆盖物配置信息并同步 */\n setOverlayOptions(options) {\n if (!this.drawLayers) return;\n this.drawCount > 1 ? this.drawLayers.forEach(drawItem => drawItem.setOptions(options)) : this.drawLayers.setOptions(options);\n },\n /** 绘制限定区域 */\n setDrawLimitArea() {\n let areaRange = [];\n try {\n areaRange = JSON.parse(this.drawLimitArea);\n } catch {\n areaRange = this.drawLimitArea;\n }\n this.drawArea && this.amap.remove(this.drawArea);\n /** 判断目前地图上存在的所绘制覆盖物是否在限制范围内 */\n this.setMapArea(areaRange);\n this.judgeOverlays();\n },\n /** 绘制地图区域范围 */\n setMapArea(jurisdictionRange) {\n this.drawArea = new this.$amap.Polygon({\n map: this.amap,\n path: jurisdictionRange,\n extData: 'Area',\n strokeWeight: 6,\n ...this.drawLimitAreaOptions\n });\n const {\n lng,\n lat\n } = this.drawArea.getBounds().getCenter();\n this.amap.setZoomAndCenter(15, [lng, lat]);\n },\n /** 判断一个线段是否在面内 */\n islineInRing(polyline) {\n const paths = polyline.getPath();\n return paths.every(pointItem => this.ispointInRing(pointItem));\n },\n /** 判断一个点是否在面内 */\n ispointInRing(point) {\n let position;\n try {\n position = point.getPosition();\n } catch {\n position = point;\n }\n return this.$amap.GeometryUtil.isPointInRing(position, this.drawArea.getPath());\n },\n /** 判断地图上所覆盖物是否在限制范围内 */\n judgeOverlays() {\n this.amap.getAllOverlays().forEach(layerItem => layerItem.getExtData() != 'Area' && !this[`is${this.drawType}InRing`](layerItem) && this.removeOverlay(layerItem));\n },\n /** 清除单个覆盖物(或 不符合区域范围的覆盖物 */\n removeOverlay(layerItem) {\n this.amap.remove(layerItem);\n this.$message.error('未在区域范围内,请重新描绘!');\n try {\n const i = this.drawLayers.findIndex(layer => layer.getExtData() == layerItem.getExtData());\n this.drawLayers.splice(i, 1);\n } catch {\n this.drawLayers = null;\n this.drawLayersInfo = {};\n }\n },\n /** 根据类型处理不同数据 */\n setDrawLayers(drawType) {\n const type = {\n point: 'marker',\n line: 'polyline',\n polygon: 'polygon'\n };\n\n /** 图层基础配置 */\n const drawOptions = drawType == 'point' ? {\n anchor: 'bottom-center',\n icon: this.$amapLayers.setIcon(this.drawIcon)\n } : {\n strokeWeight: 8\n };\n this.drawMouseTool[type[drawType]]({\n ...drawOptions,\n ...this.drawOptions\n });\n },\n /** 赋值不同图层数据 */\n assignDrawLayers(drawType) {\n if (drawType == 'point') {\n const {\n lng,\n lat\n } = this.drawLayers.getPosition();\n const position = {\n longitude: lng,\n latitude: lat\n };\n this.$amapMethods.getMapAddress(position, address => {\n this.drawLayersInfo = {\n ...position,\n ...address\n };\n });\n return;\n }\n const range = this.drawLayers.getPath().map(({\n lng,\n lat\n }) => [lng, lat]);\n this.drawLayersInfo = {\n range\n };\n },\n /** 回显不同类型图层 */\n echoDrawLayers(drawType) {\n const drawLayersItem = (drawItem, type, i = 0) => {\n if (drawItem && drawItem.latitude && drawItem.longitude && this.amap) {\n let layersItem = null;\n const {\n longitude,\n latitude,\n range\n } = drawItem;\n const setOptions = {\n extData: `draw${type}${i}`,\n ...this.drawOptions\n };\n if (type == 'point') {\n layersItem = this.$amapLayers.setMarker(this.drawIcon, {\n position: [longitude, latitude],\n ...setOptions\n });\n } else {\n const options = {\n path: range,\n strokeWeight: 8,\n ...setOptions\n };\n layersItem = type == 'line' ? new this.$amap.Polyline(options) : new this.$amap.Polygon(options);\n }\n layersItem.setMap(this.amap);\n this.amap.setFitView();\n }\n };\n if (!this.isExhibition) {\n drawLayersItem(this.drawLayersInfo, drawType);\n return;\n }\n if (this.drawInfoAll) {\n for (let key in this.drawInfoAll) {\n const isArray = Array.isArray(this.drawInfoAll[key]);\n isArray ? this.drawInfoAll[key].forEach((drawItem, i) => {\n drawLayersItem(drawItem, key, i);\n }) : drawLayersItem(this.drawInfoAll[key], key);\n }\n return;\n }\n drawLayersItem(this.drawLayersInfo, drawType);\n }\n },\n render(h) {\n const {\n drawEl,\n drawIcon,\n buttonProps,\n isExhibition,\n AmapDrawClear,\n searchChoose\n } = this;\n return h(\"div\", {\n \"class\": \"AmapDraw\"\n }, [!isExhibition && h(_components_AmapSearch_index_jsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n \"props\": {\n ...{\n drawIcon,\n buttonProps\n }\n },\n \"on\": {\n ...{\n searchReset: AmapDrawClear,\n searchChoose\n }\n }\n }), h(\"div\", {\n \"attrs\": {\n \"id\": drawEl\n }\n })]);\n }\n};\nAmapDraw.install = function (Vue) {\n Vue.component('AmapDraw', AmapDraw);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (AmapDraw);\n\n//# sourceURL=webpack://mui/./plugins/lib/amap/AmapDraw.jsx?");
8531
8531
 
8532
8532
  /***/ }),
8533
8533
 
@@ -8988,7 +8988,7 @@ eval("__webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modul
8988
8988
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8989
8989
 
8990
8990
  "use strict";
8991
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ colorRgba: function() { return /* binding */ colorRgba; },\n/* harmony export */ deepClone: function() { return /* binding */ deepClone; },\n/* harmony export */ findNthOccurrence: function() { return /* binding */ findNthOccurrence; },\n/* harmony export */ formatDate: function() { return /* binding */ formatDate; },\n/* harmony export */ getDay: function() { return /* binding */ getDay; },\n/* harmony export */ produceDataSeriesEx: function() { return /* binding */ produceDataSeriesEx; },\n/* harmony export */ transferData: function() { return /* binding */ transferData; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\r\n *\r\n * @param {*} day 传入天数\r\n * 距离现在n天前的日期\r\n */\n\nfunction getDay(day) {\n let today = new Date();\n let targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day;\n today.setTime(targetday_milliseconds); //注意,这行是关键代码\n\n let tYear = today.getFullYear();\n let tMonth = today.getMonth();\n let tDate = today.getDate();\n tMonth = doHandleMonth(tMonth + 1);\n tDate = doHandleMonth(tDate);\n return tYear + \"-\" + tMonth + \"-\" + tDate;\n}\nfunction doHandleMonth(month) {\n let m = month;\n if (month.toString().length == 1) {\n m = \"0\" + month;\n }\n return m;\n}\n\n/**\r\n *\r\n * @param {*} time 传入时间\r\n * @param {*} cFormat 可不传。格式化结构 默认 年-月-日 时:分:秒\r\n * {y}年 {m}月 {d}日 {h}时 {i}分 {s}秒 {a}星期\r\n */\nfunction formatDate(time, cFormat) {\n if (arguments.length === 0 || !time) {\n return null;\n }\n const format = cFormat || \"{y}-{m}-{d} {h}:{i}:{s}\";\n let date;\n if (typeof time === \"object\") {\n date = time;\n } else {\n let times = time;\n times = new Date(time).getTime();\n if (typeof times === \"string\") {\n if (/^[0-9]+$/.test(times)) {\n times = parseInt(times);\n } else {\n times = times.replace(new RegExp(/-/g), \"/\");\n }\n }\n if (typeof times === \"number\" && times.toString().length === 10) {\n times *= 1000;\n }\n date = new Date(times);\n }\n const formatObj = {\n y: date.getFullYear(),\n m: date.getMonth() + 1,\n d: date.getDate(),\n h: date.getHours(),\n i: date.getMinutes(),\n s: date.getSeconds(),\n a: date.getDay()\n };\n const timeStr = format.replace(/\\{([ymdhisa])+\\}/g, (result, key) => {\n const value = formatObj[key];\n // Note: getDay() returns 0 on Sunday\n if (key === \"a\") {\n return [\"日\", \"一\", \"二\", \"三\", \"四\", \"五\", \"六\"][value];\n }\n if (!String.prototype.padStart) return padStart(2, value.toString());\n return value.toString().padStart(2, \"0\"); // 返回替换的字符串,padStart用于头部补全\n });\n return timeStr;\n}\n\n/**\r\n * JS颜色十六进制转换为rgb或rgba,返回的格式为 rgba(255,255,255,0.5)字符串\r\n * sHex为传入的十六进制的色值\r\n * alpha为rgba的透明度\r\n */\nfunction colorRgba(sHex, alpha) {\n // 十六进制颜色值的正则表达式\n const reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;\n /* 16进制颜色转为RGB格式 */\n let sColor = sHex.toLowerCase();\n if (sColor && reg.test(sColor)) {\n if (sColor.length === 4) {\n var sColorNew = \"#\";\n for (let i = 1; i < 4; i += 1) {\n sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));\n }\n sColor = sColorNew;\n }\n // 处理六位的颜色值\n const sColorChange = [];\n for (let i = 1; i < 7; i += 2) {\n sColorChange.push(parseInt(`0x${sColor.slice(i, i + 2)}`));\n }\n // return sColorChange.join(',')\n return `rgba(${sColorChange.join(\",\")},${alpha})`;\n }\n return sColor;\n}\n\n/**\r\n * segment: 分段 7段\r\n * tatalpercent: 百分比 100\r\n * basevalue: 基础值 200\r\n*/\nfunction produceDataSeriesEx(segment, tatal, basevalue) {\n //需要产生segment个随机数,且segment个随机数之和等于tatal\n let arrpercent = new Array(segment).fill(0);\n for (let i = 0; i < tatal; i++) {\n //parseInt接收string,所以需要转一趟\n /**\r\n * 换成生活中的场景,就是一百个苹果分给十个人,我们可以一个一个的取出,随机分给某个人,直到分完\r\n * 在js里面,十个人即是一个长度为十的数组,每次数组随机一个位置加一,执行一百次\r\n */\n var num = parseInt((Math.random() * segment).toString());\n arrpercent[num]++;\n }\n //console.log(arr.length)\n\n let arrvalue = new Array(segment).fill(0);\n for (let i = 0; i < segment; i++) {\n arrvalue[i] = parseInt(arrpercent[i] / 100 * basevalue);\n }\n return [arrpercent, arrvalue];\n}\n\n/**\r\n * 深拷贝\r\n * obj为原始数据\r\n * 适用场景:数组套对象、对象套数组、混合嵌套等\r\n */\nfunction deepClone(obj) {\n if (obj === null || typeof obj !== 'object') {\n return obj;\n }\n if (obj instanceof Date) {\n return new Date(obj.getTime());\n }\n if (obj instanceof Array) {\n return obj.reduce((arr, item, i) => {\n arr[i] = deepClone(item);\n return arr;\n }, []);\n }\n if (obj instanceof Object) {\n return Object.keys(obj).reduce((newObj, key) => {\n newObj[key] = deepClone(obj[key]);\n return newObj;\n }, {});\n }\n}\n\n/**\r\n * 数据转换\r\n * data为原始数据\r\n * 适用场景:根据要求格式来转换当前属性值 (转化失败则初始化为默认格式\r\n */\nfunction transferData(data, format = 'String') {\n const defaultData = {\n Number: 0,\n Boolean: false,\n String: '',\n Array: [],\n Object: {}\n };\n if (format === 'Array' || format === 'Object') {\n let parsed;\n try {\n parsed = JSON.parse(data);\n } catch (error) {\n parsed = data;\n }\n if (parsed && (parsed instanceof Array || parsed instanceof Object)) {\n return parsed;\n }\n return defaultData[format];\n } else {\n return data ?? defaultData[format];\n }\n}\n\n/**\r\n * 查找字符串\r\n * str为字符串\r\n * charToFind为查找字符\r\n * n为次数\r\n * 适用场景:查找某个字符在字符串当中某一次的位置\r\n */\nfunction findNthOccurrence(str, charToFind, n) {\n let count = 0;\n let index = str.indexOf(charToFind);\n while (count < n && index !== -1) {\n index = str.indexOf(charToFind, index + 1);\n count++;\n }\n return index === -1 ? -1 : index;\n}\n\n//# sourceURL=webpack://mui/./plugins/utils/Filter.js?");
8991
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ colorRgba: function() { return /* binding */ colorRgba; },\n/* harmony export */ deepClone: function() { return /* binding */ deepClone; },\n/* harmony export */ findNthOccurrence: function() { return /* binding */ findNthOccurrence; },\n/* harmony export */ formatDate: function() { return /* binding */ formatDate; },\n/* harmony export */ getDay: function() { return /* binding */ getDay; },\n/* harmony export */ handleEnvURL: function() { return /* binding */ handleEnvURL; },\n/* harmony export */ produceDataSeriesEx: function() { return /* binding */ produceDataSeriesEx; },\n/* harmony export */ transferData: function() { return /* binding */ transferData; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/web.url-search-params.delete.js */ \"./node_modules/core-js/modules/web.url-search-params.delete.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/web.url-search-params.has.js */ \"./node_modules/core-js/modules/web.url-search-params.has.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/web.url-search-params.size.js */ \"./node_modules/core-js/modules/web.url-search-params.size.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\n/**\r\n *\r\n * @param {*} day 传入天数\r\n * 距离现在n天前的日期\r\n */\n\nfunction getDay(day) {\n let today = new Date();\n let targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day;\n today.setTime(targetday_milliseconds); //注意,这行是关键代码\n\n let tYear = today.getFullYear();\n let tMonth = today.getMonth();\n let tDate = today.getDate();\n tMonth = doHandleMonth(tMonth + 1);\n tDate = doHandleMonth(tDate);\n return tYear + \"-\" + tMonth + \"-\" + tDate;\n}\nfunction doHandleMonth(month) {\n let m = month;\n if (month.toString().length == 1) {\n m = \"0\" + month;\n }\n return m;\n}\n\n/**\r\n *\r\n * @param {*} time 传入时间\r\n * @param {*} cFormat 可不传。格式化结构 默认 年-月-日 时:分:秒\r\n * {y}年 {m}月 {d}日 {h}时 {i}分 {s}秒 {a}星期\r\n */\nfunction formatDate(time, cFormat) {\n if (arguments.length === 0 || !time) {\n return null;\n }\n const format = cFormat || \"{y}-{m}-{d} {h}:{i}:{s}\";\n let date;\n if (typeof time === \"object\") {\n date = time;\n } else {\n let times = time;\n times = new Date(time).getTime();\n if (typeof times === \"string\") {\n if (/^[0-9]+$/.test(times)) {\n times = parseInt(times);\n } else {\n times = times.replace(new RegExp(/-/g), \"/\");\n }\n }\n if (typeof times === \"number\" && times.toString().length === 10) {\n times *= 1000;\n }\n date = new Date(times);\n }\n const formatObj = {\n y: date.getFullYear(),\n m: date.getMonth() + 1,\n d: date.getDate(),\n h: date.getHours(),\n i: date.getMinutes(),\n s: date.getSeconds(),\n a: date.getDay()\n };\n const timeStr = format.replace(/\\{([ymdhisa])+\\}/g, (result, key) => {\n const value = formatObj[key];\n // Note: getDay() returns 0 on Sunday\n if (key === \"a\") {\n return [\"日\", \"一\", \"二\", \"三\", \"四\", \"五\", \"六\"][value];\n }\n if (!String.prototype.padStart) return padStart(2, value.toString());\n return value.toString().padStart(2, \"0\"); // 返回替换的字符串,padStart用于头部补全\n });\n return timeStr;\n}\n\n/**\r\n * JS颜色十六进制转换为rgb或rgba,返回的格式为 rgba(255,255,255,0.5)字符串\r\n * sHex为传入的十六进制的色值\r\n * alpha为rgba的透明度\r\n */\nfunction colorRgba(sHex, alpha) {\n // 十六进制颜色值的正则表达式\n const reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;\n /* 16进制颜色转为RGB格式 */\n let sColor = sHex.toLowerCase();\n if (sColor && reg.test(sColor)) {\n if (sColor.length === 4) {\n var sColorNew = \"#\";\n for (let i = 1; i < 4; i += 1) {\n sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));\n }\n sColor = sColorNew;\n }\n // 处理六位的颜色值\n const sColorChange = [];\n for (let i = 1; i < 7; i += 2) {\n sColorChange.push(parseInt(`0x${sColor.slice(i, i + 2)}`));\n }\n // return sColorChange.join(',')\n return `rgba(${sColorChange.join(\",\")},${alpha})`;\n }\n return sColor;\n}\n\n/**\r\n * segment: 分段 7段\r\n * tatalpercent: 百分比 100\r\n * basevalue: 基础值 200\r\n*/\nfunction produceDataSeriesEx(segment, tatal, basevalue) {\n //需要产生segment个随机数,且segment个随机数之和等于tatal\n let arrpercent = new Array(segment).fill(0);\n for (let i = 0; i < tatal; i++) {\n //parseInt接收string,所以需要转一趟\n /**\r\n * 换成生活中的场景,就是一百个苹果分给十个人,我们可以一个一个的取出,随机分给某个人,直到分完\r\n * 在js里面,十个人即是一个长度为十的数组,每次数组随机一个位置加一,执行一百次\r\n */\n var num = parseInt((Math.random() * segment).toString());\n arrpercent[num]++;\n }\n //console.log(arr.length)\n\n let arrvalue = new Array(segment).fill(0);\n for (let i = 0; i < segment; i++) {\n arrvalue[i] = parseInt(arrpercent[i] / 100 * basevalue);\n }\n return [arrpercent, arrvalue];\n}\n\n/**\r\n * 深拷贝\r\n * obj为原始数据\r\n * 适用场景:数组套对象、对象套数组、混合嵌套等\r\n */\nfunction deepClone(obj) {\n if (obj === null || typeof obj !== 'object') {\n return obj;\n }\n if (obj instanceof Date) {\n return new Date(obj.getTime());\n }\n if (obj instanceof Array) {\n return obj.reduce((arr, item, i) => {\n arr[i] = deepClone(item);\n return arr;\n }, []);\n }\n if (obj instanceof Object) {\n return Object.keys(obj).reduce((newObj, key) => {\n newObj[key] = deepClone(obj[key]);\n return newObj;\n }, {});\n }\n}\n\n/**\r\n * 数据转换\r\n * data为原始数据\r\n * 适用场景:根据要求格式来转换当前属性值 (转化失败则初始化为默认格式\r\n */\nfunction transferData(data, format = 'String') {\n const defaultData = {\n Number: 0,\n Boolean: false,\n String: '',\n Array: [],\n Object: {}\n };\n if (format === 'Array' || format === 'Object') {\n let parsed;\n try {\n parsed = JSON.parse(data);\n } catch (error) {\n parsed = data;\n }\n if (parsed && (parsed instanceof Array || parsed instanceof Object)) {\n return parsed;\n }\n return defaultData[format];\n } else {\n return data ?? defaultData[format];\n }\n}\n\n/**\r\n * 查找字符串\r\n * str为字符串\r\n * charToFind为查找字符\r\n * n为次数\r\n * 适用场景:查找某个字符在字符串当中某一次的位置\r\n */\nfunction findNthOccurrence(str, charToFind, n) {\n let count = 0;\n let index = str.indexOf(charToFind);\n while (count < n && index !== -1) {\n index = str.indexOf(charToFind, index + 1);\n count++;\n }\n return index === -1 ? -1 : index;\n}\n\n/**\r\n * 先判断是否处于开发环境 后去做开发线上的处理\r\n * @url 需要根据环境处理的地址\r\n * @port 开发环境需要链接的端口号\r\n * 根据端口号来判断是否为开发环境\r\n */\nfunction handleEnvURL(url, port) {\n let newUrl;\n try {\n newUrl = new URL(url);\n } catch (error) {\n newUrl = port ? location.origin.slice(0, -4) + port + url.slice(findNthOccurrence(url, '/', 1)) : location.origin + url;\n }\n return newUrl;\n}\n\n//# sourceURL=webpack://mui/./plugins/utils/Filter.js?");
8992
8992
 
8993
8993
  /***/ }),
8994
8994
 
@@ -66,7 +66,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ind
66
66
  \*********************************/
67
67
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
68
68
 
69
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ colorRgba: function() { return /* binding */ colorRgba; },\n/* harmony export */ deepClone: function() { return /* binding */ deepClone; },\n/* harmony export */ findNthOccurrence: function() { return /* binding */ findNthOccurrence; },\n/* harmony export */ formatDate: function() { return /* binding */ formatDate; },\n/* harmony export */ getDay: function() { return /* binding */ getDay; },\n/* harmony export */ produceDataSeriesEx: function() { return /* binding */ produceDataSeriesEx; },\n/* harmony export */ transferData: function() { return /* binding */ transferData; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\r\n *\r\n * @param {*} day 传入天数\r\n * 距离现在n天前的日期\r\n */\n\nfunction getDay(day) {\n let today = new Date();\n let targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day;\n today.setTime(targetday_milliseconds); //注意,这行是关键代码\n\n let tYear = today.getFullYear();\n let tMonth = today.getMonth();\n let tDate = today.getDate();\n tMonth = doHandleMonth(tMonth + 1);\n tDate = doHandleMonth(tDate);\n return tYear + \"-\" + tMonth + \"-\" + tDate;\n}\nfunction doHandleMonth(month) {\n let m = month;\n if (month.toString().length == 1) {\n m = \"0\" + month;\n }\n return m;\n}\n\n/**\r\n *\r\n * @param {*} time 传入时间\r\n * @param {*} cFormat 可不传。格式化结构 默认 年-月-日 时:分:秒\r\n * {y}年 {m}月 {d}日 {h}时 {i}分 {s}秒 {a}星期\r\n */\nfunction formatDate(time, cFormat) {\n if (arguments.length === 0 || !time) {\n return null;\n }\n const format = cFormat || \"{y}-{m}-{d} {h}:{i}:{s}\";\n let date;\n if (typeof time === \"object\") {\n date = time;\n } else {\n let times = time;\n times = new Date(time).getTime();\n if (typeof times === \"string\") {\n if (/^[0-9]+$/.test(times)) {\n times = parseInt(times);\n } else {\n times = times.replace(new RegExp(/-/g), \"/\");\n }\n }\n if (typeof times === \"number\" && times.toString().length === 10) {\n times *= 1000;\n }\n date = new Date(times);\n }\n const formatObj = {\n y: date.getFullYear(),\n m: date.getMonth() + 1,\n d: date.getDate(),\n h: date.getHours(),\n i: date.getMinutes(),\n s: date.getSeconds(),\n a: date.getDay()\n };\n const timeStr = format.replace(/\\{([ymdhisa])+\\}/g, (result, key) => {\n const value = formatObj[key];\n // Note: getDay() returns 0 on Sunday\n if (key === \"a\") {\n return [\"日\", \"一\", \"二\", \"三\", \"四\", \"五\", \"六\"][value];\n }\n if (!String.prototype.padStart) return padStart(2, value.toString());\n return value.toString().padStart(2, \"0\"); // 返回替换的字符串,padStart用于头部补全\n });\n return timeStr;\n}\n\n/**\r\n * JS颜色十六进制转换为rgb或rgba,返回的格式为 rgba(255,255,255,0.5)字符串\r\n * sHex为传入的十六进制的色值\r\n * alpha为rgba的透明度\r\n */\nfunction colorRgba(sHex, alpha) {\n // 十六进制颜色值的正则表达式\n const reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;\n /* 16进制颜色转为RGB格式 */\n let sColor = sHex.toLowerCase();\n if (sColor && reg.test(sColor)) {\n if (sColor.length === 4) {\n var sColorNew = \"#\";\n for (let i = 1; i < 4; i += 1) {\n sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));\n }\n sColor = sColorNew;\n }\n // 处理六位的颜色值\n const sColorChange = [];\n for (let i = 1; i < 7; i += 2) {\n sColorChange.push(parseInt(`0x${sColor.slice(i, i + 2)}`));\n }\n // return sColorChange.join(',')\n return `rgba(${sColorChange.join(\",\")},${alpha})`;\n }\n return sColor;\n}\n\n/**\r\n * segment: 分段 7段\r\n * tatalpercent: 百分比 100\r\n * basevalue: 基础值 200\r\n*/\nfunction produceDataSeriesEx(segment, tatal, basevalue) {\n //需要产生segment个随机数,且segment个随机数之和等于tatal\n let arrpercent = new Array(segment).fill(0);\n for (let i = 0; i < tatal; i++) {\n //parseInt接收string,所以需要转一趟\n /**\r\n * 换成生活中的场景,就是一百个苹果分给十个人,我们可以一个一个的取出,随机分给某个人,直到分完\r\n * 在js里面,十个人即是一个长度为十的数组,每次数组随机一个位置加一,执行一百次\r\n */\n var num = parseInt((Math.random() * segment).toString());\n arrpercent[num]++;\n }\n //console.log(arr.length)\n\n let arrvalue = new Array(segment).fill(0);\n for (let i = 0; i < segment; i++) {\n arrvalue[i] = parseInt(arrpercent[i] / 100 * basevalue);\n }\n return [arrpercent, arrvalue];\n}\n\n/**\r\n * 深拷贝\r\n * obj为原始数据\r\n * 适用场景:数组套对象、对象套数组、混合嵌套等\r\n */\nfunction deepClone(obj) {\n if (obj === null || typeof obj !== 'object') {\n return obj;\n }\n if (obj instanceof Date) {\n return new Date(obj.getTime());\n }\n if (obj instanceof Array) {\n return obj.reduce((arr, item, i) => {\n arr[i] = deepClone(item);\n return arr;\n }, []);\n }\n if (obj instanceof Object) {\n return Object.keys(obj).reduce((newObj, key) => {\n newObj[key] = deepClone(obj[key]);\n return newObj;\n }, {});\n }\n}\n\n/**\r\n * 数据转换\r\n * data为原始数据\r\n * 适用场景:根据要求格式来转换当前属性值 (转化失败则初始化为默认格式\r\n */\nfunction transferData(data, format = 'String') {\n const defaultData = {\n Number: 0,\n Boolean: false,\n String: '',\n Array: [],\n Object: {}\n };\n if (format === 'Array' || format === 'Object') {\n let parsed;\n try {\n parsed = JSON.parse(data);\n } catch (error) {\n parsed = data;\n }\n if (parsed && (parsed instanceof Array || parsed instanceof Object)) {\n return parsed;\n }\n return defaultData[format];\n } else {\n return data ?? defaultData[format];\n }\n}\n\n/**\r\n * 查找字符串\r\n * str为字符串\r\n * charToFind为查找字符\r\n * n为次数\r\n * 适用场景:查找某个字符在字符串当中某一次的位置\r\n */\nfunction findNthOccurrence(str, charToFind, n) {\n let count = 0;\n let index = str.indexOf(charToFind);\n while (count < n && index !== -1) {\n index = str.indexOf(charToFind, index + 1);\n count++;\n }\n return index === -1 ? -1 : index;\n}\n\n//# sourceURL=webpack://mui/./plugins/utils/Filter.js?");
69
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ colorRgba: function() { return /* binding */ colorRgba; },\n/* harmony export */ deepClone: function() { return /* binding */ deepClone; },\n/* harmony export */ findNthOccurrence: function() { return /* binding */ findNthOccurrence; },\n/* harmony export */ formatDate: function() { return /* binding */ formatDate; },\n/* harmony export */ getDay: function() { return /* binding */ getDay; },\n/* harmony export */ handleEnvURL: function() { return /* binding */ handleEnvURL; },\n/* harmony export */ produceDataSeriesEx: function() { return /* binding */ produceDataSeriesEx; },\n/* harmony export */ transferData: function() { return /* binding */ transferData; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/web.url-search-params.delete.js */ \"./node_modules/core-js/modules/web.url-search-params.delete.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/web.url-search-params.has.js */ \"./node_modules/core-js/modules/web.url-search-params.has.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/web.url-search-params.size.js */ \"./node_modules/core-js/modules/web.url-search-params.size.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\n/**\r\n *\r\n * @param {*} day 传入天数\r\n * 距离现在n天前的日期\r\n */\n\nfunction getDay(day) {\n let today = new Date();\n let targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day;\n today.setTime(targetday_milliseconds); //注意,这行是关键代码\n\n let tYear = today.getFullYear();\n let tMonth = today.getMonth();\n let tDate = today.getDate();\n tMonth = doHandleMonth(tMonth + 1);\n tDate = doHandleMonth(tDate);\n return tYear + \"-\" + tMonth + \"-\" + tDate;\n}\nfunction doHandleMonth(month) {\n let m = month;\n if (month.toString().length == 1) {\n m = \"0\" + month;\n }\n return m;\n}\n\n/**\r\n *\r\n * @param {*} time 传入时间\r\n * @param {*} cFormat 可不传。格式化结构 默认 年-月-日 时:分:秒\r\n * {y}年 {m}月 {d}日 {h}时 {i}分 {s}秒 {a}星期\r\n */\nfunction formatDate(time, cFormat) {\n if (arguments.length === 0 || !time) {\n return null;\n }\n const format = cFormat || \"{y}-{m}-{d} {h}:{i}:{s}\";\n let date;\n if (typeof time === \"object\") {\n date = time;\n } else {\n let times = time;\n times = new Date(time).getTime();\n if (typeof times === \"string\") {\n if (/^[0-9]+$/.test(times)) {\n times = parseInt(times);\n } else {\n times = times.replace(new RegExp(/-/g), \"/\");\n }\n }\n if (typeof times === \"number\" && times.toString().length === 10) {\n times *= 1000;\n }\n date = new Date(times);\n }\n const formatObj = {\n y: date.getFullYear(),\n m: date.getMonth() + 1,\n d: date.getDate(),\n h: date.getHours(),\n i: date.getMinutes(),\n s: date.getSeconds(),\n a: date.getDay()\n };\n const timeStr = format.replace(/\\{([ymdhisa])+\\}/g, (result, key) => {\n const value = formatObj[key];\n // Note: getDay() returns 0 on Sunday\n if (key === \"a\") {\n return [\"日\", \"一\", \"二\", \"三\", \"四\", \"五\", \"六\"][value];\n }\n if (!String.prototype.padStart) return padStart(2, value.toString());\n return value.toString().padStart(2, \"0\"); // 返回替换的字符串,padStart用于头部补全\n });\n return timeStr;\n}\n\n/**\r\n * JS颜色十六进制转换为rgb或rgba,返回的格式为 rgba(255,255,255,0.5)字符串\r\n * sHex为传入的十六进制的色值\r\n * alpha为rgba的透明度\r\n */\nfunction colorRgba(sHex, alpha) {\n // 十六进制颜色值的正则表达式\n const reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;\n /* 16进制颜色转为RGB格式 */\n let sColor = sHex.toLowerCase();\n if (sColor && reg.test(sColor)) {\n if (sColor.length === 4) {\n var sColorNew = \"#\";\n for (let i = 1; i < 4; i += 1) {\n sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));\n }\n sColor = sColorNew;\n }\n // 处理六位的颜色值\n const sColorChange = [];\n for (let i = 1; i < 7; i += 2) {\n sColorChange.push(parseInt(`0x${sColor.slice(i, i + 2)}`));\n }\n // return sColorChange.join(',')\n return `rgba(${sColorChange.join(\",\")},${alpha})`;\n }\n return sColor;\n}\n\n/**\r\n * segment: 分段 7段\r\n * tatalpercent: 百分比 100\r\n * basevalue: 基础值 200\r\n*/\nfunction produceDataSeriesEx(segment, tatal, basevalue) {\n //需要产生segment个随机数,且segment个随机数之和等于tatal\n let arrpercent = new Array(segment).fill(0);\n for (let i = 0; i < tatal; i++) {\n //parseInt接收string,所以需要转一趟\n /**\r\n * 换成生活中的场景,就是一百个苹果分给十个人,我们可以一个一个的取出,随机分给某个人,直到分完\r\n * 在js里面,十个人即是一个长度为十的数组,每次数组随机一个位置加一,执行一百次\r\n */\n var num = parseInt((Math.random() * segment).toString());\n arrpercent[num]++;\n }\n //console.log(arr.length)\n\n let arrvalue = new Array(segment).fill(0);\n for (let i = 0; i < segment; i++) {\n arrvalue[i] = parseInt(arrpercent[i] / 100 * basevalue);\n }\n return [arrpercent, arrvalue];\n}\n\n/**\r\n * 深拷贝\r\n * obj为原始数据\r\n * 适用场景:数组套对象、对象套数组、混合嵌套等\r\n */\nfunction deepClone(obj) {\n if (obj === null || typeof obj !== 'object') {\n return obj;\n }\n if (obj instanceof Date) {\n return new Date(obj.getTime());\n }\n if (obj instanceof Array) {\n return obj.reduce((arr, item, i) => {\n arr[i] = deepClone(item);\n return arr;\n }, []);\n }\n if (obj instanceof Object) {\n return Object.keys(obj).reduce((newObj, key) => {\n newObj[key] = deepClone(obj[key]);\n return newObj;\n }, {});\n }\n}\n\n/**\r\n * 数据转换\r\n * data为原始数据\r\n * 适用场景:根据要求格式来转换当前属性值 (转化失败则初始化为默认格式\r\n */\nfunction transferData(data, format = 'String') {\n const defaultData = {\n Number: 0,\n Boolean: false,\n String: '',\n Array: [],\n Object: {}\n };\n if (format === 'Array' || format === 'Object') {\n let parsed;\n try {\n parsed = JSON.parse(data);\n } catch (error) {\n parsed = data;\n }\n if (parsed && (parsed instanceof Array || parsed instanceof Object)) {\n return parsed;\n }\n return defaultData[format];\n } else {\n return data ?? defaultData[format];\n }\n}\n\n/**\r\n * 查找字符串\r\n * str为字符串\r\n * charToFind为查找字符\r\n * n为次数\r\n * 适用场景:查找某个字符在字符串当中某一次的位置\r\n */\nfunction findNthOccurrence(str, charToFind, n) {\n let count = 0;\n let index = str.indexOf(charToFind);\n while (count < n && index !== -1) {\n index = str.indexOf(charToFind, index + 1);\n count++;\n }\n return index === -1 ? -1 : index;\n}\n\n/**\r\n * 先判断是否处于开发环境 后去做开发线上的处理\r\n * @url 需要根据环境处理的地址\r\n * @port 开发环境需要链接的端口号\r\n * 根据端口号来判断是否为开发环境\r\n */\nfunction handleEnvURL(url, port) {\n let newUrl;\n try {\n newUrl = new URL(url);\n } catch (error) {\n newUrl = port ? location.origin.slice(0, -4) + port + url.slice(findNthOccurrence(url, '/', 1)) : location.origin + url;\n }\n return newUrl;\n}\n\n//# sourceURL=webpack://mui/./plugins/utils/Filter.js?");
70
70
 
71
71
  /***/ }),
72
72
 
@@ -230,6 +230,16 @@ eval("\n\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurr
230
230
 
231
231
  /***/ }),
232
232
 
233
+ /***/ "./node_modules/core-js/internals/classof.js":
234
+ /*!***************************************************!*\
235
+ !*** ./node_modules/core-js/internals/classof.js ***!
236
+ \***************************************************/
237
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
238
+
239
+ eval("\n\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ \"./node_modules/core-js/internals/to-string-tag-support.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar classofRaw = __webpack_require__(/*! ../internals/classof-raw */ \"./node_modules/core-js/internals/classof-raw.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () {\n return arguments;\n}()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) {/* empty */}\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n\n//# sourceURL=webpack://mui/./node_modules/core-js/internals/classof.js?");
240
+
241
+ /***/ }),
242
+
233
243
  /***/ "./node_modules/core-js/internals/copy-constructor-properties.js":
234
244
  /*!***********************************************************************!*\
235
245
  !*** ./node_modules/core-js/internals/copy-constructor-properties.js ***!
@@ -260,6 +270,16 @@ eval("\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerabl
260
270
 
261
271
  /***/ }),
262
272
 
273
+ /***/ "./node_modules/core-js/internals/define-built-in-accessor.js":
274
+ /*!********************************************************************!*\
275
+ !*** ./node_modules/core-js/internals/define-built-in-accessor.js ***!
276
+ \********************************************************************/
277
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
278
+
279
+ eval("\n\nvar makeBuiltIn = __webpack_require__(/*! ../internals/make-built-in */ \"./node_modules/core-js/internals/make-built-in.js\");\nvar defineProperty = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\");\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, {\n getter: true\n });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, {\n setter: true\n });\n return defineProperty.f(target, name, descriptor);\n};\n\n//# sourceURL=webpack://mui/./node_modules/core-js/internals/define-built-in-accessor.js?");
280
+
281
+ /***/ }),
282
+
263
283
  /***/ "./node_modules/core-js/internals/define-built-in.js":
264
284
  /*!***********************************************************!*\
265
285
  !*** ./node_modules/core-js/internals/define-built-in.js ***!
@@ -800,6 +820,26 @@ eval("\n\nvar toPrimitive = __webpack_require__(/*! ../internals/to-primitive */
800
820
 
801
821
  /***/ }),
802
822
 
823
+ /***/ "./node_modules/core-js/internals/to-string-tag-support.js":
824
+ /*!*****************************************************************!*\
825
+ !*** ./node_modules/core-js/internals/to-string-tag-support.js ***!
826
+ \*****************************************************************/
827
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
828
+
829
+ eval("\n\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\ntest[TO_STRING_TAG] = 'z';\nmodule.exports = String(test) === '[object z]';\n\n//# sourceURL=webpack://mui/./node_modules/core-js/internals/to-string-tag-support.js?");
830
+
831
+ /***/ }),
832
+
833
+ /***/ "./node_modules/core-js/internals/to-string.js":
834
+ /*!*****************************************************!*\
835
+ !*** ./node_modules/core-js/internals/to-string.js ***!
836
+ \*****************************************************/
837
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
838
+
839
+ eval("\n\nvar classof = __webpack_require__(/*! ../internals/classof */ \"./node_modules/core-js/internals/classof.js\");\nvar $String = String;\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n\n//# sourceURL=webpack://mui/./node_modules/core-js/internals/to-string.js?");
840
+
841
+ /***/ }),
842
+
803
843
  /***/ "./node_modules/core-js/internals/try-to-string.js":
804
844
  /*!*********************************************************!*\
805
845
  !*** ./node_modules/core-js/internals/try-to-string.js ***!
@@ -840,6 +880,16 @@ eval("\n\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */
840
880
 
841
881
  /***/ }),
842
882
 
883
+ /***/ "./node_modules/core-js/internals/validate-arguments-length.js":
884
+ /*!*********************************************************************!*\
885
+ !*** ./node_modules/core-js/internals/validate-arguments-length.js ***!
886
+ \*********************************************************************/
887
+ /***/ (function(module) {
888
+
889
+ eval("\n\nvar $TypeError = TypeError;\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n\n//# sourceURL=webpack://mui/./node_modules/core-js/internals/validate-arguments-length.js?");
890
+
891
+ /***/ }),
892
+
843
893
  /***/ "./node_modules/core-js/internals/weak-map-basic-detection.js":
844
894
  /*!********************************************************************!*\
845
895
  !*** ./node_modules/core-js/internals/weak-map-basic-detection.js ***!
@@ -868,6 +918,36 @@ eval("\n\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_m
868
918
 
869
919
  eval("\n\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\nvar lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ \"./node_modules/core-js/internals/length-of-array-like.js\");\nvar setArrayLength = __webpack_require__(/*! ../internals/array-set-length */ \"./node_modules/core-js/internals/array-set-length.js\");\nvar doesNotExceedSafeInteger = __webpack_require__(/*! ../internals/does-not-exceed-safe-integer */ \"./node_modules/core-js/internals/does-not-exceed-safe-integer.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({\n length: 0x100000000\n }, 1) !== 4294967297;\n});\n\n// V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', {\n writable: false\n }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({\n target: 'Array',\n proto: true,\n arity: 1,\n forced: FORCED\n}, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n\n//# sourceURL=webpack://mui/./node_modules/core-js/modules/es.array.push.js?");
870
920
 
921
+ /***/ }),
922
+
923
+ /***/ "./node_modules/core-js/modules/web.url-search-params.delete.js":
924
+ /*!**********************************************************************!*\
925
+ !*** ./node_modules/core-js/modules/web.url-search-params.delete.js ***!
926
+ \**********************************************************************/
927
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
928
+
929
+ eval("\n\nvar defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar validateArgumentsLength = __webpack_require__(/*! ../internals/validate-arguments-length */ \"./node_modules/core-js/internals/validate-arguments-length.js\");\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar append = uncurryThis(URLSearchParamsPrototype.append);\nvar $delete = uncurryThis(URLSearchParamsPrototype['delete']);\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\nvar push = uncurryThis([].push);\nvar params = new $URLSearchParams('a=1&a=2&b=3');\nparams['delete']('a', 1);\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nparams['delete']('b', undefined);\nif (params + '' !== 'a=2') {\n defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name /* , value */) {\n var length = arguments.length;\n var $value = length < 2 ? undefined : arguments[1];\n if (length && $value === undefined) return $delete(this, name);\n var entries = [];\n forEach(this, function (v, k) {\n // also validates `this`\n push(entries, {\n key: k,\n value: v\n });\n });\n validateArgumentsLength(length, 1);\n var key = toString(name);\n var value = toString($value);\n var index = 0;\n var dindex = 0;\n var found = false;\n var entriesLength = entries.length;\n var entry;\n while (index < entriesLength) {\n entry = entries[index++];\n if (found || entry.key === key) {\n found = true;\n $delete(this, entry.key);\n } else dindex++;\n }\n while (dindex < entriesLength) {\n entry = entries[dindex++];\n if (!(entry.key === key && entry.value === value)) append(this, entry.key, entry.value);\n }\n }, {\n enumerable: true,\n unsafe: true\n });\n}\n\n//# sourceURL=webpack://mui/./node_modules/core-js/modules/web.url-search-params.delete.js?");
930
+
931
+ /***/ }),
932
+
933
+ /***/ "./node_modules/core-js/modules/web.url-search-params.has.js":
934
+ /*!*******************************************************************!*\
935
+ !*** ./node_modules/core-js/modules/web.url-search-params.has.js ***!
936
+ \*******************************************************************/
937
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
938
+
939
+ eval("\n\nvar defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar validateArgumentsLength = __webpack_require__(/*! ../internals/validate-arguments-length */ \"./node_modules/core-js/internals/validate-arguments-length.js\");\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar getAll = uncurryThis(URLSearchParamsPrototype.getAll);\nvar $has = uncurryThis(URLSearchParamsPrototype.has);\nvar params = new $URLSearchParams('a=1');\n\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nif (params.has('a', 2) || !params.has('a', undefined)) {\n defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) {\n var length = arguments.length;\n var $value = length < 2 ? undefined : arguments[1];\n if (length && $value === undefined) return $has(this, name);\n var values = getAll(this, name); // also validates `this`\n validateArgumentsLength(length, 1);\n var value = toString($value);\n var index = 0;\n while (index < values.length) {\n if (values[index++] === value) return true;\n }\n return false;\n }, {\n enumerable: true,\n unsafe: true\n });\n}\n\n//# sourceURL=webpack://mui/./node_modules/core-js/modules/web.url-search-params.has.js?");
940
+
941
+ /***/ }),
942
+
943
+ /***/ "./node_modules/core-js/modules/web.url-search-params.size.js":
944
+ /*!********************************************************************!*\
945
+ !*** ./node_modules/core-js/modules/web.url-search-params.size.js ***!
946
+ \********************************************************************/
947
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
948
+
949
+ eval("\n\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar defineBuiltInAccessor = __webpack_require__(/*! ../internals/define-built-in-accessor */ \"./node_modules/core-js/internals/define-built-in-accessor.js\");\nvar URLSearchParamsPrototype = URLSearchParams.prototype;\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\n\n// `URLSearchParams.prototype.size` getter\n// https://github.com/whatwg/url/pull/734\nif (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) {\n defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {\n get: function size() {\n var count = 0;\n forEach(this, function () {\n count++;\n });\n return count;\n },\n configurable: true,\n enumerable: true\n });\n}\n\n//# sourceURL=webpack://mui/./node_modules/core-js/modules/web.url-search-params.size.js?");
950
+
871
951
  /***/ })
872
952
 
873
953
  /******/ });
package/dist/form.umd.js CHANGED
@@ -7011,7 +7011,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_
7011
7011
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7012
7012
 
7013
7013
  "use strict";
7014
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/upload/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n model: {\n prop: 'value',\n event: 'handleFileUpload'\n },\n components: {\n Icon: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Upload: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n props: {\n value: {\n type: [String, Array],\n default: () => []\n },\n /* 提示文字 */\n tips: String,\n /* 上传文件数量限制 */\n uploadLen: {\n type: Number,\n default: 1\n },\n /* 上传接口 */\n fileUploadUrl: String,\n /* 显示需要pin的接口前缀 */\n filePrefixUrl: String,\n /* 上传文件格式限制 */\n fileAccept: String,\n /* 上传文件携带Headers信息 */\n fileHeaders: Object,\n /* 删除文件函数回调 */\n fileRemoveHandle: Function\n },\n data() {\n return {\n fileList: [],\n modalValue: []\n };\n },\n watch: {\n value() {\n this.setResetFile();\n }\n },\n computed: {\n uploadAttrs() {\n return {\n prefix: this.filePrefixUrl ?? this.$https.FILEURL,\n action: this.fileUploadUrl ?? this.$https.UPLOADURL,\n headers: this.fileHeaders ?? this.$store.getters.fileHeaders\n };\n }\n },\n mounted() {\n this.setResetFile();\n },\n methods: {\n setResetFile() {\n let arrayObject;\n try {\n arrayObject = JSON.parse(this.value);\n } catch (e) {\n arrayObject = [].concat(this.value);\n }\n this.modalValue = arrayObject ?? [];\n this.fileList = this.modalValue.map(file => ({\n ...file,\n url: `${this.uploadAttrs.prefix}${file.url}`,\n type: file.contentType,\n status: 'done'\n }));\n },\n handleFilePreview({\n uid,\n contentType,\n url\n }) {\n let suffix = url.substr(url.lastIndexOf('.') + 1);\n const pictureSuffix = ['JPEG', 'JPG', 'GIF', 'PNG', 'TIFF', 'WEBP', 'BMP'];\n if (contentType.includes('image') || pictureSuffix.includes(suffix.toUpperCase())) {\n this.$viewerApi({\n options: {\n url: 'url',\n toolbar: true,\n initialViewIndex: this.fileList.findIndex(file => file.url == url)\n },\n images: this.fileList\n });\n return;\n }\n this.$dialog('fileBrowse', {\n src: url\n });\n },\n handleFileChange({\n file,\n fileList\n }) {\n file.status == 'uploading' && (this.fileList = fileList);\n switch (file.status) {\n case 'removed':\n const params = {\n id: file.uid\n };\n const requestHandle = this.fileRemoveHandle ? this.fileRemoveHandle(params) : this.$store.dispatch('fileRemoveHandle', params);\n requestHandle.then(Response => {\n const i = this.modalValue.findIndex(e => e.uid == file.uid);\n this.modalValue.splice(i, 1);\n this.$emit('handleFileUpload', JSON.stringify(this.modalValue));\n });\n break;\n case 'done':\n const {\n data\n } = file.response;\n const uploadFileObj = {\n ...data,\n uid: data.id\n };\n delete uploadFileObj.id;\n this.modalValue.push(uploadFileObj);\n this.$emit('handleFileUpload', JSON.stringify(this.modalValue));\n break;\n }\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/components/AUpload.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
7014
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/upload/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n model: {\n prop: 'value',\n event: 'handleFileUpload'\n },\n components: {\n Icon: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Upload: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n props: {\n value: {\n type: [String, Array],\n default: () => []\n },\n /* 提示文字 */\n tips: String,\n /* 上传文件数量限制 */\n uploadLen: {\n type: Number,\n default: 1\n },\n /* 上传接口 */\n fileUploadUrl: String,\n /* 显示需要pin的接口前缀 */\n filePrefixUrl: String,\n /* 上传文件格式限制 */\n fileAccept: String,\n /* 上传文件携带Headers信息 */\n fileHeaders: Object,\n /* 删除文件函数回调 */\n fileRemoveHandle: Function\n },\n data() {\n return {\n fileList: [],\n modalValue: []\n };\n },\n watch: {\n value() {\n this.setResetFile();\n }\n },\n computed: {\n uploadAttrs() {\n return {\n prefix: this.filePrefixUrl ?? this.$https.FILEURL,\n action: this.fileUploadUrl ?? this.$https.UPLOADURL,\n headers: this.fileHeaders ?? this.$store.getters.fileHeaders\n };\n }\n },\n mounted() {\n this.setResetFile();\n },\n methods: {\n setResetFile() {\n let arrayObject;\n try {\n arrayObject = JSON.parse(this.value);\n } catch (e) {\n arrayObject = [].concat(this.value);\n }\n this.modalValue = arrayObject ?? [];\n this.fileList = this.modalValue.map(file => ({\n ...file,\n url: `${this.uploadAttrs.prefix}${file.url}`,\n type: file.contentType,\n status: 'done'\n }));\n },\n handleFilePreview({\n uid,\n contentType,\n url\n }) {\n let suffix = url.substr(url.lastIndexOf('.') + 1);\n const pictureSuffix = ['JPEG', 'JPG', 'GIF', 'PNG', 'TIFF', 'WEBP', 'BMP'];\n if (contentType.includes('image') || pictureSuffix.includes(suffix.toUpperCase())) {\n this.$viewerApi({\n options: {\n url: 'url',\n toolbar: true,\n initialViewIndex: this.fileList.findIndex(file => file.url == url)\n },\n images: this.fileList\n });\n return;\n }\n this.$dialog('Brower', {\n data: url\n }, {\n title: '预览文件',\n width: 1104,\n height: 848,\n centered: true,\n maskClosable: false,\n footer: false,\n bodyStyle: {\n height: 'calc( 100% - 54px )'\n }\n });\n },\n handleFileChange({\n file,\n fileList\n }) {\n file.status == 'uploading' && (this.fileList = fileList);\n switch (file.status) {\n case 'removed':\n const params = {\n id: file.uid\n };\n const requestHandle = this.fileRemoveHandle ? this.fileRemoveHandle(params) : this.$store.dispatch('fileRemoveHandle', params);\n requestHandle.then(Response => {\n const i = this.modalValue.findIndex(e => e.uid == file.uid);\n this.modalValue.splice(i, 1);\n this.$emit('handleFileUpload', JSON.stringify(this.modalValue));\n });\n break;\n case 'done':\n const {\n data\n } = file.response;\n const uploadFileObj = {\n ...data,\n uid: data.id\n };\n delete uploadFileObj.id;\n this.modalValue.push(uploadFileObj);\n this.$emit('handleFileUpload', JSON.stringify(this.modalValue));\n break;\n }\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/components/AUpload.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
7015
7015
 
7016
7016
  /***/ }),
7017
7017
 
package/dist/index.umd.js CHANGED
@@ -8263,7 +8263,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_
8263
8263
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8264
8264
 
8265
8265
  "use strict";
8266
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/upload/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n model: {\n prop: 'value',\n event: 'handleFileUpload'\n },\n components: {\n Icon: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Upload: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n props: {\n value: {\n type: [String, Array],\n default: () => []\n },\n /* 提示文字 */\n tips: String,\n /* 上传文件数量限制 */\n uploadLen: {\n type: Number,\n default: 1\n },\n /* 上传接口 */\n fileUploadUrl: String,\n /* 显示需要pin的接口前缀 */\n filePrefixUrl: String,\n /* 上传文件格式限制 */\n fileAccept: String,\n /* 上传文件携带Headers信息 */\n fileHeaders: Object,\n /* 删除文件函数回调 */\n fileRemoveHandle: Function\n },\n data() {\n return {\n fileList: [],\n modalValue: []\n };\n },\n watch: {\n value() {\n this.setResetFile();\n }\n },\n computed: {\n uploadAttrs() {\n return {\n prefix: this.filePrefixUrl ?? this.$https.FILEURL,\n action: this.fileUploadUrl ?? this.$https.UPLOADURL,\n headers: this.fileHeaders ?? this.$store.getters.fileHeaders\n };\n }\n },\n mounted() {\n this.setResetFile();\n },\n methods: {\n setResetFile() {\n let arrayObject;\n try {\n arrayObject = JSON.parse(this.value);\n } catch (e) {\n arrayObject = [].concat(this.value);\n }\n this.modalValue = arrayObject ?? [];\n this.fileList = this.modalValue.map(file => ({\n ...file,\n url: `${this.uploadAttrs.prefix}${file.url}`,\n type: file.contentType,\n status: 'done'\n }));\n },\n handleFilePreview({\n uid,\n contentType,\n url\n }) {\n let suffix = url.substr(url.lastIndexOf('.') + 1);\n const pictureSuffix = ['JPEG', 'JPG', 'GIF', 'PNG', 'TIFF', 'WEBP', 'BMP'];\n if (contentType.includes('image') || pictureSuffix.includes(suffix.toUpperCase())) {\n this.$viewerApi({\n options: {\n url: 'url',\n toolbar: true,\n initialViewIndex: this.fileList.findIndex(file => file.url == url)\n },\n images: this.fileList\n });\n return;\n }\n this.$dialog('fileBrowse', {\n src: url\n });\n },\n handleFileChange({\n file,\n fileList\n }) {\n file.status == 'uploading' && (this.fileList = fileList);\n switch (file.status) {\n case 'removed':\n const params = {\n id: file.uid\n };\n const requestHandle = this.fileRemoveHandle ? this.fileRemoveHandle(params) : this.$store.dispatch('fileRemoveHandle', params);\n requestHandle.then(Response => {\n const i = this.modalValue.findIndex(e => e.uid == file.uid);\n this.modalValue.splice(i, 1);\n this.$emit('handleFileUpload', JSON.stringify(this.modalValue));\n });\n break;\n case 'done':\n const {\n data\n } = file.response;\n const uploadFileObj = {\n ...data,\n uid: data.id\n };\n delete uploadFileObj.id;\n this.modalValue.push(uploadFileObj);\n this.$emit('handleFileUpload', JSON.stringify(this.modalValue));\n break;\n }\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/components/AUpload.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
8266
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/upload/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n model: {\n prop: 'value',\n event: 'handleFileUpload'\n },\n components: {\n Icon: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Upload: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n props: {\n value: {\n type: [String, Array],\n default: () => []\n },\n /* 提示文字 */\n tips: String,\n /* 上传文件数量限制 */\n uploadLen: {\n type: Number,\n default: 1\n },\n /* 上传接口 */\n fileUploadUrl: String,\n /* 显示需要pin的接口前缀 */\n filePrefixUrl: String,\n /* 上传文件格式限制 */\n fileAccept: String,\n /* 上传文件携带Headers信息 */\n fileHeaders: Object,\n /* 删除文件函数回调 */\n fileRemoveHandle: Function\n },\n data() {\n return {\n fileList: [],\n modalValue: []\n };\n },\n watch: {\n value() {\n this.setResetFile();\n }\n },\n computed: {\n uploadAttrs() {\n return {\n prefix: this.filePrefixUrl ?? this.$https.FILEURL,\n action: this.fileUploadUrl ?? this.$https.UPLOADURL,\n headers: this.fileHeaders ?? this.$store.getters.fileHeaders\n };\n }\n },\n mounted() {\n this.setResetFile();\n },\n methods: {\n setResetFile() {\n let arrayObject;\n try {\n arrayObject = JSON.parse(this.value);\n } catch (e) {\n arrayObject = [].concat(this.value);\n }\n this.modalValue = arrayObject ?? [];\n this.fileList = this.modalValue.map(file => ({\n ...file,\n url: `${this.uploadAttrs.prefix}${file.url}`,\n type: file.contentType,\n status: 'done'\n }));\n },\n handleFilePreview({\n uid,\n contentType,\n url\n }) {\n let suffix = url.substr(url.lastIndexOf('.') + 1);\n const pictureSuffix = ['JPEG', 'JPG', 'GIF', 'PNG', 'TIFF', 'WEBP', 'BMP'];\n if (contentType.includes('image') || pictureSuffix.includes(suffix.toUpperCase())) {\n this.$viewerApi({\n options: {\n url: 'url',\n toolbar: true,\n initialViewIndex: this.fileList.findIndex(file => file.url == url)\n },\n images: this.fileList\n });\n return;\n }\n this.$dialog('Brower', {\n data: url\n }, {\n title: '预览文件',\n width: 1104,\n height: 848,\n centered: true,\n maskClosable: false,\n footer: false,\n bodyStyle: {\n height: 'calc( 100% - 54px )'\n }\n });\n },\n handleFileChange({\n file,\n fileList\n }) {\n file.status == 'uploading' && (this.fileList = fileList);\n switch (file.status) {\n case 'removed':\n const params = {\n id: file.uid\n };\n const requestHandle = this.fileRemoveHandle ? this.fileRemoveHandle(params) : this.$store.dispatch('fileRemoveHandle', params);\n requestHandle.then(Response => {\n const i = this.modalValue.findIndex(e => e.uid == file.uid);\n this.modalValue.splice(i, 1);\n this.$emit('handleFileUpload', JSON.stringify(this.modalValue));\n });\n break;\n case 'done':\n const {\n data\n } = file.response;\n const uploadFileObj = {\n ...data,\n uid: data.id\n };\n delete uploadFileObj.id;\n this.modalValue.push(uploadFileObj);\n this.$emit('handleFileUpload', JSON.stringify(this.modalValue));\n break;\n }\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/components/AUpload.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
8267
8267
 
8268
8268
  /***/ }),
8269
8269
 
@@ -8527,7 +8527,7 @@ eval("/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source cod
8527
8527
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8528
8528
 
8529
8529
  "use strict";
8530
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AmapDrawProps: function() { return /* binding */ AmapDrawProps; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_AmapSearch_index_jsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/AmapSearch/index.jsx */ \"./plugins/lib/amap/components/AmapSearch/index.jsx\");\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var _AmapDraw_less__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AmapDraw.less */ \"./plugins/lib/amap/AmapDraw.less\");\n\n\n\n\nconst AmapDrawProps = {\n /** drawEl为地图容器实例名称 */\n drawEl: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string.def('AmapDraw'),\n /** drawType为绘制类型\r\n * 可选值(point点 | line线 | polygon面) \r\n */\n drawType: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string.def('point'),\n /** 绘制图标 (只在point类型下生效 */\n drawIcon: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].any.def('http://qxfa.tpddns.cn:8090/poi/poi-marker-default.png'),\n /** drawCount为绘制物绘制个数 */\n drawCount: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].number.def(1),\n /** drawOptions为绘制物配置项 */\n drawOptions: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object.def({}),\n /** drawInfo为绘制物信息 */\n drawInfo: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].array]),\n /** drawInfoAll为所有不同类型绘制物信息(用于回显地图图层) \r\n * 格式: { point: ([]||{}), line: ([]||{}) }\r\n */\n drawInfoAll: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object,\n /** 限制区域 */\n drawLimitArea: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string]),\n /** 限制区域样式配置 */\n drawLimitAreaOptions: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object.def({}),\n /** 是否为纯地图展示数据 */\n isExhibition: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].bool.def(false)\n};\nconst AmapDraw = {\n name: 'AmapDraw',\n props: AmapDrawProps,\n model: {\n prop: 'drawInfo',\n event: 'getAMapLayersInfo'\n },\n data() {\n return {\n amap: null,\n drawArea: null,\n drawLayers: null,\n drawMouseTool: null,\n buttonProps: [],\n drawButtonProps: [{\n type: 'primary',\n text: '绘制',\n event: {\n click: this.AmapDraw\n }\n }, {\n text: '清除',\n event: {\n click: this.AmapDrawClear\n }\n }],\n saveButtonProps: [{\n type: 'primary',\n text: '保存',\n event: {\n click: this.AmapDrawSave\n }\n }, {\n text: '取消',\n event: {\n click: this.AmapDrawReset\n }\n }]\n };\n },\n computed: {\n drawLayersInfo: {\n get() {\n return this.drawInfo;\n },\n set(newValue) {\n this.$emit('getAMapLayersInfo', newValue);\n }\n }\n },\n watch: {\n drawInfo: {\n handler(newVal, oldVal) {\n this.drawLayersInfo = newVal;\n newVal && this.echoDrawLayers(this.drawType);\n },\n deep: true\n },\n drawInfoAll(newValue) {\n newValue && this.echoDrawLayers();\n },\n drawOptions(newValue) {\n /** 检测options覆盖物配置是否更改,更改后要同步到地图上 */\n Object.keys(newValue).length && this.setOverlayOptions(newValue);\n },\n drawLimitArea(newValue) {\n newValue && this.setDrawLimitArea();\n }\n },\n mounted() {\n const timer = setTimeout(() => {\n this.$initAMap({\n el: this.drawEl\n }, amap => {\n this.amap = amap;\n this.buttonProps = [].concat(this.drawButtonProps);\n this.echoDrawLayers(this.drawType);\n /** 如果有限制区域,则描绘在地图上 */\n this.drawLimitArea && this.setDrawLimitArea();\n clearTimeout(timer);\n });\n }, 60);\n },\n destroyed() {\n this.AmapDrawClear();\n },\n methods: {\n /** 绘制 */\n AmapDraw() {\n this.buttonProps = [].concat(this.saveButtonProps);\n this.drawMouseTool = new this.$amap.MouseTool(this.amap);\n this.AmapDrawClear();\n this.setDrawLayers(this.drawType);\n this.drawMouseTool.on('draw', ({\n obj\n }) => {\n if (this.drawArea && !this[`is${this.drawType}InRing`](obj)) return this.amap.remove(obj), this.$message.error('未在范围内描绘!');\n /** 暂未支持一次性绘制多个 */\n this.drawCount > 1 ? (this.drawLayers = this.drawLayers || [], this.drawLayers.push(obj)) : this.drawLayers = obj;\n if (this.drawLayers && (this.drawLayers.length == this.drawCount || this.drawCount == 1)) {\n return this.drawMouseTool.close();\n }\n });\n },\n /** 清空绘制 / 清空搜索 */\n AmapDrawClear() {\n this.amap.getAllOverlays().forEach(layerItem => layerItem.getExtData() != 'Area' && this.amap.remove(layerItem));\n // this.amap.clearMap()\n this.drawLayers = null;\n this.drawLayersInfo = {};\n },\n /** 保存当前绘制 */\n AmapDrawSave() {\n this.assignDrawLayers(this.drawType);\n this.buttonProps = [].concat(this.drawButtonProps);\n },\n /** 取消当前绘制 */\n AmapDrawReset() {\n this.buttonProps = [].concat(this.drawButtonProps);\n this.AmapDrawClear();\n },\n /** 搜索地址 */\n searchChoose(searchMarker, searchInfo) {\n this.AmapDrawClear();\n searchMarker.setMap(this.amap);\n this.amap.setZoomAndCenter(15, searchMarker.getPosition());\n this.drawType == 'point' && (this.drawLayersInfo = searchInfo);\n // this.$emit('getAMapLayersInfo', this.drawLayersInfo)\n },\n /** 检测覆盖物配置信息并同步 */\n setOverlayOptions(options) {\n if (!this.drawLayers) return;\n this.drawCount > 1 ? this.drawLayers.forEach(drawItem => drawItem.setOptions(options)) : this.drawLayers.setOptions(options);\n },\n /** 绘制限定区域 */\n setDrawLimitArea() {\n let areaRange = [];\n try {\n areaRange = JSON.parse(this.drawLimitArea);\n } catch {\n areaRange = this.drawLimitArea;\n }\n this.drawArea && this.amap.remove(this.drawArea);\n /** 判断目前地图上存在的所绘制覆盖物是否在限制范围内 */\n this.setMapArea(areaRange);\n this.judgeOverlays();\n },\n /** 绘制地图区域范围 */\n setMapArea(jurisdictionRange) {\n this.drawArea = new this.$amap.Polygon({\n map: this.amap,\n path: jurisdictionRange,\n extData: 'Area',\n strokeWeight: 6,\n ...this.drawLimitAreaOptions\n });\n const {\n lng,\n lat\n } = this.drawArea.getBounds().getCenter();\n this.amap.setZoomAndCenter(15, [lng, lat]);\n },\n /** 判断一个线段是否在面内 */\n islineInRing(polyline) {\n const paths = polyline.getPath();\n return paths.every(pointItem => this.ispointInRing(pointItem));\n },\n /** 判断一个点是否在面内 */\n ispointInRing(point) {\n let position;\n try {\n position = point.getPosition();\n } catch {\n position = point;\n }\n return this.$amap.GeometryUtil.isPointInRing(position, this.drawArea.getPath());\n },\n /** 判断地图上所覆盖物是否在限制范围内 */\n judgeOverlays() {\n this.amap.getAllOverlays().forEach(layerItem => layerItem.getExtData() != 'Area' && !this[`is${this.drawType}InRing`](layerItem) && this.removeOverlay(layerItem));\n },\n /** 清除单个覆盖物(或 不符合区域范围的覆盖物 */\n removeOverlay(layerItem) {\n this.amap.remove(layerItem);\n this.$message.error('未在区域范围内,请重新描绘!');\n try {\n const i = this.drawLayers.findIndex(layer => layer.getExtData() == layerItem.getExtData());\n this.drawLayers.splice(i, 1);\n } catch {\n this.drawLayers = null;\n this.drawLayersInfo = {};\n }\n },\n /** 根据类型处理不同数据 */\n setDrawLayers(drawType) {\n const type = {\n point: 'marker',\n line: 'polyline',\n polygon: 'polygon'\n };\n\n /** 图层基础配置 */\n const drawOptions = drawType == 'point' ? this.$amapLayers.setMarker(this.drawIcon).getOptions() : {\n strokeWeight: 8\n };\n this.drawMouseTool[type[drawType]]({\n ...drawOptions,\n ...this.drawOptions\n });\n },\n /** 赋值不同图层数据 */\n assignDrawLayers(drawType) {\n if (drawType == 'point') {\n const {\n lng,\n lat\n } = this.drawLayers.getPosition();\n const position = {\n longitude: lng,\n latitude: lat\n };\n this.$amapMethods.getMapAddress(position, address => {\n this.drawLayersInfo = {\n ...position,\n ...address\n };\n });\n return;\n }\n const range = this.drawLayers.getPath().map(({\n lng,\n lat\n }) => [lng, lat]);\n this.drawLayersInfo = {\n range\n };\n },\n /** 回显不同类型图层 */\n echoDrawLayers(drawType) {\n const drawLayersItem = (drawItem, type, i = 0) => {\n if (!drawItem || !Object.keys(drawItem).length || !this.amap) return;\n let layersItem = null;\n const {\n longitude,\n latitude,\n range\n } = drawItem;\n const setOptions = {\n extData: `draw${type}${i}`,\n ...this.drawOptions\n };\n if (type == 'point') {\n layersItem = this.$amapLayers.setMarker(this.drawIcon, {\n position: [longitude, latitude],\n ...setOptions\n });\n } else {\n const options = {\n path: range,\n strokeWeight: 8,\n ...setOptions\n };\n layersItem = type == 'line' ? new this.$amap.Polyline(options) : new this.$amap.Polygon(options);\n }\n layersItem.setMap(this.amap);\n this.amap.setFitView();\n };\n if (!this.isExhibition) {\n drawLayersItem(this.drawLayersInfo, drawType);\n return;\n }\n if (this.drawInfoAll) {\n for (let key in this.drawInfoAll) {\n const isArray = Array.isArray(this.drawInfoAll[key]);\n isArray ? this.drawInfoAll[key].forEach((drawItem, i) => {\n drawLayersItem(drawItem, key, i);\n }) : drawLayersItem(this.drawInfoAll[key], key);\n }\n return;\n }\n drawLayersItem(this.drawLayersInfo, drawType);\n }\n },\n render(h) {\n const {\n drawEl,\n drawIcon,\n buttonProps,\n isExhibition,\n AmapDrawClear,\n searchChoose\n } = this;\n return h(\"div\", {\n \"class\": \"AmapDraw\"\n }, [!isExhibition && h(_components_AmapSearch_index_jsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n \"props\": {\n ...{\n drawIcon,\n buttonProps\n }\n },\n \"on\": {\n ...{\n searchReset: AmapDrawClear,\n searchChoose\n }\n }\n }), h(\"div\", {\n \"attrs\": {\n \"id\": drawEl\n }\n })]);\n }\n};\nAmapDraw.install = function (Vue) {\n Vue.component('AmapDraw', AmapDraw);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (AmapDraw);\n\n//# sourceURL=webpack://mui/./plugins/lib/amap/AmapDraw.jsx?");
8530
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AmapDrawProps: function() { return /* binding */ AmapDrawProps; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_AmapSearch_index_jsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/AmapSearch/index.jsx */ \"./plugins/lib/amap/components/AmapSearch/index.jsx\");\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var _AmapDraw_less__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AmapDraw.less */ \"./plugins/lib/amap/AmapDraw.less\");\n\n\n\n\nconst AmapDrawProps = {\n /** drawEl为地图容器实例名称 */\n drawEl: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string.def('AmapDraw'),\n /** drawType为绘制类型\r\n * 可选值(point点 | line线 | polygon面)\r\n */\n drawType: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string.def('point'),\n /** 绘制图标 (只在point类型下生效 */\n drawIcon: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].any.def('http://qxfa.tpddns.cn:8090/poi/poi-marker-default.png'),\n /** drawCount为绘制物绘制个数 */\n drawCount: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].number.def(1),\n /** drawOptions为绘制物配置项 */\n drawOptions: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object.def({}),\n /** drawInfo为绘制物信息 */\n drawInfo: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].array]),\n /** drawInfoAll为所有不同类型绘制物信息(用于回显地图图层)\r\n * 格式: { point: ([]||{}), line: ([]||{}) }\r\n */\n drawInfoAll: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object,\n /** 限制区域 */\n drawLimitArea: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string]),\n /** 限制区域样式配置 */\n drawLimitAreaOptions: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object.def({}),\n /** 是否为纯地图展示数据 */\n isExhibition: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].bool.def(false)\n};\nconst AmapDraw = {\n name: 'AmapDraw',\n props: AmapDrawProps,\n data() {\n return {\n amap: null,\n drawArea: null,\n drawLayers: null,\n drawMouseTool: null,\n buttonProps: [],\n drawButtonProps: [{\n type: 'primary',\n text: '绘制',\n event: {\n click: this.AmapDraw\n }\n }, {\n text: '清除',\n event: {\n click: this.AmapDrawClear\n }\n }],\n saveButtonProps: [{\n type: 'primary',\n text: '保存',\n event: {\n click: this.AmapDrawSave\n }\n }, {\n text: '取消',\n event: {\n click: this.AmapDrawReset\n }\n }]\n };\n },\n computed: {\n drawLayersInfo: {\n get() {\n return this.drawInfo;\n },\n set(newValue) {\n this.$emit('getAMapLayersInfo', newValue);\n }\n }\n },\n watch: {\n drawInfo: {\n handler(newVal, oldVal) {\n const newValue = this.drawLayersInfo;\n newVal && this.echoDrawLayers(this.drawType);\n },\n deep: true\n },\n drawInfoAll(newValue) {\n newValue && this.echoDrawLayers();\n },\n drawOptions(newValue) {\n /** 检测options覆盖物配置是否更改,更改后要同步到地图上 */\n Object.keys(newValue).length && this.setOverlayOptions(newValue);\n },\n drawLimitArea(newValue) {\n newValue && this.setDrawLimitArea();\n }\n },\n mounted() {\n const timer = setTimeout(() => {\n this.$initAMap({\n el: this.drawEl\n }, amap => {\n this.amap = amap;\n this.buttonProps = [].concat(this.drawButtonProps);\n this.echoDrawLayers(this.drawType);\n /** 如果有限制区域,则描绘在地图上 */\n this.drawLimitArea && this.setDrawLimitArea();\n clearTimeout(timer);\n });\n }, 60);\n },\n destroyed() {\n this.AmapDrawClear();\n },\n methods: {\n /** 绘制 */\n AmapDraw() {\n this.buttonProps = [].concat(this.saveButtonProps);\n this.drawMouseTool = new this.$amap.MouseTool(this.amap);\n this.AmapDrawClear();\n this.setDrawLayers(this.drawType);\n this.drawMouseTool.on('draw', ({\n obj\n }) => {\n if (this.drawArea && !this[`is${this.drawType}InRing`](obj)) return this.amap.remove(obj), this.$message.error('未在范围内描绘!');\n /** 暂未支持一次性绘制多个 */\n this.drawCount > 1 ? (this.drawLayers = this.drawLayers || [], this.drawLayers.push(obj)) : this.drawLayers = obj;\n if (this.drawLayers && (this.drawLayers.length == this.drawCount || this.drawCount == 1)) {\n return this.drawMouseTool.close();\n }\n });\n },\n /** 清空绘制 / 清空搜索 */\n AmapDrawClear() {\n this.amap.getAllOverlays().forEach(layerItem => layerItem.getExtData() != 'Area' && this.amap.remove(layerItem));\n // this.amap.clearMap()\n this.drawLayers = null;\n this.drawLayersInfo = {};\n },\n /** 保存当前绘制 */\n AmapDrawSave() {\n this.assignDrawLayers(this.drawType);\n this.buttonProps = [].concat(this.drawButtonProps);\n },\n /** 取消当前绘制 */\n AmapDrawReset() {\n this.buttonProps = [].concat(this.drawButtonProps);\n this.AmapDrawClear();\n },\n /** 搜索地址 */\n searchChoose(searchMarker, searchInfo) {\n this.AmapDrawClear();\n searchMarker.setMap(this.amap);\n this.amap.setZoomAndCenter(15, searchMarker.getPosition());\n this.drawType == 'point' && (this.drawLayersInfo = searchInfo);\n // this.$emit('getAMapLayersInfo', this.drawLayersInfo)\n },\n /** 检测覆盖物配置信息并同步 */\n setOverlayOptions(options) {\n if (!this.drawLayers) return;\n this.drawCount > 1 ? this.drawLayers.forEach(drawItem => drawItem.setOptions(options)) : this.drawLayers.setOptions(options);\n },\n /** 绘制限定区域 */\n setDrawLimitArea() {\n let areaRange = [];\n try {\n areaRange = JSON.parse(this.drawLimitArea);\n } catch {\n areaRange = this.drawLimitArea;\n }\n this.drawArea && this.amap.remove(this.drawArea);\n /** 判断目前地图上存在的所绘制覆盖物是否在限制范围内 */\n this.setMapArea(areaRange);\n this.judgeOverlays();\n },\n /** 绘制地图区域范围 */\n setMapArea(jurisdictionRange) {\n this.drawArea = new this.$amap.Polygon({\n map: this.amap,\n path: jurisdictionRange,\n extData: 'Area',\n strokeWeight: 6,\n ...this.drawLimitAreaOptions\n });\n const {\n lng,\n lat\n } = this.drawArea.getBounds().getCenter();\n this.amap.setZoomAndCenter(15, [lng, lat]);\n },\n /** 判断一个线段是否在面内 */\n islineInRing(polyline) {\n const paths = polyline.getPath();\n return paths.every(pointItem => this.ispointInRing(pointItem));\n },\n /** 判断一个点是否在面内 */\n ispointInRing(point) {\n let position;\n try {\n position = point.getPosition();\n } catch {\n position = point;\n }\n return this.$amap.GeometryUtil.isPointInRing(position, this.drawArea.getPath());\n },\n /** 判断地图上所覆盖物是否在限制范围内 */\n judgeOverlays() {\n this.amap.getAllOverlays().forEach(layerItem => layerItem.getExtData() != 'Area' && !this[`is${this.drawType}InRing`](layerItem) && this.removeOverlay(layerItem));\n },\n /** 清除单个覆盖物(或 不符合区域范围的覆盖物 */\n removeOverlay(layerItem) {\n this.amap.remove(layerItem);\n this.$message.error('未在区域范围内,请重新描绘!');\n try {\n const i = this.drawLayers.findIndex(layer => layer.getExtData() == layerItem.getExtData());\n this.drawLayers.splice(i, 1);\n } catch {\n this.drawLayers = null;\n this.drawLayersInfo = {};\n }\n },\n /** 根据类型处理不同数据 */\n setDrawLayers(drawType) {\n const type = {\n point: 'marker',\n line: 'polyline',\n polygon: 'polygon'\n };\n\n /** 图层基础配置 */\n const drawOptions = drawType == 'point' ? {\n anchor: 'bottom-center',\n icon: this.$amapLayers.setIcon(this.drawIcon)\n } : {\n strokeWeight: 8\n };\n this.drawMouseTool[type[drawType]]({\n ...drawOptions,\n ...this.drawOptions\n });\n },\n /** 赋值不同图层数据 */\n assignDrawLayers(drawType) {\n if (drawType == 'point') {\n const {\n lng,\n lat\n } = this.drawLayers.getPosition();\n const position = {\n longitude: lng,\n latitude: lat\n };\n this.$amapMethods.getMapAddress(position, address => {\n this.drawLayersInfo = {\n ...position,\n ...address\n };\n });\n return;\n }\n const range = this.drawLayers.getPath().map(({\n lng,\n lat\n }) => [lng, lat]);\n this.drawLayersInfo = {\n range\n };\n },\n /** 回显不同类型图层 */\n echoDrawLayers(drawType) {\n const drawLayersItem = (drawItem, type, i = 0) => {\n if (drawItem && drawItem.latitude && drawItem.longitude && this.amap) {\n let layersItem = null;\n const {\n longitude,\n latitude,\n range\n } = drawItem;\n const setOptions = {\n extData: `draw${type}${i}`,\n ...this.drawOptions\n };\n if (type == 'point') {\n layersItem = this.$amapLayers.setMarker(this.drawIcon, {\n position: [longitude, latitude],\n ...setOptions\n });\n } else {\n const options = {\n path: range,\n strokeWeight: 8,\n ...setOptions\n };\n layersItem = type == 'line' ? new this.$amap.Polyline(options) : new this.$amap.Polygon(options);\n }\n layersItem.setMap(this.amap);\n this.amap.setFitView();\n }\n };\n if (!this.isExhibition) {\n drawLayersItem(this.drawLayersInfo, drawType);\n return;\n }\n if (this.drawInfoAll) {\n for (let key in this.drawInfoAll) {\n const isArray = Array.isArray(this.drawInfoAll[key]);\n isArray ? this.drawInfoAll[key].forEach((drawItem, i) => {\n drawLayersItem(drawItem, key, i);\n }) : drawLayersItem(this.drawInfoAll[key], key);\n }\n return;\n }\n drawLayersItem(this.drawLayersInfo, drawType);\n }\n },\n render(h) {\n const {\n drawEl,\n drawIcon,\n buttonProps,\n isExhibition,\n AmapDrawClear,\n searchChoose\n } = this;\n return h(\"div\", {\n \"class\": \"AmapDraw\"\n }, [!isExhibition && h(_components_AmapSearch_index_jsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n \"props\": {\n ...{\n drawIcon,\n buttonProps\n }\n },\n \"on\": {\n ...{\n searchReset: AmapDrawClear,\n searchChoose\n }\n }\n }), h(\"div\", {\n \"attrs\": {\n \"id\": drawEl\n }\n })]);\n }\n};\nAmapDraw.install = function (Vue) {\n Vue.component('AmapDraw', AmapDraw);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (AmapDraw);\n\n//# sourceURL=webpack://mui/./plugins/lib/amap/AmapDraw.jsx?");
8531
8531
 
8532
8532
  /***/ }),
8533
8533
 
@@ -8988,7 +8988,7 @@ eval("__webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modul
8988
8988
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8989
8989
 
8990
8990
  "use strict";
8991
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ colorRgba: function() { return /* binding */ colorRgba; },\n/* harmony export */ deepClone: function() { return /* binding */ deepClone; },\n/* harmony export */ findNthOccurrence: function() { return /* binding */ findNthOccurrence; },\n/* harmony export */ formatDate: function() { return /* binding */ formatDate; },\n/* harmony export */ getDay: function() { return /* binding */ getDay; },\n/* harmony export */ produceDataSeriesEx: function() { return /* binding */ produceDataSeriesEx; },\n/* harmony export */ transferData: function() { return /* binding */ transferData; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\r\n *\r\n * @param {*} day 传入天数\r\n * 距离现在n天前的日期\r\n */\n\nfunction getDay(day) {\n let today = new Date();\n let targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day;\n today.setTime(targetday_milliseconds); //注意,这行是关键代码\n\n let tYear = today.getFullYear();\n let tMonth = today.getMonth();\n let tDate = today.getDate();\n tMonth = doHandleMonth(tMonth + 1);\n tDate = doHandleMonth(tDate);\n return tYear + \"-\" + tMonth + \"-\" + tDate;\n}\nfunction doHandleMonth(month) {\n let m = month;\n if (month.toString().length == 1) {\n m = \"0\" + month;\n }\n return m;\n}\n\n/**\r\n *\r\n * @param {*} time 传入时间\r\n * @param {*} cFormat 可不传。格式化结构 默认 年-月-日 时:分:秒\r\n * {y}年 {m}月 {d}日 {h}时 {i}分 {s}秒 {a}星期\r\n */\nfunction formatDate(time, cFormat) {\n if (arguments.length === 0 || !time) {\n return null;\n }\n const format = cFormat || \"{y}-{m}-{d} {h}:{i}:{s}\";\n let date;\n if (typeof time === \"object\") {\n date = time;\n } else {\n let times = time;\n times = new Date(time).getTime();\n if (typeof times === \"string\") {\n if (/^[0-9]+$/.test(times)) {\n times = parseInt(times);\n } else {\n times = times.replace(new RegExp(/-/g), \"/\");\n }\n }\n if (typeof times === \"number\" && times.toString().length === 10) {\n times *= 1000;\n }\n date = new Date(times);\n }\n const formatObj = {\n y: date.getFullYear(),\n m: date.getMonth() + 1,\n d: date.getDate(),\n h: date.getHours(),\n i: date.getMinutes(),\n s: date.getSeconds(),\n a: date.getDay()\n };\n const timeStr = format.replace(/\\{([ymdhisa])+\\}/g, (result, key) => {\n const value = formatObj[key];\n // Note: getDay() returns 0 on Sunday\n if (key === \"a\") {\n return [\"日\", \"一\", \"二\", \"三\", \"四\", \"五\", \"六\"][value];\n }\n if (!String.prototype.padStart) return padStart(2, value.toString());\n return value.toString().padStart(2, \"0\"); // 返回替换的字符串,padStart用于头部补全\n });\n return timeStr;\n}\n\n/**\r\n * JS颜色十六进制转换为rgb或rgba,返回的格式为 rgba(255,255,255,0.5)字符串\r\n * sHex为传入的十六进制的色值\r\n * alpha为rgba的透明度\r\n */\nfunction colorRgba(sHex, alpha) {\n // 十六进制颜色值的正则表达式\n const reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;\n /* 16进制颜色转为RGB格式 */\n let sColor = sHex.toLowerCase();\n if (sColor && reg.test(sColor)) {\n if (sColor.length === 4) {\n var sColorNew = \"#\";\n for (let i = 1; i < 4; i += 1) {\n sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));\n }\n sColor = sColorNew;\n }\n // 处理六位的颜色值\n const sColorChange = [];\n for (let i = 1; i < 7; i += 2) {\n sColorChange.push(parseInt(`0x${sColor.slice(i, i + 2)}`));\n }\n // return sColorChange.join(',')\n return `rgba(${sColorChange.join(\",\")},${alpha})`;\n }\n return sColor;\n}\n\n/**\r\n * segment: 分段 7段\r\n * tatalpercent: 百分比 100\r\n * basevalue: 基础值 200\r\n*/\nfunction produceDataSeriesEx(segment, tatal, basevalue) {\n //需要产生segment个随机数,且segment个随机数之和等于tatal\n let arrpercent = new Array(segment).fill(0);\n for (let i = 0; i < tatal; i++) {\n //parseInt接收string,所以需要转一趟\n /**\r\n * 换成生活中的场景,就是一百个苹果分给十个人,我们可以一个一个的取出,随机分给某个人,直到分完\r\n * 在js里面,十个人即是一个长度为十的数组,每次数组随机一个位置加一,执行一百次\r\n */\n var num = parseInt((Math.random() * segment).toString());\n arrpercent[num]++;\n }\n //console.log(arr.length)\n\n let arrvalue = new Array(segment).fill(0);\n for (let i = 0; i < segment; i++) {\n arrvalue[i] = parseInt(arrpercent[i] / 100 * basevalue);\n }\n return [arrpercent, arrvalue];\n}\n\n/**\r\n * 深拷贝\r\n * obj为原始数据\r\n * 适用场景:数组套对象、对象套数组、混合嵌套等\r\n */\nfunction deepClone(obj) {\n if (obj === null || typeof obj !== 'object') {\n return obj;\n }\n if (obj instanceof Date) {\n return new Date(obj.getTime());\n }\n if (obj instanceof Array) {\n return obj.reduce((arr, item, i) => {\n arr[i] = deepClone(item);\n return arr;\n }, []);\n }\n if (obj instanceof Object) {\n return Object.keys(obj).reduce((newObj, key) => {\n newObj[key] = deepClone(obj[key]);\n return newObj;\n }, {});\n }\n}\n\n/**\r\n * 数据转换\r\n * data为原始数据\r\n * 适用场景:根据要求格式来转换当前属性值 (转化失败则初始化为默认格式\r\n */\nfunction transferData(data, format = 'String') {\n const defaultData = {\n Number: 0,\n Boolean: false,\n String: '',\n Array: [],\n Object: {}\n };\n if (format === 'Array' || format === 'Object') {\n let parsed;\n try {\n parsed = JSON.parse(data);\n } catch (error) {\n parsed = data;\n }\n if (parsed && (parsed instanceof Array || parsed instanceof Object)) {\n return parsed;\n }\n return defaultData[format];\n } else {\n return data ?? defaultData[format];\n }\n}\n\n/**\r\n * 查找字符串\r\n * str为字符串\r\n * charToFind为查找字符\r\n * n为次数\r\n * 适用场景:查找某个字符在字符串当中某一次的位置\r\n */\nfunction findNthOccurrence(str, charToFind, n) {\n let count = 0;\n let index = str.indexOf(charToFind);\n while (count < n && index !== -1) {\n index = str.indexOf(charToFind, index + 1);\n count++;\n }\n return index === -1 ? -1 : index;\n}\n\n//# sourceURL=webpack://mui/./plugins/utils/Filter.js?");
8991
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ colorRgba: function() { return /* binding */ colorRgba; },\n/* harmony export */ deepClone: function() { return /* binding */ deepClone; },\n/* harmony export */ findNthOccurrence: function() { return /* binding */ findNthOccurrence; },\n/* harmony export */ formatDate: function() { return /* binding */ formatDate; },\n/* harmony export */ getDay: function() { return /* binding */ getDay; },\n/* harmony export */ handleEnvURL: function() { return /* binding */ handleEnvURL; },\n/* harmony export */ produceDataSeriesEx: function() { return /* binding */ produceDataSeriesEx; },\n/* harmony export */ transferData: function() { return /* binding */ transferData; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/web.url-search-params.delete.js */ \"./node_modules/core-js/modules/web.url-search-params.delete.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/web.url-search-params.has.js */ \"./node_modules/core-js/modules/web.url-search-params.has.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/web.url-search-params.size.js */ \"./node_modules/core-js/modules/web.url-search-params.size.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\n/**\r\n *\r\n * @param {*} day 传入天数\r\n * 距离现在n天前的日期\r\n */\n\nfunction getDay(day) {\n let today = new Date();\n let targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day;\n today.setTime(targetday_milliseconds); //注意,这行是关键代码\n\n let tYear = today.getFullYear();\n let tMonth = today.getMonth();\n let tDate = today.getDate();\n tMonth = doHandleMonth(tMonth + 1);\n tDate = doHandleMonth(tDate);\n return tYear + \"-\" + tMonth + \"-\" + tDate;\n}\nfunction doHandleMonth(month) {\n let m = month;\n if (month.toString().length == 1) {\n m = \"0\" + month;\n }\n return m;\n}\n\n/**\r\n *\r\n * @param {*} time 传入时间\r\n * @param {*} cFormat 可不传。格式化结构 默认 年-月-日 时:分:秒\r\n * {y}年 {m}月 {d}日 {h}时 {i}分 {s}秒 {a}星期\r\n */\nfunction formatDate(time, cFormat) {\n if (arguments.length === 0 || !time) {\n return null;\n }\n const format = cFormat || \"{y}-{m}-{d} {h}:{i}:{s}\";\n let date;\n if (typeof time === \"object\") {\n date = time;\n } else {\n let times = time;\n times = new Date(time).getTime();\n if (typeof times === \"string\") {\n if (/^[0-9]+$/.test(times)) {\n times = parseInt(times);\n } else {\n times = times.replace(new RegExp(/-/g), \"/\");\n }\n }\n if (typeof times === \"number\" && times.toString().length === 10) {\n times *= 1000;\n }\n date = new Date(times);\n }\n const formatObj = {\n y: date.getFullYear(),\n m: date.getMonth() + 1,\n d: date.getDate(),\n h: date.getHours(),\n i: date.getMinutes(),\n s: date.getSeconds(),\n a: date.getDay()\n };\n const timeStr = format.replace(/\\{([ymdhisa])+\\}/g, (result, key) => {\n const value = formatObj[key];\n // Note: getDay() returns 0 on Sunday\n if (key === \"a\") {\n return [\"日\", \"一\", \"二\", \"三\", \"四\", \"五\", \"六\"][value];\n }\n if (!String.prototype.padStart) return padStart(2, value.toString());\n return value.toString().padStart(2, \"0\"); // 返回替换的字符串,padStart用于头部补全\n });\n return timeStr;\n}\n\n/**\r\n * JS颜色十六进制转换为rgb或rgba,返回的格式为 rgba(255,255,255,0.5)字符串\r\n * sHex为传入的十六进制的色值\r\n * alpha为rgba的透明度\r\n */\nfunction colorRgba(sHex, alpha) {\n // 十六进制颜色值的正则表达式\n const reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;\n /* 16进制颜色转为RGB格式 */\n let sColor = sHex.toLowerCase();\n if (sColor && reg.test(sColor)) {\n if (sColor.length === 4) {\n var sColorNew = \"#\";\n for (let i = 1; i < 4; i += 1) {\n sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));\n }\n sColor = sColorNew;\n }\n // 处理六位的颜色值\n const sColorChange = [];\n for (let i = 1; i < 7; i += 2) {\n sColorChange.push(parseInt(`0x${sColor.slice(i, i + 2)}`));\n }\n // return sColorChange.join(',')\n return `rgba(${sColorChange.join(\",\")},${alpha})`;\n }\n return sColor;\n}\n\n/**\r\n * segment: 分段 7段\r\n * tatalpercent: 百分比 100\r\n * basevalue: 基础值 200\r\n*/\nfunction produceDataSeriesEx(segment, tatal, basevalue) {\n //需要产生segment个随机数,且segment个随机数之和等于tatal\n let arrpercent = new Array(segment).fill(0);\n for (let i = 0; i < tatal; i++) {\n //parseInt接收string,所以需要转一趟\n /**\r\n * 换成生活中的场景,就是一百个苹果分给十个人,我们可以一个一个的取出,随机分给某个人,直到分完\r\n * 在js里面,十个人即是一个长度为十的数组,每次数组随机一个位置加一,执行一百次\r\n */\n var num = parseInt((Math.random() * segment).toString());\n arrpercent[num]++;\n }\n //console.log(arr.length)\n\n let arrvalue = new Array(segment).fill(0);\n for (let i = 0; i < segment; i++) {\n arrvalue[i] = parseInt(arrpercent[i] / 100 * basevalue);\n }\n return [arrpercent, arrvalue];\n}\n\n/**\r\n * 深拷贝\r\n * obj为原始数据\r\n * 适用场景:数组套对象、对象套数组、混合嵌套等\r\n */\nfunction deepClone(obj) {\n if (obj === null || typeof obj !== 'object') {\n return obj;\n }\n if (obj instanceof Date) {\n return new Date(obj.getTime());\n }\n if (obj instanceof Array) {\n return obj.reduce((arr, item, i) => {\n arr[i] = deepClone(item);\n return arr;\n }, []);\n }\n if (obj instanceof Object) {\n return Object.keys(obj).reduce((newObj, key) => {\n newObj[key] = deepClone(obj[key]);\n return newObj;\n }, {});\n }\n}\n\n/**\r\n * 数据转换\r\n * data为原始数据\r\n * 适用场景:根据要求格式来转换当前属性值 (转化失败则初始化为默认格式\r\n */\nfunction transferData(data, format = 'String') {\n const defaultData = {\n Number: 0,\n Boolean: false,\n String: '',\n Array: [],\n Object: {}\n };\n if (format === 'Array' || format === 'Object') {\n let parsed;\n try {\n parsed = JSON.parse(data);\n } catch (error) {\n parsed = data;\n }\n if (parsed && (parsed instanceof Array || parsed instanceof Object)) {\n return parsed;\n }\n return defaultData[format];\n } else {\n return data ?? defaultData[format];\n }\n}\n\n/**\r\n * 查找字符串\r\n * str为字符串\r\n * charToFind为查找字符\r\n * n为次数\r\n * 适用场景:查找某个字符在字符串当中某一次的位置\r\n */\nfunction findNthOccurrence(str, charToFind, n) {\n let count = 0;\n let index = str.indexOf(charToFind);\n while (count < n && index !== -1) {\n index = str.indexOf(charToFind, index + 1);\n count++;\n }\n return index === -1 ? -1 : index;\n}\n\n/**\r\n * 先判断是否处于开发环境 后去做开发线上的处理\r\n * @url 需要根据环境处理的地址\r\n * @port 开发环境需要链接的端口号\r\n * 根据端口号来判断是否为开发环境\r\n */\nfunction handleEnvURL(url, port) {\n let newUrl;\n try {\n newUrl = new URL(url);\n } catch (error) {\n newUrl = port ? location.origin.slice(0, -4) + port + url.slice(findNthOccurrence(url, '/', 1)) : location.origin + url;\n }\n return newUrl;\n}\n\n//# sourceURL=webpack://mui/./plugins/utils/Filter.js?");
8992
8992
 
8993
8993
  /***/ }),
8994
8994