From de0dddba77482867712991cea7e2c015ee72656c Mon Sep 17 00:00:00 2001 From: GaoF Date: Mon, 19 Aug 2024 09:31:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../produceReport/produceReportApi.js | 28 + .../produceTask/producePackageBarcodeApi.js | 39 + .../produceTask/produceReportApi.js | 28 + .../produceTask/produceReportDetailApi.js | 28 + src/components/DynamicSearchForm/index.vue | 56 + src/components/DynamicTable/index.vue | 145 + src/src/App.vue | 40 + src/src/api/auth/loginApi.js | 45 + src/src/api/auth/monitorApi.js | 49 + src/src/api/auth/oauthApi.js | 29 + src/src/api/auth/thirdApi.js | 33 + src/src/api/base/brand/sysBrandApi.js | 32 + src/src/api/base/customer/customerApi.js | 32 + .../api/base/customer/customerCategoryApi.js | 32 + src/src/api/base/employee/employeeApi.js | 32 + .../api/base/employee/employeeCategoryApi.js | 32 + .../api/base/extendfield/extendFieldApi.js | 28 + src/src/api/base/manual-task/manualTaskApi.js | 36 + .../base/manual-task/manualTaskDetailApi.js | 28 + .../api/base/manual-task/manualTaskTagApi.js | 32 + src/src/api/base/material/materialApi.js | 32 + .../api/base/material/materialCategoryApi.js | 32 + .../productionOrganizationApi.js | 36 + src/src/api/base/store/sysStoreApi.js | 32 + src/src/api/base/unit/unitApi.js | 32 + src/src/api/base/unit/unitGroupsApi.js | 32 + src/src/api/base/wx/officialAccountApi.js | 32 + src/src/api/biz/bizDictApi.js | 37 + src/src/api/biz/bizIndexApi.js | 24 + src/src/api/biz/bizNoticeApi.js | 36 + src/src/api/biz/bizOrgApi.js | 53 + src/src/api/biz/bizPositionApi.js | 49 + src/src/api/biz/bizUserApi.js | 85 + src/src/api/biz/produceTagApi.js | 32 + src/src/api/dev/configApi.js | 49 + src/src/api/dev/dictApi.js | 45 + src/src/api/dev/emailApi.js | 65 + src/src/api/dev/fileApi.js | 87 + src/src/api/dev/jobApi.js | 53 + src/src/api/dev/logApi.js | 49 + src/src/api/dev/messageApi.js | 37 + src/src/api/dev/monitorApi.js | 29 + src/src/api/dev/slideshowApi.js | 32 + src/src/api/dev/smsApi.js | 45 + src/src/api/gen/genBasicApi.js | 49 + src/src/api/gen/genConfigApi.js | 26 + src/src/api/mobile/resource/buttonApi.js | 37 + src/src/api/mobile/resource/menuApi.js | 40 + src/src/api/mobile/resource/moduleApi.js | 37 + .../api/production/produce/produceTagApi.js | 32 + .../produceReport/produceReportApi.js | 28 + .../produceTask/producePackageBarcodeApi.js | 28 + .../produceTask/produceReportApi.js | 28 + .../production/produceTask/produceTaskApi.js | 36 + src/src/api/sys/indexApi.js | 65 + src/src/api/sys/orgApi.js | 53 + src/src/api/sys/positionApi.js | 49 + src/src/api/sys/resource/buttonApi.js | 37 + src/src/api/sys/resource/fieldApi.js | 45 + src/src/api/sys/resource/menuApi.js | 49 + src/src/api/sys/resource/moduleApi.js | 37 + src/src/api/sys/roleApi.js | 93 + src/src/api/sys/userApi.js | 111 + src/src/api/sys/userCenterApi.js | 105 + src/src/assets/icons/GiteeIcon.vue | 24 + src/src/assets/icons/index.js | 13 + .../assets/icons/mobile/filled/iconfont.css | 173 + .../assets/icons/mobile/filled/iconfont.json | 289 + .../assets/icons/mobile/filled/iconfont.ttf | Bin 0 -> 8816 bytes src/src/assets/icons/mobile/index.js | 36 + src/src/assets/icons/mobile/line/iconfont.css | 825 + .../assets/icons/mobile/line/iconfont.json | 1430 ++ src/src/assets/icons/mobile/line/iconfont.ttf | Bin 0 -> 54080 bytes src/src/assets/icons/uiw/UiwAdobe.vue | 15 + src/src/assets/icons/uiw/UiwAlipay.vue | 14 + src/src/assets/icons/uiw/UiwAliwangwang.vue | 14 + src/src/assets/icons/uiw/UiwAndroid.vue | 10 + src/src/assets/icons/uiw/UiwAndroidO.vue | 10 + src/src/assets/icons/uiw/UiwApple.vue | 10 + src/src/assets/icons/uiw/UiwAppstore.vue | 10 + src/src/assets/icons/uiw/UiwAppstoreO.vue | 10 + src/src/assets/icons/uiw/UiwAreaChart.vue | 10 + src/src/assets/icons/uiw/UiwArrowDown.vue | 10 + src/src/assets/icons/uiw/UiwArrowLeft.vue | 10 + src/src/assets/icons/uiw/UiwArrowRight.vue | 10 + src/src/assets/icons/uiw/UiwArrowUp.vue | 10 + src/src/assets/icons/uiw/UiwArrowsAlt.vue | 10 + src/src/assets/icons/uiw/UiwAsterisk.vue | 10 + src/src/assets/icons/uiw/UiwBackward.vue | 10 + src/src/assets/icons/uiw/UiwBaidu.vue | 10 + src/src/assets/icons/uiw/UiwBarChart.vue | 10 + src/src/assets/icons/uiw/UiwBarcode.vue | 10 + src/src/assets/icons/uiw/UiwBell.vue | 10 + src/src/assets/icons/uiw/UiwCameraO.vue | 10 + src/src/assets/icons/uiw/UiwCaretDown.vue | 10 + src/src/assets/icons/uiw/UiwCaretLeft.vue | 10 + src/src/assets/icons/uiw/UiwCaretRight.vue | 10 + src/src/assets/icons/uiw/UiwCaretUp.vue | 10 + src/src/assets/icons/uiw/UiwCheck.vue | 10 + src/src/assets/icons/uiw/UiwCheckSquare.vue | 10 + src/src/assets/icons/uiw/UiwCheckSquareO.vue | 10 + src/src/assets/icons/uiw/UiwChrome.vue | 10 + src/src/assets/icons/uiw/UiwCircleCheck.vue | 10 + src/src/assets/icons/uiw/UiwCircleCheckO.vue | 10 + src/src/assets/icons/uiw/UiwCircleClose.vue | 10 + src/src/assets/icons/uiw/UiwCircleCloseO.vue | 10 + src/src/assets/icons/uiw/UiwCircleO.vue | 10 + src/src/assets/icons/uiw/UiwClose.vue | 10 + src/src/assets/icons/uiw/UiwCloseSquare.vue | 10 + src/src/assets/icons/uiw/UiwCloseSquareO.vue | 10 + src/src/assets/icons/uiw/UiwCloudDownload.vue | 10 + .../assets/icons/uiw/UiwCloudDownloadO.vue | 10 + src/src/assets/icons/uiw/UiwCloudUpload.vue | 10 + src/src/assets/icons/uiw/UiwCloudUploadO.vue | 10 + src/src/assets/icons/uiw/UiwCoffee.vue | 10 + src/src/assets/icons/uiw/UiwComponent.vue | 10 + src/src/assets/icons/uiw/UiwCopy.vue | 10 + src/src/assets/icons/uiw/UiwCopyright.vue | 10 + src/src/assets/icons/uiw/UiwCss3.vue | 10 + src/src/assets/icons/uiw/UiwCut.vue | 10 + src/src/assets/icons/uiw/UiwDArrowLeft.vue | 10 + src/src/assets/icons/uiw/UiwDArrowRight.vue | 10 + src/src/assets/icons/uiw/UiwDCaret.vue | 10 + src/src/assets/icons/uiw/UiwDashboard.vue | 10 + src/src/assets/icons/uiw/UiwDate.vue | 10 + src/src/assets/icons/uiw/UiwDelete.vue | 10 + src/src/assets/icons/uiw/UiwDingding.vue | 10 + src/src/assets/icons/uiw/UiwDislikeO.vue | 10 + src/src/assets/icons/uiw/UiwDocument.vue | 10 + src/src/assets/icons/uiw/UiwDotChart.vue | 10 + src/src/assets/icons/uiw/UiwDown.vue | 10 + src/src/assets/icons/uiw/UiwDownCircle.vue | 10 + src/src/assets/icons/uiw/UiwDownCircleO.vue | 10 + src/src/assets/icons/uiw/UiwDownSquare.vue | 10 + src/src/assets/icons/uiw/UiwDownSquareO.vue | 10 + src/src/assets/icons/uiw/UiwDownload.vue | 10 + src/src/assets/icons/uiw/UiwEdit.vue | 10 + src/src/assets/icons/uiw/UiwEnter.vue | 10 + src/src/assets/icons/uiw/UiwEnvironment.vue | 10 + src/src/assets/icons/uiw/UiwEnvironmentO.vue | 10 + src/src/assets/icons/uiw/UiwEye.vue | 10 + src/src/assets/icons/uiw/UiwEyeO.vue | 10 + src/src/assets/icons/uiw/UiwFacebook.vue | 10 + src/src/assets/icons/uiw/UiwFileAdd.vue | 10 + src/src/assets/icons/uiw/UiwFileExcel.vue | 10 + src/src/assets/icons/uiw/UiwFileJpg.vue | 10 + src/src/assets/icons/uiw/UiwFilePdf.vue | 10 + src/src/assets/icons/uiw/UiwFileText.vue | 10 + src/src/assets/icons/uiw/UiwFileUnknown.vue | 10 + src/src/assets/icons/uiw/UiwFilter.vue | 10 + src/src/assets/icons/uiw/UiwFirefox.vue | 10 + src/src/assets/icons/uiw/UiwFolder.vue | 10 + src/src/assets/icons/uiw/UiwFolderAdd.vue | 10 + src/src/assets/icons/uiw/UiwFolderOpen.vue | 10 + src/src/assets/icons/uiw/UiwForward.vue | 10 + src/src/assets/icons/uiw/UiwFoursquare.vue | 10 + src/src/assets/icons/uiw/UiwFrown.vue | 10 + src/src/assets/icons/uiw/UiwFrownO.vue | 10 + src/src/assets/icons/uiw/UiwGithub.vue | 10 + src/src/assets/icons/uiw/UiwGithubO.vue | 10 + src/src/assets/icons/uiw/UiwGlobal.vue | 10 + src/src/assets/icons/uiw/UiwHeartOff.vue | 10 + src/src/assets/icons/uiw/UiwHeartOn.vue | 10 + src/src/assets/icons/uiw/UiwHome.vue | 10 + src/src/assets/icons/uiw/UiwHtml5.vue | 10 + src/src/assets/icons/uiw/UiwIe.vue | 10 + src/src/assets/icons/uiw/UiwInbox.vue | 10 + src/src/assets/icons/uiw/UiwInformation.vue | 10 + src/src/assets/icons/uiw/UiwInformationO.vue | 10 + src/src/assets/icons/uiw/UiwLaptop.vue | 10 + src/src/assets/icons/uiw/UiwLeft.vue | 10 + src/src/assets/icons/uiw/UiwLeftCircle.vue | 10 + src/src/assets/icons/uiw/UiwLeftCircleO.vue | 10 + src/src/assets/icons/uiw/UiwLeftSquare.vue | 10 + src/src/assets/icons/uiw/UiwLeftSquareO.vue | 10 + src/src/assets/icons/uiw/UiwLikeO.vue | 10 + src/src/assets/icons/uiw/UiwLink.vue | 10 + src/src/assets/icons/uiw/UiwLinkedin.vue | 10 + src/src/assets/icons/uiw/UiwLinux.vue | 10 + src/src/assets/icons/uiw/UiwLoading.vue | 10 + src/src/assets/icons/uiw/UiwLock.vue | 10 + src/src/assets/icons/uiw/UiwLogin.vue | 10 + src/src/assets/icons/uiw/UiwLogout.vue | 10 + src/src/assets/icons/uiw/UiwMail.vue | 10 + src/src/assets/icons/uiw/UiwMailO.vue | 10 + src/src/assets/icons/uiw/UiwMan.vue | 10 + src/src/assets/icons/uiw/UiwMap.vue | 10 + src/src/assets/icons/uiw/UiwMeh.vue | 10 + src/src/assets/icons/uiw/UiwMehO.vue | 10 + src/src/assets/icons/uiw/UiwMenu.vue | 10 + src/src/assets/icons/uiw/UiwMenuFold.vue | 10 + src/src/assets/icons/uiw/UiwMenuUnfold.vue | 10 + src/src/assets/icons/uiw/UiwMessage.vue | 10 + src/src/assets/icons/uiw/UiwMinus.vue | 10 + src/src/assets/icons/uiw/UiwMinusCircle.vue | 10 + src/src/assets/icons/uiw/UiwMinusCircleO.vue | 10 + src/src/assets/icons/uiw/UiwMinusSquare.vue | 10 + src/src/assets/icons/uiw/UiwMinusSquareO.vue | 10 + src/src/assets/icons/uiw/UiwMobile.vue | 10 + src/src/assets/icons/uiw/UiwMore.vue | 10 + src/src/assets/icons/uiw/UiwNotification.vue | 10 + src/src/assets/icons/uiw/UiwOpera.vue | 10 + src/src/assets/icons/uiw/UiwPaperClip.vue | 10 + src/src/assets/icons/uiw/UiwPause.vue | 10 + src/src/assets/icons/uiw/UiwPauseCircle.vue | 10 + src/src/assets/icons/uiw/UiwPauseCircleO.vue | 10 + src/src/assets/icons/uiw/UiwPay.vue | 10 + src/src/assets/icons/uiw/UiwPayCircleO.vue | 10 + src/src/assets/icons/uiw/UiwPicasa.vue | 10 + src/src/assets/icons/uiw/UiwPicture.vue | 10 + src/src/assets/icons/uiw/UiwPieChart.vue | 10 + src/src/assets/icons/uiw/UiwPinterest.vue | 10 + src/src/assets/icons/uiw/UiwPlayCircle.vue | 10 + src/src/assets/icons/uiw/UiwPlayCircleO.vue | 10 + src/src/assets/icons/uiw/UiwPlus.vue | 10 + src/src/assets/icons/uiw/UiwPlusCircle.vue | 10 + src/src/assets/icons/uiw/UiwPlusCircleO.vue | 10 + src/src/assets/icons/uiw/UiwPlusSquare.vue | 10 + src/src/assets/icons/uiw/UiwPlusSquareO.vue | 10 + src/src/assets/icons/uiw/UiwPoweroff.vue | 10 + src/src/assets/icons/uiw/UiwPrinter.vue | 10 + src/src/assets/icons/uiw/UiwQq.vue | 10 + src/src/assets/icons/uiw/UiwQrcode.vue | 10 + .../assets/icons/uiw/UiwQuestionCircle.vue | 10 + .../assets/icons/uiw/UiwQuestionCircleO.vue | 10 + src/src/assets/icons/uiw/UiwReddit.vue | 10 + src/src/assets/icons/uiw/UiwReload.vue | 10 + src/src/assets/icons/uiw/UiwRight.vue | 10 + src/src/assets/icons/uiw/UiwRightCircle.vue | 10 + src/src/assets/icons/uiw/UiwRightCircleO.vue | 10 + src/src/assets/icons/uiw/UiwRightSquare.vue | 10 + src/src/assets/icons/uiw/UiwRightSquareO.vue | 10 + src/src/assets/icons/uiw/UiwRollback.vue | 10 + src/src/assets/icons/uiw/UiwSafari.vue | 10 + src/src/assets/icons/uiw/UiwSafety.vue | 10 + src/src/assets/icons/uiw/UiwSave.vue | 10 + src/src/assets/icons/uiw/UiwSearch.vue | 10 + src/src/assets/icons/uiw/UiwSetting.vue | 10 + src/src/assets/icons/uiw/UiwSettingO.vue | 10 + src/src/assets/icons/uiw/UiwShare.vue | 10 + src/src/assets/icons/uiw/UiwShoppingCart.vue | 10 + src/src/assets/icons/uiw/UiwShrink.vue | 10 + src/src/assets/icons/uiw/UiwSmile.vue | 10 + src/src/assets/icons/uiw/UiwSmileO.vue | 10 + src/src/assets/icons/uiw/UiwSquareO.vue | 10 + src/src/assets/icons/uiw/UiwStarOff.vue | 10 + src/src/assets/icons/uiw/UiwStarOn.vue | 10 + src/src/assets/icons/uiw/UiwStop.vue | 10 + src/src/assets/icons/uiw/UiwStopO.vue | 10 + src/src/assets/icons/uiw/UiwSwap.vue | 10 + src/src/assets/icons/uiw/UiwSwapLeft.vue | 10 + src/src/assets/icons/uiw/UiwSwapRight.vue | 10 + src/src/assets/icons/uiw/UiwTable.vue | 10 + src/src/assets/icons/uiw/UiwTag.vue | 10 + src/src/assets/icons/uiw/UiwTagO.vue | 10 + src/src/assets/icons/uiw/UiwTags.vue | 10 + src/src/assets/icons/uiw/UiwTagsO.vue | 10 + src/src/assets/icons/uiw/UiwTaobao.vue | 10 + src/src/assets/icons/uiw/UiwTime.vue | 10 + src/src/assets/icons/uiw/UiwTimeO.vue | 10 + src/src/assets/icons/uiw/UiwTwitter.vue | 10 + src/src/assets/icons/uiw/UiwUiw.vue | 10 + src/src/assets/icons/uiw/UiwUnlock.vue | 10 + src/src/assets/icons/uiw/UiwUp.vue | 10 + src/src/assets/icons/uiw/UiwUpCircle.vue | 10 + src/src/assets/icons/uiw/UiwUpCircleO.vue | 10 + src/src/assets/icons/uiw/UiwUpSquare.vue | 10 + src/src/assets/icons/uiw/UiwUpSquareO.vue | 10 + src/src/assets/icons/uiw/UiwUpload.vue | 10 + src/src/assets/icons/uiw/UiwUser.vue | 10 + src/src/assets/icons/uiw/UiwUserAdd.vue | 10 + src/src/assets/icons/uiw/UiwUserDelete.vue | 10 + src/src/assets/icons/uiw/UiwUsergroupAdd.vue | 10 + .../assets/icons/uiw/UiwUsergroupDelete.vue | 10 + src/src/assets/icons/uiw/UiwVerification.vue | 10 + src/src/assets/icons/uiw/UiwVerticleLeft.vue | 10 + src/src/assets/icons/uiw/UiwVerticleRight.vue | 10 + src/src/assets/icons/uiw/UiwVideoCamera.vue | 10 + src/src/assets/icons/uiw/UiwWarning.vue | 10 + src/src/assets/icons/uiw/UiwWarningO.vue | 10 + src/src/assets/icons/uiw/UiwWeibo.vue | 10 + src/src/assets/icons/uiw/UiwWeixin.vue | 10 + src/src/assets/icons/uiw/UiwWifi.vue | 10 + src/src/assets/icons/uiw/UiwWindows.vue | 10 + src/src/assets/icons/uiw/UiwWoman.vue | 10 + src/src/assets/icons/uiw/UiwZoomIn.vue | 10 + src/src/assets/icons/uiw/UiwZoomOut.vue | 10 + src/src/assets/images/fileImg/README.md | 1 + src/src/assets/images/fileImg/docx.png | Bin 0 -> 8977 bytes src/src/assets/images/fileImg/file.png | Bin 0 -> 2484 bytes src/src/assets/images/fileImg/gif.png | Bin 0 -> 6013 bytes src/src/assets/images/fileImg/html.png | Bin 0 -> 13037 bytes src/src/assets/images/fileImg/img.png | Bin 0 -> 10147 bytes src/src/assets/images/fileImg/pdf.png | Bin 0 -> 11470 bytes src/src/assets/images/fileImg/png.png | Bin 0 -> 9769 bytes src/src/assets/images/fileImg/ppt.png | Bin 0 -> 10484 bytes src/src/assets/images/fileImg/rar.png | Bin 0 -> 12718 bytes src/src/assets/images/fileImg/txt.png | Bin 0 -> 10359 bytes src/src/assets/images/fileImg/xlsx.png | Bin 0 -> 8929 bytes src/src/assets/images/fileImg/zip.png | Bin 0 -> 9368 bytes src/src/assets/images/login_home.jpg | Bin 0 -> 491851 bytes .../components/AdvancedSearchForm/index.vue | 81 + src/src/components/CardTitle/index.vue | 26 + .../Chart/eCBingZhuangTu/CustomizedPie.vue | 79 + .../DoughnutChartWithRoundedCorner.vue | 57 + .../Chart/eCBingZhuangTu/NightingaleChart.vue | 54 + .../eCBingZhuangTu/RefererOfAWebsite.vue | 53 + .../Chart/eCKXianTu/BasicCandlestick.vue | 35 + .../Chart/eCKXianTu/LargeScaleCandlestick.vue | 207 + .../Chart/eCKXianTu/ShangHaiIndex.vue | 324 + .../Chart/eCLouDouTu/CustomizedFunnel.vue | 100 + .../Chart/eCLouDouTu/FunnelChart.vue | 81 + .../Chart/eCLouDouTu/FunnelCompare.vue | 114 + .../Chart/eCLouDouTu/MultipleFunnels.vue | 114 + .../Chart/eCSanDianTu/BasicScatterChart.vue | 51 + .../Chart/eCSanDianTu/ClusteringProcess.vue | 139 + .../Chart/eCSanDianTu/EffectScatterChart.vue | 92 + .../Chart/eCSanDianTu/ScatterAqiColor.vue | 264 + .../eCShuXingTu/TreeWithPolylineEdge.vue | 182 + .../Chart/eCXianXingTu/BasicLineChart.vue | 34 + .../Chart/eCXianXingTu/StackedAreaChart.vue | 115 + .../Chart/eCXianXingTu/StackedLineChart.vue | 81 + .../Chart/eCXianXingTu/StepLine.vue | 68 + .../Chart/eCYiBiaoTu/GaugeBasicChart.vue | 37 + .../Chart/eCYiBiaoTu/GrogressGauge.vue | 106 + .../Chart/eCYiBiaoTu/StageSpeedGauge.vue | 83 + .../eCYiBiaoTu/TemperatureGaugeChart.vue | 147 + .../BarChartWithNegativeValue.vue | 77 + .../Chart/eCZhuZhuangTu/BarLabelRotation.vue | 132 + .../Chart/eCZhuZhuangTu/BasicBar.vue | 32 + .../WatermarkEChartsDownload.vue | 249 + .../Chart/g2BingZhuangTu/BingZhuangTu01.vue | 60 + .../Chart/g2BingZhuangTu/BingZhuangTu02.vue | 35 + .../Chart/g2BingZhuangTu/BingZhuangTu03.vue | 51 + .../Chart/g2BingZhuangTu/BingZhuangTu04.vue | 81 + .../components/Chart/g2CiYunTu/CiYunTu01.vue | 37 + .../components/Chart/g2CiYunTu/CiYunTu02.vue | 31 + .../components/Chart/g2JinDuTu/JinDuTu01.vue | 40 + .../components/Chart/g2JinDuTu/JinDuTu02.vue | 22 + .../components/Chart/g2JinDuTu/JinDuTu03.vue | 71 + .../components/Chart/g2JinDuTu/JinDuTu04.vue | 58 + .../Chart/g2LouDouTu/LouDouTu01.vue | 27 + .../Chart/g2LouDouTu/LouDouTu02.vue | 48 + .../Chart/g2MianJiTu/MianJiTu01.vue | 24 + .../Chart/g2MianJiTu/MianJiTu02.vue | 30 + .../Chart/g2MianJiTu/MianJiTu03.vue | 22 + .../Chart/g2MianJiTu/MianJiTu04.vue | 35 + .../Chart/g2SanDianTu/SanDianTu01.vue | 48 + .../Chart/g2SanDianTu/SanDianTu02.vue | 52 + .../Chart/g2SanDianTu/SanDianTu03.vue | 51 + .../Chart/g2SanDianTu/SanDianTu04.vue | 337 + .../Chart/g2TiaoXingTu/TiaoXingTu01.vue | 30 + .../Chart/g2TiaoXingTu/TiaoXingTu02.vue | 126 + .../Chart/g2TiaoXingTu/TiaoXingTu03.vue | 89 + .../Chart/g2TiaoXingTu/TiaoXingTu04.vue | 34 + .../Chart/g2ZheXianTu/ZheXianTu01.vue | 27 + .../Chart/g2ZheXianTu/ZheXianTu02.vue | 32 + .../Chart/g2ZheXianTu/ZheXianTu03.vue | 32 + .../Chart/g2ZheXianTu/ZheXianTu04.vue | 48 + .../Chart/g2ZhuZhuangTu/ZhuZhuangTu01.vue | 76 + .../Chart/g2ZhuZhuangTu/ZhuZhuangTu02.vue | 37 + .../Chart/g2ZhuZhuangTu/ZhuZhuangTu03.vue | 120 + .../Chart/g2ZhuZhuangTu/ZhuZhuangTu04.vue | 138 + .../components/Chart/g2ZiDanTu/ZiDanTu01.vue | 73 + .../components/Chart/g2ZiDanTu/ZiDanTu02.vue | 96 + src/src/components/ColorPicker/index.vue | 107 + src/src/components/Cron/data.js | 103 + src/src/components/Cron/index.vue | 756 + src/src/components/CropUpload/index.vue | 186 + src/src/components/DragModal/index.vue | 318 + src/src/components/DragModal/props.js | 30 + src/src/components/DynamicForm/index.vue | 54 + .../components/DynamicSearchForm/index.vue | 56 + src/src/components/DynamicTable/index.vue | 145 + src/src/components/DynamicTree/index.vue | 210 + src/src/components/Editor/README.md | 15 + src/src/components/Editor/index.vue | 104 + src/src/components/Ellipsis/index.md | 33 + src/src/components/Ellipsis/index.vue | 48 + src/src/components/Ellipsis/util.js | 44 + src/src/components/FounderForm/index.vue | 7 + .../HomeCard/BizMiniMessageCard/index.vue | 131 + .../HomeCard/BizNoticeCard/detail.vue | 85 + .../HomeCard/BizNoticeCard/index.vue | 79 + .../HomeCard/BizScheduleCard/index.vue | 132 + .../HomeCard/BizShortcutCard/index.vue | 53 + .../HomeCard/BizSlideshowCard/index.vue | 108 + .../HomeCard/SysBizDataCard/index.vue | 60 + .../HomeCard/SysOpDataCard/index.vue | 78 + .../HomeCard/SysOpLogCard/index.vue | 58 + .../HomeCard/SysToolDataCard/index.vue | 60 + .../HomeCard/SysUserInfoCard/index.vue | 75 + .../HomeCard/SysVisChartDataCard/index.vue | 55 + .../HomeCard/SysVisLogCard/index.vue | 65 + src/src/components/Map/baiduMap/README.md | 187 + src/src/components/Map/baiduMap/index.vue | 344 + src/src/components/Map/gaodeMap/README.md | 205 + src/src/components/Map/gaodeMap/index.vue | 373 + src/src/components/NumberInfo/NumberInfo.vue | 86 + src/src/components/NumberInfo/index.less | 55 + .../OperationalInformation/index.vue | 72 + .../Selector/employeeSelectorPlus.vue | 401 + .../Selector/iconMobileSelector.vue | 145 + src/src/components/Selector/iconSelector.vue | 161 + .../Selector/iconSelector_README.md | 48 + .../components/Selector/lineSelectorPlus.vue | 222 + .../Selector/materielSelectorPlus.vue | 177 + .../components/Selector/orgSelectorPlus.vue | 400 + .../components/Selector/posSelectorPlus.vue | 395 + .../components/Selector/roleSelectorPlus.vue | 448 + .../components/Selector/userSelectorPlus.vue | 407 + src/src/components/ShortcutCard/index.vue | 84 + src/src/components/Table/README.md | 375 + src/src/components/Table/columnSetting.vue | 124 + src/src/components/Table/index.vue | 672 + src/src/components/TagModal/index.vue | 83 + .../components/TreeSelect/menuTreeSelect.vue | 113 + src/src/components/Trend/Trend.vue | 64 + src/src/components/Trend/index.less | 42 + src/src/components/XnBatchButton/index.vue | 79 + src/src/components/XnBatchDelete/index.vue | 53 + src/src/components/XnCardList/README.md | 62 + src/src/components/XnCardList/index.vue | 120 + src/src/components/XnContextMenu/index.vue | 82 + src/src/components/XnDataList/README.md | 67 + src/src/components/XnDataList/index.vue | 188 + src/src/components/XnEditor/index.vue | 125 + src/src/components/XnFilePreview/README.md | 9 + src/src/components/XnFilePreview/index.vue | 128 + src/src/components/XnFormContainer/index.vue | 49 + src/src/components/XnHighlightjs/index.vue | 86 + src/src/components/XnOrgSelector/README.md | 36 + src/src/components/XnOrgSelector/index.vue | 579 + .../README.assets/分页下拉查询展示.gif | Bin 0 -> 461247 bytes src/src/components/XnPageSelect/README.md | 192 + src/src/components/XnPageSelect/index.vue | 172 + .../components/XnPositionSelector/README.md | 36 + .../components/XnPositionSelector/index.vue | 579 + src/src/components/XnRoleSelector/README.md | 36 + src/src/components/XnRoleSelector/index.vue | 607 + src/src/components/XnSignName/README.md | 117 + src/src/components/XnSignName/index.vue | 122 + src/src/components/XnSignName/vueEsign.vue | 297 + src/src/components/XnUpload/README.md | 39 + src/src/components/XnUpload/index.vue | 359 + src/src/components/XnUserSelector/README.md | 36 + src/src/components/XnUserSelector/index.vue | 623 + .../XnUserSelector/userSelectorTest.vue | 62 + src/src/components/global.less | 503 + src/src/components/index.less | 6 + src/src/config/iconSelect.js | 827 + src/src/config/index.js | 101 + src/src/config/route.js | 44 + src/src/config/settingConfig.js | 64 + src/src/config/themeColor.js | 10 + src/src/hook/useFormHandler.js | 160 + src/src/hook/useNavigation.js | 25 + src/src/hook/useTableManagement.js | 103 + src/src/layout/components/NavMenu.vue | 65 + src/src/layout/components/breadcrumb.vue | 53 + src/src/layout/components/iframeView.vue | 67 + src/src/layout/components/message.vue | 192 + src/src/layout/components/moduleMenu.vue | 216 + .../layout/components/panel-search/index.vue | 336 + .../layout/components/panel-search/item.vue | 100 + src/src/layout/components/setting.vue | 489 + src/src/layout/components/sideM.vue | 143 + src/src/layout/components/tags.vue | 473 + src/src/layout/components/topbar.vue | 36 + src/src/layout/components/userbar.vue | 192 + src/src/layout/enum/layoutEnum.js | 15 + src/src/layout/enum/themeEnum.js | 15 + src/src/layout/index.vue | 650 + src/src/layout/menu/classicalMenu.vue | 154 + src/src/layout/menu/doubleRowMenu.vue | 185 + src/src/layout/menu/topMenu.vue | 138 + src/src/layout/other/403.vue | 3 + src/src/layout/other/404.vue | 20 + src/src/layout/other/empty.vue | 3 + src/src/locales/index.js | 38 + src/src/locales/lang/en.js | 72 + src/src/locales/lang/zh-cn.js | 74 + src/src/main.js | 20 + src/src/router/index.js | 172 + src/src/router/scrollBehavior.js | 38 + src/src/router/systemRouter.js | 52 + src/src/router/whiteList.js | 36 + src/src/snowy.js | 40 + src/src/store/global.js | 174 + src/src/store/iframe.js | 58 + src/src/store/index.js | 5 + src/src/store/keepAlive.js | 55 + src/src/store/menu.js | 142 + src/src/store/search.js | 63 + src/src/store/sysBaseConfig.js | 40 + src/src/store/user.js | 32 + src/src/store/viewTags.js | 89 + src/src/style/default.less | 399 + src/src/style/index.less | 519 + src/src/style/readme.md | 7 + src/src/style/realdark.less | 417 + src/src/tailwind.css | 91 + src/src/utils/cityOptions.js | 16309 ++++++++++++++++ src/src/utils/color.js | 64 + src/src/utils/device.js | 43 + src/src/utils/downloadUtil.js | 37 + src/src/utils/enum.js | 15 + src/src/utils/errorHandler.js | 30 + src/src/utils/formRules.js | 51 + src/src/utils/loading.js | 38 + src/src/utils/objects.js | 39 + src/src/utils/permission/index.js | 40 + src/src/utils/request.js | 185 + src/src/utils/routerUtil.js | 43 + src/src/utils/smCrypto.js | 36 + src/src/utils/template.js | 326 + src/src/utils/themeUtil.js | 81 + src/src/utils/tool.js | 169 + src/src/utils/useTabs.js | 75 + src/src/utils/watermark.js | 91 + src/src/views/auth/findPwd/emailFindForm.vue | 193 + src/src/views/auth/findPwd/index.vue | 261 + src/src/views/auth/findPwd/phoneFindForm.vue | 194 + src/src/views/auth/login/callback.vue | 105 + src/src/views/auth/login/login.less | 200 + src/src/views/auth/login/login.vue | 267 + src/src/views/auth/login/phoneLoginForm.vue | 167 + src/src/views/auth/login/threeLogin.vue | 24 + src/src/views/auth/login/util.js | 49 + src/src/views/auth/monitor/analyse.vue | 92 + src/src/views/auth/monitor/bTab.vue | 95 + src/src/views/auth/monitor/cTab.vue | 95 + src/src/views/auth/monitor/index.vue | 20 + src/src/views/auth/monitor/tokenInfoList.vue | 183 + src/src/views/auth/third/index.vue | 102 + src/src/views/biz/dict/form.vue | 111 + src/src/views/biz/dict/index.vue | 193 + .../views/biz/extendedField/detail/form.vue | 174 + src/src/views/biz/extendedField/index.vue | 167 + src/src/views/biz/index/index.vue | 41 + src/src/views/biz/notice/detail.vue | 85 + src/src/views/biz/notice/form.vue | 148 + src/src/views/biz/notice/index.vue | 250 + src/src/views/biz/org/form.vue | 151 + src/src/views/biz/org/index.vue | 219 + src/src/views/biz/position/form.vue | 118 + src/src/views/biz/position/index.vue | 216 + src/src/views/biz/searchTags/form.vue | 80 + src/src/views/biz/searchTags/index.vue | 127 + src/src/views/biz/user/form.vue | 568 + src/src/views/biz/user/index.vue | 425 + .../config/emailConfig/aliyunEmailForm.vue | 90 + .../views/dev/config/emailConfig/index.vue | 20 + .../dev/config/emailConfig/localEmailForm.vue | 86 + .../config/emailConfig/tencentEmailForm.vue | 90 + .../dev/config/fileConfig/aliyunFileForm.vue | 94 + src/src/views/dev/config/fileConfig/index.vue | 24 + .../dev/config/fileConfig/localFileForm.vue | 86 + .../dev/config/fileConfig/minioFileForm.vue | 94 + .../dev/config/fileConfig/tencentFileForm.vue | 94 + src/src/views/dev/config/index.vue | 74 + src/src/views/dev/config/otherConfig/form.vue | 90 + .../views/dev/config/otherConfig/index.vue | 94 + .../dev/config/smsConfig/aliyunSmsForm.vue | 94 + src/src/views/dev/config/smsConfig/index.vue | 20 + .../dev/config/smsConfig/tencentSmsForm.vue | 98 + .../dev/config/smsConfig/xiaonuoSmsForm.vue | 108 + src/src/views/dev/config/sysConfig.vue | 229 + .../dev/config/thirdConfig/giteeThirdForm.vue | 90 + .../views/dev/config/thirdConfig/index.vue | 16 + .../config/thirdConfig/wechatThirdForm.vue | 90 + src/src/views/dev/dict/category/bizIndex.vue | 200 + src/src/views/dev/dict/category/form.vue | 127 + src/src/views/dev/dict/category/frmIndex.vue | 184 + src/src/views/dev/dict/index.vue | 32 + src/src/views/dev/email/detail.vue | 69 + src/src/views/dev/email/form.vue | 72 + src/src/views/dev/email/index.vue | 182 + .../views/dev/email/send/aliyunEmailSend.vue | 125 + .../views/dev/email/send/localEmailSend.vue | 99 + .../views/dev/email/send/tencentEmailSend.vue | 125 + src/src/views/dev/file/detail.vue | 55 + src/src/views/dev/file/index.vue | 259 + src/src/views/dev/file/preview.vue | 16 + src/src/views/dev/file/uploadForm.vue | 137 + src/src/views/dev/job/form.vue | 117 + src/src/views/dev/job/index.vue | 216 + src/src/views/dev/log/oplog/columnChart.vue | 44 + src/src/views/dev/log/oplog/detail.vue | 69 + src/src/views/dev/log/oplog/index.vue | 155 + src/src/views/dev/log/oplog/pieChart.vue | 38 + src/src/views/dev/log/vislog/detail.vue | 40 + src/src/views/dev/log/vislog/index.vue | 141 + src/src/views/dev/log/vislog/lineChart.vue | 53 + src/src/views/dev/log/vislog/pieChart.vue | 38 + src/src/views/dev/message/detail.vue | 85 + src/src/views/dev/message/form.vue | 101 + src/src/views/dev/message/index.vue | 143 + src/src/views/dev/monitor/index.vue | 217 + src/src/views/dev/slideshow/form.vue | 111 + src/src/views/dev/slideshow/index.vue | 233 + src/src/views/dev/slideshow/subForm.vue | 162 + src/src/views/dev/sms/detail.vue | 58 + src/src/views/dev/sms/form.vue | 72 + src/src/views/dev/sms/index.vue | 174 + src/src/views/dev/sms/send/aliyunSmsSend.vue | 71 + src/src/views/dev/sms/send/tencentSmsSend.vue | 75 + src/src/views/dev/sms/send/xiaonuoSmsSend.vue | 59 + src/src/views/exm/chart/eCBingZhuangTu.vue | 31 + src/src/views/exm/chart/eCHengTiaoTu.vue | 11 + src/src/views/exm/chart/eCKXianTu.vue | 20 + src/src/views/exm/chart/eCLouDouTu.vue | 31 + src/src/views/exm/chart/eCSanDianTu.vue | 31 + src/src/views/exm/chart/eCShuXingTu.vue | 9 + src/src/views/exm/chart/eCXianXingTu.vue | 31 + src/src/views/exm/chart/eCYiBiaoTu.vue | 31 + src/src/views/exm/chart/eCZheZhuTu.vue | 11 + src/src/views/exm/chart/eCZhuZhuangTu.vue | 31 + src/src/views/exm/chart/g2BingZhuangTu.vue | 26 + src/src/views/exm/chart/g2CiYunTu.vue | 16 + src/src/views/exm/chart/g2JinDuTu.vue | 26 + src/src/views/exm/chart/g2LouDouTu.vue | 16 + src/src/views/exm/chart/g2MianJiTu.vue | 26 + src/src/views/exm/chart/g2SanDianTu.vue | 26 + src/src/views/exm/chart/g2TiaoXingTu.vue | 26 + src/src/views/exm/chart/g2ZheXianTu.vue | 26 + src/src/views/exm/chart/g2ZhuZhuangTu.vue | 26 + src/src/views/exm/chart/g2ZiDanTu.vue | 16 + src/src/views/exm/editor/index.vue | 10 + src/src/views/exm/iconSelect/index.vue | 113 + src/src/views/exm/map/baiduMap.vue | 124 + src/src/views/exm/map/gaodeMap.vue | 138 + src/src/views/exm/nestRoutor/index.vue | 22 + src/src/views/gen/basic.vue | 466 + src/src/views/gen/config.vue | 455 + src/src/views/gen/index.vue | 197 + src/src/views/gen/preview.vue | 103 + src/src/views/gen/steps.vue | 163 + src/src/views/index/index.vue | 39 + src/src/views/mobile/resource/button/form.vue | 77 + .../views/mobile/resource/button/index.vue | 106 + .../mobile/resource/menu/changeModuleForm.vue | 78 + src/src/views/mobile/resource/menu/form.vue | 248 + src/src/views/mobile/resource/menu/index.vue | 212 + src/src/views/mobile/resource/module/form.vue | 93 + .../views/mobile/resource/module/index.vue | 137 + src/src/views/other/index.vue | 9 + .../basicData/brand/columns/brandColumns.js | 18 + .../basicData/brand/detail/index.vue | 110 + .../brand/formFields/detailFields.js | 88 + .../brand/formFields/searchFields.js | 12 + .../basicData/brand/index.vue | 123 + .../basicData/client/columns/clientColumn.js | 46 + .../client/detail/CustomerCategoryForm.vue | 76 + .../basicData/client/detail/index.vue | 334 + .../client/formFields/detailFields.js | 215 + .../basicData/client/formFields/drawerForm.js | 44 + .../client/formFields/searchFields.js | 12 + .../basicData/client/index.vue | 201 + .../basicData/employee/detail/index.vue | 5 + .../basicData/employee/index.vue | 187 + .../materiel/column/materiel-column.js | 92 + .../basicData/materiel/detail/index.vue | 488 + .../materiel/detail/materialCategoryForm.vue | 76 + .../materiel/formFields/detailFields.js | 359 + .../materiel/formFields/drawerForm.js | 45 + .../materiel/formFields/searchFields.js | 12 + .../basicData/materiel/index.vue | 185 + .../columns/publicAccountColumn.js | 38 + .../basicData/publicAccount/detail/index.vue | 80 + .../publicAccount/formFields/detailFields.js | 102 + .../publicAccount/formFields/searchFields.js | 12 + .../basicData/publicAccount/index.vue | 123 + .../basicData/stash/columns/brandColumns.js | 46 + .../basicData/stash/detail/index.vue | 150 + .../stash/formFields/detailFields.js | 133 + .../stash/formFields/searchFields.js | 12 + .../basicData/stash/index.vue | 162 + .../basicData/tissue/column/tissueColumn.js | 45 + .../basicData/tissue/detail/TissueForm.vue | 208 + .../basicData/tissue/detail/index.vue | 29 + .../tissue/formFields/searchFields.js | 12 + .../basicData/tissue/index.vue | 163 + .../basicData/unit/columns/unitColumns.js | 69 + .../basicData/unit/detail/UnitGroupForm.vue | 68 + .../basicData/unit/detail/index.vue | 86 + .../basicData/unit/formFields/detailFields.js | 91 + .../basicData/unit/formFields/drawerForm.js | 41 + .../basicData/unit/formFields/searchFields.js | 20 + .../basicData/unit/index.vue | 237 + .../employee/personnel/detail/index.vue | 229 + .../detail/personnelCategoryForm.vue | 125 + .../employee/personnel/index.vue | 273 + .../detail/addPersonnelItem.vue | 145 + .../employee/personnelReport/detail/index.vue | 529 + .../personnelReport/detail/personnelForm.vue | 145 + .../employee/personnelReport/index.vue | 219 + .../report/columns/detailColumns.js | 121 + .../report/columns/reportColumns.js | 69 + .../productionCenter/report/detail/index.vue | 105 + .../report/formFields/detailFields.js | 75 + .../report/formFields/searchFields.js | 20 + .../productionCenter/report/index.vue | 125 + .../productionCenter/task/detail/index.vue | 177 + .../productionCenter/task/formItems/index.js | 112 + .../productionCenter/task/index.vue | 278 + src/src/views/sys/org/form.vue | 151 + src/src/views/sys/org/index.vue | 201 + src/src/views/sys/position/form.vue | 113 + src/src/views/sys/position/index.vue | 200 + src/src/views/sys/resource/button/form.vue | 81 + src/src/views/sys/resource/button/index.vue | 99 + src/src/views/sys/resource/field/form.vue | 85 + src/src/views/sys/resource/field/index.vue | 99 + .../sys/resource/menu/changeModuleForm.vue | 82 + src/src/views/sys/resource/menu/form.vue | 265 + src/src/views/sys/resource/menu/index.vue | 266 + src/src/views/sys/resource/module/form.vue | 98 + src/src/views/sys/resource/module/index.vue | 134 + src/src/views/sys/role/form.vue | 123 + .../sys/role/grantMobileResourceForm.vue | 305 + .../views/sys/role/grantPermissionForm.vue | 414 + src/src/views/sys/role/grantResourceForm.vue | 310 + src/src/views/sys/role/index.vue | 302 + src/src/views/sys/role/scopeDefineOrg.vue | 112 + src/src/views/sys/user/form.vue | 567 + .../views/sys/user/grantPermissionForm.vue | 415 + src/src/views/sys/user/grantResourceForm.vue | 312 + src/src/views/sys/user/impExp.vue | 131 + src/src/views/sys/user/index.vue | 422 + src/src/views/sys/user/scopeDefineOrg.vue | 112 + src/src/views/sys/user/userCenter.vue | 267 + .../views/sys/user/userTab/accountBasic.vue | 84 + .../views/sys/user/userTab/accountBind.vue | 64 + .../user/userTab/bindForm/updatePassword.vue | 81 + .../sys/user/userTab/organizationChart.vue | 43 + .../sys/user/userTab/shortcutSetting.vue | 64 + .../views/sys/user/userTab/userMessage.vue | 89 + .../sys/user/userTab/userMessage/detail.vue | 87 + src/utils/tool.js | 2 +- .../basicData/brand/detail/index.vue | 101 +- .../brand/formFields/detailFields.js | 88 + .../brand/formFields/searchFields.js | 12 + .../basicData/brand/index.vue | 83 +- .../basicData/client/columns/clientColumn.js | 46 + .../client/detail/CustomerCategoryForm.vue | 119 +- .../basicData/client/detail/index.vue | 299 +- .../client/formFields/detailFields.js | 215 + .../basicData/client/formFields/drawerForm.js | 44 + .../client/formFields/searchFields.js | 12 + .../basicData/client/index.vue | 101 +- .../basicData/materiel/detail/index.vue | 384 +- .../materiel/detail/materialCategoryForm.vue | 121 +- .../materiel/formFields/detailFields.js | 366 + .../materiel/formFields/drawerForm.js | 45 + .../basicData/materiel/index.vue | 29 +- .../columns/publicAccountColumn.js | 30 +- .../basicData/publicAccount/detail/index.vue | 14 +- .../publicAccount/formFields/detailFields.js | 102 + .../publicAccount/formFields/searchFields.js | 12 + .../basicData/publicAccount/index.vue | 81 +- .../basicData/stash/columns/brandColumns.js | 38 +- .../basicData/stash/detail/index.vue | 151 +- .../stash/formFields/detailFields.js | 133 + .../stash/formFields/searchFields.js | 12 + .../basicData/stash/index.vue | 91 +- .../basicData/tissue/column/tissueColumn.js | 53 + .../basicData/tissue/detail/index.vue | 32 +- .../tissue/formFields/searchFields.js | 12 + .../basicData/tissue/index.vue | 157 +- .../basicData/unit/detail/UnitGroupForm.vue | 1 - .../basicData/unit/detail/index.vue | 13 +- .../basicData/unit/index.vue | 2 +- .../detail/personnelCategoryForm.vue | 14 +- .../employee/personnelReport/detail/index.vue | 3 +- .../report/columns/detailColumns.js | 204 + .../report/columns/reportColumns.js | 60 + .../productionCenter/report/detail/index.vue | 146 +- .../report/formFields/detailFields.js | 69 + .../report/formFields/searchFields.js | 20 + .../productionCenter/report/index.vue | 105 +- 781 files changed, 82574 insertions(+), 1511 deletions(-) create mode 100644 src/api/production/produceReport/produceReportApi.js create mode 100644 src/api/production/produceTask/producePackageBarcodeApi.js create mode 100644 src/api/production/produceTask/produceReportApi.js create mode 100644 src/api/production/produceTask/produceReportDetailApi.js create mode 100644 src/components/DynamicSearchForm/index.vue create mode 100644 src/components/DynamicTable/index.vue create mode 100644 src/src/App.vue create mode 100644 src/src/api/auth/loginApi.js create mode 100644 src/src/api/auth/monitorApi.js create mode 100644 src/src/api/auth/oauthApi.js create mode 100644 src/src/api/auth/thirdApi.js create mode 100644 src/src/api/base/brand/sysBrandApi.js create mode 100644 src/src/api/base/customer/customerApi.js create mode 100644 src/src/api/base/customer/customerCategoryApi.js create mode 100644 src/src/api/base/employee/employeeApi.js create mode 100644 src/src/api/base/employee/employeeCategoryApi.js create mode 100644 src/src/api/base/extendfield/extendFieldApi.js create mode 100644 src/src/api/base/manual-task/manualTaskApi.js create mode 100644 src/src/api/base/manual-task/manualTaskDetailApi.js create mode 100644 src/src/api/base/manual-task/manualTaskTagApi.js create mode 100644 src/src/api/base/material/materialApi.js create mode 100644 src/src/api/base/material/materialCategoryApi.js create mode 100644 src/src/api/base/production-organization/productionOrganizationApi.js create mode 100644 src/src/api/base/store/sysStoreApi.js create mode 100644 src/src/api/base/unit/unitApi.js create mode 100644 src/src/api/base/unit/unitGroupsApi.js create mode 100644 src/src/api/base/wx/officialAccountApi.js create mode 100644 src/src/api/biz/bizDictApi.js create mode 100644 src/src/api/biz/bizIndexApi.js create mode 100644 src/src/api/biz/bizNoticeApi.js create mode 100644 src/src/api/biz/bizOrgApi.js create mode 100644 src/src/api/biz/bizPositionApi.js create mode 100644 src/src/api/biz/bizUserApi.js create mode 100644 src/src/api/biz/produceTagApi.js create mode 100644 src/src/api/dev/configApi.js create mode 100644 src/src/api/dev/dictApi.js create mode 100644 src/src/api/dev/emailApi.js create mode 100644 src/src/api/dev/fileApi.js create mode 100644 src/src/api/dev/jobApi.js create mode 100644 src/src/api/dev/logApi.js create mode 100644 src/src/api/dev/messageApi.js create mode 100644 src/src/api/dev/monitorApi.js create mode 100644 src/src/api/dev/slideshowApi.js create mode 100644 src/src/api/dev/smsApi.js create mode 100644 src/src/api/gen/genBasicApi.js create mode 100644 src/src/api/gen/genConfigApi.js create mode 100644 src/src/api/mobile/resource/buttonApi.js create mode 100644 src/src/api/mobile/resource/menuApi.js create mode 100644 src/src/api/mobile/resource/moduleApi.js create mode 100644 src/src/api/production/produce/produceTagApi.js create mode 100644 src/src/api/production/produceReport/produceReportApi.js create mode 100644 src/src/api/production/produceTask/producePackageBarcodeApi.js create mode 100644 src/src/api/production/produceTask/produceReportApi.js create mode 100644 src/src/api/production/produceTask/produceTaskApi.js create mode 100644 src/src/api/sys/indexApi.js create mode 100644 src/src/api/sys/orgApi.js create mode 100644 src/src/api/sys/positionApi.js create mode 100644 src/src/api/sys/resource/buttonApi.js create mode 100644 src/src/api/sys/resource/fieldApi.js create mode 100644 src/src/api/sys/resource/menuApi.js create mode 100644 src/src/api/sys/resource/moduleApi.js create mode 100644 src/src/api/sys/roleApi.js create mode 100644 src/src/api/sys/userApi.js create mode 100644 src/src/api/sys/userCenterApi.js create mode 100644 src/src/assets/icons/GiteeIcon.vue create mode 100644 src/src/assets/icons/index.js create mode 100644 src/src/assets/icons/mobile/filled/iconfont.css create mode 100644 src/src/assets/icons/mobile/filled/iconfont.json create mode 100644 src/src/assets/icons/mobile/filled/iconfont.ttf create mode 100644 src/src/assets/icons/mobile/index.js create mode 100644 src/src/assets/icons/mobile/line/iconfont.css create mode 100644 src/src/assets/icons/mobile/line/iconfont.json create mode 100644 src/src/assets/icons/mobile/line/iconfont.ttf create mode 100644 src/src/assets/icons/uiw/UiwAdobe.vue create mode 100644 src/src/assets/icons/uiw/UiwAlipay.vue create mode 100644 src/src/assets/icons/uiw/UiwAliwangwang.vue create mode 100644 src/src/assets/icons/uiw/UiwAndroid.vue create mode 100644 src/src/assets/icons/uiw/UiwAndroidO.vue create mode 100644 src/src/assets/icons/uiw/UiwApple.vue create mode 100644 src/src/assets/icons/uiw/UiwAppstore.vue create mode 100644 src/src/assets/icons/uiw/UiwAppstoreO.vue create mode 100644 src/src/assets/icons/uiw/UiwAreaChart.vue create mode 100644 src/src/assets/icons/uiw/UiwArrowDown.vue create mode 100644 src/src/assets/icons/uiw/UiwArrowLeft.vue create mode 100644 src/src/assets/icons/uiw/UiwArrowRight.vue create mode 100644 src/src/assets/icons/uiw/UiwArrowUp.vue create mode 100644 src/src/assets/icons/uiw/UiwArrowsAlt.vue create mode 100644 src/src/assets/icons/uiw/UiwAsterisk.vue create mode 100644 src/src/assets/icons/uiw/UiwBackward.vue create mode 100644 src/src/assets/icons/uiw/UiwBaidu.vue create mode 100644 src/src/assets/icons/uiw/UiwBarChart.vue create mode 100644 src/src/assets/icons/uiw/UiwBarcode.vue create mode 100644 src/src/assets/icons/uiw/UiwBell.vue create mode 100644 src/src/assets/icons/uiw/UiwCameraO.vue create mode 100644 src/src/assets/icons/uiw/UiwCaretDown.vue create mode 100644 src/src/assets/icons/uiw/UiwCaretLeft.vue create mode 100644 src/src/assets/icons/uiw/UiwCaretRight.vue create mode 100644 src/src/assets/icons/uiw/UiwCaretUp.vue create mode 100644 src/src/assets/icons/uiw/UiwCheck.vue create mode 100644 src/src/assets/icons/uiw/UiwCheckSquare.vue create mode 100644 src/src/assets/icons/uiw/UiwCheckSquareO.vue create mode 100644 src/src/assets/icons/uiw/UiwChrome.vue create mode 100644 src/src/assets/icons/uiw/UiwCircleCheck.vue create mode 100644 src/src/assets/icons/uiw/UiwCircleCheckO.vue create mode 100644 src/src/assets/icons/uiw/UiwCircleClose.vue create mode 100644 src/src/assets/icons/uiw/UiwCircleCloseO.vue create mode 100644 src/src/assets/icons/uiw/UiwCircleO.vue create mode 100644 src/src/assets/icons/uiw/UiwClose.vue create mode 100644 src/src/assets/icons/uiw/UiwCloseSquare.vue create mode 100644 src/src/assets/icons/uiw/UiwCloseSquareO.vue create mode 100644 src/src/assets/icons/uiw/UiwCloudDownload.vue create mode 100644 src/src/assets/icons/uiw/UiwCloudDownloadO.vue create mode 100644 src/src/assets/icons/uiw/UiwCloudUpload.vue create mode 100644 src/src/assets/icons/uiw/UiwCloudUploadO.vue create mode 100644 src/src/assets/icons/uiw/UiwCoffee.vue create mode 100644 src/src/assets/icons/uiw/UiwComponent.vue create mode 100644 src/src/assets/icons/uiw/UiwCopy.vue create mode 100644 src/src/assets/icons/uiw/UiwCopyright.vue create mode 100644 src/src/assets/icons/uiw/UiwCss3.vue create mode 100644 src/src/assets/icons/uiw/UiwCut.vue create mode 100644 src/src/assets/icons/uiw/UiwDArrowLeft.vue create mode 100644 src/src/assets/icons/uiw/UiwDArrowRight.vue create mode 100644 src/src/assets/icons/uiw/UiwDCaret.vue create mode 100644 src/src/assets/icons/uiw/UiwDashboard.vue create mode 100644 src/src/assets/icons/uiw/UiwDate.vue create mode 100644 src/src/assets/icons/uiw/UiwDelete.vue create mode 100644 src/src/assets/icons/uiw/UiwDingding.vue create mode 100644 src/src/assets/icons/uiw/UiwDislikeO.vue create mode 100644 src/src/assets/icons/uiw/UiwDocument.vue create mode 100644 src/src/assets/icons/uiw/UiwDotChart.vue create mode 100644 src/src/assets/icons/uiw/UiwDown.vue create mode 100644 src/src/assets/icons/uiw/UiwDownCircle.vue create mode 100644 src/src/assets/icons/uiw/UiwDownCircleO.vue create mode 100644 src/src/assets/icons/uiw/UiwDownSquare.vue create mode 100644 src/src/assets/icons/uiw/UiwDownSquareO.vue create mode 100644 src/src/assets/icons/uiw/UiwDownload.vue create mode 100644 src/src/assets/icons/uiw/UiwEdit.vue create mode 100644 src/src/assets/icons/uiw/UiwEnter.vue create mode 100644 src/src/assets/icons/uiw/UiwEnvironment.vue create mode 100644 src/src/assets/icons/uiw/UiwEnvironmentO.vue create mode 100644 src/src/assets/icons/uiw/UiwEye.vue create mode 100644 src/src/assets/icons/uiw/UiwEyeO.vue create mode 100644 src/src/assets/icons/uiw/UiwFacebook.vue create mode 100644 src/src/assets/icons/uiw/UiwFileAdd.vue create mode 100644 src/src/assets/icons/uiw/UiwFileExcel.vue create mode 100644 src/src/assets/icons/uiw/UiwFileJpg.vue create mode 100644 src/src/assets/icons/uiw/UiwFilePdf.vue create mode 100644 src/src/assets/icons/uiw/UiwFileText.vue create mode 100644 src/src/assets/icons/uiw/UiwFileUnknown.vue create mode 100644 src/src/assets/icons/uiw/UiwFilter.vue create mode 100644 src/src/assets/icons/uiw/UiwFirefox.vue create mode 100644 src/src/assets/icons/uiw/UiwFolder.vue create mode 100644 src/src/assets/icons/uiw/UiwFolderAdd.vue create mode 100644 src/src/assets/icons/uiw/UiwFolderOpen.vue create mode 100644 src/src/assets/icons/uiw/UiwForward.vue create mode 100644 src/src/assets/icons/uiw/UiwFoursquare.vue create mode 100644 src/src/assets/icons/uiw/UiwFrown.vue create mode 100644 src/src/assets/icons/uiw/UiwFrownO.vue create mode 100644 src/src/assets/icons/uiw/UiwGithub.vue create mode 100644 src/src/assets/icons/uiw/UiwGithubO.vue create mode 100644 src/src/assets/icons/uiw/UiwGlobal.vue create mode 100644 src/src/assets/icons/uiw/UiwHeartOff.vue create mode 100644 src/src/assets/icons/uiw/UiwHeartOn.vue create mode 100644 src/src/assets/icons/uiw/UiwHome.vue create mode 100644 src/src/assets/icons/uiw/UiwHtml5.vue create mode 100644 src/src/assets/icons/uiw/UiwIe.vue create mode 100644 src/src/assets/icons/uiw/UiwInbox.vue create mode 100644 src/src/assets/icons/uiw/UiwInformation.vue create mode 100644 src/src/assets/icons/uiw/UiwInformationO.vue create mode 100644 src/src/assets/icons/uiw/UiwLaptop.vue create mode 100644 src/src/assets/icons/uiw/UiwLeft.vue create mode 100644 src/src/assets/icons/uiw/UiwLeftCircle.vue create mode 100644 src/src/assets/icons/uiw/UiwLeftCircleO.vue create mode 100644 src/src/assets/icons/uiw/UiwLeftSquare.vue create mode 100644 src/src/assets/icons/uiw/UiwLeftSquareO.vue create mode 100644 src/src/assets/icons/uiw/UiwLikeO.vue create mode 100644 src/src/assets/icons/uiw/UiwLink.vue create mode 100644 src/src/assets/icons/uiw/UiwLinkedin.vue create mode 100644 src/src/assets/icons/uiw/UiwLinux.vue create mode 100644 src/src/assets/icons/uiw/UiwLoading.vue create mode 100644 src/src/assets/icons/uiw/UiwLock.vue create mode 100644 src/src/assets/icons/uiw/UiwLogin.vue create mode 100644 src/src/assets/icons/uiw/UiwLogout.vue create mode 100644 src/src/assets/icons/uiw/UiwMail.vue create mode 100644 src/src/assets/icons/uiw/UiwMailO.vue create mode 100644 src/src/assets/icons/uiw/UiwMan.vue create mode 100644 src/src/assets/icons/uiw/UiwMap.vue create mode 100644 src/src/assets/icons/uiw/UiwMeh.vue create mode 100644 src/src/assets/icons/uiw/UiwMehO.vue create mode 100644 src/src/assets/icons/uiw/UiwMenu.vue create mode 100644 src/src/assets/icons/uiw/UiwMenuFold.vue create mode 100644 src/src/assets/icons/uiw/UiwMenuUnfold.vue create mode 100644 src/src/assets/icons/uiw/UiwMessage.vue create mode 100644 src/src/assets/icons/uiw/UiwMinus.vue create mode 100644 src/src/assets/icons/uiw/UiwMinusCircle.vue create mode 100644 src/src/assets/icons/uiw/UiwMinusCircleO.vue create mode 100644 src/src/assets/icons/uiw/UiwMinusSquare.vue create mode 100644 src/src/assets/icons/uiw/UiwMinusSquareO.vue create mode 100644 src/src/assets/icons/uiw/UiwMobile.vue create mode 100644 src/src/assets/icons/uiw/UiwMore.vue create mode 100644 src/src/assets/icons/uiw/UiwNotification.vue create mode 100644 src/src/assets/icons/uiw/UiwOpera.vue create mode 100644 src/src/assets/icons/uiw/UiwPaperClip.vue create mode 100644 src/src/assets/icons/uiw/UiwPause.vue create mode 100644 src/src/assets/icons/uiw/UiwPauseCircle.vue create mode 100644 src/src/assets/icons/uiw/UiwPauseCircleO.vue create mode 100644 src/src/assets/icons/uiw/UiwPay.vue create mode 100644 src/src/assets/icons/uiw/UiwPayCircleO.vue create mode 100644 src/src/assets/icons/uiw/UiwPicasa.vue create mode 100644 src/src/assets/icons/uiw/UiwPicture.vue create mode 100644 src/src/assets/icons/uiw/UiwPieChart.vue create mode 100644 src/src/assets/icons/uiw/UiwPinterest.vue create mode 100644 src/src/assets/icons/uiw/UiwPlayCircle.vue create mode 100644 src/src/assets/icons/uiw/UiwPlayCircleO.vue create mode 100644 src/src/assets/icons/uiw/UiwPlus.vue create mode 100644 src/src/assets/icons/uiw/UiwPlusCircle.vue create mode 100644 src/src/assets/icons/uiw/UiwPlusCircleO.vue create mode 100644 src/src/assets/icons/uiw/UiwPlusSquare.vue create mode 100644 src/src/assets/icons/uiw/UiwPlusSquareO.vue create mode 100644 src/src/assets/icons/uiw/UiwPoweroff.vue create mode 100644 src/src/assets/icons/uiw/UiwPrinter.vue create mode 100644 src/src/assets/icons/uiw/UiwQq.vue create mode 100644 src/src/assets/icons/uiw/UiwQrcode.vue create mode 100644 src/src/assets/icons/uiw/UiwQuestionCircle.vue create mode 100644 src/src/assets/icons/uiw/UiwQuestionCircleO.vue create mode 100644 src/src/assets/icons/uiw/UiwReddit.vue create mode 100644 src/src/assets/icons/uiw/UiwReload.vue create mode 100644 src/src/assets/icons/uiw/UiwRight.vue create mode 100644 src/src/assets/icons/uiw/UiwRightCircle.vue create mode 100644 src/src/assets/icons/uiw/UiwRightCircleO.vue create mode 100644 src/src/assets/icons/uiw/UiwRightSquare.vue create mode 100644 src/src/assets/icons/uiw/UiwRightSquareO.vue create mode 100644 src/src/assets/icons/uiw/UiwRollback.vue create mode 100644 src/src/assets/icons/uiw/UiwSafari.vue create mode 100644 src/src/assets/icons/uiw/UiwSafety.vue create mode 100644 src/src/assets/icons/uiw/UiwSave.vue create mode 100644 src/src/assets/icons/uiw/UiwSearch.vue create mode 100644 src/src/assets/icons/uiw/UiwSetting.vue create mode 100644 src/src/assets/icons/uiw/UiwSettingO.vue create mode 100644 src/src/assets/icons/uiw/UiwShare.vue create mode 100644 src/src/assets/icons/uiw/UiwShoppingCart.vue create mode 100644 src/src/assets/icons/uiw/UiwShrink.vue create mode 100644 src/src/assets/icons/uiw/UiwSmile.vue create mode 100644 src/src/assets/icons/uiw/UiwSmileO.vue create mode 100644 src/src/assets/icons/uiw/UiwSquareO.vue create mode 100644 src/src/assets/icons/uiw/UiwStarOff.vue create mode 100644 src/src/assets/icons/uiw/UiwStarOn.vue create mode 100644 src/src/assets/icons/uiw/UiwStop.vue create mode 100644 src/src/assets/icons/uiw/UiwStopO.vue create mode 100644 src/src/assets/icons/uiw/UiwSwap.vue create mode 100644 src/src/assets/icons/uiw/UiwSwapLeft.vue create mode 100644 src/src/assets/icons/uiw/UiwSwapRight.vue create mode 100644 src/src/assets/icons/uiw/UiwTable.vue create mode 100644 src/src/assets/icons/uiw/UiwTag.vue create mode 100644 src/src/assets/icons/uiw/UiwTagO.vue create mode 100644 src/src/assets/icons/uiw/UiwTags.vue create mode 100644 src/src/assets/icons/uiw/UiwTagsO.vue create mode 100644 src/src/assets/icons/uiw/UiwTaobao.vue create mode 100644 src/src/assets/icons/uiw/UiwTime.vue create mode 100644 src/src/assets/icons/uiw/UiwTimeO.vue create mode 100644 src/src/assets/icons/uiw/UiwTwitter.vue create mode 100644 src/src/assets/icons/uiw/UiwUiw.vue create mode 100644 src/src/assets/icons/uiw/UiwUnlock.vue create mode 100644 src/src/assets/icons/uiw/UiwUp.vue create mode 100644 src/src/assets/icons/uiw/UiwUpCircle.vue create mode 100644 src/src/assets/icons/uiw/UiwUpCircleO.vue create mode 100644 src/src/assets/icons/uiw/UiwUpSquare.vue create mode 100644 src/src/assets/icons/uiw/UiwUpSquareO.vue create mode 100644 src/src/assets/icons/uiw/UiwUpload.vue create mode 100644 src/src/assets/icons/uiw/UiwUser.vue create mode 100644 src/src/assets/icons/uiw/UiwUserAdd.vue create mode 100644 src/src/assets/icons/uiw/UiwUserDelete.vue create mode 100644 src/src/assets/icons/uiw/UiwUsergroupAdd.vue create mode 100644 src/src/assets/icons/uiw/UiwUsergroupDelete.vue create mode 100644 src/src/assets/icons/uiw/UiwVerification.vue create mode 100644 src/src/assets/icons/uiw/UiwVerticleLeft.vue create mode 100644 src/src/assets/icons/uiw/UiwVerticleRight.vue create mode 100644 src/src/assets/icons/uiw/UiwVideoCamera.vue create mode 100644 src/src/assets/icons/uiw/UiwWarning.vue create mode 100644 src/src/assets/icons/uiw/UiwWarningO.vue create mode 100644 src/src/assets/icons/uiw/UiwWeibo.vue create mode 100644 src/src/assets/icons/uiw/UiwWeixin.vue create mode 100644 src/src/assets/icons/uiw/UiwWifi.vue create mode 100644 src/src/assets/icons/uiw/UiwWindows.vue create mode 100644 src/src/assets/icons/uiw/UiwWoman.vue create mode 100644 src/src/assets/icons/uiw/UiwZoomIn.vue create mode 100644 src/src/assets/icons/uiw/UiwZoomOut.vue create mode 100644 src/src/assets/images/fileImg/README.md create mode 100644 src/src/assets/images/fileImg/docx.png create mode 100644 src/src/assets/images/fileImg/file.png create mode 100644 src/src/assets/images/fileImg/gif.png create mode 100644 src/src/assets/images/fileImg/html.png create mode 100644 src/src/assets/images/fileImg/img.png create mode 100644 src/src/assets/images/fileImg/pdf.png create mode 100644 src/src/assets/images/fileImg/png.png create mode 100644 src/src/assets/images/fileImg/ppt.png create mode 100644 src/src/assets/images/fileImg/rar.png create mode 100644 src/src/assets/images/fileImg/txt.png create mode 100644 src/src/assets/images/fileImg/xlsx.png create mode 100644 src/src/assets/images/fileImg/zip.png create mode 100644 src/src/assets/images/login_home.jpg create mode 100644 src/src/components/AdvancedSearchForm/index.vue create mode 100644 src/src/components/CardTitle/index.vue create mode 100644 src/src/components/Chart/eCBingZhuangTu/CustomizedPie.vue create mode 100644 src/src/components/Chart/eCBingZhuangTu/DoughnutChartWithRoundedCorner.vue create mode 100644 src/src/components/Chart/eCBingZhuangTu/NightingaleChart.vue create mode 100644 src/src/components/Chart/eCBingZhuangTu/RefererOfAWebsite.vue create mode 100644 src/src/components/Chart/eCKXianTu/BasicCandlestick.vue create mode 100644 src/src/components/Chart/eCKXianTu/LargeScaleCandlestick.vue create mode 100644 src/src/components/Chart/eCKXianTu/ShangHaiIndex.vue create mode 100644 src/src/components/Chart/eCLouDouTu/CustomizedFunnel.vue create mode 100644 src/src/components/Chart/eCLouDouTu/FunnelChart.vue create mode 100644 src/src/components/Chart/eCLouDouTu/FunnelCompare.vue create mode 100644 src/src/components/Chart/eCLouDouTu/MultipleFunnels.vue create mode 100644 src/src/components/Chart/eCSanDianTu/BasicScatterChart.vue create mode 100644 src/src/components/Chart/eCSanDianTu/ClusteringProcess.vue create mode 100644 src/src/components/Chart/eCSanDianTu/EffectScatterChart.vue create mode 100644 src/src/components/Chart/eCSanDianTu/ScatterAqiColor.vue create mode 100644 src/src/components/Chart/eCShuXingTu/TreeWithPolylineEdge.vue create mode 100644 src/src/components/Chart/eCXianXingTu/BasicLineChart.vue create mode 100644 src/src/components/Chart/eCXianXingTu/StackedAreaChart.vue create mode 100644 src/src/components/Chart/eCXianXingTu/StackedLineChart.vue create mode 100644 src/src/components/Chart/eCXianXingTu/StepLine.vue create mode 100644 src/src/components/Chart/eCYiBiaoTu/GaugeBasicChart.vue create mode 100644 src/src/components/Chart/eCYiBiaoTu/GrogressGauge.vue create mode 100644 src/src/components/Chart/eCYiBiaoTu/StageSpeedGauge.vue create mode 100644 src/src/components/Chart/eCYiBiaoTu/TemperatureGaugeChart.vue create mode 100644 src/src/components/Chart/eCZhuZhuangTu/BarChartWithNegativeValue.vue create mode 100644 src/src/components/Chart/eCZhuZhuangTu/BarLabelRotation.vue create mode 100644 src/src/components/Chart/eCZhuZhuangTu/BasicBar.vue create mode 100644 src/src/components/Chart/eCZhuZhuangTu/WatermarkEChartsDownload.vue create mode 100644 src/src/components/Chart/g2BingZhuangTu/BingZhuangTu01.vue create mode 100644 src/src/components/Chart/g2BingZhuangTu/BingZhuangTu02.vue create mode 100644 src/src/components/Chart/g2BingZhuangTu/BingZhuangTu03.vue create mode 100644 src/src/components/Chart/g2BingZhuangTu/BingZhuangTu04.vue create mode 100644 src/src/components/Chart/g2CiYunTu/CiYunTu01.vue create mode 100644 src/src/components/Chart/g2CiYunTu/CiYunTu02.vue create mode 100644 src/src/components/Chart/g2JinDuTu/JinDuTu01.vue create mode 100644 src/src/components/Chart/g2JinDuTu/JinDuTu02.vue create mode 100644 src/src/components/Chart/g2JinDuTu/JinDuTu03.vue create mode 100644 src/src/components/Chart/g2JinDuTu/JinDuTu04.vue create mode 100644 src/src/components/Chart/g2LouDouTu/LouDouTu01.vue create mode 100644 src/src/components/Chart/g2LouDouTu/LouDouTu02.vue create mode 100644 src/src/components/Chart/g2MianJiTu/MianJiTu01.vue create mode 100644 src/src/components/Chart/g2MianJiTu/MianJiTu02.vue create mode 100644 src/src/components/Chart/g2MianJiTu/MianJiTu03.vue create mode 100644 src/src/components/Chart/g2MianJiTu/MianJiTu04.vue create mode 100644 src/src/components/Chart/g2SanDianTu/SanDianTu01.vue create mode 100644 src/src/components/Chart/g2SanDianTu/SanDianTu02.vue create mode 100644 src/src/components/Chart/g2SanDianTu/SanDianTu03.vue create mode 100644 src/src/components/Chart/g2SanDianTu/SanDianTu04.vue create mode 100644 src/src/components/Chart/g2TiaoXingTu/TiaoXingTu01.vue create mode 100644 src/src/components/Chart/g2TiaoXingTu/TiaoXingTu02.vue create mode 100644 src/src/components/Chart/g2TiaoXingTu/TiaoXingTu03.vue create mode 100644 src/src/components/Chart/g2TiaoXingTu/TiaoXingTu04.vue create mode 100644 src/src/components/Chart/g2ZheXianTu/ZheXianTu01.vue create mode 100644 src/src/components/Chart/g2ZheXianTu/ZheXianTu02.vue create mode 100644 src/src/components/Chart/g2ZheXianTu/ZheXianTu03.vue create mode 100644 src/src/components/Chart/g2ZheXianTu/ZheXianTu04.vue create mode 100644 src/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu01.vue create mode 100644 src/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu02.vue create mode 100644 src/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu03.vue create mode 100644 src/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu04.vue create mode 100644 src/src/components/Chart/g2ZiDanTu/ZiDanTu01.vue create mode 100644 src/src/components/Chart/g2ZiDanTu/ZiDanTu02.vue create mode 100644 src/src/components/ColorPicker/index.vue create mode 100644 src/src/components/Cron/data.js create mode 100644 src/src/components/Cron/index.vue create mode 100644 src/src/components/CropUpload/index.vue create mode 100644 src/src/components/DragModal/index.vue create mode 100644 src/src/components/DragModal/props.js create mode 100644 src/src/components/DynamicForm/index.vue create mode 100644 src/src/components/DynamicSearchForm/index.vue create mode 100644 src/src/components/DynamicTable/index.vue create mode 100644 src/src/components/DynamicTree/index.vue create mode 100644 src/src/components/Editor/README.md create mode 100644 src/src/components/Editor/index.vue create mode 100644 src/src/components/Ellipsis/index.md create mode 100644 src/src/components/Ellipsis/index.vue create mode 100644 src/src/components/Ellipsis/util.js create mode 100644 src/src/components/FounderForm/index.vue create mode 100644 src/src/components/HomeCard/BizMiniMessageCard/index.vue create mode 100644 src/src/components/HomeCard/BizNoticeCard/detail.vue create mode 100644 src/src/components/HomeCard/BizNoticeCard/index.vue create mode 100644 src/src/components/HomeCard/BizScheduleCard/index.vue create mode 100644 src/src/components/HomeCard/BizShortcutCard/index.vue create mode 100644 src/src/components/HomeCard/BizSlideshowCard/index.vue create mode 100644 src/src/components/HomeCard/SysBizDataCard/index.vue create mode 100644 src/src/components/HomeCard/SysOpDataCard/index.vue create mode 100644 src/src/components/HomeCard/SysOpLogCard/index.vue create mode 100644 src/src/components/HomeCard/SysToolDataCard/index.vue create mode 100644 src/src/components/HomeCard/SysUserInfoCard/index.vue create mode 100644 src/src/components/HomeCard/SysVisChartDataCard/index.vue create mode 100644 src/src/components/HomeCard/SysVisLogCard/index.vue create mode 100644 src/src/components/Map/baiduMap/README.md create mode 100644 src/src/components/Map/baiduMap/index.vue create mode 100644 src/src/components/Map/gaodeMap/README.md create mode 100644 src/src/components/Map/gaodeMap/index.vue create mode 100644 src/src/components/NumberInfo/NumberInfo.vue create mode 100644 src/src/components/NumberInfo/index.less create mode 100644 src/src/components/OperationalInformation/index.vue create mode 100644 src/src/components/Selector/employeeSelectorPlus.vue create mode 100644 src/src/components/Selector/iconMobileSelector.vue create mode 100644 src/src/components/Selector/iconSelector.vue create mode 100644 src/src/components/Selector/iconSelector_README.md create mode 100644 src/src/components/Selector/lineSelectorPlus.vue create mode 100644 src/src/components/Selector/materielSelectorPlus.vue create mode 100644 src/src/components/Selector/orgSelectorPlus.vue create mode 100644 src/src/components/Selector/posSelectorPlus.vue create mode 100644 src/src/components/Selector/roleSelectorPlus.vue create mode 100644 src/src/components/Selector/userSelectorPlus.vue create mode 100644 src/src/components/ShortcutCard/index.vue create mode 100644 src/src/components/Table/README.md create mode 100644 src/src/components/Table/columnSetting.vue create mode 100644 src/src/components/Table/index.vue create mode 100644 src/src/components/TagModal/index.vue create mode 100644 src/src/components/TreeSelect/menuTreeSelect.vue create mode 100644 src/src/components/Trend/Trend.vue create mode 100644 src/src/components/Trend/index.less create mode 100644 src/src/components/XnBatchButton/index.vue create mode 100644 src/src/components/XnBatchDelete/index.vue create mode 100644 src/src/components/XnCardList/README.md create mode 100644 src/src/components/XnCardList/index.vue create mode 100644 src/src/components/XnContextMenu/index.vue create mode 100644 src/src/components/XnDataList/README.md create mode 100644 src/src/components/XnDataList/index.vue create mode 100644 src/src/components/XnEditor/index.vue create mode 100644 src/src/components/XnFilePreview/README.md create mode 100644 src/src/components/XnFilePreview/index.vue create mode 100644 src/src/components/XnFormContainer/index.vue create mode 100644 src/src/components/XnHighlightjs/index.vue create mode 100644 src/src/components/XnOrgSelector/README.md create mode 100644 src/src/components/XnOrgSelector/index.vue create mode 100644 src/src/components/XnPageSelect/README.assets/分页下拉查询展示.gif create mode 100644 src/src/components/XnPageSelect/README.md create mode 100644 src/src/components/XnPageSelect/index.vue create mode 100644 src/src/components/XnPositionSelector/README.md create mode 100644 src/src/components/XnPositionSelector/index.vue create mode 100644 src/src/components/XnRoleSelector/README.md create mode 100644 src/src/components/XnRoleSelector/index.vue create mode 100644 src/src/components/XnSignName/README.md create mode 100644 src/src/components/XnSignName/index.vue create mode 100644 src/src/components/XnSignName/vueEsign.vue create mode 100644 src/src/components/XnUpload/README.md create mode 100644 src/src/components/XnUpload/index.vue create mode 100644 src/src/components/XnUserSelector/README.md create mode 100644 src/src/components/XnUserSelector/index.vue create mode 100644 src/src/components/XnUserSelector/userSelectorTest.vue create mode 100644 src/src/components/global.less create mode 100644 src/src/components/index.less create mode 100644 src/src/config/iconSelect.js create mode 100644 src/src/config/index.js create mode 100644 src/src/config/route.js create mode 100644 src/src/config/settingConfig.js create mode 100644 src/src/config/themeColor.js create mode 100644 src/src/hook/useFormHandler.js create mode 100644 src/src/hook/useNavigation.js create mode 100644 src/src/hook/useTableManagement.js create mode 100644 src/src/layout/components/NavMenu.vue create mode 100644 src/src/layout/components/breadcrumb.vue create mode 100644 src/src/layout/components/iframeView.vue create mode 100644 src/src/layout/components/message.vue create mode 100644 src/src/layout/components/moduleMenu.vue create mode 100644 src/src/layout/components/panel-search/index.vue create mode 100644 src/src/layout/components/panel-search/item.vue create mode 100644 src/src/layout/components/setting.vue create mode 100644 src/src/layout/components/sideM.vue create mode 100644 src/src/layout/components/tags.vue create mode 100644 src/src/layout/components/topbar.vue create mode 100644 src/src/layout/components/userbar.vue create mode 100644 src/src/layout/enum/layoutEnum.js create mode 100644 src/src/layout/enum/themeEnum.js create mode 100644 src/src/layout/index.vue create mode 100644 src/src/layout/menu/classicalMenu.vue create mode 100644 src/src/layout/menu/doubleRowMenu.vue create mode 100644 src/src/layout/menu/topMenu.vue create mode 100644 src/src/layout/other/403.vue create mode 100644 src/src/layout/other/404.vue create mode 100644 src/src/layout/other/empty.vue create mode 100644 src/src/locales/index.js create mode 100644 src/src/locales/lang/en.js create mode 100644 src/src/locales/lang/zh-cn.js create mode 100644 src/src/main.js create mode 100644 src/src/router/index.js create mode 100644 src/src/router/scrollBehavior.js create mode 100644 src/src/router/systemRouter.js create mode 100644 src/src/router/whiteList.js create mode 100644 src/src/snowy.js create mode 100644 src/src/store/global.js create mode 100644 src/src/store/iframe.js create mode 100644 src/src/store/index.js create mode 100644 src/src/store/keepAlive.js create mode 100644 src/src/store/menu.js create mode 100644 src/src/store/search.js create mode 100644 src/src/store/sysBaseConfig.js create mode 100644 src/src/store/user.js create mode 100644 src/src/store/viewTags.js create mode 100644 src/src/style/default.less create mode 100644 src/src/style/index.less create mode 100644 src/src/style/readme.md create mode 100644 src/src/style/realdark.less create mode 100644 src/src/tailwind.css create mode 100644 src/src/utils/cityOptions.js create mode 100644 src/src/utils/color.js create mode 100644 src/src/utils/device.js create mode 100644 src/src/utils/downloadUtil.js create mode 100644 src/src/utils/enum.js create mode 100644 src/src/utils/errorHandler.js create mode 100644 src/src/utils/formRules.js create mode 100644 src/src/utils/loading.js create mode 100644 src/src/utils/objects.js create mode 100644 src/src/utils/permission/index.js create mode 100644 src/src/utils/request.js create mode 100644 src/src/utils/routerUtil.js create mode 100644 src/src/utils/smCrypto.js create mode 100644 src/src/utils/template.js create mode 100644 src/src/utils/themeUtil.js create mode 100644 src/src/utils/tool.js create mode 100644 src/src/utils/useTabs.js create mode 100644 src/src/utils/watermark.js create mode 100644 src/src/views/auth/findPwd/emailFindForm.vue create mode 100644 src/src/views/auth/findPwd/index.vue create mode 100644 src/src/views/auth/findPwd/phoneFindForm.vue create mode 100644 src/src/views/auth/login/callback.vue create mode 100644 src/src/views/auth/login/login.less create mode 100644 src/src/views/auth/login/login.vue create mode 100644 src/src/views/auth/login/phoneLoginForm.vue create mode 100644 src/src/views/auth/login/threeLogin.vue create mode 100644 src/src/views/auth/login/util.js create mode 100644 src/src/views/auth/monitor/analyse.vue create mode 100644 src/src/views/auth/monitor/bTab.vue create mode 100644 src/src/views/auth/monitor/cTab.vue create mode 100644 src/src/views/auth/monitor/index.vue create mode 100644 src/src/views/auth/monitor/tokenInfoList.vue create mode 100644 src/src/views/auth/third/index.vue create mode 100644 src/src/views/biz/dict/form.vue create mode 100644 src/src/views/biz/dict/index.vue create mode 100644 src/src/views/biz/extendedField/detail/form.vue create mode 100644 src/src/views/biz/extendedField/index.vue create mode 100644 src/src/views/biz/index/index.vue create mode 100644 src/src/views/biz/notice/detail.vue create mode 100644 src/src/views/biz/notice/form.vue create mode 100644 src/src/views/biz/notice/index.vue create mode 100644 src/src/views/biz/org/form.vue create mode 100644 src/src/views/biz/org/index.vue create mode 100644 src/src/views/biz/position/form.vue create mode 100644 src/src/views/biz/position/index.vue create mode 100644 src/src/views/biz/searchTags/form.vue create mode 100644 src/src/views/biz/searchTags/index.vue create mode 100644 src/src/views/biz/user/form.vue create mode 100644 src/src/views/biz/user/index.vue create mode 100644 src/src/views/dev/config/emailConfig/aliyunEmailForm.vue create mode 100644 src/src/views/dev/config/emailConfig/index.vue create mode 100644 src/src/views/dev/config/emailConfig/localEmailForm.vue create mode 100644 src/src/views/dev/config/emailConfig/tencentEmailForm.vue create mode 100644 src/src/views/dev/config/fileConfig/aliyunFileForm.vue create mode 100644 src/src/views/dev/config/fileConfig/index.vue create mode 100644 src/src/views/dev/config/fileConfig/localFileForm.vue create mode 100644 src/src/views/dev/config/fileConfig/minioFileForm.vue create mode 100644 src/src/views/dev/config/fileConfig/tencentFileForm.vue create mode 100644 src/src/views/dev/config/index.vue create mode 100644 src/src/views/dev/config/otherConfig/form.vue create mode 100644 src/src/views/dev/config/otherConfig/index.vue create mode 100644 src/src/views/dev/config/smsConfig/aliyunSmsForm.vue create mode 100644 src/src/views/dev/config/smsConfig/index.vue create mode 100644 src/src/views/dev/config/smsConfig/tencentSmsForm.vue create mode 100644 src/src/views/dev/config/smsConfig/xiaonuoSmsForm.vue create mode 100644 src/src/views/dev/config/sysConfig.vue create mode 100644 src/src/views/dev/config/thirdConfig/giteeThirdForm.vue create mode 100644 src/src/views/dev/config/thirdConfig/index.vue create mode 100644 src/src/views/dev/config/thirdConfig/wechatThirdForm.vue create mode 100644 src/src/views/dev/dict/category/bizIndex.vue create mode 100644 src/src/views/dev/dict/category/form.vue create mode 100644 src/src/views/dev/dict/category/frmIndex.vue create mode 100644 src/src/views/dev/dict/index.vue create mode 100644 src/src/views/dev/email/detail.vue create mode 100644 src/src/views/dev/email/form.vue create mode 100644 src/src/views/dev/email/index.vue create mode 100644 src/src/views/dev/email/send/aliyunEmailSend.vue create mode 100644 src/src/views/dev/email/send/localEmailSend.vue create mode 100644 src/src/views/dev/email/send/tencentEmailSend.vue create mode 100644 src/src/views/dev/file/detail.vue create mode 100644 src/src/views/dev/file/index.vue create mode 100644 src/src/views/dev/file/preview.vue create mode 100644 src/src/views/dev/file/uploadForm.vue create mode 100644 src/src/views/dev/job/form.vue create mode 100644 src/src/views/dev/job/index.vue create mode 100644 src/src/views/dev/log/oplog/columnChart.vue create mode 100644 src/src/views/dev/log/oplog/detail.vue create mode 100644 src/src/views/dev/log/oplog/index.vue create mode 100644 src/src/views/dev/log/oplog/pieChart.vue create mode 100644 src/src/views/dev/log/vislog/detail.vue create mode 100644 src/src/views/dev/log/vislog/index.vue create mode 100644 src/src/views/dev/log/vislog/lineChart.vue create mode 100644 src/src/views/dev/log/vislog/pieChart.vue create mode 100644 src/src/views/dev/message/detail.vue create mode 100644 src/src/views/dev/message/form.vue create mode 100644 src/src/views/dev/message/index.vue create mode 100644 src/src/views/dev/monitor/index.vue create mode 100644 src/src/views/dev/slideshow/form.vue create mode 100644 src/src/views/dev/slideshow/index.vue create mode 100644 src/src/views/dev/slideshow/subForm.vue create mode 100644 src/src/views/dev/sms/detail.vue create mode 100644 src/src/views/dev/sms/form.vue create mode 100644 src/src/views/dev/sms/index.vue create mode 100644 src/src/views/dev/sms/send/aliyunSmsSend.vue create mode 100644 src/src/views/dev/sms/send/tencentSmsSend.vue create mode 100644 src/src/views/dev/sms/send/xiaonuoSmsSend.vue create mode 100644 src/src/views/exm/chart/eCBingZhuangTu.vue create mode 100644 src/src/views/exm/chart/eCHengTiaoTu.vue create mode 100644 src/src/views/exm/chart/eCKXianTu.vue create mode 100644 src/src/views/exm/chart/eCLouDouTu.vue create mode 100644 src/src/views/exm/chart/eCSanDianTu.vue create mode 100644 src/src/views/exm/chart/eCShuXingTu.vue create mode 100644 src/src/views/exm/chart/eCXianXingTu.vue create mode 100644 src/src/views/exm/chart/eCYiBiaoTu.vue create mode 100644 src/src/views/exm/chart/eCZheZhuTu.vue create mode 100644 src/src/views/exm/chart/eCZhuZhuangTu.vue create mode 100644 src/src/views/exm/chart/g2BingZhuangTu.vue create mode 100644 src/src/views/exm/chart/g2CiYunTu.vue create mode 100644 src/src/views/exm/chart/g2JinDuTu.vue create mode 100644 src/src/views/exm/chart/g2LouDouTu.vue create mode 100644 src/src/views/exm/chart/g2MianJiTu.vue create mode 100644 src/src/views/exm/chart/g2SanDianTu.vue create mode 100644 src/src/views/exm/chart/g2TiaoXingTu.vue create mode 100644 src/src/views/exm/chart/g2ZheXianTu.vue create mode 100644 src/src/views/exm/chart/g2ZhuZhuangTu.vue create mode 100644 src/src/views/exm/chart/g2ZiDanTu.vue create mode 100644 src/src/views/exm/editor/index.vue create mode 100644 src/src/views/exm/iconSelect/index.vue create mode 100644 src/src/views/exm/map/baiduMap.vue create mode 100644 src/src/views/exm/map/gaodeMap.vue create mode 100644 src/src/views/exm/nestRoutor/index.vue create mode 100644 src/src/views/gen/basic.vue create mode 100644 src/src/views/gen/config.vue create mode 100644 src/src/views/gen/index.vue create mode 100644 src/src/views/gen/preview.vue create mode 100644 src/src/views/gen/steps.vue create mode 100644 src/src/views/index/index.vue create mode 100644 src/src/views/mobile/resource/button/form.vue create mode 100644 src/src/views/mobile/resource/button/index.vue create mode 100644 src/src/views/mobile/resource/menu/changeModuleForm.vue create mode 100644 src/src/views/mobile/resource/menu/form.vue create mode 100644 src/src/views/mobile/resource/menu/index.vue create mode 100644 src/src/views/mobile/resource/module/form.vue create mode 100644 src/src/views/mobile/resource/module/index.vue create mode 100644 src/src/views/other/index.vue create mode 100644 src/src/views/productionBusiness/basicData/brand/columns/brandColumns.js create mode 100644 src/src/views/productionBusiness/basicData/brand/detail/index.vue create mode 100644 src/src/views/productionBusiness/basicData/brand/formFields/detailFields.js create mode 100644 src/src/views/productionBusiness/basicData/brand/formFields/searchFields.js create mode 100644 src/src/views/productionBusiness/basicData/brand/index.vue create mode 100644 src/src/views/productionBusiness/basicData/client/columns/clientColumn.js create mode 100644 src/src/views/productionBusiness/basicData/client/detail/CustomerCategoryForm.vue create mode 100644 src/src/views/productionBusiness/basicData/client/detail/index.vue create mode 100644 src/src/views/productionBusiness/basicData/client/formFields/detailFields.js create mode 100644 src/src/views/productionBusiness/basicData/client/formFields/drawerForm.js create mode 100644 src/src/views/productionBusiness/basicData/client/formFields/searchFields.js create mode 100644 src/src/views/productionBusiness/basicData/client/index.vue create mode 100644 src/src/views/productionBusiness/basicData/employee/detail/index.vue create mode 100644 src/src/views/productionBusiness/basicData/employee/index.vue create mode 100644 src/src/views/productionBusiness/basicData/materiel/column/materiel-column.js create mode 100644 src/src/views/productionBusiness/basicData/materiel/detail/index.vue create mode 100644 src/src/views/productionBusiness/basicData/materiel/detail/materialCategoryForm.vue create mode 100644 src/src/views/productionBusiness/basicData/materiel/formFields/detailFields.js create mode 100644 src/src/views/productionBusiness/basicData/materiel/formFields/drawerForm.js create mode 100644 src/src/views/productionBusiness/basicData/materiel/formFields/searchFields.js create mode 100644 src/src/views/productionBusiness/basicData/materiel/index.vue create mode 100644 src/src/views/productionBusiness/basicData/publicAccount/columns/publicAccountColumn.js create mode 100644 src/src/views/productionBusiness/basicData/publicAccount/detail/index.vue create mode 100644 src/src/views/productionBusiness/basicData/publicAccount/formFields/detailFields.js create mode 100644 src/src/views/productionBusiness/basicData/publicAccount/formFields/searchFields.js create mode 100644 src/src/views/productionBusiness/basicData/publicAccount/index.vue create mode 100644 src/src/views/productionBusiness/basicData/stash/columns/brandColumns.js create mode 100644 src/src/views/productionBusiness/basicData/stash/detail/index.vue create mode 100644 src/src/views/productionBusiness/basicData/stash/formFields/detailFields.js create mode 100644 src/src/views/productionBusiness/basicData/stash/formFields/searchFields.js create mode 100644 src/src/views/productionBusiness/basicData/stash/index.vue create mode 100644 src/src/views/productionBusiness/basicData/tissue/column/tissueColumn.js create mode 100644 src/src/views/productionBusiness/basicData/tissue/detail/TissueForm.vue create mode 100644 src/src/views/productionBusiness/basicData/tissue/detail/index.vue create mode 100644 src/src/views/productionBusiness/basicData/tissue/formFields/searchFields.js create mode 100644 src/src/views/productionBusiness/basicData/tissue/index.vue create mode 100644 src/src/views/productionBusiness/basicData/unit/columns/unitColumns.js create mode 100644 src/src/views/productionBusiness/basicData/unit/detail/UnitGroupForm.vue create mode 100644 src/src/views/productionBusiness/basicData/unit/detail/index.vue create mode 100644 src/src/views/productionBusiness/basicData/unit/formFields/detailFields.js create mode 100644 src/src/views/productionBusiness/basicData/unit/formFields/drawerForm.js create mode 100644 src/src/views/productionBusiness/basicData/unit/formFields/searchFields.js create mode 100644 src/src/views/productionBusiness/basicData/unit/index.vue create mode 100644 src/src/views/productionBusiness/employee/personnel/detail/index.vue create mode 100644 src/src/views/productionBusiness/employee/personnel/detail/personnelCategoryForm.vue create mode 100644 src/src/views/productionBusiness/employee/personnel/index.vue create mode 100644 src/src/views/productionBusiness/employee/personnelReport/detail/addPersonnelItem.vue create mode 100644 src/src/views/productionBusiness/employee/personnelReport/detail/index.vue create mode 100644 src/src/views/productionBusiness/employee/personnelReport/detail/personnelForm.vue create mode 100644 src/src/views/productionBusiness/employee/personnelReport/index.vue create mode 100644 src/src/views/productionBusiness/productionCenter/report/columns/detailColumns.js create mode 100644 src/src/views/productionBusiness/productionCenter/report/columns/reportColumns.js create mode 100644 src/src/views/productionBusiness/productionCenter/report/detail/index.vue create mode 100644 src/src/views/productionBusiness/productionCenter/report/formFields/detailFields.js create mode 100644 src/src/views/productionBusiness/productionCenter/report/formFields/searchFields.js create mode 100644 src/src/views/productionBusiness/productionCenter/report/index.vue create mode 100644 src/src/views/productionBusiness/productionCenter/task/detail/index.vue create mode 100644 src/src/views/productionBusiness/productionCenter/task/formItems/index.js create mode 100644 src/src/views/productionBusiness/productionCenter/task/index.vue create mode 100644 src/src/views/sys/org/form.vue create mode 100644 src/src/views/sys/org/index.vue create mode 100644 src/src/views/sys/position/form.vue create mode 100644 src/src/views/sys/position/index.vue create mode 100644 src/src/views/sys/resource/button/form.vue create mode 100644 src/src/views/sys/resource/button/index.vue create mode 100644 src/src/views/sys/resource/field/form.vue create mode 100644 src/src/views/sys/resource/field/index.vue create mode 100644 src/src/views/sys/resource/menu/changeModuleForm.vue create mode 100644 src/src/views/sys/resource/menu/form.vue create mode 100644 src/src/views/sys/resource/menu/index.vue create mode 100644 src/src/views/sys/resource/module/form.vue create mode 100644 src/src/views/sys/resource/module/index.vue create mode 100644 src/src/views/sys/role/form.vue create mode 100644 src/src/views/sys/role/grantMobileResourceForm.vue create mode 100644 src/src/views/sys/role/grantPermissionForm.vue create mode 100644 src/src/views/sys/role/grantResourceForm.vue create mode 100644 src/src/views/sys/role/index.vue create mode 100644 src/src/views/sys/role/scopeDefineOrg.vue create mode 100644 src/src/views/sys/user/form.vue create mode 100644 src/src/views/sys/user/grantPermissionForm.vue create mode 100644 src/src/views/sys/user/grantResourceForm.vue create mode 100644 src/src/views/sys/user/impExp.vue create mode 100644 src/src/views/sys/user/index.vue create mode 100644 src/src/views/sys/user/scopeDefineOrg.vue create mode 100644 src/src/views/sys/user/userCenter.vue create mode 100644 src/src/views/sys/user/userTab/accountBasic.vue create mode 100644 src/src/views/sys/user/userTab/accountBind.vue create mode 100644 src/src/views/sys/user/userTab/bindForm/updatePassword.vue create mode 100644 src/src/views/sys/user/userTab/organizationChart.vue create mode 100644 src/src/views/sys/user/userTab/shortcutSetting.vue create mode 100644 src/src/views/sys/user/userTab/userMessage.vue create mode 100644 src/src/views/sys/user/userTab/userMessage/detail.vue create mode 100644 src/views/productionBusiness/basicData/brand/formFields/detailFields.js create mode 100644 src/views/productionBusiness/basicData/brand/formFields/searchFields.js create mode 100644 src/views/productionBusiness/basicData/client/columns/clientColumn.js create mode 100644 src/views/productionBusiness/basicData/client/formFields/detailFields.js create mode 100644 src/views/productionBusiness/basicData/client/formFields/drawerForm.js create mode 100644 src/views/productionBusiness/basicData/client/formFields/searchFields.js create mode 100644 src/views/productionBusiness/basicData/publicAccount/formFields/detailFields.js create mode 100644 src/views/productionBusiness/basicData/publicAccount/formFields/searchFields.js create mode 100644 src/views/productionBusiness/basicData/stash/formFields/detailFields.js create mode 100644 src/views/productionBusiness/basicData/stash/formFields/searchFields.js create mode 100644 src/views/productionBusiness/basicData/tissue/column/tissueColumn.js create mode 100644 src/views/productionBusiness/basicData/tissue/formFields/searchFields.js create mode 100644 src/views/productionBusiness/productionCenter/report/columns/detailColumns.js create mode 100644 src/views/productionBusiness/productionCenter/report/columns/reportColumns.js create mode 100644 src/views/productionBusiness/productionCenter/report/formFields/detailFields.js create mode 100644 src/views/productionBusiness/productionCenter/report/formFields/searchFields.js diff --git a/src/api/production/produceReport/produceReportApi.js b/src/api/production/produceReport/produceReportApi.js new file mode 100644 index 0000000..5117b1a --- /dev/null +++ b/src/api/production/produceReport/produceReportApi.js @@ -0,0 +1,28 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/produce/report/` + url, ...arg) + +/** + * 生产汇报单Api接口管理器 + * + * @author Luck + * @date 2024/08/15 10:56 + **/ +export default { + // 获取生产汇报单分页 + produceReportPage(data) { + return request('page', data, 'get') + }, + // 提交生产汇报单表单 edit为true时为编辑,默认为新增 + produceReportSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除生产汇报单 + produceReportDelete(data) { + return request('delete', data) + }, + // 获取生产汇报单详情 + produceReportDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/api/production/produceTask/producePackageBarcodeApi.js b/src/api/production/produceTask/producePackageBarcodeApi.js new file mode 100644 index 0000000..0040385 --- /dev/null +++ b/src/api/production/produceTask/producePackageBarcodeApi.js @@ -0,0 +1,39 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/produce/barcode/` + url, ...arg) + +/** + * 生产产品包装条码Api接口管理器 + * + * @author Luck + * @date 2024/08/16 14:50 + **/ +export default { + // 获取生产产品包装条码分页 + producePackageBarcodePage(data) { + return request('page', data, 'get') + }, + // 根据汇报单明细 获取条码树结构 + produceReportDetailTree(data) { + return request('reportDetail/tree', data, 'get') + }, + // 提交生产产品包装条码表单 edit为true时为编辑,默认为新增 + producePackageBarcodeSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除生产产品包装条码 + producePackageBarcodeDelete(data) { + return request('delete', data) + }, + // 获取生产产品包装条码详情 + producePackageBarcodeDetail(data) { + return request('detail', data, 'get') + }, + producePackageBarcodeTreeList(data) { + return request('tree/list', data, 'get') + }, + producePackageBarcodeTreeChildrenList(data) { + return request('tree/childrenList', data, 'get') + }, + +} diff --git a/src/api/production/produceTask/produceReportApi.js b/src/api/production/produceTask/produceReportApi.js new file mode 100644 index 0000000..66b8687 --- /dev/null +++ b/src/api/production/produceTask/produceReportApi.js @@ -0,0 +1,28 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/produce/report/` + url, ...arg) + +/** + * 生产汇报单Api接口管理器 + * + * @author Luck + * @date 2024/08/16 13:50 + **/ +export default { + // 获取生产汇报单分页 + produceReportPage(data) { + return request('page', data, 'get') + }, + // 提交生产汇报单表单 edit为true时为编辑,默认为新增 + produceReportSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除生产汇报单 + produceReportDelete(data) { + return request('delete', data) + }, + // 获取生产汇报单详情 + produceReportDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/api/production/produceTask/produceReportDetailApi.js b/src/api/production/produceTask/produceReportDetailApi.js new file mode 100644 index 0000000..29b300d --- /dev/null +++ b/src/api/production/produceTask/produceReportDetailApi.js @@ -0,0 +1,28 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/produce/reportDetail/` + url, ...arg) + +/** + * 生产汇报单明细Api接口管理器 + * + * @author Luck + * @date 2024/08/17 21:38 + **/ +export default { + // 获取生产汇报单明细分页 + produceReportDetailPage(data) { + return request('list', data, 'get') + }, + // 提交生产汇报单明细表单 edit为true时为编辑,默认为新增 + produceReportDetailSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除生产汇报单明细 + produceReportDetailDelete(data) { + return request('delete', data) + }, + // 获取生产汇报单明细详情 + produceReportDetailDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/components/DynamicSearchForm/index.vue b/src/components/DynamicSearchForm/index.vue new file mode 100644 index 0000000..a9d0503 --- /dev/null +++ b/src/components/DynamicSearchForm/index.vue @@ -0,0 +1,56 @@ + + + + + diff --git a/src/components/DynamicTable/index.vue b/src/components/DynamicTable/index.vue new file mode 100644 index 0000000..d9b6479 --- /dev/null +++ b/src/components/DynamicTable/index.vue @@ -0,0 +1,145 @@ + + + + + diff --git a/src/src/App.vue b/src/src/App.vue new file mode 100644 index 0000000..9fa7dfa --- /dev/null +++ b/src/src/App.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/src/api/auth/loginApi.js b/src/src/api/auth/loginApi.js new file mode 100644 index 0000000..dadcfa1 --- /dev/null +++ b/src/src/api/auth/loginApi.js @@ -0,0 +1,45 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { moduleRequest } from '@/utils/request' + +const request = moduleRequest(`/auth/b/`) +/** + * 登录 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // B端获取图片验证码 + getPicCaptcha(data) { + return request('getPicCaptcha', data, 'get') + }, + // B端获取手机验证码 + getPhoneValidCode(data) { + return request('getPhoneValidCode', data, 'get') + }, + // B端账号密码登录 + login(data) { + return request('doLogin', data, 'post', false) + }, + // B端手机验证码登录 + loginByPhone(data) { + return request('doLoginByPhone', data, 'post', false) + }, + // 退出 + logout(data) { + return request('doLogout', data, 'get') + }, + // 获取用户信息 + getLoginUser(data) { + return request('getLoginUser', data, 'get') + } +} diff --git a/src/src/api/auth/monitorApi.js b/src/src/api/auth/monitorApi.js new file mode 100644 index 0000000..984c8f3 --- /dev/null +++ b/src/src/api/auth/monitorApi.js @@ -0,0 +1,49 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/auth/` + url, ...arg) +/** + * 绘画 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 会话统计 + monitorAnalysis(data) { + return request('session/analysis', data, 'get') + }, + // 获取会话分页 + monitorBPage(data) { + return request('session/b/page', data, 'get') + }, + // 获取会话分页 + monitorCPage(data) { + return request('session/c/page', data, 'get') + }, + // 强退B端session + monitorBExit(data) { + return request('session/b/exit', data) + }, + // 强退C端session + monitorCExit(data) { + return request('session/c/exit', data) + }, + // 强退B端token + monitorTokenBExit(data) { + return request('token/b/exit', data) + }, + // 强退C端token + monitorTokenCExit(data) { + return request('token/c/exit', data) + } +} diff --git a/src/src/api/auth/oauthApi.js b/src/src/api/auth/oauthApi.js new file mode 100644 index 0000000..bb0c219 --- /dev/null +++ b/src/src/api/auth/oauthApi.js @@ -0,0 +1,29 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/auth/third/` + url, ...arg) +/** + * 三方登录 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 第三方登录页面渲染 + thirdRender(data) { + return request('render', data, 'get') + }, + // 第三方登录授权回调 + thirdCallback(data) { + return request('callback', data, 'get') + } +} diff --git a/src/src/api/auth/thirdApi.js b/src/src/api/auth/thirdApi.js new file mode 100644 index 0000000..1a01c44 --- /dev/null +++ b/src/src/api/auth/thirdApi.js @@ -0,0 +1,33 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/auth/third/` + url, ...arg) +/** + * 三方用户 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取三方用户分页 + thirdPage(data) { + return request('page', data, 'get') + }, + // 第三方登录页面渲染 + thirdRender(data) { + return request('render', data, 'get') + }, + // 第三方登录授权回调 + thirdCallback(data) { + return request('callback', data, 'get') + } +} diff --git a/src/src/api/base/brand/sysBrandApi.js b/src/src/api/base/brand/sysBrandApi.js new file mode 100644 index 0000000..fc30e23 --- /dev/null +++ b/src/src/api/base/brand/sysBrandApi.js @@ -0,0 +1,32 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/base/brand/` + url, ...arg) + +/** + * 品牌Api接口管理器 + * + * @author Luck + * @date 2024/07/23 16:20 + **/ +export default { + // 获取品牌分页 + page(data) { + return request('page', data, 'get') + }, + // 获取品牌列表 + sysBrandList(data) { + return request('list', data, 'get') + }, + // 提交品牌表单 edit为true时为编辑,默认为新增 + sysBrandSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除品牌 + sysBrandDelete(data) { + return request('delete', data) + }, + // 获取品牌详情 + sysBrandDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/base/customer/customerApi.js b/src/src/api/base/customer/customerApi.js new file mode 100644 index 0000000..b756b69 --- /dev/null +++ b/src/src/api/base/customer/customerApi.js @@ -0,0 +1,32 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/base/customer/` + url, ...arg) + +/** + * 客户Api接口管理器 + * + * @author Luck + * @date 2024/07/23 16:31 + **/ +export default { + // 获取客户分页 + customerPage(data) { + return request('page', data, 'get') + }, + // 获取销售区域列表 + customerSaleAreaList(data) { + return request('saleArea/list', data, 'get') + }, + // 提交客户表单 edit为true时为编辑,默认为新增 + customerSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除客户 + customerDelete(data) { + return request('delete', data) + }, + // 获取客户详情 + customerDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/base/customer/customerCategoryApi.js b/src/src/api/base/customer/customerCategoryApi.js new file mode 100644 index 0000000..81f32c6 --- /dev/null +++ b/src/src/api/base/customer/customerCategoryApi.js @@ -0,0 +1,32 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/base/customerCategory/` + url, ...arg) + +/** + * 客户分类Api接口管理器 + * + * @author Luck + * @date 2024/07/23 17:02 + **/ +export default { + // 获取客户分类分页 + customerCategoryPage(data) { + return request('page', data, 'get') + }, + // 获取树结构 + customerCategoryTree(data) { + return request('tree', data, 'get') + }, + // 提交客户分类表单 edit为true时为编辑,默认为新增 + customerCategorySubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除客户分类 + customerCategoryDelete(data) { + return request('delete', data) + }, + // 获取客户分类详情 + customerCategoryDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/base/employee/employeeApi.js b/src/src/api/base/employee/employeeApi.js new file mode 100644 index 0000000..081aa8f --- /dev/null +++ b/src/src/api/base/employee/employeeApi.js @@ -0,0 +1,32 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/base/employee/` + url, ...arg) + +/** + * 员工Api接口管理器 + * + * @author Luck + * @date 2024/07/23 17:31 + **/ +export default { + // 获取员工分页 + employeePage(data) { + return request('page', data, 'get') + }, + // 提交员工表单 edit为true时为编辑,默认为新增 + employeeSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除员工 + employeeDelete(data) { + return request('delete', data) + }, + // 获取员工详情 + employeeDetail(data) { + return request('detail', data, 'get') + }, + // 添加员工基本信息 + employeeAddShort(data) { + return request('addShort', data, 'post') + } +} diff --git a/src/src/api/base/employee/employeeCategoryApi.js b/src/src/api/base/employee/employeeCategoryApi.js new file mode 100644 index 0000000..3474868 --- /dev/null +++ b/src/src/api/base/employee/employeeCategoryApi.js @@ -0,0 +1,32 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/base/employeeCategory/` + url, ...arg) + +/** + * 员工分类Api接口管理器 + * + * @author Luck + * @date 2024/07/23 17:05 + **/ +export default { + // 获取员工分类分页 + employeeCategoryPage(data) { + return request('page', data, 'get') + }, + // 获取员工分类 树结构 + employeeCategoryTree(data) { + return request('tree', data, 'get') + }, + // 提交员工分类表单 edit为true时为编辑,默认为新增 + employeeCategorySubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除员工分类 + employeeCategoryDelete(data) { + return request('delete', data) + }, + // 获取员工分类详情 + employeeCategoryDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/base/extendfield/extendFieldApi.js b/src/src/api/base/extendfield/extendFieldApi.js new file mode 100644 index 0000000..93519ef --- /dev/null +++ b/src/src/api/base/extendfield/extendFieldApi.js @@ -0,0 +1,28 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/base/extendfield/` + url, ...arg) + +/** + * 扩展字段配置Api接口管理器 + * + * @author Luck + * @date 2024/07/28 17:18 + **/ +export default { + // 获取扩展字段配置分页 + extendFieldPage(data) { + return request('page', data, 'get') + }, + // 提交扩展字段配置表单 edit为true时为编辑,默认为新增 + extendFieldSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 获取扩展字段配置详情 + extendFieldDetail(data) { + return request('detail', data, 'get') + }, + // 获取扩展字段配置列表(根据分类) + extendFieldTypeList(data) { + return request('typeList', data, 'get') + } +} diff --git a/src/src/api/base/manual-task/manualTaskApi.js b/src/src/api/base/manual-task/manualTaskApi.js new file mode 100644 index 0000000..b802668 --- /dev/null +++ b/src/src/api/base/manual-task/manualTaskApi.js @@ -0,0 +1,36 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/produce/manualtask/` + url, ...arg) + +/** + * 手工任务单Api接口管理器 + * + * @author Luck + * @date 2024/08/06 16:54 + **/ +export default { + // 获取手工任务单分页 + manualTaskPage(data) { + return request('page', data, 'get') + }, + // 获取手工任务单【详情】分页 + manualTaskDetailPage(data) { + return request('/detail/page', data, 'get') + }, + // 提交手工任务单表单 edit为true时为编辑,默认为新增 + manualTaskSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 提交 保存任务单 标签、备注信息 + manualTaskSaveTag(data) { + return request('saveTag', data) + }, + // 删除手工任务单 + manualTaskDelete(data) { + return request('delete', data) + }, + // 获取手工任务单详情 + manualTaskDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/base/manual-task/manualTaskDetailApi.js b/src/src/api/base/manual-task/manualTaskDetailApi.js new file mode 100644 index 0000000..9f41fad --- /dev/null +++ b/src/src/api/base/manual-task/manualTaskDetailApi.js @@ -0,0 +1,28 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/produce/manualtaskdetail/` + url, ...arg) + +/** + * 手工任务单详情Api接口管理器 + * + * @author Luck + * @date 2024/08/06 17:10 + **/ +export default { + // 获取手工任务单详情分页 + manualTaskDetailPage(data) { + return request('page', data, 'get') + }, + // 提交手工任务单详情表单 edit为true时为编辑,默认为新增 + manualTaskDetailSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除手工任务单详情 + manualTaskDetailDelete(data) { + return request('delete', data) + }, + // 获取手工任务单详情详情 + manualTaskDetailDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/base/manual-task/manualTaskTagApi.js b/src/src/api/base/manual-task/manualTaskTagApi.js new file mode 100644 index 0000000..f849350 --- /dev/null +++ b/src/src/api/base/manual-task/manualTaskTagApi.js @@ -0,0 +1,32 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/produce/manualtasktag/` + url, ...arg) + +/** + * 手工任务单标签Api接口管理器 + * + * @author Luck + * @date 2024/08/06 18:28 + **/ +export default { + // 获取手工任务单标签分页 + manualTaskTagPage(data) { + return request('page', data, 'get') + }, + // 获取手工任务单标签 列表 + manualTaskTagList(data) { + return request('list', data, 'get') + }, + // 提交手工任务单标签表单 edit为true时为编辑,默认为新增 + manualTaskTagSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除手工任务单标签 + manualTaskTagDelete(data) { + return request('delete', data) + }, + // 获取手工任务单标签详情 + manualTaskTagDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/base/material/materialApi.js b/src/src/api/base/material/materialApi.js new file mode 100644 index 0000000..e34d881 --- /dev/null +++ b/src/src/api/base/material/materialApi.js @@ -0,0 +1,32 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/base/material/` + url, ...arg) + +/** + * 物料Api接口管理器 + * + * @author Luck + * @date 2024/07/24 19:54 + **/ +export default { + // 获取物料分页 + materialPage(data) { + return request('page', data, 'get') + }, + // 获取物料 -- 物料包装数据 + materialPackageData(data) { + return request('package/data', data, 'get') + }, + // 提交物料表单 edit为true时为编辑,默认为新增 + materialSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除物料 + materialDelete(data) { + return request('delete', data) + }, + // 获取物料详情 + materialDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/base/material/materialCategoryApi.js b/src/src/api/base/material/materialCategoryApi.js new file mode 100644 index 0000000..5c32f5e --- /dev/null +++ b/src/src/api/base/material/materialCategoryApi.js @@ -0,0 +1,32 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/base/materialCategory/` + url, ...arg) + +/** + * 物料分类Api接口管理器 + * + * @author Luck + * @date 2024/07/24 19:35 + **/ +export default { + // 获取物料分类分页 + materialCategoryPage(data) { + return request('page', data, 'get') + }, + // 获取物料分类 树结构 + materialCategoryTree(data) { + return request('tree', data, 'get') + }, + // 提交物料分类表单 edit为true时为编辑,默认为新增 + materialCategorySubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除物料分类 + materialCategoryDelete(data) { + return request('delete', data) + }, + // 获取物料分类详情 + materialCategoryDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/base/production-organization/productionOrganizationApi.js b/src/src/api/base/production-organization/productionOrganizationApi.js new file mode 100644 index 0000000..f3e0451 --- /dev/null +++ b/src/src/api/base/production-organization/productionOrganizationApi.js @@ -0,0 +1,36 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/base/productionorganization/` + url, ...arg) + +/** + * 生产组织Api接口管理器 + * + * @author Luck + * @date 2024/07/23 15:26 + **/ +export default { + // 获取生产组织分页 + productionOrganizationPage(data) { + return request('page', data, 'get') + }, + // 获取生产组织 列表 + productionOrganizationList(data) { + return request('list', data, 'get') + }, + // 获取生产组织 树结构 + productionOrganizationTree(data) { + return request('tree', data, 'get') + }, + // 提交生产组织表单 edit为true时为编辑,默认为新增 + productionOrganizationSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除生产组织 + productionOrganizationDelete(data) { + return request('delete', data) + }, + // 获取生产组织详情 + productionOrganizationDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/base/store/sysStoreApi.js b/src/src/api/base/store/sysStoreApi.js new file mode 100644 index 0000000..cd38569 --- /dev/null +++ b/src/src/api/base/store/sysStoreApi.js @@ -0,0 +1,32 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/base/store/` + url, ...arg) + +/** + * 仓库Api接口管理器 + * + * @author Luck + * @date 2024/07/25 13:42 + **/ +export default { + // 获取仓库分页 + page(data) { + return request('page', data, 'get') + }, + // 提交仓库表单 edit为true时为编辑,默认为新增 + sysStoreSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除仓库 + sysStoreDelete(data) { + return request('delete', data) + }, + // 获取仓库详情 + sysStoreDetail(data) { + return request('detail', data, 'get') + }, + // 获取仓库树结构 + sysStoreTree(data) { + return request('tree', data, 'get') + }, +} diff --git a/src/src/api/base/unit/unitApi.js b/src/src/api/base/unit/unitApi.js new file mode 100644 index 0000000..41360c4 --- /dev/null +++ b/src/src/api/base/unit/unitApi.js @@ -0,0 +1,32 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/base/sysunit/` + url, ...arg) + +/** + * 单位Api接口管理器 + * + * @author Luck + * @date 2024/07/23 11:36 + **/ +export default { + // 获取单位分页 + sysUnitPage(data) { + return request('page', data, 'get') + }, + // 提交单位表单 edit为true时为编辑,默认为新增 + sysUnitSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除单位 + sysUnitDelete(data) { + return request('delete', data) + }, + // 获取单位详情 + sysUnitDetail(data) { + return request('detail', data, 'get') + }, + // 获取单位列表 + sysUnitList(data) { + return request(`groupList`, data, 'get') + }, +} diff --git a/src/src/api/base/unit/unitGroupsApi.js b/src/src/api/base/unit/unitGroupsApi.js new file mode 100644 index 0000000..753c0ef --- /dev/null +++ b/src/src/api/base/unit/unitGroupsApi.js @@ -0,0 +1,32 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/base/sysunitgroup/` + url, ...arg) + +/** + * 单位组Api接口管理器 + * + * @author Luck + * @date 2024/07/26 10:46 + **/ +export default { + // 获取单位组分页 + sysUnitGroupPage(data) { + return request('page', data, 'get') + }, + // 提交单位组表单 edit为true时为编辑,默认为新增 + sysUnitGroupSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除单位组 + sysUnitGroupDelete(data) { + return request('delete', data) + }, + // 获取单位组详情 + sysUnitGroupDetail(data) { + return request('detail', data, 'get') + }, + // 单位组列表 + sysUnitGroupList(data) { + return request('list', data, 'get') + }, +} diff --git a/src/src/api/base/wx/officialAccountApi.js b/src/src/api/base/wx/officialAccountApi.js new file mode 100644 index 0000000..97c6e15 --- /dev/null +++ b/src/src/api/base/wx/officialAccountApi.js @@ -0,0 +1,32 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/wx/officialaccount/` + url, ...arg) + +/** + * 公众号Api接口管理器 + * + * @author Luck + * @date 2024/07/25 11:03 + **/ +export default { + // 获取公众号分页 + page(data) { + return request('page', data, 'get') + }, + // 提交公众号表单 edit为true时为编辑,默认为新增 + officialAccountSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除公众号 + officialAccountDelete(data) { + return request('delete', data) + }, + // 获取公众号详情 + officialAccountDetail(data) { + return request('detail', data, 'get') + }, + // 获取公众号详情 + officialAccountList(data) { + return request('list', data, 'get') + } +} diff --git a/src/src/api/biz/bizDictApi.js b/src/src/api/biz/bizDictApi.js new file mode 100644 index 0000000..cc49cc0 --- /dev/null +++ b/src/src/api/biz/bizDictApi.js @@ -0,0 +1,37 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/biz/dict/` + url, ...arg) +/** + * 字典 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取业务字典分页 + dictPage(data) { + return request('page', data, 'get') + }, + // 获取业务字典树 + dictTree(data) { + return request('tree', data, 'get') + }, + // 获取所有字典树 + dictTreeAll(data) { + return request('treeAll', data, 'get') + }, + // 编辑业务字典 + submitForm(data) { + return request('edit', data) + } +} diff --git a/src/src/api/biz/bizIndexApi.js b/src/src/api/biz/bizIndexApi.js new file mode 100644 index 0000000..f1ded64 --- /dev/null +++ b/src/src/api/biz/bizIndexApi.js @@ -0,0 +1,24 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/biz/index/` + url, ...arg) + +/** + * 业务主页Api接口管理器 + * + * @author yubaoshan + * @date 2024/07/11 14:46 + **/ +export default { + // 获取轮播图列表 + bizIndexSlideshowList(data) { + return request('slideshow/list', data, 'get') + }, + // 获取通知公告列表 + bizIndexNoticeList(data) { + return request('notice/list', data, 'get') + }, + // 获取通知公告详情 + bizIndexNoticeDetail(data) { + return request('notice/detail', data, 'get') + } +} diff --git a/src/src/api/biz/bizNoticeApi.js b/src/src/api/biz/bizNoticeApi.js new file mode 100644 index 0000000..c75200b --- /dev/null +++ b/src/src/api/biz/bizNoticeApi.js @@ -0,0 +1,36 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/biz/notice/` + url, ...arg) + +/** + * 通知公告Api接口管理器 + * + * @author yubaoshan + * @date 2024/07/11 14:46 + **/ +export default { + // 获取通知公告分页 + bizNoticePage(data) { + return request('page', data, 'get') + }, + // 提交通知公告表单 edit为true时为编辑,默认为新增 + bizNoticeSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除通知公告 + bizNoticeDelete(data) { + return request('delete', data) + }, + // 获取通知公告详情 + bizNoticeDetail(data) { + return request('detail', data, 'get') + }, + // 禁用通知公告 + bizNoticeDisableStatus(data) { + return request('disableStatus', data) + }, + // 启用通知公告 + bizNoticeEnableStatus(data) { + return request('enableStatus', data) + } +} diff --git a/src/src/api/biz/bizOrgApi.js b/src/src/api/biz/bizOrgApi.js new file mode 100644 index 0000000..bca4ea8 --- /dev/null +++ b/src/src/api/biz/bizOrgApi.js @@ -0,0 +1,53 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/biz/org/` + url, ...arg) +/** + * 机构 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取机构分页 + orgPage(data) { + return request('page', data, 'get') + }, + // 获取机构列表 + orgList(data) { + return request('list', data, 'get') + }, + // 获取机构树 + orgTree(data) { + return request('tree', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除机构 + orgDelete(data) { + return request('delete', data) + }, + // 获取机构详情 + orgDetail(data) { + return request('detail', data, 'get') + }, + // 获取机构树选择器 + orgTreeSelector(data) { + return request('orgTreeSelector', data, 'get') + }, + // 获取人员选择器 + orgUserSelector(data) { + return request('userSelector', data, 'get') + } +} diff --git a/src/src/api/biz/bizPositionApi.js b/src/src/api/biz/bizPositionApi.js new file mode 100644 index 0000000..bf78532 --- /dev/null +++ b/src/src/api/biz/bizPositionApi.js @@ -0,0 +1,49 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/biz/position/` + url, ...arg) +/** + * 岗位 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取岗位分页 + positionPage(data) { + return request('page', data, 'get') + }, + // 获取岗位列表 + positionList(data) { + return request('list', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除岗位 + positionDelete(data) { + return request('delete', data) + }, + // 获取岗位详情 + positionDetail(data) { + return request('detail', data, 'get') + }, + // 获取机构树选择器 + positionOrgTreeSelector(data) { + return request('orgTreeSelector', data, 'get') + }, + // 获取岗位选择器 + positionPositionSelector(data) { + return request('positionSelector', data, 'get') + } +} diff --git a/src/src/api/biz/bizUserApi.js b/src/src/api/biz/bizUserApi.js new file mode 100644 index 0000000..afc81d8 --- /dev/null +++ b/src/src/api/biz/bizUserApi.js @@ -0,0 +1,85 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/biz/user/` + url, ...arg) +/** + * 人员接口api + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取人员分页 + userPage(data) { + return request('page', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除人员 + userDelete(data) { + return request('delete', data) + }, + // 获取人员详情 + userDetail(data) { + return request('detail', data, 'get') + }, + // 禁用人员 + userDisableUser(data) { + return request('disableUser', data) + }, + // 启用人员 + userEnableUser(data) { + return request('enableUser', data) + }, + // 重置人员密码 + userResetPassword(data) { + return request('resetPassword', data) + }, + // 获取组织选择器 + userOrgTreeSelector(data) { + return request('orgTreeSelector', data, 'get') + }, + // 获取职位选择器 + userPositionSelector(data) { + return request('positionSelector', data, 'get') + }, + // 获取角色选择器 + userRoleSelector(data) { + return request('roleSelector', data, 'get') + }, + // 获取人员选择器 + userSelector(data) { + return request('userSelector', data, 'get') + }, + // 人员拥有角色 + userOwnRole(data) { + return request('ownRole', data, 'get') + }, + // 给人员授权角色 + grantRole(data) { + return request('grantRole', data) + }, + // 人员导出 + userExport(data) { + return request('export', data, 'get', { + responseType: 'blob' + }) + }, + // 导出人员个人信息 + userExportUserInfo(data) { + return request('exportUserInfo', data, 'get', { + responseType: 'blob' + }) + } +} diff --git a/src/src/api/biz/produceTagApi.js b/src/src/api/biz/produceTagApi.js new file mode 100644 index 0000000..a16b4d0 --- /dev/null +++ b/src/src/api/biz/produceTagApi.js @@ -0,0 +1,32 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/produce/tag/` + url, ...arg) + +/** + * 生产标签Api接口管理器 + * + * @author Luck + * @date 2024/08/07 22:07 + **/ +export default { + // 获取生产标签分页 + produceTagPage(data) { + return request('page', data, 'get') + }, + // 获取生产标签 列表 + produceTagList(data) { + return request('list', data, 'get') + }, + // 提交生产标签表单 edit为true时为编辑,默认为新增 + produceTagSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除生产标签 + produceTagDelete(data) { + return request('delete', data) + }, + // 获取生产标签详情 + produceTagDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/dev/configApi.js b/src/src/api/dev/configApi.js new file mode 100644 index 0000000..736fb83 --- /dev/null +++ b/src/src/api/dev/configApi.js @@ -0,0 +1,49 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/dev/config/` + url, ...arg) +/** + * 配置 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取配置分页 + configPage(data) { + return request('page', data, 'get') + }, + // 获取配置列表 + configList(data) { + return request('list', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除配置 + configDelete(data) { + return request('delete', data) + }, + // 获取配置详情 + configDetail(data) { + return request('detail', data, 'get') + }, + // 配置批量更新 + configEditForm(data) { + return request('editBatch', data) + }, + // 获取系统基础配置 + configSysBaseList(data) { + return request('sysBaseList', data, 'get') + } +} diff --git a/src/src/api/dev/dictApi.js b/src/src/api/dev/dictApi.js new file mode 100644 index 0000000..b4defe6 --- /dev/null +++ b/src/src/api/dev/dictApi.js @@ -0,0 +1,45 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/dev/dict/` + url, ...arg) +/** + * 字典 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取字典分页 + dictPage(data) { + return request('page', data, 'get') + }, + // 获取字典列表 + dictList(data) { + return request('list', data, 'get') + }, + // 获取字典树 + dictTree(data) { + return request('tree', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除字典 + dictDelete(data) { + return request('delete', data) + }, + // 获取字典详情 + dictDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/dev/emailApi.js b/src/src/api/dev/emailApi.js new file mode 100644 index 0000000..8deea4c --- /dev/null +++ b/src/src/api/dev/emailApi.js @@ -0,0 +1,65 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/dev/email/` + url, ...arg) +/** + * 邮件 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取邮件分页 + emailPage(data) { + return request('page', data, 'get') + }, + // 发送邮件——本地TXT + emailSendLocalTxt(data) { + return request('sendLocalTxt', data) + }, + // 发送邮件——本地HTML + emailSendLocalHtml(data) { + return request('sendLocalHtml', data) + }, + // 发送邮件——阿里云TXT + emailSendAliyunTxt(data) { + return request('sendAliyunTxt', data) + }, + // 发送邮件——阿里云HTML + emailSendAliyunHtml(data) { + return request('sendAliyunHtml', data) + }, + // 发送邮件——阿里云TMP + emailSendAliyunTmp(data) { + return request('sendAliyunTmp', data) + }, + // 发送邮件——腾讯云TXT + emailSendTencentTxt(data) { + return request('sendTencentTxt', data) + }, + // 发送邮件——腾讯云HTML + emailSendTencentHtml(data) { + return request('sendTencentHtml', data) + }, + // 发送邮件——腾讯云TMP + emailSendTencentTmp(data) { + return request('sendTencentTmp', data) + }, + // 删除邮件 + emailDelete(data) { + return request('delete', data) + }, + // 获取邮件详情 + emailDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/dev/fileApi.js b/src/src/api/dev/fileApi.js new file mode 100644 index 0000000..5c6d8f4 --- /dev/null +++ b/src/src/api/dev/fileApi.js @@ -0,0 +1,87 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/dev/file/` + url, ...arg) +/** + * 文件 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 动态上传文件返回id + fileUploadDynamicReturnId(data) { + return request('uploadDynamicReturnId', data) + }, + // 动态上传文件返回url + fileUploadDynamicReturnUrl(data) { + return request('uploadDynamicReturnUrl', data) + }, + // 本地文件上传,返回文件id + fileUploadReturnId(data) { + return request('uploadLocalReturnId', data) + }, + // 阿里云文件上传,返回文件id + fileUploadAliyunReturnId(data) { + return request('uploadAliyunReturnId', data) + }, + // 腾讯云文件上传,返回文件id + fileUploadTencentReturnId(data) { + return request('uploadTencentReturnId', data) + }, + // MINIO文件上传,返回文件id + fileUploadMinioReturnId(data) { + return request('uploadMinioReturnId', data) + }, + // 本地文件上传,返回文件Url + fileUploadLocalReturnUrl(data) { + return request('uploadLocalReturnUrl', data) + }, + // 阿里云文件上传,返回文件Url + fileUploadAliyunReturnUrl(data) { + return request('uploadAliyunReturnUrl', data) + }, + // 腾讯云文件上传,返回文件Url + fileUploadTencentReturnUrl(data) { + return request('uploadTencentReturnUrl', data) + }, + // MINIO文件上传,返回文件Url + fileUploadMinioReturnUrl(data) { + return request('uploadMinioReturnUrl', data) + }, + // 获取文件分页列表 + filePage(data) { + return request('page', data, 'get') + }, + // 获取文件列表 + fileList(data) { + return request('list', data, 'get') + }, + // 下载文件,这里要带上blob类型 + fileDownload(data) { + return request('download', data, 'get', { + responseType: 'blob' + }) + }, + // 获取文件详情 + fileDetail(data) { + return request('detail', data, 'get') + }, + // 根据文件url集合获取文件集合 + fileGetFileListByUrlList(data) { + return request('getFileListByUrlList', data) + }, + // 删除文件 + fileDelete(data) { + return request('delete', data) + } +} diff --git a/src/src/api/dev/jobApi.js b/src/src/api/dev/jobApi.js new file mode 100644 index 0000000..a519c4a --- /dev/null +++ b/src/src/api/dev/jobApi.js @@ -0,0 +1,53 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/dev/job/` + url, ...arg) +/** + * 定时任务 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取定时任务分页 + jobPage(data) { + return request('page', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除定时任务 + jobDelete(data) { + return request('delete', data) + }, + // 获取定时任务详情 + jobDetail(data) { + return request('detail', data, 'get') + }, + // 停止定时任务 + jobStopJob(data) { + return request('stopJob', data) + }, + // 运行定时任务 + jobRunJob(data) { + return request('runJob', data) + }, + // 运行定时任务 + jobRunJobNow(data) { + return request('runJobNow', data) + }, + // 获取定时任务类 + jobGetActionClass(data) { + return request('getActionClass', data, 'get') + } +} diff --git a/src/src/api/dev/logApi.js b/src/src/api/dev/logApi.js new file mode 100644 index 0000000..e4dcf78 --- /dev/null +++ b/src/src/api/dev/logApi.js @@ -0,0 +1,49 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/dev/log/` + url, ...arg) +/** + * 日志 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取日志分页 + logPage(data) { + return request('page', data, 'get') + }, + // 获取日志详情 + logDetail(data) { + return request('detail', data, 'get') + }, + // 获取访问日志折线图数据 + logVisLineChartData(data) { + return request('vis/lineChartData', data, 'get') + }, + // 获取访问日志饼状图数据 + logVisPieChartData(data) { + return request('vis/pieChartData', data, 'get') + }, + // 获取操作日志柱状图数据 + logOpBarChartData(data) { + return request('op/barChartData', data, 'get') + }, + // 获取操作日志饼状图数据 + logOpPieChartData(data) { + return request('op/pieChartData', data, 'get') + }, + // 清空日志 + logDelete(data) { + return request('delete', data) + } +} diff --git a/src/src/api/dev/messageApi.js b/src/src/api/dev/messageApi.js new file mode 100644 index 0000000..8cd2cb4 --- /dev/null +++ b/src/src/api/dev/messageApi.js @@ -0,0 +1,37 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/dev/message/` + url, ...arg) +/** + * 站内信 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取站内信分页 + messagePage(data) { + return request('page', data, 'get') + }, + // 获取站内信分页 + messageSend(data) { + return request('send', data) + }, + // 删除站内信 + messageDelete(data) { + return request('delete', data) + }, + // 获取站内信详情 + messageDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/dev/monitorApi.js b/src/src/api/dev/monitorApi.js new file mode 100644 index 0000000..166cf85 --- /dev/null +++ b/src/src/api/dev/monitorApi.js @@ -0,0 +1,29 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/dev/monitor/` + url, ...arg) +/** + * 监控 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取服务器监控信息 + monitorServerInfo(data) { + return request('serverInfo', data, 'get') + }, + // 获取服务器网络情况 + monitorNetworkInfo(data) { + return request('networkInfo', data, 'get') + } +} diff --git a/src/src/api/dev/slideshowApi.js b/src/src/api/dev/slideshowApi.js new file mode 100644 index 0000000..2f61c81 --- /dev/null +++ b/src/src/api/dev/slideshowApi.js @@ -0,0 +1,32 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/dev/slideshow/` + url, ...arg) + +/** + * 轮播图Api接口管理器 + * + * @author yubaoshan + * @date 2024/07/13 00:31 + **/ +export default { + // 获取轮播图分页 + devSlideshowPage(data) { + return request('page', data, 'get') + }, + // 提交轮播图表单 edit为true时为编辑,默认为新增 + devSlideshowSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除轮播图 + devSlideshowDelete(data) { + return request('delete', data) + }, + // 禁用轮播图 + devSlideshowDisableStatus(data) { + return request('disableStatus', data) + }, + // 启用轮播图 + devSlideshowEnableStatus(data) { + return request('enableStatus', data) + } +} diff --git a/src/src/api/dev/smsApi.js b/src/src/api/dev/smsApi.js new file mode 100644 index 0000000..82f6e55 --- /dev/null +++ b/src/src/api/dev/smsApi.js @@ -0,0 +1,45 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/dev/sms/` + url, ...arg) +/** + * 短信 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取短信分页 + smsPage(data) { + return request('page', data, 'get') + }, + // 发送短信——阿里云 + smsSendAliyun(data) { + return request('sendAliyun', data) + }, + // 发送短信——腾讯云 + smsSendTencent(data) { + return request('sendTencent', data) + }, + // 发送短信——小诺短信 + smsSendXiaonuo(data) { + return request('sendXiaonuo', data) + }, + // 删除短信 + smsDelete(data) { + return request('delete', data) + }, + // 获取短信详情 + smsDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/gen/genBasicApi.js b/src/src/api/gen/genBasicApi.js new file mode 100644 index 0000000..45845c3 --- /dev/null +++ b/src/src/api/gen/genBasicApi.js @@ -0,0 +1,49 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/gen/basic/` + url, ...arg) + +export default { + // 获取代码生成基础分页 + basicPage(data) { + return request('page', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除代码生成基础 + basicDelete(data) { + return request('delete', data) + }, + // 获取代码生成基础详情 + basicDetail(data) { + return request('detail', data, 'get') + }, + // 获取所有表信息 + basicTables(data) { + return request('tables', data, 'get') + }, + // 获取表内所有字段信息 + basicTableColumns(data) { + return request('tableColumns', data, 'get') + }, + // 执行代码生成 压缩包 + basicExecGenBiz(data) { + const options = { + responseType: 'blob' + } + return request('execGenZip', data, 'get', options) + }, + // 执行代码生成 项目内 + basicExecGenPro(data) { + return request('execGenPro', data) + }, + // 预览代码生成 + basicPreviewGen(data) { + return request('previewGen', data, 'get') + }, + // 获取所有移动端模块 + basicMobileModuleSelector(data) { + return request('mobileModuleSelector', data, 'get') + } +} diff --git a/src/src/api/gen/genConfigApi.js b/src/src/api/gen/genConfigApi.js new file mode 100644 index 0000000..491efaa --- /dev/null +++ b/src/src/api/gen/genConfigApi.js @@ -0,0 +1,26 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/gen/config/` + url, ...arg) + +export default { + // 获取代码生成详情配置列表 + configList(data) { + return request('list', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除代码生成详情配置 + configDelete(data) { + return request('delete', data) + }, + // 获取代码生成详情配置详情 + configDetail(data) { + return request('detail', data, 'get') + }, + // 批量编辑代码生成详细配置 + configEditBatch(data) { + return request('editBatch', data) + } +} diff --git a/src/src/api/mobile/resource/buttonApi.js b/src/src/api/mobile/resource/buttonApi.js new file mode 100644 index 0000000..cddb4d9 --- /dev/null +++ b/src/src/api/mobile/resource/buttonApi.js @@ -0,0 +1,37 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/mobile/button/` + url, ...arg) +/** + * 按钮 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取按钮分页 + mobileButtonPage(data) { + return request('page', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + mobileButtonSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除按钮 + mobileButtonDelete(data) { + return request('delete', data) + }, + // 获取按钮详情 + mobileButtonDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/mobile/resource/menuApi.js b/src/src/api/mobile/resource/menuApi.js new file mode 100644 index 0000000..43ba5ff --- /dev/null +++ b/src/src/api/mobile/resource/menuApi.js @@ -0,0 +1,40 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/mobile/menu/` + url, ...arg) + +/** + * 移动端菜单Api接口管理器 + * + * @author yubaoshan + * @date 2023/01/28 22:42 + **/ +export default { + // 获取移动端菜单tree + mobileMenuTree(data) { + return request('tree', data, 'get') + }, + // 提交移动端菜单表单 edit为true时为编辑,默认为新增 + mobileMenuSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 更改菜单所属模块 + mobileMenuChangeModule(data) { + return request('changeModule', data) + }, + // 删除移动端菜单 + mobileMenuDelete(data) { + return request('delete', data) + }, + // 获取移动端菜单详情 + mobileMenuDetail(data) { + return request('detail', data, 'get') + }, + // 获取模块选择器 + mobileMenuModuleSelector(data) { + return request('moduleSelector', data, 'get') + }, + // 获取菜单树选择器 + mobileMenuTreeSelector(data) { + return request('menuTreeSelector', data, 'get') + } +} diff --git a/src/src/api/mobile/resource/moduleApi.js b/src/src/api/mobile/resource/moduleApi.js new file mode 100644 index 0000000..c216eba --- /dev/null +++ b/src/src/api/mobile/resource/moduleApi.js @@ -0,0 +1,37 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/mobile/module/` + url, ...arg) +/** + * 类别 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取类别分页 + modulePage(data) { + return request('page', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除类别 + moduleDelete(data) { + return request('delete', data) + }, + // 获取类别详情 + moduleDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/production/produce/produceTagApi.js b/src/src/api/production/produce/produceTagApi.js new file mode 100644 index 0000000..1b91db8 --- /dev/null +++ b/src/src/api/production/produce/produceTagApi.js @@ -0,0 +1,32 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/produce/tag/` + url, ...arg) + +/** + * 生产标签Api接口管理器 + * + * @author Luck + * @date 2024/08/08 20:15 + **/ +export default { + // 获取生产标签分页 + produceTagPage(data) { + return request('page', data, 'get') + }, + // 提交生产标签表单 edit为true时为编辑,默认为新增 + produceTagSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除生产标签 + produceTagDelete(data) { + return request('delete', data) + }, + // 获取生产标签详情 + produceTagDetail(data) { + return request('detail', data, 'get') + }, + // 获取生产标签详情 + produceTagList(data) { + return request('list', data, 'get') + } +} diff --git a/src/src/api/production/produceReport/produceReportApi.js b/src/src/api/production/produceReport/produceReportApi.js new file mode 100644 index 0000000..5117b1a --- /dev/null +++ b/src/src/api/production/produceReport/produceReportApi.js @@ -0,0 +1,28 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/produce/report/` + url, ...arg) + +/** + * 生产汇报单Api接口管理器 + * + * @author Luck + * @date 2024/08/15 10:56 + **/ +export default { + // 获取生产汇报单分页 + produceReportPage(data) { + return request('page', data, 'get') + }, + // 提交生产汇报单表单 edit为true时为编辑,默认为新增 + produceReportSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除生产汇报单 + produceReportDelete(data) { + return request('delete', data) + }, + // 获取生产汇报单详情 + produceReportDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/production/produceTask/producePackageBarcodeApi.js b/src/src/api/production/produceTask/producePackageBarcodeApi.js new file mode 100644 index 0000000..731ec9b --- /dev/null +++ b/src/src/api/production/produceTask/producePackageBarcodeApi.js @@ -0,0 +1,28 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/produce/barcode/` + url, ...arg) + +/** + * 生产产品包装条码Api接口管理器 + * + * @author Luck + * @date 2024/08/16 14:50 + **/ +export default { + // 获取生产产品包装条码分页 + producePackageBarcodePage(data) { + return request('page', data, 'get') + }, + // 提交生产产品包装条码表单 edit为true时为编辑,默认为新增 + producePackageBarcodeSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除生产产品包装条码 + producePackageBarcodeDelete(data) { + return request('delete', data) + }, + // 获取生产产品包装条码详情 + producePackageBarcodeDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/production/produceTask/produceReportApi.js b/src/src/api/production/produceTask/produceReportApi.js new file mode 100644 index 0000000..66b8687 --- /dev/null +++ b/src/src/api/production/produceTask/produceReportApi.js @@ -0,0 +1,28 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/produce/report/` + url, ...arg) + +/** + * 生产汇报单Api接口管理器 + * + * @author Luck + * @date 2024/08/16 13:50 + **/ +export default { + // 获取生产汇报单分页 + produceReportPage(data) { + return request('page', data, 'get') + }, + // 提交生产汇报单表单 edit为true时为编辑,默认为新增 + produceReportSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除生产汇报单 + produceReportDelete(data) { + return request('delete', data) + }, + // 获取生产汇报单详情 + produceReportDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/production/produceTask/produceTaskApi.js b/src/src/api/production/produceTask/produceTaskApi.js new file mode 100644 index 0000000..5dc3f63 --- /dev/null +++ b/src/src/api/production/produceTask/produceTaskApi.js @@ -0,0 +1,36 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/produce/task/` + url, ...arg) + +/** + * 生产任务单Api接口管理器 + * + * @author Luck + * @date 2024/08/06 10:39 + **/ +export default { + // 获取生产任务单分页 + produceTaskPage(data) { + return request('page', data, 'get') + }, + // 提交生产任务单表单 edit为true时为编辑,默认为新增 + produceTaskSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除生产任务单 + produceTaskDelete(data) { + return request('delete', data) + }, + // 获取生产任务单详情 + produceTaskDetail(data) { + return request('detail', data, 'get') + }, + // 审核任务单 + produceTaskAuditPass(data) { + return request('audit/pass', data, 'post') + }, + // 回退任务单 + produceTaskAudiTask(data) { + return request('audit/back', data, 'post') + } +} diff --git a/src/src/api/sys/indexApi.js b/src/src/api/sys/indexApi.js new file mode 100644 index 0000000..2b746c7 --- /dev/null +++ b/src/src/api/sys/indexApi.js @@ -0,0 +1,65 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/sys/index/` + url, ...arg) +/** + * 系统首页控制器 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 添加当前用户日程 + indexScheduleAdd(data) { + return request('schedule/add', data) + }, + // 删除日程 + indexScheduleDeleteSchedule(data) { + return request('schedule/deleteSchedule', data) + }, + // 获取当前用户日程列表 + indexScheduleList(data) { + return request('schedule/list', data, 'get') + }, + // 获取当前用户站内信列表 + indexMessageList(data) { + return request('message/list', data, 'get') + }, + // 获取站内信详情 + indexMessageDetail(data) { + return request('message/detail', data, 'get') + }, + //站内信全部标记已读 + indexMessageAllMarkRead(data) { + return request('message/allMessageMarkRead', data) + }, + // 获取当前用户访问日志列表 + indexVisLogList(data) { + return request('visLog/list', data, 'get') + }, + // 获取当前用户操作日志列表 + indexOpLogList(data) { + return request('opLog/list', data, 'get') + }, + // 获取基础系统业务数据 + indexBizDataCount(data) { + return request('bizDataCount', data, 'get') + }, + // 获取运维一览数据 + indexOpDataCount(data) { + return request('opDataCount', data, 'get') + }, + // 获取基础工具数据 + indexToolDataCount(data) { + return request('toolDataCount', data, 'get') + } +} diff --git a/src/src/api/sys/orgApi.js b/src/src/api/sys/orgApi.js new file mode 100644 index 0000000..45d9570 --- /dev/null +++ b/src/src/api/sys/orgApi.js @@ -0,0 +1,53 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/sys/org/` + url, ...arg) +/** + * 机构 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取组织分页 + orgPage(data) { + return request('page', data, 'get') + }, + // 获取组织列表 + orgList(data) { + return request('list', data, 'get') + }, + // 获取组织树 + orgTree(data) { + return request('tree', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除组织 + orgDelete(data) { + return request('delete', data) + }, + // 获取组织详情 + orgDetail(data) { + return request('detail', data, 'get') + }, + // 获取组织树选择器 + orgOrgTreeSelector(data) { + return request('orgTreeSelector', data, 'get') + }, + // 获取用户选择器 + orgUserSelector(data) { + return request('userSelector', data, 'get') + } +} diff --git a/src/src/api/sys/positionApi.js b/src/src/api/sys/positionApi.js new file mode 100644 index 0000000..f15b535 --- /dev/null +++ b/src/src/api/sys/positionApi.js @@ -0,0 +1,49 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/sys/position/` + url, ...arg) +/** + * 职位 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取职位分页 + positionPage(data) { + return request('page', data, 'get') + }, + // 获取职位列表 + positionList(data) { + return request('list', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除职位 + positionDelete(data) { + return request('delete', data) + }, + // 获取职位详情 + positionDetail(data) { + return request('detail', data, 'get') + }, + // 获取组织树选择器 + positionOrgTreeSelector(data) { + return request('orgTreeSelector', data, 'get') + }, + // 获取职位选择器 + positionPositionSelector(data) { + return request('positionSelector', data, 'get') + } +} diff --git a/src/src/api/sys/resource/buttonApi.js b/src/src/api/sys/resource/buttonApi.js new file mode 100644 index 0000000..d609524 --- /dev/null +++ b/src/src/api/sys/resource/buttonApi.js @@ -0,0 +1,37 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/sys/button/` + url, ...arg) +/** + * 按钮 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取按钮分页 + buttonPage(data) { + return request('page', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除按钮 + buttonDelete(data) { + return request('delete', data) + }, + // 获取按钮详情 + buttonDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/sys/resource/fieldApi.js b/src/src/api/sys/resource/fieldApi.js new file mode 100644 index 0000000..381cc90 --- /dev/null +++ b/src/src/api/sys/resource/fieldApi.js @@ -0,0 +1,45 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/sys/field/` + url, ...arg) +/** + * 字段 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取字段分页 + fieldPage(data) { + return request('page', data, 'get') + }, + // 获取字段树 + fieldTree(data) { + return request('tree', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除字段 + fieldDelete(data) { + return request('delete', data) + }, + // 获取字段详情 + fieldDetail(data) { + return request('detail', data, 'get') + }, + // 获取菜单树选择器 + fieldMenuTreeSelector(data) { + return request('MenuTreeSelector', data, 'get') + } +} diff --git a/src/src/api/sys/resource/menuApi.js b/src/src/api/sys/resource/menuApi.js new file mode 100644 index 0000000..fb6df87 --- /dev/null +++ b/src/src/api/sys/resource/menuApi.js @@ -0,0 +1,49 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/sys/menu/` + url, ...arg) +/** + * 菜单 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取菜单树 + menuTree(data) { + return request('tree', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 更改菜单所属模块 + menuChangeModule(data) { + return request('changeModule', data) + }, + // 删除菜单 + menuDelete(data) { + return request('delete', data) + }, + // 获取菜单详情 + menuDetail(data) { + return request('detail', data, 'get') + }, + // 获取模块选择器 + menuModuleSelector(data) { + return request('moduleSelector', data, 'get') + }, + // 获取菜单树选择器 + menuTreeSelector(data) { + return request('menuTreeSelector', data, 'get') + } +} diff --git a/src/src/api/sys/resource/moduleApi.js b/src/src/api/sys/resource/moduleApi.js new file mode 100644 index 0000000..15cd153 --- /dev/null +++ b/src/src/api/sys/resource/moduleApi.js @@ -0,0 +1,37 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/sys/module/` + url, ...arg) +/** + * 模块 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取模块分页 + modulePage(data) { + return request('page', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除模块 + moduleDelete(data) { + return request('delete', data) + }, + // 获取模块详情 + moduleDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/src/api/sys/roleApi.js b/src/src/api/sys/roleApi.js new file mode 100644 index 0000000..8f1f116 --- /dev/null +++ b/src/src/api/sys/roleApi.js @@ -0,0 +1,93 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/sys/role/` + url, ...arg) +/** + * 角色 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取角色分页 + rolePage(data) { + return request('page', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除角色 + roleDelete(data) { + return request('delete', data) + }, + // 获取角色详情 + roleDetail(data) { + return request('detail', data, 'get') + }, + // 获取角色拥有资源 + roleOwnResource(data) { + return request('ownResource', data, 'get') + }, + // 给角色授权资源 + roleGrantResource(data) { + return request('grantResource', data) + }, + // 获取角色拥有移动端菜单 + roleOwnMobileMenu(data) { + return request('ownMobileMenu', data, 'get') + }, + // 给角色授权移动端菜单 + roleGrantMobileMenu(data) { + return request('grantMobileMenu', data) + }, + // 获取角色拥有权限 + roleOwnPermission(data) { + return request('ownPermission', data, 'get') + }, + // 给角色授权权限 + roleGrantPermission(data) { + return request('grantPermission', data) + }, + // 获取角色下的用户 + roleOwnUser(data) { + return request('ownUser', data, 'get') + }, + // 给角色授权用户 + roleGrantUser(data) { + return request('grantUser', data) + }, + // 获取机构树 + roleOrgTreeSelector(data) { + return request('orgTreeSelector', data, 'get') + }, + // 获取资源授权树 + roleResourceTreeSelector(data) { + return request('resourceTreeSelector', data, 'get') + }, + // 获取移动端菜单授权树 + roleMobileMenuTreeSelector(data) { + return request('mobileMenuTreeSelector', data, 'get') + }, + // 获取权限授权树 + rolePermissionTreeSelector(data) { + return request('permissionTreeSelector', data, 'get') + }, + // 获取角色选择器 + roleRoleSelector(data) { + return request('roleSelector', data, 'get') + }, + // 获取用户选择器 + roleUserSelector(data) { + return request('userSelector', data, 'get') + } +} diff --git a/src/src/api/sys/userApi.js b/src/src/api/sys/userApi.js new file mode 100644 index 0000000..eefea01 --- /dev/null +++ b/src/src/api/sys/userApi.js @@ -0,0 +1,111 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/sys/user/` + url, ...arg) +/** + * 用户接口api + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取用户分页 + userPage(data) { + return request('page', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除用户 + userDelete(data) { + return request('delete', data) + }, + // 获取用户详情 + userDetail(data) { + return request('detail', data, 'get') + }, + // 禁用用户 + userDisableUser(data) { + return request('disableUser', data) + }, + // 启用用户 + userEnableUser(data) { + return request('enableUser', data) + }, + // 重置用户密码 + userResetPassword(data) { + return request('resetPassword', data) + }, + // 获取组织选择器 + userOrgTreeSelector(data) { + return request('orgTreeSelector', data, 'get') + }, + // 获取职位选择器 + userPositionSelector(data) { + return request('positionSelector', data, 'get') + }, + // 获取角色选择器 + userRoleSelector(data) { + return request('roleSelector', data, 'get') + }, + // 获取用户选择器 + userSelector(data) { + return request('userSelector', data, 'get') + }, + // 用户拥有角色 + userOwnRole(data) { + return request('ownRole', data, 'get') + }, + // 给用户授权角色 + grantRole(data) { + return request('grantRole', data) + }, + // 获取用户拥有资源 + userOwnResource(data) { + return request('ownResource', data, 'get') + }, + // 给用户授权资源 + userGrantResource(data) { + return request('grantResource', data) + }, + // 获取用户拥有权限 + userOwnPermission(data) { + return request('ownPermission', data, 'get') + }, + // 给用户授权权限 + userGrantPermission(data) { + return request('grantPermission', data) + }, + // 下载用户导入模板 + userDownloadImportUserTemplate(data) { + return request('downloadImportUserTemplate', data, 'get', { + responseType: 'blob' + }) + }, + // 用户导入 + userImport(data) { + return request('import', data) + }, + // 用户导出 + userExport(data) { + return request('export', data, 'get', { + responseType: 'blob' + }) + }, + // 导出用户个人信息 + userExportUserInfo(data) { + return request('exportUserInfo', data, 'get', { + responseType: 'blob' + }) + } +} diff --git a/src/src/api/sys/userCenterApi.js b/src/src/api/sys/userCenterApi.js new file mode 100644 index 0000000..e66105c --- /dev/null +++ b/src/src/api/sys/userCenterApi.js @@ -0,0 +1,105 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/sys/userCenter/` + url, ...arg) +/** + * 用户个人控制器 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取图片验证码 + userGetPicCaptcha(data) { + return request('getPicCaptcha', data, 'get') + }, + // 找回密码获取手机验证码 + userFindPasswordGetPhoneValidCode(data) { + return request('findPasswordGetPhoneValidCode', data, 'get') + }, + // 找回密码获取邮箱验证码 + userFindPasswordGetEmailValidCode(data) { + return request('findPasswordGetEmailValidCode', data, 'get') + }, + // 通过手机号找回用户密码 + userFindPasswordByPhone(data) { + return request('findPasswordByPhone', data) + }, + // 通过邮箱找回用户密码 + userFindPasswordByEmail(data) { + return request('findPasswordByEmail', data) + }, + // 修改用户密码 + userUpdatePassword(data) { + return request('updatePassword', data) + }, + // 修改用户头像 + userUpdateAvatar(data) { + return request('updateAvatar', data) + }, + // 修改用户签名图片 + userUpdateSignature(data) { + return request('updateSignature', data) + }, + // 获取登录用户的菜单 + userLoginMenu(data) { + return request('loginMenu', data, 'get') + }, + // 获取登录用户组织树 + userLoginOrgTree(data) { + return request('loginOrgTree', data, 'get') + }, + // 获取登录用户的职位信息 + userLoginPositionInfo(data) { + return request('loginPositionInfo', data, 'get') + }, + // 编辑个人信息 + userUpdateUserInfo(data) { + return request('updateUserInfo', data) + }, + // 编辑个人工作台 + userUpdateUserWorkbench(data) { + return request('updateUserWorkbench', data) + }, + // 获取登录用户的工作台 + userLoginWorkbench(data) { + return request('loginWorkbench', data, 'get') + }, + // 获取登录用户的站内信分页 + userLoginUnreadMessagePage(data) { + return request('loginUnreadMessagePage', data, 'get') + }, + // 读取登录用户站内信详情 + userLoginUnreadMessageDetail(data) { + return request('loginUnreadMessageDetail', data, 'get') + }, + // 根据id集合获取组织集合 + userCenterGetOrgListByIdList(data) { + return request('getOrgListByIdList', data) + }, + // 根据id集合获取用户集合 + userCenterGetUserListByIdList(data) { + return request('getUserListByIdList', data) + }, + // 根据id集合获取职位集合 + userCenterGetPositionListByIdList(data) { + return request('getPositionListByIdList', data) + }, + // 根据id集合获取角色集合 + userCenterGetRoleListByIdList(data) { + return request('getRoleListByIdList', data) + }, + // 根据id获取头像 + userCenterGtAvatarById(data) { + return request('getAvatarById', data) + } +} diff --git a/src/src/assets/icons/GiteeIcon.vue b/src/src/assets/icons/GiteeIcon.vue new file mode 100644 index 0000000..21dcad1 --- /dev/null +++ b/src/src/assets/icons/GiteeIcon.vue @@ -0,0 +1,24 @@ + + + diff --git a/src/src/assets/icons/index.js b/src/src/assets/icons/index.js new file mode 100644 index 0000000..c0d89c6 --- /dev/null +++ b/src/src/assets/icons/index.js @@ -0,0 +1,13 @@ +/* + ** 全局注册Icon组件 + * 推荐前往https://icones.js.org下载图标的Vue文件,然后放在src/assets/icons文件夹里面 + * 这个网址有118个图标集,包括antd、bootstrap、eleme等累计140456个图标 + */ +import { defineAsyncComponent } from 'vue' +const components = import.meta.glob('./**/*.vue') // 异步方式 +export default function install(app) { + for (const [key, value] of Object.entries(components)) { + const name = key.slice(key.lastIndexOf('/') + 1, key.lastIndexOf('.')) + app.component(name, defineAsyncComponent(value)) + } +} diff --git a/src/src/assets/icons/mobile/filled/iconfont.css b/src/src/assets/icons/mobile/filled/iconfont.css new file mode 100644 index 0000000..a4e757d --- /dev/null +++ b/src/src/assets/icons/mobile/filled/iconfont.css @@ -0,0 +1,173 @@ +@font-face { + font-family: "snowy"; /* Project id 3880534 */ + src: url('iconfont.ttf?t=1675528061732') format('truetype'); +} + +.snowy { + font-family: "snowy" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.arrow-up-filling:before { + content: "\e688"; +} + +.arrow-down-filling:before { + content: "\e689"; +} + +.arrow-left-filling:before { + content: "\e68a"; +} + +.arrow-right-filling:before { + content: "\e68b"; +} + +.caps-unlock-filling:before { + content: "\e68c"; +} + +.comment-filling:before { + content: "\e68d"; +} + +.check-item-filling:before { + content: "\e68e"; +} + +.clock-filling:before { + content: "\e68f"; +} + +.delete-filling:before { + content: "\e690"; +} + +.decline-filling:before { + content: "\e691"; +} + +.dynamic-filling:before { + content: "\e692"; +} + +.intermediate-filling:before { + content: "\e693"; +} + +.favorite-filling:before { + content: "\e694"; +} + +.layout-filling:before { + content: "\e695"; +} + +.help-filling:before { + content: "\e696"; +} + +.history-filling:before { + content: "\e697"; +} + +.filter-filling:before { + content: "\e698"; +} + +.file-common-filling:before { + content: "\e699"; +} + +.news-filling:before { + content: "\e69a"; +} + +.edit-filling:before { + content: "\e69b"; +} + +.fullscreen-expand-filling:before { + content: "\e69c"; +} + +.smile-filling:before { + content: "\e69d"; +} + +.rise-filling:before { + content: "\e69e"; +} + +.picture-filling:before { + content: "\e69f"; +} + +.notification-filling:before { + content: "\e6a0"; +} + +.user-filling:before { + content: "\e6a1"; +} + +.setting-filling:before { + content: "\e6a2"; +} + +.switch-filling:before { + content: "\e6a3"; +} + +.work-filling:before { + content: "\e6a4"; +} + +.task-filling:before { + content: "\e6a5"; +} + +.success-filling:before { + content: "\e6a6"; +} + +.warning-filling:before { + content: "\e6a7"; +} + +.folder-filling:before { + content: "\e6a8"; +} + +.map-filling:before { + content: "\e6a9"; +} + +.prompt-filling:before { + content: "\e6aa"; +} + +.meh-filling:before { + content: "\e6ab"; +} + +.cry-filling:before { + content: "\e6ac"; +} + +.top-filling:before { + content: "\e6ad"; +} + +.home-filling:before { + content: "\e6ae"; +} + +.sorting:before { + content: "\e6af"; +} + diff --git a/src/src/assets/icons/mobile/filled/iconfont.json b/src/src/assets/icons/mobile/filled/iconfont.json new file mode 100644 index 0000000..5189f8e --- /dev/null +++ b/src/src/assets/icons/mobile/filled/iconfont.json @@ -0,0 +1,289 @@ +{ + "id": "3880534", + "name": "snowy-app-filled", + "font_family": "snowy", + "css_prefix_text": "", + "description": "", + "glyphs": [ + { + "icon_id": "15838581", + "name": "arrow-up-filling", + "font_class": "arrow-up-filling", + "unicode": "e688", + "unicode_decimal": 59016 + }, + { + "icon_id": "15838582", + "name": "arrow-down-filling", + "font_class": "arrow-down-filling", + "unicode": "e689", + "unicode_decimal": 59017 + }, + { + "icon_id": "15838583", + "name": "arrow-left-filling", + "font_class": "arrow-left-filling", + "unicode": "e68a", + "unicode_decimal": 59018 + }, + { + "icon_id": "15838584", + "name": "arrow-right-filling", + "font_class": "arrow-right-filling", + "unicode": "e68b", + "unicode_decimal": 59019 + }, + { + "icon_id": "15838585", + "name": "caps-unlock-filling", + "font_class": "caps-unlock-filling", + "unicode": "e68c", + "unicode_decimal": 59020 + }, + { + "icon_id": "15838586", + "name": "comment-filling", + "font_class": "comment-filling", + "unicode": "e68d", + "unicode_decimal": 59021 + }, + { + "icon_id": "15838587", + "name": "check-item-filling", + "font_class": "check-item-filling", + "unicode": "e68e", + "unicode_decimal": 59022 + }, + { + "icon_id": "15838588", + "name": "clock-filling", + "font_class": "clock-filling", + "unicode": "e68f", + "unicode_decimal": 59023 + }, + { + "icon_id": "15838589", + "name": "delete-filling", + "font_class": "delete-filling", + "unicode": "e690", + "unicode_decimal": 59024 + }, + { + "icon_id": "15838590", + "name": "decline-filling", + "font_class": "decline-filling", + "unicode": "e691", + "unicode_decimal": 59025 + }, + { + "icon_id": "15838591", + "name": "dynamic-filling", + "font_class": "dynamic-filling", + "unicode": "e692", + "unicode_decimal": 59026 + }, + { + "icon_id": "15838592", + "name": "intermediate-filling", + "font_class": "intermediate-filling", + "unicode": "e693", + "unicode_decimal": 59027 + }, + { + "icon_id": "15838593", + "name": "favorite-filling", + "font_class": "favorite-filling", + "unicode": "e694", + "unicode_decimal": 59028 + }, + { + "icon_id": "15838594", + "name": "layout-filling", + "font_class": "layout-filling", + "unicode": "e695", + "unicode_decimal": 59029 + }, + { + "icon_id": "15838595", + "name": "help-filling", + "font_class": "help-filling", + "unicode": "e696", + "unicode_decimal": 59030 + }, + { + "icon_id": "15838596", + "name": "history-filling", + "font_class": "history-filling", + "unicode": "e697", + "unicode_decimal": 59031 + }, + { + "icon_id": "15838597", + "name": "filter-filling", + "font_class": "filter-filling", + "unicode": "e698", + "unicode_decimal": 59032 + }, + { + "icon_id": "15838598", + "name": "file-common-filling", + "font_class": "file-common-filling", + "unicode": "e699", + "unicode_decimal": 59033 + }, + { + "icon_id": "15838599", + "name": "news-filling", + "font_class": "news-filling", + "unicode": "e69a", + "unicode_decimal": 59034 + }, + { + "icon_id": "15838600", + "name": "edit-filling", + "font_class": "edit-filling", + "unicode": "e69b", + "unicode_decimal": 59035 + }, + { + "icon_id": "15838601", + "name": "fullscreen-expand-filling", + "font_class": "fullscreen-expand-filling", + "unicode": "e69c", + "unicode_decimal": 59036 + }, + { + "icon_id": "15838602", + "name": "smile-filling", + "font_class": "smile-filling", + "unicode": "e69d", + "unicode_decimal": 59037 + }, + { + "icon_id": "15838603", + "name": "rise-filling", + "font_class": "rise-filling", + "unicode": "e69e", + "unicode_decimal": 59038 + }, + { + "icon_id": "15838604", + "name": "picture-filling", + "font_class": "picture-filling", + "unicode": "e69f", + "unicode_decimal": 59039 + }, + { + "icon_id": "15838605", + "name": "notification-filling", + "font_class": "notification-filling", + "unicode": "e6a0", + "unicode_decimal": 59040 + }, + { + "icon_id": "15838606", + "name": "user-filling", + "font_class": "user-filling", + "unicode": "e6a1", + "unicode_decimal": 59041 + }, + { + "icon_id": "15838607", + "name": "setting-filling", + "font_class": "setting-filling", + "unicode": "e6a2", + "unicode_decimal": 59042 + }, + { + "icon_id": "15838608", + "name": "switch-filling", + "font_class": "switch-filling", + "unicode": "e6a3", + "unicode_decimal": 59043 + }, + { + "icon_id": "15838609", + "name": "work-filling", + "font_class": "work-filling", + "unicode": "e6a4", + "unicode_decimal": 59044 + }, + { + "icon_id": "15838610", + "name": "task-filling", + "font_class": "task-filling", + "unicode": "e6a5", + "unicode_decimal": 59045 + }, + { + "icon_id": "15838611", + "name": "success-filling", + "font_class": "success-filling", + "unicode": "e6a6", + "unicode_decimal": 59046 + }, + { + "icon_id": "15838612", + "name": "warning-filling", + "font_class": "warning-filling", + "unicode": "e6a7", + "unicode_decimal": 59047 + }, + { + "icon_id": "15838613", + "name": "folder-filling", + "font_class": "folder-filling", + "unicode": "e6a8", + "unicode_decimal": 59048 + }, + { + "icon_id": "15838614", + "name": "map-filling", + "font_class": "map-filling", + "unicode": "e6a9", + "unicode_decimal": 59049 + }, + { + "icon_id": "15838615", + "name": "prompt-filling", + "font_class": "prompt-filling", + "unicode": "e6aa", + "unicode_decimal": 59050 + }, + { + "icon_id": "15838616", + "name": "meh-filling", + "font_class": "meh-filling", + "unicode": "e6ab", + "unicode_decimal": 59051 + }, + { + "icon_id": "15838617", + "name": "cry-filling", + "font_class": "cry-filling", + "unicode": "e6ac", + "unicode_decimal": 59052 + }, + { + "icon_id": "15838618", + "name": "top-filling", + "font_class": "top-filling", + "unicode": "e6ad", + "unicode_decimal": 59053 + }, + { + "icon_id": "15838619", + "name": "home-filling", + "font_class": "home-filling", + "unicode": "e6ae", + "unicode_decimal": 59054 + }, + { + "icon_id": "15838620", + "name": "sorting", + "font_class": "sorting", + "unicode": "e6af", + "unicode_decimal": 59055 + } + ] +} diff --git a/src/src/assets/icons/mobile/filled/iconfont.ttf b/src/src/assets/icons/mobile/filled/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8fbd1813030a53bde513155e5ef1c3220389f1ea GIT binary patch literal 8816 zcmd^FYj7Lab-s_q0=tU^uvie_QpAG*35w!VAOR?nENLi-iW{qrEQ@X(Hx^BSA}x|& zNYIoz8JCl$sUNYE_?^T~6xZ=fNnB6jB=vY4rIX3Tuj#n1(oDv+RsX=$R%|D6oup~F z?00tokapNk`mZyEcrMPpdmm@dJ&*5Rh)_a^MwSUD0|yQt8BX2Y@#lolZD_sx(!>3^ zo%db*7pQ+4^`ql6V{>-!tu8{?X9?lA9iKimAq{`(6NJbo35h;GSsFW*>HOwz(Dyv3 zFo_25EBsOLPl4JeXDTNj0E78{hT?(g^7z<^TR-N<_;%DUpBXzjhm}8u=gp|6X2)hq zFFgPC6e00_Saa`Od7)zL{q1)MN#20^zY)mJmsgj`RT8=rf>ONA`cIeBg4U@!PJQ9( z;Ldl6=Jq`=6<0(@_j~mTiSSEM^$}JZE@tW?CE{`FqE*E|LROu+yOK%<$S%V6ja+g$ z2~3YwW=V?>!ug2t>v=job$kr-yCW%{iKi4Tl*qMKNh0*KVnuc%dme3{alh#WlA{>O zh=-$fgU^R2_8%i>t2b01bM!&@%VZhd-m48J7W}_X5K(Acyl0OqF1^3@9`~YEyipIn zu@h*Q$ehy$Y9plj*edp>dV?rYceTsVSHg@k@j}xI#%aV)bP^yz5+Vi(6O%+p6N!=- zX(kr-Zxd-HagrcOk|J#+O){jNbdW6RB%3j<*s1^TAHPrl{dr9d&`R|Nmz-U=5j;rv zQS~O5#BNq^c1i3@_0ukiovz;ElJJ4*tuA4&NcA%=36H5F+6cn_k?QAM5*ARs%_Zz9 zsow4qc9&G|a0&ZNs&~4C9VgYhT*BUy>fJ8E3P|-HmtYU1`gxaN8Kn9JmtZ5L`bC#u zEu?y{ORyVKz0W0B5UGC2CD;K4{S^HPYiBpH?{dPo@Vlg_v`@NK`g>2n z^MLG=FPHC;|IypyeaaW`{fX~k-&@LnGO7Hn@+@npjPij~DKDKr|9 zGi~YYP>~jLEJ6QNw~Uob!vu2WiDo3LNGbI5%(ZwwW3F`A&>sF%HC-|o&qPq=d&wVx1k zu)8n^SZ5CS#_DjwE{QqY*1iO)Go{ zh=CU}xjH%R=md65Yr4Ryj&2-1bY{~5nxxSJtYnBE5n2#}VAf&PQr|hLG@DepRkeIn z^KodR_7Li_&#UU|%RZw;xyMHp%6xD|cg<({w|N0x-6htHMPo1{*$bPAC z$Fa9b7KL64*pPf5Wn^jMnjQFDGx1iP!OJq$dxmK-FOyX59&YmddpbBhAC35bp#=CL z=288k>&PoQc0{~;U5>3tfNQI-Ndy^o(^zyD9qOmWLLUp#&TN22lGH0lHj>BwrO#4M zOsZB`otX5okflyeDQ;y0xoEqO`6kgXY^f9IXHZe2;TGjMrVzT~kns&Z%A<%@on+A2 zp*W0GXiWBcps|iVx(h~{hb0$0euKxjE)nWh!F76eY@lhr5qKLEXj5DRl;4=@<^UFC{qp|g*6(KPlr8uLVjlU+oIvb{9x4bV7^MB#-6`ivU!zM;sT zpznfiQjK1Lub5&gXyc}Ri+!hNFz)lw6Ot|)ib>zL?+h9~#nkDEn9eW8qqPRjuq{)! z?}S|h>4~7>RdrQN?@^rDKi*iU_dPyS``nbM`OWqe64^QIzkq z`#olhi9bx{Y~oY=k3__wh$;As3hPPMEGrh>f&CN4Rm{WA862Q9E7KPzFPIwBY3NKB zSDCiieCeOOibt24V!Z2&CefD2g-HdQWOniFxwND)V@u${3x>hMnp!SeeN20j`^oeNFBv_a%!j0qjK`P8Z zL_%R0A^_xv{u_r6TUNVeg|oY}u*2S+y-Z64&7jxE3`BmTyF1{`?%pT{tlVs6Ed0^u zFjVYYqPI68dzv=|brlvjqeFN8E890`LSk<5UcgDK-{WTyr!3^`tvGWW7Vj2~8GSHq z5wDOSqA{39C-O+q%pfpCV}pnl*^V}cZxehhm!OdVP505EU38@%oui9ZIB485!y5jtca7Ce0nmB`+?;o-Tz7R5eziRwGT{810%iZ;x`Jl_?! ze;NvRZQi&4(1(V1cXh?tPZQnLz6&8HOljDPJc=UBP&J>eO@p~knEJ;MAhTi`1V}0I zQ3OcX?&>f2C%7gMl<*4Ss4=m3A}r?(#ASFj-@fwcM33U5MDg9vLYpXQlAGli*Lo9@ zKjyPv{GAfyhq!DS^dRkTz9`~VYj${!ALZRZb8V#8(W{e%5zsucNWgCXadaxIVkld5 zbUNthl<(2aWHcPIe{KId*d1WHhyg!=cKo9FsQt8H>9B5?ygTAwA+e->?wrm8+#lt{ zAF=ObMvE!vj8KG73uHn*fP;LSy#SOe;y_0c`;6E2#ynowXFsK#MlCEbLO;3Hvw73X z=9Vr`KmS0`J|TyF%svt9Nw6O$dg#aBO|_)ktW>|cN<5TvoH*^B!eiWZR$t|}@E}lX zH`eirpdj)LQXPPZx1M}EoM_=ZC_)2$OlDX8RFMXyV9I<3QEW?mqw$EZNKDEuh*Isp5PwZZw?J+b-;Az zkh*$~pTV9q!`d$)#~@o4vLXM=BI5-d2NfU*7^Mh-C~}Q!6w#c>lJM?Mct(Ia5e~lL zv<~LbSBwFoaj;bpK>+Xywj-Qgj?!DyuzYYCfKk8xpjYx4>N(xi=*{5OkRo`W6!9Ot zUUXP_?VM`JTt-dzXVBjlR3t?;-)S_rq|quz43&o2JKX8nXfpMeRAc2EcpTD99YZ+t zVJ1AMObbH@tf2?Rtc*KSoYg`Rr&Wk1dxU5jqPnZAdd%xU{@X1qcmo_Gk|L6{cvYyQ zSjcv`z(#1X&-JMUbt@ae2|A)~^6h_ezi(57`L6usl`yf}!WL^zTeO*42Fi@ZVjG6L zw|z`Kazuqks@Gntw*1yIhK*(`JRFX$admug1@MLD;)@O>?Fe#`h}33BHVur?fWc0) zfXIl?d|f}b*nkkv*v~6Xs{JEBqlWs$aNxJ0@ZCTj(rb+#-7b)zKl=^9gi*Q(gd3JvS@ zP2G@Z?1fA&HTM=iTeJ)kcc2EGOBBTq8^f?jtaQcYRu+kf8>j zJF~@I49{ZGjSOljvptj9J|YSl3M8|=h1o)HHW~0sfs0G?rHcd7M#gkHy<`85Oa?{T z_LxyCWSSu>Y6gwMXn+4`p@yY@$e-lf$cM?F312{tC>9V05&%7-j5S5%Ad5v2Pedpc zr5BK+pLs>J??dzxWhXGfZq}KFj(1_0D2syvFhrnuBmrQ8teNlxvm?QdU@;*1w;H2H z3u`e)jjevJ7lR$fNH)mh#-&cL5B^@SevSIqdL7Cp3#n9LmneAN!YqRTUBzHFgjuB4 z+AP1nR{w^*+VyR9iKzW_ZCcDN;)OVCyw1PIW5_H8*imN|2ttIvT3Q`!gZadw$N@tg z`Jrs44Mk@bc>(9HS^$Ni^9LXEDH4+v`v;2Ouh8v^98ezf+UNX={X@Y&uBx>jbSM1k zypK`8T=py9^askapGxX0a`61Ow7`s0d097VJ(##%!dU~w_wi-oK4bv9n8B$l(a0LfYq% zgWeF|Y5?66w?j3#|bKXJhs*W6VQ?UfGnxfhIoygS^u2p!}FutZrzA?2T#xB}gCF!`#`| zy07BSWX6= zJr}gU8;lROvfC0{<94@+$pxicz zEy{R5Bm?z8luFXEFt zdVF8+q3+&+{!0&Ey*@Au^dGwH=tJKb*cO#FN%AmX^R|J}(T`kl^s+`8GlYI17n;A7QqLdG*A#kxhvE4F{^~?lx>_4`*=DeaS(*y}EI_u^Hlwz9vf_ z*-_We`|et}vl}k3&Nzs!4oRHgRIh9#-hLdp0KHF&#cf>v{Xxj&tian2?oO>iku}b_ zTd2$ZKVd5qX%Y8kMO*_WkSIF;m)L6Q6yQ{39lWxC`3JthuTH3&LR=XgRXEVqi8t0{ zU*j6Su#B^|xVr(CUI(TSv;@Y=8xEN2G@)r1J`819Y(oU)Z(6~j2N2>cO7@usc(R`s z=!xzDeDc#9*WEj;{tNEdE^_V}MZg5)W{Bb9jO{G$z$V1ZTvQzE#1YF8CO^c#l-m1) zk)~};_q=4$uGao!^sAA$rtVR-WbA>a*8X@GeW!KX!#fS*6W=n^QoO_dJfd#0=}D22 zo^)7xyepn`V&jXvh4SpgT8E7{x<=?-_|Yqb31Lc zfOBgXEb%R>){oa%5pBZc759b(ynyA%7Eb9w&E*+>)o8Bq92hQH5czK5GCG+_Cb&OO{9wRAo4LOB!ij0#onI#iWSs@GH%TU58avAy^CyQhn zW9HYjuk{#35AkHm8Joh5?fC&bpLP1Yf7JzY9p=tKmI_u*f#xyC47ib+93`wf z4L*gRB*n99G0!-9_mN3w)Es_3>Bqmi-1Yu_&il;N@)dSe+(~To>7tBsDp3!Wao!M@ z*eWh2{rJ%$01O*~-Qr4}Mrad_(wI1t(H6RiwmO$tNtyyoO4AH&r}(*qcGAtb1KmPG zWApRnrQXH4-ifK{>8aV{VYlH}d1>~2P1B``O1;T+d(BTBpImDjADdg~U7W>l`X}oB zg4o8H(rlwoczm*ir&E>EOudUfzJ5U9SZTUcDb*hakCnzD)w=qr*|C|a@%r<~6wGCQ zrgUryR#tBeO^jVvp2r&X2K+F8s=U|`!arG>ZoF@Ba%!Pco!;BPOaT**`zE(5M9Grp7Ca z^No6Bwp^K-m>M6ez?B*!78llp3NDl?73@|0VPIitsxm%VulkqD^Nk(wSH>0^mEgkS z_;_idA$)LYY<_nAL=)xdV{7YZ_}?D&Nds`ynYqTBYBQzAdfND!`m{>9F~mPvo@u<5 MccDBlWG3Xl0E!Ylpa1{> literal 0 HcmV?d00001 diff --git a/src/src/assets/icons/mobile/index.js b/src/src/assets/icons/mobile/index.js new file mode 100644 index 0000000..6ed837b --- /dev/null +++ b/src/src/assets/icons/mobile/index.js @@ -0,0 +1,36 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import './line/iconfont.css' +import lineJsonData from './line/iconfont.json' + +import './filled/iconfont.css' +import filledJsonData from './filled/iconfont.json' + +export default { + icons: [ + { + name: '基础', + key: 'default', + iconItem: [ + { + name: '线框风格', + key: 'default', + item: lineJsonData.glyphs + }, + { + name: '实底风格', + key: 'filled', + item: filledJsonData.glyphs + } + ] + } + ] +} diff --git a/src/src/assets/icons/mobile/line/iconfont.css b/src/src/assets/icons/mobile/line/iconfont.css new file mode 100644 index 0000000..4042c72 --- /dev/null +++ b/src/src/assets/icons/mobile/line/iconfont.css @@ -0,0 +1,825 @@ +@font-face { + font-family: "snowy"; /* Project id 3791763 */ + src: url('iconfont.ttf?t=1675526220710') format('truetype'); +} + +.snowy { + font-family: "snowy" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.export-outlined:before { + content: "\e792"; +} + +.experiment-outlined:before { + content: "\e7c9"; +} + +.expand-outlined:before { + content: "\e915"; +} + +.expand-alt-outlined:before { + content: "\e7e9"; +} + +.exception-outlined:before { + content: "\e7bb"; +} + +.euro-outlined:before { + content: "\e78f"; +} + +.euro-circle-outlined:before { + content: "\eb62"; +} + +.environment-outlined:before { + content: "\e790"; +} + +.ellipsis-outlined:before { + content: "\e815"; +} + +.download-outlined:before { + content: "\e814"; +} + +.dollar-outlined:before { + content: "\e78d"; +} + +.dollar-circle-outlined:before { + content: "\eb61"; +} + +.dislike-outlined:before { + content: "\e7c8"; +} + +.disconnect-outlined:before { + content: "\e7e8"; +} + +.dingtalk-outlined:before { + content: "\e881"; +} + +.desktop-outlined:before { + content: "\e845"; +} + +.deployment-unit-outlined:before { + content: "\e7d2"; +} + +.delivered-procedure-outlined:before { + content: "\e911"; +} + +.delete-column-outlined:before { + content: "\e901"; +} + +.delete-row-outlined:before { + content: "\e902"; +} + +.database-outlined:before { + content: "\e7b9"; +} + +.dashboard-outlined:before { + content: "\e78b"; +} + +.customer-service-outlined:before { + content: "\e7ca"; +} + +.crown-outlined:before { + content: "\e844"; +} + +.credit-card-outlined:before { + content: "\e7e5"; +} + +.copyright-outlined:before { + content: "\e789"; +} + +.copyright-circle-outlined:before { + content: "\eb60"; +} + +.control-outlined:before { + content: "\e79c"; +} + +.container-outlined:before { + content: "\e7b8"; +} + +.contacts-outlined:before { + content: "\e7e4"; +} + +.console-sql-outlined:before { + content: "\e910"; +} + +.compress-outlined:before { + content: "\e914"; +} + +.compass-outlined:before { + content: "\e786"; +} + +.comment-outlined:before { + content: "\e8ea"; +} + +.coffee-outlined:before { + content: "\e6b5"; +} + +.code-outlined:before { + content: "\e79b"; +} + +.cloud-server-outlined:before { + content: "\e7db"; +} + +.cloud-upload-outlined:before { + content: "\e7dc"; +} + +.cloud-outlined:before { + content: "\e7dd"; +} + +.cloud-download-outlined:before { + content: "\e7de"; +} + +.cloud-sync-outlined:before { + content: "\e7e0"; +} + +.clear-outlined:before { + content: "\e900"; +} + +.ci-circle-outlined:before { + content: "\e77f"; +} + +.carry-out-outlined:before { + content: "\e7d6"; +} + +.car-outlined:before { + content: "\e7da"; +} + +.ci-outlined:before { + content: "\eb5f"; +} + +.camera-outlined:before { + content: "\e7d9"; +} + +.calendar-outlined:before { + content: "\e7d4"; +} + +.calculator-outlined:before { + content: "\e79a"; +} + +.bulb-outlined:before { + content: "\e7c7"; +} + +.build-outlined:before { + content: "\e7d5"; +} + +.bug-outlined:before { + content: "\e8e9"; +} + +.branches-outlined:before { + content: "\e7e7"; +} + +.borderless-table-outlined:before { + content: "\e813"; +} + +.border-outlined:before { + content: "\e7b7"; +} + +.book-outlined:before { + content: "\e7b6"; +} + +.block-outlined:before { + content: "\e7df"; +} + +.bell-outlined:before { + content: "\e7c5"; +} + +.bars-outlined:before { + content: "\e71a"; +} + +.barcode-outlined:before { + content: "\e7d8"; +} + +.bank-outlined:before { + content: "\e7c6"; +} + +.audit-outlined:before { + content: "\e7c0"; +} + +.audio-outlined:before { + content: "\e89b"; +} + +.audio-muted-outlined:before { + content: "\e8e8"; +} + +.api-outlined:before { + content: "\e7e3"; +} + +.apartment-outlined:before { + content: "\e89a"; +} + +.alert-outlined:before { + content: "\e7c4"; +} + +.aim-outlined:before { + content: "\e913"; +} + +.account-book-outlined:before { + content: "\e7d3"; +} + +.column-height-outlined:before { + content: "\e811"; +} + +.column-width-outlined:before { + content: "\e812"; +} + +.radius-setting-outlined:before { + content: "\e7b5"; +} + +.unordered-list-outlined:before { + content: "\e80f"; +} + +.ordered-list-outlined:before { + content: "\e810"; +} + +.drag-outlined:before { + content: "\e843"; +} + +.sort-descending-outlined:before { + content: "\e80d"; +} + +.sort-ascending-outlined:before { + content: "\e80e"; +} + +.font-colors-outlined:before { + content: "\e808"; +} + +.font-size-outlined:before { + content: "\e809"; +} + +.line-height-outlined:before { + content: "\e80a"; +} + +.dash-outlined:before { + content: "\e80b"; +} + +.small-dash-outlined:before { + content: "\e80c"; +} + +.zoom-out-outlined:before { + content: "\e898"; +} + +.zoom-in-outlined:before { + content: "\e899"; +} + +.undo-outlined:before { + content: "\e787"; +} + +.redo-outlined:before { + content: "\e788"; +} + +.bold-outlined:before { + content: "\e804"; +} + +.strikethrough-outlined:before { + content: "\e805"; +} + +.underline-outlined:before { + content: "\e806"; +} + +.italic-outlined:before { + content: "\e807"; +} + +.bg-colors-outlined:before { + content: "\e803"; +} + +.align-right-outlined:before { + content: "\e7fb"; +} + +.align-left-outlined:before { + content: "\e802"; +} + +.align-center-outlined:before { + content: "\e7f5"; +} + +.highlight-outlined:before { + content: "\e7e2"; +} + +.diff-outlined:before { + content: "\e7bf"; +} + +.snippets-outlined:before { + content: "\e7bd"; +} + +.delete-outlined:before { + content: "\e7c3"; +} + +.scissor-outlined:before { + content: "\e7e6"; +} + +.copy-outlined:before { + content: "\e7bc"; +} + +.form-outlined:before { + content: "\e791"; +} + +.edit-outlined:before { + content: "\e7e1"; +} + +.stop-outlined:before { + content: "\e842"; +} + +.issues-close-outlined:before { + content: "\e68e"; +} + +.warning-outlined:before { + content: "\e682"; +} + +.clock-circle-outlined:before { + content: "\e784"; +} + +.check-circle-outlined:before { + content: "\e77d"; +} + +.check-square-outlined:before { + content: "\e794"; +} + +.check-outlined:before { + content: "\e7fc"; +} + +.exclamation-circle-outlined:before { + content: "\e785"; +} + +.exclamation-outlined:before { + content: "\e7fa"; +} + +.info-circle-outlined:before { + content: "\e77e"; +} + +.info-outlined:before { + content: "\e7f9"; +} + +.minus-square-outlined:before { + content: "\e796"; +} + +.plus-square-outlined:before { + content: "\e797"; +} + +.minus-circle-outlined:before { + content: "\e780"; +} + +.minus-outlined:before { + content: "\e801"; +} + +.pause-circle-outlined:before { + content: "\e783"; +} + +.pause-outlined:before { + content: "\e800"; +} + +.plus-circle-outlined:before { + content: "\e781"; +} + +.plus-outlined:before { + content: "\e8fe"; +} + +.question-circle-outlined:before { + content: "\e782"; +} + +.question-outlined:before { + content: "\e7ff"; +} + +.fullscreen-outlined:before { + content: "\e7ec"; +} + +.fullscreen-exit-outlined:before { + content: "\e7ed"; +} + +.radius-bottomleft-outlined:before { + content: "\e7b1"; +} + +.radius-bottomright-outlined:before { + content: "\e7b2"; +} + +.radius-upleft-outlined:before { + content: "\e7b3"; +} + +.radius-upright-outlined:before { + content: "\e7b4"; +} + +.pic-center-outlined:before { + content: "\e7f6"; +} + +.pic-right-outlined:before { + content: "\e7f7"; +} + +.pic-left-outlined:before { + content: "\e7f8"; +} + +.border-outer-outlined:before { + content: "\e7a9"; +} + +.border-top-outlined:before { + content: "\e7aa"; +} + +.border-bottom-outlined:before { + content: "\e7ab"; +} + +.border-left-outlined:before { + content: "\e7ac"; +} + +.border-right-outlined:before { + content: "\e7ad"; +} + +.border-inner-outlined:before { + content: "\e7ae"; +} + +.border-verticle-outlined:before { + content: "\e7af"; +} + +.border-horizontal-outlined:before { + content: "\e7b0"; +} + +.menu-unfold-outlined:before { + content: "\e7f3"; +} + +.menu-fold-outlined:before { + content: "\e7f4"; +} + +.logout-outlined:before { + content: "\e78c"; +} + +.login-outlined:before { + content: "\e8f4"; +} + +.cluster-outlined:before { + content: "\e7d7"; +} + +.down-square-outlined:before { + content: "\e793"; +} + +.left-square-outlined:before { + content: "\e795"; +} + +.right-square-outlined:before { + content: "\e798"; +} + +.up-Square-outlined:before { + content: "\e799"; +} + +.play-circle-outlined:before { + content: "\e67a"; +} + +.arrow-down-outlined:before { + content: "\e66d"; +} + +.arrow-right-outlined:before { + content: "\e66e"; +} + +.arrow-up-outlined:before { + content: "\e66f"; +} + +.arrow-left-outlined:before { + content: "\e670"; +} + +.swap-outlined:before { + content: "\e7f2"; +} + +.swap-right-outlined:before { + content: "\e8f2"; +} + +.swap-left-outlined:before { + content: "\e8f3"; +} + +.enter-outlined:before { + content: "\e7fd"; +} + +.rollback-outlined:before { + content: "\e7fe"; +} + +.retweet-outlined:before { + content: "\e8f1"; +} + +.fast-backward-outlined:before { + content: "\e8ed"; +} + +.fast-forward-outlined:before { + content: "\e8ee"; +} + +.vertical-align-bottom-outlined:before { + content: "\e7ef"; +} + +.vertical-align-middle-outlined:before { + content: "\e7f0"; +} + +.vertical-align-top-outlined:before { + content: "\e7f1"; +} + +.vertical-right-outlined:before { + content: "\e7ea"; +} + +.vertical-left-outlined:before { + content: "\e7eb"; +} + +.double-left-outlined:before { + content: "\e66b"; +} + +.double-right-outlined:before { + content: "\e66c"; +} + +.up-circle-outlined:before { + content: "\e666"; +} + +.right-circle-outlined:before { + content: "\e667"; +} + +.left-circle-outlined:before { + content: "\e66a"; +} + +.down-circle-outlined:before { + content: "\eb5e"; +} + +.caret-up-outlined:before { + content: "\e689"; +} + +.caret-down-outlined:before { + content: "\e68a"; +} + +.caret-left-outlined:before { + content: "\e68b"; +} + +.caret-right-outlined:before { + content: "\e68c"; +} + +.left-outlined:before { + content: "\e685"; +} + +.up-outlined:before { + content: "\e686"; +} + +.down-outlined:before { + content: "\e687"; +} + +.right-outlined:before { + content: "\e688"; +} + +.arrows-alt-outlined:before { + content: "\e665"; +} + +.shrink-outlined:before { + content: "\e68d"; +} + +.step-backward-outlined:before { + content: "\e8ef"; +} + +.step-forward-outlined:before { + content: "\e8f0"; +} + +.robot-outlined:before { + content: "\e897"; +} + +.file-word-outlined:before { + content: "\e7ba"; +} + +.usergroup-delete-outlined:before { + content: "\e760"; +} + +.field-time-outlined:before { + content: "\eb5d"; +} + +.setting-outlined:before { + content: "\e78e"; +} + +.file-search-outlined:before { + content: "\e730"; +} + +.team-outlined:before { + content: "\e67d"; +} + +.message-outlined:before { + content: "\e78a"; +} + +.mail-outlined:before { + content: "\e62e"; +} + +.send-outlined:before { + content: "\e622"; +} + +.appstore-add-outlined:before { + content: "\e8eb"; +} + +.user-outlined:before { + content: "\e641"; +} + +.project-outlined:before { + content: "\e746"; +} + +.hdd-outlined:before { + content: "\e734"; +} + +.tool-outlined:before { + content: "\e75b"; +} + +.user-switch-outlined:before { + content: "\ea3d"; +} + +.appstore-outlined:before { + content: "\e601"; +} + +.home-outlined:before { + content: "\e965"; +} + diff --git a/src/src/assets/icons/mobile/line/iconfont.json b/src/src/assets/icons/mobile/line/iconfont.json new file mode 100644 index 0000000..6f38067 --- /dev/null +++ b/src/src/assets/icons/mobile/line/iconfont.json @@ -0,0 +1,1430 @@ +{ + "id": "3791763", + "name": "snowy-app", + "font_family": "snowy", + "css_prefix_text": "", + "description": "", + "glyphs": [ + { + "icon_id": "4765958", + "name": "export", + "font_class": "export-outlined", + "unicode": "e792", + "unicode_decimal": 59282 + }, + { + "icon_id": "4766679", + "name": "experiment", + "font_class": "experiment-outlined", + "unicode": "e7c9", + "unicode_decimal": 59337 + }, + { + "icon_id": "9230692", + "name": "expend", + "font_class": "expand-outlined", + "unicode": "e915", + "unicode_decimal": 59669 + }, + { + "icon_id": "4767007", + "name": "arrawsalt", + "font_class": "expand-alt-outlined", + "unicode": "e7e9", + "unicode_decimal": 59369 + }, + { + "icon_id": "4766461", + "name": "file -exception", + "font_class": "exception-outlined", + "unicode": "e7bb", + "unicode_decimal": 59323 + }, + { + "icon_id": "4765730", + "name": "EURO", + "font_class": "euro-outlined", + "unicode": "e78f", + "unicode_decimal": 59279 + }, + { + "icon_id": "33968870", + "name": "EURO-copy", + "font_class": "euro-circle-outlined", + "unicode": "eb62", + "unicode_decimal": 60258 + }, + { + "icon_id": "4765897", + "name": "location", + "font_class": "environment-outlined", + "unicode": "e790", + "unicode_decimal": 59280 + }, + { + "icon_id": "4767094", + "name": "ellipsis", + "font_class": "ellipsis-outlined", + "unicode": "e815", + "unicode_decimal": 59413 + }, + { + "icon_id": "4767031", + "name": "download", + "font_class": "download-outlined", + "unicode": "e814", + "unicode_decimal": 59412 + }, + { + "icon_id": "4765723", + "name": "Dollar", + "font_class": "dollar-outlined", + "unicode": "e78d", + "unicode_decimal": 59277 + }, + { + "icon_id": "33968867", + "name": "Dollar-copy", + "font_class": "dollar-circle-outlined", + "unicode": "eb61", + "unicode_decimal": 60257 + }, + { + "icon_id": "4766693", + "name": "unlike", + "font_class": "dislike-outlined", + "unicode": "e7c8", + "unicode_decimal": 59336 + }, + { + "icon_id": "4766962", + "name": "disconnect", + "font_class": "disconnect-outlined", + "unicode": "e7e8", + "unicode_decimal": 59368 + }, + { + "icon_id": "4936979", + "name": "dingtalk", + "font_class": "dingtalk-outlined", + "unicode": "e881", + "unicode_decimal": 59521 + }, + { + "icon_id": "4936457", + "name": "desktop", + "font_class": "desktop-outlined", + "unicode": "e845", + "unicode_decimal": 59461 + }, + { + "icon_id": "4766849", + "name": "deployment unit", + "font_class": "deployment-unit-outlined", + "unicode": "e7d2", + "unicode_decimal": 59346 + }, + { + "icon_id": "9229182", + "name": "Stored procedure", + "font_class": "delivered-procedure-outlined", + "unicode": "e911", + "unicode_decimal": 59665 + }, + { + "icon_id": "8094808", + "name": "delete column", + "font_class": "delete-column-outlined", + "unicode": "e901", + "unicode_decimal": 59649 + }, + { + "icon_id": "8094822", + "name": "delete row", + "font_class": "delete-row-outlined", + "unicode": "e902", + "unicode_decimal": 59650 + }, + { + "icon_id": "4766439", + "name": "database", + "font_class": "database-outlined", + "unicode": "e7b9", + "unicode_decimal": 59321 + }, + { + "icon_id": "4765881", + "name": "dashboard", + "font_class": "dashboard-outlined", + "unicode": "e78b", + "unicode_decimal": 59275 + }, + { + "icon_id": "4766762", + "name": "customerservice", + "font_class": "customer-service-outlined", + "unicode": "e7ca", + "unicode_decimal": 59338 + }, + { + "icon_id": "4936455", + "name": "crown", + "font_class": "crown-outlined", + "unicode": "e844", + "unicode_decimal": 59460 + }, + { + "icon_id": "4766921", + "name": "credit card", + "font_class": "credit-card-outlined", + "unicode": "e7e5", + "unicode_decimal": 59365 + }, + { + "icon_id": "4765731", + "name": "copyright", + "font_class": "copyright-outlined", + "unicode": "e789", + "unicode_decimal": 59273 + }, + { + "icon_id": "33968858", + "name": "copyright-copy", + "font_class": "copyright-circle-outlined", + "unicode": "eb60", + "unicode_decimal": 60256 + }, + { + "icon_id": "4765969", + "name": "control", + "font_class": "control-outlined", + "unicode": "e79c", + "unicode_decimal": 59292 + }, + { + "icon_id": "4766438", + "name": "container", + "font_class": "container-outlined", + "unicode": "e7b8", + "unicode_decimal": 59320 + }, + { + "icon_id": "4766855", + "name": "contacts", + "font_class": "contacts-outlined", + "unicode": "e7e4", + "unicode_decimal": 59364 + }, + { + "icon_id": "9229185", + "name": "Console-SQL", + "font_class": "console-sql-outlined", + "unicode": "e910", + "unicode_decimal": 59664 + }, + { + "icon_id": "9230691", + "name": "compress", + "font_class": "compress-outlined", + "unicode": "e914", + "unicode_decimal": 59668 + }, + { + "icon_id": "4765724", + "name": "compass", + "font_class": "compass-outlined", + "unicode": "e786", + "unicode_decimal": 59270 + }, + { + "icon_id": "6598316", + "name": "comment", + "font_class": "comment-outlined", + "unicode": "e8ea", + "unicode_decimal": 59626 + }, + { + "icon_id": "12258804", + "name": "coffee", + "font_class": "coffee-outlined", + "unicode": "e6b5", + "unicode_decimal": 59061 + }, + { + "icon_id": "4765970", + "name": "code library", + "font_class": "code-outlined", + "unicode": "e79b", + "unicode_decimal": 59291 + }, + { + "icon_id": "4766900", + "name": "cloud-server", + "font_class": "cloud-server-outlined", + "unicode": "e7db", + "unicode_decimal": 59355 + }, + { + "icon_id": "4766901", + "name": "cloud-upload", + "font_class": "cloud-upload-outlined", + "unicode": "e7dc", + "unicode_decimal": 59356 + }, + { + "icon_id": "4766902", + "name": "cloud", + "font_class": "cloud-outlined", + "unicode": "e7dd", + "unicode_decimal": 59357 + }, + { + "icon_id": "4766903", + "name": "cloud-download", + "font_class": "cloud-download-outlined", + "unicode": "e7de", + "unicode_decimal": 59358 + }, + { + "icon_id": "4766904", + "name": "cloud-sync", + "font_class": "cloud-sync-outlined", + "unicode": "e7e0", + "unicode_decimal": 59360 + }, + { + "icon_id": "8094805", + "name": "clear", + "font_class": "clear-outlined", + "unicode": "e900", + "unicode_decimal": 59648 + }, + { + "icon_id": "4765722", + "name": "CI", + "font_class": "ci-circle-outlined", + "unicode": "e77f", + "unicode_decimal": 59263 + }, + { + "icon_id": "4766856", + "name": "carry out", + "font_class": "carry-out-outlined", + "unicode": "e7d6", + "unicode_decimal": 59350 + }, + { + "icon_id": "4766886", + "name": "car", + "font_class": "car-outlined", + "unicode": "e7da", + "unicode_decimal": 59354 + }, + { + "icon_id": "33968843", + "name": "CI-copy", + "font_class": "ci-outlined", + "unicode": "eb5f", + "unicode_decimal": 60255 + }, + { + "icon_id": "4766883", + "name": "camera", + "font_class": "camera-outlined", + "unicode": "e7d9", + "unicode_decimal": 59353 + }, + { + "icon_id": "4766858", + "name": "calendar", + "font_class": "calendar-outlined", + "unicode": "e7d4", + "unicode_decimal": 59348 + }, + { + "icon_id": "4765978", + "name": "calculator", + "font_class": "calculator-outlined", + "unicode": "e79a", + "unicode_decimal": 59290 + }, + { + "icon_id": "4766678", + "name": "bulb", + "font_class": "bulb-outlined", + "unicode": "e7c7", + "unicode_decimal": 59335 + }, + { + "icon_id": "4766872", + "name": "build", + "font_class": "build-outlined", + "unicode": "e7d5", + "unicode_decimal": 59349 + }, + { + "icon_id": "6598314", + "name": "bug", + "font_class": "bug-outlined", + "unicode": "e8e9", + "unicode_decimal": 59625 + }, + { + "icon_id": "4766986", + "name": "branches", + "font_class": "branches-outlined", + "unicode": "e7e7", + "unicode_decimal": 59367 + }, + { + "icon_id": "4767086", + "name": "number", + "font_class": "borderless-table-outlined", + "unicode": "e813", + "unicode_decimal": 59411 + }, + { + "icon_id": "4766265", + "name": "border", + "font_class": "border-outlined", + "unicode": "e7b7", + "unicode_decimal": 59319 + }, + { + "icon_id": "4766454", + "name": "book", + "font_class": "book-outlined", + "unicode": "e7b6", + "unicode_decimal": 59318 + }, + { + "icon_id": "4766952", + "name": "block", + "font_class": "block-outlined", + "unicode": "e7df", + "unicode_decimal": 59359 + }, + { + "icon_id": "4766680", + "name": "bell", + "font_class": "bell-outlined", + "unicode": "e7c5", + "unicode_decimal": 59333 + }, + { + "icon_id": "7239635", + "name": "bars", + "font_class": "bars-outlined", + "unicode": "e71a", + "unicode_decimal": 59162 + }, + { + "icon_id": "4766882", + "name": "barcode", + "font_class": "barcode-outlined", + "unicode": "e7d8", + "unicode_decimal": 59352 + }, + { + "icon_id": "4766686", + "name": "bank", + "font_class": "bank-outlined", + "unicode": "e7c6", + "unicode_decimal": 59334 + }, + { + "icon_id": "4766507", + "name": "audit", + "font_class": "audit-outlined", + "unicode": "e7c0", + "unicode_decimal": 59328 + }, + { + "icon_id": "5756281", + "name": "audio", + "font_class": "audio-outlined", + "unicode": "e89b", + "unicode_decimal": 59547 + }, + { + "icon_id": "6598315", + "name": "audio static", + "font_class": "audio-muted-outlined", + "unicode": "e8e8", + "unicode_decimal": 59624 + }, + { + "icon_id": "4766961", + "name": "api", + "font_class": "api-outlined", + "unicode": "e7e3", + "unicode_decimal": 59363 + }, + { + "icon_id": "5756280", + "name": "apartment", + "font_class": "apartment-outlined", + "unicode": "e89a", + "unicode_decimal": 59546 + }, + { + "icon_id": "4766675", + "name": "alert", + "font_class": "alert-outlined", + "unicode": "e7c4", + "unicode_decimal": 59332 + }, + { + "icon_id": "9230690", + "name": "aim", + "font_class": "aim-outlined", + "unicode": "e913", + "unicode_decimal": 59667 + }, + { + "icon_id": "4766854", + "name": "account book", + "font_class": "account-book-outlined", + "unicode": "e7d3", + "unicode_decimal": 59347 + }, + { + "icon_id": "4767026", + "name": "colum-height", + "font_class": "column-height-outlined", + "unicode": "e811", + "unicode_decimal": 59409 + }, + { + "icon_id": "4767092", + "name": "column-width", + "font_class": "column-width-outlined", + "unicode": "e812", + "unicode_decimal": 59410 + }, + { + "icon_id": "4766286", + "name": "radius-setting", + "font_class": "radius-setting-outlined", + "unicode": "e7b5", + "unicode_decimal": 59317 + }, + { + "icon_id": "4767060", + "name": "unordered list", + "font_class": "unordered-list-outlined", + "unicode": "e80f", + "unicode_decimal": 59407 + }, + { + "icon_id": "4767061", + "name": "ordered list", + "font_class": "ordered-list-outlined", + "unicode": "e810", + "unicode_decimal": 59408 + }, + { + "icon_id": "4936456", + "name": "drag", + "font_class": "drag-outlined", + "unicode": "e843", + "unicode_decimal": 59459 + }, + { + "icon_id": "4767038", + "name": "sort-descending", + "font_class": "sort-descending-outlined", + "unicode": "e80d", + "unicode_decimal": 59405 + }, + { + "icon_id": "4767039", + "name": "sort-ascending", + "font_class": "sort-ascending-outlined", + "unicode": "e80e", + "unicode_decimal": 59406 + }, + { + "icon_id": "4767079", + "name": "font-colors", + "font_class": "font-colors-outlined", + "unicode": "e808", + "unicode_decimal": 59400 + }, + { + "icon_id": "4767081", + "name": "font-size", + "font_class": "font-size-outlined", + "unicode": "e809", + "unicode_decimal": 59401 + }, + { + "icon_id": "4767083", + "name": "line-height", + "font_class": "line-height-outlined", + "unicode": "e80a", + "unicode_decimal": 59402 + }, + { + "icon_id": "4767095", + "name": "dash", + "font_class": "dash-outlined", + "unicode": "e80b", + "unicode_decimal": 59403 + }, + { + "icon_id": "4767103", + "name": "small-dash", + "font_class": "small-dash-outlined", + "unicode": "e80c", + "unicode_decimal": 59404 + }, + { + "icon_id": "5756279", + "name": "zoom out", + "font_class": "zoom-out-outlined", + "unicode": "e898", + "unicode_decimal": 59544 + }, + { + "icon_id": "5756284", + "name": "zoom in", + "font_class": "zoom-in-outlined", + "unicode": "e899", + "unicode_decimal": 59545 + }, + { + "icon_id": "4765837", + "name": "undo", + "font_class": "undo-outlined", + "unicode": "e787", + "unicode_decimal": 59271 + }, + { + "icon_id": "4765838", + "name": "redo", + "font_class": "redo-outlined", + "unicode": "e788", + "unicode_decimal": 59272 + }, + { + "icon_id": "4767078", + "name": "bold", + "font_class": "bold-outlined", + "unicode": "e804", + "unicode_decimal": 59396 + }, + { + "icon_id": "4767084", + "name": "strikethrough", + "font_class": "strikethrough-outlined", + "unicode": "e805", + "unicode_decimal": 59397 + }, + { + "icon_id": "4767085", + "name": "underline", + "font_class": "underline-outlined", + "unicode": "e806", + "unicode_decimal": 59398 + }, + { + "icon_id": "4767087", + "name": "italic", + "font_class": "italic-outlined", + "unicode": "e807", + "unicode_decimal": 59399 + }, + { + "icon_id": "4767106", + "name": "bg-colors", + "font_class": "bg-colors-outlined", + "unicode": "e803", + "unicode_decimal": 59395 + }, + { + "icon_id": "4767062", + "name": "align-right", + "font_class": "align-right-outlined", + "unicode": "e7fb", + "unicode_decimal": 59387 + }, + { + "icon_id": "4767064", + "name": "align-left", + "font_class": "align-left-outlined", + "unicode": "e802", + "unicode_decimal": 59394 + }, + { + "icon_id": "4767063", + "name": "align-center", + "font_class": "align-center-outlined", + "unicode": "e7f5", + "unicode_decimal": 59381 + }, + { + "icon_id": "4766963", + "name": "highlight", + "font_class": "highlight-outlined", + "unicode": "e7e2", + "unicode_decimal": 59362 + }, + { + "icon_id": "4766508", + "name": "diff", + "font_class": "diff-outlined", + "unicode": "e7bf", + "unicode_decimal": 59327 + }, + { + "icon_id": "4766482", + "name": "snippets", + "font_class": "snippets-outlined", + "unicode": "e7bd", + "unicode_decimal": 59325 + }, + { + "icon_id": "4766676", + "name": "delete", + "font_class": "delete-outlined", + "unicode": "e7c3", + "unicode_decimal": 59331 + }, + { + "icon_id": "4766982", + "name": "scissor", + "font_class": "scissor-outlined", + "unicode": "e7e6", + "unicode_decimal": 59366 + }, + { + "icon_id": "4766481", + "name": "file-copy", + "font_class": "copy-outlined", + "unicode": "e7bc", + "unicode_decimal": 59324 + }, + { + "icon_id": "4765957", + "name": "edit-square", + "font_class": "form-outlined", + "unicode": "e791", + "unicode_decimal": 59281 + }, + { + "icon_id": "4766959", + "name": "edit", + "font_class": "edit-outlined", + "unicode": "e7e1", + "unicode_decimal": 59361 + }, + { + "icon_id": "4936459", + "name": "stop", + "font_class": "stop-outlined", + "unicode": "e842", + "unicode_decimal": 59458 + }, + { + "icon_id": "23563617", + "name": "WarningOctagon", + "font_class": "issues-close-outlined", + "unicode": "e68e", + "unicode_decimal": 59022 + }, + { + "icon_id": "15838551", + "name": "warning", + "font_class": "warning-outlined", + "unicode": "e682", + "unicode_decimal": 59010 + }, + { + "icon_id": "4765741", + "name": "time-circle", + "font_class": "clock-circle-outlined", + "unicode": "e784", + "unicode_decimal": 59268 + }, + { + "icon_id": "4765725", + "name": "close-circle", + "font_class": "check-circle-outlined", + "unicode": "e77d", + "unicode_decimal": 59261 + }, + { + "icon_id": "4765964", + "name": "close-square", + "font_class": "check-square-outlined", + "unicode": "e794", + "unicode_decimal": 59284 + }, + { + "icon_id": "4767096", + "name": "close", + "font_class": "check-outlined", + "unicode": "e7fc", + "unicode_decimal": 59388 + }, + { + "icon_id": "4765746", + "name": "warning-circle", + "font_class": "exclamation-circle-outlined", + "unicode": "e785", + "unicode_decimal": 59269 + }, + { + "icon_id": "4767080", + "name": "exclaimination", + "font_class": "exclamation-outlined", + "unicode": "e7fa", + "unicode_decimal": 59386 + }, + { + "icon_id": "4765727", + "name": "info-circle", + "font_class": "info-circle-outlined", + "unicode": "e77e", + "unicode_decimal": 59262 + }, + { + "icon_id": "4767082", + "name": "infomation", + "font_class": "info-outlined", + "unicode": "e7f9", + "unicode_decimal": 59385 + }, + { + "icon_id": "4765972", + "name": "minus-square", + "font_class": "minus-square-outlined", + "unicode": "e796", + "unicode_decimal": 59286 + }, + { + "icon_id": "4765973", + "name": "plus-square", + "font_class": "plus-square-outlined", + "unicode": "e797", + "unicode_decimal": 59287 + }, + { + "icon_id": "4765732", + "name": "minus-circle", + "font_class": "minus-circle-outlined", + "unicode": "e780", + "unicode_decimal": 59264 + }, + { + "icon_id": "4767099", + "name": "minus", + "font_class": "minus-outlined", + "unicode": "e801", + "unicode_decimal": 59393 + }, + { + "icon_id": "4765742", + "name": "time out", + "font_class": "pause-circle-outlined", + "unicode": "e783", + "unicode_decimal": 59267 + }, + { + "icon_id": "4767104", + "name": "pause", + "font_class": "pause-outlined", + "unicode": "e800", + "unicode_decimal": 59392 + }, + { + "icon_id": "4765734", + "name": "plus-circle", + "font_class": "plus-circle-outlined", + "unicode": "e781", + "unicode_decimal": 59265 + }, + { + "icon_id": "7834345", + "name": "plus", + "font_class": "plus-outlined", + "unicode": "e8fe", + "unicode_decimal": 59646 + }, + { + "icon_id": "4765736", + "name": "question-circle", + "font_class": "question-circle-outlined", + "unicode": "e782", + "unicode_decimal": 59266 + }, + { + "icon_id": "4767100", + "name": "question", + "font_class": "question-outlined", + "unicode": "e7ff", + "unicode_decimal": 59391 + }, + { + "icon_id": "4767015", + "name": "fullscreen", + "font_class": "fullscreen-outlined", + "unicode": "e7ec", + "unicode_decimal": 59372 + }, + { + "icon_id": "4767016", + "name": "fullscreen-exit", + "font_class": "fullscreen-exit-outlined", + "unicode": "e7ed", + "unicode_decimal": 59373 + }, + { + "icon_id": "4766282", + "name": "radius-bottomleft", + "font_class": "radius-bottomleft-outlined", + "unicode": "e7b1", + "unicode_decimal": 59313 + }, + { + "icon_id": "4766283", + "name": "radius-bottomright", + "font_class": "radius-bottomright-outlined", + "unicode": "e7b2", + "unicode_decimal": 59314 + }, + { + "icon_id": "4766284", + "name": "radius-upleft", + "font_class": "radius-upleft-outlined", + "unicode": "e7b3", + "unicode_decimal": 59315 + }, + { + "icon_id": "4766285", + "name": "radius-upright", + "font_class": "radius-upright-outlined", + "unicode": "e7b4", + "unicode_decimal": 59316 + }, + { + "icon_id": "4767072", + "name": "pic-center", + "font_class": "pic-center-outlined", + "unicode": "e7f6", + "unicode_decimal": 59382 + }, + { + "icon_id": "4767073", + "name": "pic-right", + "font_class": "pic-right-outlined", + "unicode": "e7f7", + "unicode_decimal": 59383 + }, + { + "icon_id": "4767074", + "name": "pic-left", + "font_class": "pic-left-outlined", + "unicode": "e7f8", + "unicode_decimal": 59384 + }, + { + "icon_id": "4766266", + "name": "border-outer", + "font_class": "border-outer-outlined", + "unicode": "e7a9", + "unicode_decimal": 59305 + }, + { + "icon_id": "4766268", + "name": "border-top", + "font_class": "border-top-outlined", + "unicode": "e7aa", + "unicode_decimal": 59306 + }, + { + "icon_id": "4766269", + "name": "border-bottom", + "font_class": "border-bottom-outlined", + "unicode": "e7ab", + "unicode_decimal": 59307 + }, + { + "icon_id": "4766270", + "name": "border-left", + "font_class": "border-left-outlined", + "unicode": "e7ac", + "unicode_decimal": 59308 + }, + { + "icon_id": "4766271", + "name": "border-right", + "font_class": "border-right-outlined", + "unicode": "e7ad", + "unicode_decimal": 59309 + }, + { + "icon_id": "4766276", + "name": "border-inner", + "font_class": "border-inner-outlined", + "unicode": "e7ae", + "unicode_decimal": 59310 + }, + { + "icon_id": "4766277", + "name": "border-verticle", + "font_class": "border-verticle-outlined", + "unicode": "e7af", + "unicode_decimal": 59311 + }, + { + "icon_id": "4766278", + "name": "border-horizontal", + "font_class": "border-horizontal-outlined", + "unicode": "e7b0", + "unicode_decimal": 59312 + }, + { + "icon_id": "4767050", + "name": "indent", + "font_class": "menu-unfold-outlined", + "unicode": "e7f3", + "unicode_decimal": 59379 + }, + { + "icon_id": "4767051", + "name": "outdent", + "font_class": "menu-fold-outlined", + "unicode": "e7f4", + "unicode_decimal": 59380 + }, + { + "icon_id": "4765888", + "name": "logout", + "font_class": "logout-outlined", + "unicode": "e78c", + "unicode_decimal": 59276 + }, + { + "icon_id": "6598349", + "name": "login", + "font_class": "login-outlined", + "unicode": "e8f4", + "unicode_decimal": 59636 + }, + { + "icon_id": "4766884", + "name": "cluster", + "font_class": "cluster-outlined", + "unicode": "e7d7", + "unicode_decimal": 59351 + }, + { + "icon_id": "4765965", + "name": "down-square", + "font_class": "down-square-outlined", + "unicode": "e793", + "unicode_decimal": 59283 + }, + { + "icon_id": "4765967", + "name": "left-square", + "font_class": "left-square-outlined", + "unicode": "e795", + "unicode_decimal": 59285 + }, + { + "icon_id": "4765974", + "name": "right-square", + "font_class": "right-square-outlined", + "unicode": "e798", + "unicode_decimal": 59288 + }, + { + "icon_id": "4765977", + "name": "up-square", + "font_class": "up-Square-outlined", + "unicode": "e799", + "unicode_decimal": 59289 + }, + { + "icon_id": "15838511", + "name": "play", + "font_class": "play-circle-outlined", + "unicode": "e67a", + "unicode_decimal": 59002 + }, + { + "icon_id": "15838455", + "name": "direction-down", + "font_class": "arrow-down-outlined", + "unicode": "e66d", + "unicode_decimal": 58989 + }, + { + "icon_id": "15838460", + "name": "direction-right", + "font_class": "arrow-right-outlined", + "unicode": "e66e", + "unicode_decimal": 58990 + }, + { + "icon_id": "15838461", + "name": "direction-up", + "font_class": "arrow-up-outlined", + "unicode": "e66f", + "unicode_decimal": 58991 + }, + { + "icon_id": "15838463", + "name": "direction-left", + "font_class": "arrow-left-outlined", + "unicode": "e670", + "unicode_decimal": 58992 + }, + { + "icon_id": "4767044", + "name": "swap", + "font_class": "swap-outlined", + "unicode": "e7f2", + "unicode_decimal": 59378 + }, + { + "icon_id": "6598352", + "name": "swap-right", + "font_class": "swap-right-outlined", + "unicode": "e8f2", + "unicode_decimal": 59634 + }, + { + "icon_id": "6598353", + "name": "swap-left", + "font_class": "swap-left-outlined", + "unicode": "e8f3", + "unicode_decimal": 59635 + }, + { + "icon_id": "4767097", + "name": "enter", + "font_class": "enter-outlined", + "unicode": "e7fd", + "unicode_decimal": 59389 + }, + { + "icon_id": "4767102", + "name": "rollback", + "font_class": "rollback-outlined", + "unicode": "e7fe", + "unicode_decimal": 59390 + }, + { + "icon_id": "6598348", + "name": "retweet", + "font_class": "retweet-outlined", + "unicode": "e8f1", + "unicode_decimal": 59633 + }, + { + "icon_id": "6598344", + "name": "fast-backward", + "font_class": "fast-backward-outlined", + "unicode": "e8ed", + "unicode_decimal": 59629 + }, + { + "icon_id": "6598346", + "name": "fast-forward", + "font_class": "fast-forward-outlined", + "unicode": "e8ee", + "unicode_decimal": 59630 + }, + { + "icon_id": "4767027", + "name": "vertical-align-botto", + "font_class": "vertical-align-bottom-outlined", + "unicode": "e7ef", + "unicode_decimal": 59375 + }, + { + "icon_id": "4767028", + "name": "vertical-align-middl", + "font_class": "vertical-align-middle-outlined", + "unicode": "e7f0", + "unicode_decimal": 59376 + }, + { + "icon_id": "4767030", + "name": "vertical-align-top", + "font_class": "vertical-align-top-outlined", + "unicode": "e7f1", + "unicode_decimal": 59377 + }, + { + "icon_id": "4767009", + "name": "vertical right", + "font_class": "vertical-right-outlined", + "unicode": "e7ea", + "unicode_decimal": 59370 + }, + { + "icon_id": "4767010", + "name": "vertical left", + "font_class": "vertical-left-outlined", + "unicode": "e7eb", + "unicode_decimal": 59371 + }, + { + "icon_id": "15838436", + "name": "arrow-double-left", + "font_class": "double-left-outlined", + "unicode": "e66b", + "unicode_decimal": 58987 + }, + { + "icon_id": "15838438", + "name": "arrow-double-right", + "font_class": "double-right-outlined", + "unicode": "e66c", + "unicode_decimal": 58988 + }, + { + "icon_id": "15838427", + "name": "arrow-up-circle", + "font_class": "up-circle-outlined", + "unicode": "e666", + "unicode_decimal": 58982 + }, + { + "icon_id": "15838428", + "name": "arrow-right-circle", + "font_class": "right-circle-outlined", + "unicode": "e667", + "unicode_decimal": 58983 + }, + { + "icon_id": "15838437", + "name": "arrow-left-circle", + "font_class": "left-circle-outlined", + "unicode": "e66a", + "unicode_decimal": 58986 + }, + { + "icon_id": "33966825", + "name": "arrow-right-circle-copy", + "font_class": "down-circle-outlined", + "unicode": "eb5e", + "unicode_decimal": 60254 + }, + { + "icon_id": "15838581", + "name": "arrow-up-filling", + "font_class": "caret-up-outlined", + "unicode": "e689", + "unicode_decimal": 59017 + }, + { + "icon_id": "15838582", + "name": "arrow-down-filling", + "font_class": "caret-down-outlined", + "unicode": "e68a", + "unicode_decimal": 59018 + }, + { + "icon_id": "15838583", + "name": "arrow-left-filling", + "font_class": "caret-left-outlined", + "unicode": "e68b", + "unicode_decimal": 59019 + }, + { + "icon_id": "15838584", + "name": "arrow-right-filling", + "font_class": "caret-right-outlined", + "unicode": "e68c", + "unicode_decimal": 59020 + }, + { + "icon_id": "15838561", + "name": "arrow-left-bold", + "font_class": "left-outlined", + "unicode": "e685", + "unicode_decimal": 59013 + }, + { + "icon_id": "15838562", + "name": "arrow-up-bold", + "font_class": "up-outlined", + "unicode": "e686", + "unicode_decimal": 59014 + }, + { + "icon_id": "15838564", + "name": "arrow-down-bold", + "font_class": "down-outlined", + "unicode": "e687", + "unicode_decimal": 59015 + }, + { + "icon_id": "15838566", + "name": "arrow-right-bold", + "font_class": "right-outlined", + "unicode": "e688", + "unicode_decimal": 59016 + }, + { + "icon_id": "22894640", + "name": "arrowsalt", + "font_class": "arrows-alt-outlined", + "unicode": "e665", + "unicode_decimal": 58981 + }, + { + "icon_id": "22894827", + "name": "shrink", + "font_class": "shrink-outlined", + "unicode": "e68d", + "unicode_decimal": 59021 + }, + { + "icon_id": "6598350", + "name": "step-backward", + "font_class": "step-backward-outlined", + "unicode": "e8ef", + "unicode_decimal": 59631 + }, + { + "icon_id": "6598351", + "name": "step-forward", + "font_class": "step-forward-outlined", + "unicode": "e8f0", + "unicode_decimal": 59632 + }, + { + "icon_id": "5756283", + "name": "robot", + "font_class": "robot-outlined", + "unicode": "e897", + "unicode_decimal": 59543 + }, + { + "icon_id": "4766477", + "name": "file-word", + "font_class": "file-word-outlined", + "unicode": "e7ba", + "unicode_decimal": 59322 + }, + { + "icon_id": "7239944", + "name": "usergroup-delete", + "font_class": "usergroup-delete-outlined", + "unicode": "e760", + "unicode_decimal": 59232 + }, + { + "icon_id": "19685392", + "name": "时间", + "font_class": "field-time-outlined", + "unicode": "eb5d", + "unicode_decimal": 60253 + }, + { + "icon_id": "4765891", + "name": "setting", + "font_class": "setting-outlined", + "unicode": "e78e", + "unicode_decimal": 59278 + }, + { + "icon_id": "7239751", + "name": "file-search", + "font_class": "file-search-outlined", + "unicode": "e730", + "unicode_decimal": 59184 + }, + { + "icon_id": "11538085", + "name": "team", + "font_class": "team-outlined", + "unicode": "e67d", + "unicode_decimal": 59005 + }, + { + "icon_id": "4765866", + "name": "message", + "font_class": "message-outlined", + "unicode": "e78a", + "unicode_decimal": 59274 + }, + { + "icon_id": "109759", + "name": "mail", + "font_class": "mail-outlined", + "unicode": "e62e", + "unicode_decimal": 58926 + }, + { + "icon_id": "1302559", + "name": "send", + "font_class": "send-outlined", + "unicode": "e622", + "unicode_decimal": 58914 + }, + { + "icon_id": "6598323", + "name": "appstore add", + "font_class": "appstore-add-outlined", + "unicode": "e8eb", + "unicode_decimal": 59627 + }, + { + "icon_id": "23701226", + "name": "User-Outlined", + "font_class": "user-outlined", + "unicode": "e641", + "unicode_decimal": 58945 + }, + { + "icon_id": "7239852", + "name": "project", + "font_class": "project-outlined", + "unicode": "e746", + "unicode_decimal": 59206 + }, + { + "icon_id": "7239770", + "name": "hdd", + "font_class": "hdd-outlined", + "unicode": "e734", + "unicode_decimal": 59188 + }, + { + "icon_id": "7239921", + "name": "tool", + "font_class": "tool-outlined", + "unicode": "e75b", + "unicode_decimal": 59227 + }, + { + "icon_id": "24342656", + "name": "user switch-line", + "font_class": "user-switch-outlined", + "unicode": "ea3d", + "unicode_decimal": 59965 + }, + { + "icon_id": "5226469", + "name": "apps", + "font_class": "appstore-outlined", + "unicode": "e601", + "unicode_decimal": 58881 + }, + { + "icon_id": "11981662", + "name": "home_outlined", + "font_class": "home-outlined", + "unicode": "e965", + "unicode_decimal": 59749 + } + ] +} diff --git a/src/src/assets/icons/mobile/line/iconfont.ttf b/src/src/assets/icons/mobile/line/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..439f7b4339768acffd31105fb9d5b1fd2a733b40 GIT binary patch literal 54080 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 literal 0 HcmV?d00001 diff --git a/src/src/assets/icons/uiw/UiwAdobe.vue b/src/src/assets/icons/uiw/UiwAdobe.vue new file mode 100644 index 0000000..eeb251c --- /dev/null +++ b/src/src/assets/icons/uiw/UiwAdobe.vue @@ -0,0 +1,15 @@ + + + diff --git a/src/src/assets/icons/uiw/UiwAlipay.vue b/src/src/assets/icons/uiw/UiwAlipay.vue new file mode 100644 index 0000000..f1302fe --- /dev/null +++ b/src/src/assets/icons/uiw/UiwAlipay.vue @@ -0,0 +1,14 @@ + + + diff --git a/src/src/assets/icons/uiw/UiwAliwangwang.vue b/src/src/assets/icons/uiw/UiwAliwangwang.vue new file mode 100644 index 0000000..8929ce5 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwAliwangwang.vue @@ -0,0 +1,14 @@ + + + diff --git a/src/src/assets/icons/uiw/UiwAndroid.vue b/src/src/assets/icons/uiw/UiwAndroid.vue new file mode 100644 index 0000000..018a0e2 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwAndroid.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwAndroidO.vue b/src/src/assets/icons/uiw/UiwAndroidO.vue new file mode 100644 index 0000000..f9bd480 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwAndroidO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwApple.vue b/src/src/assets/icons/uiw/UiwApple.vue new file mode 100644 index 0000000..5b79aab --- /dev/null +++ b/src/src/assets/icons/uiw/UiwApple.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwAppstore.vue b/src/src/assets/icons/uiw/UiwAppstore.vue new file mode 100644 index 0000000..8c8e253 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwAppstore.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwAppstoreO.vue b/src/src/assets/icons/uiw/UiwAppstoreO.vue new file mode 100644 index 0000000..8530de5 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwAppstoreO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwAreaChart.vue b/src/src/assets/icons/uiw/UiwAreaChart.vue new file mode 100644 index 0000000..b0e401f --- /dev/null +++ b/src/src/assets/icons/uiw/UiwAreaChart.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwArrowDown.vue b/src/src/assets/icons/uiw/UiwArrowDown.vue new file mode 100644 index 0000000..04615a7 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwArrowDown.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwArrowLeft.vue b/src/src/assets/icons/uiw/UiwArrowLeft.vue new file mode 100644 index 0000000..5a66e4c --- /dev/null +++ b/src/src/assets/icons/uiw/UiwArrowLeft.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwArrowRight.vue b/src/src/assets/icons/uiw/UiwArrowRight.vue new file mode 100644 index 0000000..0918899 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwArrowRight.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwArrowUp.vue b/src/src/assets/icons/uiw/UiwArrowUp.vue new file mode 100644 index 0000000..0763b8a --- /dev/null +++ b/src/src/assets/icons/uiw/UiwArrowUp.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwArrowsAlt.vue b/src/src/assets/icons/uiw/UiwArrowsAlt.vue new file mode 100644 index 0000000..40f4221 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwArrowsAlt.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwAsterisk.vue b/src/src/assets/icons/uiw/UiwAsterisk.vue new file mode 100644 index 0000000..507d5bb --- /dev/null +++ b/src/src/assets/icons/uiw/UiwAsterisk.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwBackward.vue b/src/src/assets/icons/uiw/UiwBackward.vue new file mode 100644 index 0000000..b0b34e9 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwBackward.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwBaidu.vue b/src/src/assets/icons/uiw/UiwBaidu.vue new file mode 100644 index 0000000..a27af05 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwBaidu.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwBarChart.vue b/src/src/assets/icons/uiw/UiwBarChart.vue new file mode 100644 index 0000000..6a4e002 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwBarChart.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwBarcode.vue b/src/src/assets/icons/uiw/UiwBarcode.vue new file mode 100644 index 0000000..3f2f272 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwBarcode.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwBell.vue b/src/src/assets/icons/uiw/UiwBell.vue new file mode 100644 index 0000000..234bce7 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwBell.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCameraO.vue b/src/src/assets/icons/uiw/UiwCameraO.vue new file mode 100644 index 0000000..1c9b6cf --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCameraO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCaretDown.vue b/src/src/assets/icons/uiw/UiwCaretDown.vue new file mode 100644 index 0000000..2be10a9 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCaretDown.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCaretLeft.vue b/src/src/assets/icons/uiw/UiwCaretLeft.vue new file mode 100644 index 0000000..85015dd --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCaretLeft.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCaretRight.vue b/src/src/assets/icons/uiw/UiwCaretRight.vue new file mode 100644 index 0000000..10a02eb --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCaretRight.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCaretUp.vue b/src/src/assets/icons/uiw/UiwCaretUp.vue new file mode 100644 index 0000000..6661bbb --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCaretUp.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCheck.vue b/src/src/assets/icons/uiw/UiwCheck.vue new file mode 100644 index 0000000..9b2277f --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCheck.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCheckSquare.vue b/src/src/assets/icons/uiw/UiwCheckSquare.vue new file mode 100644 index 0000000..fb5d191 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCheckSquare.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCheckSquareO.vue b/src/src/assets/icons/uiw/UiwCheckSquareO.vue new file mode 100644 index 0000000..f1cb1fc --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCheckSquareO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwChrome.vue b/src/src/assets/icons/uiw/UiwChrome.vue new file mode 100644 index 0000000..c458e8a --- /dev/null +++ b/src/src/assets/icons/uiw/UiwChrome.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCircleCheck.vue b/src/src/assets/icons/uiw/UiwCircleCheck.vue new file mode 100644 index 0000000..419ddb5 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCircleCheck.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCircleCheckO.vue b/src/src/assets/icons/uiw/UiwCircleCheckO.vue new file mode 100644 index 0000000..0238a4a --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCircleCheckO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCircleClose.vue b/src/src/assets/icons/uiw/UiwCircleClose.vue new file mode 100644 index 0000000..2fde618 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCircleClose.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCircleCloseO.vue b/src/src/assets/icons/uiw/UiwCircleCloseO.vue new file mode 100644 index 0000000..751487b --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCircleCloseO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCircleO.vue b/src/src/assets/icons/uiw/UiwCircleO.vue new file mode 100644 index 0000000..d85fb1c --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwClose.vue b/src/src/assets/icons/uiw/UiwClose.vue new file mode 100644 index 0000000..b06d661 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwClose.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCloseSquare.vue b/src/src/assets/icons/uiw/UiwCloseSquare.vue new file mode 100644 index 0000000..deb736b --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCloseSquare.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCloseSquareO.vue b/src/src/assets/icons/uiw/UiwCloseSquareO.vue new file mode 100644 index 0000000..6b9768d --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCloseSquareO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCloudDownload.vue b/src/src/assets/icons/uiw/UiwCloudDownload.vue new file mode 100644 index 0000000..1b2a118 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCloudDownload.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCloudDownloadO.vue b/src/src/assets/icons/uiw/UiwCloudDownloadO.vue new file mode 100644 index 0000000..c52b56c --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCloudDownloadO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCloudUpload.vue b/src/src/assets/icons/uiw/UiwCloudUpload.vue new file mode 100644 index 0000000..f001bbd --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCloudUpload.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCloudUploadO.vue b/src/src/assets/icons/uiw/UiwCloudUploadO.vue new file mode 100644 index 0000000..2c1c839 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCloudUploadO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCoffee.vue b/src/src/assets/icons/uiw/UiwCoffee.vue new file mode 100644 index 0000000..2993f2a --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCoffee.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwComponent.vue b/src/src/assets/icons/uiw/UiwComponent.vue new file mode 100644 index 0000000..3ef4f88 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwComponent.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCopy.vue b/src/src/assets/icons/uiw/UiwCopy.vue new file mode 100644 index 0000000..c139047 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCopy.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCopyright.vue b/src/src/assets/icons/uiw/UiwCopyright.vue new file mode 100644 index 0000000..a4edc57 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCopyright.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCss3.vue b/src/src/assets/icons/uiw/UiwCss3.vue new file mode 100644 index 0000000..831ce0b --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCss3.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwCut.vue b/src/src/assets/icons/uiw/UiwCut.vue new file mode 100644 index 0000000..8431803 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwCut.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwDArrowLeft.vue b/src/src/assets/icons/uiw/UiwDArrowLeft.vue new file mode 100644 index 0000000..0a56aba --- /dev/null +++ b/src/src/assets/icons/uiw/UiwDArrowLeft.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwDArrowRight.vue b/src/src/assets/icons/uiw/UiwDArrowRight.vue new file mode 100644 index 0000000..726ecc9 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwDArrowRight.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwDCaret.vue b/src/src/assets/icons/uiw/UiwDCaret.vue new file mode 100644 index 0000000..b5fc335 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwDCaret.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwDashboard.vue b/src/src/assets/icons/uiw/UiwDashboard.vue new file mode 100644 index 0000000..28fe35b --- /dev/null +++ b/src/src/assets/icons/uiw/UiwDashboard.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwDate.vue b/src/src/assets/icons/uiw/UiwDate.vue new file mode 100644 index 0000000..fb471e8 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwDate.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwDelete.vue b/src/src/assets/icons/uiw/UiwDelete.vue new file mode 100644 index 0000000..d8f27a4 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwDelete.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwDingding.vue b/src/src/assets/icons/uiw/UiwDingding.vue new file mode 100644 index 0000000..1b7c0d9 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwDingding.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwDislikeO.vue b/src/src/assets/icons/uiw/UiwDislikeO.vue new file mode 100644 index 0000000..a801e22 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwDislikeO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwDocument.vue b/src/src/assets/icons/uiw/UiwDocument.vue new file mode 100644 index 0000000..76bb35c --- /dev/null +++ b/src/src/assets/icons/uiw/UiwDocument.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwDotChart.vue b/src/src/assets/icons/uiw/UiwDotChart.vue new file mode 100644 index 0000000..37a0bb7 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwDotChart.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwDown.vue b/src/src/assets/icons/uiw/UiwDown.vue new file mode 100644 index 0000000..4f35548 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwDown.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwDownCircle.vue b/src/src/assets/icons/uiw/UiwDownCircle.vue new file mode 100644 index 0000000..5e11567 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwDownCircle.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwDownCircleO.vue b/src/src/assets/icons/uiw/UiwDownCircleO.vue new file mode 100644 index 0000000..ce5d1ca --- /dev/null +++ b/src/src/assets/icons/uiw/UiwDownCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwDownSquare.vue b/src/src/assets/icons/uiw/UiwDownSquare.vue new file mode 100644 index 0000000..d410116 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwDownSquare.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwDownSquareO.vue b/src/src/assets/icons/uiw/UiwDownSquareO.vue new file mode 100644 index 0000000..7bdadbb --- /dev/null +++ b/src/src/assets/icons/uiw/UiwDownSquareO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwDownload.vue b/src/src/assets/icons/uiw/UiwDownload.vue new file mode 100644 index 0000000..f7bf9b6 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwDownload.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwEdit.vue b/src/src/assets/icons/uiw/UiwEdit.vue new file mode 100644 index 0000000..51c461a --- /dev/null +++ b/src/src/assets/icons/uiw/UiwEdit.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwEnter.vue b/src/src/assets/icons/uiw/UiwEnter.vue new file mode 100644 index 0000000..083fd97 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwEnter.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwEnvironment.vue b/src/src/assets/icons/uiw/UiwEnvironment.vue new file mode 100644 index 0000000..4ec4248 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwEnvironment.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwEnvironmentO.vue b/src/src/assets/icons/uiw/UiwEnvironmentO.vue new file mode 100644 index 0000000..128610d --- /dev/null +++ b/src/src/assets/icons/uiw/UiwEnvironmentO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwEye.vue b/src/src/assets/icons/uiw/UiwEye.vue new file mode 100644 index 0000000..6f6a027 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwEye.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwEyeO.vue b/src/src/assets/icons/uiw/UiwEyeO.vue new file mode 100644 index 0000000..ec5aae8 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwEyeO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwFacebook.vue b/src/src/assets/icons/uiw/UiwFacebook.vue new file mode 100644 index 0000000..3e17586 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwFacebook.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwFileAdd.vue b/src/src/assets/icons/uiw/UiwFileAdd.vue new file mode 100644 index 0000000..54ad300 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwFileAdd.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwFileExcel.vue b/src/src/assets/icons/uiw/UiwFileExcel.vue new file mode 100644 index 0000000..3232020 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwFileExcel.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwFileJpg.vue b/src/src/assets/icons/uiw/UiwFileJpg.vue new file mode 100644 index 0000000..4131142 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwFileJpg.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwFilePdf.vue b/src/src/assets/icons/uiw/UiwFilePdf.vue new file mode 100644 index 0000000..c6256da --- /dev/null +++ b/src/src/assets/icons/uiw/UiwFilePdf.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwFileText.vue b/src/src/assets/icons/uiw/UiwFileText.vue new file mode 100644 index 0000000..20f5f85 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwFileText.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwFileUnknown.vue b/src/src/assets/icons/uiw/UiwFileUnknown.vue new file mode 100644 index 0000000..83f8f94 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwFileUnknown.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwFilter.vue b/src/src/assets/icons/uiw/UiwFilter.vue new file mode 100644 index 0000000..462e957 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwFilter.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwFirefox.vue b/src/src/assets/icons/uiw/UiwFirefox.vue new file mode 100644 index 0000000..84e6a65 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwFirefox.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwFolder.vue b/src/src/assets/icons/uiw/UiwFolder.vue new file mode 100644 index 0000000..517f279 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwFolder.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwFolderAdd.vue b/src/src/assets/icons/uiw/UiwFolderAdd.vue new file mode 100644 index 0000000..2a0725f --- /dev/null +++ b/src/src/assets/icons/uiw/UiwFolderAdd.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwFolderOpen.vue b/src/src/assets/icons/uiw/UiwFolderOpen.vue new file mode 100644 index 0000000..b7067f2 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwFolderOpen.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwForward.vue b/src/src/assets/icons/uiw/UiwForward.vue new file mode 100644 index 0000000..37c450b --- /dev/null +++ b/src/src/assets/icons/uiw/UiwForward.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwFoursquare.vue b/src/src/assets/icons/uiw/UiwFoursquare.vue new file mode 100644 index 0000000..e140ec2 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwFoursquare.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwFrown.vue b/src/src/assets/icons/uiw/UiwFrown.vue new file mode 100644 index 0000000..93a5f2d --- /dev/null +++ b/src/src/assets/icons/uiw/UiwFrown.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwFrownO.vue b/src/src/assets/icons/uiw/UiwFrownO.vue new file mode 100644 index 0000000..fdeeb14 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwFrownO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwGithub.vue b/src/src/assets/icons/uiw/UiwGithub.vue new file mode 100644 index 0000000..7355bb7 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwGithub.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwGithubO.vue b/src/src/assets/icons/uiw/UiwGithubO.vue new file mode 100644 index 0000000..b84067b --- /dev/null +++ b/src/src/assets/icons/uiw/UiwGithubO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwGlobal.vue b/src/src/assets/icons/uiw/UiwGlobal.vue new file mode 100644 index 0000000..c15f2fa --- /dev/null +++ b/src/src/assets/icons/uiw/UiwGlobal.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwHeartOff.vue b/src/src/assets/icons/uiw/UiwHeartOff.vue new file mode 100644 index 0000000..12e21a5 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwHeartOff.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwHeartOn.vue b/src/src/assets/icons/uiw/UiwHeartOn.vue new file mode 100644 index 0000000..fff274a --- /dev/null +++ b/src/src/assets/icons/uiw/UiwHeartOn.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwHome.vue b/src/src/assets/icons/uiw/UiwHome.vue new file mode 100644 index 0000000..d02254a --- /dev/null +++ b/src/src/assets/icons/uiw/UiwHome.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwHtml5.vue b/src/src/assets/icons/uiw/UiwHtml5.vue new file mode 100644 index 0000000..553f31c --- /dev/null +++ b/src/src/assets/icons/uiw/UiwHtml5.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwIe.vue b/src/src/assets/icons/uiw/UiwIe.vue new file mode 100644 index 0000000..38dffc4 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwIe.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwInbox.vue b/src/src/assets/icons/uiw/UiwInbox.vue new file mode 100644 index 0000000..4af3125 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwInbox.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwInformation.vue b/src/src/assets/icons/uiw/UiwInformation.vue new file mode 100644 index 0000000..ff4b4b5 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwInformation.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwInformationO.vue b/src/src/assets/icons/uiw/UiwInformationO.vue new file mode 100644 index 0000000..a202497 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwInformationO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwLaptop.vue b/src/src/assets/icons/uiw/UiwLaptop.vue new file mode 100644 index 0000000..a65bc1c --- /dev/null +++ b/src/src/assets/icons/uiw/UiwLaptop.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwLeft.vue b/src/src/assets/icons/uiw/UiwLeft.vue new file mode 100644 index 0000000..6f14627 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwLeft.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwLeftCircle.vue b/src/src/assets/icons/uiw/UiwLeftCircle.vue new file mode 100644 index 0000000..187a2b2 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwLeftCircle.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwLeftCircleO.vue b/src/src/assets/icons/uiw/UiwLeftCircleO.vue new file mode 100644 index 0000000..1e53313 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwLeftCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwLeftSquare.vue b/src/src/assets/icons/uiw/UiwLeftSquare.vue new file mode 100644 index 0000000..69e752b --- /dev/null +++ b/src/src/assets/icons/uiw/UiwLeftSquare.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwLeftSquareO.vue b/src/src/assets/icons/uiw/UiwLeftSquareO.vue new file mode 100644 index 0000000..eb18ac6 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwLeftSquareO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwLikeO.vue b/src/src/assets/icons/uiw/UiwLikeO.vue new file mode 100644 index 0000000..f5b27ab --- /dev/null +++ b/src/src/assets/icons/uiw/UiwLikeO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwLink.vue b/src/src/assets/icons/uiw/UiwLink.vue new file mode 100644 index 0000000..85efeff --- /dev/null +++ b/src/src/assets/icons/uiw/UiwLink.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwLinkedin.vue b/src/src/assets/icons/uiw/UiwLinkedin.vue new file mode 100644 index 0000000..2fe04eb --- /dev/null +++ b/src/src/assets/icons/uiw/UiwLinkedin.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwLinux.vue b/src/src/assets/icons/uiw/UiwLinux.vue new file mode 100644 index 0000000..13d9b58 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwLinux.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwLoading.vue b/src/src/assets/icons/uiw/UiwLoading.vue new file mode 100644 index 0000000..fb9227f --- /dev/null +++ b/src/src/assets/icons/uiw/UiwLoading.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwLock.vue b/src/src/assets/icons/uiw/UiwLock.vue new file mode 100644 index 0000000..28f6dbc --- /dev/null +++ b/src/src/assets/icons/uiw/UiwLock.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwLogin.vue b/src/src/assets/icons/uiw/UiwLogin.vue new file mode 100644 index 0000000..a898091 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwLogin.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwLogout.vue b/src/src/assets/icons/uiw/UiwLogout.vue new file mode 100644 index 0000000..1f7a40c --- /dev/null +++ b/src/src/assets/icons/uiw/UiwLogout.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwMail.vue b/src/src/assets/icons/uiw/UiwMail.vue new file mode 100644 index 0000000..fa2ffc4 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwMail.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwMailO.vue b/src/src/assets/icons/uiw/UiwMailO.vue new file mode 100644 index 0000000..32ec3f7 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwMailO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwMan.vue b/src/src/assets/icons/uiw/UiwMan.vue new file mode 100644 index 0000000..13f22b5 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwMan.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwMap.vue b/src/src/assets/icons/uiw/UiwMap.vue new file mode 100644 index 0000000..4365d9a --- /dev/null +++ b/src/src/assets/icons/uiw/UiwMap.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwMeh.vue b/src/src/assets/icons/uiw/UiwMeh.vue new file mode 100644 index 0000000..c615aec --- /dev/null +++ b/src/src/assets/icons/uiw/UiwMeh.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwMehO.vue b/src/src/assets/icons/uiw/UiwMehO.vue new file mode 100644 index 0000000..9105467 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwMehO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwMenu.vue b/src/src/assets/icons/uiw/UiwMenu.vue new file mode 100644 index 0000000..9f2d21f --- /dev/null +++ b/src/src/assets/icons/uiw/UiwMenu.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwMenuFold.vue b/src/src/assets/icons/uiw/UiwMenuFold.vue new file mode 100644 index 0000000..3aacfea --- /dev/null +++ b/src/src/assets/icons/uiw/UiwMenuFold.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwMenuUnfold.vue b/src/src/assets/icons/uiw/UiwMenuUnfold.vue new file mode 100644 index 0000000..c9c46d3 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwMenuUnfold.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwMessage.vue b/src/src/assets/icons/uiw/UiwMessage.vue new file mode 100644 index 0000000..84d51c8 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwMessage.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwMinus.vue b/src/src/assets/icons/uiw/UiwMinus.vue new file mode 100644 index 0000000..c430d03 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwMinus.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwMinusCircle.vue b/src/src/assets/icons/uiw/UiwMinusCircle.vue new file mode 100644 index 0000000..c782b1f --- /dev/null +++ b/src/src/assets/icons/uiw/UiwMinusCircle.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwMinusCircleO.vue b/src/src/assets/icons/uiw/UiwMinusCircleO.vue new file mode 100644 index 0000000..665cd87 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwMinusCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwMinusSquare.vue b/src/src/assets/icons/uiw/UiwMinusSquare.vue new file mode 100644 index 0000000..3a0aed2 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwMinusSquare.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwMinusSquareO.vue b/src/src/assets/icons/uiw/UiwMinusSquareO.vue new file mode 100644 index 0000000..228a1e3 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwMinusSquareO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwMobile.vue b/src/src/assets/icons/uiw/UiwMobile.vue new file mode 100644 index 0000000..95f3306 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwMobile.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwMore.vue b/src/src/assets/icons/uiw/UiwMore.vue new file mode 100644 index 0000000..7fe9138 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwMore.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwNotification.vue b/src/src/assets/icons/uiw/UiwNotification.vue new file mode 100644 index 0000000..22bf4cd --- /dev/null +++ b/src/src/assets/icons/uiw/UiwNotification.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwOpera.vue b/src/src/assets/icons/uiw/UiwOpera.vue new file mode 100644 index 0000000..81d1c2b --- /dev/null +++ b/src/src/assets/icons/uiw/UiwOpera.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwPaperClip.vue b/src/src/assets/icons/uiw/UiwPaperClip.vue new file mode 100644 index 0000000..90e1721 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwPaperClip.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwPause.vue b/src/src/assets/icons/uiw/UiwPause.vue new file mode 100644 index 0000000..7f545ab --- /dev/null +++ b/src/src/assets/icons/uiw/UiwPause.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwPauseCircle.vue b/src/src/assets/icons/uiw/UiwPauseCircle.vue new file mode 100644 index 0000000..ced2cfb --- /dev/null +++ b/src/src/assets/icons/uiw/UiwPauseCircle.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwPauseCircleO.vue b/src/src/assets/icons/uiw/UiwPauseCircleO.vue new file mode 100644 index 0000000..73b76b7 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwPauseCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwPay.vue b/src/src/assets/icons/uiw/UiwPay.vue new file mode 100644 index 0000000..8c04151 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwPay.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwPayCircleO.vue b/src/src/assets/icons/uiw/UiwPayCircleO.vue new file mode 100644 index 0000000..c187d65 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwPayCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwPicasa.vue b/src/src/assets/icons/uiw/UiwPicasa.vue new file mode 100644 index 0000000..d2879fc --- /dev/null +++ b/src/src/assets/icons/uiw/UiwPicasa.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwPicture.vue b/src/src/assets/icons/uiw/UiwPicture.vue new file mode 100644 index 0000000..57392e4 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwPicture.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwPieChart.vue b/src/src/assets/icons/uiw/UiwPieChart.vue new file mode 100644 index 0000000..7d4c5f3 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwPieChart.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwPinterest.vue b/src/src/assets/icons/uiw/UiwPinterest.vue new file mode 100644 index 0000000..8ff5f67 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwPinterest.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwPlayCircle.vue b/src/src/assets/icons/uiw/UiwPlayCircle.vue new file mode 100644 index 0000000..e0fccf6 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwPlayCircle.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwPlayCircleO.vue b/src/src/assets/icons/uiw/UiwPlayCircleO.vue new file mode 100644 index 0000000..003e0fa --- /dev/null +++ b/src/src/assets/icons/uiw/UiwPlayCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwPlus.vue b/src/src/assets/icons/uiw/UiwPlus.vue new file mode 100644 index 0000000..6d88042 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwPlus.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwPlusCircle.vue b/src/src/assets/icons/uiw/UiwPlusCircle.vue new file mode 100644 index 0000000..a671f61 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwPlusCircle.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwPlusCircleO.vue b/src/src/assets/icons/uiw/UiwPlusCircleO.vue new file mode 100644 index 0000000..d05b1b4 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwPlusCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwPlusSquare.vue b/src/src/assets/icons/uiw/UiwPlusSquare.vue new file mode 100644 index 0000000..4e0f869 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwPlusSquare.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwPlusSquareO.vue b/src/src/assets/icons/uiw/UiwPlusSquareO.vue new file mode 100644 index 0000000..2f4a2d8 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwPlusSquareO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwPoweroff.vue b/src/src/assets/icons/uiw/UiwPoweroff.vue new file mode 100644 index 0000000..7672085 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwPoweroff.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwPrinter.vue b/src/src/assets/icons/uiw/UiwPrinter.vue new file mode 100644 index 0000000..28bb2c9 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwPrinter.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwQq.vue b/src/src/assets/icons/uiw/UiwQq.vue new file mode 100644 index 0000000..9cca28c --- /dev/null +++ b/src/src/assets/icons/uiw/UiwQq.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwQrcode.vue b/src/src/assets/icons/uiw/UiwQrcode.vue new file mode 100644 index 0000000..e5d5cea --- /dev/null +++ b/src/src/assets/icons/uiw/UiwQrcode.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwQuestionCircle.vue b/src/src/assets/icons/uiw/UiwQuestionCircle.vue new file mode 100644 index 0000000..c061060 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwQuestionCircle.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwQuestionCircleO.vue b/src/src/assets/icons/uiw/UiwQuestionCircleO.vue new file mode 100644 index 0000000..7da5678 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwQuestionCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwReddit.vue b/src/src/assets/icons/uiw/UiwReddit.vue new file mode 100644 index 0000000..d9c3df7 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwReddit.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwReload.vue b/src/src/assets/icons/uiw/UiwReload.vue new file mode 100644 index 0000000..ff72db3 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwReload.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwRight.vue b/src/src/assets/icons/uiw/UiwRight.vue new file mode 100644 index 0000000..e055f65 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwRight.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwRightCircle.vue b/src/src/assets/icons/uiw/UiwRightCircle.vue new file mode 100644 index 0000000..5decfb0 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwRightCircle.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwRightCircleO.vue b/src/src/assets/icons/uiw/UiwRightCircleO.vue new file mode 100644 index 0000000..19fca27 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwRightCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwRightSquare.vue b/src/src/assets/icons/uiw/UiwRightSquare.vue new file mode 100644 index 0000000..7f87286 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwRightSquare.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwRightSquareO.vue b/src/src/assets/icons/uiw/UiwRightSquareO.vue new file mode 100644 index 0000000..99f16ce --- /dev/null +++ b/src/src/assets/icons/uiw/UiwRightSquareO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwRollback.vue b/src/src/assets/icons/uiw/UiwRollback.vue new file mode 100644 index 0000000..87137b0 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwRollback.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwSafari.vue b/src/src/assets/icons/uiw/UiwSafari.vue new file mode 100644 index 0000000..9bbe4e5 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwSafari.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwSafety.vue b/src/src/assets/icons/uiw/UiwSafety.vue new file mode 100644 index 0000000..7be65c5 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwSafety.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwSave.vue b/src/src/assets/icons/uiw/UiwSave.vue new file mode 100644 index 0000000..627fed2 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwSave.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwSearch.vue b/src/src/assets/icons/uiw/UiwSearch.vue new file mode 100644 index 0000000..62af70a --- /dev/null +++ b/src/src/assets/icons/uiw/UiwSearch.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwSetting.vue b/src/src/assets/icons/uiw/UiwSetting.vue new file mode 100644 index 0000000..097b695 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwSetting.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwSettingO.vue b/src/src/assets/icons/uiw/UiwSettingO.vue new file mode 100644 index 0000000..20741a3 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwSettingO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwShare.vue b/src/src/assets/icons/uiw/UiwShare.vue new file mode 100644 index 0000000..573e2dc --- /dev/null +++ b/src/src/assets/icons/uiw/UiwShare.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwShoppingCart.vue b/src/src/assets/icons/uiw/UiwShoppingCart.vue new file mode 100644 index 0000000..13d0b61 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwShoppingCart.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwShrink.vue b/src/src/assets/icons/uiw/UiwShrink.vue new file mode 100644 index 0000000..a451807 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwShrink.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwSmile.vue b/src/src/assets/icons/uiw/UiwSmile.vue new file mode 100644 index 0000000..548500f --- /dev/null +++ b/src/src/assets/icons/uiw/UiwSmile.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwSmileO.vue b/src/src/assets/icons/uiw/UiwSmileO.vue new file mode 100644 index 0000000..248852b --- /dev/null +++ b/src/src/assets/icons/uiw/UiwSmileO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwSquareO.vue b/src/src/assets/icons/uiw/UiwSquareO.vue new file mode 100644 index 0000000..1371e41 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwSquareO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwStarOff.vue b/src/src/assets/icons/uiw/UiwStarOff.vue new file mode 100644 index 0000000..2a9013f --- /dev/null +++ b/src/src/assets/icons/uiw/UiwStarOff.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwStarOn.vue b/src/src/assets/icons/uiw/UiwStarOn.vue new file mode 100644 index 0000000..3c372c3 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwStarOn.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwStop.vue b/src/src/assets/icons/uiw/UiwStop.vue new file mode 100644 index 0000000..7806abf --- /dev/null +++ b/src/src/assets/icons/uiw/UiwStop.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwStopO.vue b/src/src/assets/icons/uiw/UiwStopO.vue new file mode 100644 index 0000000..288ec37 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwStopO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwSwap.vue b/src/src/assets/icons/uiw/UiwSwap.vue new file mode 100644 index 0000000..8b2a3e3 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwSwap.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwSwapLeft.vue b/src/src/assets/icons/uiw/UiwSwapLeft.vue new file mode 100644 index 0000000..61205d8 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwSwapLeft.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwSwapRight.vue b/src/src/assets/icons/uiw/UiwSwapRight.vue new file mode 100644 index 0000000..26e2f9b --- /dev/null +++ b/src/src/assets/icons/uiw/UiwSwapRight.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwTable.vue b/src/src/assets/icons/uiw/UiwTable.vue new file mode 100644 index 0000000..353321d --- /dev/null +++ b/src/src/assets/icons/uiw/UiwTable.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwTag.vue b/src/src/assets/icons/uiw/UiwTag.vue new file mode 100644 index 0000000..679a364 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwTag.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwTagO.vue b/src/src/assets/icons/uiw/UiwTagO.vue new file mode 100644 index 0000000..593b145 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwTagO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwTags.vue b/src/src/assets/icons/uiw/UiwTags.vue new file mode 100644 index 0000000..a02e393 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwTags.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwTagsO.vue b/src/src/assets/icons/uiw/UiwTagsO.vue new file mode 100644 index 0000000..a635ebf --- /dev/null +++ b/src/src/assets/icons/uiw/UiwTagsO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwTaobao.vue b/src/src/assets/icons/uiw/UiwTaobao.vue new file mode 100644 index 0000000..f2d4d78 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwTaobao.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwTime.vue b/src/src/assets/icons/uiw/UiwTime.vue new file mode 100644 index 0000000..f3ed896 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwTime.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwTimeO.vue b/src/src/assets/icons/uiw/UiwTimeO.vue new file mode 100644 index 0000000..f7f9320 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwTimeO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwTwitter.vue b/src/src/assets/icons/uiw/UiwTwitter.vue new file mode 100644 index 0000000..f5c42d1 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwTwitter.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwUiw.vue b/src/src/assets/icons/uiw/UiwUiw.vue new file mode 100644 index 0000000..8c6afea --- /dev/null +++ b/src/src/assets/icons/uiw/UiwUiw.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwUnlock.vue b/src/src/assets/icons/uiw/UiwUnlock.vue new file mode 100644 index 0000000..2e86e07 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwUnlock.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwUp.vue b/src/src/assets/icons/uiw/UiwUp.vue new file mode 100644 index 0000000..e330168 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwUp.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwUpCircle.vue b/src/src/assets/icons/uiw/UiwUpCircle.vue new file mode 100644 index 0000000..8862168 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwUpCircle.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwUpCircleO.vue b/src/src/assets/icons/uiw/UiwUpCircleO.vue new file mode 100644 index 0000000..2921df3 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwUpCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwUpSquare.vue b/src/src/assets/icons/uiw/UiwUpSquare.vue new file mode 100644 index 0000000..4370ae6 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwUpSquare.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwUpSquareO.vue b/src/src/assets/icons/uiw/UiwUpSquareO.vue new file mode 100644 index 0000000..ebb29da --- /dev/null +++ b/src/src/assets/icons/uiw/UiwUpSquareO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwUpload.vue b/src/src/assets/icons/uiw/UiwUpload.vue new file mode 100644 index 0000000..2363302 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwUpload.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwUser.vue b/src/src/assets/icons/uiw/UiwUser.vue new file mode 100644 index 0000000..2caa308 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwUser.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwUserAdd.vue b/src/src/assets/icons/uiw/UiwUserAdd.vue new file mode 100644 index 0000000..a149a3b --- /dev/null +++ b/src/src/assets/icons/uiw/UiwUserAdd.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwUserDelete.vue b/src/src/assets/icons/uiw/UiwUserDelete.vue new file mode 100644 index 0000000..39a9187 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwUserDelete.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwUsergroupAdd.vue b/src/src/assets/icons/uiw/UiwUsergroupAdd.vue new file mode 100644 index 0000000..6cbd224 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwUsergroupAdd.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwUsergroupDelete.vue b/src/src/assets/icons/uiw/UiwUsergroupDelete.vue new file mode 100644 index 0000000..79c69b2 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwUsergroupDelete.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwVerification.vue b/src/src/assets/icons/uiw/UiwVerification.vue new file mode 100644 index 0000000..d45c3d6 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwVerification.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwVerticleLeft.vue b/src/src/assets/icons/uiw/UiwVerticleLeft.vue new file mode 100644 index 0000000..69e4578 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwVerticleLeft.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwVerticleRight.vue b/src/src/assets/icons/uiw/UiwVerticleRight.vue new file mode 100644 index 0000000..65320b7 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwVerticleRight.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwVideoCamera.vue b/src/src/assets/icons/uiw/UiwVideoCamera.vue new file mode 100644 index 0000000..da01578 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwVideoCamera.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwWarning.vue b/src/src/assets/icons/uiw/UiwWarning.vue new file mode 100644 index 0000000..e740ba9 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwWarning.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwWarningO.vue b/src/src/assets/icons/uiw/UiwWarningO.vue new file mode 100644 index 0000000..b3bd388 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwWarningO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwWeibo.vue b/src/src/assets/icons/uiw/UiwWeibo.vue new file mode 100644 index 0000000..8fe7363 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwWeibo.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwWeixin.vue b/src/src/assets/icons/uiw/UiwWeixin.vue new file mode 100644 index 0000000..c745892 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwWeixin.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwWifi.vue b/src/src/assets/icons/uiw/UiwWifi.vue new file mode 100644 index 0000000..8d5a977 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwWifi.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwWindows.vue b/src/src/assets/icons/uiw/UiwWindows.vue new file mode 100644 index 0000000..8217385 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwWindows.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwWoman.vue b/src/src/assets/icons/uiw/UiwWoman.vue new file mode 100644 index 0000000..38d88a2 --- /dev/null +++ b/src/src/assets/icons/uiw/UiwWoman.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwZoomIn.vue b/src/src/assets/icons/uiw/UiwZoomIn.vue new file mode 100644 index 0000000..fcc4f8b --- /dev/null +++ b/src/src/assets/icons/uiw/UiwZoomIn.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/icons/uiw/UiwZoomOut.vue b/src/src/assets/icons/uiw/UiwZoomOut.vue new file mode 100644 index 0000000..e9a1bfa --- /dev/null +++ b/src/src/assets/icons/uiw/UiwZoomOut.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/src/assets/images/fileImg/README.md b/src/src/assets/images/fileImg/README.md new file mode 100644 index 0000000..2da6114 --- /dev/null +++ b/src/src/assets/images/fileImg/README.md @@ -0,0 +1 @@ +图标文件来源:https://www.aigei.com/s?q=%E6%96%87%E4%BB%B6&detailTab=file&type=icon_7&page=11#resContainer diff --git a/src/src/assets/images/fileImg/docx.png b/src/src/assets/images/fileImg/docx.png new file mode 100644 index 0000000000000000000000000000000000000000..d7bc3aaa9a2c3de1c2ff70b4df98efa23c81cbc8 GIT binary patch literal 8977 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 literal 0 HcmV?d00001 diff --git a/src/src/assets/images/fileImg/file.png b/src/src/assets/images/fileImg/file.png new file mode 100644 index 0000000000000000000000000000000000000000..5731c21e64832abd186b5d9f70e201a9b92de300 GIT binary patch literal 2484 zcmb_edrVVT82|3=6>b%3k!+xXyVBv}Bnu-fLnY%DN&%6oxDAAbbtN181GAAweMBxr zrKUsU5OEBY8JD^T2%72UVB7|rn`XeY%gkV-3wwylfMBMh!|gk5O(z+Q$J+Fqd(QdJ z_j`QbO}c-hCc$_9lKBAOo0O0J0_A04NLx zxTytLa}*$8Ywd+i(Rje*C{vUG%?EZlHdW%9+LoFS3yqyY1GwK#wUA@! z*2FE_0AwBHM^&woEycYBNh;;@hVKS@n>CwX3B2^;y=JT?5;=ES{udiKFt(|f7{Tw#k_E|Q0tHDnIkW(Ch3Rnnb0S6_>xpV?&@FQ8e*x^A0@btD1$PlFJx z5YI~(>`(Vh#9|IlfU`gtDEQeg@)QW6m~zsA&z|;m-h_≫6bBqFnj)C_`NIVBk6y zaWpbhD#U)oBt}Q^$jpH9@!ceC^str*TQ&aFeO)~egYKD2@kTPyo0}|l{(8Kp@hJe) zqg2{OML>YF(g;LqFR%!~kxnHRI=95Uc(Ky)YR1S?HKJcpTM{$hZm|8HNmj|H&%Svq zKZ8E&8@T<|%p;r(xab>P}>1%1oExNOc@7)&jgQt`Ba zPi+}sBCYk`CROVDmZOD-J}mAT-SD#{SlW={}^{PT6{_RCK1dv6ss z#(=F|F@gR}tZ}#2Pw!)H?dwIgMHYw58e6H4sn}N)_YY%c?Y6QC8_{P+T_ieUEE#K~ zS%_%9|Ax0V$Za;$apRv`{};^k*kAe S6d#bkR*)30Q8mVDjei5v^q#K( literal 0 HcmV?d00001 diff --git a/src/src/assets/images/fileImg/gif.png b/src/src/assets/images/fileImg/gif.png new file mode 100644 index 0000000000000000000000000000000000000000..f7de5193f787b1717544c17db2ef80fe4b95510b GIT binary patch literal 6013 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 AYybcN literal 0 HcmV?d00001 diff --git a/src/src/assets/images/fileImg/html.png b/src/src/assets/images/fileImg/html.png new file mode 100644 index 0000000000000000000000000000000000000000..ab8266352e2dd7265a1697e59c6ac723bed0cabb GIT binary patch literal 13037 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 literal 0 HcmV?d00001 diff --git a/src/src/assets/images/fileImg/img.png b/src/src/assets/images/fileImg/img.png new file mode 100644 index 0000000000000000000000000000000000000000..04b11185445778addee04dcbcf70ae882bab5669 GIT binary patch literal 10147 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 literal 0 HcmV?d00001 diff --git a/src/src/assets/images/fileImg/png.png b/src/src/assets/images/fileImg/png.png new file mode 100644 index 0000000000000000000000000000000000000000..58de69ce72645c6350152f206fd522f62dcd7908 GIT binary patch literal 9769 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 literal 0 HcmV?d00001 diff --git a/src/src/assets/images/fileImg/ppt.png b/src/src/assets/images/fileImg/ppt.png new file mode 100644 index 0000000000000000000000000000000000000000..c4b2b8d7bcf131c22c0033af52f0f1a791cb6787 GIT binary patch literal 10484 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 literal 0 HcmV?d00001 diff --git a/src/src/assets/images/fileImg/rar.png b/src/src/assets/images/fileImg/rar.png new file mode 100644 index 0000000000000000000000000000000000000000..898d93154270cfafb9c00f174a2a95c1c2dd68dd GIT binary patch literal 12718 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 literal 0 HcmV?d00001 diff --git a/src/src/assets/images/fileImg/txt.png b/src/src/assets/images/fileImg/txt.png new file mode 100644 index 0000000000000000000000000000000000000000..46cfd32f6fa7165f879db0131c4fda93a24a24c6 GIT binary patch literal 10359 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 literal 0 HcmV?d00001 diff --git a/src/src/assets/images/login_home.jpg b/src/src/assets/images/login_home.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f22a14631aeef927ad41d7f9ad80373f6dc81040 GIT binary patch literal 491851 zcmeGDRaabX6EzB>0h-_z+zD<87A&~CJBjR+WR0=bs8I)3Rb5pz=UkD>ic)9*A^;2w44RCzxGD?`d=Cr^0x$B1_b)>rFc1cY z0!Bt$MBOv{q!Xos#@z4x#iyd8xgjs}OaC}~1UtKJ(C?tAJ;o>%<$6mPu3t9F1t?eE zmvfbpqc;U~_IaNSX=<@iE+#SHT|4Bh|la|k9U zrZNo9|Evg+=>t*z|Mnpt5pa9{XCnFm4q*I$9KpjPvj5K{;b$OR#(&P=?MA+Thy8!u zQ~Y1|A^-Pq{!5Ghn>p|G@&Bo;e)iA$!kAjouY{*w8=J#+f4oOTZ8L%IBKlV-_P??f z6oK{qP1!boo3Bcyt}ABl$E$<5qB4~mmhJ*g7r2)|G-%2fM4iIz|6kqCpa3@EVfC`Y zoqZ`zdu5|x=0Ww`RgLCfIm{Acf^yUXk%3sfwB&8Jy-ZA&3jnfQP6+n@%Dg-r&NIOH zaO!aG`&j6hCB2RalO+1zs3B+16 z*e(H>Kgw4B^TVMGb1qlab0{$sJmF2(p;HV4Q30N~DEy0xWirtU4YQ{))wpjvx6uZG zQbJwPmHE(OD3Oy{+vy4L7*PR+yS^nm*ebH4ktM}{LEVhdRV z5yI&psufk`CQ-)X#6OnmVO+io;d+-UtZ?=!6*5dX+|`}%rxe)r1cx-r_|&rAIm%IN z8<5-E+X0RC8)4$Xb>DO(%;marto+E7L}XdxrQ6LpCT+@KY?q~bAT}74RVKf4~yoe ziXI?_N0(E;=|*YFblDFEvFctB1cA)2vqN|-zGhRB-zJ3R%!6pd7w08+bo0eXBGw-} zpcF>D_iKQFcuC#MpQ1AP8O_RR?1xmFT5!`Ws8)Lz$^JO6bC=z%1@?n?0=m7CdB4#8 zm*iO23<#7qL)^+sB*<2dOuBwwZk7NhUVe0y&P5-zo&;Uiq^)%g_vc_}Ii8*tpCLH+ zwOmWYW}P!Yvxor-a128De7PIlXsSZb;?X!#6B~N+k9sLpTP5;J+{era}@$DO$ z^Ujyv`pmNXvz%RTl{KWxb>1Hj%&V8mOEKVCnlZzleKzOQdylD;BZq8boBMA%)~~)7 z*_fiaV#+XgK{&{UX08<8YIxrz7&%ny>l{#uj{?Fb%aviM$>x|tD`bBj%*||Ti93X6 zy6X)%vSJP>;!DeH7=IRlsr>%0A_FF_v6VrRG!7;Il{E$L3K6wfU{jW|8vC~#(2i9! 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

-71EVPCPy^rl(X)=7me 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%0De181dd1mk&eYc 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 U*JNakfxQD#l2el{lQ9eYe|C7N_5c6? literal 0 HcmV?d00001 diff --git a/src/src/components/AdvancedSearchForm/index.vue b/src/src/components/AdvancedSearchForm/index.vue new file mode 100644 index 0000000..dc93d45 --- /dev/null +++ b/src/src/components/AdvancedSearchForm/index.vue @@ -0,0 +1,81 @@ + + + diff --git a/src/src/components/CardTitle/index.vue b/src/src/components/CardTitle/index.vue new file mode 100644 index 0000000..8902be5 --- /dev/null +++ b/src/src/components/CardTitle/index.vue @@ -0,0 +1,26 @@ + + + + + diff --git a/src/src/components/Chart/eCBingZhuangTu/CustomizedPie.vue b/src/src/components/Chart/eCBingZhuangTu/CustomizedPie.vue new file mode 100644 index 0000000..e748881 --- /dev/null +++ b/src/src/components/Chart/eCBingZhuangTu/CustomizedPie.vue @@ -0,0 +1,79 @@ + + + diff --git a/src/src/components/Chart/eCBingZhuangTu/DoughnutChartWithRoundedCorner.vue b/src/src/components/Chart/eCBingZhuangTu/DoughnutChartWithRoundedCorner.vue new file mode 100644 index 0000000..b250f93 --- /dev/null +++ b/src/src/components/Chart/eCBingZhuangTu/DoughnutChartWithRoundedCorner.vue @@ -0,0 +1,57 @@ + + + diff --git a/src/src/components/Chart/eCBingZhuangTu/NightingaleChart.vue b/src/src/components/Chart/eCBingZhuangTu/NightingaleChart.vue new file mode 100644 index 0000000..64f7b08 --- /dev/null +++ b/src/src/components/Chart/eCBingZhuangTu/NightingaleChart.vue @@ -0,0 +1,54 @@ + + + diff --git a/src/src/components/Chart/eCBingZhuangTu/RefererOfAWebsite.vue b/src/src/components/Chart/eCBingZhuangTu/RefererOfAWebsite.vue new file mode 100644 index 0000000..96bc235 --- /dev/null +++ b/src/src/components/Chart/eCBingZhuangTu/RefererOfAWebsite.vue @@ -0,0 +1,53 @@ + + + diff --git a/src/src/components/Chart/eCKXianTu/BasicCandlestick.vue b/src/src/components/Chart/eCKXianTu/BasicCandlestick.vue new file mode 100644 index 0000000..2ba80ed --- /dev/null +++ b/src/src/components/Chart/eCKXianTu/BasicCandlestick.vue @@ -0,0 +1,35 @@ + + + diff --git a/src/src/components/Chart/eCKXianTu/LargeScaleCandlestick.vue b/src/src/components/Chart/eCKXianTu/LargeScaleCandlestick.vue new file mode 100644 index 0000000..3579116 --- /dev/null +++ b/src/src/components/Chart/eCKXianTu/LargeScaleCandlestick.vue @@ -0,0 +1,207 @@ + + + diff --git a/src/src/components/Chart/eCKXianTu/ShangHaiIndex.vue b/src/src/components/Chart/eCKXianTu/ShangHaiIndex.vue new file mode 100644 index 0000000..bd03c99 --- /dev/null +++ b/src/src/components/Chart/eCKXianTu/ShangHaiIndex.vue @@ -0,0 +1,324 @@ + + + diff --git a/src/src/components/Chart/eCLouDouTu/CustomizedFunnel.vue b/src/src/components/Chart/eCLouDouTu/CustomizedFunnel.vue new file mode 100644 index 0000000..dbe223c --- /dev/null +++ b/src/src/components/Chart/eCLouDouTu/CustomizedFunnel.vue @@ -0,0 +1,100 @@ + + diff --git a/src/src/components/Chart/eCLouDouTu/FunnelChart.vue b/src/src/components/Chart/eCLouDouTu/FunnelChart.vue new file mode 100644 index 0000000..90153e0 --- /dev/null +++ b/src/src/components/Chart/eCLouDouTu/FunnelChart.vue @@ -0,0 +1,81 @@ + + diff --git a/src/src/components/Chart/eCLouDouTu/FunnelCompare.vue b/src/src/components/Chart/eCLouDouTu/FunnelCompare.vue new file mode 100644 index 0000000..37cde53 --- /dev/null +++ b/src/src/components/Chart/eCLouDouTu/FunnelCompare.vue @@ -0,0 +1,114 @@ + + diff --git a/src/src/components/Chart/eCLouDouTu/MultipleFunnels.vue b/src/src/components/Chart/eCLouDouTu/MultipleFunnels.vue new file mode 100644 index 0000000..e09aa3c --- /dev/null +++ b/src/src/components/Chart/eCLouDouTu/MultipleFunnels.vue @@ -0,0 +1,114 @@ + + diff --git a/src/src/components/Chart/eCSanDianTu/BasicScatterChart.vue b/src/src/components/Chart/eCSanDianTu/BasicScatterChart.vue new file mode 100644 index 0000000..3c815a9 --- /dev/null +++ b/src/src/components/Chart/eCSanDianTu/BasicScatterChart.vue @@ -0,0 +1,51 @@ + + diff --git a/src/src/components/Chart/eCSanDianTu/ClusteringProcess.vue b/src/src/components/Chart/eCSanDianTu/ClusteringProcess.vue new file mode 100644 index 0000000..e1780e3 --- /dev/null +++ b/src/src/components/Chart/eCSanDianTu/ClusteringProcess.vue @@ -0,0 +1,139 @@ + + diff --git a/src/src/components/Chart/eCSanDianTu/EffectScatterChart.vue b/src/src/components/Chart/eCSanDianTu/EffectScatterChart.vue new file mode 100644 index 0000000..a9a3dd5 --- /dev/null +++ b/src/src/components/Chart/eCSanDianTu/EffectScatterChart.vue @@ -0,0 +1,92 @@ + + diff --git a/src/src/components/Chart/eCSanDianTu/ScatterAqiColor.vue b/src/src/components/Chart/eCSanDianTu/ScatterAqiColor.vue new file mode 100644 index 0000000..a44e60a --- /dev/null +++ b/src/src/components/Chart/eCSanDianTu/ScatterAqiColor.vue @@ -0,0 +1,264 @@ + + diff --git a/src/src/components/Chart/eCShuXingTu/TreeWithPolylineEdge.vue b/src/src/components/Chart/eCShuXingTu/TreeWithPolylineEdge.vue new file mode 100644 index 0000000..3d57210 --- /dev/null +++ b/src/src/components/Chart/eCShuXingTu/TreeWithPolylineEdge.vue @@ -0,0 +1,182 @@ + + diff --git a/src/src/components/Chart/eCXianXingTu/BasicLineChart.vue b/src/src/components/Chart/eCXianXingTu/BasicLineChart.vue new file mode 100644 index 0000000..5c071a2 --- /dev/null +++ b/src/src/components/Chart/eCXianXingTu/BasicLineChart.vue @@ -0,0 +1,34 @@ + + diff --git a/src/src/components/Chart/eCXianXingTu/StackedAreaChart.vue b/src/src/components/Chart/eCXianXingTu/StackedAreaChart.vue new file mode 100644 index 0000000..9e82448 --- /dev/null +++ b/src/src/components/Chart/eCXianXingTu/StackedAreaChart.vue @@ -0,0 +1,115 @@ + + diff --git a/src/src/components/Chart/eCXianXingTu/StackedLineChart.vue b/src/src/components/Chart/eCXianXingTu/StackedLineChart.vue new file mode 100644 index 0000000..8442da8 --- /dev/null +++ b/src/src/components/Chart/eCXianXingTu/StackedLineChart.vue @@ -0,0 +1,81 @@ + + diff --git a/src/src/components/Chart/eCXianXingTu/StepLine.vue b/src/src/components/Chart/eCXianXingTu/StepLine.vue new file mode 100644 index 0000000..6e27326 --- /dev/null +++ b/src/src/components/Chart/eCXianXingTu/StepLine.vue @@ -0,0 +1,68 @@ + + diff --git a/src/src/components/Chart/eCYiBiaoTu/GaugeBasicChart.vue b/src/src/components/Chart/eCYiBiaoTu/GaugeBasicChart.vue new file mode 100644 index 0000000..f55b7d7 --- /dev/null +++ b/src/src/components/Chart/eCYiBiaoTu/GaugeBasicChart.vue @@ -0,0 +1,37 @@ + + diff --git a/src/src/components/Chart/eCYiBiaoTu/GrogressGauge.vue b/src/src/components/Chart/eCYiBiaoTu/GrogressGauge.vue new file mode 100644 index 0000000..785deac --- /dev/null +++ b/src/src/components/Chart/eCYiBiaoTu/GrogressGauge.vue @@ -0,0 +1,106 @@ + + diff --git a/src/src/components/Chart/eCYiBiaoTu/StageSpeedGauge.vue b/src/src/components/Chart/eCYiBiaoTu/StageSpeedGauge.vue new file mode 100644 index 0000000..367075c --- /dev/null +++ b/src/src/components/Chart/eCYiBiaoTu/StageSpeedGauge.vue @@ -0,0 +1,83 @@ + + diff --git a/src/src/components/Chart/eCYiBiaoTu/TemperatureGaugeChart.vue b/src/src/components/Chart/eCYiBiaoTu/TemperatureGaugeChart.vue new file mode 100644 index 0000000..0bbdc25 --- /dev/null +++ b/src/src/components/Chart/eCYiBiaoTu/TemperatureGaugeChart.vue @@ -0,0 +1,147 @@ + + diff --git a/src/src/components/Chart/eCZhuZhuangTu/BarChartWithNegativeValue.vue b/src/src/components/Chart/eCZhuZhuangTu/BarChartWithNegativeValue.vue new file mode 100644 index 0000000..5122cd0 --- /dev/null +++ b/src/src/components/Chart/eCZhuZhuangTu/BarChartWithNegativeValue.vue @@ -0,0 +1,77 @@ + + diff --git a/src/src/components/Chart/eCZhuZhuangTu/BarLabelRotation.vue b/src/src/components/Chart/eCZhuZhuangTu/BarLabelRotation.vue new file mode 100644 index 0000000..9449c41 --- /dev/null +++ b/src/src/components/Chart/eCZhuZhuangTu/BarLabelRotation.vue @@ -0,0 +1,132 @@ + + diff --git a/src/src/components/Chart/eCZhuZhuangTu/BasicBar.vue b/src/src/components/Chart/eCZhuZhuangTu/BasicBar.vue new file mode 100644 index 0000000..542751a --- /dev/null +++ b/src/src/components/Chart/eCZhuZhuangTu/BasicBar.vue @@ -0,0 +1,32 @@ + + diff --git a/src/src/components/Chart/eCZhuZhuangTu/WatermarkEChartsDownload.vue b/src/src/components/Chart/eCZhuZhuangTu/WatermarkEChartsDownload.vue new file mode 100644 index 0000000..080f7d0 --- /dev/null +++ b/src/src/components/Chart/eCZhuZhuangTu/WatermarkEChartsDownload.vue @@ -0,0 +1,249 @@ + + diff --git a/src/src/components/Chart/g2BingZhuangTu/BingZhuangTu01.vue b/src/src/components/Chart/g2BingZhuangTu/BingZhuangTu01.vue new file mode 100644 index 0000000..069039b --- /dev/null +++ b/src/src/components/Chart/g2BingZhuangTu/BingZhuangTu01.vue @@ -0,0 +1,60 @@ + + + diff --git a/src/src/components/Chart/g2BingZhuangTu/BingZhuangTu02.vue b/src/src/components/Chart/g2BingZhuangTu/BingZhuangTu02.vue new file mode 100644 index 0000000..89bb896 --- /dev/null +++ b/src/src/components/Chart/g2BingZhuangTu/BingZhuangTu02.vue @@ -0,0 +1,35 @@ + + + diff --git a/src/src/components/Chart/g2BingZhuangTu/BingZhuangTu03.vue b/src/src/components/Chart/g2BingZhuangTu/BingZhuangTu03.vue new file mode 100644 index 0000000..5da57e9 --- /dev/null +++ b/src/src/components/Chart/g2BingZhuangTu/BingZhuangTu03.vue @@ -0,0 +1,51 @@ + + + diff --git a/src/src/components/Chart/g2BingZhuangTu/BingZhuangTu04.vue b/src/src/components/Chart/g2BingZhuangTu/BingZhuangTu04.vue new file mode 100644 index 0000000..1d5e7b0 --- /dev/null +++ b/src/src/components/Chart/g2BingZhuangTu/BingZhuangTu04.vue @@ -0,0 +1,81 @@ + + + diff --git a/src/src/components/Chart/g2CiYunTu/CiYunTu01.vue b/src/src/components/Chart/g2CiYunTu/CiYunTu01.vue new file mode 100644 index 0000000..0b6c52b --- /dev/null +++ b/src/src/components/Chart/g2CiYunTu/CiYunTu01.vue @@ -0,0 +1,37 @@ + + + diff --git a/src/src/components/Chart/g2CiYunTu/CiYunTu02.vue b/src/src/components/Chart/g2CiYunTu/CiYunTu02.vue new file mode 100644 index 0000000..8f34326 --- /dev/null +++ b/src/src/components/Chart/g2CiYunTu/CiYunTu02.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/src/components/Chart/g2JinDuTu/JinDuTu01.vue b/src/src/components/Chart/g2JinDuTu/JinDuTu01.vue new file mode 100644 index 0000000..3d0784c --- /dev/null +++ b/src/src/components/Chart/g2JinDuTu/JinDuTu01.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/src/components/Chart/g2JinDuTu/JinDuTu02.vue b/src/src/components/Chart/g2JinDuTu/JinDuTu02.vue new file mode 100644 index 0000000..46fc47f --- /dev/null +++ b/src/src/components/Chart/g2JinDuTu/JinDuTu02.vue @@ -0,0 +1,22 @@ + + + diff --git a/src/src/components/Chart/g2JinDuTu/JinDuTu03.vue b/src/src/components/Chart/g2JinDuTu/JinDuTu03.vue new file mode 100644 index 0000000..675b100 --- /dev/null +++ b/src/src/components/Chart/g2JinDuTu/JinDuTu03.vue @@ -0,0 +1,71 @@ + + + diff --git a/src/src/components/Chart/g2JinDuTu/JinDuTu04.vue b/src/src/components/Chart/g2JinDuTu/JinDuTu04.vue new file mode 100644 index 0000000..c025a9f --- /dev/null +++ b/src/src/components/Chart/g2JinDuTu/JinDuTu04.vue @@ -0,0 +1,58 @@ + + + diff --git a/src/src/components/Chart/g2LouDouTu/LouDouTu01.vue b/src/src/components/Chart/g2LouDouTu/LouDouTu01.vue new file mode 100644 index 0000000..4a9ab53 --- /dev/null +++ b/src/src/components/Chart/g2LouDouTu/LouDouTu01.vue @@ -0,0 +1,27 @@ + + + diff --git a/src/src/components/Chart/g2LouDouTu/LouDouTu02.vue b/src/src/components/Chart/g2LouDouTu/LouDouTu02.vue new file mode 100644 index 0000000..d800bb2 --- /dev/null +++ b/src/src/components/Chart/g2LouDouTu/LouDouTu02.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/src/components/Chart/g2MianJiTu/MianJiTu01.vue b/src/src/components/Chart/g2MianJiTu/MianJiTu01.vue new file mode 100644 index 0000000..5efb7ab --- /dev/null +++ b/src/src/components/Chart/g2MianJiTu/MianJiTu01.vue @@ -0,0 +1,24 @@ + + + diff --git a/src/src/components/Chart/g2MianJiTu/MianJiTu02.vue b/src/src/components/Chart/g2MianJiTu/MianJiTu02.vue new file mode 100644 index 0000000..1c1eae4 --- /dev/null +++ b/src/src/components/Chart/g2MianJiTu/MianJiTu02.vue @@ -0,0 +1,30 @@ + + + diff --git a/src/src/components/Chart/g2MianJiTu/MianJiTu03.vue b/src/src/components/Chart/g2MianJiTu/MianJiTu03.vue new file mode 100644 index 0000000..92b3e3c --- /dev/null +++ b/src/src/components/Chart/g2MianJiTu/MianJiTu03.vue @@ -0,0 +1,22 @@ + + + diff --git a/src/src/components/Chart/g2MianJiTu/MianJiTu04.vue b/src/src/components/Chart/g2MianJiTu/MianJiTu04.vue new file mode 100644 index 0000000..27160ba --- /dev/null +++ b/src/src/components/Chart/g2MianJiTu/MianJiTu04.vue @@ -0,0 +1,35 @@ + + + diff --git a/src/src/components/Chart/g2SanDianTu/SanDianTu01.vue b/src/src/components/Chart/g2SanDianTu/SanDianTu01.vue new file mode 100644 index 0000000..cf8bc43 --- /dev/null +++ b/src/src/components/Chart/g2SanDianTu/SanDianTu01.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/src/components/Chart/g2SanDianTu/SanDianTu02.vue b/src/src/components/Chart/g2SanDianTu/SanDianTu02.vue new file mode 100644 index 0000000..8be7761 --- /dev/null +++ b/src/src/components/Chart/g2SanDianTu/SanDianTu02.vue @@ -0,0 +1,52 @@ + + + diff --git a/src/src/components/Chart/g2SanDianTu/SanDianTu03.vue b/src/src/components/Chart/g2SanDianTu/SanDianTu03.vue new file mode 100644 index 0000000..49fa842 --- /dev/null +++ b/src/src/components/Chart/g2SanDianTu/SanDianTu03.vue @@ -0,0 +1,51 @@ + + + diff --git a/src/src/components/Chart/g2SanDianTu/SanDianTu04.vue b/src/src/components/Chart/g2SanDianTu/SanDianTu04.vue new file mode 100644 index 0000000..4ff3fd9 --- /dev/null +++ b/src/src/components/Chart/g2SanDianTu/SanDianTu04.vue @@ -0,0 +1,337 @@ + + + diff --git a/src/src/components/Chart/g2TiaoXingTu/TiaoXingTu01.vue b/src/src/components/Chart/g2TiaoXingTu/TiaoXingTu01.vue new file mode 100644 index 0000000..d76c686 --- /dev/null +++ b/src/src/components/Chart/g2TiaoXingTu/TiaoXingTu01.vue @@ -0,0 +1,30 @@ + + + diff --git a/src/src/components/Chart/g2TiaoXingTu/TiaoXingTu02.vue b/src/src/components/Chart/g2TiaoXingTu/TiaoXingTu02.vue new file mode 100644 index 0000000..20d06f6 --- /dev/null +++ b/src/src/components/Chart/g2TiaoXingTu/TiaoXingTu02.vue @@ -0,0 +1,126 @@ + + + diff --git a/src/src/components/Chart/g2TiaoXingTu/TiaoXingTu03.vue b/src/src/components/Chart/g2TiaoXingTu/TiaoXingTu03.vue new file mode 100644 index 0000000..09d45ae --- /dev/null +++ b/src/src/components/Chart/g2TiaoXingTu/TiaoXingTu03.vue @@ -0,0 +1,89 @@ + + + diff --git a/src/src/components/Chart/g2TiaoXingTu/TiaoXingTu04.vue b/src/src/components/Chart/g2TiaoXingTu/TiaoXingTu04.vue new file mode 100644 index 0000000..515f98c --- /dev/null +++ b/src/src/components/Chart/g2TiaoXingTu/TiaoXingTu04.vue @@ -0,0 +1,34 @@ + + + diff --git a/src/src/components/Chart/g2ZheXianTu/ZheXianTu01.vue b/src/src/components/Chart/g2ZheXianTu/ZheXianTu01.vue new file mode 100644 index 0000000..63249f2 --- /dev/null +++ b/src/src/components/Chart/g2ZheXianTu/ZheXianTu01.vue @@ -0,0 +1,27 @@ + + + diff --git a/src/src/components/Chart/g2ZheXianTu/ZheXianTu02.vue b/src/src/components/Chart/g2ZheXianTu/ZheXianTu02.vue new file mode 100644 index 0000000..b61e39c --- /dev/null +++ b/src/src/components/Chart/g2ZheXianTu/ZheXianTu02.vue @@ -0,0 +1,32 @@ + + + diff --git a/src/src/components/Chart/g2ZheXianTu/ZheXianTu03.vue b/src/src/components/Chart/g2ZheXianTu/ZheXianTu03.vue new file mode 100644 index 0000000..34cae3a --- /dev/null +++ b/src/src/components/Chart/g2ZheXianTu/ZheXianTu03.vue @@ -0,0 +1,32 @@ + + + diff --git a/src/src/components/Chart/g2ZheXianTu/ZheXianTu04.vue b/src/src/components/Chart/g2ZheXianTu/ZheXianTu04.vue new file mode 100644 index 0000000..18a5eb2 --- /dev/null +++ b/src/src/components/Chart/g2ZheXianTu/ZheXianTu04.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu01.vue b/src/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu01.vue new file mode 100644 index 0000000..bf8fcf3 --- /dev/null +++ b/src/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu01.vue @@ -0,0 +1,76 @@ + + + diff --git a/src/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu02.vue b/src/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu02.vue new file mode 100644 index 0000000..f05769b --- /dev/null +++ b/src/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu02.vue @@ -0,0 +1,37 @@ + + + diff --git a/src/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu03.vue b/src/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu03.vue new file mode 100644 index 0000000..128bff9 --- /dev/null +++ b/src/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu03.vue @@ -0,0 +1,120 @@ + + + diff --git a/src/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu04.vue b/src/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu04.vue new file mode 100644 index 0000000..1222331 --- /dev/null +++ b/src/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu04.vue @@ -0,0 +1,138 @@ + + + diff --git a/src/src/components/Chart/g2ZiDanTu/ZiDanTu01.vue b/src/src/components/Chart/g2ZiDanTu/ZiDanTu01.vue new file mode 100644 index 0000000..08727da --- /dev/null +++ b/src/src/components/Chart/g2ZiDanTu/ZiDanTu01.vue @@ -0,0 +1,73 @@ + + + diff --git a/src/src/components/Chart/g2ZiDanTu/ZiDanTu02.vue b/src/src/components/Chart/g2ZiDanTu/ZiDanTu02.vue new file mode 100644 index 0000000..19db78c --- /dev/null +++ b/src/src/components/Chart/g2ZiDanTu/ZiDanTu02.vue @@ -0,0 +1,96 @@ + + + diff --git a/src/src/components/ColorPicker/index.vue b/src/src/components/ColorPicker/index.vue new file mode 100644 index 0000000..6952228 --- /dev/null +++ b/src/src/components/ColorPicker/index.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/src/src/components/Cron/data.js b/src/src/components/Cron/data.js new file mode 100644 index 0000000..c7abcfc --- /dev/null +++ b/src/src/components/Cron/data.js @@ -0,0 +1,103 @@ +export const getYear = () => { + let v = [] + let y = new Date().getFullYear() + for (let i = 0; i < 11; i++) { + v.push(y + i) + } + return v +} +export const data = { + second: ['0', '5', '15', '20', '25', '30', '35', '40', '45', '50', '55', '59'], + minute: ['0', '5', '15', '20', '25', '30', '35', '40', '45', '50', '55', '59'], + hour: [ + '0', + '1', + '2', + '3', + '4', + '5', + '6', + '7', + '8', + '9', + '10', + '11', + '12', + '13', + '14', + '15', + '16', + '17', + '18', + '19', + '20', + '21', + '22', + '23' + ], + day: [ + '1', + '2', + '3', + '4', + '5', + '6', + '7', + '8', + '9', + '10', + '11', + '12', + '13', + '14', + '15', + '16', + '17', + '18', + '19', + '20', + '21', + '22', + '23', + '24', + '25', + '26', + '27', + '28', + '29', + '30', + '31' + ], + month: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + week: [ + { + value: '0', + label: '周日' + }, + { + value: '1', + label: '周一' + }, + { + value: '2', + label: '周二' + }, + { + value: '3', + label: '周三' + }, + { + value: '4', + label: '周四' + }, + { + value: '5', + label: '周五' + }, + { + value: '6', + label: '周六' + } + ], + year: getYear() +} diff --git a/src/src/components/Cron/index.vue b/src/src/components/Cron/index.vue new file mode 100644 index 0000000..fedfc99 --- /dev/null +++ b/src/src/components/Cron/index.vue @@ -0,0 +1,756 @@ + + + + + diff --git a/src/src/components/CropUpload/index.vue b/src/src/components/CropUpload/index.vue new file mode 100644 index 0000000..e17bee0 --- /dev/null +++ b/src/src/components/CropUpload/index.vue @@ -0,0 +1,186 @@ + + + + + diff --git a/src/src/components/DragModal/index.vue b/src/src/components/DragModal/index.vue new file mode 100644 index 0000000..b925aa4 --- /dev/null +++ b/src/src/components/DragModal/index.vue @@ -0,0 +1,318 @@ + + + diff --git a/src/src/components/DragModal/props.js b/src/src/components/DragModal/props.js new file mode 100644 index 0000000..f29069f --- /dev/null +++ b/src/src/components/DragModal/props.js @@ -0,0 +1,30 @@ +export default { + props: [ + 'afterClose', // Modal 完全关闭后的回调 function 无 + 'bodyStyle', // Modal body 样式 object {} + 'cancelText', // 取消按钮文字 string| slot 取消 + 'centered', // 垂直居中展示 Modal Boolean false + 'closable', // 是否显示右上角的关闭按钮 boolean true + 'closeIcon', // 自定义关闭图标 VNode | slot - 1.5.0 + 'confirmLoading', // 确定按钮 loading boolean 无 + 'destroyOnClose', // 关闭时销毁 Modal 里的子元素 boolean false + 'footer', // 底部内容,当不需要默认底部按钮时,可以设为 :footer="null" string|slot 确定取消按钮 + 'forceRender', // 强制渲染 Modal boolean false + 'getContainer', // 指定 Modal 挂载的 HTML 节点 (instance): HTMLElement () => document.body + 'keyboard', // 是否支持键盘 esc 关闭 boolean true + 'mask', // 是否展示遮罩 Boolean true + 'maskClosable', // 点击蒙层是否允许关闭 boolean true + 'maskStyle', // 遮罩样式 object {} + 'okText', // 确认按钮文字 string|slot 确定 + 'okType', // 确认按钮类型 string primary + 'okButtonProps', // ok 按钮 props, 遵循 jsx规范 {props: ButtonProps, on: {}} - + 'cancelButtonProps', // cancel 按钮 props, 遵循 jsx规范 {props: ButtonProps, on: {}} - + 'title', // 标题 string|slot 无 + // 'visible', // (v-model) 对话框是否可见 boolean 无 + // 'width', // 宽度 string|number 520 + // 'wrapClassName', // 对话框外层容器的类名 string - + 'zIndex', // 设置 Modal 的 z-index Number 1000 + 'dialogStyle', // 可用于设置浮层的样式,调整浮层位置等 object - 1.6.1 + 'dialogClass' // 可用于设置浮层的类名 string + ] +} diff --git a/src/src/components/DynamicForm/index.vue b/src/src/components/DynamicForm/index.vue new file mode 100644 index 0000000..cd8b1bf --- /dev/null +++ b/src/src/components/DynamicForm/index.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/src/src/components/DynamicSearchForm/index.vue b/src/src/components/DynamicSearchForm/index.vue new file mode 100644 index 0000000..a9d0503 --- /dev/null +++ b/src/src/components/DynamicSearchForm/index.vue @@ -0,0 +1,56 @@ + + + + + diff --git a/src/src/components/DynamicTable/index.vue b/src/src/components/DynamicTable/index.vue new file mode 100644 index 0000000..d9b6479 --- /dev/null +++ b/src/src/components/DynamicTable/index.vue @@ -0,0 +1,145 @@ + + + + + diff --git a/src/src/components/DynamicTree/index.vue b/src/src/components/DynamicTree/index.vue new file mode 100644 index 0000000..de5ad3c --- /dev/null +++ b/src/src/components/DynamicTree/index.vue @@ -0,0 +1,210 @@ + + + + + diff --git a/src/src/components/Editor/README.md b/src/src/components/Editor/README.md new file mode 100644 index 0000000..a9fb1a6 --- /dev/null +++ b/src/src/components/Editor/README.md @@ -0,0 +1,15 @@ +## 富文本 + +### 说明 + +这个组件将在3.2版本移除,请及时更新使用xn-editor + +> 更新提示 +> +> 1、将 改为 +> +> 2、v-model绑定改为v-model:value +> +> 3、整体写法为: +> +> 4、移除业务内跟此组件无关的其他代码即可 diff --git a/src/src/components/Editor/index.vue b/src/src/components/Editor/index.vue new file mode 100644 index 0000000..e95fd2c --- /dev/null +++ b/src/src/components/Editor/index.vue @@ -0,0 +1,104 @@ + + + diff --git a/src/src/components/Ellipsis/index.md b/src/src/components/Ellipsis/index.md new file mode 100644 index 0000000..e4316bf --- /dev/null +++ b/src/src/components/Ellipsis/index.md @@ -0,0 +1,33 @@ +# Ellipsis 文本自动省略号 + +文本过长自动处理省略号,支持按照文本长度和最大行数两种方式截取。 + + + +引用方式: + +```javascript +import Ellipsis from '@/components/Ellipsis' +// vue3 不需要利用compoents去注册组件,引入后可直接使用 +``` + + + +## 代码演示 [demo](https://snowy.xiaonuo.vip) + +```html + + There were injuries alleged in three cases in 2015, and a + fourth incident in September, according to the safety recall report. After meeting with US regulators in October, the firm decided to issue a voluntary recall. + +``` + + + +## API + + +参数 | 说明 | 类型 | 默认值 +----|------|-----|------ +tooltip | 移动到文本展示完整内容的提示 | boolean | - +length | 在按照长度截取下的文本最大字符数,超过则截取省略 | number | - diff --git a/src/src/components/Ellipsis/index.vue b/src/src/components/Ellipsis/index.vue new file mode 100644 index 0000000..4f8c64d --- /dev/null +++ b/src/src/components/Ellipsis/index.vue @@ -0,0 +1,48 @@ + + diff --git a/src/src/components/Ellipsis/util.js b/src/src/components/Ellipsis/util.js new file mode 100644 index 0000000..b9577bb --- /dev/null +++ b/src/src/components/Ellipsis/util.js @@ -0,0 +1,44 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ + +/** + * 获取字符串长度,英文字符 长度1,中文字符长度2 + * @param {*} str + */ +export const getStrFullLength = (str = '') => + str.split('').reduce((pre, cur) => { + const charCode = cur.charCodeAt(0) + if (charCode >= 0 && charCode <= 128) { + return pre + 1 + } + return pre + 2 + }, 0) + +/** + * 截取字符串,根据 maxLength 截取后返回 + * @param {*} str + * @param {*} maxLength + */ +export const cutStrByFullLength = (str = '', maxLength) => { + let showLength = 0 + return str.split('').reduce((pre, cur) => { + const charCode = cur.charCodeAt(0) + if (charCode >= 0 && charCode <= 128) { + showLength += 1 + } else { + showLength += 2 + } + if (showLength <= maxLength) { + return pre + cur + } + return pre + }, '') +} diff --git a/src/src/components/FounderForm/index.vue b/src/src/components/FounderForm/index.vue new file mode 100644 index 0000000..c6338c3 --- /dev/null +++ b/src/src/components/FounderForm/index.vue @@ -0,0 +1,7 @@ + + + + + diff --git a/src/src/components/HomeCard/BizMiniMessageCard/index.vue b/src/src/components/HomeCard/BizMiniMessageCard/index.vue new file mode 100644 index 0000000..7301f30 --- /dev/null +++ b/src/src/components/HomeCard/BizMiniMessageCard/index.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/src/src/components/HomeCard/BizNoticeCard/detail.vue b/src/src/components/HomeCard/BizNoticeCard/detail.vue new file mode 100644 index 0000000..1285bfd --- /dev/null +++ b/src/src/components/HomeCard/BizNoticeCard/detail.vue @@ -0,0 +1,85 @@ + + + diff --git a/src/src/components/HomeCard/BizNoticeCard/index.vue b/src/src/components/HomeCard/BizNoticeCard/index.vue new file mode 100644 index 0000000..321a834 --- /dev/null +++ b/src/src/components/HomeCard/BizNoticeCard/index.vue @@ -0,0 +1,79 @@ + + + + diff --git a/src/src/components/HomeCard/BizScheduleCard/index.vue b/src/src/components/HomeCard/BizScheduleCard/index.vue new file mode 100644 index 0000000..8232811 --- /dev/null +++ b/src/src/components/HomeCard/BizScheduleCard/index.vue @@ -0,0 +1,132 @@ + + + + + diff --git a/src/src/components/HomeCard/BizShortcutCard/index.vue b/src/src/components/HomeCard/BizShortcutCard/index.vue new file mode 100644 index 0000000..77478f5 --- /dev/null +++ b/src/src/components/HomeCard/BizShortcutCard/index.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/src/src/components/HomeCard/BizSlideshowCard/index.vue b/src/src/components/HomeCard/BizSlideshowCard/index.vue new file mode 100644 index 0000000..481ed92 --- /dev/null +++ b/src/src/components/HomeCard/BizSlideshowCard/index.vue @@ -0,0 +1,108 @@ + + + + + diff --git a/src/src/components/HomeCard/SysBizDataCard/index.vue b/src/src/components/HomeCard/SysBizDataCard/index.vue new file mode 100644 index 0000000..ae65873 --- /dev/null +++ b/src/src/components/HomeCard/SysBizDataCard/index.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/src/src/components/HomeCard/SysOpDataCard/index.vue b/src/src/components/HomeCard/SysOpDataCard/index.vue new file mode 100644 index 0000000..8e2ba73 --- /dev/null +++ b/src/src/components/HomeCard/SysOpDataCard/index.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/src/components/HomeCard/SysOpLogCard/index.vue b/src/src/components/HomeCard/SysOpLogCard/index.vue new file mode 100644 index 0000000..a2a4174 --- /dev/null +++ b/src/src/components/HomeCard/SysOpLogCard/index.vue @@ -0,0 +1,58 @@ + + + + diff --git a/src/src/components/HomeCard/SysToolDataCard/index.vue b/src/src/components/HomeCard/SysToolDataCard/index.vue new file mode 100644 index 0000000..205d105 --- /dev/null +++ b/src/src/components/HomeCard/SysToolDataCard/index.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/src/src/components/HomeCard/SysUserInfoCard/index.vue b/src/src/components/HomeCard/SysUserInfoCard/index.vue new file mode 100644 index 0000000..cd01735 --- /dev/null +++ b/src/src/components/HomeCard/SysUserInfoCard/index.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/src/components/HomeCard/SysVisChartDataCard/index.vue b/src/src/components/HomeCard/SysVisChartDataCard/index.vue new file mode 100644 index 0000000..1e62eb2 --- /dev/null +++ b/src/src/components/HomeCard/SysVisChartDataCard/index.vue @@ -0,0 +1,55 @@ + + + + diff --git a/src/src/components/HomeCard/SysVisLogCard/index.vue b/src/src/components/HomeCard/SysVisLogCard/index.vue new file mode 100644 index 0000000..4b9db19 --- /dev/null +++ b/src/src/components/HomeCard/SysVisLogCard/index.vue @@ -0,0 +1,65 @@ + + + + diff --git a/src/src/components/Map/baiduMap/README.md b/src/src/components/Map/baiduMap/README.md new file mode 100644 index 0000000..3a821e0 --- /dev/null +++ b/src/src/components/Map/baiduMap/README.md @@ -0,0 +1,187 @@ +BMap +==== + +> 百度地图组件,常用于地图展示使用 + +该组件由 [小诺开源技术](https://www.xiaonuo.vip) 封装 + +### 使用方式 + +```text +申请key +``` + +访问 [百度地图官网](https://lbsyun.baidu.com/apiconsole/center#/home) 注册账号,申请应用获得key + +```vue + + + +``` + +### Prop属性 + +| 名称 | 说明 | 类型 | 默认值 | +|---------------|------------|--------|----------| +| mid | 容器ID | String | 时间戳 | +| height | 容器高度 | Number | 800,单位px | +| apiKey | 地图Key | String | | +| center | 地图中心点 | String | 自动定位 | +| plugins | 地图控件 | Array | | +| viewMode | 效果:2D,3D | String | 3D | +| rotationAngle | 旋转角度 | Number | 60 | +| tiltAngle | 倾斜角度 | Number | 70 | +| zoom | 地图缩放比例 | Number | 12 | +| mapStyle | 地图样式:个性化地图 | String | | + +#### 地图控件 + +- BMap.ScaleControl:比例尺 +- BMap.ZoomControl:缩放 +- BMap.LocationControl:定位 +- BMap.NavigationControl3D:3D控件 + +### 事件 + +| 名称 | 说明 | 参数 | 参数类型 | +|-------------|---------------|----------|-------| +| complete | 当地图初始化完成时触发 | - | - | +| markerClick | 当点击了点覆盖物时触发 | position | Array | + +### 方法 + +| 名称 | 说明 | 参数 | 参数类型 | +|----------------------|-----------|------------------------|-------------------| +| renderMarker | 渲染 点标记 | dataArr | Array | +| renderIconMarker | 渲染 图标标记 | dataArr | Array | +| render3DCircleMarker | 渲染 3D圆点标记 | dataArr | Array | +| render3DIconMarker | 渲染 3D图标标记 | dataArr | Array | +| renderPolyline | 渲染 线 | dataArr,option | Array,JSON | +| renderCircle | 渲染 圆 | position,radius,option | Array,Number,JSON | +| renderPolygon | 渲染 面 | dataArr,option | Array,JSON | +| renderInfoWindow | 渲染 信息窗体 | dataArr | Array | +| openInfoWindow | 打开 信息窗体 | position | Array | +| clearOverlay | 清理 覆盖物 | | | + +### 方法参数```dataArr```结构 + +> 点标记 + +```json +[{ + "position": "坐标数组", + "title": "鼠标滑过点标记时的文字提示" +}] +``` + +> 图标标记 + +```json +[{ + "position": "坐标数组", + "title": "鼠标滑过点标记时的文字提示", + "img": "图片地址", + "imgWidth": "图片宽度,默认40", + "imgHeight": "图片高度,默认40" +}] +``` + +> 3D圆点标记 + +```json +[{ + "position": "坐标数组", + "height": "高度,默认8000", + "size": "大小,默认50", + "fillColor": "填充颜色,默认#006600" +}] +``` + +> 3D图标标记 + +```json +[{ + "position": "坐标数组", + "height": "高度,默认8000", + "size": "大小,默认50", + "img": "图片地址", + "imgWidth": "图片宽度,默认40", + "imgHeight": "图片高度,默认40" +}] +``` + +> 线、面 + +```json +[{ + "position": "坐标数组" +}] +``` + +> 信息窗体 + +```json +[{ + "position": "坐标数组", + "title": "标题", + "content": "内容,文本数组,会以换行进行连接", + "width": "窗体宽度", + "height": "窗体高度" +}] +``` + +### 方法参数```option```结构 + +> 线、圆 + +```json +{ + "strokeColor": "边线颜色,默认blue", + "strokeWeight": "边线宽度,默认2", + "strokeOpacity": "边线透明度,默认0.5" +} +``` + +> 面 + +```json +{ + "strokeColor": "边线颜色,默认blue", + "strokeWeight": "边线宽度,默认2", + "strokeOpacity": "边线透明度,默认0.5", + "fillColor": "填充颜色,默认blue", + "fllOpacity": "填充透明度,默认0.5" +} +``` diff --git a/src/src/components/Map/baiduMap/index.vue b/src/src/components/Map/baiduMap/index.vue new file mode 100644 index 0000000..d327dd8 --- /dev/null +++ b/src/src/components/Map/baiduMap/index.vue @@ -0,0 +1,344 @@ + + + + + diff --git a/src/src/components/Map/gaodeMap/README.md b/src/src/components/Map/gaodeMap/README.md new file mode 100644 index 0000000..4ab6d00 --- /dev/null +++ b/src/src/components/Map/gaodeMap/README.md @@ -0,0 +1,205 @@ +AMap +==== + +> 高德地图组件,常用于地图展示使用 + +该组件由 [小诺开源技术](https://www.xiaonuo.vip) 封装 + +### 使用方式 + +```text +申请key +``` + +访问 [高德地图官网](https://console.amap.com/dev/index) 注册账号,申请应用获得key + +```vue + + + + +``` + +### Prop属性 + +| 名称 | 说明 | 类型 | 默认值 | +|---------------|-------------------|----------|-----------| +| mid | 容器ID | String | 时间戳 | +| height | 容器高度 | Number | 800,单位px | +| apiKey | 地图Key | String | | +| center | 地图中心点 | String | 自动定位 | +| plugins | 地图控件 | Array | | +| viewMode | 效果:2D,3D | String | 3D | +| zoom | 地图缩放比例 | Number | 12 | +| pitch | 地图俯仰角度,有效范围 0-83 | String | 50 | +| mapStyle | 地图样式 | String | normal | +| markerCluster | 点聚合 | Boolean | true | + +#### 地图控件 + +- AMap.ToolBar:缩放工具条 +- AMap.Scale:比例尺 +- AMap.HawkEye:鹰眼 +- AMap.MapType:图层切换 +- AMap.Geolocation:定位 +- AMap.MarkerCluster:点聚合 + +#### 地图样式 + +- normal +- macaron +- dark +- fresh +- grey + +### 事件 + +| 名称 | 说明 | 参数 | 参数类型 | +|-------------|---------------|----------|-------| +| complete | 当地图初始化完成时触发 | - | - | +| markerClick | 当点击了点覆盖物时触发 | position | Array | + +### 方法 + +| 名称 | 说明 | 参数 | 参数类型 | +|---------------------|----------|---------------------|-------------------| +| renderMarker | 渲染 点标记 | dataArr | Array | +| renderCircleMarker | 渲染 圆点标记 | dataArr | Array | +| renderSimpleMarker | 渲染 简单点标记 | dataArr, theme | Array, String | +| renderAwesomeMarker | 渲染 字体点标记 | dataArr | Array | +| renderPolyline | 渲染 线 | dataArr,opt | Array,JSON | +| renderCircle | 渲染 圆 | position,radius,opt | Array,Number,JSON | +| renderPolygon | 渲染 面 | dataArr,opt | Array,JSON | +| renderInfoWindow | 渲染 信息窗体 | dataArr | Array | +| openInfoWindow | 打开 信息窗体 | position | Array | +| clearOverlay | 清理 覆盖物 | | | + +### 方法参数```dataArr```结构 + +> 点标记 + +```json +[{ + "position": "坐标数组", + "title": "鼠标滑过点标记时的文字提示", + "content": "显示内容,content有效时,icon属性将被覆盖", + "icon": "图标", + "label": { + "content": "文本标注" + } +}] +``` + +> 圆点标记 + +```json +[{ + "position": "坐标数组,圆心位置", + "radius": "圆点半径", + "strokeColor": "线条颜色,默认#006600", + "fillColor": "填充颜色,默认#006600" +}] +``` + +> 简单点标记 + +```json +[{ + "position": "坐标数组", + "label": "前景文字", + "labelStyle": { + "color": "颜色", + "fontSize": "字体大小" + }, + "style": "背景图标样式" +}] +``` + +> 字体点标记 + +```json +[{ + "position": "坐标数组", + "awesomeIcon": "图标,参见:http://fontawesome.io/icons/", + "labelStyle": { + "color": "颜色", + "fontSize": "字体大小" + }, + "style": "背景图标样式" +}] +``` + +> 线、面 + +```json +[{ + "position": "坐标数组" +}] +``` + +> 信息窗体 + +```json +[{ + "position": "坐标数组", + "content": "显示内容,文本数组,会以换行进行连接" +}] +``` + +### 方法参数```opt```结构 + +> 线 + +```json +{ + "strokeColor": "边线颜色,默认blue", + "strokeWeight": "边线宽度,默认2", + "strokeOpacity": "边线透明度,默认0.5", + "isOutline": "是否显示描边,默认false", + "borderWeight": "描边宽度,默认1" +} +``` + +> 圆、面 + +```json +{ + "strokeColor": "边线颜色,默认blue", + "strokeWeight": "边线宽度,默认2", + "strokeOpacity": "边线透明度,默认0.5", + "fillColor": "填充颜色,默认blue", + "fllOpacity": "填充透明度,默认0.5" +} +``` diff --git a/src/src/components/Map/gaodeMap/index.vue b/src/src/components/Map/gaodeMap/index.vue new file mode 100644 index 0000000..b95597b --- /dev/null +++ b/src/src/components/Map/gaodeMap/index.vue @@ -0,0 +1,373 @@ + + + + + diff --git a/src/src/components/NumberInfo/NumberInfo.vue b/src/src/components/NumberInfo/NumberInfo.vue new file mode 100644 index 0000000..a524626 --- /dev/null +++ b/src/src/components/NumberInfo/NumberInfo.vue @@ -0,0 +1,86 @@ + + + + + diff --git a/src/src/components/NumberInfo/index.less b/src/src/components/NumberInfo/index.less new file mode 100644 index 0000000..18233ae --- /dev/null +++ b/src/src/components/NumberInfo/index.less @@ -0,0 +1,55 @@ +@import "../index.less"; + +@numberInfo-prefix-cls: ~"@{ant-pro-prefix}-number-info"; + +.@{numberInfo-prefix-cls} { + + .ant-pro-number-info-subtitle { + color: @text-color-secondary; + font-size: @font-size-base; + height: 22px; + line-height: 22px; + overflow: hidden; + text-overflow: ellipsis; + word-break: break-all; + white-space: nowrap; + } + + .number-info-value { + margin-top: 4px; + font-size: 0; + overflow: hidden; + text-overflow: ellipsis; + word-break: break-all; + white-space: nowrap; + + & > span { + color: @heading-color; + display: inline-block; + line-height: 32px; + height: 32px; + font-size: 24px; + margin-right: 32px; + } + + .sub-total { + color: @text-color-secondary; + font-size: @font-size-lg; + vertical-align: top; + margin-right: 0; + i { + font-size: 12px; + transform: scale(0.82); + margin-left: 4px; + } + // :global { + // .anticon-caret-up { + // color: @red-6; + // } + // .anticon-caret-down { + // color: @green-6; + // } + // } + } + } +} \ No newline at end of file diff --git a/src/src/components/OperationalInformation/index.vue b/src/src/components/OperationalInformation/index.vue new file mode 100644 index 0000000..8750e81 --- /dev/null +++ b/src/src/components/OperationalInformation/index.vue @@ -0,0 +1,72 @@ + + + + + diff --git a/src/src/components/Selector/employeeSelectorPlus.vue b/src/src/components/Selector/employeeSelectorPlus.vue new file mode 100644 index 0000000..0c1767d --- /dev/null +++ b/src/src/components/Selector/employeeSelectorPlus.vue @@ -0,0 +1,401 @@ + + + + + diff --git a/src/src/components/Selector/iconMobileSelector.vue b/src/src/components/Selector/iconMobileSelector.vue new file mode 100644 index 0000000..9e78944 --- /dev/null +++ b/src/src/components/Selector/iconMobileSelector.vue @@ -0,0 +1,145 @@ + + + + diff --git a/src/src/components/Selector/iconSelector.vue b/src/src/components/Selector/iconSelector.vue new file mode 100644 index 0000000..3a88994 --- /dev/null +++ b/src/src/components/Selector/iconSelector.vue @@ -0,0 +1,161 @@ + + + + diff --git a/src/src/components/Selector/iconSelector_README.md b/src/src/components/Selector/iconSelector_README.md new file mode 100644 index 0000000..265ecfa --- /dev/null +++ b/src/src/components/Selector/iconSelector_README.md @@ -0,0 +1,48 @@ +iconSelector +==== + +> 图标选择组件,常用于为某一个数据设定一个图标时使用 +> eg: 设定菜单列表时,为每个菜单设定一个图标 + +该组件由 [小诺开源技术](https://www.xiaonuo.vip) 封装 + + + +### 使用方式 + +```vue + + + +``` + + + +### 事件 + +| 名称 | 说明 | 类型 | 默认值 | +| ------------ | -------------------------- | ------ | ------ | +| iconCallBack | 当改变了 `icon` 选中项触发 | String | - | + +### 方法 + +| 名称 | 说明 | 类型 | 默认值 | +| --------- | --------------------------------------- | ------ | ------ | +| showIconModal | 打开选择器Model触发,携带图标时默认选中 | String | - | diff --git a/src/src/components/Selector/lineSelectorPlus.vue b/src/src/components/Selector/lineSelectorPlus.vue new file mode 100644 index 0000000..00a0a81 --- /dev/null +++ b/src/src/components/Selector/lineSelectorPlus.vue @@ -0,0 +1,222 @@ + + + + + diff --git a/src/src/components/Selector/materielSelectorPlus.vue b/src/src/components/Selector/materielSelectorPlus.vue new file mode 100644 index 0000000..6779134 --- /dev/null +++ b/src/src/components/Selector/materielSelectorPlus.vue @@ -0,0 +1,177 @@ + + + + + diff --git a/src/src/components/Selector/orgSelectorPlus.vue b/src/src/components/Selector/orgSelectorPlus.vue new file mode 100644 index 0000000..fb512cf --- /dev/null +++ b/src/src/components/Selector/orgSelectorPlus.vue @@ -0,0 +1,400 @@ + + + + + diff --git a/src/src/components/Selector/posSelectorPlus.vue b/src/src/components/Selector/posSelectorPlus.vue new file mode 100644 index 0000000..8a695e5 --- /dev/null +++ b/src/src/components/Selector/posSelectorPlus.vue @@ -0,0 +1,395 @@ + + + + + diff --git a/src/src/components/Selector/roleSelectorPlus.vue b/src/src/components/Selector/roleSelectorPlus.vue new file mode 100644 index 0000000..31d5c25 --- /dev/null +++ b/src/src/components/Selector/roleSelectorPlus.vue @@ -0,0 +1,448 @@ + + + + + diff --git a/src/src/components/Selector/userSelectorPlus.vue b/src/src/components/Selector/userSelectorPlus.vue new file mode 100644 index 0000000..a0a0496 --- /dev/null +++ b/src/src/components/Selector/userSelectorPlus.vue @@ -0,0 +1,407 @@ + + + + + diff --git a/src/src/components/ShortcutCard/index.vue b/src/src/components/ShortcutCard/index.vue new file mode 100644 index 0000000..c3ab6b1 --- /dev/null +++ b/src/src/components/ShortcutCard/index.vue @@ -0,0 +1,84 @@ + + + + + diff --git a/src/src/components/Table/README.md b/src/src/components/Table/README.md new file mode 100644 index 0000000..94d51e1 --- /dev/null +++ b/src/src/components/Table/README.md @@ -0,0 +1,375 @@ +Table 重封装组件说明 +==== + + +封装说明 +---- + +> 基础的使用方式与 API 与 [官方版(Table)](https://vuecomponent.github.io/ant-design-vue/components/table-cn/) 本一致,在其基础上,封装了加载数据的方法。 +> +> 你无需在你是用表格的页面进行分页逻辑处理,仅需向 Table 组件传递绑定 `:data="Promise"` 对象即可 + +该 `table` 由 [@Saraka](https://github.com/saraka-tsukai) 完成封装 + +由 `小诺技术团队` 完成Vue3升级并二次封装改进 + +例子1 +---- +(基础使用) + +```vue + + + + +``` + + + +例子2 +---- + +(简单的表格,最后一列是各种操作) + +```vue + + + +``` + + + +内置方法 +---- + +通过 `声明的ref去调用 ==> tableRef.value` 调用 + +`tableRef.value.refresh(true)` 刷新列表 (用户新增/修改数据后,重载列表数据) + +> 注意:要调用 `refresh(bool)` 需要给表格组件设定 `ref` 值 +> +> `refresh()` 方法可以传一个 `bool` 值,当有传值 或值为 `true` 时,则刷新时会强制刷新到第一页(常用户页面 搜索 按钮进行搜索时,结果从第一页开始分页) + + +内置属性 +---- +> 除去 `a-table` 自带属性外,还而外提供了一些额外属性属性 + + +| 属性 | 说明 | 类型 | 默认值 | +| -------------- | ----------------------------------------------- | ----------------- | ------ | +| alert | 设置是否显示表格信息栏 | [object, boolean] | null | +| showPagination | 显示分页选择器,可传 'auto' \| boolean | [string, boolean] | 'auto' | +| data | 加载数据方法 必须为 `Promise` 对象 **必须绑定** | Promise | - | +| lineSelection | 是否开启点击行高亮显示并选中 | Boolean | 'false' | + + +`alert` 属性对象: + +```javascript +alert: { + show: Boolean, + clear: [Function, Boolean] +} +``` + +注意事项 +---- + +> 你可能需要为了与后端提供的接口返回结果一致而去修改以下代码: +> (需要注意的是,这里的修改是全局性的,意味着整个项目所有使用该 table 组件都需要遵守这个返回结果定义的字段。) +> +> 文档中的结构有可能由于组件 bug 进行修正而改动。实际修改请以当时最新版本为准 + +修改 `@/components/table/index.js` 第 348 行起 + + + +```javascript +const data = reactive({ + needTotalList: [], + localLoading: false, + localDataSource: [], + localPagination: Object.assign({}, props.pagination), + isFullscreen: false, + customSize: props.compSize, + columnsSetting: [], + localSettings: { + rowClassName: props.rowClassName, + rowClassNameSwitch: Boolean(props.rowClassName) + } + }) + +// 这里的 data.xxx 是之前声明的 +// 在 loadData() 方法中去获取后端数据,进行一个数据的加载更新 +result.then((r) => { + if (r == null) { + data.localLoading = false + return + } + // 获取分页数据及分页的显示内容 + data.localPagination = + (props.showPagination && + Object.assign({}, data.localPagination, { + current: r.current, // pageNo, // 返回结果中的当前分页数 + total: r.total, // totalRows, // 返回结果中的总记录数 + showSizeChanger: props.showSizeChanger, + pageSizeOptions: props.pageSizeOptions, + showTotal: (total, range) => { + return `${range[0]}-${range[1]} 共 ${total} 条 ` + }, + pageSize: (pagination && pagination.pageSize) || data.localPagination.pageSize + })) || + false + + // 后端数据records为null保存修复 + if (r.records == null) { + r.records = [] + } + + // 为防止删除数据后导致页面当前页面数据长度为 0 ,自动翻页到上一页 + if (r.records.length === 0 && props.showPagination && data.localPagination.current > 1) { + data.localPagination.current-- + loadData() + return + } + + try { + // 当情况满足时,表示数据不满足分页大小,关闭 table 分页功能 + // 没有数据或只有一页数据时隐藏分页栏 + // if ((['auto', true].includes(props.showPagination) && r.total <= (r.pages * data.localPagination.pageSize))) { + // data.localPagination.hideOnSinglePage = true + // } + if (!props.showPagination) { + data.localPagination.hideOnSinglePage = true + } + } catch (e) { + data.localPagination = false + } + + // if (props.showPagination === false) { + // // 既然配置了不分页,那么我们这里接收到肯定是数组 + // console.log(r); + // data.localDataSource = [] + // if (r instanceof Array) { + // data.localDataSource = r + // } + // } else { + // data.localDataSource = r.records + // } + + // 返回结果中的数组数据 + data.localDataSource = r.records + data.localLoading = false + getTableProps() + }) +``` +返回 JSON 例子: +```json +{ + "message": "", + "result": { + "data": [{ + id: 1, + cover: 'https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png', + title: 'Alipay', + description: '那是一种内在的东西, 他们到达不了,也无法触及的', + status: 1, + updatedAt: '2018-07-26 00:00:00' + }, + { + id: 2, + cover: 'https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png', + title: 'Angular', + description: '希望是一个好东西,也许是最好的,好东西是不会消亡的', + status: 1, + updatedAt: '2018-07-26 00:00:00' + }, + { + id: 3, + cover: 'https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png', + title: 'Ant Design', + description: '城镇中有那么多的酒馆,她却偏偏走进了我的酒馆', + status: 1, + updatedAt: '2018-07-26 00:00:00' + }, + { + id: 4, + cover: 'https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png', + title: 'Snowy', + description: '那时候我只会想自己想要什么,从不想自己拥有什么', + status: 1, + updatedAt: '2018-07-26 00:00:00' + }, + { + id: 5, + cover: 'https://gw.alipayobjects.com/zos/rmsportal/siCrBXXhmvTQGWPNLBow.png', + title: 'Bootstrap', + description: '凛冬将至', + status: 1, + updatedAt: '2018-07-26 00:00:00' + }, + { + id: 6, + cover: 'https://gw.alipayobjects.com/zos/rmsportal/ComBAopevLwENQdKWiIn.png', + title: 'Vue', + description: '生命就像一盒巧克力,结果往往出人意料', + status: 1, + updatedAt: '2018-07-26 00:00:00' + } + ], + "pageSize": 10, + "pageNo": 0, + "totalPage": 6, + "totalCount": 57 + }, + "status": 200, + "timestamp": 1534955098193 +} +``` + + + +更新时间 +---- + +该文档最后更新于: 2023-12-27 PM 16:45 diff --git a/src/src/components/Table/columnSetting.vue b/src/src/components/Table/columnSetting.vue new file mode 100644 index 0000000..3dbd5f0 --- /dev/null +++ b/src/src/components/Table/columnSetting.vue @@ -0,0 +1,124 @@ + + + diff --git a/src/src/components/Table/index.vue b/src/src/components/Table/index.vue new file mode 100644 index 0000000..58a9602 --- /dev/null +++ b/src/src/components/Table/index.vue @@ -0,0 +1,672 @@ + + + diff --git a/src/src/components/TagModal/index.vue b/src/src/components/TagModal/index.vue new file mode 100644 index 0000000..ca2eec0 --- /dev/null +++ b/src/src/components/TagModal/index.vue @@ -0,0 +1,83 @@ + + + + + diff --git a/src/src/components/TreeSelect/menuTreeSelect.vue b/src/src/components/TreeSelect/menuTreeSelect.vue new file mode 100644 index 0000000..a07098f --- /dev/null +++ b/src/src/components/TreeSelect/menuTreeSelect.vue @@ -0,0 +1,113 @@ + + + diff --git a/src/src/components/Trend/Trend.vue b/src/src/components/Trend/Trend.vue new file mode 100644 index 0000000..c70fa98 --- /dev/null +++ b/src/src/components/Trend/Trend.vue @@ -0,0 +1,64 @@ + + + + + diff --git a/src/src/components/Trend/index.less b/src/src/components/Trend/index.less new file mode 100644 index 0000000..8a3d24c --- /dev/null +++ b/src/src/components/Trend/index.less @@ -0,0 +1,42 @@ +@import "../index"; + +@trend-prefix-cls: ~"@{ant-pro-prefix}-trend"; + +.@{trend-prefix-cls} { + display: inline-block; + font-size: @font-size-base; + line-height: 22px; + + .up, + .down { + margin-left: 4px; + position: relative; + top: 1px; + + i { + font-size: 12px; + transform: scale(0.83); + } + } + + .item-text { + display: inline-block; + margin-left: 8px; + color: rgba(0,0,0,.85); + } + + .up { + color: @red-6; + } + .down { + color: @green-6; + top: -1px; + } + + &.reverse-color .up { + color: @green-6; + } + &.reverse-color .down { + color: @red-6; + } +} \ No newline at end of file diff --git a/src/src/components/XnBatchButton/index.vue b/src/src/components/XnBatchButton/index.vue new file mode 100644 index 0000000..1fa17b8 --- /dev/null +++ b/src/src/components/XnBatchButton/index.vue @@ -0,0 +1,79 @@ + + + diff --git a/src/src/components/XnBatchDelete/index.vue b/src/src/components/XnBatchDelete/index.vue new file mode 100644 index 0000000..f4023ef --- /dev/null +++ b/src/src/components/XnBatchDelete/index.vue @@ -0,0 +1,53 @@ + + + diff --git a/src/src/components/XnCardList/README.md b/src/src/components/XnCardList/README.md new file mode 100644 index 0000000..e1b17a1 --- /dev/null +++ b/src/src/components/XnCardList/README.md @@ -0,0 +1,62 @@ +# 小诺卡片列表的组件 + +## 说明 + +### props定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|------------|---------|--------|------------------------| +| 1 | grid | Object | grid布局 | 见:and-design定义(Grid栅格) | +| 2 | dataSource | Array | 数据源 | 见:dataSource字段定义 | +| 3 | page | Object | 分页 | 见:page字段定义 | +| 4 | actions | Array | 操作数组 | 见:action字段定义 | +| 5 | loading | Boolean | 加载中提示 | - | + +> dataSource字段定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|----------|--------|-----------------|---------------| +| 1 | title | String | 标题 | 设备编码 | +| 2 | subTitle | String | 副标题 | 设备名称 | +| 3 | img | String | 图片 | | +| 4 | contents | Array | 内容 | 见:content字段定义 | +| 5 | badge | Object | 徽标 | 见:badge字段定义 | +| 6 | record | Object | 数据记录,emit触发回调参数 | | + +> content字段定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|-------|--------|----|------| +| 1 | label | String | 标签 | 所属产品 | +| 2 | value | Object | 值 | 透传 | + +> badge字段定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|-------|--------|----|------------------------| +| 1 | text | String | 标签 | 所属产品 | +| 2 | color | String | 颜色 | 见:ant-design定义(预设、自定义) | + +> action字段定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|-------|--------|----|---------| +| 1 | key | String | 键 | setting | +| 2 | label | String | 标签 | 所属产品 | +| 3 | icon | String | 图标 | setting | +| 4 | color | String | 颜色 | red | + +> page字段定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|---------|--------|------|----| +| 1 | current | Number | 当前页 | 1 | +| 2 | size | Number | 每页大小 | 6 | +| 3 | total | Number | 总数 | 0 | + +### emits定义 + +| 序号 | 方法名 | 参数类型 | 参数示例 | +|----|-------------|--------|-----------------------------| +| 1 | action | Object | {key: 'edit', record:{...}} | +| 2 | page-change | Number | 1 | diff --git a/src/src/components/XnCardList/index.vue b/src/src/components/XnCardList/index.vue new file mode 100644 index 0000000..44844c5 --- /dev/null +++ b/src/src/components/XnCardList/index.vue @@ -0,0 +1,120 @@ + + + + + + diff --git a/src/src/components/XnContextMenu/index.vue b/src/src/components/XnContextMenu/index.vue new file mode 100644 index 0000000..3264afc --- /dev/null +++ b/src/src/components/XnContextMenu/index.vue @@ -0,0 +1,82 @@ + + diff --git a/src/src/components/XnDataList/README.md b/src/src/components/XnDataList/README.md new file mode 100644 index 0000000..e016364 --- /dev/null +++ b/src/src/components/XnDataList/README.md @@ -0,0 +1,67 @@ +# 小诺数据列表的组件 + +## 说明 + +### props定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|------------|---------|-------|------------------| +| 1 | dataSource | Array | 数据源 | 见:dataSource字段定义 | +| 2 | page | Object | 分页 | 见:page字段定义 | +| 3 | actions | Array | 操作数组 | 见:action字段定义 | +| 4 | loading | Boolean | 加载中提示 | - | + +> dataSource字段定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|--------------|--------|-----------------|-------------------| +| 1 | title | String | 标题 | 设备编码 | +| 2 | descriptions | Array | 描述 | 见:description字段定义 | +| 3 | contents | Array | 内容 | 见:content字段定义 | +| 4 | record | Object | 数据记录,emit触发回调参数 | | + +> description字段定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|---------|--------|----|------| +| 1 | title | String | 标题 | 设备名称 | +| 2 | content | Object | 内容 | 测试设备 | + +> content字段定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|---------|--------|----|---------------------| +| 1 | title | String | 标题 | 数据更新时间 | +| 2 | content | Object | 内容 | 2023-11-14 09:00:00 | + +> action字段定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|-------|--------|----|---------| +| 1 | key | String | 键 | setting | +| 2 | label | String | 标签 | 所属产品 | +| 3 | icon | String | 图标 | setting | +| 4 | color | String | 颜色 | red | + +> page字段定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|---------|--------|------|----| +| 1 | current | Number | 当前页 | 1 | +| 2 | size | Number | 每页大小 | 6 | +| 3 | total | Number | 总数 | 0 | + +### emits定义 + +| 序号 | 方法名 | 参数类型 | 参数示例 | +|----|-------------|--------|-----------------------------| +| 1 | title | Object | {record: {...}} | +| 1 | action | Object | {key: 'edit', record:{...}} | +| 2 | page-change | Number | 1 | + +### slots定义 + +| 序号 | 名称 | 说明 | 示例 | +|----|--------------|--------|----| +| 1 | title-prefix | 标题前缀插槽 | - | +| 2 | title-suffix | 内容后缀插槽 | - | diff --git a/src/src/components/XnDataList/index.vue b/src/src/components/XnDataList/index.vue new file mode 100644 index 0000000..07beb9a --- /dev/null +++ b/src/src/components/XnDataList/index.vue @@ -0,0 +1,188 @@ + + + + + diff --git a/src/src/components/XnEditor/index.vue b/src/src/components/XnEditor/index.vue new file mode 100644 index 0000000..f04a984 --- /dev/null +++ b/src/src/components/XnEditor/index.vue @@ -0,0 +1,125 @@ + + + + diff --git a/src/src/components/XnFilePreview/README.md b/src/src/components/XnFilePreview/README.md new file mode 100644 index 0000000..0e82169 --- /dev/null +++ b/src/src/components/XnFilePreview/README.md @@ -0,0 +1,9 @@ +# 小诺文件预览的组件 + +## 说明 + +该组件支持图片、PDF、OFFICE、WORD在线预览,其他类型的不支持 + +## 使用 + +使用的时候直接在界面引入即可,配置相关参数就能行 diff --git a/src/src/components/XnFilePreview/index.vue b/src/src/components/XnFilePreview/index.vue new file mode 100644 index 0000000..f8af5d4 --- /dev/null +++ b/src/src/components/XnFilePreview/index.vue @@ -0,0 +1,128 @@ + + + + + diff --git a/src/src/components/XnFormContainer/index.vue b/src/src/components/XnFormContainer/index.vue new file mode 100644 index 0000000..ef29a45 --- /dev/null +++ b/src/src/components/XnFormContainer/index.vue @@ -0,0 +1,49 @@ + + + + diff --git a/src/src/components/XnHighlightjs/index.vue b/src/src/components/XnHighlightjs/index.vue new file mode 100644 index 0000000..33d44fa --- /dev/null +++ b/src/src/components/XnHighlightjs/index.vue @@ -0,0 +1,86 @@ + + + + + diff --git a/src/src/components/XnOrgSelector/README.md b/src/src/components/XnOrgSelector/README.md new file mode 100644 index 0000000..47d6aa0 --- /dev/null +++ b/src/src/components/XnOrgSelector/README.md @@ -0,0 +1,36 @@ +## 小诺机构选择器 + +### 说明 + +改组件为小诺机构选择器,可返回id用逗号隔离的字符串或id数组类型的数据格式 + +@author yubaoshan + +@data 2024年7月5日23:59:23 + +### props定义 + +| 序号 | 编码 | 类型 | 说明 | 默认 | +|-----|-------------------------|---------------|------------------------------|--------| +| 1 | radioModel | Boolean | 是否单选;与addShow隐藏同时可用 | false | +| 2 | dataIsConverterFlw | Boolean | 是否为工作流格式 | false | +| 3 | orgTreeApi | function | 机构树接口 | - | +| 4 | orgPageApi | function | 机构分页接口 | - | +| 5 | orgListByIdListApi | function | 通过id数组查询list数据接口 | 已配置 | +| 6 | value | object或string | 通过v-model:value绑定数据 | - | +| 7 | dataType | string | 数据类型object或string | string | +| 8 | show | Boolean | 是否显示已选择机构(非表单内、单纯的选择机构需要隐藏) | true | +| 9 | addShow | Boolean | 是否默认的增加人员按钮,与radioModel为或的关系 | true | + +### emits定义 + +| 序号 | 方法名 | 参数类型 | 说明 | +|----|--------|----------------|---------------------------------| +| 1 | value | 根据 dataType 而定 | 当选择机构后通过v-model:value绑定到组件上 | +| 2 | onBack | 根据 dataType 而定 | 通过@onBack 方法返回选中的数据,触发点为选中或删除机构 | + +### slot定义 + +| 序号 | 插槽名 | 用途 | 用途 | +|----|--------|-------------------|-------------------| +| 1 | button | 在机构新增按钮后可以插入自定义按钮 | 不满足新增机构按钮样式,可以自定义 | diff --git a/src/src/components/XnOrgSelector/index.vue b/src/src/components/XnOrgSelector/index.vue new file mode 100644 index 0000000..c5df64e --- /dev/null +++ b/src/src/components/XnOrgSelector/index.vue @@ -0,0 +1,579 @@ + + + + diff --git a/src/src/components/XnPageSelect/README.assets/分页下拉查询展示.gif b/src/src/components/XnPageSelect/README.assets/分页下拉查询展示.gif new file mode 100644 index 0000000000000000000000000000000000000000..be201025b649acd44d614899b8d944f091d03378 GIT binary patch literal 461247 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 #jkwWjU@Ft?5 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:$dj)@>BLNu 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

xf)h|bwnM>`+q(?c;57}57#c;4cc!%(wOOl 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

p%Y@*51ktsZAc%+%0B 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

XIkf7< zs}V=C+IgIy5Y2m}yFU1*-KnG&j5f*1?^Z<~ieDdBZlrEqX|~*5$G{AVTNPU4lbE~W z_j01YzxyidYQwtld2^x0PFVx@68e49c2%|GhM<})njK92L!RM=-B~g587n{QnN7+M zRWm0~;W^UW7GK$1KtvV;?S@C|4&+4<@4w)2_;fi#mi*1pnqJz;&+iS(PEf<;qc;xv z#BYwX5uNv+IFkYWFl-I5Zklq%o3ZeJ55#n{|Afw@s+u zBJIjL5HaY@%sNmHSDsKoTW_70$c8w1(zf?%}XQYyMMjhLM^BC;sjvz*viX4+p^3Y(e#sj-kJJlb2`XF(Q#H_Y>2=M)0;U!c}GRMTks*e)0^>}SYH)=IBzw} zwl+R*bUli+$wqWh;zK+G+mP7!6cbovKk;ms1=(jhwbEH*(wm)B1hB0J%yPodBRRL6 z23kO2>LLYM6ge7?1?=tyP_JNab)xPjVODh_W?P{ZiP|?3_{T)r?;2QbMf#(|yMadi zgODiS@db>WVvmnu0+~Np$Tps%fvx!7Fka3iw$_`SsG9}GHu{)1pJA_gh4hcdtl`^7_~11t+xJBWNh5`5XIpn9 zVah;kE!BNuBBEn*x?ETFDdoxGxoux!i6Ztk2EmKjmy1P&8w4aO_*mLTzu7~TAc#v| ziEAUYlUT+4R22m@2V-@`!ZF4#i^YvRjlMohgwC;stxm)`kMHk7yMn@8jJD#?PcXJM zZt0B4Cv>4aN#GgK1>JG(0wnK8OtxDbnV-|`c)|w{f zcX_aJn(-2)Q2dKb!7K;dOne`)s^ym z&j?chaZM)p3@Z89F#3$#F+bZ0EEX;yo}ft|Kg zg!~-47M#k_flzLji<=!*u#Q#~V^w*c+mM52&uCVAp8U%0P6U0%wNDgvhf|)dzwU~1 zhf0ipQyv#e;*w#0Jds5Q(g!0HD~$F$UE73B#grC2_)(OCjmIey=OA>if_vEo8{Of` z$}w9i=JHti>T@akDDjo%=H)6u#~0|^EXvzRRICG?X5RFg1t8<@_T{4P*PDptk*+hNdLP{=d0 z$Wd4~$r}puPy!p60vk{Ycc3x&N?+V76|^rU(}FI*hQ@2;+|vB?gb8&H3k6_k`FEi- zjG?E6q&}7kh5gLm(A&U#L@vUG1shqarC|JmFbOVj7d>efIZP9dl}|(h3h{F&N|`3= zP5cHM+AcrFwG76J=F?qG=1w*Ye|vy)#i%p|IyWjT!=Y*UQ0E%ar!_I&) z_T-1w-1r%-k%WFZK|n;uRh~;%XkAmmEUn+z zTFBZvsA}3-YdYFmS?X9i*#q$yv?e9omN@`{3Ir4zyE_5aF@P3T2`qXa-~}+Crd}=% z-tNvpfi}T@PQjt}36TJV!k2aZvfvuvK5r>cZ-b}d4$os9c>%uD-QjhpiEy~3M3^&Q zyaRtYh(FX_JPITb>LCmEQj74Bi||v63zQ2AvHC%Lg3Uuh9Wq@6ft=xAc@-@cV!vW4 zfP~?NX-AO17bw8jJ=i}m4CE8;>lfwi5gq9o6XP8o>>nK#7#{`L!oabS!SOMkacSO} zi9qtOPfl_K@LiZ4la?Hxofcn^6<(4PS5W|j4+HdPY7(d@15};`O3ukl$<4|xEJ!QP z%PTF(uliI}QTM5?x}l*Vy|JpKskY=x3BY>#_T24I`HdTM_sOjqj#LGn! zdu0n3Kv+fXDx|%xptmyn7kDx_QZm(FeoJlc&v=~A1pwg5-fB8zrQ~Y+6J)2ZwY9aW zw-Yc@whw&n9PaHM9_*PI9{l?C>*Uzf)KpLZ0w7ZE+q&w5KnCaLrsfx>SC_tS-2f>! zVHH2Il&hn5$W;pj(zmd0ImWsokxdV%0MslI@pw4X7jhsjxn>U67%64L0fLYA?IiFW4ip0HO$%mj>Ig|M z!wUHu+;MK|2y^E|z3)jRNJj52bcVyq*BkYYEq_tE@1~byYcbRp|1y`AdDLQUSW-6C zvrgr3b+qVhX2zAZmBM7w$HI}VXlo7aI{5&iw)N51vvRged={JHKAP{n&XTs}xhUsi z9dRH}0!O2A;?yJqG+J2u(33P}F;M!YVkE}sD*QT{-TgH*nLu0!E| zYLc}ELwEAZl>9dT<5}9#*Z7T|Lx%dI7|=*i$gc)Hlsb`%3<#i*i)@fmygM2dHFa8X zN97$+3fg?hvF@b$GB#{>ka|E%SHHW_rxKX|RSqVCUAgoNVTF*c|j&hTP< z(dyBl_d*FR?!lfs#0#6cvU@y;%uv}Lc!z;xi zQD)zy!0vh4RLYY4c&))FdO1C=N94{|;jXO4rgE0a$i-m zt4c|tSOE)LPj}5OsRHhOu2W>Z0+sM*(M^bjN2pA^94EwOva*-q7SJEw7Q1-pJy*(q z*)$ej2W4&fup2FxnV=`&^SgsS&AHx#FMI$I+s}yl@^B!ZDBy7Lbni7-PEsVkKuNc* zIYfdZFX?DR&G@r`idrjM3xSR|HUfcx^PVuyOSZk%Nz+Gj?l{tXO~=zVEBPlg4ku5x zPQHN<3o0hu@l8(Wyy*&T=3JlDS4`+nxrmUq$%lClMdjl84+rzjpRFW0UwacpM`{rA zK|_D16VPvc&;)=FTK}*6p#N*ann+%Tkx8cjlmLxN`mOK>m`^vtAB(bwCdrT91Hzx| zUv6lCClLGxo`5F!mM2)j^Sijs*8kUT=-=6bACjN%gn>g8Kp1?_YbwsYbwiup*mM4G z^P2u=^gjQFKlp>*=axdKtFQC^nYMpJAyoa5LMZ(QH*{9Zcx6XhS?7&yCwt_FX9pk> zZpA*o+|Yp7r?=!Lvgy|>yd@HD^O}Bf3EK$E^?gcP;_Y__QuU zdaiErnr?m2!2DaC|FS+i2B>>Zc4t<;a|t&-o#V5;?bW~JgO*Kh@WXxdn_DM(;2XF3 zd~0-#$j@q9G4mu|^HQ^QcEulVo%mJhxW3fVR&@35n^|&iXN^5Zo=zg`W|p9Y=?|vN z`z|kbl>r(b117mEMvlzEQoybA()f^Uvh2eOpz%?p?<-`O4B3(ZG(N#{(~RZzM@0)A zV5$OPB90PCsvTxyjPsMMr_Qm0et`}Tm%0a7m1FMtSC<*r={{;mc=>F*s~zF$DED)X zwamx%?YZNMok`yQ`cS4s2I7+j+n!X3M8loa!;LYK!JfW4dl9?NIzI@Rbp7R#_VU-< zH(%=OE=~%^n-afGKE1j~J(&OYrJ(^5i2!HN2#rjwIqi(J|F)4A5lcza6|3*@EHoNz zKZq|+I7>?zUGDS?%so$=2sd}VkxY!ux*4@22m6qetR=RK6SCV*(=SAzLt=*5$~Nr%Y&Jvi9V1sG`8 z(*tPtMFRxdMOEI0z{+-~-a!@4S@RFq5Y6_xPnrYHN(Elc-1KUQk~T|nc{jB`S+f#j ze(r<{wLk0r**pyQVUbXN{T<|Ym?hh@n;4z68>!&lI~SW6Rfml40|hu_@;-4tmv9$2 zf7ioO_RaGmPk1?D<9#u2R*gxG#=g>K-8U|Yos8r83++no)1pFuZt_Fc`nKjuLCoi9 zwUo`U{Fj2Yd(8v|EtGf{n9cCtp6#`Aw?3mSj?*Tl=%9DL+>5G?sio*f%FTP2_`Le^ zVehG2UP&E?;Mjw{2Rmx!UwB~S4|-4TIF=0TI;m0CieF?F^U;4$Gp(giyfhrTvQ(4l zen|HDvFi(IwAOLH(*XP8d8$)4T%sHM9@@wtfStqzcu^Ny5U z+0A8Gm$-AshaCl;^U65x=UdxLq%|8a-L{|Y=2T#uV5Xo_+l?qu@h0x|JSx1{$RoR7 zXP^Fx)PA1v!sPOJJ$##M6XGBE6iWz7wx)A2Xr-QSxe%>-RSze)l1~t7uZBO*H_>=m zq~W{@!yK`7>e{ov0f4@r!BKaf_ai((;o5ci>XQWb_zAd&0mGc4N2Q64zQM!6^y2^( zg~P~7^#uP*kDUQ>{u0ENqs}7oU06-@IUNMit$tqUOA31%U8>d#xMJ_*Ghy*|ejpTo zfuvdarT8^};4pbH#}ZPIWT}mC%O)&+DY>Y5yG@W^)Sf?nmlx52%L{g+bpI!3y}}AO zZN+Mfq%VROh^0%2xMwl~Zs-I=vG4i&F4R;v`TLLXTB!xAy0L5MN&RKyp8xEbM}@k8 zV%CGAf>MN5`^(%u4L#kT+Gv4`5OC5m3Ub{_b4f(3es9Gg7kWn_VM!_D$gQaPK*8ak zHRJ#{<^P7&R#oxeT5bQe&-M@EUQ$VSVyy^Zy5F+>z|kpc=>5VN{L(sH)+A8DBJ6gY z-&W-S^4;56P5_2bh2M1J0Eg+XVw_jMk^Fx;wt;ROfamA`p0xODa{rx1_j@tUpK5e( zi*arP7XR(Q{@32x+i1mK!6hEixnBQHo%_2q_jXhR(TX<{x^m<182;AU+oTd8OA%oB ze+}ls{@GhI?ag4G-2cN=?k!yXOH+Bhw6&|_`&1sC9PR*=x1DXrz*Gk4{qfoHo+}72 zjHg%k*5^mAFS}3ozunB>t^KWohG+2+;N)$dp4?O}I(qz zhp|{mT9@DPak_-{&tXg$yi{+^Vff>)Ls&~st&mCNNfHfZRPVk^!JPtow1i_*ntgNF z1v;QuYCg}`1bXJ5eVnP!(FG2>+#{wN>+H3^m%{hM4j9Ix+Mnuy!!D2(7{)Dtbynfr z1Q6Vc*9ZVT^EZOqM}T#<>eI@XB*Da9@T*e8FJwHroS)A>tviOO_7q&&m2dTsnQUal z*;nkekvpMUtJziVEp&!5z3Hp1I#}s{KN=v#y#|Mhkg52s;E|=L!c@x%1g-wQ<%i7q zuQk1z8g&OZw!3$wGv+LF&X1olWhjx~+bn2(v9ghwL@BWv){HUv&a&T(FefQ(!j`3coXdAJ z^Bb43VR?~&Dr-5+gK?U?Nm{1W>Uj??nc6Qo;veePXi*ExE?ywsCsi?k-pE%gAY?N~ zyyxD*123Ix5I@7}Kh<>p&AB*gSq*sv*73iU7%n9aif#^s&qp zdRw1a8#Z@JA3w=7!b32Y+|Q4OnL7BmYxEJT3zE{?-!0;t!7jjx6JXeM!b4PM`s&p* zYd^d+OEFk=2k$svJn?-|G%~+Bhq0Cp$;kvm!~3bJ8>{8_l0;nfjt#wN^abo zmg;1I3tqmDI&2oYxiOxa1-!hDTZ~ZE>wCIV+A=JTkT0)h6@A|`a5DYEDo9$bEFnnt zdxRq5=kJ1BlOdT;sJPF#m)tWic3Ux>734d1;Bc3-H$3eQQlRf*eLn_aZ;wGL;22c> zPtPAx5erfor++$vUfch7jvz7_xBtle`B!J7XR2mksa|N6c|ewJNUnKo-7neM|Ch!Q zP|x<4#?ips-;JZCtG}tuN+$pMIBMx^|7{$N{TfHWdH8qZ=&E}K=wsVF*xudQIyeDl z(fQdLFpF;I4+IFs`tXicj0QI zlSC?D_$Z^P&qdsNeFH2i`pPu;l1Pl?j+6kv;^TFT+vtXP3H;R3A7yMnbOQ($(#lX- zq?IU$2>^>Xh7T~61nHR7?fj`XF#kS(M5LIjOV_?;y~@@2TwS&?TBOsH@UjL7#i}&l znE6~&(biq>wgbmn3(Ox!F)CpGoGGxO`#ejmmwkG)fyVC+9`5Hl-ht)Uh4lBuCtL51 zbp&BTPd`6Dfeh*QgOi_KZcqpyg-ItyU0n1n;ltoj^y0%f5`y{ef;!jez)qB!{6NdF z5#KjgG}g>-AlTOiT8@NHk%{ia+IvArq()ft)|5itDefdHQQv%L%LtNv9*~MsS=~AI zUf?}bPhJT8dN!8IkIN;RX8uCYWzj{PwJI){*NWaX?6a(oN2rvxElIet#dtarxy{qJ zp<146v*CI~nQvp1$LIwj-=mDCxoc@t(BWI+t>`4Et}DMyY%&z1N$yOxrS|v6I|nib zICAa{nlz}%iAJJA~YQ(P}HQsk@ z6f@(CoF}m2Q4?KZha}G$DU!1hgEuyKfmvs2#(3ZOaAe~H-V6fDcKzkK{r$$)W-+#R z$1^p%Em-&wCar}pB|jSDy{RSAB5H~F*x}n{j?1%ekrC2GPDZQVo$1l`_4WDcSNT`h zL+=hgbFMfX$gvmd9*8SeJ?drK9?QcRc!F9M@`ZO}^YE*T2+Prsydw9*&#(3K%RVCx zUzYHZePaFv0ir;uLNSX&3qlz~p+R|)a_f-s>5~c=k%@dH6SJfe&<9Qh8qp8rFH9-K zEht~wGQG55khYSLUHg7NHt8;p%qLnsyP|jxmNVac|v{jXjb-_@vTLJr>mqX-WAhsm zid)h?wPsXwW|y_*)pVCMd@gP3t7sjlZ2MZ*HQdlM*3>i7(l^%DKiN4r)i*l(Wo+*2 z#KPFj()jGkl{N>HmY@ksweNNW`M1 znjz@$h;~KV!aca2=!8yV^GzZGuBaiJSgTFmZUhq4VVw`t)4D>GB#|umb$ZYVkrO$U z<%C=Ds7aA%K{8r`KDeB&oY0h}Eq9ouuxOuGE{Sz9s$?(|8c@6QA-zH%W_q^%UJTr4jdsR~1L9s-*GmW|80_&PoZJ#i`^Go!YFK^}S2`La!Q$BDoO{ z@wEbV6m}aFKbd@~yw5`{*f7`Eg?j4B+C2tIFp={8*uq^{WCDE5{6#cy7=hxeCfVd~ z{rs5Z^Y{pPbW!g%(x(Z%t`D9?BY~HAj_sW!-sdX$%$b(J4t2zZJ%STbT%wB{G-<NiI#Ans|;t85H8hh*}xsVyN7E0^zSN!@6t05kK!e` z=ndmx`*VOXWrx6xDB9|>{P0R)Cqh`rNK5W7U>H7X3E+x)2uNH*uQuZG++B6Id&Yw# zi>J)z-fE&;vE%OU}0^go|tv++_8FZ4paIg-y2=@4?+*J`@c+d43$2a4a}= z$+0KGxUb-`XZVOclBSTmML-b^I*}v|7OE2loJRsr7zE6R3-dBL(>$M6 zs0p{?P8b{_+}lP%{#W$X!fEhF5$`f|+n2I&Wyg{Xu#LJoNAa>TT8;Q+8`ohFRZV0) zV1)T};lazx842)Wi(KG4Byi92_^3D^V3o8oChycM>Q)yeo)~2n2V#LyLW&`NBt3+ z{}h9IBwY#V?g5?@=YwWg;j}vUZmF)W?edr7#JZwCmsPs0Ka~ z@4+uE!{tnF9$Y2MZ~!LJaftjYFv*WK)jjlYZ4^J*4MWeAA8V?Ah8?h`#?=1TuBmR3 zdH)PG3D2zg(@?V8LWs>43H~BX;(smmBVml~ z!Js+*r;N|BoaXD2-aFswJ+9@piN#B^22zps;7L{s6Zw)wZ`M>x>fhE>sbnV-iSirH z;%m-(L+QlMJ1D}wfQjE4!|S{c$^0-_kslz6J)uLHty!@e8Xr?KHmEJNEgxwN}jXc?eB`z zKgGE+!q+IMSwhyQ^)Vgw)cz= z&y1o@04G8=F_>Cgi`tU4zLGlhC6BFoh!Pe9O&FiX)0BuYhOVVZO;3j9DBTFdWl=lL zxuxjlwczydckAWLxW?^-YVjNsKCzLe9J+}KDcL^yi3nH7^ae(HT3GR3BN6loP8@a< zF-GDR327m=*sd-*6sC8+F*&Q5 z6$P}$g}v%1c}C3`ek#T7F)yS`iYa>DY3{3e1U*Nr`a1r}i_n+FKx)Y%oM-ktRa%B2 z*m%2Y8N+Y8db50kwMLrdD5#tccX_iscEGPt2MQkU$D<1k#T*8O3k3~@0|kOWAiyq! zgbD=>>?%d%{GcCn@^=K`e;dJO_*V$_&!_oc!3Y1{PxDQa5Q9nj4SfCoKh6J-pXQ&r zkhdK3UxyF=@H7vP-T>OSPxCFH{o`p~xB;|(KFvEnp61iv5rj*8&zVLyBpgPy&Z6WN zFDxqYIMF{vutV{$l5fKw*>tqo>3=-Ud8^V(ecvM^e6bS0xLkPy2zDuhxPwgm4T8Yf zk*WaD$rD4QK&*Dlbt~hKr};KA;`V7Sn9e)hUZ1XcMfUw^CcTM_xIwUir}=@1^-cJr zp&J0e&JJ|y*FiFc5meocEiCTM);{CNp z6orqXdr_MYx$mj8pQ5G~rGIg@H&y`g{8&ujv*XoNV*wQTMX)Gs_F{-6$J%13%nOEe zwZ~Ft69Ed>Ho6h%Hvrd79zt?4B*Q2IYzzvfV$z|+gZ!t(0XD}8-^ zD=Vw-0+)4Mr#-;`iti36xqbwJMuh#3b5f!$}ar4a&{K_`ZgR2%uyH;#ONuAzwGHC*~oOTaa(N zkel+Y`T51=wUxDvP2g*LZ+;K5y?d~A4B0uo0=A;v%>&5h31stf|KM=<7UfSG!m7j*w1KJSK^(tqfd&@=uXH1M<|ieFus-MBn`GQr7l zus4)OTH&k4rrpWd*gO3TJVSf0KoSkFd)xV!Os1cjW1SsRQteFEv_2aYb`f6;uaGLo zK?tytYR~o=`|e_!);pfB&U}gL3K0?sVXj_y^H|Ws8%!arrX^>6J`R__H<8T-hsqrF z5guAN?m;WER+b0|L{_{@Dmt;`HER_U&@@1x{5;sh8-7{W(^(K{juJ$J9W^h8h+@%( ztXR~qVS87_Tg&F2(-4JmId^azkYMpt=RFI?oUR`Pn?J-~B1C?Ha31L7CB%HespTQ8 zh7{td-*}Sjm4I8(f}sqOpSOG+DAeXGh_y!@&+97mHjZN0rVZ-udL@;IUS372En^gR zqY(+mI(>-2L%sGp#@kSIBFggTaEX+-*l!7hu&~=hv3*PFGD(NCbdu09&fX@|%R^SP z2#FXc=+gxIjG_r;^K8F~)D=|0`DR(cy^YuMKVQV6iU+WS#|8Z`$zt;=LV1<01{+}g zgs%5*RfURMeMmn?w#LW``7(w;4tg3w%x^5=)D2Ky%Tr=`S?(}U% z;I#u&1;2GhM*2&tt=&Okcb5LIaT9Tc^>jcK!bd;6PUCbDO7uZo9UvOC)`|+UET~4c zbj~6^5$&U1DMmkKtz>XuxYOx|6L}O8d_R!zTg02Q52FGvj4GFszWATb$M{J;TuIL4 zSz2|Byxz+z%4NM+2YUcgkIGb@i|v38Tl?)soZ6brI>oNx3|jcY%lsCvYatcm@xD;` z+j6fP*QvPd5-d(ntQIT+PS{V^>1M^w^##FL5)=Q!;SWH$*GeI;5N}qwLkSdG5)`6n zBMi|l2uU&ts>Tyc%DL-;<(~vcC)$Lfvg=CFn}qPB6NrM@bt6a9g2!%#V|AB)h9a4a zqS)CCzs_n)=bwzGFWN#hvFpj%n~Y)I*+P1bW&Okuh=TDFZKWjI^9Fjf?x3Ew&~iO+ zcx(%Vx{9_js_gkH^=fY$rM9u!?fGeZjkT2=?sOmPqhZ4n=uzLViaG1yyj5eGTDlZ><^80@c$Uf3uiw%$)0(VIqV zF4FbbWZ(12SsMN0@h;gBEV>NIbV`ZrZi1AO@S;sBCY|hBnZf-Cvp5=7m(x!5^L_v7 zOPYgg`d)3P2T|>~`1MwmK~Jfc{W)Dk!d7_`tP$TIaXu{(&JJ*35b{`B+i z>x0O`)@9tn#?N>q2PjMI`ZUp1iEliUkru<|xDN;+(o^wYBbA=&aKv-=-81==*mSYN zT9(pBhj-TtQ8SL1J;xfiKgX|c?-AKHE49uEw!4RubS+csfqUPQMBJoA( z%kC?pZ|&p|W!a;Z=O`o%E5FVPA9`VO8;ToN$vvz#^W}Z7EknaKq=a`AdLqQg<6-xe z4aigFcFdvOA(Z;Cf8eaXwJaa4^4fU$FwAz*Na>}Kl!>Qh9@2Y8=CYWsv_4;y2d&22 z5k%5exY-06DGRilhC^o|2l{Svk*d2d@ zzw~7w@e^RIw9Ma3%d?UpJ114b?5y%V3c{7gp;b-cEEW|^LTgTPh4OIs1&Z&fZpT=A%uJ`* zJhGG9=Q^p~eXMEsxJtvT{G_Cj<%7eCMB|xWNj+TMj`63SZ!n1c4H0lfa`18APKaz8 zkOHaAY_q1`Fmi-rOX))4q76YEA2et57LmhyKVd@X^yr1#qZdXKg^`Q&JtfxE?(vms z53~Uh#Zx{*=3FS``P%*jFUinLa*^`hS*IxJ!ytQNX*@(iP<-6`Fv2dmry8%@9@Vbn z$NP((p0nkKz|vspcrR(i1j^bhno)VFE{#RoLd@mE^cuNNl!$tY(#=`%y9Bg{p5(3; zR;niBHTCKfcSrYH@fhuvz7zfcJs#pe6241W_gviBwwI3i(=4cCRbYetEi`;q1WSMd zz2~^6S3!D!iJhL*=pA3B&CaxNK+ffCo0K-fkg>F;lTaTMuw-}W`<`UuK}O7I;M8M< zwOYXvCG!#39?OW&2=BQgRR&!I4O0s1%HCnBj5OoDZEQT{GE58+Wc_?t?#N=O`GIvR zk-g$B!{>Ka75Byi+G(>kl#O+m?0XVIie8^*z;F(u#JH@8Is~?>_?cJ%}UW!_2_SB0cEXA5sUOF zs*UCeg?lL6n08<02#4M94%-`l~;XsMX|~e z9Ss~|K|840zi8+hG$wE-Jr=MHTiZsl!_MhDpk!8Gm6HBA4zW9K$Dmj>c`PWe51-Rq z4pp0S=hCl{-9ZP$nD0z4s(k<`;} ztY4cj6-r1R=FfI0(}gTo%6K(An>^C617{r6M1SC)R9s{oGe+F-rQ>mqsc&yPAzinB zv$->T@p_aOuMn(WKh-7$m)22ofX;lL!!FMbJi+gwxiC(*nJ%1FJSS1xR{VG$^Z3|##la~P}0g?ZIVo0%N%mTT<^TShd-dufuG^FHMy2GHsJ)oWy|9SNp zKW=I&e)k=aE11qQL2s_R1>_=^St_4=zxv*gFe}{f#yF2yC7<-T?$_}Y)bZr6Qv?F^PaB10E%}Vx z?vmW2VQ%y>mJ}WY^NKL?R}X|?U`a6u8ofK$2pWA@c(PLD4&b|Rkh5kf5o=CSC^*C&solS5_JX@3?j~O%4vI3R0JjnR$RPv-gq9kNe(w;BB zszx}AE2`78eB(jR*E5u)fT5Wc1SE#)RnNDCaM&1ixVqq1U;nLiq8xP%Xivrr`MwG&%! z?sbrRG4FR$N50$dqR-6R?`E!0Gm{X+4G$4xAN|f7GY8ATtIq<46hxN8ej)t#hXbN? z`GHxaKweOy? z@rk?8pew-v4S*t{G%Oh8NhMT5P(<8vd7W4;pOayIQJ7cnBn$k69x(u9lG)|o0hDl1 z)PMifFf%jj>FHToS_Ks_V#?OTZR07xB~YoaIAh= zzq&b7w;(gS5a7Q9xJ(!JAh$>9(b3WV|Cpr?cxuGJomkMW|HS*|59TNL`8)5Mdt(xm z%bz_pZYW2}AZR#OEEI#?&VP7ny33dp(c#HK)U)6H3OC+2JSJ#&-O1ZSwC2?}Qh&c& z?ElHIF}QH{24LzFCvcr>10*VVQ>S~2J+FoR8+)UTmim&C13OKVbymNU@}}}|Pw>Mc zN+^0Mu-vooM5ui9uE5dS{X>OmE+ZQ`IcRU89UHv+x%R2~jH-xDQGcVW*L45?qU}Ay znr^eb(G*A^^j-v|cN7rmXh5Zlfb<%AuhON29y-!Hp?3%%Rm1?&K@sUiK|q=!MXE~P zIM2+U+54J#_jS&>&X@c{-~%7B*1hiaYg;dD)rGEF4!gVwCCwu$)8?Sv1kl>sQY%-NL-p%reP@i#nCjV}!B);Do! ze?Dc%3CV1h)vH_8r@ZxKQi5BcdQeZW(czkg(avi_ANVc*&tYl@#tFvgUMR_j4EHzo zM(Uo%G!}KD_Dt?yJ#AP+g~Y7blUwCk;hBO%UkxCZo^Mjs?{C%}zm+@t zif=W0y3^WRWj23rHM9Yd3W^jD{zg%8J()4Iug7cO{Jx#cA!3A2=WVPDC?TMK^dJfV z_kS;5{EUDf68_V8@YihczYYff)yV!5&;B(P{MFR(QvtrO{eK?`{(Vox0o2pC;gVud@v5f$qj;TW zS-QkOysJ=8zFyEJzB`LHNQ(~6I+>Z%VI@_eM7MwcNZ>G*A#ZYSO3kK*z@phZ?K||Y zJ@7!HBcX)UYNnKweg2CRAlqlSdkt%07st$n-^+I`fl%n{;HNj-XMKr(4(w#D1ohw| zNCOlkGr-H*_IQiiiONs*J)=tx*#I%eS?l46Zo#$!*S0TzY zgZW6>i%Ph&kF3KV# zK#kin3Tcko2z>IM*e)$tjnKBlz-apu_>9b$QO{f7-agz)OdvNsx8kA-!aX>`t!o}m zY*kSp_Ry-vAPn8>HK7;F&0FgrthQ&|^3nK4QCCHVb0gOL)EV>Uri4q=u#SXN^EijE zOUvYJxq*V(L+5W6h}c%3`b{P+Z2M}oAl}d`6A#>NSJeIuxZ8huFeupAb&Kv!FNC|S z?0e6z)4lJnX#-w-BcP^rIp`(gtvl!=mHdk5mnjP!zM(a6IUHbAccJXz2K=4n0YT6 zZ7RapwI~%~?=mDA{Jwi)6{8;4w--Qf+UQ%L$^$&Y!w#BK&|X4X?MtCK+>&fT4d3Q; zLoaRHX_HO~{n&JcJ*E|5TxFDHQQl!5R;cNy;RO?&=PD}+WTy_?AydTSo5Am0hkJuT zoA#xlpFAaboDrwPY~D=gv-sGW$x~45xhJa3=%%i+mAj_mW^t&HjI@iZX&62EMtrbqB#0*`l z*$aLzPlUg8^!x%+TG=}VGE{?ok7glo0$ z$oLhB1;$M?(-*DUi^r>kzrJ{-F39Wl4CZB1>pWC0?`+3sVpOF2_?b&X+;s%b!211& zQidXNaddUdoKdk_$tRoF*r#EmoiU(EHl3L7PAad_`$^3qLx;LzZ_oLX^WLgv5Eq#v zK%brX-^}&2tpq@Ys_T)S|_Fae`xEpa-kNEZXte>aqbgxN{ zw_Y<{T|FDU+VJZE=tGbYn^6F9Hhh>36UJi124?4DYSGpTjeCNH-1N`xW+^vjNr)qX ztjdr@AKcHsRXiMnZ{U37ZeZ#gjC zY6bwPR&Nk&4-bvL`JTkWhx|gYFr+A82S5h(g2d6oM2ttzqqPA5*f0>(y$X(uEaM?- zK~i*M0ePg{2u(Nu;tfyt1pYl59Sq?3M~~&g_gHE!YI-hwgS~!RLrh*n@%|&z>`|ZI ztI&a~-1brAAg+G#s$~(^xq|Ci#o_zs@W}Z4_wN@M7yC9Z2X?PUH*s&banpNO%lo*w zgR8{@9KL`4xqBR4?VaFGPfw5kf4g}6HPGOD>_g-v{6F+qVJ86lKQ|p417WoEd{Wqd zD6~}nj&J{Ey&+2{godYthm&)p{<}@bD4jEu5K7_wU(};lfo%Vv9{D+$L|EgUG;SWPTlJ0i2MyC^=%yU~kqptJ#!x-C5#KCH(x6a#&(&!Xy?}04^ z4WmeQ%HnOOs@i)(W-G>y`(@X-P$`%&{_hl2se;LD>;z9XUX^;G&_8#6Y-@6hP*9mV z6H$=T3*iv(E{PS&8~G-$$b2rL-^MZ+wkGq>4nDs$iuY(t$FH+@h3}XJjS*K)BMIo+ z6}-+B>@%Qjru2$X8k8hZ`O8T8O7zUa=B)0uRo?JmjizWs(0Ac8U?{aXFUX5vaE>|j zkx$mN4>vOrO9;szFUOPXx*`gMDp3GMC^;n)BHGy%8|KEYVL~Zi^&|3=T-#orMGEQ$;9DHC?zEnZ<%H2)-Dp!)_sTo-lHGH6}As!_oRmnf^*jqngcbG&Hk?A7W+^COYXP;?!V!u3z zkieaomk~&u6=o175#4yIE+O(j0O7bYrD$=TG%(Y2Cz^E16oHLH;H=jVYnPMJmO zGOBuY?^F-M^07=rJSFwQup7QV6zCjd#?`Jh=!gu?UklcZ9%l9o4R$3hZYQ3h42)= zrcYP|KyEN3WE9n%@QKxt+@BH2e-*d)&FSXl)~DivS;IP%o8}$2*!m0&&-AvVy5_){ zX#K4*(Xk-C^hFN8+X(4Yu*RXunWENd+$3wG{bW zX@wDrBoi$WFyzuM zj-3AeD{l@6A{>FMQ3BHc;9%lF>=OtAK!DdsQwp(xqEmsC*&E@E-YNjJB9g!ckAn#j zD=R)pAq&)!m?vwgKWn)=rg z20u&Uy^pXvSHov#Q~SS{_OGT7aOda48ylPd$`V*TKHj{zz!L@V6XoImwJG9TnkNwp z-{fE%4LkL}rR-3x$I?j<#j!YoEr-(np4Y0L%&t6YO4WBi5{hS2{+F8&>)+Uve?+H& z;^8rrf;OWM7!{(X|LG?5cW6J3h+Wg;(K)*AZ+WeMp#5-8>zc+qLjk!^jBY&`ih>lZt9MJ>^HCyaL!=gLjS2A?zU?JhK^ zW2;Di-r1jRZTy%SQ2Kx@e87ZF^5*0NVis-7f<)=3&;#Q&JiK z0&gA-z7#*RUY?X^Bz^XCA&V0+#^%}IS~G~jpDEEQ+%G245tp_G_d_OKVCR$&vpk*Vjw(=2rMQ(O!}=7dyNOpJuON zC05nvvn;rG%1`|a_L+Cl; zvcM8)4Xa)*`AK;3N$*A6d1-T2Tn=XesEL?6uB%l=5nym9Hvjc(&q*bmOG}l*fyeF+ zPtvdFW2Q)=X62Pi^5z^f48_L-ix?rRt()GX_4Z{xH!o%2`Yg3X9#}WWA*T`(AKA%v zhG^&O3SU>ikE5H46fgtF!Fx<{0SAlH_0{?xaC(yZX6pw&5uwSo z{AHQcl9&p`EveN(6Vb11I3X>0%TM+E0>JfAMbblLlgGzK~`a*^701d zK&{r)Id%QuMG}D z*l8IQ+e?rnpwExcM{{HCTs6ZYq}7c(Qp0nXBl-UY+Q09qMx=wyNJXyx_m=kGpnV_z z@NAa>2><-QLi<)^Pgd^}Q71c5c$d)1>qZC|zmIz|&QYV*!gcC+7+=4`!O#vJ6mzn3 zw-zsDwqL&{)*vcskWk99r7|S5c=!j}zkW76bocTQ5ABz+trKM`FdyNe{jxs}5K6O6 zDM<-sT)e6yYQ{QADcxl}k|QIUfm43&Kg;-(RY!G>MAPulzJS4ks&4a91}1@sg&D1Y43?wcxL`{nZ4Cg-w3V94rF`@~lXps_x zXyh)@ab5}67Z&BoNAhi004KUsteqd}+*Ji(MpObM&;XZNWd28j%Da;MI8DL9Cxrmk z-h04NO(%U%g2id93|Zi$*KQ@?tM~R@UgMDv^Cki!OeL$OR+xjiXYm~j;69a;mX|&< zk89ZB{;}%&OqrQL@R<)Sz}PLA{el#M11J@ma>qs|MdkIV;}+&(cQ1)t&3pgSPgb^VT|pqp?paJ%>(Oq!=XBv>wN7C`h1* z2`33!h3vWZQbw0V@cvpQGRf|xEj);lOjsk8%sfm;e(!KP#qhNBA+}it>(0Ly+$7QV*n$n zO6<5hOrD|o9r)sQM*Qq%i=qHf7y~D!g=@KVGENza9_MpEvf(_=`4E!XqH>cB$!mc| zARC^htaeZ6_#MyjNFlv-%|sOP5X1g~WQBXV~2_EM~nxo&We^l!X2zCpu%==(`SAzH^ zrOpmt?kC#H)~qlW8~C2l$|X;4S~Z!yd2-oAH?H9}aTWi5WT@?0`e|#0&+cCAy9*hm zyAtwSoDO+3MpNUncGdFr6TF{>ho*hcRc>k_RTeHl%nq%u%=Q_wNj8>ibtDzy672KZ z7v`?qdXq{uykF>Ctbg*9k{^-YjQyEApGA))ObVy}UFF$paFgt&`beI$x;-l)^ zHGCg;_|}4AyLRJh`qKjP{VQ_c6==oO(CI6j#LG}?QV&3hbh2c5R=~RThaSam<}#3w z8&5wLoqQ@Zmph#y^}RXt=_h~@36eq*7$PD5NTO^ctOJR+eV$9>)h!hR@r1elfD?Z~ z&Qc?Q>0%XqcY`8$8MDJ2euPo02)EORYnFsDwpno+hI5@e@bO)vlTs3wLeS20eSaUu zLm%Nn8^%2>&*L9Km+eY39C2V7ft#}2h=`COvQ~0nHh+V-pB?$oKkV`OH5H<8N`GGI zjwk>)!eE|BdpqiqGtz83Di0iO*}o{m3xVnNf+Ql%0?##;q!%{Bz{f`Iz9_ zPmgT8Pnv^7+XZZgG+QO@vocX3=hvEX29AI&I|>GeNXC%FD&Ec*pXWrrhI5WG87S(x z;Ge#+m4|*&Lmu6OZeKT?E0icB{hmJHL48n;tFVlfKefJt_5OB>s`E!J5yah_waekb zXR9(RC~LJcctH&8N{DRk4Z06NTn6TuWh9)Jyj{`^9Ba0nF#bM@l8M(9{YUv87q>e# zRJpA|?V}_fuMRWy%)4CDdo36y$#A2F25o;E04C;>N~w~GvA|OX?R6?wIxnD;ofiYv zCSEz^*F5uwAzQCD;G@bUFtN6aoekj3_uYI-OH<-h%(Jh#IcdS1i888*%1<7OVAJFSm=$6liUEOe{`C9O%nywo zmWP9dkYLu7^q`LP^sqY@WgG%i04X?-9Pv=0GeUnP+A!du>6?rrV5a342bYCRw~I^< zrYz#wbUp7(P#DOGKP#{^D`+7rgbCrT%3~r8ra8#ay~sl4WXE-8v(RT_-UDu9LDV7{ zwyl{70Xf+@Iq^H$jldj9IFOVLoKc-qW|Uj8lbIg?F1*mrB+g#Z^#Is9qv-9{e8Gvn z2{NttIA;l8%c)wY!Z`N284p=VAmrZ*R+Z?lAQ#8?(cAq$`eMf1%j5s-&8 z&})}Wg}S#3U#*2^@#O6WpsfZA#{;rK5cHsQ!92*GIR(I&;zJzA8eVw_q-(=&4_+G%Q$FtpI+R_sSFaam03Br|ea+osIy4 zZ>Y?{*h+ITpG)71tH$uIzCB%F!N!Ku9#H#H`}JwAiYxxIpZo}ovr0#qD*CnxVP=HS ztN{Uc!SCz3-tGI&% z5;A#1c`Imhs-ej0SBL2C+L0hAMVepmA}uzP=hm{u8s`i=mWl zq7`hSebxkXZeo1d)LqlW^0O&ow~0-*nO~rp>sj+oPA-7zFXIzJ0OLQ`a*_B6pOlo8 zpPye$OiWf*7Ee0TY`FT1S=9CqT2X(0|Jc|Vo=SwrG5#PJ->%ly*6`Q`9wHD`ARrukSMwE~cUK*>bJJq~{S zh=h@n6W#c@+V^C&x>gN=kliJKjFd}AX|bH`&d}vrxIXf^h}`M#KgMNhnYOuoeDUO- zdylMu+xp|8n4+SW)xR#F{<4%w*DrkDe;}-4)mzry1Ozf>pXq|Bml>`aR2}VBV}@`HAN|{Yo65SvIjTz*_l6^y%^jMB2D2nPk((^?Rukj zSk@k@#ms}vU1xt03m8>{us97F=h#~4t1j)jp42m!d46lf2Sa361Z>5I!eF(DE%mh) zo-g&`*y=+8i7gkJ`IihYblBCl$~6L%car*Mw)1+|%uqJ5+x&(zHCmQCa6)J_s?rl= zYA9;U6wj!K){=*=^vnwTx#aCg<2!0piR8ZChnk(TxR?9mOv!f{20eA#E+t+2Sp>Q) z8q~84MFK6pycEfH&duic(GSgRojo6PJzFsaCgL4yB|XahJ|UNW`>jR}$@;IM8vXr0 zCuFtxuctgc_1{Q;GKhye^%|rdtez9%;Z8E{%k8o(x67TX%7!P}FgQX%?Qh0LFXl9# zE7Jxwz(L(-`#-<`JxSF4*Woa4)CAzTpcn!+m7gb|f!qC3_f9&3MRXr;I(x5ms^Zw19#tb&a z_cz;X+a2#ew%0}a6Mx)k@=gA@)3n*lH{W;~Bo)?HKhtvkDH21)a6h)=sdNJp%L$Hs z;q0jbxL6%jW}%zUjO;}=3^UTu#*br556s)M4f;-oJ0Otfp_a67E%95W4(EV3=+$}e zVY(=VL6k_U`_KYAu3^=mxoKk@tLk>z@mZW=%I}^XU)WD;>rs|#w=444+YqTF^9^o~ zmfLoRM_(P|_!=0>4p+AWNO44*HonOr(u2yvo$?glrG)0$gs=Q}zcntjfxzP1LsX7i ziDy~vti+k7f!p=UM%JwC&>IxAzTy^9)hAJFgmU@qCMpylqA6Pp)2unMV7K3@{q^5; z_o0%e5X->5!;~8&oOGE*Brl@gFgUWtwqGN7Aj78MPK}z&Pho4#LPs;dsbB^Im;J4i zE*7u|WeH#YPiEJ2zHlgu{7^RaUanTMMv{>$aVU$rz(J&3*i%KQum~G6lZpeOlQkD? zlb20D=$B*6OL_4g#Dg8arW~d38{rV0NMIIyu#$0~NI-}W_*C2u0YLY9R^ww?SZi)L zHVw=(+$hbjmM#fEXfmZ{kFMyk1n|H02a^-Zp`1)=x>m#TuP+QTl0EXZ`SdK|mfG3U!KEUU>UCwK4|XI zCt(HPH5(&KS~4=%@8u}^ikjffmx9KW-26sH71Y5xby@V}@(_aCJw{ZnoX0tngu zoy`}%m=#$hjIPUB@!fvRD{D=oCMBULMP{IOUBLn7q(|lDBCYn2Q|+mc zmA;gVgBmNDh6uH`G@pwEtAiA`lC+-QJxgm&>nCbA9;=J!S>5%2#Ne(i>SrsZs;{G= z=l2g)2ElHZ58x zv00)fgTJzaJZzC6<_kl@J>o*3uaUEuotSt}`C8`T7F zDlkQNdL_iVrnUqW=Xo?YYh_QU=WZKRPODdLDpp^qVs?~U4-6_db!vYbwQiWTp19`q z+hl!qs(bIyvE$a;r7|%Gf4}x%b<}5c%6t5~|L$HACubt3ZHyihN>4c7gCX5bvc^jU zY4Pm2|NW={_v&X#6;8HumNZw6AY2ef0%t;$-*dcdHu+xXHq)y=Ht2o$&SZPSJuV{w zmDw0ynwL^n+f@`^l~h(=9oy8|9+5MKO#YpO8ISM!idQ98bWS$3eT(exemRi$C*kt# zhuFa{@k5t!bDJ^CKk|k*(#P=_$xhDfdF=W^{MLEP&}8Mvdi}&@`Secp!db`L)t=## zuBpuzbLWkp7wf+5l<)qoytwSz{L=B|ck|&+=Z~L#35jppBPYA-F7lsW6qFsbB%M?? z;_a-5TQ-iGKKzNVf0sJ_zV2}1`Pb=+n zeRkXURmzRaQrUL5&S%eWM`%c$SAA}d?+qmUcIv#^hKyGft~YAD_wuP=zuTjwlGy>< zi3;C*dQs!$$5cPff4}r|9X>-0RRmph9LN0rb$&D06?KLZcxte zXmdV$pq7_0IB-3s>QT{bft2|A{!vV_1WSm#X&2^wnW^;E#oR~zB`UjIry16Yq6qEI z0kn_miNUH~vsvb{7ekF7`boEsZGnfqe5+Z=BOl4N2*C8*+9R(Cx^-uvWwe1X>q)I^&^csVYF)E9z!A_06rkU$FW=E36OIOGK=SNEEPgDv-%1TFi^j0LxjKHsPzn$m&?`;>kqcBgJQH;P z9n?Zr+>^Oi#8@08I@n48Y$oDE2YJ@B_`T`Zlk*!s++#Sn2~tsbl5qHt&uW-9?$&4T zJmL1L^niB~=pgIlH(&IF)?S#?b`x?IJUAlaEcS02pfy2>jPRgsIGP#nF5J$NzZ=^W z#gKz+9^v9hkbBCPAV;mro8WSo%xF%Ur^8p3u&!RD5>N9^{!;EMu_Vpe?S=tESzZix z$aWZzBwLE(4JB{NWXugt#>pYh5X2FRE##}Hig>vVh)g^uoqB@p**T7Vm@^xXdfb2{ ztSaB&$`^^GOhWX5Ac5zWv0Z%ZX5{q?i!+*XYNa$}JOv)>WPFSBX(u}=kJyzsEo_>J zZUp{#uF7RB#2!gVp^?%HBoG3Q&I z1C=UI@OJMIM^4atBI!qgw4;1W_^-V5;W-Bhe`$&$j5ERi7ZDp0PE9smb(WmA3nn4t z5$kQ;AGt~Mz_1slNeQBq!U8~204@=BBGMn01dPZxZ#ark%5sWS&r=w=L`1^xBH)zS z$TvU&1OSR;BjD9yqY~?VHLrS;Cc9(lYMAi3Fk2$6N<`u<+=e9VmVYtPLqi23B@qx| z1DXO!l*5p%G;sIMXS_TSPkkBwOP)wzP4|cTqA!}@uu;M^H>@NO{+#MOo|EkoFd#ka znRH(I7lv{4o+3Qr8tVyLI2AyVI$?F4=m8Q4W<(Pt8uk(b&WN-;)@g%NEs8XI$+WbN zK!Of2qMC0=!l3e znU1r62v)FsQ&F~&InJ3(s1UDIop3UKnlnFMA<;fE;THHb2gU^?&L#@?%015C)~J-3 zy9o1^SuMCJ2awxReFtX20!|Zn*;WT|WJ*Mq^oLS|qMt=c*hNax(115U7Kg_{qiKbd zX4`UO3slyq&p}lOQA%s}59l$7tnMG1x769DEKZLIUW$jQ8OTg!cKs+9NvzheSNo8= z_@hE_yh5|H;DV(@s^)sSPAn_?f z3R6KNiB+X`h*Plyv~Un@Dm+ZP$#}Zvu1}3_loO%ck#<=p1>M6R;mQF!Q$?32jYzUO z1XO*#kNFgXdQ@k{Fg8C3@h#&!;UkGdJm5Taq|KfXvfCV5c$>;WiYBXfP*z`*jFcev z1PD7ldA2AuT}SHrm=%H^dF{^hnx(4|W z-o|;x*9+82(M}2kmhqiC__oG}7n9SyTqV2Z|9JGnQSMpy_M^r?>p-29z!%L=h{=ZnVEAXWiXDR3~4h9&WXRRE(@ zuTXw5!bYT@iI7}0%=Pe-5!RRfTIbLd58LB1x+bFea-oDZ=Ld(2+1(0ejY)pv>px^p zF|U8{tG<4@GQ#nEP(?|Mnm=!YM^<_Suh^xp(6ANYwH)O$1aiVD*N8S60?i;mPJLuJ zzeVS$UglBSS{{`LTRo0QND3IwyBej9_0Qr)gwfu)2IErm4HF68dMtmru6XTo5~cZ~ z#lF<3(!2bP6A$s8Rrw=Vd|y^d3ln z&?;0&%kcx45(%!NCFDW8B<4YYbhqPV0_$C<9Odm((?F!YzBUl6!s9{NtHYG!U+cjQ zPm69NwiS6VK@#tP<#}*IRf|9n1Pi{d@(LoctuW(PO-L&Q01#k#i8?|${9s(>@t38Kgj>!2S5Ho?Ga; zg8RD9-A%wur8ghK<(sk}2}UPC+0U&~=NMD+Bd-A<;*W ziia?B45)EPktqelk97u3J`-FeTssBRih%oPLtJ=+1n>9(L;wN5biH@g9hAzn+anyW%_ZTCM zv0#6DkQ^q|YBjd#9O8k1`c9Hqvf0pJ!Os{HYWQLYGW~`i(WeAq)brl0s34wI-YykZ zAxdXHK+IE=PM`l{p~(bDKnhV#3am5boeB^J_nxW(e6Na|cJOAQ3=;wbF3kgr>_HY7 z!cW_=8hl9}B1x|f2#GO4HBx4Ba2N8bxcc*`Mt{Id+aPO3Kr2oP$j}k}tHXpGZEsGQ z(6_C^he=TiNLR^8S6x7n^CxOnhfEnJ-c9jVR*n@ofa+I+R?ZXErBb<7lRPF#OyEFM z6(AoLthtjUdJ*@n-2~6ZhXSs<52Zzi!Qc{5c z6p+t0k8d^aG@$4_r|7b?=+{CKKJya5j0VY|35?N@%cAV9yvPwiY)6DdHi`rbo)IaY zLFZ571J_gXJ@8e~3DBzs)gC;L4$qk}#D=Y0 z2Tz|H+a&%zW}!3gLI*`g9_RL>9Ghic^WxH%~72u2(1xSJ70~^^7 zkMb!@K7*lO!4Rul%pR#s?-!no`2`T z9f_j5gk_3dWs$~J(ScQ{#UkRas>e9vYzpG?dqaSEOgWhX#WW_L8}0|D1l(IC(S;^) z!QzTgnf}T^3jl$(v`c+Q+*4R|_khU@hj{fpz89K4PVfC{gcYg0sl!%nYGS~IV z)V*OwCsm;z!+=}R>Q6kdc}kuuI9UZEF;50qq*uWiSAaHz@-w^9V!`~zE)F~1JODTH z`I<(j$`|v`_~5msP3pyLBrn22bV!iM7l3d(DDg7g2!oGJZvL^Wm$8BR`_weaV%81QgK+-h4${bJ^>TA0*G z&`(3wsR7W@69T)P(qtSL=64N7=4FfAQp??+E%HC}5^L%v4YRj-VGC?jGn6o@d2eF8 zfs{uMr%bC209v+)EJLQ&&Zlm40X{`H^S=ZLjx|f|G&oSfIJeCE3_-xXT4|CO9@pBv zWZS)8wkR097!^pIMU+!1P|Qre(3B)8!qYGPOP2W)EHJQAqg)+~6u`RE? z+GecTE}s635=OHMc&p9>J| zs$6>Y@#m{mTwcVfYPOsQ84gPvg(luMA^JMjGYuz>!V=@Oior-13wTA(QijI?o~~hj30eEgQupfZ}yZNxE}qmijAa%g0be_~OsTfi8`=$l8}u*RoyW4mviQ`c39b}@6A|1GD+#kPsl+E z>46Bv_f?ofXNV{)dg>a0a-8lAo_3m^RQ$8{TF`)D{s3^POxnjC@a1ixR4zx77h2%**i4I6l3~02kukuqGj`Mi`YMGKAEJD4KwiR@Sa}imUcK#c zKCL!RZU8)qbafsuW*JHC?lm`kVhx=u>wSjH0HBqTZ*BfG*< z%xk&S!YdYJQhkx5wH@Hid~y*r;7)>zjnNR17W5T%=wO`m=qqe>A<3uiElOy-A7?uL z`zr?bs}20>gWO6Bq#&TD6NZIT7EkI_ty1J7DNm3vk>!_6zaiJihU!#+a3nc( zYd8x)4l~5zOY#aWaP09Gj4t^W<3j%Rjra=NCDv+Y$cnDJ@#=t3X61u#@EpM&23jBC zfuyipgB7#E*0dOLSc*Bsd&b~`77R?MK28pRjsJqGa^46k*{##P z7o{2NV)~mfgB4(mT*z4=@zsLnuXG=F#En(Dcq=a|ST4fp<{t0Du5ha)x3Pl4+CQt&gHJ{=>O6`@d)9o1u5zvImV2U zAOV9r$dQWKi@JB^zcm#GRyNGm=*gG92>0X+f$IR!LGAoZzqo-sM_VD#>WlK zs|~H|n>u$lbRLpBWyH;sEXO$#@Fj&8uerH_uT)oFdHqii05l*+*i*hV5vv;sY@ z2qV6}({g$(hhBZuz6{)7_P|19??TwCNiH#@iFq!FY=9C@lV(2VmHonI($#j#^_|qa zJL#G`SECzK=b-mexnB}dj)edVKm+?Fq17bVgS=sFH(i3L6i$hKWB_g@oy|#HUnhb( zdhE&d5Gu-1+@l1X$QH)#Q}`Nzg7v`}Azz0JzmE2N9XH<`ObWSg;Nr0y)%57am|e|@ zdVw5b*YoWP=_tBfGM5wyAjNFG@*rv3-|8rYSYy}oq(~-6!bDlW_Foqp{P^{}@cU)Y z_g^13-d#_mMF5MLmMC_1mNkGUBn@!vHxtTTlCF-mD^$zs@`Nii*zGVq6=H+jV|N6* zV@Yd~fDCyTKJD-39^Zc#9tpfY68ipCr?P9x0r&~W{Crk(ihbq4;($f6a9DJD`P&0x@VSerTEE4$V!6A z?wy(-b{~(T@406yToFDK+GCGick%eKcNg;Q3L9PTLsTp#v$>bAH@h$1`)YA0}nZ}dHJFSk%5t+ATwww@eKCbUWF?MsLYc za~ZDQ?!6{um41`%zTLzJamV2lZRVMp>1wM$A#Sk!BYjb|Y<4b_HntjK();pU3$x!$ zIy^Vumdo~UkY>x-!K-qptrByQ?rv)e3c$x1_x;L9Wzx4Nh21+e%YRJ^8kXBM=*;FW z@Y{(Vk0kBV+RpTAlR|5CVUiu$45a9B48duVg?b`{lQl4X(wUIKKl;{|n(UAh< zXz*5|*MxQ@&&s0s#guS~synZP%(U^`+CVa|#odxm^Px|V=ch_VBALYP`gIRlzGUgq zq9}g%#Z{kde8og0th8ZzqkF|7I1|5Q=Ozh!eX*V-`yG4xyCUgrT8cY~h?Z?G6y&~Y z1(OS9fAqzvQ|v3Fp83X(>rP=evA_%zdo+VN5;4Szvub=rJ>X9+AW9lk${4^SK6WD% z!ogkt-7C#YO`!J0k(yA;w3qtLmp_iwMf$&{a#G%={u+P%G?fo3=7riOpQybt4UBN}9&H`Q(y;(@{l zM_b>}`snJY-#O9MRW2Zs5D*oshMomhg*}LM7*^zn{VMW7RF=&;ERN z8Q&F+HWRlhYS-Qt(?*RDr2DNF$J}D^_0OBR;K4D){6>PWD{1VD>??<6DEyfYIuw@mn`|a^!Ny zIG4^#mL*@zj(m*h`&z8pL>#Sm!_Ct6qUg)ZuWL8nvTME!OuJI3ADZVoFX3SRQV|Qa zxLZ*|e2siF4|+>qr8qKE1I|vXW2&$THQ30B5=&v)_M>oQ*`yW$5b%iLeM8`2sFtvS z>AR?8&qAlxoSyir8&oiBLV=$#vH^0tpF(xMM4FE)a*cw@jygLG(o#b&*nQ+&VQMpYBLSMf(heEVSC4yee+hr zTM~0a_AGK;@XTgKMBNkCJ&MTtXw*lTDEBNL=6j&=f16IisoEh60RcUX+{fnW`Ei1|Un$9TxC|<+}jtW@!2< zfSV6Q0$(V9P{`$5T^deSh3yq&(b4GX$V%_Bqc)#KrZpZ7$+t{{4VJysF1tn!eu*X+ zxH$&YmR--Vnb%5lP-8nh*u2N0RvsC?lVu@DtRTeEwvc~I%w&Fyf%2Fp;{YAcCelk< zQ%#*-O^_>*xJ?1_;1!i|N|Kugj%uKr`?Ro0cU4zGl#_4o9cdQQAj0GyW;{;&`hiOq z4dTEV>1(StyYOCs?o#f;qI{3i%mwD|Z8Y8DA4$nL^oSyR6rR-THUio6u%xmGkgwD8 zk{r04y0#qKic8~ok!5PkuRf=r5|3 zlW%;r*Vc}zSr0s791;T5ekU-KqrmDl;HW_R>GXr|f#uYQ*Bh{4mI;jRZtg3H!>w*FN0PpXwR=3zQemeF%^7Cb9+2u#in<9l{ib`8WRmpE1m8ne0l8Efh7aRF*;ZrLj|% zA=#G^*=2@d#+H4J3?;j!NE9{7o@MMyr6HnHNh;aqGrf9U%lkU6_xF2zKJy1~{@^%| z(>b^2{qel~Gh8fYCR4A8m@0WQVBgHXzGcFdRF>2N`5V7mCw-Q9+iX5j<;=psRxw6Z zHbWWzVoEM=#3&&ecXO&!P7%-!pKV?1SP=fof6C*g&rQN>wL?qbmTonBlqogs;_|(Z z6=1$b{~*Zvt5gkW`Iqaw7hW278A|um*h=xmEQ9ucw_$DZbozsw$6l`R>0kMhtVCDt zcrMwbL$2j&gGVo1`>E2pH64&Yxi`v`dUAD^&OO#jH}Fzn_J4cvxS8W9BR*bjX|PPJ{+{OB&?=*#y+7bG;Q^3k$l8Hen>H)oF} zMADHBB1S%OD`h8{K98*N8t}#^dsS~EvoeVpIU*Q=XELo>VR2}bOdeJ84IqWT2e2NL zc2cMHhs^c-k1!vd6t7>2%3(mU^wLcM3f7LYHTsmjFcNxEn?H!lcpta?!ab-G_yF;- zT#=~p{WGRnkl7p0IJnzCf-=ZBAwie2xT;!}d@hzF6l`vHP;dh%-j5IzB?_&^o@{78 z`9g7rq19JFE5oD&-7n(ICn^&FVicmZAXM11Rltq{o6*t6pWTUuF2Z8m(C>3GV& zj5h2z=c=T4Nv+FOR_A*E+YxxVg_prg&$b zF50Zp6+3tCbOmR6j;KM0?lxI3zaoC4$>p40WUGEuf49`7eSC=&4^o#5HnvK&B%dIO zE<;P;fPSj+-bS>e7aC%NQeXsHUsWed>$b2iELS3oxR(NyR?-f?0EJNXqm>M^)Os(e zC4$;ht;KXbZ*#~Y4UCVU$^}$Nj5QQe;_Wbbt% zGw_&PzZM(up*m-p=Y6SB;7gu8k74HfQaIX;vbT+Bz9;JY6JLwUHmDgln!IS-CTh7F zH*$lTQ;g9lE(;{rk&Rd_Z>TUd-V#UDQ{bSlRAZo|`gvnd(SB)BlTKe!n>d%S9kD*i zq_@bVuc$vk^@VOL*&GvZzQJ4B{}cu_9TqnoQ8FD>GaWNA9d|ID@HL%`GM!2>opv)7 z?BO(_aTpbTbM4ID`I;^HnrR_P`eCHyg@MI& zkY>Kwrzn!{^5EwMvoGA|zY3mTT_5~ZWVYgFhM^3;PZ@mIZ(<=DKe*j5kZ-!xdVahA z{LZWMyTJnjc+P+gl2I5*XrnCPESA$0%Vmm%crrkK46tc3#|vYC8E0iw=D4uo21 z?O50YEbZ;A^m4eIBF4_>j;W20>JN+>IF1<%j2WAbo#`Ca-*4s296M7thF!Gq&*XX} zXz68SY2#;Yd)XREH}_u#U!mL$ZMAk77>9j@SmB65JX~I97@QVZ&NBocYJ&5O4POxU z@_s{Tw2fz~jaRXacb$z-n~m>)jbG=)*$*}WI}>NG0AQccNC3%i8RBSad)3jlcxyz4 zJ6>}D68@e2T?aa{%{FSlHu|;gHDz)n%@#9Giv*BkzLPPZiZMH*S2jkjEbqr-;uCc3 zFej~8Jjr&~+U!yW>{178Lq6H1nNCI`Mdhr{J5TM4Ww`F4vJA+x(Mu z*(aw6C+*R?_L;BkZ+@~b+0VnXHNClI8;71c0GkR5w@dhBfw!B!<7XceZ8FNED6 ze>iZl?e)w0)Qc_ZFKeYQUN3$bi@x|o-J!$u)y0#q=$(@d4_?lC^FRH5v9r$MMVo`% z(U-kfUoi?U4z|6db~+62cO2nzxSo1(P}!mNs(ib$<7Bksr1eWiyWIqr!&IB&D{F_b zPuW8!*|oaMj*kW$=k`0*mcM?zs65Iu%Oi7f-p^@ieCBP=>oGZpdycP{+MHHQCzroF zFmfEew7p#6asK+rF0$Bhz;TvQ_cD3E^AA7gpV7`6sm{NOoj2>8x7wVy2b_0aJMVsS zX6-lwcyT}p9LHfCNCU@dhU0R=foEqj{BVG4xL=?4SI6U6JC=QZ&Z@XfcoS~76IaqZ zd*B{9riY97zy-e9H;0w&dKZgVxME|NoQg=hH>PvH7MW`goaW+P2s@UNyDlhRS1Acs z>BFuv8m_Wtu5uc#G0Luy%OI}H0Ebldo5h0$-7BuLI1qq<>nNI4x93CkHu=ZQQ{5ZrCSe|5bwFkGTLk z=+LaIB`-;ZnxN9dxo--LB7jBgE@^>XAC1qw;^K(TCyBj#>v-7xl7_q6DOUq1*nW4^ zI%F}R2V}pxV89DDYI2Jd<#e~)}MDVGN1DTjjXdV&+-*s zGNiv#gC@k?T=r)Gb)k!fG-3#Sfz#Sk6SJ&zeHj(990^#oxU(2mxfHhQaY4cTTJ+rV zTh4uyC#kQ!ZhrPE+4V}j>=GHjtnQv^qDqi{i7xv=_7w&nsPc@N@(fe;tolJV!4u1x zY_VOF<+C)yO0JkNa2R0GGUP+VO-M}>uo3*Bu*(VO?$dnTr{$(kl#n;iHxJrph)EMM zY86!bwa_#*A>6@TMOn5z# zc=d7ryCDg`k;9*&AAFp3@%2|FJb&V2Bm8Mr%(r5KW{7t2$HeNSlP27~AE*)h4ov&L z;Ps8H`!oyuJgxzFbL!Jx38%$DmnDDy;50=Kd*H zJjW3{=t}_TJf15ifYTWdiCO*RkB64v;VOQxyLj#){Cbx^&lfx&MzMK%i*M>IxTy@Yl=^^iO6}l-*O{`G3f4UI6TYs$sBHtvCpr8_F(c z65}9XK)yjB9Rn0R&VeKl0J!-lq2W}5$9*&6>#*&4gs;@Qg9&D-6>Ey6w6 z+dcg16@SkVx9E@{kE;Vz*R$=Xr=UEJzljQ!i%I>mVfrMg9x{a0(t zhPH>2X>4eFsH#bVF!~p?{q+ahs-+CblmIbAO0QP2KW4pZvO|j4L!x? zwwd8N@ez17x2+8K`X{$d2u@{N+u|g3TKrkIwN3knwY`(!^V`~1diAHO|I^yCq3uwE z&mU;Zst@@e&^9}nl27|5w0%%q`8Tx9fAMGgBkle`>Z31gYg^GW^e<~mZ%ZB;CHKBf z?Ac~p+r+7#H#(O7g0{c@K-bk&c8$3CyOiW#gISH zcA$wg+*bdWvc0ucm;Im0wlnSJbj~=V?&oOg`a~le+J0ZI@9ypS18w`J#{M1Jc1$e( zfwsf5@7d6ny|vc&X}SB|PRGyPsfCrPk6Y7QyMLhV+WX=6??1f#_kvvRt(;qNmT|BQvO zOV5_&c>K`@!w1#l1)Os|kJ)E1e((Dv?HuIeZNKL^>MdKT_h%t^vHIQ0tH&w@4?6!U zJ==aX<1z`8dHIZ;UwwBd>?rg3?|mQN2S*nlrypU*LhPxFgZ{^p*X36M%a3;rO0I8* zf43W!vc3`WX`-Yxbj@m1?^VQ4+bPuLEj^!?`Csdv!+x4w6WY+9>wn&N++Qg)_-@tJ zEQf2a?*yeW9tW|$S9~eH7rNP)eE0nqr_*?5-|LtDq3Yvb_I{}YEb&=aPXD-9u_t`( zwg}a9w-xdxb}^;nHBol1+dK@J>2^b{XD915;e$1FHWu}45@)~{0nH@sGxwYi8WpQZ z)8E8R%_VWXevYFs`ym#IC$5mnG)q?@gE0sEn_ZIL?XS40F?M-&>AT!8T!zwKvXj2@O_jGvD5GgPiVbhV<=jZF?(#hKo4?MdELZ6}WlpsHI#2l& zKXs=B@2@DEabl**#T&$H=R_p!-lC>kC8>Je-oK+NUv}tVpLxm=c(82gsU**XQD?4o zyuDECHNk7TDh(=cS)DU%6au*EDlkL3Yf`r6771E_dA`spDgo!mNzWeHN#W zD`1=FTjX7<^ZdbFf-EW#d_jS?rL<83jNwp~n}aDf z3a&-w@tAe^GdA_5m~#n+tnA_Qn*Jp)BoTr!j~BH&E)5-jV-uJlTAD94(k1))QfR0? zBD-D-1uW=vVkA*E{RF>}s1tTh7n<$MVRRtn#yywQi&I&}VoszCn8FP# zzxLZ=@(5HmGkAm|g3aHPAo^k0(YiKsvF;%~DtR%~bp1&*3>AfAa2!Zu?@+^Jwt*BV zcpC^qM0 zwYAu>kj%{MJ%7hS*0QMUvVipbLQn@PyQuZ{LEBy<>$0^Rs&BcHN4TNYDQ#qP|DxnB z;f3Re`+1MK@1V(sCN3OhQKK*AB(+f-S|(+Co(pP0(KrAooxbN_GkpUEg!>ms3$jpL ziVERye}d}`5iC*00Bg#P4$4o>C!uclVipsRQ1}(~()0{jeUYL#PFb&Wc6+6;H0B7k z#iUZZMKyL01;Z&xsXV8-nwEHBy-c*N5_0$h;W~T`Ai+~*z=vo5y7gPJ^t~#3k8)nv zekeco(;c{((FE-WcL(lXbKIA_yQv~P!Gp(#wcIoO{4VQo)oXgut0{~D!4nw-a3zth4 z&T>H7^^>(igby)2n-dN00FV*Vxx$?ZlAa=fPtb_2n(L+edgx$@O(Hi11rnhH;8p;V z0k<|6m`=EJ{Aer~JtrAPkK3QmAnZY{6^&W7qoj$kWLG9f-yoqiHG0KWOUW$(GbPAeA73rw59M&AmnG$7dQJ zgp#%A`H`$0{R~sUiZMo;QwB*gG)zw75=Q|LfM*@XGy-5_8^EUt93svJq*k5*a2$DL zh>iXj3vpm_hMoZl*W(k8Fh7V_s&**)f92$+Le!U4d9N@*>5&f*@^Z zSw}K^X^k&C8vw8)6r9Jz)@(U^_1a!2=KUC>fEov=sDf@g{~|f70Slgd+3Jzx0T&u|Y|sB(Wgiw&WVp}JaYP~5Fx4laMfPK~qUDnTTQty=lIIgagd z>QOmn_HfS&75w1CC<~QnE{|xd(C8_B;M1iTWFChQ+pMkz;+B4!)g|&ZPc-DcKEfs4 zy7?#HF%(GNI#8QTRKo}EhQ`IJMDZ;JvCV30E&-!}9C}F5-XQR(l8_2SIF=~lK@{DH z6jP0wRRKCOK-#t(>Vyb)T&%n*B$x_`U?46tJOmh^H~Jh-)*OWu38GM9Zdg5a~q4bPoIG`1dM_Inab)2Eqvg+|&o&v`e6XZdO8?aS4Lh1a)jO zj6f`F2Hf^cl|2b~CQqK7O6S{1pNCQ!?2;SZiD{ED*}+#uMd4)tPKoL3Y-K8!4oyVC z6IbE2fW&Uq#B967CPs>{T~xehy0;yB;5!}43J2U#C197+XY=taKsFMEw93O1r%2rC zfVh0XXhk-H0UAT*j4?Atu{py?xWwr|sTM$+YD(=YWj;1d$q?d6g}APgE^nmpk)y{9 zfT~`pr^u<#!EY>5g9THJ7}wf;{S6-o($m z7+C%yltP>)KMLVl2S`v(^GF(UXjG(QmOdC~Oa3Sccl@|10ypJ!pkw8KPi zTs1`m$>b|rEu@8ug@|R}XW0`U7+yzW!dt3*%J4kL`A?1F;Pi(8_-P>RYJp2{rb0f% zqa{)upDQAgE@sQ|xGQo@v1FpEP|ZM~@e;ov3OW0$IBS^7VvzO@lk~lAJZy>aSG+n& z=WEZ{yM^SDqXX4M03bTN5fj@Jp3>b@!03Vd_JC9h0N%|$`L@(a3RNSoSneKGR;rW_ zUYh4}1Fljk8gY{=??#S1d@e6@kaA z7T!7=aVJI#_)6@ywvm{q_w92@w{uh|f>@sK%-g#dzA;p}m_DMrrR=?JE;^h;00pi^ zrtZ5JiduKB2&e;n>Py+$)nPR^gG5#5T40S0^v!}6K1aEBnXD2-ebc~e6C8;t)~a8)Xs?H_1!6W z#J-@?Ylhd=QPo9wXd$+ag@?{WKu57KG99*y&SAeRa>W%iMx+FzA*!p9Y|Hti+UIs+ zaLGoEAQrW{itvC{ttnR7&fSu@S3B@%@6d&C>V;^yJba1m0NFn<2s&L|SIFdhg{#}e z^Hiei1?g}cATcxlT25uXATB|G4!=zZqEY}SKIA?<1NmEVuEK$d;Q`Z;?B_qBoIa}0 zURuRb8rRD_ZZZx2g0{<~z1(|GVBfvTRXFWHjrgI&>@dUw0!RfAB8UP%0r>3wRm07! zS+C}fWFUH(+^Yb-FDSUFXZoG+T8&Vl(--*xFB%FrYolB6ockI((2cJde0nu?IZVFs z>c%pF&uv`&Pu0W+SOn1Pfh(5V`$jm7a37c$4Wz^S@VLk5rayACpgSm_D%~%+!MgO$ zZF=pMLt+{}w9u^*8ld^5H&lUXr9i8DbKxE)9bop6>w$O8Lu9&L*n>`bjipEWi4QgE z`oO#z+@)lRn`fiC_Ep_7t}6e?S8?M}(Y;6Gp`Zq@?7DP`A8hzY{i7wSHjI6fLR22SX{OaNyZAW(>qj&AsmWWZHC$y~RQQD#eLG}8 z5TQrm4kUmI#xua~^q$RCI5+M-0&k5#_8VLEcczqfinl)qyV?5+zWoZ0-s|H(4N~|O z_+g0)7s_xYG*La{?i~QDGhV2N_B7V^1Op&TQQ(Zq-;^?GuaB+#P)iVqg&O(pJ5=zB zbb?L-74$BJ`}n_SBpd{%g)wj}`OyWtLKu?s%S@0ez6IUixv(7{%mAND9dx4K|Hf82 z)elg0C-T)s*2TvyOdr%417%)yEmC}J&(qv5h2de?F4n13X>7BgUx#2ytRER8lM5{D_Uz zp2S-AmuJ&IM!=rfv5b6B5S_c005Axhye2&&ql~=mHxsEozTcJ>v;Tgq>eT&^=)Llz zu1t^yeJXXQWF#eUPCNnQH=MIPan3O@!!xB9gLryyCO~_pzim%d-HfVupf5Lzj(TE z;PinFZ~(3^bA8S(vv*K^e!c%q69t6(`6i|^d#iiCNqJO*@dh?a!s+|?R|1|a*{}B^K%=-jn#3jLgP0qd?-2iGuo%u6gnMev(C!uGcHqIPLQR zGC`k<%iW%QkbJSCt9&?^zI^CWe51xpPW^)U>n^M0-b<5#_RFu4gx<0z^E>Yc9v%SK zp_lu46FdP|7Cf$Xsg89Ne{d5^oV@ntQT?acn=`HzA0<_u!9zi(QC#RJrAelU{4k$h ze?uJY~IADNx~ zwC%VSF%Z}^Ft3VUjc~kPJP5BvPq}dek7M8)NWLdX?jRJG2MV(M5FEgM_$_!Q;g_oA z{NRJXcrAW02*usMf+%bc+y~t7l-j@(K_6*>d$l$$Nr9Ic>l!p(RGP5U5dll*U%7m* zo7A6$92qTR{Aw(QSE0ZdM&MB%pDS+~JL&M8u_t|1<*J1HcZQhF8+bMPyenXnIs|`; z<9?Z|;S&=YjW*VT^w?eGl(h{lRL zSBn*51Pl<rrfi+l4*@Kzrgay&>C z&Os_e$0Y4^?QI4YAf*+{#ivN&?=0(x<-Z-(5;=KKpFk1hv|yUw=j6&(G+tkB2VFi# z;TGo1$Ch6Z+4s*D9x?pi}AS;F%DDtJRPHI_v`J;$s^9K=jZP8$Bi1}oHu9P zFRwh$yIX83x0K`1QuV5D7Y}U(0%Pd|f*p9X(-!SKxlioEOU-Y=bhyxn1alTK_FOx^ zymm%JJiO;ncq4Ujz0l~#Lv^p}vhJm&h1yn##w3)kNXA?dMV~#geR`!robk22!WOlU zcC1k;%Y?gM^=&eE@Qk2WBX1y;c|5l@|9RfNz5IzBT%rU6S(L#BGY)1^#=I>ML0!%X z&mWE#wjmL_^IcPV<)of<0LsW&2ke-=@&Zs45y%1k(sxMitu~@J+to-@>FVAuM{1H> zxGGLhA^0S>uB>U7)P5e3ZxjCv@2@#Mwl;*0=^0r%AH5A+A9_{~Vvt#9W3GHDfyS5h zt0Rs)r|A$ky^~I4_yfLLWZSK2rJUxrpzCD|R^Fou7+}8}S{Mp}igyj{QQWEX8RTsK zqI11>1S~Rpd&xzJAiKMb3)18}wM^G(WnsA=l2w%lzxCf8^Bp4F3aa_s#f(00m#haY z7(e^SJmxzJ12MPk$he-K;TPmp_8pnNcbuCwd%>vD1Q7gx!nO zJt|J+<*x1LjuLzv*NJT#YKU6Zu5O*MA3)5vF{WpAm31OV7W{h>{TRW5iREFd?eaIT z9v;uO$_0P6(&JaU!wkr=`5;A(!47DfqJ>4QJ>>MviQYgN9 z*tF>duRSF;>&$Sf&)0*-ysKX|Ilz~_yMIB(q&ITzrGAQ?luBmtNkd!jXsr^?X!Y42 zjH`_*9ne;Fxp*0cN5&;`MNS*@&gzjsx%nw_%u8BEJ^BYF)D~0_kv$wtk*6EFx38T# z)MtK$#wFL`tN1-R_Y$uHebmwGh@k9V>!gghDj|@h!8G;!>Rj5*6k788!oJ^|J5r55FaQp&w|o%00slgR=iJiDC8GqZSA zJ1?sZ`HnEJeF?l3d$O|fUhWy-tS0HFo(&eE2$hw&a+uYquXZ8H`2>@}vmQ$uU>J6I)Sq;~s0U7VSz5PABRsKllqqG_ZQy8aBk7hdCn-*Yz2UPM>d zo9eD{Jhn5ed|!>B9>PT+o&e0pw9?_{az?cU=|JgD51D`;OiqOjI-J04+c00jBlo=7 z!d^KS^z2vS}YOknSxSzS`mF%u9qhYlvXtQ7;xlD;8IwjHDDD8-^ zc!Yh_SL!NhtnBn^yEx7|-!s-+;#uS&2hhn$)}zk>G=_!9A(H+x>VvO$#v8fsPq+>Q zd`-5v_X6l{=PETnS6%!yI|GgrRW&ku;BxA|x6$YKsxk)w1v{;o7T3!-iQet??U!Tu z^%QfOCAvid(UvDaRTSDJ;qM07P21SSWp{iY3S0BM)psS`II5$xv{PnQSS50neVDQ$ z=e^eo9uuckC_v6F&=Cv1J@#brlZzO>j!!h)YR2s9&E^NnRn#$B-P$P=6XfUqA_MJh zvB}31LCesy4?Da7H>r}=kr1pk&-SE(B5K4*jfELlYWH;t0cE>0ts`Hc(4dp#j zYh{{4xmk%O3z`yn-skpTm}t0jweIMRIo*H>ZD+73uR^N3tb&Uw*SBC%UfKmQ&$og_ zYS!1Uh@Lqr?$4p?#`~aT%ndU-staEQ^7!uf;mMCn6m5d*wTuOw$jg(Sxng_Y5wwHK zIBjeE$2shz5%%avTbbifWetmt=k2#CEHjQ1=Ta2160V*#aTE%rd<>mfB{a`9$ohU= zH)=(@IlSG=>h4nC{fY)iy_NnMCT4PN?Pz+eU>P({^q52vx&tLxK_SYd;Df|^aL70c zk=uPYrFfsql1?aTNdF#(P%8>-Y`Zy9yc>MyDU<6Er5#?&`wdM}loVKsn5CM-^d}jlmgLGVq;<*hOXTEPDJT$Tu%Z4b48n;5#Dp23 zwZA5vSChF?wh@DokWcndTNERP(M2@A#IBxY?(CA|BOTXoJrtXg$HnT0y%oqMkl-44 zz*M)>4;rg`#g8u%vY_#!Wr(%IY4tslpSkdp1$a_zg5N$R|8$^Rb9XiIZuJsGbMvXk z6Igah)H}X6zeb)~s2Q-LSIOP$6&vhF%e2_nH=b;C9?{ykGJ1{4dd?|}d9rqq$szJe zd|~g?aMsU~KpDCw(CSH1^OI8onC;`SEJWPysAk%8{se?3tcZRS-6o7Dt!r6NQc|G_vVB!em7U%dLwQ?=Y{`u~gHwGSRgb z@38jOwe{5{K%sx>6YxLu2>^HqKxXIQ#E&S;pm?Me#7`eUoH;0}a#ZZ#!Gi~m9X@bc zMfJ2IT1|Dos)MAOi_}>swR0LrbhXduYoE0+)Ud-Uox7y&h0{~!(K)=w=(xDvStTPA zx$`Cp1_m1DrU$Le4_>fTc6L{DbvW+sr0V6Q;p=)f&_hGlSXa*gt7B!VZDp=~!Q!05 zMPo|~vkTTnj`rr}##lQos|#iq9Zay67B<#)mX1~yP8TlNVvQXxnc<8KT^%ehIcU4O zm|k)<^>VZJa<{wUV;OYiVi4XjJlG*3EZ~x{hqvS9V9PLHtsrk~3|{wYsB?I*d1TZ@ zH=j!$L7uKxgDyn`yGDikMql;478Mlg5zPKXMfeeXy-CqQ@!=QKXkL`KKr-=4a$Im~ zVsupJM8=z=c?_z1Y6wlL{{%VE(ni+V_oG7&$(VC{D6JHNQw~8Zi)55f(9ViCPbWL%CR*esI}}~F zNQ}KiiT6%Q@k>a$8lMtQq2QC#L$2ps%e)?xo)Mg$bFG4?^R&d~UVg|!s@3y{hQsX^ z?2z007d~%aM-$nfR5Bqok^Ld$#KxtkCgqTla*|W>$;tT?LS|NMVK(VT0VO9RxghI$ zaejI(A^k>PMsZ<&NpV8aZOW~}jN3O8E6Z}LOLOm572Yl_uDV@ZUzv5krnsrTsJZrL z%l*>oin5x@s=M`N_iFF7G}JcUuWM;{Gc})0gRlwb}U1 zxzx{ZpL|^|-}&6Y`qIW;sA=!-VK+j%h6j4a`}@a7Ud)V-jgODK{5^j7g7J2O`Fn`` z)!VnPmlxRq;r9!SmHFwN?_I2&=j;yX!paAB3Y6_mK7af6$) z^vTyPkxwQ6OGa2pHQiY&6{V9TZumR%whyv^h1@!#B!(~W+=cgEM0Uq24}X3=Q;mEd%5mz}43 z5nA@9-5zvEFX|z!<9SNSK__wh`nQzyLn_7McE>II_>buHuZYPl4VIrDIV;awq#Cg$ zon*6ouBhGkwq>%QZ+e4&){l|$TMze&t4AU|&i3!@d%F-vHCGAc^;ZpyU=Hq&sce<{ z_FnM(5mprMY?=Do?!<~no|i5^XO&EhADDQ&B!Fh&81sOXO0D?Q63Ev;MM0i`CiPIpx)jUA;!WO7=czNh}yZ$;*bV|cb_e^9x zWhu-g-p3T054A{m|{gL#uR7 z5npsW^T1#Gp{=X(3kTQEvuD`ddNfJg#|*Rs#I49$+Zd3ac62s-XIw7r)fh&)rvKRs zbociCz7v{4?E|VyQ9%Q0M;4zAVL-3HF^o!a>%;m2b-{+GS+~B8VBuHX0k-yu*tp!e^zC;acUr~JRto`;VA5r_Xsd;UWlA}!4R zJ?$xL^xwqc>EGgzo%Z~z>v{Bl?|K@#+Xns?hhCT2;?Uzi#9?@dh&4&XEm^{)g3S#z z9dEP6p~62JpL&0ZLxadlub`Cw4{oTGa+l2w74AIz_o$~@+K@ud*2&y|TEk!eu!aM_ zt>J&xJ(K+Z)II+|!yA9sJq49_R{{jvFS@-;(&`{+!G-P)@|No%j^{l8r zQP2NdXqd=`h6R71VJ*Ap`3D-_uBogoe|-C1UDd;ehi#8Z`Tc*;;dR=JKj^UXVgLU? zhl3;kM2EivpB+nulgs~B_Z<0y4r|61t0p)9x4P$lpu>NpJ^vdz9LoIf;&6DNmmPr~ z>7AUK`jhtTn*4`2e7*E9ak#YompJ_Ra{2r8_TS?0`-h=-@7^u0u*Ko$kLw$M(w;xR zzW>)fA11yWz@&q~0{?ZM?B1o$SlFJ3Kll9K;?Rr#wpNDHrQhO^o%R%Vl<4?d93CE1 zMBZWCGKic#q_XNXQX!bQdmR3t+B$2o?{yH||Ks>waJdDSag*;k{Dp_Jpr1ok_BF0= z`ig64H8bTQ?++;Fe;_#HFMWqMeHg2mX>x*qzAxPsbUsfMGS(|>@|y2eznYu1N36l) z<|4gxr@L{@qlgQ*~LOf{ibuV$LQWQAVJ+KoP&BTuZd6L20p zwlTrzxA(prO&3^No-#f2v}kAHYx?Wwk*wCO$Nie}M?(*-C_ic2B6{|3>%>XOZ~feG zjtjJmVHTXQR{M5d$g60$1mjN#WQMT_CxkEk(p@eTj3IF72`ryH3fUiqIzFh`!_?{) z7u_A@6s2xUb;ioQUpTMHVJJ73Vv{-t6Lm8QWJ)FmkHAFF3=;L#QiM9})WZ7bIs|bW z`8|>lGcB;_&6M_e-JeXIx4F3Djrbe~g|c3mRE7Co5eI{IU1$bwBvH=uy7_H&lWEHZ zQHLlOL;3u3{Mv=#5oHE4X`W?J5wn!9o$<$9IWOIE&^t4loxPp`0V`WQqabzi(HxS| z6dXV@b=}-hhPYlzMh#P3VJBF2ENP_HEyjmoM6W-g_g) zms&5emr?))Lfp{pAYo`}hj5zRGku9jS=ZiE>FJ|G4Psj2pE?9|kAibqDitS-?c;tI0?XFjy4xO!}Zhx{pjTUZ-!Obi3iC;;Z2M8(asKw6*6% zR~;Wpr*BI&H&N$j$XZ=?10yqX_ssaGX<7T(RZl^XQlP~pKU!K4H zto4;wHf9~zr}CxM8NBgeTTrJaxcjXg) zn0$KxKWzQEGfQ*z{OS-Vn>ex9N7LJ3yDmVE3rqqRI|;}Wh9N2-iLhD%r@TTt%bE}) zSVZ7tX|;o55e^VFpzN7BihvRj2HYmY(rF|C)iQx}RUn6E7zS=bh}&C)0<)H$v@Z|I zvPPX*tYvw+P$Qj7cO#bnDSHe-^=qOTcf4SQf$mYeuYaXI=kU6xd)kwnw&ykJ3Xro? zrNW*jw?runG9R=Q!6Qlsuvr>7SPLq-4BFF?-gTmIIN5evU$i$&_we2hW%ZO2=_T8z z0Qf4WJf4Wi?KyW|EhC9VmlaYut!p2)mUVymmcr0fvJ>-}NagQ&vR^6gvd_f^!}OF* z2t?313$4c(7kv-xp^qgd(RpPeM+VhQHcVn)T z++^kKN&XfVi7cv{>hr1&|IDDoCAB4$$=<;uzU{>qDHUpO+5g1c#Be2T(Aod&vFc;g za3zvh65I?k6ux(?_>-W=30n)(%oD+~THLNX2aGhg%^S-$1bTEoJseIJJ|EV6%lWgx z>hPS{0B59k2d6BKl)HPYoIfA%R>_4UE5|BSmdDF1{vqS$L3Uhp1A-L-Sj7RpS8ACO zI7I0Le$T9HVjBeLDJuH~3A4JX;WhXe4frw|1(NQevwMylLfiB`1S}DVMq3)EP=Utz zI{SBzlI2d|I87VG=d1uweJVXfv>9M~9Aj7O{=J%#lYhQ6-m0Acd!@E%H722&5QEP7 zOP!rC{&#gYWI=5JQUPprc0n9J_kgC{DU!r?ldSF1kW^~NClf5EkWmhQDzY8Ai)@q4 zbp=A8bdGE28Ga=cfT2$JIL~x=uMvFjvraWfQ}P%I6Y@CcGTr^;i)pU>JWx58vX|)% z0&txQsq56@jRIUW@So#Eun&He{UpBPFy`~RXd|P6y~qK;0Xfxyuztkr^=qeE7+1Yv zdNmF!hsW+Q{Z=qZk6yUT~?ne8eC1KD9S=Q9>e zQ-j8q)Gi%z7mmQZ=3ggtU8;OgJclHoebp}F$}C|;(A@bk z_c;%A{j3_O@zj%f`Euy;4^oM8l?kF_h6naN?~pOjJYcI4_4$WaTb=vR9s6f;%Y=w_ zdVKKY=HSY8oyXC@1WprrgCI+l4vWCfM_Cf4b~KvAWl}x>&|8ljk*d}YBRhadeY+ZrkS~B}tr*-&BXm`7a1C?H?NLwS{5P5@EX}Y(#@ntBJ z$$poD8La!^;uTcDp_3NbwC}K!|GwgRELa()O6L$ot8kSto5v=jJu>#~^0rV_xDKq& zlG(Z2BhHxq&d+(k6JkuD-Pum`ULXSo*2{PdM$SW$I0u%CpC`_MecqZWNkAZ4gkupProp7 z#PC(O?|9R0?q%jBu;lGDXC{we-k%TP>i%dF_PV>2I~1VvQ0(dVp-i!rTOyBlGmL*6 z$h#poRDrxekFuT%mlAg8$gm$(iGHbPwI|eS+J@&l7P*e*8Nu)gD)7`nF0%#MawmH@ z0Ma~pjRc9oh!A{U@!(3?55|t#dKJ2Zs7gC1^_pQ&o|{J%m7&=rB*vEr^pr z42r$)kbybMF40Y^>Ix3kb!P*nb zRFkO9_UA-GLnve(kwD}sY?^8}&V=3k?f}C_8luBi@~&S-LhPZ2f=IYrsJD`SA_8xp zuMl!_DrK;lzd{H;7|TZkgpR1DYMH0%u$SRfoq|HiFWq?rME9&?dEVwHNR?^*J;>aqJ%Rwl*YtRGDqqPeABbg`j*$u; zdFTfdBVqK(lXOv&FjyuE7Qf1;9}XKM5O>i$w>-kt@sZ2<*F!@f@}3veR}r`5oz&9- z*_RGpLWnG8(?ndUMsXhrV=FgPc)E@ic#=#S9*_3;@X3UB+}5l zy98d<(|OifNt!Kw!J;I=RTvwcN$L+<6sItC&~c zk_9mgF0w8ux_qO#>c%ep2I%XJ_Fp%q00_*OQB#D)Clzd&-~kq)>V+eC!D zr>!@U`lkY{iIjVSpwBBn`7_ zPOt1;KwuBjzOWb|C2;t*o;$9ECO*ur$kLF;0{mz1u_fQz9D5uRvIbDx#`DOLL3Jo_ z@SVsIK*4Kw|GIR~>yX^^jr%|v*Rit=PwiaVDx+(L@oYK%g0;E*oF zH%vJ@8d&M!s=L?}{Bd9T1|AXC7#^9oFb=9mLb~zQzjJ{|#J$xVt)=>pVDQ?elNuxA z$%oSNrRI0>06e;>dY!K_7~+cu`%%G{@J*Wl1UI%ALD$Swc{J|=;>dV33lEJrTRp=P zc7@X))nlL3BUAKGMyTT=?_TwASan)OfcMW_=?t;LF+exB99%E9T;2!qW3;+410PfQ z`jMIX4?L${?vL2ws|`yH{MmND$}cVNQChs!tL zs(=(J_E4mQ0g)zZPSfny*bF@gacS4tUUkUb6-^OmzU6;A02mg z9PYp^Tkwqg!{NUebDsp52jd^{x~~QRK1`<|5ws@9h{IRBdYBY@)Q7q@xjL#{fL=4v z7>c!1mF-~^>?9Q&oZg%5_N3(L!BZ^zUI}a7C;^|t?xEl|IG1zH7!iu ztS!q^@1m!EHj*B!?gRChekFc`rr20ZXI-8e_7>srS}g1ke=1`QPh>Y zE}fGRa2H%3EaPQjL|=%xrxzKPOdo_k#f(0x#i$o|J+JMm{f0jLlc-K}*qkL!w3U{d z4BR;w`SH~I%W2DlDnJ*$^)swbq&G_W76p0HRc3woi2CcmL*9lgRxssZnB6TO4;ordV1h+9&=>cb`NYHn?Ven((OR*w z6AJe-@<+cM8~3{~^bToBFr2J}Tgn$tuByLI5SR!Rm`XlA6?kPzFllNjqKA3t^@p`C zmLc0S#R(_)FD8OH5>ZKgHL%&^g{ti7u*nUYaBbMMxmnpV&1 zP*+&^Lu6`C>${=6$mypnDVg-Q)&wdt}}t7%lz+F zWj>5wd^@>e+g|tfht~6@3(R7Z)*X?|-M2CqZb2BlO<4gPk=E0;0ahh}ornoG84@X| z4<*7MUcZ~!jr@=|3$9oP-xM438?I6Zz*?eTfPR4=E5PvhgewX#kJ6_`Sm0&YoBZ>^ z*$Bwtb#U!VXfz7iERK2+J$GYt$_Z8Fh8o{on47vaezM-?&DqA<8cSx)+&W7Capt_T zX!ItHxf1}#<6u{Du5M(Q5iw~ujC|QDnECMgULvZF`iZE3dhmnUznjBIp-ps?c^6O> z#aeZA&i0xqM;&y0nNH1<+I-E$b_oQmO8PwV{aIJtv4L8#7i9-bMI|c)a!Y=F6s~0v z?18FlI97tcZ&fp^PP|pddL`H(0?P`!r?7U9f+Q1BWNhd1KJ#QaM{UbecGR-?C~}!> z+s(T2*@R7Tap~p^5-HsBqI4MqgzMia;fVpiz~6xhuQOhK2~iudf=5oD#AFGsr- z^*I4ZBpF`@DgbZ41gLMW*-}Sr6ryb#HZ^eU9nU|{3bLs)MpjAKX;%2#Oz>K1$0phK z1)wnhWED4^%_&`YgH8ntF$-(F;yJ0nrt)Q-PWD~)`JDM{{WSfx#K>oLJjRf<-tB-% z%VdGY66gf_SORH)?w6^Dw!wrIC$sX%DC)jyfLqt6$epzK)4@=(8drD(ZJ%l6T%)zWCmYa6=?pG`_ODh?X!XpOmFz7k8(4$>QS zP)x%C%l6K7D)|zfQ;xA*C(NqwD?+`ZhGx~7q<;7#wI=J+i%f#v#|E>p#Euv-jiL%1 zFx`mnsNMJFIq;A?Ka%s|ypeWCe4&IP>S9Cbl3D)p$35m2>Y18LoAU|MiXD;(>|&-g z=LWJzECk$rLDX)->!qlT`sK1M`9bzfjfeBQTE_9M)O)ho4P=f2gV|I@KVj-NS$p_ju3?|sM+*%(# z#;#8dth}na`1ZT^?4#Aek1c(NDtfMI9CRq%qTGJkEw~ST*dw^MOx`B;ISK?2`@EDB z{o0LgU!ruZ;0_R7K-Sog?qbIvU!EXzla!vKMY5Dcq^f3qJ=zdeAT9%w0zJ}~^ds8I z9hDz#XMC&X^T4UG!gins5M)>>0q8%!2b7V#Wswcq45Q8+FBwus%j`X_aARsA5(Z`4 zIn!UANurGno`iO|i7BM7`(aS(lt;Aj9KeDqTA@pw|Z|!6Zt-Mz=gz|iddzJyr@hX3x+&R zeM`orQZa&2F_n;p^!;9~r7$m}K`0F8KYgu+99ysW!Pc^Vyx=GN!RehlX}V6fK(LU} z!k}=&Sk)Wl68CR*54oHWgE3tlejyEI?k_e}1=T1WOI;qX`K<0BRz6;)romWAWoL!5 z6PW4$o&QuuXq%N=WCHQJn`c*Ht&&Hqr91Y4c`LE9dGjT$4=2vFmR5?u z-4C7k>aySSQsM=Lb3pqx@y#IcVI0dAkTu}zU`zpeA*P|8KPU*%LQhD1&V~y8nF1FG z*ylR@J~~oR%`_EO8BCeF+})shLo=HTRpbTgN($6jaMQF&Tj+Btic+5gbK2sXdaosW zF%1aW?#0B`TYtW5E!Qu-ywKEasB@(#zckHu;K5IeC4-;7x@AMLCp|~+^>f*sl2aE& zqz|R9%)A4}ii!qoe~ZlAX(r)DucQQpJRb-GrM*DW6oIJ0Tsauu$=bGK+d#J&*y6ZK6L?N=0ybpB?r2xGDnSn zUKZ7mSAv*mkYjn98){^RWZ;1HVnylpNA6I6;aKe=L<+r;Hx#(#vZcd$h+CHwa{7i} zfvAM|ZL9jF7)Z`aCnfE&2)|H>*HxZaU0HQ~J@#!webK&XnNKT?wp;Ug>2@||>E}7W z;-i_BNsBf$4e6KnSFF1MT>r^x|hU#XqF@{vf=qd;W zdYrFYm0wI5ukaN%GPbg1Kb!-Jz?5pU*WePAhUN@rG-4$DiYhp2aBOlkmJjRFN6K_o ztWV#)>@PUU75^R$M?Ld!Jk%r+p*7Z!<{~q$ld4ItV?|b8Jl~&M3kR;xk!xKmL04$V z7>;)Gg_kjavjE4G)3rnOH711|w+t!qa!hIIM^ia?DY=kc09?h*>uThWx9{~Yv{TNk zcwt+on+1iLTqJcbc1*^}^G7?MAjPN}I_3!9ioV(j1m}ojYQ-9>CHcyp8jgoa8j z$SzmI-!Yr__3RWctoPk{KBGEca{i7Beq75=hpSxB1*lT^Ql`OEl(r2(wJd7`VxeMR zm&Z~Tn7l$cir#;du1Nc`K-0fFwlFgXJJhfs(3_l6W%FT!!0F!@&!xOgL) z33Yl#*Aclj z`&RX?GzDJ{gV{N`s=nG!k$yQhE1_wnY7${*V>xQc&`Y#<37lD~MJb5ut|3&G3}p39 zFBjOsh8-W+^e3j5^PhnmNaMBBEDy?;=%uIMxck<5ip4LPTOnklVz%Ez+*)#au|M%j z>09Ghett*z@o_HpZ1-JJ2OvJAJ)4(NIjzL1aW%Y zWmqM8DwO4e!_Jc>mPm^uAHu2dOS>#U!@oiT0(k#l@$%m)PKeP;6=yuWPF%pBw6!?p zV9l^@e|_8kf!p-WEOczl7@+Npy`_o0Ekm>Yrfiq&&pQ0(YdV+hj2-RFJ?yoA3pQsn zZ#Nr%;-#=ahFbIbU(^~QESL}(8WiXh7!@uqo+s|p)#B)a&wPoAP z2Jeg{uiQLhQcOg0{I%4iDJz1knF_FJk|-_9<-mBL_Z|0&gS zo9-32)ian{Q|^CBwTi~tzfA29PQdOl@Le;eV8Bbo$7`;^L=` zwUyP?&tGU8JKxuS{o48Z<;Pb>w|edC*RM1NS=;&k-|E$jztaB~kH4Et&%D1@N$37A zD$Y_2PxucNSG8{$pZve5IGHUet`5u7Po*w0Hktl(v2PhOHks~QH+#GrXjz*OxqFg* z)3~*Ey4mgZy^CqNh|Wf@-zu)H{@q<4bmy}_n@rI+7mu~8HOzG-bGQl=-)s2TOF9C- zvL13D&|jeJ8D;!vePOs%_ta;T@6F4vYkp*Z_t0!vo3wb+@AG3qdHrpBVNja5*QA`| z>wEQy$YF%!)xay({xh0wUthlq`%xm7zDlegzU}#Hwr+C!%Ztqky4PcI{S&iQ~e#*8V5EBSl3w(XqNq)=?61S5F#6&H?)I!%gr1ve7 z7n1Zn+-+_++*@%h^jW=o=~k4q$HlTt4{5tluAK3^weO+a21i>0^z>LCPIw%x(=4d$ zMQcOY5!h?H!d^m=4IMp)O@-Go_^$G-tv6Hjk8V61zhEcZICbUzM(gYq&yBY6U&5c; z=kq*2KbmJ>8*X$hF4I5kUOIP{_dT&Jhx4pW@g%hV$8kKpzZGgVZ`XfSsQ)pJr}?`= z{jUUdFe5>2{*MH;u_Y1jY-7PlP+R?jsyVqauv+M!al8P=I9@Pg9528vBrKHIGK23@ z*&&xKzN__&BK6TrWfIN>j3PB}*sH%$YVp9K({{0Ey|3$s-*fj*yBuEr?-O~%zd7on zR>nl0d}cGltjX839Zs3#Nm}4e`#q5-)bgJD@t$1zuyo>_Q~_P(7G1u1Nb~N_U%4jv zYE<;gThW6#d`7xyS`(v7ZF1+SUwW$7jh3r-N*HhYehp1#`9tQ#E9dWyo~`_-Tl4E& z)5m{ysTUYsYMS&Dx*v7-8UI9$mmk9Ct33REmGfL6sd#% z$hA=2q%imRh`@W{2LH!O9s@7`!E45qe^&BZ?|J^$N?swJ(uk)#^!guH@{(?3q!!et zGji1T|Khc~5ALQnwzk9-4lr`m*Bb^h|4ignK7Li-_T?WrYVzasq4C7N-xGN$Zx)i@ zek<(#baQ;MaN-{mc@KKt-0%I!n8>?3zI1o;$6u}XZ0u9}+kZ^tRjvJQQ8TpKqkm51 z4YtMgKd<{ck@vIy#&&i6zlW&bPUj8x|K7)=k2W&)@xHIr_74pF-p6C`DArogP(u*@pdFnBWRTSr_qy7KQEaf+{KN4AQ;v1JO1 z_slI^98%!$_#&=YFJ;w#;7jAD)JulNw1_eKmXUMfC87fQ(<6eW%d36+VsgrKesd$0dSILb;~< z3WR!wi$lb;+DpFrMWvu=&V$jfGELXc!KR5<>2-&B>hGkVKgvo{2o7nn3^|b%D7Jjn z^VO^87m=;&^7b3AV{f>6|J<*8aUT9|#=$o)C;k1H05=^iXIuK5+SQe$HLUgH!{F-P z<6rQ%RT{jzHOx=ZCr@_vlIIdg7f;GAelS>nGg0gg7q7e&xy{mjE6OEu6066>yUgR1 z78*FG7p1twA9?NcjxZkm96A@dH*Dp2O=8uBa#1yu=ZIeAv+8oMd+!V_QYW)SFg~&l zJ-4qH0hexM80vRBxU?M8ut=S&6(a?o{_I+o!@OyU&F4!nEYvWGU12+^q-T&yf_h&O z_ca#Tsj_uSaN^E4H;ln^ov%H_cd|MjY;rSk*qvl7lk2{G2eMEop&hZsH0A?hF&2tY z%I=mt%_a3%D*HM&r#>cA^RSc(MK2YPadcC88x^EUPsE&5i1N6fQ@Of#o%1|KN1xYh zp7%8O#qBJV#=PijgF`lY!gx*>lD6S(o<n@7gGi%RAuQdczewOy) zaVFgZik61`yw z8W3$ZDo1Kh7+adQp(QeG>NEH8iQ=)lG1|;G4b9`(#M3d!SP>pfpJ=R?QonHQK}@nr z4Uzq)-_rj7FC8YKy)4}q{T~`lp(E>wMDUWu?gxWsOyK4aTH3T%2P*{;Jz-wePU8< z1K%{=V>t2rv{C$gfD`BWr_o3e?O2J+ zY)?t*m&0l^WIzV%K+sx1W?Gn+iyg&y2;u5kg|JOh!if+1M`if*eB{ zJNwj@XzNg=kzfCy(dJe@d1wKWr~zchyoQLYcQDD2hpzmoP+x&o84bI$H-oxr7a{kI z&R+5H@gLHP5!2UB;ZS#E>eE|fFD8PF(>vJ*x5d8{^q=)KZN@55#~=#0^b|pb_LrN zZtAhvlX!@t3IU)XfCG2qQxLc}@ZS;$`Bh8;8O@7R$;{=XV zqFKKRfdy*J^9N@aVaizv55C2Y+;)%A36Z(s|?<)I3Ay#o(g;OXneC*b{#1JgkE$ zL+6>2;{>;(;Svm;#{?&DYaEj?3B=t{3K6wdf@bprknzHB>k)09)}e(?k+SS~z`Ur6upvh~1p=Dr7S&S# z=~$c7%kEo~fuII}u+}38Ga|Z#EBlOp=nDf?rR+mwH&&U#ete!E z2nK*)oi*T^gg1G)Oo<%7bI1+z@Sdk_rw$xFJ$~WDe&>*Dr+ESKcS8Yl_oNoVSJM27fm z@!iBGtwe)4U%%+fJ9bMbW66$Q{_06)8!npPOSpHZH~yr`waB3lj)y`AnABCvZ`IAS zld({-0$lEcA&7vp?Q1*JuEP`fq>PeSl=N-@Ksg%3=}d^Iy8z@pI0`||VyWr$D-Y}3 zGnRh#g-?FV+$)32evSOG`ymAuLYAT}=O}AH%}k@At@bNeM$*OJG_G6f-H6cF!pc3XncuU% zK!Bmfroi_WFE%^AgiShnti{%-?G>B~*Dks4yc+JXKLHP(?DdhtLI(6f{A7>ln8G=6!JJagp(M8!$mTY{W)o1lEgKKU;vov12SWFO1d`S8iZi;KRt2nS6j@O z)umHCZk|nm2`f+~9;wq12eStK9&#fi((%Z240Am-?ChZ!b~ku?X_QS{)VX9=CQ_gn z4crNj&4E}<`o&5j3{LA~Ff_F6RBVcV;5@3Ub^@ zYsM;3By|Z{w-jt_9py=eyI_KodZW&86UhcZD@3dxT@^4X!s(cdxkO1wR!l5Nb}lMN zaor7~afN*oi{m7)e8;nW!?C=^qpQ?ewA`W@439rLx&jY3G>i(wMa5aewSqxfRxmR| zAOh=hijpzmYkM5zz5jQNvZ-9+5#)5;y>AlI``78%GewG#V4+WN!Q$AoSvNby3OmHSw ze*BZEsCrubDMErpa-y)&^>1$35_hv@rnCLEBNe1>$cH+s8j)ao*D!eG3{B{iJ4;2W zb7&sGpbzpXICIGjzSfr()gBX;@A|dxQqPrKsp0xBf*nIspMmnl8xP?O33L2 z0LHwQfqK5N4LqVW%^U_H)5*ybaL81@|0Wk|8=rj5J$LI3W+#a~(OrrTK+RKczL?JK z4oxf$NyL$gZH#-UHPd4KA(p@?7L;;1`i~Guj>Ol2qg!{((9(f zmr@RGVo(X{H(5uIw6CD66)=rtRz}nM`lH)dC$A~(U#*O0{Y7C)r6|E{OK(xp@35u6 zNG$iMrJPix6E&=1GN9S2jFS*kPedZfZWf6EixmeT9=_Rt+Qgx07-rtxqReHCxZj=1 z(mOJ%cjAHNIibZqR^@6%<-Z!rar@;bidY({4l^kg4HDsxh|C(492WrUvsmTSO5z1$ z;1C7=q5(yrW6+xbbR{iFXe#isZ9$TIm27GiV~owq*z0nNb0qWk$T=ZA9ka>C9eoa=dXRFAot&MGj#vJR{do0O)NZvR6DICsiS@=nkmyPT{?~ zW*v85-c7kYUC|VM4_1VbB%G0KC}%EW(E;2v;DNncx%G$?vwQ*8QUv%33$<`7iI~3c z^0G!oyB6A8&y2sT=vXkYj~-gB-Dj%%6$GZMCO&B3*`cu9rk#l=mA<2*4@fK)i^zu| zSzNvFCS=VjIoYki`EyHDTq+=(#+-Wi!3deX5fEw)3*AL>?5E!SRm2SlPXrw$VW`MX zI!?ZVd}eC2oRRarkFR)Z)X4p#I;<^frL=J(KM@^vYr3!|wvzcpwDdOqKA4bvH0`F{ zUK5$O*&+z6VUQR^Lc_}nD)7jUIQfHU7PjM!M#};9wCYo&7#yigp~fGGh2SVfpL3aM z($+6%_bKE`9Mwz9>P|voi|rXM`yWAS)D{&xSdapGb}GZ&4u&Lw>!V@bcJOd=MQ&B_ zRl7Em!K^So0D;mL^@BO00UqGrETphn9dA&K!EpA zg!fBXo3PA|rEUesVd1uL)_<)eloDX{j~V=2gHs;#V}PoSeXb`#z6F!!?^Nc+W5||gGi(AQJd#s zI7YZP5#UIE5%ZD({NTV^*n?i?eF_TQk$_x3!g4^?G0AXX%s_<~pPpzJCpY zT+qHZXtv!Xy<2>V7_m+?RD%WBz|YYj`nzGG{16$F3_f}dAh$J!5y9mIJiA=U?C#a& zc>wdkk_~oxe4moFBYI2Id(}w2x7EBg0WYti`VKvU+0cSLNie&-zFUa6Tv#d-f%)Fe z$0{;#l_8iH4d&U<^I!+_W2PTIMrJj^^zjdrMYt#TEHVh7MRDhY{^3P5_3a1VD zV<4(VgE&lBXzPnO*B(`^@ci1IX0;(!v!Nb-p~2drfT5w_2=~(mL8JUI7fP5T6=GUC z5G~m#o&bNaKCE9GBgi}Qk{jSceRzc*?iW3hUkfX=hd0dPXnP|PeovsG)3dBOfdEPS*X4qvJ5d0^7%PQz^8 z9bMfde_bC9jBvkpc#QFp_s7%IQYYRt;@^-7%%Zu_^Hicq#4ABw$j`PIXRWS?2G|S! zQTL}k9Wp}=TH~x{00aiW=T~g8Pld**E7i-h^PLY-PPO!=H$ufKfJ= zx=SC&8gw-;1^Z&)r&z{0s(ZLM!t?|t)yyY_GF%*v4%oI%x)70(!(->4!DBMu;R;i% zu3*++u#DHG^hJkg*S-gBuq@eWGXMCgjbNRP3EsMCzTxSh^=XusyDE0Z4L4JH@r|s& zlxPCnrWA^A0Bcj)3HF!PXL{Ps=4a8p;l2vKiBBhTE>ev1r#pWNcVC=Er@N0Q1{@h? z6pi1=Wz1MKfD0!o>Io$~TmWqXBZKAp=tRs)NT$a#SP<>)@~!tQTm5S+1EZ)9`}Sj% z-ZPB=R88HCCjtDrCu{fSB^Mg9HDfro4Q9{%;!X`e=d&^J{?%l6%9|q(g7P0x4Yz@3AJ{ueOU_&Sbc= zKYyiO^63yO>h3dm1PL10z^qNUdO;fUgakXUP{e3jU!}exZ=;M}pVfr?;D=a? zFIWf)Y0%K;O+SUqzKMJP21V!hX0LzcMp@9zoDt21w^5O*lnynV8xs+^heeYWP=R=; z2M*4@1oI_Bpm!f`LSun$PlexeT%E_9M6pMjVjRd2#Tb`*0Ln%j(@R^G%L1?9VKJBYc;~O*b}%dmRESVc+Jc?u@>gQ()lsh zt2oM9WrH}o9W{sqwp?|HGK##;-IhFr+#NyIV^Dq6CAlo@HNaCJh}(+hjv?6#Qrvv;Qvk^qb8GHtW32{2tb;H(4K_Tx%*} zZB+Ok%eq7Uybj6QvJqc5*+3`Ncl*=E?Y;+B-ePqa*^s*hJ=Xv>mhSQhvRF^uT^BFA z`9yAcOb`}*l|9Z}UW15Q!3-D6?FeO!)g6MY;Jshc*SABrp5EU2VZXo?vuvE+TTkuv zqd&@N%pdE;gtwA6!YR<}H+~|CUTRp#xQog5`zRbKt`UbGAv3p9k=+<{9}(4u`#gZg zxWogbv>iJ^@xQ6s?m2y3Mul2usAHb_20yR=!Pn0D+nMsb5}C!;y+RGw91jvk%Z>;% z6-JE%%E|1o=8W_{c_tk9~2Y$j`=JU zHKRuA)b72Dyynt3xd<)t_^uH6_;*8uCFT4pGRFZM&(fg#lX! zw`_5XoC={|O>@=T+w@X6qIlD{m&TiQ1RRRJP#Z4?^X02_e;x3fB|Q(7d|hclFZfh& zzphSVvAxj3!9-v$V1N9CS?_rPm(;*Fz@hV-S%D>Vjz<)(iG+(S;Xh~INKZDoy{S(a zY|Wh245!t8$rk&6Fow~w9M2CUl7-~nq7hh0 zDoV3RMrVV$LVXKSu_|egD7btXC=MrdS}&`vYHpJrzaJnZm4zmLHAv#(mDar-v6Uqy zaNqP^qc8z4UEX{1*Q5HfjgkF($LoLX$t5-Q6_r;?FE(x&hb?M;sXIoq?s_I&O9P%{ z_A7XBvg7-}xl?fZ9YT!%BAW-Qr|t$1c&_rTK18kxcZ$=zq;6_-rEfiZ$gN-OiFw~WzEYX{nFXEg zW5%*;)XF;Pu;D?tP(Up}W z%3&5kbD@TBQtanT1x$^_FFd=Ce41`Qs$PzbEpW}$v>q!<)!fn5LWS}(J`JJI~F21{|hx~azUyaD*k6b&2$BZf7ZCQgk!OMuTh(s;$97| zY+;@G<$mZ>UB=L~XNcXtfuq%B`L}cD>=ryWHbh}s=^CAs8Zp~INzcT+(s4IyC6KN# z%!Om;!Hg!<>ISgSTMp$q7+Gbub36Q3aVI74YDz%)IfF1(ku0ARmQzl~@RbP5rYBUh zluUuVRROngxK@&)`%z0NW2-(9MJ)DQs0Pmk)>V8C9}WO&)ZwQ?sZQL;5&%>PAA_MD zdGu^t3dp=nXdRz#$|~scD_!YaY{DvycAvYL!T!#G>iSry%v8|#$esQzv4;nd1BM2p z7fYXBcp-Ke6N4D)-%?U4f94`;>;mZgFhI^;0SX@pYzMMnNpUykR$O9_=ONn-Nvw}e z65!J5%vZ(PBD9pbQiVEll}{rjn1Ps>ZYjr58}uA@}5 zuxHI~C~n^TAjq93Yb@rZ0Vw8?GVD+qBEvj+x_E)QvH4~s2rtn|N|>`(^B&E2Mg)Zt z(@Eu3U5~b?9o;M9F-hiR647G6S^gNxxG-;4P3D@UKk?3=wbzd2uJqF%_E(Tz05 zkw&a2m`1UL7^aY^E*2h~cE{Y7iHIeT7k}jpVoyxR-=16kNOfV#GFu_oC7GScmSbM* z3u8r>akKlIv&nMuX-#97Ydx?>Stg>HZ2ENa3y7T@#ig8EG80Ue0H#9}3F6U8EOd8I zJl>x9R08mWo=68ib`?{7d||~EdwBGm@pT!clrfZwbxww#3Ui>R6vPw@$?k#cBvAE4 zAGVA+j(Q~=om~JehtwV5M(%TH>zo@7yYR5+O~I*m72p)xMr*O$a$_RMjw*Ft>7dyL zN9s_u?2w^jC5eu^#<#=?vR=Mi!k05vK;k;F^oRNvnr_I>D@-G`Qu1mqkKH(GaGwlm z>()yTFEshc4G^}afEq>~qc8&mW-Nqk8@MIyjUJog(o_{$#7MeWS)Tna&|IMTP4+A% zS@CX!nY1&($N$z3`{k2Xh@o4b{YQxx*Nf&jt0kel17v%1k}#|Se;Oqc1KGYaiAi9L zsrB(?=$=cWU-ZJ*Vre4U0bRb1Vx;~0qcRXhtu?fslIf$1z ziYVQp2<>ECIVy zfyZkMIaE2U{jF9X#D4`MoLar(u0A|`)|lV%ULdMO*VnR=wya2El8 z`7`GFdHezOyhcc8m!g-y$-%so)uT@I$kz2>{!hPuFGr&Mi#rE>ilMC-)atLQ zVgRaik2EM(8v+|D8W&_sZqxQMZu+2Ru@*`m@84wfrA}pcpidCoBR-T&hoii^vhR ztH_W@zP2cqaCZ}!T`02^j~(ITTwme7c+Ig#UmqJVflz-3?ht>+j*c+Kj_d(RP$&$| zt;7%{yi!Vk1c|)zQSPJ16xk1-7ErVMomW&cmC$nLFjiO9QD?C-{yTPr3G&b|))O)E zXXF*tys!K>L87aQ*E!+wAA-c%ST}k3WOxKtYlrpdMo|?L{dF>e{1Pm^lKTC{KltwlfjzoO-6FxHy zpWMiBB=!~0J(A=c5_F7_V9W@=8Xp<--+W2DZyF=Pct7?;Q_}AWV_H^3bggfG)wKud#((#b z{wHGcKZh9O(vp*s3lnn~PdBnM6S5iC(*JZBuivZtGnaI~?p_*WE~%=q?tWWy>yt-` zMSY~Ep^Ubb$|scjts4w<(nx+n8k|UZxs=lTJ!yI=ar!G`&A+g3uW)KHZ|3WtF5^yP z?_|r^0wcj#v#?sVv|GLVqwUjL`{Kdx1mm|K!;fM|p8QQPR{X=4w0xk{Ep0Wv{@k)K zLCzQ%sM{UO{PMbaotn;A!`oq8^BCys8kuGglb*4e$x+52(q!M{!YuXe_{tW;&~Cq8 z-J|^$B#gbI)$P5VwY6`{`}FMc~ z`qbUOV@K*{m#0%)Du%9oiCX0UlUL;FO*cwDeTF;6=Ha$p&A7;en9cWdPRU;YW54r? zEE+GfWYq95&{j5uxikhp+vlfJDbg3W9`W+6CPnCEz~VuMfJwW;n0n)^b!Zr66sLCX zgHpuJm&3STc(b){Gt2uPB!2&@1)j6uW6#W$#naI7-aVG?)-EP| z@h6+o&AuXAap#`@YJ43?;(i$xbN_4eA;!gLr&z)t zEccB{_|U#*-9Gn1JV)Kr;br#ofbzq~JRgoG$~1DiQNM}JBqc1rZ&w0VE zEFN~HW-gIGC+MzecA{kAfUzX|HY~?+P!L>gV1immv=` z;z$bq7HCv~R3a>k!2y^e@6D#i=h<=;fuzXGg_c#T7-*CZU3%rVzo`NlSM=*EnB}K$ zsu@$;&t`H1Q!ZfTc9poD#hvrw(UQ$W$Zi05R1l(_iy})?8vGw?NYsE7wZSZ>4v0(I zkq6*jSuQ5FxI0~fe0PiC3pMM{#I=9O+@XuEe!(5ELONQ!#2Wxm|HEgzkW$??i#%;V z$q)`>-+M`dkvyMZH!-=CuA)s5Q4bx$M^7b#U!VCD?x42s1EAn@d+5$>@u7{1ynSk1 z@kvW9{WGB9(IlY+&brSKjsxY65u_|lv9p_1rPhi$D{SkHz}We%kib zaazmWyl3J!v-95tG2ylqR!*_dol-D2SQUHuWis9y2nAQO4)bs#8W)*5V!c%7%!NKv zzNiiu=I1ydDlh#L0S% zvo<=VeV#vVSqHkl^EsT>d0$Ibrom+JifoI*?SoU$972lNHZypLr~D@0H^z;{6OLa{ z=aesiWT5gijqXFT(zhX8phtz3Up#ZmFZ>_`Nx~p&LR8#)?bWtQb|TIihhfBs0jQIG z89p_91T1niiP!BF+|~LMDGNCs}s9jMawLrHCcTO2{dQY^F|Xv$0=~mk#hneLKvi$OHB@>E_e7 ze8cl=GFt;6Qa<+dromc6!U@AT5R;@k2t+-RSfNr`V{CZCq3B7$z_xGR!8`UNA`rbt zWvM*FlHXc!Nhf9n#&Xg5klltUS%LEg^& zp+=t$R@Y-avLzu3iaL<=hAqcFejE8G@7IE3l&imV!%UEXptI}SM+w7FoE0b*6W?y9 zl)ahI74#52nmh(-`gS3ct_>D$Dd4X#pTUINv|66lLo6t`X+P^JZH~N!P_PHYEkQ9Y zJqr3t$i^95L`RM-F;0b>WI2O`q<12tm9DO#V%*{c>Fo)(Iosd9|21Lh1G#x#cIpfP zqzqfUlg!82!1-u62Gf(QuTn9Z4nm8dsw!fGvW#QA_S|DS7>8&+;TTVp-m@pUb>Sb* z)a+i)D+9&wLo%7Cxbe>XinNZe^LdSKPo2nPBz@sdg=B57GV~UKHZ;_C;xsP`7*9Z` zQjXR_vp0mFFAxi~o}O$xD@PPFUDS);1QQUS0%U!9kH2SRBfFO@3zajYJ`m6fZqG@g~~Oj@cr9Bv5ed)~1O^zl|R(|G<{nffmb)+7SMTfeGzn zQI2|G9+3Wa-V>SYE)5W#Qy2%DJszw<1DXLbU_GRxx}cJtLYe8^kdbQ1dWJ;3H1`G62UD_&XbM&m;bZY&kVc6u5w~ucB zr(*k)Pqb!pbu{z5o=*f_gO|G+vbgc@lIxyz36_?E597yp=x)l!KG%QDGIvv-etAa! z5{Z|qM9{aKB*A&-)RKJ9MUaO{iCW8}5gruq;mKRSIPE{g25?>e&RP~i*ul(BMn0+z zrzQnuTSYBOMEJnrnD)@(rBF~+#8cI4+oYHgSL2#|=z5-9BFUY(433C_i%Y^mb8uhk zQ6{r!Sl^NBz2Tm{(MwA~J`HjKt}cD~0f&-f#%U386k9t524FikP>N}L=>^V$i%-Ra zB-yMsV_otwDz5$uI&sUcaq2ZD1Ka51JOr+(INlJJL;?c77+^sGCAczn82y4u;fy<% zQg-6GeMQZAL?7>mAwp-VeKr`s^2n2Wb15}lH-nYMxDD4;PqfCc=}Z08|7 zOd%=2nk^_KNtN9M-jNa!;t{AMM}{X8{X^-L1h_DYj!&MSi2Dj>xzY!%TL{ME5d)>C zDb8?8fMSS(nv8D>7h6Kna%7mH_pEqo?xBdvU9?&|=6Fc*<>d&*xkH^86kiILJcOH3 zhadU`53q=+d>tR~IxV4_omDu!D>>5nR3G7FO z2jJkq@w9S(#aziGin1nOOy)|+k#OsDrUJuHchYH77{fysd+^tv!dM&?GVBQ%QPHRn z0I9M(17wEqZ{T#IWb)0$GE4b)s1V^v-sNs_Gz6SQn9xH95C#r8IZU8j3a*>eAR(ow zAOPuYGATeA6CJ2s-FhC=5hBZUB(yyoZU9y$N7LL=Sz~ShCgK#o$Gx6{(p@j^1i*u7 ziF~J_wckOCIHT7hr=EWT>yiY~bNps|BA&bGIjdazfP~KlxkT3+TYb5s)YLHof^Qny zb{ai}XGv&)@9y9`TH2aTeL{wY2F*&*r5Q%B}ghA@{OA3fYyozfeLyf?-4>?6(S++?ih*Xj< zR_=n0#4M)`SOIXM$^6}B$v3v!%Cw-JLa9NcqT_*~apE!h5@B(NqG z?%!Z$z7#P2(AXF6)>(Hwge_L&&R1VzSbsRNH$S?nSo-mut7@Lj zd2tH1ZrmE>DvtwVNYD@rd{P-^MS`B#574Alz3GMXhNN;*VQm-|UIZ%YhAbFbX?WQ` z-?b7RbNgfVZQE5?^Wq(SwSZT2UBrA(QSDxVO)1Zd=}u`TrO@53eNq z!0jVjK}F4x6V04in0sSxE2AW+w})?v^uph+~+5Wtb~5^u#;LDz#y?C-{|)a^UqZ4X7ZSO;HHD#Hj>XIa|~GLTVB z(1R=YX`l2|>FLCe&>pI4;w0YYhbwsWKs+p1K3O@grc`B$%2N=VDq11HYIm4qz{0Sw z8z|T{JaQ1{`Casq0G0zj4dh}2Qv%dP*{R?Kik0)|yD=#7160NP?!x7&D>QIIMU^_D z!o{oTwzhKs3Kl^y@WtOATX8W<2ES zjupH>xSAe!V?Yk9%;Zp}!!8jZRRgZBJpcou`}s$55wC1ZTv}w=mF2Z9_SUNJxRA#d zn#`wRsmTuZZbj_zXGcbZJgt==aNk+I@w15>N4p$H_@n&Ke&oK#&oh*N>U3<)wroF+ zns1J>7eW>!I+Uq-w{F!^w;*oeKv@d#k}UK`T*ZaJN3M@hX{_&hxn@UcuOIiN+>6|O zWGq_Iro@dEMjnfGAW|TQzJbI7oollxVOlU{B2bA6ZJAIbK~ysb<)UKSJ8Lg26ri3s zc1>OHDoH7^R#iQZ>vkYOO1IR`F)pz*U=9?>^uBV}&{JnxVAm5`cL2~%>+!sX^HVI@l3Hn29@!huc>JtQr)LwTa3TDsfK107{M1h>C40in( zp!5^*8m+0;5af^V$!t-5eHqjC;)-Cmgw7$!{71dN-7WBjn>>7)%L}mwGXuPMA>HhpG!7C~IHHF;$=f1lHma%L3mZql&YT%KdjrEW<;Z<# zxcWM@Yj2bm0cF)gy$MinW)N^ah(L%%wH`((1h-J0j{8)0k)>|PlQs{KI`BMH0H+mz zGY5@=KLXYh5bg|Ua{K7DN8`L4ULA*;tbU9Kd85{!KK|zP%(Mi^A^@+gOVwi$EmTB1 z4bjO!^rN^{yLrB%MZYn4R&mHK27%_iAJkOU@4czRcmbVMf&-;2n6;wTncZ0}l`0F`VV(OU6)Nh7x%;_mh z=PAW#UMuIREp{4aZ3^c+RT@22I`=%ZMEFeI3!6@1qy(?!uc^~-r(B(1x<$V9SQ9qs zeCadx5wgTkzxbooAO1-A zul(`4udPqO_5UCK$QAf)UnD~?>f65*(&|F&abL1USk=D>($~MzIDC+eAlWJ#Chi8C zLi)$CDP;KH6cUsCh)p4ts{T+&u9QWt|LCi3j(A2j*=FEqI_E4Tdtm!67C`Ug$kNK5w4 zY-Cf&fCmkyvPX|+vMJ!96p}E+ zzJ8zC6q01S{~yK8SGy)ii_ISsBLe<6d@PS*u=yi3o(&&O$(fNU)gjbWw%q2`RAJwG z-{)_+jZvku{7`=&5BH3Eir)C2@bP7j9ebtY+cU@IF~6kDw4}ev+5e@D52{liG&dv_ z_ptpob{l(2>)Jgsi|x1lCu$sdng0CCUsQ4H(cpCT&gBKI(fRh#jmJ|9 zEpPs)Y;4qc@6!$&H8#(G?p*rKMvbkTJL4_U{~I+9HGKFNHI5G6XRB;%)cCi`HaPq* zXMD}(j4!8O4!>MtbH@Jp&;5(P`+xkNUHCk+vOTl&`)};{kGQtF@p)s1jUBf>?fxyU z{d<=2w@SRdmNI=f|No&9`w06su+u zXOqUNi89N~e+D*iW!8VI#OK&p_-8}y^g}(wk7(GxDzVVTyB=#ZBSnZwyi{Ar#>(5# zmetoDk)Yj1<<>tc@h{O6Pwi#r2FM4F3+)Bpm>u0h4kMa2r?J`H&JHvODMql}!dg6acH|oRCivlTrgI~p;qZ^-b z{d_UcbyK>@;+^5o4}EC;Zt1P}RzL1tanb!ye)g30?~_$$iI)^T-ukT#{XFf%A7(#k zxc?%lBwnm|sw7!4dO4dkwgx&C;+odS2vIM!J(cp^X-4Lz8r1W4+HUKOOS-W2v!fig z@1|vSl*O?4J3q74yq_SS71Tvgnty&kBSG?9bfxO7APr+{5m7RFT{- zQlPB78Ok8q0Yxiei zj2B5NwMjQ+vZ(O(%0yKOmsr(ZseAsbak|jp%QY{#MBE$q%XoUW1-V&E7l-lho>rl~ zTdFIN-KTpvQbl7Vzt;HJXPNt7UUB(#JbqyLQ27JW@?Oc?^jEbxco}c;khF@&%m!FX z5`WS7(Z?}`x}Pd42YS1gmIn=wjUG(=%998YIxwaRBd+K7DW4j7fIBpL<+qUZQ@4ym zug0_z8~dL-GF=yP4Eu8qX7}H)co1qS@4Vr5GNlhHc0#SQU*zHmwKU-?rYf3Zva>US zBkh5{EmqcQcADdRcvgMeq>fmbMxk&Qli9Rj~l$FALEwq*!|LV znG4q3GD{#&TFQvr$BoEY%DVKxQ$6C~NE+Nmy_DUmZhBxJUy|2Q&%P;2f}-o`G)sk2 zJ~G2pQM8-WTm%bF!}q~Y(7S%-G39A$qkGqy<8?fMJQcJ)8UAkg*^tZJr?4>)NlY|S zoCwIpnaQ!#DI`;c%b;|Wlyc5c@@JjPAT!%IXjUR8P#g^s2q8lHCd&lEz8$(2eSFEz zK3=DzTkwHGyyEI0Tr|IDpEWL;>jWT%SDOX^YGdWCIXID+V_=bGu))Aw(s4qJz#V3v z_VNTLl0@VaA(|@cUI%c9&^V+39Qtwmg00bzGz#*df`;+Pnf&#vzslB!N9@|xv#F`~ z4!Kuzo_@8S)B5zI!s*$hi$U|`bhsO4e>cfR$Uk>Lw&LiW;iqm&4SeFZXjK6|AfNWU zKpwsVevHTg5+Q=~aorI0p(J*_ypTt#*&(_mg3uUKD2$7ivt*n^+Gg_YRt;ggELpct zY@Jp4jr4GcQ+(Qh+N8h*E5t1@Kt2)!gi5P2mA9Tqc9;U~3nZGWh7!}lHp^^}0VvYgZF@(c?5T5@#_G+gn)7$)R5f4N67PZ65C=z;9~RHNUf>L{Giu` z+apsIxA8z+5$$Y=7f_&(0Tvpnv1=K5@gS@Ti04+eFLU6iN)7~G=JvJ=tm?gA%n+zs z?&GA;<7(`hIC0v>@($lP?>~3}^o7(eQbuyBa^z|fG!U1C+hYcM)d zlbydx!^MbS7IT~~w)3}8Ie8|-YpOx}MO9Ge3Mcyb?8xQjhMBR$?%~~Uzx;@4WkmX7 zVmOd4xj#FWPkvP|oj`h8UJ-qQ;ehg>I5^cAU0c~$Fb|PKVDGZ%7hiMris*|Ul(HXt zT{!HJn=jNWBUFVuXdLj6YgX{kT+fR!YJz;Y%kZ_WUi3Sr=sRixf5A-ONri8mw&Wz< zDJ`J>)A6w?PlD-jOdV?OHnKb9vVU}DNpyS2QnJSEAlDR$-FwW}S}1I2-+A5GaiuzgCTbVvSL8=r}ZmPUP$OR`k}k z`+#mVF!3@2c*Um4VI*QvtHpuCCu*a>MZ#Uj1OVJe(|`!!*wep&M+ecy4;87O0XQPJ zn&l7Vz<`hD)I9fbZ6b&G1kQ#$Un18^8NT~?|LE#jOQ@HHMKpH@z#Fc z_SU09qi#Rh+v#%{$JQc|8Y!{rB98|cZACwF$AZw9-5PK0ZXf^)$cUo7lD3VL0nV)P zS{48R_O!H9SYQMU4fxEneTq>82ptrCC&xikvo{qFC;hw>OAIbJaK2!>|%Osuem=~n+4(=9zb3Fg}gX2ZF(M!MAx4r~&S!1F#z#Y>@9?j$P zhl8==^E*9clQ?-MXfcyf(>U0|T2r~@*Sp~ObGaq#>&^FDj8k17_u&BbiM|mZ@8HKx z?0>Hwxf>%zi{^eV9DEZWIh`1JgA5R$TyGBo8c_i)gWmh_;fr^|m+yqE3-Pbs32dqG z{sy}#Y3a8S9AV4=bu|ME?f|nf;4X9Ubz!3ac_Kyu>4W7k!TKQKH;09z_hF)!&PN+= z@pTBtt+qr(YPz+#=?NFxHUPl&** zjB8v1A!xA(W~|XrIJ!GT%refb>V~<3-;D%w=kvgaOfK84xIcOvjx(E_*iJN34hzXVU2)WuC+d3Uv#laz40=+{LDQHbn zUJ4wykMpxtR$S)eM7dz*|le$2at=RQd1IEVsa z=)hKXOS@KN3_WXgCTm(A%0{XxSqL*?wjnkt!;-^)0B~_T``+msWu2UOj+<^tIal+% zeK>Cxdc-NaBi=F&1m|%-#JKMRfKFpcHYj4kg@QH@*kvj#005-{;H`@R2x>M0?Vj@~ zyTRC}70>$2INH70{Vw-V={}VB7c8A$ z-8DYd-apJkZfw^)BqPIgIp-+6QM#NZR9@4X+ExY-Lx`VRa-c$xiP-z>M#7UiPyz+% zJ`>1E1Z-QSau5;E@E2*gy5}^$dQ?r>=`t;^oUhC}hLZ5SSJ9#Km1r>#mWEi*FTYI$ zV&j2PE9GwhFfK;Py`K)f7~}x+C;xknJPZZ+U z_Fb#TyerH?vC(=7z5Es-(7Euc#C!zzF=nb0*x2(0nqsf2-H1c`=#c>q-TTm@C_Gu^Z{-h#$nT@AYgwLi> z>{7h#5xMGNhL@e{X~zV6Ir1cz@vJbKNwi`jjYpjl7b@mmn^ogz>Hzo;248(W;sKNEBU5*q${odkwG!gJ^pNG@ zJQd+>G=O0rwUo&k1kNL1Sh^bx*Vy!#`V1qcO66_EhIs9OI$pQCe`}|OKVe#gs1dWX zc7aDQAkfT#V4ddIRD@v*A~gk}meP68yNyOsYh|0EmT8A^pa2G}Q3&8o?E2(=F_BP6 zAXnNTv^I`E!ShxAEa*|ZUo?{Aow)Nv9Yb8de&+`b@$^DxE3Fm5?pv?rq2XasWQ0EY zj{T<^Ej%cIj5v&PzxuNKQy@GD-}B|bVnTBb4G_)=(z^^wdI?J!X)I10O1UH*emB2qk1hvJ^)x-$7sRTVYk$QWKher`+X1G)BgLAOLzzo3&RkyxiBDZ z$BPoHgD+w5hkJ&PeEJi_38X?FBSz5Uj?wl#u9Zz#PAV-|zajtW!+!l1FACIy0&%54 zBB?MP8t5qcrcK1f&T5!x32fTu*lc0X>!)KRC&HNAc)Pylg(|hhR2nUUX9R$3n?d#v z8??Rehtgr^XdrcT@)JO-&6^RNC+xI19U}meDw#xgPl9}h-ucieOF>*Lm2n>iv{WxR zklgE`-=I;8Tw(GEy+wXSBLSlmj>Kmw)WJl|q$vlSNP(S6n^f$al%AX1!_Z|e(ACC# zG>S$kSI3tM$Gs6#uM6tG(s+d5X01Pkm~;$AzaEUB!*D8p#5GG$$N9)77mCIp++d=C z=B2vP8@S=F)NxuzXGKB%7;z#Vf8Uh~Im`e*qdkmV9Sq=xhvTOKY14{h(~)&Az;!-E ziJ7?$`kd2DBKJfu6Ong+#`qTxod_op8(f(XM>>#x2sxR0ae5FIf|(BVoepHo-c@-O z=QHHH^g^R(_8lj~l_YYYd(+=Mx?=DhLJ&?j8AVFWoiC= z4@UWUU^f_}LR~a!{M>83*H%n3o4rar6lGv8CBeo<3dLDRq6m-YG z!eD{Rcj3;{r6+*b19)WG*qj@EiseucN``gU6+1GX9Kkm=y$qaE{Dd(1w5#_K!##Je z=u>{zXjs>h+Abo2-b$@Qk^qZtXygy7)i?p}N-a*Xf@%Rk>bS?PcBz{`_N!5#HUNGc z0jh=;)+zLna^cm|1rhMAS4(_)sR*fV=nvEvpYFmrL*&B)D1~Dn&kP^wJw5`SSEo{- z*^oI>_gP>5CA|~z1m9U$+&i)M>cLvGTOChB8uTg-KEXh0jy{~LOL4@34x`qO60)&j zp@z({f)bxS26%W8{Kk;r)eYTcVUTl%pv7_C1b_L7hfVN?6&hRzeA;k?au45$_T zeRsT2D#NFh!lQIc2t55o`pwo*j*r=?je{=V34rI?EQbBFpjKK?Y2v7+0n&e($tAU_ z=H2FZ{Jv>AG@b~bzH={>01HPA4`Y#0SR@mGwBmW;PYu$!JyM z=FP%$z4O|yDn|d}gTr`?a#gR6mtT0kc(PE{z3_VJ0Ou)rPs-kj1=*#Ee6_4~5U}sv z-3r1F4KoM9ipl*WLEK_hwo2svcDLq5%|Xg`PAgkQf(6eNryJFXwEDqQ`wQ-AKKoKM z$Io-ANX-K&cVgigUfyQrklVuav%4-)aGQZZ)EqSdne8n8!R%R~l>CejUuH(C2u9y_ zgEE&W(Gl6IKucn2tV-xR$tz$e^p`*V^6VogEhEgipLNi@YhG&wt|7yZ?7lmj-te_O zvOQ}O*OD^U^~9xiv|M%d;?_OShjLO<`uERXZS}ZsG%|f8?0z>wU?5vtbzxUhY>_ud zq4y)N3BPrfG*s)r0i@xw!h9mX5QPYx)Gob(cnRGo(`N!L0YI)Of+tBT%EPa}V14&f zs%jx7MM~sCY7!Lvqx*RE#><#kT``v!klv$&Bt;A6dc$?7Q`QCR>ed;@>$!_HZ(wrD z1!_kt8@}|O8tDcvJTnRzi5rwumx{fQ1*O!%9t7=?l_&L~Ua& zgJ4=_48oI9LaHEoaKK%IwmD+J)VC@eP;KrTn1!%23(g^PC$Bh51b2HL7lJLwmlzQQ z0t|b6#F6QbfObb1=qK$<#fw7k++7l8wY`jva2&WbZ4~iK!yY(%IrCBMKGU3T6B*gw z^h5y1Ws?4P_31YT*L_ML+CkB=K(k=A^Ul$OA?F7uT(PGwMF;kM)6>jfzoLX*6cAyY z%AOVUVpX0O_Yn!Fe6dxD^W95_I*p617T;XU(3ZdWRRCFAQ@JQ8tQm37n@8h?qNAPKaO-2K6ep=JsZqUj0h18ARRiz5cF zdC{I*8E2gy*>*m*xtq={_j~HotIsoJo$&XIQ>x+fjn4Dm%`d`Y^}h5Q=9}0@e=$V4 zjwVPCNROi*#eSi`(=Jap7IrU;;pb;wrcn`gAia~4G^ zCt)|<{z`~mDvCiMj()GU|FnG0yT#BK7-d|rU$81Y4A1l7Kb7IERr6tveA@?DJbLE@xU}T zH!bPyia;mv!EHY|ko(<0Jq9E5&7}sXt}tJr(lNO;AB4#5fYK9^yWosLI$p&?;hjY>vctbkl`L zX{e9uGHycZX$fx_eVNydUUkd-Y`&1p2kXwAbJT?Fdzi@T6G^=y1@E#01W5{NT!;2W>b^{7XB1aYJGu#Yb zQ0eB~1ElIKYbGQ)`<+ib{swKR(xvP3DLjMU91S3;`Z4@&{@VRxupQhBOcH0HVc=0| zA$Yo3EaE;MG*~L+M~IL0+(ArF_L|%LjZk~!AG8Qtx6odA~A z?oLtyZ4ak;^ksKG+uiMFdC!x)ehAEIpFWG7r?Ou^2vi?Z%5p{SV5(f2zs<8gD-jKmy!2{Qt@m zaEtuO69}uQ{FNtAW&2D@>PL9QthppyCA6K`O4FZ6fv($MO4DDF0;~s@*SY^tngaeW zkpithkpip%o~<1~@Y+Ygzk&saea968KC#^c{F8SHF<_q9~l zn`P&MM@{@cUI~2qzk>yQvF&Wb>2S(F*#f~dI%mq?se)~Z+$DCZK(J|SU;B5BThHW4 zALQ~s$=~^> z3(_(p{>~Ou{F^PfrNN3(`B1C-KY|6{sn`Eoupm42pI|}lAC0LY@8QFm6l!ZzQfA+u zU_t%Ul-5t|U_nLO*n{S8vArG5y=}LKU)-WI{{#zGw(AF9R*fuHjef73`B?pOyZPx{ z*U<|6(_y|Nc8qz}habsH6N}^8_m68$TbG4gQxr z!Kt0mp-2BT;)Z5i87a{AUwJc|!Jz8>X~g}@XZmk>0?|N`rcix$HF;mD=(XeyMn~@w5(n= zMoJB+6n_5F+?f&!zUa6;!_Z37TM8BTUH=5kyRx*xE7k75G&9FCQH%^f?-hLF-C6Zj zDP{4U=8HeMi$c9Nbbm#{p51*ryuMXp`}V@dY=v{sPY5Z~Xio!PeDfej72XPze-7{c zBMJOAPHyh`-Pom6i`#MH$?A9`a-$Yc#1{$19nOEIt< zZGOGhxXQaBzs!bm$XZ3Y^G3=m&u^)G>y$qzd!%oJSCLrke+6slZN80HrFjr6c zyLyi%`wR7UlBDw_Idv8CB_EZ!g;>ARR)}BDQ}@gYU(``7&K_au*yQAk+DlO?!`MyS zyv1kBNlDFlwMo@EjY<(YL4C>Pr+P$h>4-;I)rMY`)AlLhaoEi$y>_&%R99P)XLsF){Qj#Qf8SC=AaGXZVsliJGE~_(&w;1b1 zHlHEur=HxL=c3wg)VK`}1btA)r%4oEQT^)b1UfFxbOn?;2 zJ~gqTkSVJ}e$+XL7}_jK(aM?n4Qkm6h#J+PtiC<{Uh%C!$Xpf7d&R|h<`*v_JZXH> zW^O8TXYIA*?>oZ&A@e(zE=C9Pf6|SQIoZ*Ar!MD9ptI_r*tQasSHp0?#&T7les4eE;5!N2F-S6hk=F&sf-g4snO$ArSVbj!% z4xlJXekb>$X_j;fNS7Jy6fFUkw=~YeRdGHMU z_|P%30wbPpeGX%OFXItLq+Zd(=mhmW zIFAW`G(4aj$f_c8o}jQ>Mrq)KGnXMsG$LRxmRrm60M87~T=S{4+Z7kAPck9%z~PLz zldD7QHeM645vJ6sj(H;)qS-C7YO13xhe&@Fkt4t~?F<Tv=O#qoY#7&x0XY?G;S&rT}m-)IZIV@iB!*0Jh*fYRMx;Ydrq^;U* zl#GiN#b@T~OngvP6tO%#Le3+CKU!?+u!dBB2&BwR%^RJ-oPZKeXUNf{#S*Y_IsqjJ ze-U{dKD%+PsoS!8S@$?&Fat3`aU43Q=k=vpPq^i%XFUUdP;Ag1Q0>A|98*0tAA7_& z@NhunL}J7aD4k9Q%AiQ>H&VnM=Rz9iuv)7RB@Ulf;TI@AkXB=P!up)SVMf-J&!=-u z3dbMF-DW@iV`Rcx&17Wf;8Dw-5@FlVv4AEK0_C1@JCAi9|unqv-dDy;`v43i@G7RJ`9eQ zaP$rBLBctrkTMDkEf*@+Wp}|kdehD<3S`Bmsra_&nz+qtTtd=nIbEewWLkq;_M_T=fjYzyQX(?w167goDy$$Z*hpD;eK!WrR_TG#$;kpzadI!x77;*w36CKrbLlg zIx*M{BK-RM^;xLn?fU~kEHXpFPhFXrmPxqMcck1{a3l%y`(-q51iZ#AF`8t8F6HsS z#~zx)$K@>MmVx4xEbD9CxF6*u+r9DjsUx|_$TvqT)SH#>N5!g;jr*g1`%^ee-ndXj zQAy^;kOV;Dq#YVCe_4ftwtmFBM=^*>61$X$$0>{o7wIY zIeH|H0g|>iNOgthqx?nIP(c$@Xz*P8qp2nft{Ur0EZv#7=j!z-X)oYDFWy~A1yr5o zN5pF4p;He)`zunZzJB2%W3B7iOIWbX8@w=~)$5EH(L3-#d-jCwnhhHH)!4I*y!k*& zL*)&3A;Dytn?(ff|6PA6X1bfv>ycQ?mqF6);DZro%pSS>#sCy(^Pkh*+C#-pr3X7% zO7T7(YREt5_aScRTvaTl+~$ojHtoe4Q&T3{B~gdYQ94L7M&336Ll|ubj_5-T7}Sjt z|M(^gqwGmX-5HUYx6KJ_7@K4YfC!pLCFZuh;O$;(}9c`4kZ+N0I239mbWe@1C+i z?htA(OBh&!lrTkiHXs3@kuCsOR)?>jG+^PX>QgtAxos(IuzCFbc>VE9@{fq1N;&ol zBs>;RWEYP&CBmNrxcl+&IClRTmfMgD=#4Wo)BiVF34Y40k^TO2Tq$qn$H<95cp(5lkQ_ z0mNcPOMHu-z;iR1yw6(%l_>ELPL zF)HFH1GpmsnziRA(N#H<^zLQ5lCp1^*nxPq$z?1vuy(M#bUkvX$u7qdE8&7%rtl2o zLwe~MhWIc|dRCA-NKz4Wau(R%a$9*jjzohQGzgmiyxn{~g+(Ei2d8}0cHp%F`^rMD z(ZX*JAqE*RAB@dfZUVZ5XN}I&+mCQzfFg$PXre(xPB_^eB&HC1DmP8J`a&dH$oW(D zqw6VTtDLKf*F1)y>LOMdamRhYuzebLWTNkM?t`+M9Iv9FE=-UP1Eh|>aOQ%W4Jntp z9ep9x$%P|0JxL;iGp`+8mNLdN$^N!Q3S4_g;mW);CWixB$17b)cSSEmU@sL;Wn{O^4jbFg>Ki>A!Di*ly>Y|v(W0mI-YEB^J6)3_) zy$aVqAzqlL5-VXrRNr9_xCayBOf~nX+?WB~guW_z|H&?b0=w+O?#z=|+gI`-B)#kf zpYMkP;hh4}9o|mY_@7tfqveq|Eka_N1Mh|y1OaUC3vn~Cypw3|BccW8U&5~4gI#ne z)3PppJWKY>%9NTg{~TJz#UxS5mrLLA{v<$e)*SPm=k9#LV|RW&oPPXMBZ&& zP2^7HOIlIf2rPsKa}tGL(iPGisp^r=mh0YeJ@C$|kiC9MN+~PYGlVb{ z&i1*^VL^aufGIln&cV|}IaRpH!$3@3%BzRBwjTm&Yg@`QAqB_RwhKI={9WY29#W)O zuUDNeG5`(IVX;G_j`hMR_4_~D^~Gb{RBO?%_qXXhl5MZ;5G`D@sy;YZ@&XzX%Y+1w zvpZ-AO9n`V*q{c6bzmRz3GyeJ>wsS;UzKh&DcHZ{k!h|>wM?nV9BGuj{s89<3nRh_ z_RtFqNSGW%Z??wZiM1cSLt7;M! z7R~UzM96Yu< zVeyB;GiIi};_RSdgnWG(WKEivZHE!*kN_rIhir?WL(;bHXd_~WE9}2l3Z^NxC(p$( zSf5*c+Rd+t-hX~4q4!+5bo3?R>IA)zHkD9_6COU*i&)L>TG$8IA_BN*PmWb~s$Q*d zn&^DD+c~e-rAgM;?2_;}4IUmCN;M!U^NguYN>qVhwtzh!GU;I2}1o&iWZx;^JcA#5%Fx^8+8p zXTHmYG={8|qFCXRs`3LKT~hg>ghPF$O1v8=ZW0#*`q-Vd~^5=QC6f_uXe`RoE~cmRW4>r5Uxiu=4v%>)+iL7$rL@ORieMj#-g=@9acS6$J2{CsHARHm)EOwQoMG#oW`OHjm`t_07XmRL7U6jM zUMpUrP*3pmr`%x=?#lXLct@qvwtgb7Wz`Ai=~w;+cnnOHZpnoKYvm-~gUqH@fyOs6F0Z6rUcJ-p1uEwu{9q~psqTbCLyqooZ z=K^R`XJ41-c$`n(wM)^_SOgH8+G^@fM|V8O=Lu;`b_Qfq^D z9GFPB8cOwDD1yDb@-6^1Cy?G*e=bIw@BRMqH`JIY9PN7?{o+wy3Rrueiglc3^SI7hS4EMnF~<{uS70>NUfiXi~PWdJ3eRo(jPx> zb8Q~jVh7WPyJMk;9%OPa1%{#EUq$auvlyHjM1x?=VmKa_CJfgGaG=MEJAc<`fVG|6bJ4`A!|)J zoH5W;3z!%P4r~U@ditHe>ZjTV5bhUP#eNtx6tM{S`Y!Y9PS;mILJ9o;(6D*};t=CwF~;bw8fPXAm`Uqfg)nng%r1Tai?hB_O}=V>OZ#q4A|(kFmyF@9QpGeHV1#JyA4dtVH>cT1~C3KwGNMGIX7~0TP z(^yv$>v7oZn2wc+-We-Hdz`d&fIi+y*W-%03b)B&0V{Q((->|CeNl70L)O-EW@ftV zu~NG;%64{!m)!JkIBEG@)(g9=V`gn>ZizFsJ!yH~_RLx9vySJj9j}->+_-Sj1$U9a zUMjV`>}2ceXytm@!ZpzPx~HAzRl6JB_QC#c4yNp}(yQ)HR|C!lc^(V!#N8yAg@&BJ z>~@8{k>?&7=pXFPUdNL>OOkZIb-5v)pgDu${oD2Q}f8Ct;87v)ArU*RuQyyF*KRuQsu6zWx<=NiEq! zH`7-yFU;_kA2vDAJU-$=wl6j_92*;Tg$?0zh{icdw$X7u#Dt)tJ8g@awLLr!_D4n#UMybl*8K_xLTVe3iw<^*wdOUiPx|=pult)8*kpd-S^2Zc zhg0J+t9Z8`O_XO;3&Yynj7BGdtVY{cC7u zadwe^Pguw{hVd}o|}2L^kMe*cHhe9&x>np8*rQX_3QShJtp(( ze?oiCzl#WgzXSt_)RNvr)B*F&N*ue0@IPnljO@gRFy&V1JB;q6!w($4lC(#qyZ{PQ-f0jw8I`w|2np5n^?@zbH z=SJJ!*}M}!qv{^3crNC9<>Zok?iSo}{Dk(}C+hFwj)U^TUuZ4$fhyauUgneLj)nP+ z%F*c9gIkY!imfLUJd5dF{2#a^ir-I5aJxS^@n9YQex`PSRje}oUM2pzqM`9`-t0Hc zt<#y2w}tA~o1&^WKIq}30zS>J0Pd?{@C%Tto&%#o{tW>#u|!uQh}c| zow9^_P*OMCz8@^evE$x8ps#-+v4WUeU9ogmzB=jUH5PdtUAU>DfI{}%^DhIniEGSK zSgTV4H{;xdJ#=$}xcCiEDLm$jEuKAx4dyqPK3i3)%QDTm;L%@`A#&N()WyR0T>gp! zWN6mQ!|;`t&zaWw!n--cvU>Q(!HhwRliN!L2AkM7UBezYIpb0PzDg0ML> zuK#m&`)9M9fr(31qXaGvlu zCQSdKaW?muASx9NzF^$Vp0VQz9*Tu(w-7iPiNfD?I=I!i88ZtTh9~}0|4aE zWX`EW5&)0cOA54+o7DAeP$*jhv>J8zBLS9Qh1}R4;c{XCwQwJ?a6pYM*IDJdj;n`4 z*%F{`1F-$WLG{S((JO8I?18a+8r8=*&M%%pk0UF!-E~fS+C0A_IYiT(_RPNCwo%lg z@2;+hes*!B0VruHulG}twa+O`pcs(0WKc3Z68(ig|B2}`WWCxZN>^PD8oy{HE6SDt z*)w($9>&V~I1e{82pL&rdFo7b5|1tVxv8i5`H{&ShfUz~6Y`cDI+OVcAIf3Zt8Ic` zoyncwDBJ!&%)Mn))cxM}4a_h!GawQY4v4gh(j_e*Dj-OsU?8bOHw@h}bSvF4bW4YH zw+hldf+9W7A90`i+}FPLb=}YNyt!E{U*TH5aQ!&u`#B;b_o07xxD9nihQd z8eJQ$o&H(m*q8tGSGQJtnn0mNC>OqKcf22q4;jLsM*$l?QM3EA1Ql9fK-WE3hew@f zp2;pjvH@#j)4bvQis!|3<>}$=vErNt3sH%nDYG|hBxhYMMw0Z@wb*ZVj}!y<-4)9s}GBvz0C|(MFsMjUYT$SFW`DS_({BsQMemL@n!Ly7PqOyjx)gnL%fNK zQt1ka8~)?3nv0ic4>3p&Y~3uL-a*SoGS90$r%-(CLf!oJE+5VZmq`;3+G6dvs5Ccm zw;(@>8NZO)NT9-8+gRGLw6_D(y}mJhpv?e45S16t2y?a!Bh#5b6I8Xm<5c zRqaIIwyjvgct=rXZZXo=I=JHVL4Vc9U#F|4VToTX(LztW3tqa@pUjIXHzeENtADO4opRR4(6S$l+xA)=JX`Jf7 z(Z^5;J1)oObuF5#@lNtL5jG7Q>I5#6viJ5&65WPPI%THEKJEuqoUXm~cbRx~*QR#j z)X)KXSl)AHU#{M;?vAZ%+66*@VrSn`6USeU@9yP1Fe01KJW)Y;l6v9D(%}WxuPUfG z2X{)WMX88C1kmHHg8855u!f?CUhAF=$5*S^3A6AY`@5>n!@F18rPk5!yk|e|)34$4 z-ob{s3Ljpz8}u)k@bpJirPF9@cZ#~J9M7p-p%Y9e#Qwr>aT?%Wn9dZc+YQ}1QBwH& z?W{@W=;7OgqU^g|#s@OX;crm_=y@y-Ez$ymUrqA{U(KZf1w9%gIazV5n}7&$xIi+TZCi>~BWhh3v3*gA-Cv|ANk~ zyi{a|&Nw)-a6pyVJ)Tj!LnFPygnUN)ymH3f)iLfl%TPZsjDi%vvC3lb_g<)?KME-W^w>^lk&l{a-%h}(w3qS7Pf4D z?b0CS3-+|{P9Zh%ClwR6Lrnx)Y7^LDd=zK{)l+;P2%A14^xd7X+ZZG1@k zeTuP*R-jU!!?)ly)fF~1o5Sx{MB-Wb5vD@GaV{s>E*)&HdaGXPtI&xFNJ9$gw;U+x z0km6{V1PG(m(bHvm0)j>K)}R>ugkSU+trNF*UgAeQUPCv)`LGFbOY{dH|Ur?2}=@! zvJsN@NjYy%I${reYG^%12)x6zJY3-+ehL&FInK9lkMzSo76{mq@@&AaKnJ938jz$L2c)~grW+~HyC#9ufv!^~u;W**fXmVi zWknrl1)q%4#`sOf+TNUs01Xiw8G7Oenk`I*&IE*!g+t#tBExB-Lu0LsiK4%=d#G}R zU#4{r^$!mg4*B-WPDvX7tTW{ELC8c$#7IB{ggFk}?9p*AY%bOXUpjI_*c}fyuz}X& zn=mv7u{)zrjQ+t5TZ*7S}}aO9+yI*$9#v z1Iwawmm_qd=7<@ABp^5wwiObra)XD2>>3pDVQ~(cgu!SN$EU~}&Pr6{U62BHB%TRm zBp?}2F)sQbVxKmW7pv%w4Y-l=3%Y?r+7Oq7mBN>uBB?M9Qxbtm3qv&(>>g<&4L*6{ zE7}?BASI^AuRBucPms40B+ieM4Dec}3wuBL<>gjIUU%r|Hpp;&HSvHmSRMAEiZ=F4 z+w%|}<-Q7K)$&tbO|nDA_RWX$e#h5ng6MTcflDC9s(!Ay$ydALM7R>)5|T0<1RSDZ zKaF9#u&5d#f5d8HU?6N~l3)XofIlCG>mN+65D2CStMi0BbtVx8SW5jF~r0f^W!~y0PYw90l51XWw_(mH#Ps{J0xg}y3W9CTx{ndhy z-6Io|mx6eNc%UShFR>W`cPx?scDJW|BSv#ju7(Z~DAySkoq&wE&SBU!S&>pj7m|AY8 zsNEqt=x25z=Fs&Bov(p{lCOmA0p8llyh+N$3^NJ`4*$lg{3{a>I+{p2g*@#b(p`*8 z!s`2(*A&D#Fz5@%?l~6|_5!?AH@sAT@ORRtCUmcJX>Dyd;l?|XGfN^v-m z|HswhnU#0!8%3o`upBeA>wSDzbY`PN5{Nzw{}`Gu`F;bIc%MF=!z`MUxNvsTjwwHX zF!lo|Jn0NoVPNi?lUJ&)RoQ4(d25D*!liIKzVJ4E^~ajBhzSPul`<*Za%0D$+I#q3 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 z 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 literal 0 HcmV?d00001 diff --git a/src/src/components/XnPageSelect/README.md b/src/src/components/XnPageSelect/README.md new file mode 100644 index 0000000..7c45cf2 --- /dev/null +++ b/src/src/components/XnPageSelect/README.md @@ -0,0 +1,192 @@ +XnPageSelect 分页下拉选择器 +==== + + +封装说明 +---- + +> 基础的使用方式与 API 与 [官方版(Select)](https://www.antdv.com/components/select-cn/) 本一致,在其基础上,封装了加载数据的方法。(调用后端分页接口,懒加载的效果查询下拉数据) +> +> @zhanggengbi在此基础上完善了功能:下拉查询同时支持搜索框搜索--调用后端数据搜索。 + +例子1 +---- +(基础使用) + +```vue + + + + +``` + + + +例子2 +---- + +(支持搜索框搜索--调用后端数据搜索) + +```vue + + + +``` + +![分页下拉查询展示](.\README.assets\分页下拉查询展示.gif) + +内置方法 +---- + + +| 方法 | 说明 | 参数类型 | 参数示例 | +| ------ | ------------ | -------- | ------------ | +| onPage | 请求分页数据 | Object | {current: 1} | + + +内置属性 +---- +> 除去 `a-select` 自带属性外,还而外提供了一些额外属性属性 + + +| 属性 | 说明 | 类型 | 默认值 | +| ------------- | ------------------------------------------- | ------- | ------ | +| pageFunction | 分页函数 必须为 `Promise` 对象 **必须绑定** | Promise | - | +| pageSize | 分页条数 | Number | 10 | +| showSearch | 配置是否可搜索 | Boolean | false | +| searchKeyName | 搜索字段属性名 | String | '' | + +注意事项 +---- + +> 分页函数,返回的Promise对象的data数据是分页格式的数据 +> +> data.records格式如下:{ name: name, id: id } id最后是你的value,name是你的显示名称 + +如果返回的数据data.records格式命名不对,可以重新封装一下 + +```javascript +// 示例重新封装一下data.records +const selectApiFunction = { + customerSelector: (param) => { + return customerInfoApi.customerPage(Object.assign(param, {envFlag: searchFormState.value.envFlag})).then((data) => { + if (data.records){ + data.records = data.records.map((item) => { + return { + name: item.customerName, + id: item.customerInfoId, + }; + }); + } + return Promise.resolve(data) + }) + } +} +``` +更新时间 +---- + +该文档最后更新于: 2024-06-28 PM 16:45 diff --git a/src/src/components/XnPageSelect/index.vue b/src/src/components/XnPageSelect/index.vue new file mode 100644 index 0000000..ba8ff4a --- /dev/null +++ b/src/src/components/XnPageSelect/index.vue @@ -0,0 +1,172 @@ + + + diff --git a/src/src/components/XnPositionSelector/README.md b/src/src/components/XnPositionSelector/README.md new file mode 100644 index 0000000..2964be3 --- /dev/null +++ b/src/src/components/XnPositionSelector/README.md @@ -0,0 +1,36 @@ +## 小诺职位选择器 + +### 说明 + +改组件为小诺职位选择器,可返回id用逗号隔离的字符串或id数组类型的数据格式 + +@author yubaoshan + +@data 2024年7月5日23:59:23 + +### props定义 + +| 序号 | 编码 | 类型 | 说明 | 默认 | +|-----|---------------------|---------------|------------------------------|--------| +| 1 | radioModel | Boolean | 是否单选;与addShow隐藏同时可用 | false | +| 2 | dataIsConverterFlw | Boolean | 是否为工作流格式 | false | +| 3 | orgTreeApi | function | 机构树接口 | - | +| 4 | positionPageApi | function | 职位分页接口 | - | +| 5 | positionListByIdListApi | function | 通过id数组查询list数据接口 | 已配置 | +| 6 | value | object或string | 通过v-model:value绑定数据 | - | +| 7 | dataType | string | 数据类型object或string | string | +| 8 | show | Boolean | 是否显示已选择职位(非表单内、单纯的选择职位需要隐藏) | true | +| 9 | addShow | Boolean | 是否默认的增加人员按钮,与radioModel为或的关系 | true | + +### emits定义 + +| 序号 | 方法名 | 参数类型 | 说明 | +|----|--------|----------------|---------------------------------| +| 1 | value | 根据 dataType 而定 | 当选择职位后通过v-model:value绑定到组件上 | +| 2 | onBack | 根据 dataType 而定 | 通过@onBack 方法返回选中的数据,触发点为选中或删除职位 | + +### slot定义 + +| 序号 | 插槽名 | 用途 | 用途 | +|----|--------|-------------------|-------------------| +| 1 | button | 在职位新增按钮后可以插入自定义按钮 | 不满足新增职位按钮样式,可以自定义 | diff --git a/src/src/components/XnPositionSelector/index.vue b/src/src/components/XnPositionSelector/index.vue new file mode 100644 index 0000000..81aa587 --- /dev/null +++ b/src/src/components/XnPositionSelector/index.vue @@ -0,0 +1,579 @@ + + + + diff --git a/src/src/components/XnRoleSelector/README.md b/src/src/components/XnRoleSelector/README.md new file mode 100644 index 0000000..0b26be8 --- /dev/null +++ b/src/src/components/XnRoleSelector/README.md @@ -0,0 +1,36 @@ +## 小诺角色选择器 + +### 说明 + +改组件为小诺角色选择器,可返回id用逗号隔离的字符串或id数组类型的数据格式 + +@author yubaoshan + +@data 2024年7月5日23:59:23 + +### props定义 + +| 序号 | 编码 | 类型 | 说明 | 默认 | +|-----|---------------------|---------------|------------------------------|--------| +| 1 | radioModel | Boolean | 是否单选;与addShow隐藏同时可用 | false | +| 2 | dataIsConverterFlw | Boolean | 是否为工作流格式 | false | +| 3 | orgTreeApi | function | 机构树接口 | - | +| 4 | rolePageApi | function | 角色分页接口 | - | +| 5 | roleListByIdListApi | function | 通过id数组查询list数据接口 | 已配置 | +| 6 | value | object或string | 通过v-model:value绑定数据 | - | +| 7 | dataType | string | 数据类型object或string | string | +| 8 | show | Boolean | 是否显示已选择角色(非表单内、单纯的选择角色需要隐藏) | true | +| 9 | addShow | Boolean | 是否默认的增加人员按钮,与radioModel为或的关系 | true | + +### emits定义 + +| 序号 | 方法名 | 参数类型 | 说明 | +|----|--------|----------------|---------------------------------| +| 1 | value | 根据 dataType 而定 | 当选择角色后通过v-model:value绑定到组件上 | +| 2 | onBack | 根据 dataType 而定 | 通过@onBack 方法返回选中的数据,触发点为选中或删除角色 | + +### slot定义 + +| 序号 | 插槽名 | 用途 | 用途 | +|----|--------|-------------------|-------------------| +| 1 | button | 在角色新增按钮后可以插入自定义按钮 | 不满足新增角色按钮样式,可以自定义 | diff --git a/src/src/components/XnRoleSelector/index.vue b/src/src/components/XnRoleSelector/index.vue new file mode 100644 index 0000000..86c5527 --- /dev/null +++ b/src/src/components/XnRoleSelector/index.vue @@ -0,0 +1,607 @@ + + + + diff --git a/src/src/components/XnSignName/README.md b/src/src/components/XnSignName/README.md new file mode 100644 index 0000000..36b3522 --- /dev/null +++ b/src/src/components/XnSignName/README.md @@ -0,0 +1,117 @@ +# vue-esign + +https://github.com/JaimeCheng/vue-esign#readme + +> Canvas 手写签字 电子签名 +![npm](https://img.shields.io/npm/dm/vue-esign) ![GitHub package.json version](https://img.shields.io/github/package-json/v/jaimecheng/vue-esign) + +## 时隔三年的更新!!支持vue3 +- **支持vue3!!!!更新依赖后,仅`bgColor`原来的`.sync`修饰符需改为vue3写法`v-model:bgColor`**; +- 新增属性 `isClearBgColor`,默认值`true`, 清空画布时(reset)是否同时清空设置的背景色(bgColor) ; +- 直接`npm install vue-esign@latest --save`即可,对vue2版本无任何影响; +## 功能 +1. 兼容 PC 和 Mobile; +2. 画布自适应屏幕大小变化(窗口缩放、屏幕旋转时画布无需重置,自动校正坐标); +3. 自定义画布尺寸(导出图尺寸),画笔粗细、颜色,画布背景色; +4. 支持裁剪 (针对需求:有的签字需要裁剪掉四周空白)。 +5. 导出图片格式为 `base64`; +6. [示例demo](https://jaimecheng.github.io/vue-esign/demo/) + +## 安装 + +``` bash +npm install vue-esign --save +``` + +## 使用 +1. 全局使用 、局部 +```js +// 全局 vue2 main.js +import vueEsign from 'vue-esign' +Vue.use(vueEsign) +// 全局vue3 main.js +import { createApp } from 'vue' +import App from './App.vue' +import vueEsign from 'vue-esign' +const app = createApp(App) +app.use(vueEsign) +// 局部 +import vueEsign from 'vue-esign' +// vue3 中只需需引入组件就可以使用无需注册 +``` +2. 页面中使用 + // 在组件中使用 ref="esign" + **在script中必须设置 `const esign = ref()` ,用来调用组件的两个内置方法 `reset()` 和 `generate()`** + + 无需给组件设置 `style` 的宽高,如果画布的 `width`属性值没超出父元素的样式宽度,则该组件的样式宽度就是画布宽度,超出的话,组件样式宽度则是父元素的100%; 所以只需设置好父元素的宽度即可; +```html + + + + + + +预览 +清屏 +``` + +```vue + +3. 说明 + +| 属性 | 类型 | 默认值 | 说明 | +| :-: | :-- | :-: | :-- | +| width | Number | 800 | 画布宽度,即导出图片的宽度 | +| height | Number | 300 | 画布高度,即导出图片的高度 | +| lineWidth | 4 | Number | 画笔粗细 | +| lineColor | String | #000000 | 画笔颜色 | +| bgColor | String | 空 | 画布背景色,为空时画布背景透明,
支持多种格式 '#ccc','#E5A1A1','rgb(229, 161, 161)','rgba(0,0,0,.6)','red' | +| isCrop | Boolean | false | 是否裁剪,在画布设定尺寸基础上裁掉四周空白部分 | +| isClearBgColor | Boolean | true | 清空画布时(reset)是否同时清空设置的背景色(bgColor) | +| format | String | image/png | 生成图片格式 image/jpeg(jpg格式下生成的图片透明背景会变黑色请慎用或指定背景色)、 image/webp | +| quality | Number | 1 | 生成图片质量;在指定图片格式为 image/jpeg 或 image/webp的情况下,可以从 0 到 1 的区间内选择图片的质量。如果超出取值范围,将会使用默认值 0.92。其他参数会被忽略。 | + +两个内置方法,通过给组件设置 `ref` 调用: + +**清空画布** +```js +esign.value.reset() +``` + +**生成图片** + +```js +// 可选配置参数 ,在未设置format或quality属性时可在生成图片时配置 例如: {format:'image/jpeg', quality: 0.5} +// this.$refs.esign.generate({format:'image/jpeg', quality: 0.5}) +esign.value.generate().then(res => { + console.log(res) // base64图片 +}).catch(err => { + alert(err) // 画布没有签字时会执行这里 'Not Signned' +}) +``` + +![](./static/demo.gif) diff --git a/src/src/components/XnSignName/index.vue b/src/src/components/XnSignName/index.vue new file mode 100644 index 0000000..01e2b2a --- /dev/null +++ b/src/src/components/XnSignName/index.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/src/src/components/XnSignName/vueEsign.vue b/src/src/components/XnSignName/vueEsign.vue new file mode 100644 index 0000000..db0d292 --- /dev/null +++ b/src/src/components/XnSignName/vueEsign.vue @@ -0,0 +1,297 @@ + + + + diff --git a/src/src/components/XnUpload/README.md b/src/src/components/XnUpload/README.md new file mode 100644 index 0000000..d424653 --- /dev/null +++ b/src/src/components/XnUpload/README.md @@ -0,0 +1,39 @@ +## 小诺文件上传 + +### 说明 + +改组件为文件上传、支持单个、多个文件;返回id、返回数组、返回所有 + +@author yubaoshan + +@data 2024年5月27日09:15:17 + +### props定义 + +| 序号 | 编码 | 类型 | 说明 | 默认 | +|-----|---------------------------|---------|---------------------------------------------------------------------------------------------|----------------------------------| +| 1 | uploadReturnIdApi | String | 上传返回id接口地址 | /dev/file/uploadLocalReturnId | +| 2 | uploadDynamicReturnUrlApi | String | 上传返回url接口地址 | /dev/file/uploadDynamicReturnUrl | +| 3 | uploadIdDownloadUrl | String | 当上传接口为id的情况下,配置下载接口 | /dev/file/download?id= | +| 4 | uploadMode | String | 上传样式或图片方式 file、drag、image | file | +| 5 | uploadNumber | Number | 上传数量 | 1 | +| 6 | uploadText | String | 上传文字 | 上传 | +| 7 | uploadResultType | String | 上传返回分类 字符串逗号隔离或数组 interval、array | interval | +| 8 | showUploadList | Boolean | 跟antdv官方一样,是否显示文件列表 | true | +| 9 | accept | String | 跟antdv官方一样,接受上传的文件类型,如果uploadMode配置了image类型,上传的必须是图片,该参数也只能配置图片的某一项或多项,具体百度查看文件上传accept类型配置 | - | +| 10 | completeResult | Boolean | 是否是完整的结果(就是文件上传返回什么,该组件返回什么,uploadResultCategory必须为array) | false | +| 11 | value | String, Array | 父组件传来的参数,通过v-model:value绑定 | - | + + +### emits定义 + +| 序号 | 方法名 | 参数类型 | 说明 | +|----|--------|---------------------------------------|-----------------------------| +| 1 | value | 根据uploadResultType、completeResult 而定 | 当选择用户后通过v-model:value绑定到组件上 | +| 2 | onChange | 根据uploadResultType、completeResult 而定 | 通过@onChange 方法返回上传的数据 | + +### slot定义 + +| 序号 | 插槽名 | 用途 | +|----|--------|-------------| +| 1 | explain | 主要用于一些提示性文字 | diff --git a/src/src/components/XnUpload/index.vue b/src/src/components/XnUpload/index.vue new file mode 100644 index 0000000..a30a932 --- /dev/null +++ b/src/src/components/XnUpload/index.vue @@ -0,0 +1,359 @@ + + + diff --git a/src/src/components/XnUserSelector/README.md b/src/src/components/XnUserSelector/README.md new file mode 100644 index 0000000..d62d4bf --- /dev/null +++ b/src/src/components/XnUserSelector/README.md @@ -0,0 +1,36 @@ +## 小诺人员选择器 + +### 说明 + +改组件为小诺人员选择器,可返回id用逗号隔离的字符串或id数组类型的数据格式 + +@author yubaoshan + +@data 2024年4月13日23:59:23 + +### props定义 + +| 序号 | 编码 | 类型 | 说明 | 默认 | +|-----|---------------------|---------------|------------------------------|--------| +| 1 | radioModel | Boolean | 是否单选;与addShow隐藏同时可用 | false | +| 2 | dataIsConverterFlw | Boolean | 是否为工作流格式 | false | +| 3 | orgTreeApi | function | 机构树接口 | - | +| 4 | userPageApi | function | 用户分页接口 | - | +| 5 | userListByIdListApi | function | 通过id数组查询list数据接口 | - | +| 6 | value | object或string | 通过v-model:value绑定数据 | - | +| 7 | dataType | string | 数据类型object或string | string | +| 8 | userShow | Boolean | 是否显示已选择用户(非表单内、单纯的选择用户需要隐藏) | true | +| 9 | addShow | Boolean | 是否默认的增加人员按钮,与radioModel为或的关系 | true | + +### emits定义 + +| 序号 | 方法名 | 参数类型 | 说明 | +|----|--------|----------------|---------------------------------| +| 1 | value | 根据 dataType 而定 | 当选择用户后通过v-model:value绑定到组件上 | +| 2 | onBack | 根据 dataType 而定 | 通过@onBack 方法返回选中的数据,触发点为选中或删除用户 | + +### slot定义 + +| 序号 | 插槽名 | 用途 | 用途 | +|----|--------|-------------------|-------------------| +| 1 | button | 在人员新增按钮后可以插入自定义按钮 | 不满足新增人员按钮样式,可以自定义 | diff --git a/src/src/components/XnUserSelector/index.vue b/src/src/components/XnUserSelector/index.vue new file mode 100644 index 0000000..3c6cb35 --- /dev/null +++ b/src/src/components/XnUserSelector/index.vue @@ -0,0 +1,623 @@ + + + + diff --git a/src/src/components/XnUserSelector/userSelectorTest.vue b/src/src/components/XnUserSelector/userSelectorTest.vue new file mode 100644 index 0000000..57e3ec2 --- /dev/null +++ b/src/src/components/XnUserSelector/userSelectorTest.vue @@ -0,0 +1,62 @@ + + + diff --git a/src/src/components/global.less b/src/src/components/global.less new file mode 100644 index 0000000..fda3196 --- /dev/null +++ b/src/src/components/global.less @@ -0,0 +1,503 @@ +@import './index.less'; + +body { + + +} + +#app { + height: 100%; + + &.colorWeak { + filter: invert(80%); + } + &.userLayout { + overflow: auto; + } +} + +.layout.ant-layout { + height: auto; + overflow-x: hidden; + + &.mobile, + &.tablet { + .ant-layout-content { + .content { + margin: 24px 0 0; + } + } + .topmenu { + /* 必须为 topmenu 才能启用流式布局 */ + &.content-width-Fluid { + .header-index-wide { + margin-left: 0; + } + } + } + } + + &.mobile { + .sidemenu { + .ant-header-fixedHeader { + &.ant-header-side-opened, + &.ant-header-side-closed { + width: 100%; + } + } + } + } + + &.ant-layout-has-sider { + flex-direction: row; + } + + .trigger { + font-size: 20px; + line-height: 55px; + padding: 0 24px; + cursor: pointer; + transition: color 0.3s; + &:hover { + background: rgba(0, 0, 0, 0.025); + } + } + + .topmenu { + .ant-header-fixedHeader { + position: fixed; + top: 0; + right: 0; + z-index: 9; + width: 100%; + transition: width 0.2s; + + &.ant-header-side-opened { + width: 100%; + } + + &.ant-header-side-closed { + width: 100%; + } + } + /* 必须为 topmenu 才能启用流式布局 */ + &.content-width-Fluid { + .header-index-wide { + max-width: unset; + .header-index-left { + flex: 1 1 1000px; + .logo{ + margin-left: 25px; + } + .ant-menu.ant-menu-horizontal{ + max-width: calc(100vw - 190px - 238px - 25px); + flex: 1 1 calc(100vw - 190px - 238px - 25px); + } + } + .header-index-right{ + margin-right:25px; + } + } + + .page-header-index-wide { + max-width: unset; + } + } + } + + .sidemenu { + .ant-header-fixedHeader { + position: fixed; + top: 0; + right: 0; + z-index: 9; + width: 100%; + transition: width 0.2s; + + &.ant-header-side-opened { + width: calc(100% - 230px); + } + + &.ant-header-side-closed { + width: calc(100% - 80px); + } + } + } + + .header { + height: 55px; + // padding: 0 12px 0 0; + background: #fff; + box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08); + position: relative; + } + + .header, + .top-nav-header-index { + .user-wrapper { + float: right; + height: 100%; + + .action { + line-height: 55px; + cursor: pointer; + padding: 0 12px; + display: inline-block; + transition: all 0.3s; + height: 100%; + color: rgba(0, 0, 0, 0.65); + + &:hover { + background: rgba(0, 0, 0, 0.025); + } + + .avatar { + margin: 15px 8px 15px 0; + color: #1890ff; + background: hsla(0, 0%, 100%, 0.85); + vertical-align: middle; + } + + .icon { + font-size: 16px; + padding: 4px; + } + } + } + + &.dark { + .user-wrapper { + .action { + color: rgba(255, 255, 255, 0.85); + a { + color: rgba(255, 255, 255, 0.85); + } + + &:hover { + background: rgba(255, 255, 255, 0.16); + } + } + } + } + } + + &.mobile, + &.tablet { + .top-nav-header-index { + .header-index-wide { + .header-index-left { + .trigger { + color: rgba(255, 255, 255, 0.85); + padding: 0 12px; + } + + .logo.top-nav-header { + flex: 0 0 56px; + text-align: center; + line-height: 58px; + h1 { + display: none; + } + } + } + } + + &.light { + .header-index-wide { + .header-index-left { + .trigger { + color: rgba(0, 0, 0, 0.65); + } + } + } + } + } + } + + &.tablet { + // overflow: hidden; text-overflow:ellipsis; white-space: nowrap; + .top-nav-header-index { + .header-index-wide { + .header-index-left { + .logo > a { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + } + .ant-menu.ant-menu-horizontal { + flex: 1 1 auto; + white-space: normal; + } + } + } + } + + .top-nav-header-index { + box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08); + position: relative; + transition: background 0.3s, width 0.2s; + + .header-index-wide { + max-width: 1200px; + margin: auto; + padding-left: 0; + display: flex; + height: 55px; + + .ant-menu.ant-menu-horizontal { + max-width: 835px; + flex: 0 1 835px; + border: none; + height: 55px; + line-height: 55px; + } + + .header-index-left { + flex: 0 1 1000px; + display: flex; + + .logo.top-nav-header { + flex: 0 0 165px; + width: 165px; + height: 55px; + position: relative; + line-height: 55px; + transition: all 0.3s; + overflow: hidden; + + img, + svg { + display: inline-block; + vertical-align: middle; + height: 32px; + width: 32px; + } + + h1 { + color: #fff; + display: inline-block; + vertical-align: top; + font-size: 16px; + margin: 0 0 0 12px; + font-weight: 400; + } + } + } + + .header-index-right { + flex: 0 0 238px; + align-self: flex-end; + height: 55px; + overflow: hidden; + + .content-box { + float: right; + .action { + max-width: 140px; + overflow: hidden; + text-overflow:ellipsis; + white-space:nowrap; + } + } + } + } + + &.light { + background-color: #fff; + + .header-index-wide { + .header-index-left { + .logo { + h1 { + color: #002140; + } + } + } + } + } + } + + // 内容区 + .layout-content { + margin: 24px 24px 0px; + //height: 100%; + //height: 64px; + padding: 0 12px 0 0; + } + + // footer + .ant-layout-footer { + padding: 0; + } +} + +.topmenu { + .page-header-index-wide { + max-width: 1200px; + margin: 0 auto; + } +} + +// drawer-sider 自定义 +.ant-drawer.drawer-sider { + .sider { + box-shadow: none; + } + + &.dark { + .ant-drawer-content { + background-color: rgb(0, 21, 41); + } + } + &.light { + box-shadow: none; + .ant-drawer-content { + background-color: #fff; + } + } + + .ant-drawer-body { + padding: 0; + } +} + +// 菜单样式 +.sider { + box-shadow: 2px 0 6px rgba(0, 21, 41, 0.35); + position: relative; + z-index: @ant-global-sider-zindex; + min-height: 100vh; + + .ant-layout-sider-children { + overflow-y: hidden; + + &:hover { + overflow-y: auto; + } + } + + &.ant-fixed-sidemenu { + position: fixed; + height: 100%; + } + + // logo区域样式 + .logo { + position: relative; + height: 55px; + padding-left: 24px; + overflow: hidden; + line-height: 55px; + background: #002140; + transition: all .3s; + + img, + svg, + h1 { + display: inline-block; + vertical-align: middle; + } + + img, + svg { + height: 32px; + width: 32px; + } + + h1 { + color: #fff; + font-size: 20px; + margin: 0 0 0 12px; + font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif; + font-weight: 600; + vertical-align: middle; + } + } + + &.light { + background-color: #fff; + box-shadow: 2px 0px 8px 0px rgba(29, 35, 41, 0.05); + + .logo { + background: #fff; + box-shadow: 1px 1px 0px 0px #e8e8e8; + + h1 { + color: unset; + } + } + + .ant-menu-light { + border-right-color: transparent; + } + } +} + +// 外置的样式控制 +.user-dropdown-menu { + span { + user-select: none; + } +} +.user-dropdown-menu-wrapper.ant-dropdown-menu { + padding: 4px 0; + + .ant-dropdown-menu-item { + width: 160px; + } + + .ant-dropdown-menu-item > .anticon:first-child, + .ant-dropdown-menu-item > a > .anticon:first-child, + .ant-dropdown-menu-submenu-title > .anticon:first-child .ant-dropdown-menu-submenu-title > a > .anticon:first-child { + min-width: 12px; + margin-right: 8px; + } +} + +// 数据列表 样式 +.table-alert { + margin-bottom: 16px; +} + +.table-page-search-wrapper { + .ant-form-inline { + .ant-form-item { + display: flex; + margin-bottom: 24px; + margin-right: 0; + + .ant-form-item-control-wrapper { + flex: 1 1; + display: inline-block; + vertical-align: middle; + } + + > .ant-form-item-label { + line-height: 32px; + padding-right: 8px; + width: auto; + } + .ant-form-item-control { + height: 32px; + line-height: 32px; + } + } + } + + .table-page-search-submitButtons { + display: block; + margin-bottom: 24px; + white-space: nowrap; + } +} + +.content { + .table-operator { + margin-bottom: 18px; + + button { + margin-right: 8px; + } + } +} diff --git a/src/src/components/index.less b/src/src/components/index.less new file mode 100644 index 0000000..25cb200 --- /dev/null +++ b/src/src/components/index.less @@ -0,0 +1,6 @@ +@import "ant-design-vue/lib/style/index"; + +// The prefix to use on all css classes from ant-pro. +@ant-pro-prefix : ant-pro; +@ant-global-sider-zindex : 106; +@ant-global-header-zindex : 105; diff --git a/src/src/config/iconSelect.js b/src/src/config/iconSelect.js new file mode 100644 index 0000000..0c57c0b --- /dev/null +++ b/src/src/config/iconSelect.js @@ -0,0 +1,827 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +/** + * 图标选择器基础数据 + * 推荐前往https://icones.js.org下载图标的Vue文件,然后放在src/assets/icons文件夹里面 + * 这个网址有118个图标集,包括antd、font awesome、bootstrap、eleme等累计140456个图标 + */ +const uiwIconComponentMap = import.meta.glob('../assets/icons/uiw/*.vue') // 异步方式 + +const uiwIcons = Object.keys(uiwIconComponentMap).map((key) => { + return key.slice(key.lastIndexOf('/') + 1, key.lastIndexOf('.')) +}) + +export default { + icons: [ + { + name: '基础', + key: 'default', + iconItem: [ + { + name: '线框风格', + key: 'default', + item: [ + 'step-backward-outlined', + 'step-forward-outlined', + 'fast-backward-outlined', + 'fast-forward-outlined', + 'shrink-outlined', + 'arrows-alt-outlined', + 'down-outlined', + 'up-outlined', + 'left-outlined', + 'right-outlined', + 'caret-up-outlined', + 'caret-down-outlined', + 'caret-left-outlined', + 'caret-right-outlined', + 'up-circle-outlined', + 'down-circle-outlined', + 'left-circle-outlined', + 'right-circle-outlined', + 'double-right-outlined', + 'double-left-outlined', + 'vertical-left-outlined', + 'vertical-right-outlined', + 'vertical-align-top-outlined', + 'vertical-align-middle-outlined', + 'vertical-align-bottom-outlined', + 'forward-outlined', + 'backward-outlined', + 'rollback-outlined', + 'enter-outlined', + 'retweet-outlined', + 'swap-outlined', + 'swap-left-outlined', + 'swap-right-outlined', + 'arrow-up-outlined', + 'arrow-down-outlined', + 'arrow-left-outlined', + 'arrow-right-outlined', + 'play-circle-outlined', + 'up-Square-outlined', + 'down-square-outlined', + 'left-square-outlined', + 'right-square-outlined', + 'login-outlined', + 'logout-outlined', + 'menu-fold-outlined', + 'menu-unfold-outlined', + 'border-bottom-outlined', + 'border-horizontal-outlined', + 'border-inner-outlined', + 'border-outer-outlined', + 'border-left-outlined', + 'border-right-outlined', + 'border-top-outlined', + 'border-verticle-outlined', + 'pic-center-outlined', + 'pic-left-outlined', + 'pic-right-outlined', + 'radius-bottomleft-outlined', + 'radius-bottomright-outlined', + 'radius-upleft-outlined', + 'radius-upright-outlined', + 'fullscreen-outlined', + 'fullscreen-exit-outlined', + 'question-outlined', + 'question-circle-outlined', + 'plus-outlined', + 'plus-circle-outlined', + 'pause-outlined', + 'pause-circle-outlined', + 'minus-outlined', + 'minus-circle-outlined', + 'plus-square-outlined', + 'minus-square-outlined', + 'info-outlined', + 'info-circle-outlined', + 'exclamation-outlined', + 'exclamation-circle-outlined', + 'close-outlined', + 'close-circle-outlined', + 'close-square-outlined', + 'check-outlined', + 'check-circle-outlined', + 'check-square-outlined', + 'clock-circle-outlined', + 'warning-outlined', + 'issues-close-outlined', + 'stop-outlined', + 'edit-outlined', + 'form-outlined', + 'copy-outlined', + 'scissor-outlined', + 'delete-outlined', + 'snippets-outlined', + 'diff-outlined', + 'highlight-outlined', + 'align-center-outlined', + 'align-left-outlined', + 'align-right-outlined', + 'bg-colors-outlined', + 'bold-outlined', + 'italic-outlined', + 'underline-outlined', + 'strikethrough-outlined', + 'redo-outlined', + 'undo-outlined', + 'zoom-in-outlined', + 'zoom-out-outlined', + 'font-colors-outlined', + 'font-size-outlined', + 'line-height-outlined', + 'dash-outlined', + 'small-dash-outlined', + 'sort-ascending-outlined', + 'sort-descending-outlined', + 'drag-outlined', + 'ordered-list-outlined', + 'unordered-list-outlined', + 'radius-setting-outlined', + 'column-width-outlined', + 'column-height-outlined', + 'account-book-outlined', + 'aim-outlined', + 'alert-outlined', + 'apartment-outlined', + 'api-outlined', + 'appstore-add-outlined', + 'appstore-outlined', + 'audio-outlined', + 'audio-muted-outlined', + 'audit-outlined', + 'bank-outlined', + 'barcode-outlined', + 'bars-outlined', + 'bell-outlined', + 'block-outlined', + 'book-outlined', + 'border-outlined', + 'borderless-table-outlined', + 'branches-outlined', + 'bug-outlined', + 'build-outlined', + 'bulb-outlined', + 'calculator-outlined', + 'calendar-outlined', + 'camera-outlined', + 'car-outlined', + 'carry-out-outlined', + 'ci-circle-outlined', + 'ci-outlined', + 'clear-outlined', + 'cloud-download-outlined', + 'cloud-outlined', + 'cloud-server-outlined', + 'cloud-sync-outlined', + 'cloud-upload-outlined', + 'cluster-outlined', + 'code-outlined', + 'coffee-outlined', + 'comment-outlined', + 'compass-outlined', + 'compress-outlined', + 'console-sql-outlined', + 'contacts-outlined', + 'container-outlined', + 'control-outlined', + 'copyright-circle-outlined', + 'copyright-outlined', + 'credit-card-outlined', + 'crown-outlined', + 'customer-service-outlined', + 'dashboard-outlined', + 'database-outlined', + 'delete-column-outlined', + 'delete-row-outlined', + 'delivered-procedure-outlined', + 'deployment-unit-outlined', + 'desktop-outlined', + 'dingtalk-outlined', + 'disconnect-outlined', + 'dislike-outlined', + 'dollar-circle-outlined', + 'dollar-outlined', + 'download-outlined', + 'ellipsis-outlined', + 'environment-outlined', + 'euro-circle-outlined', + 'euro-outlined', + 'exception-outlined', + 'expand-alt-outlined', + 'expand-outlined', + 'experiment-outlined', + 'export-outlined', + 'eye-outlined', + 'eye-invisible-outlined', + 'field-binary-outlined', + 'field-number-outlined', + 'field-string-outlined', + 'field-time-outlined', + 'file-add-outlined', + 'file-done-outlined', + 'file-excel-outlined', + 'file-exclamation-outlined', + 'file-outlined', + 'file-gif-outlined', + 'file-image-outlined', + 'file-jpg-outlined', + 'file-markdown-outlined', + 'file-pdf-outlined', + 'file-ppt-outlined', + 'file-protect-outlined', + 'file-search-outlined', + 'file-sync-outlined', + 'file-text-outlined', + 'file-unknown-outlined', + 'file-word-outlined', + 'file-zip-outlined', + 'filter-outlined', + 'fire-outlined', + 'flag-outlined', + 'folder-add-outlined', + 'folder-outlined', + 'folder-open-outlined', + 'folder-view-outlined', + 'fork-outlined', + 'format-painter-outlined', + 'frown-outlined', + 'function-outlined', + 'fund-projection-screen-outlined', + 'fund-view-outlined', + 'funnel-plot-outlined', + 'gateway-outlined', + 'gif-outlined', + 'gift-outlined', + 'global-outlined', + 'gold-outlined', + 'group-outlined', + 'hdd-outlined', + 'heart-outlined', + 'history-outlined', + 'holder-outlined', + 'home-outlined', + 'hourglass-outlined', + 'idcard-outlined', + 'import-outlined', + 'inbox-outlined', + 'insert-row-above-outlined', + 'insert-row-below-outlined', + 'insert-row-left-outlined', + 'insert-row-right-outlined', + 'insurance-outlined', + 'interaction-outlined', + 'key-outlined', + 'laptop-outlined', + 'layout-outlined', + 'like-outlined', + 'line-outlined', + 'link-outlined', + 'loading3-quarters-outlined', + 'loading-outlined', + 'lock-outlined', + 'mac-command-outlined', + 'mail-outlined', + 'man-outlined', + 'medicine-box-outlined', + 'meh-outlined', + 'menu-outlined', + 'merge-cells-outlined', + 'message-outlined', + 'mobile-outlined', + 'money-collect-outlined', + 'monitor-outlined', + 'more-outlined', + 'node-collapse-outlined', + 'node-expand-outlined', + 'node-index-outlined', + 'notification-outlined', + 'number-outlined', + 'one-to-one-outlined', + 'paper-clip-outlined', + 'partition-outlined', + 'pay-circle-outlined', + 'percentage-outlined', + 'phone-outlined', + 'picture-outlined', + 'play-square-outlined', + 'pound-circle-outlined', + 'pound-outlined', + 'poweroff-outlined', + 'printer-outlined', + 'profile-outlined', + 'project-outlined', + 'property-safety-outlined', + 'pull-request-outlined', + 'pushpin-outlined', + 'qrcode-outlined', + 'read-outlined', + 'reconciliation-outlined', + 'red-envelope-outlined', + 'reload-outlined', + 'rest-outlined', + 'robot-outlined', + 'rocket-outlined', + 'rotate-left-outlined', + 'rotate-right-outlined', + 'safety-certificate-outlined', + 'safety-outlined', + 'save-outlined', + 'scan-outlined', + 'schedule-outlined', + 'search-outlined', + 'security-scan-outlined', + 'select-outlined', + 'send-outlined', + 'setting-outlined', + 'shake-outlined', + 'share-alt-outlined', + 'shop-outlined', + 'shopping-cart-outlined', + 'shopping-outlined', + 'sisternode-outlined', + 'skin-outlined', + 'smile-outlined', + 'solution-outlined', + 'sound-outlined', + 'split-cells-outlined', + 'star-outlined', + 'subnode-outlined', + 'switcher-outlined', + 'sync-outlined', + 'table-outlined', + 'tablet-outlined', + 'tag-outlined', + 'tags-outlined', + 'team-outlined', + 'thunderbolt-outlined', + 'to-top-outlined', + 'tool-outlined', + 'trademark-circle-outlined', + 'trademark-outlined', + 'transaction-outlined', + 'translation-outlined', + 'trophy-outlined', + 'ungroup-outlined', + 'unlock-outlined', + 'upload-outlined', + 'usb-outlined', + 'user-add-outlined', + 'user-delete-outlined', + 'user-outlined', + 'user-switch-outlined', + 'usergroup-add-outlined', + 'usergroup-delete-outlined', + 'verified-outlined', + 'video-camera-add-outlined', + 'video-camera-outlined', + 'wallet-outlined', + 'whats-app-outlined', + 'wifi-outlined', + 'woman-outlined' + ] + }, + { + name: '实底风格', + key: 'filled', + item: [ + 'step-backward-filled', + 'step-forward-filled', + 'fast-backward-filled', + 'fast-forward-filled', + 'caret-up-filled', + 'caret-down-filled', + 'caret-left-filled', + 'caret-right-filled', + 'up-circle-filled', + 'down-circle-filled', + 'left-circle-filled', + 'right-circle-filled', + 'forward-filled', + 'backward-filled', + 'play-circle-filled', + 'up-square-filled', + 'down-square-filled', + 'left-square-filled', + 'right-square-filled', + 'question-circle-filled', + 'plus-circle-filled', + 'pause-circle-filled', + 'minus-circle-filled', + 'plus-square-filled', + 'minus-square-filled', + 'info-circle-filled', + 'exclamation-circle-filled', + 'close-circle-filled', + 'close-square-filled', + 'check-circle-filled', + 'check-square-filled', + 'clock-circle-filled', + 'warning-filled', + 'stop-filled', + 'edit-filled', + 'copy-filled', + 'delete-filled', + 'snippets-filled', + 'diff-filled', + 'highlight-filled', + 'pie-chart-filled', + 'box-plot-filled', + 'fund-filled', + 'sliders-filled', + 'android-filled', + 'apple-filled', + 'windows-filled', + 'chrome-filled', + 'github-filled', + 'aliwangwang-filled', + 'weibo-square-filled', + 'weibo-circle-filled', + 'taobao-circle-filled', + 'html5-filled', + 'wechat-filled', + 'youtube-filled', + 'alipay-circle-filled', + 'skype-filled', + 'gitlab-filled', + 'linkedin-filled', + 'facebook-filled', + 'code-sandbox-circle-filled', + 'codepen-circle-filled', + 'slack-square-filled', + 'behance-square-filled', + 'dribbble-square-filled', + 'instagram-filled', + 'yuque-filled', + 'yahoo-filled', + 'account-book-filled', + 'alert-filled', + 'alipay-square-filled', + 'amazon-circle-filled', + 'amazon-square-filled', + 'api-filled', + 'appstore-filled', + 'audio-filled', + 'bank-filled', + 'behance-circle-filled', + 'bell-filled', + 'book-filled', + 'bug-filled', + 'build-filled', + 'bulb-filled', + 'calculator-filled', + 'calendar-filled', + 'camera-filled', + 'car-filled', + 'carry-out-filled', + 'ci-circle-filled', + 'cloud-filled', + 'code-filled', + 'code-sandbox-square-filled', + 'codepen-square-filled', + 'compass-filled', + 'contacts-filled', + 'container-filled', + 'control-filled', + 'copyright-circle-filled', + 'credit-card-filled', + 'crown-filled', + 'customer-service-filled', + 'dashboard-filled', + 'database-filled', + 'dingtalk-circle-filled', + 'dingtalk-square-filled', + 'dislike-filled', + 'dollar-circle-filled', + 'dribbble-circle-filled', + 'dropbox-circle-filled', + 'dropbox-square-filled', + 'environment-filled', + 'euro-circle-filled', + 'experiment-filled', + 'eye-filled', + 'eye-invisible-filled', + 'file-add-filled', + 'file-excel-filled', + 'file-exclamation-filled', + 'file-filled', + 'file-image-filled', + 'file-markdown-filled', + 'file-pdf-filled', + 'file-ppt-filled', + 'file-text-filled', + 'file-unknown-filled', + 'file-word-filled', + 'file-zip-filled', + 'filter-filled', + 'fire-filled', + 'flag-filled', + 'folder-add-filled', + 'folder-filled', + 'folder-open-filled', + 'format-painter-filled', + 'frown-filled', + 'funnel-plot-filled', + 'gift-filled', + 'gold-filled', + 'golden-filled', + 'google-circle-filled', + 'google-plus-circle-filled', + 'google-plus-square-filled', + 'google-square-filled', + 'hdd-filled', + 'heart-filled', + 'home-filled', + 'hourglass-filled', + 'idcard-filled', + 'ie-circle-filled', + 'ie-square-filled', + 'insurance-filled', + 'interaction-filled', + 'layout-filled', + 'like-filled', + 'lock-filled', + 'mac-command-filled', + 'mail-filled', + 'medicine-box-filled', + 'medium-circle-filled', + 'medium-square-filled', + 'meh-filled', + 'message-filled', + 'mobile-filled', + 'money-collect-filled', + 'notification-filled', + 'pay-circle-filled', + 'phone-filled', + 'picture-filled', + 'play-square-filled', + 'pound-circle-filled', + 'printer-filled', + 'profile-filled', + 'project-filled', + 'property-safety-filled', + 'pushpin-filled', + 'qq-circle-filled', + 'qq-square-filled', + 'read-filled', + 'reconciliation-filled', + 'red-envelope-filled', + 'reddit-circle-filled', + 'reddit-square-filled', + 'rest-filled', + 'robot-filled', + 'rocket-filled', + 'safety-certificate-filled', + 'save-filled', + 'schedule-filled', + 'security-scan-filled', + 'setting-filled', + 'shop-filled', + 'shopping-filled', + 'signal-filled', + 'sketch-circle-filled', + 'sketch-square-filled', + 'skin-filled', + 'slack-circle-filled', + 'smile-filled', + 'sound-filled', + 'star-filled', + 'switcher-filled', + 'tablet-filled', + 'tag-filled', + 'tags-filled', + 'taobao-square-filled', + 'thunderbolt-filled', + 'tool-filled', + 'trademark-circle-filled', + 'trophy-filled', + 'twitter-circle-filled', + 'twitter-square-filled', + 'unlock-filled', + 'usb-filled', + 'video-camera-filled', + 'wallet-filled', + 'zhihu-circle-filled', + 'zhihu-square-filled' + ] + }, + { + name: '双色风格', + key: 'twotone', + item: [ + 'up-circle-two-tone', + 'down-circle-two-tone', + 'left-circle-two-tone', + 'right-circle-two-tone', + 'play-circle-two-tone', + 'up-square-two-tone', + 'down-square-two-tone', + 'left-square-two-tone', + 'right-square-two-tone', + 'question-circle-two-tone', + 'plus-circle-two-tone', + 'pause-circle-two-tone', + 'minus-circle-two-tone', + 'plus-square-two-tone', + 'minus-square-two-tone', + 'info-circle-two-tone', + 'exclamation-circle-two-tone', + 'close-circle-two-tone', + 'close-square-two-tone', + 'check-circle-two-tone', + 'check-square-two-tone', + 'clock-circle-two-tone', + 'warning-two-tone', + 'stop-two-tone', + 'edit-two-tone', + 'copy-two-tone', + 'delete-two-tone', + 'snippets-two-tone', + 'diff-two-tone', + 'highlight-two-tone', + 'pie-chart-two-tone', + 'box-plot-two-tone', + 'fund-two-tone', + 'sliders-two-tone', + 'account-book-two-tone', + 'alert-two-tone', + 'api-two-tone', + 'appstore-two-tone', + 'audio-two-tone', + 'bank-two-tone', + 'bell-two-tone', + 'book-two-tone', + 'bug-two-tone', + 'build-two-tone', + 'bulb-two-tone', + 'calculator-two-tone', + 'calendar-two-tone', + 'camera-two-tone', + 'car-two-tone', + 'carry-out-two-tone', + 'ci-circle-two-tone', + 'ci-two-tone', + 'cloud-two-tone', + 'code-two-tone', + 'compass-two-tone', + 'contacts-two-tone', + 'container-two-tone', + 'control-two-tone', + 'copyright-circle-two-tone', + 'copyright-two-tone', + 'credit-card-two-tone', + 'crown-two-tone', + 'customer-service-two-tone', + 'dashboard-two-tone', + 'database-two-tone', + 'dislike-two-tone', + 'dollar-circle-two-tone', + 'dollar-two-tone', + 'environment-two-tone', + 'euro-circle-two-tone', + 'account-book-two-tone', + 'alert-two-tone', + 'api-two-tone', + 'appstore-two-tone', + 'audio-two-tone', + 'bank-two-tone', + 'bell-two-tone', + 'book-two-tone', + 'bug-two-tone', + 'build-two-tone', + 'bulb-two-tone', + 'calculator-two-tone', + 'calendar-two-tone', + 'camera-two-tone', + 'car-two-tone', + 'carry-out-two-tone', + 'ci-circle-two-tone', + 'ci-two-tone', + 'cloud-two-tone', + 'code-two-tone', + 'compass-two-tone', + 'contacts-two-tone', + 'container-two-tone', + 'control-two-tone', + 'copyright-circle-two-tone', + 'copyright-two-tone', + 'credit-card-two-tone', + 'crown-two-tone', + 'customer-service-two-tone', + 'dashboard-two-tone', + 'database-two-tone', + 'dislike-two-tone', + 'dollar-circle-two-tone', + 'dollar-two-tone', + 'environment-two-tone', + 'euro-circle-two-tone', + 'euro-two-tone', + 'experiment-two-tone', + 'eye-two-tone', + 'eye-invisible-two-tone', + 'file-add-two-tone', + 'file-excel-two-tone', + 'file-exclamation-two-tone', + 'file-two-tone', + 'file-image-two-tone', + 'file-markdown-two-tone', + 'file-pdf-two-tone', + 'file-ppt-two-tone', + 'file-text-two-tone', + 'file-unknown-two-tone', + 'file-word-two-tone', + 'file-zip-two-tone', + 'filter-two-tone', + 'fire-two-tone', + 'flag-two-tone', + 'folder-add-two-tone', + 'folder-two-tone', + 'folder-open-two-tone', + 'frown-two-tone', + 'funnel-plot-two-tone', + 'gift-two-tone', + 'gold-two-tone', + 'hdd-two-tone', + 'heart-two-tone', + 'home-two-tone', + 'hourglass-two-tone', + 'idcard-two-tone', + 'insurance-two-tone', + 'interaction-two-tone', + 'layout-two-tone', + 'like-two-tone', + 'lock-two-tone', + 'mail-two-tone', + 'medicine-box-two-tone', + 'meh-two-tone', + 'message-two-tone', + 'mobile-two-tone', + 'money-collect-two-tone', + 'notification-two-tone', + 'phone-two-tone', + 'picture-two-tone', + 'play-square-two-tone', + 'pound-circle-two-tone', + 'printer-two-tone', + 'profile-two-tone', + 'project-two-tone', + 'property-safety-two-tone', + 'pushpin-two-tone', + 'reconciliation-two-tone', + 'red-envelope-two-tone', + 'rest-two-tone', + 'rocket-two-tone', + 'safety-certificate-two-tone', + 'save-two-tone', + 'schedule-two-tone', + 'security-scan-two-tone', + 'setting-two-tone', + 'shop-two-tone', + 'shopping-two-tone', + 'skin-two-tone', + 'smile-two-tone', + 'sound-two-tone', + 'star-two-tone', + 'switcher-two-tone', + 'tablet-two-tone', + 'tag-two-tone', + 'tags-two-tone', + 'thunderbolt-two-tone', + 'tool-two-tone', + 'trademark-circle-two-tone', + 'trophy-two-tone', + 'unlock-two-tone', + 'usb-two-tone', + 'video-camera-two-tone', + 'wallet-two-tone' + ] + } + ] + }, + { + name: '扩展', + key: 'extend', + iconItem: [ + { + name: '常用', + key: 'default', + item: uiwIcons + }, + { + name: '其他', + key: 'other', + item: ['GiteeIcon'] + } + ] + } + ] +} diff --git a/src/src/config/index.js b/src/src/config/index.js new file mode 100644 index 0000000..5e1c9d1 --- /dev/null +++ b/src/src/config/index.js @@ -0,0 +1,101 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +const DEFAULT_CONFIG = { + // 首页地址 + DASHBOARD_URL: '/index', + + // 接口地址 + API_URL: import.meta.env.VITE_API_BASEURL, + + // 请求超时 + TIMEOUT: 60000, + + // TokenName // Authorization + TOKEN_NAME: 'token', + + // Token前缀,注意最后有个空格,如不需要需设置空字符串 // Bearer + TOKEN_PREFIX: '', + + // 追加其他头 + HEADERS: {}, + + // 请求是否开启缓存 + REQUEST_CACHE: false, + + // 布局 经典:classical,双排菜单:doublerow, 顶栏菜单:top + SNOWY_LAYOUT: 'classical', + + // 菜单是否折叠 + SNOWY_MENU_COLLAPSE: false, + + // 模块坞 + SNOWY_MODULE_UNFOLD_OPEN: true, + + // 是否开启多标签 + SNOWY_LAYOUT_TAGS_OPEN: true, + + // 是否开启展示面包屑 + SNOWY_BREADCRUMD_OPEN: false, + + // 顶栏是否应用主题色 + SNOWY_TOP_HEADER_THEME_COLOR_OPEN: false, + + // 顶栏主题色通栏 + SNOWY_TOP_HEADER_THEME_COLOR_SPREAD: false, + + // 侧边菜单是否排他展开 + SNOWY_SIDE_UNIQUE_OPEN: true, + + // 登录用户水印 + SNOWY_LOGIN_USER_WATERMARK_OPEN: false, + + // 页脚版权信息 + SNOWY_FOOTER_COPYRIGHT_OPEN: true, + + // 圆角风格 + SNOWY_ROUNDED_CORNER_STYLE_OPEN: true, + + // 语言 + LANG: 'zh-cn', + + // 主题颜色 + COLOR: '#1677FF', + + // 默认整体主题 + SNOWY_THEME: 'light', + + // 整体表单风格 + SNOWY_FORM_STYLE: 'drawer', + + // 系统基础配置,这些是数据库中保存起来的 + SYS_BASE_CONFIG: { + // 默认logo + SNOWY_SYS_LOGO: '/img/logo.png', + // 背景图 + SNOWY_SYS_BACK_IMAGE: '', + // 系统名称 + SNOWY_SYS_NAME: 'Snowy', + // 版本 + SNOWY_SYS_VERSION: '2.0', + // 版权 + SNOWY_SYS_COPYRIGHT: 'Snowy ©2022 Created by xiaonuo.vip', + // 版权跳转URL + SNOWY_SYS_COPYRIGHT_URL: 'https://www.xiaonuo.vip', + // 默认文件存储 + SNOWY_SYS_DEFAULT_FILE_ENGINE: 'LOCAL', + // 是否开启验证码 + SNOWY_SYS_DEFAULT_CAPTCHA_OPEN: 'false', + // 默认重置密码 + SNOWY_SYS_DEFAULT_PASSWORD: '123456' + } +} + +export default DEFAULT_CONFIG diff --git a/src/src/config/route.js b/src/src/config/route.js new file mode 100644 index 0000000..21e1d17 --- /dev/null +++ b/src/src/config/route.js @@ -0,0 +1,44 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +// 静态路由配置 +const routes = { + // 默认模块,仅限于后端未添加任何单页配置,用此路由 + module: [ + { + id: '01', + name: 'homeModule', + path: '/homeModule', + component: '', + meta: { + title: '默认', + type: 'module', + icon: 'bank-outlined' + }, + children: [] + } + ], + // 默认谁都有个人中心 + menu: [ + { + id: '001', + name: 'usercenter', + path: '/usercenter', + component: 'sys/user/userCenter', + meta: { + title: '个人中心', + type: 'menu', + hidden: true + } + } + ] +} + +export default routes diff --git a/src/src/config/settingConfig.js b/src/src/config/settingConfig.js new file mode 100644 index 0000000..9d071df --- /dev/null +++ b/src/src/config/settingConfig.js @@ -0,0 +1,64 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +const colorList = [ + { + key: '薄暮', + color: '#F5222D' + }, + { + key: '火山', + color: '#FA541C' + }, + { + key: '胭脂粉', + color: '#EB2F96' + }, + { + key: '日暮', + color: '#FAAD14' + }, + { + key: '明青', + color: '#13C2C2' + }, + { + key: '极光绿', + color: '#52C41A' + }, + { + key: '深绿', + color: '#009688' + }, + { + key: '拂晓蓝(默认)', + color: '#1677FF' + }, + { + key: '极客蓝', + color: '#2F54EB' + }, + { + key: '酱紫', + color: '#722ED1' + }, + { + key: '主题黑', + color: '#001529' + } +] + +const updateColorWeak = (colorWeak) => { + // document.body.className = colorWeak ? 'colorWeak' : ''; + const app = document.body.querySelector('#app') + colorWeak ? app.classList.add('colorWeak') : app.classList.remove('colorWeak') +} + +export { colorList, updateColorWeak } diff --git a/src/src/config/themeColor.js b/src/src/config/themeColor.js new file mode 100644 index 0000000..b9f5456 --- /dev/null +++ b/src/src/config/themeColor.js @@ -0,0 +1,10 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ diff --git a/src/src/hook/useFormHandler.js b/src/src/hook/useFormHandler.js new file mode 100644 index 0000000..4880040 --- /dev/null +++ b/src/src/hook/useFormHandler.js @@ -0,0 +1,160 @@ +import { useRoute, useRouter } from 'vue-router' +import { cloneDeep } from 'lodash-es' +import useTabs from '@/utils/useTabs' +import extendFieldApi from '@/api/base/extendfield/extendFieldApi' + +export default function useFormHandler(formItems, api, backRouter) { + const state = reactive({ + PAGE_TYPE: '' + }) + + const extendFormData = ref({}) + const inform = reactive({ + createUserName: '', + createTime: '', + updateUserName: '', + updateTime: '' + }) + + const formData = reactive({}) + const submitLoading = ref(false) + const formRefs = ref([]) + + const route = useRoute() + const router = useRouter() + + // 初始化表单数据 + const initializeFormData = () => { + formItems.forEach((item) => { + formData[item.name] = item.defaultValue || null + }) + } + + // 提交表单 + const onSubmit = async (params = {}) => { + submitLoading.value = true + try { + await validateForms() + + const formDataParam = params.isDeep ? cloneDeep(params) : formData + const safeId = validateAndCleanId(route.query.id || params.id) + if (safeId) { + formDataParam.id = safeId + } + + const res = await api.submitForm(formDataParam, safeId) + + if (params.isEnable) return res + + handleBack() + } catch (error) { + console.error('Validation or submission error:', error) + throw error + } finally { + submitLoading.value = false + } + } + + // 验证表单 + const validateForms = () => { + return Promise.all(formRefs.value.map((form) => form.validate())) + } + + // 校验并清洁ID + const validateAndCleanId = (id) => { + return id && /^[a-zA-Z0-9\-_]+$/.test(id) ? id : undefined + } + + // 返回并关闭当前标签页 + const handleBack = () => { + useTabs.close('', backRouter) + } + + // 根据页面类型加载表单数据 + const fetchData = async (pageType) => { + initializeFormData() + if (pageType && pageType !== 'ADD') { + try { + const res = await api.getDetail({ id: route.query.id }) + populateFormData(res) + if (res.extJson) { + extendFormData.value = JSON.parse(res.extJson) + } + return res + } catch (error) { + console.error('Failed to fetch data:', error) + } + } + } + + // 填充表单数据 + const populateFormData = (data) => { + Object.keys(formData).forEach((key) => { + if (data[key] !== undefined) formData[key] = data[key] + }) + + Object.keys(inform).forEach((key) => { + if (data[key] !== undefined) inform[key] = data[key] + }) + } + + // 获取扩展字段 + const getExtendField = async (model) => { + try { + const resExtendField = await extendFieldApi.extendFieldTypeList({ + enabledState: 'ENABLE', + model + }) + console.log(resExtendField, 'resExtendField') + const extendData = + resExtendField?.map((item) => { + if (item.enabledState === 'ENABLE') { + const options = item.showValues + ? JSON.parse(item.showValues).map((value) => ({ + value: value.name, + label: value.name + })) + : [] + return { + label: item.name, + name: item.fieldName, + type: item.showType, + span: 6, + attrs: { + placeholder: '请输入内容', + options + } + } + } + }) || [] + + extendData.forEach((item) => { + if (item && item.fieldName) extendFormData.value[item.fieldName] = null + }) + + console.log(extendData.length, 'extendData') + if (extendData) { + return extendData + } else { + return [] + } + } catch (error) { + console.error('Failed to get extend fields:', error) + return [] + } + } + + return { + formData, + submitLoading, + formRefs, + inform, + extendFormData, + populateFormData, + getExtendField, + onSubmit, + handleBack, + fetchData, + initializeFormData + } +} diff --git a/src/src/hook/useNavigation.js b/src/src/hook/useNavigation.js new file mode 100644 index 0000000..994d522 --- /dev/null +++ b/src/src/hook/useNavigation.js @@ -0,0 +1,25 @@ +import { useRouter } from 'vue-router' + +/** + * 封装路由跳转的 Hook + */ +export function useNavigation() { + // 创建 router 实例 + const router = useRouter() + + /** + * 跳转到指定的路由 + * @param {string|object} to - 目标路由的路径或路由对象 + * @param {object} params - 跳转所需的参数 + */ + const navigateTo = (to, params) => { + router.push({ + path: to, + query: params + }) + } + + return { + navigateTo + } +} diff --git a/src/src/hook/useTableManagement.js b/src/src/hook/useTableManagement.js new file mode 100644 index 0000000..8bdfafc --- /dev/null +++ b/src/src/hook/useTableManagement.js @@ -0,0 +1,103 @@ +import { cloneDeep } from 'lodash-es' +import { hasPerm } from '@/utils/permission' +import { useRouter } from 'vue-router' +import useTabs from '@/utils/useTabs' + +/** + * 列表页面表格信息 hook 封装(数据操作) + * @param apiModule 调用接口 + * @param tableColumns 表格头部信息 + * @param hasPermData 权限控制 + * @param isShowAction 是否在列首添加列 + * @returns {{searchFormRef: Ref>, toolConfig: {columnSetting: boolean, striped: boolean, refresh: boolean, height: boolean}, searchFormState: Ref>, tableRef: Ref>, selectedRowKeys: Ref>, columns: Ref>, options: {rowSelection: {onChange: options.rowSelection.onChange}, alert: {show: boolean, clear: options.alert.clear}}, reset: reset, loadData: (function(*): *), deleteBatchRecords: deleteBatchRecords, deleteRecord: deleteRecord}} + */ +export function useTableManagement(apiModule = {}, tableColumns, hasPermData, isShowAction = true) { + const searchFormState = ref({}) + const selectedRowKeys = ref([]) + + const router = useRouter() + + const tableRef = ref(null) + + // 动态列配置 + const columns = ref(tableColumns) + + // 选择配置 + const options = { + alert: { + show: true, + clear: () => { + selectedRowKeys.value = [] + } + }, + rowSelection: { + onChange: (selectedRowKey, selectedRows) => { + selectedRowKeys.value = selectedRowKey + } + }, + toolConfig: { refresh: true, height: true, columnSetting: true, striped: false } + } + + // 根据权限添加操作列 + if (hasPerm(hasPermData)) { + // 判断columns 是否有操作 + const columnsFilter = columns.value.filter((item) => item.dataIndex === 'action') + if (columnsFilter.length === 0 && isShowAction) + columns.value.unshift({ + title: '操作', + dataIndex: 'action', + align: 'center', + width: 150, + fixed: 'left' + }) + } + + // 加载数据 + const loadData = (parameter) => { + const searchFormParam = cloneDeep(searchFormState.value) + return apiModule.page(Object.assign(parameter, searchFormParam)).then((data) => { + return data + }) + } + + // 删除 + const deleteRecord = (record) => { + let params = [{ id: record.id }] + return apiModule.delete(params).then(() => { + if (tableRef.value) { + tableRef.value.refresh(true) + } + }) + } + + // 批量删除 + const deleteBatchRecords = (params) => { + apiModule.delete(params).then(() => { + if (tableRef.value) { + tableRef.value.clearRefreshSelected() + } + }) + } + + // 页面跳转 + const navigateTo = (to, params) => { + router.push({ + path: to, + query: params + }) + } + + + // 返回Hook的值 + return { + searchFormState, + tableRef, + selectedRowKeys, + columns, + options, + loadData, + deleteRecord, + deleteBatchRecords, + navigateTo + } +} diff --git a/src/src/layout/components/NavMenu.vue b/src/src/layout/components/NavMenu.vue new file mode 100644 index 0000000..acc532b --- /dev/null +++ b/src/src/layout/components/NavMenu.vue @@ -0,0 +1,65 @@ + + + + diff --git a/src/src/layout/components/breadcrumb.vue b/src/src/layout/components/breadcrumb.vue new file mode 100644 index 0000000..bd852ac --- /dev/null +++ b/src/src/layout/components/breadcrumb.vue @@ -0,0 +1,53 @@ + + + diff --git a/src/src/layout/components/iframeView.vue b/src/src/layout/components/iframeView.vue new file mode 100644 index 0000000..c714a98 --- /dev/null +++ b/src/src/layout/components/iframeView.vue @@ -0,0 +1,67 @@ + + + + diff --git a/src/src/layout/components/message.vue b/src/src/layout/components/message.vue new file mode 100644 index 0000000..5166f30 --- /dev/null +++ b/src/src/layout/components/message.vue @@ -0,0 +1,192 @@ + + + + + diff --git a/src/src/layout/components/moduleMenu.vue b/src/src/layout/components/moduleMenu.vue new file mode 100644 index 0000000..fe47994 --- /dev/null +++ b/src/src/layout/components/moduleMenu.vue @@ -0,0 +1,216 @@ + + + + + diff --git a/src/src/layout/components/panel-search/index.vue b/src/src/layout/components/panel-search/index.vue new file mode 100644 index 0000000..7ac2320 --- /dev/null +++ b/src/src/layout/components/panel-search/index.vue @@ -0,0 +1,336 @@ + + + + + diff --git a/src/src/layout/components/panel-search/item.vue b/src/src/layout/components/panel-search/item.vue new file mode 100644 index 0000000..5201dee --- /dev/null +++ b/src/src/layout/components/panel-search/item.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/src/src/layout/components/setting.vue b/src/src/layout/components/setting.vue new file mode 100644 index 0000000..ea70ed8 --- /dev/null +++ b/src/src/layout/components/setting.vue @@ -0,0 +1,489 @@ + + + + diff --git a/src/src/layout/components/sideM.vue b/src/src/layout/components/sideM.vue new file mode 100644 index 0000000..ba66128 --- /dev/null +++ b/src/src/layout/components/sideM.vue @@ -0,0 +1,143 @@ + + + + diff --git a/src/src/layout/components/tags.vue b/src/src/layout/components/tags.vue new file mode 100644 index 0000000..162f791 --- /dev/null +++ b/src/src/layout/components/tags.vue @@ -0,0 +1,473 @@ + + + + diff --git a/src/src/layout/components/topbar.vue b/src/src/layout/components/topbar.vue new file mode 100644 index 0000000..4e8e61f --- /dev/null +++ b/src/src/layout/components/topbar.vue @@ -0,0 +1,36 @@ + + diff --git a/src/src/layout/components/userbar.vue b/src/src/layout/components/userbar.vue new file mode 100644 index 0000000..9a0c0ab --- /dev/null +++ b/src/src/layout/components/userbar.vue @@ -0,0 +1,192 @@ + + + + + diff --git a/src/src/layout/enum/layoutEnum.js b/src/src/layout/enum/layoutEnum.js new file mode 100644 index 0000000..60b916e --- /dev/null +++ b/src/src/layout/enum/layoutEnum.js @@ -0,0 +1,15 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +export const layoutEnum = { + CLASSICAL: 'classical', + DOUBLEROW: 'doublerow', + TOP: 'top' +} diff --git a/src/src/layout/enum/themeEnum.js b/src/src/layout/enum/themeEnum.js new file mode 100644 index 0000000..d0503b4 --- /dev/null +++ b/src/src/layout/enum/themeEnum.js @@ -0,0 +1,15 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +export const themeEnum = { + LIGHT: 'light', + DARK: 'dark', + REAL_DARK: 'realDark' +} diff --git a/src/src/layout/index.vue b/src/src/layout/index.vue new file mode 100644 index 0000000..d55a81e --- /dev/null +++ b/src/src/layout/index.vue @@ -0,0 +1,650 @@ + + + + + diff --git a/src/src/layout/menu/classicalMenu.vue b/src/src/layout/menu/classicalMenu.vue new file mode 100644 index 0000000..882da50 --- /dev/null +++ b/src/src/layout/menu/classicalMenu.vue @@ -0,0 +1,154 @@ + + + + diff --git a/src/src/layout/menu/doubleRowMenu.vue b/src/src/layout/menu/doubleRowMenu.vue new file mode 100644 index 0000000..a4e8038 --- /dev/null +++ b/src/src/layout/menu/doubleRowMenu.vue @@ -0,0 +1,185 @@ + + + + diff --git a/src/src/layout/menu/topMenu.vue b/src/src/layout/menu/topMenu.vue new file mode 100644 index 0000000..90402c2 --- /dev/null +++ b/src/src/layout/menu/topMenu.vue @@ -0,0 +1,138 @@ + + + + + diff --git a/src/src/layout/other/403.vue b/src/src/layout/other/403.vue new file mode 100644 index 0000000..32fa3f5 --- /dev/null +++ b/src/src/layout/other/403.vue @@ -0,0 +1,3 @@ + diff --git a/src/src/layout/other/404.vue b/src/src/layout/other/404.vue new file mode 100644 index 0000000..27b3fe8 --- /dev/null +++ b/src/src/layout/other/404.vue @@ -0,0 +1,20 @@ + + diff --git a/src/src/layout/other/empty.vue b/src/src/layout/other/empty.vue new file mode 100644 index 0000000..497d470 --- /dev/null +++ b/src/src/layout/other/empty.vue @@ -0,0 +1,3 @@ + diff --git a/src/src/locales/index.js b/src/src/locales/index.js new file mode 100644 index 0000000..08e82b9 --- /dev/null +++ b/src/src/locales/index.js @@ -0,0 +1,38 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { createI18n } from 'vue-i18n' +import zhCN from 'ant-design-vue/es/locale/zh_CN' +import enGB from 'ant-design-vue/es/locale/en_GB' +import zh_cn from './lang/zh-cn.js' +import en from './lang/en.js' +import tool from '@/utils/tool' +import sysConfig from '@/config/index' + +export const messages = { + 'zh-cn': { + lang: zhCN, + ...zh_cn + }, + en: { + lang: enGB, + ...en + } +} + +const i18n = createI18n({ + legacy: false, + locale: tool.data.get('APP_LANG') || sysConfig.LANG, + fallbackLocale: 'zh-cn', + globalInjection: true, + messages +}) + +export default i18n diff --git a/src/src/locales/lang/en.js b/src/src/locales/lang/en.js new file mode 100644 index 0000000..75ac196 --- /dev/null +++ b/src/src/locales/lang/en.js @@ -0,0 +1,72 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +export default { + common: { + searchButton: 'search', + resetButton: 'reset', + addButton: 'add', + editButton: 'edit', + removeButton: 'delete', + batchRemoveButton: 'batch Remove', + detailButton: 'detail', + searchKey: 'Search Key', + imports: 'Import', + more: 'More', + export: 'Export' + }, + model: { + user: 'user', + org: 'org', + pos: 'pos', + role: 'role', + bizUser: 'bizUser' + }, + login: { + signInTitle: 'Sign in', + forgetPassword: 'Forget password', + signIn: 'Sign in', + signInOther: 'Sign in with', + accountPlaceholder: 'Please input a user account', + accountError: 'Please input a user account', + PWPlaceholder: 'Please input a password', + PWError: 'Please input a password', + validLaceholder: 'Please input a valid', + validError: 'Please input a valid', + accountPassword: 'Account Password', + phoneSms: 'Phone SMS', + phonePlaceholder: 'Please input a phone', + smsCodePlaceholder: 'Please input a SMS code', + getSmsCode: 'SMS code', + machineValidation: 'Machine Validation', + sendingSmsMessage: 'Sending SMS Message', + newPwdPlaceholder: 'Please input a new password', + backLogin: 'Back Login', + restPassword: 'Rest Password', + emailPlaceholder: 'Please input a email', + emailCodePlaceholder: 'Please input a Email code', + restPhoneType: 'For phone rest', + restEmailType: 'For email rest' + }, + user: { + userStatus: 'User Status', + resetPassword: 'Reset Password', + role: 'Role', + batchExportButton: 'Batch Export', + grantRole: 'Grant Role', + grantResource: 'Grant Resource', + grantPermission: 'Grant Permission', + exportUserInfo: 'Export UserInfo', + placeholderNameAndSearchKey: 'Please enter your name or keyword', + placeholderUserStatus: 'Please select status', + popconfirmDeleteUser: 'Are you sure you want to delete it?', + popconfirmResatUserPwd: 'Are you sure you want to reset?' + } +} diff --git a/src/src/locales/lang/zh-cn.js b/src/src/locales/lang/zh-cn.js new file mode 100644 index 0000000..b25b2d0 --- /dev/null +++ b/src/src/locales/lang/zh-cn.js @@ -0,0 +1,74 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import 'dayjs/locale/zh-cn' + +export default { + common: { + searchButton: '查询', + resetButton: '重置', + addButton: '增加', + editButton: '编辑', + removeButton: '删除', + batchRemoveButton: '批量删除', + detailButton: '详情', + searchKey: '关键词', + imports: '导入', + more: '更多', + export: '导出' + }, + model: { + user: '用户', + org: '机构', + pos: '职位', + role: '角色', + bizUser: '人员' + }, + login: { + signInTitle: '用户登录', + forgetPassword: '忘记密码', + signIn: '登录', + signInOther: '其他登录方式', + accountPlaceholder: '请输入账号', + accountError: '请输入账号', + PWPlaceholder: '请输入密码', + PWError: '请输入密码', + validLaceholder: '请输入验证码', + validError: '请输入验证码', + accountPassword: '账号密码', + phoneSms: '手机号登录', + phonePlaceholder: '请输入手机号', + smsCodePlaceholder: '请输入短信验证码', + getSmsCode: '获取验证码', + machineValidation: '机器验证', + sendingSmsMessage: '短信发送中', + newPwdPlaceholder: '请输入新密码', + backLogin: '返回登录', + restPassword: '重置密码', + emailPlaceholder: '请输入邮箱号', + emailCodePlaceholder: '请输入邮件验证码', + restPhoneType: '手机号找回', + restEmailType: '邮箱找回' + }, + user: { + userStatus: '用户状态', + resetPassword: '重置密码', + role: '角色', + batchExportButton: '批量导出', + grantRole: '授权角色', + grantResource: '授权资源', + grantPermission: '授权权限', + exportUserInfo: '导出信息', + placeholderNameAndSearchKey: '请输入姓名或关键词', + placeholderUserStatus: '请选择状态', + popconfirmDeleteUser: '确定要删除吗?', + popconfirmResatUserPwd: '确定要重置吗?' + } +} diff --git a/src/src/main.js b/src/src/main.js new file mode 100644 index 0000000..e3b5ecb --- /dev/null +++ b/src/src/main.js @@ -0,0 +1,20 @@ +import { createApp } from 'vue' +import Antd from 'ant-design-vue' +import { createPinia } from 'pinia' + +import './style/index.less' +import snowy from './snowy' +import i18n from './locales' +import router from './router' +import App from './App.vue' +import './tailwind.css' + +const app = createApp(App) +app.use(createPinia()) +app.use(router) +app.use(Antd) +app.use(i18n) +app.use(snowy) + +// 挂载app +app.mount('#app') diff --git a/src/src/router/index.js b/src/src/router/index.js new file mode 100644 index 0000000..b11228f --- /dev/null +++ b/src/src/router/index.js @@ -0,0 +1,172 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { createRouter, createWebHashHistory, createWebHistory } from 'vue-router' +import { notification } from 'ant-design-vue' +import NProgress from 'nprogress' +import 'nprogress/nprogress.css' +import systemRouter from './systemRouter' +import { afterEach, beforeEach } from './scrollBehavior' +import whiteListRouters from './whiteList' +import userRoutes from '@/config/route' +import tool from '@/utils/tool' +import { cloneDeep } from 'lodash-es' +import { globalStore } from '@/store' +import { NextLoading } from '@/utils/loading' +import { useMenuStore } from '@/store/menu' + +// 进度条配置 +NProgress.configure({ showSpinner: false, speed: 500 }) + +// 系统特殊路由 +const routes_404 = [ + { + path: '/:pathMatch(.*)*', + hidden: true, + component: () => import('@/layout/other/404.vue') + } +] +// 系统路由 +const routes = [...systemRouter, ...whiteListRouters, ...routes_404] + +const router = createRouter({ + history: createWebHashHistory(), + routes +}) + +// 设置标题 +// document.title = sysBaseConfig.SNOWY_SYS_NAME + +// 判断是否已加载过动态/静态路由 +const isGetRouter = ref(false) + +// 白名单校验 +const exportWhiteListFromRouter = (router) => { + const res = [] + for (const item of router) res.push(item.path) + return res +} +const whiteList = exportWhiteListFromRouter(whiteListRouters) + +router.beforeEach(async (to, from, next) => { + NProgress.start() + const store = globalStore() + + const sysBaseConfig = tool.data.get('SNOWY_SYS_BASE_CONFIG') || store.sysBaseConfig + // 动态标题 + document.title = to.meta.title + ? `${to.meta.title} - ${sysBaseConfig.SNOWY_SYS_NAME}` + : `${sysBaseConfig.SNOWY_SYS_NAME}` + + // 过滤白名单 + if (whiteList.includes(to.path)) { + next() + // NProgress.done() + return false + } + + if (!isGetRouter.value) { + // 初始化菜单加载,代码位置不能变动 + const menuStore = useMenuStore() + menuStore.refreshMenu() + isGetRouter.value = true + next({ ...to, replace: true }) + return false + } + + const token = tool.data.get('TOKEN') + + // 页面刷新,加载loading + if (from.path === '/' && to.path !== '/login' && !window.nextLoading && token) { + NextLoading.start() + } + if (to.path === '/login') { + // 当用户输入了login路由,将其跳转首页即可 + if (token) { + next({ + path: '/' + }) + return false + } + // 删除路由(替换当前layout路由) + router.addRoute(routes[0]) + next() + return false + } else { + if (token) { + // 有token的时候才保存登录之前要访问的页面 + tool.data.set('LAST_VIEWS_PATH', to.fullPath) + } + } + if (!token) { + next({ + path: '/login' + }) + return false + } + // 整页路由处理 + if (to.meta.fullpage) { + to.matched = [to.matched[to.matched.length - 1]] + } + beforeEach(to, from) + next() +}) + +router.afterEach((to, from) => { + afterEach(to, from) + NProgress.done() + window.nextLoading && NextLoading.done() +}) + +router.onError((error) => { + NProgress.done() + window.nextLoading && NextLoading.done() + notification.error({ + message: '路由错误', + description: error.message + }) +}) + +// 入侵追加自定义方法、对象 +router.getMenu = () => { + const menuStore = useMenuStore() + let apiMenu = menuStore.menuData.value || tool.data.get('MENU') || [] + // 增加固定路由 + if (apiMenu.length === 0) { + // 创建默认模块,显示默认菜单 + apiMenu[0] = cloneDeep(userRoutes.module[0]) + } + const childrenApiMenu = apiMenu[0].children + apiMenu[0].children = [...(childrenApiMenu ? childrenApiMenu : []), ...userRoutes.menu] + return filterUrl(apiMenu) +} + +const filterUrl = (map) => { + const newMap = [] + const traverse = (maps) => { + maps && + maps.forEach((item) => { + item.meta = item.meta ? item.meta : {} + // 处理iframe + if (item.meta.type === 'iframe') { + item.path = `/${item.name}` + } + // 递归循环 + if (item.children && item.children.length > 0) { + item.children = filterUrl(item.children) + } + newMap.push(item) + }) + } + traverse(map) + return newMap +} + +export default router diff --git a/src/src/router/scrollBehavior.js b/src/src/router/scrollBehavior.js new file mode 100644 index 0000000..040f60b --- /dev/null +++ b/src/src/router/scrollBehavior.js @@ -0,0 +1,38 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { nextTick } from 'vue' +import { viewTagsStore } from '@/store' + +export function beforeEach(to, from) { + const adminMain = document.querySelector('#admin-ui-main') + if (!adminMain) { + return false + } + const store = viewTagsStore() + store.updateViewTags({ + fullPath: from.fullPath, + scrollTop: adminMain.scrollTop + }) +} + +export function afterEach(to) { + const adminMain = document.querySelector('#admin-ui-main') + if (!adminMain) { + return false + } + nextTick(() => { + const store = viewTagsStore() + const beforeRoute = store.viewTags.filter((v) => v.fullPath == to.fullPath)[0] + if (beforeRoute) { + adminMain.scrollTop = beforeRoute.scrollTop || 0 + } + }) +} diff --git a/src/src/router/systemRouter.js b/src/src/router/systemRouter.js new file mode 100644 index 0000000..e3d19ea --- /dev/null +++ b/src/src/router/systemRouter.js @@ -0,0 +1,52 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import config from '@/config' +import tool from '@/utils/tool' +import routerUtil from '@/utils/routerUtil' + +import Layout from '@/layout/index.vue' +import Login from '@/views/auth/login/login.vue' +import Findpwd from '@/views/auth/findPwd/index.vue' +import Callback from '@/views/auth/login/callback.vue' + +// 系统路由 +const routes = [ + { + name: 'layout', + path: '/', + component: Layout, + redirect: tool.data.get('MENU') ? routerUtil.getIndexMenu(tool.data.get('MENU')).path : config.DASHBOARD_URL, + children: [] + }, + { + path: '/login', + component: Login, + meta: { + title: '登录' + } + }, + { + path: '/findpwd', + component: Findpwd, + meta: { + title: '找回密码' + } + }, + { + path: '/callback', + component: Callback, + meta: { + title: '三方登录' + } + } +] + +export default routes diff --git a/src/src/router/whiteList.js b/src/src/router/whiteList.js new file mode 100644 index 0000000..7da14bf --- /dev/null +++ b/src/src/router/whiteList.js @@ -0,0 +1,36 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +const constRouters = [ + { + path: '/findpwd' + }, + { + path: '/callback' + }, + { + path: '/other', + name: 'other', + component: () => import('@/views/other/index.vue'), + meta: { + title: '其他' + } + } +] +/** + * 路由白名单(数组形式) + * + * 如果组件像登录一样,那就简单的写一个path,即可实现放开, + * 如果组件不在这边的,需要手动添加组件,就像other一样, + * 因为没登陆你没法拿到后端给你返回的那一坨,当然就找不到component + * + * @author yubaoshan + */ +export default constRouters diff --git a/src/src/snowy.js b/src/src/snowy.js new file mode 100644 index 0000000..d3feb5b --- /dev/null +++ b/src/src/snowy.js @@ -0,0 +1,40 @@ +import * as antdvIcons from '@ant-design/icons-vue' +import config from './config' +import tool from './utils/tool' +import { hasPerm } from './utils/permission/index' +import errorHandler from './utils/errorHandler' +import customIcons from './assets/icons/index.js' +import 'highlight.js/styles/atom-one-dark.css' +import hljsCommon from 'highlight.js/lib/common' +import hljsVuePlugin from '@highlightjs/vue-plugin' +import STable from './components/Table/index.vue' +import Ellipsis from './components/Ellipsis/index.vue' +import DragModal from './components/DragModal/index.vue' + +export default { + install(app) { + // 挂载全局对象 + app.config.globalProperties.$CONFIG = config + app.config.globalProperties.$TOOL = tool + app.config.globalProperties.hasPerm = hasPerm + + // 注册常用组件 + app.component('STable', STable) + app.component('Ellipsis', Ellipsis) + app.component('DragModal', DragModal) + + // 统一注册antdv图标 + for (const icon in antdvIcons) { + app.component(icon, antdvIcons[icon]) + } + // 统一注册自定义全局图标 + app.use(customIcons) + // 注册代码高亮组件 (博客:https://blog.csdn.net/weixin_41897680/article/details/124925222) + // 注意:解决Vue使用highlight.js build打包发布后样式消失问题,原因是webpack在打包的时候没有把未被使用的代码打包进去,因此,在此处引用一下,看似无意义实则有用 + hljsCommon.highlightAuto('

Highlight.js has been registered successfully!

').value + app.use(hljsVuePlugin) + + // 全局代码错误捕捉 + app.config.errorHandler = errorHandler + } +} diff --git a/src/src/store/global.js b/src/src/store/global.js new file mode 100644 index 0000000..7337fcd --- /dev/null +++ b/src/src/store/global.js @@ -0,0 +1,174 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { defineStore } from 'pinia' +import { changeColor } from '@/utils/themeUtil' +import config from '@/config' +import { message } from 'ant-design-vue' +import tool from '@/utils/tool' + +const toolDataGet = (key) => { + return tool.data.get(key) +} + +// 获取缓存中的,如果取不到那就用配置的 +const getCacheConfig = (value) => { + const data = toolDataGet(value) + if (data === null) { + return config[value] + } + return data +} + +// deprecated 请使用 useGlobalStore +export const globalStore = defineStore('global', () => { + // 移动端布局 + const isMobile = ref(false) + // 布局 + const layout = ref(getCacheConfig('SNOWY_LAYOUT')) + // 菜单是否折叠 toggle + const menuIsCollapse = ref(getCacheConfig('SNOWY_MENU_COLLAPSE')) + // 侧边菜单是否排他展开 + const sideUniqueOpen = ref(getCacheConfig('SNOWY_SIDE_UNIQUE_OPEN')) + // 多标签栏 + const layoutTagsOpen = ref(getCacheConfig('SNOWY_LAYOUT_TAGS_OPEN')) + // 是否展示面包屑 + const breadcrumbOpen = ref(getCacheConfig('SNOWY_BREADCRUMD_OPEN')) + // 是否开启固定宽度(顶栏菜单) + const fixedWidth = ref(getCacheConfig('SNOWY_FIXEDWIDTH_OPEN')) + // 顶栏是否应用主题色 + const topHeaderThemeColorOpen = ref(getCacheConfig('SNOWY_TOP_HEADER_THEME_COLOR_OPEN')) + // 顶栏主题色通栏 + const topHeaderThemeColorSpread = ref(getCacheConfig('SNOWY_TOP_HEADER_THEME_COLOR_SPREAD')) + // 登录用户水印 + const loginUserWatermarkOpen = ref(getCacheConfig('SNOWY_LOGIN_USER_WATERMARK_OPEN')) + // 页脚版权信息 + const footerCopyrightOpen = ref(getCacheConfig('SNOWY_FOOTER_COPYRIGHT_OPEN')) + // 模块坞 + const moduleUnfoldOpen = ref(getCacheConfig('SNOWY_MODULE_UNFOLD_OPEN')) + // 主题 + const theme = ref(getCacheConfig('SNOWY_THEME')) + // 主题颜色 + const themeColor = ref(toolDataGet('SNOWY_THEME_COLOR') || config.COLOR) + // 圆角分格 + const roundedCornerStyleOpen = ref(getCacheConfig('SNOWY_ROUNDED_CORNER_STYLE_OPEN')) + // 整体表单风格 + const formStyle = ref(getCacheConfig('SNOWY_FORM_STYLE')) + // 用户信息 + const userInfo = ref(toolDataGet('USER_INFO') || {}) + // 系统配置 + const sysBaseConfig = ref(toolDataGet('SNOWY_SYS_BASE_CONFIG') || config.SYS_BASE_CONFIG) + // 默认应用 + const module = ref(getCacheConfig('SNOWY_MENU_MODULE_ID')) + + // 定义action + const setIsMobile = (key) => { + isMobile.value = key + } + const setLayout = (key) => { + layout.value = key + } + const setTheme = (key) => { + theme.value = key + changeColor(themeColor.value, key).then() + } + const setThemeColor = (key) => { + themeColor.value = key + changeColor(key, theme.value).then() + } + const initTheme = () => { + changeColor(themeColor.value, theme.value).then() + } + const toggleConfig = (key) => { + switch (key) { + case 'menuIsCollapse': + menuIsCollapse.value = !menuIsCollapse.value + break + case 'topHeaderThemeColorSpread': + topHeaderThemeColorSpread.value = !topHeaderThemeColorSpread.value + break + case 'sideUniqueOpen': + sideUniqueOpen.value = !sideUniqueOpen.value + break + case 'layoutTagsOpen': + layoutTagsOpen.value = !layoutTagsOpen.value + break + case 'breadcrumbOpen': + breadcrumbOpen.value = !breadcrumbOpen.value + break + case 'fixedWidth': + fixedWidth.value = !fixedWidth.value + break + case 'topHeaderThemeColorOpen': + topHeaderThemeColorOpen.value = !topHeaderThemeColorOpen.value + topHeaderThemeColorSpread.value = topHeaderThemeColorOpen.value + ? topHeaderThemeColorSpread.value + : topHeaderThemeColorOpen.value + break + case 'loginUserWatermarkOpen': + loginUserWatermarkOpen.value = !loginUserWatermarkOpen.value + break + case 'footerCopyrightOpen': + footerCopyrightOpen.value = !footerCopyrightOpen.value + break + case 'roundedCornerStyleOpen': + roundedCornerStyleOpen.value = !roundedCornerStyleOpen.value + break + case 'moduleUnfoldOpen': + moduleUnfoldOpen.value = !moduleUnfoldOpen.value + break + } + } + const setFormStyle = (key) => { + formStyle.value = key + } + const setUserInfo = (key) => { + userInfo.value = key + } + const setSysBaseConfig = (key) => { + sysBaseConfig.value = key + } + const setModule = (key) => { + module.value = key + } + return { + isMobile, + layout, + menuIsCollapse, + sideUniqueOpen, + layoutTagsOpen, + breadcrumbOpen, + fixedWidth, + topHeaderThemeColorOpen, + topHeaderThemeColorSpread, + loginUserWatermarkOpen, + footerCopyrightOpen, + moduleUnfoldOpen, + theme, + themeColor, + roundedCornerStyleOpen, + formStyle, + userInfo, + sysBaseConfig, + module, + setIsMobile, + setLayout, + setTheme, + setThemeColor, + initTheme, + toggleConfig, + setFormStyle, + setUserInfo, + setSysBaseConfig, + setModule + } +}) + +export const useGlobalStore = globalStore diff --git a/src/src/store/iframe.js b/src/src/store/iframe.js new file mode 100644 index 0000000..a3a8e9c --- /dev/null +++ b/src/src/store/iframe.js @@ -0,0 +1,58 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { defineStore } from 'pinia' + +export const iframeStore = defineStore('iframe', () => { + // 定义state + const iframeList = ref([]) + const setIframeList = (route) => { + iframeList.value = [] + iframeList.value.push(route) + } + + // 定义action + const pushIframeList = (route) => { + const target = iframeList.value.find((item) => item.path === route.path) + if (!target) { + iframeList.value.push(route) + } + } + const removeIframeList = (route) => { + iframeList.value.forEach((item, index) => { + if (item.path === route.path) { + iframeList.value.splice(index, 1) + } + }) + } + const refreshIframe = (route) => { + iframeList.value.forEach((item) => { + if (item.path === route.path) { + const url = route.meta.url + item.meta.url = '' + setTimeout(() => { + item.meta.url = url + }, 200) + } + }) + } + const clearIframeList = () => { + iframeList.value = [] + } + + return { + iframeList, + setIframeList, + pushIframeList, + removeIframeList, + refreshIframe, + clearIframeList + } +}) diff --git a/src/src/store/index.js b/src/src/store/index.js new file mode 100644 index 0000000..c4004d2 --- /dev/null +++ b/src/src/store/index.js @@ -0,0 +1,5 @@ +export * from './global' +export * from './search' +export * from './iframe' +export * from './keepAlive' +export * from './viewTags' diff --git a/src/src/store/keepAlive.js b/src/src/store/keepAlive.js new file mode 100644 index 0000000..d40546b --- /dev/null +++ b/src/src/store/keepAlive.js @@ -0,0 +1,55 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { defineStore } from 'pinia' + +export const keepAliveStore = defineStore('keepAlive', () => { + // 定义state + const keepLiveRoute = ref([]) + const routeKey = ref(null) + const routeShow = ref(true) + + // 定义action + const pushKeepLive = (component) => { + if (!keepLiveRoute.value.includes(component)) { + keepLiveRoute.value.push(component) + } + } + const removeKeepLive = (component) => { + const index = keepLiveRoute.value.indexOf(component) + if (index !== -1) { + keepLiveRoute.value.splice(index, 1) + } + } + const clearKeepLive = () => { + keepLiveRoute.value = [] + } + const setRouteKey = (key) => { + routeKey.value = key + } + const setRouteShow = (key) => { + routeShow.value = key + } + const setRouteKeyAction = (key) => { + setRouteKey(key) + } + + return { + keepLiveRoute, + routeKey, + routeShow, + pushKeepLive, + removeKeepLive, + clearKeepLive, + setRouteKey, + setRouteShow, + setRouteKeyAction + } +}) diff --git a/src/src/store/menu.js b/src/src/store/menu.js new file mode 100644 index 0000000..62aca7b --- /dev/null +++ b/src/src/store/menu.js @@ -0,0 +1,142 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { defineStore } from 'pinia' +import tool from '@/utils/tool' +import { cloneDeep } from 'lodash-es' +import userRoutes from '@/config/route' +import { searchStore } from '@/store/search' +import router from '@/router' +import userCenterApi from '@/api/sys/userCenterApi' +import whiteList from '@/router/whiteList' +import routesData from '@/router/systemRouter' + +const modules = import.meta.glob('/src/views/**/**.vue') +export const useMenuStore = defineStore('menuStore', () => { + const menuData = ref([]) + const refreshFlag = ref(false) + // 改变刷新标志 + const changeRefreshFlag = (flag) => { + refreshFlag.value = flag + } + // 加载菜单 + const loadMenu = () => { + // 获取用户菜单 + const apiMenu = tool.data.get('MENU') || [] + if (apiMenu.length === 0) { + // 创建默认模块,显示默认菜单 + apiMenu[0] = cloneDeep(userRoutes.module[0]) + } + const childrenApiMenu = apiMenu[0].children + apiMenu[0].children = [...(childrenApiMenu ? childrenApiMenu : []), ...userRoutes.menu] + let menuRouter = filterAsyncRouter(apiMenu) + menuRouter = flatAsyncRoutes(menuRouter) + menuData.value = menuRouter + // 初始化搜索 + const search_store = searchStore() + search_store.init(menuRouter) + } + // 过滤异步路由 + const filterAsyncRouter = (routerMap) => { + const accessedRouters = [] + routerMap.forEach((item) => { + item.meta = item.meta ? item.meta : {} + // 处理外部链接特殊路由 + if (item.meta.type === 'iframe') { + item.meta.url = item.path + item.path = `/${item.name}` + } + // MAP转路由对象 + const route = { + path: item.path, + name: item.name, + meta: item.meta, + redirect: item.redirect, + children: item.children ? filterAsyncRouter(item.children) : null, + component: loadComponent(item.component) + } + accessedRouters.push(route) + }) + return accessedRouters + } + // 将异步路由扁平化 + const flatAsyncRoutes = (routes, breadcrumb = []) => { + const res = [] + routes.forEach((route) => { + const tmp = { ...route } + if (tmp.children) { + const childrenBreadcrumb = [...breadcrumb] + childrenBreadcrumb.push(route) + const tmpRoute = { ...route } + tmpRoute.meta.breadcrumb = childrenBreadcrumb + delete tmpRoute.children + res.push(tmpRoute) + const childrenRoutes = flatAsyncRoutes(tmp.children, childrenBreadcrumb) + childrenRoutes.map((item) => { + res.push(item) + }) + } else { + const tmpBreadcrumb = [...breadcrumb] + tmpBreadcrumb.push(tmp) + tmp.meta.breadcrumb = tmpBreadcrumb + res.push(tmp) + } + }) + return res + } + // 动态加载组件 + const loadComponent = (component) => { + if (component) { + if (component.includes('/')) { + return modules[`/src/views/${component}.vue`] + } + return modules[`/src/views/${component}/index.vue`] + } else { + return () => import(/* @vite-ignore */ `/src/layout/other/empty.vue`) + } + } + // 从路由中移除菜单 + const removeFromRouter = () => { + const routes = router.getRoutes() + // 遍历所有路由 + routes.forEach((route) => { + // 过滤白名单 + if ( + whiteList.filter((e) => e.path === route.path).length > 0 || + routesData.filter((e) => e.path === route.path).length > 0 + ) { + return + } + if (route.name && route.name !== 'layout') { + router.removeRoute(route.name) + } + }) + } + // 获取用户菜单 + const fetchMenu = async () => { + const menu = await userCenterApi.userLoginMenu() + tool.data.set('MENU', menu) + refreshMenu() + } + // 刷新菜单 + const refreshMenu = () => { + loadMenu() + removeFromRouter() + addToRouter() + changeRefreshFlag(true) + } + // 将菜单添加到路由 + const addToRouter = () => { + menuData.value.forEach((item) => { + router.addRoute('layout', item) + }) + } + return { menuData, loadMenu, addToRouter, refreshMenu, changeRefreshFlag, refreshFlag, fetchMenu } +}) diff --git a/src/src/store/search.js b/src/src/store/search.js new file mode 100644 index 0000000..e1ca521 --- /dev/null +++ b/src/src/store/search.js @@ -0,0 +1,63 @@ +import '@/utils/objects' +import { defineStore } from 'pinia' + +export const searchStore = defineStore('search', () => { + // 定义state + const pool = ref([]) + const hotkey = ref({ + open: 's', + close: 'esc' + }) + const active = ref(false) + + // 定义action + const toggleActive = () => { + active.value = !active.value + } + const setActive = (val) => { + active.value = val + } + const init = (menu) => { + const poolList = [] + const getFullName = function (meta) { + if (meta.breadcrumb) { + let list = [] + meta.breadcrumb.forEach((item) => { + list.push(item.meta.title) + }) + return list.join(' / ') + } + return meta.title + } + const push = function (menu) { + menu.forEach((m) => { + if ('menu' === m.meta.type) { + if (m.children) { + push(m.children) + } else if (m.children === null) { + poolList.push({ + icon: m.meta.icon, + path: m.path, + fullPath: m.path, + name: m.meta.title, + fullName: getFullName(m.meta), + namePinyin: m.meta.title.toPinyin(), + namePinyinFirst: m.meta.title.toPinyin(true) + }) + } + } + }) + } + push(menu) + pool.value = poolList + } + + return { + pool, + hotkey, + active, + toggleActive, + setActive, + init + } +}) diff --git a/src/src/store/sysBaseConfig.js b/src/src/store/sysBaseConfig.js new file mode 100644 index 0000000..33fb235 --- /dev/null +++ b/src/src/store/sysBaseConfig.js @@ -0,0 +1,40 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import configApi from '@/api/dev/configApi' +import { message } from 'ant-design-vue' + +const formData = ref({ + SNOWY_SYS_LOGO: '', + SNOWY_SYS_BACK_IMAGE: '', + SNOWY_SYS_NAME: '', + SNOWY_SYS_VERSION: '', + SNOWY_SYS_COPYRIGHT: '', + SNOWY_SYS_COPYRIGHT_URL: '', + SNOWY_SYS_DEFAULT_FILE_ENGINE: 'LOCAL', + SNOWY_SYS_DEFAULT_CAPTCHA_OPEN: false, + SNOWY_SYS_DEFAULT_PASSWORD: '' +}) + +const param = { + category: 'SYS_BASE' +} + +const getSysBaseConfig = () => { + configApi.configList(param).then((data) => { + if (data) { + data.forEach((item) => { + formData.value[item.configKey] = item.configValue ? '' : item.configValue + }) + } else { + message.warning('表单项不存在,请初始化数据库') + } + }) +} diff --git a/src/src/store/user.js b/src/src/store/user.js new file mode 100644 index 0000000..6fb7401 --- /dev/null +++ b/src/src/store/user.js @@ -0,0 +1,32 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { defineStore } from 'pinia' +import loginApi from '@/api/auth/loginApi' +import { useGlobalStore } from '@/store' +import tool from '@/utils/tool' +export const userStore = defineStore('userStore', () => { + // 初始化用户信息 + const initUserInfo = async () => { + const data = await loginApi.getLoginUser() + const globalStore = useGlobalStore() + globalStore.setUserInfo(data) + tool.data.set('USER_INFO', data) + } + // 刷新登录用户信息 + const refreshUserLoginUserInfo = () => { + loginApi.getLoginUser().then((data) => { + const globalStore = useGlobalStore() + globalStore.setUserInfo(data) + tool.data.set('USER_INFO', data) + }) + } + return { initUserInfo, refreshUserLoginUserInfo } +}) diff --git a/src/src/store/viewTags.js b/src/src/store/viewTags.js new file mode 100644 index 0000000..b0862cc --- /dev/null +++ b/src/src/store/viewTags.js @@ -0,0 +1,89 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { defineStore } from 'pinia' + +export const viewTagsStore = defineStore('viewTags', () => { + // 定义state + const viewTags = ref([]) + + // 定义action + const pushViewTags = (route) => { + const target = viewTags.value.find((item) => item.path === route.path) + const isName = route.name + if (!target && isName) { + viewTags.value.push(route) + } + if (target) { + viewTags.value.forEach((item, index) => { + if (item.path === route.path) { + viewTags.value[index] = { ...route, ...item } + // Object.assign(item, route) + } + }) + } + } + const removeViewTags = (route) => { + viewTags.value.forEach((item, index) => { + if (item.fullPath === route.fullPath) { + viewTags.value.splice(index, 1) + } + }) + } + const updateViewTags = (route) => { + viewTags.value.forEach((item, index) => { + if (item.fullPath === route.fullPath) { + viewTags.value[index] = { ...route, ...item } + // Object.assign(item, route) + } + }) + } + // 更新或删除视图标签 + const updateOrRemoveViewTags = (routes) => { + if (routes && routes.length > 0) { + viewTags.value.forEach((item, index) => { + const target = routes.find((route) => route.path === item.fullPath) + if (!target) { + // 路由不存在,删除 + viewTags.value.splice(index, 1) + } else { + // 路由存在,更新 + viewTags.value = viewTags.value.map((item) => { + if (item.fullPath === target.path) { + return { ...item, meta: target.meta } + } + return item + }) + } + }) + } + } + const updateViewTagsTitle = (title = '') => { + const nowFullPath = location.hash.substring(1) + viewTags.value.forEach((item) => { + if (item.fullPath === nowFullPath) { + item.meta.title = title + } + }) + } + const clearViewTags = () => { + viewTags.value = [] + } + + return { + viewTags, + pushViewTags, + removeViewTags, + updateViewTags, + updateViewTagsTitle, + clearViewTags, + updateOrRemoveViewTags + } +}) diff --git a/src/src/style/default.less b/src/src/style/default.less new file mode 100644 index 0000000..c3846d6 --- /dev/null +++ b/src/src/style/default.less @@ -0,0 +1,399 @@ +:root { + --blue-1: #e6f7ff; + --blue-2: #bae7ff; + --blue-3: #91d5ff; + --blue-4: #69c0ff; + --blue-5: #40a9ff; + --blue-6: #1677FF; + --blue-7: #096dd9; + --blue-8: #0050b3; + --blue-9: #003a8c; + --blue-10: #002766; + + --green-1: #f6ffed; + --green-2: #d9f7be; + --green-3: #b7eb8f; + --green-4: #95de64; + --green-5: #73d13d; + --green-6: #52c41a; + --green-7: #389e0d; + --green-8: #237804; + --green-9: #135200; + --green-10: #092b00; + + --red-1: #fff1f0; + --red-2: #ffccc7; + --red-3: #ffa39e; + --red-4: #ff7875; + --red-5: #ff4d4f; + --red-6: #f5222d; + --red-7: #cf1322; + --red-8: #a8071a; + --red-9: #820014; + --red-10: #5c0011; + + --gold-1: #fffbe6; + --gold-2: #fff1b8; + --gold-3: #ffe58f; + --gold-4: #ffd666; + --gold-5: #ffc53d; + --gold-6: #faad14; + --gold-7: #d48806; + --gold-8: #ad6800; + --gold-9: #874d00; + --gold-10: #613400; + + --purple-1: #f9f0ff; + --purple-2: #efdbff; + --purple-3: #d3adf7; + --purple-4: #b37feb; + --purple-5: #9254de; + --purple-6: #722ed1; + --purple-7: #531dab; + --purple-8: #391085; + --purple-9: #22075e; + --purple-10: #120338; + + --cyan-1: #e6fffb; + --cyan-2: #b5f5ec; + --cyan-3: #87e8de; + --cyan-4: #5cdbd3; + --cyan-5: #36cfc9; + --cyan-6: #13c2c2; + --cyan-7: #08979c; + --cyan-8: #006d75; + --cyan-9: #00474f; + --cyan-10: #002329; + + --pink-1: #fff0f6; + --pink-2: #ffd6e7; + --pink-3: #ffadd2; + --pink-4: #ff85c0; + --pink-5: #f759ab; + --pink-6: #eb2f96; + --pink-7: #c41d7f; + --pink-8: #9e1068; + --pink-9: #780650; + --pink-10: #520339; + + --orange-1: #fff7e6; + --orange-2: #ffe7ba; + --orange-3: #ffd591; + --orange-4: #ffc069; + --orange-5: #ffa940; + --orange-6: #fa8c16; + --orange-7: #d46b08; + --orange-8: #ad4e00; + --orange-9: #873800; + --orange-10: #612500; + + --primary-radius: #fff; + --primary-1: var(--blue-1); + --primary-2: var(--blue-2); + --primary-3: var(--blue-3); + --primary-4: var(--blue-4); + --primary-5: var(--blue-5); + --primary-6: var(--blue-6); + --primary-7: var(--blue-7); + --primary-8: var(--blue-8); + --primary-9: var(--blue-9); + --primary-10: var(--blue-10); + + --primary-color: var(--primary-6); + --primary-color-hover: var(--primary-5); + --primary-color-active: var(--primary-7); + --primary-color-outline: var(--primary-2); + + --info-color: var(--primary-color); + --success-color: var(--green-6); + --processing-color: var(--blue-6); + --highlight-color: var(--red-5); + + --warning-color: var(--gold-6); + --warning-color-hover: var(--gold-5); + --warning-color-active: var(--gold-7); + --warning-color-outline: var(--gold-2); + + --error-color: var(--red-5); + --error-color-hover: var(--red-4); + --error-color-active: var(--red-7); + --error-color-outline: var(--red-2); + + --body-background: #fff; + --component-background: #fff; + + --popover-background: @component-background; + --popover-customize-border-color: @border-color-split; + + --text-color: fade(@black, 85%); + --text-color-secondary: fade(@black, 45%); + --text-color-inverse: @white; + --icon-color-hover: fade(@black, 75%); + --heading-color: fade(@black, 85%); + + --item-hover-bg: #f5f5f5; + + // Border color + --border-color-base: hsv(0, 0, 85%); + --border-color-split: hsv(0, 0, 94%); + //--border-color-inverse: @white; + + // + --background-color-light: hsv(0, 0, 98%); + --background-color-base: hsv(0, 0, 96%); + + // Disabled states + --disabled-color: fade(#000, 25%); + --disabled-bg: @background-color-base; + --disabled-color-dark: fade(#fff, 35%); + + // Shadow + --shadow-color: rgba(195, 62, 62, 0.15); + --shadow-color-inverse: @component-background; + --box-shadow-base: @shadow-1-down; + --shadow-1-up: 0 -2px 8px @shadow-color; + --shadow-1-down: 0 2px 8px @shadow-color; + --shadow-1-left: -2px 0 8px @shadow-color; + --shadow-1-right: 2px 0 8px @shadow-color; + --shadow-2: 0 4px 12px @shadow-color; + + // Buttons + --btn-shadow: 0 2px 0 rgba(0, 0, 0, 0.015); + --btn-primary-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); + --btn-text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12); + + --btn-default-bg: @component-background; + + --btn-default-ghost-color: @component-background; + --btn-default-ghost-border: @component-background; + + --btn-text-hover-bg: rgba(0, 0, 0, 0.018); + --btn-text-active-bg: rgba(0, 0, 0, 0.028); + + // Checkbox + --checkbox-check-bg: @checkbox-check-color; + + // Descriptions + --descriptions-bg: #fafafa; + + // Divider + --divider-color: rgba(0, 0, 0, 6%); + + // Dropdown 有两个 + --dropdown-menu-submenu-disabled-bg: @component-background; + + // Radio + --radio-dot-disabled-color: fade(@black, 20%); + --radio-solid-checked-color: @component-background; + + // Radio buttons + --radio-disabled-button-checked-bg: coverTintMixin(@black, 90%); + --radio-disabled-button-checked-color: @disabled-color; + + // Layout + --layout-body-background: #f0f2f5; + --layout-header-background: #001529; + --layout-trigger-background: #002140; + //--layout-sider-background-1: coverTintMixin(#001529, 10%); + + // Dropdown 有两个 + --dropdown-menu-bg: @component-background; + + // Input + --input-placeholder-color: hsv(0, 0, 75%); + --input-icon-color: @input-color; + --input-bg: @component-background; + --input-number-handler-active-bg: #f4f4f4; + --input-icon-hover-color: fade(@black, 85%); + + // Mentions + --mentions-dropdown-bg: @component-background; + + // Select + --select-dropdown-bg: @component-background; + --select-background: @component-background; + --select-clear-background: @select-background; + --select-selection-item-bg: @background-color-base; + --select-selection-item-border-color: @border-color-split; + --select-multiple-disabled-background: @input-disabled-bg; + --select-multiple-item-disabled-color: #bfbfbf; + --select-multiple-item-disabled-border-color: @select-border-color; + + // Cascader + --cascader-bg: @component-background; + --cascader-menu-bg: @component-background; + --cascader-menu-border-color-split: @border-color-split; + + // Tooltip + --tooltip-bg: rgba(0, 0, 0, 0.75); + + // Popover + --popover-bg: @component-background; + + // Modal + --modal-header-bg: @component-background; + --modal-header-border-color-split: @border-color-split; + --modal-content-bg: @component-background; + --modal-footer-border-color-split: @border-color-split; + + // Progress + --progress-steps-item-bg: #f3f3f3; + + // Menu + --menu-popup-bg: @component-background; + --menu-dark-bg: @layout-header-background; + --menu-dark-inline-submenu-bg: #000c17; + + // Table + --table-header-bg: @background-color-light; + --table-header-sort-bg: @background-color-base; + --table-body-sort-bg: #fafafa; + --table-row-hover-bg: @background-color-light; + --table-expanded-row-bg: #fbfbfb; + --table-header-cell-split-color: rgba(0, 0, 0, 0.06); + --table-header-sort-active-bg: rgba(0, 0, 0, 0.04); + --table-header-filter-active-bg: rgba(0, 0, 0, 0.04); + --table-filter-btns-bg: inherit; + --table-filter-dropdown-bg: @component-background; + --table-expand-icon-bg: @component-background; + + // TimePicker + --picker-bg: @component-background; + --picker-basic-cell-disabled-bg: @disabled-bg; + --picker-border-color: @border-color-split; + + // Calendar + --calendar-bg: @component-background; + --calendar-input-bg: @input-bg; + --calendar-border-color: @border-color-inverse; + --calendar-full-bg: @calendar-bg; + + // Badge + --badge-text-color: @component-background; + + // Rate + --rate-star-bg: @border-color-split; + + // Card + --card-actions-background: @component-background; + --card-skeleton-bg: #cfd8dc; + --card-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), + 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09); + + // Comment + --comment-bg: inherit; + --comment-author-time-color: #ccc; + --comment-action-hover-color: #595959; + + // BackTop + --back-top-bg: @text-color-secondary; + --back-top-hover-bg: @text-color; + + // Avatar + --avatar-bg: #ccc; + + // Switch + --switch-bg: @component-background; + + // Pagination + --pagination-item-bg: @component-background; + --pagination-item-bg-active: @component-background; + --pagination-item-link-bg: @component-background; + --pagination-item-disabled-color-active: @white; + --pagination-item-disabled-bg-active: darken(hsv(0, 0, 96%), 10%); + --pagination-item-input-bg: @component-background; + + // PageHeader + --page-header-back-color: #000; + --page-header-ghost-bg: inherit; + + // Slider + --slider-rail-background-color: @background-color-base; + --slider-rail-background-color-hover: #e1e1e1; + --slider-dot-border-color: @border-color-split; + --slider-dot-border-color-active: @primary-4; + + // Tree + --tree-bg: @component-background; + + // Skeleton + --skeleton-to-color: coverShadeMixin(@skeleton-color, 5%); + + // Transfer + --transfer-item-hover-bg: @item-hover-bg; + + // Message + --message-notice-content-bg: @component-background; + + // List + --list-customize-card-bg: @component-background; + + // Drawer + --drawer-bg: @component-background; + + // Timeline + --timeline-color: @border-color-split; + --timeline-dot-color: @primary-color; + + // Image + --image-preview-operation-disabled-color: rgba(255, 255, 255, 0.45); + + // Steps + --steps-nav-arrow-color: fade(@black, 25%); + --steps-background: @component-background; + + // Notification + --notification-bg: @component-background; + + // 侧边栏 + --sidebar-light-shadow: 1px 3px 3px rgba(0, 21, 41, 0.08); + --sidebar-dark-shadow: 0 4px 4px rgba(0, 0, 0, 0.35); + + // 顶栏 + --header-light-shadow: 0 1px 4px rgba(0, 21, 41, 0.08); + --header-dark-shadow: 0 1px 4px rgba(0, 0, 0, 0.1); + --header-tool-hover-bg: rgba(0, 0, 0, 0.025); + --header-dark-tool-hover-bg: rgba(255, 255, 255, 0.05); + --header-color-split: rgba(0, 0, 0, 0.08); + + // logo + --logo-light-shadow: 1px 2px 3px rgba(0, 21, 41, 0.08); + --logo-dark-shadow: 0 3px 4px rgba(0, 0, 0, 0.35); + + // + --gradient-min: fade(#cfd8dc, 20%); + --gradient-max: fade(#cfd8dc, 40%); + + // font + --font-color: rgba(0, 0, 0, 0.88); + // header-bottom + --header-bottom: rgba(246, 246, 246, 0.85); + // breadcrumb-background + --breadcrumb-background: rgba(253, 253, 253, 0.85); + // background-color + --snowy-background-color: #FFFFFF; + // tag-background + --tag-background: rgba(253, 253, 253); + // + --success-fade-20: fade(#52c41a, 20%); + --error-fade-20: fade(#ff4d4f, 20%); + --warning-fade-20: fade(#faad14, 20%); + + //--primary-fade-20: fade(#1890ff, 20%); + --primary-fade-20: var(--primary-2); + //--primary-fade-8: fade(#1890ff, 8%); + + --white--fade--65: rgba(255,255,255,.65); + --menu-dark-highlight-color: #fff; + --btn-primary-color: #fff; + --tooltip-color: #fff; + --card-above-color: #F0F0F0; + --card-above-border-color: #CCCCCC; + + // workfolw design + --node-wrap-box-color: rgb(255, 255, 255); + --node-wrap-box-before-color: #FFFFFF; + --node-wrap-box-before-borde-color: rgb(202, 202, 202); + --auto-judge-before-color: #FFF; + --cover-line-before-color: #FFF; +} diff --git a/src/src/style/index.less b/src/src/style/index.less new file mode 100644 index 0000000..4daa801 --- /dev/null +++ b/src/src/style/index.less @@ -0,0 +1,519 @@ +@import './realdark'; +@import './default'; + +.body, html { + width: 100%; + height: 100%; + background-color: #f6f8f9; +} + +a, button, input, textarea { + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + box-sizing: border-box; + outline: none !important; + -webkit-appearance: none; +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; + outline: none; +} + +/* 大布局样式 */ +.admin-ui { + overflow: hidden; + height: 100%; + display: flex; + flex-flow: column; +} + +.admin-ui-wrapper { + display: flex; + flex: 1; + overflow: auto; +} + +.admin-ui-main { + display: flex; + flex-direction: column; + height: 100%; + flex: 1; +} +.main-content-wrapper{ + padding: 11px 11px 0px; + overflow-y: auto; + overflow-x: hidden; + flex: auto; +} + +.main-bottom-wrapper { + height: 60px; + margin-top: 25px; + text-align: center; + flex: auto; + display: flex; + align-items: flex-end; + justify-content: center; + padding-bottom: 25px; +} + +/* 双排菜单布局 */ +.snowy-doublerow-layout-menu { + padding-right: 5px; + line-height: 0; + align-items: center; +} + +.snowy-doublerow-layout-menu-item-fort-div { + overflow: hidden; + text-overflow: ellipsis; + opacity: 1; + display: block; + flex: auto; +} + +.snowy-doublerow-layout-menu-item-fort-div-span { + font-size: 13px; + text-overflow: ellipsis; +} + +.snowy-title{ + color: var(--text-color); +} +.ant-layout-sider-collapsed{ + .logo-bar>span{ + display: none; + } +} +.ant-layout-sider-dark{ + .snowy-header-logo{ + color: #fff; + } +} + +/* 设置抽屉样式 */ +.layout-setting { + position: fixed; + width: 40px; + height: 40px; + border-radius: 3px 0 0 3px; + bottom: 50%; + right: 0px; + z-index: 100; + background: @primary-color; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + cursor: pointer; +} + +.layout-setting i { + color: #fff; +} + +/* 头部 */ +.snowy-header { + height: 50px; + display: flex; + justify-content: space-between; + border-bottom: 1px solid var(--header-bottom); + box-shadow: 0 0.4px 0.5px rgb(0 21 41 / 12%); + .ant-menu-item{ + height: 48px; + line-height: 48px; + } + background: var(--snowy-background-color); +} +// 应用主题色 +.snowy-header-primary-color { + color: white; + background-color: var(--primary-color); + .ant-badge{ + color: white; + } + .ant-breadcrumb-link { + color: white; + } + .ant-breadcrumb-separator { + color: white; + } + .ant-menu-light .ant-menu-item:hover{ + color: #ccc; + background-color: var(--primary-7); + } +} + +.ant-layout-sider-dark { + .snowy-title{ + color: #fff; + } +} + +.snowy-header-left { + display: flex; + align-items: center; + padding-left: 20px; +} + +.snowy-header-left .menu-unfold-outlined { + padding: 0 12px +} + +.snowy-header-right { + display: flex; + align-items: center; +} + +.snowy-header-logo { + height: 49px; + display: flex; + justify-content: space-between; + border-bottom: 1px solid rgba(255, 255, 255, 0.04); +} + +.snowy-header-logo-primary-color { + color: white; + background-color: var(--primary-color); +} + +.snowy-header-logo .logo-bar { + font-weight: bold; + display: flex; + align-items: center; + font-size: 20px; +} + +.snowy-header-logo .logo-bar .logo { + margin-right: 10px; + width: 35px; + height: 35px; +} + +.top-snowy-header { + background: #001529; + color: white; +} +.top-snowy-header-light { + background: #ffffff; + color: #000000; +} +.top-snowy-header-layout { + background: var(--primary-color); + color: #ffffff; +} +.panel-item { + padding: 0 10px; + cursor: pointer; + height: 100%; + display: flex; + align-items: center; + /*color: var(--font-color);*/ +} +.panel-item:hover { + background: var(--header-color-split); +} +.contextmenu { + position: fixed; + width: 200px; + margin:0; + border-radius: 0px; + background: @body-background; + border: 1px solid var(--border-color-split); + box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); + z-index: 3000; + list-style-type: none; + padding: 10px 0; +} +.contextmenu hr { + margin:5px 0; + border: none; + height: 1px; + font-size: 0px; + background-color: var(--border-color-split) +} +.contextmenu li { + display: flex; + align-items: center; + margin:0; + cursor: pointer; + line-height: 30px; + padding: 0 17px; + color: @text-color; +} +.contextmenu li i { + font-size: 14px; + margin-right: 10px; +} +.contextmenu li:hover { + background-color: @component-background; + color: #66b1ff; +} +.contextmenu li.disabled { + cursor: not-allowed; + color: #bbb; + background: transparent; +} + +/*页面最大化*/ +.app-main.main-maximize { + .main-maximize-exit { + display: block; + } + .ant-layout-sider, .ant-layout-sider-dark, .layout-setting, .snowy-header, .admin-ui-breadcrumb, .snowy-tags { + display: none; + } + .main-content-wrapper { + padding: 0; + } +} + +/* 最大化后的退出按钮 */ +.main-maximize-exit { + display: none; + position: fixed; + z-index: 3000; + top: -20px; + padding-top: 18px; + left: 50%; + margin-left: -20px; + border-radius: 50%; + width: 40px; + height: 40px; + cursor: pointer; + background: rgba(0, 0, 0, 0.2); + text-align: center; +} + +.main-maximize-exit:hover { + background: rgba(0, 0, 0, 0.4); +} + +.ant-layout-sider{ + overflow: auto; +} + +/* 重写antdv的一些样式,定义到全局 */ +.ant-card-head-title { + padding: 12px 0!important; +} +.ant-tabs-large > .ant-tabs-nav .ant-tabs-tab { + padding: 12px 0!important; +} +.ant-card-extra { + padding: 12px 0!important; +} +.ant-card-head { + border-bottom: 0px !important; + min-height: 50px !important; +} + +/* 重写antdv的表格滚动条 */ +.ant-table-body, .ant-table-content{ + &::-webkit-scrollbar { + height: 10px; + width: 10px; + } + &::-webkit-scrollbar-thumb { + border-radius: 10px; + -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.1); + background: @border-color-split; + } + &::-webkit-scrollbar-track { + -webkit-box-shadow: 0; + border-radius: 10px; + background: @background-color-base; + } +} + +.left-span-label { + border-left: 4px solid var(--primary-color); + font-size: 15px; + color: var(--font-color); + font-weight: 600; + padding-left: 8px; +} + +// 滚动条,需要哪里,加哪个class +body, +.ant-scrolling-effect, +.ant-drawer-wrapper-body, +.ant-drawer-body, +.admin-ui, +.ant-modal-wrap, +.ant-transfer-list-content, +.ant-card, +.ant-layout-sider, +.CodeMirror-scroll, +.main-content-wrapper, +.xn-icon-select-list, +.form-user-table, +.scopeDefineOrgTreeDiv, +.user-table, +.role-table, +.org-table, +.pos-table, +.poi-list, +.snowy-orgpos-vis, +.index-message-list, +.ant-picker-time-panel-column, +.timeline-div, +.gen-preview-content, +.ant-menu, +.ant-tabs-dropdown-menu, +.xn-table, +.selector-table, +.card-div, +.ant-table-body, + +.admin-ui-main{ + &::-webkit-scrollbar { + /*滚动条整体样式*/ + width : 5px; /*高宽分别对应横竖滚动条的尺寸*/ + height: 5px; + } + &::-webkit-scrollbar-thumb { + /*滚动条里面小方块*/ + border-radius : 10px; + background-color: #CCCCCC; // skyblue + background-image: -webkit-linear-gradient( + 45deg, + rgba(255, 255, 255, 0.2) 25%, + transparent 25%, + transparent 50%, + rgba(255, 255, 255, 0.2) 50%, + rgba(255, 255, 255, 0.2) 75%, + transparent 75%, + transparent + ); + } + &::-webkit-scrollbar-track { + /*滚动条里面轨道*/ + box-shadow : inset 0 0 2px rgba(0, 0, 0, 0.2); + background : @component-background; + border-radius: 5px; + opacity: 0; + display: none; + } +} + +.json-box-9136076486841527{ + overflow: hidden!important;; + .CodeMirror-scrollbar-filler{ + display: none!important; + } +} +.ant-modal-close-x .anticon { + padding: 2px !important; +} +.xn-mb10 { + margin-bottom: 10px; +} +.xn-mt4 { + margin-top: 4px; +} +.xn-mg08 { + margin: 0 8px; +} +.xn-fdr { + float: right; +} +.xn-wd { + width: 100%; +} +.xn-wd90 { + width: 90px; +} +.xn-wdcalc-70 { + width: calc(100% - 70px); +} +.xn-mr8 { + margin-right: 8px; +} +.xn-ht400 { + height: 400px; +} +.xn-wh25 { + height: 25px; + width: 25px; +} +.xn-ml10 { + margin-left: 10px; +} +.xn-pl0 { + padding-left: 0px; +} +.xn-pd8 { + padding: 8px; +} +.xn-pb10 { + padding-bottom: 10px; +} +.xn-color-a0a0a0 { + color: #a0a0a0; +} +.xn-color-d9d9d9 { + color: #d9d9d9; +} +.xn-color-ff4d4f { + color: #ff4d4f; +} +.xn-color-00025 { + color: rgba(0, 0, 0, 0.25); +} +.xn-jk-line { + width: 188px; + margin-bottom: 8px; + display: block; +} +.xn-findform-line { + border: 1px solid var(--border-color-split); + cursor: pointer; + width: 100%; + height: 40px; +} +.odd { + background-color: var(--table-row-hover-bg); +} +.snowy-theme-dark .odd { + background-color: #1d1d1d +} +// 以下是重写表单设计器的样式 +.list-main { + background: var(--auto-judge-before-color) !important; +} +.drag-move-box:before { + background: var(--primary-color) !important; +} +.drag-move-box>.delete { + background: var(--primary-color) !important; +} +.drag-move-box>.copy { + background: var(--primary-color) !important; +} +.drag-move-box .show-key-box { + color: var(--primary-color) !important; +} +.left-ul-item:hover { + color: var(--primary-color) !important; + border: 1px solid var(--primary-color) !important; + -webkit-box-shadow: 0 2px 6px var(--primary-color) !important; + box-shadow: 0 2px 6px var(--primary-color) !important; +} +.list-main>.moving:before { + background: var(--primary-color) !important; +} +.operating-area a:hover { + color: var(--primary-color) !important; +} +.batch-box>.delete { + background: var(--primary-color) !important; +} +.batch-box>.copy { + background: var(--primary-color) !important; +} +.batch-box.active:before { + background: var(--primary-color) !important; +} diff --git a/src/src/style/readme.md b/src/src/style/readme.md new file mode 100644 index 0000000..700dda4 --- /dev/null +++ b/src/src/style/readme.md @@ -0,0 +1,7 @@ + +适配暗黑模式的操作 + +直接 var(--primary-color) + +例如:新建个变量,在default.less跟realdark.less中设定好,这个时候就会跟着颜色的主题变化 + diff --git a/src/src/style/realdark.less b/src/src/style/realdark.less new file mode 100644 index 0000000..644e6c6 --- /dev/null +++ b/src/src/style/realdark.less @@ -0,0 +1,417 @@ +[snowy-theme=realdark] { + .ant-btn-primary{ + color: #fff; + &:hover, &:focus{ + color: #fff; + } + } + +} +.fade() { + @functions: ~`(function() { + this.fade = function(color, amount) { + if (String(color).indexOf('var(') === 0) { + if (color.indexOf('--primary-color') !== -1 ) { + var m = amount > 10 ? amount/10 :amount + return color.replace('-color)', '-' + m + ')') + } + return color.replace(')', '--fade--' + parseInt(amount) + ')') + } + return color + } + })()`; +} +.fade(); + +@import 'ant-design-vue/dist/reset.css'; + +.snowy-theme-dark { + --blue-1: #111d2c; + --blue-2: #112a45; + --blue-3: #15395b; + --blue-4: #164c7e; + --blue-5: #1765ad; + --blue-6: #177ddc; + --blue-7: #3c9ae8; + --blue-8: #65b7f3; + --blue-9: #8dcff8; + --blue-10: #b7e3fa; + + --green-1: #162312; + --green-2: #1d3712; + --green-3: #274916; + --green-4: #306317; + --green-5: #3c8618; + --green-6: #49aa19; + --green-7: #6abe39; + --green-8: #8fd460; + --green-9: #b2e58b; + --green-10: #d5f2bb; + + --red-1: #2a1215; + --red-2: #431418; + --red-3: #58181c; + --red-4: #791a1f; + --red-5: #a61d24; + --red-6: #f5222d; + --red-7: #e84749; + --red-8: #f37370; + --red-9: #f89f9a; + --red-10: #fac8c3; + + --gold-1: #2b2111; + --gold-2: #443111; + --gold-3: #594214; + --gold-4: #7c5914; + --gold-5: #aa7714; + --gold-6: #d89614; + --gold-7: #e8b339; + --gold-8: #f3cc62; + --gold-9: #f8df8b; + --gold-10: #faedb5; + + --purple-1: #1a1325; + --purple-2: #24163a; + --purple-3: #301c4d; + --purple-4: #3e2069; + --purple-5: #51258f; + --purple-6: #642ab5; + --purple-7: #854eca; + --purple-8: #ab7ae0; + --purple-9: #cda8f0; + --purple-10: #ebd7fa; + + --cyan-1: #112123; + --cyan-2: #113536; + --cyan-3: #144848; + --cyan-4: #146262; + --cyan-5: #138585; + --cyan-6: #13a8a8; + --cyan-7: #33bcb7; + --cyan-8: #58d1c9; + --cyan-9: #84e2d8; + --cyan-10: #b2f1e8; + + --pink-1: #291321; + --pink-2: #40162f; + --pink-3: #551c3b; + --pink-4: #75204f; + --pink-5: #a02669; + --pink-6: #cb2b83; + --pink-7: #e0529c; + --pink-8: #f37fb7; + --pink-9: #f8a8cc; + --pink-10: #fad2e3; + + --orange-1: #2b1d11; + --orange-2: #442a11; + --orange-3: #593815; + --orange-4: #7c4a15; + --orange-5: #aa6215; + --orange-6: #d87a16; + --orange-7: #e89a3c; + --orange-8: #f3b765; + --orange-9: #f8cf8d; + --orange-10: #fae3b7; + + --primary-radius: #141414; + --primary-1: var(--blue-1); + --primary-2: var(--blue-2); + --primary-3: var(--blue-3); + --primary-4: var(--blue-4); + --primary-5: var(--blue-5); + --primary-6: var(--blue-6); + --primary-7: var(--blue-7); + --primary-8: var(--blue-8); + --primary-9: var(--blue-9); + --primary-10: var(--blue-10); + + --primary-color: var(--primary-6); + --primary-color-hover: var(--primary-5); + --primary-color-active: var(--primary-7); + --primary-color-outline: var(--primary-2); + + --info-color: var(--primary-color); + --success-color: var(--green-6); + --processing-color: var(--blue-6); + --highlight-color: var(--red-5); + + --warning-color: var(--gold-6); + --warning-color-hover: var(--gold-5); + --warning-color-active: var(--gold-7); + --warning-color-outline: var(--gold-2); + + --error-color: var(--red-5); + --error-color-hover: var(--red-4); + --error-color-active: var(--red-7); + --error-color-outline: var(--red-2); + + --body-background: @black; + --component-background: #141414; + --popover-background: #1f1f1f; + --popover-customize-border-color: #3a3a3a; + + --text-color: fade(@white, 85%); + --text-color-secondary: fade(@white, 45%); + --text-color-inverse: @white; + --icon-color-hover: fade(@white, 75%); + --heading-color: fade(@white, 85%); + + --item-hover-bg: fade(@white, 8%); + + // Border color + --border-color-base: #434343; + --border-color-split: #303030; + //--border-color-inverse: @black; + + // + --background-color-light: fade(@white, 4%); + --background-color-base: fade(@white, 8%); + + // Disabled states + --disabled-color: fade(@white, 30%); + --disabled-bg: @background-color-base; + --disabled-color-dark: fade(@white, 30%); + + // Shadow + --shadow-color: rgba(0, 0, 0, 0.45); + --shadow-color-inverse: @component-background; + --box-shadow-base: @shadow-2; + --shadow-1-up: 0 -6px 16px -8px rgba(0, 0, 0, 0.32), + 0 -9px 28px 0 rgba(0, 0, 0, 0.2), 0 -12px 48px 16px rgba(0, 0, 0, 0.12); + --shadow-1-down: 0 6px 16px -8px rgba(0, 0, 0, 0.32), + 0 9px 28px 0 rgba(0, 0, 0, 0.2), 0 12px 48px 16px rgba(0, 0, 0, 0.12); + --shadow-1-right: 6px 0 16px -8px rgba(0, 0, 0, 0.32), + 9px 0 28px 0 rgba(0, 0, 0, 0.2), 12px 0 48px 16px rgba(0, 0, 0, 0.12); + --shadow-2: 0 3px 6px -4px rgba(0, 0, 0, 0.48), + 0 6px 16px 0 rgba(0, 0, 0, 0.32), 0 9px 28px 8px rgba(0, 0, 0, 0.2); + + // Buttons + --btn-shadow: 0 2px 0 rgba(0, 0, 0, 0.015); + --btn-primary-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); + --btn-text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12); + + --btn-default-bg: transparent; + + --btn-default-ghost-color: @text-color; + --btn-default-ghost-border: fade(@white, 25%); + + --btn-text-hover-bg: rgba(255, 255, 255, 0.03); + --btn-text-active-bg: rgba(255, 255, 255, 0.04); + + // Checkbox + --checkbox-check-bg: transparent; + + // Descriptions + --descriptions-bg: @background-color-light; + + // Divider + --divider-color: rgba(255, 255, 255, 12%); + + // Dropdown 有两个 + --dropdown-menu-submenu-disabled-bg: transparent; + + // Radio + --radio-dot-disabled-color: fade(@white, 20%); + --radio-solid-checked-color: @white; + + // Radio buttons + --radio-disabled-button-checked-bg: fade(@white, 20%); + --radio-disabled-button-checked-color: @disabled-color; + + // Layout + --layout-body-background: @body-background; + --layout-header-background: @popover-background; + --layout-trigger-background: #262626; + //--layout-sider-background-1: tint(#1f1f1f, 10%); + + // Dropdown 有两个 + --dropdown-menu-bg: @popover-background; + + // Input + --input-placeholder-color: fade(@white, 30%); + --input-icon-color: fade(@white, 30%); + --input-bg: transparent; + --input-number-handler-active-bg: @item-hover-bg; + --input-icon-hover-color: fade(@white, 85%); + + // Mentions + --mentions-dropdown-bg: @popover-background; + + // Select + --select-dropdown-bg: @popover-background; + --select-background: transparent; + --select-clear-background: @component-background; + --select-selection-item-bg: fade(@white, 8); + --select-selection-item-border-color: @border-color-split; + --select-multiple-disabled-background: @component-background; + --select-multiple-item-disabled-color: #595959; + --select-multiple-item-disabled-border-color: @popover-background; + + // Cascader + --cascader-bg: transparent; + --cascader-menu-bg: @popover-background; + --cascader-menu-border-color-split: @border-color-split; + + // Tooltip + --tooltip-bg: #434343; + + // Popover + --popover-bg: @popover-background; + + // Modal + --modal-header-bg: @popover-background; + --modal-header-border-color-split: @border-color-split; + --modal-content-bg: @popover-background; + --modal-footer-border-color-split: @border-color-split; + + // Progress + --progress-steps-item-bg: fade(@white, 8%); + + // Menu + --menu-popup-bg: @popover-background; + --menu-dark-bg: @popover-background; + --menu-dark-inline-submenu-bg: @component-background; + + // Table + --table-header-bg: #1d1d1d; + --table-header-sort-bg: #262626; + --table-body-sort-bg: fade(@white, 1%); + --table-row-hover-bg: #262626; + --table-expanded-row-bg: @table-header-bg; + --table-header-cell-split-color: fade(@white, 8%); + --table-header-sort-active-bg: #303030; + --table-header-filter-active-bg: #434343; + --table-filter-btns-bg: @popover-background; + --table-filter-dropdown-bg: @popover-background; + --table-expand-icon-bg: transparent; + + // TimePicker + --picker-bg: transparent; + --picker-basic-cell-disabled-bg: #303030; + --picker-border-color: @border-color-split; + + // Calendar + --calendar-bg: @popover-background; + --calendar-input-bg: @calendar-bg; + --calendar-border-color: transparent; + --calendar-full-bg: @component-background; + + // Badge + --badge-text-color: @white; + + // Rate + --rate-star-bg: fade(@white, 12%); + + // Card + --card-actions-background: @component-background; + --card-skeleton-bg: #303030; + --card-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.64), + 0 3px 6px 0 rgba(0, 0, 0, 0.48), 0 5px 12px 4px rgba(0, 0, 0, 0.36); + + // Comment + --comment-bg: transparent; + --comment-author-time-color: fade(@white, 30%); + --comment-action-hover-color: fade(@white, 65%); + + // BackTop + --back-top-bg: var(--tooltip-bg); + --back-top-hover-bg: var(--border-color-split); + + // Avatar + --avatar-bg: fade(@white, 30%); + + // Switch + --switch-bg: @white; + + // Pagination + --pagination-item-bg: transparent; + --pagination-item-bg-active: transparent; + --pagination-item-link-bg: transparent; + --pagination-item-disabled-color-active: @black; + --pagination-item-disabled-bg-active: fade(@white, 25%); + --pagination-item-input-bg: @pagination-item-bg; + + // PageHeader + --page-header-back-color: @icon-color; + --page-header-ghost-bg: transparent; + + // Slider + --slider-rail-background-color: #262626; + --slider-rail-background-color-hover: @border-color-base; + --slider-dot-border-color: @border-color-split; + --slider-dot-border-color-active: @primary-4; + + // Tree + --tree-bg: transparent; + + // Skeleton + --skeleton-to-color: fade(@white, 16%); + + // Transfer + --transfer-item-hover-bg: #262626; + + // Message + --message-notice-content-bg: @popover-background; + + // List + --list-customize-card-bg: transparent; + + // Drawer + --drawer-bg: @popover-background; + + // Timeline + --timeline-color: @border-color-split; + --timeline-dot-color: @primary-color; + + // Steps + --steps-nav-arrow-color: fade(@white, 20%); + --steps-background: transparent; + + // Notification + --notification-bg: @popover-background; + + // 侧边栏 + --sidebar-light-shadow: 0 4px 4px rgba(0, 0, 0, 0.6); + --sidebar-dark-shadow: 0 4px 4px rgba(0, 0, 0, 0.6); + + // 顶栏 + --header-light-shadow: 0 1px 4px rgba(0, 0, 0, 0.6); + --header-dark-shadow: 0 1px 4px rgba(0, 0, 0, 0.6); + --header-tool-hover-bg: rgba(255, 255, 255, 0.05); + --header-dark-tool-hover-bg: rgba(255, 255, 255, 0.05); + --header-color-split: rgba(255, 255, 255, 0.15); + + // logo + --logo-light-shadow: 0 3px 4px rgba(0, 0, 0, 0.6); + --logo-dark-shadow: 0 3px 4px rgba(0, 0, 0, 0.6); + + // + --gradient-min: fade(#303030, 20%); + --gradient-max: fade(#303030, 40%); + + // font + --font-color: #FFFFFF; + // header-bottom + --header-bottom: rgba(54, 54, 54, 0.6); + // breadcrumb-background + --breadcrumb-background: rgba(54, 54, 54, 0.6); + // background-color + --snowy-background-color: #141414; + // tag-background + --tag-background: rgba(56, 56, 56); + // + --primary-fade-20: var(--primary-2); + + --black--fade--85: rgba(255, 255, 255, 0.85); + --switch-shadow-color: 0 2px 4px rgb(0 35 11 / 20%); + --card-above-color: #303030; + --card-above-border-color: #484848; + + // workfolw design + --node-wrap-box-color: #303030; + --node-wrap-box-before-color: rgba(255, 255, 255, 0.09); // 箭头旁边 + --node-wrap-box-before-borde-color: rgba(255, 255, 255, 0.09); // 箭头 + --auto-judge-before-color: #141414; // 箭头背景 + --cover-line-before-color: #141414; +} diff --git a/src/src/tailwind.css b/src/src/tailwind.css new file mode 100644 index 0000000..2f67a33 --- /dev/null +++ b/src/src/tailwind.css @@ -0,0 +1,91 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer components { +} + +@layer utilities { +} + +/*默认为row,横向排列*/ +.layout-items-center { + display: flex; + align-items: center; +} + +.layout-items-baseline { + display: flex; + align-items: baseline; +} + +.layout-baseline-between { + display: flex; + align-items: baseline; + justify-content: space-between; +} + +/*左右居中*/ +.layout-center { + display: flex; + justify-content: center; +} + +/*两边排列*/ +.layout-slide { + display: flex; + align-items: center; + justify-content: space-between; +} + +/*左中右排列*/ +.layout-around { + display: flex; + align-items: center; + justify-content: space-around; +} + +/*两边排列, 换行*/ +.layout-slide-wrap { + display: flex; + align-items: center; + justify-content: space-between; + flex-wrap: wrap; +} + +/*上下排列*/ +.layout-col-slide { + display: flex; + flex-direction: column; + justify-content: space-between; +} + +/*左右垂直居中*/ + +.layout-abs-center { + display: flex; + justify-content: center; + align-items: center; +} + +/*横向左右垂直居右*/ +.layout-end { + display: flex; + justify-content: flex-end; + align-items: center; +} + +/*纵向左右垂直居中*/ +.layout-col-center { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +.text-color{ + color: var(--text-color); +} + + + diff --git a/src/src/utils/cityOptions.js b/src/src/utils/cityOptions.js new file mode 100644 index 0000000..53e132e --- /dev/null +++ b/src/src/utils/cityOptions.js @@ -0,0 +1,16309 @@ +const cityOptions = [{ + "code": "110000", + "label": "北京市", + "value": "北京市", + "children": [ + { + "code": "110100", + "label": "北京市", + "value": "北京市", + "children": [ + { "code": "110101", "label": "东城区", "value": "东城区" }, + { "code": "110102", "label": "西城区", "value": "西城区" }, + { "code": "110105", "label": "朝阳区", "value": "朝阳区" }, + { "code": "110106", "label": "丰台区", "value": "丰台区" }, + { "code": "110107", "label": "石景山区", "value": "石景山区" }, + { "code": "110108", "label": "海淀区", "value": "海淀区" }, + { "code": "110109", "label": "门头沟区", "value": "门头沟区" }, + { "code": "110111", "label": "房山区", "value": "房山区" }, + { "code": "110112", "label": "通州区", "value": "通州区" }, + { "code": "110113", "label": "顺义区", "value": "顺义区" }, + { "code": "110114", "label": "昌平区", "value": "昌平区" }, + { "code": "110115", "label": "大兴区", "value": "大兴区" }, + { "code": "110116", "label": "怀柔区", "value": "怀柔区" }, + { "code": "110117", "label": "平谷区", "value": "平谷区" }, + { "code": "110228", "label": "密云区", "value": "密云区" }, + { "code": "110229", "label": "延庆区", "value": "延庆区" } + ] + } + ] +}, + { + "code": "120000", + "label": "天津市", + "value": "天津市", + "children": [ + { + "code": "120100", + "label": "天津市", + "value": "天津市", + "children": [ + { "code": "120101", "label": "和平区", "value": "和平区" }, + { "code": "120102", "label": "河东区", "value": "河东区" }, + { "code": "120103", "label": "河西区", "value": "河西区" }, + { "code": "120104", "label": "南开区", "value": "南开区" }, + { "code": "120105", "label": "河北区", "value": "河北区" }, + { "code": "120106", "label": "红桥区", "value": "红桥区" }, + { "code": "120110", "label": "东丽区", "value": "东丽区" }, + { "code": "120111", "label": "西青区", "value": "西青区" }, + { "code": "120112", "label": "津南区", "value": "津南区" }, + { "code": "120113", "label": "北辰区", "value": "北辰区" }, + { "code": "120114", "label": "武清区", "value": "武清区" }, + { "code": "120115", "label": "宝坻区", "value": "宝坻区" }, + { "code": "120116", "label": "滨海新区", "value": "滨海新区" }, + { "code": "120117", "label": "静海区", "value": "静海区" }, + { "code": "120118", "label": "蓟州区", "value": "蓟州区" } + ] + } + ] + }, + { + "code": "130000", + "value": "河北省", + "label": "河北省", + "children": [ + { + "code": "130100", + "value": "石家庄市", + "label": "石家庄市", + "children": [ + { + "code": "130102", + "value": "长安区", + "label": "长安区" + }, + { + "code": "130104", + "value": "桥西区", + "label": "桥西区" + }, + { + "code": "130105", + "value": "新华区", + "label": "新华区" + }, + { + "code": "130107", + "value": "井陉矿区", + "label": "井陉矿区" + }, + { + "code": "130108", + "value": "裕华区", + "label": "裕华区" + }, + { + "code": "130109", + "value": "藁城区", + "label": "藁城区" + }, + { + "code": "130110", + "value": "鹿泉区", + "label": "鹿泉区" + }, + { + "code": "130111", + "value": "栾城区", + "label": "栾城区" + }, + { + "code": "130121", + "value": "井陉县", + "label": "井陉县" + }, + { + "code": "130123", + "value": "正定县", + "label": "正定县" + }, + { + "code": "130125", + "value": "行唐县", + "label": "行唐县" + }, + { + "code": "130126", + "value": "灵寿县", + "label": "灵寿县" + }, + { + "code": "130127", + "value": "高邑县", + "label": "高邑县" + }, + { + "code": "130128", + "value": "深泽县", + "label": "深泽县" + }, + { + "code": "130129", + "value": "赞皇县", + "label": "赞皇县" + }, + { + "code": "130130", + "value": "无极县", + "label": "无极县" + }, + { + "code": "130131", + "value": "平山县", + "label": "平山县" + }, + { + "code": "130132", + "value": "元氏县", + "label": "元氏县" + }, + { + "code": "130133", + "value": "赵县", + "label": "赵县" + }, + { + "code": "130181", + "value": "辛集市", + "label": "辛集市" + }, + { + "code": "130183", + "value": "晋州市", + "label": "晋州市" + }, + { + "code": "130184", + "value": "新乐市", + "label": "新乐市" + } + ] + }, + { + "code": "130200", + "value": "唐山市", + "label": "唐山市", + "children": [ + { + "code": "130202", + "value": "路南区", + "label": "路南区" + }, + { + "code": "130203", + "value": "路北区", + "label": "路北区" + }, + { + "code": "130204", + "value": "古冶区", + "label": "古冶区" + }, + { + "code": "130205", + "value": "开平区", + "label": "开平区" + }, + { + "code": "130207", + "value": "丰南区", + "label": "丰南区" + }, + { + "code": "130208", + "value": "丰润区", + "label": "丰润区" + }, + { + "code": "130209", + "value": "曹妃甸区", + "label": "曹妃甸区" + }, + { + "code": "130224", + "value": "滦南县", + "label": "滦南县" + }, + { + "code": "130225", + "value": "乐亭县", + "label": "乐亭县" + }, + { + "code": "130227", + "value": "迁西县", + "label": "迁西县" + }, + { + "code": "130229", + "value": "玉田县", + "label": "玉田县" + }, + { + "code": "130281", + "value": "遵化市", + "label": "遵化市" + }, + { + "code": "130283", + "value": "迁安市", + "label": "迁安市" + }, + { + "code": "130284", + "value": "滦州市", + "label": "滦州市" + } + ] + }, + { + "code": "130300", + "value": "秦皇岛市", + "label": "秦皇岛市", + "children": [ + { + "code": "130302", + "value": "海港区", + "label": "海港区" + }, + { + "code": "130303", + "value": "山海关区", + "label": "山海关区" + }, + { + "code": "130304", + "value": "北戴河区", + "label": "北戴河区" + }, + { + "code": "130306", + "value": "抚宁区", + "label": "抚宁区" + }, + { + "code": "130321", + "value": "青龙满族自治县", + "label": "青龙满族自治县" + }, + { + "code": "130322", + "value": "昌黎县", + "label": "昌黎县" + }, + { + "code": "130324", + "value": "卢龙县", + "label": "卢龙县" + } + ] + }, + { + "code": "130400", + "value": "邯郸市", + "label": "邯郸市", + "children": [ + { + "code": "130402", + "value": "邯山区", + "label": "邯山区" + }, + { + "code": "130403", + "value": "丛台区", + "label": "丛台区" + }, + { + "code": "130404", + "value": "复兴区", + "label": "复兴区" + }, + { + "code": "130406", + "value": "峰峰矿区", + "label": "峰峰矿区" + }, + { + "code": "130407", + "value": "肥乡区", + "label": "肥乡区" + }, + { + "code": "130408", + "value": "永年区", + "label": "永年区" + }, + { + "code": "130423", + "value": "临漳县", + "label": "临漳县" + }, + { + "code": "130424", + "value": "成安县", + "label": "成安县" + }, + { + "code": "130425", + "value": "大名县", + "label": "大名县" + }, + { + "code": "130426", + "value": "涉县", + "label": "涉县" + }, + { + "code": "130427", + "value": "磁县", + "label": "磁县" + }, + { + "code": "130430", + "value": "邱县", + "label": "邱县" + }, + { + "code": "130431", + "value": "鸡泽县", + "label": "鸡泽县" + }, + { + "code": "130432", + "value": "广平县", + "label": "广平县" + }, + { + "code": "130433", + "value": "馆陶县", + "label": "馆陶县" + }, + { + "code": "130434", + "value": "魏县", + "label": "魏县" + }, + { + "code": "130435", + "value": "曲周县", + "label": "曲周县" + }, + { + "code": "130481", + "value": "武安市", + "label": "武安市" + } + ] + }, + { + "code": "130500", + "value": "邢台市", + "label": "邢台市", + "children": [ + { + "code": "130502", + "value": "襄都区", + "label": "襄都区" + }, + { + "code": "130503", + "value": "信都区", + "label": "信都区" + }, + { + "code": "130505", + "value": "任泽区", + "label": "任泽区" + }, + { + "code": "130506", + "value": "南和区", + "label": "南和区" + }, + { + "code": "130522", + "value": "临城县", + "label": "临城县" + }, + { + "code": "130523", + "value": "内丘县", + "label": "内丘县" + }, + { + "code": "130524", + "value": "柏乡县", + "label": "柏乡县" + }, + { + "code": "130525", + "value": "隆尧县", + "label": "隆尧县" + }, + { + "code": "130528", + "value": "宁晋县", + "label": "宁晋县" + }, + { + "code": "130529", + "value": "巨鹿县", + "label": "巨鹿县" + }, + { + "code": "130530", + "value": "新河县", + "label": "新河县" + }, + { + "code": "130531", + "value": "广宗县", + "label": "广宗县" + }, + { + "code": "130532", + "value": "平乡县", + "label": "平乡县" + }, + { + "code": "130533", + "value": "威县", + "label": "威县" + }, + { + "code": "130534", + "value": "清河县", + "label": "清河县" + }, + { + "code": "130535", + "value": "临西县", + "label": "临西县" + }, + { + "code": "130581", + "value": "南宫市", + "label": "南宫市" + }, + { + "code": "130582", + "value": "沙河市", + "label": "沙河市" + } + ] + }, + { + "code": "130600", + "value": "保定市", + "label": "保定市", + "children": [ + { + "code": "130602", + "value": "竞秀区", + "label": "竞秀区" + }, + { + "code": "130606", + "value": "莲池区", + "label": "莲池区" + }, + { + "code": "130607", + "value": "满城区", + "label": "满城区" + }, + { + "code": "130608", + "value": "清苑区", + "label": "清苑区" + }, + { + "code": "130609", + "value": "徐水区", + "label": "徐水区" + }, + { + "code": "130623", + "value": "涞水县", + "label": "涞水县" + }, + { + "code": "130624", + "value": "阜平县", + "label": "阜平县" + }, + { + "code": "130626", + "value": "定兴县", + "label": "定兴县" + }, + { + "code": "130627", + "value": "唐县", + "label": "唐县" + }, + { + "code": "130628", + "value": "高阳县", + "label": "高阳县" + }, + { + "code": "130629", + "value": "容城县", + "label": "容城县" + }, + { + "code": "130630", + "value": "涞源县", + "label": "涞源县" + }, + { + "code": "130631", + "value": "望都县", + "label": "望都县" + }, + { + "code": "130632", + "value": "安新县", + "label": "安新县" + }, + { + "code": "130633", + "value": "易县", + "label": "易县" + }, + { + "code": "130634", + "value": "曲阳县", + "label": "曲阳县" + }, + { + "code": "130635", + "value": "蠡县", + "label": "蠡县" + }, + { + "code": "130636", + "value": "顺平县", + "label": "顺平县" + }, + { + "code": "130637", + "value": "博野县", + "label": "博野县" + }, + { + "code": "130638", + "value": "雄县", + "label": "雄县" + }, + { + "code": "130681", + "value": "涿州市", + "label": "涿州市" + }, + { + "code": "130682", + "value": "定州市", + "label": "定州市" + }, + { + "code": "130683", + "value": "安国市", + "label": "安国市" + }, + { + "code": "130684", + "value": "高碑店市", + "label": "高碑店市" + } + ] + }, + { + "code": "130700", + "value": "张家口市", + "label": "张家口市", + "children": [ + { + "code": "130702", + "value": "桥东区", + "label": "桥东区" + }, + { + "code": "130703", + "value": "桥西区", + "label": "桥西区" + }, + { + "code": "130705", + "value": "宣化区", + "label": "宣化区" + }, + { + "code": "130706", + "value": "下花园区", + "label": "下花园区" + }, + { + "code": "130708", + "value": "万全区", + "label": "万全区" + }, + { + "code": "130709", + "value": "崇礼区", + "label": "崇礼区" + }, + { + "code": "130722", + "value": "张北县", + "label": "张北县" + }, + { + "code": "130723", + "value": "康保县", + "label": "康保县" + }, + { + "code": "130724", + "value": "沽源县", + "label": "沽源县" + }, + { + "code": "130725", + "value": "尚义县", + "label": "尚义县" + }, + { + "code": "130726", + "value": "蔚县", + "label": "蔚县" + }, + { + "code": "130727", + "value": "阳原县", + "label": "阳原县" + }, + { + "code": "130728", + "value": "怀安县", + "label": "怀安县" + }, + { + "code": "130730", + "value": "怀来县", + "label": "怀来县" + }, + { + "code": "130731", + "value": "涿鹿县", + "label": "涿鹿县" + }, + { + "code": "130732", + "value": "赤城县", + "label": "赤城县" + } + ] + }, + { + "code": "130800", + "value": "承德市", + "label": "承德市", + "children": [ + { + "code": "130802", + "value": "双桥区", + "label": "双桥区" + }, + { + "code": "130803", + "value": "双滦区", + "label": "双滦区" + }, + { + "code": "130804", + "value": "鹰手营子矿区", + "label": "鹰手营子矿区" + }, + { + "code": "130821", + "value": "承德县", + "label": "承德县" + }, + { + "code": "130822", + "value": "兴隆县", + "label": "兴隆县" + }, + { + "code": "130824", + "value": "滦平县", + "label": "滦平县" + }, + { + "code": "130825", + "value": "隆化县", + "label": "隆化县" + }, + { + "code": "130826", + "value": "丰宁满族自治县", + "label": "丰宁满族自治县" + }, + { + "code": "130827", + "value": "宽城满族自治县", + "label": "宽城满族自治县" + }, + { + "code": "130828", + "value": "围场满族蒙古族自治县", + "label": "围场满族蒙古族自治县" + }, + { + "code": "130881", + "value": "平泉市", + "label": "平泉市" + } + ] + }, + { + "code": "130900", + "value": "沧州市", + "label": "沧州市", + "children": [ + { + "code": "130902", + "value": "新华区", + "label": "新华区" + }, + { + "code": "130903", + "value": "运河区", + "label": "运河区" + }, + { + "code": "130921", + "value": "沧县", + "label": "沧县" + }, + { + "code": "130922", + "value": "青县", + "label": "青县" + }, + { + "code": "130923", + "value": "东光县", + "label": "东光县" + }, + { + "code": "130924", + "value": "海兴县", + "label": "海兴县" + }, + { + "code": "130925", + "value": "盐山县", + "label": "盐山县" + }, + { + "code": "130926", + "value": "肃宁县", + "label": "肃宁县" + }, + { + "code": "130927", + "value": "南皮县", + "label": "南皮县" + }, + { + "code": "130928", + "value": "吴桥县", + "label": "吴桥县" + }, + { + "code": "130929", + "value": "献县", + "label": "献县" + }, + { + "code": "130930", + "value": "孟村回族自治县", + "label": "孟村回族自治县" + }, + { + "code": "130981", + "value": "泊头市", + "label": "泊头市" + }, + { + "code": "130982", + "value": "任丘市", + "label": "任丘市" + }, + { + "code": "130983", + "value": "黄骅市", + "label": "黄骅市" + }, + { + "code": "130984", + "value": "河间市", + "label": "河间市" + } + ] + }, + { + "code": "131000", + "value": "廊坊市", + "label": "廊坊市", + "children": [ + { + "code": "131002", + "value": "安次区", + "label": "安次区" + }, + { + "code": "131003", + "value": "广阳区", + "label": "广阳区" + }, + { + "code": "131022", + "value": "固安县", + "label": "固安县" + }, + { + "code": "131023", + "value": "永清县", + "label": "永清县" + }, + { + "code": "131024", + "value": "香河县", + "label": "香河县" + }, + { + "code": "131025", + "value": "大城县", + "label": "大城县" + }, + { + "code": "131026", + "value": "文安县", + "label": "文安县" + }, + { + "code": "131028", + "value": "大厂回族自治县", + "label": "大厂回族自治县" + }, + { + "code": "131081", + "value": "霸州市", + "label": "霸州市" + }, + { + "code": "131082", + "value": "三河市", + "label": "三河市" + } + ] + }, + { + "code": "131100", + "value": "衡水市", + "label": "衡水市", + "children": [ + { + "code": "131102", + "value": "桃城区", + "label": "桃城区" + }, + { + "code": "131103", + "value": "冀州区", + "label": "冀州区" + }, + { + "code": "131121", + "value": "枣强县", + "label": "枣强县" + }, + { + "code": "131122", + "value": "武邑县", + "label": "武邑县" + }, + { + "code": "131123", + "value": "武强县", + "label": "武强县" + }, + { + "code": "131124", + "value": "饶阳县", + "label": "饶阳县" + }, + { + "code": "131125", + "value": "安平县", + "label": "安平县" + }, + { + "code": "131126", + "value": "故城县", + "label": "故城县" + }, + { + "code": "131127", + "value": "景县", + "label": "景县" + }, + { + "code": "131128", + "value": "阜城县", + "label": "阜城县" + }, + { + "code": "131182", + "value": "深州市", + "label": "深州市" + } + ] + } + ] + }, + { + "code": "140000", + "value": "山西省", + "label": "山西省", + "children": [ + { + "code": "140100", + "value": "太原市", + "label": "太原市", + "children": [ + { + "code": "140105", + "value": "小店区", + "label": "小店区" + }, + { + "code": "140106", + "value": "迎泽区", + "label": "迎泽区" + }, + { + "code": "140107", + "value": "杏花岭区", + "label": "杏花岭区" + }, + { + "code": "140108", + "value": "尖草坪区", + "label": "尖草坪区" + }, + { + "code": "140109", + "value": "万柏林区", + "label": "万柏林区" + }, + { + "code": "140110", + "value": "晋源区", + "label": "晋源区" + }, + { + "code": "140121", + "value": "清徐县", + "label": "清徐县" + }, + { + "code": "140122", + "value": "阳曲县", + "label": "阳曲县" + }, + { + "code": "140123", + "value": "娄烦县", + "label": "娄烦县" + }, + { + "code": "140181", + "value": "古交市", + "label": "古交市" + } + ] + }, + { + "code": "140200", + "value": "大同市", + "label": "大同市", + "children": [ + { + "code": "140212", + "value": "新荣区", + "label": "新荣区" + }, + { + "code": "140213", + "value": "平城区", + "label": "平城区" + }, + { + "code": "140214", + "value": "云冈区", + "label": "云冈区" + }, + { + "code": "140215", + "value": "云州区", + "label": "云州区" + }, + { + "code": "140221", + "value": "阳高县", + "label": "阳高县" + }, + { + "code": "140222", + "value": "天镇县", + "label": "天镇县" + }, + { + "code": "140223", + "value": "广灵县", + "label": "广灵县" + }, + { + "code": "140224", + "value": "灵丘县", + "label": "灵丘县" + }, + { + "code": "140225", + "value": "浑源县", + "label": "浑源县" + }, + { + "code": "140226", + "value": "左云县", + "label": "左云县" + } + ] + }, + { + "code": "140300", + "value": "阳泉市", + "label": "阳泉市", + "children": [ + { + "code": "140302", + "value": "城区", + "label": "城区" + }, + { + "code": "140303", + "value": "矿区", + "label": "矿区" + }, + { + "code": "140311", + "value": "郊区", + "label": "郊区" + }, + { + "code": "140321", + "value": "平定县", + "label": "平定县" + }, + { + "code": "140322", + "value": "盂县", + "label": "盂县" + } + ] + }, + { + "code": "140400", + "value": "长治市", + "label": "长治市", + "children": [ + { + "code": "140403", + "value": "潞州区", + "label": "潞州区" + }, + { + "code": "140404", + "value": "上党区", + "label": "上党区" + }, + { + "code": "140405", + "value": "屯留区", + "label": "屯留区" + }, + { + "code": "140406", + "value": "潞城区", + "label": "潞城区" + }, + { + "code": "140423", + "value": "襄垣县", + "label": "襄垣县" + }, + { + "code": "140425", + "value": "平顺县", + "label": "平顺县" + }, + { + "code": "140426", + "value": "黎城县", + "label": "黎城县" + }, + { + "code": "140427", + "value": "壶关县", + "label": "壶关县" + }, + { + "code": "140428", + "value": "长子县", + "label": "长子县" + }, + { + "code": "140429", + "value": "武乡县", + "label": "武乡县" + }, + { + "code": "140430", + "value": "沁县", + "label": "沁县" + }, + { + "code": "140431", + "value": "沁源县", + "label": "沁源县" + } + ] + }, + { + "code": "140500", + "value": "晋城市", + "label": "晋城市", + "children": [ + { + "code": "140502", + "value": "城区", + "label": "城区" + }, + { + "code": "140521", + "value": "沁水县", + "label": "沁水县" + }, + { + "code": "140522", + "value": "阳城县", + "label": "阳城县" + }, + { + "code": "140524", + "value": "陵川县", + "label": "陵川县" + }, + { + "code": "140525", + "value": "泽州县", + "label": "泽州县" + }, + { + "code": "140581", + "value": "高平市", + "label": "高平市" + } + ] + }, + { + "code": "140600", + "value": "朔州市", + "label": "朔州市", + "children": [ + { + "code": "140602", + "value": "朔城区", + "label": "朔城区" + }, + { + "code": "140603", + "value": "平鲁区", + "label": "平鲁区" + }, + { + "code": "140621", + "value": "山阴县", + "label": "山阴县" + }, + { + "code": "140622", + "value": "应县", + "label": "应县" + }, + { + "code": "140623", + "value": "右玉县", + "label": "右玉县" + }, + { + "code": "140681", + "value": "怀仁市", + "label": "怀仁市" + } + ] + }, + { + "code": "140700", + "value": "晋中市", + "label": "晋中市", + "children": [ + { + "code": "140702", + "value": "榆次区", + "label": "榆次区" + }, + { + "code": "140703", + "value": "太谷区", + "label": "太谷区" + }, + { + "code": "140721", + "value": "榆社县", + "label": "榆社县" + }, + { + "code": "140722", + "value": "左权县", + "label": "左权县" + }, + { + "code": "140723", + "value": "和顺县", + "label": "和顺县" + }, + { + "code": "140724", + "value": "昔阳县", + "label": "昔阳县" + }, + { + "code": "140725", + "value": "寿阳县", + "label": "寿阳县" + }, + { + "code": "140727", + "value": "祁县", + "label": "祁县" + }, + { + "code": "140728", + "value": "平遥县", + "label": "平遥县" + }, + { + "code": "140729", + "value": "灵石县", + "label": "灵石县" + }, + { + "code": "140781", + "value": "介休市", + "label": "介休市" + } + ] + }, + { + "code": "140800", + "value": "运城市", + "label": "运城市", + "children": [ + { + "code": "140802", + "value": "盐湖区", + "label": "盐湖区" + }, + { + "code": "140821", + "value": "临猗县", + "label": "临猗县" + }, + { + "code": "140822", + "value": "万荣县", + "label": "万荣县" + }, + { + "code": "140823", + "value": "闻喜县", + "label": "闻喜县" + }, + { + "code": "140824", + "value": "稷山县", + "label": "稷山县" + }, + { + "code": "140825", + "value": "新绛县", + "label": "新绛县" + }, + { + "code": "140826", + "value": "绛县", + "label": "绛县" + }, + { + "code": "140827", + "value": "垣曲县", + "label": "垣曲县" + }, + { + "code": "140828", + "value": "夏县", + "label": "夏县" + }, + { + "code": "140829", + "value": "平陆县", + "label": "平陆县" + }, + { + "code": "140830", + "value": "芮城县", + "label": "芮城县" + }, + { + "code": "140881", + "value": "永济市", + "label": "永济市" + }, + { + "code": "140882", + "value": "河津市", + "label": "河津市" + } + ] + }, + { + "code": "140900", + "value": "忻州市", + "label": "忻州市", + "children": [ + { + "code": "140902", + "value": "忻府区", + "label": "忻府区" + }, + { + "code": "140921", + "value": "定襄县", + "label": "定襄县" + }, + { + "code": "140922", + "value": "五台县", + "label": "五台县" + }, + { + "code": "140923", + "value": "代县", + "label": "代县" + }, + { + "code": "140924", + "value": "繁峙县", + "label": "繁峙县" + }, + { + "code": "140925", + "value": "宁武县", + "label": "宁武县" + }, + { + "code": "140926", + "value": "静乐县", + "label": "静乐县" + }, + { + "code": "140927", + "value": "神池县", + "label": "神池县" + }, + { + "code": "140928", + "value": "五寨县", + "label": "五寨县" + }, + { + "code": "140929", + "value": "岢岚县", + "label": "岢岚县" + }, + { + "code": "140930", + "value": "河曲县", + "label": "河曲县" + }, + { + "code": "140931", + "value": "保德县", + "label": "保德县" + }, + { + "code": "140932", + "value": "偏关县", + "label": "偏关县" + }, + { + "code": "140981", + "value": "原平市", + "label": "原平市" + } + ] + }, + { + "code": "141000", + "value": "临汾市", + "label": "临汾市", + "children": [ + { + "code": "141002", + "value": "尧都区", + "label": "尧都区" + }, + { + "code": "141021", + "value": "曲沃县", + "label": "曲沃县" + }, + { + "code": "141022", + "value": "翼城县", + "label": "翼城县" + }, + { + "code": "141023", + "value": "襄汾县", + "label": "襄汾县" + }, + { + "code": "141024", + "value": "洪洞县", + "label": "洪洞县" + }, + { + "code": "141025", + "value": "古县", + "label": "古县" + }, + { + "code": "141026", + "value": "安泽县", + "label": "安泽县" + }, + { + "code": "141027", + "value": "浮山县", + "label": "浮山县" + }, + { + "code": "141028", + "value": "吉县", + "label": "吉县" + }, + { + "code": "141029", + "value": "乡宁县", + "label": "乡宁县" + }, + { + "code": "141030", + "value": "大宁县", + "label": "大宁县" + }, + { + "code": "141031", + "value": "隰县", + "label": "隰县" + }, + { + "code": "141032", + "value": "永和县", + "label": "永和县" + }, + { + "code": "141033", + "value": "蒲县", + "label": "蒲县" + }, + { + "code": "141034", + "value": "汾西县", + "label": "汾西县" + }, + { + "code": "141081", + "value": "侯马市", + "label": "侯马市" + }, + { + "code": "141082", + "value": "霍州市", + "label": "霍州市" + } + ] + }, + { + "code": "141100", + "value": "吕梁市", + "label": "吕梁市", + "children": [ + { + "code": "141102", + "value": "离石区", + "label": "离石区" + }, + { + "code": "141121", + "value": "文水县", + "label": "文水县" + }, + { + "code": "141122", + "value": "交城县", + "label": "交城县" + }, + { + "code": "141123", + "value": "兴县", + "label": "兴县" + }, + { + "code": "141124", + "value": "临县", + "label": "临县" + }, + { + "code": "141125", + "value": "柳林县", + "label": "柳林县" + }, + { + "code": "141126", + "value": "石楼县", + "label": "石楼县" + }, + { + "code": "141127", + "value": "岚县", + "label": "岚县" + }, + { + "code": "141128", + "value": "方山县", + "label": "方山县" + }, + { + "code": "141129", + "value": "中阳县", + "label": "中阳县" + }, + { + "code": "141130", + "value": "交口县", + "label": "交口县" + }, + { + "code": "141181", + "value": "孝义市", + "label": "孝义市" + }, + { + "code": "141182", + "value": "汾阳市", + "label": "汾阳市" + } + ] + } + ] + }, + { + "code": "150000", + "value": "内蒙古自治区", + "label": "内蒙古自治区", + "children": [ + { + "code": "150100", + "value": "呼和浩特市", + "label": "呼和浩特市", + "children": [ + { + "code": "150102", + "value": "新城区", + "label": "新城区" + }, + { + "code": "150103", + "value": "回民区", + "label": "回民区" + }, + { + "code": "150104", + "value": "玉泉区", + "label": "玉泉区" + }, + { + "code": "150105", + "value": "赛罕区", + "label": "赛罕区" + }, + { + "code": "150121", + "value": "土默特左旗", + "label": "土默特左旗" + }, + { + "code": "150122", + "value": "托克托县", + "label": "托克托县" + }, + { + "code": "150123", + "value": "和林格尔县", + "label": "和林格尔县" + }, + { + "code": "150124", + "value": "清水河县", + "label": "清水河县" + }, + { + "code": "150125", + "value": "武川县", + "label": "武川县" + } + ] + }, + { + "code": "150200", + "value": "包头市", + "label": "包头市", + "children": [ + { + "code": "150202", + "value": "东河区", + "label": "东河区" + }, + { + "code": "150203", + "value": "昆都仑区", + "label": "昆都仑区" + }, + { + "code": "150204", + "value": "青山区", + "label": "青山区" + }, + { + "code": "150205", + "value": "石拐区", + "label": "石拐区" + }, + { + "code": "150206", + "value": "白云鄂博矿区", + "label": "白云鄂博矿区" + }, + { + "code": "150207", + "value": "九原区", + "label": "九原区" + }, + { + "code": "150221", + "value": "土默特右旗", + "label": "土默特右旗" + }, + { + "code": "150222", + "value": "固阳县", + "label": "固阳县" + }, + { + "code": "150223", + "value": "达尔罕茂明安联合旗", + "label": "达尔罕茂明安联合旗" + } + ] + }, + { + "code": "150300", + "value": "乌海市", + "label": "乌海市", + "children": [ + { + "code": "150302", + "value": "海勃湾区", + "label": "海勃湾区" + }, + { + "code": "150303", + "value": "海南区", + "label": "海南区" + }, + { + "code": "150304", + "value": "乌达区", + "label": "乌达区" + } + ] + }, + { + "code": "150400", + "value": "赤峰市", + "label": "赤峰市", + "children": [ + { + "code": "150402", + "value": "红山区", + "label": "红山区" + }, + { + "code": "150403", + "value": "元宝山区", + "label": "元宝山区" + }, + { + "code": "150404", + "value": "松山区", + "label": "松山区" + }, + { + "code": "150421", + "value": "阿鲁科尔沁旗", + "label": "阿鲁科尔沁旗" + }, + { + "code": "150422", + "value": "巴林左旗", + "label": "巴林左旗" + }, + { + "code": "150423", + "value": "巴林右旗", + "label": "巴林右旗" + }, + { + "code": "150424", + "value": "林西县", + "label": "林西县" + }, + { + "code": "150425", + "value": "克什克腾旗", + "label": "克什克腾旗" + }, + { + "code": "150426", + "value": "翁牛特旗", + "label": "翁牛特旗" + }, + { + "code": "150428", + "value": "喀喇沁旗", + "label": "喀喇沁旗" + }, + { + "code": "150429", + "value": "宁城县", + "label": "宁城县" + }, + { + "code": "150430", + "value": "敖汉旗", + "label": "敖汉旗" + } + ] + }, + { + "code": "150500", + "value": "通辽市", + "label": "通辽市", + "children": [ + { + "code": "150502", + "value": "科尔沁区", + "label": "科尔沁区" + }, + { + "code": "150521", + "value": "科尔沁左翼中旗", + "label": "科尔沁左翼中旗" + }, + { + "code": "150522", + "value": "科尔沁左翼后旗", + "label": "科尔沁左翼后旗" + }, + { + "code": "150523", + "value": "开鲁县", + "label": "开鲁县" + }, + { + "code": "150524", + "value": "库伦旗", + "label": "库伦旗" + }, + { + "code": "150525", + "value": "奈曼旗", + "label": "奈曼旗" + }, + { + "code": "150526", + "value": "扎鲁特旗", + "label": "扎鲁特旗" + }, + { + "code": "150581", + "value": "霍林郭勒市", + "label": "霍林郭勒市" + } + ] + }, + { + "code": "150600", + "value": "鄂尔多斯市", + "label": "鄂尔多斯市", + "children": [ + { + "code": "150602", + "value": "东胜区", + "label": "东胜区" + }, + { + "code": "150603", + "value": "康巴什区", + "label": "康巴什区" + }, + { + "code": "150621", + "value": "达拉特旗", + "label": "达拉特旗" + }, + { + "code": "150622", + "value": "准格尔旗", + "label": "准格尔旗" + }, + { + "code": "150623", + "value": "鄂托克前旗", + "label": "鄂托克前旗" + }, + { + "code": "150624", + "value": "鄂托克旗", + "label": "鄂托克旗" + }, + { + "code": "150625", + "value": "杭锦旗", + "label": "杭锦旗" + }, + { + "code": "150626", + "value": "乌审旗", + "label": "乌审旗" + }, + { + "code": "150627", + "value": "伊金霍洛旗", + "label": "伊金霍洛旗" + } + ] + }, + { + "code": "150700", + "value": "呼伦贝尔市", + "label": "呼伦贝尔市", + "children": [ + { + "code": "150702", + "value": "海拉尔区", + "label": "海拉尔区" + }, + { + "code": "150703", + "value": "扎赉诺尔区", + "label": "扎赉诺尔区" + }, + { + "code": "150721", + "value": "阿荣旗", + "label": "阿荣旗" + }, + { + "code": "150722", + "value": "莫力达瓦达斡尔族自治旗", + "label": "莫力达瓦达斡尔族自治旗" + }, + { + "code": "150723", + "value": "鄂伦春自治旗", + "label": "鄂伦春自治旗" + }, + { + "code": "150724", + "value": "鄂温克族自治旗", + "label": "鄂温克族自治旗" + }, + { + "code": "150725", + "value": "陈巴尔虎旗", + "label": "陈巴尔虎旗" + }, + { + "code": "150726", + "value": "新巴尔虎左旗", + "label": "新巴尔虎左旗" + }, + { + "code": "150727", + "value": "新巴尔虎右旗", + "label": "新巴尔虎右旗" + }, + { + "code": "150781", + "value": "满洲里市", + "label": "满洲里市" + }, + { + "code": "150782", + "value": "牙克石市", + "label": "牙克石市" + }, + { + "code": "150783", + "value": "扎兰屯市", + "label": "扎兰屯市" + }, + { + "code": "150784", + "value": "额尔古纳市", + "label": "额尔古纳市" + }, + { + "code": "150785", + "value": "根河市", + "label": "根河市" + } + ] + }, + { + "code": "150800", + "value": "巴彦淖尔市", + "label": "巴彦淖尔市", + "children": [ + { + "code": "150802", + "value": "临河区", + "label": "临河区" + }, + { + "code": "150821", + "value": "五原县", + "label": "五原县" + }, + { + "code": "150822", + "value": "磴口县", + "label": "磴口县" + }, + { + "code": "150823", + "value": "乌拉特前旗", + "label": "乌拉特前旗" + }, + { + "code": "150824", + "value": "乌拉特中旗", + "label": "乌拉特中旗" + }, + { + "code": "150825", + "value": "乌拉特后旗", + "label": "乌拉特后旗" + }, + { + "code": "150826", + "value": "杭锦后旗", + "label": "杭锦后旗" + } + ] + }, + { + "code": "150900", + "value": "乌兰察布市", + "label": "乌兰察布市", + "children": [ + { + "code": "150902", + "value": "集宁区", + "label": "集宁区" + }, + { + "code": "150921", + "value": "卓资县", + "label": "卓资县" + }, + { + "code": "150922", + "value": "化德县", + "label": "化德县" + }, + { + "code": "150923", + "value": "商都县", + "label": "商都县" + }, + { + "code": "150924", + "value": "兴和县", + "label": "兴和县" + }, + { + "code": "150925", + "value": "凉城县", + "label": "凉城县" + }, + { + "code": "150926", + "value": "察哈尔右翼前旗", + "label": "察哈尔右翼前旗" + }, + { + "code": "150927", + "value": "察哈尔右翼中旗", + "label": "察哈尔右翼中旗" + }, + { + "code": "150928", + "value": "察哈尔右翼后旗", + "label": "察哈尔右翼后旗" + }, + { + "code": "150929", + "value": "四子王旗", + "label": "四子王旗" + }, + { + "code": "150981", + "value": "丰镇市", + "label": "丰镇市" + } + ] + }, + { + "code": "152200", + "value": "兴安盟", + "label": "兴安盟", + "children": [ + { + "code": "152201", + "value": "乌兰浩特市", + "label": "乌兰浩特市" + }, + { + "code": "152202", + "value": "阿尔山市", + "label": "阿尔山市" + }, + { + "code": "152221", + "value": "科尔沁右翼前旗", + "label": "科尔沁右翼前旗" + }, + { + "code": "152222", + "value": "科尔沁右翼中旗", + "label": "科尔沁右翼中旗" + }, + { + "code": "152223", + "value": "扎赉特旗", + "label": "扎赉特旗" + }, + { + "code": "152224", + "value": "突泉县", + "label": "突泉县" + } + ] + }, + { + "code": "152500", + "value": "锡林郭勒盟", + "label": "锡林郭勒盟", + "children": [ + { + "code": "152501", + "value": "二连浩特市", + "label": "二连浩特市" + }, + { + "code": "152502", + "value": "锡林浩特市", + "label": "锡林浩特市" + }, + { + "code": "152522", + "value": "阿巴嘎旗", + "label": "阿巴嘎旗" + }, + { + "code": "152523", + "value": "苏尼特左旗", + "label": "苏尼特左旗" + }, + { + "code": "152524", + "value": "苏尼特右旗", + "label": "苏尼特右旗" + }, + { + "code": "152525", + "value": "东乌珠穆沁旗", + "label": "东乌珠穆沁旗" + }, + { + "code": "152526", + "value": "西乌珠穆沁旗", + "label": "西乌珠穆沁旗" + }, + { + "code": "152527", + "value": "太仆寺旗", + "label": "太仆寺旗" + }, + { + "code": "152528", + "value": "镶黄旗", + "label": "镶黄旗" + }, + { + "code": "152529", + "value": "正镶白旗", + "label": "正镶白旗" + }, + { + "code": "152530", + "value": "正蓝旗", + "label": "正蓝旗" + }, + { + "code": "152531", + "value": "多伦县", + "label": "多伦县" + } + ] + }, + { + "code": "152900", + "value": "阿拉善盟", + "label": "阿拉善盟", + "children": [ + { + "code": "152921", + "value": "阿拉善左旗", + "label": "阿拉善左旗" + }, + { + "code": "152922", + "value": "阿拉善右旗", + "label": "阿拉善右旗" + }, + { + "code": "152923", + "value": "额济纳旗", + "label": "额济纳旗" + } + ] + } + ] + }, + { + "code": "210000", + "value": "辽宁省", + "label": "辽宁省", + "children": [ + { + "code": "210100", + "value": "沈阳市", + "label": "沈阳市", + "children": [ + { + "code": "210102", + "value": "和平区", + "label": "和平区" + }, + { + "code": "210103", + "value": "沈河区", + "label": "沈河区" + }, + { + "code": "210104", + "value": "大东区", + "label": "大东区" + }, + { + "code": "210105", + "value": "皇姑区", + "label": "皇姑区" + }, + { + "code": "210106", + "value": "铁西区", + "label": "铁西区" + }, + { + "code": "210111", + "value": "苏家屯区", + "label": "苏家屯区" + }, + { + "code": "210112", + "value": "浑南区", + "label": "浑南区" + }, + { + "code": "210113", + "value": "沈北新区", + "label": "沈北新区" + }, + { + "code": "210114", + "value": "于洪区", + "label": "于洪区" + }, + { + "code": "210115", + "value": "辽中区", + "label": "辽中区" + }, + { + "code": "210123", + "value": "康平县", + "label": "康平县" + }, + { + "code": "210124", + "value": "法库县", + "label": "法库县" + }, + { + "code": "210181", + "value": "新民市", + "label": "新民市" + } + ] + }, + { + "code": "210200", + "value": "大连市", + "label": "大连市", + "children": [ + { + "code": "210202", + "value": "中山区", + "label": "中山区" + }, + { + "code": "210203", + "value": "西岗区", + "label": "西岗区" + }, + { + "code": "210204", + "value": "沙河口区", + "label": "沙河口区" + }, + { + "code": "210211", + "value": "甘井子区", + "label": "甘井子区" + }, + { + "code": "210212", + "value": "旅顺口区", + "label": "旅顺口区" + }, + { + "code": "210213", + "value": "金州区", + "label": "金州区" + }, + { + "code": "210214", + "value": "普兰店区", + "label": "普兰店区" + }, + { + "code": "210224", + "value": "长海县", + "label": "长海县" + }, + { + "code": "210281", + "value": "瓦房店市", + "label": "瓦房店市" + }, + { + "code": "210283", + "value": "庄河市", + "label": "庄河市" + } + ] + }, + { + "code": "210300", + "value": "鞍山市", + "label": "鞍山市", + "children": [ + { + "code": "210302", + "value": "铁东区", + "label": "铁东区" + }, + { + "code": "210303", + "value": "铁西区", + "label": "铁西区" + }, + { + "code": "210304", + "value": "立山区", + "label": "立山区" + }, + { + "code": "210311", + "value": "千山区", + "label": "千山区" + }, + { + "code": "210321", + "value": "台安县", + "label": "台安县" + }, + { + "code": "210323", + "value": "岫岩满族自治县", + "label": "岫岩满族自治县" + }, + { + "code": "210381", + "value": "海城市", + "label": "海城市" + } + ] + }, + { + "code": "210400", + "value": "抚顺市", + "label": "抚顺市", + "children": [ + { + "code": "210402", + "value": "新抚区", + "label": "新抚区" + }, + { + "code": "210403", + "value": "东洲区", + "label": "东洲区" + }, + { + "code": "210404", + "value": "望花区", + "label": "望花区" + }, + { + "code": "210411", + "value": "顺城区", + "label": "顺城区" + }, + { + "code": "210421", + "value": "抚顺县", + "label": "抚顺县" + }, + { + "code": "210422", + "value": "新宾满族自治县", + "label": "新宾满族自治县" + }, + { + "code": "210423", + "value": "清原满族自治县", + "label": "清原满族自治县" + } + ] + }, + { + "code": "210500", + "value": "本溪市", + "label": "本溪市", + "children": [ + { + "code": "210502", + "value": "平山区", + "label": "平山区" + }, + { + "code": "210503", + "value": "溪湖区", + "label": "溪湖区" + }, + { + "code": "210504", + "value": "明山区", + "label": "明山区" + }, + { + "code": "210505", + "value": "南芬区", + "label": "南芬区" + }, + { + "code": "210521", + "value": "本溪满族自治县", + "label": "本溪满族自治县" + }, + { + "code": "210522", + "value": "桓仁满族自治县", + "label": "桓仁满族自治县" + } + ] + }, + { + "code": "210600", + "value": "丹东市", + "label": "丹东市", + "children": [ + { + "code": "210602", + "value": "元宝区", + "label": "元宝区" + }, + { + "code": "210603", + "value": "振兴区", + "label": "振兴区" + }, + { + "code": "210604", + "value": "振安区", + "label": "振安区" + }, + { + "code": "210624", + "value": "宽甸满族自治县", + "label": "宽甸满族自治县" + }, + { + "code": "210681", + "value": "东港市", + "label": "东港市" + }, + { + "code": "210682", + "value": "凤城市", + "label": "凤城市" + } + ] + }, + { + "code": "210700", + "value": "锦州市", + "label": "锦州市", + "children": [ + { + "code": "210702", + "value": "古塔区", + "label": "古塔区" + }, + { + "code": "210703", + "value": "凌河区", + "label": "凌河区" + }, + { + "code": "210711", + "value": "太和区", + "label": "太和区" + }, + { + "code": "210726", + "value": "黑山县", + "label": "黑山县" + }, + { + "code": "210727", + "value": "义县", + "label": "义县" + }, + { + "code": "210781", + "value": "凌海市", + "label": "凌海市" + }, + { + "code": "210782", + "value": "北镇市", + "label": "北镇市" + } + ] + }, + { + "code": "210800", + "value": "营口市", + "label": "营口市", + "children": [ + { + "code": "210802", + "value": "站前区", + "label": "站前区" + }, + { + "code": "210803", + "value": "西市区", + "label": "西市区" + }, + { + "code": "210804", + "value": "鲅鱼圈区", + "label": "鲅鱼圈区" + }, + { + "code": "210811", + "value": "老边区", + "label": "老边区" + }, + { + "code": "210881", + "value": "盖州市", + "label": "盖州市" + }, + { + "code": "210882", + "value": "大石桥市", + "label": "大石桥市" + } + ] + }, + { + "code": "210900", + "value": "阜新市", + "label": "阜新市", + "children": [ + { + "code": "210902", + "value": "海州区", + "label": "海州区" + }, + { + "code": "210903", + "value": "新邱区", + "label": "新邱区" + }, + { + "code": "210904", + "value": "太平区", + "label": "太平区" + }, + { + "code": "210905", + "value": "清河门区", + "label": "清河门区" + }, + { + "code": "210911", + "value": "细河区", + "label": "细河区" + }, + { + "code": "210921", + "value": "阜新蒙古族自治县", + "label": "阜新蒙古族自治县" + }, + { + "code": "210922", + "value": "彰武县", + "label": "彰武县" + } + ] + }, + { + "code": "211000", + "value": "辽阳市", + "label": "辽阳市", + "children": [ + { + "code": "211002", + "value": "白塔区", + "label": "白塔区" + }, + { + "code": "211003", + "value": "文圣区", + "label": "文圣区" + }, + { + "code": "211004", + "value": "宏伟区", + "label": "宏伟区" + }, + { + "code": "211005", + "value": "弓长岭区", + "label": "弓长岭区" + }, + { + "code": "211011", + "value": "太子河区", + "label": "太子河区" + }, + { + "code": "211021", + "value": "辽阳县", + "label": "辽阳县" + }, + { + "code": "211081", + "value": "灯塔市", + "label": "灯塔市" + } + ] + }, + { + "code": "211100", + "value": "盘锦市", + "label": "盘锦市", + "children": [ + { + "code": "211102", + "value": "双台子区", + "label": "双台子区" + }, + { + "code": "211103", + "value": "兴隆台区", + "label": "兴隆台区" + }, + { + "code": "211104", + "value": "大洼区", + "label": "大洼区" + }, + { + "code": "211122", + "value": "盘山县", + "label": "盘山县" + } + ] + }, + { + "code": "211200", + "value": "铁岭市", + "label": "铁岭市", + "children": [ + { + "code": "211202", + "value": "银州区", + "label": "银州区" + }, + { + "code": "211204", + "value": "清河区", + "label": "清河区" + }, + { + "code": "211221", + "value": "铁岭县", + "label": "铁岭县" + }, + { + "code": "211223", + "value": "西丰县", + "label": "西丰县" + }, + { + "code": "211224", + "value": "昌图县", + "label": "昌图县" + }, + { + "code": "211281", + "value": "调兵山市", + "label": "调兵山市" + }, + { + "code": "211282", + "value": "开原市", + "label": "开原市" + } + ] + }, + { + "code": "211300", + "value": "朝阳市", + "label": "朝阳市", + "children": [ + { + "code": "211302", + "value": "双塔区", + "label": "双塔区" + }, + { + "code": "211303", + "value": "龙城区", + "label": "龙城区" + }, + { + "code": "211321", + "value": "朝阳县", + "label": "朝阳县" + }, + { + "code": "211322", + "value": "建平县", + "label": "建平县" + }, + { + "code": "211324", + "value": "喀喇沁左翼蒙古族自治县", + "label": "喀喇沁左翼蒙古族自治县" + }, + { + "code": "211381", + "value": "北票市", + "label": "北票市" + }, + { + "code": "211382", + "value": "凌源市", + "label": "凌源市" + } + ] + }, + { + "code": "211400", + "value": "葫芦岛市", + "label": "葫芦岛市", + "children": [ + { + "code": "211402", + "value": "连山区", + "label": "连山区" + }, + { + "code": "211403", + "value": "龙港区", + "label": "龙港区" + }, + { + "code": "211404", + "value": "南票区", + "label": "南票区" + }, + { + "code": "211421", + "value": "绥中县", + "label": "绥中县" + }, + { + "code": "211422", + "value": "建昌县", + "label": "建昌县" + }, + { + "code": "211481", + "value": "兴城市", + "label": "兴城市" + } + ] + } + ] + }, + { + "code": "220000", + "value": "吉林省", + "label": "吉林省", + "children": [ + { + "code": "220100", + "value": "长春市", + "label": "长春市", + "children": [ + { + "code": "220102", + "value": "南关区", + "label": "南关区" + }, + { + "code": "220103", + "value": "宽城区", + "label": "宽城区" + }, + { + "code": "220104", + "value": "朝阳区", + "label": "朝阳区" + }, + { + "code": "220105", + "value": "二道区", + "label": "二道区" + }, + { + "code": "220106", + "value": "绿园区", + "label": "绿园区" + }, + { + "code": "220112", + "value": "双阳区", + "label": "双阳区" + }, + { + "code": "220113", + "value": "九台区", + "label": "九台区" + }, + { + "code": "220122", + "value": "农安县", + "label": "农安县" + }, + { + "code": "220182", + "value": "榆树市", + "label": "榆树市" + }, + { + "code": "220183", + "value": "德惠市", + "label": "德惠市" + }, + { + "code": "220184", + "value": "公主岭市", + "label": "公主岭市" + } + ] + }, + { + "code": "220200", + "value": "吉林市", + "label": "吉林市", + "children": [ + { + "code": "220202", + "value": "昌邑区", + "label": "昌邑区" + }, + { + "code": "220203", + "value": "龙潭区", + "label": "龙潭区" + }, + { + "code": "220204", + "value": "船营区", + "label": "船营区" + }, + { + "code": "220211", + "value": "丰满区", + "label": "丰满区" + }, + { + "code": "220221", + "value": "永吉县", + "label": "永吉县" + }, + { + "code": "220281", + "value": "蛟河市", + "label": "蛟河市" + }, + { + "code": "220282", + "value": "桦甸市", + "label": "桦甸市" + }, + { + "code": "220283", + "value": "舒兰市", + "label": "舒兰市" + }, + { + "code": "220284", + "value": "磐石市", + "label": "磐石市" + } + ] + }, + { + "code": "220300", + "value": "四平市", + "label": "四平市", + "children": [ + { + "code": "220302", + "value": "铁西区", + "label": "铁西区" + }, + { + "code": "220303", + "value": "铁东区", + "label": "铁东区" + }, + { + "code": "220322", + "value": "梨树县", + "label": "梨树县" + }, + { + "code": "220323", + "value": "伊通满族自治县", + "label": "伊通满族自治县" + }, + { + "code": "220382", + "value": "双辽市", + "label": "双辽市" + } + ] + }, + { + "code": "220400", + "value": "辽源市", + "label": "辽源市", + "children": [ + { + "code": "220402", + "value": "龙山区", + "label": "龙山区" + }, + { + "code": "220403", + "value": "西安区", + "label": "西安区" + }, + { + "code": "220421", + "value": "东丰县", + "label": "东丰县" + }, + { + "code": "220422", + "value": "东辽县", + "label": "东辽县" + } + ] + }, + { + "code": "220500", + "value": "通化市", + "label": "通化市", + "children": [ + { + "code": "220502", + "value": "东昌区", + "label": "东昌区" + }, + { + "code": "220503", + "value": "二道江区", + "label": "二道江区" + }, + { + "code": "220521", + "value": "通化县", + "label": "通化县" + }, + { + "code": "220523", + "value": "辉南县", + "label": "辉南县" + }, + { + "code": "220524", + "value": "柳河县", + "label": "柳河县" + }, + { + "code": "220581", + "value": "梅河口市", + "label": "梅河口市" + }, + { + "code": "220582", + "value": "集安市", + "label": "集安市" + } + ] + }, + { + "code": "220600", + "value": "白山市", + "label": "白山市", + "children": [ + { + "code": "220602", + "value": "浑江区", + "label": "浑江区" + }, + { + "code": "220605", + "value": "江源区", + "label": "江源区" + }, + { + "code": "220621", + "value": "抚松县", + "label": "抚松县" + }, + { + "code": "220622", + "value": "靖宇县", + "label": "靖宇县" + }, + { + "code": "220623", + "value": "长白朝鲜族自治县", + "label": "长白朝鲜族自治县" + }, + { + "code": "220681", + "value": "临江市", + "label": "临江市" + } + ] + }, + { + "code": "220700", + "value": "松原市", + "label": "松原市", + "children": [ + { + "code": "220702", + "value": "宁江区", + "label": "宁江区" + }, + { + "code": "220721", + "value": "前郭尔罗斯蒙古族自治县", + "label": "前郭尔罗斯蒙古族自治县" + }, + { + "code": "220722", + "value": "长岭县", + "label": "长岭县" + }, + { + "code": "220723", + "value": "乾安县", + "label": "乾安县" + }, + { + "code": "220781", + "value": "扶余市", + "label": "扶余市" + } + ] + }, + { + "code": "220800", + "value": "白城市", + "label": "白城市", + "children": [ + { + "code": "220802", + "value": "洮北区", + "label": "洮北区" + }, + { + "code": "220821", + "value": "镇赉县", + "label": "镇赉县" + }, + { + "code": "220822", + "value": "通榆县", + "label": "通榆县" + }, + { + "code": "220881", + "value": "洮南市", + "label": "洮南市" + }, + { + "code": "220882", + "value": "大安市", + "label": "大安市" + } + ] + }, + { + "code": "222400", + "value": "延边朝鲜族自治州", + "label": "延边朝鲜族自治州", + "children": [ + { + "code": "222401", + "value": "延吉市", + "label": "延吉市" + }, + { + "code": "222402", + "value": "图们市", + "label": "图们市" + }, + { + "code": "222403", + "value": "敦化市", + "label": "敦化市" + }, + { + "code": "222404", + "value": "珲春市", + "label": "珲春市" + }, + { + "code": "222405", + "value": "龙井市", + "label": "龙井市" + }, + { + "code": "222406", + "value": "和龙市", + "label": "和龙市" + }, + { + "code": "222424", + "value": "汪清县", + "label": "汪清县" + }, + { + "code": "222426", + "value": "安图县", + "label": "安图县" + } + ] + } + ] + }, + { + "code": "230000", + "value": "黑龙江省", + "label": "黑龙江省", + "children": [ + { + "code": "230100", + "value": "哈尔滨市", + "label": "哈尔滨市", + "children": [ + { + "code": "230102", + "value": "道里区", + "label": "道里区" + }, + { + "code": "230103", + "value": "南岗区", + "label": "南岗区" + }, + { + "code": "230104", + "value": "道外区", + "label": "道外区" + }, + { + "code": "230108", + "value": "平房区", + "label": "平房区" + }, + { + "code": "230109", + "value": "松北区", + "label": "松北区" + }, + { + "code": "230110", + "value": "香坊区", + "label": "香坊区" + }, + { + "code": "230111", + "value": "呼兰区", + "label": "呼兰区" + }, + { + "code": "230112", + "value": "阿城区", + "label": "阿城区" + }, + { + "code": "230113", + "value": "双城区", + "label": "双城区" + }, + { + "code": "230123", + "value": "依兰县", + "label": "依兰县" + }, + { + "code": "230124", + "value": "方正县", + "label": "方正县" + }, + { + "code": "230125", + "value": "宾县", + "label": "宾县" + }, + { + "code": "230126", + "value": "巴彦县", + "label": "巴彦县" + }, + { + "code": "230127", + "value": "木兰县", + "label": "木兰县" + }, + { + "code": "230128", + "value": "通河县", + "label": "通河县" + }, + { + "code": "230129", + "value": "延寿县", + "label": "延寿县" + }, + { + "code": "230183", + "value": "尚志市", + "label": "尚志市" + }, + { + "code": "230184", + "value": "五常市", + "label": "五常市" + } + ] + }, + { + "code": "230200", + "value": "齐齐哈尔市", + "label": "齐齐哈尔市", + "children": [ + { + "code": "230202", + "value": "龙沙区", + "label": "龙沙区" + }, + { + "code": "230203", + "value": "建华区", + "label": "建华区" + }, + { + "code": "230204", + "value": "铁锋区", + "label": "铁锋区" + }, + { + "code": "230205", + "value": "昂昂溪区", + "label": "昂昂溪区" + }, + { + "code": "230206", + "value": "富拉尔基区", + "label": "富拉尔基区" + }, + { + "code": "230207", + "value": "碾子山区", + "label": "碾子山区" + }, + { + "code": "230208", + "value": "梅里斯达斡尔族区", + "label": "梅里斯达斡尔族区" + }, + { + "code": "230221", + "value": "龙江县", + "label": "龙江县" + }, + { + "code": "230223", + "value": "依安县", + "label": "依安县" + }, + { + "code": "230224", + "value": "泰来县", + "label": "泰来县" + }, + { + "code": "230225", + "value": "甘南县", + "label": "甘南县" + }, + { + "code": "230227", + "value": "富裕县", + "label": "富裕县" + }, + { + "code": "230229", + "value": "克山县", + "label": "克山县" + }, + { + "code": "230230", + "value": "克东县", + "label": "克东县" + }, + { + "code": "230231", + "value": "拜泉县", + "label": "拜泉县" + }, + { + "code": "230281", + "value": "讷河市", + "label": "讷河市" + } + ] + }, + { + "code": "230300", + "value": "鸡西市", + "label": "鸡西市", + "children": [ + { + "code": "230302", + "value": "鸡冠区", + "label": "鸡冠区" + }, + { + "code": "230303", + "value": "恒山区", + "label": "恒山区" + }, + { + "code": "230304", + "value": "滴道区", + "label": "滴道区" + }, + { + "code": "230305", + "value": "梨树区", + "label": "梨树区" + }, + { + "code": "230306", + "value": "城子河区", + "label": "城子河区" + }, + { + "code": "230307", + "value": "麻山区", + "label": "麻山区" + }, + { + "code": "230321", + "value": "鸡东县", + "label": "鸡东县" + }, + { + "code": "230381", + "value": "虎林市", + "label": "虎林市" + }, + { + "code": "230382", + "value": "密山市", + "label": "密山市" + } + ] + }, + { + "code": "230400", + "value": "鹤岗市", + "label": "鹤岗市", + "children": [ + { + "code": "230402", + "value": "向阳区", + "label": "向阳区" + }, + { + "code": "230403", + "value": "工农区", + "label": "工农区" + }, + { + "code": "230404", + "value": "南山区", + "label": "南山区" + }, + { + "code": "230405", + "value": "兴安区", + "label": "兴安区" + }, + { + "code": "230406", + "value": "东山区", + "label": "东山区" + }, + { + "code": "230407", + "value": "兴山区", + "label": "兴山区" + }, + { + "code": "230421", + "value": "萝北县", + "label": "萝北县" + }, + { + "code": "230422", + "value": "绥滨县", + "label": "绥滨县" + } + ] + }, + { + "code": "230500", + "value": "双鸭山市", + "label": "双鸭山市", + "children": [ + { + "code": "230502", + "value": "尖山区", + "label": "尖山区" + }, + { + "code": "230503", + "value": "岭东区", + "label": "岭东区" + }, + { + "code": "230505", + "value": "四方台区", + "label": "四方台区" + }, + { + "code": "230506", + "value": "宝山区", + "label": "宝山区" + }, + { + "code": "230521", + "value": "集贤县", + "label": "集贤县" + }, + { + "code": "230522", + "value": "友谊县", + "label": "友谊县" + }, + { + "code": "230523", + "value": "宝清县", + "label": "宝清县" + }, + { + "code": "230524", + "value": "饶河县", + "label": "饶河县" + } + ] + }, + { + "code": "230600", + "value": "大庆市", + "label": "大庆市", + "children": [ + { + "code": "230602", + "value": "萨尔图区", + "label": "萨尔图区" + }, + { + "code": "230603", + "value": "龙凤区", + "label": "龙凤区" + }, + { + "code": "230604", + "value": "让胡路区", + "label": "让胡路区" + }, + { + "code": "230605", + "value": "红岗区", + "label": "红岗区" + }, + { + "code": "230606", + "value": "大同区", + "label": "大同区" + }, + { + "code": "230621", + "value": "肇州县", + "label": "肇州县" + }, + { + "code": "230622", + "value": "肇源县", + "label": "肇源县" + }, + { + "code": "230623", + "value": "林甸县", + "label": "林甸县" + }, + { + "code": "230624", + "value": "杜尔伯特蒙古族自治县", + "label": "杜尔伯特蒙古族自治县" + } + ] + }, + { + "code": "230700", + "value": "伊春市", + "label": "伊春市", + "children": [ + { + "code": "230717", + "value": "伊美区", + "label": "伊美区" + }, + { + "code": "230718", + "value": "乌翠区", + "label": "乌翠区" + }, + { + "code": "230719", + "value": "友好区", + "label": "友好区" + }, + { + "code": "230722", + "value": "嘉荫县", + "label": "嘉荫县" + }, + { + "code": "230723", + "value": "汤旺县", + "label": "汤旺县" + }, + { + "code": "230724", + "value": "丰林县", + "label": "丰林县" + }, + { + "code": "230725", + "value": "大箐山县", + "label": "大箐山县" + }, + { + "code": "230726", + "value": "南岔县", + "label": "南岔县" + }, + { + "code": "230751", + "value": "金林区", + "label": "金林区" + }, + { + "code": "230781", + "value": "铁力市", + "label": "铁力市" + } + ] + }, + { + "code": "230800", + "value": "佳木斯市", + "label": "佳木斯市", + "children": [ + { + "code": "230803", + "value": "向阳区", + "label": "向阳区" + }, + { + "code": "230804", + "value": "前进区", + "label": "前进区" + }, + { + "code": "230805", + "value": "东风区", + "label": "东风区" + }, + { + "code": "230811", + "value": "郊区", + "label": "郊区" + }, + { + "code": "230822", + "value": "桦南县", + "label": "桦南县" + }, + { + "code": "230826", + "value": "桦川县", + "label": "桦川县" + }, + { + "code": "230828", + "value": "汤原县", + "label": "汤原县" + }, + { + "code": "230881", + "value": "同江市", + "label": "同江市" + }, + { + "code": "230882", + "value": "富锦市", + "label": "富锦市" + }, + { + "code": "230883", + "value": "抚远市", + "label": "抚远市" + } + ] + }, + { + "code": "230900", + "value": "七台河市", + "label": "七台河市", + "children": [ + { + "code": "230902", + "value": "新兴区", + "label": "新兴区" + }, + { + "code": "230903", + "value": "桃山区", + "label": "桃山区" + }, + { + "code": "230904", + "value": "茄子河区", + "label": "茄子河区" + }, + { + "code": "230921", + "value": "勃利县", + "label": "勃利县" + } + ] + }, + { + "code": "231000", + "value": "牡丹江市", + "label": "牡丹江市", + "children": [ + { + "code": "231002", + "value": "东安区", + "label": "东安区" + }, + { + "code": "231003", + "value": "阳明区", + "label": "阳明区" + }, + { + "code": "231004", + "value": "爱民区", + "label": "爱民区" + }, + { + "code": "231005", + "value": "西安区", + "label": "西安区" + }, + { + "code": "231025", + "value": "林口县", + "label": "林口县" + }, + { + "code": "231081", + "value": "绥芬河市", + "label": "绥芬河市" + }, + { + "code": "231083", + "value": "海林市", + "label": "海林市" + }, + { + "code": "231084", + "value": "宁安市", + "label": "宁安市" + }, + { + "code": "231085", + "value": "穆棱市", + "label": "穆棱市" + }, + { + "code": "231086", + "value": "东宁市", + "label": "东宁市" + } + ] + }, + { + "code": "231100", + "value": "黑河市", + "label": "黑河市", + "children": [ + { + "code": "231102", + "value": "爱辉区", + "label": "爱辉区" + }, + { + "code": "231123", + "value": "逊克县", + "label": "逊克县" + }, + { + "code": "231124", + "value": "孙吴县", + "label": "孙吴县" + }, + { + "code": "231181", + "value": "北安市", + "label": "北安市" + }, + { + "code": "231182", + "value": "五大连池市", + "label": "五大连池市" + }, + { + "code": "231183", + "value": "嫩江市", + "label": "嫩江市" + } + ] + }, + { + "code": "231200", + "value": "绥化市", + "label": "绥化市", + "children": [ + { + "code": "231202", + "value": "北林区", + "label": "北林区" + }, + { + "code": "231221", + "value": "望奎县", + "label": "望奎县" + }, + { + "code": "231222", + "value": "兰西县", + "label": "兰西县" + }, + { + "code": "231223", + "value": "青冈县", + "label": "青冈县" + }, + { + "code": "231224", + "value": "庆安县", + "label": "庆安县" + }, + { + "code": "231225", + "value": "明水县", + "label": "明水县" + }, + { + "code": "231226", + "value": "绥棱县", + "label": "绥棱县" + }, + { + "code": "231281", + "value": "安达市", + "label": "安达市" + }, + { + "code": "231282", + "value": "肇东市", + "label": "肇东市" + }, + { + "code": "231283", + "value": "海伦市", + "label": "海伦市" + } + ] + }, + { + "code": "232700", + "value": "大兴安岭地区", + "label": "大兴安岭地区", + "children": [ + { + "code": "232701", + "value": "漠河市", + "label": "漠河市" + }, + { + "code": "232721", + "value": "呼玛县", + "label": "呼玛县" + }, + { + "code": "232722", + "value": "塔河县", + "label": "塔河县" + } + ] + } + ] + }, + { + "code": "310000", + "label": "上海市", + "value": "上海市", + "children": [ + { + "code": "310100", + "label": "上海市", + "value": "上海市", + "children": [ + { "code": "310101", "label": "黄浦区", "value": "黄浦区" }, + { "code": "310104", "label": "徐汇区", "value": "徐汇区" }, + { "code": "310105", "label": "长宁区", "value": "长宁区" }, + { "code": "310106", "label": "静安区", "value": "静安区" }, + { "code": "310107", "label": "普陀区", "value": "普陀区" }, + { "code": "310109", "label": "虹口区", "value": "虹口区" }, + { "code": "310110", "label": "杨浦区", "value": "杨浦区" }, + { "code": "310112", "label": "浦东新区", "value": "浦东新区" }, + { "code": "310113", "label": "闵行区", "value": "闵行区" }, + { "code": "310114", "label": "宝山区", "value": "宝山区" }, + { "code": "310115", "label": "嘉定区", "value": "嘉定区" }, + { "code": "310116", "label": "南汇区", "value": "南汇区" }, + { "code": "310117", "label": "奉贤区", "value": "奉贤区" }, + { "code": "310118", "label": "青浦区", "value": "青浦区" }, + { "code": "310120", "label": "崇明区", "value": "崇明区" } + ] + } + ] + }, + + { + "code": "320000", + "value": "江苏省", + "label": "江苏省", + "children": [ + { + "code": "320100", + "value": "南京市", + "label": "南京市", + "children": [ + { + "code": "320102", + "value": "玄武区", + "label": "玄武区" + }, + { + "code": "320104", + "value": "秦淮区", + "label": "秦淮区" + }, + { + "code": "320105", + "value": "建邺区", + "label": "建邺区" + }, + { + "code": "320106", + "value": "鼓楼区", + "label": "鼓楼区" + }, + { + "code": "320111", + "value": "浦口区", + "label": "浦口区" + }, + { + "code": "320113", + "value": "栖霞区", + "label": "栖霞区" + }, + { + "code": "320114", + "value": "雨花台区", + "label": "雨花台区" + }, + { + "code": "320115", + "value": "江宁区", + "label": "江宁区" + }, + { + "code": "320116", + "value": "六合区", + "label": "六合区" + }, + { + "code": "320117", + "value": "溧水区", + "label": "溧水区" + }, + { + "code": "320118", + "value": "高淳区", + "label": "高淳区" + } + ] + }, + { + "code": "320200", + "value": "无锡市", + "label": "无锡市", + "children": [ + { + "code": "320205", + "value": "锡山区", + "label": "锡山区" + }, + { + "code": "320206", + "value": "惠山区", + "label": "惠山区" + }, + { + "code": "320211", + "value": "滨湖区", + "label": "滨湖区" + }, + { + "code": "320213", + "value": "梁溪区", + "label": "梁溪区" + }, + { + "code": "320214", + "value": "新吴区", + "label": "新吴区" + }, + { + "code": "320281", + "value": "江阴市", + "label": "江阴市" + }, + { + "code": "320282", + "value": "宜兴市", + "label": "宜兴市" + } + ] + }, + { + "code": "320300", + "value": "徐州市", + "label": "徐州市", + "children": [ + { + "code": "320302", + "value": "鼓楼区", + "label": "鼓楼区" + }, + { + "code": "320303", + "value": "云龙区", + "label": "云龙区" + }, + { + "code": "320305", + "value": "贾汪区", + "label": "贾汪区" + }, + { + "code": "320311", + "value": "泉山区", + "label": "泉山区" + }, + { + "code": "320312", + "value": "铜山区", + "label": "铜山区" + }, + { + "code": "320321", + "value": "丰县", + "label": "丰县" + }, + { + "code": "320322", + "value": "沛县", + "label": "沛县" + }, + { + "code": "320324", + "value": "睢宁县", + "label": "睢宁县" + }, + { + "code": "320381", + "value": "新沂市", + "label": "新沂市" + }, + { + "code": "320382", + "value": "邳州市", + "label": "邳州市" + } + ] + }, + { + "code": "320400", + "value": "常州市", + "label": "常州市", + "children": [ + { + "code": "320402", + "value": "天宁区", + "label": "天宁区" + }, + { + "code": "320404", + "value": "钟楼区", + "label": "钟楼区" + }, + { + "code": "320411", + "value": "新北区", + "label": "新北区" + }, + { + "code": "320412", + "value": "武进区", + "label": "武进区" + }, + { + "code": "320413", + "value": "金坛区", + "label": "金坛区" + }, + { + "code": "320481", + "value": "溧阳市", + "label": "溧阳市" + } + ] + }, + { + "code": "320500", + "value": "苏州市", + "label": "苏州市", + "children": [ + { + "code": "320505", + "value": "虎丘区", + "label": "虎丘区" + }, + { + "code": "320506", + "value": "吴中区", + "label": "吴中区" + }, + { + "code": "320507", + "value": "相城区", + "label": "相城区" + }, + { + "code": "320508", + "value": "姑苏区", + "label": "姑苏区" + }, + { + "code": "320509", + "value": "吴江区", + "label": "吴江区" + }, + { + "code": "320581", + "value": "常熟市", + "label": "常熟市" + }, + { + "code": "320582", + "value": "张家港市", + "label": "张家港市" + }, + { + "code": "320583", + "value": "昆山市", + "label": "昆山市" + }, + { + "code": "320585", + "value": "太仓市", + "label": "太仓市" + } + ] + }, + { + "code": "320600", + "value": "南通市", + "label": "南通市", + "children": [ + { + "code": "320602", + "value": "崇川区", + "label": "崇川区" + }, + { + "code": "320611", + "value": "港闸区", + "label": "港闸区" + }, + { + "code": "320612", + "value": "通州区", + "label": "通州区" + }, + { + "code": "320623", + "value": "如东县", + "label": "如东县" + }, + { + "code": "320681", + "value": "启东市", + "label": "启东市" + }, + { + "code": "320682", + "value": "如皋市", + "label": "如皋市" + }, + { + "code": "320684", + "value": "海门市", + "label": "海门市" + }, + { + "code": "320685", + "value": "海安市", + "label": "海安市" + } + ] + }, + { + "code": "320700", + "value": "连云港市", + "label": "连云港市", + "children": [ + { + "code": "320703", + "value": "连云区", + "label": "连云区" + }, + { + "code": "320706", + "value": "海州区", + "label": "海州区" + }, + { + "code": "320707", + "value": "赣榆区", + "label": "赣榆区" + }, + { + "code": "320722", + "value": "东海县", + "label": "东海县" + }, + { + "code": "320723", + "value": "灌云县", + "label": "灌云县" + }, + { + "code": "320724", + "value": "灌南县", + "label": "灌南县" + } + ] + }, + { + "code": "320800", + "value": "淮安市", + "label": "淮安市", + "children": [ + { + "code": "320803", + "value": "淮安区", + "label": "淮安区" + }, + { + "code": "320804", + "value": "淮阴区", + "label": "淮阴区" + }, + { + "code": "320812", + "value": "清江浦区", + "label": "清江浦区" + }, + { + "code": "320813", + "value": "洪泽区", + "label": "洪泽区" + }, + { + "code": "320826", + "value": "涟水县", + "label": "涟水县" + }, + { + "code": "320830", + "value": "盱眙县", + "label": "盱眙县" + }, + { + "code": "320831", + "value": "金湖县", + "label": "金湖县" + } + ] + }, + { + "code": "320900", + "value": "盐城市", + "label": "盐城市", + "children": [ + { + "code": "320902", + "value": "亭湖区", + "label": "亭湖区" + }, + { + "code": "320903", + "value": "盐都区", + "label": "盐都区" + }, + { + "code": "320904", + "value": "大丰区", + "label": "大丰区" + }, + { + "code": "320921", + "value": "响水县", + "label": "响水县" + }, + { + "code": "320922", + "value": "滨海县", + "label": "滨海县" + }, + { + "code": "320923", + "value": "阜宁县", + "label": "阜宁县" + }, + { + "code": "320924", + "value": "射阳县", + "label": "射阳县" + }, + { + "code": "320925", + "value": "建湖县", + "label": "建湖县" + }, + { + "code": "320981", + "value": "东台市", + "label": "东台市" + } + ] + }, + { + "code": "321000", + "value": "扬州市", + "label": "扬州市", + "children": [ + { + "code": "321002", + "value": "广陵区", + "label": "广陵区" + }, + { + "code": "321003", + "value": "邗江区", + "label": "邗江区" + }, + { + "code": "321012", + "value": "江都区", + "label": "江都区" + }, + { + "code": "321023", + "value": "宝应县", + "label": "宝应县" + }, + { + "code": "321081", + "value": "仪征市", + "label": "仪征市" + }, + { + "code": "321084", + "value": "高邮市", + "label": "高邮市" + } + ] + }, + { + "code": "321100", + "value": "镇江市", + "label": "镇江市", + "children": [ + { + "code": "321102", + "value": "京口区", + "label": "京口区" + }, + { + "code": "321111", + "value": "润州区", + "label": "润州区" + }, + { + "code": "321112", + "value": "丹徒区", + "label": "丹徒区" + }, + { + "code": "321181", + "value": "丹阳市", + "label": "丹阳市" + }, + { + "code": "321182", + "value": "扬中市", + "label": "扬中市" + }, + { + "code": "321183", + "value": "句容市", + "label": "句容市" + } + ] + }, + { + "code": "321200", + "value": "泰州市", + "label": "泰州市", + "children": [ + { + "code": "321202", + "value": "海陵区", + "label": "海陵区" + }, + { + "code": "321203", + "value": "高港区", + "label": "高港区" + }, + { + "code": "321204", + "value": "姜堰区", + "label": "姜堰区" + }, + { + "code": "321281", + "value": "兴化市", + "label": "兴化市" + }, + { + "code": "321282", + "value": "靖江市", + "label": "靖江市" + }, + { + "code": "321283", + "value": "泰兴市", + "label": "泰兴市" + } + ] + }, + { + "code": "321300", + "value": "宿迁市", + "label": "宿迁市", + "children": [ + { + "code": "321302", + "value": "宿城区", + "label": "宿城区" + }, + { + "code": "321311", + "value": "宿豫区", + "label": "宿豫区" + }, + { + "code": "321322", + "value": "沭阳县", + "label": "沭阳县" + }, + { + "code": "321323", + "value": "泗阳县", + "label": "泗阳县" + }, + { + "code": "321324", + "value": "泗洪县", + "label": "泗洪县" + } + ] + } + ] + }, + { + "code": "330000", + "value": "浙江省", + "label": "浙江省", + "children": [ + { + "code": "330100", + "value": "杭州市", + "label": "杭州市", + "children": [ + { + "code": "330102", + "value": "上城区", + "label": "上城区" + }, + { + "code": "330103", + "value": "下城区", + "label": "下城区" + }, + { + "code": "330104", + "value": "江干区", + "label": "江干区" + }, + { + "code": "330105", + "value": "拱墅区", + "label": "拱墅区" + }, + { + "code": "330106", + "value": "西湖区", + "label": "西湖区" + }, + { + "code": "330108", + "value": "滨江区", + "label": "滨江区" + }, + { + "code": "330109", + "value": "萧山区", + "label": "萧山区" + }, + { + "code": "330110", + "value": "余杭区", + "label": "余杭区" + }, + { + "code": "330111", + "value": "富阳区", + "label": "富阳区" + }, + { + "code": "330112", + "value": "临安区", + "label": "临安区" + }, + { + "code": "330122", + "value": "桐庐县", + "label": "桐庐县" + }, + { + "code": "330127", + "value": "淳安县", + "label": "淳安县" + }, + { + "code": "330182", + "value": "建德市", + "label": "建德市" + } + ] + }, + { + "code": "330200", + "value": "宁波市", + "label": "宁波市", + "children": [ + { + "code": "330203", + "value": "海曙区", + "label": "海曙区" + }, + { + "code": "330205", + "value": "江北区", + "label": "江北区" + }, + { + "code": "330206", + "value": "北仑区", + "label": "北仑区" + }, + { + "code": "330211", + "value": "镇海区", + "label": "镇海区" + }, + { + "code": "330212", + "value": "鄞州区", + "label": "鄞州区" + }, + { + "code": "330213", + "value": "奉化区", + "label": "奉化区" + }, + { + "code": "330225", + "value": "象山县", + "label": "象山县" + }, + { + "code": "330226", + "value": "宁海县", + "label": "宁海县" + }, + { + "code": "330281", + "value": "余姚市", + "label": "余姚市" + }, + { + "code": "330282", + "value": "慈溪市", + "label": "慈溪市" + } + ] + }, + { + "code": "330300", + "value": "温州市", + "label": "温州市", + "children": [ + { + "code": "330302", + "value": "鹿城区", + "label": "鹿城区" + }, + { + "code": "330303", + "value": "龙湾区", + "label": "龙湾区" + }, + { + "code": "330304", + "value": "瓯海区", + "label": "瓯海区" + }, + { + "code": "330305", + "value": "洞头区", + "label": "洞头区" + }, + { + "code": "330324", + "value": "永嘉县", + "label": "永嘉县" + }, + { + "code": "330326", + "value": "平阳县", + "label": "平阳县" + }, + { + "code": "330327", + "value": "苍南县", + "label": "苍南县" + }, + { + "code": "330328", + "value": "文成县", + "label": "文成县" + }, + { + "code": "330329", + "value": "泰顺县", + "label": "泰顺县" + }, + { + "code": "330381", + "value": "瑞安市", + "label": "瑞安市" + }, + { + "code": "330382", + "value": "乐清市", + "label": "乐清市" + }, + { + "code": "330383", + "value": "龙港市", + "label": "龙港市" + } + ] + }, + { + "code": "330400", + "value": "嘉兴市", + "label": "嘉兴市", + "children": [ + { + "code": "330402", + "value": "南湖区", + "label": "南湖区" + }, + { + "code": "330411", + "value": "秀洲区", + "label": "秀洲区" + }, + { + "code": "330421", + "value": "嘉善县", + "label": "嘉善县" + }, + { + "code": "330424", + "value": "海盐县", + "label": "海盐县" + }, + { + "code": "330481", + "value": "海宁市", + "label": "海宁市" + }, + { + "code": "330482", + "value": "平湖市", + "label": "平湖市" + }, + { + "code": "330483", + "value": "桐乡市", + "label": "桐乡市" + } + ] + }, + { + "code": "330500", + "value": "湖州市", + "label": "湖州市", + "children": [ + { + "code": "330502", + "value": "吴兴区", + "label": "吴兴区" + }, + { + "code": "330503", + "value": "南浔区", + "label": "南浔区" + }, + { + "code": "330521", + "value": "德清县", + "label": "德清县" + }, + { + "code": "330522", + "value": "长兴县", + "label": "长兴县" + }, + { + "code": "330523", + "value": "安吉县", + "label": "安吉县" + } + ] + }, + { + "code": "330600", + "value": "绍兴市", + "label": "绍兴市", + "children": [ + { + "code": "330602", + "value": "越城区", + "label": "越城区" + }, + { + "code": "330603", + "value": "柯桥区", + "label": "柯桥区" + }, + { + "code": "330604", + "value": "上虞区", + "label": "上虞区" + }, + { + "code": "330624", + "value": "新昌县", + "label": "新昌县" + }, + { + "code": "330681", + "value": "诸暨市", + "label": "诸暨市" + }, + { + "code": "330683", + "value": "嵊州市", + "label": "嵊州市" + } + ] + }, + { + "code": "330700", + "value": "金华市", + "label": "金华市", + "children": [ + { + "code": "330702", + "value": "婺城区", + "label": "婺城区" + }, + { + "code": "330703", + "value": "金东区", + "label": "金东区" + }, + { + "code": "330723", + "value": "武义县", + "label": "武义县" + }, + { + "code": "330726", + "value": "浦江县", + "label": "浦江县" + }, + { + "code": "330727", + "value": "磐安县", + "label": "磐安县" + }, + { + "code": "330781", + "value": "兰溪市", + "label": "兰溪市" + }, + { + "code": "330782", + "value": "义乌市", + "label": "义乌市" + }, + { + "code": "330783", + "value": "东阳市", + "label": "东阳市" + }, + { + "code": "330784", + "value": "永康市", + "label": "永康市" + } + ] + }, + { + "code": "330800", + "value": "衢州市", + "label": "衢州市", + "children": [ + { + "code": "330802", + "value": "柯城区", + "label": "柯城区" + }, + { + "code": "330803", + "value": "衢江区", + "label": "衢江区" + }, + { + "code": "330822", + "value": "常山县", + "label": "常山县" + }, + { + "code": "330824", + "value": "开化县", + "label": "开化县" + }, + { + "code": "330825", + "value": "龙游县", + "label": "龙游县" + }, + { + "code": "330881", + "value": "江山市", + "label": "江山市" + } + ] + }, + { + "code": "330900", + "value": "舟山市", + "label": "舟山市", + "children": [ + { + "code": "330902", + "value": "定海区", + "label": "定海区" + }, + { + "code": "330903", + "value": "普陀区", + "label": "普陀区" + }, + { + "code": "330921", + "value": "岱山县", + "label": "岱山县" + }, + { + "code": "330922", + "value": "嵊泗县", + "label": "嵊泗县" + } + ] + }, + { + "code": "331000", + "value": "台州市", + "label": "台州市", + "children": [ + { + "code": "331002", + "value": "椒江区", + "label": "椒江区" + }, + { + "code": "331003", + "value": "黄岩区", + "label": "黄岩区" + }, + { + "code": "331004", + "value": "路桥区", + "label": "路桥区" + }, + { + "code": "331022", + "value": "三门县", + "label": "三门县" + }, + { + "code": "331023", + "value": "天台县", + "label": "天台县" + }, + { + "code": "331024", + "value": "仙居县", + "label": "仙居县" + }, + { + "code": "331081", + "value": "温岭市", + "label": "温岭市" + }, + { + "code": "331082", + "value": "临海市", + "label": "临海市" + }, + { + "code": "331083", + "value": "玉环市", + "label": "玉环市" + } + ] + }, + { + "code": "331100", + "value": "丽水市", + "label": "丽水市", + "children": [ + { + "code": "331102", + "value": "莲都区", + "label": "莲都区" + }, + { + "code": "331121", + "value": "青田县", + "label": "青田县" + }, + { + "code": "331122", + "value": "缙云县", + "label": "缙云县" + }, + { + "code": "331123", + "value": "遂昌县", + "label": "遂昌县" + }, + { + "code": "331124", + "value": "松阳县", + "label": "松阳县" + }, + { + "code": "331125", + "value": "云和县", + "label": "云和县" + }, + { + "code": "331126", + "value": "庆元县", + "label": "庆元县" + }, + { + "code": "331127", + "value": "景宁畲族自治县", + "label": "景宁畲族自治县" + }, + { + "code": "331181", + "value": "龙泉市", + "label": "龙泉市" + } + ] + } + ] + }, + { + "code": "340000", + "value": "安徽省", + "label": "安徽省", + "children": [ + { + "code": "340100", + "value": "合肥市", + "label": "合肥市", + "children": [ + { + "code": "340102", + "value": "瑶海区", + "label": "瑶海区" + }, + { + "code": "340103", + "value": "庐阳区", + "label": "庐阳区" + }, + { + "code": "340104", + "value": "蜀山区", + "label": "蜀山区" + }, + { + "code": "340111", + "value": "包河区", + "label": "包河区" + }, + { + "code": "340121", + "value": "长丰县", + "label": "长丰县" + }, + { + "code": "340122", + "value": "肥东县", + "label": "肥东县" + }, + { + "code": "340123", + "value": "肥西县", + "label": "肥西县" + }, + { + "code": "340124", + "value": "庐江县", + "label": "庐江县" + }, + { + "code": "340181", + "value": "巢湖市", + "label": "巢湖市" + } + ] + }, + { + "code": "340200", + "value": "芜湖市", + "label": "芜湖市", + "children": [ + { + "code": "340202", + "value": "镜湖区", + "label": "镜湖区" + }, + { + "code": "340203", + "value": "弋江区", + "label": "弋江区" + }, + { + "code": "340207", + "value": "鸠江区", + "label": "鸠江区" + }, + { + "code": "340208", + "value": "三山区", + "label": "三山区" + }, + { + "code": "340221", + "value": "芜湖县", + "label": "芜湖县" + }, + { + "code": "340222", + "value": "繁昌县", + "label": "繁昌县" + }, + { + "code": "340223", + "value": "南陵县", + "label": "南陵县" + }, + { + "code": "340281", + "value": "无为市", + "label": "无为市" + } + ] + }, + { + "code": "340300", + "value": "蚌埠市", + "label": "蚌埠市", + "children": [ + { + "code": "340302", + "value": "龙子湖区", + "label": "龙子湖区" + }, + { + "code": "340303", + "value": "蚌山区", + "label": "蚌山区" + }, + { + "code": "340304", + "value": "禹会区", + "label": "禹会区" + }, + { + "code": "340311", + "value": "淮上区", + "label": "淮上区" + }, + { + "code": "340321", + "value": "怀远县", + "label": "怀远县" + }, + { + "code": "340322", + "value": "五河县", + "label": "五河县" + }, + { + "code": "340323", + "value": "固镇县", + "label": "固镇县" + } + ] + }, + { + "code": "340400", + "value": "淮南市", + "label": "淮南市", + "children": [ + { + "code": "340402", + "value": "大通区", + "label": "大通区" + }, + { + "code": "340403", + "value": "田家庵区", + "label": "田家庵区" + }, + { + "code": "340404", + "value": "谢家集区", + "label": "谢家集区" + }, + { + "code": "340405", + "value": "八公山区", + "label": "八公山区" + }, + { + "code": "340406", + "value": "潘集区", + "label": "潘集区" + }, + { + "code": "340421", + "value": "凤台县", + "label": "凤台县" + }, + { + "code": "340422", + "value": "寿县", + "label": "寿县" + } + ] + }, + { + "code": "340500", + "value": "马鞍山市", + "label": "马鞍山市", + "children": [ + { + "code": "340503", + "value": "花山区", + "label": "花山区" + }, + { + "code": "340504", + "value": "雨山区", + "label": "雨山区" + }, + { + "code": "340506", + "value": "博望区", + "label": "博望区" + }, + { + "code": "340521", + "value": "当涂县", + "label": "当涂县" + }, + { + "code": "340522", + "value": "含山县", + "label": "含山县" + }, + { + "code": "340523", + "value": "和县", + "label": "和县" + } + ] + }, + { + "code": "340600", + "value": "淮北市", + "label": "淮北市", + "children": [ + { + "code": "340602", + "value": "杜集区", + "label": "杜集区" + }, + { + "code": "340603", + "value": "相山区", + "label": "相山区" + }, + { + "code": "340604", + "value": "烈山区", + "label": "烈山区" + }, + { + "code": "340621", + "value": "濉溪县", + "label": "濉溪县" + } + ] + }, + { + "code": "340700", + "value": "铜陵市", + "label": "铜陵市", + "children": [ + { + "code": "340705", + "value": "铜官区", + "label": "铜官区" + }, + { + "code": "340706", + "value": "义安区", + "label": "义安区" + }, + { + "code": "340711", + "value": "郊区", + "label": "郊区" + }, + { + "code": "340722", + "value": "枞阳县", + "label": "枞阳县" + } + ] + }, + { + "code": "340800", + "value": "安庆市", + "label": "安庆市", + "children": [ + { + "code": "340802", + "value": "迎江区", + "label": "迎江区" + }, + { + "code": "340803", + "value": "大观区", + "label": "大观区" + }, + { + "code": "340811", + "value": "宜秀区", + "label": "宜秀区" + }, + { + "code": "340822", + "value": "怀宁县", + "label": "怀宁县" + }, + { + "code": "340825", + "value": "太湖县", + "label": "太湖县" + }, + { + "code": "340826", + "value": "宿松县", + "label": "宿松县" + }, + { + "code": "340827", + "value": "望江县", + "label": "望江县" + }, + { + "code": "340828", + "value": "岳西县", + "label": "岳西县" + }, + { + "code": "340881", + "value": "桐城市", + "label": "桐城市" + }, + { + "code": "340882", + "value": "潜山市", + "label": "潜山市" + } + ] + }, + { + "code": "341000", + "value": "黄山市", + "label": "黄山市", + "children": [ + { + "code": "341002", + "value": "屯溪区", + "label": "屯溪区" + }, + { + "code": "341003", + "value": "黄山区", + "label": "黄山区" + }, + { + "code": "341004", + "value": "徽州区", + "label": "徽州区" + }, + { + "code": "341021", + "value": "歙县", + "label": "歙县" + }, + { + "code": "341022", + "value": "休宁县", + "label": "休宁县" + }, + { + "code": "341023", + "value": "黟县", + "label": "黟县" + }, + { + "code": "341024", + "value": "祁门县", + "label": "祁门县" + } + ] + }, + { + "code": "341100", + "value": "滁州市", + "label": "滁州市", + "children": [ + { + "code": "341102", + "value": "琅琊区", + "label": "琅琊区" + }, + { + "code": "341103", + "value": "南谯区", + "label": "南谯区" + }, + { + "code": "341122", + "value": "来安县", + "label": "来安县" + }, + { + "code": "341124", + "value": "全椒县", + "label": "全椒县" + }, + { + "code": "341125", + "value": "定远县", + "label": "定远县" + }, + { + "code": "341126", + "value": "凤阳县", + "label": "凤阳县" + }, + { + "code": "341181", + "value": "天长市", + "label": "天长市" + }, + { + "code": "341182", + "value": "明光市", + "label": "明光市" + } + ] + }, + { + "code": "341200", + "value": "阜阳市", + "label": "阜阳市", + "children": [ + { + "code": "341202", + "value": "颍州区", + "label": "颍州区" + }, + { + "code": "341203", + "value": "颍东区", + "label": "颍东区" + }, + { + "code": "341204", + "value": "颍泉区", + "label": "颍泉区" + }, + { + "code": "341221", + "value": "临泉县", + "label": "临泉县" + }, + { + "code": "341222", + "value": "太和县", + "label": "太和县" + }, + { + "code": "341225", + "value": "阜南县", + "label": "阜南县" + }, + { + "code": "341226", + "value": "颍上县", + "label": "颍上县" + }, + { + "code": "341282", + "value": "界首市", + "label": "界首市" + } + ] + }, + { + "code": "341300", + "value": "宿州市", + "label": "宿州市", + "children": [ + { + "code": "341302", + "value": "埇桥区", + "label": "埇桥区" + }, + { + "code": "341321", + "value": "砀山县", + "label": "砀山县" + }, + { + "code": "341322", + "value": "萧县", + "label": "萧县" + }, + { + "code": "341323", + "value": "灵璧县", + "label": "灵璧县" + }, + { + "code": "341324", + "value": "泗县", + "label": "泗县" + } + ] + }, + { + "code": "341500", + "value": "六安市", + "label": "六安市", + "children": [ + { + "code": "341502", + "value": "金安区", + "label": "金安区" + }, + { + "code": "341503", + "value": "裕安区", + "label": "裕安区" + }, + { + "code": "341504", + "value": "叶集区", + "label": "叶集区" + }, + { + "code": "341522", + "value": "霍邱县", + "label": "霍邱县" + }, + { + "code": "341523", + "value": "舒城县", + "label": "舒城县" + }, + { + "code": "341524", + "value": "金寨县", + "label": "金寨县" + }, + { + "code": "341525", + "value": "霍山县", + "label": "霍山县" + } + ] + }, + { + "code": "341600", + "value": "亳州市", + "label": "亳州市", + "children": [ + { + "code": "341602", + "value": "谯城区", + "label": "谯城区" + }, + { + "code": "341621", + "value": "涡阳县", + "label": "涡阳县" + }, + { + "code": "341622", + "value": "蒙城县", + "label": "蒙城县" + }, + { + "code": "341623", + "value": "利辛县", + "label": "利辛县" + } + ] + }, + { + "code": "341700", + "value": "池州市", + "label": "池州市", + "children": [ + { + "code": "341702", + "value": "贵池区", + "label": "贵池区" + }, + { + "code": "341721", + "value": "东至县", + "label": "东至县" + }, + { + "code": "341722", + "value": "石台县", + "label": "石台县" + }, + { + "code": "341723", + "value": "青阳县", + "label": "青阳县" + } + ] + }, + { + "code": "341800", + "value": "宣城市", + "label": "宣城市", + "children": [ + { + "code": "341802", + "value": "宣州区", + "label": "宣州区" + }, + { + "code": "341821", + "value": "郎溪县", + "label": "郎溪县" + }, + { + "code": "341823", + "value": "泾县", + "label": "泾县" + }, + { + "code": "341824", + "value": "绩溪县", + "label": "绩溪县" + }, + { + "code": "341825", + "value": "旌德县", + "label": "旌德县" + }, + { + "code": "341881", + "value": "宁国市", + "label": "宁国市" + }, + { + "code": "341882", + "value": "广德市", + "label": "广德市" + } + ] + } + ] + }, + { + "code": "350000", + "value": "福建省", + "label": "福建省", + "children": [ + { + "code": "350100", + "value": "福州市", + "label": "福州市", + "children": [ + { + "code": "350102", + "value": "鼓楼区", + "label": "鼓楼区" + }, + { + "code": "350103", + "value": "台江区", + "label": "台江区" + }, + { + "code": "350104", + "value": "仓山区", + "label": "仓山区" + }, + { + "code": "350105", + "value": "马尾区", + "label": "马尾区" + }, + { + "code": "350111", + "value": "晋安区", + "label": "晋安区" + }, + { + "code": "350112", + "value": "长乐区", + "label": "长乐区" + }, + { + "code": "350121", + "value": "闽侯县", + "label": "闽侯县" + }, + { + "code": "350122", + "value": "连江县", + "label": "连江县" + }, + { + "code": "350123", + "value": "罗源县", + "label": "罗源县" + }, + { + "code": "350124", + "value": "闽清县", + "label": "闽清县" + }, + { + "code": "350125", + "value": "永泰县", + "label": "永泰县" + }, + { + "code": "350128", + "value": "平潭县", + "label": "平潭县" + }, + { + "code": "350181", + "value": "福清市", + "label": "福清市" + } + ] + }, + { + "code": "350200", + "value": "厦门市", + "label": "厦门市", + "children": [ + { + "code": "350203", + "value": "思明区", + "label": "思明区" + }, + { + "code": "350205", + "value": "海沧区", + "label": "海沧区" + }, + { + "code": "350206", + "value": "湖里区", + "label": "湖里区" + }, + { + "code": "350211", + "value": "集美区", + "label": "集美区" + }, + { + "code": "350212", + "value": "同安区", + "label": "同安区" + }, + { + "code": "350213", + "value": "翔安区", + "label": "翔安区" + } + ] + }, + { + "code": "350300", + "value": "莆田市", + "label": "莆田市", + "children": [ + { + "code": "350302", + "value": "城厢区", + "label": "城厢区" + }, + { + "code": "350303", + "value": "涵江区", + "label": "涵江区" + }, + { + "code": "350304", + "value": "荔城区", + "label": "荔城区" + }, + { + "code": "350305", + "value": "秀屿区", + "label": "秀屿区" + }, + { + "code": "350322", + "value": "仙游县", + "label": "仙游县" + } + ] + }, + { + "code": "350400", + "value": "三明市", + "label": "三明市", + "children": [ + { + "code": "350402", + "value": "梅列区", + "label": "梅列区" + }, + { + "code": "350403", + "value": "三元区", + "label": "三元区" + }, + { + "code": "350421", + "value": "明溪县", + "label": "明溪县" + }, + { + "code": "350423", + "value": "清流县", + "label": "清流县" + }, + { + "code": "350424", + "value": "宁化县", + "label": "宁化县" + }, + { + "code": "350425", + "value": "大田县", + "label": "大田县" + }, + { + "code": "350426", + "value": "尤溪县", + "label": "尤溪县" + }, + { + "code": "350427", + "value": "沙县", + "label": "沙县" + }, + { + "code": "350428", + "value": "将乐县", + "label": "将乐县" + }, + { + "code": "350429", + "value": "泰宁县", + "label": "泰宁县" + }, + { + "code": "350430", + "value": "建宁县", + "label": "建宁县" + }, + { + "code": "350481", + "value": "永安市", + "label": "永安市" + } + ] + }, + { + "code": "350500", + "value": "泉州市", + "label": "泉州市", + "children": [ + { + "code": "350502", + "value": "鲤城区", + "label": "鲤城区" + }, + { + "code": "350503", + "value": "丰泽区", + "label": "丰泽区" + }, + { + "code": "350504", + "value": "洛江区", + "label": "洛江区" + }, + { + "code": "350505", + "value": "泉港区", + "label": "泉港区" + }, + { + "code": "350521", + "value": "惠安县", + "label": "惠安县" + }, + { + "code": "350524", + "value": "安溪县", + "label": "安溪县" + }, + { + "code": "350525", + "value": "永春县", + "label": "永春县" + }, + { + "code": "350526", + "value": "德化县", + "label": "德化县" + }, + { + "code": "350527", + "value": "金门县", + "label": "金门县" + }, + { + "code": "350581", + "value": "石狮市", + "label": "石狮市" + }, + { + "code": "350582", + "value": "晋江市", + "label": "晋江市" + }, + { + "code": "350583", + "value": "南安市", + "label": "南安市" + } + ] + }, + { + "code": "350600", + "value": "漳州市", + "label": "漳州市", + "children": [ + { + "code": "350602", + "value": "芗城区", + "label": "芗城区" + }, + { + "code": "350603", + "value": "龙文区", + "label": "龙文区" + }, + { + "code": "350622", + "value": "云霄县", + "label": "云霄县" + }, + { + "code": "350623", + "value": "漳浦县", + "label": "漳浦县" + }, + { + "code": "350624", + "value": "诏安县", + "label": "诏安县" + }, + { + "code": "350625", + "value": "长泰县", + "label": "长泰县" + }, + { + "code": "350626", + "value": "东山县", + "label": "东山县" + }, + { + "code": "350627", + "value": "南靖县", + "label": "南靖县" + }, + { + "code": "350628", + "value": "平和县", + "label": "平和县" + }, + { + "code": "350629", + "value": "华安县", + "label": "华安县" + }, + { + "code": "350681", + "value": "龙海市", + "label": "龙海市" + } + ] + }, + { + "code": "350700", + "value": "南平市", + "label": "南平市", + "children": [ + { + "code": "350702", + "value": "延平区", + "label": "延平区" + }, + { + "code": "350703", + "value": "建阳区", + "label": "建阳区" + }, + { + "code": "350721", + "value": "顺昌县", + "label": "顺昌县" + }, + { + "code": "350722", + "value": "浦城县", + "label": "浦城县" + }, + { + "code": "350723", + "value": "光泽县", + "label": "光泽县" + }, + { + "code": "350724", + "value": "松溪县", + "label": "松溪县" + }, + { + "code": "350725", + "value": "政和县", + "label": "政和县" + }, + { + "code": "350781", + "value": "邵武市", + "label": "邵武市" + }, + { + "code": "350782", + "value": "武夷山市", + "label": "武夷山市" + }, + { + "code": "350783", + "value": "建瓯市", + "label": "建瓯市" + } + ] + }, + { + "code": "350800", + "value": "龙岩市", + "label": "龙岩市", + "children": [ + { + "code": "350802", + "value": "新罗区", + "label": "新罗区" + }, + { + "code": "350803", + "value": "永定区", + "label": "永定区" + }, + { + "code": "350821", + "value": "长汀县", + "label": "长汀县" + }, + { + "code": "350823", + "value": "上杭县", + "label": "上杭县" + }, + { + "code": "350824", + "value": "武平县", + "label": "武平县" + }, + { + "code": "350825", + "value": "连城县", + "label": "连城县" + }, + { + "code": "350881", + "value": "漳平市", + "label": "漳平市" + } + ] + }, + { + "code": "350900", + "value": "宁德市", + "label": "宁德市", + "children": [ + { + "code": "350902", + "value": "蕉城区", + "label": "蕉城区" + }, + { + "code": "350921", + "value": "霞浦县", + "label": "霞浦县" + }, + { + "code": "350922", + "value": "古田县", + "label": "古田县" + }, + { + "code": "350923", + "value": "屏南县", + "label": "屏南县" + }, + { + "code": "350924", + "value": "寿宁县", + "label": "寿宁县" + }, + { + "code": "350925", + "value": "周宁县", + "label": "周宁县" + }, + { + "code": "350926", + "value": "柘荣县", + "label": "柘荣县" + }, + { + "code": "350981", + "value": "福安市", + "label": "福安市" + }, + { + "code": "350982", + "value": "福鼎市", + "label": "福鼎市" + } + ] + } + ] + }, + { + "code": "360000", + "value": "江西省", + "label": "江西省", + "children": [ + { + "code": "360100", + "value": "南昌市", + "label": "南昌市", + "children": [ + { + "code": "360102", + "value": "东湖区", + "label": "东湖区" + }, + { + "code": "360103", + "value": "西湖区", + "label": "西湖区" + }, + { + "code": "360104", + "value": "青云谱区", + "label": "青云谱区" + }, + { + "code": "360111", + "value": "青山湖区", + "label": "青山湖区" + }, + { + "code": "360112", + "value": "新建区", + "label": "新建区" + }, + { + "code": "360113", + "value": "红谷滩区", + "label": "红谷滩区" + }, + { + "code": "360121", + "value": "南昌县", + "label": "南昌县" + }, + { + "code": "360123", + "value": "安义县", + "label": "安义县" + }, + { + "code": "360124", + "value": "进贤县", + "label": "进贤县" + } + ] + }, + { + "code": "360200", + "value": "景德镇市", + "label": "景德镇市", + "children": [ + { + "code": "360202", + "value": "昌江区", + "label": "昌江区" + }, + { + "code": "360203", + "value": "珠山区", + "label": "珠山区" + }, + { + "code": "360222", + "value": "浮梁县", + "label": "浮梁县" + }, + { + "code": "360281", + "value": "乐平市", + "label": "乐平市" + } + ] + }, + { + "code": "360300", + "value": "萍乡市", + "label": "萍乡市", + "children": [ + { + "code": "360302", + "value": "安源区", + "label": "安源区" + }, + { + "code": "360313", + "value": "湘东区", + "label": "湘东区" + }, + { + "code": "360321", + "value": "莲花县", + "label": "莲花县" + }, + { + "code": "360322", + "value": "上栗县", + "label": "上栗县" + }, + { + "code": "360323", + "value": "芦溪县", + "label": "芦溪县" + } + ] + }, + { + "code": "360400", + "value": "九江市", + "label": "九江市", + "children": [ + { + "code": "360402", + "value": "濂溪区", + "label": "濂溪区" + }, + { + "code": "360403", + "value": "浔阳区", + "label": "浔阳区" + }, + { + "code": "360404", + "value": "柴桑区", + "label": "柴桑区" + }, + { + "code": "360423", + "value": "武宁县", + "label": "武宁县" + }, + { + "code": "360424", + "value": "修水县", + "label": "修水县" + }, + { + "code": "360425", + "value": "永修县", + "label": "永修县" + }, + { + "code": "360426", + "value": "德安县", + "label": "德安县" + }, + { + "code": "360428", + "value": "都昌县", + "label": "都昌县" + }, + { + "code": "360429", + "value": "湖口县", + "label": "湖口县" + }, + { + "code": "360430", + "value": "彭泽县", + "label": "彭泽县" + }, + { + "code": "360481", + "value": "瑞昌市", + "label": "瑞昌市" + }, + { + "code": "360482", + "value": "共青城市", + "label": "共青城市" + }, + { + "code": "360483", + "value": "庐山市", + "label": "庐山市" + } + ] + }, + { + "code": "360500", + "value": "新余市", + "label": "新余市", + "children": [ + { + "code": "360502", + "value": "渝水区", + "label": "渝水区" + }, + { + "code": "360521", + "value": "分宜县", + "label": "分宜县" + } + ] + }, + { + "code": "360600", + "value": "鹰潭市", + "label": "鹰潭市", + "children": [ + { + "code": "360602", + "value": "月湖区", + "label": "月湖区" + }, + { + "code": "360603", + "value": "余江区", + "label": "余江区" + }, + { + "code": "360681", + "value": "贵溪市", + "label": "贵溪市" + } + ] + }, + { + "code": "360700", + "value": "赣州市", + "label": "赣州市", + "children": [ + { + "code": "360702", + "value": "章贡区", + "label": "章贡区" + }, + { + "code": "360703", + "value": "南康区", + "label": "南康区" + }, + { + "code": "360704", + "value": "赣县区", + "label": "赣县区" + }, + { + "code": "360722", + "value": "信丰县", + "label": "信丰县" + }, + { + "code": "360723", + "value": "大余县", + "label": "大余县" + }, + { + "code": "360724", + "value": "上犹县", + "label": "上犹县" + }, + { + "code": "360725", + "value": "崇义县", + "label": "崇义县" + }, + { + "code": "360726", + "value": "安远县", + "label": "安远县" + }, + { + "code": "360728", + "value": "定南县", + "label": "定南县" + }, + { + "code": "360729", + "value": "全南县", + "label": "全南县" + }, + { + "code": "360730", + "value": "宁都县", + "label": "宁都县" + }, + { + "code": "360731", + "value": "于都县", + "label": "于都县" + }, + { + "code": "360732", + "value": "兴国县", + "label": "兴国县" + }, + { + "code": "360733", + "value": "会昌县", + "label": "会昌县" + }, + { + "code": "360734", + "value": "寻乌县", + "label": "寻乌县" + }, + { + "code": "360735", + "value": "石城县", + "label": "石城县" + }, + { + "code": "360781", + "value": "瑞金市", + "label": "瑞金市" + }, + { + "code": "360783", + "value": "龙南市", + "label": "龙南市" + } + ] + }, + { + "code": "360800", + "value": "吉安市", + "label": "吉安市", + "children": [ + { + "code": "360802", + "value": "吉州区", + "label": "吉州区" + }, + { + "code": "360803", + "value": "青原区", + "label": "青原区" + }, + { + "code": "360821", + "value": "吉安县", + "label": "吉安县" + }, + { + "code": "360822", + "value": "吉水县", + "label": "吉水县" + }, + { + "code": "360823", + "value": "峡江县", + "label": "峡江县" + }, + { + "code": "360824", + "value": "新干县", + "label": "新干县" + }, + { + "code": "360825", + "value": "永丰县", + "label": "永丰县" + }, + { + "code": "360826", + "value": "泰和县", + "label": "泰和县" + }, + { + "code": "360827", + "value": "遂川县", + "label": "遂川县" + }, + { + "code": "360828", + "value": "万安县", + "label": "万安县" + }, + { + "code": "360829", + "value": "安福县", + "label": "安福县" + }, + { + "code": "360830", + "value": "永新县", + "label": "永新县" + }, + { + "code": "360881", + "value": "井冈山市", + "label": "井冈山市" + } + ] + }, + { + "code": "360900", + "value": "宜春市", + "label": "宜春市", + "children": [ + { + "code": "360902", + "value": "袁州区", + "label": "袁州区" + }, + { + "code": "360921", + "value": "奉新县", + "label": "奉新县" + }, + { + "code": "360922", + "value": "万载县", + "label": "万载县" + }, + { + "code": "360923", + "value": "上高县", + "label": "上高县" + }, + { + "code": "360924", + "value": "宜丰县", + "label": "宜丰县" + }, + { + "code": "360925", + "value": "靖安县", + "label": "靖安县" + }, + { + "code": "360926", + "value": "铜鼓县", + "label": "铜鼓县" + }, + { + "code": "360981", + "value": "丰城市", + "label": "丰城市" + }, + { + "code": "360982", + "value": "樟树市", + "label": "樟树市" + }, + { + "code": "360983", + "value": "高安市", + "label": "高安市" + } + ] + }, + { + "code": "361000", + "value": "抚州市", + "label": "抚州市", + "children": [ + { + "code": "361002", + "value": "临川区", + "label": "临川区" + }, + { + "code": "361003", + "value": "东乡区", + "label": "东乡区" + }, + { + "code": "361021", + "value": "南城县", + "label": "南城县" + }, + { + "code": "361022", + "value": "黎川县", + "label": "黎川县" + }, + { + "code": "361023", + "value": "南丰县", + "label": "南丰县" + }, + { + "code": "361024", + "value": "崇仁县", + "label": "崇仁县" + }, + { + "code": "361025", + "value": "乐安县", + "label": "乐安县" + }, + { + "code": "361026", + "value": "宜黄县", + "label": "宜黄县" + }, + { + "code": "361027", + "value": "金溪县", + "label": "金溪县" + }, + { + "code": "361028", + "value": "资溪县", + "label": "资溪县" + }, + { + "code": "361030", + "value": "广昌县", + "label": "广昌县" + } + ] + }, + { + "code": "361100", + "value": "上饶市", + "label": "上饶市", + "children": [ + { + "code": "361102", + "value": "信州区", + "label": "信州区" + }, + { + "code": "361103", + "value": "广丰区", + "label": "广丰区" + }, + { + "code": "361104", + "value": "广信区", + "label": "广信区" + }, + { + "code": "361123", + "value": "玉山县", + "label": "玉山县" + }, + { + "code": "361124", + "value": "铅山县", + "label": "铅山县" + }, + { + "code": "361125", + "value": "横峰县", + "label": "横峰县" + }, + { + "code": "361126", + "value": "弋阳县", + "label": "弋阳县" + }, + { + "code": "361127", + "value": "余干县", + "label": "余干县" + }, + { + "code": "361128", + "value": "鄱阳县", + "label": "鄱阳县" + }, + { + "code": "361129", + "value": "万年县", + "label": "万年县" + }, + { + "code": "361130", + "value": "婺源县", + "label": "婺源县" + }, + { + "code": "361181", + "value": "德兴市", + "label": "德兴市" + } + ] + } + ] + }, + { + "code": "370000", + "value": "山东省", + "label": "山东省", + "children": [ + { + "code": "370100", + "value": "济南市", + "label": "济南市", + "children": [ + { + "code": "370102", + "value": "历下区", + "label": "历下区" + }, + { + "code": "370103", + "value": "市中区", + "label": "市中区" + }, + { + "code": "370104", + "value": "槐荫区", + "label": "槐荫区" + }, + { + "code": "370105", + "value": "天桥区", + "label": "天桥区" + }, + { + "code": "370112", + "value": "历城区", + "label": "历城区" + }, + { + "code": "370113", + "value": "长清区", + "label": "长清区" + }, + { + "code": "370114", + "value": "章丘区", + "label": "章丘区" + }, + { + "code": "370115", + "value": "济阳区", + "label": "济阳区" + }, + { + "code": "370116", + "value": "莱芜区", + "label": "莱芜区" + }, + { + "code": "370117", + "value": "钢城区", + "label": "钢城区" + }, + { + "code": "370124", + "value": "平阴县", + "label": "平阴县" + }, + { + "code": "370126", + "value": "商河县", + "label": "商河县" + } + ] + }, + { + "code": "370200", + "value": "青岛市", + "label": "青岛市", + "children": [ + { + "code": "370202", + "value": "市南区", + "label": "市南区" + }, + { + "code": "370203", + "value": "市北区", + "label": "市北区" + }, + { + "code": "370211", + "value": "黄岛区", + "label": "黄岛区" + }, + { + "code": "370212", + "value": "崂山区", + "label": "崂山区" + }, + { + "code": "370213", + "value": "李沧区", + "label": "李沧区" + }, + { + "code": "370214", + "value": "城阳区", + "label": "城阳区" + }, + { + "code": "370215", + "value": "即墨区", + "label": "即墨区" + }, + { + "code": "370281", + "value": "胶州市", + "label": "胶州市" + }, + { + "code": "370283", + "value": "平度市", + "label": "平度市" + }, + { + "code": "370285", + "value": "莱西市", + "label": "莱西市" + } + ] + }, + { + "code": "370300", + "value": "淄博市", + "label": "淄博市", + "children": [ + { + "code": "370302", + "value": "淄川区", + "label": "淄川区" + }, + { + "code": "370303", + "value": "张店区", + "label": "张店区" + }, + { + "code": "370304", + "value": "博山区", + "label": "博山区" + }, + { + "code": "370305", + "value": "临淄区", + "label": "临淄区" + }, + { + "code": "370306", + "value": "周村区", + "label": "周村区" + }, + { + "code": "370321", + "value": "桓台县", + "label": "桓台县" + }, + { + "code": "370322", + "value": "高青县", + "label": "高青县" + }, + { + "code": "370323", + "value": "沂源县", + "label": "沂源县" + } + ] + }, + { + "code": "370400", + "value": "枣庄市", + "label": "枣庄市", + "children": [ + { + "code": "370402", + "value": "市中区", + "label": "市中区" + }, + { + "code": "370403", + "value": "薛城区", + "label": "薛城区" + }, + { + "code": "370404", + "value": "峄城区", + "label": "峄城区" + }, + { + "code": "370405", + "value": "台儿庄区", + "label": "台儿庄区" + }, + { + "code": "370406", + "value": "山亭区", + "label": "山亭区" + }, + { + "code": "370481", + "value": "滕州市", + "label": "滕州市" + } + ] + }, + { + "code": "370500", + "value": "东营市", + "label": "东营市", + "children": [ + { + "code": "370502", + "value": "东营区", + "label": "东营区" + }, + { + "code": "370503", + "value": "河口区", + "label": "河口区" + }, + { + "code": "370505", + "value": "垦利区", + "label": "垦利区" + }, + { + "code": "370522", + "value": "利津县", + "label": "利津县" + }, + { + "code": "370523", + "value": "广饶县", + "label": "广饶县" + } + ] + }, + { + "code": "370600", + "value": "烟台市", + "label": "烟台市", + "children": [ + { + "code": "370602", + "value": "芝罘区", + "label": "芝罘区" + }, + { + "code": "370611", + "value": "福山区", + "label": "福山区" + }, + { + "code": "370612", + "value": "牟平区", + "label": "牟平区" + }, + { + "code": "370613", + "value": "莱山区", + "label": "莱山区" + }, + { + "code": "370614", + "value": "蓬莱区", + "label": "蓬莱区" + }, + { + "code": "370681", + "value": "龙口市", + "label": "龙口市" + }, + { + "code": "370682", + "value": "莱阳市", + "label": "莱阳市" + }, + { + "code": "370683", + "value": "莱州市", + "label": "莱州市" + }, + { + "code": "370685", + "value": "招远市", + "label": "招远市" + }, + { + "code": "370686", + "value": "栖霞市", + "label": "栖霞市" + }, + { + "code": "370687", + "value": "海阳市", + "label": "海阳市" + } + ] + }, + { + "code": "370700", + "value": "潍坊市", + "label": "潍坊市", + "children": [ + { + "code": "370702", + "value": "潍城区", + "label": "潍城区" + }, + { + "code": "370703", + "value": "寒亭区", + "label": "寒亭区" + }, + { + "code": "370704", + "value": "坊子区", + "label": "坊子区" + }, + { + "code": "370705", + "value": "奎文区", + "label": "奎文区" + }, + { + "code": "370724", + "value": "临朐县", + "label": "临朐县" + }, + { + "code": "370725", + "value": "昌乐县", + "label": "昌乐县" + }, + { + "code": "370781", + "value": "青州市", + "label": "青州市" + }, + { + "code": "370782", + "value": "诸城市", + "label": "诸城市" + }, + { + "code": "370783", + "value": "寿光市", + "label": "寿光市" + }, + { + "code": "370784", + "value": "安丘市", + "label": "安丘市" + }, + { + "code": "370785", + "value": "高密市", + "label": "高密市" + }, + { + "code": "370786", + "value": "昌邑市", + "label": "昌邑市" + } + ] + }, + { + "code": "370800", + "value": "济宁市", + "label": "济宁市", + "children": [ + { + "code": "370811", + "value": "任城区", + "label": "任城区" + }, + { + "code": "370812", + "value": "兖州区", + "label": "兖州区" + }, + { + "code": "370826", + "value": "微山县", + "label": "微山县" + }, + { + "code": "370827", + "value": "鱼台县", + "label": "鱼台县" + }, + { + "code": "370828", + "value": "金乡县", + "label": "金乡县" + }, + { + "code": "370829", + "value": "嘉祥县", + "label": "嘉祥县" + }, + { + "code": "370830", + "value": "汶上县", + "label": "汶上县" + }, + { + "code": "370831", + "value": "泗水县", + "label": "泗水县" + }, + { + "code": "370832", + "value": "梁山县", + "label": "梁山县" + }, + { + "code": "370881", + "value": "曲阜市", + "label": "曲阜市" + }, + { + "code": "370883", + "value": "邹城市", + "label": "邹城市" + } + ] + }, + { + "code": "370900", + "value": "泰安市", + "label": "泰安市", + "children": [ + { + "code": "370902", + "value": "泰山区", + "label": "泰山区" + }, + { + "code": "370911", + "value": "岱岳区", + "label": "岱岳区" + }, + { + "code": "370921", + "value": "宁阳县", + "label": "宁阳县" + }, + { + "code": "370923", + "value": "东平县", + "label": "东平县" + }, + { + "code": "370982", + "value": "新泰市", + "label": "新泰市" + }, + { + "code": "370983", + "value": "肥城市", + "label": "肥城市" + } + ] + }, + { + "code": "371000", + "value": "威海市", + "label": "威海市", + "children": [ + { + "code": "371002", + "value": "环翠区", + "label": "环翠区" + }, + { + "code": "371003", + "value": "文登区", + "label": "文登区" + }, + { + "code": "371082", + "value": "荣成市", + "label": "荣成市" + }, + { + "code": "371083", + "value": "乳山市", + "label": "乳山市" + } + ] + }, + { + "code": "371100", + "value": "日照市", + "label": "日照市", + "children": [ + { + "code": "371102", + "value": "东港区", + "label": "东港区" + }, + { + "code": "371103", + "value": "岚山区", + "label": "岚山区" + }, + { + "code": "371121", + "value": "五莲县", + "label": "五莲县" + }, + { + "code": "371122", + "value": "莒县", + "label": "莒县" + } + ] + }, + { + "code": "371300", + "value": "临沂市", + "label": "临沂市", + "children": [ + { + "code": "371302", + "value": "兰山区", + "label": "兰山区" + }, + { + "code": "371311", + "value": "罗庄区", + "label": "罗庄区" + }, + { + "code": "371312", + "value": "河东区", + "label": "河东区" + }, + { + "code": "371321", + "value": "沂南县", + "label": "沂南县" + }, + { + "code": "371322", + "value": "郯城县", + "label": "郯城县" + }, + { + "code": "371323", + "value": "沂水县", + "label": "沂水县" + }, + { + "code": "371324", + "value": "兰陵县", + "label": "兰陵县" + }, + { + "code": "371325", + "value": "费县", + "label": "费县" + }, + { + "code": "371326", + "value": "平邑县", + "label": "平邑县" + }, + { + "code": "371327", + "value": "莒南县", + "label": "莒南县" + }, + { + "code": "371328", + "value": "蒙阴县", + "label": "蒙阴县" + }, + { + "code": "371329", + "value": "临沭县", + "label": "临沭县" + } + ] + }, + { + "code": "371400", + "value": "德州市", + "label": "德州市", + "children": [ + { + "code": "371402", + "value": "德城区", + "label": "德城区" + }, + { + "code": "371403", + "value": "陵城区", + "label": "陵城区" + }, + { + "code": "371422", + "value": "宁津县", + "label": "宁津县" + }, + { + "code": "371423", + "value": "庆云县", + "label": "庆云县" + }, + { + "code": "371424", + "value": "临邑县", + "label": "临邑县" + }, + { + "code": "371425", + "value": "齐河县", + "label": "齐河县" + }, + { + "code": "371426", + "value": "平原县", + "label": "平原县" + }, + { + "code": "371427", + "value": "夏津县", + "label": "夏津县" + }, + { + "code": "371428", + "value": "武城县", + "label": "武城县" + }, + { + "code": "371481", + "value": "乐陵市", + "label": "乐陵市" + }, + { + "code": "371482", + "value": "禹城市", + "label": "禹城市" + } + ] + }, + { + "code": "371500", + "value": "聊城市", + "label": "聊城市", + "children": [ + { + "code": "371502", + "value": "东昌府区", + "label": "东昌府区" + }, + { + "code": "371503", + "value": "茌平区", + "label": "茌平区" + }, + { + "code": "371521", + "value": "阳谷县", + "label": "阳谷县" + }, + { + "code": "371522", + "value": "莘县", + "label": "莘县" + }, + { + "code": "371524", + "value": "东阿县", + "label": "东阿县" + }, + { + "code": "371525", + "value": "冠县", + "label": "冠县" + }, + { + "code": "371526", + "value": "高唐县", + "label": "高唐县" + }, + { + "code": "371581", + "value": "临清市", + "label": "临清市" + } + ] + }, + { + "code": "371600", + "value": "滨州市", + "label": "滨州市", + "children": [ + { + "code": "371602", + "value": "滨城区", + "label": "滨城区" + }, + { + "code": "371603", + "value": "沾化区", + "label": "沾化区" + }, + { + "code": "371621", + "value": "惠民县", + "label": "惠民县" + }, + { + "code": "371622", + "value": "阳信县", + "label": "阳信县" + }, + { + "code": "371623", + "value": "无棣县", + "label": "无棣县" + }, + { + "code": "371625", + "value": "博兴县", + "label": "博兴县" + }, + { + "code": "371681", + "value": "邹平市", + "label": "邹平市" + } + ] + }, + { + "code": "371700", + "value": "菏泽市", + "label": "菏泽市", + "children": [ + { + "code": "371702", + "value": "牡丹区", + "label": "牡丹区" + }, + { + "code": "371703", + "value": "定陶区", + "label": "定陶区" + }, + { + "code": "371721", + "value": "曹县", + "label": "曹县" + }, + { + "code": "371722", + "value": "单县", + "label": "单县" + }, + { + "code": "371723", + "value": "成武县", + "label": "成武县" + }, + { + "code": "371724", + "value": "巨野县", + "label": "巨野县" + }, + { + "code": "371725", + "value": "郓城县", + "label": "郓城县" + }, + { + "code": "371726", + "value": "鄄城县", + "label": "鄄城县" + }, + { + "code": "371728", + "value": "东明县", + "label": "东明县" + } + ] + } + ] + }, + { + "code": "410000", + "value": "河南省", + "label": "河南省", + "children": [ + { + "code": "410100", + "value": "郑州市", + "label": "郑州市", + "children": [ + { + "code": "410102", + "value": "中原区", + "label": "中原区" + }, + { + "code": "410103", + "value": "二七区", + "label": "二七区" + }, + { + "code": "410104", + "value": "管城回族区", + "label": "管城回族区" + }, + { + "code": "410105", + "value": "金水区", + "label": "金水区" + }, + { + "code": "410106", + "value": "上街区", + "label": "上街区" + }, + { + "code": "410108", + "value": "惠济区", + "label": "惠济区" + }, + { + "code": "410122", + "value": "中牟县", + "label": "中牟县" + }, + { + "code": "410181", + "value": "巩义市", + "label": "巩义市" + }, + { + "code": "410182", + "value": "荥阳市", + "label": "荥阳市" + }, + { + "code": "410183", + "value": "新密市", + "label": "新密市" + }, + { + "code": "410184", + "value": "新郑市", + "label": "新郑市" + }, + { + "code": "410185", + "value": "登封市", + "label": "登封市" + } + ] + }, + { + "code": "410200", + "value": "开封市", + "label": "开封市", + "children": [ + { + "code": "410202", + "value": "龙亭区", + "label": "龙亭区" + }, + { + "code": "410203", + "value": "顺河回族区", + "label": "顺河回族区" + }, + { + "code": "410204", + "value": "鼓楼区", + "label": "鼓楼区" + }, + { + "code": "410205", + "value": "禹王台区", + "label": "禹王台区" + }, + { + "code": "410212", + "value": "祥符区", + "label": "祥符区" + }, + { + "code": "410221", + "value": "杞县", + "label": "杞县" + }, + { + "code": "410222", + "value": "通许县", + "label": "通许县" + }, + { + "code": "410223", + "value": "尉氏县", + "label": "尉氏县" + }, + { + "code": "410225", + "value": "兰考县", + "label": "兰考县" + } + ] + }, + { + "code": "410300", + "value": "洛阳市", + "label": "洛阳市", + "children": [ + { + "code": "410302", + "value": "老城区", + "label": "老城区" + }, + { + "code": "410303", + "value": "西工区", + "label": "西工区" + }, + { + "code": "410304", + "value": "瀍河回族区", + "label": "瀍河回族区" + }, + { + "code": "410305", + "value": "涧西区", + "label": "涧西区" + }, + { + "code": "410306", + "value": "吉利区", + "label": "吉利区" + }, + { + "code": "410311", + "value": "洛龙区", + "label": "洛龙区" + }, + { + "code": "410322", + "value": "孟津县", + "label": "孟津县" + }, + { + "code": "410323", + "value": "新安县", + "label": "新安县" + }, + { + "code": "410324", + "value": "栾川县", + "label": "栾川县" + }, + { + "code": "410325", + "value": "嵩县", + "label": "嵩县" + }, + { + "code": "410326", + "value": "汝阳县", + "label": "汝阳县" + }, + { + "code": "410327", + "value": "宜阳县", + "label": "宜阳县" + }, + { + "code": "410328", + "value": "洛宁县", + "label": "洛宁县" + }, + { + "code": "410329", + "value": "伊川县", + "label": "伊川县" + }, + { + "code": "410381", + "value": "偃师市", + "label": "偃师市" + } + ] + }, + { + "code": "410400", + "value": "平顶山市", + "label": "平顶山市", + "children": [ + { + "code": "410402", + "value": "新华区", + "label": "新华区" + }, + { + "code": "410403", + "value": "卫东区", + "label": "卫东区" + }, + { + "code": "410404", + "value": "石龙区", + "label": "石龙区" + }, + { + "code": "410411", + "value": "湛河区", + "label": "湛河区" + }, + { + "code": "410421", + "value": "宝丰县", + "label": "宝丰县" + }, + { + "code": "410422", + "value": "叶县", + "label": "叶县" + }, + { + "code": "410423", + "value": "鲁山县", + "label": "鲁山县" + }, + { + "code": "410425", + "value": "郏县", + "label": "郏县" + }, + { + "code": "410481", + "value": "舞钢市", + "label": "舞钢市" + }, + { + "code": "410482", + "value": "汝州市", + "label": "汝州市" + } + ] + }, + { + "code": "410500", + "value": "安阳市", + "label": "安阳市", + "children": [ + { + "code": "410502", + "value": "文峰区", + "label": "文峰区" + }, + { + "code": "410503", + "value": "北关区", + "label": "北关区" + }, + { + "code": "410505", + "value": "殷都区", + "label": "殷都区" + }, + { + "code": "410506", + "value": "龙安区", + "label": "龙安区" + }, + { + "code": "410522", + "value": "安阳县", + "label": "安阳县" + }, + { + "code": "410523", + "value": "汤阴县", + "label": "汤阴县" + }, + { + "code": "410526", + "value": "滑县", + "label": "滑县" + }, + { + "code": "410527", + "value": "内黄县", + "label": "内黄县" + }, + { + "code": "410581", + "value": "林州市", + "label": "林州市" + } + ] + }, + { + "code": "410600", + "value": "鹤壁市", + "label": "鹤壁市", + "children": [ + { + "code": "410602", + "value": "鹤山区", + "label": "鹤山区" + }, + { + "code": "410603", + "value": "山城区", + "label": "山城区" + }, + { + "code": "410611", + "value": "淇滨区", + "label": "淇滨区" + }, + { + "code": "410621", + "value": "浚县", + "label": "浚县" + }, + { + "code": "410622", + "value": "淇县", + "label": "淇县" + } + ] + }, + { + "code": "410700", + "value": "新乡市", + "label": "新乡市", + "children": [ + { + "code": "410702", + "value": "红旗区", + "label": "红旗区" + }, + { + "code": "410703", + "value": "卫滨区", + "label": "卫滨区" + }, + { + "code": "410704", + "value": "凤泉区", + "label": "凤泉区" + }, + { + "code": "410711", + "value": "牧野区", + "label": "牧野区" + }, + { + "code": "410721", + "value": "新乡县", + "label": "新乡县" + }, + { + "code": "410724", + "value": "获嘉县", + "label": "获嘉县" + }, + { + "code": "410725", + "value": "原阳县", + "label": "原阳县" + }, + { + "code": "410726", + "value": "延津县", + "label": "延津县" + }, + { + "code": "410727", + "value": "封丘县", + "label": "封丘县" + }, + { + "code": "410781", + "value": "卫辉市", + "label": "卫辉市" + }, + { + "code": "410782", + "value": "辉县市", + "label": "辉县市" + }, + { + "code": "410783", + "value": "长垣市", + "label": "长垣市" + } + ] + }, + { + "code": "410800", + "value": "焦作市", + "label": "焦作市", + "children": [ + { + "code": "410802", + "value": "解放区", + "label": "解放区" + }, + { + "code": "410803", + "value": "中站区", + "label": "中站区" + }, + { + "code": "410804", + "value": "马村区", + "label": "马村区" + }, + { + "code": "410811", + "value": "山阳区", + "label": "山阳区" + }, + { + "code": "410821", + "value": "修武县", + "label": "修武县" + }, + { + "code": "410822", + "value": "博爱县", + "label": "博爱县" + }, + { + "code": "410823", + "value": "武陟县", + "label": "武陟县" + }, + { + "code": "410825", + "value": "温县", + "label": "温县" + }, + { + "code": "410882", + "value": "沁阳市", + "label": "沁阳市" + }, + { + "code": "410883", + "value": "孟州市", + "label": "孟州市" + } + ] + }, + { + "code": "410900", + "value": "濮阳市", + "label": "濮阳市", + "children": [ + { + "code": "410902", + "value": "华龙区", + "label": "华龙区" + }, + { + "code": "410922", + "value": "清丰县", + "label": "清丰县" + }, + { + "code": "410923", + "value": "南乐县", + "label": "南乐县" + }, + { + "code": "410926", + "value": "范县", + "label": "范县" + }, + { + "code": "410927", + "value": "台前县", + "label": "台前县" + }, + { + "code": "410928", + "value": "濮阳县", + "label": "濮阳县" + } + ] + }, + { + "code": "411000", + "value": "许昌市", + "label": "许昌市", + "children": [ + { + "code": "411002", + "value": "魏都区", + "label": "魏都区" + }, + { + "code": "411003", + "value": "建安区", + "label": "建安区" + }, + { + "code": "411024", + "value": "鄢陵县", + "label": "鄢陵县" + }, + { + "code": "411025", + "value": "襄城县", + "label": "襄城县" + }, + { + "code": "411081", + "value": "禹州市", + "label": "禹州市" + }, + { + "code": "411082", + "value": "长葛市", + "label": "长葛市" + } + ] + }, + { + "code": "411100", + "value": "漯河市", + "label": "漯河市", + "children": [ + { + "code": "411102", + "value": "源汇区", + "label": "源汇区" + }, + { + "code": "411103", + "value": "郾城区", + "label": "郾城区" + }, + { + "code": "411104", + "value": "召陵区", + "label": "召陵区" + }, + { + "code": "411121", + "value": "舞阳县", + "label": "舞阳县" + }, + { + "code": "411122", + "value": "临颍县", + "label": "临颍县" + } + ] + }, + { + "code": "411200", + "value": "三门峡市", + "label": "三门峡市", + "children": [ + { + "code": "411202", + "value": "湖滨区", + "label": "湖滨区" + }, + { + "code": "411203", + "value": "陕州区", + "label": "陕州区" + }, + { + "code": "411221", + "value": "渑池县", + "label": "渑池县" + }, + { + "code": "411224", + "value": "卢氏县", + "label": "卢氏县" + }, + { + "code": "411281", + "value": "义马市", + "label": "义马市" + }, + { + "code": "411282", + "value": "灵宝市", + "label": "灵宝市" + } + ] + }, + { + "code": "411300", + "value": "南阳市", + "label": "南阳市", + "children": [ + { + "code": "411302", + "value": "宛城区", + "label": "宛城区" + }, + { + "code": "411303", + "value": "卧龙区", + "label": "卧龙区" + }, + { + "code": "411321", + "value": "南召县", + "label": "南召县" + }, + { + "code": "411322", + "value": "方城县", + "label": "方城县" + }, + { + "code": "411323", + "value": "西峡县", + "label": "西峡县" + }, + { + "code": "411324", + "value": "镇平县", + "label": "镇平县" + }, + { + "code": "411325", + "value": "内乡县", + "label": "内乡县" + }, + { + "code": "411326", + "value": "淅川县", + "label": "淅川县" + }, + { + "code": "411327", + "value": "社旗县", + "label": "社旗县" + }, + { + "code": "411328", + "value": "唐河县", + "label": "唐河县" + }, + { + "code": "411329", + "value": "新野县", + "label": "新野县" + }, + { + "code": "411330", + "value": "桐柏县", + "label": "桐柏县" + }, + { + "code": "411381", + "value": "邓州市", + "label": "邓州市" + } + ] + }, + { + "code": "411400", + "value": "商丘市", + "label": "商丘市", + "children": [ + { + "code": "411402", + "value": "梁园区", + "label": "梁园区" + }, + { + "code": "411403", + "value": "睢阳区", + "label": "睢阳区" + }, + { + "code": "411421", + "value": "民权县", + "label": "民权县" + }, + { + "code": "411422", + "value": "睢县", + "label": "睢县" + }, + { + "code": "411423", + "value": "宁陵县", + "label": "宁陵县" + }, + { + "code": "411424", + "value": "柘城县", + "label": "柘城县" + }, + { + "code": "411425", + "value": "虞城县", + "label": "虞城县" + }, + { + "code": "411426", + "value": "夏邑县", + "label": "夏邑县" + }, + { + "code": "411481", + "value": "永城市", + "label": "永城市" + } + ] + }, + { + "code": "411500", + "value": "信阳市", + "label": "信阳市", + "children": [ + { + "code": "411502", + "value": "浉河区", + "label": "浉河区" + }, + { + "code": "411503", + "value": "平桥区", + "label": "平桥区" + }, + { + "code": "411521", + "value": "罗山县", + "label": "罗山县" + }, + { + "code": "411522", + "value": "光山县", + "label": "光山县" + }, + { + "code": "411523", + "value": "新县", + "label": "新县" + }, + { + "code": "411524", + "value": "商城县", + "label": "商城县" + }, + { + "code": "411525", + "value": "固始县", + "label": "固始县" + }, + { + "code": "411526", + "value": "潢川县", + "label": "潢川县" + }, + { + "code": "411527", + "value": "淮滨县", + "label": "淮滨县" + }, + { + "code": "411528", + "value": "息县", + "label": "息县" + } + ] + }, + { + "code": "411600", + "value": "周口市", + "label": "周口市", + "children": [ + { + "code": "411602", + "value": "川汇区", + "label": "川汇区" + }, + { + "code": "411603", + "value": "淮阳区", + "label": "淮阳区" + }, + { + "code": "411621", + "value": "扶沟县", + "label": "扶沟县" + }, + { + "code": "411622", + "value": "西华县", + "label": "西华县" + }, + { + "code": "411623", + "value": "商水县", + "label": "商水县" + }, + { + "code": "411624", + "value": "沈丘县", + "label": "沈丘县" + }, + { + "code": "411625", + "value": "郸城县", + "label": "郸城县" + }, + { + "code": "411627", + "value": "太康县", + "label": "太康县" + }, + { + "code": "411628", + "value": "鹿邑县", + "label": "鹿邑县" + }, + { + "code": "411681", + "value": "项城市", + "label": "项城市" + } + ] + }, + { + "code": "411700", + "value": "驻马店市", + "label": "驻马店市", + "children": [ + { + "code": "411702", + "value": "驿城区", + "label": "驿城区" + }, + { + "code": "411721", + "value": "西平县", + "label": "西平县" + }, + { + "code": "411722", + "value": "上蔡县", + "label": "上蔡县" + }, + { + "code": "411723", + "value": "平舆县", + "label": "平舆县" + }, + { + "code": "411724", + "value": "正阳县", + "label": "正阳县" + }, + { + "code": "411725", + "value": "确山县", + "label": "确山县" + }, + { + "code": "411726", + "value": "泌阳县", + "label": "泌阳县" + }, + { + "code": "411727", + "value": "汝南县", + "label": "汝南县" + }, + { + "code": "411728", + "value": "遂平县", + "label": "遂平县" + }, + { + "code": "411729", + "value": "新蔡县", + "label": "新蔡县" + } + ] + } + ] + }, + { + "code": "420000", + "value": "湖北省", + "label": "湖北省", + "children": [ + { + "code": "420100", + "value": "武汉市", + "label": "武汉市", + "children": [ + { + "code": "420102", + "value": "江岸区", + "label": "江岸区" + }, + { + "code": "420103", + "value": "江汉区", + "label": "江汉区" + }, + { + "code": "420104", + "value": "硚口区", + "label": "硚口区" + }, + { + "code": "420105", + "value": "汉阳区", + "label": "汉阳区" + }, + { + "code": "420106", + "value": "武昌区", + "label": "武昌区" + }, + { + "code": "420107", + "value": "青山区", + "label": "青山区" + }, + { + "code": "420111", + "value": "洪山区", + "label": "洪山区" + }, + { + "code": "420112", + "value": "东西湖区", + "label": "东西湖区" + }, + { + "code": "420113", + "value": "汉南区", + "label": "汉南区" + }, + { + "code": "420114", + "value": "蔡甸区", + "label": "蔡甸区" + }, + { + "code": "420115", + "value": "江夏区", + "label": "江夏区" + }, + { + "code": "420116", + "value": "黄陂区", + "label": "黄陂区" + }, + { + "code": "420117", + "value": "新洲区", + "label": "新洲区" + } + ] + }, + { + "code": "420200", + "value": "黄石市", + "label": "黄石市", + "children": [ + { + "code": "420202", + "value": "黄石港区", + "label": "黄石港区" + }, + { + "code": "420203", + "value": "西塞山区", + "label": "西塞山区" + }, + { + "code": "420204", + "value": "下陆区", + "label": "下陆区" + }, + { + "code": "420205", + "value": "铁山区", + "label": "铁山区" + }, + { + "code": "420222", + "value": "阳新县", + "label": "阳新县" + }, + { + "code": "420281", + "value": "大冶市", + "label": "大冶市" + } + ] + }, + { + "code": "420300", + "value": "十堰市", + "label": "十堰市", + "children": [ + { + "code": "420302", + "value": "茅箭区", + "label": "茅箭区" + }, + { + "code": "420303", + "value": "张湾区", + "label": "张湾区" + }, + { + "code": "420304", + "value": "郧阳区", + "label": "郧阳区" + }, + { + "code": "420322", + "value": "郧西县", + "label": "郧西县" + }, + { + "code": "420323", + "value": "竹山县", + "label": "竹山县" + }, + { + "code": "420324", + "value": "竹溪县", + "label": "竹溪县" + }, + { + "code": "420325", + "value": "房县", + "label": "房县" + }, + { + "code": "420381", + "value": "丹江口市", + "label": "丹江口市" + } + ] + }, + { + "code": "420500", + "value": "宜昌市", + "label": "宜昌市", + "children": [ + { + "code": "420502", + "value": "西陵区", + "label": "西陵区" + }, + { + "code": "420503", + "value": "伍家岗区", + "label": "伍家岗区" + }, + { + "code": "420504", + "value": "点军区", + "label": "点军区" + }, + { + "code": "420505", + "value": "猇亭区", + "label": "猇亭区" + }, + { + "code": "420506", + "value": "夷陵区", + "label": "夷陵区" + }, + { + "code": "420525", + "value": "远安县", + "label": "远安县" + }, + { + "code": "420526", + "value": "兴山县", + "label": "兴山县" + }, + { + "code": "420527", + "value": "秭归县", + "label": "秭归县" + }, + { + "code": "420528", + "value": "长阳土家族自治县", + "label": "长阳土家族自治县" + }, + { + "code": "420529", + "value": "五峰土家族自治县", + "label": "五峰土家族自治县" + }, + { + "code": "420581", + "value": "宜都市", + "label": "宜都市" + }, + { + "code": "420582", + "value": "当阳市", + "label": "当阳市" + }, + { + "code": "420583", + "value": "枝江市", + "label": "枝江市" + } + ] + }, + { + "code": "420600", + "value": "襄阳市", + "label": "襄阳市", + "children": [ + { + "code": "420602", + "value": "襄城区", + "label": "襄城区" + }, + { + "code": "420606", + "value": "樊城区", + "label": "樊城区" + }, + { + "code": "420607", + "value": "襄州区", + "label": "襄州区" + }, + { + "code": "420624", + "value": "南漳县", + "label": "南漳县" + }, + { + "code": "420625", + "value": "谷城县", + "label": "谷城县" + }, + { + "code": "420626", + "value": "保康县", + "label": "保康县" + }, + { + "code": "420682", + "value": "老河口市", + "label": "老河口市" + }, + { + "code": "420683", + "value": "枣阳市", + "label": "枣阳市" + }, + { + "code": "420684", + "value": "宜城市", + "label": "宜城市" + } + ] + }, + { + "code": "420700", + "value": "鄂州市", + "label": "鄂州市", + "children": [ + { + "code": "420702", + "value": "梁子湖区", + "label": "梁子湖区" + }, + { + "code": "420703", + "value": "华容区", + "label": "华容区" + }, + { + "code": "420704", + "value": "鄂城区", + "label": "鄂城区" + } + ] + }, + { + "code": "420800", + "value": "荆门市", + "label": "荆门市", + "children": [ + { + "code": "420802", + "value": "东宝区", + "label": "东宝区" + }, + { + "code": "420804", + "value": "掇刀区", + "label": "掇刀区" + }, + { + "code": "420822", + "value": "沙洋县", + "label": "沙洋县" + }, + { + "code": "420881", + "value": "钟祥市", + "label": "钟祥市" + }, + { + "code": "420882", + "value": "京山市", + "label": "京山市" + } + ] + }, + { + "code": "420900", + "value": "孝感市", + "label": "孝感市", + "children": [ + { + "code": "420902", + "value": "孝南区", + "label": "孝南区" + }, + { + "code": "420921", + "value": "孝昌县", + "label": "孝昌县" + }, + { + "code": "420922", + "value": "大悟县", + "label": "大悟县" + }, + { + "code": "420923", + "value": "云梦县", + "label": "云梦县" + }, + { + "code": "420981", + "value": "应城市", + "label": "应城市" + }, + { + "code": "420982", + "value": "安陆市", + "label": "安陆市" + }, + { + "code": "420984", + "value": "汉川市", + "label": "汉川市" + } + ] + }, + { + "code": "421000", + "value": "荆州市", + "label": "荆州市", + "children": [ + { + "code": "421002", + "value": "沙市区", + "label": "沙市区" + }, + { + "code": "421003", + "value": "荆州区", + "label": "荆州区" + }, + { + "code": "421022", + "value": "公安县", + "label": "公安县" + }, + { + "code": "421023", + "value": "监利县", + "label": "监利县" + }, + { + "code": "421024", + "value": "江陵县", + "label": "江陵县" + }, + { + "code": "421081", + "value": "石首市", + "label": "石首市" + }, + { + "code": "421083", + "value": "洪湖市", + "label": "洪湖市" + }, + { + "code": "421087", + "value": "松滋市", + "label": "松滋市" + } + ] + }, + { + "code": "421100", + "value": "黄冈市", + "label": "黄冈市", + "children": [ + { + "code": "421102", + "value": "黄州区", + "label": "黄州区" + }, + { + "code": "421121", + "value": "团风县", + "label": "团风县" + }, + { + "code": "421122", + "value": "红安县", + "label": "红安县" + }, + { + "code": "421123", + "value": "罗田县", + "label": "罗田县" + }, + { + "code": "421124", + "value": "英山县", + "label": "英山县" + }, + { + "code": "421125", + "value": "浠水县", + "label": "浠水县" + }, + { + "code": "421126", + "value": "蕲春县", + "label": "蕲春县" + }, + { + "code": "421127", + "value": "黄梅县", + "label": "黄梅县" + }, + { + "code": "421181", + "value": "麻城市", + "label": "麻城市" + }, + { + "code": "421182", + "value": "武穴市", + "label": "武穴市" + } + ] + }, + { + "code": "421200", + "value": "咸宁市", + "label": "咸宁市", + "children": [ + { + "code": "421202", + "value": "咸安区", + "label": "咸安区" + }, + { + "code": "421221", + "value": "嘉鱼县", + "label": "嘉鱼县" + }, + { + "code": "421222", + "value": "通城县", + "label": "通城县" + }, + { + "code": "421223", + "value": "崇阳县", + "label": "崇阳县" + }, + { + "code": "421224", + "value": "通山县", + "label": "通山县" + }, + { + "code": "421281", + "value": "赤壁市", + "label": "赤壁市" + } + ] + }, + { + "code": "421300", + "value": "随州市", + "label": "随州市", + "children": [ + { + "code": "421303", + "value": "曾都区", + "label": "曾都区" + }, + { + "code": "421321", + "value": "随县", + "label": "随县" + }, + { + "code": "421381", + "value": "广水市", + "label": "广水市" + } + ] + }, + { + "code": "422800", + "value": "恩施土家族苗族自治州", + "label": "恩施土家族苗族自治州", + "children": [ + { + "code": "422801", + "value": "恩施市", + "label": "恩施市" + }, + { + "code": "422802", + "value": "利川市", + "label": "利川市" + }, + { + "code": "422822", + "value": "建始县", + "label": "建始县" + }, + { + "code": "422823", + "value": "巴东县", + "label": "巴东县" + }, + { + "code": "422825", + "value": "宣恩县", + "label": "宣恩县" + }, + { + "code": "422826", + "value": "咸丰县", + "label": "咸丰县" + }, + { + "code": "422827", + "value": "来凤县", + "label": "来凤县" + }, + { + "code": "422828", + "value": "鹤峰县", + "label": "鹤峰县" + } + ] + } + ] + }, + { + "code": "430000", + "value": "湖南省", + "label": "湖南省", + "children": [ + { + "code": "430100", + "value": "长沙市", + "label": "长沙市", + "children": [ + { + "code": "430102", + "value": "芙蓉区", + "label": "芙蓉区" + }, + { + "code": "430103", + "value": "天心区", + "label": "天心区" + }, + { + "code": "430104", + "value": "岳麓区", + "label": "岳麓区" + }, + { + "code": "430105", + "value": "开福区", + "label": "开福区" + }, + { + "code": "430111", + "value": "雨花区", + "label": "雨花区" + }, + { + "code": "430112", + "value": "望城区", + "label": "望城区" + }, + { + "code": "430121", + "value": "长沙县", + "label": "长沙县" + }, + { + "code": "430181", + "value": "浏阳市", + "label": "浏阳市" + }, + { + "code": "430182", + "value": "宁乡市", + "label": "宁乡市" + } + ] + }, + { + "code": "430200", + "value": "株洲市", + "label": "株洲市", + "children": [ + { + "code": "430202", + "value": "荷塘区", + "label": "荷塘区" + }, + { + "code": "430203", + "value": "芦淞区", + "label": "芦淞区" + }, + { + "code": "430204", + "value": "石峰区", + "label": "石峰区" + }, + { + "code": "430211", + "value": "天元区", + "label": "天元区" + }, + { + "code": "430212", + "value": "渌口区", + "label": "渌口区" + }, + { + "code": "430223", + "value": "攸县", + "label": "攸县" + }, + { + "code": "430224", + "value": "茶陵县", + "label": "茶陵县" + }, + { + "code": "430225", + "value": "炎陵县", + "label": "炎陵县" + }, + { + "code": "430281", + "value": "醴陵市", + "label": "醴陵市" + } + ] + }, + { + "code": "430300", + "value": "湘潭市", + "label": "湘潭市", + "children": [ + { + "code": "430302", + "value": "雨湖区", + "label": "雨湖区" + }, + { + "code": "430304", + "value": "岳塘区", + "label": "岳塘区" + }, + { + "code": "430321", + "value": "湘潭县", + "label": "湘潭县" + }, + { + "code": "430381", + "value": "湘乡市", + "label": "湘乡市" + }, + { + "code": "430382", + "value": "韶山市", + "label": "韶山市" + } + ] + }, + { + "code": "430400", + "value": "衡阳市", + "label": "衡阳市", + "children": [ + { + "code": "430405", + "value": "珠晖区", + "label": "珠晖区" + }, + { + "code": "430406", + "value": "雁峰区", + "label": "雁峰区" + }, + { + "code": "430407", + "value": "石鼓区", + "label": "石鼓区" + }, + { + "code": "430408", + "value": "蒸湘区", + "label": "蒸湘区" + }, + { + "code": "430412", + "value": "南岳区", + "label": "南岳区" + }, + { + "code": "430421", + "value": "衡阳县", + "label": "衡阳县" + }, + { + "code": "430422", + "value": "衡南县", + "label": "衡南县" + }, + { + "code": "430423", + "value": "衡山县", + "label": "衡山县" + }, + { + "code": "430424", + "value": "衡东县", + "label": "衡东县" + }, + { + "code": "430426", + "value": "祁东县", + "label": "祁东县" + }, + { + "code": "430481", + "value": "耒阳市", + "label": "耒阳市" + }, + { + "code": "430482", + "value": "常宁市", + "label": "常宁市" + } + ] + }, + { + "code": "430500", + "value": "邵阳市", + "label": "邵阳市", + "children": [ + { + "code": "430502", + "value": "双清区", + "label": "双清区" + }, + { + "code": "430503", + "value": "大祥区", + "label": "大祥区" + }, + { + "code": "430511", + "value": "北塔区", + "label": "北塔区" + }, + { + "code": "430522", + "value": "新邵县", + "label": "新邵县" + }, + { + "code": "430523", + "value": "邵阳县", + "label": "邵阳县" + }, + { + "code": "430524", + "value": "隆回县", + "label": "隆回县" + }, + { + "code": "430525", + "value": "洞口县", + "label": "洞口县" + }, + { + "code": "430527", + "value": "绥宁县", + "label": "绥宁县" + }, + { + "code": "430528", + "value": "新宁县", + "label": "新宁县" + }, + { + "code": "430529", + "value": "城步苗族自治县", + "label": "城步苗族自治县" + }, + { + "code": "430581", + "value": "武冈市", + "label": "武冈市" + }, + { + "code": "430582", + "value": "邵东市", + "label": "邵东市" + } + ] + }, + { + "code": "430600", + "value": "岳阳市", + "label": "岳阳市", + "children": [ + { + "code": "430602", + "value": "岳阳楼区", + "label": "岳阳楼区" + }, + { + "code": "430603", + "value": "云溪区", + "label": "云溪区" + }, + { + "code": "430611", + "value": "君山区", + "label": "君山区" + }, + { + "code": "430621", + "value": "岳阳县", + "label": "岳阳县" + }, + { + "code": "430623", + "value": "华容县", + "label": "华容县" + }, + { + "code": "430624", + "value": "湘阴县", + "label": "湘阴县" + }, + { + "code": "430626", + "value": "平江县", + "label": "平江县" + }, + { + "code": "430681", + "value": "汨罗市", + "label": "汨罗市" + }, + { + "code": "430682", + "value": "临湘市", + "label": "临湘市" + } + ] + }, + { + "code": "430700", + "value": "常德市", + "label": "常德市", + "children": [ + { + "code": "430702", + "value": "武陵区", + "label": "武陵区" + }, + { + "code": "430703", + "value": "鼎城区", + "label": "鼎城区" + }, + { + "code": "430721", + "value": "安乡县", + "label": "安乡县" + }, + { + "code": "430722", + "value": "汉寿县", + "label": "汉寿县" + }, + { + "code": "430723", + "value": "澧县", + "label": "澧县" + }, + { + "code": "430724", + "value": "临澧县", + "label": "临澧县" + }, + { + "code": "430725", + "value": "桃源县", + "label": "桃源县" + }, + { + "code": "430726", + "value": "石门县", + "label": "石门县" + }, + { + "code": "430781", + "value": "津市市", + "label": "津市市" + } + ] + }, + { + "code": "430800", + "value": "张家界市", + "label": "张家界市", + "children": [ + { + "code": "430802", + "value": "永定区", + "label": "永定区" + }, + { + "code": "430811", + "value": "武陵源区", + "label": "武陵源区" + }, + { + "code": "430821", + "value": "慈利县", + "label": "慈利县" + }, + { + "code": "430822", + "value": "桑植县", + "label": "桑植县" + } + ] + }, + { + "code": "430900", + "value": "益阳市", + "label": "益阳市", + "children": [ + { + "code": "430902", + "value": "资阳区", + "label": "资阳区" + }, + { + "code": "430903", + "value": "赫山区", + "label": "赫山区" + }, + { + "code": "430921", + "value": "南县", + "label": "南县" + }, + { + "code": "430922", + "value": "桃江县", + "label": "桃江县" + }, + { + "code": "430923", + "value": "安化县", + "label": "安化县" + }, + { + "code": "430981", + "value": "沅江市", + "label": "沅江市" + } + ] + }, + { + "code": "431000", + "value": "郴州市", + "label": "郴州市", + "children": [ + { + "code": "431002", + "value": "北湖区", + "label": "北湖区" + }, + { + "code": "431003", + "value": "苏仙区", + "label": "苏仙区" + }, + { + "code": "431021", + "value": "桂阳县", + "label": "桂阳县" + }, + { + "code": "431022", + "value": "宜章县", + "label": "宜章县" + }, + { + "code": "431023", + "value": "永兴县", + "label": "永兴县" + }, + { + "code": "431024", + "value": "嘉禾县", + "label": "嘉禾县" + }, + { + "code": "431025", + "value": "临武县", + "label": "临武县" + }, + { + "code": "431026", + "value": "汝城县", + "label": "汝城县" + }, + { + "code": "431027", + "value": "桂东县", + "label": "桂东县" + }, + { + "code": "431028", + "value": "安仁县", + "label": "安仁县" + }, + { + "code": "431081", + "value": "资兴市", + "label": "资兴市" + } + ] + }, + { + "code": "431100", + "value": "永州市", + "label": "永州市", + "children": [ + { + "code": "431102", + "value": "零陵区", + "label": "零陵区" + }, + { + "code": "431103", + "value": "冷水滩区", + "label": "冷水滩区" + }, + { + "code": "431121", + "value": "祁阳县", + "label": "祁阳县" + }, + { + "code": "431122", + "value": "东安县", + "label": "东安县" + }, + { + "code": "431123", + "value": "双牌县", + "label": "双牌县" + }, + { + "code": "431124", + "value": "道县", + "label": "道县" + }, + { + "code": "431125", + "value": "江永县", + "label": "江永县" + }, + { + "code": "431126", + "value": "宁远县", + "label": "宁远县" + }, + { + "code": "431127", + "value": "蓝山县", + "label": "蓝山县" + }, + { + "code": "431128", + "value": "新田县", + "label": "新田县" + }, + { + "code": "431129", + "value": "江华瑶族自治县", + "label": "江华瑶族自治县" + } + ] + }, + { + "code": "431200", + "value": "怀化市", + "label": "怀化市", + "children": [ + { + "code": "431202", + "value": "鹤城区", + "label": "鹤城区" + }, + { + "code": "431221", + "value": "中方县", + "label": "中方县" + }, + { + "code": "431222", + "value": "沅陵县", + "label": "沅陵县" + }, + { + "code": "431223", + "value": "辰溪县", + "label": "辰溪县" + }, + { + "code": "431224", + "value": "溆浦县", + "label": "溆浦县" + }, + { + "code": "431225", + "value": "会同县", + "label": "会同县" + }, + { + "code": "431226", + "value": "麻阳苗族自治县", + "label": "麻阳苗族自治县" + }, + { + "code": "431227", + "value": "新晃侗族自治县", + "label": "新晃侗族自治县" + }, + { + "code": "431228", + "value": "芷江侗族自治县", + "label": "芷江侗族自治县" + }, + { + "code": "431229", + "value": "靖州苗族侗族自治县", + "label": "靖州苗族侗族自治县" + }, + { + "code": "431230", + "value": "通道侗族自治县", + "label": "通道侗族自治县" + }, + { + "code": "431281", + "value": "洪江市", + "label": "洪江市" + } + ] + }, + { + "code": "431300", + "value": "娄底市", + "label": "娄底市", + "children": [ + { + "code": "431302", + "value": "娄星区", + "label": "娄星区" + }, + { + "code": "431321", + "value": "双峰县", + "label": "双峰县" + }, + { + "code": "431322", + "value": "新化县", + "label": "新化县" + }, + { + "code": "431381", + "value": "冷水江市", + "label": "冷水江市" + }, + { + "code": "431382", + "value": "涟源市", + "label": "涟源市" + } + ] + }, + { + "code": "433100", + "value": "湘西土家族苗族自治州", + "label": "湘西土家族苗族自治州", + "children": [ + { + "code": "433101", + "value": "吉首市", + "label": "吉首市" + }, + { + "code": "433122", + "value": "泸溪县", + "label": "泸溪县" + }, + { + "code": "433123", + "value": "凤凰县", + "label": "凤凰县" + }, + { + "code": "433124", + "value": "花垣县", + "label": "花垣县" + }, + { + "code": "433125", + "value": "保靖县", + "label": "保靖县" + }, + { + "code": "433126", + "value": "古丈县", + "label": "古丈县" + }, + { + "code": "433127", + "value": "永顺县", + "label": "永顺县" + }, + { + "code": "433130", + "value": "龙山县", + "label": "龙山县" + } + ] + } + ] + }, + { + "code": "440000", + "value": "广东省", + "label": "广东省", + "children": [ + { + "code": "440100", + "value": "广州市", + "label": "广州市", + "children": [ + { + "code": "440103", + "value": "荔湾区", + "label": "荔湾区" + }, + { + "code": "440104", + "value": "越秀区", + "label": "越秀区" + }, + { + "code": "440105", + "value": "海珠区", + "label": "海珠区" + }, + { + "code": "440106", + "value": "天河区", + "label": "天河区" + }, + { + "code": "440111", + "value": "白云区", + "label": "白云区" + }, + { + "code": "440112", + "value": "黄埔区", + "label": "黄埔区" + }, + { + "code": "440113", + "value": "番禺区", + "label": "番禺区" + }, + { + "code": "440114", + "value": "花都区", + "label": "花都区" + }, + { + "code": "440115", + "value": "南沙区", + "label": "南沙区" + }, + { + "code": "440117", + "value": "从化区", + "label": "从化区" + }, + { + "code": "440118", + "value": "增城区", + "label": "增城区" + } + ] + }, + { + "code": "440200", + "value": "韶关市", + "label": "韶关市", + "children": [ + { + "code": "440203", + "value": "武江区", + "label": "武江区" + }, + { + "code": "440204", + "value": "浈江区", + "label": "浈江区" + }, + { + "code": "440205", + "value": "曲江区", + "label": "曲江区" + }, + { + "code": "440222", + "value": "始兴县", + "label": "始兴县" + }, + { + "code": "440224", + "value": "仁化县", + "label": "仁化县" + }, + { + "code": "440229", + "value": "翁源县", + "label": "翁源县" + }, + { + "code": "440232", + "value": "乳源瑶族自治县", + "label": "乳源瑶族自治县" + }, + { + "code": "440233", + "value": "新丰县", + "label": "新丰县" + }, + { + "code": "440281", + "value": "乐昌市", + "label": "乐昌市" + }, + { + "code": "440282", + "value": "南雄市", + "label": "南雄市" + } + ] + }, + { + "code": "440300", + "value": "深圳市", + "label": "深圳市", + "children": [ + { + "code": "440303", + "value": "罗湖区", + "label": "罗湖区" + }, + { + "code": "440304", + "value": "福田区", + "label": "福田区" + }, + { + "code": "440305", + "value": "南山区", + "label": "南山区" + }, + { + "code": "440306", + "value": "宝安区", + "label": "宝安区" + }, + { + "code": "440307", + "value": "龙岗区", + "label": "龙岗区" + }, + { + "code": "440308", + "value": "盐田区", + "label": "盐田区" + }, + { + "code": "440309", + "value": "龙华区", + "label": "龙华区" + }, + { + "code": "440310", + "value": "坪山区", + "label": "坪山区" + }, + { + "code": "440311", + "value": "光明区", + "label": "光明区" + } + ] + }, + { + "code": "440400", + "value": "珠海市", + "label": "珠海市", + "children": [ + { + "code": "440402", + "value": "香洲区", + "label": "香洲区" + }, + { + "code": "440403", + "value": "斗门区", + "label": "斗门区" + }, + { + "code": "440404", + "value": "金湾区", + "label": "金湾区" + } + ] + }, + { + "code": "440500", + "value": "汕头市", + "label": "汕头市", + "children": [ + { + "code": "440507", + "value": "龙湖区", + "label": "龙湖区" + }, + { + "code": "440511", + "value": "金平区", + "label": "金平区" + }, + { + "code": "440512", + "value": "濠江区", + "label": "濠江区" + }, + { + "code": "440513", + "value": "潮阳区", + "label": "潮阳区" + }, + { + "code": "440514", + "value": "潮南区", + "label": "潮南区" + }, + { + "code": "440515", + "value": "澄海区", + "label": "澄海区" + }, + { + "code": "440523", + "value": "南澳县", + "label": "南澳县" + } + ] + }, + { + "code": "440600", + "value": "佛山市", + "label": "佛山市", + "children": [ + { + "code": "440604", + "value": "禅城区", + "label": "禅城区" + }, + { + "code": "440605", + "value": "南海区", + "label": "南海区" + }, + { + "code": "440606", + "value": "顺德区", + "label": "顺德区" + }, + { + "code": "440607", + "value": "三水区", + "label": "三水区" + }, + { + "code": "440608", + "value": "高明区", + "label": "高明区" + } + ] + }, + { + "code": "440700", + "value": "江门市", + "label": "江门市", + "children": [ + { + "code": "440703", + "value": "蓬江区", + "label": "蓬江区" + }, + { + "code": "440704", + "value": "江海区", + "label": "江海区" + }, + { + "code": "440705", + "value": "新会区", + "label": "新会区" + }, + { + "code": "440781", + "value": "台山市", + "label": "台山市" + }, + { + "code": "440783", + "value": "开平市", + "label": "开平市" + }, + { + "code": "440784", + "value": "鹤山市", + "label": "鹤山市" + }, + { + "code": "440785", + "value": "恩平市", + "label": "恩平市" + } + ] + }, + { + "code": "440800", + "value": "湛江市", + "label": "湛江市", + "children": [ + { + "code": "440802", + "value": "赤坎区", + "label": "赤坎区" + }, + { + "code": "440803", + "value": "霞山区", + "label": "霞山区" + }, + { + "code": "440804", + "value": "坡头区", + "label": "坡头区" + }, + { + "code": "440811", + "value": "麻章区", + "label": "麻章区" + }, + { + "code": "440823", + "value": "遂溪县", + "label": "遂溪县" + }, + { + "code": "440825", + "value": "徐闻县", + "label": "徐闻县" + }, + { + "code": "440881", + "value": "廉江市", + "label": "廉江市" + }, + { + "code": "440882", + "value": "雷州市", + "label": "雷州市" + }, + { + "code": "440883", + "value": "吴川市", + "label": "吴川市" + } + ] + }, + { + "code": "440900", + "value": "茂名市", + "label": "茂名市", + "children": [ + { + "code": "440902", + "value": "茂南区", + "label": "茂南区" + }, + { + "code": "440904", + "value": "电白区", + "label": "电白区" + }, + { + "code": "440981", + "value": "高州市", + "label": "高州市" + }, + { + "code": "440982", + "value": "化州市", + "label": "化州市" + }, + { + "code": "440983", + "value": "信宜市", + "label": "信宜市" + } + ] + }, + { + "code": "441200", + "value": "肇庆市", + "label": "肇庆市", + "children": [ + { + "code": "441202", + "value": "端州区", + "label": "端州区" + }, + { + "code": "441203", + "value": "鼎湖区", + "label": "鼎湖区" + }, + { + "code": "441204", + "value": "高要区", + "label": "高要区" + }, + { + "code": "441223", + "value": "广宁县", + "label": "广宁县" + }, + { + "code": "441224", + "value": "怀集县", + "label": "怀集县" + }, + { + "code": "441225", + "value": "封开县", + "label": "封开县" + }, + { + "code": "441226", + "value": "德庆县", + "label": "德庆县" + }, + { + "code": "441284", + "value": "四会市", + "label": "四会市" + } + ] + }, + { + "code": "441300", + "value": "惠州市", + "label": "惠州市", + "children": [ + { + "code": "441302", + "value": "惠城区", + "label": "惠城区" + }, + { + "code": "441303", + "value": "惠阳区", + "label": "惠阳区" + }, + { + "code": "441322", + "value": "博罗县", + "label": "博罗县" + }, + { + "code": "441323", + "value": "惠东县", + "label": "惠东县" + }, + { + "code": "441324", + "value": "龙门县", + "label": "龙门县" + } + ] + }, + { + "code": "441400", + "value": "梅州市", + "label": "梅州市", + "children": [ + { + "code": "441402", + "value": "梅江区", + "label": "梅江区" + }, + { + "code": "441403", + "value": "梅县区", + "label": "梅县区" + }, + { + "code": "441422", + "value": "大埔县", + "label": "大埔县" + }, + { + "code": "441423", + "value": "丰顺县", + "label": "丰顺县" + }, + { + "code": "441424", + "value": "五华县", + "label": "五华县" + }, + { + "code": "441426", + "value": "平远县", + "label": "平远县" + }, + { + "code": "441427", + "value": "蕉岭县", + "label": "蕉岭县" + }, + { + "code": "441481", + "value": "兴宁市", + "label": "兴宁市" + } + ] + }, + { + "code": "441500", + "value": "汕尾市", + "label": "汕尾市", + "children": [ + { + "code": "441502", + "value": "城区", + "label": "城区" + }, + { + "code": "441521", + "value": "海丰县", + "label": "海丰县" + }, + { + "code": "441523", + "value": "陆河县", + "label": "陆河县" + }, + { + "code": "441581", + "value": "陆丰市", + "label": "陆丰市" + } + ] + }, + { + "code": "441600", + "value": "河源市", + "label": "河源市", + "children": [ + { + "code": "441602", + "value": "源城区", + "label": "源城区" + }, + { + "code": "441621", + "value": "紫金县", + "label": "紫金县" + }, + { + "code": "441622", + "value": "龙川县", + "label": "龙川县" + }, + { + "code": "441623", + "value": "连平县", + "label": "连平县" + }, + { + "code": "441624", + "value": "和平县", + "label": "和平县" + }, + { + "code": "441625", + "value": "东源县", + "label": "东源县" + } + ] + }, + { + "code": "441700", + "value": "阳江市", + "label": "阳江市", + "children": [ + { + "code": "441702", + "value": "江城区", + "label": "江城区" + }, + { + "code": "441704", + "value": "阳东区", + "label": "阳东区" + }, + { + "code": "441721", + "value": "阳西县", + "label": "阳西县" + }, + { + "code": "441781", + "value": "阳春市", + "label": "阳春市" + } + ] + }, + { + "code": "441800", + "value": "清远市", + "label": "清远市", + "children": [ + { + "code": "441802", + "value": "清城区", + "label": "清城区" + }, + { + "code": "441803", + "value": "清新区", + "label": "清新区" + }, + { + "code": "441821", + "value": "佛冈县", + "label": "佛冈县" + }, + { + "code": "441823", + "value": "阳山县", + "label": "阳山县" + }, + { + "code": "441825", + "value": "连山壮族瑶族自治县", + "label": "连山壮族瑶族自治县" + }, + { + "code": "441826", + "value": "连南瑶族自治县", + "label": "连南瑶族自治县" + }, + { + "code": "441881", + "value": "英德市", + "label": "英德市" + }, + { + "code": "441882", + "value": "连州市", + "label": "连州市" + } + ] + }, + { + "code": "441900", + "value": "东莞市", + "label": "东莞市", + "children": [] + }, + { + "code": "442000", + "value": "中山市", + "label": "中山市", + "children": [] + }, + { + "code": "445100", + "value": "潮州市", + "label": "潮州市", + "children": [ + { + "code": "445102", + "value": "湘桥区", + "label": "湘桥区" + }, + { + "code": "445103", + "value": "潮安区", + "label": "潮安区" + }, + { + "code": "445122", + "value": "饶平县", + "label": "饶平县" + } + ] + }, + { + "code": "445200", + "value": "揭阳市", + "label": "揭阳市", + "children": [ + { + "code": "445202", + "value": "榕城区", + "label": "榕城区" + }, + { + "code": "445203", + "value": "揭东区", + "label": "揭东区" + }, + { + "code": "445222", + "value": "揭西县", + "label": "揭西县" + }, + { + "code": "445224", + "value": "惠来县", + "label": "惠来县" + }, + { + "code": "445281", + "value": "普宁市", + "label": "普宁市" + } + ] + }, + { + "code": "445300", + "value": "云浮市", + "label": "云浮市", + "children": [ + { + "code": "445302", + "value": "云城区", + "label": "云城区" + }, + { + "code": "445303", + "value": "云安区", + "label": "云安区" + }, + { + "code": "445321", + "value": "新兴县", + "label": "新兴县" + }, + { + "code": "445322", + "value": "郁南县", + "label": "郁南县" + }, + { + "code": "445381", + "value": "罗定市", + "label": "罗定市" + } + ] + } + ] + }, + { + "code": "450000", + "value": "广西壮族自治区", + "label": "广西壮族自治区", + "children": [ + { + "code": "450100", + "value": "南宁市", + "label": "南宁市", + "children": [ + { + "code": "450102", + "value": "兴宁区", + "label": "兴宁区" + }, + { + "code": "450103", + "value": "青秀区", + "label": "青秀区" + }, + { + "code": "450105", + "value": "江南区", + "label": "江南区" + }, + { + "code": "450107", + "value": "西乡塘区", + "label": "西乡塘区" + }, + { + "code": "450108", + "value": "良庆区", + "label": "良庆区" + }, + { + "code": "450109", + "value": "邕宁区", + "label": "邕宁区" + }, + { + "code": "450110", + "value": "武鸣区", + "label": "武鸣区" + }, + { + "code": "450123", + "value": "隆安县", + "label": "隆安县" + }, + { + "code": "450124", + "value": "马山县", + "label": "马山县" + }, + { + "code": "450125", + "value": "上林县", + "label": "上林县" + }, + { + "code": "450126", + "value": "宾阳县", + "label": "宾阳县" + }, + { + "code": "450127", + "value": "横县", + "label": "横县" + } + ] + }, + { + "code": "450200", + "value": "柳州市", + "label": "柳州市", + "children": [ + { + "code": "450202", + "value": "城中区", + "label": "城中区" + }, + { + "code": "450203", + "value": "鱼峰区", + "label": "鱼峰区" + }, + { + "code": "450204", + "value": "柳南区", + "label": "柳南区" + }, + { + "code": "450205", + "value": "柳北区", + "label": "柳北区" + }, + { + "code": "450206", + "value": "柳江区", + "label": "柳江区" + }, + { + "code": "450222", + "value": "柳城县", + "label": "柳城县" + }, + { + "code": "450223", + "value": "鹿寨县", + "label": "鹿寨县" + }, + { + "code": "450224", + "value": "融安县", + "label": "融安县" + }, + { + "code": "450225", + "value": "融水苗族自治县", + "label": "融水苗族自治县" + }, + { + "code": "450226", + "value": "三江侗族自治县", + "label": "三江侗族自治县" + } + ] + }, + { + "code": "450300", + "value": "桂林市", + "label": "桂林市", + "children": [ + { + "code": "450302", + "value": "秀峰区", + "label": "秀峰区" + }, + { + "code": "450303", + "value": "叠彩区", + "label": "叠彩区" + }, + { + "code": "450304", + "value": "象山区", + "label": "象山区" + }, + { + "code": "450305", + "value": "七星区", + "label": "七星区" + }, + { + "code": "450311", + "value": "雁山区", + "label": "雁山区" + }, + { + "code": "450312", + "value": "临桂区", + "label": "临桂区" + }, + { + "code": "450321", + "value": "阳朔县", + "label": "阳朔县" + }, + { + "code": "450323", + "value": "灵川县", + "label": "灵川县" + }, + { + "code": "450324", + "value": "全州县", + "label": "全州县" + }, + { + "code": "450325", + "value": "兴安县", + "label": "兴安县" + }, + { + "code": "450326", + "value": "永福县", + "label": "永福县" + }, + { + "code": "450327", + "value": "灌阳县", + "label": "灌阳县" + }, + { + "code": "450328", + "value": "龙胜各族自治县", + "label": "龙胜各族自治县" + }, + { + "code": "450329", + "value": "资源县", + "label": "资源县" + }, + { + "code": "450330", + "value": "平乐县", + "label": "平乐县" + }, + { + "code": "450381", + "value": "荔浦市", + "label": "荔浦市" + }, + { + "code": "450332", + "value": "恭城瑶族自治县", + "label": "恭城瑶族自治县" + } + ] + }, + { + "code": "450400", + "value": "梧州市", + "label": "梧州市", + "children": [ + { + "code": "450403", + "value": "万秀区", + "label": "万秀区" + }, + { + "code": "450405", + "value": "长洲区", + "label": "长洲区" + }, + { + "code": "450406", + "value": "龙圩区", + "label": "龙圩区" + }, + { + "code": "450421", + "value": "苍梧县", + "label": "苍梧县" + }, + { + "code": "450422", + "value": "藤县", + "label": "藤县" + }, + { + "code": "450423", + "value": "蒙山县", + "label": "蒙山县" + }, + { + "code": "450481", + "value": "岑溪市", + "label": "岑溪市" + } + ] + }, + { + "code": "450500", + "value": "北海市", + "label": "北海市", + "children": [ + { + "code": "450502", + "value": "海城区", + "label": "海城区" + }, + { + "code": "450503", + "value": "银海区", + "label": "银海区" + }, + { + "code": "450512", + "value": "铁山港区", + "label": "铁山港区" + }, + { + "code": "450521", + "value": "合浦县", + "label": "合浦县" + } + ] + }, + { + "code": "450600", + "value": "防城港市", + "label": "防城港市", + "children": [ + { + "code": "450602", + "value": "港口区", + "label": "港口区" + }, + { + "code": "450603", + "value": "防城区", + "label": "防城区" + }, + { + "code": "450621", + "value": "上思县", + "label": "上思县" + }, + { + "code": "450681", + "value": "东兴市", + "label": "东兴市" + } + ] + }, + { + "code": "450700", + "value": "钦州市", + "label": "钦州市", + "children": [ + { + "code": "450702", + "value": "钦南区", + "label": "钦南区" + }, + { + "code": "450703", + "value": "钦北区", + "label": "钦北区" + }, + { + "code": "450721", + "value": "灵山县", + "label": "灵山县" + }, + { + "code": "450722", + "value": "浦北县", + "label": "浦北县" + } + ] + }, + { + "code": "450800", + "value": "贵港市", + "label": "贵港市", + "children": [ + { + "code": "450802", + "value": "港北区", + "label": "港北区" + }, + { + "code": "450803", + "value": "港南区", + "label": "港南区" + }, + { + "code": "450804", + "value": "覃塘区", + "label": "覃塘区" + }, + { + "code": "450821", + "value": "平南县", + "label": "平南县" + }, + { + "code": "450881", + "value": "桂平市", + "label": "桂平市" + } + ] + }, + { + "code": "450900", + "value": "玉林市", + "label": "玉林市", + "children": [ + { + "code": "450902", + "value": "玉州区", + "label": "玉州区" + }, + { + "code": "450903", + "value": "福绵区", + "label": "福绵区" + }, + { + "code": "450921", + "value": "容县", + "label": "容县" + }, + { + "code": "450922", + "value": "陆川县", + "label": "陆川县" + }, + { + "code": "450923", + "value": "博白县", + "label": "博白县" + }, + { + "code": "450924", + "value": "兴业县", + "label": "兴业县" + }, + { + "code": "450981", + "value": "北流市", + "label": "北流市" + } + ] + }, + { + "code": "451000", + "value": "百色市", + "label": "百色市", + "children": [ + { + "code": "451002", + "value": "右江区", + "label": "右江区" + }, + { + "code": "451003", + "value": "田阳区", + "label": "田阳区" + }, + { + "code": "451022", + "value": "田东县", + "label": "田东县" + }, + { + "code": "451024", + "value": "德保县", + "label": "德保县" + }, + { + "code": "451026", + "value": "那坡县", + "label": "那坡县" + }, + { + "code": "451027", + "value": "凌云县", + "label": "凌云县" + }, + { + "code": "451028", + "value": "乐业县", + "label": "乐业县" + }, + { + "code": "451029", + "value": "田林县", + "label": "田林县" + }, + { + "code": "451030", + "value": "西林县", + "label": "西林县" + }, + { + "code": "451031", + "value": "隆林各族自治县", + "label": "隆林各族自治县" + }, + { + "code": "451081", + "value": "靖西市", + "label": "靖西市" + }, + { + "code": "451082", + "value": "平果市", + "label": "平果市" + } + ] + }, + { + "code": "451100", + "value": "贺州市", + "label": "贺州市", + "children": [ + { + "code": "451102", + "value": "八步区", + "label": "八步区" + }, + { + "code": "451103", + "value": "平桂区", + "label": "平桂区" + }, + { + "code": "451121", + "value": "昭平县", + "label": "昭平县" + }, + { + "code": "451122", + "value": "钟山县", + "label": "钟山县" + }, + { + "code": "451123", + "value": "富川瑶族自治县", + "label": "富川瑶族自治县" + } + ] + }, + { + "code": "451200", + "value": "河池市", + "label": "河池市", + "children": [ + { + "code": "451202", + "value": "金城江区", + "label": "金城江区" + }, + { + "code": "451203", + "value": "宜州区", + "label": "宜州区" + }, + { + "code": "451221", + "value": "南丹县", + "label": "南丹县" + }, + { + "code": "451222", + "value": "天峨县", + "label": "天峨县" + }, + { + "code": "451223", + "value": "凤山县", + "label": "凤山县" + }, + { + "code": "451224", + "value": "东兰县", + "label": "东兰县" + }, + { + "code": "451225", + "value": "罗城仫佬族自治县", + "label": "罗城仫佬族自治县" + }, + { + "code": "451226", + "value": "环江毛南族自治县", + "label": "环江毛南族自治县" + }, + { + "code": "451227", + "value": "巴马瑶族自治县", + "label": "巴马瑶族自治县" + }, + { + "code": "451228", + "value": "都安瑶族自治县", + "label": "都安瑶族自治县" + }, + { + "code": "451229", + "value": "大化瑶族自治县", + "label": "大化瑶族自治县" + } + ] + }, + { + "code": "451300", + "value": "来宾市", + "label": "来宾市", + "children": [ + { + "code": "451302", + "value": "兴宾区", + "label": "兴宾区" + }, + { + "code": "451321", + "value": "忻城县", + "label": "忻城县" + }, + { + "code": "451322", + "value": "象州县", + "label": "象州县" + }, + { + "code": "451323", + "value": "武宣县", + "label": "武宣县" + }, + { + "code": "451324", + "value": "金秀瑶族自治县", + "label": "金秀瑶族自治县" + }, + { + "code": "451381", + "value": "合山市", + "label": "合山市" + } + ] + }, + { + "code": "451400", + "value": "崇左市", + "label": "崇左市", + "children": [ + { + "code": "451402", + "value": "江州区", + "label": "江州区" + }, + { + "code": "451421", + "value": "扶绥县", + "label": "扶绥县" + }, + { + "code": "451422", + "value": "宁明县", + "label": "宁明县" + }, + { + "code": "451423", + "value": "龙州县", + "label": "龙州县" + }, + { + "code": "451424", + "value": "大新县", + "label": "大新县" + }, + { + "code": "451425", + "value": "天等县", + "label": "天等县" + }, + { + "code": "451481", + "value": "凭祥市", + "label": "凭祥市" + } + ] + } + ] + }, + { + "code": "460000", + "value": "海南省", + "label": "海南省", + "children": [ + { + "code": "460100", + "value": "海口市", + "label": "海口市", + "children": [ + { + "code": "460105", + "value": "秀英区", + "label": "秀英区" + }, + { + "code": "460106", + "value": "龙华区", + "label": "龙华区" + }, + { + "code": "460107", + "value": "琼山区", + "label": "琼山区" + }, + { + "code": "460108", + "value": "美兰区", + "label": "美兰区" + } + ] + }, + { + "code": "460200", + "value": "三亚市", + "label": "三亚市", + "children": [ + { + "code": "460202", + "value": "海棠区", + "label": "海棠区" + }, + { + "code": "460203", + "value": "吉阳区", + "label": "吉阳区" + }, + { + "code": "460204", + "value": "天涯区", + "label": "天涯区" + }, + { + "code": "460205", + "value": "崖州区", + "label": "崖州区" + } + ] + }, + { + "code": "460300", + "value": "三沙市", + "label": "三沙市", + "children": [] + }, + { + "code": "460400", + "value": "儋州市", + "label": "儋州市", + "children": [] + } + ] + }, + { + "code": "500000", + "label": "重庆市", + "value": "重庆市", + "children": [ + { + "code": "500100", + "label": "重庆市", + "value": "重庆市", + "children": [ + { "code": "500101", "label": "渝中区", "value": "渝中区" }, + { "code": "500102", "label": "江北区", "value": "江北区" }, + { "code": "500103", "label": "南岸区", "value": "南岸区" }, + { "code": "500104", "label": "北碚区", "value": "北碚区" }, + { "code": "500105", "label": "渝北区", "value": "渝北区" }, + { "code": "500106", "label": "巴南区", "value": "巴南区" }, + { "code": "500107", "label": "合川区", "value": "合川区" }, + { "code": "500108", "label": "永川区", "value": "永川区" }, + { "code": "500109", "label": "江津区", "value": "江津区" }, + { "code": "500110", "label": "沙坪坝区", "value": "沙坪坝区" }, + { "code": "500111", "label": "九龙坡区", "value": "九龙坡区" }, + { "code": "500112", "label": "大渡口区", "value": "大渡口区" }, + { "code": "500113", "label": "铜梁区", "value": "铜梁区" }, + { "code": "500114", "label": "潼南区", "value": "潼南区" }, + { "code": "500115", "label": "荣昌区", "value": "荣昌区" }, + { "code": "500116", "label": "梁平区", "value": "梁平区" }, + { "code": "500117", "label": "武隆区", "value": "武隆区" }, + { "code": "500118", "label": "丰都县", "value": "丰都县" }, + { "code": "500119", "label": "忠县", "value": "忠县" }, + { "code": "500120", "label": "开县", "value": "开县" }, + { "code": "500121", "label": "云阳县", "value": "云阳县" }, + { "code": "500122", "label": "奉节县", "value": "奉节县" }, + { "code": "500123", "label": "巫山县", "value": "巫山县" }, + { "code": "500124", "label": "巫溪县", "value": "巫溪县" }, + { "code": "500125", "label": "石柱土家族自治县", "value": "石柱土家族自治县" }, + { "code": "500126", "label": "秀山土家族苗族自治县", "value": "秀山土家族苗族自治县" }, + { "code": "500127", "label": "酉阳土家族苗族自治县", "value": "酉阳土家族苗族自治县" }, + { "code": "500128", "label": "彭水苗族土家族自治县", "value": "彭水苗族土家族自治县" } + ] + } + ] + }, + { + "code": "510000", + "value": "四川省", + "label": "四川省", + "children": [ + { + "code": "510100", + "value": "成都市", + "label": "成都市", + "children": [ + { + "code": "510104", + "value": "锦江区", + "label": "锦江区" + }, + { + "code": "510105", + "value": "青羊区", + "label": "青羊区" + }, + { + "code": "510106", + "value": "金牛区", + "label": "金牛区" + }, + { + "code": "510107", + "value": "武侯区", + "label": "武侯区" + }, + { + "code": "510108", + "value": "成华区", + "label": "成华区" + }, + { + "code": "510112", + "value": "龙泉驿区", + "label": "龙泉驿区" + }, + { + "code": "510113", + "value": "青白江区", + "label": "青白江区" + }, + { + "code": "510114", + "value": "新都区", + "label": "新都区" + }, + { + "code": "510115", + "value": "温江区", + "label": "温江区" + }, + { + "code": "510116", + "value": "双流区", + "label": "双流区" + }, + { + "code": "510117", + "value": "郫都区", + "label": "郫都区" + }, + { + "code": "510118", + "value": "新津区", + "label": "新津区" + }, + { + "code": "510121", + "value": "金堂县", + "label": "金堂县" + }, + { + "code": "510129", + "value": "大邑县", + "label": "大邑县" + }, + { + "code": "510131", + "value": "蒲江县", + "label": "蒲江县" + }, + { + "code": "510181", + "value": "都江堰市", + "label": "都江堰市" + }, + { + "code": "510182", + "value": "彭州市", + "label": "彭州市" + }, + { + "code": "510183", + "value": "邛崃市", + "label": "邛崃市" + }, + { + "code": "510184", + "value": "崇州市", + "label": "崇州市" + }, + { + "code": "510185", + "value": "简阳市", + "label": "简阳市" + } + ] + }, + { + "code": "510300", + "value": "自贡市", + "label": "自贡市", + "children": [ + { + "code": "510302", + "value": "自流井区", + "label": "自流井区" + }, + { + "code": "510303", + "value": "贡井区", + "label": "贡井区" + }, + { + "code": "510304", + "value": "大安区", + "label": "大安区" + }, + { + "code": "510311", + "value": "沿滩区", + "label": "沿滩区" + }, + { + "code": "510321", + "value": "荣县", + "label": "荣县" + }, + { + "code": "510322", + "value": "富顺县", + "label": "富顺县" + } + ] + }, + { + "code": "510400", + "value": "攀枝花市", + "label": "攀枝花市", + "children": [ + { + "code": "510402", + "value": "东区", + "label": "东区" + }, + { + "code": "510403", + "value": "西区", + "label": "西区" + }, + { + "code": "510411", + "value": "仁和区", + "label": "仁和区" + }, + { + "code": "510421", + "value": "米易县", + "label": "米易县" + }, + { + "code": "510422", + "value": "盐边县", + "label": "盐边县" + } + ] + }, + { + "code": "510500", + "value": "泸州市", + "label": "泸州市", + "children": [ + { + "code": "510502", + "value": "江阳区", + "label": "江阳区" + }, + { + "code": "510503", + "value": "纳溪区", + "label": "纳溪区" + }, + { + "code": "510504", + "value": "龙马潭区", + "label": "龙马潭区" + }, + { + "code": "510521", + "value": "泸县", + "label": "泸县" + }, + { + "code": "510522", + "value": "合江县", + "label": "合江县" + }, + { + "code": "510524", + "value": "叙永县", + "label": "叙永县" + }, + { + "code": "510525", + "value": "古蔺县", + "label": "古蔺县" + } + ] + }, + { + "code": "510600", + "value": "德阳市", + "label": "德阳市", + "children": [ + { + "code": "510603", + "value": "旌阳区", + "label": "旌阳区" + }, + { + "code": "510604", + "value": "罗江区", + "label": "罗江区" + }, + { + "code": "510623", + "value": "中江县", + "label": "中江县" + }, + { + "code": "510681", + "value": "广汉市", + "label": "广汉市" + }, + { + "code": "510682", + "value": "什邡市", + "label": "什邡市" + }, + { + "code": "510683", + "value": "绵竹市", + "label": "绵竹市" + } + ] + }, + { + "code": "510700", + "value": "绵阳市", + "label": "绵阳市", + "children": [ + { + "code": "510703", + "value": "涪城区", + "label": "涪城区" + }, + { + "code": "510704", + "value": "游仙区", + "label": "游仙区" + }, + { + "code": "510705", + "value": "安州区", + "label": "安州区" + }, + { + "code": "510722", + "value": "三台县", + "label": "三台县" + }, + { + "code": "510723", + "value": "盐亭县", + "label": "盐亭县" + }, + { + "code": "510725", + "value": "梓潼县", + "label": "梓潼县" + }, + { + "code": "510726", + "value": "北川羌族自治县", + "label": "北川羌族自治县" + }, + { + "code": "510727", + "value": "平武县", + "label": "平武县" + }, + { + "code": "510781", + "value": "江油市", + "label": "江油市" + } + ] + }, + { + "code": "510800", + "value": "广元市", + "label": "广元市", + "children": [ + { + "code": "510802", + "value": "利州区", + "label": "利州区" + }, + { + "code": "510811", + "value": "昭化区", + "label": "昭化区" + }, + { + "code": "510812", + "value": "朝天区", + "label": "朝天区" + }, + { + "code": "510821", + "value": "旺苍县", + "label": "旺苍县" + }, + { + "code": "510822", + "value": "青川县", + "label": "青川县" + }, + { + "code": "510823", + "value": "剑阁县", + "label": "剑阁县" + }, + { + "code": "510824", + "value": "苍溪县", + "label": "苍溪县" + } + ] + }, + { + "code": "510900", + "value": "遂宁市", + "label": "遂宁市", + "children": [ + { + "code": "510903", + "value": "船山区", + "label": "船山区" + }, + { + "code": "510904", + "value": "安居区", + "label": "安居区" + }, + { + "code": "510921", + "value": "蓬溪县", + "label": "蓬溪县" + }, + { + "code": "510923", + "value": "大英县", + "label": "大英县" + }, + { + "code": "510981", + "value": "射洪市", + "label": "射洪市" + } + ] + }, + { + "code": "511000", + "value": "内江市", + "label": "内江市", + "children": [ + { + "code": "511002", + "value": "市中区", + "label": "市中区" + }, + { + "code": "511011", + "value": "东兴区", + "label": "东兴区" + }, + { + "code": "511024", + "value": "威远县", + "label": "威远县" + }, + { + "code": "511025", + "value": "资中县", + "label": "资中县" + }, + { + "code": "511083", + "value": "隆昌市", + "label": "隆昌市" + } + ] + }, + { + "code": "511100", + "value": "乐山市", + "label": "乐山市", + "children": [ + { + "code": "511102", + "value": "市中区", + "label": "市中区" + }, + { + "code": "511111", + "value": "沙湾区", + "label": "沙湾区" + }, + { + "code": "511112", + "value": "五通桥区", + "label": "五通桥区" + }, + { + "code": "511113", + "value": "金口河区", + "label": "金口河区" + }, + { + "code": "511123", + "value": "犍为县", + "label": "犍为县" + }, + { + "code": "511124", + "value": "井研县", + "label": "井研县" + }, + { + "code": "511126", + "value": "夹江县", + "label": "夹江县" + }, + { + "code": "511129", + "value": "沐川县", + "label": "沐川县" + }, + { + "code": "511132", + "value": "峨边彝族自治县", + "label": "峨边彝族自治县" + }, + { + "code": "511133", + "value": "马边彝族自治县", + "label": "马边彝族自治县" + }, + { + "code": "511181", + "value": "峨眉山市", + "label": "峨眉山市" + } + ] + }, + { + "code": "511300", + "value": "南充市", + "label": "南充市", + "children": [ + { + "code": "511302", + "value": "顺庆区", + "label": "顺庆区" + }, + { + "code": "511303", + "value": "高坪区", + "label": "高坪区" + }, + { + "code": "511304", + "value": "嘉陵区", + "label": "嘉陵区" + }, + { + "code": "511321", + "value": "南部县", + "label": "南部县" + }, + { + "code": "511322", + "value": "营山县", + "label": "营山县" + }, + { + "code": "511323", + "value": "蓬安县", + "label": "蓬安县" + }, + { + "code": "511324", + "value": "仪陇县", + "label": "仪陇县" + }, + { + "code": "511325", + "value": "西充县", + "label": "西充县" + }, + { + "code": "511381", + "value": "阆中市", + "label": "阆中市" + } + ] + }, + { + "code": "511400", + "value": "眉山市", + "label": "眉山市", + "children": [ + { + "code": "511402", + "value": "东坡区", + "label": "东坡区" + }, + { + "code": "511403", + "value": "彭山区", + "label": "彭山区" + }, + { + "code": "511421", + "value": "仁寿县", + "label": "仁寿县" + }, + { + "code": "511423", + "value": "洪雅县", + "label": "洪雅县" + }, + { + "code": "511424", + "value": "丹棱县", + "label": "丹棱县" + }, + { + "code": "511425", + "value": "青神县", + "label": "青神县" + } + ] + }, + { + "code": "511500", + "value": "宜宾市", + "label": "宜宾市", + "children": [ + { + "code": "511502", + "value": "翠屏区", + "label": "翠屏区" + }, + { + "code": "511503", + "value": "南溪区", + "label": "南溪区" + }, + { + "code": "511504", + "value": "叙州区", + "label": "叙州区" + }, + { + "code": "511523", + "value": "江安县", + "label": "江安县" + }, + { + "code": "511524", + "value": "长宁县", + "label": "长宁县" + }, + { + "code": "511525", + "value": "高县", + "label": "高县" + }, + { + "code": "511526", + "value": "珙县", + "label": "珙县" + }, + { + "code": "511527", + "value": "筠连县", + "label": "筠连县" + }, + { + "code": "511528", + "value": "兴文县", + "label": "兴文县" + }, + { + "code": "511529", + "value": "屏山县", + "label": "屏山县" + } + ] + }, + { + "code": "511600", + "value": "广安市", + "label": "广安市", + "children": [ + { + "code": "511602", + "value": "广安区", + "label": "广安区" + }, + { + "code": "511603", + "value": "前锋区", + "label": "前锋区" + }, + { + "code": "511621", + "value": "岳池县", + "label": "岳池县" + }, + { + "code": "511622", + "value": "武胜县", + "label": "武胜县" + }, + { + "code": "511623", + "value": "邻水县", + "label": "邻水县" + }, + { + "code": "511681", + "value": "华蓥市", + "label": "华蓥市" + } + ] + }, + { + "code": "511700", + "value": "达州市", + "label": "达州市", + "children": [ + { + "code": "511702", + "value": "通川区", + "label": "通川区" + }, + { + "code": "511703", + "value": "达川区", + "label": "达川区" + }, + { + "code": "511722", + "value": "宣汉县", + "label": "宣汉县" + }, + { + "code": "511723", + "value": "开江县", + "label": "开江县" + }, + { + "code": "511724", + "value": "大竹县", + "label": "大竹县" + }, + { + "code": "511725", + "value": "渠县", + "label": "渠县" + }, + { + "code": "511781", + "value": "万源市", + "label": "万源市" + } + ] + }, + { + "code": "511800", + "value": "雅安市", + "label": "雅安市", + "children": [ + { + "code": "511802", + "value": "雨城区", + "label": "雨城区" + }, + { + "code": "511803", + "value": "名山区", + "label": "名山区" + }, + { + "code": "511822", + "value": "荥经县", + "label": "荥经县" + }, + { + "code": "511823", + "value": "汉源县", + "label": "汉源县" + }, + { + "code": "511824", + "value": "石棉县", + "label": "石棉县" + }, + { + "code": "511825", + "value": "天全县", + "label": "天全县" + }, + { + "code": "511826", + "value": "芦山县", + "label": "芦山县" + }, + { + "code": "511827", + "value": "宝兴县", + "label": "宝兴县" + } + ] + }, + { + "code": "511900", + "value": "巴中市", + "label": "巴中市", + "children": [ + { + "code": "511902", + "value": "巴州区", + "label": "巴州区" + }, + { + "code": "511903", + "value": "恩阳区", + "label": "恩阳区" + }, + { + "code": "511921", + "value": "通江县", + "label": "通江县" + }, + { + "code": "511922", + "value": "南江县", + "label": "南江县" + }, + { + "code": "511923", + "value": "平昌县", + "label": "平昌县" + } + ] + }, + { + "code": "512000", + "value": "资阳市", + "label": "资阳市", + "children": [ + { + "code": "512002", + "value": "雁江区", + "label": "雁江区" + }, + { + "code": "512021", + "value": "安岳县", + "label": "安岳县" + }, + { + "code": "512022", + "value": "乐至县", + "label": "乐至县" + } + ] + }, + { + "code": "513200", + "value": "阿坝藏族羌族自治州", + "label": "阿坝藏族羌族自治州", + "children": [ + { + "code": "513201", + "value": "马尔康市", + "label": "马尔康市" + }, + { + "code": "513221", + "value": "汶川县", + "label": "汶川县" + }, + { + "code": "513222", + "value": "理县", + "label": "理县" + }, + { + "code": "513223", + "value": "茂县", + "label": "茂县" + }, + { + "code": "513224", + "value": "松潘县", + "label": "松潘县" + }, + { + "code": "513225", + "value": "九寨沟县", + "label": "九寨沟县" + }, + { + "code": "513226", + "value": "金川县", + "label": "金川县" + }, + { + "code": "513227", + "value": "小金县", + "label": "小金县" + }, + { + "code": "513228", + "value": "黑水县", + "label": "黑水县" + }, + { + "code": "513230", + "value": "壤塘县", + "label": "壤塘县" + }, + { + "code": "513231", + "value": "阿坝县", + "label": "阿坝县" + }, + { + "code": "513232", + "value": "若尔盖县", + "label": "若尔盖县" + }, + { + "code": "513233", + "value": "红原县", + "label": "红原县" + } + ] + }, + { + "code": "513300", + "value": "甘孜藏族自治州", + "label": "甘孜藏族自治州", + "children": [ + { + "code": "513301", + "value": "康定市", + "label": "康定市" + }, + { + "code": "513322", + "value": "泸定县", + "label": "泸定县" + }, + { + "code": "513323", + "value": "丹巴县", + "label": "丹巴县" + }, + { + "code": "513324", + "value": "九龙县", + "label": "九龙县" + }, + { + "code": "513325", + "value": "雅江县", + "label": "雅江县" + }, + { + "code": "513326", + "value": "道孚县", + "label": "道孚县" + }, + { + "code": "513327", + "value": "炉霍县", + "label": "炉霍县" + }, + { + "code": "513328", + "value": "甘孜县", + "label": "甘孜县" + }, + { + "code": "513329", + "value": "新龙县", + "label": "新龙县" + }, + { + "code": "513330", + "value": "德格县", + "label": "德格县" + }, + { + "code": "513331", + "value": "白玉县", + "label": "白玉县" + }, + { + "code": "513332", + "value": "石渠县", + "label": "石渠县" + }, + { + "code": "513333", + "value": "色达县", + "label": "色达县" + }, + { + "code": "513334", + "value": "理塘县", + "label": "理塘县" + }, + { + "code": "513335", + "value": "巴塘县", + "label": "巴塘县" + }, + { + "code": "513336", + "value": "乡城县", + "label": "乡城县" + }, + { + "code": "513337", + "value": "稻城县", + "label": "稻城县" + }, + { + "code": "513338", + "value": "得荣县", + "label": "得荣县" + } + ] + }, + { + "code": "513400", + "value": "凉山彝族自治州", + "label": "凉山彝族自治州", + "children": [ + { + "code": "513401", + "value": "西昌市", + "label": "西昌市" + }, + { + "code": "513422", + "value": "木里藏族自治县", + "label": "木里藏族自治县" + }, + { + "code": "513423", + "value": "盐源县", + "label": "盐源县" + }, + { + "code": "513424", + "value": "德昌县", + "label": "德昌县" + }, + { + "code": "513425", + "value": "会理县", + "label": "会理县" + }, + { + "code": "513426", + "value": "会东县", + "label": "会东县" + }, + { + "code": "513427", + "value": "宁南县", + "label": "宁南县" + }, + { + "code": "513428", + "value": "普格县", + "label": "普格县" + }, + { + "code": "513429", + "value": "布拖县", + "label": "布拖县" + }, + { + "code": "513430", + "value": "金阳县", + "label": "金阳县" + }, + { + "code": "513431", + "value": "昭觉县", + "label": "昭觉县" + }, + { + "code": "513432", + "value": "喜德县", + "label": "喜德县" + }, + { + "code": "513433", + "value": "冕宁县", + "label": "冕宁县" + }, + { + "code": "513434", + "value": "越西县", + "label": "越西县" + }, + { + "code": "513435", + "value": "甘洛县", + "label": "甘洛县" + }, + { + "code": "513436", + "value": "美姑县", + "label": "美姑县" + }, + { + "code": "513437", + "value": "雷波县", + "label": "雷波县" + } + ] + } + ] + }, + { + "code": "520000", + "value": "贵州省", + "label": "贵州省", + "children": [ + { + "code": "520100", + "value": "贵阳市", + "label": "贵阳市", + "children": [ + { + "code": "520102", + "value": "南明区", + "label": "南明区" + }, + { + "code": "520103", + "value": "云岩区", + "label": "云岩区" + }, + { + "code": "520111", + "value": "花溪区", + "label": "花溪区" + }, + { + "code": "520112", + "value": "乌当区", + "label": "乌当区" + }, + { + "code": "520113", + "value": "白云区", + "label": "白云区" + }, + { + "code": "520115", + "value": "观山湖区", + "label": "观山湖区" + }, + { + "code": "520121", + "value": "开阳县", + "label": "开阳县" + }, + { + "code": "520122", + "value": "息烽县", + "label": "息烽县" + }, + { + "code": "520123", + "value": "修文县", + "label": "修文县" + }, + { + "code": "520181", + "value": "清镇市", + "label": "清镇市" + } + ] + }, + { + "code": "520200", + "value": "六盘水市", + "label": "六盘水市", + "children": [ + { + "code": "520201", + "value": "钟山区", + "label": "钟山区" + }, + { + "code": "520203", + "value": "六枝特区", + "label": "六枝特区" + }, + { + "code": "520221", + "value": "水城县", + "label": "水城县" + }, + { + "code": "520281", + "value": "盘州市", + "label": "盘州市" + } + ] + }, + { + "code": "520300", + "value": "遵义市", + "label": "遵义市", + "children": [ + { + "code": "520302", + "value": "红花岗区", + "label": "红花岗区" + }, + { + "code": "520303", + "value": "汇川区", + "label": "汇川区" + }, + { + "code": "520304", + "value": "播州区", + "label": "播州区" + }, + { + "code": "520322", + "value": "桐梓县", + "label": "桐梓县" + }, + { + "code": "520323", + "value": "绥阳县", + "label": "绥阳县" + }, + { + "code": "520324", + "value": "正安县", + "label": "正安县" + }, + { + "code": "520325", + "value": "道真仡佬族苗族自治县", + "label": "道真仡佬族苗族自治县" + }, + { + "code": "520326", + "value": "务川仡佬族苗族自治县", + "label": "务川仡佬族苗族自治县" + }, + { + "code": "520327", + "value": "凤冈县", + "label": "凤冈县" + }, + { + "code": "520328", + "value": "湄潭县", + "label": "湄潭县" + }, + { + "code": "520329", + "value": "余庆县", + "label": "余庆县" + }, + { + "code": "520330", + "value": "习水县", + "label": "习水县" + }, + { + "code": "520381", + "value": "赤水市", + "label": "赤水市" + }, + { + "code": "520382", + "value": "仁怀市", + "label": "仁怀市" + } + ] + }, + { + "code": "520400", + "value": "安顺市", + "label": "安顺市", + "children": [ + { + "code": "520402", + "value": "西秀区", + "label": "西秀区" + }, + { + "code": "520403", + "value": "平坝区", + "label": "平坝区" + }, + { + "code": "520422", + "value": "普定县", + "label": "普定县" + }, + { + "code": "520423", + "value": "镇宁布依族苗族自治县", + "label": "镇宁布依族苗族自治县" + }, + { + "code": "520424", + "value": "关岭布依族苗族自治县", + "label": "关岭布依族苗族自治县" + }, + { + "code": "520425", + "value": "紫云苗族布依族自治县", + "label": "紫云苗族布依族自治县" + } + ] + }, + { + "code": "520500", + "value": "毕节市", + "label": "毕节市", + "children": [ + { + "code": "520502", + "value": "七星关区", + "label": "七星关区" + }, + { + "code": "520521", + "value": "大方县", + "label": "大方县" + }, + { + "code": "520522", + "value": "黔西县", + "label": "黔西县" + }, + { + "code": "520523", + "value": "金沙县", + "label": "金沙县" + }, + { + "code": "520524", + "value": "织金县", + "label": "织金县" + }, + { + "code": "520525", + "value": "纳雍县", + "label": "纳雍县" + }, + { + "code": "520526", + "value": "威宁彝族回族苗族自治县", + "label": "威宁彝族回族苗族自治县" + }, + { + "code": "520527", + "value": "赫章县", + "label": "赫章县" + } + ] + }, + { + "code": "520600", + "value": "铜仁市", + "label": "铜仁市", + "children": [ + { + "code": "520602", + "value": "碧江区", + "label": "碧江区" + }, + { + "code": "520603", + "value": "万山区", + "label": "万山区" + }, + { + "code": "520621", + "value": "江口县", + "label": "江口县" + }, + { + "code": "520622", + "value": "玉屏侗族自治县", + "label": "玉屏侗族自治县" + }, + { + "code": "520623", + "value": "石阡县", + "label": "石阡县" + }, + { + "code": "520624", + "value": "思南县", + "label": "思南县" + }, + { + "code": "520625", + "value": "印江土家族苗族自治县", + "label": "印江土家族苗族自治县" + }, + { + "code": "520626", + "value": "德江县", + "label": "德江县" + }, + { + "code": "520627", + "value": "沿河土家族自治县", + "label": "沿河土家族自治县" + }, + { + "code": "520628", + "value": "松桃苗族自治县", + "label": "松桃苗族自治县" + } + ] + }, + { + "code": "522300", + "value": "黔西南布依族苗族自治州", + "label": "黔西南布依族苗族自治州", + "children": [ + { + "code": "522301", + "value": "兴义市", + "label": "兴义市" + }, + { + "code": "522302", + "value": "兴仁市", + "label": "兴仁市" + }, + { + "code": "522323", + "value": "普安县", + "label": "普安县" + }, + { + "code": "522324", + "value": "晴隆县", + "label": "晴隆县" + }, + { + "code": "522325", + "value": "贞丰县", + "label": "贞丰县" + }, + { + "code": "522326", + "value": "望谟县", + "label": "望谟县" + }, + { + "code": "522327", + "value": "册亨县", + "label": "册亨县" + }, + { + "code": "522328", + "value": "安龙县", + "label": "安龙县" + } + ] + }, + { + "code": "522600", + "value": "黔东南苗族侗族自治州", + "label": "黔东南苗族侗族自治州", + "children": [ + { + "code": "522601", + "value": "凯里市", + "label": "凯里市" + }, + { + "code": "522622", + "value": "黄平县", + "label": "黄平县" + }, + { + "code": "522623", + "value": "施秉县", + "label": "施秉县" + }, + { + "code": "522624", + "value": "三穗县", + "label": "三穗县" + }, + { + "code": "522625", + "value": "镇远县", + "label": "镇远县" + }, + { + "code": "522626", + "value": "岑巩县", + "label": "岑巩县" + }, + { + "code": "522627", + "value": "天柱县", + "label": "天柱县" + }, + { + "code": "522628", + "value": "锦屏县", + "label": "锦屏县" + }, + { + "code": "522629", + "value": "剑河县", + "label": "剑河县" + }, + { + "code": "522630", + "value": "台江县", + "label": "台江县" + }, + { + "code": "522631", + "value": "黎平县", + "label": "黎平县" + }, + { + "code": "522632", + "value": "榕江县", + "label": "榕江县" + }, + { + "code": "522633", + "value": "从江县", + "label": "从江县" + }, + { + "code": "522634", + "value": "雷山县", + "label": "雷山县" + }, + { + "code": "522635", + "value": "麻江县", + "label": "麻江县" + }, + { + "code": "522636", + "value": "丹寨县", + "label": "丹寨县" + } + ] + }, + { + "code": "522700", + "value": "黔南布依族苗族自治州", + "label": "黔南布依族苗族自治州", + "children": [ + { + "code": "522701", + "value": "都匀市", + "label": "都匀市" + }, + { + "code": "522702", + "value": "福泉市", + "label": "福泉市" + }, + { + "code": "522722", + "value": "荔波县", + "label": "荔波县" + }, + { + "code": "522723", + "value": "贵定县", + "label": "贵定县" + }, + { + "code": "522725", + "value": "瓮安县", + "label": "瓮安县" + }, + { + "code": "522726", + "value": "独山县", + "label": "独山县" + }, + { + "code": "522727", + "value": "平塘县", + "label": "平塘县" + }, + { + "code": "522728", + "value": "罗甸县", + "label": "罗甸县" + }, + { + "code": "522729", + "value": "长顺县", + "label": "长顺县" + }, + { + "code": "522730", + "value": "龙里县", + "label": "龙里县" + }, + { + "code": "522731", + "value": "惠水县", + "label": "惠水县" + }, + { + "code": "522732", + "value": "三都水族自治县", + "label": "三都水族自治县" + } + ] + } + ] + }, + { + "code": "530000", + "value": "云南省", + "label": "云南省", + "children": [ + { + "code": "530100", + "value": "昆明市", + "label": "昆明市", + "children": [ + { + "code": "530102", + "value": "五华区", + "label": "五华区" + }, + { + "code": "530103", + "value": "盘龙区", + "label": "盘龙区" + }, + { + "code": "530111", + "value": "官渡区", + "label": "官渡区" + }, + { + "code": "530112", + "value": "西山区", + "label": "西山区" + }, + { + "code": "530113", + "value": "东川区", + "label": "东川区" + }, + { + "code": "530114", + "value": "呈贡区", + "label": "呈贡区" + }, + { + "code": "530115", + "value": "晋宁区", + "label": "晋宁区" + }, + { + "code": "530124", + "value": "富民县", + "label": "富民县" + }, + { + "code": "530125", + "value": "宜良县", + "label": "宜良县" + }, + { + "code": "530126", + "value": "石林彝族自治县", + "label": "石林彝族自治县" + }, + { + "code": "530127", + "value": "嵩明县", + "label": "嵩明县" + }, + { + "code": "530128", + "value": "禄劝彝族苗族自治县", + "label": "禄劝彝族苗族自治县" + }, + { + "code": "530129", + "value": "寻甸回族彝族自治县", + "label": "寻甸回族彝族自治县" + }, + { + "code": "530181", + "value": "安宁市", + "label": "安宁市" + } + ] + }, + { + "code": "530300", + "value": "曲靖市", + "label": "曲靖市", + "children": [ + { + "code": "530302", + "value": "麒麟区", + "label": "麒麟区" + }, + { + "code": "530303", + "value": "沾益区", + "label": "沾益区" + }, + { + "code": "530304", + "value": "马龙区", + "label": "马龙区" + }, + { + "code": "530322", + "value": "陆良县", + "label": "陆良县" + }, + { + "code": "530323", + "value": "师宗县", + "label": "师宗县" + }, + { + "code": "530324", + "value": "罗平县", + "label": "罗平县" + }, + { + "code": "530325", + "value": "富源县", + "label": "富源县" + }, + { + "code": "530326", + "value": "会泽县", + "label": "会泽县" + }, + { + "code": "530381", + "value": "宣威市", + "label": "宣威市" + } + ] + }, + { + "code": "530400", + "value": "玉溪市", + "label": "玉溪市", + "children": [ + { + "code": "530402", + "value": "红塔区", + "label": "红塔区" + }, + { + "code": "530403", + "value": "江川区", + "label": "江川区" + }, + { + "code": "530423", + "value": "通海县", + "label": "通海县" + }, + { + "code": "530424", + "value": "华宁县", + "label": "华宁县" + }, + { + "code": "530425", + "value": "易门县", + "label": "易门县" + }, + { + "code": "530426", + "value": "峨山彝族自治县", + "label": "峨山彝族自治县" + }, + { + "code": "530427", + "value": "新平彝族傣族自治县", + "label": "新平彝族傣族自治县" + }, + { + "code": "530428", + "value": "元江哈尼族彝族傣族自治县", + "label": "元江哈尼族彝族傣族自治县" + }, + { + "code": "530481", + "value": "澄江市", + "label": "澄江市" + } + ] + }, + { + "code": "530500", + "value": "保山市", + "label": "保山市", + "children": [ + { + "code": "530502", + "value": "隆阳区", + "label": "隆阳区" + }, + { + "code": "530521", + "value": "施甸县", + "label": "施甸县" + }, + { + "code": "530523", + "value": "龙陵县", + "label": "龙陵县" + }, + { + "code": "530524", + "value": "昌宁县", + "label": "昌宁县" + }, + { + "code": "530581", + "value": "腾冲市", + "label": "腾冲市" + } + ] + }, + { + "code": "530600", + "value": "昭通市", + "label": "昭通市", + "children": [ + { + "code": "530602", + "value": "昭阳区", + "label": "昭阳区" + }, + { + "code": "530621", + "value": "鲁甸县", + "label": "鲁甸县" + }, + { + "code": "530622", + "value": "巧家县", + "label": "巧家县" + }, + { + "code": "530623", + "value": "盐津县", + "label": "盐津县" + }, + { + "code": "530624", + "value": "大关县", + "label": "大关县" + }, + { + "code": "530625", + "value": "永善县", + "label": "永善县" + }, + { + "code": "530626", + "value": "绥江县", + "label": "绥江县" + }, + { + "code": "530627", + "value": "镇雄县", + "label": "镇雄县" + }, + { + "code": "530628", + "value": "彝良县", + "label": "彝良县" + }, + { + "code": "530629", + "value": "威信县", + "label": "威信县" + }, + { + "code": "530681", + "value": "水富市", + "label": "水富市" + } + ] + }, + { + "code": "530700", + "value": "丽江市", + "label": "丽江市", + "children": [ + { + "code": "530702", + "value": "古城区", + "label": "古城区" + }, + { + "code": "530721", + "value": "玉龙纳西族自治县", + "label": "玉龙纳西族自治县" + }, + { + "code": "530722", + "value": "永胜县", + "label": "永胜县" + }, + { + "code": "530723", + "value": "华坪县", + "label": "华坪县" + }, + { + "code": "530724", + "value": "宁蒗彝族自治县", + "label": "宁蒗彝族自治县" + } + ] + }, + { + "code": "530800", + "value": "普洱市", + "label": "普洱市", + "children": [ + { + "code": "530802", + "value": "思茅区", + "label": "思茅区" + }, + { + "code": "530821", + "value": "宁洱哈尼族彝族自治县", + "label": "宁洱哈尼族彝族自治县" + }, + { + "code": "530822", + "value": "墨江哈尼族自治县", + "label": "墨江哈尼族自治县" + }, + { + "code": "530823", + "value": "景东彝族自治县", + "label": "景东彝族自治县" + }, + { + "code": "530824", + "value": "景谷傣族彝族自治县", + "label": "景谷傣族彝族自治县" + }, + { + "code": "530825", + "value": "镇沅彝族哈尼族拉祜族自治县", + "label": "镇沅彝族哈尼族拉祜族自治县" + }, + { + "code": "530826", + "value": "江城哈尼族彝族自治县", + "label": "江城哈尼族彝族自治县" + }, + { + "code": "530827", + "value": "孟连傣族拉祜族佤族自治县", + "label": "孟连傣族拉祜族佤族自治县" + }, + { + "code": "530828", + "value": "澜沧拉祜族自治县", + "label": "澜沧拉祜族自治县" + }, + { + "code": "530829", + "value": "西盟佤族自治县", + "label": "西盟佤族自治县" + } + ] + }, + { + "code": "530900", + "value": "临沧市", + "label": "临沧市", + "children": [ + { + "code": "530902", + "value": "临翔区", + "label": "临翔区" + }, + { + "code": "530921", + "value": "凤庆县", + "label": "凤庆县" + }, + { + "code": "530922", + "value": "云县", + "label": "云县" + }, + { + "code": "530923", + "value": "永德县", + "label": "永德县" + }, + { + "code": "530924", + "value": "镇康县", + "label": "镇康县" + }, + { + "code": "530925", + "value": "双江拉祜族佤族布朗族傣族自治县", + "label": "双江拉祜族佤族布朗族傣族自治县" + }, + { + "code": "530926", + "value": "耿马傣族佤族自治县", + "label": "耿马傣族佤族自治县" + }, + { + "code": "530927", + "value": "沧源佤族自治县", + "label": "沧源佤族自治县" + } + ] + }, + { + "code": "532300", + "value": "楚雄彝族自治州", + "label": "楚雄彝族自治州", + "children": [ + { + "code": "532301", + "value": "楚雄市", + "label": "楚雄市" + }, + { + "code": "532322", + "value": "双柏县", + "label": "双柏县" + }, + { + "code": "532323", + "value": "牟定县", + "label": "牟定县" + }, + { + "code": "532324", + "value": "南华县", + "label": "南华县" + }, + { + "code": "532325", + "value": "姚安县", + "label": "姚安县" + }, + { + "code": "532326", + "value": "大姚县", + "label": "大姚县" + }, + { + "code": "532327", + "value": "永仁县", + "label": "永仁县" + }, + { + "code": "532328", + "value": "元谋县", + "label": "元谋县" + }, + { + "code": "532329", + "value": "武定县", + "label": "武定县" + }, + { + "code": "532331", + "value": "禄丰县", + "label": "禄丰县" + } + ] + }, + { + "code": "532500", + "value": "红河哈尼族彝族自治州", + "label": "红河哈尼族彝族自治州", + "children": [ + { + "code": "532501", + "value": "个旧市", + "label": "个旧市" + }, + { + "code": "532502", + "value": "开远市", + "label": "开远市" + }, + { + "code": "532503", + "value": "蒙自市", + "label": "蒙自市" + }, + { + "code": "532504", + "value": "弥勒市", + "label": "弥勒市" + }, + { + "code": "532523", + "value": "屏边苗族自治县", + "label": "屏边苗族自治县" + }, + { + "code": "532524", + "value": "建水县", + "label": "建水县" + }, + { + "code": "532525", + "value": "石屏县", + "label": "石屏县" + }, + { + "code": "532527", + "value": "泸西县", + "label": "泸西县" + }, + { + "code": "532528", + "value": "元阳县", + "label": "元阳县" + }, + { + "code": "532529", + "value": "红河县", + "label": "红河县" + }, + { + "code": "532530", + "value": "金平苗族瑶族傣族自治县", + "label": "金平苗族瑶族傣族自治县" + }, + { + "code": "532531", + "value": "绿春县", + "label": "绿春县" + }, + { + "code": "532532", + "value": "河口瑶族自治县", + "label": "河口瑶族自治县" + } + ] + }, + { + "code": "532600", + "value": "文山壮族苗族自治州", + "label": "文山壮族苗族自治州", + "children": [ + { + "code": "532601", + "value": "文山市", + "label": "文山市" + }, + { + "code": "532622", + "value": "砚山县", + "label": "砚山县" + }, + { + "code": "532623", + "value": "西畴县", + "label": "西畴县" + }, + { + "code": "532624", + "value": "麻栗坡县", + "label": "麻栗坡县" + }, + { + "code": "532625", + "value": "马关县", + "label": "马关县" + }, + { + "code": "532626", + "value": "丘北县", + "label": "丘北县" + }, + { + "code": "532627", + "value": "广南县", + "label": "广南县" + }, + { + "code": "532628", + "value": "富宁县", + "label": "富宁县" + } + ] + }, + { + "code": "532800", + "value": "西双版纳傣族自治州", + "label": "西双版纳傣族自治州", + "children": [ + { + "code": "532801", + "value": "景洪市", + "label": "景洪市" + }, + { + "code": "532822", + "value": "勐海县", + "label": "勐海县" + }, + { + "code": "532823", + "value": "勐腊县", + "label": "勐腊县" + } + ] + }, + { + "code": "532900", + "value": "大理白族自治州", + "label": "大理白族自治州", + "children": [ + { + "code": "532901", + "value": "大理市", + "label": "大理市" + }, + { + "code": "532922", + "value": "漾濞彝族自治县", + "label": "漾濞彝族自治县" + }, + { + "code": "532923", + "value": "祥云县", + "label": "祥云县" + }, + { + "code": "532924", + "value": "宾川县", + "label": "宾川县" + }, + { + "code": "532925", + "value": "弥渡县", + "label": "弥渡县" + }, + { + "code": "532926", + "value": "南涧彝族自治县", + "label": "南涧彝族自治县" + }, + { + "code": "532927", + "value": "巍山彝族回族自治县", + "label": "巍山彝族回族自治县" + }, + { + "code": "532928", + "value": "永平县", + "label": "永平县" + }, + { + "code": "532929", + "value": "云龙县", + "label": "云龙县" + }, + { + "code": "532930", + "value": "洱源县", + "label": "洱源县" + }, + { + "code": "532931", + "value": "剑川县", + "label": "剑川县" + }, + { + "code": "532932", + "value": "鹤庆县", + "label": "鹤庆县" + } + ] + }, + { + "code": "533100", + "value": "德宏傣族景颇族自治州", + "label": "德宏傣族景颇族自治州", + "children": [ + { + "code": "533102", + "value": "瑞丽市", + "label": "瑞丽市" + }, + { + "code": "533103", + "value": "芒市", + "label": "芒市" + }, + { + "code": "533122", + "value": "梁河县", + "label": "梁河县" + }, + { + "code": "533123", + "value": "盈江县", + "label": "盈江县" + }, + { + "code": "533124", + "value": "陇川县", + "label": "陇川县" + } + ] + }, + { + "code": "533300", + "value": "怒江傈僳族自治州", + "label": "怒江傈僳族自治州", + "children": [ + { + "code": "533301", + "value": "泸水市", + "label": "泸水市" + }, + { + "code": "533323", + "value": "福贡县", + "label": "福贡县" + }, + { + "code": "533324", + "value": "贡山独龙族怒族自治县", + "label": "贡山独龙族怒族自治县" + }, + { + "code": "533325", + "value": "兰坪白族普米族自治县", + "label": "兰坪白族普米族自治县" + } + ] + }, + { + "code": "533400", + "value": "迪庆藏族自治州", + "label": "迪庆藏族自治州", + "children": [ + { + "code": "533401", + "value": "香格里拉市", + "label": "香格里拉市" + }, + { + "code": "533422", + "value": "德钦县", + "label": "德钦县" + }, + { + "code": "533423", + "value": "维西傈僳族自治县", + "label": "维西傈僳族自治县" + } + ] + } + ] + }, + { + "code": "540000", + "value": "西藏自治区", + "label": "西藏自治区", + "children": [ + { + "code": "540100", + "value": "拉萨市", + "label": "拉萨市", + "children": [ + { + "code": "540102", + "value": "城关区", + "label": "城关区" + }, + { + "code": "540103", + "value": "堆龙德庆区", + "label": "堆龙德庆区" + }, + { + "code": "540104", + "value": "达孜区", + "label": "达孜区" + }, + { + "code": "540121", + "value": "林周县", + "label": "林周县" + }, + { + "code": "540122", + "value": "当雄县", + "label": "当雄县" + }, + { + "code": "540123", + "value": "尼木县", + "label": "尼木县" + }, + { + "code": "540124", + "value": "曲水县", + "label": "曲水县" + }, + { + "code": "540127", + "value": "墨竹工卡县", + "label": "墨竹工卡县" + } + ] + }, + { + "code": "540200", + "value": "日喀则市", + "label": "日喀则市", + "children": [ + { + "code": "540202", + "value": "桑珠孜区", + "label": "桑珠孜区" + }, + { + "code": "540221", + "value": "南木林县", + "label": "南木林县" + }, + { + "code": "540222", + "value": "江孜县", + "label": "江孜县" + }, + { + "code": "540223", + "value": "定日县", + "label": "定日县" + }, + { + "code": "540224", + "value": "萨迦县", + "label": "萨迦县" + }, + { + "code": "540225", + "value": "拉孜县", + "label": "拉孜县" + }, + { + "code": "540226", + "value": "昂仁县", + "label": "昂仁县" + }, + { + "code": "540227", + "value": "谢通门县", + "label": "谢通门县" + }, + { + "code": "540228", + "value": "白朗县", + "label": "白朗县" + }, + { + "code": "540229", + "value": "仁布县", + "label": "仁布县" + }, + { + "code": "540230", + "value": "康马县", + "label": "康马县" + }, + { + "code": "540231", + "value": "定结县", + "label": "定结县" + }, + { + "code": "540232", + "value": "仲巴县", + "label": "仲巴县" + }, + { + "code": "540233", + "value": "亚东县", + "label": "亚东县" + }, + { + "code": "540234", + "value": "吉隆县", + "label": "吉隆县" + }, + { + "code": "540235", + "value": "聂拉木县", + "label": "聂拉木县" + }, + { + "code": "540236", + "value": "萨嘎县", + "label": "萨嘎县" + }, + { + "code": "540237", + "value": "岗巴县", + "label": "岗巴县" + } + ] + }, + { + "code": "540300", + "value": "昌都市", + "label": "昌都市", + "children": [ + { + "code": "540302", + "value": "卡若区", + "label": "卡若区" + }, + { + "code": "540321", + "value": "江达县", + "label": "江达县" + }, + { + "code": "540322", + "value": "贡觉县", + "label": "贡觉县" + }, + { + "code": "540323", + "value": "类乌齐县", + "label": "类乌齐县" + }, + { + "code": "540324", + "value": "丁青县", + "label": "丁青县" + }, + { + "code": "540325", + "value": "察雅县", + "label": "察雅县" + }, + { + "code": "540326", + "value": "八宿县", + "label": "八宿县" + }, + { + "code": "540327", + "value": "左贡县", + "label": "左贡县" + }, + { + "code": "540328", + "value": "芒康县", + "label": "芒康县" + }, + { + "code": "540329", + "value": "洛隆县", + "label": "洛隆县" + }, + { + "code": "540330", + "value": "边坝县", + "label": "边坝县" + } + ] + }, + { + "code": "540400", + "value": "林芝市", + "label": "林芝市", + "children": [ + { + "code": "540402", + "value": "巴宜区", + "label": "巴宜区" + }, + { + "code": "540421", + "value": "工布江达县", + "label": "工布江达县" + }, + { + "code": "540422", + "value": "米林县", + "label": "米林县" + }, + { + "code": "540423", + "value": "墨脱县", + "label": "墨脱县" + }, + { + "code": "540424", + "value": "波密县", + "label": "波密县" + }, + { + "code": "540425", + "value": "察隅县", + "label": "察隅县" + }, + { + "code": "540426", + "value": "朗县", + "label": "朗县" + } + ] + }, + { + "code": "540500", + "value": "山南市", + "label": "山南市", + "children": [ + { + "code": "540502", + "value": "乃东区", + "label": "乃东区" + }, + { + "code": "540521", + "value": "扎囊县", + "label": "扎囊县" + }, + { + "code": "540522", + "value": "贡嘎县", + "label": "贡嘎县" + }, + { + "code": "540523", + "value": "桑日县", + "label": "桑日县" + }, + { + "code": "540524", + "value": "琼结县", + "label": "琼结县" + }, + { + "code": "540525", + "value": "曲松县", + "label": "曲松县" + }, + { + "code": "540526", + "value": "措美县", + "label": "措美县" + }, + { + "code": "540527", + "value": "洛扎县", + "label": "洛扎县" + }, + { + "code": "540528", + "value": "加查县", + "label": "加查县" + }, + { + "code": "540529", + "value": "隆子县", + "label": "隆子县" + }, + { + "code": "540530", + "value": "错那县", + "label": "错那县" + }, + { + "code": "540531", + "value": "浪卡子县", + "label": "浪卡子县" + } + ] + }, + { + "code": "540600", + "value": "那曲市", + "label": "那曲市", + "children": [ + { + "code": "540602", + "value": "色尼区", + "label": "色尼区" + }, + { + "code": "540621", + "value": "嘉黎县", + "label": "嘉黎县" + }, + { + "code": "540622", + "value": "比如县", + "label": "比如县" + }, + { + "code": "540623", + "value": "聂荣县", + "label": "聂荣县" + }, + { + "code": "540624", + "value": "安多县", + "label": "安多县" + }, + { + "code": "540625", + "value": "申扎县", + "label": "申扎县" + }, + { + "code": "540626", + "value": "索县", + "label": "索县" + }, + { + "code": "540627", + "value": "班戈县", + "label": "班戈县" + }, + { + "code": "540628", + "value": "巴青县", + "label": "巴青县" + }, + { + "code": "540629", + "value": "尼玛县", + "label": "尼玛县" + }, + { + "code": "540630", + "value": "双湖县", + "label": "双湖县" + } + ] + }, + { + "code": "542500", + "value": "阿里地区", + "label": "阿里地区", + "children": [ + { + "code": "542521", + "value": "普兰县", + "label": "普兰县" + }, + { + "code": "542522", + "value": "札达县", + "label": "札达县" + }, + { + "code": "542523", + "value": "噶尔县", + "label": "噶尔县" + }, + { + "code": "542524", + "value": "日土县", + "label": "日土县" + }, + { + "code": "542525", + "value": "革吉县", + "label": "革吉县" + }, + { + "code": "542526", + "value": "改则县", + "label": "改则县" + }, + { + "code": "542527", + "value": "措勤县", + "label": "措勤县" + } + ] + } + ] + }, + { + "code": "610000", + "value": "陕西省", + "label": "陕西省", + "children": [ + { + "code": "610100", + "value": "西安市", + "label": "西安市", + "children": [ + { + "code": "610102", + "value": "新城区", + "label": "新城区" + }, + { + "code": "610103", + "value": "碑林区", + "label": "碑林区" + }, + { + "code": "610104", + "value": "莲湖区", + "label": "莲湖区" + }, + { + "code": "610111", + "value": "灞桥区", + "label": "灞桥区" + }, + { + "code": "610112", + "value": "未央区", + "label": "未央区" + }, + { + "code": "610113", + "value": "雁塔区", + "label": "雁塔区" + }, + { + "code": "610114", + "value": "阎良区", + "label": "阎良区" + }, + { + "code": "610115", + "value": "临潼区", + "label": "临潼区" + }, + { + "code": "610116", + "value": "长安区", + "label": "长安区" + }, + { + "code": "610117", + "value": "高陵区", + "label": "高陵区" + }, + { + "code": "610118", + "value": "鄠邑区", + "label": "鄠邑区" + }, + { + "code": "610122", + "value": "蓝田县", + "label": "蓝田县" + }, + { + "code": "610124", + "value": "周至县", + "label": "周至县" + } + ] + }, + { + "code": "610200", + "value": "铜川市", + "label": "铜川市", + "children": [ + { + "code": "610202", + "value": "王益区", + "label": "王益区" + }, + { + "code": "610203", + "value": "印台区", + "label": "印台区" + }, + { + "code": "610204", + "value": "耀州区", + "label": "耀州区" + }, + { + "code": "610222", + "value": "宜君县", + "label": "宜君县" + } + ] + }, + { + "code": "610300", + "value": "宝鸡市", + "label": "宝鸡市", + "children": [ + { + "code": "610302", + "value": "渭滨区", + "label": "渭滨区" + }, + { + "code": "610303", + "value": "金台区", + "label": "金台区" + }, + { + "code": "610304", + "value": "陈仓区", + "label": "陈仓区" + }, + { + "code": "610322", + "value": "凤翔县", + "label": "凤翔县" + }, + { + "code": "610323", + "value": "岐山县", + "label": "岐山县" + }, + { + "code": "610324", + "value": "扶风县", + "label": "扶风县" + }, + { + "code": "610326", + "value": "眉县", + "label": "眉县" + }, + { + "code": "610327", + "value": "陇县", + "label": "陇县" + }, + { + "code": "610328", + "value": "千阳县", + "label": "千阳县" + }, + { + "code": "610329", + "value": "麟游县", + "label": "麟游县" + }, + { + "code": "610330", + "value": "凤县", + "label": "凤县" + }, + { + "code": "610331", + "value": "太白县", + "label": "太白县" + } + ] + }, + { + "code": "610400", + "value": "咸阳市", + "label": "咸阳市", + "children": [ + { + "code": "610402", + "value": "秦都区", + "label": "秦都区" + }, + { + "code": "610403", + "value": "杨陵区", + "label": "杨陵区" + }, + { + "code": "610404", + "value": "渭城区", + "label": "渭城区" + }, + { + "code": "610422", + "value": "三原县", + "label": "三原县" + }, + { + "code": "610423", + "value": "泾阳县", + "label": "泾阳县" + }, + { + "code": "610424", + "value": "乾县", + "label": "乾县" + }, + { + "code": "610425", + "value": "礼泉县", + "label": "礼泉县" + }, + { + "code": "610426", + "value": "永寿县", + "label": "永寿县" + }, + { + "code": "610428", + "value": "长武县", + "label": "长武县" + }, + { + "code": "610429", + "value": "旬邑县", + "label": "旬邑县" + }, + { + "code": "610430", + "value": "淳化县", + "label": "淳化县" + }, + { + "code": "610431", + "value": "武功县", + "label": "武功县" + }, + { + "code": "610481", + "value": "兴平市", + "label": "兴平市" + }, + { + "code": "610482", + "value": "彬州市", + "label": "彬州市" + } + ] + }, + { + "code": "610500", + "value": "渭南市", + "label": "渭南市", + "children": [ + { + "code": "610502", + "value": "临渭区", + "label": "临渭区" + }, + { + "code": "610503", + "value": "华州区", + "label": "华州区" + }, + { + "code": "610522", + "value": "潼关县", + "label": "潼关县" + }, + { + "code": "610523", + "value": "大荔县", + "label": "大荔县" + }, + { + "code": "610524", + "value": "合阳县", + "label": "合阳县" + }, + { + "code": "610525", + "value": "澄城县", + "label": "澄城县" + }, + { + "code": "610526", + "value": "蒲城县", + "label": "蒲城县" + }, + { + "code": "610527", + "value": "白水县", + "label": "白水县" + }, + { + "code": "610528", + "value": "富平县", + "label": "富平县" + }, + { + "code": "610581", + "value": "韩城市", + "label": "韩城市" + }, + { + "code": "610582", + "value": "华阴市", + "label": "华阴市" + } + ] + }, + { + "code": "610600", + "value": "延安市", + "label": "延安市", + "children": [ + { + "code": "610602", + "value": "宝塔区", + "label": "宝塔区" + }, + { + "code": "610603", + "value": "安塞区", + "label": "安塞区" + }, + { + "code": "610621", + "value": "延长县", + "label": "延长县" + }, + { + "code": "610622", + "value": "延川县", + "label": "延川县" + }, + { + "code": "610625", + "value": "志丹县", + "label": "志丹县" + }, + { + "code": "610626", + "value": "吴起县", + "label": "吴起县" + }, + { + "code": "610627", + "value": "甘泉县", + "label": "甘泉县" + }, + { + "code": "610628", + "value": "富县", + "label": "富县" + }, + { + "code": "610629", + "value": "洛川县", + "label": "洛川县" + }, + { + "code": "610630", + "value": "宜川县", + "label": "宜川县" + }, + { + "code": "610631", + "value": "黄龙县", + "label": "黄龙县" + }, + { + "code": "610632", + "value": "黄陵县", + "label": "黄陵县" + }, + { + "code": "610681", + "value": "子长市", + "label": "子长市" + } + ] + }, + { + "code": "610700", + "value": "汉中市", + "label": "汉中市", + "children": [ + { + "code": "610702", + "value": "汉台区", + "label": "汉台区" + }, + { + "code": "610703", + "value": "南郑区", + "label": "南郑区" + }, + { + "code": "610722", + "value": "城固县", + "label": "城固县" + }, + { + "code": "610723", + "value": "洋县", + "label": "洋县" + }, + { + "code": "610724", + "value": "西乡县", + "label": "西乡县" + }, + { + "code": "610725", + "value": "勉县", + "label": "勉县" + }, + { + "code": "610726", + "value": "宁强县", + "label": "宁强县" + }, + { + "code": "610727", + "value": "略阳县", + "label": "略阳县" + }, + { + "code": "610728", + "value": "镇巴县", + "label": "镇巴县" + }, + { + "code": "610729", + "value": "留坝县", + "label": "留坝县" + }, + { + "code": "610730", + "value": "佛坪县", + "label": "佛坪县" + } + ] + }, + { + "code": "610800", + "value": "榆林市", + "label": "榆林市", + "children": [ + { + "code": "610802", + "value": "榆阳区", + "label": "榆阳区" + }, + { + "code": "610803", + "value": "横山区", + "label": "横山区" + }, + { + "code": "610822", + "value": "府谷县", + "label": "府谷县" + }, + { + "code": "610824", + "value": "靖边县", + "label": "靖边县" + }, + { + "code": "610825", + "value": "定边县", + "label": "定边县" + }, + { + "code": "610826", + "value": "绥德县", + "label": "绥德县" + }, + { + "code": "610827", + "value": "米脂县", + "label": "米脂县" + }, + { + "code": "610828", + "value": "佳县", + "label": "佳县" + }, + { + "code": "610829", + "value": "吴堡县", + "label": "吴堡县" + }, + { + "code": "610830", + "value": "清涧县", + "label": "清涧县" + }, + { + "code": "610831", + "value": "子洲县", + "label": "子洲县" + }, + { + "code": "610881", + "value": "神木市", + "label": "神木市" + } + ] + }, + { + "code": "610900", + "value": "安康市", + "label": "安康市", + "children": [ + { + "code": "610902", + "value": "汉滨区", + "label": "汉滨区" + }, + { + "code": "610921", + "value": "汉阴县", + "label": "汉阴县" + }, + { + "code": "610922", + "value": "石泉县", + "label": "石泉县" + }, + { + "code": "610923", + "value": "宁陕县", + "label": "宁陕县" + }, + { + "code": "610924", + "value": "紫阳县", + "label": "紫阳县" + }, + { + "code": "610925", + "value": "岚皋县", + "label": "岚皋县" + }, + { + "code": "610926", + "value": "平利县", + "label": "平利县" + }, + { + "code": "610927", + "value": "镇坪县", + "label": "镇坪县" + }, + { + "code": "610928", + "value": "旬阳县", + "label": "旬阳县" + }, + { + "code": "610929", + "value": "白河县", + "label": "白河县" + } + ] + }, + { + "code": "611000", + "value": "商洛市", + "label": "商洛市", + "children": [ + { + "code": "611002", + "value": "商州区", + "label": "商州区" + }, + { + "code": "611021", + "value": "洛南县", + "label": "洛南县" + }, + { + "code": "611022", + "value": "丹凤县", + "label": "丹凤县" + }, + { + "code": "611023", + "value": "商南县", + "label": "商南县" + }, + { + "code": "611024", + "value": "山阳县", + "label": "山阳县" + }, + { + "code": "611025", + "value": "镇安县", + "label": "镇安县" + }, + { + "code": "611026", + "value": "柞水县", + "label": "柞水县" + } + ] + } + ] + }, + { + "code": "620000", + "value": "甘肃省", + "label": "甘肃省", + "children": [ + { + "code": "620100", + "value": "兰州市", + "label": "兰州市", + "children": [ + { + "code": "620102", + "value": "城关区", + "label": "城关区" + }, + { + "code": "620103", + "value": "七里河区", + "label": "七里河区" + }, + { + "code": "620104", + "value": "西固区", + "label": "西固区" + }, + { + "code": "620105", + "value": "安宁区", + "label": "安宁区" + }, + { + "code": "620111", + "value": "红古区", + "label": "红古区" + }, + { + "code": "620121", + "value": "永登县", + "label": "永登县" + }, + { + "code": "620122", + "value": "皋兰县", + "label": "皋兰县" + }, + { + "code": "620123", + "value": "榆中县", + "label": "榆中县" + } + ] + }, + { + "code": "620200", + "value": "嘉峪关市", + "label": "嘉峪关市", + "children": [] + }, + { + "code": "620300", + "value": "金昌市", + "label": "金昌市", + "children": [ + { + "code": "620302", + "value": "金川区", + "label": "金川区" + }, + { + "code": "620321", + "value": "永昌县", + "label": "永昌县" + } + ] + }, + { + "code": "620400", + "value": "白银市", + "label": "白银市", + "children": [ + { + "code": "620402", + "value": "白银区", + "label": "白银区" + }, + { + "code": "620403", + "value": "平川区", + "label": "平川区" + }, + { + "code": "620421", + "value": "靖远县", + "label": "靖远县" + }, + { + "code": "620422", + "value": "会宁县", + "label": "会宁县" + }, + { + "code": "620423", + "value": "景泰县", + "label": "景泰县" + } + ] + }, + { + "code": "620500", + "value": "天水市", + "label": "天水市", + "children": [ + { + "code": "620502", + "value": "秦州区", + "label": "秦州区" + }, + { + "code": "620503", + "value": "麦积区", + "label": "麦积区" + }, + { + "code": "620521", + "value": "清水县", + "label": "清水县" + }, + { + "code": "620522", + "value": "秦安县", + "label": "秦安县" + }, + { + "code": "620523", + "value": "甘谷县", + "label": "甘谷县" + }, + { + "code": "620524", + "value": "武山县", + "label": "武山县" + }, + { + "code": "620525", + "value": "张家川回族自治县", + "label": "张家川回族自治县" + } + ] + }, + { + "code": "620600", + "value": "武威市", + "label": "武威市", + "children": [ + { + "code": "620602", + "value": "凉州区", + "label": "凉州区" + }, + { + "code": "620621", + "value": "民勤县", + "label": "民勤县" + }, + { + "code": "620622", + "value": "古浪县", + "label": "古浪县" + }, + { + "code": "620623", + "value": "天祝藏族自治县", + "label": "天祝藏族自治县" + } + ] + }, + { + "code": "620700", + "value": "张掖市", + "label": "张掖市", + "children": [ + { + "code": "620702", + "value": "甘州区", + "label": "甘州区" + }, + { + "code": "620721", + "value": "肃南裕固族自治县", + "label": "肃南裕固族自治县" + }, + { + "code": "620722", + "value": "民乐县", + "label": "民乐县" + }, + { + "code": "620723", + "value": "临泽县", + "label": "临泽县" + }, + { + "code": "620724", + "value": "高台县", + "label": "高台县" + }, + { + "code": "620725", + "value": "山丹县", + "label": "山丹县" + } + ] + }, + { + "code": "620800", + "value": "平凉市", + "label": "平凉市", + "children": [ + { + "code": "620802", + "value": "崆峒区", + "label": "崆峒区" + }, + { + "code": "620821", + "value": "泾川县", + "label": "泾川县" + }, + { + "code": "620822", + "value": "灵台县", + "label": "灵台县" + }, + { + "code": "620823", + "value": "崇信县", + "label": "崇信县" + }, + { + "code": "620825", + "value": "庄浪县", + "label": "庄浪县" + }, + { + "code": "620826", + "value": "静宁县", + "label": "静宁县" + }, + { + "code": "620881", + "value": "华亭市", + "label": "华亭市" + } + ] + }, + { + "code": "620900", + "value": "酒泉市", + "label": "酒泉市", + "children": [ + { + "code": "620902", + "value": "肃州区", + "label": "肃州区" + }, + { + "code": "620921", + "value": "金塔县", + "label": "金塔县" + }, + { + "code": "620922", + "value": "瓜州县", + "label": "瓜州县" + }, + { + "code": "620923", + "value": "肃北蒙古族自治县", + "label": "肃北蒙古族自治县" + }, + { + "code": "620924", + "value": "阿克塞哈萨克族自治县", + "label": "阿克塞哈萨克族自治县" + }, + { + "code": "620981", + "value": "玉门市", + "label": "玉门市" + }, + { + "code": "620982", + "value": "敦煌市", + "label": "敦煌市" + } + ] + }, + { + "code": "621000", + "value": "庆阳市", + "label": "庆阳市", + "children": [ + { + "code": "621002", + "value": "西峰区", + "label": "西峰区" + }, + { + "code": "621021", + "value": "庆城县", + "label": "庆城县" + }, + { + "code": "621022", + "value": "环县", + "label": "环县" + }, + { + "code": "621023", + "value": "华池县", + "label": "华池县" + }, + { + "code": "621024", + "value": "合水县", + "label": "合水县" + }, + { + "code": "621025", + "value": "正宁县", + "label": "正宁县" + }, + { + "code": "621026", + "value": "宁县", + "label": "宁县" + }, + { + "code": "621027", + "value": "镇原县", + "label": "镇原县" + } + ] + }, + { + "code": "621100", + "value": "定西市", + "label": "定西市", + "children": [ + { + "code": "621102", + "value": "安定区", + "label": "安定区" + }, + { + "code": "621121", + "value": "通渭县", + "label": "通渭县" + }, + { + "code": "621122", + "value": "陇西县", + "label": "陇西县" + }, + { + "code": "621123", + "value": "渭源县", + "label": "渭源县" + }, + { + "code": "621124", + "value": "临洮县", + "label": "临洮县" + }, + { + "code": "621125", + "value": "漳县", + "label": "漳县" + }, + { + "code": "621126", + "value": "岷县", + "label": "岷县" + } + ] + }, + { + "code": "621200", + "value": "陇南市", + "label": "陇南市", + "children": [ + { + "code": "621202", + "value": "武都区", + "label": "武都区" + }, + { + "code": "621221", + "value": "成县", + "label": "成县" + }, + { + "code": "621222", + "value": "文县", + "label": "文县" + }, + { + "code": "621223", + "value": "宕昌县", + "label": "宕昌县" + }, + { + "code": "621224", + "value": "康县", + "label": "康县" + }, + { + "code": "621225", + "value": "西和县", + "label": "西和县" + }, + { + "code": "621226", + "value": "礼县", + "label": "礼县" + }, + { + "code": "621227", + "value": "徽县", + "label": "徽县" + }, + { + "code": "621228", + "value": "两当县", + "label": "两当县" + } + ] + }, + { + "code": "622900", + "value": "临夏回族自治州", + "label": "临夏回族自治州", + "children": [ + { + "code": "622901", + "value": "临夏市", + "label": "临夏市" + }, + { + "code": "622921", + "value": "临夏县", + "label": "临夏县" + }, + { + "code": "622922", + "value": "康乐县", + "label": "康乐县" + }, + { + "code": "622923", + "value": "永靖县", + "label": "永靖县" + }, + { + "code": "622924", + "value": "广河县", + "label": "广河县" + }, + { + "code": "622925", + "value": "和政县", + "label": "和政县" + }, + { + "code": "622926", + "value": "东乡族自治县", + "label": "东乡族自治县" + }, + { + "code": "622927", + "value": "积石山保安族东乡族撒拉族自治县", + "label": "积石山保安族东乡族撒拉族自治县" + } + ] + }, + { + "code": "623000", + "value": "甘南藏族自治州", + "label": "甘南藏族自治州", + "children": [ + { + "code": "623001", + "value": "合作市", + "label": "合作市" + }, + { + "code": "623021", + "value": "临潭县", + "label": "临潭县" + }, + { + "code": "623022", + "value": "卓尼县", + "label": "卓尼县" + }, + { + "code": "623023", + "value": "舟曲县", + "label": "舟曲县" + }, + { + "code": "623024", + "value": "迭部县", + "label": "迭部县" + }, + { + "code": "623025", + "value": "玛曲县", + "label": "玛曲县" + }, + { + "code": "623026", + "value": "碌曲县", + "label": "碌曲县" + }, + { + "code": "623027", + "value": "夏河县", + "label": "夏河县" + } + ] + } + ] + }, + { + "code": "630000", + "value": "青海省", + "label": "青海省", + "children": [ + { + "code": "630100", + "value": "西宁市", + "label": "西宁市", + "children": [ + { + "code": "630102", + "value": "城东区", + "label": "城东区" + }, + { + "code": "630103", + "value": "城中区", + "label": "城中区" + }, + { + "code": "630104", + "value": "城西区", + "label": "城西区" + }, + { + "code": "630105", + "value": "城北区", + "label": "城北区" + }, + { + "code": "630106", + "value": "湟中区", + "label": "湟中区" + }, + { + "code": "630121", + "value": "大通回族土族自治县", + "label": "大通回族土族自治县" + }, + { + "code": "630123", + "value": "湟源县", + "label": "湟源县" + } + ] + }, + { + "code": "630200", + "value": "海东市", + "label": "海东市", + "children": [ + { + "code": "630202", + "value": "乐都区", + "label": "乐都区" + }, + { + "code": "630203", + "value": "平安区", + "label": "平安区" + }, + { + "code": "630222", + "value": "民和回族土族自治县", + "label": "民和回族土族自治县" + }, + { + "code": "630223", + "value": "互助土族自治县", + "label": "互助土族自治县" + }, + { + "code": "630224", + "value": "化隆回族自治县", + "label": "化隆回族自治县" + }, + { + "code": "630225", + "value": "循化撒拉族自治县", + "label": "循化撒拉族自治县" + } + ] + }, + { + "code": "632200", + "value": "海北藏族自治州", + "label": "海北藏族自治州", + "children": [ + { + "code": "632221", + "value": "门源回族自治县", + "label": "门源回族自治县" + }, + { + "code": "632222", + "value": "祁连县", + "label": "祁连县" + }, + { + "code": "632223", + "value": "海晏县", + "label": "海晏县" + }, + { + "code": "632224", + "value": "刚察县", + "label": "刚察县" + } + ] + }, + { + "code": "632300", + "value": "黄南藏族自治州", + "label": "黄南藏族自治州", + "children": [ + { + "code": "632301", + "value": "同仁市", + "label": "同仁市" + }, + { + "code": "632322", + "value": "尖扎县", + "label": "尖扎县" + }, + { + "code": "632323", + "value": "泽库县", + "label": "泽库县" + }, + { + "code": "632324", + "value": "河南蒙古族自治县", + "label": "河南蒙古族自治县" + } + ] + }, + { + "code": "632500", + "value": "海南藏族自治州", + "label": "海南藏族自治州", + "children": [ + { + "code": "632521", + "value": "共和县", + "label": "共和县" + }, + { + "code": "632522", + "value": "同德县", + "label": "同德县" + }, + { + "code": "632523", + "value": "贵德县", + "label": "贵德县" + }, + { + "code": "632524", + "value": "兴海县", + "label": "兴海县" + }, + { + "code": "632525", + "value": "贵南县", + "label": "贵南县" + } + ] + }, + { + "code": "632600", + "value": "果洛藏族自治州", + "label": "果洛藏族自治州", + "children": [ + { + "code": "632621", + "value": "玛沁县", + "label": "玛沁县" + }, + { + "code": "632622", + "value": "班玛县", + "label": "班玛县" + }, + { + "code": "632623", + "value": "甘德县", + "label": "甘德县" + }, + { + "code": "632624", + "value": "达日县", + "label": "达日县" + }, + { + "code": "632625", + "value": "久治县", + "label": "久治县" + }, + { + "code": "632626", + "value": "玛多县", + "label": "玛多县" + } + ] + }, + { + "code": "632700", + "value": "玉树藏族自治州", + "label": "玉树藏族自治州", + "children": [ + { + "code": "632701", + "value": "玉树市", + "label": "玉树市" + }, + { + "code": "632722", + "value": "杂多县", + "label": "杂多县" + }, + { + "code": "632723", + "value": "称多县", + "label": "称多县" + }, + { + "code": "632724", + "value": "治多县", + "label": "治多县" + }, + { + "code": "632725", + "value": "囊谦县", + "label": "囊谦县" + }, + { + "code": "632726", + "value": "曲麻莱县", + "label": "曲麻莱县" + } + ] + }, + { + "code": "632800", + "value": "海西蒙古族藏族自治州", + "label": "海西蒙古族藏族自治州", + "children": [ + { + "code": "632801", + "value": "格尔木市", + "label": "格尔木市" + }, + { + "code": "632802", + "value": "德令哈市", + "label": "德令哈市" + }, + { + "code": "632803", + "value": "茫崖市", + "label": "茫崖市" + }, + { + "code": "632821", + "value": "乌兰县", + "label": "乌兰县" + }, + { + "code": "632822", + "value": "都兰县", + "label": "都兰县" + }, + { + "code": "632823", + "value": "天峻县", + "label": "天峻县" + } + ] + } + ] + }, + { + "code": "640000", + "value": "宁夏回族自治区", + "label": "宁夏回族自治区", + "children": [ + { + "code": "640100", + "value": "银川市", + "label": "银川市", + "children": [ + { + "code": "640104", + "value": "兴庆区", + "label": "兴庆区" + }, + { + "code": "640105", + "value": "西夏区", + "label": "西夏区" + }, + { + "code": "640106", + "value": "金凤区", + "label": "金凤区" + }, + { + "code": "640121", + "value": "永宁县", + "label": "永宁县" + }, + { + "code": "640122", + "value": "贺兰县", + "label": "贺兰县" + }, + { + "code": "640181", + "value": "灵武市", + "label": "灵武市" + } + ] + }, + { + "code": "640200", + "value": "石嘴山市", + "label": "石嘴山市", + "children": [ + { + "code": "640202", + "value": "大武口区", + "label": "大武口区" + }, + { + "code": "640205", + "value": "惠农区", + "label": "惠农区" + }, + { + "code": "640221", + "value": "平罗县", + "label": "平罗县" + } + ] + }, + { + "code": "640300", + "value": "吴忠市", + "label": "吴忠市", + "children": [ + { + "code": "640302", + "value": "利通区", + "label": "利通区" + }, + { + "code": "640303", + "value": "红寺堡区", + "label": "红寺堡区" + }, + { + "code": "640323", + "value": "盐池县", + "label": "盐池县" + }, + { + "code": "640324", + "value": "同心县", + "label": "同心县" + }, + { + "code": "640381", + "value": "青铜峡市", + "label": "青铜峡市" + } + ] + }, + { + "code": "640400", + "value": "固原市", + "label": "固原市", + "children": [ + { + "code": "640402", + "value": "原州区", + "label": "原州区" + }, + { + "code": "640422", + "value": "西吉县", + "label": "西吉县" + }, + { + "code": "640423", + "value": "隆德县", + "label": "隆德县" + }, + { + "code": "640424", + "value": "泾源县", + "label": "泾源县" + }, + { + "code": "640425", + "value": "彭阳县", + "label": "彭阳县" + } + ] + }, + { + "code": "640500", + "value": "中卫市", + "label": "中卫市", + "children": [ + { + "code": "640502", + "value": "沙坡头区", + "label": "沙坡头区" + }, + { + "code": "640521", + "value": "中宁县", + "label": "中宁县" + }, + { + "code": "640522", + "value": "海原县", + "label": "海原县" + } + ] + } + ] + }, + { + "code": "650000", + "value": "新疆维吾尔自治区", + "label": "新疆维吾尔自治区", + "children": [ + { + "code": "650100", + "value": "乌鲁木齐市", + "label": "乌鲁木齐市", + "children": [ + { + "code": "650102", + "value": "天山区", + "label": "天山区" + }, + { + "code": "650103", + "value": "沙依巴克区", + "label": "沙依巴克区" + }, + { + "code": "650104", + "value": "新市区", + "label": "新市区" + }, + { + "code": "650105", + "value": "水磨沟区", + "label": "水磨沟区" + }, + { + "code": "650106", + "value": "头屯河区", + "label": "头屯河区" + }, + { + "code": "650107", + "value": "达坂城区", + "label": "达坂城区" + }, + { + "code": "650109", + "value": "米东区", + "label": "米东区" + }, + { + "code": "650121", + "value": "乌鲁木齐县", + "label": "乌鲁木齐县" + } + ] + }, + { + "code": "650200", + "value": "克拉玛依市", + "label": "克拉玛依市", + "children": [ + { + "code": "650202", + "value": "独山子区", + "label": "独山子区" + }, + { + "code": "650203", + "value": "克拉玛依区", + "label": "克拉玛依区" + }, + { + "code": "650204", + "value": "白碱滩区", + "label": "白碱滩区" + }, + { + "code": "650205", + "value": "乌尔禾区", + "label": "乌尔禾区" + } + ] + }, + { + "code": "650400", + "value": "吐鲁番市", + "label": "吐鲁番市", + "children": [ + { + "code": "650402", + "value": "高昌区", + "label": "高昌区" + }, + { + "code": "650421", + "value": "鄯善县", + "label": "鄯善县" + }, + { + "code": "650422", + "value": "托克逊县", + "label": "托克逊县" + } + ] + }, + { + "code": "650500", + "value": "哈密市", + "label": "哈密市", + "children": [ + { + "code": "650502", + "value": "伊州区", + "label": "伊州区" + }, + { + "code": "650521", + "value": "巴里坤哈萨克自治县", + "label": "巴里坤哈萨克自治县" + }, + { + "code": "650522", + "value": "伊吾县", + "label": "伊吾县" + } + ] + }, + { + "code": "652300", + "value": "昌吉回族自治州", + "label": "昌吉回族自治州", + "children": [ + { + "code": "652301", + "value": "昌吉市", + "label": "昌吉市" + }, + { + "code": "652302", + "value": "阜康市", + "label": "阜康市" + }, + { + "code": "652323", + "value": "呼图壁县", + "label": "呼图壁县" + }, + { + "code": "652324", + "value": "玛纳斯县", + "label": "玛纳斯县" + }, + { + "code": "652325", + "value": "奇台县", + "label": "奇台县" + }, + { + "code": "652327", + "value": "吉木萨尔县", + "label": "吉木萨尔县" + }, + { + "code": "652328", + "value": "木垒哈萨克自治县", + "label": "木垒哈萨克自治县" + } + ] + }, + { + "code": "652700", + "value": "博尔塔拉蒙古自治州", + "label": "博尔塔拉蒙古自治州", + "children": [ + { + "code": "652701", + "value": "博乐市", + "label": "博乐市" + }, + { + "code": "652702", + "value": "阿拉山口市", + "label": "阿拉山口市" + }, + { + "code": "652722", + "value": "精河县", + "label": "精河县" + }, + { + "code": "652723", + "value": "温泉县", + "label": "温泉县" + } + ] + }, + { + "code": "652800", + "value": "巴音郭楞蒙古自治州", + "label": "巴音郭楞蒙古自治州", + "children": [ + { + "code": "652801", + "value": "库尔勒市", + "label": "库尔勒市" + }, + { + "code": "652822", + "value": "轮台县", + "label": "轮台县" + }, + { + "code": "652823", + "value": "尉犁县", + "label": "尉犁县" + }, + { + "code": "652824", + "value": "若羌县", + "label": "若羌县" + }, + { + "code": "652825", + "value": "且末县", + "label": "且末县" + }, + { + "code": "652826", + "value": "焉耆回族自治县", + "label": "焉耆回族自治县" + }, + { + "code": "652827", + "value": "和静县", + "label": "和静县" + }, + { + "code": "652828", + "value": "和硕县", + "label": "和硕县" + }, + { + "code": "652829", + "value": "博湖县", + "label": "博湖县" + } + ] + }, + { + "code": "652900", + "value": "阿克苏地区", + "label": "阿克苏地区", + "children": [ + { + "code": "652901", + "value": "阿克苏市", + "label": "阿克苏市" + }, + { + "code": "652902", + "value": "库车市", + "label": "库车市" + }, + { + "code": "652922", + "value": "温宿县", + "label": "温宿县" + }, + { + "code": "652924", + "value": "沙雅县", + "label": "沙雅县" + }, + { + "code": "652925", + "value": "新和县", + "label": "新和县" + }, + { + "code": "652926", + "value": "拜城县", + "label": "拜城县" + }, + { + "code": "652927", + "value": "乌什县", + "label": "乌什县" + }, + { + "code": "652928", + "value": "阿瓦提县", + "label": "阿瓦提县" + }, + { + "code": "652929", + "value": "柯坪县", + "label": "柯坪县" + } + ] + }, + { + "code": "653000", + "value": "克孜勒苏柯尔克孜自治州", + "label": "克孜勒苏柯尔克孜自治州", + "children": [ + { + "code": "653001", + "value": "阿图什市", + "label": "阿图什市" + }, + { + "code": "653022", + "value": "阿克陶县", + "label": "阿克陶县" + }, + { + "code": "653023", + "value": "阿合奇县", + "label": "阿合奇县" + }, + { + "code": "653024", + "value": "乌恰县", + "label": "乌恰县" + } + ] + }, + { + "code": "653100", + "value": "喀什地区", + "label": "喀什地区", + "children": [ + { + "code": "653101", + "value": "喀什市", + "label": "喀什市" + }, + { + "code": "653121", + "value": "疏附县", + "label": "疏附县" + }, + { + "code": "653122", + "value": "疏勒县", + "label": "疏勒县" + }, + { + "code": "653123", + "value": "英吉沙县", + "label": "英吉沙县" + }, + { + "code": "653124", + "value": "泽普县", + "label": "泽普县" + }, + { + "code": "653125", + "value": "莎车县", + "label": "莎车县" + }, + { + "code": "653126", + "value": "叶城县", + "label": "叶城县" + }, + { + "code": "653127", + "value": "麦盖提县", + "label": "麦盖提县" + }, + { + "code": "653128", + "value": "岳普湖县", + "label": "岳普湖县" + }, + { + "code": "653129", + "value": "伽师县", + "label": "伽师县" + }, + { + "code": "653130", + "value": "巴楚县", + "label": "巴楚县" + }, + { + "code": "653131", + "value": "塔什库尔干塔吉克自治县", + "label": "塔什库尔干塔吉克自治县" + } + ] + }, + { + "code": "653200", + "value": "和田地区", + "label": "和田地区", + "children": [ + { + "code": "653201", + "value": "和田市", + "label": "和田市" + }, + { + "code": "653221", + "value": "和田县", + "label": "和田县" + }, + { + "code": "653222", + "value": "墨玉县", + "label": "墨玉县" + }, + { + "code": "653223", + "value": "皮山县", + "label": "皮山县" + }, + { + "code": "653224", + "value": "洛浦县", + "label": "洛浦县" + }, + { + "code": "653225", + "value": "策勒县", + "label": "策勒县" + }, + { + "code": "653226", + "value": "于田县", + "label": "于田县" + }, + { + "code": "653227", + "value": "民丰县", + "label": "民丰县" + } + ] + }, + { + "code": "654000", + "value": "伊犁哈萨克自治州", + "label": "伊犁哈萨克自治州", + "children": [ + { + "code": "654002", + "value": "伊宁市", + "label": "伊宁市" + }, + { + "code": "654003", + "value": "奎屯市", + "label": "奎屯市" + }, + { + "code": "654004", + "value": "霍尔果斯市", + "label": "霍尔果斯市" + }, + { + "code": "654021", + "value": "伊宁县", + "label": "伊宁县" + }, + { + "code": "654022", + "value": "察布查尔锡伯自治县", + "label": "察布查尔锡伯自治县" + }, + { + "code": "654023", + "value": "霍城县", + "label": "霍城县" + }, + { + "code": "654024", + "value": "巩留县", + "label": "巩留县" + }, + { + "code": "654025", + "value": "新源县", + "label": "新源县" + }, + { + "code": "654026", + "value": "昭苏县", + "label": "昭苏县" + }, + { + "code": "654027", + "value": "特克斯县", + "label": "特克斯县" + }, + { + "code": "654028", + "value": "尼勒克县", + "label": "尼勒克县" + } + ] + }, + { + "code": "654200", + "value": "塔城地区", + "label": "塔城地区", + "children": [ + { + "code": "654201", + "value": "塔城市", + "label": "塔城市" + }, + { + "code": "654202", + "value": "乌苏市", + "label": "乌苏市" + }, + { + "code": "654221", + "value": "额敏县", + "label": "额敏县" + }, + { + "code": "654223", + "value": "沙湾县", + "label": "沙湾县" + }, + { + "code": "654224", + "value": "托里县", + "label": "托里县" + }, + { + "code": "654225", + "value": "裕民县", + "label": "裕民县" + }, + { + "code": "654226", + "value": "和布克赛尔蒙古自治县", + "label": "和布克赛尔蒙古自治县" + } + ] + }, + { + "code": "654300", + "value": "阿勒泰地区", + "label": "阿勒泰地区", + "children": [ + { + "code": "654301", + "value": "阿勒泰市", + "label": "阿勒泰市" + }, + { + "code": "654321", + "value": "布尔津县", + "label": "布尔津县" + }, + { + "code": "654322", + "value": "富蕴县", + "label": "富蕴县" + }, + { + "code": "654323", + "value": "福海县", + "label": "福海县" + }, + { + "code": "654324", + "value": "哈巴河县", + "label": "哈巴河县" + }, + { + "code": "654325", + "value": "青河县", + "label": "青河县" + }, + { + "code": "654326", + "value": "吉木乃县", + "label": "吉木乃县" + } + ] + } + ] + }, + { + "code": "710000", + "value": "台湾省", + "label": "台湾省", + "children": [] + }, + { + "code": "810000", + "value": "香港特别行政区", + "label": "香港特别行政区", + "children": [] + }, + { + "code": "820000", + "value": "澳门特别行政区", + "label": "澳门特别行政区", + "children": [] + } +] + +export default cityOptions + + diff --git a/src/src/utils/color.js b/src/src/utils/color.js new file mode 100644 index 0000000..595a39b --- /dev/null +++ b/src/src/utils/color.js @@ -0,0 +1,64 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +/* eslint-disable eqeqeq */ +export default { + // 加深 + darken(color, level) { + const rgbc = this.hexToRgb(color) + for (let i = 0; i < 3; i++) rgbc[i] = Math.floor(rgbc[i] * (1 - level)) + return this.rgbToHex(rgbc[0], rgbc[1], rgbc[2]) + }, + // 变淡 + lighten(color, level) { + const rgbc = this.hexToRgb(color) + for (let i = 0; i < 3; i++) rgbc[i] = Math.floor((255 - rgbc[i]) * level + rgbc[i]) + return this.rgbToHex(rgbc[0], rgbc[1], rgbc[2]) + }, + // rgb颜色转hex颜色 + rgbToHex(rgb) { + const bg = rgb.match(/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/) + // 返回空字符串 + if (!bg) { + return '' + } + return '#' + toHex(bg[1]) + toHex(bg[2]) + toHex(bg[3]) + }, + // hex颜色转rgb颜色 + hexToRgb(hex) { + // 去除开头 # + if (hex.startsWith('#')) { + hex = hex.substring(1) + } + // 如果当前传入的是 3 位小数值,直接转换为 6 位进行处理 + if (hex.length === 3) { + hex = [hex[0], hex[0], hex[1], hex[1], hex[2], hex[2]].join('') + } + if (hex.length !== 6) { + throw new Error('invalid hex:' + hex) + } + const r = parseInt(hex.slice(0, 2), 16) + const g = parseInt(hex.slice(2, 4), 16) + const b = parseInt(hex.slice(4, 6), 16) + if ([r, g, b].some((x) => Number.isNaN(x))) { + throw new Error('invalid hex:' + hex) + } + return [r, g, b] + }, + // 透明度 + alpha(color, alpha = 1) { + let hex = color.length > 7 ? color.rgbToHex(color) : color + const { r, g, b } = color.hexToRgb(hex) + return `rgba(${r}, ${g}, ${b}, ${alpha})` + } +} + +// 转Hex +const toHex = (x) => ('0' + parseInt(x).toString(16)).slice(-2) diff --git a/src/src/utils/device.js b/src/src/utils/device.js new file mode 100644 index 0000000..64d30fc --- /dev/null +++ b/src/src/utils/device.js @@ -0,0 +1,43 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import enquireJs from 'enquire.js' + +export const DEVICE_TYPE = { + DESKTOP: 'desktop', + TABLET: 'tablet', + MOBILE: 'mobile' +} + +export const deviceEnquire = function (callback) { + const matchDesktop = { + match: () => { + callback && callback(DEVICE_TYPE.DESKTOP) + } + } + + const matchTablet = { + match: () => { + callback && callback(DEVICE_TYPE.TABLET) + } + } + + const matchMobile = { + match: () => { + callback && callback(DEVICE_TYPE.MOBILE) + } + } + + // screen and (max-width: 1087.99px) + enquireJs + .register('screen and (max-width: 576px)', matchMobile) + .register('screen and (min-width: 576px) and (max-width: 1199px)', matchTablet) + .register('screen and (min-width: 1200px)', matchDesktop) +} diff --git a/src/src/utils/downloadUtil.js b/src/src/utils/downloadUtil.js new file mode 100644 index 0000000..ba4ab92 --- /dev/null +++ b/src/src/utils/downloadUtil.js @@ -0,0 +1,37 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { message } from 'ant-design-vue' + +export default { + // 对下载的流进行处理,直接从浏览器下载下来 + resultDownload(res) { + if (res.data.type === 'application/json') { + // 错误以及无权限 + const reader = new FileReader(res.data) + reader.readAsText(res.data) + reader.onload = () => { + const result = JSON.parse(reader.result) + message.error(result.msg) + } + } else { + const blob = new Blob([res.data], { type: 'application/octet-stream;charset=UTF-8' }) + const contentDisposition = res.headers['content-disposition'] + const patt = new RegExp('filename=([^;]+\\.[^\\.;]+);*') + const $link = document.createElement('a') + $link.href = URL.createObjectURL(blob) + $link.download = decodeURIComponent(patt.exec(contentDisposition)[1]) + $link.click() + document.body.appendChild($link) + document.body.removeChild($link) // 下载完成移除元素 + window.URL.revokeObjectURL($link.href) // 释放掉blob对象 + } + } +} diff --git a/src/src/utils/enum.js b/src/src/utils/enum.js new file mode 100644 index 0000000..eec36b2 --- /dev/null +++ b/src/src/utils/enum.js @@ -0,0 +1,15 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +export const ThemeModeEnum = { + LIGHT: 'light', + DARK: 'dark', + REAL_DARK: 'realDark' +} diff --git a/src/src/utils/errorHandler.js b/src/src/utils/errorHandler.js new file mode 100644 index 0000000..c11ffc6 --- /dev/null +++ b/src/src/utils/errorHandler.js @@ -0,0 +1,30 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +export default (error) => { + console.log(error) + // 过滤HTTP请求错误 + if (error.code) { + return false + } + const errorMap = { + InternalError: 'Javascript引擎内部错误', + ReferenceError: '未找到对象', + TypeError: '使用了错误的类型或对象', + RangeError: '使用内置对象时,参数超范围', + SyntaxError: '语法错误', + EvalError: '错误的使用了Eval', + URIError: 'URI错误' + } + const errorName = errorMap[error.name] || '未知错误' + nextTick(() => { + console.error(errorName) + }) +} diff --git a/src/src/utils/formRules.js b/src/src/utils/formRules.js new file mode 100644 index 0000000..778b6a2 --- /dev/null +++ b/src/src/utils/formRules.js @@ -0,0 +1,51 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +export const required = (message, trigger = ['blur', 'change']) => ({ + required: true, + message, + trigger +}) + +// 常用正则规则大全:https://any86.github.io/any-rule/ + +export const rules = { + phone: { + pattern: /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/, + message: '请填写符合要求的11位手机号', + trigger: 'blur' + }, + email: { + pattern: /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/, + message: '请填写正确的邮箱号', + trigger: 'blur' + }, + idCard: { + pattern: + /(^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0[1-9]|10|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/, + message: '请填写符合要求的身份证号', + trigger: 'blur' + }, + lettersNum: { + pattern: /^[A-Za-z0-9]+$/, + message: '填写内容须是字母或数字组成', + trigger: 'blur' + }, + number: { + pattern: /^\d{1,}$/, + message: '填写内容必须是纯数字', + trigger: 'blur' + }, + price: { + pattern: /(?:^[1-9]([0-9]+)?(?:\.[0-9]{1,2})?$)|(?:^(?:0)$)|(?:^[0-9]\.[0-9](?:[0-9])?$)/, + message: '只支持正数金额', + trigger: 'blur' + } +} diff --git a/src/src/utils/loading.js b/src/src/utils/loading.js new file mode 100644 index 0000000..35ce380 --- /dev/null +++ b/src/src/utils/loading.js @@ -0,0 +1,38 @@ +import { nextTick } from 'vue' + +/** + * 页面全局 Loading + * @method start 创建 loading + * @method done 移除 loading + */ +export const NextLoading = { + // 创建 loading + start: () => { + const el = document.querySelector('.admin-ui') + if (el) return + const bodys = document.body + const div = document.createElement('div') + div.setAttribute('class', 'admin-ui') + const htmls = ` +
+ +
+
Snowy
+
` + div.innerHTML = htmls + bodys.insertBefore(div, bodys.childNodes[0]) + window.nextLoading = true + }, + // 移除 loading + done: (time = 0) => { + nextTick(() => { + setTimeout(() => { + window.nextLoading = false + const el = document.querySelector('.admin-ui') + el?.parentNode?.removeChild(el) + }, time) + }) + } +} diff --git a/src/src/utils/objects.js b/src/src/utils/objects.js new file mode 100644 index 0000000..ec8cfef --- /dev/null +++ b/src/src/utils/objects.js @@ -0,0 +1,39 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import pinyin from 'js-pinyin' + +// 中文转拼音 传入仅首字母 +Object.defineProperty(String.prototype, 'toPinyin', { + writable: false, + enumerable: false, + configurable: true, + value: function (first) { + let str = this + if (first) { + return pinyin.getCamelChars(str).replace(/\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F]/g, '') + } + return pinyin.getFullChars(str).replace(/\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F]/g, '') + } +}) + +// 字符检索 传入检索值 +Object.defineProperty(String.prototype, 'filter', { + writable: false, + enumerable: false, + configurable: true, + value: function (input) { + let str = this + let en = str.toLowerCase().includes(input.toLowerCase()) + let zhFull = str.toPinyin().toLowerCase().includes(input.toLowerCase()) + let zhFirst = str.toPinyin(true).toLowerCase().includes(input.toLowerCase()) + return en || zhFull || zhFirst + } +}) diff --git a/src/src/utils/permission/index.js b/src/src/utils/permission/index.js new file mode 100644 index 0000000..0d8b5ae --- /dev/null +++ b/src/src/utils/permission/index.js @@ -0,0 +1,40 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import tool from '@/utils/tool' + +/** + * 权限判断是否能看到这个按钮,同时后端也做了校验,前端只是显示与不显示 + * @param {string, array} data 按钮的权限点,可以是单个字符串,也可以是数组 + * @param {string} rule or代表或,and代表与 + * 使用方法: + * 例如 buttonCodeList 的数据为: ['button1', 'button2', 'button3'] + * 想要判断 button1 的权限,可以写成:hasPerm('button1') + * 想要判断 button1 或 button2 的权限,可以写成:hasPerm(['button1', 'button2' ]) + * 想要判断 button1 与 button2 的权限,可以写成:hasPerm(['button1', 'button2' ], 'and') + */ +export function hasPerm(data, rule = 'or') { + if (!data) { + return false + } + const userInfo = tool.data.get('USER_INFO') + if (!userInfo) { + return false + } + const { buttonCodeList } = userInfo + if (!buttonCodeList) { + return false + } + if (Array.isArray(data)) { + const fn = rule === 'or' ? 'some' : 'every' + return data[fn]((item) => buttonCodeList.includes(item)) + } + return buttonCodeList.includes(data) +} diff --git a/src/src/utils/request.js b/src/src/utils/request.js new file mode 100644 index 0000000..1c799dd --- /dev/null +++ b/src/src/utils/request.js @@ -0,0 +1,185 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +// 统一的请求发送 +import axios from 'axios' +import qs from 'qs' +import { Modal, message, notification } from 'ant-design-vue' +import sysConfig from '@/config/index' +import tool from '@/utils/tool' + +// 以下这些code需要重新登录 +const reloadCodes = [401, 1011007, 1011008] +const errorCodeMap = { + 400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。', + 401: '用户没有权限(令牌、用户名、密码错误)。', + 403: '用户得到授权,但是访问是被禁止的。', + 404: '发出的请求针对的是不存在的记录,服务器没有进行操作。', + 406: '请求的格式不可得。', + 410: '请求的资源被永久删除,且不会再得到的。', + 422: '当创建一个对象时,发生一个验证错误。', + 500: '服务器发生错误,请检查服务器。', + 502: '网关错误。', + 503: '服务不可用,服务器暂时过载或维护。', + 504: '网关超时。' +} +// 定义一个重新登录弹出窗的变量 +const loginBack = ref(false) +// 创建 axios 实例 +const service = axios.create({ + baseURL: '/api', // api base_url + timeout: sysConfig.TIMEOUT // 请求超时时间 +}) + +// HTTP request 拦截器 +service.interceptors.request.use( + (config) => { + const token = tool.data.get('TOKEN') + if (token) { + config.headers[sysConfig.TOKEN_NAME] = sysConfig.TOKEN_PREFIX + token + } + if (!sysConfig.REQUEST_CACHE && config.method === 'get') { + config.params = config.params || {} + config.params._ = new Date().getTime() + } + Object.assign(config.headers, sysConfig.HEADERS) + return config + }, + (error) => { + return Promise.reject(error) + } +) + +// 保持重新登录Modal的唯一性 +const error = () => { + loginBack.value = true + Modal.error({ + title: '提示:', + okText: '重新登录', + content: '登录已失效, 请重新登录', + onOk: () => { + loginBack.value = false + tool.data.remove('TOKEN') + tool.data.remove('USER_INFO') + tool.data.remove('MENU') + tool.data.remove('PERMISSIONS') + window.location.reload() + } + }) +} + +// HTTP response 拦截器 +service.interceptors.response.use( + (response) => { + // 配置了blob,不处理直接返回文件流 + if (response.config.responseType === 'blob') { + if (response.status === 200) { + return response + } else { + message.warning('文件下载失败或此文件不存在') + return + } + } + const data = response.data + const code = data.code + if (reloadCodes.includes(code)) { + if (!loginBack.value) { + error() + } + return + } + if (code !== 200) { + const customErrorMessage = response.config.customErrorMessage + message.error(customErrorMessage || data.msg) + return Promise.reject(data) + // 自定义错误提示,覆盖后端返回的message + // 使用示例: + // export function customerList (data) { + // return request('list', data, 'get', { + // customErrorMessage: '自定义错误消息提示' + // }); + // } + } else { + // 统一成功提示 + const responseUrls = response.config.url.split('/') + const apiNameArray = [ + 'add', + 'edit', + 'delete', + 'update', + 'grant', + 'reset', + 'stop', + 'pass', + 'disable', + 'enable', + 'revoke', + 'suspend', + 'active', + 'turn', + 'adjust', + 'reject', + 'saveDraft' + ] + apiNameArray.forEach((apiName) => { + if (responseUrls[responseUrls.length - 1] === apiName) { + message.success(data.msg) + } + }) + } + return Promise.resolve(data.data) + }, + (error) => { + if (error) { + const status = 503 + const description = errorCodeMap[status] + notification.error({ + message: '请求错误', + description + }) + return Promise.reject(status) + } + } +) + +// 适配器, 用于适配不同的请求方式 +export const baseRequest = (url, value = {}, method = 'post', options = {}) => { + url = sysConfig.API_URL + url + if (method === 'post') { + return service.post(url, value, options) + } else if (method === 'get') { + return service.get(url, { params: value, ...options }) + } else if (method === 'formdata') { + // form-data表单提交的方式 + return service.post(url, qs.stringify(value), { + headers: { + 'Content-Type': 'multipart/form-data' + }, + ...options + }) + } else { + // 其他请求方式,例如:put、delete + return service({ + method: method, + url: url, + data: value, + ...options + }) + } +} + +// 模块内的请求, 会自动加上模块的前缀 +export const moduleRequest = + (moduleUrl) => + (url, ...arg) => { + return baseRequest(moduleUrl + url, ...arg) + } + +export default service diff --git a/src/src/utils/routerUtil.js b/src/src/utils/routerUtil.js new file mode 100644 index 0000000..24905a1 --- /dev/null +++ b/src/src/utils/routerUtil.js @@ -0,0 +1,43 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import userRoutes from '@/config/route' + +// 获取第一个界面 +const getIndexMenu = (menu) => { + if (menu[0] && menu[0].children) { + let indexMenu = menu[0].children[0] + // 如果第一个菜单为目录,接着往下找 + if (indexMenu.meta.type === 'catalog') { + indexMenu = traverseChild(menu) + } + return indexMenu + } else { + return userRoutes.menu[0] + } +} +// 遍历进行判断,其中处理了被隐藏的 +const traverseChild = (menu) => { + if (menu[0] && menu[0].children !== undefined) { + if (menu[0].children.length > 0) { + if (menu[0].children[0] && menu[0].children[0].meta.hidden && menu[0].children[0].meta.hidden === true) { + return menu[0] + } else { + return traverseChild(menu[0].children) + } + } + } else { + return menu[0] + } +} + +export default { + getIndexMenu +} diff --git a/src/src/utils/smCrypto.js b/src/src/utils/smCrypto.js new file mode 100644 index 0000000..7f7bab0 --- /dev/null +++ b/src/src/utils/smCrypto.js @@ -0,0 +1,36 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +/** + * 加解密的工具类 + * 使用:https://github.com/JuneAndGreen/sm-crypto + * + * @author yubaoshan + */ +import smCrypto from 'sm-crypto' + +const sm2 = smCrypto.sm2 +const cipherMode = 1 // 1 - C1C3C2,0 - C1C2C3,默认为1 +const publicKey = + '04298364ec840088475eae92a591e01284d1abefcda348b47eb324bb521bb03b0b2a5bc393f6b71dabb8f15c99a0050818b56b23f31743b93df9cf8948f15ddb54' + +/** + * 国密加解密工具类 + */ +export default { + // SM2加密 + doSm2Encrypt(msgString) { + return sm2.doEncrypt(msgString, publicKey, cipherMode) + }, + // SM2数组加密 + doSm2ArrayEncrypt(msgString) { + return sm2.doEncrypt(msgString, publicKey, cipherMode) + } +} diff --git a/src/src/utils/template.js b/src/src/utils/template.js new file mode 100644 index 0000000..bba3316 --- /dev/null +++ b/src/src/utils/template.js @@ -0,0 +1,326 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +/* ! + * template.js v0.7.1 (https://github.com/yanhaijing/template.js) + * API https://github.com/yanhaijing/template.js/blob/master/doc/api.md + * Copyright 2015 yanhaijing. All Rights Reserved + * Licensed under MIT (https://github.com/yanhaijing/template.js/blob/master/MIT-LICENSE.txt) + */ +/* eslint-disable */ +;(function(root, factory) { + var template = factory(root); + if (typeof define === 'function' && define.amd) { + // AMD + define('template', function() { + return template; + }); + } else if (typeof exports === 'object') { + // Node.js + module.exports = template; + } else { + // Browser globals + var _template = root.template; + + template.noConflict = function() { + if (root.template === template) { + root.template = _template; + } + + return template; + }; + root.template = template; + } +}(this, function(root) { + 'use strict'; + var o = { + sTag: '<%',//开始标签 + eTag: '%>',//结束标签 + compress: false,//是否压缩html + escape: true, //默认输出是否进行HTML转义 + error: function (e) {}//错误回调 + }; + var functionMap = {}; //内部函数对象 + //修饰器前缀 + var modifierMap = { + '': function (param) {return nothing(param)}, + 'h': function (param) {return encodeHTML(param)}, + 'u': function (param) {return encodeURI(param)} + }; + + var toString = {}.toString; + var slice = [].slice; + function type(x) { + if(x === null){ + return 'null'; + } + + var t= typeof x; + + if(t !== 'object'){ + return t; + } + + var c = toString.call(x).slice(8, -1).toLowerCase(); + if(c !== 'object'){ + return c; + } + + if(x.constructor==Object){ + return c; + } + + return 'unknown'; + } + + function isObject(obj) { + return type(obj) === 'object'; + } + function isFunction(fn) { + return type(fn) === 'function'; + } + function isString(str) { + return type(str) === 'string'; + } + function extend() { + var target = arguments[0] || {}; + var arrs = slice.call(arguments, 1); + var len = arrs.length; + + for (var i = 0; i < len; i++) { + var arr = arrs[i]; + for (var name in arr) { + target[name] = arr[name]; + } + + } + return target; + } + function clone() { + var args = slice.call(arguments); + return extend.apply(null, [{}].concat(args)); + } + function nothing(param) { + return param; + } + function encodeHTML(source) { + return String(source) + .replace(/&/g,'&') + .replace(//g,'>') + .replace(/\\/g,'\') + .replace(/"/g,'"') + .replace(/'/g,'''); + } + function compress(html) { + return html.replace(/\s+/g, ' ').replace(//g, ''); + } + function consoleAdapter(cmd, msg) { + typeof console !== 'undefined' && console[cmd] && console[cmd](msg); + } + function handelError(e) { + var message = 'template.js error\n\n'; + + for (var key in e) { + message += '<' + key + '>\n' + e[key] + '\n\n'; + } + message += '\n' + e.message + '\n\n'; + consoleAdapter('error', message); + + o.error(e); + function error() { + return 'template.js error'; + } + error.toString = function () { + return '__code__ = "template.js error"'; + } + return error; + } + function parse(tpl, opt) { + var code = ''; + var sTag = opt.sTag; + var eTag = opt.eTag; + var escape = opt.escape; + function parsehtml(line) { + // 单双引号转义,换行符替换为空格 + line = line.replace(/('|")/g, '\\$1'); + var lineList = line.split('\n'); + var code = ''; + for (var i = 0; i < lineList.length; i++) { + code += ';__code__ += ("' + lineList[i] + (i === lineList.length - 1 ? '")\n' : '\\n")\n'); + } + return code; + } + function parsejs(line) { + //var reg = /^(:?)(.*?)=(.*)$/; + var reg = /^(?:=|(:.*?)=)(.*)$/ + var html; + var arr; + var modifier; + + // = := :*= + // :h=123 [':h=123', 'h', '123'] + if (arr = reg.exec(line)) { + html = arr[2]; // 输出 + if (Boolean(arr[1])) { + // :开头 + modifier = arr[1].slice(1); + } else { + // = 开头 + modifier = escape ? 'h' : ''; + } + + return ';__code__ += __modifierMap__["' + modifier + '"](typeof (' + html + ') !== "undefined" ? (' + html + ') : "")\n'; + } + + //原生js + return ';' + line + '\n'; + } + + var tokens = tpl.split(sTag); + + for (var i = 0, len = tokens.length; i < len; i++) { + var token = tokens[i].split(eTag); + + if (token.length === 1) { + code += parsehtml(token[0]); + } else { + code += parsejs(token[0], true); + if (token[1]) { + code += parsehtml(token[1]); + } + } + } + return code; + } + function compiler(tpl, opt) { + var mainCode = parse(tpl, opt); + + var headerCode = '\n' + + ' var html = (function (__data__, __modifierMap__) {\n' + + ' var __str__ = "", __code__ = "";\n' + + ' for(var key in __data__) {\n' + + ' __str__+=("var " + key + "=__data__[\'" + key + "\'];");\n' + + ' }\n' + + ' eval(__str__);\n\n'; + + var footerCode = '\n' + + ' ;return __code__;\n' + + ' }(__data__, __modifierMap__));\n' + + ' return html;\n'; + + var code = headerCode + mainCode + footerCode; + code = code.replace(/[\r]/g, ' '); // ie 7 8 会报错,不知道为什么 + try { + var Render = new Function('__data__', '__modifierMap__', code); + Render.toString = function () { + return mainCode; + } + return Render; + } catch(e) { + e.temp = 'function anonymous(__data__, __modifierMap__) {' + code + '}'; + throw e; + } + } + function compile(tpl, opt) { + opt = clone(o, opt); + + try { + var Render = compiler(tpl, opt); + } catch(e) { + e.name = 'CompileError'; + e.tpl = tpl; + e.render = e.temp; + delete e.temp; + return handelError(e); + } + + function render(data) { + data = clone(functionMap, data); + try { + var html = Render(data, modifierMap); + html = opt.compress ? compress(html) : html; + return html; + } catch(e) { + e.name = 'RenderError'; + e.tpl = tpl; + e.render = Render.toString(); + return handelError(e)(); + } + } + + render.toString = function () { + return Render.toString(); + }; + return render; + } + function template(tpl, data) { + if (typeof tpl !== 'string') { + return ''; + } + + var fn = compile(tpl); + if (!isObject(data)) { + return fn; + } + + return fn(data); + } + + template.config = function (option) { + if (isObject(option)) { + o = extend(o, option); + } + return clone(o); + }; + + template.registerFunction = function(name, fn) { + if (!isString(name)) { + return clone(functionMap); + } + if (!isFunction(fn)) { + return functionMap[name]; + } + + return functionMap[name] = fn; + } + template.unregisterFunction = function (name) { + if (!isString(name)) { + return false; + } + delete functionMap[name]; + return true; + } + + template.registerModifier = function(name, fn) { + if (!isString(name)) { + return clone(modifierMap); + } + if (!isFunction(fn)) { + return modifierMap[name]; + } + + return modifierMap[name] = fn; + } + template.unregisterModifier = function (name) { + if (!isString(name)) { + return false; + } + delete modifierMap[name]; + return true; + } + + template.__encodeHTML = encodeHTML; + template.__compress = compress; + template.__handelError = handelError; + template.__compile = compile; + template.version = '0.7.1'; + return template; +})); diff --git a/src/src/utils/themeUtil.js b/src/src/utils/themeUtil.js new file mode 100644 index 0000000..1c6b3d9 --- /dev/null +++ b/src/src/utils/themeUtil.js @@ -0,0 +1,81 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { generate } from '@ant-design/colors' +import tool from '../utils/tool' +import config from '../config' +import { themeEnum } from '@/layout/enum/themeEnum' + +const changeColor = (newPrimaryColor, theme, darkClass = 'snowy-theme-dark') => { + return new Promise((resolve) => { + const themeEleId = 'snowy-theme-var' + const themeEle = document.querySelector(`#${themeEleId}`) + if (themeEle && themeEle.parentNode) { + themeEle.parentNode.removeChild(themeEle) + } + const isRealDark = theme === themeEnum.REAL_DARK + if (newPrimaryColor) { + const colors = generate(newPrimaryColor, isRealDark ? { theme: 'dark' } : {}) + const rootClass = isRealDark ? `.${darkClass}` : ':root' + const styleElement = document.createElement('style') + styleElement.id = themeEleId + styleElement.setAttribute('type', 'text/css') + styleElement.innerHTML = `${rootClass}{${colors + .map((c, i) => { + return `--primary-${i + 1}:${c};` + }) + .concat([`--primary-color:${newPrimaryColor};`]) + .join('')}}` + document.head.appendChild(styleElement) + } else { + document.body.removeAttribute('snowy-theme') + } + if (isRealDark) { + document.body.classList.add(darkClass) + } else { + document.body.classList.remove(darkClass) + } + resolve() + }) +} + +const loadLocalTheme = (localSetting) => { + if (localSetting) { + let { theme, themeColor } = localSetting + themeColor = themeColor || config.COLOR + theme = theme || config.THEME + changeColor(themeColor, theme) + } +} + +/** + * 获取本地保存的配置 + * @param loadTheme {boolean} 是否加载配置中的主题 + * @returns {Object} + */ +const getLocalSetting = (loadTheme) => { + let localSetting = {} + try { + const theme = tool.data.get('SNOWY_THEME') + const themeColor = tool.data.get('SNOWY_THEME_COLOR') + localSetting = { + theme, + themeColor + } + } catch (e) { + console.error(e) + } + if (loadTheme) { + loadLocalTheme(localSetting) + } + return localSetting +} + +export { loadLocalTheme, getLocalSetting, changeColor } diff --git a/src/src/utils/tool.js b/src/src/utils/tool.js new file mode 100644 index 0000000..6703aa1 --- /dev/null +++ b/src/src/utils/tool.js @@ -0,0 +1,169 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +/** + * @Descripttion: 工具集 + * @version: 1.1 + * @LastEditors: yubaoshan + * @LastEditTime: 2022年4月19日10:58:41 + */ +const tool = {} + +// localStorage +tool.data = { + set(table, settings) { + const _set = JSON.stringify(settings) + const SNOWYSTRING = table.slice(0, 6) === 'SNOWY_' && table !== 'SNOWY_SYS_BASE_CONFIG' + if (SNOWYSTRING) { + let localSetting = JSON.parse(localStorage.getItem('SNOWY_SETTING')) || {} + let newSetting = {} + newSetting[table] = _set + return localStorage.setItem('SNOWY_SETTING', JSON.stringify(Object.assign(localSetting, newSetting))) + } else return localStorage.setItem(table, _set) + }, + get(table) { + const SNOWYSTRING = table.slice(0, 6) === 'SNOWY_' && table !== 'SNOWY_SYS_BASE_CONFIG' + const SNOWY_SETTING = JSON.parse(localStorage.getItem('SNOWY_SETTING')) || {} + let data = SNOWYSTRING ? SNOWY_SETTING[table] : localStorage.getItem(table) + try { + data = JSON.parse(data) + } catch (err) { + return null + } + return data + }, + remove(table) { + return localStorage.removeItem(table) + }, + + clear() { + return localStorage.clear() + } +} + +// sessionStorage +tool.session = { + set(table, settings) { + const _set = JSON.stringify(settings) + return sessionStorage.setItem(table, _set) + }, + get(table) { + let data = sessionStorage.getItem(table) + try { + data = JSON.parse(data) + } catch (err) { + return null + } + return data + }, + remove(table) { + return sessionStorage.removeItem(table) + }, + clear() { + return sessionStorage.clear() + } +} + +// 千分符 +tool.groupSeparator = (num) => { + num = `${num}` + if (!num.includes('.')) num += '.' + + return num + .replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { + return `${$1},` + }) + .replace(/\.$/, '') +} + +// 获取所有字典数组 +tool.dictDataAll = () => { + return tool.data.get('DICT_TYPE_TREE_DATA') +} + +// 字典翻译方法,界面插槽使用方法 {{ $TOOL.dictType('sex', record.sex) }} +tool.dictTypeData = (dictValue, value) => { + const dictTypeTree = tool.dictDataAll() + if (!dictTypeTree) { + return '需重新登录' + } + const tree = dictTypeTree.find((item) => item.dictValue === dictValue) + if (!tree) { + return '无此字典' + } + const children = tree.children + const dict = children.find((item) => item.dictValue === value) + return dict ? dict.dictLabel : '无此字典项' +} + +// 获取某个code下字典的列表,多用于字典下拉框 +tool.dictTypeList = (dictValue) => { + const dictTypeTree = tool.dictDataAll() + if (!dictTypeTree) { + return [] + } + const tree = dictTypeTree.find((item) => item.dictValue === dictValue) + if (tree && tree.children) { + return tree.children + } + return [] +} + +// 获取某个code下字典的列表,基于dictTypeList 改进,保留老的,逐步替换 +tool.dictList = (dictValue) => { + const dictTypeTree = tool.dictDataAll() + if (!dictTypeTree) { + return [] + } + const tree = dictTypeTree.find((item) => item.dictValue === dictValue) + if (tree) { + return tree.children.map((item) => { + return { + value: item['dictValue'], + label: item['name'] + } + }) + } + return [] +} + +// 树形翻译 需要指定最顶级的 parentValue 和当级的value +tool.translateTree = (parentValue, value) => { + const tree = tool.dictDataAll().find((item) => item.dictValue === parentValue) + const targetNode = findNodeByValue(tree, value) + return targetNode ? targetNode.dictLabel : '' +} +const findNodeByValue = (node, value) => { + if (node.dictValue === value) { + return node + } + if (node.children) { + for (let i = 0; i < node.children.length; i++) { + const result = findNodeByValue(node.children[i], value) + if (result) { + return result + } + } + } + return null +} + +// 生成UUID +tool.snowyUuid = () => { + let uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => { + let r = (Math.random() * 16) | 0, + v = c === 'x' ? r : (r & 0x3) | 0x8 + return v.toString(16) + }) + // 首字符转换成字母 + return 'xn' + uuid.slice(2) +} + +export default tool diff --git a/src/src/utils/useTabs.js b/src/src/utils/useTabs.js new file mode 100644 index 0000000..5b8a926 --- /dev/null +++ b/src/src/utils/useTabs.js @@ -0,0 +1,75 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { nextTick } from 'vue' +import NProgress from 'nprogress' +import 'nprogress/nprogress.css' +import router from '@/router' +import { iframeStore, keepAliveStore, viewTagsStore } from '@/store' +export default { + // 刷新标签 + refresh() { + NProgress.start() + const keepAlive = keepAliveStore() + const route = router.currentRoute.value + keepAlive.removeKeepLive(route.name) + keepAlive.setRouteShow(false) + nextTick(() => { + keepAlive.pushKeepLive(route.name) + keepAlive.setRouteShow(true) + NProgress.done() + }) + }, + // 关闭标签 + close(tag) { + const route = tag || router.currentRoute.value + const store = viewTagsStore() + store.removeViewTags(route) + iframeStore().removeIframeList(route) + keepAliveStore().removeKeepLive(route.name) + const tagList = store.viewTags + const latestView = tagList.slice(-1)[0] + if (latestView) { + router.push(latestView) + } else { + router.push('/') + } + }, + // 关闭标签后处理 + closeNext(next) { + const route = router.currentRoute.value + const store = viewTagsStore() + store.removeViewTags(route) + iframeStore().removeIframeList(route) + keepAliveStore().removeKeepLive(route.name) + if (next) { + const tagList = store.viewTags + next(tagList) + } + }, + // 关闭其他 + closeOther() { + const route = router.currentRoute.value + const store = viewTagsStore() + const tagList = [...store.viewTags] + tagList.forEach((tag) => { + // eslint-disable-next-line prettier/prettier + if ((tag.meta && tag.meta.affix) || route.fullPath == tag.fullPath) { + return true + } else { + this.close(tag) + } + }) + }, + // 设置标题 + setTitle(title) { + viewTagsStore().updateViewTagsTitle(title) + } +} diff --git a/src/src/utils/watermark.js b/src/src/utils/watermark.js new file mode 100644 index 0000000..a17e9b2 --- /dev/null +++ b/src/src/utils/watermark.js @@ -0,0 +1,91 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import tool from '@/utils/tool' +export const watermark = { + set: function (text1, text2) { + const canvas = document.createElement('canvas') + canvas.width = 150 + canvas.height = 120 + canvas.style.display = 'none' + const shuiyin = canvas.getContext('2d') + // 控制文字的旋转角度和上下位置 + shuiyin.rotate((-20 * Math.PI) / 180) + shuiyin.translate(-50, 20) + //文字颜色 + shuiyin.fillStyle = '#f5f5f5' + //文字样式 + shuiyin.font = '100 16px Microsoft JhengHei ' + shuiyin.fillText(text1, canvas.width / 3, canvas.height / 2) + shuiyin.fillText(text2, canvas.width / 3, canvas.height / 2 + 20) + /* 新建一个用于填充canvas水印的标签,之所以没有直接在body上添加, + 是因为z-index对个别内容影响,才考虑的不用body */ + const watermark = document.createElement('div') + const styleStr = ` + position:fixed; + top:0; + left:0; + width:100vw; + height:100vh; + z-index:99999; + pointer-events:none; + background-repeat:repeat; + mix-blend-mode: multiply; + background-image:url('${canvas.toDataURL('image/png')}')` + watermark.setAttribute('style', styleStr) + watermark.classList.add('watermark') + document.body.appendChild(watermark) + + //此方法是防止用户通过控制台修改样式去除水印效果 + /* MutationObserver 是一个可以监听DOM结构变化的接口。 */ + const observer = new MutationObserver(() => { + // 此处根据用户登录状态,判断是否终止监听,避免用户退出后登录页面仍然有水印 + if (!tool.data.get('TOKEN')) { + this.close() + observer.disconnect() + } + const wmInstance = document.body.querySelector('.watermark') + if (!wmInstance || wmInstance.getAttribute('style') !== styleStr) { + //如果标签在,只修改了属性,重新赋值属性 + if (wmInstance) { + // 避免一直触发 + // observer.disconnect(); + wmInstance.setAttribute('style', styleStr) + } else { + /* 此处根据用户登录状态,判断是否终止监听,避免用户退出后登录页面仍然有水印 */ + if (tool.data.get('TOKEN')) { + //标签被移除,重新添加标签 + document.body.appendChild(watermark) + } else { + observer.disconnect() + } + } + } + }) + observer.observe(document.body, { + attributes: true, + subtree: true, + childList: true + }) + }, + close: function () { + /* 关闭页面的水印,即要移除水印标签 */ + let watermark = document.body.querySelector('.watermark') + if (watermark) { + document.body.removeChild(watermark) + } + } +} +// 使用方法 +// import { watermark } from '@/utils/watermark' +// 添加水印 +// watermark.set('Snowy','xiaonuo.vip') +// 移除水印,传 null 移除水印 +// watermark.close() diff --git a/src/src/views/auth/findPwd/emailFindForm.vue b/src/src/views/auth/findPwd/emailFindForm.vue new file mode 100644 index 0000000..bae2a2f --- /dev/null +++ b/src/src/views/auth/findPwd/emailFindForm.vue @@ -0,0 +1,193 @@ + + + diff --git a/src/src/views/auth/findPwd/index.vue b/src/src/views/auth/findPwd/index.vue new file mode 100644 index 0000000..fbbe641 --- /dev/null +++ b/src/src/views/auth/findPwd/index.vue @@ -0,0 +1,261 @@ + + + + + diff --git a/src/src/views/auth/findPwd/phoneFindForm.vue b/src/src/views/auth/findPwd/phoneFindForm.vue new file mode 100644 index 0000000..1d8322f --- /dev/null +++ b/src/src/views/auth/findPwd/phoneFindForm.vue @@ -0,0 +1,194 @@ + + + diff --git a/src/src/views/auth/login/callback.vue b/src/src/views/auth/login/callback.vue new file mode 100644 index 0000000..fe27485 --- /dev/null +++ b/src/src/views/auth/login/callback.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/src/views/auth/login/login.less b/src/src/views/auth/login/login.less new file mode 100644 index 0000000..c5df23b --- /dev/null +++ b/src/src/views/auth/login/login.less @@ -0,0 +1,200 @@ +.login-icon-gray { + color: rgba(0, 0, 0, 0.25); +} +.login-validCode-img { + border: 1px solid var(--border-color-split); + cursor: pointer; + width: 100%; + height: 40px; +} +.login-wrapper{ + width: 100vw; + height:100vh; + overflow: hidden; + background-color: #fff; + display: flex; +} +.login_background { + width: 50%; + height: 100%; + overflow: hidden; + background-size: cover; + background-position: center; + background-image: url('@/assets/images/login_home.jpg'); + position: relative; +} +.login_background_front { + width: 450px; + height: 450px; + margin-left: 100px; + margin-top: 15%; + overflow: hidden; + /*position: relative;*/ + background-size: cover; + background-position: center; + background-image: url(/img/login_background_front.png); + animation-name: myfirst; + animation-duration: 5s; + animation-timing-function: linear; + animation-delay: 1s; + animation-iteration-count: infinite; + animation-direction: alternate; + animation-play-state: running; +} +@keyframes myfirst { + 0% { + left: 0px; + top: 0px; + } + 50% { + left: 50px; + top: 0px; + } + 100% { + left: 0px; + top: 0px; + } +} +@-webkit-keyframes myfirst /* Safari and Chrome */ { + 0% { + left: 0px; + top: 0px; + } + 50% { + left: 50px; + top: 0px; + } + 100% { + left: 0px; + top: 0px; + } +} +.login_adv__title h2 { + font-size: 40px; +} +.login_adv__title h4 { + font-size: 18px; + margin-top: 10px; + font-weight: normal; +} +.login_adv__title p { + font-size: 14px; + margin-top: 10px; + line-height: 1.8; + color: rgba(255, 255, 255, 0.6); +} +.login_adv__title div { + margin-top: 10px; + display: flex; + align-items: center; +} +.login_adv__title div span { + margin-right: 15px; +} +.login_adv__title div i { + font-size: 40px; +} +.login_adv__title div i.add { + font-size: 20px; + color: rgba(255, 255, 255, 0.6); +} +/*background-image:linear-gradient(transparent, #000);*/ +.login_main { + width: 50%; + height: 100%; + display: flex; + justify-content: center; +} +.login-form { + width: 450px; + position: absolute; + top:21.8% +} +.login-header { + margin-bottom: 20px; +} +.login-header h2 { + font-size: 24px; + font-weight: bold; + margin-top: 10px; +} +.login_config { + position: absolute; + top: 20px; + right: 20px; +} +.logo_background{ + position: absolute; + left: 0; + top: 56px; + height: 60px; + padding-left: 56px; + width: 100%; + //background: linear-gradient(120deg, rgb(255 255 255 / 90%), rgba(255, 255, 255, 0)); + display: flex; + align-items: center; +} +.logo_background a{ + text-decoration: none; + cursor: pointer; + display: flex; + align-items: center; +} +.logo_background a.no-link, +.logo_background a.no-link label{ + cursor: default; +} +.logo_background img{ + height:40px; + margin-right: 10px; +} +.logo_background a label{ + font-size:24px; + color:#fff; + cursor: pointer; +} +.login_background .version{ + width: 100%; + font-size: 14px; + color:#fff; + font-weight: 300; + padding: 0 56px; + box-sizing: border-box; + position: absolute; + bottom:12px; +} +.login_background .version p{ + line-height: 22px; + text-align: center; + margin-bottom:6px; +} +@media (max-width: 1200px) { + .login-form { + width: 340px; + } +} +@media (max-width: 1000px) { + .login_main { + width: 100%; + position: absolute; + left:0; + right:0; + } + .login_background_front { + display: none; + } + .login-form { + width: 100%; + padding: 20px 40px; + top:15% + } + .logo_background{ + padding-left:40px; + } + .login_background .version{ + padding:0 20px; + } + .login_background .version p:first-child{ + display: none; + } +} diff --git a/src/src/views/auth/login/login.vue b/src/src/views/auth/login/login.vue new file mode 100644 index 0000000..db3aced --- /dev/null +++ b/src/src/views/auth/login/login.vue @@ -0,0 +1,267 @@ + + + diff --git a/src/src/views/auth/login/phoneLoginForm.vue b/src/src/views/auth/login/phoneLoginForm.vue new file mode 100644 index 0000000..6ca4876 --- /dev/null +++ b/src/src/views/auth/login/phoneLoginForm.vue @@ -0,0 +1,167 @@ + + + diff --git a/src/src/views/auth/login/threeLogin.vue b/src/src/views/auth/login/threeLogin.vue new file mode 100644 index 0000000..c3ab83a --- /dev/null +++ b/src/src/views/auth/login/threeLogin.vue @@ -0,0 +1,24 @@ + + + diff --git a/src/src/views/auth/login/util.js b/src/src/views/auth/login/util.js new file mode 100644 index 0000000..18d382b --- /dev/null +++ b/src/src/views/auth/login/util.js @@ -0,0 +1,49 @@ +import userCenterApi from '@/api/sys/userCenterApi' +import dictApi from '@/api/dev/dictApi' +import router from '@/router' +import tool from '@/utils/tool' +import { message } from 'ant-design-vue' +import routerUtil from '@/utils/routerUtil' +import { useMenuStore } from '@/store/menu' +import { userStore } from '@/store/user' + +export const afterLogin = async (loginToken) => { + const menuStore = useMenuStore() + tool.data.set('TOKEN', loginToken) + // 初始化用户信息 + await userStore().initUserInfo() + + // 获取用户的菜单 + const menu = await userCenterApi.userLoginMenu() + let indexMenu = routerUtil.getIndexMenu(menu).path + await menuStore.fetchMenu() + // 重置系统默认应用 + tool.data.set('SNOWY_MENU_MODULE_ID', menu[0].id) + message.success('登录成功') + if (tool.data.get('LAST_VIEWS_PATH')) { + // 如果有缓存,将其登录跳转到最后访问的路由 + indexMenu = tool.data.get('LAST_VIEWS_PATH') + } + // 如果存在退出后换新账号登录,进行重新匹配,匹配无果则默认首页 + if (menu) { + let routerTag = 0 + menu.forEach((item) => { + if (item.children) { + if (JSON.stringify(item.children).indexOf(indexMenu) > -1) { + routerTag++ + } + } + }) + if (routerTag === 0) { + // 取首页 + indexMenu = routerUtil.getIndexMenu(menu).path + } + } + dictApi.dictTree().then((data) => { + // 设置字典到store中 + tool.data.set('DICT_TYPE_TREE_DATA', data) + }) + await router.replace({ + path: indexMenu + }) +} diff --git a/src/src/views/auth/monitor/analyse.vue b/src/src/views/auth/monitor/analyse.vue new file mode 100644 index 0000000..9ca7ab1 --- /dev/null +++ b/src/src/views/auth/monitor/analyse.vue @@ -0,0 +1,92 @@ + + + + + diff --git a/src/src/views/auth/monitor/bTab.vue b/src/src/views/auth/monitor/bTab.vue new file mode 100644 index 0000000..a907ffd --- /dev/null +++ b/src/src/views/auth/monitor/bTab.vue @@ -0,0 +1,95 @@ + + + + + diff --git a/src/src/views/auth/monitor/cTab.vue b/src/src/views/auth/monitor/cTab.vue new file mode 100644 index 0000000..ab762d8 --- /dev/null +++ b/src/src/views/auth/monitor/cTab.vue @@ -0,0 +1,95 @@ + + + + + diff --git a/src/src/views/auth/monitor/index.vue b/src/src/views/auth/monitor/index.vue new file mode 100644 index 0000000..34830e1 --- /dev/null +++ b/src/src/views/auth/monitor/index.vue @@ -0,0 +1,20 @@ + + + diff --git a/src/src/views/auth/monitor/tokenInfoList.vue b/src/src/views/auth/monitor/tokenInfoList.vue new file mode 100644 index 0000000..6bba9e0 --- /dev/null +++ b/src/src/views/auth/monitor/tokenInfoList.vue @@ -0,0 +1,183 @@ + + + diff --git a/src/src/views/auth/third/index.vue b/src/src/views/auth/third/index.vue new file mode 100644 index 0000000..6e724ab --- /dev/null +++ b/src/src/views/auth/third/index.vue @@ -0,0 +1,102 @@ + + + diff --git a/src/src/views/biz/dict/form.vue b/src/src/views/biz/dict/form.vue new file mode 100644 index 0000000..4acfd42 --- /dev/null +++ b/src/src/views/biz/dict/form.vue @@ -0,0 +1,111 @@ + + + diff --git a/src/src/views/biz/dict/index.vue b/src/src/views/biz/dict/index.vue new file mode 100644 index 0000000..ab1e8e7 --- /dev/null +++ b/src/src/views/biz/dict/index.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/src/views/biz/extendedField/detail/form.vue b/src/src/views/biz/extendedField/detail/form.vue new file mode 100644 index 0000000..2eeda0f --- /dev/null +++ b/src/src/views/biz/extendedField/detail/form.vue @@ -0,0 +1,174 @@ + + + diff --git a/src/src/views/biz/extendedField/index.vue b/src/src/views/biz/extendedField/index.vue new file mode 100644 index 0000000..2319da1 --- /dev/null +++ b/src/src/views/biz/extendedField/index.vue @@ -0,0 +1,167 @@ + + + diff --git a/src/src/views/biz/index/index.vue b/src/src/views/biz/index/index.vue new file mode 100644 index 0000000..9fd6bdf --- /dev/null +++ b/src/src/views/biz/index/index.vue @@ -0,0 +1,41 @@ + + + diff --git a/src/src/views/biz/notice/detail.vue b/src/src/views/biz/notice/detail.vue new file mode 100644 index 0000000..c239f1b --- /dev/null +++ b/src/src/views/biz/notice/detail.vue @@ -0,0 +1,85 @@ + + + diff --git a/src/src/views/biz/notice/form.vue b/src/src/views/biz/notice/form.vue new file mode 100644 index 0000000..fd76a69 --- /dev/null +++ b/src/src/views/biz/notice/form.vue @@ -0,0 +1,148 @@ + + + diff --git a/src/src/views/biz/notice/index.vue b/src/src/views/biz/notice/index.vue new file mode 100644 index 0000000..e26eb8f --- /dev/null +++ b/src/src/views/biz/notice/index.vue @@ -0,0 +1,250 @@ + + + diff --git a/src/src/views/biz/org/form.vue b/src/src/views/biz/org/form.vue new file mode 100644 index 0000000..537e5be --- /dev/null +++ b/src/src/views/biz/org/form.vue @@ -0,0 +1,151 @@ + + + diff --git a/src/src/views/biz/org/index.vue b/src/src/views/biz/org/index.vue new file mode 100644 index 0000000..0b3afd3 --- /dev/null +++ b/src/src/views/biz/org/index.vue @@ -0,0 +1,219 @@ + + + + + diff --git a/src/src/views/biz/position/form.vue b/src/src/views/biz/position/form.vue new file mode 100644 index 0000000..90c870b --- /dev/null +++ b/src/src/views/biz/position/form.vue @@ -0,0 +1,118 @@ + + + diff --git a/src/src/views/biz/position/index.vue b/src/src/views/biz/position/index.vue new file mode 100644 index 0000000..26bdb13 --- /dev/null +++ b/src/src/views/biz/position/index.vue @@ -0,0 +1,216 @@ + + + + + diff --git a/src/src/views/biz/searchTags/form.vue b/src/src/views/biz/searchTags/form.vue new file mode 100644 index 0000000..acd4437 --- /dev/null +++ b/src/src/views/biz/searchTags/form.vue @@ -0,0 +1,80 @@ + + + diff --git a/src/src/views/biz/searchTags/index.vue b/src/src/views/biz/searchTags/index.vue new file mode 100644 index 0000000..227b93f --- /dev/null +++ b/src/src/views/biz/searchTags/index.vue @@ -0,0 +1,127 @@ + + + diff --git a/src/src/views/biz/user/form.vue b/src/src/views/biz/user/form.vue new file mode 100644 index 0000000..fc6587a --- /dev/null +++ b/src/src/views/biz/user/form.vue @@ -0,0 +1,568 @@ + + + + + diff --git a/src/src/views/biz/user/index.vue b/src/src/views/biz/user/index.vue new file mode 100644 index 0000000..522efd7 --- /dev/null +++ b/src/src/views/biz/user/index.vue @@ -0,0 +1,425 @@ + + + + diff --git a/src/src/views/dev/config/emailConfig/aliyunEmailForm.vue b/src/src/views/dev/config/emailConfig/aliyunEmailForm.vue new file mode 100644 index 0000000..7f42718 --- /dev/null +++ b/src/src/views/dev/config/emailConfig/aliyunEmailForm.vue @@ -0,0 +1,90 @@ + + + diff --git a/src/src/views/dev/config/emailConfig/index.vue b/src/src/views/dev/config/emailConfig/index.vue new file mode 100644 index 0000000..4225739 --- /dev/null +++ b/src/src/views/dev/config/emailConfig/index.vue @@ -0,0 +1,20 @@ + + + diff --git a/src/src/views/dev/config/emailConfig/localEmailForm.vue b/src/src/views/dev/config/emailConfig/localEmailForm.vue new file mode 100644 index 0000000..896842b --- /dev/null +++ b/src/src/views/dev/config/emailConfig/localEmailForm.vue @@ -0,0 +1,86 @@ + + + diff --git a/src/src/views/dev/config/emailConfig/tencentEmailForm.vue b/src/src/views/dev/config/emailConfig/tencentEmailForm.vue new file mode 100644 index 0000000..e69f7f9 --- /dev/null +++ b/src/src/views/dev/config/emailConfig/tencentEmailForm.vue @@ -0,0 +1,90 @@ + + + diff --git a/src/src/views/dev/config/fileConfig/aliyunFileForm.vue b/src/src/views/dev/config/fileConfig/aliyunFileForm.vue new file mode 100644 index 0000000..dc6ae29 --- /dev/null +++ b/src/src/views/dev/config/fileConfig/aliyunFileForm.vue @@ -0,0 +1,94 @@ + + + diff --git a/src/src/views/dev/config/fileConfig/index.vue b/src/src/views/dev/config/fileConfig/index.vue new file mode 100644 index 0000000..ad3674a --- /dev/null +++ b/src/src/views/dev/config/fileConfig/index.vue @@ -0,0 +1,24 @@ + + + diff --git a/src/src/views/dev/config/fileConfig/localFileForm.vue b/src/src/views/dev/config/fileConfig/localFileForm.vue new file mode 100644 index 0000000..06f3557 --- /dev/null +++ b/src/src/views/dev/config/fileConfig/localFileForm.vue @@ -0,0 +1,86 @@ + + + diff --git a/src/src/views/dev/config/fileConfig/minioFileForm.vue b/src/src/views/dev/config/fileConfig/minioFileForm.vue new file mode 100644 index 0000000..ead4129 --- /dev/null +++ b/src/src/views/dev/config/fileConfig/minioFileForm.vue @@ -0,0 +1,94 @@ + + + diff --git a/src/src/views/dev/config/fileConfig/tencentFileForm.vue b/src/src/views/dev/config/fileConfig/tencentFileForm.vue new file mode 100644 index 0000000..87d30b3 --- /dev/null +++ b/src/src/views/dev/config/fileConfig/tencentFileForm.vue @@ -0,0 +1,94 @@ + + + diff --git a/src/src/views/dev/config/index.vue b/src/src/views/dev/config/index.vue new file mode 100644 index 0000000..011eddb --- /dev/null +++ b/src/src/views/dev/config/index.vue @@ -0,0 +1,74 @@ + + + diff --git a/src/src/views/dev/config/otherConfig/form.vue b/src/src/views/dev/config/otherConfig/form.vue new file mode 100644 index 0000000..8d5eb4d --- /dev/null +++ b/src/src/views/dev/config/otherConfig/form.vue @@ -0,0 +1,90 @@ + + + diff --git a/src/src/views/dev/config/otherConfig/index.vue b/src/src/views/dev/config/otherConfig/index.vue new file mode 100644 index 0000000..600095a --- /dev/null +++ b/src/src/views/dev/config/otherConfig/index.vue @@ -0,0 +1,94 @@ + + + diff --git a/src/src/views/dev/config/smsConfig/aliyunSmsForm.vue b/src/src/views/dev/config/smsConfig/aliyunSmsForm.vue new file mode 100644 index 0000000..cea4ff2 --- /dev/null +++ b/src/src/views/dev/config/smsConfig/aliyunSmsForm.vue @@ -0,0 +1,94 @@ + + + diff --git a/src/src/views/dev/config/smsConfig/index.vue b/src/src/views/dev/config/smsConfig/index.vue new file mode 100644 index 0000000..9b20f83 --- /dev/null +++ b/src/src/views/dev/config/smsConfig/index.vue @@ -0,0 +1,20 @@ + + + diff --git a/src/src/views/dev/config/smsConfig/tencentSmsForm.vue b/src/src/views/dev/config/smsConfig/tencentSmsForm.vue new file mode 100644 index 0000000..333e6dd --- /dev/null +++ b/src/src/views/dev/config/smsConfig/tencentSmsForm.vue @@ -0,0 +1,98 @@ + + + diff --git a/src/src/views/dev/config/smsConfig/xiaonuoSmsForm.vue b/src/src/views/dev/config/smsConfig/xiaonuoSmsForm.vue new file mode 100644 index 0000000..247f83b --- /dev/null +++ b/src/src/views/dev/config/smsConfig/xiaonuoSmsForm.vue @@ -0,0 +1,108 @@ + + + diff --git a/src/src/views/dev/config/sysConfig.vue b/src/src/views/dev/config/sysConfig.vue new file mode 100644 index 0000000..c92481c --- /dev/null +++ b/src/src/views/dev/config/sysConfig.vue @@ -0,0 +1,229 @@ + + + diff --git a/src/src/views/dev/config/thirdConfig/giteeThirdForm.vue b/src/src/views/dev/config/thirdConfig/giteeThirdForm.vue new file mode 100644 index 0000000..9c7b619 --- /dev/null +++ b/src/src/views/dev/config/thirdConfig/giteeThirdForm.vue @@ -0,0 +1,90 @@ + + + diff --git a/src/src/views/dev/config/thirdConfig/index.vue b/src/src/views/dev/config/thirdConfig/index.vue new file mode 100644 index 0000000..bf0d7b8 --- /dev/null +++ b/src/src/views/dev/config/thirdConfig/index.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/src/views/dev/config/thirdConfig/wechatThirdForm.vue b/src/src/views/dev/config/thirdConfig/wechatThirdForm.vue new file mode 100644 index 0000000..33ce2a3 --- /dev/null +++ b/src/src/views/dev/config/thirdConfig/wechatThirdForm.vue @@ -0,0 +1,90 @@ + + + diff --git a/src/src/views/dev/dict/category/bizIndex.vue b/src/src/views/dev/dict/category/bizIndex.vue new file mode 100644 index 0000000..43eaaef --- /dev/null +++ b/src/src/views/dev/dict/category/bizIndex.vue @@ -0,0 +1,200 @@ + + + + + diff --git a/src/src/views/dev/dict/category/form.vue b/src/src/views/dev/dict/category/form.vue new file mode 100644 index 0000000..ff117f0 --- /dev/null +++ b/src/src/views/dev/dict/category/form.vue @@ -0,0 +1,127 @@ + + + diff --git a/src/src/views/dev/dict/category/frmIndex.vue b/src/src/views/dev/dict/category/frmIndex.vue new file mode 100644 index 0000000..cbfa999 --- /dev/null +++ b/src/src/views/dev/dict/category/frmIndex.vue @@ -0,0 +1,184 @@ + + + + + diff --git a/src/src/views/dev/dict/index.vue b/src/src/views/dev/dict/index.vue new file mode 100644 index 0000000..a126cd8 --- /dev/null +++ b/src/src/views/dev/dict/index.vue @@ -0,0 +1,32 @@ + + + diff --git a/src/src/views/dev/email/detail.vue b/src/src/views/dev/email/detail.vue new file mode 100644 index 0000000..5eb083e --- /dev/null +++ b/src/src/views/dev/email/detail.vue @@ -0,0 +1,69 @@ + + + diff --git a/src/src/views/dev/email/form.vue b/src/src/views/dev/email/form.vue new file mode 100644 index 0000000..2954061 --- /dev/null +++ b/src/src/views/dev/email/form.vue @@ -0,0 +1,72 @@ + + + diff --git a/src/src/views/dev/email/index.vue b/src/src/views/dev/email/index.vue new file mode 100644 index 0000000..72eca9b --- /dev/null +++ b/src/src/views/dev/email/index.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/src/src/views/dev/email/send/aliyunEmailSend.vue b/src/src/views/dev/email/send/aliyunEmailSend.vue new file mode 100644 index 0000000..82c8e1b --- /dev/null +++ b/src/src/views/dev/email/send/aliyunEmailSend.vue @@ -0,0 +1,125 @@ + + + diff --git a/src/src/views/dev/email/send/localEmailSend.vue b/src/src/views/dev/email/send/localEmailSend.vue new file mode 100644 index 0000000..13f0a26 --- /dev/null +++ b/src/src/views/dev/email/send/localEmailSend.vue @@ -0,0 +1,99 @@ + + + diff --git a/src/src/views/dev/email/send/tencentEmailSend.vue b/src/src/views/dev/email/send/tencentEmailSend.vue new file mode 100644 index 0000000..6caabc5 --- /dev/null +++ b/src/src/views/dev/email/send/tencentEmailSend.vue @@ -0,0 +1,125 @@ + + + diff --git a/src/src/views/dev/file/detail.vue b/src/src/views/dev/file/detail.vue new file mode 100644 index 0000000..79dac58 --- /dev/null +++ b/src/src/views/dev/file/detail.vue @@ -0,0 +1,55 @@ + + + diff --git a/src/src/views/dev/file/index.vue b/src/src/views/dev/file/index.vue new file mode 100644 index 0000000..665b913 --- /dev/null +++ b/src/src/views/dev/file/index.vue @@ -0,0 +1,259 @@ + + + + + diff --git a/src/src/views/dev/file/preview.vue b/src/src/views/dev/file/preview.vue new file mode 100644 index 0000000..7db4a1d --- /dev/null +++ b/src/src/views/dev/file/preview.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/src/views/dev/file/uploadForm.vue b/src/src/views/dev/file/uploadForm.vue new file mode 100644 index 0000000..2cfb615 --- /dev/null +++ b/src/src/views/dev/file/uploadForm.vue @@ -0,0 +1,137 @@ + + + diff --git a/src/src/views/dev/job/form.vue b/src/src/views/dev/job/form.vue new file mode 100644 index 0000000..fc42c4f --- /dev/null +++ b/src/src/views/dev/job/form.vue @@ -0,0 +1,117 @@ + + + diff --git a/src/src/views/dev/job/index.vue b/src/src/views/dev/job/index.vue new file mode 100644 index 0000000..809f265 --- /dev/null +++ b/src/src/views/dev/job/index.vue @@ -0,0 +1,216 @@ + + + diff --git a/src/src/views/dev/log/oplog/columnChart.vue b/src/src/views/dev/log/oplog/columnChart.vue new file mode 100644 index 0000000..b93e717 --- /dev/null +++ b/src/src/views/dev/log/oplog/columnChart.vue @@ -0,0 +1,44 @@ + + + + diff --git a/src/src/views/dev/log/oplog/detail.vue b/src/src/views/dev/log/oplog/detail.vue new file mode 100644 index 0000000..50d2c4d --- /dev/null +++ b/src/src/views/dev/log/oplog/detail.vue @@ -0,0 +1,69 @@ + + + diff --git a/src/src/views/dev/log/oplog/index.vue b/src/src/views/dev/log/oplog/index.vue new file mode 100644 index 0000000..b7c1bd1 --- /dev/null +++ b/src/src/views/dev/log/oplog/index.vue @@ -0,0 +1,155 @@ + + + diff --git a/src/src/views/dev/log/oplog/pieChart.vue b/src/src/views/dev/log/oplog/pieChart.vue new file mode 100644 index 0000000..def0089 --- /dev/null +++ b/src/src/views/dev/log/oplog/pieChart.vue @@ -0,0 +1,38 @@ + + + + diff --git a/src/src/views/dev/log/vislog/detail.vue b/src/src/views/dev/log/vislog/detail.vue new file mode 100644 index 0000000..5fbb130 --- /dev/null +++ b/src/src/views/dev/log/vislog/detail.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/src/views/dev/log/vislog/index.vue b/src/src/views/dev/log/vislog/index.vue new file mode 100644 index 0000000..33bc370 --- /dev/null +++ b/src/src/views/dev/log/vislog/index.vue @@ -0,0 +1,141 @@ + + + diff --git a/src/src/views/dev/log/vislog/lineChart.vue b/src/src/views/dev/log/vislog/lineChart.vue new file mode 100644 index 0000000..db1cfc1 --- /dev/null +++ b/src/src/views/dev/log/vislog/lineChart.vue @@ -0,0 +1,53 @@ + + + + diff --git a/src/src/views/dev/log/vislog/pieChart.vue b/src/src/views/dev/log/vislog/pieChart.vue new file mode 100644 index 0000000..a9c9938 --- /dev/null +++ b/src/src/views/dev/log/vislog/pieChart.vue @@ -0,0 +1,38 @@ + + + + diff --git a/src/src/views/dev/message/detail.vue b/src/src/views/dev/message/detail.vue new file mode 100644 index 0000000..e08d98f --- /dev/null +++ b/src/src/views/dev/message/detail.vue @@ -0,0 +1,85 @@ + + + diff --git a/src/src/views/dev/message/form.vue b/src/src/views/dev/message/form.vue new file mode 100644 index 0000000..1811b99 --- /dev/null +++ b/src/src/views/dev/message/form.vue @@ -0,0 +1,101 @@ + + + diff --git a/src/src/views/dev/message/index.vue b/src/src/views/dev/message/index.vue new file mode 100644 index 0000000..d13c33e --- /dev/null +++ b/src/src/views/dev/message/index.vue @@ -0,0 +1,143 @@ + + + + + diff --git a/src/src/views/dev/monitor/index.vue b/src/src/views/dev/monitor/index.vue new file mode 100644 index 0000000..967296a --- /dev/null +++ b/src/src/views/dev/monitor/index.vue @@ -0,0 +1,217 @@ + + + + + diff --git a/src/src/views/dev/slideshow/form.vue b/src/src/views/dev/slideshow/form.vue new file mode 100644 index 0000000..be23587 --- /dev/null +++ b/src/src/views/dev/slideshow/form.vue @@ -0,0 +1,111 @@ + + + diff --git a/src/src/views/dev/slideshow/index.vue b/src/src/views/dev/slideshow/index.vue new file mode 100644 index 0000000..f6c3d48 --- /dev/null +++ b/src/src/views/dev/slideshow/index.vue @@ -0,0 +1,233 @@ + + + diff --git a/src/src/views/dev/slideshow/subForm.vue b/src/src/views/dev/slideshow/subForm.vue new file mode 100644 index 0000000..a3bfe3e --- /dev/null +++ b/src/src/views/dev/slideshow/subForm.vue @@ -0,0 +1,162 @@ + + + + diff --git a/src/src/views/dev/sms/detail.vue b/src/src/views/dev/sms/detail.vue new file mode 100644 index 0000000..8282597 --- /dev/null +++ b/src/src/views/dev/sms/detail.vue @@ -0,0 +1,58 @@ + + + diff --git a/src/src/views/dev/sms/form.vue b/src/src/views/dev/sms/form.vue new file mode 100644 index 0000000..8f65487 --- /dev/null +++ b/src/src/views/dev/sms/form.vue @@ -0,0 +1,72 @@ + + + diff --git a/src/src/views/dev/sms/index.vue b/src/src/views/dev/sms/index.vue new file mode 100644 index 0000000..8dea5f7 --- /dev/null +++ b/src/src/views/dev/sms/index.vue @@ -0,0 +1,174 @@ + + + + + diff --git a/src/src/views/dev/sms/send/aliyunSmsSend.vue b/src/src/views/dev/sms/send/aliyunSmsSend.vue new file mode 100644 index 0000000..886fe88 --- /dev/null +++ b/src/src/views/dev/sms/send/aliyunSmsSend.vue @@ -0,0 +1,71 @@ + + + diff --git a/src/src/views/dev/sms/send/tencentSmsSend.vue b/src/src/views/dev/sms/send/tencentSmsSend.vue new file mode 100644 index 0000000..daec4b5 --- /dev/null +++ b/src/src/views/dev/sms/send/tencentSmsSend.vue @@ -0,0 +1,75 @@ + + + diff --git a/src/src/views/dev/sms/send/xiaonuoSmsSend.vue b/src/src/views/dev/sms/send/xiaonuoSmsSend.vue new file mode 100644 index 0000000..4a6b139 --- /dev/null +++ b/src/src/views/dev/sms/send/xiaonuoSmsSend.vue @@ -0,0 +1,59 @@ + + + diff --git a/src/src/views/exm/chart/eCBingZhuangTu.vue b/src/src/views/exm/chart/eCBingZhuangTu.vue new file mode 100644 index 0000000..6fd9aa1 --- /dev/null +++ b/src/src/views/exm/chart/eCBingZhuangTu.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/src/views/exm/chart/eCHengTiaoTu.vue b/src/src/views/exm/chart/eCHengTiaoTu.vue new file mode 100644 index 0000000..b0fdccd --- /dev/null +++ b/src/src/views/exm/chart/eCHengTiaoTu.vue @@ -0,0 +1,11 @@ + + + diff --git a/src/src/views/exm/chart/eCKXianTu.vue b/src/src/views/exm/chart/eCKXianTu.vue new file mode 100644 index 0000000..0fa96d3 --- /dev/null +++ b/src/src/views/exm/chart/eCKXianTu.vue @@ -0,0 +1,20 @@ + + + + diff --git a/src/src/views/exm/chart/eCLouDouTu.vue b/src/src/views/exm/chart/eCLouDouTu.vue new file mode 100644 index 0000000..30031fc --- /dev/null +++ b/src/src/views/exm/chart/eCLouDouTu.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/src/views/exm/chart/eCSanDianTu.vue b/src/src/views/exm/chart/eCSanDianTu.vue new file mode 100644 index 0000000..12ea54a --- /dev/null +++ b/src/src/views/exm/chart/eCSanDianTu.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/src/views/exm/chart/eCShuXingTu.vue b/src/src/views/exm/chart/eCShuXingTu.vue new file mode 100644 index 0000000..da765af --- /dev/null +++ b/src/src/views/exm/chart/eCShuXingTu.vue @@ -0,0 +1,9 @@ + + + diff --git a/src/src/views/exm/chart/eCXianXingTu.vue b/src/src/views/exm/chart/eCXianXingTu.vue new file mode 100644 index 0000000..600cb83 --- /dev/null +++ b/src/src/views/exm/chart/eCXianXingTu.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/src/views/exm/chart/eCYiBiaoTu.vue b/src/src/views/exm/chart/eCYiBiaoTu.vue new file mode 100644 index 0000000..832e560 --- /dev/null +++ b/src/src/views/exm/chart/eCYiBiaoTu.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/src/views/exm/chart/eCZheZhuTu.vue b/src/src/views/exm/chart/eCZheZhuTu.vue new file mode 100644 index 0000000..085ea55 --- /dev/null +++ b/src/src/views/exm/chart/eCZheZhuTu.vue @@ -0,0 +1,11 @@ + + + diff --git a/src/src/views/exm/chart/eCZhuZhuangTu.vue b/src/src/views/exm/chart/eCZhuZhuangTu.vue new file mode 100644 index 0000000..df9e49d --- /dev/null +++ b/src/src/views/exm/chart/eCZhuZhuangTu.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/src/views/exm/chart/g2BingZhuangTu.vue b/src/src/views/exm/chart/g2BingZhuangTu.vue new file mode 100644 index 0000000..37c7200 --- /dev/null +++ b/src/src/views/exm/chart/g2BingZhuangTu.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/src/views/exm/chart/g2CiYunTu.vue b/src/src/views/exm/chart/g2CiYunTu.vue new file mode 100644 index 0000000..f4b7f6b --- /dev/null +++ b/src/src/views/exm/chart/g2CiYunTu.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/src/views/exm/chart/g2JinDuTu.vue b/src/src/views/exm/chart/g2JinDuTu.vue new file mode 100644 index 0000000..554ad63 --- /dev/null +++ b/src/src/views/exm/chart/g2JinDuTu.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/src/views/exm/chart/g2LouDouTu.vue b/src/src/views/exm/chart/g2LouDouTu.vue new file mode 100644 index 0000000..6e2dfac --- /dev/null +++ b/src/src/views/exm/chart/g2LouDouTu.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/src/views/exm/chart/g2MianJiTu.vue b/src/src/views/exm/chart/g2MianJiTu.vue new file mode 100644 index 0000000..f652d79 --- /dev/null +++ b/src/src/views/exm/chart/g2MianJiTu.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/src/views/exm/chart/g2SanDianTu.vue b/src/src/views/exm/chart/g2SanDianTu.vue new file mode 100644 index 0000000..88a03a1 --- /dev/null +++ b/src/src/views/exm/chart/g2SanDianTu.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/src/views/exm/chart/g2TiaoXingTu.vue b/src/src/views/exm/chart/g2TiaoXingTu.vue new file mode 100644 index 0000000..4065f0e --- /dev/null +++ b/src/src/views/exm/chart/g2TiaoXingTu.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/src/views/exm/chart/g2ZheXianTu.vue b/src/src/views/exm/chart/g2ZheXianTu.vue new file mode 100644 index 0000000..c72ec83 --- /dev/null +++ b/src/src/views/exm/chart/g2ZheXianTu.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/src/views/exm/chart/g2ZhuZhuangTu.vue b/src/src/views/exm/chart/g2ZhuZhuangTu.vue new file mode 100644 index 0000000..cc5cb5c --- /dev/null +++ b/src/src/views/exm/chart/g2ZhuZhuangTu.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/src/views/exm/chart/g2ZiDanTu.vue b/src/src/views/exm/chart/g2ZiDanTu.vue new file mode 100644 index 0000000..d3e7a47 --- /dev/null +++ b/src/src/views/exm/chart/g2ZiDanTu.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/src/views/exm/editor/index.vue b/src/src/views/exm/editor/index.vue new file mode 100644 index 0000000..4ec42ca --- /dev/null +++ b/src/src/views/exm/editor/index.vue @@ -0,0 +1,10 @@ + + + diff --git a/src/src/views/exm/iconSelect/index.vue b/src/src/views/exm/iconSelect/index.vue new file mode 100644 index 0000000..b602a78 --- /dev/null +++ b/src/src/views/exm/iconSelect/index.vue @@ -0,0 +1,113 @@ + + + + + diff --git a/src/src/views/exm/map/baiduMap.vue b/src/src/views/exm/map/baiduMap.vue new file mode 100644 index 0000000..957e8a1 --- /dev/null +++ b/src/src/views/exm/map/baiduMap.vue @@ -0,0 +1,124 @@ + + + diff --git a/src/src/views/exm/map/gaodeMap.vue b/src/src/views/exm/map/gaodeMap.vue new file mode 100644 index 0000000..66aca85 --- /dev/null +++ b/src/src/views/exm/map/gaodeMap.vue @@ -0,0 +1,138 @@ + + + diff --git a/src/src/views/exm/nestRoutor/index.vue b/src/src/views/exm/nestRoutor/index.vue new file mode 100644 index 0000000..61da89e --- /dev/null +++ b/src/src/views/exm/nestRoutor/index.vue @@ -0,0 +1,22 @@ + + + diff --git a/src/src/views/gen/basic.vue b/src/src/views/gen/basic.vue new file mode 100644 index 0000000..a8a86c5 --- /dev/null +++ b/src/src/views/gen/basic.vue @@ -0,0 +1,466 @@ + + + + diff --git a/src/src/views/gen/config.vue b/src/src/views/gen/config.vue new file mode 100644 index 0000000..4bb4210 --- /dev/null +++ b/src/src/views/gen/config.vue @@ -0,0 +1,455 @@ + + + + diff --git a/src/src/views/gen/index.vue b/src/src/views/gen/index.vue new file mode 100644 index 0000000..1fd4d0e --- /dev/null +++ b/src/src/views/gen/index.vue @@ -0,0 +1,197 @@ + + + diff --git a/src/src/views/gen/preview.vue b/src/src/views/gen/preview.vue new file mode 100644 index 0000000..a4085cc --- /dev/null +++ b/src/src/views/gen/preview.vue @@ -0,0 +1,103 @@ + + + + diff --git a/src/src/views/gen/steps.vue b/src/src/views/gen/steps.vue new file mode 100644 index 0000000..59e8d6c --- /dev/null +++ b/src/src/views/gen/steps.vue @@ -0,0 +1,163 @@ + + + diff --git a/src/src/views/index/index.vue b/src/src/views/index/index.vue new file mode 100644 index 0000000..3eb9bca --- /dev/null +++ b/src/src/views/index/index.vue @@ -0,0 +1,39 @@ + + + diff --git a/src/src/views/mobile/resource/button/form.vue b/src/src/views/mobile/resource/button/form.vue new file mode 100644 index 0000000..281b2b0 --- /dev/null +++ b/src/src/views/mobile/resource/button/form.vue @@ -0,0 +1,77 @@ + + + diff --git a/src/src/views/mobile/resource/button/index.vue b/src/src/views/mobile/resource/button/index.vue new file mode 100644 index 0000000..6278433 --- /dev/null +++ b/src/src/views/mobile/resource/button/index.vue @@ -0,0 +1,106 @@ + + + diff --git a/src/src/views/mobile/resource/menu/changeModuleForm.vue b/src/src/views/mobile/resource/menu/changeModuleForm.vue new file mode 100644 index 0000000..7e5e106 --- /dev/null +++ b/src/src/views/mobile/resource/menu/changeModuleForm.vue @@ -0,0 +1,78 @@ + + + diff --git a/src/src/views/mobile/resource/menu/form.vue b/src/src/views/mobile/resource/menu/form.vue new file mode 100644 index 0000000..76aa3d9 --- /dev/null +++ b/src/src/views/mobile/resource/menu/form.vue @@ -0,0 +1,248 @@ + + + diff --git a/src/src/views/mobile/resource/menu/index.vue b/src/src/views/mobile/resource/menu/index.vue new file mode 100644 index 0000000..bbf5644 --- /dev/null +++ b/src/src/views/mobile/resource/menu/index.vue @@ -0,0 +1,212 @@ + + + diff --git a/src/src/views/mobile/resource/module/form.vue b/src/src/views/mobile/resource/module/form.vue new file mode 100644 index 0000000..0f4629a --- /dev/null +++ b/src/src/views/mobile/resource/module/form.vue @@ -0,0 +1,93 @@ + + + diff --git a/src/src/views/mobile/resource/module/index.vue b/src/src/views/mobile/resource/module/index.vue new file mode 100644 index 0000000..c1c713c --- /dev/null +++ b/src/src/views/mobile/resource/module/index.vue @@ -0,0 +1,137 @@ + + + diff --git a/src/src/views/other/index.vue b/src/src/views/other/index.vue new file mode 100644 index 0000000..c65f310 --- /dev/null +++ b/src/src/views/other/index.vue @@ -0,0 +1,9 @@ + + + diff --git a/src/src/views/productionBusiness/basicData/brand/columns/brandColumns.js b/src/src/views/productionBusiness/basicData/brand/columns/brandColumns.js new file mode 100644 index 0000000..2f5b3fa --- /dev/null +++ b/src/src/views/productionBusiness/basicData/brand/columns/brandColumns.js @@ -0,0 +1,18 @@ +export const brandColumns = [ + { + title: '编码', + dataIndex: 'number' + }, + { + title: '名称', + dataIndex: 'name' + }, + { + title: '可用状态', + dataIndex: 'enabledState' + }, + { + title: '创建时间', + dataIndex: 'createTime' + } +] diff --git a/src/src/views/productionBusiness/basicData/brand/detail/index.vue b/src/src/views/productionBusiness/basicData/brand/detail/index.vue new file mode 100644 index 0000000..d88ab1f --- /dev/null +++ b/src/src/views/productionBusiness/basicData/brand/detail/index.vue @@ -0,0 +1,110 @@ + + + diff --git a/src/src/views/productionBusiness/basicData/brand/formFields/detailFields.js b/src/src/views/productionBusiness/basicData/brand/formFields/detailFields.js new file mode 100644 index 0000000..730bc41 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/brand/formFields/detailFields.js @@ -0,0 +1,88 @@ +import { required } from '@/utils/formRules' +import tool from '@/utils/tool' + +export const formRules = { + name: [required('请输入名称')], + type: [required('请输入类型')], + appid: [required('请输入AppID')], + secret: [required('请输入AppSecret')] +} + +export const brandFormItems = reactive([ + { + label: '名称:', + name: 'name', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请输入名称', + allowClear: true + } + }, + { + label: '编码:', + name: 'number', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请输入编码', + allowClear: true + } + }, + { + label: '简称:', + name: 'shortName', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请输入简称', + allowClear: true + } + }, + { + label: '所属企业:', + name: 'company', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请输入所属企业', + allowClear: true + } + }, + { + label: '公众号:', + name: 'officialAccountId', + type: 'a-select', + span: 6, + attrs: { + placeholder: '请输入公众号', + options: [], + fieldNames: { + children: 'children', + label: 'name', + value: 'id' + } + } + }, + { + label: '启用状态:', + name: 'enabledState', + type: 'a-select', + span: 6, + attrs: { + placeholder: '请选择启用状态', + options: tool.dictList('COMMON_STATUS') + }, + defaultValue: 'ENABLE' + }, + { + label: '备注:', + name: 'remarks', + type: 'a-textarea', + span: 24, + attrs: { + placeholder: '请输入备注', + allowClear: true + } + } +]) diff --git a/src/src/views/productionBusiness/basicData/brand/formFields/searchFields.js b/src/src/views/productionBusiness/basicData/brand/formFields/searchFields.js new file mode 100644 index 0000000..7602096 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/brand/formFields/searchFields.js @@ -0,0 +1,12 @@ +import tool from '@/utils/tool' + +export const searchFields = [ + { name: 'name', label: '名称', component: 'a-input', props: { placeholder: '请输入名称' } }, + { + name: 'enabledState', + label: '可用状态', + component: 'a-select', + props: { placeholder: '请选择状态', options: tool.dictList('COMMON_STATUS') } + }, + { name: 'number', label: '编码', component: 'a-input', props: { placeholder: '请输入编码' } } +] diff --git a/src/src/views/productionBusiness/basicData/brand/index.vue b/src/src/views/productionBusiness/basicData/brand/index.vue new file mode 100644 index 0000000..c1782bd --- /dev/null +++ b/src/src/views/productionBusiness/basicData/brand/index.vue @@ -0,0 +1,123 @@ + + + diff --git a/src/src/views/productionBusiness/basicData/client/columns/clientColumn.js b/src/src/views/productionBusiness/basicData/client/columns/clientColumn.js new file mode 100644 index 0000000..f09f2e8 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/client/columns/clientColumn.js @@ -0,0 +1,46 @@ +export const clientColumn = [ + { + title: '编码', + dataIndex: 'number', + sorter: true, + sortDirections: ['descend', 'ascend'], + align: 'center', + resizable: true, + width: 300, + ellipsis: true + }, + { + title: '名称', + dataIndex: 'name', + align: 'center', + resizable: true, + width: 300, + ellipsis: true + }, + { + title: '分类', + dataIndex: 'categoryName', + align: 'center', + resizable: true, + width: 300, + ellipsis: true + }, + { + title: '可用状态', + dataIndex: 'enabledState', + align: 'center', + resizable: true, + width: 100, + ellipsis: true + }, + { + title: '创建时间', + dataIndex: 'createTime', + sorter: true, + sortDirections: ['descend', 'ascend'], + align: 'center', + resizable: true, + width: 300, + ellipsis: true + } +] diff --git a/src/src/views/productionBusiness/basicData/client/detail/CustomerCategoryForm.vue b/src/src/views/productionBusiness/basicData/client/detail/CustomerCategoryForm.vue new file mode 100644 index 0000000..9c2ac47 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/client/detail/CustomerCategoryForm.vue @@ -0,0 +1,76 @@ + + + diff --git a/src/src/views/productionBusiness/basicData/client/detail/index.vue b/src/src/views/productionBusiness/basicData/client/detail/index.vue new file mode 100644 index 0000000..1a0741c --- /dev/null +++ b/src/src/views/productionBusiness/basicData/client/detail/index.vue @@ -0,0 +1,334 @@ + + + diff --git a/src/src/views/productionBusiness/basicData/client/formFields/detailFields.js b/src/src/views/productionBusiness/basicData/client/formFields/detailFields.js new file mode 100644 index 0000000..87cd527 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/client/formFields/detailFields.js @@ -0,0 +1,215 @@ +import { required } from '@/utils/formRules' +import tool from '@/utils/tool' + +export const formRules = { + name: [required('请输入名称')], + type: [required('请输入类型')], + appid: [required('请输入AppID')], + secret: [required('请输入AppSecret')] +} + +export const clientFormItems = reactive([ + { + label: '编码:', + name: 'number', + type: 'a-input', + span: 8, + attrs: { + placeholder: '请选择类型', + options: tool.dictList('OFFICIAL_ACCOUNT_TYPE') + } + }, + { + label: '名称:', + name: 'name', + type: 'a-input', + span: 8, + rules: [required('请输入名称')], + attrs: { + placeholder: '请输入名称', + allowClear: true + } + }, + { + label: '简称:', + name: 'shortName', + type: 'a-input', + span: 8, + attrs: { + placeholder: '请输入名称', + allowClear: true + } + }, + { + label: '可用状态:', + name: 'enabledState', + type: 'a-select', + span: 8, + attrs: { + placeholder: '请选择可用状态', + options: tool.dictList('COMMON_STATUS') + }, + defaultValue: 'ENABLE' + }, + { + label: '品牌:', + name: 'brandId', + type: 'a-select', + span: 8, + // rules: [required('请选择品牌')], + attrs: { + placeholder: '请选择品牌', + options: tool.dictList('COMMON_STATUS'), + fieldNames: { + label: 'name', + value: 'id' + } + } + }, + { + label: '客户分类:', + name: 'categoryId', + type: 'a-tree-select', + span: 8, + rules: [required('请选择客户分类')], + attrs: { + placeholder: '请选择客户分类', + allowClear: true, + fieldNames: { + children: 'children', + label: 'name', + value: 'id' + } + } + }, + { + label: '省:', + name: 'province', + span: 8, + rules: [required('请选择省')], + isUseSlot: true, + slotName: 'provinceSlot', + attrs: { + placeholder: '请选择省' + } + }, + { + label: '市:', + name: 'city', + span: 8, + rules: [required('请选择市')], + isUseSlot: true, + slotName: 'citySlot' + }, + { + label: '区:', + name: 'county', + isUseSlot: true, + slotName: 'countySlot', + span: 8, + rules: [required('请选择区')] + }, + { + name: 'address', + type: 'a-textarea', + span: 24, + attrs: { + placeholder: '请输入详细地址', + allowClear: true, + fieldNames: { + children: 'children', + label: 'name', + value: 'id' + } + } + }, + { + label: '备注:', + name: 'remarks', + type: 'a-textarea', + span: 24, + attrs: { + placeholder: '请输入备注', + allowClear: true + } + } +]) + +export const baseFormItems = [ + { + label: '联系人:', + name: 'contacts', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请选择类型' + } + }, + { + label: '手机:', + name: 'phone', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请选择类型' + } + }, + { + label: '固话:', + name: 'tel', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请选择类型' + } + }, + { + label: '传真:', + name: 'fax', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请选择类型' + } + }, + { + label: '电子邮箱:', + name: 'email', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请输入备注', + allowClear: true + } + }, + { + label: 'QQ:', + name: 'qq', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请输入备注', + allowClear: true + } + }, + { + label: '微信:', + name: 'wechat', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请输入备注', + allowClear: true + } + }, + { + label: '联系地址:', + name: 'contactAddress', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请输入备注', + allowClear: true + } + } +] diff --git a/src/src/views/productionBusiness/basicData/client/formFields/drawerForm.js b/src/src/views/productionBusiness/basicData/client/formFields/drawerForm.js new file mode 100644 index 0000000..e781b9b --- /dev/null +++ b/src/src/views/productionBusiness/basicData/client/formFields/drawerForm.js @@ -0,0 +1,44 @@ +import { required } from '@/utils/formRules' + +export const drawerForm = reactive([ + { + label: '编码:', + name: 'number', + type: 'a-input-number', + span: 12, + attrs: { + placeholder: '请输入编码', + allowClear: true + } + }, + { + label: '名称:', + name: 'name', + type: 'a-input', + span: 12, + attrs: { + placeholder: '请输入名称', + allowClear: true + } + }, + { + label: '上级客户:', + name: 'parentId', + type: 'a-tree-select', + span: 12, + attrs: { + placeholder: '请选择上级客户', + treeData: [], + fieldNames: { + children: 'children', + label: 'name', + value: 'id' + } + } + } +]) + +export const formRules = { + name: [required('请输入名称')], + parentId: [required('请选择上级')] +} diff --git a/src/src/views/productionBusiness/basicData/client/formFields/searchFields.js b/src/src/views/productionBusiness/basicData/client/formFields/searchFields.js new file mode 100644 index 0000000..7602096 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/client/formFields/searchFields.js @@ -0,0 +1,12 @@ +import tool from '@/utils/tool' + +export const searchFields = [ + { name: 'name', label: '名称', component: 'a-input', props: { placeholder: '请输入名称' } }, + { + name: 'enabledState', + label: '可用状态', + component: 'a-select', + props: { placeholder: '请选择状态', options: tool.dictList('COMMON_STATUS') } + }, + { name: 'number', label: '编码', component: 'a-input', props: { placeholder: '请输入编码' } } +] diff --git a/src/src/views/productionBusiness/basicData/client/index.vue b/src/src/views/productionBusiness/basicData/client/index.vue new file mode 100644 index 0000000..90608c6 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/client/index.vue @@ -0,0 +1,201 @@ + + + + + diff --git a/src/src/views/productionBusiness/basicData/employee/detail/index.vue b/src/src/views/productionBusiness/basicData/employee/detail/index.vue new file mode 100644 index 0000000..a9be07b --- /dev/null +++ b/src/src/views/productionBusiness/basicData/employee/detail/index.vue @@ -0,0 +1,5 @@ + + + + + diff --git a/src/src/views/productionBusiness/basicData/employee/index.vue b/src/src/views/productionBusiness/basicData/employee/index.vue new file mode 100644 index 0000000..d3044ac --- /dev/null +++ b/src/src/views/productionBusiness/basicData/employee/index.vue @@ -0,0 +1,187 @@ + + + diff --git a/src/src/views/productionBusiness/basicData/materiel/column/materiel-column.js b/src/src/views/productionBusiness/basicData/materiel/column/materiel-column.js new file mode 100644 index 0000000..a4b56f3 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/materiel/column/materiel-column.js @@ -0,0 +1,92 @@ +export const materielColumn = [ + { + title: '编码', + dataIndex: 'number', + sorter: true, + sortDirections: ['descend', 'ascend'], + align: 'center', + resizable: true, + width: 150, + ellipsis: true + }, + { + title: '名称', + dataIndex: 'name', + align: 'center', + resizable: true, + width: 150, + ellipsis: true + }, + { + title: '可用状态', + dataIndex: 'enabledState', + align: 'center', + resizable: true, + width: 150, + ellipsis: true + }, + { + title: '规格型号', + dataIndex: 'specification', + align: 'center', + resizable: true, + width: 150, + ellipsis: true + }, + { + title: '分类', + dataIndex: 'categoryName', + align: 'center', + resizable: true, + width: 150 + }, + { + title: '品牌', + dataIndex: 'brandName', + align: 'center', + resizable: true, + width: 150, + ellipsis: true + }, + { + title: '保质期', + dataIndex: 'shelfLifeUnit', + align: 'center', + resizable: true, + width: 150, + ellipsis: true + }, + { + title: '基本单位', + dataIndex: 'baseUnitName', + align: 'center', + resizable: true, + width: 150, + ellipsis: true + }, + { + title: '生产单位', + dataIndex: 'produceUnitName', + align: 'center', + resizable: true, + width: 150, + ellipsis: true + }, + { + title: '采购单位', + dataIndex: 'purchaseUnitName', + align: 'center', + resizable: true, + width: 150 + }, + { + title: '创建时间', + dataIndex: 'createTime', + sorter: true, + sortDirections: ['descend', 'ascend'], + align: 'center', + resizable: true, + width: 150, + ellipsis: true + } +] diff --git a/src/src/views/productionBusiness/basicData/materiel/detail/index.vue b/src/src/views/productionBusiness/basicData/materiel/detail/index.vue new file mode 100644 index 0000000..b2a6b86 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/materiel/detail/index.vue @@ -0,0 +1,488 @@ + + + diff --git a/src/src/views/productionBusiness/basicData/materiel/detail/materialCategoryForm.vue b/src/src/views/productionBusiness/basicData/materiel/detail/materialCategoryForm.vue new file mode 100644 index 0000000..a9ef191 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/materiel/detail/materialCategoryForm.vue @@ -0,0 +1,76 @@ + + + diff --git a/src/src/views/productionBusiness/basicData/materiel/formFields/detailFields.js b/src/src/views/productionBusiness/basicData/materiel/formFields/detailFields.js new file mode 100644 index 0000000..d2444d6 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/materiel/formFields/detailFields.js @@ -0,0 +1,359 @@ +import { required } from '@/utils/formRules' +import tool from '@/utils/tool' + +export const formRules = { + name: [required('请输入名称')], + type: [required('请输入类型')], + appid: [required('请输入AppID')], + secret: [required('请输入AppSecret')] +} + +export const materialFormItems = [ + { + label: '编码:', + name: 'number', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请输入编码' + } + }, + { + label: '名称:', + name: 'name', + type: 'a-input', + span: 6, + rules: [required('请输入名称')], + attrs: { + placeholder: '请输入名称', + allowClear: true + } + }, + { + label: '简称:', + name: 'shortName', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请输入简称', + allowClear: true + } + }, + { + label: '别名:', + name: 'alias', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请输入别名', + allowClear: true + } + }, + { + label: '规格型号:', + name: 'specification', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请输入规格型号', + allowClear: true + } + }, + { + label: '包装比例:', + name: 'packageProportion', + type: 'a-input', + span: 6, + rules: [required('请输入包装比例')], + attrs: { + placeholder: '请输入包装比例', + allowClear: true, + disabled: true + } + }, + { + label: '助记码:', + name: 'mnemonicCode', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请输入助记码', + allowClear: true + } + }, + { + label: '可用状态:', + name: 'enabledState', + type: 'a-select', + span: 6, + attrs: { + placeholder: '请选择可用状态', + options: tool.dictList('COMMON_STATUS') + }, + defaultValue: 'ENABLE' + } +] + +export const baseFormItems = reactive([ + { + label: '物料类型:', + name: 'categoryId', + type: 'a-tree-select', + span: 6, + rules: [required('请选择物料类型')], + attrs: { + placeholder: '请选择物料类型', + treeData: [], + fieldNames: { + label: 'name', + value: 'id' + } + } + }, + { + label: '品牌:', + name: 'brandId', + type: 'a-select', + span: 6, + attrs: { + placeholder: '请选择品牌', + options: [], + fieldNames: { + label: 'name', + value: 'id' + } + } + }, + { + label: '最高库存:', + name: 'maxInventory', + type: 'a-input-number', + span: 6, + attrs: { + placeholder: '请输入最高库存' + } + }, + { + label: '最低库存:', + name: 'minInventory', + type: 'a-input-number', + span: 6, + attrs: { + placeholder: '请输入最高库存' + } + }, + { + label: '保质期:', + name: 'shelfLife', + type: 'a-input-number', + span: 6, + rules: [required('请选择保质期')], + attrs: { + placeholder: '请输入保质期', + allowClear: true + } + }, + { + label: '统一零售价:', + name: 'retailPrice', + type: 'a-input-number', + span: 6, + attrs: { + placeholder: '请输入统一零售价', + allowClear: true + } + }, + { + label: '商品条形码:', + name: 'barcode', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请输入商品条形码', + allowClear: true + } + }, + { + label: '保质期单位:', + name: 'shelfLifeUnit', + type: 'a-select', + span: 6, + rules: [required('请选择保质期单位')], + attrs: { + placeholder: '请选择保质期单位', + options: tool.dictList('DATE_UNIT') + } + }, + { + label: '最大包装数量:', + name: 'maxPackageQuantity', + type: 'a-input-number', + span: 6, + rules: [required('请输入最大包装数量')], + attrs: { + placeholder: '请输入最大包装数量', + allowClear: true + } + }, + { + label: '批次管理:', + name: 'batchManage', + type: 'a-select', + span: 6, + attrs: { + placeholder: '请选择批次管理', + options: tool.dictList('COMMON_STATUS') + } + }, + { + label: '备注:', + name: 'remarks', + type: 'a-textarea', + span: 24, + attrs: { + placeholder: '请输入备注', + allowClear: true + } + } +]) + +export const unitFormItems = reactive([ + { + label: '单位组:', + name: 'unitGroupId', + type: 'a-select', + span: 6, + rules: [required('请选择单位组')], + attrs: { + placeholder: '请选择类型', + options: [], + fieldNames: { + label: 'name', + value: 'id' + } + } + }, + { + label: '基本单位:', + name: 'baseUnitId', + type: 'a-select', + span: 6, + attrs: { + placeholder: '请选择类型', + options: [], + disabled: true, + fieldNames: { + label: 'name', + value: 'id' + } + } + }, + { + label: '采购单位:', + name: 'purchaseUnitId', + type: 'a-select', + span: 6, + rules: [required('请选择采购单位')], + attrs: { + placeholder: '请选择类型', + options: [], + fieldNames: { + label: 'name', + value: 'id' + } + } + }, + { + label: '分销单位:', + name: 'distrUnitId', + type: 'a-select', + span: 6, + rules: [required('请选择分销单位')], + attrs: { + placeholder: '请输入备注', + options: [], + fieldNames: { + label: 'name', + value: 'id' + } + } + }, + { + label: '生产单位:', + name: 'produceUnitId', + type: 'a-select', + span: 6, + rules: [required('请选择生产单位')], + attrs: { + placeholder: '请输入备注', + options: [], + fieldNames: { + label: 'name', + value: 'id' + } + } + }, + { + label: '销售单位:', + name: 'saleUnitId', + type: 'a-select', + span: 6, + rules: [required('请选择销售单位')], + attrs: { + placeholder: '请输入备注', + options: [], + fieldNames: { + label: 'name', + value: 'id' + } + } + }, + { + label: '库存单位:', + name: 'storeUnitId', + type: 'a-select', + rules: [required('请选择库存单位')], + span: 6, + attrs: { + placeholder: '请输入备注', + options: [], + fieldNames: { + label: 'name', + value: 'id' + } + } + } +]) + +export const priceFormItems = [ + { + label: '生产价格:', + name: 'producePrice', + type: 'a-input', + span: 6, + rules: [required('请输入生产价格')], + attrs: { + placeholder: '请输入生产价格' + } + }, + { + label: '采购价格:', + name: 'purchasePrice', + type: 'a-input-number', + span: 6, + rules: [required('请输入采购价格')], + attrs: { + placeholder: '请输入生产价格' + } + }, + { + label: '统一零售价:', + name: 'retailPrice', + type: 'a-input-number', + span: 6, + rules: [required('请输入统一零售价')], + attrs: { + placeholder: '请输入生产价格' + } + } +] diff --git a/src/src/views/productionBusiness/basicData/materiel/formFields/drawerForm.js b/src/src/views/productionBusiness/basicData/materiel/formFields/drawerForm.js new file mode 100644 index 0000000..9b30395 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/materiel/formFields/drawerForm.js @@ -0,0 +1,45 @@ +import tool from '@/utils/tool' +import { required } from '@/utils/formRules' + +export const drawerForm = reactive([ + { + label: '编码:', + name: 'number', + type: 'a-input-number', + span: 12, + attrs: { + placeholder: '请输入编码', + allowClear: true + } + }, + { + label: '名称:', + name: 'name', + type: 'a-input', + span: 12, + attrs: { + placeholder: '请输入名称', + allowClear: true + } + }, + { + label: '上级物料:', + name: 'parentId', + type: 'a-tree-select', + span: 12, + attrs: { + placeholder: '请选择上级物料', + treeData: [], + fieldNames: { + children: 'children', + label: 'name', + value: 'id' + } + } + } +]) + +export const formRules = { + name: [required('请输入名称')], + parentId: [required('请选择上级物料')] +} diff --git a/src/src/views/productionBusiness/basicData/materiel/formFields/searchFields.js b/src/src/views/productionBusiness/basicData/materiel/formFields/searchFields.js new file mode 100644 index 0000000..7602096 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/materiel/formFields/searchFields.js @@ -0,0 +1,12 @@ +import tool from '@/utils/tool' + +export const searchFields = [ + { name: 'name', label: '名称', component: 'a-input', props: { placeholder: '请输入名称' } }, + { + name: 'enabledState', + label: '可用状态', + component: 'a-select', + props: { placeholder: '请选择状态', options: tool.dictList('COMMON_STATUS') } + }, + { name: 'number', label: '编码', component: 'a-input', props: { placeholder: '请输入编码' } } +] diff --git a/src/src/views/productionBusiness/basicData/materiel/index.vue b/src/src/views/productionBusiness/basicData/materiel/index.vue new file mode 100644 index 0000000..f74850c --- /dev/null +++ b/src/src/views/productionBusiness/basicData/materiel/index.vue @@ -0,0 +1,185 @@ + + + diff --git a/src/src/views/productionBusiness/basicData/publicAccount/columns/publicAccountColumn.js b/src/src/views/productionBusiness/basicData/publicAccount/columns/publicAccountColumn.js new file mode 100644 index 0000000..66a13e8 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/publicAccount/columns/publicAccountColumn.js @@ -0,0 +1,38 @@ +export const publicAccountColumn = [ + { + title: '类型', + dataIndex: 'type', + align: 'center', + resizable: true, + width: 300, + ellipsis: true, + sorter: true, + sortDirections: ['descend', 'ascend'] + }, + { + title: '名称', + dataIndex: 'name', + align: 'center', + resizable: true, + width: 300, + ellipsis: true + }, + { + title: '可用状态', + dataIndex: 'enabledState', + align: 'center', + resizable: true, + width: 100, + ellipsis: true + }, + { + title: '创建时间', + dataIndex: 'createTime', + sorter: true, + sortDirections: ['descend', 'ascend'], + align: 'center', + resizable: true, + width: 300, + ellipsis: true + } +] diff --git a/src/src/views/productionBusiness/basicData/publicAccount/detail/index.vue b/src/src/views/productionBusiness/basicData/publicAccount/detail/index.vue new file mode 100644 index 0000000..a0f2225 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/publicAccount/detail/index.vue @@ -0,0 +1,80 @@ + + + diff --git a/src/src/views/productionBusiness/basicData/publicAccount/formFields/detailFields.js b/src/src/views/productionBusiness/basicData/publicAccount/formFields/detailFields.js new file mode 100644 index 0000000..e502707 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/publicAccount/formFields/detailFields.js @@ -0,0 +1,102 @@ +import { required } from '@/utils/formRules' +import tool from '@/utils/tool' + +export const formRules = { + name: [required('请输入名称')], + type: [required('请输入类型')], + appid: [required('请输入AppID')], + secret: [required('请输入AppSecret')] +} + +export const officialAccountFormItems = [ + { + label: '类型:', + name: 'type', + type: 'a-select', + span: 8, + attrs: { + placeholder: '请选择类型', + options: tool.dictList('OFFICIAL_ACCOUNT_TYPE') + } + }, + { + label: '名称:', + name: 'name', + type: 'a-input', + span: 8, + rules: [required('请输入名称')], + attrs: { + placeholder: '请输入名称', + allowClear: true + } + }, + { + label: '可用状态:', + name: 'enabledState', + type: 'a-select', + span: 8, + attrs: { + placeholder: '请选择可用状态', + options: tool.dictList('COMMON_STATUS') + }, + defaultValue: 'ENABLE' + }, + { + label: '备注:', + name: 'remarks', + type: 'a-textarea', + span: 24, + attrs: { + placeholder: '请输入备注', + allowClear: true + } + } +] + +export const basicInfoFormItems = [ + { + label: 'AppID:', + name: 'appid', + type: 'a-input', + attrs: { + placeholder: '请输入AppID', + allowClear: true + } + }, + { + label: 'AppSecret:', + name: 'secret', + type: 'a-input', + attrs: { + placeholder: '请输入AppSecret', + allowClear: true + } + }, + { + label: '字符串编码格式:', + name: 'encodingFormat', + type: 'a-input', + attrs: { + placeholder: '请输入字符串编码格式', + allowClear: true + } + }, + { + label: '校验码:', + name: 'token', + type: 'a-input', + attrs: { + placeholder: '请输入校验码', + allowClear: true + } + }, + { + label: '签名方式:', + name: 'aesKey', + type: 'a-input', + attrs: { + placeholder: '请输入签名方式', + allowClear: true + } + } +] diff --git a/src/src/views/productionBusiness/basicData/publicAccount/formFields/searchFields.js b/src/src/views/productionBusiness/basicData/publicAccount/formFields/searchFields.js new file mode 100644 index 0000000..7602096 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/publicAccount/formFields/searchFields.js @@ -0,0 +1,12 @@ +import tool from '@/utils/tool' + +export const searchFields = [ + { name: 'name', label: '名称', component: 'a-input', props: { placeholder: '请输入名称' } }, + { + name: 'enabledState', + label: '可用状态', + component: 'a-select', + props: { placeholder: '请选择状态', options: tool.dictList('COMMON_STATUS') } + }, + { name: 'number', label: '编码', component: 'a-input', props: { placeholder: '请输入编码' } } +] diff --git a/src/src/views/productionBusiness/basicData/publicAccount/index.vue b/src/src/views/productionBusiness/basicData/publicAccount/index.vue new file mode 100644 index 0000000..979b692 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/publicAccount/index.vue @@ -0,0 +1,123 @@ + + + diff --git a/src/src/views/productionBusiness/basicData/stash/columns/brandColumns.js b/src/src/views/productionBusiness/basicData/stash/columns/brandColumns.js new file mode 100644 index 0000000..19b8cb9 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/stash/columns/brandColumns.js @@ -0,0 +1,46 @@ +export const stashColumn = [ + { + title: '编码', + dataIndex: 'number', + sorter: true, + sortDirections: ['descend', 'ascend'], + align: 'center', + resizable: true, + width: 200, + ellipsis: true + }, + { + title: '名称', + dataIndex: 'name', + align: 'center', + resizable: true, + width: 200, + ellipsis: true + }, + { + title: '可用状态', + dataIndex: 'enabledState', + align: 'center', + resizable: true, + width: 100, + ellipsis: true + }, + { + title: '仓库条码', + dataIndex: 'barcode', + align: 'center', + resizable: true, + width: 200, + ellipsis: true + }, + { + title: '创建时间', + dataIndex: 'createTime', + sorter: true, + sortDirections: ['descend', 'ascend'], + align: 'center', + resizable: true, + width: 150, + ellipsis: true + } +] diff --git a/src/src/views/productionBusiness/basicData/stash/detail/index.vue b/src/src/views/productionBusiness/basicData/stash/detail/index.vue new file mode 100644 index 0000000..0747931 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/stash/detail/index.vue @@ -0,0 +1,150 @@ + + + diff --git a/src/src/views/productionBusiness/basicData/stash/formFields/detailFields.js b/src/src/views/productionBusiness/basicData/stash/formFields/detailFields.js new file mode 100644 index 0000000..57fd96b --- /dev/null +++ b/src/src/views/productionBusiness/basicData/stash/formFields/detailFields.js @@ -0,0 +1,133 @@ +import { required } from '@/utils/formRules' +import tool from '@/utils/tool' + +export const officialAccountFormItems = reactive([ + { + label: '编码:', + name: 'number', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请选择编码' + } + }, + { + label: '名称:', + name: 'name', + type: 'a-input', + span: 6, + rules: [required('请输入名称')], + attrs: { + placeholder: '请输入名称', + allowClear: true + } + }, + { + label: '仓库条码:', + name: 'barcode', + type: 'a-input', + span: 6, + rules: [required('请输入仓库条码')], + attrs: { + placeholder: '请输入仓库条码', + allowClear: true + } + }, + { + label: '可用状态:', + name: 'enabledState', + type: 'a-select', + span: 6, + attrs: { + placeholder: '请选择可用状态', + options: tool.dictList('COMMON_STATUS') + }, + defaultValue: 'ENABLE' + }, + { + label: '库存管理方式:', + name: 'manageMode', + type: 'a-select', + span: 6, + rules: [required('请选择库存管理方式')], + attrs: { + placeholder: '请选择库存管理方式', + options: tool.dictList('STORE_MANAGE_MODE') + }, + defaultValue: '' + }, + { + label: '上游仓库:', + name: 'parentId', + type: 'a-tree-select', + span: 6, + attrs: { + placeholder: '请选择上游仓库', + treeData: [], + fieldNames: { + children: 'children', + label: 'name', + value: 'id' + } + }, + defaultValue: '' + }, + { + label: '备注:', + name: 'remarks', + type: 'a-textarea', + span: 24, + attrs: { + placeholder: '请输入备注', + allowClear: true + } + } +]) + +export const baseFormItems = [ + { + label: '管理员:', + name: 'manageUserName', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请选择管理员', + readonly: true + } + }, + { + label: '手机:', + name: 'phone', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请输入手机' + } + }, + { + label: '固话:', + name: 'tel', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请选择固话' + } + }, + { + label: '地址:', + name: 'address', + type: 'a-textarea', + span: 24, + attrs: { + placeholder: '请输入地址', + allowClear: true + } + } +] + +export const formRules = { + name: [required('请输入名称')], + type: [required('请输入类型')], + appid: [required('请输入AppID')], + secret: [required('请输入AppSecret')] +} diff --git a/src/src/views/productionBusiness/basicData/stash/formFields/searchFields.js b/src/src/views/productionBusiness/basicData/stash/formFields/searchFields.js new file mode 100644 index 0000000..7602096 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/stash/formFields/searchFields.js @@ -0,0 +1,12 @@ +import tool from '@/utils/tool' + +export const searchFields = [ + { name: 'name', label: '名称', component: 'a-input', props: { placeholder: '请输入名称' } }, + { + name: 'enabledState', + label: '可用状态', + component: 'a-select', + props: { placeholder: '请选择状态', options: tool.dictList('COMMON_STATUS') } + }, + { name: 'number', label: '编码', component: 'a-input', props: { placeholder: '请输入编码' } } +] diff --git a/src/src/views/productionBusiness/basicData/stash/index.vue b/src/src/views/productionBusiness/basicData/stash/index.vue new file mode 100644 index 0000000..8d8930a --- /dev/null +++ b/src/src/views/productionBusiness/basicData/stash/index.vue @@ -0,0 +1,162 @@ + + + diff --git a/src/src/views/productionBusiness/basicData/tissue/column/tissueColumn.js b/src/src/views/productionBusiness/basicData/tissue/column/tissueColumn.js new file mode 100644 index 0000000..603898e --- /dev/null +++ b/src/src/views/productionBusiness/basicData/tissue/column/tissueColumn.js @@ -0,0 +1,45 @@ +export const tissueColumn = [ + { + title: '编码', + dataIndex: 'number', + sorter: true, + sortDirections: ['descend', 'ascend'], + align: 'center', + resizable: true, + width: 300, + ellipsis: true + }, + { + title: '类型', + dataIndex: 'type', + align: 'center', + resizable: true, + width: 100 + }, + { + title: '名称', + dataIndex: 'name', + align: 'center', + resizable: true, + width: 300, + ellipsis: true + }, + { + title: '可用状态', + dataIndex: 'enabledState', + align: 'center', + resizable: true, + width: 100, + ellipsis: true + }, + { + title: '创建时间', + dataIndex: 'createTime', + sorter: true, + sortDirections: ['descend', 'ascend'], + align: 'center', + resizable: true, + width: 300, + ellipsis: true + } +] diff --git a/src/src/views/productionBusiness/basicData/tissue/detail/TissueForm.vue b/src/src/views/productionBusiness/basicData/tissue/detail/TissueForm.vue new file mode 100644 index 0000000..275a52d --- /dev/null +++ b/src/src/views/productionBusiness/basicData/tissue/detail/TissueForm.vue @@ -0,0 +1,208 @@ + + + diff --git a/src/src/views/productionBusiness/basicData/tissue/detail/index.vue b/src/src/views/productionBusiness/basicData/tissue/detail/index.vue new file mode 100644 index 0000000..c88dfcb --- /dev/null +++ b/src/src/views/productionBusiness/basicData/tissue/detail/index.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/src/src/views/productionBusiness/basicData/tissue/formFields/searchFields.js b/src/src/views/productionBusiness/basicData/tissue/formFields/searchFields.js new file mode 100644 index 0000000..7602096 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/tissue/formFields/searchFields.js @@ -0,0 +1,12 @@ +import tool from '@/utils/tool' + +export const searchFields = [ + { name: 'name', label: '名称', component: 'a-input', props: { placeholder: '请输入名称' } }, + { + name: 'enabledState', + label: '可用状态', + component: 'a-select', + props: { placeholder: '请选择状态', options: tool.dictList('COMMON_STATUS') } + }, + { name: 'number', label: '编码', component: 'a-input', props: { placeholder: '请输入编码' } } +] diff --git a/src/src/views/productionBusiness/basicData/tissue/index.vue b/src/src/views/productionBusiness/basicData/tissue/index.vue new file mode 100644 index 0000000..b7742a8 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/tissue/index.vue @@ -0,0 +1,163 @@ + + + diff --git a/src/src/views/productionBusiness/basicData/unit/columns/unitColumns.js b/src/src/views/productionBusiness/basicData/unit/columns/unitColumns.js new file mode 100644 index 0000000..993f154 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/unit/columns/unitColumns.js @@ -0,0 +1,69 @@ +export const unitColumns = [ + { + title: '编码', + dataIndex: 'number', + width: 200, + resizable: true, + align: 'center', + sorter: true, + sortDirections: ['descend', 'ascend'], + ellipsis: true + }, + { + title: '名称', + dataIndex: 'name', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '单位组', + dataIndex: 'unitGroupName', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '可用状态', + dataIndex: 'enabledState', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '换算率', + dataIndex: 'rate', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '是否基本单位', + dataIndex: 'isBase', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + } +] + +export const unitGroupColumns = [ + { + title: '名称', + dataIndex: 'name', + width: 100, + resizable: true, + align: 'center' + }, + { + title: '状态', + dataIndex: 'enabledState', + width: 80, + resizable: true, + align: 'center' + } +] diff --git a/src/src/views/productionBusiness/basicData/unit/detail/UnitGroupForm.vue b/src/src/views/productionBusiness/basicData/unit/detail/UnitGroupForm.vue new file mode 100644 index 0000000..f8e6e99 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/unit/detail/UnitGroupForm.vue @@ -0,0 +1,68 @@ + + + diff --git a/src/src/views/productionBusiness/basicData/unit/detail/index.vue b/src/src/views/productionBusiness/basicData/unit/detail/index.vue new file mode 100644 index 0000000..f1876a1 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/unit/detail/index.vue @@ -0,0 +1,86 @@ + + + diff --git a/src/src/views/productionBusiness/basicData/unit/formFields/detailFields.js b/src/src/views/productionBusiness/basicData/unit/formFields/detailFields.js new file mode 100644 index 0000000..3a7b96f --- /dev/null +++ b/src/src/views/productionBusiness/basicData/unit/formFields/detailFields.js @@ -0,0 +1,91 @@ +import { required } from '@/utils/formRules' +import tool from '@/utils/tool' + +export const unitFormItems = reactive([ + { + label: '名称:', + name: 'name', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请输入名称', + allowClear: true + } + }, + { + label: '编码:', + name: 'number', + type: 'a-input-number', + span: 6, + attrs: { + placeholder: '请输入编码', + allowClear: true + } + }, + { + label: '单位组:', + name: 'unitGroupId', + type: 'a-select', + span: 6, + attrs: { + placeholder: '请选择可用状态', + options: [], + fieldNames: { + label: 'name', + value: 'id' + } + }, + defaultValue: '' + }, + { + label: '换算率:', + name: 'rate', + type: 'a-input-number', + span: 6, + attrs: { + placeholder: '请输入换算率', + allowClear: true, + min: 1, + precision: 0 + } + }, + { + label: '是否基本单位:', + name: 'isBase', + type: 'a-select', + span: 6, + attrs: { + placeholder: '请选择是否基本单位', + options: tool.dictList('YES_NO') + }, + defaultValue: 'NO' + }, + { + label: '可用状态:', + name: 'enabledState', + type: 'a-select', + span: 6, + attrs: { + placeholder: '请选择可用状态', + options: tool.dictList('COMMON_STATUS') + }, + defaultValue: 'ENABLE' + }, + { + label: '备注:', + name: 'remarks', + type: 'a-textarea', + span: 24, + attrs: { + placeholder: '请输入备注', + allowClear: true + } + } +]) + +export const formRules = { + unitGroupId: [required('请选择单位')], + name: [required('请输入名称')], + rate: [required('请输入换算率')], + isBase: [required('请选择是否基本单位')] +} diff --git a/src/src/views/productionBusiness/basicData/unit/formFields/drawerForm.js b/src/src/views/productionBusiness/basicData/unit/formFields/drawerForm.js new file mode 100644 index 0000000..bb9e993 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/unit/formFields/drawerForm.js @@ -0,0 +1,41 @@ +import tool from '@/utils/tool' +import { required } from '@/utils/formRules' + +export const drawerForm = reactive([ + { + label: '编码:', + name: 'number', + type: 'a-input-number', + span: 12, + attrs: { + placeholder: '请输入编码', + allowClear: true + } + }, + { + label: '名称:', + name: 'name', + type: 'a-input', + span: 12, + attrs: { + placeholder: '请输入名称', + allowClear: true + } + }, + { + label: '可用状态:', + name: 'enabledState', + type: 'a-select', + span: 12, + attrs: { + placeholder: '请选择可用状态', + options: tool.dictList('COMMON_STATUS') + }, + defaultValue: 'ENABLE' + } +]) + +export const formRules = { + name: [required('请输入名称')], + enabledState: [required('请输入状态')] +} diff --git a/src/src/views/productionBusiness/basicData/unit/formFields/searchFields.js b/src/src/views/productionBusiness/basicData/unit/formFields/searchFields.js new file mode 100644 index 0000000..1988d2e --- /dev/null +++ b/src/src/views/productionBusiness/basicData/unit/formFields/searchFields.js @@ -0,0 +1,20 @@ +import tool from '@/utils/tool' + +export const searchFields = [ + { name: 'name', label: '名称', component: 'a-input', props: { placeholder: '请输入名称' } }, + { + name: 'enabledState', + label: '可用状态', + component: 'a-select', + props: { placeholder: '请选择状态', options: tool.dictList('COMMON_STATUS') } + }, + { name: 'number', label: '编码', component: 'a-input', props: { placeholder: '请输入编码' } }, + { + name: 'isBase', + label: '是否基本单位', + component: 'a-select', + props: { placeholder: '请选择是否基本单位', options: tool.dictList('YES_NO') }, + visible: false, + isShowVisible: true + } +] diff --git a/src/src/views/productionBusiness/basicData/unit/index.vue b/src/src/views/productionBusiness/basicData/unit/index.vue new file mode 100644 index 0000000..5560210 --- /dev/null +++ b/src/src/views/productionBusiness/basicData/unit/index.vue @@ -0,0 +1,237 @@ + + + diff --git a/src/src/views/productionBusiness/employee/personnel/detail/index.vue b/src/src/views/productionBusiness/employee/personnel/detail/index.vue new file mode 100644 index 0000000..44390c4 --- /dev/null +++ b/src/src/views/productionBusiness/employee/personnel/detail/index.vue @@ -0,0 +1,229 @@ + + + diff --git a/src/src/views/productionBusiness/employee/personnel/detail/personnelCategoryForm.vue b/src/src/views/productionBusiness/employee/personnel/detail/personnelCategoryForm.vue new file mode 100644 index 0000000..99b23b9 --- /dev/null +++ b/src/src/views/productionBusiness/employee/personnel/detail/personnelCategoryForm.vue @@ -0,0 +1,125 @@ + + + diff --git a/src/src/views/productionBusiness/employee/personnel/index.vue b/src/src/views/productionBusiness/employee/personnel/index.vue new file mode 100644 index 0000000..353942f --- /dev/null +++ b/src/src/views/productionBusiness/employee/personnel/index.vue @@ -0,0 +1,273 @@ + + + diff --git a/src/src/views/productionBusiness/employee/personnelReport/detail/addPersonnelItem.vue b/src/src/views/productionBusiness/employee/personnelReport/detail/addPersonnelItem.vue new file mode 100644 index 0000000..3add409 --- /dev/null +++ b/src/src/views/productionBusiness/employee/personnelReport/detail/addPersonnelItem.vue @@ -0,0 +1,145 @@ + + + diff --git a/src/src/views/productionBusiness/employee/personnelReport/detail/index.vue b/src/src/views/productionBusiness/employee/personnelReport/detail/index.vue new file mode 100644 index 0000000..4de147a --- /dev/null +++ b/src/src/views/productionBusiness/employee/personnelReport/detail/index.vue @@ -0,0 +1,529 @@ + + + + + diff --git a/src/src/views/productionBusiness/employee/personnelReport/detail/personnelForm.vue b/src/src/views/productionBusiness/employee/personnelReport/detail/personnelForm.vue new file mode 100644 index 0000000..f901437 --- /dev/null +++ b/src/src/views/productionBusiness/employee/personnelReport/detail/personnelForm.vue @@ -0,0 +1,145 @@ + + + diff --git a/src/src/views/productionBusiness/employee/personnelReport/index.vue b/src/src/views/productionBusiness/employee/personnelReport/index.vue new file mode 100644 index 0000000..65cd2b9 --- /dev/null +++ b/src/src/views/productionBusiness/employee/personnelReport/index.vue @@ -0,0 +1,219 @@ + + + diff --git a/src/src/views/productionBusiness/productionCenter/report/columns/detailColumns.js b/src/src/views/productionBusiness/productionCenter/report/columns/detailColumns.js new file mode 100644 index 0000000..eabdb34 --- /dev/null +++ b/src/src/views/productionBusiness/productionCenter/report/columns/detailColumns.js @@ -0,0 +1,121 @@ +export const detailColumns = [ + { + title: '产品名称', + dataIndex: 'productName', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '产品编码', + dataIndex: 'productNumber', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '规格型号', + dataIndex: 'specification', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '完工数量', + dataIndex: 'amount', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '入库数量', + dataIndex: 'amount', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '基本完工数量', + dataIndex: 'basicAmount', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '基本入库数量', + dataIndex: 'basicAmount', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '单位', + dataIndex: 'unitName', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '基本单位', + dataIndex: 'baseUnitName', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '包装规格', + dataIndex: 'packageProportion', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '包装数量', + dataIndex: 'name', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '采集失败数', + dataIndex: 'name', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '采集成功率', + dataIndex: 'name', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '生产率', + dataIndex: 'name', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '操作', + dataIndex: 'action', + align: 'center', + width: 150, + fixed: 'right' + } +] diff --git a/src/src/views/productionBusiness/productionCenter/report/columns/reportColumns.js b/src/src/views/productionBusiness/productionCenter/report/columns/reportColumns.js new file mode 100644 index 0000000..13fe601 --- /dev/null +++ b/src/src/views/productionBusiness/productionCenter/report/columns/reportColumns.js @@ -0,0 +1,69 @@ +export const reportColumns = [ + { + title: '编码', + dataIndex: 'number', + width: 200, + resizable: true, + align: 'center', + sorter: true, + sortDirections: ['descend', 'ascend'], + ellipsis: true + }, + { + title: '名称', + dataIndex: 'name', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '单位组', + dataIndex: 'unitGroupName', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '可用状态', + dataIndex: 'enabledState', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '换算率', + dataIndex: 'rate', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + }, + { + title: '是否基本单位', + dataIndex: 'isBase', + width: 200, + resizable: true, + align: 'center', + ellipsis: true + } +] + +export const unitGroupColumns = [ + { + title: '名称', + dataIndex: 'name', + width: 100, + resizable: true, + align: 'center' + }, + { + title: '状态', + dataIndex: 'enabledState', + width: 80, + resizable: true, + align: 'center' + } +] diff --git a/src/src/views/productionBusiness/productionCenter/report/detail/index.vue b/src/src/views/productionBusiness/productionCenter/report/detail/index.vue new file mode 100644 index 0000000..c0a320e --- /dev/null +++ b/src/src/views/productionBusiness/productionCenter/report/detail/index.vue @@ -0,0 +1,105 @@ + + + diff --git a/src/src/views/productionBusiness/productionCenter/report/formFields/detailFields.js b/src/src/views/productionBusiness/productionCenter/report/formFields/detailFields.js new file mode 100644 index 0000000..f6ad8d1 --- /dev/null +++ b/src/src/views/productionBusiness/productionCenter/report/formFields/detailFields.js @@ -0,0 +1,75 @@ +import { required } from '@/utils/formRules' +import tool from '@/utils/tool' + +export const unitFormItems = reactive([ + { + label: '单号:', + name: 'billNumber', + type: 'a-input-number', + span: 6, + attrs: { + placeholder: '请输入编码', + allowClear: true + } + }, + { + label: '业务日期:', + name: 'businessDate', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请输入名称', + allowClear: true + } + }, + { + label: '状态:', + name: 'state', + type: 'a-select', + span: 6, + attrs: { + placeholder: '请选择可用状态', + options: [], + fieldNames: { + label: 'name', + value: 'id' + } + }, + defaultValue: '' + }, + { + label: '类型:', + name: 'produceType', + type: 'a-input-number', + span: 6, + attrs: { + placeholder: '请输入换算率', + allowClear: true, + min: 1, + precision: 0 + } + }, + { + label: '生产线:', + name: 'productionLineName', + type: 'a-select', + span: 6, + attrs: { + placeholder: '请选择是否基本单位', + options: tool.dictList('YES_NO') + }, + defaultValue: 'NO' + }, + { + label: '备注:', + name: 'remarks', + type: 'a-textarea', + span: 24, + attrs: { + placeholder: '请输入备注', + allowClear: true + } + } +]) + +export const formRules = {} diff --git a/src/src/views/productionBusiness/productionCenter/report/formFields/searchFields.js b/src/src/views/productionBusiness/productionCenter/report/formFields/searchFields.js new file mode 100644 index 0000000..1988d2e --- /dev/null +++ b/src/src/views/productionBusiness/productionCenter/report/formFields/searchFields.js @@ -0,0 +1,20 @@ +import tool from '@/utils/tool' + +export const searchFields = [ + { name: 'name', label: '名称', component: 'a-input', props: { placeholder: '请输入名称' } }, + { + name: 'enabledState', + label: '可用状态', + component: 'a-select', + props: { placeholder: '请选择状态', options: tool.dictList('COMMON_STATUS') } + }, + { name: 'number', label: '编码', component: 'a-input', props: { placeholder: '请输入编码' } }, + { + name: 'isBase', + label: '是否基本单位', + component: 'a-select', + props: { placeholder: '请选择是否基本单位', options: tool.dictList('YES_NO') }, + visible: false, + isShowVisible: true + } +] diff --git a/src/src/views/productionBusiness/productionCenter/report/index.vue b/src/src/views/productionBusiness/productionCenter/report/index.vue new file mode 100644 index 0000000..83919f9 --- /dev/null +++ b/src/src/views/productionBusiness/productionCenter/report/index.vue @@ -0,0 +1,125 @@ + + + + + diff --git a/src/src/views/productionBusiness/productionCenter/task/detail/index.vue b/src/src/views/productionBusiness/productionCenter/task/detail/index.vue new file mode 100644 index 0000000..9233ed0 --- /dev/null +++ b/src/src/views/productionBusiness/productionCenter/task/detail/index.vue @@ -0,0 +1,177 @@ + + + diff --git a/src/src/views/productionBusiness/productionCenter/task/formItems/index.js b/src/src/views/productionBusiness/productionCenter/task/formItems/index.js new file mode 100644 index 0000000..ff6c942 --- /dev/null +++ b/src/src/views/productionBusiness/productionCenter/task/formItems/index.js @@ -0,0 +1,112 @@ +import tool from '@/utils/tool' +import { required } from '@/utils/formRules' + +export const basicInfoFormItems = [ + { + label: '单据号:', + name: 'billNumber', + type: 'a-input', + attrs: { + placeholder: '请输入单号', + allowClear: true + } + }, + { + label: '计划开工日期:', + name: 'producePlanDate', + type: 'a-date-picker', + attrs: { + placeholder: '请输入计划开工日期', + allowClear: true, + valueFormat: 'YYYY-MM-DD HH:mm:ss' + } + }, + { + label: '生产类型:', + name: 'produceType', + type: 'a-select', + attrs: { + placeholder: '请输入生产类型', + allowClear: true, + options: tool.dictList('PRODUCE_TYPE') + } + }, + { + label: '产品(物料):', + name: 'productName', + type: 'a-input', + isUseSlot: true, + slotName: 'productNameSlot', + attrs: { + placeholder: '请输入物料' + } + }, + { + label: '批次:', + name: 'batchNumber', + type: 'a-input', + attrs: { + placeholder: '请输入批次', + allowClear: true + } + }, + { + label: '计划生产数量:', + name: 'producePlanAmount', + type: 'a-input-number', + attrs: { + placeholder: '请输入计划生产数量', + allowClear: true + } + }, + { + label: '生产单位:', // 采购单位 + name: 'produceUnitName', + isUseSlot: true, + slotName: 'produceUnitNameSlot', + attrs: { + placeholder: '请选择生产单位', + allowClear: true, + fieldNames: { + children: 'children', + label: 'name', + value: 'id' + } + } + }, + { + label: '基本单位:', + name: 'baseUnitName', + isUseSlot: true, + slotName: 'baseUnitNameSlot', + attrs: { + placeholder: '请选择基本单位', + allowClear: true, + fieldNames: { + children: 'children', + label: 'name', + value: 'id' + } + } + }, + { + label: '生产线:', + name: 'productionLineName', + isUseSlot: true, + slotName: 'productionLineNameSlot', + attrs: { + placeholder: '请选择生产线', + allowClear: true + } + }, + { + label: '备注:', + name: 'remarks', + type: 'a-textarea', + span: 24, + attrs: { + placeholder: '请输入备注', + allowClear: true + } + } +] diff --git a/src/src/views/productionBusiness/productionCenter/task/index.vue b/src/src/views/productionBusiness/productionCenter/task/index.vue new file mode 100644 index 0000000..d3dff85 --- /dev/null +++ b/src/src/views/productionBusiness/productionCenter/task/index.vue @@ -0,0 +1,278 @@ + + + diff --git a/src/src/views/sys/org/form.vue b/src/src/views/sys/org/form.vue new file mode 100644 index 0000000..c98fe29 --- /dev/null +++ b/src/src/views/sys/org/form.vue @@ -0,0 +1,151 @@ + + + diff --git a/src/src/views/sys/org/index.vue b/src/src/views/sys/org/index.vue new file mode 100644 index 0000000..247dc57 --- /dev/null +++ b/src/src/views/sys/org/index.vue @@ -0,0 +1,201 @@ + + + + + diff --git a/src/src/views/sys/position/form.vue b/src/src/views/sys/position/form.vue new file mode 100644 index 0000000..3014661 --- /dev/null +++ b/src/src/views/sys/position/form.vue @@ -0,0 +1,113 @@ + + + diff --git a/src/src/views/sys/position/index.vue b/src/src/views/sys/position/index.vue new file mode 100644 index 0000000..42d00a8 --- /dev/null +++ b/src/src/views/sys/position/index.vue @@ -0,0 +1,200 @@ + + + + + diff --git a/src/src/views/sys/resource/button/form.vue b/src/src/views/sys/resource/button/form.vue new file mode 100644 index 0000000..e002f99 --- /dev/null +++ b/src/src/views/sys/resource/button/form.vue @@ -0,0 +1,81 @@ + + + diff --git a/src/src/views/sys/resource/button/index.vue b/src/src/views/sys/resource/button/index.vue new file mode 100644 index 0000000..125c8e8 --- /dev/null +++ b/src/src/views/sys/resource/button/index.vue @@ -0,0 +1,99 @@ + + + diff --git a/src/src/views/sys/resource/field/form.vue b/src/src/views/sys/resource/field/form.vue new file mode 100644 index 0000000..c4a3996 --- /dev/null +++ b/src/src/views/sys/resource/field/form.vue @@ -0,0 +1,85 @@ + + + diff --git a/src/src/views/sys/resource/field/index.vue b/src/src/views/sys/resource/field/index.vue new file mode 100644 index 0000000..2f8d56b --- /dev/null +++ b/src/src/views/sys/resource/field/index.vue @@ -0,0 +1,99 @@ + + + diff --git a/src/src/views/sys/resource/menu/changeModuleForm.vue b/src/src/views/sys/resource/menu/changeModuleForm.vue new file mode 100644 index 0000000..cd36024 --- /dev/null +++ b/src/src/views/sys/resource/menu/changeModuleForm.vue @@ -0,0 +1,82 @@ + + + diff --git a/src/src/views/sys/resource/menu/form.vue b/src/src/views/sys/resource/menu/form.vue new file mode 100644 index 0000000..9fea126 --- /dev/null +++ b/src/src/views/sys/resource/menu/form.vue @@ -0,0 +1,265 @@ + + + diff --git a/src/src/views/sys/resource/menu/index.vue b/src/src/views/sys/resource/menu/index.vue new file mode 100644 index 0000000..165c09c --- /dev/null +++ b/src/src/views/sys/resource/menu/index.vue @@ -0,0 +1,266 @@ + + + diff --git a/src/src/views/sys/resource/module/form.vue b/src/src/views/sys/resource/module/form.vue new file mode 100644 index 0000000..d2e5683 --- /dev/null +++ b/src/src/views/sys/resource/module/form.vue @@ -0,0 +1,98 @@ + + + diff --git a/src/src/views/sys/resource/module/index.vue b/src/src/views/sys/resource/module/index.vue new file mode 100644 index 0000000..2942354 --- /dev/null +++ b/src/src/views/sys/resource/module/index.vue @@ -0,0 +1,134 @@ + + + diff --git a/src/src/views/sys/role/form.vue b/src/src/views/sys/role/form.vue new file mode 100644 index 0000000..f9d38d4 --- /dev/null +++ b/src/src/views/sys/role/form.vue @@ -0,0 +1,123 @@ + + + diff --git a/src/src/views/sys/role/grantMobileResourceForm.vue b/src/src/views/sys/role/grantMobileResourceForm.vue new file mode 100644 index 0000000..e035394 --- /dev/null +++ b/src/src/views/sys/role/grantMobileResourceForm.vue @@ -0,0 +1,305 @@ + + + + + diff --git a/src/src/views/sys/role/grantPermissionForm.vue b/src/src/views/sys/role/grantPermissionForm.vue new file mode 100644 index 0000000..29c124e --- /dev/null +++ b/src/src/views/sys/role/grantPermissionForm.vue @@ -0,0 +1,414 @@ + + + + + diff --git a/src/src/views/sys/role/grantResourceForm.vue b/src/src/views/sys/role/grantResourceForm.vue new file mode 100644 index 0000000..c82b3ea --- /dev/null +++ b/src/src/views/sys/role/grantResourceForm.vue @@ -0,0 +1,310 @@ + + + + + diff --git a/src/src/views/sys/role/index.vue b/src/src/views/sys/role/index.vue new file mode 100644 index 0000000..ede65e1 --- /dev/null +++ b/src/src/views/sys/role/index.vue @@ -0,0 +1,302 @@ + + + + + diff --git a/src/src/views/sys/role/scopeDefineOrg.vue b/src/src/views/sys/role/scopeDefineOrg.vue new file mode 100644 index 0000000..44bb0bc --- /dev/null +++ b/src/src/views/sys/role/scopeDefineOrg.vue @@ -0,0 +1,112 @@ + + + + + diff --git a/src/src/views/sys/user/form.vue b/src/src/views/sys/user/form.vue new file mode 100644 index 0000000..5b39c58 --- /dev/null +++ b/src/src/views/sys/user/form.vue @@ -0,0 +1,567 @@ + + + + + diff --git a/src/src/views/sys/user/grantPermissionForm.vue b/src/src/views/sys/user/grantPermissionForm.vue new file mode 100644 index 0000000..fcac339 --- /dev/null +++ b/src/src/views/sys/user/grantPermissionForm.vue @@ -0,0 +1,415 @@ + + + + + diff --git a/src/src/views/sys/user/grantResourceForm.vue b/src/src/views/sys/user/grantResourceForm.vue new file mode 100644 index 0000000..b6b3361 --- /dev/null +++ b/src/src/views/sys/user/grantResourceForm.vue @@ -0,0 +1,312 @@ + + + + + diff --git a/src/src/views/sys/user/impExp.vue b/src/src/views/sys/user/impExp.vue new file mode 100644 index 0000000..2042724 --- /dev/null +++ b/src/src/views/sys/user/impExp.vue @@ -0,0 +1,131 @@ + + + + diff --git a/src/src/views/sys/user/index.vue b/src/src/views/sys/user/index.vue new file mode 100644 index 0000000..976e230 --- /dev/null +++ b/src/src/views/sys/user/index.vue @@ -0,0 +1,422 @@ + + + + + diff --git a/src/src/views/sys/user/scopeDefineOrg.vue b/src/src/views/sys/user/scopeDefineOrg.vue new file mode 100644 index 0000000..e9ddae3 --- /dev/null +++ b/src/src/views/sys/user/scopeDefineOrg.vue @@ -0,0 +1,112 @@ + + + + + diff --git a/src/src/views/sys/user/userCenter.vue b/src/src/views/sys/user/userCenter.vue new file mode 100644 index 0000000..f47806a --- /dev/null +++ b/src/src/views/sys/user/userCenter.vue @@ -0,0 +1,267 @@ + + + + + diff --git a/src/src/views/sys/user/userTab/accountBasic.vue b/src/src/views/sys/user/userTab/accountBasic.vue new file mode 100644 index 0000000..d9209e5 --- /dev/null +++ b/src/src/views/sys/user/userTab/accountBasic.vue @@ -0,0 +1,84 @@ + + + diff --git a/src/src/views/sys/user/userTab/accountBind.vue b/src/src/views/sys/user/userTab/accountBind.vue new file mode 100644 index 0000000..53155f1 --- /dev/null +++ b/src/src/views/sys/user/userTab/accountBind.vue @@ -0,0 +1,64 @@ + + + + + diff --git a/src/src/views/sys/user/userTab/bindForm/updatePassword.vue b/src/src/views/sys/user/userTab/bindForm/updatePassword.vue new file mode 100644 index 0000000..a16a294 --- /dev/null +++ b/src/src/views/sys/user/userTab/bindForm/updatePassword.vue @@ -0,0 +1,81 @@ + + + diff --git a/src/src/views/sys/user/userTab/organizationChart.vue b/src/src/views/sys/user/userTab/organizationChart.vue new file mode 100644 index 0000000..ee7fe0d --- /dev/null +++ b/src/src/views/sys/user/userTab/organizationChart.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/src/src/views/sys/user/userTab/shortcutSetting.vue b/src/src/views/sys/user/userTab/shortcutSetting.vue new file mode 100644 index 0000000..ac8632c --- /dev/null +++ b/src/src/views/sys/user/userTab/shortcutSetting.vue @@ -0,0 +1,64 @@ + + + diff --git a/src/src/views/sys/user/userTab/userMessage.vue b/src/src/views/sys/user/userTab/userMessage.vue new file mode 100644 index 0000000..bf5e293 --- /dev/null +++ b/src/src/views/sys/user/userTab/userMessage.vue @@ -0,0 +1,89 @@ + + + + + diff --git a/src/src/views/sys/user/userTab/userMessage/detail.vue b/src/src/views/sys/user/userTab/userMessage/detail.vue new file mode 100644 index 0000000..add81db --- /dev/null +++ b/src/src/views/sys/user/userTab/userMessage/detail.vue @@ -0,0 +1,87 @@ + + + diff --git a/src/utils/tool.js b/src/utils/tool.js index 6703aa1..dda176c 100644 --- a/src/utils/tool.js +++ b/src/utils/tool.js @@ -100,7 +100,7 @@ tool.dictTypeData = (dictValue, value) => { } const children = tree.children const dict = children.find((item) => item.dictValue === value) - return dict ? dict.dictLabel : '无此字典项' + return dict ? dict.dictLabel : '-' } // 获取某个code下字典的列表,多用于字典下拉框 diff --git a/src/views/productionBusiness/basicData/brand/detail/index.vue b/src/views/productionBusiness/basicData/brand/detail/index.vue index fc2a040..d88ab1f 100644 --- a/src/views/productionBusiness/basicData/brand/detail/index.vue +++ b/src/views/productionBusiness/basicData/brand/detail/index.vue @@ -36,100 +36,13 @@ diff --git a/src/views/productionBusiness/basicData/client/formFields/detailFields.js b/src/views/productionBusiness/basicData/client/formFields/detailFields.js new file mode 100644 index 0000000..87cd527 --- /dev/null +++ b/src/views/productionBusiness/basicData/client/formFields/detailFields.js @@ -0,0 +1,215 @@ +import { required } from '@/utils/formRules' +import tool from '@/utils/tool' + +export const formRules = { + name: [required('请输入名称')], + type: [required('请输入类型')], + appid: [required('请输入AppID')], + secret: [required('请输入AppSecret')] +} + +export const clientFormItems = reactive([ + { + label: '编码:', + name: 'number', + type: 'a-input', + span: 8, + attrs: { + placeholder: '请选择类型', + options: tool.dictList('OFFICIAL_ACCOUNT_TYPE') + } + }, + { + label: '名称:', + name: 'name', + type: 'a-input', + span: 8, + rules: [required('请输入名称')], + attrs: { + placeholder: '请输入名称', + allowClear: true + } + }, + { + label: '简称:', + name: 'shortName', + type: 'a-input', + span: 8, + attrs: { + placeholder: '请输入名称', + allowClear: true + } + }, + { + label: '可用状态:', + name: 'enabledState', + type: 'a-select', + span: 8, + attrs: { + placeholder: '请选择可用状态', + options: tool.dictList('COMMON_STATUS') + }, + defaultValue: 'ENABLE' + }, + { + label: '品牌:', + name: 'brandId', + type: 'a-select', + span: 8, + // rules: [required('请选择品牌')], + attrs: { + placeholder: '请选择品牌', + options: tool.dictList('COMMON_STATUS'), + fieldNames: { + label: 'name', + value: 'id' + } + } + }, + { + label: '客户分类:', + name: 'categoryId', + type: 'a-tree-select', + span: 8, + rules: [required('请选择客户分类')], + attrs: { + placeholder: '请选择客户分类', + allowClear: true, + fieldNames: { + children: 'children', + label: 'name', + value: 'id' + } + } + }, + { + label: '省:', + name: 'province', + span: 8, + rules: [required('请选择省')], + isUseSlot: true, + slotName: 'provinceSlot', + attrs: { + placeholder: '请选择省' + } + }, + { + label: '市:', + name: 'city', + span: 8, + rules: [required('请选择市')], + isUseSlot: true, + slotName: 'citySlot' + }, + { + label: '区:', + name: 'county', + isUseSlot: true, + slotName: 'countySlot', + span: 8, + rules: [required('请选择区')] + }, + { + name: 'address', + type: 'a-textarea', + span: 24, + attrs: { + placeholder: '请输入详细地址', + allowClear: true, + fieldNames: { + children: 'children', + label: 'name', + value: 'id' + } + } + }, + { + label: '备注:', + name: 'remarks', + type: 'a-textarea', + span: 24, + attrs: { + placeholder: '请输入备注', + allowClear: true + } + } +]) + +export const baseFormItems = [ + { + label: '联系人:', + name: 'contacts', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请选择类型' + } + }, + { + label: '手机:', + name: 'phone', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请选择类型' + } + }, + { + label: '固话:', + name: 'tel', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请选择类型' + } + }, + { + label: '传真:', + name: 'fax', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请选择类型' + } + }, + { + label: '电子邮箱:', + name: 'email', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请输入备注', + allowClear: true + } + }, + { + label: 'QQ:', + name: 'qq', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请输入备注', + allowClear: true + } + }, + { + label: '微信:', + name: 'wechat', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请输入备注', + allowClear: true + } + }, + { + label: '联系地址:', + name: 'contactAddress', + type: 'a-input', + span: 6, + attrs: { + placeholder: '请输入备注', + allowClear: true + } + } +] diff --git a/src/views/productionBusiness/basicData/client/formFields/drawerForm.js b/src/views/productionBusiness/basicData/client/formFields/drawerForm.js new file mode 100644 index 0000000..e781b9b --- /dev/null +++ b/src/views/productionBusiness/basicData/client/formFields/drawerForm.js @@ -0,0 +1,44 @@ +import { required } from '@/utils/formRules' + +export const drawerForm = reactive([ + { + label: '编码:', + name: 'number', + type: 'a-input-number', + span: 12, + attrs: { + placeholder: '请输入编码', + allowClear: true + } + }, + { + label: '名称:', + name: 'name', + type: 'a-input', + span: 12, + attrs: { + placeholder: '请输入名称', + allowClear: true + } + }, + { + label: '上级客户:', + name: 'parentId', + type: 'a-tree-select', + span: 12, + attrs: { + placeholder: '请选择上级客户', + treeData: [], + fieldNames: { + children: 'children', + label: 'name', + value: 'id' + } + } + } +]) + +export const formRules = { + name: [required('请输入名称')], + parentId: [required('请选择上级')] +} diff --git a/src/views/productionBusiness/basicData/client/formFields/searchFields.js b/src/views/productionBusiness/basicData/client/formFields/searchFields.js new file mode 100644 index 0000000..7602096 --- /dev/null +++ b/src/views/productionBusiness/basicData/client/formFields/searchFields.js @@ -0,0 +1,12 @@ +import tool from '@/utils/tool' + +export const searchFields = [ + { name: 'name', label: '名称', component: 'a-input', props: { placeholder: '请输入名称' } }, + { + name: 'enabledState', + label: '可用状态', + component: 'a-select', + props: { placeholder: '请选择状态', options: tool.dictList('COMMON_STATUS') } + }, + { name: 'number', label: '编码', component: 'a-input', props: { placeholder: '请输入编码' } } +] diff --git a/src/views/productionBusiness/basicData/client/index.vue b/src/views/productionBusiness/basicData/client/index.vue index 2b09be6..90608c6 100644 --- a/src/views/productionBusiness/basicData/client/index.vue +++ b/src/views/productionBusiness/basicData/client/index.vue @@ -1,33 +1,10 @@

}#knGW?%$8&rrUSo_dYp- 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